酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Intel Macを初期化するために Mist を使用してUSBインストーラーを作成した

家庭内サーバーマシンをリプレイスした。いままで使っていた Mac mini (Late 2014) が不要になったため、Mist を使って USBインストーラーを作成して初期化した。 あらすじ 今年の3月に「ThinkCentre M715q Tiny」を譲ってもらった*1。しかし、デスクトップ…

リングフィットを始めて600日が経ったので chocoZAP に通いはじめた

2021年8月中旬から始めたリングフィットアドベンチャーのゲーム内日数が600日を越えた。6回目のアドベンチャーもラスボス戦に近づいており、来週には7回目のアドベンチャーに突入する見込みだ。 今年の4月末にぎっくり背中を患い、その結果約2ヶ月間リングフ…

Cloud Firestore の Collection references は偶数個のセグメントだと例外が発生する

長いあいだ、Swift でのデータ操作が煩雑な Cloud Firestore を使う気になれなかったのだが、いつのまにか Swift Concurrency に対応していた。async / await が使えると話が変わってくる。格段に使いやすくなっていたので、お試しで簡単なアプリを作ってみ…

iOSユニットテストでテスト専用リソースの組み込みと利用方法

たとえば画像識別アプリを開発中には、テスト画像を Bundle からロードして、画像を識別してその結果を評価するユニットテストを作成する。または、HTMLをスクレイピングするアプリを開発中には、ダミーのHTMLを Bundle からロードして、スクレイピング処理…

Python を使って Gmail からメールを送信する

自宅サーバーでは毎日メールを送信するバッチを処理している。これまではmacOS上のJenkinsで動かしていたため、Swiftで実装したプログラムを使用していたが、JenkinsをWindowsマシンへ移行することに伴い、Pythonへ移植することにした。 本記事では、Python…

SwiftUI で検索モードを解除する。dismissSearch() は searchableモディファイアを設定したViewの 子View でないと使えない

本文はあとで書く。 developer.apple.com dismissSearch() を実行すれば、検索モードがオフになり、検索バーに入力していたテキストもキーボードも消える。 Sets isSearching to false. Clears any text from the search field. Removes focus from the sear…

Misskey .py を使って画像を添付したステータスを misskey.io へ投稿する

Python を使って、画像を添付したステータス「Hello, Misskey!」を misskey.io へ投稿する方法を紹介する。 Mastodon.py のインストール Python で Misskey にメッセージを投稿するには Misskey.py というパッケージを使用する。Python から Misskey API に…

atproto を使って画像を添付したステータスを Bluesky へ投稿する

Python を使って、画像を添付したステータス「Hello, Bluesky!」を Bluesky へ投稿する方法を紹介する。 atproto のインストール Python で Bluesky にメッセージを投稿するには atproto というパッケージを使用する。Python から Bluesky (AT Protocol) に…

atproto を使ってステータスを Bluesky へ投稿する

Python を使って、Bluesky に「Hello, Bluesky!」と投稿する方法を紹介する。 atproto のインストール Python で Bluesky にメッセージを投稿するには atproto というパッケージを使用する。Python から Bluesky (AT Protocol) に簡単にアクセスするためのツ…

Swift で上付き文字・下付き文字を表示させる

iOSアプリで「H₂O」や「x²」のような上付き文字や下付き文字を表示する方法について調査する機会があった。 さくさんは、2010年頃(iPhone OS 3.xの時代)からiOSアプリの開発を行っているが、上付き文字や下付き文字を扱うのは今回が初めてだった。他の多く…

お絵描き初心者が Stable Diffusion を使って魅力的なキャラクターの描き方を学ぶ

さくさんは4月28日に液晶タブレット「HUION Kamvas 12」を手に入れてから、夜ごとにイラストを描いては投稿している。 【日本限定】 HUION 液タブ 液晶ペンタブレット Kamvas 12 豪華版 11.6インチ 充電不要ペンPW517 絵描き 写真加工 在宅ワーク ネット授業…

焼きそばがフライパンにこびりついたら新しいフライパンの購入時期の合図!フライパンを新調した

2020年に購入したフライパンで焼きそばを作ると、麺がこびりついてしまうようになった。次の日、偶然にも和平フレイズの公式Twitterアカウントが関連するツイートを投稿していた。これは運命だとフライパンを新調することを決めた。 ふっ素樹脂加工の寿命を…

リモートワーク中のコーヒータイムを楽しむために真空断熱タンブラー「JDM-340」を買った

Twitter で真空断熱タンブラー「JDM-340」が紹介されているツイートを偶然見つけた。昨今の物価高騰に伴い、新版である「JDM-341」が値上がりしているので、旧版が手に入るうちにタンブラーを追加購入したという内容が書かれていた。 真空断熱タンブラーなの…

墨田区で2023年5月8日以降にコロナワクチンを接種できる会場はどこ?

2023年5月8日、新型コロナウイルス感染症が5類へと変更された。コロナワクチンは引き続き無料で受けられるが、墨田区では接種会場が大幅に減少された。本記事では、2023年5月8日以降も運営されている接種会場を紹介する。 はじめに 一般の区民を対象としたコ…

液晶ペンタブレット「HUION Kamvas 12」を購入した

Amazonのタイムセールで 23,000円になっていたので液晶タブレット「HUION Kamvas 12」を購入した。 【日本限定】 HUION 液タブ 液晶ペンタブレット Kamvas 12 豪華版 11.6インチ 充電不要ペンPW517 絵描き 写真加工 在宅ワーク ネット授業 専用スタンド付き…

