DRYな備忘録

Don't Repeat Yourself.

Font Awesome のアイコンのアセットサイズが大きかったので利用するアイコンだけのサイズに削減したい

問題 現在開発しているChrome拡張において、Font Awesome のアイコンのためのフォントファイルが占める割合が大きいことがわかった。 % ls -l dist/assets | awk '{print $5"\t"$9}' | sort -n 15463 Mado-c38406e7.js 77160 fontawesome-webfont.woff2 9802…

新調したMacBook Air(M3チップ)にGoの環境を整えたい; go: command not found; ERROR: Failed to download binary go

背景 転職するので、個人のパソコンも新調しました。MacBook Air M3 です 当方、Goに縁があるので、Goの環境整えたいです Goのバージョンマネージャ Goはパッケージマネージャは公式の go mod を駆使したらいいんだと思うんですが、Go自体のバージョンマネー…

Docker Desktop がクラッシュしたり、Engine Starting からずっと動かなかったりする【Apple M2】

問題 Docker Desktop (GUIアプリ)が起動中にクラッシュして落ちる 当然、この状態でcliで docker ps とかしても、「Engine not started」みたいなエラーを得る Docker Desktop が立ち上がったとて、Docker Engine のStartが一生終わらない tl;dr 下記のfor…

Twitter API v1.1を利用する箇所が失敗しているので調査・対応ログ

背景 もうかれこれ10年*1開発が続いているChrome拡張*2があり、このCI/CDの結果報告にTwitterのAPIを用いている。また、ユーザにとっても、Chrome拡張上でTwitter認証を行い画像付きツイートを行える機能を提供している。 今回、この機能が以下のエラーを吐…

お名前ドットコムからGoogle Domainsへのドメイン移管ログ

tl;dr support.google.com 学び ドメイン移管は、ドメイン管理事業者同士のやりとりで完結する ドメイン移管は、移管先事業者が、移管元事業者へ要請を送ることでトリガーされる その際に必要なものは、移管元事業者が発行する「認証コード」ないし「Authコ…

GAEのデプロイが失敗する: ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build xxxxx status: FAILURE

問題 趣味として、所属している社会人アメフト部の出欠確認・備品管理アプリをスクラッチで書いているのだけれど、あるときGitHub Actionsで動いている自動化デプロイが、以下のエラーを出して失敗していた。 # 前略 Beginning deployment of service [dev].…

cgoの中で#ifdefのようなプラットフォーム分岐をしてはいけない:clang: error: unsupported option '-fopenmp'

このエントリはGoのカレンダー | Advent Calendar 2022 - Qiitaの13日目です。多種多様なGoに関する記事を見ることができて、とても刺激になってます。ありがとう、クリスマス。ありがとう、アドベントカレンダー。当方はというと、最近ふつうにハマった問題…

HTMLのformタグのaction属性にqueryパラメータを設置したが、サーバ側で取得できていない

問題 クライアント(HTML)側 <form method="GET" action="/form/submit?nickname=otiai10"> <input type="submit" value="送信" /> </form> サーバ(Go)側 func HandleFormSubmit(w http.ResponseWriter, req *http.Request) { fmt.Fprintf("nickname: %s", req.URL.Query().Get("nickname")) } ブラウザで見える出力 nickname: つまり来てない。 検証方法 ブラウ…

GitHub Actions からの deno deploy が失敗する: Error: The deployment failed: Relative import path "$fresh/server.ts" not prefixed with / or ./ or ../

問題 以下のようにデプロイのGitHub Actionsを設定したが、掲題のエラーを得る。 steps: - name: Clone repository uses: actions/checkout@v2 - name: Upload to Deno Deploy uses: denoland/deployctl@v1 with: project: "fresh-youtube" entrypoint: "./m…

datastore: invalid entity type

