taiki-t's diary

きぎょうにっき, React Native, Rails そして雑多な記録: The world is waiting for you to give it a meaning.

感情を自由に書き表せたらな。ときどき、そう思う。そういうスキルが無い者としては、ただただ、その「表したい何か」を抱えて画面をじっと見ておくことぐらいしかできないのだけれど。自分の表したい気持ちを自由に文章に表せられるなら、それはどんなに素…

Implement a simple caching for Relay Modern.

Unlike Relay Classic, Relay Modern doesn’t come with an automagical caching system out of the box. Instead, it has an utility class to help you implement a cache system. In this article I’ll describe an example implementation of a simple c…

曲作り 8/22

息抜きに曲を作った と言っても出だしだけ、簡単に。 soundcloud.com 人は悲しみを抱えて生きている しかしその中にも一筋の輝きが差す それは大切な人からの贈り物かもしれない 溢れた涙に反射する光も時間が経てば 大切な輝きだったと思える日がくるかもし…

仕事が好きな理由1

仕事が好きな理由はいくつかあるけど、その一つは「好きなだけ打ち込めるから」。 好きなことに打ち込めるというのは大事で、しかもその対象が人間でないということが重要。 どんな人でも一人の人間の思いを全て受け止められる人などいない。 一人の人間に自…

アイディアを寝かせることと生産性

今作っているアプリLylicaのMap機能を改善しようと思ったのだけれど、 なかなか腰が重かった。そもそも機能自体もどうして良いかあまりわかっていなかったし、 技術的にも大変そうだなあと感じたので。 そのまま着手したらだらだらやり続けることになりそう…

Relay Modernに移行した

