Software engineering from east direction

六本木一丁目で働くソフトウェアエンジニアのブログ

Go 1.15 testing パッケージの TestMain は os.Exit を呼ばなくてよくなった

Go

TL;DR Go1.15 がリリースされました testing パッケージの実装の変更にて TestMain で os.Exit を呼ばなくてよくなりました testing.M の実装変更及び、 go test で生成される main 関数のテンプレート修正によって実現されている Go 1.15 2020年8月11日、 T…

アジャイル開発におけるメンタルヘルス 〜駆け出しアジャイル記録〜

TL;DR アジャイル開発における「あるあるの失敗」は、コミュニケーションを一瞬でも取り逃すと発生しうる どういうときに流れに飲み込まれ、メンタルの追い込みが発生しうるかを考えた 何を主眼としているかを何度もコミュニケーションし、発生させてしまい…

生JSONを扱うのにちょっと便利な json.RawMessage と観測した実例

Go

TL;DR 生JSONを扱う際に、標準のjsonパッケージでは、 RawMessage という型が用意されている JSON構造の文字列を取り出して、なんらか整形して出力、といったユースケースにちょっと便利 json.RawMessage 生JSONを扱う際に、標準のjsonパッケージでは、 RawM…

PHPコードの些末なレビューの機械化を phpcs と slevomat/coding-standard で加速しよう

PHP

TL;DR PHPコードにおける、constはpublic/privateつけようね、とか、戻り値type hintingは、型名の前にspace入れようね、みたいな話、それphpcsに指摘してもらおう quizlabs/php_codesniffer と slevomat/coding-standard を使用する 細かくコーディングルー…

PHPコードでの、`empty()`避けようねとか`===`のほうがベター、などは phpstan/phpstan-strict-rules を使って指摘しよう

PHP

TL;DR PHPアプリケーションにおいて、表題のような「PHPを使う上で自制心を持とうな」みたいな温度感でstrictな書き方を推奨される昨今 こういうのは往々にして人間が言うのはそのうちげんなりしてくるし、逆に言われる方も同じ PHPStanが提供しているカスタ…

開発チームについて考えてアジャイルについて行動してみた | 書評『みんなでアジャイル ――変化に対応できる顧客中心組織のつくりかた』

TL;DR 『みんなでアジャイル ――変化に対応できる顧客中心組織のつくりかた』 を読んで、実際に現実の(渡しがいる)チームの問題について考えた 自分は、アジャイルのプラクティスについてなんとなく知っているが、実際に「アジャイルでのチーム開発」をやっ…

PSR-3とCakePHPから見るNull Object Pattern

PHP

TL;DR PSR-3 Logger Interfaceには、Psr\Log\NullLoggerという実装が提供されている Psr\Log\NullLoggerは、オブジェクト指向言語のデザインパターンとして一般的に知られるNullObjectパターンと評価できる CakePHPの内部実装と使用方法からそのユースケース…

年末にちょうどいい「やり抜く人の9つの習慣」と「やる気が上がる8つのスイッチ」

TL;DR 「やり抜く人の9つの習慣 コロンビア大学の成功の科学」を読んで、目標設定を冷静に振り返ると、継続性のある目標になりそう 「やる気が上がる8つのスイッチ」を読むと、自分自身のやる気のタイプや他の人のやる気のタイプを冷静に分析することができ…

2020年抱負 実践知識をより多く獲得し体系化する一年へ

2020年における個人の目標・マイルストーンを整理する。「走り迷い戸惑った2019年を振り返る1」にて、2019年の振り返りの結果、2020年の目標を考えます。また、心構えとしての行動指針もいくつか決めてみようと思います(という自己満足です)。 khigashigas…

プレゼンテーション・パターンという認識のメガネ | 書評「プレゼンテーション・パターン: 創造を誘発する表現のヒント」