問題 cloud.google.com/go/datastore datastore package - cloud.google.com/go/datastore - pkg.go.dev を使ってDatastore | Google CloudにデータをPutしていて、掲題のエラーを得た。 ev := models.Event{/* なんらかの値 */} if _, err := tx.Put(key, e…

与えられた関数の引数の個数を取得したい

developer.mozilla.org const 関数を受ける関数 = (func) => { console.log(func, func.length); }; 関数を受ける関数((x, y, z) => { console.log(x,y,z) }); // [Function] 3 DRYな備忘録として

ameshコマンド & amesh Slack bot の最近の話

go

このエントリは Go 2 Advent Calendar 2020 - Qiita の8日目です。 背景 もう2年前になりますが、ソフトウェアを主業としない業界に転職しました 最近はストレス解消にコードを書いています。仕事ではいっさいコード書かない ameshコマンド、amesh-botは便利…

ld: library not found for -lssl

原因 ライブラリ見つからないって 解決 export LIBRARY_PATH=/usr/local/Cellar/[email protected]/1.1.1h/lib 雑感 つかれた

GoでWASMでHello World

背景 一応GoもやってるしWebのフロントエンドもある程度やっているのに、WASMなにも触ったこと無いのはよくないので触りたい WASMというものが一体何なのか、何ができるかも知らない tl;dr Goで書いたコードをwasmにするフラグをつけてビルドすると.wasmが手…

たぶん今どきなPythonプロジェクトのはじめかた

ただの備忘録として ls -la /usr/local/bin | grep python mkdir ~/proj/python/my_project cd ~/proj/python/my_proj python3.8 -m venv .venv source ./.venv/bin/activate # .venvの中にコンテキストが移動している which python python -V which pip pip…

Googleスプレッドシートで値の抽選

問題 こういうリストがあって、ここからランダムに値を抽出したい。 解決 = INDEX(A:A, RANDBETWEEN(1, COUNTA(A:A)), 1) おしまい 解説 INDEX: 値を参照、行、列を指定して取得する RANDBETWEEN: 2つの整数の間の数をランダムに返す COUNTA: 参照における…

【iOS】ビルドバージョンの自動インクリメントのSwift実装(PlistBuddyからの脱却)

背景 Xcodeのプロジェクトをやっていて、CI/CDなどを整えていると、iOSプロジェクトのビルドバージョン( 1.0 (N) のNの部分)を自動でインクリメントとかしたくなることがある。 PlistBuddyを使え macOSだとPlistBuddyというコマンドが/usr/libexec/PlistBu…

【Xcode】/usr/lib/swift/libswiftCore.dylib: mach-o, but not built for iOS simulator

問題 UITest実行時に、以下のエラーが出てテストがコケる。 2020-02-26 15:34:47.656498+0200 ExampleUITests-Runner[2134:4937234] +[CATransaction synchronize] called within transaction 2020-02-26 15:34:47.665527+0200 ExampleUITests-Runner[2134:4…

【iPhone】No such module 'RxSwift'

問題 pod installでRxSwiftをインポートしたつもりだが、ViewControllerでimport RxSwiftとすると、 No such module 'RxSwift' となり、もちろんビルドもRunもできない。 解決 .xcodeprojではなく、.xcworkspaceから開く。 No such module 'RestKit' with co…

【iPhone】【Safari】getUserMediaで取ったMediaStreamをvideoタグにセットしても最初のフレームだけ描画されて止まってしまう問題【React】

問題 iPhoneのSafariにおいて、 navigator.mediaDevices.getUserMediaによって、 videoを含むMediaStreamを取得し、 HTMLのvideoタグに動画を描画しようとすると、 最初のフレームだけ描画されたのち、フリーズしてしまう。 解決 getUserMediaを呼ぶ前に、vi…

iOSでFontAwesomeを使う【Xcode10.3】

※ Xcodeは変化が早いので日付に注意してください ゴール XcodeのiOSプロジェクトでFontAwesomeが使える 参考 TTFの追加: Adding a Custom Font to Your App | Apple Developer Documentation iOS : How to use FontAwesome in Xcode project. - Umair Hassan…

【iOS】ボタン長押しの実装【Xcode10.3】【Swift5】

※ Xcodeは変化が早いので記事の日付に注意してください ゴール 長押ししてアラートとか出るボタンを設置する tl;dr override func viewDidLoad() { super.viewDidLoad() let recognizer = UILongPressGestureRecognizer(target: self, action: #selector(onL…

任意のURL(に限らず文字列)のQRコードをコマンドラインで生成する

という文言でググればいくらでも出てきますけど。 tl;dr % pip install segno % segno "https://before11.hatenablog.com/" --output myblog.png --scale 8 そしたらこういう画像が myblog.png として得られる おしまい ログ % pip install segno DEPRECATIO…

Node.jsのchild_process間で、標準出力のpipe

これをやりたい↓ cat ./testdata.txt | grep otiai JavaScriptで、 const cat = spawn('cat', ['./testdata.txt']); const grep = spawn('grep', ['otiai']); cat.stdout.pipe(grep.stdin); grep.stdout.on('data', (chunk) => { console.log('[grep]'); con…

ElectronデスクトップアプリによるGoogleのOAuth2クライアント実装

目的 僕が、ElectronデスクトップアプリによるOAuthプロセスを知る うるせえ動くもん見せろ はい。 github.com ゴール 手元のElectronアプリで、ログインユーザ(この場合、僕自身)のAPIトークンで、GoogleのなんらかのAPIが叩ける ← 登録したアプリ下でわ…

Elasticsearch: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

tl;dr Elasticsearchが動くコンテナの中に以下の環境変数をねじこめばよい。 参考: Running Elasticsearch 5 - Build Environment - CircleCI Discuss # これ # transport.host=localhost # # と、これ # bootstrap.system_call_filter=false # # docker run…

Pythonでdictionaryの各要素に処理を加えた別のdictionaryをつくる

TL;DR >>> { k:list(map(lambda s: int(s)**2, v.split('-'))) for (k,v) in src.items()} {'foo': [1, 4, 9], 'bar': [16, 25, 36]} やりたいこと 入力 { 'foo': '1-2-3', 'bar': '4-5-6', } 出力 { 'foo': [1, 4, 9], 'bar': [16, 25, 36], } みたいなこと…

Go1.11でAppEngineをはじめる

tl;dr これの通りです Quickstart for Go 1.11 in the App Engine Standard Environment | App Engine standard environment for Go 1.11 docs | Google Cloud うごくやつです GitHub - otiai10/gae-go-sandbox 作業環境 % gcloud -v Google Cloud SDK 235.0…

tigが「dyld: Library not loaded」とか言うので、ソースからコンパイルして使う

背景 tig好きなんですよ。だけどbrewから入れようとしたら以下の症状になるんで、手元でコンパイルすりゃいいか、となりました。 qiita.com tigとは これ github.com tigの良さについて過去に備忘録書いてるかと思ったら書いてなかったので、自分使いの例で…

Travis-CIによるイベントホームページ自動デプロイと告知ツイートの自動化 #YUKEMULI

背景 自分が関わっているイベントのホームページをGitHubで管理、GitHub Pagesでホストしているんですが、 masterブランチが更新されたら自動でデプロイしたい ホームページの更新内容ってほとんど「イベントに関する新しい情報」に他ならないので、これを自…