phpの試験

今まであまり資格とかに興味はなかったが、

https://www.phpexam.jp/archives/2477

でプレゼントがあるというのも大きいが一度、phpの試験を今年の7月までに受ける予定。

 

思えばなんだかんだで一番触っているweb系の言語になってるものの、体系的に学んだことはなくてその都度調べてなんとかここまできてしまってて、

一度こういうのを受ければある程度はフォローできるようになるのかなと…。

Ankeyの紹介

https://ankey.io/

という、自分で問題を作れるタイピングサービスがあるとのことでやってみた。

なんというかよくあるものではあるけど、多分、多少の間違いでも正解にしてくれるように上手くできているように見える。

(実際、そんなに上手く打てるわけはないと思うが、正解にしてくれてるような…気のせいかな??)

 

やはりあると思ったが、昔清水エスパルスに所属していた選手タイピング

https://ankey.io/wordbooks/cfmakmi23akg02khpl70

みたいなサッカー選手のはあった 笑

 

あとアニメのやつとか…

https://ankey.io/wordbooks/cf1riji23akg02q52sa0

 

キーボード打つの早いに越したことはないと思うので、ユーザー登録して色々作ってみるのは楽しいかもしれません。

agora sdkのiOSのBasic-Video-Callのサンプルが動作しない…

ただサンプルを動かすだけで詰まったのでメモ代わりに…

 

github.com

 

・One-to-One-Videoの方

appIDはわかるが、tokenを入れて実機起動しても画面上で110エラーが返ってきてしまう。

temp tokenを作る時にチャンネル名をいれるが、これがサンプルだと「demoChannel1」になっているので、作る時にそれを入れたtemp tokenを作り、それを使わないとだめだった。

 

・Group-Videoの方

実機起動まではするが、起動後すぐにimage not foundエラーが…。

Swiftで書かれたiOSアプリを実機デバッグ実行時に「image not found」エラーとなる場合の対処 - Steel Dragon 14106

こちらの環境の問題かもしれないが、上記だけではこちらではだめで、Frameworkのリンクの指定が、なぜか「Do Not Embed」になっていたので、「Embed & Sign」に変更することでエラー無く起動できるようになった。

f:id:suzuki_kuni:20200605161754p:plain

 

react-native-video追加時のエラー

0.60台だと、

npm install --save react-native-video

npx pod-install

で問題なかったが、0.59台だと

npm install --save react-native-video

react-native link react-native-video

だけだと、

 

github.com

 

で書かれているようなエラーが出てしまった。

上記に書かれているようなことではこちらでは全く解決せず、むしろpod installをやると、他のライブラリと競合してしまうのか、npm start時にduplicate react、みたいなエラーが出てしまったりでどうにもできなかった…。

 

ただその後、まっさらな0.60台のプロジェクトを作り、そちらと比較し、react-native-videoフォルダがxcodeプロジェクトに追加されていないことが原因のようだったので、

node_modules/react-native-video/iosのRCTVideo.xcodeprojをプロジェクトに参照追加、そしてTARGETSのLink Binary With Librariesに、上記プロジェクト内に含まれるlibRCTVideo.aを追加することで、Videoの構文があるところでエラーにならずに、きちんと再生することが可能だった。

zenfone3で楽天モバイル(自社回線MNO)、若干難ありだが使えている

システム設定 → 無線とネットワーク → モバイルネットワーク → アクセスポイント名 → 右上の+で追加 をして、

 

名前 ただの名前なので恐らくなんでもいいがrakuten.jpにした

APN rakuten.jp

MCC 440

MNC 11

APNタイプ default,supl,tether

APNプロトコル IPv4/IPv6

APNローミングプロトコル IPv4/IPv6

ベアラー LTE

でok。

 

ただこちらでは、最初、ベアラーの変更ができず…

そのため、電話アプリで

*#*#4636#*#*

を入力して、テストモードに入り、一番上の「デバイス情報」の一番上の選択ボックスで、LTE onlyを選択。

 

f:id:suzuki_kuni:20200413212515j:plain

 

それでベアラーも選択できるようになり、一度機内モード → 解除 で、通信可能になった。

通話もテザリングもok、楽天LinkアプリでのSMSでのアクティベーションも、4/8は混んでいたのかだめだったのか、楽天Linkアプリのアップデートもありそれで改善したのか、後日4/11にやってみたところ、okだった。

 

