起こった事象 以下のようにDAGの生成を別のメソッドに切り出していたらAirflowからDAGが認識されなくなった dag_factory = DAGFactory.get_default() dag = dag_factory.create( dag_id="example", ..., ) 原因 DAG file は airflow と dag という文字列を両…
結論 Telepresenceの --mount オプションと docker volume オプションを使う。 telepresence \ --swap-deployment <container name> \ --mount /tmp/known \ --docker-run --rm \ -v=/tmp/known/var/run/secrets:/var/run/secrets \ <local image> 背景 Kubebuilder (v2.3.1) で k8s の Op</local></container>…
ghrc っていうCLIツールをGoで書いた。 github.com 機能としてはRepositoryのLabel, Protected branch, Merge options, etc. の設定をYAMLで宣言的に管理できる。 既存の設定を ghrc import して .ghrc.yaml というファイルに書き込み、YAMLをシュッと書き換…
以下の記事で説明されているようにメモリアロケータをjemallocにすることで、Rubyのメモリ効率をよしなにできる場合があります。是非使いましょう!!!!!! techracho.bpsinc.jp さて、時は2019年であり、世界はコンテナに包まれました。 RubyのDocker Im…
職業ソフトウェアエンジニアを始めて4年目の自分の現在の作業環境について語ります。 タイトルに「物理」と付けているのはソフトウェアとしての開発環境ではなく、椅子やキーボード等の実物質を伴った環境であることを表しています。 背景 ソフトウェアエン…
今年は読んだ中で特に良かった本を3冊紹介します。 Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Ma…
GatsbyJS をGoogle App Engine にデプロイする方法の備忘です。 app.yaml と cloudbuild.yaml を設定してCloud Buildのコマンドを叩くことでデプロイします。 Google App Engine の設定 まずは app.yaml の設定です。 基本は Hosting a static website on Go…
こういうことをしたかった。 class MyForm(FlaskForm): from = DateField(format='%Y%m%d') to = DateField(format='%Y%m%d') が、これは syntax error になる。理由は from がPythonの予約語であるため。 from を辞書のkeyのstringとして扱えれば回避できる…
cat /etc/hostname すればいけた # cat /etc/hostname 7b9fc2c0bc4f
Multi-Stage Build docs.docker.com Docker の 17.05 (ce) から multi-stage build 機能が追加されました。 multi-stage build とは、ベースイメージを複数利用し、多段階で build を行う機能です。 利用シーンはビルド環境とランタイム環境の分離が挙げられ…
Rails 5.1 がリリースされたので webpacker gem の機能を使う超最小限のメモ いれる # rails 5.1 系をいれる $ gem install rails # webpackオプションをつけてnew $ rails new hogehoge --webpack # reactとか使いたかったらこう $ rails new hogehoge --we…
この記事を書いてる段階でScala歴5分くらいなのですが、デフォルトのREPL環境が微妙だったのでいい感じのScala REPLを探してきました。 シンタックスハイライトと補間が効くやつです。 Ammonite 日本語情報がほとんどないので流行っていないのかもしれない(…
N番煎じ感があるけど今まで設定してなかったのでやってみます。 zshmarks ディレクトリをブックマークして移動しやすくするやつです github.com 似たようなプラグインに https://github.com/mollifier/cd-bookmark なんかもあるのですが、zshmarksの日本語情…
Datadog 自体には構成管理機能はついていないため、モニタリングやダッシュボードの設定を誰かが吹っ飛ばした場合に復旧できない問題がありました。権限をつけることはできますが、それでもヒューマンエラーは防げません。「構成をコード化し、gitで管理でき…
読んだというか積んでるだけの本もありますが、整理してみます。 途中で力尽きましたが超適当にコメントつけていきます。 あまりエッジの効いた本は読めてないので大体のプログラマ/エンジニアにはおすすめです。 ソフトスキル系 SOFT SKILLS エンジニアの人…
積ん読消化中で、以前買った機械学習入門本を読んでいます。 データサイエンティスト養成読本 機械学習入門編 (Software Design plus)作者: 比戸将平,馬場雪乃,里洋平,戸嶋龍哉,得居誠也,福島真太朗,加藤公一,関喜史,阿部厳,熊崎宏樹出版社/メーカー: 技術評…
去年買って完全に積んでいた「サーバ/インフラエンジニア養成読本 ログ収集〜可視化編」を読み始めました。 最近お仕事で運用設計的なところ触ったりして興味湧いてきたのがきっかけです。 サーバ/インフラエンジニア養成読本 ログ収集〜可視化編 [現場主…
新しくMBP買いました。Brewfile, dotfiles周りはある程度環境構築自動化できてるんですが、Neovim <=> python_host_progの連携とか何もしてないので少しずつscriptに落としていきたい。 とりあえずNeovimでPython呼べるようにshellを書きます。 zcheeさんの…
こんな感じで書けます def deep_struct(hash) foo = hash.values.map do |v| case v when Hash deep_struct(v) when Array v.map { |x| deep_struct(x) } else v end end Struct.new(*hash.keys).new(*foo) end OOPっぽく書きたければHash, Arrayに deep_str…
Hacktoberfestなるものに参加して景品のTシャツを貰いました。あとステッカーも7枚ほど貰いました。 Finally, #hacktoberfest swag has just arrived! Thanks @digitalocean @github pic.twitter.com/nLrMdipoJ1— shotat (@shotat_jp) 2016年12月7日 Hackto…
サイバーマンデーが最高だった話です。技術ブログ要素ゼロ。 普通にPS4買う場合: 30,895円 PlayStation 4 ジェット・ブラック 500GB(CUH-2000AB01)出版社/メーカー: ソニー・インタラクティブエンタテインメント発売日: 2016/09/15メディア: Video Gameこの…
Rails & Node.jsの構成で Docker環境を作ろうとしたらハマったのでメモ 現象 npm installを実行する Dockerfileを記述 ... RUN mkdir /app WORKDIR /app # npm install ADD package.json /app/package.json RUN npm install ... カレントディレクトリを /app…
redis-cliから叩いた場合のコマンドです EXPIRE(key, seconds) 有効期限の設定(相対時間) # key-valueを適当に設定 > SET ice "I'm melting..." OK # 有効期限を10秒にする > EXPIRE ice 10 (Integer) 1 > EXISTS ice (Integer) 1 # 10秒以内 > EXISTS ice…
vimconf.vim-jp.org VimConf 2016 に参加してきました。会場はmixiさんで、コーヒーが無限に飲めて最高でした。 vim-jpの中の人や普段お世話になっているプラグインの開発者の方と話せて楽しかったです。 印象に残った発表と感想書きます。全部は書けないの…
作ったもの github.com slash-force というかっこいい名前のgemを書きました。 Railsで特定のURLへとアクセスしたときに末尾にスラッシュを付けて強制的にリダイレクトさせるだけのプラグインです。 こんな感じでgemをリリースできました。 slash_force | Ru…
defined but never used って怒られるやつです。 error '_jqXHR' is defined but never used no-unused-vars _xxx みたいにアンダースコアから始まる変数は未使用でもokな設定にしたい、と思い調べました。 以下のリンクが該当箇所でした。 eslint.org .esli…
備忘録です [1] pry(main)> hoge = "foo" => "foo" [2] pry(main)> hoge.object_id => 70163083352460 [3] pry(main)> ObjectSpace._id2ref(70163083352460) => "foo" yeah!
GAEの説明を見る限り、メジャー言語しか対応してなさそうに見えたのですが、 Docker (Custom Runtimes) を選択すれば何でも動かせるそうです。 EBSもGAEもDockerさえ使えばどんなRuntimeでも使える => Elixirも動かせる!!! ということでGAEにElixir製のbo…
Hubotに飽きたので、HedwigというElixir製のFWでbotを作ってみようと思い立ちました。 Hedwig github.com Adapter baseのHubotっぽいBotフレームワークです。Elixirです。 公式のAdapterでSlack対応してます。 Setup mixでprojectを適当に作ります。supervis…
Rubyで並行処理を書きたかったのですが、自前でスレッドセーフなプログラムを書ける気がしないのでgemを探して来ました。 Concurrent Ruby github.com Be an 'unopinionated' toolbox that provides useful utilities without debating which is better or w…