プログラムでCore Dataをセットアップする without xcdatamodel

Core Dataを使おうと思って調べると、解説のほとんどが .xcdatamodeld ファイルでセットアップを始める。 .xcdatamodeld はグラフィカルに構造を表示し、便利な反面、裏側の仕組みを理解しづらい、GitHubでレビューしづらいなどのコストは無視できない。 さ…

iOSDC JAPAN 2022にプロポーザル提出した -> 採択された #iosdc

fortee.jp 過去にも採択してもらってトーク枠をもらったけど、隔年の周期っぽい。 xcrun Essentials by Yutaro Muta | トーク | iOSDC Japan 2020 - fortee.jp weak vs unowned by Yutaro Muta | トーク | iOSDC Japan 2018 #iosdc - fortee.jp 提出したプロ…

SSOを切っても、GitHubの草を1年生やせた

Contributions in the last year 前の1年は仕事でのリポジトリも含めて1年間GitHubの草を生やしていたが、この1年はSSOを切った状態でも草を生やすことを目標にやってきた。 毎日意味のあるコードを書き続けられた訳ではないけど、毎日PCやスマホのGitHubア…

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

株式会社はてなに入社しました 本年度もよろしくお願いします 株式会社はてなに入社しました - hitode909の日記

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

株式会社はてなに入社しました 本年度もよろしくお願いします 株式会社はてなに入社しました - hitode909の日記

【2022年】Xcode/Apple Platform/Swiftアップデートの歩き方

先にまとめ Xcode Xcode Release Notes Apple Platform ‪Technologies‬ Documentation API diff Tech Talks Swift apple/swift CHANGELOG apple/swift-package-manager CHANGELOG swift.org Blog swift-evolution apple/swift-evolution proposals Swift For…

誕生日を迎えた 29回目

id:yutailang0119 の通り、2022年1月19日に誕生日を迎えました。 二十代最後だけど、カウントダウンが始まった。 仕事の昼会で「誕生日の歌をオンラインで歌ってもらう実績」を解除しました。 仕事 2018年2月に株式会社はてなに入社して、早いもので4年目が…

Swiftのenumはコンパイルが通れば、本当に安全? (CGImagePropertyOrientation)

