AIの時代、エンジニアは「作る人」から「問う人」へ

ホモ・ファーベルの黄昏

人間はながらく「ホモ・ファーベル(Homo Faber)」——「作る人」として自らを定義してきた。エンジニアの世界ではとりわけそうだ。複雑なアルゴリズムを実装し、堅牢なシステムを設計し、美しいコードを書く。技術的な実装力こそがエンジニアのアイデンティティだった。

Swift Package Manager(SPM)のキャッシュをリセット

Swift Package Manager(SPM)のPackage.swiftに追加したbinaryTargetが同じバージョンのまま変更された場合、checksumが違うのでダウンロードできなくなる。

1
2
3
.binaryTarget(name: "XXXX",
url: "https://github.com/xxx/xxx-ios/releases/download/x.x.x/xxxxx.zip",
checksum: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"),

SwiftUIでビューが表示されたタイミングでasync functionを実行する

SwiftUIのViewのメソッドの.task()の中の処理はViewが表示されると非同期で実行されて、もしViewが非表示になるまでTaskが実行中ならそのTaskは自動でcancelされる。
もし自動でcancelされないようにしたい場合は.onAppear()の中でTaskを直接に生成する。

サンプルコードのログをみるとTaskViewを表示してRequestが完了する前にビューを非表示にすると.task()からのTaskはcancelされるが.onAppear()からのTaskはcancelされないことがわかる。

コマンドラインでiPhoneにプッシュ通知を送る方法

1. ファイルをダウンロード

1
2
3
4
curl -o sender.sh https://gist.githubusercontent.com/hmhv/7ab39297bdb5efe8b63cd024d893f6bd/raw/29328be9e54a3c1fe36f97369bb1f5d13db286d4/sender.sh
chmod 755 ./sender.sh
curl -o params.sh https://gist.githubusercontent.com/hmhv/dd37cd462a63fa34b588d0eea1eb698d/raw/3db9e1616daa29a13e8afd13e0a14079cba2e781/params.sh
chmod 755 ./params.sh

asdfを使ってみる

昨日新しいMacにrubyのインストールのためchrubyを利用したことをiOS開発環境作成のためのRuby設定で書いたけどnodejspythonもまた個別のバージョン管理ツールを導入しようとすると面倒くさくなり、以前聞いたことのある一つのツールで色々な言語のバージョン管理ができるanyenv調べてみると今はasdfの方がもっと使われてるっぽいのでasdfを使ってruby, nodejs, pythonを入れてみたのでメモ。

asdfをインストール