Kekeの日記

エンジニア、読書なんでも

PagerDutyでIncidentの訓練をする

本記事 本記事ではPagerDutyで設定した項目であるIncidentがあったときのオンコールのスケジュール、電話番号、SMSなどが正しくくるかなどが正しいのかをTest Incidentを故意に起こすことで確認することができます。

Luaの標準入力のいろは

本記事 最近、何かとLuaの話題を聞くことが多くなりましたが、情報が他のメジャーなプログラミング言語に比べて非常に少ないです。 Luaを使うにあたって標準入力を色々、試してみたいなと思って本記事に日記としてまとめます。 実際に、いくつもの入力ケース…

Easy CI/CDらしいServerlessなJenkins XでPRでJobをキックする

Jenkins X 本記事 本記事では過去に書いたSpinnakerによる宣言的継続的デリバリー(DCD)の経験から、「Easy CI/CD」とうたうJenkin Xを使用して使い勝手などを検証しようと思います。 そのSpinnakerの記事が以下のリンクです。 www.1915keke.com Jenkins自体…

表彰状ジェネレータをCloud Runを使ってgnuicorn + flaskでServerlessにホストする

作ったサービス 私の会社ではzp-というプレフィクスをつけて、個人チャンネルを作ることができます。なんでも書くことできるのですが、いろんな友人がレスポンスをくれたりするので感謝を表したいと思い、メッセージ数やリアクション数からランキング付けをB…

Telepresence概論

Telepresence 動機 マイクロサービスになればなるほど、テストが難しくなってくるので、ローカルの開発環境を整えるの難しく、その問題を抱えるのは必然かなと思います。 今回はその時に使えるToolであるTelepresenceを使っていこうと思います。 Telepresenc…

継続的デリバリーのためのGoCD on Kubernetes

動機 GoCDって「Go」が一般性の高い言葉が故に、躓いたときに調べるのが面倒だなと思って避けてきました。 しかし、技術選定をする上で、一度は触っておかければならないと思ったので調査してみます。 いくつかの図は、本サイトから引用させていただいていま…

SkaffoldとDraftを比較してみる

動機 私は新卒としてとある会社のエンジニアになったわけですが、同期に「Skaffoldってどうなの?チームで導入する価値ある?」のような質問を受けました。 私の意見としては、必要がない、と答えました。というのも、 *入社した会社が導入していないこと * …

3人で決済プラットフォームを2日で作り上げたSRE的戦略の話

アーキテクチャの略図 動機 個人的に最もSRE的なバリューを作ることができて、チームとしての生産性も最も高かったのが、決済プラットフォームの開発でした。 「制約の中では自由である」のが社会的な自由であり、その中で幸福の契機を探しているのが私たち…

Chaos Engineeringの8つの罠

動機 2019年4月から新卒入社してSREとして働いている私は、今期の目標の一つに「Chaos Engineeringの本質的理解とOSS貢献」があります。 今回はフィードで流れてきた「Chaos Engineering Traps」という記事が素晴らしく良かったので日本語訳して、価値提供を…

EmbulkのPluginをRubyで作成する"いろは"

本記事 本記事は、EmbulkのInputとOutputに対応するPluginをRubyで作成する手順を解説します。 対象としてはDialogflowです。私はGoogle HomeとLine Botを使って家計簿を管理しているのですが、訳あってDialogflowのプロジェクトを移行しないといけなくなり…

Chaos EngineeringのためのChaosKubeを使ってPodを壊してみる

動機 カオスだった平成最後の日に。 日本では未だ、マイクロサービス化が海外と比べて対応が遅いと言われていて、Chaos Engineeringが採用されるのも遅い傾向があります。 SREとして新卒入社したので、自分の知識の枠を広げるためにChaos Engineeringについ…

Kubernetes Downward APIを使ってDogStatsDにカスタムメトリクスを送れるようになる!

