All Stories

Erlangからドメインを切り離すモチベーション

2020年も残すところ僅か. 今年は仕事で数年ぶりにErlangでシステムの一部を書く機会があった. ーーとはいっても技術選定からコーディングまでサーバー側は全部自分でやっていたので, 何故Erlangを選んだかと, その振り返りをしようと思う.

~iOS13でURLSessionのcompletionHandlerが実行されない問題への対応

久しぶりに面白いバグに遭遇した. iOS14ではURLSession.dataTask(with:completionHandler:)のcompletionHandlerが実行されるが, それ以前のOSでは実行されないというものだ. それも全ての箇所ではなく, 1箇所だけ何故か常に実行されない.

SwiftとnilError

先日、AVAudioFile.read(into:frameCount:)の吐く例外がnilErrorという不可解なものになることがあることを知った. 最初は何故nilなのかと首を傾げたが、どうもnilErrorというエラーらしい. 不可解だったので調べてみることにした.

xib上でhiddenに設定したconstraintsのactivateが正しく機能しない問題への対応

iOSアプリ開発において, xib上でPortrait用・Landscape用のconstraintsをそれぞれ設定し, コードでactivate/deactivateを切り替えることが往々にしてあると思います. activate/deactivateの処理が正しく機能しなくなる現象に遭遇したので, その対応方法についてのメモです.

OTP23から入るpgのコードを読む

最近は久しぶりにプロダクションでErlangのコードを書いたりしています. かなり小規模な物ですが. そこでOTP23で新しく入るpgのコードを読む機会があったので, pgの実装についてまとめようと思います.

SwiftのProtocolに対してKVOを行う

前回から引き続きKVOについての投稿です. SwiftにおけるKVOは対象のpropertyの制限 (@objc dynamic) は広く知られていますが, Protocolに対してKVOを行うのもハードルが高かったりします. delegateを自分で実装した方が早い気もしますが, Property Binding的なことをしようとすると, KVOの方が直感的なコードを書けるので悩ましいところです. この記事では, Swift Protocolに対してKVOをする方法を紹介します.