Tips

スポンサーリンク
Java

Java Tips | 基本ユーティリティ:CSV一行生成

CSV一行生成は「地味だけど壊れやすいところを固める」技業務システムで CSV を出力するとき、「とりあえずカンマでつなげばいいでしょ」と思って書き始めると、すぐにハマります。名前にカンマが入っていた...
Java

Java Tips | 基本ユーティリティ:ファイル名生成

ファイル名生成は「衝突させずに意味を持たせる」ための技業務システムでは、ログファイル、レポート出力、アップロードファイルの保存先など、「新しいファイル名を決める」場面が山ほどあります。ここで適当に "...
Java

Java Tips | 基本ユーティリティ:MIMEタイプ判定

MIMEタイプ判定は「中身の種類をちゃんと確認する」ための技拡張子はあくまで「ラベル」でしかなくて、virus.exe を virus.png にリネームすることも簡単にできます。業務システムでファイ...
Java

Java Tips | 基本ユーティリティ:拡張子取得

拡張子取得は「ファイルの中身を推測するためのラベル取り」業務システムでは、「CSV だけ受け付けたい」「画像ファイルだけ処理したい」「ログローテーションで .log だけ対象にしたい」など、「ファイル...
Java

Java Tips | 基本ユーティリティ:ファイルサイズ取得

ファイルサイズ取得は「重さを意識した設計」をするための技業務システムでは、「このファイル、本当にメモリに全部載せて大丈夫?」「アップロードされたファイルが想定より巨大じゃない?」といった“重さ”の感覚...
PHP

PHP Tips | 文字列処理:変換系 – kebab-case → camelCase

kebab-case と camelCase のイメージをそろえるまずは形の違いをはっきりさせましょう。kebab-case はこういうスタイルです。user-namecreated-atmax-re...
PHP

PHP Tips | 文字列処理:変換系 – camelCase → snake_case

camelCase と snake_case のイメージをそろえるまずは形の違いを頭の中でハッキリさせましょう。camelCase はこういうスタイルです。userNamecreatedAtmaxRe...
PHP

PHP Tips | 文字列処理:変換系 – snake_case → camelCase

まず「snake_case」と「camelCase」の違いをちゃんとイメージする最初に、形の違いをはっきりさせましょう。snake_case 例:user_namecreated_atmax_retr...
PHP

PHP Tips | 文字列処理:変換系 – 単語の先頭のみ大文字

「単語の先頭のみ大文字」にしたいって、具体的にどういうこと?まずゴールのイメージからいきます。before: hello worldafter : Hello Worldbefore: user na...
PHP

PHP Tips | 文字列処理:変換系 – 英字をすべて大文字

「英字をすべて大文字」にする目的を整理するまず、「なんでわざわざ全部大文字にするのか?」をはっきりさせておきます。よくある目的はこんな感じです。コードやIDを「大文字で統一」して見た目とルールを揃えた...
PHP

PHP Tips | 文字列処理:変換系 – 英字をすべて小文字

「英字をすべて小文字」にする目的をはっきりさせるまず、なぜ「全部小文字」にしたいのかを整理しておきます。よくある目的はこんな感じです。ユーザー名やログインIDを「大文字・小文字を区別せずに扱いたい」メ...
PHP

PHP Tips | 文字列処理:変換系 – ひらがな → カタカナ

「ひらがな → カタカナ」でやりたいことまずゴールをはっきりさせます。「ひらがなで書かれた文字列」を、「同じ読みのカタカナ」に変換したい。例えば、こんな文字列があるとします。やまだ たろうかたかなすー...
PHP

PHP Tips | 文字列処理:変換系 – カタカナ → ひらがな

「カタカナ → ひらがな」でやりたいことまずゴールをはっきりさせます。「カタカナで書かれた文字列」を、「同じ読みのひらがな」に変換したい。例えば、こんな文字列があるとします。ヤマダ タロウカタカナスー...
PHP

PHP Tips | 文字列処理:変換系 – 半角 → 全角変換

「半角 → 全角変換」でやりたいことここで目指したいのはこういう状態です。入力された「半角の英数字・記号・カナ」などを、システム内部では「全角」にそろえて扱いたい。例えば、ユーザーがこう入力してきたと...
PHP

PHP Tips | 文字列処理:変換系 – 全角 → 半角変換

「全角 → 半角変換」でやりたいことまずゴールをはっきりさせます。ユーザーが入力した「全角の英数字・記号・スペース」などを、システム内部では「半角」にそろえたい。例えば、こういう入力が来ることがありま...
PHP

PHP Tips | 文字列処理:文字数・切り出し – 固定長になるよう左パディング

「固定長になるよう左パディング」とは何かイメージとしてはこうです。文字列を「決まった長さ」にそろえるために、足りない分を左側に 0 やスペースで埋めること。特に「数値っぽい項目」でよく使います。1 →...
PHP