動機 最近、比較的モダンなモニタリングに関する本が出ていたので読みました。 入門 監視 ―モダンなモニタリングのためのデザインパターン作者: Mike Julian,松浦隼人出版社/メーカー: オライリージャパン発売日: 2019/01/17メディア: 単行本(ソフトカバー…

AppleScriptの概要と主要コマンド(随時更新)

動機 私はもとより自動化が興味の中心にいて、Gitなど繰り返しタスクを自動化しています。 その一連の過程で、開発者(=私)に対してフィードバックをするときに、AppleScriptを使って通知などを制御していました。 そのようなものづくりに関しての知見は、普…

一度確認しておきたいSemantic Versioning

Version Semantics 体系的に、Version Semanticsを学んで行こうと思います。 動機としては、今年から新卒としてエンジニア職につくので、チームで齟齬が生じないように事前に知識をつけるのが目的です。 セマンティックバージョニングは公式ドキュメントだと…

Visual Studio CodeでCode Syntax Highlight Extentionを作る

動機 現在新卒研修期間中です。 今日は休憩時間が多かったので、VSCodeのExtentionを作りたいと思って、簡単に作って、公開しました。一切、トークン化など知識がなかったので、無理かもと思っていましたが、正規表現さえ上達すれば簡単に作れました。 もと…

HTML、CSS設計方法!OOCSS、SMACSS、BEMについて

「良いHTML、CSS」の基本ルール CSSといえど、プログラミング言語であることは間違いなく、とりわけ「CSS」だからというものはありません。 どの言語においても「変更に耐えうるコード」が一つの鍵となってきます。 特にCSSは軟弱な言語であり、セレクタの書…

Fish shell packageを作成して、公開するまでのいろは!

Fisherとは FisherとはFish shellに関するパッケージマネージャーです。似たようなものでOh-my-fishがありますが、使い勝手はFisherの方が便利で簡単であるという印象です。 そんなわけで、よくfish shellを自分は書いて、コマンドなどを作成したりするので…

Lighthouse Botを設定する方法 with TravisCI

動機 私は以前、ポートフォリオサイトを作成しました。 Pocketに130ぐらいポケットしてもらった「Lighthouseを使ってVue.jsのサイトを爆速化する」というものでLighthouseを使ったフロントエンドのパフォーマンスチューニングを紹介しました。かなり反響があ…

Gulpでワークフローを効率化しよう!

動機 メモを整理していたときに、もっと簡潔に明文化したいと思って本記事を書き起こしました。 自動化の道具箱の一つでもあるので、ぜひ気になる人はご覧ください。 かなり入門的な記事になるので、これから入門される方のサポートができれば嬉しいです。

Browserifyの上級指定教科書『Browserify Handbook』を読みすすめる

動機 ハリーポッターの作品中には『幻の動物とその生息地』のようにホグワーツ指定の教科書があります。 Browerifyも同様に、Browserifyを学ぶにあたって必要な上級教科書『Browserify Handbook』があります。 上級といっても非常にシンプルにわかりやすく解…

Google AssistantとDialogflowで使えるLINE家計簿Botを作ってみる!

動機 アドラー心理学によれば、私たちは常に目的をもって行動しています。 そして、過去は一切関係ないと。これがアドラー心理学の目的論の主眼点であり、これが過去のフロイトとも大きく論点が異なるものです。 特に、私はお金の管理が面倒で、たまに後悔す…

DevToolのConsoleを使い倒すテクニック集

Consoleとは Windowインタフェースのプロパティですが、このインタフェースは特別に省略することが許されているので window.console.log("hoge"); or console.log("hoge") と、どっちの書き方でもブラウザでは出力することができます。

Web Storage vs Cookie! どのように違って、どのように使うの?

動機 半年前にWeb Storageというものフロントエンドに詳しい友達から知りました。 それ以来、Web Storageのことを思い浮かぶこともなかったのですが、ちょっと時間があるので調査していこうと思います。

影との戦いを制する力を手に入れる!CSSのbox-shadowプロパティを理解する

はじめに ここの節は余談なので飛ばしてもらっていいです。 ジブリ映画『ゲド戦記』の原作であるゲド戦記シリーズの第1巻『ゲド戦記 影との戦い』では、主人公のゲドの学童期が描かれます。 すでに奇才と認められていたにも関わらず、ゲドは他人より優れたい…

Digdagでワークフローを宣言的に書く!

本記事 私は、いくつか家内サービスを運用しています。 例えばCloud FunctionsとCloud SQLを使った「家計簿」を家族全員が使っていますし、自宅に「監視カメラ」をおいてLineBotで適宜確認できるようになっています。 無料枠を使い回しているのでデータ移行…

NATS on Kubernetesのいろは。メッセージセマンティックからPrometheus、Grafanaによるモニタリングまで

本記事 本記事はKubernetes 3 Advent Calendar 2018の14日目の記事です。 本日(2018/12/26)の投稿になっているのは、空きがあったため埋めるために参加したからなのであって、決して遅刻などではありません!笑 モチベーション 私は学部3年生だった去年の201…

Concourseで継続的デリバリー。そしてSpinnakerとの比較

本記事 本記事はConcourse Advent Calendarの23日目の記事になっています。 もうすぐ学部を卒業するので、積極的にアウトプットしようと思って、以下のAdvent Calendarも参加したので、もし興味がございましたらご覧ください。 Vue.js Advent Calendar 2018 …

Siderでコードレビューを自動化してプロジェクトのエントロピーを維持する

本記事 本記事では自動コードレビューができるSider(旧SideCI)を使ってみようかなとおもいます。 よくミスタイプとかして、それを修正するプルリクが必要になったりするとプロジェクトのエントロピーが圧倒的に増大するので防ぐためにも導入してみます。 イ…

Raspberry PiとImgurを使って無料で自宅監視カメラLINEボットを構築する

本記事 本記事では、実際にRaspberry Piのカメラモジュールを使って監視カメラサービスを構築してみようと思います。 完成形は以下のようにかまると呼びかけると家の画像を返信してくれるものです。すべて無料の制限内にします。 モチベーションとしてはカメ…

Argo CDによってGKEでGitOpsをする

はじめに 最近読んだ鎌倉時代の歌人、鴨長明の『方丈記』にも ゆく河の流れは絶えずして、しかももとの水にあらず。 とありますが、私たちのソフトウェアも然りです。 毎日更新され、デプロイされ、時に不可逆に破壊され。そして、ちぐはぐな形に落ち着くま…