丁寧に手を抜く

頑張らない努力

アンティークな雰囲気に囲まれるカフェ「ELEPHANT FACTORY COFFEE」 @ 河原町

土砂降りの雨の中訪れたのは、新京極商店街をまたいで路地に少し入ったところに佇むカフェ、「ELEPHANT FACTORY COFFEE」。

開店前だったので入口前で雨宿りしながら待った。

f:id:craftzdog:20180523134506j:plain

一番乗りでドアをくぐった先に広がっていたのは美しいアンティーク調のテーブルや食器類で飾られた店内。暗めで落ち着いたムード。

f:id:craftzdog:20180523134712j:plain

メニュー。壁の質感がとてもいい・・。

f:id:craftzdog:20180523134742j:plain

奥にはテーブル席も一つだけあった。奥に並んでいる小物もかわいくて趣味が良い。

10分ほど経つと店内はすぐにお客さんでいっぱいになった。

旅行客らしき外国人も入れ代わり立ち代わりで訪れていた。

しかし落ち着いている雰囲気からか、客の喋り声は抑え気味なので落ち着いて滞在できた。

f:id:craftzdog:20180523135029j:plain

京都でまったり落ち着きたい人におすすめ。



Instagramやってます

www.instagram.com

Automatorを使って指定時刻にのみDropboxを稼働させる方法

自分はDropboxに大量の写真データやドキュメントを同期している。 そのため、同期がとても遅くてPCに負荷をかける。 日中に作業している時は邪魔になる。 でも別にすぐに同期しないと困るようなことはない。 なので、夜中にだけDropboxアプリが動いてくれればそれでいい。

ということで早速アプリの起動と終了をmacOSで自動化してみた。 以下に手順を紹介する。

Automatorを開く

スポットライトで"Automator"と入力すれば出てくる。出てこない場合は「アプリケーション」フォルダに入っているのでクリックして起動する。

f:id:craftzdog:20180523115307p:plain

こいつはmacの痒いところをかいてくれる、孫の手のようなヤツ。

Dropboxを起動するアプリを作る

新規作成で「Application」を選ぶ。

f:id:craftzdog:20180523115435p:plain

左のカラムからUtilitiesを選び、真ん中のカラムから"Launch Application" を選んで右にドラッグ&ドロップする。 そして、起動するアプリケーションにDropboxを選択する。

f:id:craftzdog:20180523115510p:plain

で、一旦保存する。場所は好きなところに。自分は "~/Applications/" に保存した。

Dropboxを終了するアプリを作る

続いて、同様の手順でApplicationを新規作成する。 次は "Quit Application" を選んで右にドラッグ&ドロップする。

f:id:craftzdog:20180523115804p:plain

そして保存。

f:id:craftzdog:20180523115838p:plain

試しに作成したアプリを起動して見てほしい。 正しくDropboxが起動・終了すればOK。 これで準備は整った。

Cronでスケジューリングする

作成したアプリを望みの時間に起動させたい。 そのためにはサーバ管理者ならおなじみのCronを使う。 Cronは簡単に言うと指定日時に指定のコマンドを実行するためのもの。 ここからはターミナルでの作業になる。

crontab -e

上記コマンドでcron編集画面を開いて、下記のようにルールを記述する。

0 2 * * * open /Users/<user>/Applications/Start\ Dropbox.app
0 6 * * * open /Users/<user>/Applications/Quit\ Dropbox.app

上記の例では毎夜AM2時にDropboxを起動して、毎朝AM6時に終了するようにスケジュールしている。 openというコマンドはFinderでファイルをダブルクリックした時と同じような挙動をCLIでやるためのもの。

以上で、Dropboxの実行を指定時刻のみに制限することができた。便利。

壁も床も真っ白なカフェ「Walden Woods Kyoto」@ 京都

インスタ映えを狙うなら即座にこのお店を推す、そんなカフェ。

京都駅から徒歩14分のところにある、去年末にオープンしたばかりだという「Walden Woods Kyoto」に行ってきた。

f:id:craftzdog:20180516212954j:plain

大正11年に建てられた洋館をリノベーションしたものらしい。

確かに二階部分は洋館の雰囲気が伺える。

f:id:craftzdog:20180516213431j:plain

