アプリケーション

223 件の記事

goのspannerクライアントのReadOnlyTransactionでハマった
アプリケーション 2021-02-08

goのspannerクライアントのReadOnlyTransactionでハマった

GoのCloud Spannerクライアントで、ReadOnlyTransactionのtx.Close()漏れによるセッションプール枯渇を解消。トランザクションのライフサイクル管理とzaganeによる検出方法を解説します。

#Google Cloud Platform#Spanner#Tips
認証・認可の基本
アプリケーション 2020-11-05

認証・認可の基本

認証・認可の基本を再確認するためにまとめた記事。認証サービスの開発に携わるなかで、識別やRBAC・ABAC、資格情報の種類、シングルサインオン、SAML 2.0、OAuth 2.0、OpenID Connectといった基礎を、実務の文脈をふまえて整理する。

#FIDO#IAM#LDAP#OAuth#OpenIDConnect#SAML#SSO#認可#認証
Golangでインメモリなキャッシュを実装する
アプリケーション 2020-09-29

Golangでインメモリなキャッシュを実装する

軽量でシンプルなインメモリキャッシュがあれば十分だったため、Goで期限付きキャッシュを自前で実装してみた記録です。要件の整理から、sync.Mapを使った同時参照時の安全性の確保、期限切れデータのメモリ破棄の仕組みまでを設計・検証します。

#Golang#キャッシュ
Go CodeReviewCommentsのまとめ
アプリケーション 2020-09-15

Go CodeReviewCommentsのまとめ

Go公式のCodeReviewCommentsからコードレビューのベストプラクティスを厳選し、レシーバー型・エラーハンドリング・メモリ効率について解説。

#Golang#コードレビュー
JWTとは?安全なAPI認証のためのJSON Web Token解説
アプリケーション 2020-09-11

JWTとは?安全なAPI認証のためのJSON Web Token解説

JWT(JSON Web Token)とは何か、署名の仕組み・クレームの構造・API 認証を安全に実装するためのベストプラクティスを解説します。

#JWT
gRPCとは?GoによるgRPCの実践入門
アプリケーション 2020-09-08

gRPCとは?GoによるgRPCの実践入門

GoでgRPCに入門するための実践的なガイドです。gRPCとは何か、その前提となるHTTP/2やProtocol Buffersといった技術、サービス定義やストリーミングの仕組みを説明し、GoでgRPCのサーバーとクライアントを実装する手順を解説します。

#Golang#gRPC#マイクロサービス#HTTP/2#RPC
Golang×chromedp×slack botでslackの絵文字自動生成ボットをつくってみた
アプリケーション 2020-08-11

Golang×chromedp×slack botでslackの絵文字自動生成ボットをつくってみた

Goとchromedpでcanvasのスクリーンショットを撮り、Slack APIと連携してSlack絵文字を自動生成するボットを作った話を解説します。

#Golang#Slack#chrome#chromedp#Emoji#Slack Bot
vscodeでgoのLanguage Serverを有効にしたらコード定義元ジャンプができなくなった
アプリケーション 2020-07-19

vscodeでgoのLanguage Serverを有効にしたらコード定義元ジャンプができなくなった

VSCodeでgoのLanguage Server(gopls)を有効にしたらコード定義元ジャンプができなくなった問題の原因と、go.modの配置を見直して解決する方法を解説します。

#Golang#gocode#gopls#Language Server#vscode#Tips
PHPでUMLを自動生成してくれるツールーphUML
アプリケーション 2020-06-26

PHPでUMLを自動生成してくれるツールーphUML

クラス設計の全体像を把握するために、UMLを自動生成できるツールとしてphUMLを使い、PHPのクラス図を生成する方法を解説する記事です。PhpStormのような標準機能がないエディタでも、設計構造を可視化して複雑なコードベースの理解に役立てられるように紹介します。

#PHP
GolangでgoblinというURLルーターを自作した
アプリケーション 2020-01-26

GolangでgoblinというURLルーターを自作した

GoでURLルーターを自作した際の実装過程をまとめた記事です。トライ木というデータ構造を用いて、パスパラメータや正規表現によるマッチングに対応した高性能なURLルーター「goblin」を、設計の検討から実装まで順を追って解説します。

#Golang#URLルーティング#router
URLルーティング自作入門 エピソード2
アプリケーション 2019-12-15

