朝倉 卍丸

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

JavaのStringBufferとStringBuilderの違い

Java

2025/9/22

StringBufferとStringBuilderの違い [Java]

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

JavaのStringとStringBufferの違い

Java

2025/9/22

StringとStringBufferの違い [Java]

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

Java文字列比較3選

Java

2025/9/22

Java文字列比較3選

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

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

PHP SQL

2025/9/22

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

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

SQL

2025/9/22

MySQLの条件指定dump

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

無限クラッシュMacBookのChromeが立ち上がらなくなったので対応

Apple

2022/3/23

無限クラッシュ!MacBookのChromeが立ち上がらなくなったので対応

ChromeがMacのシステムファイルにダメージを与えている様な記事を見かけて「大変だな〜」と思っていたのですが、自分の所でもMacBook Pro+Chromeの組み合わせで障害が置きました。 macOSが起動しなくなる原因はChromeだった 急に無線LANが繋がらなくなりChromeがローディングしっぱなしになったので、強制終了したところ、Chromeの再起動時に「Google Chromeが予期しない理由で終了しました。」と表示されるようになりました。 エラーアラートか珍しいと思いながら「再度表示 ...

MacBookにSoundflower.pkg開発元が未確認を解除してインストール

Apple

2025/9/22

MacBookにSoundflower.pkg開発元が未確認を解除してインストール

新しいMacBookを購入した際に、内部音声を録音したかったのでSoundflowerをインストールする事にした所、下記の内容で開けなくなっていました。 "Soundflower.pkg"は、開発元が未確認のため開けません。 古いMacBookのOSであれば環境設定の「セキュリティとプライバシー」画面からGUIベースで「すべてのアプリケーションを許可」という項目があったのですが、どうやらmacOS Sierra以上ではセキュリティ強化の影響で、開発者による署名が行われていないアプリは実行実行出来なくなった ...

シェルのコメントではない#(シャープ)記述$((expression)) [bash]

sh

2025/9/22

シェルのコメントではない#(シャープ)記述$((expression)) [bash]

一般的にコメントアウトする時に「#」を使いますが、たまにシェル内にコメントではない#(シャープ、ハッシュマーク)の記述があります。 これは$((expression))記述内で使える記述で、この場合の「#」はbash独自の機能となり、進数計算をしています。 「#」の左が基数、右が基数での数値を表し、左右の値をもとに10進数に変換した値を出力します。 例えば、10#11は10進数の11を10進数で表示したものなので11、2#11は2進数の11を10進数で表示したものなので3という風になります。当然数値計算な ...

複数行文字列の先頭と末尾にダブルクォーテーションを付け文末のカンマを消す

sh

2025/9/22

複数行文字列の先頭と末尾にダブルクォーテーションを付け、文末のカンマを消す

抽出されたデータをもとに、確認用のSQLを作って抽出の成否を判定したいときに、IN句の条件を生成したいわけですが、抽出データは非エンジニアが見ることが多いため、CSVやTSVのようなエクセルで確認できる形式が多いと思います。 そういったとき、列の情報だけをコピペしてくるとIN句で使うにはクォーテーションをカンマが足りません。 そこで列をコピペした値に、行頭と行末に必要な文字を付けてあげるシェルを毎度使っています。正直業務ではないため、適当に処理をパイプで繋いで出力しているだけです。 word.txtから複 ...

shで特定文字の書き換え(置換)を行う

sh

2025/9/22

shで特定文字の書き換え(置換)を行う

jenkinsでデプロイする時など、何かのタイミングで強引にhtmlやcss,jsなどファイルに含まれている対象文字の書き換えを行いたかったので、とりあえずシェル(#!/bin/sh)で書き換えを行う方法です。 テスト環境用にデプロイするファイル内のtestをtest2にするものとします。 findで書き換えたいディレクトリを探し、xargsで読み込んでコマンドラインを作成、sedコマンドで書き換えを行います。 /指定ディレクトリ/ については、jenkinsでGitを読み込んだ時は ${WORKSPAC ...