スポンサーリンク
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day12:配列応用

Day12 前半のゴールDay12 は「配列を“ただ回す”段階から、“意味を持って変換・抽出・処理する”段階」に進む日です。テーマは map / filter / forEach。しかも「実務で超重要...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day11:文字列操作 練習問題

Day11 文字列操作の練習問題template literal / split / replace を「実際に使える」レベルにするための練習問題です。初心者でも確実に理解できるように丁寧に解説します...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day11:文字列操作

Day11 前半のゴールDay11 は「文字列を“ただ表示する”から“自在に扱う”」ステージに進む日です。前半では特に次の感覚をつかむことをゴールにします。Day11 前半で身につけたいことtempl...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day10.5:条件分岐の応用 練習問題

Day11.5 条件分岐の応用の練習問題三項演算子と switch は、JavaScript の条件分岐を「短く」「読みやすく」「安全に」書くための重要ツールです。ここでは、初心者でも確実に理解できる...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day10.5:条件分岐の応用

Day11.5 前半のゴールDay11.5 は「条件分岐をもっとコンパクトに・読みやすく」書くための日です。テーマは三項演算子と switch。前半ではまず、それぞれをこういうイメージでつかむことを目...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day10:関数② 練習問題

Day10 関数②の練習問題Day10 のテーマは スコープ / 無名関数 / アロー関数。ここでは、理解を深めるための練習問題と、それぞれの解答・解説をまとめていきます。関数②は「書き方の幅が広がる...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day10:関数②

Day10 前半のゴールDay10 は「関数レベルを一段上げる日」です。テーマはスコープ・無名関数・アロー関数。前半では特に、Day10 前半で押さえたいポイントスコープ=「変数が生きている範囲」とい...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day9:関数① 練習問題

Day9 関数①の練習問題Day9 のテーマは function / 引数 / return。ここでは、関数の基本をしっかり理解するための練習問題と、それぞれの解答・解説をまとめていきます。関数は「処...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day9:関数①

Day9 前半のゴールDay9 のテーマは「関数」です。ここから一気に「コードを部品として再利用する」力が手に入ります。前半では、まず次の3つをしっかり押さえることをゴールにします。Day9 前半で身...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day8:オブジェクト 練習問題

Day8 オブジェクトの練習問題Day8 のテーマは オブジェクト / key / value。ここでは、オブジェクトの基本操作をしっかり身につけるための練習問題と、それぞれの解答・解説をまとめていき...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day8:オブジェクト

Day8 前半のゴールDay8 のテーマは「オブジェクト」です。ここから一気に「現実世界の情報をそのままコードで表現する」力が手に入ります。前半では、とくに次の感覚をつかむことをゴールにします。Day...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day7:配列 練習問題

Day7 配列の練習問題Day7 のテーマは 配列 / push / splice。ここでは、配列操作の理解を深めるための練習問題と、それぞれの解答・解説をまとめていきます。配列は JavaScrip...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day7:配列

Day7 前半のゴールDay7 のテーマは「配列」です。ここから一気に「データをまとめて扱う」力が手に入ります。前半では、まず次の3つを目標にします。Day7 前半で身につけたいこと配列とは何かをイメ...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day6:繰り返し 練習問題

Day6 繰り返しの練習問題Day6 のテーマは for と while。ここでは、繰り返し処理の理解を深めるための練習問題と、それぞれの解答・解説をまとめていきます。初心者がつまずきやすいポイントを...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day6:繰り返し

Day6 前半のゴールDay6 のテーマは「繰り返し」です。ここから一気に「コンピュータらしさ」が強くなります。前半では、特に次の2つを目標にします。Day6 前半で身につけたいこと同じ処理を「何回も...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day5:条件分岐 練習問題

Day5 条件分岐の練習問題Day5 のテーマは if / else / else if。ここでは、条件分岐の理解を深めるための練習問題と、それぞれの解答・解説をまとめていきます。初心者がつまずきやす...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day5:条件分岐

Day5 前半のゴールDay5 のテーマは「条件分岐」です。ここから一気に「プログラムが考えて動く」感じが強くなります。前半では、まず if / else / else if の基本形 をしっかり押さ...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day4:演算子 練習問題

Day4 演算子の練習問題Day4 のテーマは 四則演算・比較演算・論理演算。ここでは、学んだ内容をしっかり定着させるための練習問題と、それぞれの解答・解説をまとめていきます。初心者がつまずきやすいポ...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day4:演算子

Day4 前半のゴールDay4 のテーマは「演算子」です。演算子は、値と値のあいだで「計算する」「比べる」「組み合わせる」といった操作をするための記号です。前半では、次の3つをしっかり押さえることを目...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day3:データ型 練習問題

Day3 データ型の練習問題Day3 のテーマは string / number / boolean / null / undefined。ここでは、学んだ内容をしっかり定着させるための練習問題と、そ...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day3:データ型

Day3 前半のゴールDay3 のテーマは「データ型」です。Day2 で「変数」という“箱”を学びましたが、今日は「その箱の中に入る中身の種類」を理解していきます。ここを押さえておくと、「この値はどう...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day2:変数 練習問題

Day2 変数の練習問題Day2 のテーマ「let」「const」「変数命名」「基本は const」これらをしっかり理解できているか確認するための練習問題です。すべて 自分の手で書いて動かす ことを前...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day2:変数

Day2 前半のゴールDay2 のテーマは「変数」です。ここをしっかり押さえられるかどうかで、この先の理解スピードが大きく変わります。前半では次の3つに集中します。Day2 前半でやること変数とは何か...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day1:JavaScriptとは・環境構築 練習問題

Day1 練習問題Day1 の内容「JavaScriptとは」「ブラウザで動く仕組み」「HTMLとの関係」「VS Code導入」「scriptタグ」「Hello World」これらをしっかり理解できた...
30日で身につけるJavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day1:JavaScriptとは・環境構築

JavaScript学習カリキュラム(30日完全基礎ロードマップ)カリキュラム全体像このカリキュラムは、プログラミング未経験者が「JavaScriptの基礎を理解し、自力で小さなWebアプリを作れる状...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day30 アウトプット

Day30 前半のゴール「“頭の中の設計”を、他人と共有できる形に書き出せるようになる」いよいよ Day30。ここまでで、MySQL を使って「それなりにちゃんとしたシステム」を作れるところまで来まし...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day29 総合課題

Day29 前半のゴール「“バラバラに学んだピースを、1つのECシステムとして頭の中で組み上げる”」ここまでで、テーブル設計、インデックス、API連携、ログ、権限、障害対応まで、一通りのピースを学んで...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day28 障害対応

Day28 前半のゴール「“DBでトラブルが起きたときの見方”を持てるようになる」ここからは、ちょっと怖いテーマです。「障害対応」――データ破損やロック問題の話です。前半のゴールはこうです。データ破損...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day27 権限管理

Day27 前半のゴール「“誰が何をしていいか”を、設計として説明できるようになる」ここからは「権限管理」です。パフォーマンスやAPI連携が「どう動かすか」だとしたら、権限管理は「誰にどこまで触らせる...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day26 ログ設計

Day26 前半のゴール「“あとからちゃんと追えるDB”とは何かを理解する」ここからは「ログ設計」です。パフォーマンスやAPI連携が“攻め”だとしたら、ログは“守りと証拠”の領域です。今日の前半のゴー...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day25 API連携

Day25 前半のゴール「“APIがDBの入口になる”イメージを、はっきり持てるようになる」Day24 で「アプリから MySQL に直接つなぐ」話をしました。Day25 は、そこにもう一段レイヤーを...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day24 アプリ連携

Day24 前半のゴール「“アプリからMySQLに話しかける”流れを、自分でイメージできるようになる」ここまでで、MySQL 単体での設計・チューニングはかなり触ってきました。Day24 からは「アプ...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:数値エラー行の検出

ゴールのイメージをそろえる今回のテーマは「Power Query で “数値になってほしい列”に変な値が入っている行をきれいに検出する実務テンプレ」です。ここでいう「数値エラー行」は、例えばこんな状態...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:日付が不正な行を除外

ゴールのイメージをそろえる今回のテーマは「Power Query で 日付が変(読めない・ありえない)な行だけをきれいに除外する実務テンプレ」です。やりたいことはシンプルで、「日付が壊れている行は、集...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:日付文字列を日付型変換

ゴールのイメージをそろえる今回のテーマは「2024/10/01 や 2024-10-01 のような“日付っぽい文字列”を、Power Query で ちゃんと日付型(type date)に変換する実務...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:カンマ付き数値を数値化

ゴールのイメージをそろえる今回のテーマは「1,234 や 12,345,678 のような カンマ付き数値を、Power Query で“ちゃんと数値型”に変換する実務テンプレ」です。見た目は数字なのに...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:改行コード削除

ゴールのイメージをそろえる今回のテーマは「Power Query で セル内に紛れ込んだ改行コード(折り返し)をきれいに削除する実務テンプレ」です。Excel で「セル内改行(Alt+Enter)」が...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - アクセシブル配色設計

アクセシブル配色設計は「誰にとっても読める・分かる色設計」のことおしゃれな配色と、アクセシブルな配色は別物です。アクセシブル配色設計は、「見えにくい人・色の区別がつきにくい人・小さい画面で見る人」も含...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - opacityと透明の違い

opacity と「透明色(rgba/transparent)」は“似ているようで全く違う”初心者が必ずつまずくポイントが opacity と rgba の透明度の違い です。どちらも「透明にする」よ...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - currentColor活用

currentColor は「その要素の文字色を再利用するためのキーワード」currentColor は、「この要素に今効いている color の値」を指す 特別な色キーワード です。一言でいうと、“...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - mix-blend-mode

mix-blend-mode は「下の色と“混ぜて描画する”」フォトショップ系テクニックmix-blend-mode は、要素の色を「そのまま上に乗せる」のではなく、下にある背景や要素の色と“合成して...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - filter応用

filter は「画像や要素に後からレタッチをかける」CSS版フォトショップfilter は、要素そのものにぼかし・明るさ・コントラスト・彩度・モノクロ・セピア…などの“画像加工フィルター” をかける...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - backdrop-filter

backdrop-filter は「要素の後ろにある背景だけをぼかす・加工する」魔法のようなプロパティ普通の filter は「要素そのもの」をぼかしますが、backdrop-filter は “要素...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - グラスモーフィズム

