2019-01-01から1年間の記事一覧

ConftestとCircleCIで継続的に構造データにPolicyを適用する

構造化されたデータにPolicyを適用したい、って気持ちはチームでコラボレーションしていたら自然と生まれてくる欲求だと思います。コードの場合は最近だと優秀なLinterがあるおかげである程度は強制することができるのですが、例えばYAMLだったりiniファイル…

「ディオ・ブランドーに学ぶ失敗論」に参加しました

ply-osaka.connpass.com 「ディオ・ブランドーに学ぶ失敗論」というかなりエモい勉強会に参加してきました。 きっかけ きっかけはうちのCTOのこのツイートから。 え、ちょっと待って。え!?/ディオ・ブランドーに学ぶ失敗論 (ジョジョ × 目標管理) https…

Percy + CypressでVisual Regression Test

自動テストの中にやっとの思いでe2eテストを組み込んだとしても、「視覚的に正しかったかどうか」という点までキャッチするのはなかなか難しいです。このような観点でテストする一つの手段として「Visual Regression Test」があります。僕自身このテストには…

OPAのDecision Logsを使ってログを残す

OPA

Open Policy Agent (以下OPA)で様々なPolicyの判断をするにあたって、ログをどのように残すのかが気になってきました。 OPAを初めて聞いた、あるいはあまり知らない場合は以下の記事を参考にしていただければ! kenfdev.hateblo.jp ログを残す方法としてOPA…

KubeCon + CloudNativeCon Europe 2019の「Deep Dive: Open Policy Agent」を視聴して

しばらくOPA(Open Policy Agent)の講演を観ることができていなかったので、KubeCon CloudNativeCon Europe 2019の講演をYoutubeで視聴しました。 www.youtube.com 構成 時間 内容 1:27 Example: Application 5:38 Example: Kubernetes Platform 7:14 OPA: …

僕とDDDとClean ArchitectureとやっぱりDDD

DDD(Domain Driven Design)って難しいですよね。難しい難しいとばかり考えていた僕もようやく最近になって少しずつわかってきた気がします。そのきっかけとなった書籍と僕のストーリーを本記事で紹介できたらと思います。

Zoomで読書会「アーキ部#2」に参加しました!