プレゼンテーション・パターン: 創造を誘発する表現のヒント1という、人間活動におけるパターン・ランゲージの一つである、プレゼンテーション・パターンについての書籍についての書評です。 「プレゼンテーション・パターン: 創造を誘発する表現のヒント」…

パターン・ランゲージを分野を超えた流れから捉える | 書評「パターン・ランゲージ: 創造的な未来をつくるための言語」

「パターン・ランゲージ: 創造的な未来をつくるための言語1」という書籍が面白かったので、振り返りがてら書評を書いていく。 TL;DR 「パターン・ランゲージ: 創造的な未来をつくるための言語[^1]」という書籍は、建築・ソフトウェア・政治など様々な分野か…

走り迷い戸惑った2019年を振り返る

2019年を振り返る自己満足を今年もやります。 前回までのあらすじ! 2018年はだいたいまとめるとこんな感じの1年だったようです。 khigashigashi.hatenablog.com 2017年10月にBASE株式会社に転職してきてからだいたい1年ちょっと経過 「PHPカンファレンスの…

書評: パターン、Wiki、XP ~時を超えた創造の原則 がすごく面白かった

ソフトウェア設計とは何なんだというような話を社内でモヤモヤ話していました。 その話の流れで、@fuubitさんからアーキテクチャ設計の意味を問う - クリストファー・アレグザンダーの思考の軌跡というブログエントリを紹介していただいて、めちゃめちゃおも…

外部イベント登壇しがち属性が考える登壇の使い方

TL;DR 外部イベントを楽しむ・学びのきっかけにするための登壇の使い方 イベント運営の方々いつもほんとうにありがとうありがとう... はじめに 社の飲み会などでカンファレンスに行ったり登壇したりすることの意味みたいなことがうっすら話題になり、各エン…

#golangtokyo Go Conference Tokyo 2019 Spring 2次会 参加レポート

golang.tokyo#24 に参加したので、聞いた内容・感想をまとめていきます。 golangtokyo.connpass.com (※LTトークの時間でバッテリーがあれだったので感想書けず...LTトーク非常におもしろかったです!) CLI ツールを支える技術 2019 春 by @izumin5210 さん…

Go Conference Tokyo 2019 Spring スピーカー参加・聴講感想 #gocon

Go

Go Conference Tokyo 2019 Spring にてスピーカー参加してきました。今回はいつものカンファレンスより準備を早めにやったこともあり、がっつり他の方のトークを聴講できました。純粋なメモ・感想を書いていきます。 発表したSession "Design considerations…

GoLandでgoldenファイルを用いたユニットテストを書く #golang

Go

TL;DR GoLandでgoldenファイルを任意のファイルタイプで認識できるようにする それによって、goldenファイル作成時にGoLandの補完能力を失わないようにする goldenファイルとは Go言語でのユニットテスト作成時、JSONやHTMLといった用に別ファイルをテストの…

golangtokyo#23 参加レポート

golang.tokyo #23 参加レポート TL;DR golang.tokyo #23に参加 tenntenn さんのポインタの話がわかりやすかった まだまだGoのポインタわかってなかった。 golang.tokyo #23 平成最後のgolang.tokyoに参加してきました。LT枠で落選してしまったのですが、LT枠…

PHPerKaigi 2019 の「PHPでJVMに入門する」を聞いて

PHP

TL;DR PHPerKaigiでのめもりーさんの「PHPでJVMに入門する」がおもしろかった 自分の知らなかったことを調べて残しておく トーク「PHPでJVMに入門する」 fortee.jp @m3m0r7さんのPHPでJVMに入門するという内容がおもしろかった。PHPでJavaを動かすという力強…

golang.tokyoの「文Go」に「費用対効果の高いユニットテストを実現するためのGoの基礎技法」を寄稿しました #技術書典

TL;DR 技術書典6のgolang.tokyoサークルが出ます。 「費用対効果の高いユニットテストを実現するためのGoの基礎技法」を寄稿しました。 技術書典6に出版する書籍に寄稿 この度、2019年4月14日に開催する技術書典6に参加するgolang.tokyoの新刊に「費用対効果…

