さわらブログ

さわら(@xhiroga)の技術ブログ

Expo Client can only be used to view your own projects... 自分以外が作ったExpoのデモアプリはiPhoneでロード不可になったそうです

ExpoでTrending Projectsを動かしてみたいですよね?
最近こんなエラーが出るようになりませんでしたか?

Sorry, you are not allowed to load "(PROJECT NAME)"
...
Expo Client can only be used to view your own projects. To view this project, please ensure you are signed in to the same Expo account that created it.

f:id:hiroga_cc:20180509080100p:plain

どうやらAppleのアプリ公開時のReview対策で、iOSに関しては自分以外が作成したExpoアプリをQRコードからロードできなくなったそうです。
ソースはこちら。 blog.expo.io

Working CopyでSSH Connection rejected. Make sure... と言われたら鍵を登録しなおしてみよう

iPhone用のGitクライアント"Working Copy"でBitBucketを登録しようとしたら怒られたので、対処法をメモっておく。

Working Copy

Working Copy

  • Anders Borum
  • 仕事効率化
  • 無料

※ こんなふうに怒られます。
f:id:hiroga_cc:20180506151154j:plain
"SSH Connection rejected. Make sure SSH Key is valid on bitbucket.org."

鍵の登録し直し方

  1. 設定メニュー(歯車アイコン) → SSH Keysを洗濯
  2. WorkingCopy@{iPhoneの名前...} を選択し、クライアントが保持する鍵のメニューを開く
  3. Remove Key from BitBucketを選択し、続けてSign Outを選択
  4. サインアウト後に再びサインイン&鍵の登録

f:id:hiroga_cc:20180506151513j:plain

上記の手順でClone Repositoryが可能になりました!(あくまで私の場合)
お疲れ様でした。

深圳🇨🇳→香港🇭🇰→台湾🇹🇼 4~8日目

なんだかんだ8日間も海外にいました。旅行では最長かな?
移動時間が多くを占めたせいでなんかもったいない感じの旅行になってしまったこと、他にやるべきことがある気がしてろくに下調べせずに行ったことが今回の残念ポイントですね...。

f:id:hiroga_cc:20180506094434j:plain

友達と会ってご飯食べられたのはよかったけど、そのくらいかしら。
贅沢な時間の使い方をしたなーと思いました。

香港も台湾もノマドできるよ

公共のWi-Fiが充実しているのでMac開いてカタカタするのも気軽。
子供が遊んでたり、エアロビしているおばさんたちがいたりして非常に良い(そう、太極拳だけではなくエアロビしているおばさんもいるのだ。)

f:id:hiroga_cc:20180506094422j:plain
九龍公園:無料で入れるエリアに動物園もあった

深圳🇨🇳→香港🇭🇰→台湾🇹🇼 2~3日目 #StartupWeekend

中国深圳でStartupWeekend(ビジネスモデルを競うハッカソン)に参加し、IoT仮想通貨ゴミ箱作ってきました。
StartupWeekendの温度感がわかった〜&もっと深圳らしいことがしたかった〜!というのが感想です。

f:id:hiroga_cc:20180430105853j:plain

1日目はこちら

StartupWeekend

2&3日目

電子部品のおろし街+タワーマンションの中階層にあるコワーキングスペースを借り切ってのハッカソン
2日目はディスカッション、3日目はRaspberryPiとセンサーのつなぎこみとか通信とかのプログラミングをやってました。

電子部品調達でおろし街に向かうとほんとに何でもあった!
でも電子系や機械系に強くないせいで買い物チャンスを逃した感が強い...私のチームはライトとスピーカーを購入。
ほんとは外付け電池でもっと明るいライトを光らせたかったけどやり方分かんなかった...Raspberry Piに習熟したい。

あとはインタビューも行きました!
ゴミ箱を作ろうとしたので、深圳の街中でインタビュー...ところが街中はめちゃくちゃ綺麗。
街の1ブロックに4つはゴミ箱があり、オレンジ制服の清掃員はその倍はいるって感じ。
清掃員さんは農村から出稼ぎで来ている人が多いのだとか。一人にインタビューしたけど、なんか上司がうるさいとか搾取されてるとかそんな感じでした。
(仕事に対するある種のだらしなさ、みたいなのは街中のいろんなとこで感じましたねー。監視されてなければ仕事中にスマホ見る。あるべき姿って感じはするけど)

コンテストの結果は入賞ならずで、これはハード作ったのに見せ方が悪かったってところに尽きるのかなーと。
なんでかなー。個人的にはハードウェア触って満足してしまったのはちょっとありますね!

f:id:hiroga_cc:20180430110049j:plain

総括

Startup目指している人は全体の1~2割で、残りは楽しむぞ〜!って人が多かった印象!
深圳行けるぞ!ってなったらそっち目的の人がたくさん来るのはよくわかる(自分とか)

中にはStartupWeekendの常連みたいな人もいて「ここにもコミュニティがあるのか。いいな〜」と思ったけど、 それって一歩間違えれば"ハッカソンマスター"みたいになってしまってよくないと思う。