会社のSlackで流れていたのを見たのがきっかけで「アーキ部」なるものに初参加しました! connpassでのイベントはこちら↓ architect-club.connpass.com 概要 connpassにも記載されてますが、Release It!: Design and Deploy Production-Ready Software (Seco…

「CircleCIのconfig.ymlを守ろうとした話」を発表しました

「【大阪】CircleCI ユーザーコミュニティミートアップ #1」に参加し、「CircleCIのconfig.ymlを守ろうとした話」という題名でLTをしてきました。 circleci.connpass.com 発表資料 ストーリー 組織の中でCircleCIを多数のリポジトリで使い始めたとき、config…

Netlifyへのデプロイがタイムアウト

最近は仕事から趣味まで作ったもの(主にフロントエンド関連)のデプロイが簡単にNetlifyにできてしまうので多用しています。 www.netlify.com 直近ではVue.jsのコンポーネントをStorybookで公開しようとしたのですが、単純なタスクなはずが思いの外ハマって…

PHPの`$`と`->`がつらくなったらマクロを使えば良いことに気づいた

最近PHPを書くことが多いのですが、変数の前につける$(ドル記号)とメソッド呼び出しやプロパティ呼び出しに使う->(矢印)の指の動きの効率悪さに耐えられなくなりました。。。 PHPStormを使っているといい感じに$を入力しなくても変換してくれたりするの…

explainshell.comはシェルの強力な助っ人

explainshell.com 最近explainshell.comなるものを今更ながら知ることができたので紹介します! explainshell.com 概要 シェルコマンドを全部覚えるのって大変です。なんとなく覚えてても、オプションがどんな意味をもっていたかまではなかなか思い出せない…

Node.jsではてなの自分の記事一覧を取得する

はてなの自分の記事一覧をサクッと取得できるようにしたかったのですが、意外と Node.jsで書かれている 結果をJSONにする ものが見当たらなかったので結局自分で作ることにしました! ツールの流れ はてなから自分の記事一覧を取得する流れは下のようになり…

「k3sとラズパイでフロントエンド開発に挑戦した話」を発表しました

今週は2つのイベントでLTをさせていただきました!ほぼ同じ内容で登壇したので、2日連続で参加された方には申し訳なかったのですが、少し内容を変える努力はしました。。。 rancherjp.connpass.com cnjp.connpass.com 発表資料 ストーリー フロントエンジニ…

カックさん(@kakakakakku)さんのメンタリングを卒業しました

3月から5月の3ヶ月間に渡るカックさん(@kakakakakku)のブログメンタリングを卒業しました! ここに卒業記事を残し、今後についても書き残しておきたいと思います。 メンタリングをなぜ受けたのか 僕はアウトプットすること自体は好きで、ブログを書いたり…

Unit Test好きにはたまらない!Conftestで設定ファイルのテストをしてみた

ConftestはYAMLあるいはJSONで定義された設定ファイルに対してテストを書けるというツールです。 面白いのは、テストに使うのがOpen Policy AgentのRegoというポリシー用の言語だという点です。上に紹介した記事にも書いていますが、さらに気になる人は公式…

セルフマネジメントについて考える / 『管理ゼロで成果はあがる〜「見直す・なくす・やめる」で組織を変えよう』を読んで②

「管理ゼロで成果はあがる〜「見直す・なくす・やめる」で組織を変えよう」という本を読み終えました! 管理ゼロで成果はあがる ~「見直す・なくす・やめる」で組織を変えよう作者: 倉貫義人出版社/メーカー: 技術評論社発売日: 2019/01/24メディア: 単行本…

生産的に働くことについて考える / 『管理ゼロで成果はあがる〜「見直す・なくす・やめる」で組織を変えよう』を読んで①

ふとFacebookのタイムラインから流れてきた「管理ゼロで成果はあがる〜「見直す・なくす・やめる」で組織を変えよう」という本。今まで技術書ばかり読んできていて組織や人に関する本には手をつけていなかったのですが、最近は積極的に読むようにしています…

Algolia Searchの速さに鳥肌が立った話

algolia.connpass.com 「Algolia Community Party in 京都 - 2019年5月10日」に参加し、LTしてきました! 発表資料 ストーリー 業務でAlgoliaのスパイクをうつ機会があったので、そのときに経験した 圧倒的な爆速っぷり について完全なる自己満でそのときの…

「誰」が「何」をできるかをOPAのレスポンスで返す

OPA

OPA(Open Policy Agent)で「○○をやっていいですか?」に対して「Allow/Deny」の返答がくるパターンについていくつか記事にしました。 今回は、 「誰」が「何」をしていいか をOPAからのレスポンスで知る方法について検証したので共有します。 どういった場…

『JSJ 358: Pickle.js, Tooling, and Developer Happiness with Anatoliy Zaslavskiy』を聴いて

僕のお気に入りのPodcastの一つにJavaScript Jabberというものがあります。 devchat.tv 「JavaScript」とPodcastのタイトルには書いてありますが、ゴリッとJavaScriptのテクニカルな話をするわけではないです(昔はそうだったかも)。 どちらかと言うとJavaS…

OPAでANDとORの条件を組み合わせる

OPA

OPAのSlackでやりとりされている内容とかが流れていってしまうのが勿体無いので残していこうと思います。(将来的に索引にできたら良いかなと) 上図のようなパターンを考えてみましょう。文で表現すると以下のとおりです。 p1, p2, p3, additional_pがすべ…

CircleCIで実行バイナリをDLしてCI内でキャッシュしながら使う

CI内でどこかしらから実行バイナリをダウンロードして、それを使うことがあると思います。 最近では僕はOPAのテストをCircleCIで実行したかったので、OPAのバイナリをダウンロードしてテストを実行しました。 kenfdev.hateblo.jp 毎回バイナリをダウンロード…

OPAのテストをCircleCIに乗せる

OPA

OPAのPolicyをテストする方法について前回は紹介しました! kenfdev.hateblo.jp OPAのバイナリさえあれば opa test コマンドで簡単にテストが実行できます。 ということでOPAのPolicyをCIに乗せて継続的にPolicyのテストができるようにしてみます。 どんなCI…

OPAでテストコードを書く

OPA

OPAでPolicyをRegoで書いていくという話は何度かしてきました。 では、そのPolicyを正しく書けたかどうかはどう判断するのでしょう? これまで扱ってきた記事ではInputを用意してOutputをチェックしてました。 それって大変ですし、Policyが鬼のようにたくさ…

OPAのVisual Studio Code拡張機能

OPA

OPAにはVSCode用の拡張機能があります! ## 機能 できるようになることは次のとおり(2019/03/31時点) * 保存時に構文チェック(現時点でエディタ上で表示はされません) * OPAのpackageを評価 * 選択中の箇所を評価 * 選択中の箇所を部分評価(Partial Eva…

IAM PolicyをOPAで書く

OPA

OPAシリーズです!今回は公式ドキュメントの「Comparison to Other Systems」について見てみます。 世の中に存在しているPolicyのパターンをOPAで実装した場合、どうなるかというのを教えてくれている項目です。 この中でも「Amazon Web Services IAM」をOPA…

OPAでSSHとsudoの認可をする

OPA

このチュートリアルではLinux-PAM(Pluggable Authentication Modules)とOPAを連動させています。Linux-PAM(以下PAM)について僕は今回初めて知ったのですが、Linuxに認証の仕組みをプラグインとして追加できるものという理解です。ここでOPAと連動できるPAM…

Open Policy Agentを始めてみよう

OPA

OPAは汎用的なPolicy Engineと言われています。Policy Engineと言われても正直なところパッとしないと思うのですが、定義されたルールに従って判断を下すことができる専門家という感じです。Policyの中でも「やっていいかどうか(見ていいかどうか)」に関す…

コンテナの疲れをk3sとRemoで癒やした話

Cloud Native Kansai #02 に参加してきました! cnjp.connpass.com そしてこの記事の題名にもあるように「コンテナの疲れをk3sとRemoで癒やした話」という題名でLTもやらせていただきました。 発表資料 ストーリー コンテナに限らずですが技術の進化が早すぎ…

k3sをラズパイで起動するまでにやったこと

k3s

LightweightなKubernetesとして最近話題に上がっているk3s。僕もミーハーなのでさっそく家のラズパイに入れてみました。 k3s.io k3sがなんなのか、という点についてはQiitaの以下の記事が簡潔によくまとまっています。 qiita.com 我が家には半年ほど前にkube…