こんにちは。近頃はSwiftUIでの新機能開発に勤しんでいる id:ikesyo です。 そんなこんなで自分が所属しているはてなのマンガアプリチームでは最近、iOSエンジニア・Androidエンジニアを積極採用しようと動き出しています。その中でまず求人票の内容を検討し…
GitHubのPRのコードレビューではsuggestionという、PRの差分に対して変更を提案する機能がある レビュイーは、レビュワーからのsuggestionを1つずつ適用(コミット)するのと、複数個まとめて適用することができる プルリクエストでのフィードバックを取り込…
本日7月29日で35歳になりました。この1年は Webアプリ開発チャレンジ GoでGraphQL API作ったり Next.jsでフロントエンド作ったり SwiftUIをガッツリ使い始めた という感じでした。 社のDeveloper Blogのアンケートシリーズに取り上げてもらったりもしました…
なんと20年分のバックナンバーが収録された総集編の特別企画「進化するプログラミング言語の魅力」のSwiftの章を担当させていただきました。 WEB+DB PRESS総集編[Vol.1~120] (WEB+DB PRESSプラスシリーズ)作者:泉水 翔吾,櫻庭 祐一,宇佐美 健太,笹田 耕一,牧…
SwiftUIを使い始めて、フレームワークが提供する既存のViewに何があって、どういう表示になるのかがまだピンとこない。そんな状況の手助けになるのがSwiftOnTapというサイトです。 swiftontap.com 各ViewやModifierなどの説明にサンプルコードとその実行結果…
SwiftWasmとは、SwiftをWebAssemblyにコンパイルしてブラウザやその他WebAssemblyランタイムで動作するようにしようという野心的なプロジェクトです。 ちなみにSwiftWasmには id:kateinoigaku さんがco-maintainerとして多大な貢献をされています。 fortee.j…
タイトルがすべてです。意外と忘れがちなので。 developer.apple.com Active Compilation Conditions is a new build setting for passing conditional compilation flags to the Swift compiler. Each element of the value of this setting passes to swif…
uber/mockoloとは Uberが開発するSwift用のモック自動生成ツールで、ここ1〜2年で採用が増えていそうな雰囲気 2019年のSwiftモック事情 - いけだや技術ノート でも紹介しました logmi.jp というものです。 mockoloはv1.1.3からprotocolだけでなくclassのモッ…
App Store Connectのドキュメント(ヘルプページ)にはこうあります: 自動更新登録は、1 か月間の日数ごとではなく、最初の購入の暦日と同じ日に更新します。たとえば、カスタマーが 1 か月の無料トライアルを 1 月 7 日に開始する場合、トライアルが終了す…
let url = URL(string: "https://example.com/foo/bar")! url.path // "/foo/bar" url.path.split(separator: "/") // ["foo", "bar"] url.path.split(separator: "/", omittingEmptySubsequences: false) // ["", "foo", "bar"] url.pathComponents // ["/"…
github.com ⚠️ This is the last planned update for the 2.x version line. After February 28, 2021, 2.x becomes End-of-Life (EoL); no further patches, bugfixes, enhancements, documentation or support will be provided by the project. これまでA…
[RFC] React 18 and types-only breaking changes · Issue #46691 · DefinitelyTyped/DefinitelyTyped [@types/react] add VoidFunctionComponent type which does not accept "children" by awmottaz · Pull Request #46643 · DefinitelyTyped/DefinitelyTy…
ざっと目に着いたものをリストアップしてみる。スターの多さでいうとreact-slickが最強のようだけど、issueの数も200件超と多いのは気になる。そこまでデファクトスタンダードと呼べるものはないのだろうか? github.com jQuery用のカルーセルプラグインのsl…
備忘録です。 MySQL on Amazon RDS - Amazon Relational Database Service By default, the time zone for an RDS MySQL DB instance is Universal Time Coordinated (UTC). You can set the time zone for your DB instance to the local time zone for you…
突然のAWSの話題です。 Amazon ECR (Elastic Container Registry)はDockerコンテナレジストリのサービスです。コンテナイメージをどんどんプッシュしていくと無限に溜まっていってそれだけストレージコストが掛かってしまうので、不要になったイメージは適度…
paths と言っているのはこれです。 https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpaths When using the push and pull_request events, you can configure a workflow to run when at least one fil…
GitHub Actionsの on: push や on: pull_rerequest のトリガーには paths/paths_ignore という機能があり、特定のファイルパスが変更された時だけワークフローを実行できます。 # 例えばiOSとAndroidのmonorepoで、ios以下が変更された時だけiOSのテストを実…
https://developer.android.com/reference/kotlin/androidx/navigation/ui/package-summary#(android.view.MenuItem).onNavDestinationSelected(androidx.navigation.NavController) By default, the back stack will be popped back to the navigation grap…
GitHub ActionsではmacOSも実行環境としてサポートされており、現在のOS指定はmacos-latest/macos-10.15の1つのみです。以前はmacos-10.14もサポートされていたのですが少し前に非推奨となり削除されてしまいました。 その際に使用できるXcodeのバージョンも…
タイトルがほぼ全てです。 func foo(_ closure: () -> Void, defaultArg: Int = 0) { closure() } foo { print("foo") } このコードはSwift 5.2では動作しますが、Swift 5.1以前ではコンパイルエラーになります。 Nimbleに挙がったissueでそのことに気付きま…
このような便利なパッケージがありました。 GitHub Actionsにはworkflow commandsと呼ばれる、echoコマンドと特定の形式の文字列を使うことでActionsの処理に一部介入できる機能があります。その中にはファイルの特定の箇所(行・カラム)にdebug/warning/er…
AndroidのFirebase Installations version 16.2.0で追加されたlintチェックがAndroid Gradle plugin 3.6と互換性がなくてビルドできない
Firebase OSSのこちらのIssueで報告されているように、Android Gradle plugin 3.6(Android Studio 3.6)以上のプロジェクトでFirebase Installations version 16.2.0が依存性に入るとlintでビルドが失敗するようになります。 追加されたlintというのはこち…
iOS 13.4とXcode 11.4と共にSwift 5.2がリリースされましたね。 Swift.org - Swift 5.2 Released! SE-0249 Key Path Expressions as Functions 関数・クロージャが要求される箇所でKeyPathリテラルを書くとKeyPath型ではなく関数・クロージャを返してくれる…
Kotlinで書き直されたOkHttp 4.xはJavaで書かれた3.xと基本的にソース互換性・バイナリ互換性が保たれているが、バイナリ非互換でクラッシュするケースに遭遇した。https://t.co/ZE0VV1Gkwm— Sho Ikeda (@ikesyo) 2020年2月17日 具体的には、「OkHttp 3.xのJ…
GitHub Actionsをそこそこ使っている今日この頃です。さて、Actionsといえば普遍的に使う、リポジトリをチェックアウトする actions/checkout がありますが、このアクションがv2になり、色々と挙動が変更・改善されてい便利そうなのでいくつかご紹介。 https…
あけましておめでとうございます。新年一発目の投稿は2019年の思い出です。 そういえば去年面白かったバグで、とある有効期限チェックで、2019年8月から半年後の月末が2020年2月末、つまり閏年なので2月29日になるのだけど、よくある和暦バグと組み合わさっ…
こんにちは、id:ikesyoです。これは はてなエンジニア Advent Calendar 2019 17日目のエントリーです。 昨日12月16日(月)に行われた 年末だよ Android/iOS Test Night - 2019 にて、『2019年のSwiftモック事情』という発表をしました。 Swiftでテストのた…
Android Dev Summit 2019の文脈でAndroid公式のDaggerに関するドキュメントやCodelabが出てきて取っ付きやすくなった感じがします。いいですね。 Dagger basics | Android Developers Using Dagger in Android apps | Android Developers Using Dagger in mu…
こんにちは。iOSDC Japan 2019の0日目参加のため東京に上陸しております id:ikesyo です。明日1日目の16:15からTrack Bで『5分でわかる!Xcode 11から使えるXCFrameworks』というタイトルでLTをします。 どういう内容かは紹介文を読んでいただきつつ、先月行…
Test Nightに初めて参加してきました(iOSやCI/CDも含めて)。普段は概ねiOSやSwift関係の勉強会・カンファレンスへの参加がメインなので、異なる軸での勉強会の参加するのは新鮮で楽しかったです(けど結構スマホアプリ絡みやBitriseの話も出ていた)。 発…