皆さまにご報告。

いつも応援していただいている皆さまへ、私事で恐縮ですがご報告があります。 本日令和元年五月一日に私星川健介は入籍致しましたことをここにご報告させていただきます。 お相手は一般の方です。 元号が令和に変わった初日で、大安という事もあり、この良き…

2018年振り返り

2018年色々あった。 気楽に生きた 2017 年振り返り で、2018年は気楽に生きたいと書いた。 2018年前半は頑張ってしまったのだが、後半は気持ちの向くまま気楽に生きれたのでいい一年だった。 今までは業務で必要になる知識は就業後にやっていたのだが、それ…

Xcode10 にしたら Multiple commands produce ... Info.plist で消耗した

個人プロジェクトを Xcode10 対応してたらこんなエラーが出た。 :-1: Multiple commands produce '/Users/hoge/Library/Developer/Xcode/DerivedData/KotaichiDex-eiyecmvfctikcwcspitwpzskudue/Build/Products/Debug-iphonesimulator/PokemonRealm/PokemonR…

聴覚情報処理障害かもしれない

poem.mizdra.net この記事を読んで、心当たりがありすぎる。自分は耳が悪いのかも知れないと思いつつも、聴力検査は問題がなかったし、みんなそういうものなのかなと思っていた。しかし症状を見ると聴覚情報処理障害っぽく思える。 例えばこれは1年半前のツ…

Tesseract-OCR-iOS を使う

【Swift】文字認識ライブラリ、TesseractOCR for iOSを試してみた - Qiita に使い方があるが、少し古かったので Xcode9.4, Swift4 で動かすための手順。 Podfile pod 'TesseractOCRiOS', '4.0.0' そして pod install、終わったら xcworkspace を開く。 Build…

Firebase SDK for Cloud Functions を 1.0 に Migration した

The Firebase Blog: Launching Cloud Functions for Firebase v1.0 にあるように、 Cloud Functions の SDK が 1.0 になった。と言っても SDK が 1.0 になっただけで、 Cloud Functions のベータが外れたわけではない。 Migration Firebase SDK for Cloud Fu…

Xcode 9.3 にしたら IDEWorkspaceChecks.plist というファイルが作られたが何者なのか

Xcode 9.3 でプロジェクトを開いただけで Hoge.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist というファイルが作られた。 Release Note を見ると以下のように書いてある。 Xcode 9.3 adds a new IDEWorkspaceChecks.plist file to a workspace's shar…

Cloud Functions は global 変数から Function Name などを取得できる

Cloud Functions で以下のコードを実行して見ると、現在実行している関数の名前を取得できる。 console.log(global.process.env.FUNCTION_NAME) // -> createUser 他にも GCP_PROJECT, FUNCTION_MEMORY_MB, FUNCTION_TIMEOUT_SEC などが env から取得できる…

Firestore のクエリで「存在しないこと」をチェックしたい場合、事前に null を入れておく

Firestore でこんなモデルを作ったとする。 admin.firestore().collection('user').add({ startDate: new Date(), name: 'hoge' }) このモデルに対し、「 endDate に値が入っていないもの」をクエリで取得したいとする。 パッと思いつくクエリはこう。 admin…

東雲めぐの配信を目覚まし時計にする on Mac

東雲めぐ(@megu_shinonome) 東雲めぐは平日朝 07:30 から生放送をしている VTuber (SHOWROOMER) であり、録画が残らないので毎朝ちゃんと起きねばならない。 この配信を目覚まし時計にすることで毎朝健康的な時間に目覚めることができる。 www.showroom-live…

Firebase HTTPS Callable Functions を type-safe に叩けるライブラリ

Firebase HTTPS callable function を試してみる に使い方は書いたが、素のまま SDK を使うのは厳しいので APIKit っぽく Endpoint を定義できていい感じに Function を叩けるようなライブラリを作った。 github.com endpoint の path と Decodable な Respo…

Cloud Functions for Firebase の環境変数設定後は関数の再デプロイが必要なので注意

ドキュメントにも書いてあることだが、環境変数変更後は関数の再デプロイが必要。 「functions:config:set」を実行した後は、新しい設定を使用可能にするために関数を再デプロイする必要があります。 https://firebase.google.com/docs/functions/config-env…

続・イケてない JSON を Swift の Decodable で扱いやすいモデルにデコードする

イケてない JSON を Swift の Decodable で扱いやすいモデルにデコードする の続き。 今度も last.fm の user.getRecentTracks を Decode していく。 尚、文字を打つのが面倒になったためこの記事はあらゆる説明を省略している。 JSON これを decode してい…

イケてない JSON を Swift の Decodable で扱いやすいモデルにデコードする

