エンジニアの流儀– Author –
-
Java
【Java】Optionalの使い方。Nullに怯える無能なコードを卒業せよ
Javaで開発をしていて、未だに if (obj != null) を乱発している奴はいないか。 あるいは、NullPointerException(NPE)を出して「運が悪かった」などと抜かしている奴はいないか。 もしそうなら、今すぐエンジニアを廃業しろ。 NPEは不運ではなく、君の設... -
PHP
【PHP】小数点の切り捨てはfloor一択ではない | 負債を生まない関数の使い分け
結論から言います。 PHPで小数点を切り捨てるなら、基本的には floor() を使いますが、負の値を扱う可能性があるなら intval() か bcdiv() を選択するのが実務の正解です。 ネット上の適当な記事では「切り捨て=floor()」とだけ紹介されていますが、正直... -
Ruby
【Ruby】三項演算子の書き方とif文との使い分け | 可読性を高める実務の正解
結論から言います。 Rubyの三項演算子は、「単純な二択の値を返す(代入する)」ためだけに使用し、少しでもロジックが複雑になるなら、迷わず if 文を使うのが実務の正解です。 ネットの解説記事では、ただ「短く書ける便利な方法」として紹介されること... -
C++
【C++】シングルトンパターンの正解。現場で学んだスレッドセーフな実装と設計の流儀
皆さん、こんにちは。リーダーです。 C++で開発をしていると、「システム全体でインスタンスを一つだけに制限したい」という場面によく遭遇します。 設定管理、ログ出力、あるいは特定のハードウェアへのアクセスなど、組み込みの世界でもシングルトンは非... -
C++
【C++】コンストラクタ初期化の作法。初期化リストを使うべき理由と現場の知恵
皆さん、こんにちは。リーダーです。 C++でクラス設計をする際、必ずと言っていいほど向き合うことになるのが「コンストラクタでの初期化」です。 実はここ、ベテランのエンジニアでも「なんとなく」で書いてしまっているケースを時々見かけます。 私も若... -
Python
【Python】特定の文字を削除する方法!replaceから正規表現まで徹底解説
こんにちはー!シミヅですっ! AIのモデルを作ったりデータをこねくり回したりしてると、避けて通れないのが「データの掃除(前処理)」なんですよ。 特にスクレイピングしてきたテキストデータなんかは、いらない記号や改行が混じってて「あぁー!この文... -
C言語
【C言語】#defineの正しい使い方と注意点。失敗から学んだマクロの作法
皆さん、こんにちは。リーダーです。 C言語を学び始めると、早い段階で目にするのが #define ですよね。 「定数を定義するもの」と教わることが多いですが、実は非常に奥が深く、同時に恐ろしい側面も持っています。 私も若手の頃、安易にマクロを多用した... -
PHP
【PHP】エラーログを出力するには?設定から実装まで完全解説
PHPで開発していると、予期せぬエラーに遭遇することがあります。 こうしたエラーをいち早く把握して修正するために必要なのが「エラーログの出力」です。 PHPでは標準機能としてエラーのログ出力が可能で、適切に設定すると エラーの詳細をファイルに残せ... -
Java
【Java】うるう年判定の最適解。標準API活用と独自ロジックの急所
Javaで「うるう年」を判定する。 極めて初歩的な課題だが、これすら正確に実装できない自称エンジニアが多すぎる。 条件分岐の優先順位を間違え、バグを垂れ流す。 そんな無様な真似は許されない。 この記事では、Javaにおけるうるう年判定の「正解」を提... -
Python
【Python】ロジスティック回帰を完全攻略!回帰なのに分類?実装と実務のコツ
はじめまして! シミヅですっ! この度、この「エンジニアの流儀」で記事を書かせていただくことになりました。 よろしくお願いしますっ! 「AIエンジニア」なんて名乗ってると、さぞかし難しい数式を毎日こねくり回してるんだろうなーって思われがちなん...
