ksino's diary

覚えたことを忘れないように、小さなことでも書いていく。

テスト用のcsvファイルを生成する

import csv def main(): with open("bigdat.csv", "w", newline="", encoding="UTF-8") as f: writer = csv.writer(f, quoting=csv.QUOTE_ALL) for i in range(1_000_000): row = ["a", "b", "c"] writer.writerow(row) if __name__ == "__main__": main()

Gradle(build.gradle)で定義した依存性がVSCode上で解決されない問題への対処

Ctrl + Shift + P でコマンドパレットを開き、"Java: Clean Java Language Server Workspace"を実行すればOKでした。

Windows上からWSL上のファイルシステムにアクセスする

下記パスを開けばOKです。 \\wsl$\\\wsl$

WARファイルをDocker上のTomcatにデプロイする

やること Docker Hubの公式Tomcatイメージからコンテナを作成する コンテナにWARファイルをデプロイする Tomcat公式サイトで配布されているサンプルアプリケーションを利用 https://tomcat.apache.org/tomcat-10.1-doc/appdev/sample/ 手順 作業ディレクトリ…

WSL2のUbuntu 22.04.1 LTSでDockerが起動しない

やったこと 以下を参考にDockerをインストールした。 docs.docker.com sudo docker run hello-world してみたもののDockerが起動しない。 調べたこと /var/log/docker.log failed to start daemon: Error initializing network controller: error obtaining …

DjangoでREST API的なものをつくる

概要 Django REST frameworkは使わない セキュリティは無視 POST Jsonで数値を2つ送り、加算結果をJsonで返す 手順 プロジェクトを作る $ django-admin startproject restproject アプリを作る $ python3 manage.py startapp calc ソースを編集する restproj…

1つのホストで複数のDjangoプロジェクトを動かす

やりたいこと 1つのホストで複数のDjangoプロジェクトを動かしたい。 動作環境は Gunicorn + nginx とする。 セキュリティは考慮しない。 方針 Gunicornをプロジェクトごとにポートを変えて起動する nginxのリバースプロキシ設定で、URLごとに接続先gunicorn…

java.util.Date型を計算(1年後の日付、とか)

