動かざることバグの如し

近づきたいよ 君の理想に

2019-02-01から1ヶ月間の記事一覧

VirtualBoxで2TB以上の大容量仮想ディスクを作成する

VirtualBoxのGUIで仮想ディスクを作れるが、なぜか仕様として2TB以上のディスクは作成できない。 が、CUIツールであるVBoxManageコマンド経由だとそれ以上の容量の仮想ディスクも作成できるのでメモ コマンド 例えば、8TBの仮想ディスクを作成したいときは…

UbuntuでXFSファイルシステムにインストールするときは注意が必要

環境 Ubuntu 18.04 1行まとめ /bootはXFSじゃなくてext4とかでフォーマットしないと起動できなくなる この1行で??ならXFSを使うな諦めろ 概要 今回UbuntuをXFS形式でフォーマットしてインストールすることにした。以下のような感じ sda1 EFIシステムパー…

DockerでMecab&neologd辞書を一発で使う

最初は自分でビルドしてインストールして、、、と考えていたのだが、素晴らしいことにグノシーさんがImageをビルドして公開してくれているのでありがたく使う。 github.com 例えば適当にdocker-compose.ymlを用意して以下 version: "3.5" services: mecab: i…

DockerでNodejsとyarnをなるべくシンプルにインストール

環境 Docker 18 docker-compose 1.23 debian系 やりたいこと とあるDockerイメージにNodejsをインストールすることにした。普通ならapt-get install nodejsとパッケージ管理システム経由でインストールするのが定石だが、理由があってイメージサイズを小さく…

Nginxで全リクエストをメンテナンスページにリダイレクトする設定

環境 nginx 1.14 やりたいこと メンテナンスするのですべてのリクエストを遮断したい。けどnginx 404のエラーページ出るのは良くないので、用意した静的htmlファイルを表示させたい。 設定 まずnginxの設定を以下。 server { listen 80; server_name hogehog…

Gihtubのレポジトリ容量を表示してくれるChrome拡張「GitHub Repository Size」

エンジニアならGithubからDownload zipで最新のMasterをダウンロードしようとしたとき、 全然ダウンロードが終わらなくていざzipファイルのサイズ見たら数百MBでひぇ〜ってなった経験あると思う。 いや、普通zipで落とさないでしょ で、それを未然に防ぐため…

AWS Lambda RubyとAPI GatewayでSlackへ投稿するAPI作る

完成コード require 'json' require 'slack-notifier' def hello(event:, context:) begin if event.dig('queryStringParameters', 'message').nil? raise "require message" end notifier = Slack::Notifier.new( "HOOK_URL", channel: "#speed_test", user…

Nodejsのasyncでリトライを行いたいなら「async-retry」

環境 nodejs v10 やりたいこと 例えばあるURLへHTTPリクエストして、失敗した場合にリトライしたい。けど失敗したときのレスポンスコードが500のときはやり直すけど、404のときは無駄なのでそのままエラーにしたい。 いいライブラリがないか探していたところ…

10年以上前のウォークマンNW-X1000のバッテリー交換をした

結構前にNW-X1050というウォークマンを使っていた。 NW-X1000シリーズ | ポータブルオーディオプレーヤー WALKMAN ウォークマン | ソニー 当時はiPod全盛期で、特にiPod touchの性能がめちゃくちゃ凄かった。アプリ使えて動画見れてブラウザ見れて、、と。 …

Youtubeのウザい広告を完全抹殺するChrome拡張機能 adblock-for-youtube

Youtubeの広告は非常にウザい。わかる。 一昔前は右上に出てた程度だった。かわいい しばらくすると、再生中の動画の下に横長の広告が表示されるようになった。ここまではまぁわかる。 そして、以降再生しようとするたびに毎回広告が表示される。うざいけどC…

ChefでTimezoneとhostnameの設定が1行で出来るようになってた

Chef記事、もっと流行ってほしい。。。(切実 環境 Chef 14 Ubuntu 18.04 ChefでLinuxの構築をしているのだが、タイムゾーンとかhostnameの設定もしなくてはいけない。 が、割とOSによって方法が違くて面倒だったりしたのだが、たまたま公式ドキュメントを見…

Puppeteerで一定回数スクロールしまくる

2022年7月30日追記 Puppeteerのpage._clientは非公開APIなのでcreateCDPSession()を使用してclientにアクセスしたほうがいいとのこと const client = await page.target().createCDPSession(); await client.send( 'Input.synthesizeScrollGesture', { x: 0,…

Railsでrakeタスク上からviewを生成(render)する方法

環境 Rails 4、5 やりたいこと railsのtasksからActionViewを参照してHTMLを生成(render)して出力したい ここでいうrenderがややこしいのだが、よくControllerの中で使っているrender json: {key: 1}などとは違う もっと言うと普段使っているrenderの内部…

CTRとかCPCとかの広告効果測定用語一覧まとめ

せっかくなのでまとめた。CTRとかCVRとか違いがよく分からんものが多いけど、ちゃんと略語を理解すれば暗記しなくてもわかるはず(わかるとは言ってない 単語 読み 数式 意味 CTR Click Through Rate(クリックスルーレート) クリック数 ÷ インプレッション数…

RubyのCSVの読み込みを高速化したいならバージョンを今すぐ上げろ

Q. RubyのCSV読み込みが遅い A: Rubyのバージョンを2.6以上にしろ 以上 理由 なぜRubyのバージョンを上げるとCSVのパースが速くなるのか。理由は単純で効率化されているから 以下のサイトがめっちゃ詳しく解説している。 www.clear-code.com 実際にベンチマ…

Rubyで並列処理するなら parallel 一択

使用例 require 'parallel' require 'open-uri' array = Parallel.map(1..10, in_threads: 2) do |num| num ** 2 end p array すでに先人様が解説してくださってるので詳しいことは書かない 使い方の解説 【Ruby】Parallelで並列処理 - しめ鯖日記 勘所 Ruby…

OVHとかいう格安海外VPSを借りてみた話

IDCFとかいうクソVPSサービスが今年の3月いっぱいで個人向けを終了する。 ってことで乗り換え先を探さなきゃいけなくて、条件としてはrootでsshができて、グローバルIPがもらえて、安いところ(スペックはぶっちゃけどうでもいい で、いろいろ探してたら「O…

Docker&dnsmasqでローカルにオレオレDNSサーバーを構築する

Macで開発する際に/etc/hostsを書き換えて作業することが結構おおい。 が、そのたびにhosts書き換えるのもだるいし、/etc/hostsの悪いところはワイルドカードに対応していないところである。。 ってことで、今回はMacにDNSサーバーを入れてみることにした。…

Nodejsで変数確認したりデバッグする方法

環境 nodejs 10 やりたいこと rubyのbinding.pryみたいにプログラムコードの途中で実行を止めて変数の中身とか参照したい やり方 例えば以下のようなjavascriptを用意する。 const val1 = 1; const val2 = 2; debugger console.log(val1 + val2); 1つ目のポ…

Rubyで配列をn分割する方法

スプラで待機している最中に考えてた。 その時は自分含めて5人いて、2人と3人にチーム分けしたかったのだが、それをRubyの1ライナーでやりたい。どうしようか 5人をAさん〜Eさんとする。ここまでは共通だと思う。 %w(Aさん Bさん Cさん Dさん Eさん).sh…