この記事はPHPStan開発者のOndřej Mirtesによって2019年12月2日に書かれた記事を翻訳したものです。記事の末尾には訳者(@tadsan)の観点によるPhan, Psalm, PhpStormとの互換性についての情報も記述しています。 medium.com 2年前、私(Ondřej Mirtes)はユニオン型と交差型についての衝撃的な記事を書きました。PHPコミュニティがこれらの概念に馴染むのを手助けし、PhpStormでの交差型サポートにつながりました。 ユニオン型と交差型の違いは開発者が認識すべき静的解析に役立つ重要な概念なので、私はその記事を書きました。今回は同様に、PHPStan 0.12で導入されたジェネリクスについて、それが何であるかを説明したいと思います。 無限のシグネチャ 関数宣言するとき、我々は関数に付属する単一のシグネチャを書いていました。ほかの選択肢
概要 npmのバージョンを上げた(v6.x.x)ところ、以下のissueと同じケースに当たってCircleCIのキャッシュが効かない問題が起きました。 github.com 具体的には 開発ではMacを使用している 開発用MacとCircleCIのNode.js、npmバージョンは同一である CircleCIでpackage-lock.jsonを元にnpm installすると、package-lock.jsonが修正される package-lock.jsonのハッシュ値が変わりキャッシュが使えない という現象です。同一バージョンなのになんでやねん、という状況。 旧バージョン(v5.6.0)のnpmであれば上記の現象は起きなかったため自分の環境をそれにすればいいわけですが、他のメンバーが加わった時に同じ問題が起きうるのでnpmのバージョンを固定する方法を探してみました。 方法 1. pac
概要 Go言語に限らずではありますが レイヤ間のエラー伝搬 外部APIを叩いた時のエラーコードハンドリング HTTPやgRPCとしてレスポンスを返す時のエラーハンドリング で悩むことは多いと思います。 今回はそれの1つの方針を紹介します。 課題 レイヤ間のエラー伝搬 Goのエラーは基本的に例外を扱わず、常にハンドリングする前提です。なので user, err := findUser(id) if err != nil { return User{}, err } みたいなコードが大量に生まれます。 一方でその関数を呼び出した側ではそれがどんな種類のエラーなのか分かりません。 NotFoundだったりDB自体のエラーだったりしますが、それを外層のレイヤ(HTTPレスポンスを返すハンドラなど)でハンドリングするのは辛いです。 レイヤ毎のエラー内容を知る必要が出てくるため余計な依存が生まれてしま
http://docs.ansible.com/ansible/mysql_user_module.html MySQLdbライブラリのインストール mysel_userモジュールを使用するためには下記記載のようにPythonのMySQLdbライブラリが必要。 Requirements (on host that executes module) MySQLdb http://docs.ansible.com/ansible/mysql_user_module.html#requirements-on-host-that-executes-module Amazon Linux環境だったのでYumリポジトリからインストールすることができた。 ただ、バージョンを指定する必要があった。指定がない状態だと2.6用のがインストールされる。 # yum install -y MySQL-python
Dismiss Join GitHub today GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. Sign up Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Pick a username Email Address Password Sign up for GitHub By clicking “Sign up for GitHub”, you agr
Terraform Cloud は AWS の credentials を持たせずに tfstate だけ管理することができる Terraform Cloud を使って AWS 環境の tfstate だけを管理し、バージョン管理と差分確認のみに利用したいと考えました。備忘録として設定方法を残しておきます。 こんにちは、岩城です。 Terraform Cloud を使って AWS 環境の tfstate だけを管理し、バージョン管理と差分確認のみに利用する方法を試してみました。備忘録として設定方法を残しておきます。 あわせて、先日弊社もこより Terraform Cloud のエントリが公開されていますのでご確認ください。 5人まで無料! Terraform Cloudを使ってみた 前提 本エントリは、以下については本筋ではないため、取り上げません。 ローカルでの Terraform 実行
package user import ( "github.com/jinzhu/gorm" ) type User struct { ID string `gorm:"primary_key"` Name string } type Repository struct { *gorm.DB } func (p *Repository) Create(id string, name string) error { person := &User{ ID: id, Name: name, } return p.DB.Create(person).Error } func (p *Repository) Get(id string) (*User, error) { var person User err := p.DB.Where("id = ?", id).Find(&person).Er
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く