[Go] Defined type(Named type)とType aliasを使い分ける
Goには既存の型に新しい名前をつける方法が2つある。
type MyType int
と宣言するDefined type- 以前はNamed typeと言っていたが、Go1.11からDefined typeと呼ぶようになった
type MyType = int
と宣言するType alias
すでにいろいろ記事はあるものの、最近数回聞かれることがあったので改めてまとめておく。
PHPで独自クラスを使った型キャストをおこなう方法
PHPで型を使って安全かつIDEの支援を受けながら開発したい。
array
やインターフェイスで受け取った引数に、型をキャストする方法を考えた。
[Re:VIEW] textlintのlintエラーからttインライン命令で装飾された文字列を除外する
Re:VIEWで文書を作成するときはtextlintを使って文書校正をしている。
@<tt>{git commit --amend}
のような等幅設定をしている中で、git => Git (prh)
というような警告を受けたくないときに行なう設定をまとめる。
[書評] ghq handbookを読んでghqコマンドに再入門する
ローカルでソースコードを効率よく管理するためのツールとして、ghq
コマンドがある。
そのghq
コマンドの使い方をメンテナの
@songmuさんが執筆したghq handbookを読んだので感想をまとめる。
[Python3.8] TypedDictとPyCharmを使うと型ヒントの圧倒的な恩恵を享受できる
業務でも趣味でもPythonを書くときはPython3.8を使っている。
Python3.8から使えるTypedDict
とPyCharmを組合わせた開発体験が素晴らしいので紹介する。
PhpStorm上でPHP_CodeSnifferのCoding Standardが見つからず、静的解析ができない
PhpStormで静的解析を利用しようとしてプロジェクトを新しく設定するたびにハマっているのでメモしておく。
Dockerを利用してPHP_CodeSnifferを使った静的解析をPhpStormで利用するときの設定がうまくいかなった。
2019年振り返り
2019年を振り返ってみる。GitHubベースの振り返りは別記事にまとめた。
この記事はwrite-blog-every-week Advent Calendar 2019の17日目の記事となる。
2019年振り返り(GitHub編)
この記事は、
write-blog-every-week Advent Calendar 2019の14日目の記事になる。
昨日は
@kdnaktさんで「
2019年のブログをさっくり振り返る」だった。
OWASP/Go-SCPを読んでセキュアプログラミングとGoを学ぶ
この記事は
Go Advent Calendar 2019の4日目の記事になる。
3日目は
@ikawahaさんの「
Goa v3 のテストをシュッとする]」だった。
本記事ではOpen Web Application Security Project(OWASP)が公開しているGo-SCP
リポジトリを紹介する。
Webアプリケーションには
クロスサイトスクリプティング(XSS)や
クロスサイトリクエストフォージェリ(CSRF)など、様々な脆弱性が潜む可能性がある。
脆弱性対策の書籍としては、
体系的に学ぶ 安全なWebアプリケーションの作り方(徳丸本)などが有名だろう。
Go-SCP
リポジトリにはWebアプリケーションを実装する際に必要な脆弱性の知識と、Goを使った脆弱性対策の実装方法が含まれている。