保存版!プログラミング英単語リファレンス大全
この記事は、プログラミングにおける英語の単語・句・略語の包括的なリファレンス集です。動詞、名詞、形容詞、略語、慣用句、命名規則、コミュニケーション表現(コードレビュー、技術ドキュメント、GitHubでのやり取り)、技術領域別用語(データベース、アプリケーション開発、インフラストラクチャ、AI/機械学習、クラウド/DevOps、DDD)などを網羅し、美しいコードの作成とチーム開発効率の向上を目指しています。初心者から上級者まで、あらゆる開発者にとって役立つ実践的な内容となっています。
久々にVimを触れてみた:キーボード操作の楽しさを再発見
この記事は、テキストエディタVimの概要と使い方を紹介するテックブログ記事です。VimはUnix系OSで動作するCLIベースの高機能エディタで、ノーマルモード、インサートモード、ビジュアルモード、コマンドモードの4つのモードを切り替えて操作します。キーボードのみで操作できるため、ホームポジションを崩さず、慣れれば編集速度が速いというメリットがありますが、コマンドやショートカットの習得に時間がかかるというデメリットもあります。記事ではVSCodeへのVim拡張機能のインストール方法や基本操作、vimrc
ファイルによるカスタマイズ方法、日本語入力支援ツールim-select
、Webブラウザ操作拡張機能Vimium
も紹介しています。Vim初心者から、久しぶりに使ってみようと考えているユーザーに向けて、Vimの利点と使い方を分かりやすく解説しています。
2024年版 Python標準ライブラリ完全網羅ガイド
この記事は、Python標準ライブラリのテキスト処理、バイナリデータ処理、データ型、数値・数学、関数型プログラミング、ファイルアクセス、データ永続化、データ圧縮・アーカイブ、ファイルフォーマット、暗号、OSサービス、並行処理、ネットワーク通信、インターネットデータ操作、マルチメディア、国際化、GUIプログラミング、開発ツールの各モジュールを網羅的に解説したものです。各モジュールの主な機能と利用例が、コード例とともに詳細に説明されています。 特に、標準ライブラリで十分な機能が提供されているにも関わらず、サードパーティライブラリや独自実装に頼りがちな開発者にとって、有用なリファレンスとなることを意図しています。
Golang とgo-glを使用して簡単なBaag-Chalゲームの実装してみました。
この記事は、Golangとgo-glライブラリを用いてネパールの伝統的なボードゲーム「Baag-Chal(バーグチャル)」をOpenGLで実装する方法を解説したテックブログです。5x5マスのボード上で4匹の虎と20匹の山羊が対戦し、虎は山羊を捕獲、山羊は虎の移動を阻止することを目指します。記事ではゲームのルール、必要な環境、コード構成(GLFWとOpenGLを用いたレンダリング、ゲームロジック、イベント処理)、そしてサンプルコードの一部が示されています。 完成したゲームは、マウス操作で山羊の配置と虎の移動を行い、視覚的にゲーム進行を確認できます。
Visual Studio Codeに入れるべき拡張機能【2024年最新版】
この記事は、Visual Studio Code (VSCode) の便利な拡張機能を多数紹介するテックブログ記事です。日本語化、コード整形、インデント強調表示、コード補完、Git統合、リモート開発、AIアシストなど、様々なカテゴリの拡張機能とその機能、インストール数、評価を提示しています。フロントエンド、バックエンド開発向けの機能や、テーマ・アイコン変更機能なども紹介され、快適なコーディング環境構築のための情報を網羅的に提供しています。
Japan AWS Top Engineersのクライテリア、2024と2025の違いを勝手に分析してみる
この記事は、AWS Japanが主催する「Japan AWS Top Engineers」表彰制度の2025年度選考基準を、2024年度、2023年度と比較分析したものです。2025年度の主な変更点は、専門領域の再編(Networking、Security、AI/ML Data Engineerの3つに集約)、技術的難易度の向上(Level 300以上が求められる)、応募方法の変更(複数カテゴリー応募は別々の応募フォームが必要)、AWSビジネス拡大への貢献度の重視です。 全体として、「質の高いアウトプット」が重視されており、単なる活動量ではなく、技術的深みとAWSビジネスへの貢献が評価基準として強化されていることがわかります。 著者は、2024年度受賞者の経験に基づき、具体的な応募方法には触れず、基準の変化と、その背景にあるAWSの戦略的変化を解説しています。
初めてスクラムチームに入る時に心がけたいこと4選🔰
この記事は、新卒アプリケーションエンジニアがスクラム開発チームに配属されてからの5ヶ月間の経験に基づき、スクラム開発にスムーズに馴染むための4つのポイントを紹介している。
要約:
- タイムボックスの意識: 日々の生活でもタイムボックスを意識し、タスクの細分化と時間計測の練習をすることで、スクラム開発特有の厳密な時間管理に早く適応できる。
- リファインメントでの正直なポイント算出: ポイントの見積もりで周りの意見を恐れず、自分の意見を述べ、そのずれから生まれる議論を活かすことが重要。不明点は事前に確認する準備も必要。
- レトロスペクティブでの積極的な意見表明: 些細な意見でも積極的に発言することで、チームの改善に貢献できる。
- スクラムの理念を理解する: ルール遵守に固執せず、スクラムの理念を定期的に確認し、目的を見失わないようにする。
要約した内容の身:
この記事は、筆者の個人的な経験に基づいた実践的なアドバイスを提供している。 スクラム開発の初心者にとって、時間管理、見積もり、意見表明、そしてスクラムの理念理解といった具体的な課題と、それに対する効果的な対処法を示している点が、他のスクラムに関する記事と比べて大きな価値を持つと言える。 経験に基づいた率直な記述は、読者に親近感を与え、実践へのモチベーションを高める効果があるだろう。
聖なる夜のプレゼントに困っているすべての人に手助けを
このテックブログ記事は、Amazon Bedrockを用いて子供のクリスマスプレゼントを提案するシステムを構築した過程を記述している。Lambda関数とBedrock(Titan Text G1-PremierとTitan Image Generator-v2)を用い、子供の年齢、性別、性格、贈る人の情報を入力パラメータとして、プレゼント候補をテキスト生成し、候補ごとに画像を生成してS3に保存するシステムを構築した。しかし、初回の実行では贈る人の情報が不足していたため適切な提案ができず、2回目の実行では改善が見られたものの、依然として改善の余地があることを結論付けている。ソースコードも公開されている。
Flaskで爆速プロジェクトスタート!Next.jsやNestJS風のテンプレート生成ライブラリを自作してみた
この記事は、Flaskプロジェクトの初期セットアップを自動化するコマンドラインツールflask-gen
を作成し、PyPIに公開した過程を説明しています。flask-gen
は、プロジェクト作成、最小構成プロジェクト作成、ページ追加の3つのコマンドを提供し、Typerライブラリとuvプロジェクト管理ツールを使って開発されました。現在、一部のバグが残っていますが、今後の改善が予定されています。 著者は、コマンドツール作成とPyPIへの公開が容易であったことに驚き、今後も積極的にツール公開を行う意欲を示しています。
【随時更新】エンジニアがチェックすべきAwesomeリポジトリとPRの出し方、運用まで一挙紹介!
この記事は、GitHub上の「Awesomeリポジトリ」を紹介している。Awesomeリポジトリとは、特定テーマに関する優れたリソースをキュレーションしたリストをMarkdown形式で管理したリポジトリで、多くの分野で存在する。 この記事では、その探し方、活用方法(PRによる貢献)、作成方法、そしてlintツールまで解説している。 要するに、有用なリソースの宝庫であるAwesomeリポジトリの使い方と作成方法を網羅的に説明している記事である。
フフフ、ついに奥の手 javap を使う時が来たようだな・・・
本番環境のjarファイルのハッシュ値が、ライブラリ管理システム上のものと異なっていたため、稼働中のライブラリの整合性を確認する必要が生じた。jarファイルの展開とハッシュ値比較、さらに必要に応じてjavap
コマンドによる逆アセンブルとソースコードの比較によってデグレード箇所の特定を行うという手順で対処しようとした。最終的にはjavap
コマンドを使用する必要はなかったものの、同様の事態に遭遇した場合の対処法として、これらの方法が有効であることを示した。
スタートアップ→上場企業の取締役を務めたとあるエンジニアの13年間の学び
クラウドワークス取締役を13年間務めた著者が、その経験から得た学びをまとめた記事。創業期からのプログラミングに没頭した幸せな時間、マネジメント未経験による開発組織の混乱期、上場後の管理部門や社長室での経験、新規事業への挑戦などを振り返り、顧客理解の重要性、リーダーの課題設定、技術的負債の本質、法人と個人の類似点と相違点などを考察している。特に、「現実を直視する」「顧客のニーズを正確に捉える」ことの重要性、「課題解決」と「課題設定」というエンジニアとマネージャーの役割の違い、「技術的負債」は技術的な問題だけでなく、経営や事業戦略にも起因することを強調している。 最後に、仕事は目的、人生はプロセスであるという自身の考えを述べている。
AWS CLI、Terraformを試してみよう
このテックブログ記事は、AWS環境でTerraformを使い始める初心者向けに、AWS CLIとTerraformのインストール、設定、基本的な使用方法を解説している。AWS CLIのインストールと設定方法、Terraformのインストール、基本的な構文(プロバイダー、リソース、変数、出力、データソース、ローカル、モジュール、環境変数)、そしてterraform init
, terraform validate
, terraform plan
, terraform apply
, terraform destroy
といった基本コマンドの使い方を具体的に説明している。ローカル環境でのTerraformテスト方法に悩む初心者が対象読者である。
【図解解説/初心者OK】たった1時間でNext.jsで最新AIを使ったチャットアプリを作ろう【RAG/LangChain/OpenAI/TypeScript】
この記事は、RAG(Retrieval Augmented Generation)を用いた最新情報に対応可能なチャットボットの作り方を解説したテックブログです。ChatGPT等の既存モデルは学習データの期限があり最新情報に弱いため、RAGを使って外部データ(今回はWikipediaの2024年アニメ情報)をベクトル化し、Astra DBに保存、質問と類似するベクトルを検索し、ChatGPTにコンテキストとして渡して回答を得る仕組みを、Next.jsとTypeScriptを用いた実装例と共に詳細に説明しています。 具体的には、Wikipediaのスクレイピング、ベクトル化、Astra DBへの保存、Next.js APIによるChatGPTへの質問と回答生成、そしてTailwind CSSを用いたUIデザインの改善までをステップバイステップで解説しています。
React 初心者がハマりがちな罠とその回避法 7 選
この記事は、React開発における7つのよくあるアンチパターンと解決策を解説しています。具体的には、(1) stateの非同期更新による誤動作とその解決策(更新関数を使う)、(2) &&
演算子の左辺に数値を置いた際の意図しないレンダリングとその回避策(条件式の見直し)、(3) 複数のstateをオブジェクトにまとめて管理することでコードの簡素化、(4) 不要なuseEffect
の排除とレンダー内での計算、(5) カスタムフックによるコードの再利用、(6) クロージャによる状態の参照方法とsetInterval
の適切な扱い(clearInterval
によるキャンセル)、(7) AbortController
を使ったfetch
リクエストの中断によるデータ取得の最適化、をBad ExampleとGood Exampleを用いて説明しています。 初心者にとってありがちなミスとその改善策が具体例付きで示されているため、React開発の効率化と品質向上に役立つ内容です。
Gemini API + Cloudflare + Astro で作るアイスブレイクジェネレーター
この記事は、GoogleのGemini APIを用いてアイスブレイクの話題を生成するWebアプリケーションを開発した過程を説明しています。Astro, nanostores, Cloudflare Workersなどを活用し、生成された話題はクライアントサイドに保持され、重複を避ける仕組みも実装されています。最終的にCloudflare Workersへデプロイし、高機能でスケーラブルなアプリケーションが完成しました。ソースコードも公開されています。
CUEって何?
この記事は、データ構造定義と検証のための宣言型言語CUEを紹介する。CUEは、データ構造の宣言的定義、データ検証、バージョン管理、型推論と柔軟性を特徴とする。シンプルな記述方法で、デフォルト値の設定やデータの統合も可能。型と制約を一体化し、設定ファイルの複雑さの軽減と保守性の向上に役立つ。KubernetesやTerraformの制御などにも利用できるが、記事では具体的な例として簡単な人物データの定義と検証を示している。
Gitの概念とコマンド操作を学べるゲーム「Oh My Git!」を遊んでみた
この記事は、Git初心者向け学習教材としてOSSゲーム「Oh My Git!」を紹介している。Windows、Mac、Linuxに対応し、インストール不要でプレイできる。ゲーム形式でGitの基本操作(ブランチ、マージ、リセットなど)を学べる。各ステージでミッションが提示され、Gitコマンドカードをドラッグ&アンドロップで実行することで、リポジトリの状態変化とコマンドを視覚的に理解できる。クリア時間は2時間程度だが、初心者には3~4時間かかる可能性もある。英語のみ対応なのが難点。他に「Learn Git Branching」という学習コンテンツも紹介されている。
要約した内容の身:
Git初心者にとってGitの学習は難しいが、「Oh My Git!」というゲームを使うことで、視覚的にGitの操作を学ぶことができる。英語対応のみだが、Gitコマンドをゲーム形式で体験できるため、効率的に学習できる可能性がある。 他に「Learn Git Branching」といった代替手段も存在する。
社内勉強会を2.0にバージョンアップさせるために頑張ったこと
Schooのエンジニア組織は、学び合いの文化醸成のため、既存の勉強会をバージョンアップした「ナレッジ共有会」を企画・運営した。目的の曖昧化や参加者の負担軽減、巻き込み方などの課題を議論し、チーム発表、発表時間短縮、丁寧な情報提供などを工夫。第1回は34名参加、9名が発言し、活発な交流が行われた。 今後の改善点として、発表時間調整やアンケート実施などが挙げられている。
DuckDB Node Neo Client 試し撃ち
この記事は、MinIO (S3互換ストレージ)上のCSVデータをDuckDBとRemixを用いてWebブラウザ上にテーブル表示する手順を説明しています。Docker、Node.js、Remixの環境を前提に、MinIOコンテナにCSVファイルをアップロードし、DuckDBのNode.jsクライアントを使ってCSVデータを読み込み、Remixで表示するアプリケーションを作成します。BigIntのシリアライズ問題への対処も記述されています。最終的にDocker Composeで全体をコンテナ化する方法も示されています。
「写真の顔を隠したい」「でもちゃんと区別がつくようにしたい」を実現するアプリを作りました
この記事は、集合写真の顔部分を登録済みのアイコンで置き換えるアプリ「Face Swapper」の開発について記述している。Amazon Rekognitionで顔認識を行い、MiniMagickで画像加工、Rails 8とRender.comを用いて開発された。現状は開発者しかアイコン登録ができない限定的な機能だが、将来的にはユーザー登録機能を追加する予定である。処理速度が遅いなどの課題も抱えている。
原始、iPhoneは世界であった
この記事は、AndroidとiPhoneの違い、特にAndroidの方が柔軟な操作性を持つ点について論じています。著者はiPhoneユーザーでありながら、Androidの「右から左へのスワイプで戻る」「アプリライブラリ」「ウィジェット」「アイコン配置の間隔調整」といった機能の利便性を認めつつ、Appleがこれらの機能を長らく導入しなかったのは、「現実世界への忠実性」という哲学に基づいていたと推測する。具体的には、アプリを本に例え、アプリライブラリやウィジェットは「同じアプリの複数存在」や「本の改変」に相当し、現実世界では起こらないと主張。アイコン配置についても、本棚のように隙間なく並べるのが自然だと説明する。しかし、最終的にはAppleもこれらの機能を導入した点を、「スマホが世界に浸透し、Androidの機能が一般化されたため」と結論付けている。 要するに、Appleのデザイン哲学は現実世界の模倣に基づいており、その哲学の変遷が機能追加に反映されているという考察である。
2024年最新LLM技術まとめ|大規模言語モデルの研究動向とトレンド(随時更新予定)
この記事は、2024年の大規模言語モデル(LLM)に関する注目論文50本を、著者のsergicalsixが厳選して紹介するテックブログ記事である。 論文は、LLMの訓練手法、訓練データ、計算量削減、推論、RAG(検索強化型生成)、ロングコンテキスト、LLMに関する知見、エージェント、強化学習、応用事例の10分野に分類され、それぞれ複数の論文とその概要、場合によっては図表が示されている。 特にRAGとロングコンテキストに関する論文が多く紹介されている点が特徴である。 各論文は、arxivへのリンク付きで詳細に解説されている。
以下に、要約した内容の身を記述します。
主な内容: 2024年に発表されたLLM関連の注目論文50本超の概要紹介。 論文は、LLMの様々な側面(訓練、データ、効率化、推論、応用など)を網羅しており、特にRAGとロングコンテキストに関する研究が盛んに行われたことが示されている。各論文の概要とarxivへのリンクが提供され、詳細な理解を促す構成になっている。
【gifで解説!】サイトデザインが楽になるFigmaプラグイン5選
この記事は、Figmaのデザイン効率化に役立つ5つのプラグインを紹介している。
- Design Lint: デザインの一貫性をチェックし、スタイルの適用漏れや重複を検出する。スタイル変更時の影響確認にも有効。
- Contrast: 色のコントラスト比をチェックし、アクセシビリティを向上させる。WCAG基準に基づいている。
- Skew: オブジェクトやテキストを斜めに傾けることで、デザインに立体感や動きを付加する。
- Icons8 Background Remover: 画像の背景を簡単に透過処理する。
- html.to.design: WebサイトのデザインをFigmaに取り込む。レイアウトやスタイルを再現し、修正や改善を容易にする。(無料版は月10サイトまで)
特にDesign Lint
はスタイルの変更に伴う影響確認に非常に役立つと強調されている。 最後に、中身が同一のテキストスタイルを検出するプラグインの必要性も述べられている。
【GenU】RAGにS3バケットを追加する方法 - 権限設定でハマった話
AWSの生成AI活用アプリケーションGenUで、Retrieval Augmented Generation (RAG)にS3バケットを追加する際に発生する権限エラーとその解決策についての記事です。 エラーの原因は、2つのIAMロール(Bedrock用のRagKnowledgeBaseStack-KnowledgeBaseRole
とLambda用のGenerativeAiUseCasesStack-APIGetFileDownloadSignedU-...
)に、新規S3バケットへのアクセス権限が不足していることです。解決策は、それぞれのIAMロールにS3バケットへのs3:ListBucket
とs3:GetObject
権限を追加することです。記事では、具体的なIAMポリシーの修正内容と、各ステップでの動作確認方法を詳細に説明しています。
澤田先生と共に技術書典へ出展した話を振り返る
著者のMitsuo氏は、11月に開催された技術書典17に、先輩の澤田氏と共に「今さら聞けないAWSサービスのお話(CloudFront/Route53編)」という書籍を出展した。CloudFrontとRoute53の初心者向けハンズオンガイドで、AWSマネジメントコンソールでのWEBサーバ構築、IaC、Amazon Athenaによるログ分析などを解説している。技術書典出展の動機は、仕事として捉えがちな技術への興味を再燃させ、モチベーションを高めるため。イベントは盛況で、様々なエンジニアと交流し、書籍販売を通して大きな達成感と刺激を得た。 Terraformコードの提供が遅れていることを謝罪し、今後への意欲を示している。
AWS EC2インスタンスを全台停止させる用Lambda(Terraformコード付き)
このテックブログ記事は、EC2インスタンスの停止忘れによる課金問題を解決するため、EventBridgeとLambdaを用いたEC2全インスタンス自動停止システムの構築方法を説明しています。 Lambda関数は、EC2 APIを用いて実行中のインスタンスを検出し、停止します。EventBridge Schedulerは、Lambda関数を毎日指定時刻に実行します。 記事ではLambda関数コード、必要なIAMポリシー、そしてTerraformによるインフラ構築方法も提示しています。 ポイントは、インスタンスIDを個別に指定する必要がなく、全てのEC2インスタンスを自動で停止できる点です。
toioのおさんぽ
ITコンテスト「ヒーローズリーグ2024」にtoioを使った作品「toioのおさんぽ」を出展したチームの活動報告。ガジェットを用いた作品が高評価を得やすいという分析からtoioとMicro:bitを用いた自動走行ロボットによるジオラマ作品を制作。Unityとtoio SDKを用いて自由度の高い制御を実現。入賞は逃したものの、スクラム開発などの実践を通して技術力向上を図り、来年リベンジを目指す。
【TypeScript】初~中級者 12の機能とテクニック【リトアニアのクリスマス・イブ】
この記事は、リトアニアの伝統料理「クーチョス」になぞらえ、TypeScriptの12個の機能を解説したアドベントカレンダー記事です。リテラル型、constアサーション、satisfies演算子、ジェネリクス、keyof、typeof、Mapped Types、Utility Types、Index Signatures、Conditional Types、infer、Type Assertionといった機能を、それぞれ料理とその調理法、材料などに例えて分かりやすく説明しています。各機能の説明には、具体的なコード例と、リトアニア料理の画像が添えられています。 TypeScript初級者から中級者向けの内容です。
Next.jsでMarkdownを簡単に実装!react-markdown × TailwindCSSのコツを解説
このテックブログ記事は、Next.jsでreact-markdown
ライブラリを使ってMarkdownをレンダリングする方法を解説しています。remark-gfm
プラグインを用いてGitHub Flavored Markdownに対応し、Tailwind CSSを使用する際には@tailwindcss/typography
プラグインを追加することで、Markdownの適切な表示を実現する方法を説明しています。記事では具体的なコード例と、Tailwind CSSとの連携における注意点、解決策を提示しています。