おはようございます。id:ikesyoです。本日から3月4日までの3日間、東京・渋谷で開催されるtry! Swiftカンファレンスのトップバッターとして登壇します。
はてなからはid:cockscombも登壇し、二人体制で臨んでいます!
今朝になってついに緊張してきましたが、とにかく滅多にないこの機会を楽しみたいと思います。では会場でお会いしましょう! 😄
おはようございます。id:ikesyoです。本日から3月4日までの3日間、東京・渋谷で開催されるtry! Swiftカンファレンスのトップバッターとして登壇します。
はてなからはid:cockscombも登壇し、二人体制で臨んでいます!
今朝になってついに緊張してきましたが、とにかく滅多にないこの機会を楽しみたいと思います。では会場でお会いしましょう! 😄
このブログでは昨年末の振り返りエントリー位でしか触れていませんでしたが、SwiftでJSONのデコードを簡単かつ型安全に行うことができるHimotokiというライブラリーを昨年の5月から開発しています。
github.com ikesyo.hatenablog.com
先々週にはなりますが、その最新バージョンの1.5.0をリリースしました。
Release 1.5.0 · ikesyo/Himotoki · GitHub
このバージョンには以下のような変更が含まれています。
build
関数をカリー化関数からクロージャーを返す関数に変更(Xcode 7.3/Swift 2.2からの警告に対応)build
関数を非推奨に変更(Swift 2からは特に使う必要がない)Extractor.valueOptional
/<|?
に対してDecodeError.MissingKeyPath
のエラーハンドリングが誤っていたのを修正(キーパスが存在していてデコードに失敗した場合でもエラーではなくnil
を返してしまっていた)すでに次のバージョンの開発も進めており、Decodable
に準拠しない型への値の変換(Value transformation)のAPIを実装する予定です。今後のHimotokiにもご期待ください!
昨年のエントリーに書いたように、Carthageのコミッターをしているid:ikesyoです。もう3日前になりますが、最新バージョンの 0.12: All Your Frameworks Are Belong To Usがリリースされました!🎉
今回のリリースで大きなトピックだと個人的に思う以下の3つを紹介します。
これまで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 givenarchive
コマンドは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とは同期入社になりますね。
大学時代からはてなへの興味はありましたが、その時点ではエンジニアとしての技術力はなく、そこに挑戦することは現実的ではありませんでした。東京でSIer/システムコンサルに就職して、関西に戻ってきて、フリーランスとして4年半程過ごして、フリューさんでのお仕事の機会をいただいて、と紆余曲折の末にご縁があって入社となりました。久し振りに正社員に復帰です。大体関モバのせい。
アプリケーションエンジニアとして、引き続きiOSアプリの開発をメインに行なっていくことになります。仕事とOSS活動の両輪を上手く回してもいきたいところです。そして対外活動面でも、まず大きなところではtry! Swiftでの発表や参加者との交流、他の登壇者の発表内容を吸収してチーム・社内に持ち帰ってシェアしていくことを頑張ることになりそうです。
技術偏重にならずにユーザーにちゃんと価値を届けるぞ!!
恒例の。よろしくお願いいたします。m(__)m
初出社日にこの時間まで飲んでた
— Syo Ikeda / いけしょー (@ikesyo) 2016, 1月 4
初日から有志の方々による非公式歓迎会で飲んでいた。飲み過ぎないように気を付けるぞ!!
2015年も残すところあと数時間。aikoの年越しライブ Love Like Pop 18に向かっている途中/開演待ちに書いています。
色んなところで振り返りエントリーが流れているので、自分も振り返ってみようかと書いてみます。
昨年10月から業務委託としてフリュー株式会社のとある部署・チームに参画し、Swift/ReactiveCocoaをベースにiOSアプリの開発をしていました。Swiftのバージョンアップへの追従、非同期処理周りをBoltsからReactiveCocoaに置き換えるなどはかなり気合いで進めました。後述しますが、自作のHimotokiというライブラリーもこのアプリで本番投入しています。また環境面ではGitHubでPRベースでのレビュー体制やSlackをそれなりに働きかけて導入してもらったり、4KディスプレイやMBPのスタンドを用意してもらったり、チームメンバーも含めて非常にいい環境で仕事をさせてもらうことができました。
こちらについては去る12月25日が最終出社日でした。1月からの活動には乞うご期待。
今年はここへの参加がかなり大きなトピックでした。記念すべき第1回に id:yashigani_w さんから声をかけてもらってLT参加し、以来12月の第9回まで皆勤で参加させてもらっています。これまでTwitterでは知っていたiOS開発者の方々、交流のなかったAndroid界隈の方々と絡む機会ができたのもこの会のお陰です。来年の関モバにも期待していきましょう!
SwiftでJSONデコード用のHimotokiというライブラリーを開発、5月に公開しました。それなりの規模のライブラリーを公開したのはこれが初めてで、現時点で300を超えるスターが付いているのはなかなか頑張れたかな、と思っています。関モバでも布教LTをしたり、国内で色んな所で使ってもらえているような話を聞くので、今後もちゃんとメンテナンス、Swiftのバージョンアップ追従を頑張っていく所存です。
ちなみにこれを作るまではObjectMapperというのを使っていたんですが、以下のやり取りで自分で作ってみようと思い立つことができました。@_ishkawa さんに感謝🙏
@_ishkawa なるほど。僕は逆に0から作るのを面倒がる方なので。でも乗っかって改良していくばっかりもアレなので必要あらば自分で立ち上げる姿勢も取り入れたいですね ;-)
— Syo Ikeda / いけしょー (@ikesyo) 2015, 4月 17
昨年後半に登場し、今年1年でかなり普及した感のあるCarthageですが、PRを幾つか重ねている内にコミッターになりました。今年6月のことです。
最近のリリースでは結構多くの貢献を自分がしている状態だったりします。今後も開発者のための効率向上を目指してコミッター業をしっかりやっていくつもりなので、バグレポートや分からないところがあればお問い合わせいただければと。
またCarthageにも使われているReactiveCocoaのコミッター業も細々と続けています。元々CarthageはSwift版のRAC 3.0のショーケース/実践投入によるAPI洗練のためでもあったので、RAC側のバグ修正をすることもしばしばありました。RxSwiftだけでなく、RACもぜひぜひ試してほしいですね。
先かと思っていたらあと2ヶ月程度になってしまいました。来る3月2日(水)〜4日(金)に東京・渋谷で行われるtry! Swiftカンファレンスに登壇します!!それも初日のトップバッターというとても緊張する発表順になりました。
国内では初めての大規模なSwiftに関するカンファレンス、それも海外からの多数の登壇者やオープンソース化後初めてのカンファレンスということもあり、非常にエキサイティングな3日間が過ごせるのではととてもワクワクしています。😄
スーパーSwift早割は終わってしまっていますが、まだSwift早割のチケット、また1日チケットも用意されているので、沢山の参加者にお会いできることを楽しみにしています。🙇🏻
年越しライブ楽しんでくるぞ!!
毎月恒例の関西モバイルアプリ研究会 #5で今回も発表させていただきました。会場と🍻に軽食を提供してくださるはてなさんに多謝 🙏
今回の資料はこちら。
CocoaPodsと並ぶ依存性管理ツールとして普及が進みつつあるCarthageですが、READMEにあまり情報がないCLIのコマンドのオプションや次期バージョンに入る予定の最新動向などについて紹介しました。
以前のエントリーでお話したように、今はCarthageのコミッターとして活動していることもあって現時点で46個ほどのPRを出していました。
今回の発表で知ってもらいたかったことの1つがGitHub Enterpriseのサポートです。
github "https://enterprise.local/ghe/desktop/git-error-translations"
という書き方でgithub.com上のリポジトリと同様にビルド済みバイナリーのダウンロードなどが機能するようになっています。現在 0.8: Llama Calculus が最新リリースですが、こちらは次期リリースに入るはずなのでGitHub Enterpriseを利用しているエンジニア・企業の方々は乞うご期待。
その他皆さんの発表資料などは以下からどうぞ!
fabricの発表をしてくださったTwitterの中の方々からスピーカー特典としてスピーカーをいただきました!ありがとうございました!! ✨
#関モバ でTwitterの方からスピーカー向けにスピーカーいただきました!ありがとうございます!🙏 pic.twitter.com/auGUcn1mbN
— Syo Ikeda / いけしょー (@ikesyo) 2015, 8月 26