ご覧の通り外装も内装も白を基調としていて、唯一コーヒー焙煎機だけが黒で存在感がある。PROBAT製で超レアとのこと。

f:id:craftzdog:20180516213605j:plain

二階に上がるとこのとおり、上下左右、真っ白である。白黒写真ではございません。

まるでフォトスタジオのようだ。

なんだか壁に絵を描きたくなる。

テーブルが無いのが斬新。 まるで大学のキャンパスで階段に座ってダベるみたいな感じで、壁際の段差の部分に腰掛ける。

f:id:craftzdog:20180516213817j:plain

暑かったのでアイスラテ。

f:id:craftzdog:20180516214325j:plain

照明がランタンというのもおもしろい。 夜は綺麗だろうなぁ。

お客さんも店員さんも全員オシャレだった。 俺もがんばってKindle Oasisを開いて対抗したが全くかなわなかった。 白Tだと壁と同化してしまうので次来る時は黒ずくめで来たい。

ここはゆっくり読書を楽しむカフェではない。 思うに、ここはソーシャルメディアに写真を上げることに特化したカフェだ。

f:id:craftzdog:20180516215022j:plain

ここをプロデュースしたのは嶋村正一郎さんというアートディレクターで、パリコレでも仕事したことのある人なのだとか。凄そう。 なのでこのカフェがとにかくおしゃれに振り切っているのは納得できる。

東京と違って空間の使い方にゆとりがあるのが良い。

こういう内装のセンスはとても真似出来ないが刺激になる。

たぶんランタンを照明に使ったのにもちゃんとコンセプト上の理由とかあるんだろうな。

リピするかといえば疑問だけど、時代の刹那に点を刻む部類のカフェとして楽しめるお店だった。 タイムレスというよりタイムリーなカフェ。 まさにファッションである。

Instagramが廃れないうちにどうぞ。



Instagramやってます

www.instagram.com

京都の両足院で座禅体験したらいろいろ気付きがあった

TEXT by TAKUYA

京都に思いつきで旅行に来ている。

前々からしてみたかった座禅の体験をやってきた。場所は建仁寺の中にある両足院というお寺。

f:id:craftzdog:20180513225832j:plain

天気はあいにくの雨だったけど、お庭の緑がしっとりと濡れてとても美しい。

入場して廊下をしばらく行ったところに、参加者が静かに佇んで待っていた。

f:id:craftzdog:20180513225941j:plain

眺めが良いので待ち時間はあっという間に過ぎた。

f:id:craftzdog:20180513230054j:plain

しばらくして住職の伊藤さんが現れて、座敷の中に通された。

f:id:craftzdog:20180513230201j:plain

畳には等間隔に座布団が敷かれていた。上の写真は終了して片付けた後のもの。

ここに30人ほどが座って座禅についての解説を聞いた。 そのお話がとても面白くていろいろ学ぶことが多かった。 忘れないうちに書いておこうと思う。


まず座禅とは心を無にすることではない。 むしろ、普段あまり気にかけていない感覚に意識を向けることで、様々なことに改めて気づく作業なのだそう。 例えば、普段仕事をしていると頭の中はそれでいっぱいにかるが、五感はその間もずっと動いている。 ただ、意識の割合がずっと思考に寄っているだけなのだ。 座禅ではその偏りをほどいて、「思考+五感」の割合を均等にする。

そのための第一ステップとして、まずは音と匂いに注意してしばらく目をつぶって座る。 線香が焚かれ、拍子木をカンと叩いてスタート。 雨のしとしと音、鳥のさえずり声、木々の擦れる音、だれかの咳・・・、様々な音が聞こえる。 普段「雑音」としてひとくくりにしている音が、耳の感覚に集中することで一つ一つの構成音に気づくことが出来る。 鼻から伝わる京都の空気、朝の少し冷たい気温、雨の湿気・・・。 これらはパソコンをカタカタやっている時にはまず気にかけない感覚だ。 意識が凛としてくるのを感じた。

f:id:craftzdog:20180513232852j:plain

続いて、身体の器官に意識を向けてみたりした。腕を伸ばすとじんじんする感じとか、前屈しながら身体の様々な部分の感覚に意識を巡らせた。 これがやってみるととても楽しい。 座って前屈すると当然ふくらはぎや首などの伸びている部分に集中するけど、太ももの前側とか胸、背中を意識することはあんまりない。 動作とはあまり関係なさそうな部位を意識しながらやると、体って全部つながってるんだなという事がよく分かる。おもしろい。

