Swiftのタプルは各要素の型が同じでもlabelがあると別の型になる

開発環境 > swift --version swift-driver version: 1.62.15 Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 clang-1400.0.29.51) Target: x86_64-apple-macosx13.0 モチベーション docs.swift.org Swift Book進めてる時に以下を試していた。 // コンパ…

PATHの優先度は左側がより優先される

開発環境 > go version go version go1.18.4 darwin/amd64 > uname -v Darwin Kernel Version 22.1.0: Sun Oct 9 20:14:54 PDT 2022; root:xnu-8792.41.9~2/RELEASE_X86_64 モチベーション XcodeのBuild Phasesで意図しない参照先のバイナリが実行されてしま…

Unit Testing Bundle TargetのHost ApplicationをNoneにしてアプリを起動せずにユニットテストを実行する

iOS

終わり。以下メモ。 SchemeのTestで遊んでいた昼下がり、新規ProjectでTestを実行したらシミュレーター2つ立ち上がってビックリした。Intel MacBookなのでとてつもなくファンが回った。stack overflowに同じ事例があって解決した。今日はTestの内容。 開発環…

Embedded Frameworkを利用したマルチモジュール化を試した

マルチモジュールマスターになろう。 開発環境 > xcodebuild -version Xcode 14.1 Build version 14B47b モチベーション マルチモジュールなアプリに対して日々追加開発を行っているが、自分でマルチモジュール化したわけではないのでマルチモジュールの理解…

2022年10月を振り返る

モニタの運用方法を変えた モニター論理配置図(概念) 今までノートパソコン, 27インチモニタ, 27インチモニタのトリプルディスプレイ体制を取っていたが、仕事以外ではAのノートパソコンをクラムシェルモードで動かすようにした。画面多いと余計なもの見て…

Nuke 11.0から学ぶPackage, Product, Module

Nuke 10->11のアップデートで詰まった。そこからPackage, Product, Moduleの区別が以前と比べてつくようになったので備忘録として残す。 モチベーション github.com Nuke 11.0でNukeUI*1がNukeに吸収され、UIImageView などのextensionがNukeExtensionsとい…

GitHub ステータスはCircleCIのジョブが対象だが、ワークフロー単位で指定したい

モチベーション tokizuoh.hatenablog.com 先日の登壇時のQandAタイムで頂いたコメントに整理がついたのでまとめておく。 頂いたコメント https://speakerdeck.com/tokizuoh/monoreponiokeru-path-filteringli-yong-shi-demo-github-sutetasunorequiredwo-ji-…

【オンライン】CircleCIユーザコミュニティミートアップ に登壇した

イベントURL circleci.connpass.com 発表資料 speakerdeck.com ソースコード github.com リポジトリ名から察することが出来るが今月の1日に思いついたアイデアだった。 所感 初めてのオンライン上での10分尺での登壇は緊張したけど、Zoom上でのクローズドな…

SwiftUIでGraphQL Fragment Colocation利用時におけるプレゼンテーションロジックのテストを考える

テストを考える季節。 開発環境 > xcodebuild -version Xcode 14.0 Build version 14A309 apollo-ios: 0.53.0 モチベーション Fragment Colocation利用時におけるプレゼンテーションロジック(ここでは表示用の小数点丸め込みなどのロジックを指す)はどこで…

「Scrapbox情報整理術」を読んだ

www.amazon.co.jp 本を読み始めた時の目的 仕事でScrapboxを使っているのだが、Scrapbox上の情報が散らばっていて欲しい情報を得るために費やす時間が多いことが課題としてあり、それを解決するためのとっかかりを得たい。 読んだ結果 自分は本のターゲット…

2022年9月を振り返る

生活 自炊をあまりしなくなった。野菜一日これ一杯*1飲んでおけば後は適当でいいでしょ、みたいな温度感で生きている。 買ってよかったもの AirPods Max www.apple.com MacBookとiPhoneの切り替えがシームレスですごい。今まで使っていたWH-1000XM3*2よりノ…

Scrapboxで未チェックのチェックボックスの個数をカウントして表示する

モチベーション Scrapboxで以下のチェックボックスがタグになるUserScriptとUserCSSを利用している。 scrapbox.io チェックボックスはTODOリストのように使う時があるのだが、このチェックリストの個数を可視化したい。目的として未チェックのみ数えられれば…

dotfiles盆栽記5: treeのオプション指定をデフォルトで実行するようにした

盆栽日和。 github.com モチベーション treeでドットから始まるディレクトリを表示する時はaオプションを付与するが、Git管理下のディレクトリの場合はオプションで .git を除外しないと .git 配下もtreeで表示されてしまう。行数が多くなり大変見づらい。 >…

zshで直前に実行したコマンドをクリップボードにコピーする

前提としてoh-my-zsh*1を利用。 モチベーション 作業ログを書いている際にコマンドをコピーしたい場面がある。今まではマウスで選択して右クリックでコピーをしていたが自動化チャンスだと思ったのでやる。 コマンド全体 > echo `history -1` | cut -f 2- -d…

dotfiles盆栽記4: Homebrew管理のGitを使うことでzsh起動を速くした

25秒から1秒に短縮された。 github.com モチベーション zshの初回起動が25秒かかっていて遅い。2回目以降は初回に比べてかなり速い。初回起動を速くしたい。 あたりをつける ターミナルやzshの知識が無いので勘所が分からず悩んでいたのだが、ターミナル起動…