なんども遊びに来るところじゃなくて、本当にビジネスプランがあるときにいろんな人にまとめて話を聞くためには有効かな、って感じでした。 そして運営/審査員も本当はそれを求めてるんだろうなーと思いました。

深圳について

おろし街でも思ったけど、全体的な年齢層が若い!聞けば平均年齢が35才なのだとか。
年がそう変わらないお兄さんたちが屋台をやったりお店を切り盛りしていると日本と違っていいな〜と思ったり。

あとは街は綺麗で、でも居住エリアとかいくとちょっと汚かった&臭ったって感じですね。
日本は臭いがきつい場所そんななくて偉いな〜と思った。

飯は全体的にうまくて、味付けの濃い肉をインディカ米に合わせると肉汁が沁みて最高! 野菜炒めみたいなのも全体的に味が好みで最高でした。
f:id:hiroga_cc:20180430110113j:plain

もっと食べ道楽したかったな〜。これからチェックアウトしてすぐに香港に行くけど、策を他に考えるべきだったのか...

とはいえ楽しかったです!バイバイ!

深圳🇨🇳→香港🇭🇰→台湾🇹🇼 #1日目 #StartupWeekend

深圳にきました!何もかもがデカい!

f:id:hiroga_cc:20180428085955j:plain

ハードウェアのスタートアップといえば深圳、って最近よく聞くので、ミーハーらしく旅行にきています。
主目的はStartupWeekendに参加すること!(世界中で開催されている、ビジネス色が強いハッカソンイベント)

深圳入り

一旦香港に入国後、バスを使って陸路で深圳に。
バスの車窓から見える香港は、なんというか四国みたいな感じでしたね。山あり海あり。
高いビルがたくさんあってそれが違うと思いました。

香港と深圳は川で隔てられてて、これまで飛行機で入国ばかりしていたので新鮮な気持ちでした。
(そう、香港から中国本土って入国審査がいるんですよ!)

StartupWeekend

普通のハッカソンよりもっとビジネス色が強いらしい!何度か参加されている方から、「ビジネスモデルとかすごい詰められる」って聞きました。
研修みたいだ...。

アイスブレークやチームビルディングの手法が伴野さん・まなみんさん系のハッカソンとはちょっと違って興味深かったです🤔
この辺またブログに書きます!(これから2日目のチームミーティングが始まる)

StartupWeekend二日目楽しんでいくぞ〜!!!

#サーバレスシングルページアプリケーション ルーティング

ルータ関数のテストを成功させるのに1時間もかかってしまった...

原因

ルータ関数とテスト関数の両方で、ビューを編集するためのjQueryでクラスセレクタの頭に.をつけていなかった。
(一番下の行)

learnjs.showView = function(hash) {
    // ハッシュとルート関数の対応関係を持つオブジェクトをroutesオブジェクトとする
    var routes = {
        '#problem-1': learnjs.problemView
    };
    var viewFn = routes[hash];
    if(viewFn){
    $('view-container').empty().append(viewFn());
    }
}

なんでこんなことが起きてしまったのか...

テキスト通りにやってもうまくいかない段階で早めにWebインスペクターを起動して、テストにブレークポイントを挿入して一つづつ動作を見るべきだった。
こちらがあるべき姿のスクショです。
f:id:hiroga_cc:20180412080532p:plain

この方法、今ブログ書いててようやく気がついた...

よかったこと

開発の順番はちゃんとやれてよかった。
まずはルータ関数さえない状態でテストを書く。次に動かして失敗させる。
それが終わったらアサーションを成功させるべく、名前空間の定義→関数の定義→と進める。

フォルダ名を大文字→小文字に変えようとしたら、2つできてしまった件を解決した

私がGitで管理しているメモには、もともと大文字のフォルダがありまして、それをテキストエディタから小文字に変更しました。
ex) Memo → memo
ところが!メイン端末ではフォルダ名の変更が反映されているものの、リモートではMemoとmemoがふたつできてしまい...

以下のように解決しました。

大まかな流れ

  1. メイン端末でケース設定を変更し、コミット・プッシュ
  2. 大文字・小文字の両方のフォルダがある別端末でケース設定を変更し、フォルダ名を変更してコミット・プル・プッシュ
  3. 別端末のコミットをメイン端末にプル

ケース設定の変更方法

デフォルトの設定がケース違いを無視なので、大文字小文字を同じ種類の文字として認識しません。  

git config core.ignorecase # 現時点の設定を確認可能(ちなみに設定はレポジトリ毎ではなく端末毎)
git config core.ignorecase false

フォルダ名の変更方法

Macだと?git mvでフォルダ名を大文字→小文字に変更できないらしく、一旦別のフォルダ名を経由しました。

git mv Memo _Memo
git mv _Memo memo

こんな感じ!

参考 https://qiita.com/shoheiyokoyama/items/0fd9f688a269bbdc9da3