DRYな備忘録

Don't Repeat Yourself.

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/openssl@1.1/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ブランチが更新されたら自動でデプロイしたい ホームページの更新内容ってほとんど「イベントに関する新しい情報」に他ならないので、これを自…

さようなら、CWL

このエントリは、 Common Workflow Language (CWL) Advent Calendar 2018 - Qiita の25日目です。 tl;dr 落合、バイオインフォやめるってよ つくったバイオインフォ関連OSSのメンテナンスは続けていくつもりです CWLって何よ 2017年4月にベルリンから逃げ帰…

TypeScriptとExpoで始めるReactNativeアプリ開発

背景 Expo SDK v31 から、標準でTypeScriptをサポートしているらしく、ホンマかいな、というエントリです。 ゴール Mac上のシミュレータで、アプリが動く ソースコードがTypeScriptで書かれている うるせえ動くもん見せろ はい github.com 以下、ログなので…

Mac上で「歌声りっぷ」を使う【Boot Camp】【Windows10】

背景 ある曲のボーカルを抽出したものが欲しい(公式のオフボーカルは手元にある) Ableton Live でオフボーカルトラックの逆位相をオリジナルトラックにぶつける方法でボーカルを抽出しようとした あんまりうまくいかない PhonicMind で1曲だけ利用枠購入し…

CSSアニメーションで水面の波紋を表現

背景 某これウィジェット*1のローディングインジケータに、水面の波紋のアニメーションGIFを使ってたんですが、アニメーションGIFをインターネッツで漁ったりライセンス確認しなきゃならんうえにカスタマイズできないのがしんどくなったので、CSSで作れない…

Go GCP Client で ComputeEngine インスタンスの作成・取得

やりたいことを gcloud SDK で確認 % gcloud compute instances create \ --project otiai10-sandbox \ --zone asia-northeast1-a \ testetst % gcloud compute instances list \ --project otiai10-sandbox \ --filter zone:asia-northeast1-a Go GCP Clien…

【メモ】Slackチャンネルへの画像の投稿

参考 files.upload method | Slack curl % curl -XPOST "https://slack.com/api/files.upload" \ -H "Content-Type: multipart/form-data" \ -F file=@/Users/otiai10/Desktop/ritsu.jpeg \ -F token=xoxb-123-456-xxxxxxxxx \ -F channels=bot-dev \ | jq {…

【メモ】VPCエンドポイントについて

AWS

背景 EC2とS3が密に関係するソフトウェアを書いてるんですが、VPCエンドポイントの概念を知らなかったので、非常に悔やまれます。 資料 Amazon Web Services ブログ: Amazon S3のVPCエンドポイント VPC エンドポイント - Amazon Virtual Private Cloud VPC E…

【Go言語】aws-sdk-goを使ったVPC新規作成からEC2のsshまで

前回これをやったので、 otiai10.hatenablog.com 今回は、これをGoのSDKからやる。 結果だけくれ はい github.com 以下ペライチ全文 package main import ( "flag" "fmt" "log" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "g…

aws cli を使ったVPCの新規作成からEC2へのsshまで

AWS

まずWebコンソールでゴールの確認 VPCの作成 Subnetの作成 InternetGatewayの作成 VPCに上記3のInternetGatewayをアタッチ SubnetのRouteTableに上記3のInternetGatewayに紐付いたルールを追加 上記1のVPC内で、上記2のSubnet配下に、EC2インスタンスをつく…