2018-01-01から1年間の記事一覧
ということを思って、もうだいぶ前だけどhttps://surisuri.ninjaっていうのをつくった。半端になってるページもあるけど、やりたいことはざっとできたので趣味としては満足。Herokuで動いてます。ソースはこちら。いま仕事で開発してるサービスの公開APIで本…
github.com 3.0-rc.1がもっぱら話題のEctoですが、ロガーを追加する方法をたまたま見つけたので書いておきます。Ecto.Repoをuseするときにloggersっていうオプションを渡します。 defmodule MyApp.Repo do use Ecto.Repo, otp_app: :my_app, loggers: [ {Ect…
hex.pm 伝わる人には伝わる言い方をすると、https://github.com/r7kamura/rspec-json_matcherみたいなことがしたい。 例えばPhoenixのコントローラのテストとかで、レスポンスのJSONの形式をテストしたいときに assert json["user"]["name"] == "John" asser…
Elixir経由でしか使ったこと無いけど、Wikipediaを読むとどれでも大体同じっぽい。 joe-noh.hatenablog.com なんでよくできてると思ったかというと、仕事でRails書いててtranslation missingをチラホラ出してしまい「直してもまだ漏れがあるのかないのかわか…
smarthr.connpass.com 行ってきました。十数人で各々が好きなところから読み始めて、最後に見所や気づきを喋る流れでした。initializersを読んでいく人やモデル中心に見ていく人など様々。近日中に全員のメモが公開されるとのことですので、そのときはリンク…
と言ってもすでにインタネットに情報があります。 medium.com まずはviewモジュール名(@view_module)とテンプレート名(@view_template)からjsファイルのパスが導出できるように取り決めしておき、bodyタグのdata属性にそのパスを吐き出しておく。で、DOMCont…
github.com 以前ふむふむ眺めただけだったので触ってみたら微ハマりした。 defmodule Producer do use GenStage ... def enqueue(item) do GenStage.cast(__MODULE__, {:enqueue, item}) end def handle_cast({:enqueue, item}, state) do {:noreply, [item]…
github.com EctoはポスグレなんかのRDBMSと使われることが多いと思われるけど、役割としてはschemaでデータの構造を定義したりchangesetでデータを操作したりrepoを通して実際にデータを保存したりといろいろあり、SQLを扱うことだけが仕事じゃない。どんな…
使っているのはvue-apolloだけど。 Mutationした結果をつかってquery cacheを更新する、ということができる。これによってもう一回queryしなくてよくなるなどの効果がある。Optimistic responseと組み合わせると、迅速なフィードバックを利用者に返すことが…
これ elixirforum.com 課題意識としては、Mixプロジェクトにおけるconfigはアプリケーションが起動するときに読み込まれるけれど、その一方でそれをreleaseビルドするときはコンパイルするときに読み込まれるという違いがあり、混乱のもとになっている、とい…
Atomic Designという、コンポーネント単位で設計してく手法というか考え方みたいなものがあるわけですが、様々な解釈があるようでみんな違うこと言ってる気がしている。ここ半年くらい仕事とか趣味プロダクトで試したり、あちこちブログ読んだりしてなんとな…
前に書いた社内向けの日報Webサービスで、RESTful(RESTish?)なAPIからGraphQLなAPIに書き直しをしてる。 サーバ側 そもそもそんなに大きなアプリケーションではないので、雑にhas manyやらassociationsを辿っていく程度のものはすぐにできた。認証はAuthoriz…
Svelte • The magical disappearing UI framework Syntax的なところはVueっぽいけど、特徴的なのは $ svelte compile --format iife App.html > App.js とエントリポイントのhtmlからjsを生成するとこ。生成されたコードにはSvelteのコードは含まれていない…
なんやかんやで、mix.exsからは消えてるのに、mix.lockには残っちゃってる依存性があるとき。 $ mix deps.unlock --unused でmix.lockから消せる。
最近AbsintheをつかってGraphQLサーバを実装しはじめているのですが、これどう書くんだろと思って調べたことがあったのでメモ。 調べたと言ってもドキュメントに全部書いてあったので、ドキュメント写してるみたいになってる。まあいいよね。 Context GraphQ…
www.manning.com この本を読みながら遊んでいたらハマった。 chuckyというアプリケーションをつくってfailoverとtakeoverを試してみる章で、failoverはうまくいくけどtakeoverできない、という現象が見られた。 A, B, Cという3つのnodeがあり、Aでchuckyが動…
再起動戦略one_for_allのSupervisorがいたとして、そこにtemporaryなWorkerとpermanentなWorkerがぶら下がっているとします。 permanentがWorkerがクラッシュすると、temporaryなWorkerが落とされて、両方再起動します。one_for_allなので。 しかしながら、t…