PHP Tips | 文字列処理:文字数・切り出し – 固定長になるよう右パディング

「固定長になるよう右パディング」とは何かまずイメージからいきましょう。文字列を「決まった長さ」にそろえるために、足りない分を右側にスペースや 0 などで埋めることこれが「右パディング」です。例えば、外...
PHP

PHP Tips | 文字列処理:文字数・切り出し – 最小文字数チェック

「最小文字数チェック」がやりたいこと「最大文字数チェック」が「長すぎないか?」を見るのに対して、「最小文字数チェック」はこうです。入力された文字列が「○文字以上あるか?」をチェックして、短すぎたらエラ...
PHP

PHP Tips | 文字列処理:文字数・切り出し – 最大文字数チェック

「最大文字数チェック」がやりたいことやりたいことはシンプルです。入力された文字列が「○文字以内かどうか」をチェックして、長すぎたらエラーにしたい。例えば、ニックネームは 30文字まで自己紹介は 200...
PHP

PHP Tips | 文字列処理:文字数・切り出し – バイト数で切り出し

「バイト数で切り出し」とは何をしているのかここまでずっと「文字数」で安全に扱う話をしてきましたが、今回のテーマはあえて逆方向——「バイト数で切り出す」です。文字数ではなく、「何バイトまで」という単位で...
PHP

PHP Tips | 文字列処理:文字数・切り出し – 指定開始位置から安全に部分取得

このユーティリティがやりたいことの全体像「指定開始位置から安全に部分取得」というのは、ざっくり言うとこういうことです。文字列の「何文字目から」「何文字分」を取り出したい。しかも、日本語(マルチバイト)...
PHP

PHP Tips | 文字列処理:文字数・切り出し – 単語単位で省略

「単語単位で省略」がやりたいことこれまでの「指定文字数で省略」は、「文字数」でバッサリ切るものでした。今回の「単語単位で省略」は、もう一歩だけ気を遣った省略です。文章を途中でブツッと切るのではなく、「...
PHP

PHP Tips | 文字列処理:文字数・切り出し – 指定文字数で省略(省略記号なし)

「指定文字数で省略(省略記号なし)」がやりたいことここでやりたいのは、とてもシンプルです。文字列が長すぎるときに、「指定した文字数まで」でバッサリ切る。末尾に「…」などの省略記号は付けない。例えば、タ...
PHP

PHP Tips | 文字列処理:文字数・切り出し – 指定文字数で省略(…付き)

「指定文字数で省略(…付き)」がやりたいことやりたいことはシンプルです。文字列が長すぎるときに、「指定した文字数まで」で切り、末尾に「…(三点リーダー)」を付けて短く見せる。例えば、タイトルがこうだと...
PHP

PHP Tips | 文字列処理:文字数・切り出し – マルチバイト安全な文字数取得

「マルチバイト安全な文字数取得」とは何かまず前提として、PHP の文字列は「バイト列」です。strlen() は「文字数」ではなく「バイト数」を返します。ここが最初の落とし穴です。UTF-8 で日本語...
C#

C# Tips | ファイル・ディレクトリ操作:一時ファイル作成

はじめに 一時ファイルは「使い捨ての作業机」業務システムを書いていると、「ちょっとだけデータを置いておきたい」場面がよく出てきます。たとえば、大きなファイルを分割して処理するときの中間結果、ダウンロー...
C#

C# Tips | ファイル・ディレクトリ操作:パス正規化

はじめに 「パス正規化」って何をすること?「パス正規化」という言葉、ちょっと堅いですよね。でもやっていることはシンプルで、「バラバラな書き方のパスを、同じルールで整える」ことです。同じ場所を指している...
C#

C# Tips | ファイル・ディレクトリ操作:パス結合

はじめに なぜ「パス結合」が業務でめちゃくちゃ大事なのかファイルやディレクトリを扱うコードを書くとき、ほぼ必ず出てくるのが「パスの結合」です。たとえば「ログフォルダのパス」と「ファイル名」からフルパス...
C#

C# Tips | ファイル・ディレクトリ操作:絶対パス→相対パス

はじめに なぜ「絶対パス→相対パス」が必要になるのかさっきまでは「相対パス → 絶対パス」をやりましたが、現場ではその逆、「絶対パス → 相対パス」に変換したい場面もかなり多いです。例えばこんなケース...
C#

C# Tips | ファイル・ディレクトリ操作:相対パス→絶対パス

はじめに なぜ「相対パス→絶対パス」が業務で重要なのか業務システムでは、設定ファイルやログ出力先などを「相対パス」で書くことがよくあります。たとえば logs\app.log や ..\config\...
スポンサーリンク