今作ってるアプリ、Lylica - 街のおすすめが分かるSNSをRelay ClassicからRelay Modernに移行した。 動機 今後機能を追加していくにあたり、今のうちにえいやとやっておきたかったからだ(とある機能の追加に腰が重かったから先にこっちに着手したというのは…

嬉しかったこと。

夢が一つ叶った。 今作っているアプリ、Lylica(りりか)は街のおすすめをみんなで投稿して作るSNS。 他のユーザーさんによる近くのおすすめが、アプリを開くだけでわかる。 今いる場所で何ができるかって調べるのは意外と手間で、そこを解決したかった。 Ly…

川が流れる。 穏やかな春の日。新緑の芽生える雨上がりの初夏。 誰もいない堤防の上、二人の男女が歩いている。そんな景色は無かったのに、あったかのように思えてくる。 上流から下流へと絶え間なく移りゆく流れ。同じ水のはずなのに、流れているのと止まっ…

メモ: ファイル名をキャメルケースにするRubyワンライナー

Relay Modern compatモードで動かしてるんだけど、fragment名についてcomplierではファイル名に依存してて、runtime(?)ではコンポーネント名に依存してる… snake caseとcamel caseにしてるからファイル名変えないと…— taiki- (@taiki__t) 2017年8月9日 とい…

技術コミュニケーションでは「良いと思うので」に理由を添えて生産性を高めよう

「こちらの方が良いと思うのでこうします!」 「これはあんまりよくないと思うので」 というやり取りはよくある。自分も気を抜くとやってしまう。 これは暗黙的に「良い」の概念が共有されていると思いやってしまいがちだが、必ずしも共有されているわけでは…

ターミナルでgit grep して一括置換するコマンド

$ git grep -l 'search word' | xargs sed -i '' -e 's/search word/replacing word/g' こんな感じ。 search word, replacing wordはそれぞれgrepする語、置換後の語を指定。 git grep -lで対象の語が含まれるファイル一覧を取得、 | xargsでそれを sedコマ…

React Native Tab View with default index to 1

When Using React Native Tav View with defalut index to 1, I happened to face a strange behaviour; automatically swipes to index 0 sometimes when opening the scene. So what I did was to set initialLayout and it fixed it. Like this: const in…

React Nativeで画像のトリミング(cropping)

React Nativeで画像のトリミングができる。特に外部のコンポーネントを入れる必要はない。 標準の ImageEditor を使ってできる。 しかしながらいかんせんドキュメントが少ないのでここに記録も兼ねて残そうと思う。 ※ 記事執筆時に使用したReact Nativeのバ…

heroku で定期dbバックアップ

$ heroku pg:backups:schedule DATABASE_URL --at '02:00 Asia/Tokyo' --app your_app_name これだけだった。簡単 devcenter.heroku.com TimeZoneの表記はここから https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

React NativeのImageを使うときの注意

React Native のImageを使うときの注意 とりあえずImage要素にサイズ(widthとheight)は指定する。じゃないと表示されない。 バージョン: 0.44.0 追記: 2017/07/07: 0.47.0以降のバージョンでこの制約は消えそう。Using <Image> with nested content now causes warn</image>…

React Native のTouchableなんとか使うときの注意

TouchableWithoutFeedbackとか使うとき、 とりあえず内部の要素はTextだろうがImageだろうがViewでラップしておくのが無難。 余計なハマりポイントを回避できる。 バージョン: 0.44.0

試訳: combineReducers

Redux documentsの「Using combineReducers」の最初だけざっと試訳してみた。推敲してないので間違ってたら申し訳ない。とはいえ割と合ってると思う。まあやってみたのを手元に置いておくだけなのも勿体無いので置いておく感じ。改善は自由に。 combineReduc…

Lylicaというサービスをリリースした。

Lylica (りりか) というサービスをリリースした。iOSアプリで。 Lylica - その場のいまを共有を App Store で 「世界をもっとダイナミックにしたい」 そう思って作ってきた。きっかけは、昨年(2016)に翻訳書1を出版したことに遡る。 昼間は会社、夜は翻訳、…

メモ:React Native で e2eテストできそうな detox

https://github.com/wix/detox これ使えそうと思ったけど、Permission用Alert周りの処理で詰んだ。 工夫すればできそうだけどまた後ほどtryする。 導入自体はすごく簡単だった。 このIssueがcloseする頃にはそこらへんいい感じになってるのではと期待: githu…

react-devtoolsをReact Nativeで使う

React Nativeで開発でのデバッグにはNuclideを使っていたけど、react-devtoolsも使える。 インストール方 グローバルにインストールする場合 npm install -g react-devtools これでreact-devtoolsとterminalでやれば走る。 プロジェクトにインストールする場…

Mark Zuckerberg's Commencement address at Harvard

www.youtube.com What I thought listening to this is: “It’s not the world that gives you the meaning, the world is waiting for you to give it the meaning.”

GraphQL Mutation

Relay使ってての話なんだけど Mutationはできる限り単一責任にした方が、のちのユースケース変更時にコスト低そう リソースに対する状態変更は、Mutation名を動詞にしてidだけ送るとクライアントとサーバー側を疎結合にできて良さそう UpdatePostStateMutati…

はてなブログthemeのevergreenにサイドバーをつけた

つけたかったので #container { width: 1200px; } #container-inner { min-width: 1200px; } #main { float: left; max-width: 780px; margin: 0 auto; } こんな感じ。適当にやったらできたのでよかった。 まあ正確にはつけたというよりフッターを移動した、…

メモ: puma on heroku, worker と thread

web serverとしてpumaを用い、Railsアプリケーションをherokuで運用するにあたり workerやthreadという話が出てきたのでメモ。 ネタ元は: Deploying Rails Applications with the Puma Web Server | Heroku Dev Center Workers Workerとは pumaの文脈でいうw…

メモ: React Navigation を使い始める時に確認すると良さそうなこと (v1.0.0-beta.10時点)

Release v1.0.0-beta.10 · react-community/react-navigation · GitHub React Navigation V1.0.0-beta.10が出た。そう、React Navigationはまだbetaが取れてない。 使い始める前に現状どんな問題があるか確認しておくと時間を節約できると思う。 どこを確認…

Relay Modern rewriteについてのメモ

We still had that long backlog of ideas, but we knew that we were adding to the tail of the queue faster than we were shifting from the head of it. It was a scary prospect, but we came to the conclusion that it was time to burn it all down…

運がいいとか悪いとか

よく運気をあげるとかいう話を聞く。運をよくすれば物事がうまくいくとか。ただそれだけを聞くと眉唾というか実態のない怪しいものを崇めるような雰囲気が漂う。 運気をあげるために日頃の行いをよくしなさい、的な。 これ、運気っていうとよくわからないけ…

Sketch3 グラデーションでぼかす

かなり前にこんな記事を書いた taiki-t.hatenablog.com グラデーションでぼかす方法はまた今度紹介するなどと言いつつずっと書いてなかったので手軽に手順だけまとめておこうと思う。 四角を二つ重ねてかく。一つ書いて⌘ + Dすれば楽だろうか。 その二つの四…

西日暮里.rb 36回目「Electronではじめるアプリ開発」発売記念 LT 大会!」の記録

nishinipporirb.doorkeeper.jp 参加してきた。というか主催者の一人w 今回はオーガナイザーの一人であるじょうさん (@joe_re) が本↓を執筆したので記念LT会をした。 gihyo.jp テーマは自由。けれど本がElectronということもあり、かなーりfrontよりのLT会だ…

Relay Modernへの移行検討をした

結論: もう少しドキュメントとサンプルが増えてからにしよう(rcが外れる頃かな?) 追記: 2017/08/21: 移行しました: Relay Modernに移行した - taiki-t's diary 背景 現在アプリを作っていて、フロント側の構成はReact Native + Relay + Reduxという感じだ…