Flutterで、Firebase Authentication の認証プロバイダーの増減を監視する

Firebase Authentication を使った Flutter アプリを開発している。ログインプロバイダーが増減したときのイベントを取得したい。 たとえば、ユーザーアカウントに Apple アカウントが接続されている時には「Appleアカウントと連携中!」と表示し、接続解除…

Misskey .py を使ってステータスを misskey.io へ投稿する

Python を使って、misskey.io に「Hello, Misskey!」と投稿する方法を紹介する。 Mastodon.py のインストール Python で Misskey にメッセージを投稿するには Misskey.py というパッケージを使用する。Python から Misskey API に簡単にアクセスするためのツ…

ぎっくり背中になった

先週の金曜日のミーティングの終わりに、ゴールデンウィークの予定を確認するために卓上カレンダーを取ろうと体をひねると腰に激痛が走った。悲鳴を抑えながらなんとかミーティングを乗り切ったものの椅子に座ることができなくなってしまった。 しばらくベッ…

Mastodon .py を使って画像を添付したステータスを Mastodon へ投稿する

Python を使って、画像を添付したステータス「Hello, Mastodon!」を Mastodon へ投稿する方法を紹介する。 Mastodon.py のインストール Python で Mastodon にメッセージを投稿するには Mastodon.py というパッケージを使用する。Python から Mastodon API …

Mastodon .py を使ってステータスを Mastodon へ投稿する

Python を使って、Mastodonに「Hello, Mastodon!」と投稿する方法を紹介する。 Mastodon.py のインストール Python で Mastodon にメッセージを投稿するには Mastodon.py というパッケージを使用する。Python から Mastodon API に簡単にアクセスするための…

リングフィットを始めてから500日が経ったので「ケトルベル魂 パワーウエイトベスト(20kg)」で負荷を増やした!

2021年8月中旬から始めたリングフィットのゲーム内日数が 500日を超えた。現在、6周目のアドベンチャーで遊んでいる。 体脂肪率が20%台になると体の真ん中に縦線が入ってきた。喜んでいたらそのあと油断したため 21%台に戻ってきた。春なので桜餅やおはぎな…

AIと共に進化するアプリ開発: GPT-4と爆速でiOSアプリを開発する方法とその効果

こんにちは!最近、私は OpenAI の GPT-4 と共に iOS アプリを開発することに挑戦しました。この冒険において、AIの力を活用することで、どのように開発プロセスが劇的に変わるのか、そしてどのような課題に直面したのかについてシェアしたいと思います。 本…

Python で指定したディレクトリを再起的に調べていき、画像が破損している場合にファイルを削除する

Python で指定したディレクトリに含まれる画像が破損している場合に当該の画像ファイルを削除する方法を紹介する。 はじめに Google Colab での TensorFlow を使った転移学習時に以下のエラーが発生した。 /usr/local/lib/python3.9/dist-packages/tensorflo…

Colab でマウントしている Google Drive に対してファイル書き込み後、書き込んだランタイムからは参照できるのに、別のランタイムからはファイルが見えない

Google Colaboratory (以下Colabと記す) に Google Drive をマウントし、大きい .tar ファイルを解凍して Google Drive に保存した。解凍をした Colab ランタイム側ではファイルが確認できるが、別のランタイムからは解凍したファイルが見られないという問題…

外付けSSD として使うために「WD Blue SN570 1TB」と「UGREEN 90264」を買った

最近、大量の画像ファイルを扱うようになった。さくさんの MacBook Pro は、ストレージを1TB にアップグレードしているが、それでもストレージの容量が不足してしまった。 データの整理と引き継ぎを考えて、ファイルは外付けSSDで管理することにした。速度の…

GPT-4 にどんなアプリを開発すれば儲かるのか聞いてみたら「アプリ開発における基本」が返ってきた

GPT-4 がリリースされた。月20ドルのChatGPT Plusに加入すれば、GPT-4 を利用できる。「どんなアプリを開発すれば儲かるでしょうか?」と質問したところ、アプリ開発における基本が返ってきた。 以下、GPT-4 の回答である。 AIが考える儲かるアプリを開発す…

Twitter で bnc,lt または asahsi,com のリンクを貼っている通称ナイト系スパムbot への対処方法

Twitter でバズったツイートに対して bnc.lt または asahsi.com のリンクを貼るスパムがあまりにも目に付くので対処したいと考えた。これは通称「ナイト系スパム」と呼ばれる bot である。 後述するが、リンクを踏むと無断転載サイトへ転送され、サイト運営…

Cloudflare R2 で静的サイトを公開する

CloudFront + S3 で https://ch3cooh.net/ をホストしている。このサイトでは単に welcome! としか表示しない。特に何をやっているわけではなく、AdMob で規定されている 「アプリ向けの認定販売者宣言システム(app-ads.txt)」置き場である。そのためでき…

Cloudflare でカスタムメールアドレスを作成して任意のメールアドレスへ転送する

ドメインを所有している証明として info@example.com か webmaster@example.com にメールを送ってくるサービスがあった。このためだけに現在「さくらのメールボックス」を契約している。 Cloudflare には info@example.com や webmaster@example.com などの…

Raspberry Pi 4 と docker-mirakurun-epgstation で録画サーバーを構築する (2023年2月版)

Raspberry Pi 4 Model B (以下ラズパイと記す)で構築した録画サーバーが死んでいるのに気付かず、3日前の「ローカル路線バス乗り継ぎ対決旅 陣取り合戦」を見逃してしまった。 2年前に「Raspberry Pi 4とdocker-mirakurun-epgstationで録画サーバーを構築す…