CGImagePropertyOrientation -> UIImage.Orientation に変換するコードを、ドキュメントを基に以下のように実装した。 extension UIImage.Orientation { init(_ cgOrientation: CGImagePropertyOrientation) { switch cgOrientation { case .up: self = .up …

Xcodeテーマを自作しませんか? #はてなエンジニアアドベントカレンダー2021

これははてなエンジニアアドベントカレンダー2021 6日目の記事です。 昨日は id:mizdra の Babel をリファクタリングツールとして使う でした。 はてなエンジニアでのアドベントカレンダー、2021年も盛り上がっております!!! 本題 自分はiOS、macOSにDark…

GitHub ActionsのYAMLフォーマット、統一されてなくて困る

Twitterでも、社Slackでも度々愚痴を漏らしているのだけど、GitHub ActionsのYAMLフォーマットが統一されてなくて枕を濡らしている。 GitHub Action YAMLで、 on: pull_request はsnake_case だし、 jobs: runs-on: はkebab-case だし、ドキュメント https:/…

action-github-pr-release を作った

github.com これはご存知 x-motemen/git-pr-release の再発明だ。 まだまだ本家には機能が足りないけれど、簡単に使うには十分なものになったので公開。 こんな感じ になる。 特にTemplateの機能がないと置き換えれない利用ケースが多いと思うので、対応した…

SwiftUI.AsyncImageのBackportを作っている

github.com iOS 15/macOS 12/tvOS 15/watchOS 8から使えるようになる予定の SwiftUI.AsyncImage が便利で早く使いたいので、SwiftUIが使えるプラットフォーム全てで使えるように、Backportライブラリを作ってみています。 はてなの同僚たちに協力してもらっ…

PixelaUI 1.0.0 リリースのお知らせ #pixela #PixelaUI

本日、すばらしい発表をみなさんにできることを、大変嬉しく思っています。 v1.0.0 本日、PixelaUI 1.0.0 をリリースしました! 主なアップデートは以下です。 アイコンをPixelaUIオリジナルに iOS/iPadOS 14からのWidgetをサポート ログイン情報の取り扱い…

WEB+DB PRESS Vol.121 特集2 「iOS 14最前線」に寄稿しました #wdpress

宣伝 2021/02/22 (月) に発売予定 の WEB+DB PRESS Vol.121 *1 に寄稿しました! 担当は、特集2「iOS 14最前線」で、はてなで同僚の id:cockscomb id:kouki_dan との共著です。 その中で、自分は2章「UIKit」と5章「ウィジェット」の2つを担当しています。 …

2021/01/19

大きな病気などなく、本日1月19日で28歳を迎えました。 もう若手とは言えなくなって参りました。 昨年は世界が大きく変わり、自分自身にも良いこと悪いこと、いろいろとありました。 28歳の抱負は「地道」にしました。 飛躍などの大きな目標からは一旦離れて…

Apple SoC Mac (M1) に合わせて大掃除 🦜 #はてなエンジニアアドベントカレンダー

Mac

これは はてなエンジニア Advent Calendar 2020 25日のエントリーです。 昨日は id:hitode909 さんで、Perlアプリケーションの依存モジュールの更新についてWEB+DB PRESS vol.120のPerl Hackers Hubに寄稿しましたでした。 誕生日おめでとうございます 最終…

2020年Mackerel作ったものまとめ #mackerelio #アドベントカレンダー

これは Mackerel Advent Calendar 202019日目のエントリーです。 昨日は id:yasunori-k さんで、 2020年のオンラインセミナーを振り返る(共催セミナー編) - Mackerel ブログ #mackerelio でした。 こんにちは、id:yutailang0119 です。 Mackerelアドベント…

金沢に立ち寄って、一人旅をしてきた

SPAJAM 2020最優秀賞副賞で、軽井沢でワーケーション体験をして来た #SPAJAM #サードオフィス - がんばってなんか書く の帰りに、12/13 (日) - 14 (月) で金沢に一泊して来ました。 View this post on Instagram A post shared by yutailang0119 (@yutailang…

SPAJAM 2020最優秀賞副賞で、軽井沢でワーケーション体験をして来た #SPAJAM #サードオフィス

先日報告した SPAJAM 2020 の最優秀賞 の副賞の一つ、軽井沢ワーケーション体験に、12/12 (土) -13 (日) で行ってきました。 View this post on Instagram A post shared by yutailang0119 (@yutailang0119) 軽井沢ワーケーション体験プログラム 世間でも、…

SPAJAM 2020 本選大会に「おひっこし」として参加して、最優秀賞に選ばれました!!! #SPAJAM

予選: SPAJAM 2020 第2回予選大会に「おひっこし」として参加して、優秀賞に選ばれました #SPAJAM - がんばってなんか書く 11/7 (土)、8 (日) に行われたSPAJAM 2020 の本選大会に、 @_bannzai_、@gaopin1534、@koooootake、@noa_design51と共に参加し、最優…

github/docsにPR出したけど、タイミングが悪くてコントリビュートし損ねた

GitHubのドキュメントがOSSになった。 github.blog Pull Requestを出した ちょうど、ドキュメントのMarkdownが崩れている箇所を知っていたので、修正を出した。 github.com 重複でマージされなかった GitHubスタッフから Because this particular issue has …

PrivateリポジトリのSwiftPMをCIから使う

最近はモバイルアプリのリポジトリのプロジェクト整理として、これまではPrivateなPodSpecsやgit submoduleを使って解決していた依存を置き換えたり、単体での取り回しが効く程度にリポジトリを分けたりなどをしている。 iOSアプリならPackage.swift を用意…

SPAJAM 2020 第2回予選大会に「おひっこし」として参加して、優秀賞に選ばれました #SPAJAM

9/26 (土)、27 (日) に行われたSPAJAM 2020 の第2回予選大会に、 @_bannzai_、@gaopin1534、@koooootake、@noa_design51と共に参加し、優秀賞に選出されました。 https://history.spajam.jp/competition-result2/ 10 チーム目の開発したアプリ「カシャッと交…

iOSDC Japan 2020に参加 & LT登壇しました #iosdc

前々回: iOS Japan 2018に参加 & LT登壇しました #iosdc - がんばってなんか書く 去年は書いてなかったことが発覚した。 全体 今年は時世もあり、オンライン開催ということだった。 iosdc.jp 暑い中の移動が無 ノベルティを持ち帰らなくていいのが、非常に…

リポジトリに含まれるコード量/比率をMackerelに記録する with GitHub Actions & action-mackerel-api

リポジトリを管理していると、何かの拍子にリポジトリのコードベースの変遷を可視化したくなる場合があります。 例えば、以下の場面です。 ある時からのリポジトリの成長 実装言語を置き換える際のコードベースの遷移 iOSだと、Objective-CからSwiftへの移行…

fastlane-plugin-mackerel_apiを作って、fastlaneにコントリビューションもした

rubygems.org github.com これはなに Mackerel APIのインターフェイスを、fastlane 向けに提供するPluginです。 実装は fastlane/actions/github_api.rb を元として、Mackerel API向けに調整しました。 Actions.sh で curl を実行するだけでも事足りるのです…

GitHub Actions for Android Lintを作ってる

github.com Marketplace Danger x Android Lint 自分は仕事ではAndroidアプリの開発もしています。 Android Lintも使っていて、danger/dangerとloadsmart/danger-android_lintを組み合わせて、Pull RequestにLint結果を表示するという、一般にも使われていそ…

WEB+DB PRESS Vol.116 特集1 「はじめてのトラブルシューティング」に寄稿しました #wdpress

宣伝 2020/04/24 (金) に発売予定 の WEB+DB PRESS Vol.116 *1 に寄稿しました! 担当は、特集1 「はじめてのトラブルシューティング」の第4章「モバイルアプリ」です。 id:Soudai さん、 id:rukiadia0401 さん、@maeponさんとの特集共著です。 一部の大手書…

iOS/iPadOSアプリ PixelaUI 0.1.0 をリリースしました #pixela

PixelaUIYutaro Mutaユーティリティ無料apps.apple.com これはなに? Pixela のiOS/iPadOS向けクライアントアプリケーションです。 アプリ名は、後述する使用frameworkである SwiftUI ともかけています。 サポートOSバージョンは iOS/iPadOS 13.2以上 です。…

Swift Playgroundsで快適なSwiftUIコーディング環境を #SwiftAdventCalendar

これは Swift Advent Calendar 2019 24日目のエントリーです。 昨日23日は Moto0124 さんの CGAffineTransformを知る でした。 はてなエンジニアAdvent Calendar 2019での Deletable Table with TextField on SwiftUI に続いて、今回も SwiftUI ネタです。 …