URLルーティング自作入門 エピソード2

「URLルーティング自作入門」シリーズのエピソード2です。エピソード1に続き、URLルーティングをトライ木を使って実装していきます。パスのマッチング処理や、HTTPメソッドに対応した動的なルーティングの構造について、図解を交えながら実装を進めていきます。

#HTTP#URLルーティング#router
URLルーティング自作入門 エピソード1
アプリケーション 2019-12-14

URLルーティング自作入門 エピソード1

「URLルーティング自作入門」シリーズのエピソード1です。趣味でURLルーティングを自作してきた経験から、自作の敷居や応用範囲について触れつつ、ルーティングに使う木構造のアルゴリズムや、各種Webフレームワークの参考実装を探索していくモチベーションを紹介します。

#HTTP#URLルーティング#router
GolangのHTTPサーバーのコードリーディング (Go6 Advent Calendar 2019)
アプリケーション 2019-11-03

GolangのHTTPサーバーのコードリーディング (Go6 Advent Calendar 2019)

Qiita Go6 Advent Calendar 2019向けにGolangのHTTPサーバー内部実装をコードリーディング。net/httpパッケージのListenAndServe、ServeMux、Handlerインターフェースの動作を詳細に解析。

#Golang#コードリーディング#router
FuelPHP1.8.0→1.8.2、PHP5.6→PHP7.3へのバージョンアップした
アプリケーション 2019-10-05

FuelPHP1.8.0→1.8.2、PHP5.6→PHP7.3へのバージョンアップした

FuelPHP 1.8.0から1.8.2、PHP 5.6から7.3へアプリケーションをバージョンアップした際の作業内容と対応ポイントをまとめます。

#PHP#FuelPHP
Goでクリーンアーキテクチャを実装する実践ガイド
アプリケーション 2019-08-18

Goでクリーンアーキテクチャを実装する実践ガイド

Go でクリーンアーキテクチャを実践する方法を解説。レイヤー分離・依存ルール・ディレクトリ構成・実際のトレードオフを具体的なコードで学べます。

#Clean Architecture#Golang#DIP
execコマンドによるリダイレクト
アプリケーション 2019-05-08

execコマンドによるリダイレクト

シェルのexecコマンドを引数なしで使うことで実現できる、ファイルディスクリプタの動的なリダイレクトについて解説します。標準入出力の切り替えやログ出力の制御、端末操作の仕組みを、具体的な使い方の例を交えて紹介します。

#bash#Shell Script#exec
master直プッシュの際にプロンプトで確認するようにする
アプリケーション 2019-05-08

master直プッシュの際にプロンプトで確認するようにする

gitでmasterブランチへ誤って直接pushしてしまうのを未然に防ぐため、pushの前にプロンプトで確認を挿むセーフティネットの作り方を解説します。GitHub側の設定で禁止する方法もありますが、運用上の都合でそれが難しいケースを想定し、Gitのhooksを使って実現します。

#Git#Shell Script
PHPで学ぶデザインパターン - Stateパターン
アプリケーション 2019-04-20

PHPで学ぶデザインパターン - Stateパターン

「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Stateパターンを取り上げます。状態ごとの処理をそれぞれ別のクラスにカプセル化することで、状態に応じた振る舞いの切り替えを条件分岐に頼らず実現するこのパターンの仕組みと、PHPでの実装方法を解説します。

#GoF#PHP#デザインパターン
ゴリラで学ぶソフトウェアの法則10選
アプリケーション 2019-04-17

ゴリラで学ぶソフトウェアの法則10選

パーキンソンの法則、ブルックスの法則、コンウェイの法則など、プロジェクト管理やソフトウェア開発の現場で役立つ法則10選を、ゴリラのイラストとともに楽しく学べる記事です。以前書いたソフトウェア開発の法則の記事をベースに、代表的なものを整理して紹介します。

#ソフトウェア開発
Realizeを使ってgoでホットリロードを実現するメモ
アプリケーション 2019-04-11

Realizeを使ってgoでホットリロードを実現するメモ

GoでソースコードのホットリロードをRealizeというツールで実現するためのメモです。go getでの導入から、.realize.yamlによる設定、監視サーバーの起動までの手順を紹介し、コードの変更を検知して自動でビルド・再起動させることで開発効率を高める方法を解説します。

#Golang#realize