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 IN [...]
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 INDE [...]
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でサンプルアプリを動かす【構築編】 マイクロサービスアーキテクチャを採用することで得られるメリットは多いですが、対応しなければならない問題も増えます。 その中でも、サービスが利用不能になった(障害が発生した)場合の対応については、慎重に検討しておく必要があります。 下流のサービスへの呼び出しが停滞すると、連鎖的にすべてのサービスが呼 [...]
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】では、製品開発の目的とアウトプットや成果についてまとめていきます。 INDEX要件よりずっと大事な事について話す一番重要なのはアウトプットではなく成果ユーザ [...]
2018.02.27 WEBシステム開発 「ユーザーストーリーマッピング」を読んでみた 【0章の1】 アーティスでは、一部のソフトウェアにてドメイン駆動開発(DDD)を取り入れています。 DDDでは適切なドメインモデルを探す事が重要になりますので、そのために使われるユビキタス言語も同じく重要になってきます。 今回、私がこの「ユーザーストーリーマッピング」(Jeff Patton 著、長尾 高弘 訳 [...]
2017.04.25 WEBシステム開発 「WakaTime」を導入してプログラミングする時間を可視化してみた プログラミングをされている方であれば既にご存知の方も多いかと思いますが、プログラミングに費やした時間を可視化できる「WakaTime(https://wakatime.com/)」というサービスをご紹介します。 このサービスは、各種エディタと連動して、実際にプログラミングをしている時の作業時間を自 [...]
2016.10.13 LIFE遊び・旅行 【遠州探訪】成り立ちを知って更に楽しむ「浜名湖南部」の魅力 突然ですが、「浜松」と言えば何を思い浮かべますか? 「うなぎ」「浜松餃子」「楽器産業」と答える方が多いと思いますが、弊社(株式会社アーティス)の本社がある浜松には、これら以外にも名産物や観光スポットが、たくさん存在します。そんな浜松の魅力をシリーズでお伝えしていきます。 その中でも、今回は、浜名 [...]
2016.07.13 BUSINESS仕事術 非エンジニアに送る「検索・置換操作が捗る正規表現のすすめ」 文章や文字の検索・置換ツールは、日常のビジネス業務でよく使う機能の1つです。 さまざまなソフトウェアにこの機能が付いています。 検索したい文字を入力して実行するのですが、検索したい文字を入力するところに、しばしば「正規表現で検索する」と表示されている場合があります。 正規表現とは、文字列のパター [...]