2020年11月24日 Webシステム開発 <Goのパッケージ放浪記> ioパッケージに定義されている「Writerインターフェイス」について 今日は前回のReaderインターフェイスに続き、ioパッケージのWriterインターフェイスまわりを覗いていきます。 参照https://github.com/golang/go/blob/master/src/io/io.go 今回覗いていくソースのバージョンは「go1.14.4」です。 W [...]
2020年10月23日 Webシステム開発 <Goのパッケージ放浪記> ioパッケージに定義されている「Readerインターフェイス」について 今日は、Goのパッケージのソースを覗いてみたいと思います。 普段からさまざまなパッケージを利用しますが、その実装はどうなっているのかを把握し、よりGoらしいコードを書けるようになることが目的です。 今回はioパッケージのReaderインターフェイスまわりを読んでいきます。 参照https://g [...]
2020年08月06日 Webシステム開発 google/wireを使ってGoでDI(dependency injection)してみる 今回は、GoでDI(dependency injection)してみたいと思います。 GoでDI用のパッケージはいくつかありますが、今回は「google/wire」を利用します。 GitHub google / wirehttps://github.com/google/wire フロ [...]
2020年07月09日 Webシステム開発 GKEにArgo CDを導入してアプリケーションをデプロイする アーティスではいくつかのウェブアプリケーションをGoogle Kubernetes Engine上のk8sにデプロイしています。イメージをCloud Buildでビルドした後、マニフェスト用のリポジトリにPushがあるとCloud Buildで自動的にApplyを行っています。 現状でもとくに [...]
2020年06月16日 Webシステム開発 WSL2のDebianにAnsibleの最新版をインストールする ついにWindowsの「May 2020 Update」が配信され、待ちに待ったWSL2が使えるようになりました。Preview版ではなく正式なリリースとなったので、さっそく会社のPCもHyper-VからWSL2に移行しました。 WSL2にはいくつかのディストリビューションを選択できますが、今回は [...]
2020年02月19日 Webシステム開発 GKEのistioでサンプルアプリを動かす(フォールトインジェクション、タイムアウト編) 前回、前々回に引き続き、GKE上のistioでサンプルアプリケーションを動かして設定を確認していきます。 今回の目標は、タイムアウトの設定と動作を確認することです。 参考にするページは以下のとおりです。 参考ページ Fault Injection Request Timeouts フォール [...]
2020年01月31日 Webシステム開発 GKE(Google Kubernetes Engine)のistioでサンプルアプリを動かす【ルーティング編】 前回はGKE上でistioのサービスメッシュを構築し、サンプルアプリケーションをデプロイしました。 今回は、その環境を使ってistioの設定と動作を確認していきたいと思います。 参考にするページは以下のとおりです。 参考ページ Request Routing Traffic Shifting [...]
2020年01月23日 Webシステム開発 GKE(Google Kubernetes Engine)のistioでサンプルアプリを動かす【構築編】 マイクロサービスアーキテクチャを採用することで得られるメリットは多いですが、対応しなければならない問題も増えます。 その中でも、サービスが利用不能になった(障害が発生した)場合の対応については、慎重に検討しておく必要があります。 下流のサービスへの呼び出しが停滞すると、連鎖的にすべてのサービスが呼 [...]
2020年01月20日 Webシステム開発 GoogleCalendarAPIを利用して、PHPでGoogleカレンダーの情報を取得してみよう!(祝日編) Webの業務をしていると、カレンダーを表示するシステムを作成することがあります。 カレンダーに表示する祝日を計算で導き出していると、今年(2020年)のように特例で祝日が移動になっていたりする場合、個別に対応が必要になり手間がかかってしまいます。 そこで今回は、Googleが提供している日本の [...]
2019年11月29日 Webシステム開発 resticを使ってGoogle Cloud Storageにバックアップする方法を検証してみる アーティスでは、ファイルシステムのストレージサーバーにGCPのCloud Filestore(以下、Filestore)を利用しています。FilestoreはマネージドのNFSサーバーで、手軽に大容量のストレージを利用できとても便利ですが、自動的にバックアップしてくれるサービスはありません。 [...]
2019年10月29日 Webシステム開発 GCPのKMSを利用してファイルを暗号化する Kubernetes(以下、K8s)を利用してサービスを運営していく上で、アーティスではGitOpsを取り入れています。 ここでは、GitOpsについて詳しく触れませんが、概要は、k8sのmanifestをCLIから適用せずに、Gitを通してパイプライン上から自動的にクラスタに適用させます。 参 [...]
2019年10月03日 Business仕事効率化ツール システムエンジニアが4Kディスプレイを導入して快適な開発環境を作ってみた アーティスでは、フルHDのデュアルディスプレイ環境がスタンダードです。 十年以上前に、シングルディスプレイからデュアルディスプレイへ移行したときに作業効率が上がるのを体感しました。 システム開発者は、IDE(統合開発環境)とシェルを行き来したり、リファレンスを参照したりするなど、多くの情報を同時に [...]
2019年06月18日 Webシステム開発 Githubのリポジトリ「TIL」を作って今日学んだ知識をアウトプットしよう エンジニアは日々、新しい事を学んだり、発見したりする機会が多い職種です。 頻繁に使う知識なら記憶として定着しますが、あまり使わないけど重要な知識は忘れがちです。 忘れがちな知識を記録しておくために、技術用のブログを書いているエンジニアは珍しくありません。 もちろんブログでも問題ないのですが、こ [...]
2019年04月23日 WebWeb全般 Chromeのデベロッパーツールでリクエストの状態を把握し、webサイトの表示スピード改善に役立てる Google Chromeには、「デベロッパーツール」(以下、DevTools)という機能があります。 主にwebサイトの開発時に利用すると便利な機能ですが、自社サイトや自分の気になるサイトを調査するときに役立ちます。 さまざまな機能を持つDevToolsですが、今回は「Network」パネル [...]
2018年10月23日 Webシステム開発 「ユーザーストーリーマッピング」を読んでみた 【0章の2】 前回の「ユーザーストーリーマッピング」を読んでみた 【0章の1】では、ストーリーは共通理解を築くものだとわかりました。 今回【0章の2】では、製品開発の目的とアウトプットや成果についてまとめていきます。 要件よりずっと大事な事について話す 共通理解を築くには、実際に集まって話すべきですが、要 [...]
2018年02月27日 Webシステム開発 「ユーザーストーリーマッピング」を読んでみた 【0章の1】 アーティスでは、一部のソフトウェアにてドメイン駆動開発(DDD)を取り入れています。 DDDでは適切なドメインモデルを探す事が重要になりますので、そのために使われるユビキタス言語も同じく重要になってきます。 今回、私がこの「ユーザーストーリーマッピング」(Jeff Patton 著、長尾 高弘 訳 [...]
2017年04月25日 Webシステム開発 「WakaTime」を導入してプログラミングする時間を可視化してみた プログラミングをされている方であれば既にご存知の方も多いかと思いますが、プログラミングに費やした時間を可視化できる「WakaTime(https://wakatime.com/)」というサービスをご紹介します。 このサービスは、各種エディタと連動して、実際にプログラミングをしている時の作業時間を自 [...]