そこで、住職の話に集中して聞くのではなく、背景音にも意識を巡らせたり体の部位を意識し、お話はあくまでその内の一つとして情報を受け取ってみた。 すると、今まで感じたことのないような、「聞いてるけど聞いてない」みたいな感覚になって、とてもリラックスした状態になった。 この状態で仕事が出来たら日常のストレスが激減しそうだ。

f:id:craftzdog:20180513233814j:plain

そして次に目を開けたまま、半眼の状態で座禅を組む。 目の情報は膨大なのでつい意識の多くを奪われるけど、その視界への意識を開放する。 何かを注視するでもなく、ただボヤ〜っと空を見るような感じ。 気を抜くと目を閉じてしまったり、どこかを注目してしまうから難しい。

話と体験を通じて、座禅とは感覚や意識の偏りや執着をほどいて、ニュートラルな状態に持っていくエクササイズなのだなと理解した。 パソコンやケータイばかりしていると情報の入力が目と耳に偏る。 特定の神経ばかりに偏って興奮状態が続く。 だから身体性を失いがちで、ストレスも過度に溜まる。 座禅はその失った身体感覚を取り戻してストレスを受け流させてくれる。 気づかなかった執着に気付き、それを手放す機会を与えてくれる。 自分はそんな風に理解した。

参加してよかった。

f:id:craftzdog:20180514002118j:plain

f:id:craftzdog:20180514002145j:plain

f:id:craftzdog:20180514002206j:plain


両足院の座禅体験はほぼ毎週末の朝にやっているので、京都に来た際にはぜひおすすめ。 ヨガとかもやってるらしい。

ディスプレイ用クリーナーを買ったら掃除が捗って清々しい

毎日触れるものは出来るだけ清潔に使いたいもの。 キーボードとかマウスはたまに掃除用アルコールで拭いて掃除している。 手の皮脂が綺麗に取れてとても快適になる。

iPhoneiPadiMacのディスプレイの掃除は面倒だ。 息をは〜と吹きかけて曇らせてクロスで拭いてもなかなか指紋や皮脂が取れない。 iPad Proみたいなデカい画面だと掃除も大変で面倒。 iMacの問題はホコリ。ベッドが横にあるので数日でホコリまみれになってしまう。

これらの問題を解決すべく、専用のクリーナーを買ってみた。

f:id:craftzdog:20180428145303j:plain

ROGGE DUO-Clean スクリーン クリーニングキットというやつ。 2000円ぐらいでちょっと高め。 レビューの評価が良かったのでこれにした。

これを使うと掃除がすごく楽になった。 付属しているクロスに1プッシュ吹きかけて、濡れた部分で画面を拭うと、ひと拭きで汚れが落ちる。

f:id:craftzdog:20180428145325j:plain

こんな感じのベットリとした汚れが・・

f:id:craftzdog:20180428145339j:plain

すぐに綺麗にできる。 あと、拭いた後の画面のさわり心地がつるつるになって気持ちいい。

iMacのディスプレイの掃除は、まずカメラ用のブロワー(シュッシュッと空気を吹きかけるやつ、数百円以下で手に入る)を使ってホコリをある程度吹き飛ばす。 その次に、このクリーナーで吹くと新品のごとくきれいになる。 くしゃみや食べ物などの飛沫が付着したものも綺麗にとれる。

ただ、買ったばかりの頃のiPhoneのように、全く指紋が付かなくなるわけではないようだ。 汚れ防止コーティングのような効果はあんまり期待できないので注意。

自分の作業環境なので毎日綺麗に保ちたい。

追記

Twitterで質問をいただいたので回答。

10回ぐらい使いましたが、水滴や拭き跡が残ることは今のところないですね。

タイピングの悪い癖を矯正したらストレスが減って効率が20%向上した

f:id:craftzdog:20180408113735j:plain

どうもTAKUYAです。

みなさんは2018年の正月に掲げた抱負をまだ覚えているだろうか? facebookに長々と投稿する人もいるよね。 自分は掲げない。なぜなら100%忘れるから。 その代わり、年の初めに新しいことをやり始める。 今年はキーボードのタイピングの悪い癖を直すことだ。 数ヶ月続けてようやく効果が出始めた。

