cockscomblog?

cockscomb on hatena blog

2022-01-01から1年間の記事一覧

1Password CLIで.env.localを作る

1PasswordにはVS Code拡張があって、.env ファイルなどにハードコードされたシークレットを1Passwordに保存して、secret reference というURL形式に置き換えてくれる。 ちなみにコミュニティ製のJetBrains IDE用の拡張もある。 これを使って .env.local.temp…

ショートカット.appでjq

jq jqはJSONをいい感じにクエリできるやつで、広く使われている。 $ echo '{"foo": "bar"}' | jq '.foo' "bar" 例えばGitHub Actionsのランナーにもデフォルトで入っている。 あるいはGitHubのCLIツール gh にも --jq オプションがあって、統合されている。 …

macOSのコンテナ開発環境におけるVirtualization frameworkの採用

Docker Desktop for Mac Docker Desktop for Macでは、仮想マシン上のLinuxでDockerを動かしている。仮想マシンにはhyperkitやQEMUが使われていた。が4.14.0からVirtualization frameworkがデフォルトで使われる。 Set Virtualization framework as the defa…

ソフトウェアエンジニアとしての最初の10年

働き始めてから丸10年経った。 2012年、僕は北海道に住む大学院生で、趣味としてプログラミングを楽しんでいた。Appleのファンだから、macOSやiOSのアプリケーションを開発して、ちょっとでもAppleに近づいたような気持ちになっていた。その夏1ヶ月のインタ…

ステージマネージャの使い方

macOS VenturaおよびiPadOS 16で導入されたステージマネージャだけど、どうやって使うのか段々わかってきた。 ステージマネージャのコンセプト ステージマネージャは、ウインドウのセットを作る機能だ。タスクに合わせてウインドウのセットを作れば、複数の…

SwiftUIでSFSafariViewControllerを使う手法の探求

SwiftUIからSFSafariViewControllerを使いたい場面は多い。 SafariView SFSafariViewControllerはビューコントローラーだから、UIViewControllerRepresentableを使ってSwiftUIのビューにしてしまうのが簡単か。 import SwiftUI import SafariServices struct…

東京に引っ越しました

はてなのインターンシップに参加した2012年の夏から、10年弱、京都で暮らした。その間に結婚もしたし、二人の子供にも恵まれた。京都では2Kの賃貸住宅に住んでいて、ひどく手狭だった。上の子は来年度から小学生になる。その前に引っ越しておきたい。 勤務先…

WWDC22への期待が高まってきたのでSwift Evolutionをナナメ読みする

WWDC22で何が発表されるのか、期待で眠りが浅い日々を過ごしている。何かヒントはないかとSwiftの次期バージョンについて調べていた。 普段から、定期的に同僚のid:ikesyo、id:yutailang0119、id:nakiwo、id:kouki_danらとSwift Evolutionの様子をチェックし…

AWS LambdaでSlackアプリを動かす

プライベートな用事でサーバサイドで何かやりたい場合、サーバレスな構成が第一選択になる。規模が十分に小さい場合、サーバレスにした方が安い。常にインスタンスが立ち上がっているような構成は(たとえ冗長構成を取らなくても)プライベートな用事程度で…

ScrapboxでMermaidを使う

筆者の勤務先ではScrapboxというWiki的なツールが導入されていて、何でもそこに書いている。 そして筆者は以前からPlantUMLなどで作図するのが気に入っているが、最近は同様の目的を持ったMermaidがよく使われている様子がある。2021年12月にはNotionが、そ…

GitHub ActionsでDocker Buildするときのキャッシュテクニック

GitHub Actionsでdocker buildすることが多い。このときのキャッシュをどうするかという話題。 基本 GitHub Actionsでdocker buildしてAmazon ECRにdocker pushする、典型的な.github/workflow/docker-push-to-ecr.ymlはこういう感じ。 name: Push to Amazon…