2019年の目標達成確認と振り返り

超絶フライングで振り返り続けるエントリー、目標に対する進捗・振り返りが更新されていきます。 khigashigashi.hatenablog.com 年初立てた目標の達成状況 目標 現在 備考 PHP系カンファレンスでのロングセッション登壇 Clear PHPerKaigi2019にて30分(longer…

「第三回ボトムアップドメイン駆動設計」でDDD(主に軽量DDD)について聞いてきた | 聴講レポート

「第三回ボトムアップドメイン駆動設計」という成瀬さん(@nrslib)さんによる、ドメイン駆動設計のイベントに参加してきました。 曖昧な理解でふわふわしていた箇所が、かなりつながった感覚があって大変ありがたい会でした。 nrs-seminar.connpass.com nrs…

REST についての koriym さん開催のトークイベント 「Final Object #0」 トーク内容まとめ(参加レポート) #FinalObject

@koriym さんによって主催された、Final Objectというトークイベントに参加してきました。 株式会社TRASTA が会場で開催されました。 会場の様子 ハッシュタグは、 #FinalObject でした、Togetter でまとめておきました。 togetter.com このイベントは、招待…

Laravel JP Conference 2019 にて、設計についてスピーカーの知見をたくさんいただけて感無量でした(聴講レポート)

Laravel JP Conference 2019にて聴講したセッションのレポートを書いていきます。 conference2019.laravel.jp Laravel JP Conference 田町にて開催されました。 入り口 エコバック・ネックトラップ・Tシャツが素敵です。 戦利品 名札が素敵ですね! 素敵な名…

Go 1.12 Release Party attendee report

gocon.connpass.com に参加した際の発表とその際のtwitterのTLから参考になったことを雑にまとめてます。 Go 1.12 tip.golang.org Go1.12 changes TLS1.3 support https://tip.golang.org/doc/go1.12#tls_1_3 use godoc instead of go doc go tool vetがなく…

2018年を振り返り2019年の目標を見据える

自分の心境を記録する自己満足的な振り返り。 2018年の振り返り 2017年10月に現職のBASE株式会社に転職してきてからだいたい1年ちょっと経過。「PHPカンファレンスのメインホールで登壇できるようになりたい」という目標を採用面談時にマネージャー氏に話し…

「PHPフレームワーク Laravel Webアプリケーション開発」を読み終えた感想

2018/9/26に発売された、書籍「PHPフレームワーク Laravel Webアプリケーション開発」を読み終えましたので、感想を書いていきます。 「PHPフレームワーク Laravel Webアプリケーション開発」とは https://www.amazon.co.jp/gp/product/4802611846 こちらは…

ドメイン駆動設計についてpospomeさんの話を聞いた | Gopher道場課外学習Ⅰ参加ログ

Gopher道場卒業生向けのイベントとして、ドメイン駆動設計について@pospomeさんの話を聞かせていただきました。 mercari.connpass.com その際に話されていた内容についてざっとメモを残させていただきます。 ドメイン駆動設計とは ドメイン = 問題領域 ソフ…

OAuth 2.0 サーバの実装・テストについてgolangtokyoで発表してきました | golang.tokyo#18 参加レポート

2018年9月28日(金)に開催されたgolang.tokyo #18に参加して、LT枠(10分)で発表してきました。 golang.tokyoとは golangtokyo.connpass.com プログラミング言語のGoの導入企業のメンバーが集まり、Goの普及を推進するコミュニティです トークイベント、ハ…

TerraformでAWSのインフラ構成構築を自動化する(入門)

Terraformを用いてAWSのインフラ構成・構築を自動化するに当たり入門資料です。この記事では、Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版で構築する構成図をTerraformで構築していきます。 発表資料 Terraformとは Terraformとは、Ha…