自分のタイピング速度はもともと速い方だと思う。 確か 腕試しチェックサイトでのレベルは comet (375~399pt) だった。 まぁ中学二年からパソコンを触っているので速くならないほうがおかしい。 でも以下のような悩みがあった:

  1. キーボードの入力音がうるさい
  2. タイポが多い
  3. 手が疲れる
  4. 入力時にストレスを感じる

作業効率を更に上げるためにもこれらの問題を解決したい。 入力音がうるさいと他人の迷惑にもなるし。 自分のタイピング癖を見直すと、以下のことに気づいた:

  1. ホームポジションを遵守していない
  2. vimでのカーソル移動に hjkl キーを使っていない

この通り自分は基本中の基本を守っていない。 だから手癖だらけ。そのせいで以下の弊害が発生していた:

  • 手首の位置がうろうろ安定しない
  • いらない力が入ってタイプ音が大きくなって手が疲れる

今思い返せばこんなんでよくプログラミングが出来てたなと思う。 どうやって入力していたかというと、キーの相対位置を一文字ごとに考えて指を動かしていた。

ギターやピアノの運指をイメージすると分かりやすいと思う。 ギターを1音ずつ弾く時に、フレットや弦の移動コストを最小限にするように指を動かす感じ。

例えば「k」を入力したら、その上は「i」と「o」だ、右下は「,」だというようにマッスルメモリーに叩き込んで、それに合わせて手首の位置や指を動かしていた。 これでブラインドタッチする。そりゃストレス感じるわ、と。これが中学から培った我流のタイピング技術である。笑

こんな打ち方だから、離れたキーを入力する時にタイポが高確率で起こる。 カーソル移動で毎回矢印キーまで移動しなければならないので無駄が多い。