last.fm というサービスがあって、API も公開されているのでそれを Swift で使っているのだが、JSON の構造がイケてなくて苦労している。 こんな感じの JSON があったとする。 { "user": { "name": "RJ", "age": "20", "image": [ { "#text": "https://lastf…

npm ライブラリの README にバッジをたくさんつける

こんな感じにバッジたくさん出してみた。 starhoshi/rescue-fire npm version badge Version Badge for npm, RubyGems, PyPI, Bower and other packages で取得できる。 自分の package を検索して badge の URL を取得できる。 travis-ci テストがなくても…

Bootcamp で Mac に Windows を無料でインストールする

無料といってもクラックするとかではなく、 Windows Insider Program というのを使って OS をダウンロードできる。 Windows Insider Program 要はベータ版を使うことになる、製品版ではないのでバグを踏むリスクが高くなる。 insider.windows.com ボタンをぽ…

プロモコードを利用したテストに参加する(テスター向け)

プロモコードでのテスト iOS アプリには「プロモーションコード」を利用することでリリース直前のアプリをテストすることができます。 やり方は簡単で、 App Store からプロモーションコードを入力してアプリを DL するだけです。 プロモコード版を入れたと…

iOS10 以下のサポートを切ったら ERROR ITMS-90502 が出た

iOS9, iOS10, iOS11 をサポートしていたのを、iOS11 のみサポートするように変えた。 そして申請しようとしたらエラーがでた。 ERROR ITMS-90502: "Invalid Bundle. Apps that only contain the arm64 slice must also have 'arm64' in the list of UIRequir…

Youtube Live 放送終了後の動画でチャットを見たかったが Youtube API を使っても見れない

ニコニコ生放送だとタイムシフトで見るときもコメントが見れるけど、 Youtube Live で放送終了後の動画はコメントが見れない。 API からコメントの取得くらいできないかと思って実際に API を叩いてみたがダメだった。 Youtube API Youtube Live のコメント…

ssh 経由で fastlane match できるようにする

$ ssh my@mac.com $ bundle exec fastlane match ... [12:19:58]: Enter the passphrase that should be used to encrypt/decrypt your certificates [12:19:58]: This passphrase is specific per repository and will be stored in your local keychain [1…

2017 年振り返り

2017 年色々あった。 日報 1月から wikihub で日報を書き始めて、ずっと続けている。 nippo つながりで友達もできたし、ざっくりとだけど毎日アウトプットにもなったし良かった。 nippo.wikihub.io GitHub 約 4000 Commit だったのでまあまあやった方だと思…

既存のサービスを組み合わせて本質的な開発に集中する

qiita.com 個人開発アドベントカレンダー9日目です! (2週間遅れです... ) 一年前に開発してた Web サービスで、このような構成の開発をしていました。 個人開発はとにかく時間が足りないので、既存のサービスを使える場合はそのサービスを使って開発を行いま…

TypeScript で `error TS2300: Duplicate identifier` がでたが yarn にしたら治った

npm ライブラリを install して tsc したらこんなエラーが大量に出た。 node_modules/@google-cloud/firestore/types/firestore.d.ts(28,15): error TS2300: Duplicate identifier 'DocumentData'. node_modules/@google-cloud/firestore/types/firestore.d.…

JavaScript でテストを書く時のライブラリについて調べた

1年半前は 業務 とか 趣味 で TypeScript を使ってテストも書いてたんだけど、最近は iOS ばかりで忘れてしまっていた。 けどまた仕事で同じような環境を作ったので、テストを書くときにどういう Framework があって役割は何かをメモっておく。 テストフレー…

PlantUML でシーケンス図を書いたがめっちゃ良かった

PlantUML シンプルなテキストファイルで UML を作ることのできる、オープンソースのツール 今までは astah とかでユースケース図とかシーケンス図書いてたんだけど、 GUI で書くの辛いなと思って PlantUML というのを使ってみた。 コードで UML を書ける、今…

iOS Test Night #6 1周年 まとめ #ios_test_night

testnight.connpass.com iOS Test Night #6 にブログ枠として参加したので、そのレポートです。 ㊗️ 1周年 開始前の挨拶として、Qiita に投稿された iOS のテスト関連の記事がこの一年で増えたのか? という話から始まりました。 結果として、増えはしたけど…

iTunes Connect に Upload 後の bitcode 再コンパイルでエラーが出た

iTunes Connect にバイナリのアップロードは完了したんだけど、 iTunes Connect: Processing stopped for HogeApp みたいなメールが来た。 何か問題があって bitcode の再コンパイルが止まってしまったようだ。 メール全文: iTunes Connect: Processing stop…

iTunes Connect に Upload しようとしたら Info.plist 関連で怒られた

Unable to process application at this time due to the following error: This bundle is invalid. The Info.plist file is missing or could not be parsed. Please check it for embedded control characters.. iTunes Connect にバイナリアップロードし…

console.log で改行させたくない

node: v8.2.1 でのはなし。 JavaScript でログを出力するときは console.log が一般的だけど、これだと改行が入ってしまう。 console.log('hoge') console.log('hoge') # hoge # hoge そうじゃなくて、 hogehoge って続けてログ出力してほしい。 ググる node…

Stripe の Order で送料を商品によって変更するときは Callback API を実装する必要がある

Stripe の Order で送料を設定するパターンは 4 つある。 Free Flat-rate Callback Provider Stripe Document この情報は 2017-11-29 時点の情報であり、正確な情報は Orders API Dynamic Shipping and Tax Calculation を参照してほしい。 Order の種類 Ord…