動かざることバグの如し

殿、温めておいたバグがこちらでございます

MySQLで複数カラムのマージして出現回数をカウントしたい

やりたいこと 例えばdata1、data2、data3のカラムがあってそれぞれのカラムを合体して文字の出現回数を調べたい テーブル CREATE TABLE `hoge` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `data1` varchar(255) NOT NULL, `data2` varchar(255) NOT …

RailsでpumaのCPU使用率を取得する方法

環境 linuxでpumaで動作しているRails railsの負荷を計測するのは一筋縄ではいかず、一発でこうすれば取得できるってのはないのだが、なんとかして負荷度を計測したい。 ってときにtopコマンドでpumaのCPUの使用率を取得すると概算できることがわかったので…

サイドバーの追尾型広告でAdsense貼るとBANされる話

らしい サイドバー→に縦長の広告があって、スクロールするとついてくる広告って結構昔からあって、メジャーな手法だと思っていたが、それをAdsenseでやると利用規約違反らしい。 このことは公式ヘルプにしっかり明記されている AdSense ポリシーに関するよく…

gmailへメールが送信できなくなったときはメールヘッダーを見ろ

症状 1つのサーバーからSMTPでGmailのメールアドレスへメールを送信していたが、いつの日からかメールが届かなかったり、メールが数時間レベルで遅延するようになった。心当たりなかったので、原因がよくわからなかったが、どうもGmail側にスパム認定(Gmai…

LinuxでもCrystalDiskMarkぽいディスクベンチマークしたい

fioとは fioと呼ばれるLinux用のディスクI/Oベンチマークツール(ディスク性能計測ツール)が有る。すげー適当に言うとCrystalDiskMarkのLinux版である。 このツール、hdparmコマンドやddコマンドで性能を測定するのに比べてかなり高機能なのだが、いかんせん…

最近のChromeがメモリ盛り盛り森鴎外なのを改善する方法

はいクソタイトル Spectre対策とかいうやつ 実はChrome67以降ではSpectre対策として「サイト分離(Site Isolation)」という機能がデフォルトで有効化されている。 Chrome、Spectre対策の「サイト分離」でメモリ使用量が約10%増加 | マイナビニュース これ…

Railsでルーティング一覧を生成してCSV出力する

環境 Rails 5以降 やりたいこと Railsは基本的には規則に沿ったルーティングになるが、規模が大きくなってくるといろいろ管理が辛くなってくる。今回ちょっと別のアプリにRailsのURL一覧を読み込ませる必要があったのだが、流石に手動で書くのはキツかったの…

炊飯器でチーズケーキを作った

この動画見て作りたくなった(アカネチャンカワイイヤッター! 忘れそうなのでメモ 材料 炊飯器 これがないと始まらない 3合でおk クリームチーズ 200g フィラデルフィアクリームチーズ200g買えば間違いない 卵2個 生クリーム 200ml ホイップクリームは雑魚 多少値がはっ…

Pythonでランダムな文字列を生成する

環境 python3 2マンは帰って、どうぞ 方法 ググるとQiitaが一番上に出るけど見づらくて仕方ない python3ならもう少しきれいに書けるだろ 以下は12文字のランダムな文字列を生成する例 import random import string ''.join(random.choices(string.ascii_up…

UbuntuにdnsmasqをインストールしてDNSキャッシュサーバーとして運用

dnsmasqを使ってサクッとDNSキャッシュサーバーを作ろうじゃなイカ 環境 Ubuntu 16.04/18.04 インストール apt install dnsmasq あとは /etc/dnsmasq.conf を編集するのみ 主に以下 # ポート番号を53にする port=53 # ドメインの無いホスト名のみ問い合わせ…

Atomで特定のショートカットキーを無効化する方法

AtomはれっきとしたGUIのエディタだが、ショートカットキーもそこそこ充実している。 が、今回デフォルトで用意されているキーバインドがよく押し間違えしてしまうので無効にするメモ。 やりたいこと Alt+Cmd+oでディレクトリが開くプラグインを入れているが…

Squidのバージョン4が安定版になっていた話

みんなのプロキシサーバーSquidが長いこと3.xが安定版だったが、今月の2日についにバージョン4が正式版としてリリースされていた。(変更履歴) https://wiki.squid-cache.org/Squid-4wiki.squid-cache.org 一方今までの3は非推奨(DEPRECATED)扱いに 一…

Ubuntuでsquid3をビルドしてインストール

今回初めてdebuildコマンドつかった UbuntuてかDebian環境ってこんなに整っていたんですね(今更 環境 Ubuntu 18.04 依存ライブラリのインストール そもそものビルドに必要なものをインストール apt install devscripts build-essential fakeroot debhelper …

Tinker BoardでIP固定に設定する方法

そういえばTinker Boardを買ったきりで全然起動すらしていなかった() thr3a.hatenablog.com 流石にもったいないのでセットアップしたメモ 環境 Tinker BoardのDebianのOS 20180622-tinker-board-linaro-stretch-alip-v2.0.7.img 方法 そもそもネットワーク…

RubyでUTF-8をShiftJISに変換するならnkfを使うべき

WindowsとかいうゴミOSを考慮するせいで、もうすぐ東京オリンピック開催の2020年に近づいたというのにShiftJISで出力したいケースがある。 .encode()使えばいいんでしょ? RubyはもともとUTF-8なのでUTF-8→ShiftJISの変換になりstr.encode(Encoding::Windows…

locateコマンドでディスク全体から一発検索

例えば「libjpeg.soを含むファイルをディスク全体から検索したい」ってときは今までfindコマンド使っていた find / -name "*libjpeg.so*" /usr/lib/x86_64-linux-gnu/libjpeg.so.8 /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libjpeg.…

H.264対応のffmpegをLinux環境でビルドする

FFmpegは言わずとしれた動画音声変換用アプリケーションだが、ビルドが結構煩雑である。 ビルド済みのバイナリダウンロードしてそれつかえばええやんって話だが、ライセンス的な関係上、H.264のコーデックを使いたい場合は自分でビルドしなければならない っ…

Apple Pencil高くて買えないマンはAbida互換タッチペンを買え

先日iPad(Proじゃない方)を買った。バンドリ用に() iPad買ったのは初めてだったので画面の綺麗さとサクサクっぷりには感動しつつ、せっかくなので現モデルから対応したApple Pencilも試してみようと思った。 が、なんとお値段公式価格10800円(税別) 「…

AWS EC2でUbuntu 18.04の公式AMIを使う

いつの間にかAMIが公開されていた。 AWS Marketplace: Ubuntu 18.04 LTS - Bionic ただ、実際にこのAMIでインスタンスを作成するときは若干癖があって、 「インスタンスの作成」をクリックしてAMIの選択画面へ 左のタブの「AWS Marketplace」をクリック 検索…

Ubuntuで特定のレポジトリを除外してインストールする方法

ここでいうリソースってのはhttp://ap-northeast-1.ec2.archive.ubuntu.com/ubuntuみたいなやつのことを指す リソースのほうが正しいかも? 何がやりたいか 例えばnginxをインストールしようってなったときに、 # apt-cache madison nginx nginx | 1.14.0-1~…

急性名古屋行きたい病に感染したので行ってきた話

3連休することもなかったので急遽名古屋行ってきた なぜ名古屋 おいでよ名古屋(@oinagoya)というTwitterアカウントがある。毎回流れてくる画像見てたら行きたくなった 以上 なので今回のお店の探し方はぐるなびでもるるぶでもなく、「from:oinagoya filter:…

Ziproxyで画像を圧縮するプロキシを構築して格安SIMでも快適になりたい

なりたい(願望 すごい結果から言うと、ziproxyは古参プロキシなのでhttpsの画像圧縮に対応できてない よってhttps当たり前の今日の環境ではあまり意味がない 環境 Ubuntu 16.04 インストール apt install ziproxy あとで書く mkdir -p /var/log/ziproxy cho…

ディスクが壊れてGive root password for maintenanceで起動しない

環境 CentOS 6 症状 ディスクが逝った。Linuxたんは賢いので、故障を検知すると自動でRead Onlyになる。 今回逝ったディスクはrootディスクじゃない別のデータ用ディスク。だからそのディスクだけ交換して再起動すればめでたしめでたし、かと思ったらそもそ…

Rubyで配列Aの中に配列Bの値が含まれているかを確認する

1行なので解説も何もないが rubyでは[1, 2, 3].include?(3)のようにすると配列の中に特定の値が含まれているかを一発でチェックできるが、確認したい値が複数ある場合はその都度include?を実行しなければならなくて面倒 だけど > (%w"1 2 3 4" & %w"2 3").an…

Ubuntu 18.04でDNSサーバーを変更する方法

めっちゃハマった 環境 Ubuntu 17.04以降 ネームサーバーを変更できない問題 DNSの変更は/etc/resolv.conf、という時代は古い。Ubuntu 17.04以降ではsystemd-resolvedがデフォルトで動作しているため、/etc/resolv.confを書き換えても変更されない そもそも/…

Pythonでヒストグラムを生成する

こんなグラフ ヒストグラム自体に「グラフ」の意味があるからヒストグラムのグラフを生成っていうのはおかしいらしい(棒グラフグラフ的な 環境 Python 3.5 pandas コード %matplotlib inline import numpy as np import pandas as pd import matplotlib.pyp…

Rubyの並列処理でWEBサイトの負荷テストを実行する

いわゆるWEBサイトのベンチマークはApache Benchがいちばん有名だが、いかんせんインストールしてやらなきゃいけなくて面倒 Rubyでサクッと負荷テストしてみたかったので作ってみた 環境 ruby 2.x rest-clientを使ってる コード 10並列で計1000リクエスト実…

Railsでrakeタスクから別のタスクを呼び出す

環境 Rails 5 やりたいこと Railsのtaskから別のタスクを実行したい。 方法 Railsのタスクはbundle exec rails xxx:xxxxのように実行するが、結局実態はただのrakeタスクなのでinvoke()を実行すれば良い namespace :sample do task hoge: :environment do |t…

stat.inkの統計CSVのスキーマ

game-ver 2.2.1 #ゲームバージョン lobby-mode gachi lobby standard mode yagura stage tachiuo time 106 win bravo knockout TRUE A1-weapon momiji # A1は必ず投稿者になる A1-kill-assist 3 A1-kill 1 A1-assist 2 A1-death 3 A1-special 1 A1-inked 413…

MySQLでSleepのコネクションを一発で殺す方法

MySQLでSleep状態のコネクションを一気に開放したくなるときってありますよね?(ない まぁ主にRailsたんが勝手にコネクションプーリング張ってDBの接続数圧迫してしまってるときに減らす目的だが 環境 MySQLサーバー 手順 まず対象のDBにログインして selec…