アーカイブ 2023

75 件の記事

プログラマー脳
アプリケーション 2023-06-26

プログラマー脳

『プログラマー脳』の書評。認知科学のアプローチを用いて、コーディングという創造的なプロセスを科学する一冊。コードを速く正確に読み書きできる人の頭の中で何が起きているのかを解き明かし、記憶や学習の仕組みから、プログラミング力の根っこを鍛えるヒントを与えてくれる。

#認知科学#書評#コードリーディング
カウントソートの実装|O(n+k)の整列をGoで
アルゴリズムとデータ構造 2023-06-24

カウントソートの実装|O(n+k)の整列をGoで

比較を使わずにソートするカウントソートを、実装を通じて学ぶ記事。要素をカウントして累積和を求めることで線形時間O(n)を実現する仕組みを、Goでの実装例とともに、その数学的な考え方から解説する。

#アルゴリズム
プログラミング脳をこれから鍛える本
アプリケーション 2023-06-24

プログラミング脳をこれから鍛える本

『プログラミング脳をこれから鍛える本』の書評。算数を題材に、プログラミングにつながる思考法をトレーニングする一冊。内容は平易で、これからプログラミング的な考え方に触れる人の入口に向く。大人には物足りない場合もあるが、思考の基礎を確かめられる。

#ロジカルシンキング#書評
バックトラッキングの実装
アルゴリズムとデータ構造 2023-06-23

バックトラッキングの実装

バックトラッキングアルゴリズムを実装で学ぶ。制約満たし探索、重複なし組み合わせ、再帰処理、木構造による考え方でGoの実装例から理解を深める実践ガイドです。

#アルゴリズム
Goで始めるコードのパフォーマンス改善
パフォーマンス 2023-06-12

Goで始めるコードのパフォーマンス改善

Goのパフォーマンス改善の実践。pprofによるプロファイリング、ベンチマーク、エスケープ解析、メモリアロケーション削減を、自作HTTPルーターの最適化事例とともに解説します。

#Golang
MySQLのトランザクション分離レベル:ダーティリード・ファントムリードを防ぐ
データベース 2023-06-08

MySQLのトランザクション分離レベル:ダーティリード・ファントムリードを防ぐ

MySQL のトランザクション分離レベルを解説。ダーティリード・ノンリピータブルリード・ファントムリードと、それぞれを防ぐ設定方法を学べます。

#トランザクション#MySQL
Githubでレジュメを管理するようにした
キャリア 2023-06-07

Githubでレジュメを管理するようにした

これまでGoogle Driveで管理していたレジュメを、GitHubで管理するように切り替えた経緯とその方法を紹介します。ここでいうレジュメとは、自分のキャリアの情報をテキストベースでまとめたものを指します。個人的に良い取り組みだったので記事にしました。

#Git#GitHub#レジュメ
Google Cloud認定 Associate Cloud Engineer 合格体験記|勉強法
インフラストラクチャ 2023-06-07

Google Cloud認定 Associate Cloud Engineer 合格体験記|勉強法

Google Cloud認定アソシエイトクラウドエンジニア試験を受験し合格したので、再受験や別の試験に備えて勉強の過程を振り返った記事です。ソフトウェアエンジニアとしての経験やGCPの利用歴を前提に、実践した学習方法や受験しての所感をまとめます。

#Google Cloud Platform
Road to ISUcon
アーキテクチャ 2023-06-07

Road to ISUcon

ISUCONへの初出場に向けて準備したことを記した記事です。予選の時間を目一杯使ってチューニングに取り組む、という現実的な目標を立てるところから、初参戦に向けてどのような準備や心構えをしていったのかを、目標・目的の設定とあわせて紹介します。

#パフォーマンスチューニング#ISUCON#ISUCON8
トランザクション概観
データベース 2023-06-07

トランザクション概観

データベースのトランザクションの基礎について解説する記事です。データを正しく保つための手法であるトランザクションを、多数のクライアントから同時アクセスが発生する状況などを念頭に、ACID特性や並行性制御、分離レベルといったデータ整合性を支える仕組みとあわせて紹介します。

#トランザクション
コンテナ技術とは?DockerとOCIコンテナの仕組みを解説
インフラストラクチャ 2023-06-05

コンテナ技術とは?DockerとOCIコンテナの仕組みを解説