SwiftUI.GroupをViewのbodyの直下に置いた時の挙動

開発環境 > xcodebuild -version Xcode 14.0 Build version 14A309 モチベーション SwiftUIのGroupを具体例を踏まえて理解しようと思って実験していたら意味わからんくなったので記事に残す。 SwiftUI.Group Group | Apple Developer Documentation HStack, …

Swift Chartsを使ったグラフ構築 走行距離編

iOS

iOS 16が公開された! Swift Charts触っていくぞ! 本記事では実装の細部には触れず、WWDC22のセッション内容に沿ってグラフを構築する。 開発環境 > xcodebuild -version Xcode 14.0 Build version 14A309 モチベーション 運動のモチベーションにムラがある…

dotfiles盆栽記3: pecoを利用した曖昧git switch

github.com モチベーション git switchする際に、毎回事前にgit branchでswitch対象のbranchを調べている。手間なのと、曖昧検索ができるpecoを使って便利に自動化したい。 こうした alias gsp='git switch `git branch | peco | sed -e "s/*//g"`' 解説 ま…

dotfiles盆栽記2: ghqとpecoでctrl+c押下時に現在のディレクトリに留まるようにする

タイトルが長い。 github.com モチベーション # ghq, peco alias ghqcd='cd $(ghq list --full-path | peco)' ghqとpecoを使って開発ディレクトリを行き来しているが、ctrl+cでキャンセルすると /Users/{USER_NAME} に遷移してしまう。キャンセル時はコマン…

2022年8月を振り返る

まだ8月は数日残しているが気分的にもう8月は終わったので振り返り記事を書いた。また、今月から振り返り記事のテイストをちょっと変えてみた。分量が全体的に増えた。 生活 早いもので振り返り記事が今回で8つ目になる。転職を決意したタイミングでブログを…

dotfiles盆栽記1: zprofでプロファイリング

唐突なナンバリング記事。 github.com モチベーション dotfilesの盆栽は調べながらやっているのでメモ代わりとして記事を残していく。また、自分以外の方のdotfiles見るのは気合がいるので小出しで共有すると読みやすかったりするのではないか?なれば自分が…

個人のタスク管理をGitHub Projectに移行し始めた

要約 個人のタスク管理にGitHub Projectを導入した ターミナルからタスク(issue)を追加できるがプロジェクトの紐付けがまだ モチベーション note.route06.co.jp 先日上記の記事を見てめっちゃ良かったので個人(= 仕事以外)のタスク管理を見直したい。個…

ローカル環境のリポジトリ管理のためにghqを導入した

ghqの導入記事は溢れている。ありがとうございます。 本記事は備忘録程度な気持ちで書く。 モチベーション GitHub - x-motemen/ghq: Remote repository management made easy ローカル環境のリポジトリ管理を簡単にしたい。探しやすくしたい。リポジトリ管理…

GraphQLのNodeのうまみをコードを書いて理解する

モチベーション GraphQLにNodeという概念があるがよく分かっていないので理解したい。NodeはGraphQLの文脈で見かけ、また、一般に公開されているGitHub APIでも登場する概念*1だが、Nodeを知らなくてもGraphQL APIを構築できることを経験しているので謎が深…

CircleCIで対象ファイルに差分があった時のみワークフローを実行させる

モチベーション GraphQLサーバーのリポジトリからクライアントのリポジトリへのスキーマファイル同期をCircleCIで行っている。 CircleCIのワークフローの実行のタイミングはスキーマファイル(schema.graphqls)に変更があった時だけで良いのでそのタイミン…

HKWorkoutをGraphQLで扱うためにスキーマ設計をやった

モチベーション github.com 趣味開発のHealthKitを使ったiOSアプリから外部にワークアウトのデータを保存したい 将来的にiOS以外のクライアントでデータを取得したい 構築するAPIをGraphQL APIとして進める際にスキーマ定義が必要なので設計の手順をログとし…

HealthKitスターターキット

iOS

運動中の鉄分補給を怠らない。 開発環境 > xcodebuild -version Xcode 14.0 Build version 14A5228q Xcodeはbetaだが本記事の内容は現時点でbetaになっている内容に言及はない。 モチベーション HealthKitを利用する際にやることをメモ。一つ一つ見ると大し…

CircleCIで終了ステータスが0以外の時に失敗せずに終了させる

モチベーション CircleCIのステップで git commit をした際に差分が無い場合は終了ステータスが1になりワークフローが失敗扱いとなる。これを成功扱いにして終了させたい。 version: 2.1 jobs: update-text: docker: - image: ubuntu:xenial-20210804 steps:…

2022年7月を振り返る

生活 XXぶりにモンハンをやっている。サンブレイク。 X, XXの狩技が快適すぎてそれが廃止になった今モンハンをやる気持ちは無かったのだが、翔蟲のアクションに惹かれてやり始めた。今MR60ぐらい。マルチも楽しいけどソロプレイでNPCを連れてクエストが出来…

GraphQLサーバーからクライアントへのスキーマ同期にCircleCIを使ってみた

モチベーション GraphQLサーバーとクライアント間ではスキーマを共有する必要がある。自動化したい。 つくったもの CircleCIのワークフロー実行時にlocalhostでGraphQLサーバーを立てて、Apollo CLI経由でサーバーからスキーマを取得する。取得したスキーマ…