Dateを一旦Calenderにして計算し、そこからDateを得る。 import java.util.Calendar; import java.util.Date; public class AddDate { public static void main(String[] args) { Date now = new Date(); System.out.println(now); Calendar cal = Calendar.…

Powershellで環境変数を表示する

$env:環境変数名

Jakarta Mailを使ってメール送信(テキスト、HTML(画像なし)、HTML(画像あり))

/* * This Java source file was generated by the Gradle 'init' task. */ package htmlmail; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import j…

GreenMailを使ってメール送信のテストを行う

GreenMail メール送信機能の開発において、テストを実施するのに便利です。 greenmail-mail-test.github.io build.gradle dependencies { implementation 'com.sun.mail:jakarta.mail:1.6.7' testImplementation 'com.icegreen:greenmail:1.6.3' testImpleme…

Jakarta Mailを使ってメール送信

build.gradle dependenciesに追加します。 implementation group: 'com.sun.mail', name: 'jakarta.mail', version: '2.0.1' Javaソース import java.util.Date; import java.util.Properties; import jakarta.mail.Message; import jakarta.mail.Session; i…

開発やテスト用のダミーSMTPサーバ

smtp4dev ダミーSMTPサーバです。 メール関連の開発、テストで便利ですね。 github.com 導入 下記情報を参考にしました。 Installation · rnwood/smtp4dev Wiki · GitHub docker run --rm -it -p 3000:80 -p 2525:25 rnwood/smtp4dev:v3 メールを送ってみる …

キャンバスのサイズをカメラに合わせる

キャンバスを選択し、インスペクタで以下を設定する。 Render Modeを"Screen Space - Camera"に設定する。 Render Cameraに対象のカメラを設定する。 楽しく学ぶ Unity2D超入門講座 [ 森 巧尚 ]価格: 2959 円楽天で詳細を見るたのしい2Dゲームの作り方 Unity…

Karateによるテスト自動化(書きかけ)

Karate github.com 動作環境 2021/02/09時点での最新版は0.9.6だが、Nashorn前提になっている。 しかしJDK15以降でNashornは削除されているため、JDK15以降では動作しない。 プロジェクトの作成 mvn archetype:generate -DarchetypeGroupId="com.intuit.kara…

SpringでList自体をBeanとして定義する

Listの要素にしたいクラス(Config.java) package com.example.utillist; public class Config { private int num; private String data; public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getData() { r…

2点間の距離

d = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)) Pythonでつくる ゲーム開発 入門講座 実践編【電子書籍】[ 廣瀬豪 ]価格: 3278 円楽天で詳細を見るPythonでつくる ゲーム開発 入門講座 実践編作者:廣瀬 豪発売日: 2019/12/19メディア: Kindle版

Selenideでclickに失敗するのを回避

Selenideで↓のようにclickを実行しようとすると、失敗するケースがありました。 $(By.id("id1")).click(); sendKeysを試したらうまくいきました。 $(By.id("id1")).sendKeys(Keys.ENTER); 原因はきちんと追っていないのですが、、、id1に紐づくのがsubmitボ…

組み込みのSQLiteを利用する

createの例 import sqlite3 connection = sqlite3.connect('test.db') # 無い場合は新規作成される cursor = connection.cursor() cursor.execute('create table kokyaku (id int, name varchar(64))') connection.commit() connection.close() insertの例 i…

ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD の除去

Eclipseに導入したSpotBugsで、「インスタンスメソッドからstaticフィールドへの書き込み」がエラー検知されました。↓こんなコードです。 public class WriteStatic { private static String s; public void method(String value) { s = value; } } 諸事情に…

JavaScriptメモ(随時更新)

変数はletで宣言すべき varは古い機能である。 let a; 文字列と数値の演算 "+"だけが文字列として演算される。 console.log("12" + 3); // "123" console.log("12" - 3); // 9 console.log("12" * 3); // 36 console.log("12" / 3); // 4

書籍「みんなのJava」を読みました

書籍「みんなのJava OpenJDKから始まる大変革期!」を読みました。 Javaを使い始めて20年以上が経ちますが、ここ数年の大きな変革にはついていけてなかったので、大変参考になりました。 今後も定期的にこのような本が出ると嬉しいですね。。みんなのJava Op…

Baldur's Gate: Enhanced Editionの画面が小さい場合の対処

問題 SteamのセールでBaldur's Gate: Enhanced Editionを買いました。 store.steampowered.com 喜び勇んで起動すると、画面が小さい。。。 ディスプレイ中央部に小さく表示され、余白が黒くなっています。 これでは辛いので対処方法を調べました。 設定ファ…

財布を買い替えました

2年ほど、アブラサスの小さい財布を使っていました。グッドデザイン賞受賞 小さい財布 abrAsus(アブラサス)メンズ財布 小銭入れ付き三つ折り財布 極小財布。携帯性、機能性、デザイン性のバランス追及 男性へのプレゼント、ギフトに 極小財布/ミニ財布/薄…

PMD

ソースコードアナライザ pmd.github.io

gradleでのビルド時に、特定のクラス名を取得し、設定ファイル中の文字列を置換する

特定のネーミングルールに則ったクラス名の一覧を取得し、設定ファイルに書き込みたいことってありますよね。 build.gradle task genConfig { StringBuilder sb = new StringBuilder(); FileTree tree = fileTree(dir: 'src/main/java', include: '**/*Maste…

移動

VSCodeで覚えたこと(随時更新予定)

ウィンドウ操作 サイドバー表示/非表示 Ctrl + B パネル表示/非表示 Ctrl + J 高速スクロール Alt押下しながらスクロール クイックオープン Ctrl + P 指定行へ移動 Ctrl + P, :番号 行折返しのオンオフ Alt + Z プレビューモードで開いたタブを固定 Ctrl +…

Thymeleafの式

変数式 ${...} 選択変数式 *{...} メッセージ式 #{...} リンクURL式 @{...} フラグメント式 ~{...}

bluetooth マウスの接続が切れる問題の解決

突如、bluetoothマウスの接続がブチブチ切れて使い物にならなくなりました。 そのタイミングでWi-Fiも不安定に…、ということで、原因はWi-Fiとの干渉のようでした。 普段の接続先は802.11n(a or g)だったのに、bluetoothが切れたタイミングで確認すると何故…