プログラミング

スポンサーリンク
Java

Java Tips | コレクション:スレッドセーフMap

「スレッドセーフMap」は“同時に触られても壊れない辞書”業務システムでは、「ユーザーID→セッション情報」「商品コード→商品情報」「設定キー→設定値」のように、Map を共有して使う場面が本当に多い...
Java

Java Tips | コレクション:スレッドセーフList

「スレッドセーフList」は“同時に触られても壊れないリスト”業務システムでは、複数スレッドから同じ List にアクセスする場面が普通に出てきます。ログを貯める、イベントを溜める、キャッシュ的に使う...
C#

C# Tips | コレクション・LINQ:Chunk分割

はじめに:「Chunk 分割」は“データを小分けにして扱う”ための技業務でデータを扱っていると、こういう状況がよく出てきます。一度に 10 万件は処理したくないので、1000 件ずつに分けて順番に処理...
C#

C# Tips | コレクション・LINQ:All判定

はじめに:「All 判定」は“全員ちゃんと条件を満たしているか?”を見るチェックリストAny が「1人でもそういう人がいるか?」を見るメソッドだとしたら、All は「全員ちゃんとルールを守れているか?...
C#

C# Tips | コレクション・LINQ:Any判定

はじめに:「Any 判定」は“あるか・ないか”を一瞬で決めるスイッチ業務コードを書いていると、こんなことを知りたくなる場面が山ほどあります。「このリスト、1件でも入ってる?」「この条件を満たすデータっ...
C#

C# Tips | コレクション・LINQ:FirstOrDefault安全版

はじめに:「FirstOrDefault安全版」は“意図しない 0 や null を潰すための仕掛け”FirstOrDefault は LINQ の超定番メソッドですが、その「便利さ」の裏側で、初心者...
C#

C# Tips | コレクション・LINQ:ランダム抽出

はじめに:「ランダム抽出」は“偏りなく一部だけを見る”ための技ランダム抽出は、「大量のデータの中から、ランダムに一部だけ取り出す」ためのテクニックです。テストデータを適当に 100 件だけ見たいとき、...
C#

C# Tips | コレクション・LINQ:シャッフル

はじめに:「シャッフル」は“順番の意味を一度壊す”テクニックシャッフルは、「コレクションの要素の順番をランダムに並べ替える」ことです。トランプを切るイメージが一番近いです。業務でも、実はちょこちょこ出...
C#

C# Tips | コレクション・LINQ:和集合

はじめに:「和集合」は“全部まとめて、ダブりは1つにする”技業務でデータを扱っていると、こういう場面がよく出てきます。「A システムと B システムのユーザーを“全部”見たい」「複数ファイルに分かれて...
C#

C# Tips | コレクション・LINQ:積集合

はじめに:「積集合」は“共通しているものだけを抜き出すフィルター”業務でデータを扱っていると、こういう問いがよく出てきます。「A システムと B システムの両方に登録されているユーザーは?」「マスタに...
C#

C# Tips | コレクション・LINQ:差集合

はじめに:「差集合」は“どっちにだけあるか?”をはっきりさせる技業務でデータを扱っていると、こういう問いがよく出てきます。「昨日はあったけど、今日はなくなったデータはどれ?」「マスタにはあるけど、イン...
C#

C# Tips | コレクション・LINQ:マージ

はじめに:「マージ」は“バラバラの情報を一つの流れにまとめる技”業務システムでは、こういう状況がよく出てきます。「今年分のデータと昨年分のデータを一緒に扱いたい」「マスタと明細をくっつけて、見やすい形...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - HTML タイトル生成

何をしたいユーティリティか:「HTML タイトル生成」ここでの「HTML タイトル生成」は、<title>〜</title> に入れる文字列を、毎回バラバラに組み立てるのではなく、共通ルールで生成する...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - スラッグ生成

何をしたいユーティリティか:「スラッグ生成」ここでの「スラッグ生成」は、人間が読めて、URL や識別子としても扱いやすい「きれいな文字列」を作ることです。ブログ記事の URL、商品ページのパス、カテゴ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 識別子生成

何をしたいユーティリティか:「識別子生成」ここでの「識別子生成」は、「一意な ID(識別子)を文字列として作る」処理を、毎回バラバラに書かず、共通ユーティリティにまとめることです。注文番号、セッション...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 日付文字列生成