コンテナ技術の仕組みを解説。namespace・cgroup・OCI 標準がどのように機能するか、なぜコンテナが現代のアプリケーションデプロイに不可欠かを学べます。

#Docker#libcontainer#lxc#lxd#コンテナ
キャッシュの書き込み方式
インフラストラクチャ 2023-06-03

キャッシュの書き込み方式

キャッシュの3つの書き込み方式を解説。Write-Through(同期書き込み)、Write-Back(後でフラッシュ)、Write-Around(キャッシュを迂回)の違いを紹介します。

#キャッシュ
デプロイ戦略を解説:ブルーグリーン・カナリア・ローリング等の比較
アプリケーション 2023-06-03

デプロイ戦略を解説:ブルーグリーン・カナリア・ローリング等の比較

ブルーグリーン・カナリア・ローリング・リクリエイトといった代表的なデプロイ戦略を比較します。デプロイ・リリース・ロールバックの定義を整理したうえで、それぞれの仕組みと長所短所、ダウンタイムを最小化するための選び方と使い分けを解説します。

#デプロイ
フォワードプロキシ vs リバースプロキシ vs APIゲートウェイ:わかりやすい比較
インフラストラクチャ 2023-06-03

フォワードプロキシ vs リバースプロキシ vs APIゲートウェイ:わかりやすい比較

フォワードプロキシ・リバースプロキシ・APIゲートウェイの違いをわかりやすく比較した記事です。クライアントとサーバーの間に配置して通信を中継するそれぞれのサーバーが、どのような役割を持ち、どんなユースケースで使われるのかを整理して解説します。

#フォワードプロキシ#リバースプロキシ#ゲートウェイ
シャーディング vs パーティショニング:違いと使い分け
データベース 2023-06-03

シャーディング vs パーティショニング:違いと使い分け

ときどきどちらがどちらか混乱してしまうシャーディングとパーティショニングの違いについて、メモとしてまとめた記事です。水平分割と垂直分割の使い分けや、データを複数に分けることでスケールさせるデータベースのスケーリング戦略を、両者を対比しながら整理します。

#パーティショニング#シャーディング
GCPについての覚え書き
インフラストラクチャ 2023-05-22

GCPについての覚え書き

Google Cloud認定アソシエイトクラウドエンジニア試験に向けた学習の際にまとめた、雑多な覚え書きです。責任共有モデルや最小権限の原則といった考え方から、Google Cloudの各種サービスの要点までを整理した個人用のメモです。

#Google Cloud Platform
ライト、ついてますか 問題発見の人間学
ビジネス 2023-05-19

ライト、ついてますか 問題発見の人間学

『ライト、ついてますか 問題発見の人間学』の書評。「問題は解くことより見つけることが難しい」という核心を、印象的なエピソードを通じて説く名著。当たり前のようでいて忘れがちな、正しい問題を見極めることの大切さに気づかせてくれる。

#ロジカルシンキング#書評
ユニコーン企業のひみつ ―Spotifyで学んだソフトウェアづくりと働き方
マネジメント 2023-05-19

ユニコーン企業のひみつ ―Spotifyで学んだソフトウェアづくりと働き方

『ユニコーン企業のひみつ ―Spotifyで学んだソフトウェアづくりと働き方』の書評。ユニコーン企業の組織論や文化を、Spotifyでの経験をもとに学べる一冊。方法論そのものより、方法論を問わず成長性を支える文化や資質とは何かが主題で、スクラムを超えた先を考えさせてくれる。

#書評#ユニコーン#スクラム
PyroscopeでContinuous Profiling
アプリケーション 2023-05-07

PyroscopeでContinuous Profiling

Pyroscopeを使った継続的プロファイリングを解説。サーバー構築、pull型プロファイリング、保持期間の設定、Grafana連携の方法を紹介します。

#プロファイリング
ファイルシステムの容量不足によるサービスダウン
障害報告 2023-05-07

ファイルシステムの容量不足によるサービスダウン

自身のブログでファイルシステムの容量不足が原因でサービスダウンが発生した際の、調査と対処の記録です。2023年初めに500エラーが返るようになった事象を題材に、Dockerのログの肥大化によってディスクを圧迫していた原因の特定から、容量の管理・復旧までを解説します。

#ポストモーテム