グラスモーフィズムは「背景をぼかした半透明カード」で“空気感”をデザインする技術ガラス越しに背景が見えるような、ふわっと透けて、光がにじむ UI 表現。それが「グラスモーフィズム(Glassmorph...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - グラデーションボーダー

グラデーションボーダーは「線そのものをデザインする」テクニックボーダーは本来「1色の線」ですが、グラデーションボーダーを使うと 枠そのものが装飾要素 になります。カード、ボタン、バッジ、セクションの囲...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - conic-gradient

conic-gradient は「円を中心に色が回転する」ちょっとトリッキーなグラデーションlinear-gradient が「線」、radial-gradient が「円の広がり」だとしたら、con...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - radial-gradient

radial-gradient は「光のにじみ・スポットライト」を作る背景テクニックlinear-gradient が「線」で色を変えるのに対して、radial-gradient は “円や楕円を中心...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - linear-gradient

linear-gradient は「色を滑らかにつなぐ」背景デザインの基本背景色をただ塗るだけではなく、色と色を自然につなげて“奥行き・光・立体感”を作る のが linear-gradient() で...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - rgba透明表現

rgba は「色に透明度を足す」ための最も基本で強力なテクニック背景色・ボタン・オーバーレイ・影・グラデーションなど、透明度を扱うデザイン では必ず使うのが rgba() です。初心者がつまずきやすい...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - prefers-color-scheme

prefers-color-scheme は「ユーザーの OS 設定に自動で合わせる」ための最強ダークモード技術ダークモード対応には「ユーザーがライト/ダークを選ぶ」「OS の設定に自動で合わせる」と...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - ダークモード対応

ダークモード対応は「色を切り替える」のではなく「テーマを切り替える」設計ダークモードは、単に背景を黒くするだけではありません。“ライトテーマ”と“ダークテーマ”という2つのテーマを切り替える設計 が本...
CSS

CSS Tips | 超実務コアCSSテクニック:カラー・背景 - CSS変数(カスタムプロパティ)

CSS変数(カスタムプロパティ)は「色・余白・フォント」を“プロジェクト全体で統一”する最強の仕組みCSS変数(custom properties)は、「値に名前をつけて再利用できる」 という、デザイ...
C#

C# Tips | ログ・例外・診断:タスク例外処理

はじめに:タスク例外処理は「非同期の失敗を“なかったこと”にしない技術」async/await や Task を使い始めると、最初にハマりやすいのが 「例外がどこに行ったか分からない問題」 です。同期...
C#

C# Tips | ログ・例外・診断:グローバル例外

はじめに:「グローバル例外」は“アプリ全体でただ一つの例外の窓口”を作ること例外処理って、最初は「必要なところで try-catch 書けばいいでしょ?」で済ませがちですよね。でもアプリが大きくなると...
C#

C# Tips | ログ・例外・診断:未処理例外捕捉

はじめに:「未処理例外捕捉」は“最後の砦”を用意することどれだけ丁寧に try-catch を書いても、どこかで必ず「取りこぼしの例外」が出ます。想定していなかったバグ、ライブラリ内部の例外、テストで...
C#

C# Tips | ログ・例外・診断:例外ログ共通化

はじめに:例外ログ共通化は「どこで落ちても、同じ形で記録する」ための仕組み業務システムが大きくなると、あちこちで例外をログに書くコードが散らばりがちになります。catch (Exception ex)...
C#

C# Tips | ログ・例外・診断:スタックトレース整形

はじめに:スタックトレース整形は「エラーの道筋を、人間が読める形にする」技例外が発生したとき、ex.ToString() や ex.StackTrace をそのままログに出すと、情報は多いけれど「どこ...
C#

C# Tips | ログ・例外・診断:例外再スロー

はじめに:「例外再スロー」は“いったん受け止めてから、ちゃんと投げ直す”テクニック例外をキャッチしたあとに、こう思う場面がよくあります。ログは取りたいでも、この場では処理できないだから、上の層に判断を...
C#

C# Tips | ログ・例外・診断:例外ラップ

はじめに:「例外ラップ」は“生のエラーを、そのまま外に漏らさないためのフィルター”業務システムを書いていると、いろんな層で例外が飛びます。DB アクセス、外部 API、ファイル I/O、ライブラリ内部...
C#

C# Tips | ログ・例外・診断:ログローテート

はじめに:ログローテートは“ログを永遠に増やさないための自動整理術”ログを出し続けるアプリは、放っておくと ログファイルが無限に肥大化 します。その結果、ディスクがいっぱいになり、アプリが止まることす...
C#

C# Tips | ログ・例外・診断:ログ削除

はじめに:「ログ削除」は“未来のトラブル調査”と“ディスク容量”の綱引き調整ちゃんとログを出し始めると、次に必ず出てくるのが「ログが消えない問題」です。ログは残しておきたい、でもディスクは有限。このバ...
C#

C# Tips | ログ・例外・診断:ログ圧縮

はじめに:「ログ圧縮」は“ログを捨てずに、場所だけ小さくする”技業務システムでログをちゃんと出し始めると、必ずぶつかる問題があります。「ディスクがログでパンパンになる」です。ログは残しておきたい。でも...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day23 設計演習

Day23 前半のゴール「“ECサイトのDB設計”を、怖がらずに分解して考えられるようになる」いよいよ設計演習です。テーマは「ECサイトのDB設計」。いきなり完璧な設計を作る必要はありません。今日の前...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day22 バックアップ

Day22 前半のゴール「“もしDBが飛んでも戻せる”状態を、自分で作れるイメージを持つ」ここからは「パフォーマンスと設計」だけでなく、「守り」の話に入ります。テーマはバックアップ――mysqldum...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day21 パーティショニング

Day21 前半のゴール「“テーブルを分けて速くする”という発想を、自分の言葉で説明できるようになる」今日のテーマは「パーティショニング」です。一言でいうと、巨大テーブルを“論理的には1つのテーブルの...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day20 正規化と非正規化

Day20 前半のゴール「“正規化が正義”でも“非正規化が悪”でもなく、目的で選べるようになる」今日は「正規化と非正規化」です。ここは、実務に出たときにほぼ確実にぶつかるテーマです。前半のゴールはこう...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day19 クエリチューニング②

Day19 前半のゴール「JOIN が遅いときに“どこが悪いか”を冷静に切り分けられるようになる」Day18 では「遅いSQL全般」のチューニングをやりました。Day19 はその中でも、実務で一番ハマ...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day18 クエリチューニング①

Day18 前半のゴール「“なんとなく遅いSQL”を、筋道立てて改善ポイントまで分解できるようになる」Day18 からはいよいよ「クエリチューニング」です。テーマは「遅いSQLの改善」。ここで目指すの...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day17 インデックス設計

Day17 前半のゴール「“なんとなく”ではなく“理由を持って”インデックスを貼れるようになる」Day17 のテーマはインデックス設計です。ここからが、パフォーマンスと設計の本丸です。一言で言うと、今...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day16 実行計画

Day16 前半のゴール「EXPLAIN を“怖い表”じゃなくて“SQLの行動ログ”として読めるようになる」ここからいよいよ「パフォーマンスと設計」の世界に入ります。Day16 の主役は EXPLAI...
Python

Python | 1 日 120 分 × 7 日アプリ学習:エラーハンドリング付き入力アプリ(中級編)

1日目のゴール1日目のテーマは「try / except を使って、入力エラーでアプリが落ちないようにする」 ことです。今日のゴールはシンプルです。ユーザーに数字を入力してもらう間違った入力(文字など...
Python

Python | 1 日 120 分 × 7 日アプリ学習:JSON保存アプリ(中級編)

1日目のゴール1日目のテーマは「JSONって何者かを理解して、Pythonで“とりあえず保存して読み戻す”ところまでできるようになること」です。今日はまだ「アプリ」までは行きません。でも、ここで学ぶJ...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day15 中間課題

Day15 前半のゴール「ここまで学んだ要素を“注文処理システム”として頭の中で組み立てられるようにする」Day15 は中間課題です。テーマは「注文処理システムを実装」です。ここまでで、あなたはすでに...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day14 トランザクション

Day14 前半のゴール「“お金の振込”をイメージしながらトランザクションを理解する」今日のテーマはトランザクションとロックです。ここから一気に「実務っぽさ」が増えます。まず一言で言うと、トランザクシ...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day13 トリガー

Day13 前半のゴール「“INSERT にフックする自動処理”としてトリガーをイメージできるようにする」今日のテーマはトリガー(TRIGGER)です。ここから一気に「DBが自分で動き出す」感じが強く...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day12 ストアドプロシージャ②

Day12 前半のゴール「“SQLの中でプログラムを書く”感覚をつかむ」Day11 でストアドプロシージャの基本構文と、IN / OUT パラメータ、IF・CASE の入口まで触れました。Day12 ...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day11 ストアドプロシージャ①

Day11 前半のゴール「“SQL版の関数”としてストアドプロシージャをイメージできるようになる」ここからは、いよいよ「DBの中で動くプログラム」、ストアドプロシージャの世界に入ります。SQLite ...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day10 ビュー

Day10 前半のゴール「ビューを“保存されたSELECT文”としてイメージできるようになる」Day10 のテーマはビュー(VIEW)です。SQLite にもビューはありましたが、使わずに来た人も多い...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day9 サブクエリ最適化

Day9 前半のゴール「EXISTS と IN を“なんとなく同じ”から卒業する」今日はサブクエリの中でも、実務で頻出のテーマEXISTS と INを扱います。多くの人が最初こう思います。「EXIST...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day8 JOINの最適化

Day8 前半のゴール「JOIN は“上から順に実行されない”ことを理解する」ここからいよいよ「実務SQL力」に入っていきます。Day8 のテーマは JOIN の最適化、その中でも「実行順序」です。多...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day7 復習課題

Day7 前半のゴール「“SQLiteで書けたCREATE TABLE”を、MySQL流に書き直せるようになる」Day7 は、ここまで学んだ差分を一気に使う「総復習の入り口」です。テーマはシンプルで、...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day6 インデックス基礎

Day6 前半のゴール「“インデックス=検索用の目次”を、感覚レベルで理解する」SQLiteでもインデックスはありましたが、「なんとなくPRIMARY KEYに勝手についてるやつ」くらいの理解で済ませ...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day5 制約の強化

Day5 前半のゴール「“あいまいなデータ”をDBレベルで拒否できるようになる」今日は「制約(constraint)」の中でも、特に重要な2つに絞ります。PRIMARY KEYFOREIGN KEYS...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day4 文字コードと照合順序

Day4 前半のゴール「“文字化けしない”だけじゃなく、“正しく比較・ソートできる”を意識する」SQLite を使っていると、文字コードやソート順をあまり意識しないままでも、そこそこ動いてしまいます。...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day3 基本操作の確認

Day3 前半のゴール「SQLiteで知っている基本操作を、“MySQLの文法とクセ”で再確認する」今日はあえて「復習レベル」でいきます。テーマはこの3つです。CREATE TABLEINSERT /...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day2 SQLiteとの違い

Day2 前半のゴール「“なんとなくTEXTだけ”から、“型を意識して設計する”に切り替える」SQLite では、正直こうでしたよね。TEXT と INTEGER と REAL があればだいたい何とか...
30日で身につけるMySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day1 環境構築

Day1 前半のゴール「SQLiteとの“違い”を意識しながら、MySQLの入口に立つ」この30日コースは「SQLiteは触ったことがある人」が前提です。だから Day1 では、まっさらな説明ではなく...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day30 アウトプット

Day30 前半のゴール「“SQLだけでレポートを作る”感覚と、“他人に説明する”視点を手に入れる」ここまで29日間、テーブル設計・JOIN・集計・インデックス・EC風DB設計まで、一通りやってきまし...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day29 総合課題

Day29 前半のゴール「“ECサイト風”の世界を、テーブル設計に落とし込めるようになる」いよいよ Day29、総合課題です。テーマは 小規模データベースをゼロから設計(ECサイト風)。前半のゴールは...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day28 パフォーマンス基礎

Day28 前半のゴール「インデックスって“何者か”を、体感レベルで理解する」ここまでで、かなり複雑な JOIN や集計を書けるようになりました。次のテーマは パフォーマンス基礎:インデックス です。...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day27 実践クエリ

Day27 前半のゴール「“複雑そうに見えるJOIN+集計”を、怖がらずに分解して読めるようになる」Day25〜26 で、顧客・商品・注文・注文明細を分けて設計し、正規化の感覚もつかんできました。Da...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day26 設計改善

Day26 前半のゴール「“とりあえず動く設計”から“一生付き合える設計”に育てる感覚をつかむ」Day25 までで、顧客・商品・注文のテーブルを分けて、それなりに“ちゃんとした”売上管理ができるように...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day25 ミニ課題②

Day25 前半のゴール「顧客×商品×注文を“ちゃんと分けて”設計できるようになる」Day24 では「顧客だけ」の世界でした。Day25 は一気に現実寄りになります。テーマは 売上管理(顧客×商品×注...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day24 ミニ課題①

Day24 前半のゴール「小さくても“ちゃんとした顧客管理テーブル”を自分で設計して作る」ここからは「実践編」です。Day24 のテーマは、ミニ課題としての 顧客管理テーブル。前半では、次のところまで...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day23 ビュー

Day23 前半「VIEW は“よく使う SELECT に名前をつけてテーブルみたいに扱う仕組み」だと思っていいここまで、テーブルを設計してSELECT / JOIN / サブクエリで欲しい形の結果を...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day22 サブクエリ②

Day22 前半「EXISTS / IN は“あるかどうか”を聞くためのサブクエリ専用キーワード」Day21 では、SELECT の中にサブクエリを入れて「1行ごとの追加情報」をくっつけました。Day...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day21 サブクエリ①

Day21 前半「SELECT の“1列”として、もう1回 SELECT を動かす」という発想を持つここまであなたは、1つの SELECT でテーブルから行を取り出す複数テーブルを JOIN して情報...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day20 複数テーブル設計

Day20 前半「テーブルを“ちゃんと分ける”ことで、あとから自分を助けるのが正規化」ここまで、1つのテーブルを前提にSELECT / JOIN / UPDATE / DELETE / INDEX を...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day19 インデックス

Day19 前半「インデックス=“本の索引”をテーブルに付けて、検索を一気に速くする」ここまでで、SELECT・JOIN・WHERE・GROUP BY…いろいろな「検索の技」を覚えてきました。でも、デ...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day18 制約

Day18 前半「そもそも“おかしなデータ”が入らないようにする」ための仕組みが制約ここまで、SELECT(読む)UPDATE(書き換える)DELETE(消す)をやってきました。ここで一度、視点をガラ...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day17 削除

Day17 前半「本当に消える」DELETE は、UPDATE よりさらに“重い一手”ここまでで、SELECT(読む)UPDATE(書き換える)をやってきました。Day17 のテーマは DELETE(...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day16 更新

Day16 前半「データを書き換える」という、検索とはまったく違う“力”を手に入れるDay1〜Day15 までは、SELECT を中心に「データを読む」ことを学んできました。Day16 からは、いよい...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day15 結合②

Day15 前半「片方にしかいないデータも“落とさずに見る”」ための LEFT JOINDay14 で学んだ INNER JOIN は、「両方のテーブルに相手がいる行だけを残す結合」でした。Day15...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day14 結合①

Day14 前半「バラバラのテーブルを“意味のある1枚”にくっつける」のが JOINここまでずっと、1つのテーブルだけを相手にしてきました。users なら users だけ、orders なら or...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day13 条件付き集計

Day13 前半「グループを作った“あと”に条件をかける」という新しい一手Day12 で、GROUP BY を使って「ユーザーごとの合計」「日付ごとの件数」のような グループ単位の集計 ができるように...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day12 グループ化

Day12 前半「1件ずつ」ではなく「グループごと」に数字を見る世界に入るここまでで、COUNT / SUM / AVG / MAX / MIN を使って「テーブル全体」や「WHERE で絞った一部」...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day11 集計②

Day11 前半「平均・最大・最小」で“数字の性格”をつかみにいくDay10 では、COUNT と SUM を使って「何件あるか」「合計はいくらか」を数字で見るところまで来ました。Day11 では、そ...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day10 集計①

Day10 前半「行そのもの」ではなく「行の“数”や“合計”を見る」世界に入るDay9 までは、どの行を取るか(WHERE)どの順番で並べるか(ORDER BY)どれだけ取るか(LIMIT)をコントロ...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day9 件数制御

Day9 前半「全部はいらない、そのうち何件かだけでいい」をSQLで言えるようにするDay8 までで、どの行を取るか(WHERE)どの順番で並べるか(ORDER BY)はコントロールできるようになりま...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day8 並び替え

Day8 前半「どの順番で見るか」をコントロールできるようになる日Day7 までで、どの行を取るか(WHERE)どの列を見るか(SELECT)はコントロールできるようになりました。Day8 では、そこ...
Java

Java Tips | 日付・時間:テスト用日時固定

なぜ「テスト用日時固定」ユーティリティが必要になるのか日付・時間に依存するロジックは、業務システムのど真ん中にいます。「締め切りを過ぎているか」「有効期限内か」「月末かどうか」「営業日かどうか」。こう...
Java

Java Tips | 日付・時間:Clock差し替え

なぜ「Clock差し替え」が業務ユーティリティとして重要なのか日付・時間を扱うコードを書くとき、多くの人が最初にやるのは LocalDate.now() や Instant.now() をそのまま呼ぶ...
Java

Java Tips | 日付・時間:日付キャッシュ

日付キャッシュユーティリティは何のために必要か「今日の日付」「今月の営業日一覧」「今年の祝日一覧」など、日付まわりの計算は、業務システムのあちこちで何度も呼ばれます。しかも、多くの場合「同じ結果」が何...
Java

Java Tips | 日付・時間:夏時間判定

夏時間判定ユーティリティは何のために必要か日本にいるとあまり意識しませんが、アメリカやヨーロッパでは「夏時間(Daylight Saving Time, DST)」が当たり前に使われています。同じ「A...
Java

Java Tips | 日付・時間:タイムゾーン一覧

タイムゾーン一覧ユーティリティは何のために必要かグローバルなサービスや、海外拠点を持つ会社のシステムでは、「どのタイムゾーンで日時を扱うか」をユーザーに選ばせる場面がよく出てきます。ユーザー設定画面の...
Java

Java Tips | 日付・時間:日付重複判定

日付重複判定ユーティリティは何のために必要か業務システムでは、期間がかぶってはいけない場面がたくさんあります。割引キャンペーン期間が重複してはいけない。同じ部屋の予約が同じ時間帯に二重に入ってはいけな...
Java

Java Tips | 日付・時間:範囲内判定

「範囲内判定」とは何をしたいユーティリティか業務システムでは、ものすごく頻繁に「この日付はキャンペーン期間内か?」「この日時はメンテナンス時間帯に含まれるか?」「この日付は契約の有効期間に入っているか...
Java

Java Tips | 日付・時間:日付比較

日付比較ユーティリティは何のために必要か業務システムでは、「締め日を過ぎているか?」「有効期限内か?」「開始日 ≤ 対象日 ≤ 終了日か?」といった“日付の比較”が、あらゆるところに出てきます。このと...
Java

Java Tips | 日付・時間:休日除外

「休日除外」とは何をしたいユーティリティなのか「この期間のデータを集計したいけど、休日は含めたくない」「SLA は“営業日ベース”なので、休日はカウントから外したい」。こういうときに必要になるのが「休...
Java

Java Tips | 日付・時間:営業日一覧

「営業日一覧」とは何をするユーティリティかまずイメージしてほしいのは、カレンダーから「土日と祝日を抜いた日だけ」を抜き出した表です。請求締め、入金予定表、納期チェック、SLA(何営業日以内に対応)など...
Java

Java Tips | 日付・時間:年一覧生成

年一覧生成とは何をするユーティリティか「年度選択のプルダウンに 2015〜2030 年を出したい」「レポート画面で対象年を選ばせたい」「ログ集計で“どの年のデータか”を一覧にしたい」。こういうときに使...
Java

Java Tips | 日付・時間:月一覧生成

月一覧生成とは何をするユーティリティか「2023年1月〜2025年12月までの月を全部出したい」「指定期間の月ごとのレポートを作りたい」「画面のプルダウンに“年月”を並べたい」。こういうときに使うのが...
Java

Java Tips | 日付・時間:日付範囲生成

日付範囲生成とは何をするユーティリティか「今月の全日付を一覧にしたい」「レポート期間の開始日〜終了日を1日ずつ処理したい」「1週間分のデータを日ごとに集計したい」。こういうときに必要になるのが「日付範...
Java

Java Tips | 日付・時間:CRON生成

CRON生成とは何をするユーティリティかここまで「CRON解析(読む側)」をやってきましたが、今回は逆方向です。CRON生成とは、アプリ側で「こういうスケジュールで動かしたい」という条件から、0 3 ...
Java

Java Tips | 日付・時間:CRON解析

CRON解析とは何をするものかCRON解析とは、「0 0 * * * のような CRON 表記を読み取り、次にいつ実行されるかを計算する」「この CRON は毎日? 毎週? 毎月? どんなタイミングで...
Java

Java Tips | 日付・時間:スケジューラ補助

スケジューラ補助とは何を助けるユーティリティなのかスケジューラ補助とは、「決まった時間に処理を実行したい」「一定間隔で繰り返し処理したい」「次の実行時刻を計算したい」といった“時間に基づく処理”を安全...
Java

Java Tips | 日付・時間:実行時間計測

「実行時間計測」で何を知りたいのか実行時間計測は、一言でいうと「この処理、実際どれくらい時間かかっているの?」を数字で見える化することです。なんとなく「遅い気がする」ではなく、「平均 120ms」「ピ...
Java

Java Tips | 日付・時間:ストップウォッチ

「ストップウォッチ」とは何をするクラスかイメージしてほしいのは、手に持つあのストップウォッチです。ボタンを押した瞬間に「スタート」、もう一度押したら「ストップ」、表示には「経過時間」が出る。Java ...
Java

Java Tips | 日付・時間:タイマー測定

「タイマー測定」で何をしたいのかイメージする業務システムを書いていると、「この処理、どれくらい時間かかっているんだろう?」「リリース前に性能をざっくり測りたい」「ログに処理時間を出しておきたい」という...
Java

Java Tips | 日付・時間:ナノ秒変換

ナノ秒変換で何をしたいのかをまずイメージする「処理が何ナノ秒で終わったか知りたい」「高頻度トレードやIoTでサブミリ秒の世界を扱いたい」「ログの順序を“同じミリ秒の中”でも区別したい」。こういう“めち...
JavaScript

JavaScript Tips | 配列ユーティリティ:分割

何をしたいユーティリティか:「配列の分割」ここでの「分割」は、1つの配列を「小さな配列のかたまり」に切り分ける処理のことです。英語だと「chunk(チャンク)」と呼ばれることが多いです。例えば、こんな...
JavaScript

JavaScript Tips | 配列ユーティリティ:ページング

何をしたいユーティリティか:「配列のページング」ここでの「ページング」は、たくさんのデータを「ページ番号」と「1ページあたり件数」に分割して扱う処理のことです。Web の一覧画面でよく見る「1〜10件...
JavaScript

JavaScript Tips | 配列ユーティリティ:多段ソート

何をしたいユーティリティか:「多段ソート」ここでの「多段ソート」は、複数のキーを優先順位付きで使って並び替える処理です。SQL でいう ORDER BY category ASC, price DES...
JavaScript

JavaScript Tips | 配列ユーティリティ:キー指定ソート

何をしたいユーティリティか:「キー指定ソート」ここでの「キー指定ソート」は、オブジェクトの配列を「特定のキー(プロパティ)」を基準に並び替える処理です。SQL の ORDER BY price ASC...
JavaScript

JavaScript Tips | 配列ユーティリティ:グループ化

何をしたいユーティリティか:「配列のグループ化」ここでの「グループ化」は、配列の要素を「ある条件(キー)」ごとにまとめ直す処理です。SQL の GROUP BY や、Excel の「ピボットテーブルの...
JavaScript

JavaScript Tips | 配列ユーティリティ:平均算出

何をしたいユーティリティか:「配列の平均算出」ここでの「平均算出」は、配列の中の数値を全部足して、その合計を要素数で割る処理です。学校で習った「平均」と同じですが、プログラムでやるときは「空配列のとき...
JavaScript

JavaScript Tips | 配列ユーティリティ:合計算出

何をしたいユーティリティか:「配列の合計算出」ここでの「合計算出」は、配列の中の値を全部足して、ひとつの数値にまとめる処理です。一番シンプルなのは「数値配列の合計」ですが、業務では「オブジェクト配列の...
JavaScript

JavaScript Tips | 配列ユーティリティ:最小値取得

何をしたいユーティリティか:「配列の最小値取得」ここでの「最小値取得」は、配列の中で一番小さい値を取り出す処理です。「最大値取得」の逆ですが、業務では同じくらい頻繁に使います。例えばこんな場面がありま...
JavaScript

JavaScript Tips | 配列ユーティリティ:最大値取得

何をしたいユーティリティか:「配列の最大値取得」ここでの「最大値取得」は、配列の中で一番大きい値を取り出す処理です。一番シンプルなのは「数値配列の最大値」ですが、業務では「オブジェクト配列の中で、特定...
JavaScript

JavaScript Tips | 配列ユーティリティ:ランダム要素取得

何をしたいユーティリティか:「ランダム要素取得」ここでの「ランダム要素取得」は、配列の中から 1 要素(または複数要素)をランダムに取り出す処理です。「配列シャッフル」が「順番を全部ランダムにする」の...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel自動印刷

Excel自動印刷は「帳票・レポートを自動でPDF化・印刷し、提出作業をゼロにする」ための最強スキルExcel業務自動化の中でも 自動印刷(PDF化含む) は、「最後の仕上げ」を自動化する非常に重要な...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel帳票生成

Excel帳票生成は「定型フォーマットを自動で作り、毎月の提出資料をゼロ秒で完成させる」ための最強スキルExcel業務自動化の中でも 帳票(レポート・申請書・明細書など)の自動生成 は効果が圧倒的です...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelレポート作成

Excelレポート作成は「集計・グラフ・KPIを自動でまとめ、毎月の資料作成をゼロにする」ための最強スキルExcel業務自動化の中でも レポート作成の自動化 は効果が圧倒的です。なぜなら、実務では次の...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelダッシュボード生成

Excelダッシュボード生成は「複数の集計・グラフ・指標を1画面にまとめ、意思決定を高速化する」ための最強スキルExcel業務自動化の中でも ダッシュボード自動生成 は最も効果が大きい分野です。なぜな...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel集計表作成

Excel集計表作成は「大量データを“意味のある形”にまとめ、レポートを自動生成する」ための最強スキルExcel業務自動化の中でも 集計表の自動生成 は効果が非常に大きいです。なぜなら、実務では次のよ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelピボット作成

Excelピボット作成は「大量データを一瞬で集計し、分析レポートを自動生成する」ための最強スキルExcel業務自動化の中でも ピボットテーブルの自動生成 は効果が非常に大きいです。なぜなら、実務では次...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel円グラフ生成

Excel円グラフ生成は「割合・構成比を一瞬で理解できる資料を自動で作る」ための最強スキル円グラフは “全体に対する割合” を見せるのに最適 です。実務でも次のような場面で非常に多く使われます。売上構...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel折れ線グラフ生成

Excel折れ線グラフ生成は「データの変化・推移を一目で理解できる資料を自動で作る」ための最強スキル折れ線グラフは “時間の流れによる変化” を見せるのに最適 です。実務でも次のような場面で非常に多く...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel棒グラフ生成

Excel棒グラフ生成は「データを一瞬で“見える化”し、説得力のある資料を自動で作る」ための最強スキルExcel業務自動化の中でも 棒グラフの自動生成 は特に効果が大きいです。なぜなら、実務では次のよ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelグラフ作成

Excelグラフ作成は「データを“見える化”し、説得力のある資料を自動生成する」ための最強スキルExcel業務自動化の中でも、グラフ作成の自動化は効果が非常に大きいです。なぜなら、実務では次のような場...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day7 総復習

Day7 前半「CRUD を一周させる」ことで“ただの知識”を“手応え”に変えるDay1〜Day6で、テーブルのイメージ、CREATE TABLE、INSERT、SELECT、WHERE、AND / ...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day6 データ取得②

Day6 前半「条件を組み合わせる」と「ざっくり探す」を覚える日Day5 では、WHERE で「1つの条件」を使って絞り込むことをやりました。Day6 では、そこから一歩進んで条件を組み合わせる AN...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day5 データ取得①

Day5 前半「入れたデータを、狙って取り出す」最初の一歩Day4 までで、テーブルを作り、INSERT でデータを入れられるようになりました。Day5 からはいよいよ、「欲しいデータだけを取り出す」...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day4 データ登録

Day4 前半「行を1件、ちゃんとテーブルに入れる」感覚を身につけるDay3 までで、テーブルという「箱」を自分で設計して作れるようになりました。Day4 では、その箱の中に 実際のデータ(行)を入れ...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:仕上げ(本番意識) - Day14

Day14:仕上げ(本番意識)前半テーマ:他人が“迷わず・詰まらず・再現できる”環境を作るための README を書けるようになるDay14 の前半では、「自分が作った Docker 環境を、他の人が...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:実務課題(重要) - Day13

Day13:実務課題(前半)テーマ:React+API+MySQLという“よくある現場構成”を、頭の中でちゃんと描けるようになるDay13 は、ここまで学んできた Docker・Dockerfile・...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:ログ・デバッグ - Day12

Day12:ログ・デバッグ(前半)テーマ:コンテナの“中で何が起きているか”を読み取り、原因を突き止める力をつけるDay12 の前半では、Docker を使った障害対応の基本であるdocker log...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:本番用Dockerfile - Day11

Day11:本番用Dockerfile(前半)マルチステージビルドの前半で最も重要なのは「ビルド用の重い環境」と「本番用の軽い環境」を分けるという発想です。これによりイメージが軽量化し、安全性も向上し...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day3 テーブル作成

Day3 前半「テーブルを作る」とは何をしているのかをちゃんと理解するDay1・Day2で、データベースのイメージと SQLite の動かし方はつかめてきました。Day3 ではいよいよ、SQL の中で...
30日で身につけるSQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day2 SQLite環境

Day2 前半SQLite環境の全体像をつかむDay1 で「データベースとは何か」「テーブル・行・列とは何か」が見えてきました。Day2 ではいよいよ、実際に SQLite を「動かせる状態」にしてい...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day1 データベースの概念

Day1 前半 データベースのイメージを「ちゃんと」つくるプログラミング初心者が最初にやるべきことは、文法を覚えることではなく、「そもそもデータベースって何者なのか」を正しくイメージすることです。ここ...
SQL

SQL | SQLを学ぶなら何を選ぶべきか

SQLを学ぶなら何を選ぶべきか結論から言うと、「どの環境でSQLを使うか」によって最適な選択は変わります。SQL自体は共通ですが、データベース製品ごとに方言や機能差があるため、目的に合わせて選ぶ必要が...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:ネットワーク理解 - Day10

Day10:ネットワーク理解(前半)テーマ:まず「localhostの正体」と「コンテナ同士のつながり方」を腹落ちさせるDay10 の前半では、コンテナ間通信と service 名での接続に入る前提と...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:環境変数と設定管理 - Day9

Day9:環境変数と設定管理 前半テーマ:.env を使って「環境ごとの差」を吸収し、どこでも同じアプリを動かせるようにするDay9 の前半では、Docker 実務で必須となる環境変数(Environ...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:Docker Compose入門 - Day8

Day8:Docker Compose入門 前半テーマ:複数コンテナを「1つのアプリ」として扱う感覚をつかむまずは、今日のキーワードである Docker Compose が何者なのかを、イメージからつ...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - interfaceのジェネリクス

ゴール:「interface は“型のテンプレート”であり、<T> で“穴あきテンプレート”にできると理解するクラスのジェネリクスが「インスタンス全体のルール」を決めるものだとしたら、interfac...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - クラスのジェネリクス

ゴール:「クラスにも <T> が付くんだ、しかも“インスタンス全体の型のルール”になるんだ、を体で覚える関数のジェネリクスはだいぶ見慣れてきたと思います。クラスのジェネリクスは、その 「型パラメータを...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリクスとintersection

ゴール:「T & U は“足し算された型”だ、と直感でわかるようになる」ジェネリクスと intersection(交差型、&)を一緒に使うときのキーワードは、「型を“混ぜる”のではなく、“足し算する”...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリクスとunionの併用

ゴール:「T なのに T | U もアリ?を“安全に混ぜる感覚”で理解するジェネリクスと union(|)を一緒に使うとき、最初に出てくるモヤモヤはだいたいこれです。「T って“1つの型”じゃないの?...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリクス配列操作

ゴール:「配列操作は全部 any で書けるけど、あえてジェネリクスで“型を守る”感覚をつかむ配列操作は、正直 any[] でも全部書けます。でもそれをやると、バグも型の穴も“侵入し放題”になります。ジ...
JavaScript

JavaScript | Web API:グラフィック・メディア - アニメーション処理

アニメーション処理は「毎フレーム、画面を描き直す仕組み」を作ることグラフィック系の JavaScript でいう「アニメーション処理」は、ざっくり言うと「時間の経過に合わせて、毎フレームごとに“今の状...
JavaScript

JavaScript | Web API:グラフィック・メディア - WebRTC の概要

WebRTC は「ブラウザ同士を直接つないで、映像・音・データをやり取りする仕組み」まず一言でいうと、WebRTC は「ブラウザ同士を“ほぼ直接”つないで、カメラ映像・マイク音声・任意のデータをリアル...
JavaScript

JavaScript | Web API:グラフィック・メディア - ストリーム処理

「ストリーム処理」は“流れてくる映像・音を、そのまま扱う”考え方グラフィック・メディアの世界でいう「ストリーム」は、ざっくり言うと「時間とともに流れてくるデータ(映像・音)の連続」です。カメラからの映...
JavaScript

JavaScript | Web API:グラフィック・メディア - MediaDevices(カメラ・マイク)

MediaDevices は「ブラウザからカメラ・マイクを借りるための窓口」スマホや PC には、カメラやマイクが付いています。普段はカメラアプリやビデオ通話アプリがそれを使っていますが、実は Web...
JavaScript

JavaScript | Web API:グラフィック・メディア - Audio API

Audio API は「ブラウザの中にある音のミキサー&シンセサイザー」JavaScript で音を扱う方法は大きく分けて 2 つあります。ひとつは <audio> タグを JavaScript から...
JavaScript

JavaScript | Web API:グラフィック・メディア - 動画制御

「動画制御」は“ブラウザにあるビデオプレイヤーのリモコンを自分で作る”ことHTML の <video> タグは、それだけで再生ボタンやシークバーを持っています。でも JavaScript から操作する...
JavaScript

JavaScript | Web API:グラフィック・メディア - 画像読み込み

「画像読み込み」は“ファイルをブラウザに連れてきて、キャンバスに貼る”ことCanvas で画像を扱うときに必ず通るのが「画像読み込み」です。ざっくり言うと、画像ファイルをブラウザに読み込む読み込みが終...
JavaScript

JavaScript | Web API:グラフィック・メディア - 描画処理

「描画処理」は“毎回、画面をどうやって作るか”を決めることCanvas API の世界でいう「描画処理」は、ざっくり言うと「キャンバスという白い紙に、どの順番で、何を、どこに、どういう見た目で描くか」...
JavaScript

JavaScript | Web API:グラフィック・メディア - 2D コンテキスト

「2D コンテキスト」は“キャンバスに絵を描くためのペン箱”Canvas API を使うとき、必ず最初にやるのがこれです。const canvas = document.querySelector("...
JavaScript

JavaScript | Web API:グラフィック・メディア - Canvas API

Canvas API は「ブラウザの中にあるお絵かき用の白い紙」Canvas API は、HTML の <canvas> 要素と JavaScript を使って図形・文字・画像・アニメーションなどを「...
JavaScript

JavaScript | 1 日 30 分 × 7 日アプリ学習超初級編:文字を表示するアプリ

1日目のゴール1日目のテーマは「JavaScript で“画面の文字を書き換える”感覚をつかむこと」 です。・ボタンを押したら文字が変わる・入力した文字を画面に出すたったこれだけでも、「ただの HTM...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:1週間まとめ(ミニ課題) - Day7

Day7:1週間まとめミニ課題の全体像Day7は「知識をバラバラで終わらせず、一本の線にする日」です。テーマは Node.js のAPIサーバを「完全にDocker化」すること。ここまで学んだ Doc...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:データ永続化(ボリューム) - Day6

Day6:データ永続化(ボリューム)前半テーマ:コンテナを消してもデータが残る“ボリューム”の本質を理解するDay6 の前半では、Docker の中でも実務で最重要の概念「データ永続化(ボリューム)」...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:開発効率化(マウント) - Day5

Day5:開発効率化(マウント)前半前半の核心は「マウント=ホストのフォルダをコンテナに映し込み、コード変更を即反映させる仕組み」であることです。ホットリロードの土台になる重要概念です。テーマ:マウン...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:Dockerfile入門(最重要) - Day4

Day4:Dockerfile入門(最重要)前半テーマ:自分のアプリを“誰でも動かせる形”にするための Dockerfile の基礎を理解するDay4 の前半では、Docker 学習の中でも最重要テー...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:Webサーバ起動(実務の入口) - Day3

DDay3:Webサーバ起動(実務の入口)前半テーマ:ポートフォワーディングを“感覚で理解する”Day3 の前半では、Docker を使って nginx(Webサーバ)を起動し、外部からアクセスできる...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:基本コマンド完全習得 - Day2

Day2:基本コマンド完全習得(前半)前半では、Docker の「基本コマンド」を “意味から理解する” ことを目的にします。単にコマンドを覚えるのではなく、コンテナのライフサイクル(生まれる → 動...
Docker

Docker | 2週間で実務レベルに到達するDocker学習:Dockerの全体理解と導入 - Day1

Day1:Dockerの全体理解と導入(前半)Dockerとは「アプリを入れるための小さな箱(コンテナ)を、設計図(イメージ)から作って動かす技術」であることを前半で理解するのがゴールです。Docke...
Java

Java Tips | 日付・時間:秒変換

秒変換で何をしたいのかイメージする「DBに“1970年からの秒”で保存されている」「外部APIがエポック秒で送ってくる」「処理時間を秒でログに出したい」。こういうときに必要になるのが、日付・時間と「秒...
Java

Java Tips | 日付・時間:ミリ秒変換

「ミリ秒変換」で何をしたいのかイメージする「処理時間をミリ秒で計測したい」「DBには long のミリ秒で保存されている」「外部APIが“1970年からのミリ秒”で送ってくる」。こういうときに必要にな...
Java

Java Tips | 日付・時間:ISO変換

「ISO変換」とは何をするものか「API は ISO 形式で日時を返してくる」「ログを ISO 形式で出したい」「他言語ともやり取りしたい」そんなときに出てくるキーワードが ISO-8601 です。I...
Java

Java Tips | 日付・時間:フォーマット共通化

なぜ「フォーマット共通化」が重要なのか同じシステムの中で、画面Aは「2025/03/26」、画面Bは「2025-03-26」、ログは「2025-03-26T10:00:00Z」――こういうバラバラな状...
Java

Java Tips | 日付・時間:JST変換

JST変換のゴールイメージ「アプリは日本時間で動いている」「外部APIはUTCで返してくる」「DBにはUTCで保存したいけど画面はJSTで見せたい」。こういうときに必要になるのが JST(日本標準時)...
Java

Java Tips | 日付・時間:UTC変換

UTC変換のゴールイメージ「アプリは日本時間で動いているけど、DBには UTC で保存したい」「ログは全部 UTC に統一したい」「外部APIは UTC で返してくる」業務システムで“時間”をちゃんと...
Java

Java Tips | 日付・時間:タイムゾーン変換

タイムゾーン変換のゴールイメージ「サーバは UTC、ユーザーは日本時間」「海外拠点はロサンゼルス時間」「ログは全部 UTC で残したい」業務システムで“時間”を扱うとき、ほぼ必ず出てくるのが「タイムゾ...
Java

Java Tips | 日付・時間:日付丸め

「日付丸め」とは何をするものか「2025-03-26 を“月初”にそろえたい」「日付を“週単位”にまとめたい」「分析用に“日単位”までに丸めたい」こういうときに出てくるのが「日付丸め」です。日付丸めは...
Java

Java Tips | 日付・時間:時間丸め

「時間丸め」とは何をするものか「10:03 を 5 分単位に丸めて 10:05 にしたい」「ログの時刻を“分単位”にそろえたい」「勤務時間を 15 分単位で計算したい」こういうときに出てくるのが「時間...
Java

Java Tips | 日付・時間:経過時間

経過時間のゴールイメージ「処理に何秒かかった?」「ログインから何時間経過した?」「締切まであと何時間?」業務システムでは、“2つの日時の差”=経過時間を扱う場面がとても多いです。ここでまず押さえてほし...
C#

バイブコーディングとセキュリティーについて

バイブコーディングの本質と現代開発における位置づけバイブコーディングとは、仕様や設計書に厳密に従うのではなく、直感や流れ、試行錯誤を重視してコードを書く開発スタイルである。とくにAIによるコード生成や...
C#

C# | 1 日 90 分 × 7 日アプリ学習:初級編

1日目のゴール「初級編」1日目のテーマは“C# で「入力 → 処理 → 出力」という一連の流れを、自分で組み立てられるようになること” です。超初級編では、主に「こちらから決めた値」をコードの中に書い...
C#

C# | 1 日 60 分 × 7 日アプリ学習:超初級編

1日目のゴール1日目のテーマは「C# で“とりあえず1個、自分のプログラムを動かせた”という感覚をつかむこと」 です。難しいことは一旦全部置いておいて、「C# の世界に入るための入口」だけを、ゆっくり...
C#

C# Tips | ログ・例外・診断:JSONログ

はじめに:コンソールログは「今この瞬間の動き」を見るための窓業務でも学習でも、まず一番最初に触るログがコンソールログです。画面にそのまま出るので、「今なにが起きているか」をリアルタイムで確認できます。...
C#

C# Tips | ログ・例外・診断:コンソールログ

はじめに:「コンソールログ」は“今この瞬間の状態を一番早く知る窓”業務でも、開発でも、まず一番手軽なのがコンソールログです。画面にサッと出てくれるので、「今なにが起きているか」をリアルタイムで確認でき...
C#

C# Tips | ログ・例外・診断:ファイルログ

はじめに:「ファイルログ」は“あとから読み返せるブラックボックスレコーダー”コンソールにログを出すだけだと、アプリを閉じた瞬間に全部消えます。でも業務システムでは、数日後・数週間後に「そのとき何が起き...
C#

C# Tips | ログ・例外・診断:ログレベル制御

はじめに:「ログレベル制御」は“どの声量でしゃべるか”を決める仕組みログは「全部出せばいい」わけではありません。本番では重要なものだけ見たいし、調査中は細かい情報も欲しい。この「どこまで細かくログを出...
C#

C# Tips | ログ・例外・診断:ログ出力

はじめに:「ログ出力」は“未来の自分へのメッセージ”業務システムで一番「効いてくる」のがログです。動いているときは意識されないのに、トラブルが起きた瞬間に「ログがすべての命綱」になります。何が起きたの...
JavaScript

JavaScript | 1 日 30 分 × 7 日アプリ学習超初級編:ボタンを押すアプリ

1日目のゴール1日目のテーマは「ボタンを押した“きっかけ”で JavaScript が動くんだ、という感覚をつかむこと」 です。やることはシンプルです。ボタンを押す→ JavaScript が動く→ ...
Python

Python | 1 日 120 分 × 7 日アプリ学習:CSVファイル読み書きアプリ(中級編)

1日目のゴール1日目のテーマは「csvモジュールを使って、CSVファイルを“怖くない実務データ”として扱える感覚をつかむこと」 です。今日つかみたいのは、この2つです。CSVってそもそも何者か(ただの...
JavaScript

JavaScript Tips | 配列ユーティリティ:配列シャッフル

何をしたいユーティリティか:「配列シャッフル」ここでの「配列シャッフル」は、配列の要素の順番をランダムに並べ替える処理です。例えばこうです。[1, 2, 3, 4, 5]// ↓ シャッフル[3, 1...
JavaScript

JavaScript Tips | 配列ユーティリティ:共通要素抽出

何をしたいユーティリティか:「共通要素抽出」ここでの「共通要素抽出」は、複数の配列を比べて「両方(または全部)に含まれている要素だけ」を取り出す処理です。イメージとしては「集合の積(intersect...
JavaScript

JavaScript Tips | 配列ユーティリティ:差分抽出

何をしたいユーティリティか:「配列の差分抽出」ここでの「差分抽出」は、「ある配列 A と配列 B を比べて、“どこが違うのか”を取り出す処理」です。業務だと、例えばこんな場面で使います。画面で「変更前...
JavaScript

JavaScript Tips | 配列ユーティリティ:重複抽出

何をしたいユーティリティか:「配列の重複抽出」ここでの「重複抽出」は、配列の中で「1 回しか出てこないもの」ではなく、「2 回以上出てくるもの」を取り出す処理です。重複削除(ユニーク化)は「かぶりを消...
JavaScript

JavaScript Tips | 配列ユーティリティ:重複削除

何をしたいユーティリティか:「配列の重複削除」ここでの「重複削除」は、同じ値が何度も入っている配列から、重複を取り除いて「一意な要素だけの配列」を作る処理です。業務だと、こんな場面でよく出てきます。ユ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 文字コード判定

何をしたいユーティリティか:「文字コード判定」ここでの「文字コード判定」は、外部から受け取った「バイト列」が、UTF-8 なのか Shift_JIS なのか EUC-JP なのか、といった「エンコーデ...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - BOM 除去

何をしたいユーティリティか:「BOM 除去」ここでの「BOM 除去」は、テキストの先頭にこっそり付いている「BOM(Byte Order Mark)」という特殊な目に見えない文字を取り除く処理です。C...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - 改行コード統一

何をしたいユーティリティか:「改行コード統一」ここでの「改行コード統一」は、バラバラな改行コード(\n, \r\n, \r)が混ざったテキストを、指定した形式にそろえる処理です。Windows 由来の...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - パス正規化

何をしたいユーティリティか:「パス正規化」ここでの「パス正規化」は、"//api//v1/../v2//users/./123/" のような「ぐちゃっとしたパス文字列」を、"/api/v2/users...
JavaScript

JavaScript Tips | 文字列ユーティリティ:業務用 - パンくず生成

何をしたいユーティリティか:「パンくず生成」ここでの「パンくず生成」は、「今いるページまでの階層(ホーム > マスタ > ユーザー一覧 > ユーザー詳細)」を、決まったルールで文字列や配列として作る」...
Java

Java Tips | 日付・時間:経過日数

経過日数のゴールイメージ「申込日から何日経った?」「納期まであと何日?」「プロジェクト開始からの経過日数は?」業務システムだと、“2つの日付の差”=経過日数を出す場面が本当に多いです。ここでまず押さえ...
Java

Java Tips | 日付・時間:年齢計算

年齢計算のゴールイメージ「生年月日から現在の年齢を出したい」「基準日時点での年齢を知りたい」業務システムだと、会員管理・保険・年齢制限チェックなどで“年齢”はよく出てきます。ここで一番やってはいけない...
Java

Java Tips | 日付・時間:祝日判定

祝日判定のゴールイメージ「この日付は祝日か?」「祝日は営業日から除外したい」「祝日は締切をずらしたい」業務システムでは、祝日判定はかなりの頻度で登場します。ここでまず押さえてほしい現実があります。祝日...
Java

Java Tips | 日付・時間:営業日判定

営業日判定のゴールイメージ「この日付は営業日か?」「締切日が休業日のときは翌営業日にずらしたい」業務システムでは、こういう“営業日判定”が本当に頻繁に出てきます。ここで大事なのは、営業日=「土日以外」...
Java

Java Tips | 日付・時間:曜日取得

曜日取得のゴールイメージ「2025-03-26 は何曜日?」「この日付が土日かどうか知りたい」業務システムだと、営業日判定・カレンダー表示・締切日のチェックなどで“曜日”は頻出です。ここでやってはいけ...
Java

Java Tips | 日付・時間:年末取得

「年末取得」は“その年の最後の日を意味でつかまえる”こと業務システムでは、「今年の年末」「会計年度の最終日」「前年の年末」みたいな話がよく出てきます。ここでやってはいけないのは、「12 月 31 日で...
Java

Java Tips | 日付・時間:年初取得

「年初取得」は“その年の1月1日を意味で取り出す”こと業務システムだと、「今年の年初」「会計年度の開始日」「前年の年初」みたいな話がよく出てきます。ここでやってはいけないのは、month = 1; d...
Java

Java Tips | 日付・時間:月末取得

「月末取得」は“その月の最後の日を安全につかまえる”こと業務システムでは、「今月の月末」「請求月の月末」「締め月の月末」が頻出します。ここでやってはいけないのは、「31 日で固定」「30 日で固定」「...
Java

Java Tips | 日付・時間:月初取得

「月初取得」は“その月の1日を安全に取り出す”こと業務システムでは、「今月の月初」「請求月の月初」「締め月の月初」をよく使います。ここでやってはいけないのは、day = 1; のように自分で日付をいじ...
Java

Java Tips | 日付・時間:日付減算

日付減算の本質は「過去にさかのぼるカレンダー計算を任せること」日付減算は、「今日から 7 日前」「3 ヶ月前」「1 年前の同じ日」といった“カレンダー上で過去にさかのぼる”計算です。ここでも一番やって...
C#

C# Tips | コレクション・LINQ:LINQ式キャッシュ

はじめに:「LINQ式キャッシュ」は“同じクエリを何度も組み立てないための知恵”LINQ を使っていると、こういうコードが増えがちです。var q1 = users.Where(x => x.IsAc...
C#

C# Tips | コレクション・LINQ:条件付き並び替え

はじめに:「条件付き並び替え」は“状況に応じてソートルールを切り替える”技業務システムでは、単純に「いつも同じ並び順」だけで済むことはあまりありません。画面のソート条件をユーザーが選べる検索条件によっ...
C#

C# Tips | コレクション・LINQ:並び替えキー複数

はじめに:「並び替えキー複数」は“人間の並び順ルールをそのままコードにする”技業務でデータを並び替えるとき、単純に「ID順」だけで済むことはあまりありません。部署コード昇順、その中で社員区分昇順、さら...
C#

C# Tips | コレクション・LINQ:HashSet活用

はじめに:「HashSet活用」は“とにかく速く・かんたんに重複と集合を扱う”技業務で LINQ やコレクションを使っていると、こういう処理がよく出てきます。同じ値が含まれているかを高速に判定したい重...
C#

C# Tips | コレクション・LINQ:比較用EqualityComparer

はじめに:「比較用EqualityComparer」は“何をもって同じとみなすか”をコードにする道具LINQ やコレクションを使っていると、こういう場面がよく出てきます。「ユーザーIDが同じなら同じユ...
C#

C# Tips | コレクション・LINQ:シャローコピー

はじめに:「シャローコピー」は“速いけど、油断すると元を汚すコピー”ディープコピーの逆側にあるのが シャローコピー(浅いコピー) です。一言でいうと、「入れ物は別だけど、中身(参照先)はそのまま共有す...
C#

C# Tips | コレクション・LINQ:ディープコピー

はじめに:「ディープコピー」は“元データを絶対に汚したくないときの保険”業務コードを書いていると、こういうことが起きがちです。「編集用にコピーしたつもりが、元のデータまで変わってしまった」「画面でキャ...
C#

C# Tips | コレクション・LINQ:Immutable変換

はじめに:「Immutable変換」は“絶対に書き換えられないコレクション”を手に入れる技業務システムを書いていると、こういう悩みが出てきます。「このコレクション、誰かにうっかり書き換えられてバグにな...
C#

C# Tips | コレクション・LINQ:Span対応変換

はじめに:「Span対応変換」は“速さを意識した LINQ の次の一歩”LINQ は書きやすいけれど、「配列や文字列をガッツリ触る処理」でパフォーマンスを突き詰めたいときには、メモリ確保(アロケーショ...
C#

C# Tips | コレクション・LINQ:ReadOnlyCollection化

はじめに:「ReadOnlyCollection化」は“触ってほしくないコレクションに鍵をかける”技業務コードを書いていると、こういう気持ちになる場面がよくあります。「このコレクション、外から中身をい...
C#

C# Tips | コレクション・LINQ:ObservableCollection変換

はじめに:「ObservableCollection変換」は“画面とコレクションをつなぐ橋”業務アプリ(特に WPF / MAUI / WinUI など)を書くと、List<T> や IEnumera...
C#

C# Tips | コレクション・LINQ:キャッシュ付き検索

はじめに:「キャッシュ付き検索」は“同じものを何度も探さない”ための技LINQ で検索を書くとき、最初はだいたいこうなります。var user = users.FirstOrDefault(x => ...
C#

C# Tips | コレクション・LINQ:高速検索

はじめに:「高速検索」は“探し方を変えるだけで世界が変わる”テクニックLINQ を覚えたての頃は、だいたいこう書きがちです。var user = users.FirstOrDefault(x => x...
C#

C# Tips | コレクション・LINQ:順序保持Distinct

はじめに:「順序保持 Distinct」は“最初に出てきた順だけを残す”技「重複を消したいけど、元の並び順は崩したくない」——業務でデータを扱っていると、かなり頻繁に出てきます。ログの順番はそのままに...
C#

C# Tips | コレクション・LINQ:重複カウント

はじめに:「重複カウント」は“どれがどれだけ被っているか”を一発で見抜く技業務でデータを扱っていると、こういうことを知りたくなる場面がよく出てきます。どの商品が何回注文されているかどのユーザーが何回ロ...
C#

C# Tips | コレクション・LINQ:インデックス付きSelect

はじめに:「インデックス付き Select」は“要素の値+位置情報”を同時に扱える便利ワザLINQ の Select は「値を変換する」ためのメソッドですが、実務では「値だけでなく、その要素が何番目か...
C#

C# Tips | コレクション・LINQ:Empty除外

はじめに:「Empty除外」は“中身がないものを先にどかす”テクニックnull を除外する話をしましたが、実務ではもう一つよく出てくる「やっかいな存在」がいます。それが「空文字」や「空コレクション」、...
C#

C# Tips | コレクション・LINQ:Null除外

はじめに:「Null除外」は“ゴミを先に掃き出してから考える”テクニック業務コードを書いていると、ほぼ確実にこうなります。データのどこかに null が紛れ込むnull を意識せずにプロパティにアクセ...
C#

C# Tips | コレクション・LINQ:AsParallel制御

はじめに:「AsParallel制御」は“並列の暴れ方に手綱をつける”技前回の「並列 LINQ」は、「AsParallel() を付けると並列になるよ」という話でした。でも、実務で本気で使うなら、どれ...
C#

C# Tips | コレクション・LINQ:並列LINQ

はじめに:「並列 LINQ」は“同じ処理をみんなで手分けする”仕組み同じような処理を大量のデータに対して繰り返すとき、1 件ずつ順番に処理するとどうしても時間がかかります。そこで出てくるのが「並列 L...
C#

C# Tips | コレクション・LINQ:Batch処理

はじめに:「Batch処理」は“まとめてやるけど、やり過ぎない”ための設計業務で C# を書いていると、こういう悩みがよく出てきます。一度に 10 万件 INSERT すると重いし、失敗したときの巻き...
JavaScript

JavaScript | Web API:クリップボード・共有 - UX 改善パターン

クリップボード・共有の UX は「技術」より「気づかい」で差がつくコピー・ペースト・共有って、コード的にはどれも数行で書けます。でも、「使っていて気持ちいいかどうか」 はその数行の周りにある“気づかい...
JavaScript

JavaScript | Web API:クリップボード・共有 - URL 共有

「URL 共有」は“このページを誰かに渡す”ための一番シンプルな機能URL 共有は、ざっくり言うと「今見ているページのリンクを、他の人や自分の別の端末に渡す」ための仕組みです。JavaScript で...
JavaScript

JavaScript | Web API:クリップボード・共有 - ネイティブ共有

「ネイティブ共有」は“ブラウザの外の世界”に渡すための出口Web アプリの中だけなら、URL をコピーしたり、画面に何か表示したりすれば完結します。でも実際のユーザーは、このページを LINE で送り...
JavaScript

JavaScript | Web API:クリップボード・共有 - Share API

Share API は「このページいい感じだから誰かに送ろう」をボタン一発にする仕組みスマホでブラウザを見ていると、「共有」ボタンからLINE やメール、Twitter などに URL を送れますよね...
JavaScript

JavaScript | Web API:クリップボード・共有 - セキュリティ制限

クリップボードのセキュリティ制限は「ユーザーを守るための強いガード」クリップボードには、ユーザーがコピーしたあらゆる情報が入ります。パスワード、クレカ番号、住所、仕事の文章、社外秘のコード——全部です...
JavaScript

JavaScript | Web API:クリップボード・共有 - 読み取り権限

クリップボードの「読み取り権限」は“ユーザーのプライバシーを守るための最重要ポイント”クリップボードには、ユーザーがコピーした パスワード・住所・クレカ番号・仕事の文章 など、とてもセンシティブな情報...
JavaScript

JavaScript | Web API:クリップボード・共有 - 書き込み権限

「書き込み権限」は“クリップボードを勝手にいじらないためのブレーキ”Clipboard API の「書き込み権限」は、ざっくり言うと 「このサイトに、クリップボードへ書き込ませていいか?」 をブラウザ...
JavaScript

JavaScript | Web API:クリップボード・共有 - ペースト処理

「ペースト処理」は“ユーザーのクリップボードの中身を、アプリに連れてくる”ことコピー処理が「アプリ → クリップボード」だとしたら、ペースト処理はその逆、「クリップボード → アプリ」 です。ユーザー...
JavaScript

JavaScript | Web API:クリップボード・共有 - コピー処理

「コピー処理」は“ユーザーの手を 1 回減らす”ための仕組みコピー処理は、ユーザーが本来やるはずだったテキストをドラッグで選択Ctrl+C / 右クリック → コピーという手順を、ボタン 1 回で代わ...
JavaScript

JavaScript | Web API:クリップボード・共有 - Clipboard API

Clipboard API は「コピー/ペーストをコードから扱うための正式な入口」普段、コピーやペースストはキーボードの Ctrl+C / Ctrl+V や右クリックメニューでやりますよね。Clipb...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelテンプレ作成

Excelテンプレ作成は「毎回同じフォーマットを自動生成し、作業時間を大幅削減する」ための最強スキルExcel業務自動化の中でも、テンプレート(雛形)を自動生成する処理は特に効果が大きいです。なぜなら...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 別名保存

別名保存は「元ファイルを壊さず、安全に新しいExcelを作る」ための超重要テクニックExcel業務自動化では、別名保存(Save As) が非常に重要です。なぜなら、次のような実務ニーズがあるからです...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel保存

Excel保存は「作ったExcelを確実に残し、業務自動化を完成させる」ための最重要ステップPythonでExcelを操作する際、保存処理(save)は必ず最後に必要になります。どれだけセル操作・書式...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 行高さ変更

行高さ変更は「Excelの見た目を整え、読みやすいシートを自動生成する」ための基本テクニックExcel業務自動化では、行の高さを調整する処理がとても重要です。なぜなら、次のような問題を防げるからです。...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 列幅変更

列幅変更は「Excelの見やすさを劇的に改善し、読みやすい帳票を自動生成する」ための基本テクニックExcel業務自動化では、列幅を自動で調整する処理がとても重要です。なぜなら、次のような問題を防げるか...
Python

Python | テスト・設計・品質:Web アプリの本番運用

「本番運用」って何?一言でいうと「“たまたま動く”から“24時間ちゃんと動き続ける”にすること」ローカルで FastAPI や Django を動かして「動いた!」は、まだスタートラインです。本番運用...
Python

Python | テスト・設計・品質:API のモック

APIのモックって何?一言でいうと「本物の代わりに動く“テスト用の偽物サーバー”」API のモックは、「本物の外部APIを呼ばずに、その代わりをする“偽物”を用意してテストすること」です。本物のAPI...
Python

Python | テスト・設計・品質:環境変数管理

環境変数管理って何?一言でいうと「コードに書いちゃいけない“秘密と設定”を外に出してあげること」環境変数管理は、「本番・開発・テストで変わる値」や「絶対にコードに埋め込んではいけない秘密」を、コードの...
Python

Python | テスト・設計・品質:コンテナ構築

コンテナ構築って何?一言でいうと「動く箱を作るための“レシピづくり+焼き上げ”」ここでいう「コンテナ構築」は、ほぼ「Docker コンテナを作ること」と考えてOKです。レシピを書くフェーズ(Docke...
Python

Python | テスト・設計・品質:Docker

Dockerって何?一言でいうと「どこでも同じように動く“持ち運べる開発環境”」Docker は、ざっくり言うと「アプリとその周りの環境を、ひとまとめにして箱に入れて持ち運べるようにする仕組み」です。...
Python

Python | 1 日 120 分 × 7 日アプリ学習:クラスで作る商品管理アプリ(中級編)

1日目のゴール1日目のテーマは「class・__init__・オブジェクトを、“商品”という身近な題材で体に入れること」 です。辞書でユーザーを扱ったときと同じように、今度は「商品」をクラスで表現して...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - 見出しスケール設計

見出しスケール設計は「階層の意味 × 読みやすさ × デザインの一貫性」を作る技術見出し(H1〜H6)は、ただ大きさを変えるだけでは不十分です。階層の差が明確で、読みやすく、デザインとして美しいスケー...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - リンクデザイン設計

リンクデザインは「読みやすさ × 分かりやすさ × 美しさ」を同時に満たす設計リンクは UI の中で最も重要な要素のひとつ。どれがリンクか一瞬で分かること、読みやすく邪魔にならないこと、デザインとして...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - text-decoration応用

text-decoration は「線の種類・位置・色・太さ」を自由に操るプロパティリンクの下線だけでなく、強調・アクセント・装飾・UI 表現 まで幅広く使えるのが text-decoration の...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - text-align最適化

text-align は「文章の重心」を決めるプロパティ文章は“どこに揃えるか”だけで読みやすさや印象が大きく変わります。text-align を最適化すると、見出し・本文・UI ラベル・ボタン・カー...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - writing-mode

writing-mode は「文字の流れる方向」を変えるプロパティ横書き・縦書き・縦中横など、日本語特有のレイアウトにも対応できる強力な CSS 機能です。特に日本語サイトでは、縦書きの見出し・帯・サ...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - word-break制御

word-break は「単語のどこで折り返すか」をコントロールするプロパティテキストが枠からはみ出すとき、どこで折り返すか(または折り返さないか) を決めるのが word-break です。特に日本...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - white-space制御

white-space は「改行・空白・折り返し」をコントロールするタイポグラフィの基礎文章がどう折り返されるか、空白がどう扱われるかは 読みやすさ・レイアウトの安定性 に直結します。white-sp...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - text-overflow省略

text-overflow は「入りきらないテキストをどう見せるか」をコントロールするUI デザインでは、タイトル・カード・ボタン・リストなど、テキストが枠からはみ出す場面が必ず発生します。そのときに...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - text-transform活用

text-transform は「文字の見せ方を一瞬で変える」タイポグラフィのスイッチ大文字化・小文字化・単語の頭だけ大文字など、文章の“印象”を一瞬で変える強力なプロパティ が text-trans...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - letter-spacing最適化

letter-spacing(字間調整)は「読みやすさ」と「デザインの質」を決める重要パラメータ特に日本語は欧文よりも字面が大きく、フォントによっても見え方が大きく変わるため、適切な letter-s...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - clampで可変フォント

clamp() を使うと「画面幅に応じて自然に伸び縮みするフォントサイズ」が作れるしかも、最小値・理想値・最大値を 1 行でコントロールできるので、レスポンシブタイポグラフィの“最強ツール”と言ってい...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - remとemの使い分け

rem と em は「どこを基準にサイズが決まるか」が違うだけでも、この違いを理解すると タイポグラフィ設計が一気に安定 します。rem → ルート(html)のフォントサイズを基準にするem → そ...
JavaScript

JavaScript | Web API:ファイル・データ操作 - 大容量ファイルの扱い

「大容量ファイルの扱い」は“全部一気にやらない”が合言葉まず前提からいきます。数 KB〜数 MB 程度のファイルなら、FileReader.readAsText や readAsArrayBuffer...
JavaScript

JavaScript | Web API:ファイル・データ操作 - CSV / JSON ファイル処理

CSV / JSON ファイル処理は「テキストとして読み、オブジェクトとして扱い、またテキストに戻す」流れCSV も JSON も、本質はただのテキストファイルです。JavaScript から扱うとき...
JavaScript

JavaScript | Web API:ファイル・データ操作 - バイナリデータ処理

「バイナリデータ処理」は“0と1の生データ”を意識して触ることふだん JavaScript で扱っているのは、文字列・数値・オブジェクトなど「人間に優しい形」のデータです。でも、画像・音声・PDF・Z...
JavaScript

JavaScript | Web API:ファイル・データ操作 - input type=”file”

input type="file" は「ユーザーにファイルを選んでもらうための唯一の正規ルート」まず大前提として、ブラウザの JavaScript は、勝手にユーザーのパソコンの中を覗けません。「この...
JavaScript

JavaScript | Web API:ファイル・データ操作 - ドラッグ&ドロップ

ドラッグ&ドロップは「マウスでつかんで、そのままブラウザに渡す入力方法」ドラッグ&ドロップ(D&D)は、「ユーザーがファイルや要素をマウスでつかんで、別の場所に“落とす”操作をイベントとして扱う仕組み...
JavaScript

JavaScript | Web API:ファイル・データ操作 - ダウンロード処理

「ダウンロード処理」は“ブラウザの中のデータ”を“ユーザーのファイル”に変えることJavaScript でいう「ダウンロード処理」は、ブラウザの中にあるデータ(文字列・JSON・画像・Blob など)...
JavaScript

JavaScript | Web API:ファイル・データ操作 - URL.createObjectURL

URL.createObjectURL は「Blob や File に一時的な URL を貼る魔法」URL.createObjectURL は、Blob や File に「一時的にアクセスできる UR...
JavaScript

JavaScript | Web API:ファイル・データ操作 - Blob

Blob は「生データ(バイナリやテキスト)をまとめて持つ“データのかたまり”」Blob は、「ファイルっぽい“データのかたまり”をメモリ上に表現するためのオブジェクト」 です。画像・テキスト・JSO...
JavaScript

JavaScript | Web API:ファイル・データ操作 - FileReader

FileReader は「ファイルの中身を“いろんな形”で読み出すための専用リーダー」前回の File API で出てきた File は、「ユーザーが選んだファイルへのハンドル(取っ手)」でした。でも...
JavaScript

JavaScript | Web API:ファイル・データ操作 - File API

File API は「ユーザーが選んだファイルをブラウザから触るための窓口」まず一番大事なことから。JavaScript は、勝手にユーザーのパソコンの中を覗いたり、好きなファイルを読みまくったりはで...
Python

Python | 1 日 120 分 × 7 日アプリ学習:辞書型で作るユーザー管理アプリ(中級編)

1日目のゴール1日目のテーマは「辞書型 dict を使って、“ユーザー管理アプリの土台”を作れるようになること」 です。今日つかんでほしいのは、この3つです。辞書型とは何か(キーと値の関係)ユーザー1...
Python

Python | 1 日 90 分 × 7 日アプリ学習:ファイルを読み込むアプリ(初級編)

1日目のゴール1日目のテーマは「ファイルの中身を read で読み込んで、そのまま画面に表示できるようになること」 です。ここでできるようになってほしいのは、たった2つです。ファイルを開いて中身を読み...
Python

Python | 1 日 90 分 × 7 日アプリ学習:ファイルに保存するメモ帳(初級編)

1日目のゴール1日目のテーマは「テキストをファイルに保存できる“超シンプルなメモ帳”を作ること」です。今日できるようになってほしいのは、この3つです。open でファイルを開くイメージをつかむwrit...
JavaScript

JavaScript | Web API:DOM 拡張 API - shadow DOM の概要

shadow DOM は「外側から見えない、部品専用のプライベート DOM」まず一言でいうと、shadow DOM は「コンポーネントの中だけで完結する、外側から直接いじれない専用 DOM」 です。普...
JavaScript

JavaScript | Web API:DOM 拡張 API - documentFragment

documentFragment は「画面にまだ挿していない一時作業用のミニ DOM」DocumentFragment(document.createDocumentFragment() で作るやつ)...
JavaScript

JavaScript | Web API:DOM 拡張 API - NodeList 操作

NodeList は「querySelectorAll が返してくる“要素の集まり”」まず前提からいきます。document.querySelectorAll() を使うと、複数の要素が一度に取れます...
JavaScript

JavaScript | Web API:DOM 拡張 API - dataset API

dataset は「HTML に自由にメモを書いておけるポケット」dataset は、HTML 要素に “自分で決めたデータ” を安全に持たせておくための仕組み です。HTML の data-◯◯ 属...
JavaScript

JavaScript | Web API:DOM 拡張 API - classList API

classList は「要素に付いているクラス名を出し入れするための専用リモコン」HTML 要素には class 属性がありますよね。<div class="box active"></div>この ...
JavaScript

JavaScript | Web API:DOM 拡張 API - Event コンストラクタ

Event コンストラクタは「既存イベントを自分の手で発火させるための素のイベント」Event コンストラクタは、「クリックや変更など、既に名前が決まっているイベントを、自分の手で“発生させたことにす...
JavaScript

JavaScript | Web API:DOM 拡張 API - CustomEvent

CustomEvent は「自分で名前を付けられるオリジナルイベント」CustomEvent は、「クリックやスクロールみたいな“既存のイベント”ではなく、自分で名前を付けたイベントを作って、発火でき...
JavaScript

JavaScript | Web API:DOM 拡張 API - ResizeObserver

ResizeObserver は「要素の大きさが変わった瞬間を教えてくれるセンサー」ResizeObserver は、「特定の要素の幅や高さが変わったときに、それを教えてくれる仕組み」 です。ウィンド...
JavaScript

JavaScript | Web API:DOM 拡張 API - MutationObserver

MutationObserver は「DOM の変化を見張る監視カメラ」MutationObserver は、「DOM(要素の追加・削除・属性変更・テキスト変更など)が変わった瞬間を教えてくれる監視カ...
JavaScript

JavaScript | Web API:DOM 拡張 API - IntersectionObserver

IntersectionObserver は「要素が画面に入ったかどうかを見張る番人」IntersectionObserver は、「ある要素が、画面(または指定した枠)の中に入ったか・出たか」を自動...
Java

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

14日目のゴールとテーマ14日目のテーマは「2週間で身につけた“Javaでアプリを作る力”を言語化して、次の一歩につなげる」 です。今日は新しい文法を増やす日ではありません。この2週間であなたが積み上...
Java

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

13日目のゴールとテーマ13日目のテーマは「プロジェクトを“整理する力”と“ライブラリを使う力”を身につける」 です。ここまでで、あなたはクラスオブジェクトカプセル化クラス同士の関係例外処理ファイル保...
Java

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

12日目のゴールとテーマ12日目のテーマは「タスクをファイルに保存して、“終了しても消えないアプリ”にする」 です。ここまでのタスク管理アプリは、起動している間はちゃんと動きますが、アプリを終了すると...
Java

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

11日目のゴールとテーマ11日目のテーマは「例外処理で“落ちないアプリ”に近づく」 です。ここまでで、あなたはクラス・オブジェクト・カプセル化・クラス同士の関係を使って、小さなタスク管理アプリを形にし...
Java

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

10日目のゴールとテーマ10日目のテーマは「これまでの要素を全部つなげて、“小さな本格アプリ”としてまとめる」 です。ここまでであなたは、変数・配列・ArrayListif・for・whileメソッド...
Java

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

9日目のゴールとテーマ9日目のテーマは「クラス同士の“関係”を設計して、小さな本格アプリの形にする」 です。ここまでであなたは、1つのクラス(Task)を作りオブジェクトを new してArrayLi...
Java

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

8日目のゴールとテーマ8日目のテーマは「カプセル化(情報を隠す)と getter / setter で、“壊れにくいクラス”に育てる」 です。7日目で、あなたはすでに自分でクラス(Task)を作りオブ...
Python

Python | 1 日 90 分 × 7 日アプリ学習:簡単メニュー選択アプリ(初級編)

1日目のゴール1日目のテーマは「数字でメニューを選んで、その数字に応じて“違う関数”を動かせるようになること」です。今日できるようになってほしいのは、この2つです。数値メニューを表示して、ユーザーに番...
Python

Python | 1 日 90 分 × 7 日アプリ学習:関数で処理をまとめるアプリ(初級編)

1日目のゴール1日目のテーマは「def で関数を定義して、自分で呼び出せるようになること」です。今日できるようになってほしいのは、この2つだけです。def を使って「自分の命令」を作るその命令(関数)...
Python

Python | 1 日 90 分 × 7 日アプリ学習:リストに追加するアプリ(初級編)

1日目のゴール1日目のテーマは「Python の list に append で値を追加できるようになること」です。ここができると、買い物リスト、TODOリスト、メモ帳アプリなど、「何かをどんどん溜め...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:ミニ業務アプリ(総合)

1日目のゴールと作るアプリのイメージこの7日間は、「ちょっと業務っぽいミニアプリ」を題材にして、設計力・保守性・実務思考を鍛えていきます。1日目のテーマは、「いきなりコードを書かず、“設計の目”でアプ...
Java

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

7日目のゴールとテーマ7日目のテーマは「クラスとオブジェクトで“自分だけの型”を作り、アプリの世界に登場人物を生み出す」 です。ここまでで、あなたは変数・配列・ArrayListでデータを扱い、if・...
Java

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

6日目のゴールとテーマ6日目のテーマは「メソッドで“処理を分ける力”を身につけて、コードを読みやすく育てる」 です。5日目までで、あなたはすでに入力を受け取る条件分岐で動きを変えるループで繰り返すAr...
Java

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

5日目のゴールとテーマ5日目のテーマは「配列より“柔軟なリスト”を使って、追加・削除ができるアプリに近づく」 です。4日目までで、配列を使って「複数のデータをまとめて扱う」ことができるようになりました...
Java

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

4日目のゴールとテーマ4日目のテーマは「配列で“複数のデータ”をまとめて扱い、ループと組み合わせて処理する」 です。ここまでで、1つの値(int や String)を変数に入れて扱うことはできるように...
Java

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

3日目のゴールとテーマ3日目のテーマは「同じ処理を“繰り返す”力を身につけて、ちょっとしたミニアプリをループで回す」 です。1日目・2日目で、「1回だけ動くプログラム」は書けるようになりました。でも、...
Java

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

2日目のゴールとテーマ2日目のテーマは「ユーザーの入力を受け取り、条件分岐で“動きが変わるアプリ”を作る」 です。1日目は、決まった文字や数字を「表示するだけ」の世界でした。今日はそこから一歩進んで、...
Java

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

1日目のゴールとテーマ1日目のテーマは「Javaの“型にはまった書き方”に慣れながら、最初の小さなアプリを動かす」 です。Pythonと違って、Javaは「決まりごと」が多い言語です。最初は少し堅苦し...
Python

Python | テスト・設計・品質:CD

CDって何?一言でいうと「テストが通ったら“そのまま本番まで運んでくれるベルトコンベア”」CD は大きく分けて2つあります。Continuous Delivery(継続的デリバリー)Continuou...
Python

Python | テスト・設計・品質:CI(GitHub Actions)

CI(GitHub Actions)って何?一言でいうと「プッシュした瞬間に“自動でテストしてくれるロボット”」CI(Continuous Integration)は、「コードを少し変更するたびに、自...
Python

Python | テスト・設計・品質:フォルダ構成標準化

フォルダ構成標準化って何?一言でいうと「どのプロジェクトでも迷子にならないための地図づくり」フォルダ構成標準化は、「Pythonプロジェクトのフォルダやファイルの置き方に、共通ルールを決めること」です...
Python

Python | テスト・設計・品質:例外階層

例外階層って何?一言でいうと「エラーを“種類ごとに整理する”ための仕組み」例外階層(Exception Hierarchy)は、「エラーを種類ごとに分類して、親子関係で整理する」ための設計です。Pyt...
Python

Python | テスト・設計・品質:ロギング設計

ロギング設計って何?一言でいうと「あとから原因を追えるように“足跡”を設計すること」ロギング設計は、「エラーが起きたとき・おかしな動きをしたときに、あとから原因を追えるように、どこで何を記録しておくか...
Python

Python | テスト・設計・品質:REST 設計

REST設計って何?一言でいうと「URLとHTTPを“きれいなルール”で使う設計」REST 設計は、Web API を作るときに、URLHTTPメソッド(GET / POST / PUT / PATC...
Python

Python | テスト・設計・品質:API 設計

API設計って何?一言でいうと「他人(未来の自分)が使いやすい“入口”を設計すること」ここでいう「API」は、Web API だけじゃなく、「関数・クラス・モジュールの“使い方の顔”」も含めた広い意味...
Python

Python | テスト・設計・品質:interface 分離

interface分離って何?一言でいうと「いらないボタンを押させないようにする設計」interface 分離(インターフェース分離の原則 / Interface Segregation Princi...
Python

Python | テスト・設計・品質:責務定義

「責務定義」って何?一言でいうと「この子は何を担当するのかを決めること」責務定義は、クラス・関数・モジュールなどに対して「あなたは何を担当するのか?」をはっきり決めることです。もっと砕くと、「このコー...
Python

Python | テスト・設計・品質:モジュール分割

モジュール分割って何?一言でいうと「ファイルごとに役割をはっきり分けること」Python でいう「モジュール分割」は、コードを複数の .py ファイルに分けて、それぞれに「はっきりした役割」を持たせる...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - ページリロード

「ページリロード」は「このURLをもう一度最初から開き直すこと」まずイメージからいきます。ブラウザの「再読み込みボタン」や F5 を押すと、今表示している URL にもう一度アクセスするHTML・CS...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - アラート(alert / confirm / prompt)

アラートは「ブラウザが出してくれる超シンプルなダイアログ」alert / confirm / prompt は、ブラウザが標準で用意してくれているダイアログ表示の仕組み です。画面の真ん中に、ブラウザ...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - タブ操作(open / close)

「タブ操作」は「新しい窓を開く権利」と「閉じていい範囲」を理解するところからJavaScript でのタブ操作は、window.open() と window.close() が中心です。ただし、ここ...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - リダイレクト

「リダイレクト」は「ユーザーを別のURLに連れて行くこと」まず言葉の整理からいきます。リダイレクト(redirect) は、ざっくり言うと「今このページを見ているユーザーを、別の URL に自動的に移...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - 画面サイズ取得

「画面サイズ取得」は「どの“枠”のサイズが欲しいか」を決めるところから始まるまず一番大事なことから。「画面サイズ」と一口に言っても、実は何種類かあります。ブラウザのウィンドウ全体のサイズウィンドウの中...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - userAgent

userAgent は「ブラウザが名乗る自己紹介テキスト」navigator.userAgent(ふつうは userAgent と呼ぶ)は、「このブラウザはこういう環境ですよ」とサーバーなどに伝えるた...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - navigator

navigator は「今使っているブラウザと環境のプロフィールカード」navigator は、「このページを開いているブラウザや環境の情報」をまとめたオブジェクト です。どんなブラウザか(Chrom...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - history API

history API は「ブラウザの戻る・進むをコードから操る仕組み」history は window.history のことで、ブラウザの「戻る」「進む」ボタンと同じようなことを、JavaScri...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - location

location は「今開いているページの住所カード」location は、「このタブで今開いているページの URL 情報をまとめたオブジェクト」 です。「今どの URL を見ているか知りたい」「別の...
JavaScript

JavaScript | Web API:ウィンドウ・ブラウザ制御 - window オブジェクト

window オブジェクトは「ブラウザタブそのもの」を表す巨大な入り口JavaScript でいう window は、「今あなたが見ているブラウザのタブ(ウィンドウ)そのものを表すオブジェクト」 です...
Python

Python | テスト・設計・品質:ドメイン駆動設計

ドメイン駆動設計って何?一言でいうと「現実のルールをコードの中心に置く考え方」ドメイン駆動設計(DDD)は、「フレームワークやDBの都合ではなく、“現実世界のルール”を中心にコードを組み立てよう」とい...
Python

Python | テスト・設計・品質:クリーンアーキテクチャ

クリーンアーキテクチャって何?一言でいうと「大事なものを真ん中に守る設計」クリーンアーキテクチャは、アプリケーションの「大事なルール(ビジネスロジック)」を、外側の技術的なもの(Web フレームワーク...
Python

Python | テスト・設計・品質:リファクタリング

リファクタリングって何?一言でいうと「動きを変えずに中身だけキレイにする」リファクタリングは、「コードの外から見た振る舞い(仕様・動き)は変えずに、中身の構造だけを良くすること」です。バグ修正でも新機...
Python

Python | テスト・設計・品質:mypy

mypyって何?一言でいうと「Pythonコードに“型のテスト”をかけるツール」mypy は、Python コードに書いた「型ヒント(type hints)」を読み取って、その使い方が矛盾していないか...
Python

Python | テスト・設計・品質:TypedDict

TypedDictって何?一言でいうと「キー付き辞書に“型の設計図”を付けるもの」TypedDict は、「この辞書は、こういうキーを持っていて、それぞれの値はこういう型です」という“設計図”を型ヒン...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - スケジューリング設計

「スケジューリング設計」は「いつ・どのくらい・どう止めるか」を決めることタイマーは「ちょっと遅らせて実行する便利関数」ではなく、「処理のタイミングを設計するための道具」 です。いつ実行するかどのくらい...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - UI 更新との関係

UI 更新とタイマーの関係は「JavaScript とブラウザの役割分担」を理解すると一気に分かりやすくなるタイマー(setTimeout / setInterval / requestAnimati...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - 無限ループ防止

「無限ループ防止」は「止まる出口を必ず用意する」という発想タイマーやループを書いているときに一番やっちゃいけないのが、「永遠に終わらない処理」=無限ループ です。ブラウザが固まるCPU が 100% ...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - タイマー精度の問題

「タイマー精度の問題」は「指定した時間どおりには動かないことがある」という話まず一番大事なことを先に言います。setTimeout(…, 1000) と書いても、きっちり 1000ms 後に実行される...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - requestIdleCallback

requestIdleCallback は「ブラウザがヒマなときにやってもらう雑用係」requestIdleCallback は、「今すぐじゃなくて、ブラウザがヒマになったタイミングでやってほしい処理...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - requestAnimationFrame

requestAnimationFrame は「ブラウザに最適なタイミングでアニメを進めてもらう仕組み」requestAnimationFrame(略して rAF)は、「アニメーションを滑らかに動かす...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - clearInterval

clearInterval は「繰り返し処理を止めるためのスイッチ」clearInterval は、setInterval で始めた“繰り返し処理”を止めるための関数 です。setInterval は...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - clearTimeout

clearTimeout は「さっき予約した“◯秒後”をなかったことにする」関数clearTimeout は、setTimeout で予約した「あとで実行する処理」をキャンセルするための関数 です。「...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - setInterval

setInterval は「◯秒ごとにこれを繰り返して」と予約する関数setTimeout が「一回だけあとで実行」だとしたら、setInterval は 「一定間隔で同じ処理を何度も繰り返す」 ため...
JavaScript

JavaScript | Web API:タイマー・スケジューリング - setTimeout

setTimeout は「◯秒後にこれやって」を予約する関数setTimeout は、「今すぐじゃなくて、少し時間が経ってから処理を実行したいとき」に使うタイマー関数 です。「3 秒後にメッセージを出...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - WebSocket の概要

WebSocket は「つなぎっぱなしでしゃべり続けられる通信」まずイメージからいきます。ふつうの HTTP(fetch など)は「用があるときだけノックして、用が済んだらすぐ帰る」通信です。リクエス...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - オフライン対応の基本

まず「オフライン対応って何を指しているのか」をはっきりさせるオフライン対応と聞くと、「ネットが切れても全部普通に動く魔法」みたいに思いがちですが、現実はもう少し地に足がついた話です。本質は、「ネットワ...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - Service Worker の概要

Service Worker は「ブラウザの中に住む、裏方の小さなサーバー」まずイメージからいきます。Service Worker は、「ブラウザの中で動く、あなたのサイト専用の“裏方サーバー”」 で...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - キャッシュ制御

「キャッシュ制御」は“いつまで古いデータを使っていいか”を決めるルールまずざっくりイメージからいきます。キャッシュは、「一度取ってきたデータを、次回以降は早く返すために手元に置いておく仕組み」 です。...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - 認証ヘッダ

認証ヘッダは「あなたが誰なのか」をサーバーに伝えるための“身分証”まずイメージからいきます。認証ヘッダ(Authentication Header)は、「このリクエストは誰として送っているのか」 をサ...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - Cookie の扱い

Cookie は「ブラウザが自動で持ち運んでくれる小さなメモ」まずイメージからいきます。Cookie は、「ブラウザがサーバーとの間で自動的に持ち運んでくれる小さなメモ」 です。サーバーが「このユーザ...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - CORS の基本

まず「なぜ CORS なんてものがあるのか」からCORS を理解する一番の近道は、「ブラウザは、もともと“よそのサイトに勝手にリクエストさせない”ように作られている」という前提をちゃんと掴むことです。...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - Headers

ヘッダーは「一緒にくっついて飛んでいくメモ書き」まずイメージからいきます。HTTP の世界では、リクエストやレスポンスは「封筒付きの手紙」みたいなものです。本文(ボディ)実際の中身。JSON や HT...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - Request / Response オブジェクト

「Request / Response」は fetch がやり取りする“手紙の入れ物”まず大きなイメージからいきます。fetch は「サーバーと会話する窓口」でしたよね。その会話の中で実際に行き来して...
JavaScript

JavaScript | Web API:通信・ネットワーク系 - fetch API

fetch は「ブラウザからサーバーにお願いしに行く関数」まずイメージからいきます。fetch は、「ブラウザからサーバーに“ちょっとデータください”とか“これ送ります”とお願いしに行くための関数」 ...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - font-display制御

font-display は「Webフォントが読み込まれるまでの見え方」をコントロールする仕組みWebフォントは便利ですが、読み込みが遅いと文字が消える(FOIT) や 途中でフォントが切り替わる(F...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - Webフォント読み込み戦略

Webフォント読み込み戦略は「速さ・見え方・安定性」を同時に満たすための設計Webフォントはデザインの質を上げる強力な武器ですが、読み込みが遅いと 文字が一瞬消える(FOIT)、または 途中でフォント...
CSS

CSS Tips | 超実務コアCSSテクニック:タイポグラフィ - フォントスタック設計

フォントスタック設計は「どの環境でも破綻しない文字の見え方」を作る技術フォントスタック(font-family の並び順)は、「ユーザーの環境にフォントが無いとき、どのフォントにフォールバックするか」...
JavaScript

JavaScript | Web API:ストレージ系 API - IndexedDB の概要

IndexedDB は「ブラウザ内のちゃんとしたデータベース」localStorage / sessionStorage は「小さなメモ帳」でした。IndexedDB は一段レベルが違います。イメージ...
JavaScript

JavaScript | Web API:ストレージ系 API - セキュリティの注意点

「ストレージは安全な金庫」ではない、という前提から始めようlocalStorage / sessionStorage は便利ですが、「ここに入れておけば安全」な場所ではありません。ブラウザの中にあると...
JavaScript

JavaScript | Web API:ストレージ系 API - ストレージイベント

ストレージイベントは「別タブでの変更を教えてくれる仕組み」まず一言でいうと、ストレージイベント(storage イベント)は「他のタブで localStorage が書き換えられたことを教えてくれる通...
JavaScript

JavaScript | Web API:ストレージ系 API - 同期 API の特性

「同期 API」ってそもそも何者かまず言葉の整理からいきます。同期 API(synchronous API)というのは、呼び出した瞬間に処理が終わるまで、そのスレッドを止めてしまうタイプの API の...
JavaScript

JavaScript | Web API:ストレージ系 API - 容量制限

ストレージの「容量制限」をちゃんと意識すると設計が変わるlocalStorage / sessionStorage は便利ですが、「無限に保存できる魔法の箱」ではありません。どちらもブラウザごとに 容...
JavaScript

JavaScript | Web API:ストレージ系 API - JSON との組み合わせ

なぜ「ストレージ × JSON」がほぼセットなのかlocalStorage / sessionStorage は、とてもシンプルなストレージです。でも制約が一つあります——「保存できるのは文字列だけ」...
JavaScript

JavaScript | Web API:ストレージ系 API - removeItem / clear

removeItem / clear は「部分的に消す」と「全部消す」の違いストレージ系 API(localStorage / sessionStorage)には、データを「書く」「読む」だけでなく、...
JavaScript

JavaScript | Web API:ストレージ系 API - setItem / getItem

setItem / getItem は「ブラウザのメモ帳に書く・読む」操作まずざっくりイメージからいきます。setItem と getItem は、ブラウザの中にある小さなメモ帳に「書く」「読む」ため...
JavaScript

JavaScript | Web API:ストレージ系 API - SessionStorage の基本

SessionStorage は「タブごとの一時メモ帳」まずイメージからいきます。SessionStorage は 「ブラウザのタブごとに用意される、一時的なメモ帳」 です。LocalStorage ...
JavaScript

JavaScript | Web API:ストレージ系 API - LocalStorage の基本

LocalStorage は「ブラウザにメモ帳を置く」イメージまずざっくりイメージから。LocalStorage は、「ブラウザの中にある、キーと値を保存できる小さなメモ帳」 です。ページを閉じても、...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - プロとしての非同期設計

「プロとしての非同期設計」って何が違うのか非同期処理を「書ける」ようになるのは、正直そんなに難しくありません。async/await を覚えて、fetch を呼んで、try/catch を付ければ、と...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 非同期バグの再現

なぜ「非同期バグの再現」がこんなに難しいのか非同期バグって、ほんとイヤらしいですよね。さっきまで出ていたのに、もう一回やると出ない。本番では起きるのに、ローカルでは起きない。理由はシンプルで、非同期バ...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 例外仕様の文書化

なぜ「例外仕様の文書化」がそんなに大事なのか非同期処理は「うまくいくとき」だけ見ていると、わりと簡単そうに見えます。await fetch(...) して、res.json() して、画面に出す——こ...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - モック化戦略

「モック化戦略」ってそもそも何の話?非同期処理をテストしようとすると、必ずぶつかる壁があります。それが「外部とのやり取り」です。サーバーへのリクエストデータベースタイマー(setTimeout)ブラウ...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - テストしやすい非同期

なぜ「テストしやすい非同期」が大事なのか非同期処理って、バグが出ても再現しづらいし、「たまたま動いた」状態になりがちです。だからこそ、「テストしやすい形で非同期コードを書く」という発想がめちゃくちゃ重...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 同期 API との境界

なぜ「同期 API との境界」を意識しないといけないのか非同期処理を学び始めると、「どこまでを同期で書いて、どこからを非同期にするのか」がだんだん分からなくなってきます。全部 async にしてしまう...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 非同期 API 設計

「非同期 API 設計」って何を考えること?まず前提から整理します。ここでいう「非同期 API」は、サーバーの REST API というより、「あなたが JavaScript で提供する非同期関数の“...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 非同期関数の命名

なぜ「非同期関数の命名」がそんなに大事なのか非同期処理って、それだけで頭を使います。そこに「名前がふわっとしている関数」が混ざると、一気に読めなくなります。doSomething(), handle(...
JavaScript

JavaScript | 非同期処理:設計・理解の深化 - 責務分離

「責務分離」を非同期コードで考える意味非同期処理って、それだけで頭を使いますよね。そこに「UI」「エラー処理」「キャッシュ」「ローディング表示」などを全部一緒に書き始めると、一瞬でカオスになります。だ...
JavaScript入門

JavaScript | 非同期処理:設計・理解の深化 - 非同期コードの可読性

なぜ「非同期コードの可読性」がそんなに大事なのか非同期処理って、動かすだけなら意外とすぐ書けます。async 付けて、await fetch(...) して、console.log して終わり——みた...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 非同期設計レビュー

「非同期設計レビュー」って何をする時間か非同期処理のコードは、とりあえず動かすだけなら意外と簡単です。async/await を付けて、fetch を呼んで、console.log して終わり。でも「...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - UI ブロック回避

なぜ「UI ブロック回避」がそんなに大事なのかJavaScript は基本「1本のメインスレッド」で動いています。この1本の線の上で、描画・クリック処理・スクロール・あなたの書いた処理が、全部順番待ち...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 長時間処理の分割

なぜ「長時間処理の分割」が必要になるのかJavaScript は基本的に「シングルスレッド」で動きます。つまり、1本の道に、処理が一列に並んで流れているイメージです。その道の上で、重い処理(ループ・計...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 非同期処理の計測

なぜ「非同期処理の計測」が大事なのかパフォーマンス最適化って、つい「こうした方が速そう」と感覚でやりがちです。でも、本当にやるべきことはシンプルで、たった一つです。「遅いところをちゃんと測って、事実ベ...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - レイテンシ考慮

レイテンシってそもそも何?まず言葉からいきます。レイテンシ(latency)は「お願いしてから、最初の反応が返ってくるまでの時間」 です。ユーザーから見ると、ボタンを押してから画面が変わるまで検索ワー...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - ネットワーク最適化

ネットワーク最適化って何をすること?非同期処理のパフォーマンス最適化の中で、ネットワーク最適化は「サーバーとの通信をできるだけ速く・少なく・無駄なくする」ことです。JavaScript の世界だと、だ...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - バッチ処理

「バッチ処理」は“まとめてやるから速くて優しい”という発想バッチ処理は、「細かい処理を1個ずつやるのではなく、ある程度まとめて一気に処理する」という考え方です。非同期処理のパフォーマンス最適化では、・...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - Promise キャッシュ

Promise キャッシュって何者?Promise キャッシュは、「同じ非同期処理を何度も実行せず、“進行中 or 結果”を使い回すテクニック」 です。特に、「同じ API を短時間に何回も叩いてしま...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 不要 await の削除

「不要な await」を消すと何が嬉しいのかawait は便利ですが、「なくてもいい場所に書いてしまうと、わざわざ処理を遅くしている」ことがあります。パフォーマンス最適化でよく効くのが、この「不要な ...
JavaScript

JavaScript | 非同期処理:パフォーマンス最適化 - 並列化の判断

「並列化の判断」は“どこを同時に走らせていいか”を見極めること非同期処理のパフォーマンス最適化で一番効くのが、「待ち時間の長い処理を、できるだけ同時に走らせる」ことです。でも、何でもかんでも並列にすれ...
JavaScript

JavaScript | 1 日 120 分 × 7 日アプリ学習:クラス設計アプリ(オブジェクト指向)

1日目のゴールと作るもののイメージ1日目のテーマは「class を使って、“それっぽいオブジェクト”を自分で設計できるようになること」です。キーワードはこの3つです。classカプセル化(中身を隠す・...
Python

Python | テスト・設計・品質:Protocol

Protocolって何?一言でいうと「“こう振る舞うもの”を型で表す」Protocol は、型ヒントの世界で「このオブジェクトは、こういうメソッドや属性を“持っているもの”として扱える」という“振る舞...
Python

Python | テスト・設計・品質:Literal

Literalって何?一言でいうと「値そのものを型にする」Literal は、型ヒントの世界で「この引数(または値)は、この“決まった値”しか受け付けません」と表現するための道具です。普通の型ヒントは...
Python

Python | テスト・設計・品質:Union

Unionって何?一言でいうと「型の“どれか”を許すための道具」Union は、型ヒントの世界で「この値は、A か B か C のどれかです」と表現するための仕組みです。形式的にはこうです。from ...
Python

Python | テスト・設計・品質:Optional

Optionalって何?一言でいうと「Noneかもしれない」を型で表す道具Optional は、型ヒントの世界で「この値は、あるときは T 型だけど、ないときは None かもしれない」という状態を表...
Python

Python | テスト・設計・品質:typing 型ヒント

型ヒントって何?まずは「コメント」だと思ってOKPython の「型ヒント(type hints)」は、「この変数や関数は、こういう型を想定しているよ」という情報を、コードの中に書き添える仕組みです。...
Java

Java Tips | 日付・時間:日付加算

「日付加算」は“カレンダーの面倒を Java に任せる”こと日付加算は、「今日から 7 日後」「月末から 1 日後」「3 ヶ月後の同じ日」といった“カレンダー計算”をコードでやることです。これを自前で...
Java

Java Tips | 日付・時間:日時→文字列

「日時→文字列」は“見せ方を決める”作業日時オブジェクト(LocalDate や LocalDateTime など)は、そのままだと「内部的に意味のある値」ですが、人間には少し分かりにくいことがありま...
Java

Java Tips | 日付・時間:文字列→日時

文字列→日時変換の全体イメージ「String で受け取った日付・時刻」を、そのまま文字列のまま扱うと、比較・加算・バリデーションがすべて自前実装になってしまいます。そこでやるべきことはシンプルで、「文...
Java

Java Tips | 日付・時間:Calendar変換

Calendar は「古い日付 API」だが、変換パターンを覚えれば怖くないjava.util.Calendar は、Date と同じく“古い日付 API”です。今の Java では LocalDat...
Java

Java Tips | 日付・時間:Date変換

古い Date と新しい java.time を「つなぐ」という発想java.util.Date は、昔からある「日時クラス」です。でも今の Java では、LocalDate / LocalTime...
Java

Java Tips | 日付・時間:Instant変換

Instant は「世界共通の“瞬間”を表すタイムスタンプ」Instant は、「UTC を基準にした、世界共通の“ある瞬間”」 を表すクラスです。「1970-01-01T00:00:00Z(UTC)...
Java

Java Tips | 日付・時間:ZonedDateTime生成

ZonedDateTime は「タイムゾーン付きの日時」ZonedDateTime は、「日付(年月日)+時刻(時分秒)+タイムゾーン」 をまとめて扱うクラスです。LocalDateTime は「どこ...
Java

Java Tips | 日付・時間:LocalDateTime生成

LocalDateTime は「日付+時刻」をまとめて扱うクラスLocalDateTime は、「年月日」と「時分秒(ナノ秒まで)」を一つにまとめて扱うクラスです。 タイムゾーンは持たないので、「ある...
Java

Java Tips | 日付・時間:LocalTime生成

LocalTime は「時刻だけ」を扱うクラスLocalTime は、「時・分・秒だけ」を扱うクラスです。日付(年月日)もタイムゾーンも持ちません。「営業開始時刻(09:00)」「締切時刻(17:30...
Java

Java Tips | 日付・時間:LocalDate生成

LocalDate は「日付だけ」を扱うクラスLocalDate は、「年月日だけ」を扱うクラスです。時刻(時分秒)もタイムゾーンも持ちません。「請求日」「締切日」「誕生日」「営業日」など、“日付だけ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - コメント追加

コメント追加は「Excelに説明・注意書き・補足情報を埋め込み、使いやすいシートを作る」ための便利テクニックExcel業務自動化では、セルにコメント(メモ)を追加する処理がとても役立ちます。コメントを...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - データ検証設定

データ検証設定は「入力ミスを防ぎ、Excelを“壊れないシート”にする」ための最強テクニックExcel業務自動化では、データ検証(Data Validation)が非常に重要です。なぜなら、次のような...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 条件付き書式

条件付き書式は「値に応じて自動で色や書式を変え、異常値や重要データを一瞬で見分ける」ための武器条件付き書式は、「セルの値に応じて、自動で色・フォント・アイコンなどを変える仕組み」です。人間が目でチェッ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelフィルタ

Excelフィルタは「必要なデータだけを抽出し、業務に必要な情報を瞬時に取り出す」ための超重要スキルExcel業務自動化では、フィルタ(抽出)が非常に多く登場します。なぜなら、実務のExcelは次のよ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelソート

Excelソートは「表を並び替えて、欲しい順番にデータを整理する」ための超実務的テクニックExcel業務自動化で、ソート(並び替え)はかなり頻繁に出てきます。例えば次のような場面です。売上を金額の大き...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル背景色変更

セル背景色変更は「Excelの視認性を高め、重要箇所を強調する」ための必須スキルExcel業務自動化では、セルの背景色(塗りつぶし)を変更する処理が非常に多く登場します。なぜなら、業務で扱うExcel...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル書式設定

セル書式設定は「Excelの見た目を整え、読みやすく美しい帳票を自動生成する」ための必須スキルExcel業務自動化では、セルの書式設定(フォント・色・罫線・背景色・数値形式など)が欠かせません。なぜな...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル置換

セル置換は「Excel内の特定の値を一括で書き換え、データを整形・修正する」ための超重要スキルExcel業務自動化では、セルの値を検索して置換する処理が非常に多く登場します。なぜなら、次のような業務が...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル検索

セル検索は「Excelの中から必要な値を探し出し、Pythonで次の処理につなげる」ための超重要スキルExcel業務自動化では、セルを検索する処理が非常に多く登場します。なぜなら、業務で扱うExcel...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 範囲書き込み

範囲書き込みは「Excelの表にまとめてデータを流し込み、テンプレートを一気に完成させる」ための最重要スキルExcel業務自動化では、複数セルにまとめてデータを書き込む(範囲書き込み)ことが非常に多く...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - UsedRange

UsedRange は「そのシートで“何かに使われている範囲”をひとかたまりで教えてくれる」まずイメージから。UsedRange は「そのワークシートの中で、“何かしら使われているセルの最小の長方形”...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - 最終行取得

「最終行取得」は“どこまでデータが入っているか”を知るための超重要テクニックまずイメージから。「最終行取得」は「この列は、いったい何行目までデータが入っているのか?」をコードで調べることです。Exce...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - With構文

With 構文は「同じ相手に、まとめて命令を出すための“会話モード”」まずイメージからいきます。With 構文は「同じオブジェクトに対して、何回も続けて命令を出したいときに使う“まとめモード”」です。...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Select回避

「Select回避」とは何か ― “選択してから操作する”クセをやめる発想まず前提から整理します。Excel を手で操作するとき、あなたは必ず「選択してから操作」しています。A1 をクリックして選択 ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - NumberFormat

NumberFormat は「セルの“表示のしかた”を決めるためのプロパティ」まず一番大事なイメージから。NumberFormat は「セルの中身そのもの」ではなく、「どう見せるか(表示形式)」を決め...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Borders

Borders は「セルや範囲の“罫線”をまとめて操るためのオブジェクト」まずイメージからいきましょう。Font が「文字の見た目」、Interior が「背景色」だとしたら、Borders は「セル...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Interior

Interior は「セルの“背景色”などを操るためのオブジェクト」まずイメージから。Font が「文字の見た目」を扱うのに対して、Interior は「セルの中の塗りつぶし(背景色など)」を扱うオブ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Font

Font は「セルの文字の“見た目”をまとめて操るためのオブジェクト」まずイメージから。Font は「セル(Range)の“文字の見た目”をまとめて持っているオブジェクト」です。太字にするか文字サイズ...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Paste

Paste は「クリップボードにあるものを“今ここに貼り付ける”動き」まずイメージから。Paste は「コピーされた内容(クリップボードの中身)を、指定した場所に貼り付ける動き」です。手作業でやってい...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Copy

Copy は「セルや範囲を“そのまま別の場所へ複製する”ためのメソッド」まずイメージから。Copy は「選んだセル(Range)を、別の場所へコピーする命令」です。手作業でやっている「コピー → 貼り...
Python

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

14日目のゴールとテーマ14日目のテーマは「ここまで作ったアプリを“仕上げる”感覚を身につける」です。新しい文法をどんどん増やす日ではなく、コードを読みやすく整えるちょっとしたバグを見つけて直すテスト...
Python

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

13日目のゴールとテーマ13日目のテーマは「コードを“モジュール化”して、ちゃんとしたプロジェクト構成にする」です。ここまでで、クラスも関数も使って、タスク管理アプリをかなり育ててきました。でも、まだ...
Python

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

12日目のゴールとテーマ12日目のテーマは 「クラス同士を組み合わせて“アプリの世界観”を作る」 です。昨日は「Task という1つのクラス」を作りました。今日はそこから一歩進んで、クラスを“複数”作...
Python

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

11日目のゴールとテーマ11日目のテーマは「クラスとオブジェクトで“自分だけの型”を作る」です。ここまで、辞書とリストを組み合わせて、かなり複雑なデータも扱えるようになりました。でも、そろそろこう感じ...
Python

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

10日目のゴールとテーマ10日目のテーマは「メニュー付きの“ちゃんとしたコンソールアプリ”を組み立てる」です。ここまでで、関数・リスト・辞書・ファイル・例外・標準ライブラリと、かなりのパーツを学んでき...
Python

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

9日目のゴールとテーマ9日目のテーマは「標準ライブラリを使って“道具箱”を広げる」です。ここまでで、Pythonそのものの文法や、リスト・辞書・関数・ファイル・エラー処理といった“土台”はかなりできて...
Python

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

8日目のゴールとテーマ8日目のテーマは「エラーとちゃんと付き合える“丈夫なアプリ”にする」です。ここまでで、かなりいろいろなことができるようになりましたが、まだ弱いところがあります。それは「想定外の入...
Python

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

7日目のゴールとテーマ7日目のテーマは「アプリのデータを“ファイルに保存して残す”」です。ここまで作ってきた名簿やお会計、貯金シミュレーターは、プログラムを終了すると全部消えていました。今日はここに一...
Python

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

6日目のゴールとテーマ6日目のテーマは 「関数でコードに“名前をつけて整理する”」 です。ここまでで、if・for・while・リスト・辞書を使って、けっこう本格的な処理が書けるようになりました。でも...
Python

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

5日目のゴールとテーマ5日目のテーマは 「複数の情報を“ひとまとめ”にして扱う」 です。昨日は「複数人の名前」をリストで扱いましたよね。今日はさらに一歩進んで、1人分の情報を「セット」で扱うそのセット...
Python

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

4日目のゴールとテーマ4日目のテーマは「複数のデータを“まとめて扱う”力を手に入れる」です。ここまでで、1つの値(1人の年齢、1つの金額)を扱うことはできるようになりました。今日はそこから一歩進んで、...
Python

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

3日目のゴールとテーマ3日目のテーマは「同じことを“くり返す”力を手に入れる」です。昨日までは、「1回だけの処理」や「条件で分かれる処理」でした。今日はそこに、同じ処理を何回も自動でくり返す「何回くり...
Python

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

2日目のゴールとテーマ2日目のテーマは「条件によって“分かれ道”を作る」です。昨日までは、上から順番に“全部”実行されるだけでした。今日はそこに、「もし〜なら、こうする」「そうでなければ、こっちをする...
Python

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

1日目のゴールとテーマ1日目のテーマは「Pythonで“コンピュータに命令する感覚”をつかむ」です。今日はまだ難しいことはやりません。Pythonを動かす環境をイメージするprint でコンピュータに...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 範囲取得

範囲取得は「Excelの表から必要な部分だけを抜き出し、Pythonで自由に加工する」ための超重要スキルExcel業務自動化では、セルの範囲を取得することが非常に多く登場します。なぜなら、業務で扱うデ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 列削除

列削除は「不要な列を取り除き、Excelデータをスリムで扱いやすくする」ための基本操作Excel業務自動化では、列を削除する処理が非常に多く登場します。例えば次のような場面です。不要な項目(メモ欄・備...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 行削除

行削除は「不要なデータ行を自動で取り除き、Excelをクリーンで扱いやすい状態に保つ」ための基本操作Excel業務自動化では、行を削除する処理が非常に多く登場します。例えば次のような場面です。空行を削...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 列追加

列追加は「Excelの表に新しい列を自動で挿入し、計算列・フラグ列・補助列を作る」ための重要テクニックExcel業務自動化では、列を追加する処理が非常に多く登場します。例えば次のような場面です。売上デ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 行追加

行追加は「Excelの表に新しいデータ行を自動で追加し、ログ・明細・履歴を蓄積する」ための超重要テクニックExcel業務自動化では、行を追加する処理が非常に多く登場します。例えば次のような場面です。日...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:不正文字除去

ゴールのイメージをそろえる今回のテーマは「Power Query で“データの中に紛れ込んだ不正文字・余計な文字をきれいに取り除く”実務テンプレ」を身につけることです。ここでいう「不正文字」は、制御文...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:空白を NULL に統一

ゴールのイメージをそろえる今回のテーマは「Power Query で“空白("" や スペースだけの文字列)を NULL に統一する”実務テンプレ」を身につけることです。さっきの「NULL を空白に統...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:NULL を空白に統一

ゴールのイメージをそろえる今回のテーマは「Power Query で NULL(空値)を空白文字に統一する 実務テンプレ」です。NULL が混ざっていると、次のようなトラブルが起きやすくなります。結合...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:全角→半角変換

ゴールのイメージをそろえる今回のテーマは「Power Query で“全角の英数字・カナ・記号などを半角にそろえる”実務テンプレ」を身につけることです。目的はシンプルで、「見た目は同じなのに、全角と半...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:全列トリム(前後空白除去)

ゴールのイメージをそろえる今回のテーマは「Power Query で“全ての列の前後の空白(スペース)を一括で削る”実務テンプレ」を身につけることです。目指すのは、「どの列に空白が紛れ込んでいても、と...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:SharePointフォルダ自動取込

ゴールのイメージをそろえる今回のテーマは「SharePoint 上のフォルダに置かれたファイルを、Power Query で“ローカルフォルダと同じ感覚で自動取込・更新できるようにする実務テンプレ”」...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:Web上CSV自動取込

ゴールのイメージをそろえる今回のテーマは「Web 上に公開されている CSV ファイルを、Power Query で“自動で取り込み・更新できる状態”にする実務テンプレ」です。ローカルのフォルダではな...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:取込失敗ログ作成

ゴールのイメージをそろえる今回のテーマは「Power Query でフォルダ一括取込をしたときに、“うまく読めなかったファイルだけを一覧にした『取込失敗ログ』クエリを作る実務テンプレ」を身につけること...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:ファイル名日付で抽出

ゴールのイメージをそろえる今回のテーマは「ファイル名の中に埋め込まれた日付(例:売上_2024-10-01.csv)を Power Query で読み取り、その日付を使って“欲しい期間だけ抽出する”実...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:最古ファイルのみ取得

ゴールのイメージをそろえる今回のテーマは「フォルダの中に同じ形式のファイルがたくさんあっても、“一番古いファイルだけ”を Power Query で自動的に選んで取り込む実務テンプレ」を身につけること...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:最新ファイルのみ取得

ゴールのイメージをそろえる今回のテーマは「フォルダの中に同じ形式のファイルがたくさんあっても、“一番新しいファイルだけ”を Power Query で自動的に選んで取り込む実務テンプレ」を身につけるこ...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:拡張子別に取込制御

ゴールのイメージをそろえる今回のテーマは「フォルダの中にいろんな種類のファイル(.csv, .xlsx, .txt など)が混ざっていても、“拡張子ごとに取込を制御できる実務テンプレ”を身につけること...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:読み取り専用ファイル対応

ゴールのイメージをそろえる今回のテーマは「読み取り専用になっているファイル(ロック中・共有フォルダ・OneDrive など)を、Power Query で安定して読み込む“実務テンプレ”を理解すること...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:壊れたファイルを自動スキップ

ゴールのイメージをそろえる今回のテーマは「フォルダ内の複数ファイルを一括取込するときに、“壊れているファイル”だけを自動でスキップして、クエリ全体を止めない実務テンプレ」です。壊れたファイルが1つ混ざ...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:空ファイルを自動除外

ゴールのイメージをそろえる今回のテーマは「フォルダ内の複数ファイルを一括取込するときに、“中身が空のファイル”だけを自動で除外する実務テンプレ」です。現場だと、こんなことがよく起きます。フォルダに「ま...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:更新日時を自動列追加

ゴールのイメージをそろえる今回のテーマは「Power Query でデータを取り込むたびに、“いつ更新したか”を自動で列として残す実務テンプレ」です。つまり、最終テーブルの1列として「更新日時」や「更...
Power Query M Formula Language

Power Query 実務テンプレ | データ取込・更新系:ファイル名を列として追加

ゴールのイメージを先にそろえる今回のテーマは「Power Query で取り込んだデータに、“元ファイル名”を列として追加する実務テンプレ」です。フォルダ内の複数 CSV / Excel を一括取込す...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - ClearContents

ClearContents は「セルの“中身だけ”を消すための、とても安全な消しゴム」まず一番大事なイメージから。ClearContents は「セル(Range)の“中身だけ”を消すメソッドです。中...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Clear

Clear は「セルの中身や設定を“まっさらにする”ためのメソッド」まずイメージから。Clear は「セル(Range)に対して、“いろいろ付いているもの”をまとめて消す命令」です。Range は「場...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Formula

Formula は「セルに入っている“数式そのもの”を読み書きするプロパティ」まずイメージから。Value が「セルの中身(結果の値)」だとしたら、Formula は「セルに入っている数式そのもの(=...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Value

Value は「セルや範囲の“中身そのもの”を表すプロパティ」まず一番大事なイメージから。Value は「セル(Range)の中身そのもの」 を表すプロパティです。Range は「場所」Value は...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Resize

Resize は「基準のセル範囲の“縦横サイズ”だけを変えるための道具」Resize は、ある Range(セル範囲)を「基準」にして、その位置はそのままに、“高さ(行数)”と“幅(列数)”だけを変更...
JavaScript

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

14日目のゴールとテーマ14日目のテーマは「この2週間で身につけた“武器”を言語化して、自分のものにする」です。今日は新しい大きなアプリは作りません。代わりに、自分がもうできるようになっていることを整...
JavaScript

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

13日目のゴールとテーマ13日目のテーマは「自分で“ゼロから”ミニアプリを設計して作る」です。ここまで、名簿アプリ・タスクアプリ・名言アプリと、僕が用意した“お題”に沿って作ってきました。今日は一歩進...
JavaScript

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

12日目のゴールとテーマ12日目のテーマは「外部データを“取ってきて使う”体験をする」です。ここまでで、ブラウザの中だけで完結するアプリ(名簿・タスク)を作ってきました。今日は一歩外に出て、外部サービ...
JavaScript

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

11日目のゴールとテーマ11日目のテーマは「コードを“人が読める文章”にする」です。ここまでで、あなたはもう「動くアプリ」を作れるようになっています。今日からは一歩進んで、コードをファイルごとに分ける...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル値書き込み

セル値書き込みは「Excelの特定セルにPythonから値を入れ、レポートや帳票を自動生成する」ための最重要スキルExcel業務自動化の中でも セルに値を書き込むことは、ほぼすべての自動化処理の中心に...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - セル値取得

セル値取得は「Excelの特定セルから値を読み取り、Pythonで自由に扱える形にする」ための基本操作Excel業務自動化の中でも セルの値を取得することは最も重要な基礎です。なぜなら、どんな自動化で...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - シート名変更

シート名変更は「Excelのシートをわかりやすく整理し、業務フローに合わせた構造に整える」ための基本操作Excel業務自動化では、シート名を変更するという作業が非常に重要です。なぜなら、シート名が適切...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - シートコピー

シートコピーは「既存のシートをテンプレートとして複製し、同じ構造のシートを量産する」ための超重要テクニックExcel業務自動化では、同じレイアウトのシートを複数作りたいという場面が非常に多いです。例え...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - シート削除

シート削除は「不要なシートを自動で取り除き、Excelを整理する」ための基本操作Excel業務自動化では、不要なシートを削除してスッキリした構造に整えることがよくあります。例えば次のような場面です。テ...
JavaScript

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

10日目のゴールとテーマ10日目のテーマは「同じことを何度も書かないための“関数化”と、コードの整理(リファクタリング)」です。ここまでで、名簿アプリ・タスクアプリを通して、かなり“動くコード”を書い...
JavaScript

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

9日目のゴールとテーマ9日目のテーマは「タスク管理アプリを“実用レベル”に近づける」です。8日目で「追加・完了切替・削除」ができる ToDo アプリができました。今日はそこに、未完了だけ表示する完了タ...
JavaScript

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

8日目のゴールとテーマ8日目のテーマは「タスク管理アプリ(ToDoリスト)の“ちゃんと動く形”を作る」です。これまでの名簿アプリで学んだことを、別テーマのアプリに“移植”していきます。タスクを追加する...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - シート追加

シート追加は「Excelに新しいシートを自動で作り、業務用の構造を整える」ための基本操作Excel業務自動化では、新しいシートを追加してデータを書き込むという作業が非常に多く発生します。例えば次のよう...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - シート取得

シート取得は「Excelのどのシートを扱うかを正確に指定する」ための最重要ステップExcel業務自動化では、「どのシートを読み込むか」 を正しく指定できるかどうかが、後続の処理(読み込み・書き込み・集...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel新規作成

Excel新規作成は「Pythonで空のExcelを作り、自由にデータを書き込める状態にする」ための最初のステップExcel業務自動化の入口は “Excelファイルを新しく作ること” です。ここを押さ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel書き込み

Excel書き込みは「PythonでExcelにデータを出力し、レポートや集計結果を自動生成する」ための最重要スキルExcel業務自動化の本番は “書き込み” です。読み込みだけでは自動化は半分。書き...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel読み込み

Excel読み込みは「ExcelデータをPythonで扱える形に変換する」ための最初の一歩Excel業務自動化の入口は ExcelファイルをPythonで読み込むこと です。読み込んでしまえば、あとは...
Java

Java Tips | コレクション:集合演算

「集合演算」は“重複なしの集まり”同士を比べる道具Java の Set は、「重複を許さない集まり」です。HashSet や LinkedHashSet、TreeSet などが代表ですね。業務では、「...
Java

Java Tips | コレクション:BiMap実装

BiMap は「キーと値の両方から引ける Map」普通の Map<K, V> は「キー → 値」の片方向だけです。でも業務では、「値からも逆引きしたい」場面がよく出てきます。HTTPステータスコード ...
Java

Java Tips | コレクション:MultiMap実装

MultiMap は「1つのキーに“複数の値”をぶら下げる Map」普通の Map<K, V> は「キー1つにつき値1つ」です。でも業務では、「キー1つに対して値が複数ある」場面がよく出てきます。部署...
Java

Java Tips | コレクション:PriorityQueue利用

PriorityQueue は「優先度の高いものから順に取り出せるキュー」PriorityQueue は、普通のキューと違って「入れた順」ではなく「優先度の高い順(または小さい順)」で取り出せるキュー...
Java

Java Tips | コレクション:Stack代替

「Stack代替」は“古い Stack を捨てて、Deque に乗り換える”という発想Java には java.util.Stack というクラスがありますが、今の実務では 「Stack は使わず、D...
Java

Java Tips | コレクション:Deque操作

Deque は「両端から出し入れできるキュー」Deque(デック)は “Double Ended Queue” の略で、「先頭」と「末尾」の両方から要素を出し入れできるコレクションです。普通のキューは...
Java

Java Tips | コレクション:CopyOnWrite利用

CopyOnWrite は「書き込みのたびに“丸ごとコピー”して安全を買う」仕組みCopyOnWrite 系コレクション(CopyOnWriteArrayList / CopyOnWriteArray...
Java

Java Tips | コレクション:同期ラッパー

同期ラッパーは「既存のコレクションを“とりあえず安全にする”ための包み紙」同期ラッパー(synchronized wrapper)は、Collections.synchronizedList や Co...
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 業務自動化 | ファイル・フォルダ自動化:基本操作 - 重複ファイル検出

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

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - z-index設計

z-index は「どのレイヤーが手前に来るか」を決める番号z-index は、要素の「前後関係(レイヤーの順番)」を数字でコントロールするためのプロパティです。値が大きいほど手前、小さいほど奥に表示...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - position: sticky

position: sticky は「スクロールにくっつく、途中まで普通の要素」position: sticky は「最初は普通に流れの中にいるけど、ある位置までスクロールされたら、そこからは固定され...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - position: fixed

position: fixed は「画面に貼り付けて、スクロールしても動かさない」position: fixed は、要素を「画面(ビューポート)」に固定するためのプロパティです。スクロールしても、そ...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - position: absolute

position: absolute は「レイアウトの流れから抜けて、好きな場所に貼り付ける」position: absolute は、普通の要素と違って「文書の流れ(通常フロー)」から外れます。その...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - position: relative

position: relative は「その場にいながら、ちょっとだけズラす&基準点になる」ものposition: relative は、ざっくり言うと普段どおりその場所に配置されるそこから top...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - レスポンシブカラム

レスポンシブカラムのゴールをまずイメージするレスポンシブカラムは、ざっくり言うとこういう動きです。スマホ:1カラム(縦一列)タブレット:2カラムPC:3〜4カラム「画面幅に応じてカラム数が変わるカード...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - 固定+可変レイアウト

「固定+可変レイアウト」とは何かをまずイメージで掴む固定+可変レイアウトは、片方(または一部)の幅を「固定」、残りを「可変」にするレイアウトです。代表的な例はこうです。左:サイドバー 240px 固定...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - repeat関数

repeat 関数を理解すると「同じパターンのカラム・行」が一瞬で書けるrepeat() は CSS Grid 専用の関数で、「同じ定義を何回も書くのを省略するためのショートカット」 です。grid-...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - auto-fill / auto-fit

auto-fill / auto-fit を理解すると「カードが自動で詰まるグリッド」が作れるGrid の auto-fill と auto-fit は、「画面幅に応じてカードの数を自動で増減させたい...
CSS

CSS Tips | 超実務コアCSSテクニック:レイアウト基礎 - grid-template-areas

grid-template-areas を使うと「レイアウトの設計図」をそのまま CSS に書けるGrid の中でも grid-template-areas は、複雑なレイアウトを“文字で描く”ように...
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 業務自動化 | ファイル・フォルダ自動化:基本操作 - フォルダサイズ計算

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

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

空フォルダ削除は「不要な作業ディレクトリを自動で掃除する」ための基本操作業務自動化では、処理の途中で一時フォルダを作ったり、日付ごとにフォルダを生成したりすることがよくあります。しかし、処理が終わった...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ディスク容量取得

ディスク容量取得は「容量不足による業務停止」を防ぐための重要スキル業務自動化では、ディスク容量の監視が非常に重要です。「バックアップ前に空き容量を確認したい」「ログが増えすぎてサーバーが止まるのを防ぎ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル数カウント

ファイル数カウントは「フォルダの状態を把握する」ための基本操作業務自動化では、フォルダ内のファイル数を数える場面がとても多くあります。「未処理ファイルが何件あるか知りたい」「バックアップ対象のファイル...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 特定拡張子検索

特定拡張子検索は「必要なファイルだけを正確に抽出する」ための基本スキル業務自動化では、フォルダの中から 特定の拡張子だけを探す処理が非常に多く登場します。「CSV だけ処理したい」「画像ファイルだけ集...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - 再帰フォルダ検索

再帰フォルダ検索は「階層構造を丸ごと探索する」ための最重要テクニック業務自動化では、フォルダが1階層とは限りません。実際には、次のような階層構造が普通に存在します。project/ ├── data/...
Python

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

ファイル検索は「必要なファイルだけを正確に見つける」ための自動化の基礎業務自動化では、フォルダの中から「条件に合うファイルだけ」を探し出す処理が非常に多く登場します。「特定の拡張子だけ探したい」「名前...
Python

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

ファイル名一括変更は「大量ファイルを一瞬で整理する」ための最重要スキル業務自動化では、ファイル名を一括で整える場面が非常に多くあります。「日付を付けたい」「連番にしたい」「特定の文字列を置換したい」「...
Python

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

拡張子変更は「ファイル名操作」の基本であり業務自動化の入口拡張子変更は、業務自動化の中で非常に頻繁に登場します。「.txt を .csv に変換したい」「画像ファイルの拡張子を一括変更したい」「処理済...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル作成日時取得

「ファイル作成日時取得」は“いつ生まれたか”を知るための情報業務自動化をしていると、「このファイルはいつ作られたものか?」「古いファイルだけアーカイブしたい」「一定期間より前に作られたファイルを削除し...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル更新日時取得

「ファイル更新日時取得」は“最新データを見抜く”ための武器業務自動化をしていると、「どのファイルが一番新しいか知りたい」「最近更新されたファイルだけ処理したい」「古いファイルをアーカイブしたい」といっ...
Python

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

「ファイルサイズ取得」は“重さを意識した”業務自動化の入口業務自動化をしていると、「このファイル、どれくらいの容量があるんだろう?」「大きすぎるファイルはスキップしたい」「バックアップ前にサイズをログ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル存在確認

「ファイル存在確認」は業務自動化の“安全装置”業務自動化でファイルを扱うとき、最初に必ずやってほしいのが「そのファイル、本当にある?」という確認です。存在しないファイルを開こうとすると FileNot...
Python

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

Pythonで「フォルダ作成」を確実にマスターするフォルダ作成は、業務自動化の中でも最も基本でありながら、実務で非常に重要な操作です。「日付ごとのフォルダを自動生成する」「処理前に作業フォルダを作る」...
Python

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

Pythonで「フォルダ削除」を安全に扱うための完全ガイドフォルダ削除は、業務自動化の中でも特に慎重さが求められる操作です。「古いバックアップフォルダを定期的に削除する」「処理後の一時フォルダを掃除す...
Python

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

Pythonで「ファイル削除」を安全に扱うための基礎と実務テンプレートファイル削除は業務自動化の中でも特に慎重さが求められる操作です。「不要ファイルの定期削除」「処理後の一時ファイルの掃除」「エラーフ...
Python

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

Pythonで「ファイル移動」を完全に理解するファイル移動は、業務自動化の中でも特に使用頻度が高い操作です。「処理済みフォルダへ移動する」「エラーになったファイルだけ別フォルダに隔離する」「日付ごとに...
Python

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

Pythonで「ファイルコピー」を業務レベルで使いこなす業務自動化でファイルコピーは、ほぼ必ずと言っていいほど登場します。「毎日生成されるレポートをバックアップフォルダにコピーする」「特定の拡張子のフ...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - フォルダ一覧取得

Pythonで「フォルダ一覧取得」をマスターしようファイル一覧が取れるようになったら、次の一歩は「フォルダ(ディレクトリ)だけを一覧で取る」ことです。業務自動化では「このフォルダの直下にあるサブフォル...
Python

Python 業務自動化 | ファイル・フォルダ自動化:基本操作 - ファイル一覧取得

Pythonで「ファイル一覧取得」をマスターしようPythonで業務自動化をするとき、最初に覚えておくと圧倒的に便利なのが「フォルダの中身を一覧で取る」ことです。例えば「このフォルダにあるCSVを全部...
Python

Python | テスト・設計・品質:isort

isortって何?まずは役割を一言でつかむisort は、Python の import 文を自動で並び替えてくれるツールです。「import の順番なんてどうでもよくない?」と思うかもしれませんが、...
Python

Python | テスト・設計・品質:ruff

ruffって何?一言でいうと「超高速オールインワンLint&フォーマッタ」ruff は、Python のコードをチェックするための「超高速リンター兼フォーマッタ」です。flake8 や isort、部...
Python

Python | テスト・設計・品質:black

blackって何?一言でいうと「コード自動整形マシーン」black は、Python のコードを「自動できれいな形に整えてくれるフォーマッタ」です。flake8 が「ここおかしいよ」と指摘する先生だと...
Python

Python | テスト・設計・品質:flake8

flake8 って何?一言でいうと「コードの赤ペン先生」flake8 は、Python のコードを自動でチェックしてくれる「リンター(Linter)」です。「文法的には動くけど、読みづらい・バグの元に...
Python

Python | テスト・設計・品質:コードレビュー

コードレビューって何?まずは目的からはっきりさせるコードレビューは、「他の人(または未来の自分)が、あなたの書いたコードを読んで、気づいたことをフィードバックするプロセス」です。バグを見つけるため読み...
Python

Python自動化ライブラリ100選

Pythonの自動化で実務に使われるライブラリを、用途別に整理した一覧表としてまとめます。ファイル・システム操作Noライブラリ主な用途1osファイル・フォルダ操作2pathlibパス操作3shutil...
Java

Java Tips | コレクション:固定長キュー

固定長キューは「常に“最後のN件だけ”を覚えておく箱」固定長キューは、「新しいものをどんどん入れるけれど、サイズは最大N件まで」「あふれたら“一番古いもの”から自動的に捨てる」というルールを持ったキュ...
Java

Java Tips | コレクション:LRUキャッシュ

LRUキャッシュは「よく使うものだけを手元に置き、古いものから捨てる」箱業務システムでは、「毎回DBに取りに行くのは重いけど、全部メモリに載せるのもキツい」みたいな場面がよく出てきます。そこで出てくる...
スポンサーリンク
タイトルとURLをコピーしました