タイに住みながら2ヶ月間で作ったサービスについて書きます。きっかけサービスについて書く前に何故、私がタイに行ったのかについて書きます。海外発信のサービスは日本で使われているのに、日本発信のサービスは海外(アメリカなど先進国)で使われていない2019年夏にこの違和感について考えていました。海外で働いたら何かが分かるかも知れないと思い、一切の迷いなく、リプを送っていた事を覚えています。バンコクでの生活が始まりました。Webシステムの開発をさせていただきました。海外のクライアントという事もあり、彼らとのやり取りに使われるのは英語でした。WebフロントとAPI作成を一貫して作成しました。使用した技術は以下の通りで、PWAとしてホーム画面にDLする事が可能になっています。しています・広告上の黄色背景文字は顔認識の結果を表しています※これら2つはデモのために表示をしています機能Grid-CSSを当てた4つのフィールドは以下の通りです。1左(広告表示部分)2右上(ドライバー情報部分)3右中(近くの主要場所リスト表示部分)4右下(近くの主要場所マップ表示部分)このうちの2つについて詳細な説明をします。1左(広告表示部分)以下の3つの情報をもとに広告が表示されます。タクシーの走っている現在地点それとは別に以下の制約があります。いう顔認識ライブラリを使用しました。優れたライブラリで、webカメラを使用して認識した顔の年齢と性別を出してくれるオプションがあったためこれを使いました。stateとしてデータを管理することにしました。用いた状態管理に変更しました。可読性に優れたコードをかけるかということに時間をかけました。useStateやuseEffectでのsetや副作用のタイミングをここまで加味したのも初めての経験でタメになりました。フロント側で要素となる情報をサーバーサイドに送り、サーバーサイドではそれぞれの要素を元に広告を返すだけでした。GeoPoint関数を使ったのですが、久しぶりに算数ができてよかったです。最終的にデモ動画にもある通り、全ての要件を達成し、画像,動画,別サイト広告の表示をシームレスに行うことができるようになりました。Leafletを用いる必要がありました。CSRでの表示に切り替えました。CSRで取得し表示をしました。利用やバケツリレーも少ししか起こり得ないという状態でした。ここでReduxを組み入れるのはオーバースペックで必要な部分にはContextで十分に代替ができました。Fluxを使わないといけないというバイアスが綺麗に消えました。考えた上で使わないなら使わないでいいという事を実感しました。使える機会がありました。決める必要がありました。実務でuseReducerを使う機会を探していたので、良かったです。SSRをしてもしなくても良いという状況でした。SEOやユーザー体験のことも特に考える必要がなかったのですが、NextJSを使ってみたかったという私情によりSSRを行うことにしました。結果的にNextJSを使った事で、考慮しないといけない事が増えてしまいました。(Tokenの管理やSSRでは使えないライブラリの対応など)当たり前のことなのですが、SSRをする際にはトレードオフをしっかりと考えないといけないなと再認識できました。再認識する事ができました。色々なところで言われてるように、これからは国間のボーダーはどんどん低くなっていくと思います。それに加えて日本のマーケットの縮小が危惧されており、海外に出て行かざるを得ない状態になると思っています。20歳という割と若い段階で外国人クライアントを相手に海外でエンジニアリングをするという経験を積め、英語の重要さを身を以て感じれたことは本当に良かったです。Ken/GAOGAO@バンコクさんには本当に感謝をしています。最高の環境だと思います。UpgradeAboutHelpLegal。