boto3のログを黙らせる

したいこと 標準出力のテストをしているのですが、boto3のログが邪魔で非常に厄介です。 対処法 python import logging import boto3 boto3.set_stream_logger('boto3.resources', logging.CRITICAL) 意図的にログレベルをCRITICALにあげて、DEBUGログが出な…

SLP(Simple Ledger Protocol)トークンをNode.jsから手動で焼いてみる

はじめに 念の為書いておきますが、こちらの方法でトークンを作るのに失敗したりしても、自己責任でお願いします。 テストネットで十分検証した上で、メインネットでやりましょう。 準備 mkdir slp_test cd slp_test npm init npm install slp-sdk --save No…

Ubuntu18.04にOpenCV 4.0をインストールする

環境 Ubuntu: 18.04 Python: 3.6.7 依存パッケージをインストールする sudo apt install -y libxrender-dev libsm6 libxext6 本体をインストールする pip install opencv-python opencv-contrib-python 確認 $ python3 Python 3.6.7 (default, Oct 22 2018, …

cryptographyを使って暗号化したファイルをOpenSSLで復号する

タイトルの通りです。 Pythonのcryptographyというパッケージがあるのですが、それを使って暗号化したファイルをOpenSSLのコマンドを叩いて復号するのに躓いたのでメモです。 cryptographyで暗号化する import os from cryptography.hazmat.primitives.ciphe…

typed-astの依存がぶっ壊れてpipenv install出来なくなるのに対処した

タイトルの通りです。 pipenv install したら、昨日まで動いていたであろうPipfileでinstallがコケるようになりました。 対策 astroidというパッケージで、mypyとの依存関係が壊れてしまっているようです。 なので、mypyを0.670から0.660に下げると解決しま…

CoinomiWalletが何故秘密鍵の流出をしてしまったか雑に検証する

事の発端 このツイートにより、GoogleのスペルチェックAPIによってニーモニックが流出してしまっているとのこと。 SECURITY VULNERABILITY@CoinomiWallet sends your plain text seed phrase to Googles remote spellchecker API when you enter it! This is…

恥ずかしながら私はPromiseのthenとcatchの順番に意味があるとは知りませんでした

どういうこと? catch => thenで書いたときとthen => catchで書いたときの挙動が異なります。 次のコードを用意しました。 ボタンを左から順番に押してみるとどういうことかわかると思います。 See the Pen then catchの順番によって意図しないコードになる …

Failed to load gRPC binary module because it was not installed for the current systemで怒られたときの対処法

なかなか解決しなかったので一応メモ。 環境 node: 10系 使用パッケージ electron firebase 対処法 1. nodeを9系にダウングレードする(あまり意味ないかも) 僕は ndenv でnodeをインストールしているので $ ndenv install -l |less $ ndenv install v9.11.2 …

Q. ReactでHTMLをエスケープせずに突っ込みたいときは?

A <div dangerouslySetInnerHTML={{ __html: '<a href="/hoge">HOGE</a>' }} ></div> もちろん __htmlのところは変数でも大丈夫。 参考 stackoverflow.com

新卒で入社して1年半ぐらい勤めた面白法人Kayacを退職しました

はじめに この記事は ex-KAYAC Advent Calendar 2018 の15日目の記事です。 おそらくこのアドベントカレンダーの中で僕は最新の辞めた人ですね。今までと今後について書きたいと思います。 今まで 受託チーム(CL)時代 プラコレという、結婚式をしたいカップ…

GoのWebアプリケーションのSQLロガーとパフォーマンス分析ツールを作ってみた

はじめに この記事は Go2 Advent Calendar 2018の記事です。 担当の10日より1時間ほど投稿が遅れてしまったことをお詫びします。 今回は、拙作のGo製のWebアプリケーションにSQLのクエリロガーを仕込めるOSS『graqt』 を紹介したいと思います。 過去に書いた…

#isucon 8 で 惨敗してきました

以下のレポートは書いてる途中で力尽きてしまい不完全なものです・・・。あらかじめご了承ください。 2018/09/15(土)にISUCON8に参加して、ボロ負けしてきたのでそのレポートです。 SlackでのやりとりやGitHubのコードをベースに、時間ごとに何をやったかを…

builderscon 2018に行ってきたよ

builderscon.io builderscon 2018 に 参加してきたので、レポート。 buildersconの良いところ 知識欲を満たせる豊富なカテゴリのセッション! その道に詳しい人によるハイレベルなセッション! 「知らなかった!」を絶対聞ける! 普段(使ってない|知らない)…

Evernoteより100倍便利なメモサービス「Notion」を今すぐ使おう

こんばんは、今日*1は歴史的な台風ですが、皆様いかがおすごしでしょうか。 今朝、たまたまTwitterを見ていて発見したメモツール「Notion」が今までのメモツールの100倍は軽く超えてくるレベルで良いので紹介したい。 今までのメモツールの歴史を覆す「Notio…

「Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識」を買った

最近、低レイヤーなことに興味を持ち始めたので買った。 技術書って、今読むか後で読むかの違いなので、迷ったら買うのが良いと思っている。 技術書読むの昔は大嫌いだったけど、 YAPCでkindle oasisもらってからかなり読むようになった。 やっぱり、技術書…

一歩踏み込んだnginxのプロファイリングをする

ISHOCON2で惨敗して、悔しくてたまらなくてhttp2やnginxのことについてずっと調べたので、調査記録として残しておく。 serinuntius.hatenablog.jp 一番手軽で万能な「strace」 使い方 ざっくりと集計してボトルネックを探す 集計結果を元にあたりをつけて調…

ISHOCON2というISUCONの個人大会で惨敗してきました【優勝スコアと同等の参考実装付き】

昨日(2018年8月25日)、ISHOCON2というISUCONの個人競技バージョンの大会に参加してきたのでレポートです。スコアが思うように伸びなかった方はぜひ読んでみてください。 ISHOCONとは ISHOCONの特徴 問題がコンテスト開催前からオープンであること 個人参加で…

Goのボトルネック調査にgo-torchがめっちゃ良い

こんばんは〜。 ISUCONの練習に励んでいる @_serinuntiusです。 自作のWebアプリケーションのボトルネック調査アプリケーションgraqtを書いていますが、もっと便利(?)なツールがあることを僕は知ってしまいました。 それがgo-torchです。 go-torchとは Tool …

【3,4日目】graqt開発日誌 ~PercentileとStddev(標準偏差)~

「べ、別に土日早起き出来なかったからブログ書けなかったわけじゃないんだからね。。。」 冗談はさておき、土日はISHOCON2やgraqtの開発に力を入れてしまい、記事を書けませんでした。 いろいろ機能が追加されたので、紹介したいと思います。 新機能 Percen…

【2日目】graqt開発日誌 ~GolangでスクロールできるCLIを作る~

今日から、朝5時に起きて、筋トレして7時に出勤して、始業の9時半までgraqtを書くことにした。夜は22時に寝る(つもり)。 1日3時間半程開発時間を取れるため、結構捗る。 進捗 午前中 ヘッダーを残したままスクロールする(結構考える必要があった) 今日…

【1日目】graqt開発日誌 ~GolangでリッチなCLIを作る~

最近ブログ書いてないので、graqtの進捗を1mmでも進んだら書くことにする。 graqtについては、以下の記事を参考にされたし。 一言で言うと、バカでも使えるGolang用のWebアプリのボトルネックを調査するソフトウェアです。主にISUCONをターゲットにしていま…

【自宅鯖】自作PCの電源を換装する【オウルテック Seasonic SSR-650FM】

6月の頭ぐらいから、ゲーミングPCとして利用していたタワー型の自作デスクトップを、サーバとして利用していた。 Mackerelで監視していたのだが、しばらくは安定して稼働していた。 しかし、ここ2週間ぐらいで不安定になってきた。ログとか見ても特に変なと…

【Golang】GitHubのAPIでIssueのコメントを全件取ってくるスクリプト

昨日モテるシェル芸とか言って、ブログ書いてたんですけど、 serinuntius.hatenablog.jp 実はGitHubのIssueのコメントが大量すぎて、Load more になっちゃってて、全部の画像をダウンロードできてなかったみたいです。 それをデザイナーに指摘されて、全部取…

【裏技】みんな知らないログイン必須ページの爆速スクレイピング【モテるシェル芸】

ログインが必要なWebサイトで画像を引っこ抜いて欲しいという依頼があり、スクリプトを書くかな〜と迷ったんですが、よく考えたらシェル芸だけで出来るな〜と思ったので共有したいと思います。 今回はデザイナーにGitHubのIssueに貼ってある画像200枚以上をz…

dockerのコンテナを楽に選択するpecoを使ったalias

ブログ書くの怠ってたから、カジュアルにアウトプットしていくぞ!!! 本題 環境 peco zsh(zshのグローバルエイリアスという機能を使っているみたいなのでzshしかできないと思います。) docker 手順 ~/.zshrc に以下を書くだけ alias -g C='`docker ps -a|p…

go run main.goとすると別ファイルのmainパッケージのグローバル関数がundefinedで怒られる

めっちゃ久しぶりのブログになってしまった。 書くことなんか何個でもあるのに、バタバタしてたりでアウトプットを疎かにしていた。(言い訳) 本題 少し前から気になってたことだったんだけど、go run main.go で実行すると、mainパッケージの別ファイルのグ…

kamakura.go #4 に登壇しました!

昨日(2018年5月25日)行われた、kamakura.goのLTで以前から書いているGoのパッケージであるgraqt(がらくた)の紹介をしてきました。 前回のgraqtの記事 serinuntius.hatenablog.jp 発表資料 speakerdeck.com 登壇後に質問されたこととか (あいまいな)記憶と #k…

【追記アリ】Golangで1行1行がJSONのログを効率的にパースする

この記事でも書いたけど、ISUCON用のロガーを作ったので、そのログをパースするツールを書こうと思った。 serinuntius.hatenablog.jp 少しパフォーマンスを意識して書いてみたけど、きっともっとパフォーマンスが良くなる気がするのでマサカリウェルカムです…

Go専用対ISUCON兵器 「graqt」を書いた

はじめに この記事でも書いたけど、最近ISUCONの面白さに気づいた。 serinuntius.hatenablog.jp 社内ISUCONはRubyで書かれていたけど、本家ISUCONでは使用言語が選択できる。 そうなったら、今なら迷わずにGoを選ぶ。 それは、何故かと言うとGoが速いとかそ…

ISUCON7優勝者と社内ISUCONに出て学んだ12のこと

昨日新卒研修向けの社内ISUCONがあり、ISUCON7の優勝者であるsuzukiくんとペアを組んで去年の新卒という枠*1で出させてもらった。*2 僕のISUCONレベルは、社内ISUCONを新卒研修のときに1回やったことがある程度で、レベル5まであるとすれば僕は確実に1ですね…