何をしたいユーティリティか:「日付文字列生成」ここで目指すのは、「Date を、業務でよく使うフォーマットの文字列に変換する処理」を関数にまとめることです。画面表示、CSV 出力、ログ、固定長ファイル...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - ログ用文字列生成

何をしたいユーティリティか:「ログ用文字列生成」ここで作りたいのは、「人間が読んで状況をすぐ理解できるログ文字列」を、毎回バラバラに書かず、共通のフォーマットで生成するユーティリティです。業務システム...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - SQL エスケープ

何をしたいユーティリティか:「SQL エスケープ」ここでの「SQL エスケープ」は、文字列を SQL の文字列リテラルとして安全な形に整える処理です。ただし、最初にめちゃくちゃ大事なことを言います。本...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - TSV 生成

何をしたいユーティリティか:「TSV 生成」ここで目指すのは、業務データ(配列や配列の配列)から「TSV 文字列」を安全に生成するユーティリティです。TSV(Tab Separated Values)...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - CSV エスケープ

何をしたいユーティリティか:「CSV エスケープ」ここで作りたいのは、「任意の値を“CSV の 1 セルとして安全な文字列”に変換する関数」です。CSV はただのカンマ区切りではなく、「カンマ」「改行...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 固定長整形

何をしたいユーティリティか:「固定長整形」ここでの「固定長整形」は、文字列を「ちょうど N 文字」にそろえる」ユーティリティです。足りなければ埋める、長ければ切る——これを毎回バラバラに書くのではなく...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 数値ゼロ埋め

