酢ろぐ!

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

Androidで 背景色に応じた見やすい文字色を求める

ユーザーがタグ色を選択できるプロダクトの場合、ユーザーが決めた色の上にテキストを配置しなければいけない。たとえば、下図の GitHub のタグのような場合である。 背景色に応じて、視認しやすいテキストカラーが利用されていることがわかる。 enhancement…

Swiftで 背景色に応じた見やすい文字色を求める

ユーザーがタグ色を選択できるプロダクトの場合、ユーザーが決めた色の上にテキストを配置しなければいけない。たとえば、下図の GitHub のタグのような場合である。 背景色に応じて、視認しやすいテキストカラーが利用されていることがわかる。 enhancement…

AIによる画像生成サービス「DALL·E」を使って可愛い初音ミクのイラストを無限に生成しよう! #dalle2

テキストを入力するとそれに沿った内容の画像を AI が出力してくれるサービスが流行っている。今回紹介する「DALL·E」や Discord 上で展開する「Midjourney」などである。 「Midjourney」は Discord のコマンドを入力して使うのだが、前提となる Discord の…

今年の猛暑を乗り切れる気がしなかったのでエコスクリーンを使って遮光・断熱対策をした!

さくさんはエアコンが好きではないので我慢できる限りエアコンは使わないのだが、今年は6月にも関わらず急激に暑くなり耐えきれずエアコンを入れている。6月に猛暑日が続くのは観測史上初のようでニュースになっていた。 午前11時20分現在、東京都練馬区で35…

Prime Day 2022 セールで買ったもの

毎年夏の時期になると Prime Day という Amazon プライム会員限定のセールがある。去年はオリンピックとの兼ね合いがあり 6月末に開催されていたが、今年はいつも通りの7月中旬に開催される。 Prime Day セールは Amazon製デバイスの在庫処分的な側面が強く…

アトラスアーリーサマーセールで 3DS版「デビルサマナー ソウルハッカーズ」「デビルサバイバー」を買ったよ

2022年6月22日〜7月6日まで「アトラスアーリーサマーセール」が開催されている。 以前からことあるごとに「ニンテンドーeショップ がクローズされるのでアトラスセールしてくれ!!!」と言い続けてきたが、実際にはセールをしてるのに気付かず最終日の前日…

flutter で go_router を使って画面遷移する

flutter での画面遷移に躓いたので「flutterでの画面遷移方法がわからない」で色々試した。画面遷移ライブラリはたくさんあるようだが、現状では go_router についての情報が一番多かったので、右に倣えで私も go_router を使うことにした。 go_router のイ…

SwitchBot温度計プラスを買った

ハムスターが寝室にいるため、暑くなってくると24時間エアコンを効かせている。犬はエアコンが嫌いなのか玄関でよく寝そべっている。少し前の健康診断で脱水気味を指摘されているので熱中症が怖い。玄関にもSwitchBot温度計を置いて、玄関の室温を管理するべ…

AWS S3 と CloudFront のデータ転送はどっちのが高いのか?

AWS S3(Simple Storage Service) と CloudFront のデータ転送(アウト)の料金比較をおこなった。 2022/06/03時点の料金で、すべて東京リージョンと日本国内からのアクセスを想定している。また1ドルは130円で換算している。 S3とCloudFrontのデータ転送料金 …

フォートナイト チャプター3 シーズン2 所感

去年の秋のアップデートでフォートナイトの「クエストシステム」が大幅に変わってしまいつまらなくなった。それ以来ずっと遊んでいなかったが、久しぶりに今シーズンのチャプター3シーズン2*1ではフォートナイトを遊び尽くした。システム面では、今シーズン…

マイプロテインが高くなったのでエクスプロージョンに切り替えた

プロテインを飲み始めた当初は味にこだわっていたが最近では雑に飲むようになってきたので、タンパク質が入っていて安ければそれだけで嬉しい。マイプロテインは「遅い・安い・美味い」と評価が高い。ひとときは1kgあたり1,500円だったというので驚きだ。国…

iOS/macOSでFFmpegを使ってh264エンコードすると画質が悪くなる問題 (h264_videotoolbox vs libx264)

iOSアプリにtanersener/ffmpeg-kitを組み込んで、iPhoneで録画した動画をffmpegを使ってh264エンコードするとどの動画にもノイズが入る問題が発生した。macOS上で同じ動画をエンコードした場合にはノイズが乗らない。なぜノイズの有無が発生してしまうのか?…

macOSで KMMのスケルトンプロジェクトの iosApp のビルドが通らない

macOSで Kotlin Multiplatform Mobile(KMM) のスケルトンプロジェクトの iosApp のビルドが通らない問題が発生した。 JVMのバージョンを11にする必要があったが、Android Studio内の設定で「Gradle JDK」を変更しても、システムのJDK(macOS組み込みのJDK)が…

機龍警察に登場する機甲兵装のまとめ

機龍警察シリーズは知っていたけれど今まで読む機会がなかった。積んでいた「大日本帝国の銀河」「銀河英雄伝説」と読んでしまい、他に読むものがなくなってしまったのでたまたま目にした『機龍警察』を読んだところハマってしまい現在1日1巻ずつ読んでいる…

VNRecognizeTextRequestを使って画像からテキストを取得する

iOS 13から画像から顔認識やバーコード、テキスト認識する Vision.framework が実装された。本記事では VNRecognizeTextRequest を使って画像からテキスト(String)を抽出する方法を紹介する。このクラスでは Convert Image to String をおこなう。 よく似た…

Xcode 13.3でアプリバイナリのexportに失敗する問題

