WWDC 2017に参加してきます

iOSアプリ開発を始めてから8年目にして初めてWWDCに当選し、ただいまサンノゼにやってきています。

初のアメリカ、初の海外一人旅と不安も色々ありますが、この一週間を充実したものにしていきたいと思います。それでは楽しいWWDCウィークを!👋

Swiftのコミッターになりました(なっていました)

https://swift.org/contributing/#commit-access に記載があるように、SwiftのOSSプロジェクトでは、一定の基準を満たすことでコミット権を申請し、得ることができるようになっています。

遡って今年の1月に apple/swift-corelibs-foundation集中的に取り組んだ結果、Swiftのコミット権を得ました(もう3ヶ月前じゃん!)。

とは言ってもC++コンパイラーのコードが書けるわけではなく、標準ライブラリーやFoundationおよびそのOverlayなど、Swiftで書ける範囲での活動が主になりますが、Swiftの改善に少しでも貢献していきたいと思います。

いよいよ本日。try! Swiftカンファレンスで登壇します #tryswiftconf

おはようございます。id:ikesyoです。本日から3月4日までの3日間、東京・渋谷で開催されるtry! Swiftカンファレンスのトップバッターとして登壇します。

http://www.tryswiftconf.com/

はてなからはid:cockscombも登壇し、二人体制で臨んでいます!

developer.hatenastaff.com

今朝になってついに緊張してきましたが、とにかく滅多にないこの機会を楽しみたいと思います。では会場でお会いしましょう! 😄

Himotoki 1.5.0をリリースしました

このブログでは昨年末の振り返りエントリー位でしか触れていませんでしたが、SwiftJSONのデコードを簡単かつ型安全に行うことができるHimotokiというライブラリーを昨年の5月から開発しています。

github.com ikesyo.hatenablog.com

先々週にはなりますが、その最新バージョンの1.5.0をリリースしました。

Release 1.5.0 · ikesyo/Himotoki · GitHub

このバージョンには以下のような変更が含まれています。

  • Linuxでのビルドをサポート(Swift Package Manager1.4.0でサポート済み)
  • build関数をカリー化関数からクロージャーを返す関数に変更(Xcode 7.3/Swift 2.2からの警告に対応)
  • build関数を非推奨に変更(Swift 2からは特に使う必要がない)
  • Extractor.valueOptional/<|?に対してDecodeError.MissingKeyPathのエラーハンドリングが誤っていたのを修正(キーパスが存在していてデコードに失敗した場合でもエラーではなくnilを返してしまっていた)

すでに次のバージョンの開発も進めており、Decodableに準拠しない型への値の変換(Value transformation)のAPIを実装する予定です。今後のHimotokiにもご期待ください!

Carthage 0.13/0.14をリリースしていました

前回のエントリーに引き続き、Carthage 0.13 および 0.14をリリースしていました。どちらもバグFixメインのリリースですが、0.13ではcarthage other-commandとすると$PATHに存在するcarthage-other-commandを実行するという、いわゆるサブコマンドの機構を実装しました。Carthageのプラグイン的なツールを作るのにぜひ活用してもらえればと思います。

ikesyo.hatenablog.com

今後もリリース時には内容紹介のエントリーを書いて日本語での説明を増やしていきたい所存です!

Carthage 0.12をリリースしました

昨年のエントリーに書いたように、Carthageのコミッターをしているid:ikesyoです。もう3日前になりますが、最新バージョンの 0.12: All Your Frameworks Are Belong To Usがリリースされました!🎉

今回のリリースで大きなトピックだと個人的に思う以下の3つを紹介します。

Carthage will now build all frameworks from all the projects in the repository

これまでCarthageでは、Dynamic frameworkのShared schemeを含む、ディレクトリ階層で最初に見つかった.xcodeproj/.xcworkspaceのプロジェクト1つだけをビルドの対象としていました。https://github.com/ankurp/Dollar.swiftのような複数.xcodeprojによって複数のframeworkを提供するようなリポジトリとは相性が悪かったのですが、0.12ではDynamic frameworkのShared schemeを含んでさえいれば、全てのプロジェクトがビルド対象になるよう変更、改善されました。

archive now accepts multiple framework names and will archive all the frameworks from the current repository if no names are given

archiveコマンドはCarthage/Build以下にあるframeworkをまとめたzipファイルを生成するコマンドです。生成したzipファイルをGitHub Releaseに添付することで、Carthageがビルド済みバイナリーとしてそのframeworkを利用することができるようになっています。

これまでこのコマンドはcarthage archive Himotokiのように、アーカイブ対象のframework名を必ず1つだけ指定する必要がありました。それが0.12からはcarthage archive Cent Dollarのように複数のframework名を指定することができるようになりました。

またcarthage archiveとパラメーターを指定しないと、現在のプロジェクトのframeworkを全てアーカイブする(依存先のframeworkは含まない)、という使い方もできるようになっています。この場合の対象はcarthage build --no-skip-currentとしてビルドされるようになるものと同一です。1つ目の変更と合わせて使いやすくなったのではないかと思っています。😀

この変更は私が実装したものになります 💪

build, checkout, and update now take an optional list of dependencies

最後の1つです。今まではcarthage updateとして全ての依存ライブラリーをアップデートすることしかできませんでしたが、これも0.12からarchiveコマンドと同様に、carthage update Alamofire ReactiveCocoaのようにアップデート対象を指定することができるようになりました。

build, checkoutコマンドもこの改善をしていて、carthage build Alamofireのように特定のfraemworkのみを再ビルドすることもできます。これらはかなり以前から要望されていたものだったので、実装、リリースすることができてとても嬉しいですね。

この変更も私が実装しました 💪


すでに幾つかバグが報告されているため、近々0.12.1もリリースされると思います。Carthageユーザーの皆様におかれましてはバグ報告や要望など何かあれば、リポジトリのissueだけでなく、Twitterなどでも連絡いただければ確認しますのでお気軽に!

株式会社はてなに入社しました

新年明けましておめでとうございます。年末のエントリーaikoの年越しライブ直前と言っていたid:ikesyoです。結局ライブが終わったのは2時過ぎ、帰宅したのは4時過ぎでした。そんな私ですが、今年もよろしくお願いいたします。

2016年1月1日付けで株式会社はてなに入社しました。昨日1月4日が初出社でした。id:takuji31とは同期入社になりますね。

blog.takuji31.jp

Why

大学時代からはてなへの興味はありましたが、その時点ではエンジニアとしての技術力はなく、そこに挑戦することは現実的ではありませんでした。東京でSIer/システムコンサルに就職して、関西に戻ってきて、フリーランスとして4年半程過ごして、フリューさんでのお仕事の機会をいただいて、と紆余曲折の末にご縁があって入社となりました。久し振りに正社員に復帰です。大体関モバのせい。

What

アプリケーションエンジニアとして、引き続きiOSアプリの開発をメインに行なっていくことになります。仕事とOSS活動の両輪を上手く回してもいきたいところです。そして対外活動面でも、まず大きなところではtry! Swiftでの発表や参加者との交流、他の登壇者の発表内容を吸収してチーム・社内に持ち帰ってシェアしていくことを頑張ることになりそうです。

技術偏重にならずにユーザーにちゃんと価値を届けるぞ!!

Want

恒例の。よろしくお願いいたします。m(__)m

www.amazon.co.jp

Conclusion

初日から有志の方々による非公式歓迎会で飲んでいた。飲み過ぎないように気を付けるぞ!!