何をしたいユーティリティか:「数値ゼロ埋め」ここでの「数値ゼロ埋め」は、「桁数をそろえるために、足りない分を左側に 0 を付ける」ユーティリティです。1 → "01"(2 桁)12 → "012"(3...
JavaScript

JavaScript | 2週間で身につく、アプリを作りながら学ぶJavaScriptの基本 - 7日目

7日目のゴールとテーマ7日目のテーマは「名簿アプリに“検索・絞り込み・並び替え”を足して、便利アプリに育てる」です。6日目で「登録して一覧表示する」まではできました。今日はそこに、名前で検索する年齢で...
JavaScript

JavaScript | 2週間で身につく、アプリを作りながら学ぶJavaScriptの基本 - 6日目

6日目のゴールとテーマ6日目のテーマは「ブラウザ上で動く“名簿アプリ”の最初の形を作る」です。4日目で学んだ「オブジェクト+配列」、5日目で学んだ「HTMLとJavaScriptの連携」を組み合わせて...
JavaScript

JavaScript | 2週間で身につく、アプリを作りながら学ぶJavaScriptの基本 - 5日目

5日目のゴールとテーマ5日目のテーマは「ブラウザの画面(HTML)とJavaScriptをつなげる」です。昨日まではコンソールの中だけで完結していましたが、今日はついに「画面に出す」側に踏み込みます。...
JavaScript

JavaScript | 2週間で身につく、アプリを作りながら学ぶJavaScriptの基本 - 4日目

4日目のゴールとテーマ4日目のテーマは「オブジェクトで“1人分の情報”をまとめる」です。昨日までで、配列とループを使って「複数の数字」を扱えるようになりました。今日はそこから一歩進めて、1人分(1件分...
JavaScript

JavaScript | 2週間で身につく、アプリを作りながら学ぶJavaScriptの基本 - 3日目

2日目のゴールとテーマ2日目のテーマは「条件分岐で“判断できるコード”にする」です。今日は、コンピュータに「状況を見て、自分で選ばせる」感覚を身につけます。もし〜なら、こうするそうでなければ、別のこと...
JavaScript

JavaScript | 2週間で身につく、アプリを作りながら学ぶJavaScriptの基本 - 2日目

2日目のゴールとテーマ2日目のテーマは「条件分岐で“状況に応じて動きを変える”」です。昨日は「入力して、計算して、表示する」まで行きましたが、今日はそこに「もし〜なら、こうする」という“分かれ道”を加...
JavaScript

JavaScript | 2週間で身につく、アプリを作りながら学ぶJavaScriptの基本 - 1日目

1日目のゴールとテーマ1日目のテーマは「JavaScriptで“コンピュータに命令する”感覚をつかむ」です。いきなり難しいことはやりません。今日は、JavaScriptってそもそも何者なのか最小限の環...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 作業フォルダ初期化

作業フォルダ初期化は「毎回の処理をクリーンな状態から始める」ための重要な自動化業務自動化では、処理の途中で生成される中間ファイル・ログ・一時ファイルがフォルダに残り続けると、次のような問題が起きます。...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 一時ファイル削除

一時ファイル削除は「作業後に残る不要ファイルを自動で片付け、環境を常にクリーンに保つ」ための基本自動化業務で Python を使うと、処理の途中で一時ファイル(temp ファイル)が大量に生成されるこ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル権限変更

ファイル権限変更は「誰がファイルを読める・書ける・実行できるか」を制御するための重要な操作業務自動化では、ファイルの権限(パーミッション)を正しく設定することが欠かせません。誤った権限は次のような問題...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイルダウンロード整理

ファイルダウンロード整理は「ダウンロードフォルダを自動で整頓し、必要なファイルだけを安全に扱える状態にする」ための前処理業務では、ブラウザや外部システムからファイルをダウンロードした後に、次のような作...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイルアップロード準備

ファイルアップロード準備は「アップロード前にファイルを安全・確実に扱える状態へ整える」ための重要な前処理業務システムにファイルをアップロードする前には、単にファイルを置くだけでは不十分です。多くの現場...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル変更監視

ファイル変更監視は「特定ファイルの更新をリアルタイムで検知し、自動処理を実行する」ための重要な仕組みフォルダ全体を監視するディレクトリ監視に対して、ファイル変更監視は“特定のファイルだけ”に注目して変...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ディレクトリ監視

ディレクトリ監視は「フォルダ内の変化を自動で検知し、即座に処理を実行する」ための強力な仕組み業務では、次のような「フォルダの変化をトリガーにした自動処理」が非常に多くあります。新しいファイルが届いたら...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - フォルダ同期

フォルダ同期は「2つのフォルダを同じ状態に保つ」ための業務自動化の基礎バックアップ先フォルダと作業フォルダを常に同じ状態にしたい、サーバーとローカルのフォルダを同期したい、更新されたファイルだけコピー...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ハッシュ比較

ハッシュ比較は「ファイルの中身が本当に同じか」を正確に判断するための最重要テクニックファイル名が同じでも中身が違うことはあります。サイズが同じでも中身が違うこともあります。しかし ハッシュ(SHA-2...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 重複ファイル検出

重複ファイル検出は「無駄な容量を削減し、フォルダをクリーンに保つ」ための重要な自動化業務フォルダには、コピー・バックアップ・手動作業の繰り返しによって 同じファイルが複数存在することがよくあります。重...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 古いファイル削除

古いファイル削除は「容量圧迫を防ぎ、フォルダを常にクリーンに保つ」ための基本自動化業務システムは毎日ファイルを生成し続けるため、放置するとフォルダが肥大化し、検索性が落ち、最悪ディスク容量を圧迫します...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ログファイル整理

ログファイル整理は「溜まり続けるログを自動で管理し、容量圧迫や検索性の低下を防ぐ」ための基礎スキル業務システムは毎日ログを出力し続けるため、放置するとフォルダが肥大化し、検索性が悪くなり、最悪ディスク...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 大容量ファイルコピー

大容量ファイルコピーは「安全に・確実に・途中で落ちにくく」行うことが最重要数 GB〜数十 GB のファイルを扱うとき、「普通にコピーするだけ」では、途中失敗・メモリ不足・時間が読めない、といった問題が...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル結合

ファイル結合は「分割されたデータを元の形に戻す」ための基本操作業務自動化では、巨大ファイルを分割して扱った後、最終的に元のファイルへ戻す処理(結合)が必要になる場面が多くあります。特に次のようなケース...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル分割

ファイル分割は「大きすぎるファイルを扱いやすいサイズに分ける」ための重要な自動化テクニック業務では、巨大なログファイル・CSV・テキストデータを扱うことがよくあります。しかし、ファイルが大きすぎると次...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - TAR圧縮

TAR圧縮は「大量ファイルを効率よくまとめる」ための業務向け技術ZIP と並んでよく使われる圧縮形式が TAR(タール) です。特に Linux・サーバー環境では TAR が標準的で、バックアップ・ロ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ZIP解凍

ZIP解凍は「受け取ったデータを正しく展開し、処理可能な状態に戻す」ための基本操作業務自動化では、メール添付・外部システム出力・バックアップファイルなど、ZIP形式で受け取るデータは非常に多いです。P...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ZIP圧縮

ZIP圧縮は「ファイルをまとめて軽くし、安全に保管・転送する」ための基本技術業務自動化では、ZIP圧縮は非常に重要な役割を持ちます。レポートをまとめてメール送信したり、バックアップを軽量化したり、複数...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - バックアップ世代管理

バックアップ世代管理は「古いバックアップを自動で整理し、必要な世代だけ残す」ための仕組みバックアップは作るだけでは不十分で、古いバックアップをどう扱うかが非常に重要です。バックアップが増え続けると、デ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - バックアップ作成

バックアップ作成は「データを守る」業務自動化の中心機能業務自動化の中でも、バックアップ作成は特に重要です。ファイル破損・誤削除・上書きミス・システム障害など、どんな現場でも起こり得るトラブルからデータ...
Python

Python Excel操作 逆引き集 | 書き込みでシートにテーブル形式を作る

何をしたいテクニックなのかゴールはこうです。「pandas の DataFrame を Excel に書き出すとき、ただの“罫線付きの表”ではなく、Excel の“テーブル機能(フィルタ付きのあれ)”...
Python

Python Excel操作 逆引き集 | 書き込み時に列書式を適用する

何をしたいテクニックなのかゴールはこうです。「pandas の DataFrame を Excel に書き出すとき、特定の列に“見た目の書式”をきちんと適用したい」たとえば、金額は「カンマ区切り・右寄...
Python

Python Excel操作 逆引き集 | DataFrameの列幅を自動調整して書き出す(xlsxwriter + 計算)

何をやりたいテクニックなのかゴールはこうです。「pandas の DataFrame を Excel に書き出すとき、列幅を“中身にちょうどいい幅”に自動調整したい」xlsxwriter をエンジンに...
Python

Python Excel操作 逆引き集 | 書き込み時のエンジン指定(xlsxwriter/openpyxl)

「エンジンを指定する」ってそもそも何をしているのかpandas が Excel に書き出すとき、実際に .xlsx ファイルを作っているのは「pandasそのもの」ではなく、openpyxl や Xl...
Python

Python Excel操作 逆引き集 | 書き込み開始セルを指定

何をするオプションなのかを一言でいうとstartrow= と startcol= は、「DataFrame を Excel に書き出すとき、どのセルから書き始めるか」を指定するためのオプションです。行...
Python

Python Excel操作 逆引き集 | 書き込み時にヘッダーを出力しない

まず「ヘッダーを出さない」とは何を意味するか通常 DataFrame.to_excel() を呼ぶと、1行目に「列名(カラム名)」が書き出されます。これが ヘッダー行 です。header=False ...
Python

Python Excel操作 逆引き集 | 書き込み時にインデックスを出力しない

そもそも「インデックス」って何者かpandas の DataFrame には、左端に「0, 1, 2, …」と並ぶ“行番号”のようなものがあります。これが インデックス(index) です。Pytho...
Python

Python Excel操作 逆引き集 | 既存ファイルにシート追加で書き出す

何をしたい機能なのかをまず言葉でつかむやりたいことはこうです。「すでに存在する Excel ファイル(既存ブック)に、新しいシートを“追加”して書き込みたい。既存のシートはそのまま残したい。」そのため...
Python

Python Excel操作 逆引き集 | 複数シートを書き出す

まずゴールのイメージをはっきりさせるやりたいことはシンプルです。「複数の DataFrame を、1つの Excel ファイルの別々のシートに書き出したい」。pandas では、そのためにpandas...
Python

Python Excel操作 逆引き集 | ExcelへDataFrameを書き出す

ゴールのイメージを先に共有するここまで「Excel → DataFrame」の話をしてきましたが、現場ではその逆、「DataFrame → Excel」に書き出したい場面もめちゃくちゃ多いです。Dat...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - フォルダサイズ計算

フォルダサイズ計算は「どこがどれだけ容量を食っているか」を見抜く技術業務自動化をしていると、「このフォルダ、どれくらい容量を使っているんだろう?」「バックアップ前にフォルダサイズを知りたい」「容量が大...
スポンサーリンク