昨日、App StoreにてXcode 13.3がリリースされた。早速アップデートしたところ、Bitriseにて特定のアプリで下記のようなエラーが発生した。コンパイル自体は問題なくその後のアーカイブの段階で失敗している。 error: exportArchive: ipatool failed with an…

椅子を買い替えた。Dowinx社のゲーミングチェア LS-6668 を購入した

上京時に買ったオフィスチェアのクッションがヘタってしまいお尻に金具が当たってしまうようになった。クッションを敷いたりして誤魔化していたが限界を感じたので新しい椅子を買うことにした。 いままで使っていたのはよくあるこのタイプの椅子。あくまでも…

リングフィットを始めて6ヶ月経ったけど負荷が足りないので腹筋ローラーも始めた

1週間くらいで辞めると思っていたリングフィットもなんだかんだで習慣化できている。リングフィットを始めてから6ヶ月も経過したので最近のできごとをまとめた。 前回書いた記事にはリストウェイトとアンクルウェイトを導入した話を書いた。当初は片腕にリス…

SwitchBot 屋内カメラに挿した64GBのmicroSDカードがなぜか190MBしか認識されない

ハムスターの監視に「SwitchBot 屋内カメラ」を使っている。固有の製品名がないため以下、屋内カメラと記す。 【Works with Alexa認定】SwitchBot 防犯カメラ スイッチボット 監視カメラ Alexa 屋内 カメラ ネットワークカメラ ペットカメラ ベビーモニター …

サイレントホイール21がうるさい!家具職人が作ったホイールスタンド「ハムタワー21」を買って回転音を無音化した話

現在、我が家ではキンクマハムスター用の回し車として、SANKO(三晃商会)のサイレントホイール フラット21 (以下、フラット21と記す)を使っている。通算で5台目のサイレントホイールだ。 SANKO U44 サイレントホイール フラット21SANKOAmazon サイレントホイ…

UIImagePickerControllerを使って写真.appで編集済みの動画を選択しても編集前のオリジナル動画が使われてしまう

動画のアップロード機能を実装していると、iOS標準の写真.appでクリッピングやトリミングしている編集済みの動画を選択した場合に、編集しているにもかかわらず編集前のオリジナル動画がアップロードされてしまう現象に気が付いた。 動画を選択するのに UIIm…

UIImagePickerControllerを使って動画を録画しようとすると __TCCAccessRequest_block_invoke でクラッシュしてしまう

プロフィール画像などの静止画の撮影にUIImagePickerControllerを使うことはよくあり、UIImagePickerControllerを使って動画の録画ができることも知っていた。iOSアプリ開発に携わって11年ちょっと経つが、いままでUIImagePickerControllerを使って動画録画…

macOSにHomebrewを使ってpythonをインストールする

久しぶりにpythonをいじることになったため、macOSにHomebrewを使ってpythonをインストールする。 環境情報 MacBook Pro(16インチ、2021) Apple M1 Pro macOS Monterey v12.1 Homebrew 3.3.9 macOSでアプリ開発をしている場合、おそらくすでにHomebrewがイ…

リングフィットを始めて4ヶ月経ったら負荷が足りないのでリストウェイトとアンクルウェイトを導入した

前回書いた記事では「ラスボスまでもう少し」だったが、あのあとすぐにラスボスを倒して、現在は2周目の世界でアドベンチャーしている。2周目ではドラゴやリングのセリフが変わっていて面白い。 負荷が足りないのでリストウェイトとアンクルウェイトを導入し…

Swift Package Managerでマルチモジュール化しているアプリでCoreDataの.xcdatamodeldファイルが参照できない

注意:このプロジェクトではCoreDataの定義ファイルを TweetAlbum.xcdatamodeld としている。もし存在するかわからないが、本記事を読んで同じ現象でハマった方がいれば、TweetAlbumの部分は各々で読み替えていただきたい。 Appの外にあるCoreDataの.xcdatam…

2021年買ってよかったもの

2021年の総評としては、前半はド短期案件で超忙しくて肉体的に疲労して、後半は仕様が常に変化する案件で精神的に疲労していた。12月に入ってからは親戚ガチャの失敗を肌で感じていた。厄年でもないのにとにかくしんどかったし救いもなかった。 本記事では20…

macOSでJenkinsを起動させるまで

macOSにJenkinsを入れるのはかなり大変で職人芸を駆使して対応していた記憶がある。2021年ではhomebrewを使ってインストールができた。 macOSの初期化+インストールディスクの作り方。一度稼働させたら基本的にアップデートさせないので今回はMontereyを使う…

xcframeworks に対応した Rome を使って Carthage のキャッシュをS3にアップロードして Bitrise で超高速にビルドしよう! #bitrise #bitrisearticle

CarthageのキャッシュをS3で共有できる「Rome」がxcframeworksに対応して帰ってきた!!この記事はiOS Advent Calendar 2021の12日目の記事です。 Romeとは? はじめに Carthage/Build ディレクトリを zip でまとめて Bitrise でダウンロードしていたが…… Ro…

備忘録:SwiftUIのListでrefreshした時に前回のデータが表示されている。画面が再描画されると新しいデータが反映される

備忘録として書き残しておく。気が向いたら書き直すかもしれない。 SwiftUIのListで下図のような画面を実装している。 縦スクロールと横スクロールの混ざったリストは珍しくないが、この画面の厄介なところは横スクロールでも別途APIを叩いてデータを取得す…

Amazon ブラックフライデーセール2021で購入したもの

2019年・2020年と「Amazon 20XX Black Fridayセール」という名前だったが、2021年から「ブラックフライデーセール」とカタカナ表記になった。今年は(コロナで売り上げが落ちているため)乗っかれるものには乗っかろうとブラックフライデーセールを始めた企業…