まずはホームポジションhjklを導入するとともに、vimでは以下のことを行った:

  • 自分の手癖に合わせていたvimのキーマップ設定を外してデフォルトを使うようにした
  • Escキーは遠いので使わず ctrl-[ノーマルモードに戻るようにした

あとは Karabinerというmac向けのキーマップツールを使って、vimっぽいキーマップをOSグローバルに適用してみた。 Complex Modificationsからお好みの設定を見つけてインポートすればいい。 こちらのVi Style Arrowsを使った。

最初はとても辛くて辛くて、竹書房ゥァア゛ーッと奇声をあげたくなったけどなんとか耐えた。 痛みの伴う矯正だった。 ホームポジションを尊守していると薬指と小指を沢山使う。 これが結構慣れないと思うように動かなくてしんどい。 やはりキーボードは楽器と同じだ。 上達するかどうかは薬指と小指にかかっている。

vimのキーマップはよく考えられているなと改めて思った。 デフォルトのキーマップ設定は今後も変えないで行きたい。 最初は ctrl-[ で小指が届かず ctrl-p を入力してしまってコード補完が頻繁に表示されるという悩みがあったけどこれも慣れの問題だった。

おかげで入力ストレスはかなり軽減されて、手も疲れづらくなった。 苦手な文字が限定されてタイポ率が下がった。今は主に ,./-=らへんをよくタイポする。難しい。 リターンキーは中指ではなく小指で押すようになったので「ッターーーーーン!!!」とやらなくなった。 これでもうキーボードを破壊しなくて済む。

まだ残っている問題は、日本語の入力。 自分は日本語を打つ頻度が低い。 プログラミングではほぼ英数字しか打たないから。 だから日本語の矯正がまだ残っている状態。 ゆっくり直していきたい。

一人の時間を過ごすことに特化したカフェ「fuzkue」に行ってきた @ 初台

自分がカフェにもとめているものは間違いなく癒しだ。

普段PCにかじりついてキーボードが壊れるまで文字を打ち続ける(実際リターンキーが壊れた)日々を送っているから、手を休めソファに深く腰掛けてリセットする時間が欲しくなる。

でも一般的なカフェはおしゃべりをする団欒の場でもある。 学生が勉強をしていることもあれば、パソコンを開いて何やらカタカタとやっている人も多い。 だから単にお洒落なだけでなく「落ち着く」カフェは貴重なのだ。

何も考えたくない、あるいは黙々と読書を楽しみたい。 fuzkue(フヅクエ)はそんなニーズに応えてくれるカフェ。 こちらはTwitterで拙作アプリのユーザさんに教えていただいた。ありがとうございます :)

f:id:craftzdog:20180403181926j:plain

初台駅からすぐのところにある雑居ビルの二階。

f:id:craftzdog:20180403183255j:plain

アンビエントな音楽がゆるやかに流れていて、お客さんたちがぽつぽつと腰掛けて雑誌などを読んでいた。

fuzkue.com

このカフェに訪れる前にホームページに目を通しておくといいかもしれない。 ここは少々変わっていて、図書館のようなルールが設けられている。 おしゃべり禁止、パソコンカチャカチャ禁止など、他人の邪魔にならないように配慮すること。 それがこの居心地のいい空間を保つ役割を果たしている。 ホームページにはなぜ必要なのかという説明とともに、ルールが丁寧に綴られている。

もちろん、各席にもルールブックが置かれていて、注文の前に目を通すように促される。 何も知らずに入ると「面倒な店だな」と思ってしまいかねないのでご注意。

f:id:craftzdog:20180403182901j:plain

カウンター席に座って、コーヒーとケーキを頼んだ。

f:id:craftzdog:20180403182113j:plain

確かに静かで居心地がいい。 なんかふわふわした気分になった。 家にもこんな空間が欲しくなる。 香りにも気が配られているようで、アロマ的なやわらかい香りがした。詳細が知りたい。 気持ちよすぎて眠くなる・・隣の客は寝ていた。

f:id:craftzdog:20180403183335j:plain

席と席の間隔が離れていて、隣の人が気にならないように配慮されている。 こういった設計は都会のカフェではめずらしい。 同じ空間にいるのに他人が気にならないというのは中々作れないものだと思う。 一人の世界に浸りたい人はぜひ一度訪れてみて欲しい。


この手のカフェは流行ってしまうと良さが失われてしまうから難しい。 だから売り上げには限界があるし、たぶん儲けを追求する人がやる商売ではない。 席料があるのはうなずける。そのため客単価は1,600〜2,500円と高め。 その分時間を気にせずに滞在できる、という仕組み。 逆に頻繁には通えないのがトレードオフ

こうやって客層を絞って初めてできる商売は好きだ。 自分がニッチ向けのアプリを作っているからというのもあるかもしれない。 世界に何万店舗も展開したりだとか、何億人のユーザを獲得したりとかも派手で良いけど、ひっそりと狭く深く濃ゆい、知る人ぞ知るサービスもまた乙である。


  • 食べログ
  • 東京都渋谷区初台1-38-10 二名ビル 2F
  • 12:00~24:00
  • 日曜営業 不定
  • 禁煙

Instagramやってます

www.instagram.com

コーヒーテーブルと一人がけソファを買ったら部屋のカフェ化が進んだ

以前、ブログでアプリで稼いだお金は全部投資に回すという話を書いた。

部屋もやはり好きなものに囲まれた方がふとした時にやる気が出て良い。

例えばドライフラワーを壁に飾ってるんだけど、ふと目をやったときに綺麗だなあと思えてちょっとだけ気持ちが安らぐ。とても良いのでおすすめ。手入れも要らないし楽。

f:id:craftzdog:20180327214714j:plain

おすすめは原宿のTHE LITTLE SHOP OF FLOWERS。お値段も数千円程度なので手軽に癒しを手に入れられる。トイレとかに飾ったりとか。

過去の記事を読んでくださっている方はご存知の通り、自分はカフェが好きだ。 前々から部屋もカフェっぽくしたくて、今回はコーヒーテーブルとソファを買った。

家具系は値段も品質もピンきりなのですごく悩む。 自己投資を免罪符にしてつい高いものを買ってしまいたくなる。 本当はCueroのバタフライチェアが欲しい。でも15万円もする。これは諦めた。

で、リーズナブルかつカフェっぽい雰囲気のものを探した結果がこちら:

f:id:craftzdog:20180327215736j:plain

ソファは若干座椅子感があるけど、取外し可能な脚がついている。

f:id:craftzdog:20180327215842j:plain

値段はそれぞれこちらの通り:

ソファに関しては出来れば肘掛けの付いているものが欲しかったんだけど、同じ価格帯で座りやすそうなものが無かったので妥協した。

テーブルはイメージ通りの暗めな色合いで、かといってチープな印象は無く、そつない感じ。欲を言えばもっとアンティーク調のものが良いんだけど、そうなると価格が激はねしてしまうので今回は見送り。

f:id:craftzdog:20180327204551j:plain

買ってから1週間ほど経ったけど、問題なく気に入ってる。買ってよかった。

もっとアプリの売上が伸びて余裕ができたら、肘掛け付きのもっといいソファを買おう。というかまず広い部屋に引っ越そう。

ソファとテーブルをお探しの方はご参考まで。

本に囲まれてゆっくりできるカフェ「RBL Cafe」 @下北沢

東京は毎年、冬から春への移り変わりの時期になぜか思い出したように突然雪が降ったりする。去年もそうだったような記憶がある。冬が最後にさよならを言いに来た気がした。でも僕はうんざりして寝て過ごしたのだった。

その次の日からすごく暖かくなった。桜の木はこの日を待ってましたとばかりに咲き始めて、毎朝のジョギングで目を楽しませてくれている。

先日は久しぶりに出かけた。表参道は平日にも関わらずすごい人だかりだった。 NUMBER SUGARというキャットストリートの脇にあるお店でキャラメルを買った。 けっこう美味い。女の子にあげれば喜ぶこと間違い無し。

f:id:craftzdog:20180325212402j:plain

その帰りに下北沢へ。 駅から徒歩10分ほどのところに控えめに佇むカフェ。

f:id:craftzdog:20180325205432j:plain

入り口を見ただけで「ああ、当たりだ」と確信した。

f:id:craftzdog:20180325210716j:plain

小さな空間の壁一面が本で埋め尽くされている。落ち着いた照明に照らされて。

f:id:craftzdog:20180325210638j:plain

座り心地の良いソファ。

f:id:craftzdog:20180325210827j:plain

早速腰掛けて、自作サービスのユーザサポートを片付けた。 難しいバグをユーザさんと協力して解決できた時は達成感がある。

そして並んでいる本をゆっくりと観察した。 漫画を期待したけど無かった。 デザインの本や自己啓発系、旅行など、硬いトピックからゆるいものまでざっくばらんに並んでいる印象。

f:id:craftzdog:20180325211530j:plain

自分はカフェに関する本を少し読んだ。 そのあとぼーっとして、コーヒーを飲み干して、帰路についた。

単調な日々にアクセントが加わったような良い気分だ。

おすすめ。


  • 食べログ
  • 東京都 世田谷区 代沢 5-32-12
  • 禁煙
  • 営業時間 13:00~22:00
  • 定休日 月曜日・火曜日・水曜日・木曜日

React Nativeで手軽に別スレッドでコードを実行する方法

English version available here:

dev.to

React NativeアプリはJavaScriptで組まれるから、1つのスレッドしかない。 だからCPUヘビーなタスクを実行するとUIをブロックしてしまう。例えばインデクシングとか。 バックグラウンドでJSを実行したければ、react-native-workersみたいなネイティブモジュールを使う必要がある。これはWeb WorkerみたいなAPIを提供してくれるモジュール。でも、単純なコードを実行したいだけならオーバースペック感がある。あと、むやみやたらにネイティブモジュールを増やしたくない。アプリが複雑になるから。expoアプリを作っている人はそもそもネイティブモジュールが使えない。

で、気付いたんだけど、WebViewを使えばいいじゃないか、と。 WebViewには injectJavaScript というメソッドがあって、これを使えば任意のコードをwebview内で実行できる。 しかもアプリのUIスレッドをブロックしない。 なぜならwebviewの中身はSafari(iOS)/Chrome(Android)の別インスタンスだから。 それを確認するために以下のコードを両方のプラットフォームで実行してみた。仮説は当たった:

for (;;) { Math.random() * 9999 / 7 }

そうと気づけばWebViewはとても便利。ネイティブモジュールいらずでJSをバックグラウンド実行できる。 例を以下に示す:

import React, { Component } from 'react'
import { WebView } from 'react-native'

export default class BackgroundTaskRunner extends Component {
  render() {
    return (
      <WebView
        ref={el => this.webView = el}
        source={{html: '<html><body></body></html>'}}
        onMessage={this.handleMessage}
      />
    )
  }
  runJSInBackground (code) {
    this.webView.injectJavaScript(code)
  }
  handleMessage = (e) => {
    const message = e.nativeEvent.data
    console.log('message from webview:', message)
  }
}

コードの実行結果を受け取りたい時は onMessage propを上記のようにwebviewに追加すればいい。 webview側では window.postMessage 関数があって、これを呼び出すと渡したデータがアプリ側に送信される。

以下のようにwebview側で呼び出す:

const message = { ok: 1 }
window.postMessage(message)

するとアプリ側で以下のように結果が得られる:

message from webview:, { ok:1 }

ただし、データの受け渡しにオーバーヘッドが見込まれるので注意する必要がある。巨大なデータを何も考えずに JSON.stringifyJSON.parse すると本末転倒なので気をつける必要がある。 まあ、これはネイティブモジュールを使った場合でも似たような問題かもしれないけど。

That's it! 😄

健康については英語で検索したほうが質の良い情報が見つかる事に気づいた

2016年末に炎上したDeNAの医療系サイトWELQに代表される日本の健康系情報サイトはアフィ目的で作られたものばかりで、素人臭のする信頼性の欠けたものばかりが未だに多くのさばっている。

似たような文書フォーマットで前置きが長くて、同じことを言い方を変えて何回も繰り返し書く傾向が強い。学術的な引用など皆無。

ふと思いつきで英語で検索したらとても良質な情報にすぐにありつけて感動した。

例えば「work out stress」で検索するとこんなページが出て来る:

www.mayoclinic.org

友人曰く、MAYO CLINICは潤沢な資金をもって先進的な医療研究を行っている病院らしい。

内容も読みやすくてわかりやすい。

他には「workout before bed」で検索すると以下のようなサイトが上位にヒットする:

Should You Work Out Before Bed? | Get-Fit Guy

文章を読むとちゃんと研究や確立された理論に基づく書き方をしていて納得感が持てる。

がんばって探せば日本語でもこういうちゃんとしたサイトがあるけど、いちいちちょっとした身近なことをそうまでして調べるモチベーションは正直ない。

だから日本依存のトピック以外はこれから出来るだけ英語で調べようと思う。そのほうが英語の勉強にもなるし。

フィリピンの人から突然スタートアップに誘われたけどお断りした

最近あった出来事。

ある日Facebookで知らない外国人からメッセージが飛んできた。

読んでみると、俺をmeetup.comで見つけたと。んで面白そうだから連絡してみた、という。

どうやって見つけたのか詳しく聞くと、一時期よく参加していた以下のイベントで見つけたらしい。

www.meetup.com

これはプログラミングを教える代わりに英会話の練習相手になってもらうという趣旨のイベント(勉強会)。

そして俺をFacebookで検索して見つけて、ホームページに飛んで、俺の仕事やパッションに感心したのだとか。

で、俺はその時、てっきりこの人はプログラミングが学びたくて連絡してきたんだなと思っていた。

とりあえず挨拶代わりにビデオコールしようよ、としきりに誘うので、まぁ、久々の英語の練習になるし軽くならいいか〜と夜22時に通話を開始した。

フィリピンの一般家庭のネット速度は日本で言うとまだまだ10年前ぐらいらしく、Facebook Messengerでは速度が足りずまともに会話できなかった。

WeChatなら軽いと言うのでインストールして登録して再度通話開始した。おお、すごい、こっちなら話せる。WeChatすごい。

んで挨拶を交わして軽く雑談したあと、予期せぬ事が起こった。

なんかやりたいことがある、と。

あー、ウェブサイトかなんかかな?プログラミング初心者だし、と思っていたけど全然違った。

そこから延々二時間以上、スタートアップのアイデアを聞かされた。

なんかセキュリティ系と広告モデルを組み合わせたサービスのアイデアで、Airbnbとかではびこる詐欺を未然に防ぎつつ、ユーザに広告を見せるインセンティブを与えるというものだった。

この説明では意味が分からないと思うけど、詳しく書いても仕方がないので割愛する。

すごい勢いで話すので聞き取れなくて、何度も同じことを噛み砕いて説明してもらった(親切)。

でも内心「はよ寝たい」と思っていた。わいの思ってたんと違う。

提案は、俺にそのプロジェクトのco-founderになってもらって、プロトタイプを作って欲しいという事だった。

そのプロトタイプをもとに、出資を集めたいらしい。

一通り話を聞いたあと、とりあえず「そのアイデア面白いと思う。でも回答は時間ちょうだい」と言って通話を切った。

最終的には以下のように言って断った。


Hi, Thanks for inviting me to your project. I appreciate that you tried to explain your idea to me regardless of my poor English listening skill. I've considered about joining your project, but I'm afraid that I can't be your co-founder. The biggest reason is that I basically like to work on what I want. I've never encountered any scams online in Japan. It totally depends on my personal experience and not depends on how interest your project is. It'd be better to find someone who has a similar problem with you to solve. Because I think great solutions would always come with willingness to solve the problem. Sorry, but I hope your project will soon get angels.


話を聞くのも、断るのも結構神経とエネルギーを使うので疲れた。

てっきりプログラミングを学びたい人だと思っていたので、なんだか肩透かしを食らった気分。

今回は英語のいい練習になったからよかった。でももしそうでなかったら一方的に興味のない話をされただけで、時間の無駄になるところだった。

というか、知らない外国の人がいきなりコールしてきて、スタートアップの話をきいて、いくらそれが面白くても「じゃあ、やろうかな」とはならんよ。音信不通になったら終わりだし。

気に入ってくれたのは嬉しいんだけどなぁ。相手も悪い人ではないんだろうけど。パートナーの探し方、もうちょっと考えたほうがいいよね。

この手の連絡には今後気をつけたい。

以上、WeChatは素晴らしいという日記でした。

英語のリスニングがなぜ苦手なのかに気づいたらだいぶ聞き取れるようになった

f:id:craftzdog:20180226155743j:plain

自分は英語の読み書きはそこそこ出来るものの、普段英会話をしないので聞き取りが大変苦手。

でも最近は昔と比べてだいぶ聞き取れるようになったと思う。あることに気をつけるようにしたから。

それは単純なことで、「文章の初めを注意して聞く」ということ。

英語が得意な人なら当たり前かもしれない。

日本語は構文上、大事なことを最後に言う傾向がある。

例えば、日本語は文が否定形かどうか最後まで聞かないと分からない。疑問形も語尾で決まったりする。

それに対して、英語は初めに肯定形か否定形、あるいは疑問形かがわかる。

英語は、後付けで状況とか雰囲気とかを付け加えていく語順で、後ろに行くにつれてどんどん重要度が下がる。結論を先に言って、理由をあとで述べる傾向が強い。

だから、最初さえ聞き逃さなければあとは推測でなんとなく補完できる。

自分が英語のリスニングが苦手だった理由は、日本語と同じ感覚で英語を聞いていたからだった。

最初を聞き流して、後から大事な単語が出て来ると思って集中して聞いていた。

そうじゃなくて、最初を集中して聞いて、後は付加的な情報なんだと思って聞くと自然と入ってくるようになった。

余談だけど、この人の英語は聞き取りやすくてすごくいい練習材料になる:

www.youtube.com

Mayukoさんはソフトウェアエンジニアとして海外で働いている人。

いきいきと喋る様子にとても好感が持てる。

こんな風に喋れるようになりたいね。

無骨なのに落ち着くカフェ From afar 倉庫01 @ 浅草

f:id:craftzdog:20180219211722j:plain

大江戸線蔵前駅から徒歩10分ほどに位置するカフェ「From afar 倉庫01」

名前の通り倉庫を改装した作りになっていて、トタンや鉄筋がむき出しになっている。

f:id:craftzdog:20180219212156j:plain

それなのに、店内は落ち着いた雰囲気でオシャレ。

f:id:craftzdog:20180219211751j:plain

周りには雑誌や絵本などが飾られていて自由に読めるようになっている。 読書をゆっくりしたり、お喋りを楽しむのに最適な空間。

f:id:craftzdog:20180219211825j:plain

店員さんも丁寧な応対で終始好印象のカフェでした。


Instagramカフェ巡り写真を投稿しています。よかったらフォローしてね。