SwiftUI_CheckTime

こんにちは。EveryDaySoft代表の永田です。

2020年9月は1ヶ月自社アプリケーションの作成を進めています。社会保険等は支払いをしているので、休職という形ではありません。10月からは兼ねてから希望する動画系の案件に参画します。動画系を希望するのは儲かる確率が高いのと、技術レベルが高いのと、楽しいからです。7月はフリーランスの2人~3人分を稼ぎました。ちなみに単価感は日本トップクラスです。早い段階から単価が上がったのは毎日インプットとアウトプットを普通のペースで繰り返した事で、案件に関わるたびにオファーがあり、単価と共に難易度も上がってきました。ここ数年は技術レベルの高い案件や最新技術や前例がない要件などを対応するようになりました。何年か、毎日プログラムを様々に実施すると設計や要件が細かく分かるようになります。体内に設計や要件が入る感覚です。難しい技術をやる事に、言語の奥の電気の流れを感じるようになります。インスタンスの大きさを感じるようになります。インタスンスが生まれては消滅し、移動し、保管し、代入し、再生成し、そのような電気の流れがオブジェクト指向では感じるようになり、その表面に言語があります。このような感覚を手に入れると、性能、非機能要件という領域も作業できるようになっていきます。 技術が上がるフローもいつか詳細に可視化したいと思いました。
今回は、デバイスの時刻が変更された際の判定ロジックを作成しました。
API側 Python 3.7 環境 AWS Lambda APIGateWay アプリ側 SwiftUI Combine

https://gist.github.com/daisukenagata/0bf2f8d2ccd88c066d5cab4353974eba

処理としては、モバイルの取得した世界時刻とAPIのPythonの世界時刻が合っているかという判定です。モバイル時刻を変更すると世界時刻も変更するので、とても簡単でした。これをアプリケーション側だけしかしない場合は、何か容量の大きいライブラリーを使用して、開発において起動が遅くなったり、技術者をより増やし、結果としてコストがかかるかもしれません。技術者をより増やす場合は、スターウォーズのジェダイのような人材を増やすスタイルの方が良いと思います。理由はスターウォーズのジェダイのような人材と称した実力者がいれば、より多くの案件や、サービスの高いアプリケーションを作成できるからです。

アプリケーションだけでは不可能なプログラムもAPIも考えて設計すると、出来ることがスケールします。世の中は、技術の進化と共に出来る事が簡単になった現在は、より多くの要件を求められます。一つ得意な分野を軸として、出来る範囲を広げることをおすすめします。彼の得意分野は〜〜系というように評価されると良いと思います。全系統で最高のパフォーマンスを発揮するという人材もいるかもしれません。

時間の設定は、世界時刻で対応しているので、世界中で同じ判定ができると思います。公開しているインスタンスがとても使用されてしまったら、非公開にしてしまう可能性もあるので、予めご了承下さい。

貴重なお時間、お読み下さいまして誠にありがとうございます。