javaのPathについて調べる

javaにはパスを取り扱うためのクラスとして java.nio.file.Path クラスとしてAPIが用意されています。 この Path クラスは java.io.File クラスと相互変換が可能なように設計されているので、JVM上でファイルやディレクトリを操作する際には主にこれらのクラスを利用することになります。 なお本記事のサンプルコードは基本的にgroovyを用いて確認していますので注意し … 続きを読む javaのPathについて調べる

StringBufferとStringBuilderの違い

javaには文字列を可変的に扱うためのクラスとして StringBuffer 及び StringBuilder という2つのクラスが用意されています。 この2つのクラスは文字をバッファとして取り扱い、任意のタイミングで任意の文字列を詰め込むことができ、非常に使用頻度の高いクラスとなっています。 されとてこの2つのクラス同じような事できるのですが具体的に、どう異なるかご存知でしょうか? 本記事ではこ … 続きを読む StringBufferとStringBuilderの違い

GASでスプレッドシートのセルの書式を文字列に設定する

GAS 便利ですよね。 スクリプトでサクッとかける上にもともと拡張性の高いスプレッドシートなのでちょっとした実装でも良いものが作れます。 スプレッドシートなんかのインタフェースはエンジニア以外の人にも馴染み深いのでコストをかけて画面系を実装するよりも適している場合がよくあります。 なのですがGASを利用する際に正しくAPIやその動作を理解していないと、非常に重い動作になってしまうことがあります。 … 続きを読む GASでスプレッドシートのセルの書式を文字列に設定する

改めてphpのerror_reportingは心もとないなと感じた

久しぶりに他人が実装したphpコードを改修する機会があり、改めてphpのエラーレポートレベルに関して思うところがありました。 コードがあったほうが話がわかりやすいと思いますので用意しましょう。 はい。例えば、下記のようなコードが合ったとしましょう fetchに関しては適当なレコードが連想配列で返却されるとイメージしてください。 これは問題なく動きます。 ところが開発途中でRDBのテーブルの属性名が … 続きを読む 改めてphpのerror_reportingは心もとないなと感じた

yumの設定ファイルを確認する

概要 yumのグローバル設定やリポジトリ設定ファイルなどの各種設定ファイルをおさらいします。対象バージョンとしてCentOS6系に存在するファイルを元に調査をしていきます。 なお本記事は参考サイトとして挙げているサイトの情報要約していますので正確な情報を求めている方は参考サイト(特に公式の情報)に目を通すことを推奨します。 まず/etc/に存在するyum関連のファイルを確認してみます 始めに実環境 … 続きを読む yumの設定ファイルを確認する

mysqlのネクストキーロックと挿入インテンションギャップロックのデッドロックを確認する

概要 先日mysqlを利用したアプリケーションにおいてデッドロックが発生しました。 あちゃぱーと思いつつもせっかくなので自分の中で消化しきれいなかった部分をこれを機に再確認してみることに。 この記事ではmysqlのデフォルトの分離レベル(Repeatable Read)においての レコードロック / ネクストキーロック / ギャップロック / 挿入インテンションギャップロック というハイカラな単語 … 続きを読む mysqlのネクストキーロックと挿入インテンションギャップロックのデッドロックを確認する

時間が立つとGoogle APIのOAuth認証に失敗する

概要 Googleが提供するツール。便利ですよね。 公式ではよくG Suitesと呼ばれているスプレッドシートや、ドキュメントなどなどのことを指します。 アプリケーションからG Suitesを操作するためにはOauth認証を利用するのですが、今回はその際時間が立つと認証時にエラーが出てアプリケーションからの操作ができなくなる問題に遭遇したのでまとめておきます。 エラー詳細 今回のアプリケーションは … 続きを読む 時間が立つとGoogle APIのOAuth認証に失敗する

gradle daemonを無効にする

javaのバックグラウンドを長く持つ自分にとって最近のお気に入りの言語はgroovyです。 もともと自分は言語の習得にコストを掛けたくなく、新しい言語が少なからず生み出される現状に少なからず嫌悪感を持っているところがなくはないです。 歴史的な経緯で高級言語が生み出されるようなことは好ましいのですが、同時代に構文だけが異なる似たような言語や、今ままでの低級言語のAPIから何故かひどく乖離した構文を提 … 続きを読む gradle daemonを無効にする

javaのクラスローダの仕組みについて

javaのクラスローダに関して下記のようなコードが存在するときの内部動作がよくわからなかったので調べ所を残すことにしてみました。 クラスとクラスローダについて さてこの getClassLoader というメソッドは何なのか、ということですが文字通りクラスローダを取得することができます。 このメソッドは Class クラスのメソッドですが、例えばアプリケーションを実装していて同プロジェクトに B … 続きを読む javaのクラスローダの仕組みについて

javaアプリケーションのcron起動時の文字化けに対応する

概要 javaアプリケーションの起動を行った際に、ある部分で文字化けが起こったので対応について調査する。 具体的には不具合が起こった箇所はjavaアプリケーションから外部プロセスを起動する部分や、メールを送信する機能の本文にVelocityのテンプレート機能を利用しており、これらを利用する箇所でそれぞれ日本語箇所が文字化けしていた。 原因 まず注目したいのは文字化けが起こっているケースがcronに … 続きを読む javaアプリケーションのcron起動時の文字化けに対応する

東南アジアに生息するエンジニアのブログ