朝倉 卍丸

シングルモルトスコッチなどのお土産を持ってきた人を助けるのが好きです。サービスの分割が重要ですが、昔ながらの方法でやりたいこともありますよね。

シェルの解説全般

プログラミング

2025/12/16

curlでファイルをダウンロードするコマンドオプション

ファイルをダウンロードしたいのに、URLがファイルのフルパスになっているのに、ブラウザアクセスすると、ファイルがそのままブラウザに表示されてしまう状態があると思います。 URLさえわかればファイルが複数あっても、curlで一括ダウンロードできるなと思ったのでその方法を記載しておきます。 #まずダウンロードしたいディレクトリに移動します # プログレスバーで進捗率を表示#で表示される $ curl -# -O 対象のURL # URLのファイル名でダウンロード $ curl -O 対象のURL # リダイレ ...

scala

プログラミング

2025/12/16

Scala + playでjsonを読む

Javaの機能拡充のおかげで、今後触る事も無いだろうと思うScalaですが、VS Codeの拡張機能で遊んでいた時、VS CodeでScala試してみるかと思い、linter-scalacインストールして適当な処理書いてみるかと超久しぶりにScala触ったら初歩的な内容忘れていて仕事どころじゃなかったです。 適当にスタブ用のjson作成してそれを読み込んでコード書きたかっただけなのですが、読み込む方法忘れていたので備忘として残しておきます。 import play.api.libs.json._ impo ...

scala

プログラミング

2025/12/16

Scala + play MySQL接続 2.6.x系

数年以上(7年以上)play frameworkもScalaも触ってなかったですが、アップデート対応のため久しぶりに触る必要がありDB周りが大分変わっていたので対応をまとめておきます。 まさかDB接続のAPIに変更があるとは思っていなかったので正直戸惑いました。 調査 昔はDB.withConnectionって記述でDB接続出来ていたのにnot foundと出てマジかと思い調べ始める事に… Play Scala Anorm Exampleを確認したらDBApiを利用するようになっており、2.6.1のドキュ ...

JavaのStringはimmutable

プログラミング

2025/12/16

[Java] Stringはimmutable

Stringはプログラムを書く上で避けて通れない変数の一種です。 文字列の参照は、ユーザー名やパスワードなど、さまざまな属性を保存するために使用されます。 JavaではStringオブジェクトは実はイミュータブル(不変)です。イミュータブルとは、簡単に言えば変更できない、あるいは変更させないことを意味します。 Stringオブジェクトが作成されると、そのデータや状態を変更することはできず、新しいStringオブジェクトが作成されます。 普段String型を使っていると、当たり前のように代入し文字列の変更を ...

シェルの解説全般

インフラ プログラミング

2025/12/16

コマンドでアクセスログからIPを抽出する

シェルコマンドを使ってアクセスログ内にあるIPアドレスを抽出する方法を記載しておきます。 普通「アクセスログ IP 抽出」と検索したらファイル内にあるIPアドレスを切り出す方法を調べたいはずなのに、検索すると、アクセス元IPに対して何件アクセスがあったかのサマリーを出す方法しか出て来ないのが謎でした。 grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' /usr/access_log.log | sort | uniq -c grepコマンド ...

JavaのStringBufferとStringBuilderの違い

プログラミング

2025/12/16

StringBufferとStringBuilderの違い [Java]

Javaには、文字を表現するための3つのクラス「String, StringBuffer, StringBuilder」が用意されています。 Stringクラスは不変のクラスですが、StringBufferとStringBuilderクラスは可変のクラスです。 StringBufferとStringBuilderの間には相違点があります。StringBuilderクラスはJDK1.5から導入されています。 StringBufferとStringBuilderの違いの一覧は以下の通りです。 StringBu ...

JavaのStringとStringBufferの違い

プログラミング

2025/12/16

StringとStringBufferの違い [Java]

JavaのStringとStringBufferには複数の違いがあります。 以下に、StringとStringBufferの相違点を列挙します。 String StringBuffer 1 Stringクラスはイミュータブル StringBufferクラスはミュータブル 2 Stringは、多くの文字列を連結すると、その都度新しいインスタンスを生成するため、速度が遅く、メモリ消費量も多くなります StringBufferは、文字列の連結が多い場合、高速に動作し、メモリ消費量も少なくなります 3 Strin ...

Java文字列比較3選

プログラミング

2025/12/16

Java文字列比較3選

JavaではStringを内容と参照元で比較することができます。 認証(equals()メソッド)、ソート(compareTo()メソッド)、参照一致(==演算子)などを利用します。 JavaでStringを比較する方法は大きく分けて三通りあります。 equals()メソッドを使用する 演算子==を使用する compareTo()メソッドを使用する 1. equals() メソッドによる文字列比較 String equals()メソッドは、文字列の元の内容を比較します。文字列の値が等しいかどうかを比較しま ...

条件の0=0は全てが正であるを意味するSQL

データベース

2025/12/16

SQLで条件の0=0は全てが正であるを意味する

SQLの条件に0=0のような記述を見かけます。 変わった書き方の条件ですが、これは「全てが正である」事を意味しており、結合条件の場合はCROSS JOINと同じです。 下記の例で言えば、結合するsub_tableの全ての行が結合されます。 ON句が省略できないDBMSを考慮してわざとこういった書き方をするケースもあります。 SELECT * FROM main_table INNER JOIN sub_table ON 0=0 WHEREでの適用 こういった書き方はWHERE句でも可能で WHERE (1 ...

MySQLの条件指定dump

データベース

2025/12/16

MySQLの条件指定dump

dumpを取りたいとき、lock tables 権限がない場合 --skip-lock-tablesをコマンドに記載すると、where句の条件が反映されません。 DBの形式がInnoDBであればsingle-transactionを利用すれば大丈夫だと思いますが、これで出来ない場合は無理なので権限をもらうか、権限をもっているユーザーにやってもらいましょう。 下記のコマンドは指定した条件のダンプを作成し、それをdump.sqlファイルとして出力しています。 /usr/local/mysql/bin/mysq ...