ただ、どうもたまに上記のLTE onlyが勝手に他のに戻ってしまう?ことがあるようで、その場合、通信できなくなってしまうことがたまにあった。(少なくとも、再起動すると戻ってしまう模様)

そのため、再度LTE onlyにする必要があった。

毎回番号打つのは面倒だしなんとかならないか…と思ったところ、設定画面にすぐ入れるようにするアプリはたくさんあった。(ストアでLTE onlyと検索するとかなり出てくる)

自分は下記のものを入れてみたところ、上記の設定画面に一発で入れるようにはなったので、番号を毎回打たなくてよくはなった。

play.google.com

 

…なので通信ができなくなったらいちいち設定し直さないといけないという条件付きではあるが、一応、問題なく使えている。

 

LTE onlyに完全に固定できればいいのだが…

 

 

※5/3 追記

w04、w05に挿して使いたいと思い家族に申し込んでもらったりして新たにsimを入手したが、いずれも問題なく使えている(band3と18固定、ファームウェアダウングレードは必要だったが、検索すれば1~2時間位はかかったがなんとかできた)

今現在も問題なく楽天LINKでのsms認証もできたが、ただ、

[Rakuten Link]SMS認証ができない | よくあるご質問 | 楽天モバイル

にもあったが、一旦アプリからログアウトしないと何度やっても失敗してしまっていた。

 

※6/5 追記

こちらの環境だけかもしれないが、zenfone3では、楽天エリア内でしかSMSの受信はできない模様…。そのため楽天linkでのアクティベーションは出来ないと思われる…。何か方法があるのかもしれないが…

react-nativeプロジェクト、0.57.4から0.59.10にアップデートした際に起こったエラー

react-nativeプロジェクトをなんとか頑張って0.57.4から0.59.10にアップデートすることがようやく完了した(android64bit対応後のバージョンじゃないともうアップデートも出来ないので…)。

 

その際、ビルドは問題なかったが動かしてみると、特定のページで、PieChart method.bind is not a function index.js 85 というような赤い画面のエラーが出てしまっていた。

 

これは調べてみると、react-native-chart-kitでエラーを起こしていたようで、最新(4.5.0)にあげてみたものの、今度は、library not found for -lRNSVGというエラーが出てビルドが通らなくなってしまった…。

 

ただこれは自分がpackage.jsonに4.5.0と書いたのちnpm update react-native-chart-kitを実行した後に、

react-native-chart-kit@4.5.0 requires a peer of react-native-svg@> 6.4.1 but none is installed. You must install peer dependencies yourself.

というエラーを出ていたのを見逃してしまっていたからで、

npm install react-native-svg

を実行してきちんとreact-native-svgを入れてから再ビルドすることでビルドも通り、赤い画面のエラーも起こらなくなった。

react-nativeの、バージョンアップの際に起こったエラー

xcodeで実行すると、

main.jsbundle does not exist

というビルドエラーが出る

xcodeにリンクしているmain.jsbundleを一度消して、再度xcodeにリンクしなおせばokだった。

(jsbundleがない場合、

[React Native]main.jsbundle does not exist - KOKENSHAの技術ブログ

の方法で再作成できそう)

 

 

 

npm startすると失敗する。

エラーは

internal/modules/cjs/loader.js:800
throw err;
^

Error: Cannot find module './bundle/unbundle'

が出ている。

(※この状態でxcodeから実行すると、

React Native version mismatch. エラーが出ていた。

android studioで起動すると、赤い画面のエラーが出ていた)

 

に回答があるように、2つのファイルから

require('./bundle/unbundle'),

を取り除けば大丈夫だった。(それで直るのか…という感じではあったが…)

 

 

 

xcodeで起動しようとするとビルドは成功するが、立ち上がるとすぐに

Exception '*** -[__NSArrayM objectAtIndexedSubscript:]: index 1 beyond bounds [0 .. 0]' was thrown while invoking getInitialURL on target LinkingManager with params (

というエラーでアプリがクラッシュする

0.59.9以降で直っている模様だが、それ以前のバージョンの場合、

以下の箇所をいじることでひとまず起動するようには出来た。

 

 

総じて、react-nativeは謎の依存関係問題?が多すぎてバージョンアップすると上記のようなよくわからないエラーがかなり出てきて、今後reactで開発していっていいのかとすら思ってきてしまってます…。

Airbnbアプリはreact-nativeでの開発をやめたというニュースもありますし、一周回ってネイティブ開発がエンジニアの数も多いでしょうし結局トータルの工数もそこまで変わらないのかもしれませんね…