塩焼きブログ

塩焼きに関しての研究内容を公開しています

Slackで特定のユーザーやボットをミュートするHide Slack Messages

Chrome拡張にこんなものがありました。 https://chrome.google.com/webstore/detail/hide-slack-messages/mjingehmnkofkklkdlipioiinepjghlo 特徴 任意のユーザーからのメッセージを隠す ボットからのメッセージを隠す オプションでメッセージをDMからのみ隠…

二段階認証を使いながらGithubのアカウントを複数使い分ける

Githubは本業用とプライベート用を使い分けるといった運用が可能ですがコツがいります。 リポジトリをcloneする時に https から始まるURLで管理すれば、pushするときにGithubのIDとパスワードを求められ、認証すれば鍵など不要でpushができるのですが、二段…

BigQueryで時間単位の集計を行う方法

時間単位での計算をする場合、MySQLではHOURを使っていたが、BigQueryではそれではできず、下記の2種類の方法で行う。 EXTRACTを使う場合 この方法だと時間の数値部分だけを得られる(例えば2019-07-04 12:13:14だと、12が得られる。) SELECT EXTRACT(HOUR …

Linuxでfc-listでインストールされているフォントリストを確認する

fc-list https://www.atmarkit.co.jp/flinux/rensai/linuxtips/691chkfonts.html

tcコマンドを利用してqdiscを変更する

設定前 $ tc qdisc show dev enx0ex qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn qdiscをnoqueueに設定する sudo tc qdisc add dev enx0ex root noqueue 変化を確認 $ tc q…

JavaScriptのconsole.table() をブラウザとnodeで実行した時の見た目

ブラウザで実行するとこんな感じ nodeで実行するとこんな感じ $ node > console.table({hoge1:1,hoge2:2,hoge3:3}) ┌─────────┬────────┐ │ (index) │ Values │ ├─────────┼────────┤ │ hoge1 │ 1 │ │ hoge2 │ 2 │ │ hoge3 │ 3 │ └─────────┴────────┘ undef…

Prometheusのクエリでオペレータを使って特定の値以下の数値を除去する

アラート目的とかで一時間あたり特定の値以上のものを可視化したい時に小さな値が不要な事がある。そんな時は下記のようにオペレータを使って特定の値以上の値だけに絞ることができる。例は100。 (increase(app_request_total{target_id=~"$target_id"}[1m])…

Docker Swarmで立ち上がっているサービスをdocker service updateでパラメータを更新せずに更新する

環境変数の変更やDocker Imageが変更されれば通常のデプロイでコンテナは更新されます。 しかしコンテナが定期的に外部より情報を取得し内部にキャッシュするような構造の場合において、即時にそのキャッシュをリロードしたい時、再デプロイをするために環境…

IEやEdge入りのWindowsのVMをVagrantで立ち上げる

VirtualBoxイメージをダウンロードしてGUIで設定することもできますが、Vagrantを使えば全てコマンドラインで行えるので、90日で有効期限が切れるWindowsのVMを何度も同じ設定で再構築する際に楽ですよ。 Vagrantのインストール VirtualBoxをインストールし…

Parcelを使ってTypeScriptやSassをビルドする

まずparcelをインストールする yarn add parcel console.log('hello world');的なファイルを作ってsrc/app.tsとかに保存しておく。 mkdir src && \ mkdir web && \ echo "console.log('hello world');" > ./src/app.ts ビルドするときはこんなふうにやって y…

docker-compose up で network app_default is ambiguous と言われた場合の対策

久しぶりに docker-compose up を起動すると下記のようなエラーが出た $ docker-compose up ERROR: 3 matches found based on name: network app_default is ambiguous ネットワークを確認して docker network ls 重複したものを削除する docker network rm …

Rustでcargo runがいつまで経っても進まない場合の対策

下記のメッセージが出て一切進まない $ cargo run Blocking waiting for file lock on build directory 下記のコマンドを実行すると進んだが cargo clean 本来はこうするといいみたい rm -rf ~/.cargo/registry/index/* 参考 https://stackoverflow.com/ques…

PHPでmb_convert_encodingが無い場合はphp-mbstringをインストールする

下記のようなエラーが発生した HP Fatal error: Uncaught Error: Call to undefined function mb_convert_encoding() in /app/ndex.php:68 この場合は php-mbstring をインストールします。 sudo apt install php-mbstring 懐かしい

Digdagのタスクを並列で走らせる

+group1: _parallel: true +a: sh>: echo "test_a" && sleep 3 +b: sh>: echo "test_b" && sleep 3 +c: sh>: echo "test_c" && sleep 3 +group2: _parallel: true +d: sh>: echo "test_d" && sleep 3 +e: sh>: echo "test_e" && sleep 3 +f: sh>: echo "test…

sheet.newで即時Googleスプレッドシートを開く

ブラウザのアドレスバーに sheet.new と打ち込むことで即時Googleスプレッドシートを開くことができる。これはFirefoxでもChromeでも動作する。Google検索の機能なのではないかと思います。

ロボット掃除機はお掃除が下手くそだから人間がやった方が早いのか?

ロボット掃除機って人間よりも掃除が下手くそだし、人間がやった方が早いって思う人が俺の身近にいるのだけど、たしかに人間が手で掃除機をかけた方が早くすむですね。 でもロボット掃除機のメリットってそこではなくて、ロボット掃除機は何時間もかけてじっ…

RimWorldの芸術品は何の役に立つのか?

芸術品って金策のためだけのものだろ、洋服作って売って、動物繁殖させて売っていれば十分だわ!! って思ってたけど、芸術品は自分の家に配置できるっぽくてですね、配置するとすごい入居者の心情を底上げしてくれるのです。 RimWorldやっててみんないつも…

JavaScriptで配列をシャッフルする

参考サイトのコードを参考。参考サイトではreturnが抜けていたので補填。 node > [1,2,3].sort(function() { return Math.random() - .5; }); [ 2, 1, 3 ] 参考 https://qiita.com/komaji504/items/62a0f8ea43053e90555a

Pythonで配列を指定した数毎に分割する

PHPのarray_chunkと同じことをPythonでしたいと思ったら既に実装去れている方が居ました。以下コピペです。 def chunk(l, size): for i in range(0, len(l), size): yield l[i:i+size] for l in chunk(range(0,100), 10): print(list(l)) a-zumi.net

Pythonでコマンドライン引数を受け取る

こんなふうに書いて import sys print(sys.argv) 実行すると $ python3 test.py pai pai poi ['test.py', 'pai', 'pai', 'poi']

機械学習モデルをpickleでシリアライズして保存する

学習モデルの作成に無限の時間がかかる。最初は大したことないし毎回学習させとけばいいわ!って思ってたけどいざ実戦に突っ込んだら物凄い時間がかかる。。というわけでモデルを保存しておきたい。Pythonではオブジェクトをこんなふうにシリアライズできる…

Python3でJSONをPOSTする

import urllib.request import urllib.parse import json url = 'http://localhost:8080/post' data = { 'id': 1, 'value': 2 } headers = { 'Content-Type': 'application/json', } req = urllib.request.Request(url, json.dumps(data).encode(), headers)…

Python3でJSONをhttpで取得してパースする

import urllib.request import urllib.parse import json url = 'http://localhost:8080/test.json' param = {'id': '1'} req = urllib.request.Request('{}?{}'.format(url, urllib.parse.urlencode(param))) with urllib.request.urlopen(req) as res: pri…

Pythonのsys.exit()でプログラムを終了させる

PHPにおけるexit()みたいなの import sys sys.exit()

.htaccessですべてのアクセスをindex.phpに集める

Apacheのmod_rewriteを使います RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule . /index.php [L] index.phpでは$_SERVER["REQUEST_URI"]などでリクエストパスを取得すればどのような要求がされたかわかる。それに応じてレスポ…

docker logsでログが出力された時間を表示する

-tオプションを付けることで時間を表示できる $ docker logs bbb91b61850e -t root@bbb91b61850e:/# echo "test" 2019-04-11T08:15:20.037279612Z test

メンタルマッチョとは

メンタルがマッチョの状態を指す 人類の到達できる究極の存在 実力の100%を発揮できるようになる サイコパスと間違われる

心の筋トレ!無感情になって論理的に仕事を進めるとメンタルマッチョになれる

僕はメンタルマッチョになりたい! 最近、こちらのアドラーの記事の下記が気になりました。 「褒めることは相手の自律心を阻害し、褒められることに依存する人間をつくり出してしまうことになるから」だとアドラーは言う。「もう一度褒められたい」と願うこ…

Java(Kotlin)でPrometeusのLabelを使ってタローとモモのやる気ゲージを監視するためのMetoricsを出力する

labelNamesではいわゆるラベルのタイトルを入れます。ここにタローとか入れるわけではありません。 val yaruki = Gauge.build().name("yaruki_total").help("yaruki help").labelNames("person_name").register() yaruki.labels("taro").set(10.0) yaruki.la…

Twitterで表示されるOGPの画像がおかしい場合の直し方

Twitterでツイートしたら違ったので一旦削除して、OGPの画像URLを変更。その後もう一度ツイートしたけど古い画像が表示された。その後下記からテストしたら正しい画像が表示された。 cards-dev.twitter.com