ottijp blog
  • シェルスクリプトで往年のじゃんけんマシーンを作る

    これはInfocom Advent Calendar 2023 5日目の記事です. シェルスクリプトの練習として,往年のじゃんけんマシーンを作ってみました. 環境 macOS: 13.5 (Ventura) zsh: 5.9 コード 実行例 どうでしょう.あのじゃんけんマシン…

  • iOS+Swiftで,HTML文字列をRTF(リッチテキスト)に変換してペーストボードにコピーする方法

    これはInfocom Advent Calendar 2023 4日目の記事です. 私の作ったアプリ「Copy as Link」で,HTML形式の文字列をRTF(リッチテキスト)としてペーストボードにコピーする機能があるのですが,この実装を説明します. 環境 Xcode: 15…

  • SwiftUIで使えるConfetti(紙吹雪)ビューを作ってSPMパッケージで公開した

    これはInfocom Advent Calendar 2023 1日目の記事です. いま作っているiOSアプリでConfetti(紙吹雪)の演出が必要なのですが,ライブラリが見つからなかったので作りました. コードはこちらに置いてあります. cf. ottijp/confet…

  • Linuxの外付け暗号化HDDにMacのTime Machineでバックアップを取る方法

    モチベーション 部屋のmac miniに接続しているHDDにTime Machineでバックアップを取っているのですが, HDDの音がうるさいので,別室にあるLinuxにHDDにリモートでバックアップを行うようにしてみました. 構成 macの内蔵SSDを,Wi-Fiルータ経由…

  • XcodeのプロジェクトをVimでLSPする方法

    ※ 「LSPする」というのはLanguage Serverを使ってIDEのように補完や定義参照する,という意味です.(それを表す適切な動詞がわかりませんでした.) モチベーション Vimでswiftのコードに対してLSP(Language Server Protocol)するに…

  • SwiftUI.Listで編集モードの時だけ削除・並べ替えを許可する実装方法(iOS16以上でも)

    SwiftUIので実装したリストビューにおいて,編集モードの時だけ削除・並べ替えを許可する(非編集モードの時のスワイプ削除や長押し並べ替えをさせない)実装をしたかったのですが,素直な方法ではiOS16以上の場合にうまく動かなかったので,実装方法を考えました. 環境 Xcode:…

  • AWS SAM (TypeScript) のテストをデバッグする方法

    Node+TypeScriptを使った AWS SAM (Serverless Application Model) でJestによるテストをデバッグできるようにしてみました. ただし,もしかするとAWS Toolkitを使った方が正攻法かもしれません.(まだ使ったことがないの…

  • Gatsbyで発生したエラー"Minified React error #418"を解決する

    このブログはGatsbyで作っているのですが,ブラウザのコンソールログに以下のようなエラーが出ていることに気づきました. (PageSpeedのレポートで気づきました.) エラーはした場合のみ発生し,では発生しません. TL;DR プロフィールアイコン画像の表示に使っているが問…

  • JavaScript, TypeScript, Next.jsのデバッグ方法

    モチベーション 今までJavaScriptやTypeScriptでコードを書いていてデバッグしたくなったとき,デバッグの仕組みがあることを知りながらも,すぐを書いたりして非効率なデバッグをやってしまっていました(反省). そこで,自分がよく使う以下の構成について,デバッグの方法…

  • チームビルディング用メモ(2023/07)

    偏愛マップ 目的 自分を知る,チームメンバを知る 共通点の発見とつながりの強化 自己開示 ねらい チーム力の最大化 心理的安全性の向上 進め方 ワークの説明: 5min 偏愛マップ作成: 15min 発表: 5min/人 クロージング: 5min refs 『偏愛マップ』でお互…

プロファイル画像
Satoshi SAKAO
都内でアプリケーションエンジニアをしています
© 2026, ottijp