Status Code 303 - See Other

サーバサイド、iOS・アンドロイドアプリ、インフラレベルの話まで幅広くやってます。情報の誤りや指摘・意見などは自由にどうぞ。

SSHJ による暗号化通信

概要 様々な処理をサーバに任せ、その処理結果だけをサーバから取得したい場合がある。このような通信を行う際、FTP や TELNET を用いて行うと 通信が暗号化されないため、その内容を第三者に盗聴されるリスクを生んでしまう。ここでは、SSH による暗号化通…

C言語 の long int データ型仕様

概要 今回、開発環境でテストすると正しいが、本番環境では正しい結果が出力できなかった。 あまりにバカらしい理由ではあるが、戒めのために記述する。 起こった事 環境 この案件では、C 言語で記述したプログラムを本番環境に送って実行する。 私は、Windo…

各ケースのデータ選択には分岐より規約に基づいた処理を適用する

概要 分岐処理は、手軽に記述できるため、多くの場面で利用される。しかし、あるデータの値によって、途中のデータを選択する処理を分岐を用いて 実装してしまうと、全てのケースをカバーしなければならないため、 新たなケースの追加や既存のケースの修正に…

テンプレートによるロジックとデザイン切り分け

概要 デザインとロジックを切り分ける内容。 本来これらは全く別個に管理すべきなものであるため、分離させたい場合が多くある。 今回は、Java でこの方法を実現する手順を記述。 デザインとロジックの混在する悪い例 public class Main { public static voi…

Lombok ライブラリ - フィールド関連

主記事 Lombok ライブラリ - Status Code 303 - See Otherこの記事では、フィールドに定義可能なアノテーションを記述。 (記事執筆時のバージョン :v1.16.6)(更新中) アクセッサ自動生成 指定されたフィールドのアクセッサを提供する。 @Getter どのような…

Lombok ライブラリ - その他

主記事 Lombok ライブラリ - Status Code 303 - See Otherこの記事では、クラスとフィールド以外に関連するアノテーションを記述。 (記事執筆時のバージョン :v1.16.6)(更新中) データ同期 @Synchronized このアノテーションをメソッドに設定すると、メソッ…

Lombok ライブラリ - クラス関連

主記事 Lombok ライブラリ - Status Code 303 - See Otherこの記事では、クラスに定義可能なアノテーションを記述。 (記事執筆時のバージョン :v1.16.6) クラス性質 ある性質を有するクラス構造を提供する。 @Data 全てのフィールドに対するゲッタ、全ての …

Lombok ライブラリ

概要 Javaでは、クラスにフィールドを追加することによって、 既存のロジックに影響が出たり、新しく追加する必要があるメソッドが存在する。 各フィールドのアクセッサ(ゲッタ/セッタ) 全フィールドを初期化するコンストラクタ hashCode/equalsメソッド toS…

Java でのマイナンバーのチェックデジット作成メソッド

概要 http://www.soumu.go.jp/main_content/000327387.pdf 上記第五条に定義があり、そこでは、個人番号を構成する11桁の番号 およびその検査用数字(チェックデジット)で構成されるらしい。 そこで、11桁の番号からチェックデジットを計算するメソッドを作成…

Java の switch 構文落とし穴

概要 switch 構文は、ある変数がある値のときに処理を分岐させる命令であり、 数多くの言語でサポートされているが、言語により微妙に仕様が異なっている。言語共通の話題も数多く含まれているが、 今回は、Java を前提に switch 構文について記述する。 詳…

プロパティファイルの使用方法

概要 プログラミングでは、処理内容とデータをファイル的に分断したい場合がある。 例えば、プログラム中にデータを書き込んでいた場合。 データの修正漏れや記述ミスにより、特定箇所のみ動かなくなるバグの原因となり得る。 ステージング環境と本番環境を…

static メソッドによるインスタンス生成

概要 static メソッドとは、オブジェクト指向言語において、インスタンスを生成せずとも 処理を実行できるクラスに関連づけられたメソッドである。使用例としては、便利な機能を提供する Util クラスを作成する場合に用いられ、 Java ライブラリでは、java.l…

Facade - GoF デザインパターン

概要 Facade(ファサードと読むらしい)パターンとは、GoF (Gang of Four)デザインパターンの一つであり、 このパターンが意図することは、サブシステムの簡素なインタフェース提供である。それ故、Facadeパターン はそれ単体では、新しい機能を提供しない。 …