動かざることバグの如し

猫ゆえに。。。

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ペンシル高くて買えないマンは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…

テーブルを検索フィルタリングしてくれるJSライブラリ「jquery.ex-table-filter」

やりたいこと テーブルと検索フォームがあって、デフォルトではテーブルにはすべてのデータが表示されているが、検索フォームに文字を入力すると、入力したワードとマッチした 行のみが表示されるようにしたい。Ajax?そんなんいらんわボケ それを一発で実現…

Ubuntuでスタティックルートを永続的に設定する

環境 Ubuntu 18.04 16.04でも同様 「Ubuntu 静的ルーティング追加」とかでググると以下のようなサイトが出てくる。 Ubuntu 16.04 のスタティックルートの設定でハマった話 - try,try,try 多くのサイトでは2つの方法を紹介していて、1つ目は/etc/network/in…

MySQLで特定のテーブルを除外してインポートする方法

結論 できないが、頑張ればできる( 環境 MySQL 5.7 やりたいこと 例えばの話。 mysqldump sample > data.sqlでsampleデータベースをダンプしたファイルをインポートしたい。しかし、postsテーブルが巨大すぎてインポートできないから一旦他のテーブルだけイ…

DDR4&UEFIのPCでメモリテスト

Memtest86+が死んでる件について メモリテストの定番アプリケーションことMemtest86+ しかし最近は更新が滞っていて、最終更新が2013年(2018年6月29日現在) 当然最新のDDR4やUEFIの規格に対応できているはずもなく、上手く動作しない。そこでMemTest86でや…

Ubuntuのファイアウォール ufwで特定のNICからのアクセス全許可

例えばeno1経由での外からのアクセスは全許可したい場合は ufw allow in on eno1 to any でおk これ1行で終わりだとあまりにも内容がないので他にメモ ufwの無効化 設定ミスる前にとりあえずやっておく ufw disable ufwの初期化 ufw reset

nginxの多段プロキシ構成でIP制限を行いたい

環境 nginxのサーバーが2台あったとして ユーザー - インターネット - [nginx1] - [nginx2] - [rails] みたいな構成になっていたとき、nginx1ではなくnginx2側(バックエンド)で特定のIPのみ許可して、他のIPを弾きたい。 設定 例えば8.8.8.8からのアクセス…

XGBoostのインストール

めも 公式サイトのドキュメントに全部載ってるので、基本はそれの通りにやれば良い brew install gcc5 pip install xgboost >>> import xgboost as xgb ができればインストール成功 qiita.com

pandasでA column-vector y was passed when a 1d array was expected

環境 Python 3.6 pandas '0.23.0' 症状 適当に model = RandomForestRegressor.fit(x_train, y_train) とかしてると DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), f…

MySQLで取得した結果をCSVに出力する

自分用メモ INTO OUTFILEを使う場合 MySQLサーバーがオンプレミスの場合はこっち SELECT * FROM users INTO OUTFILE '/tmp/users.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'; スクリプト経由で出力する場合 クラウドのサーバーだと権限的にI…

rubyで可変長引数を受け取るメソッドに配列で引数を渡す

常識すぎるのか、ググってもなかなか出てこなかったのでメモ 可変長引数とは rubyでは仮引数名の頭に「*」をつけると可変長で受け取ることができる。 def myfunc(*args) p args end myfunc(1, "hello", true) # => [1, "hello", true] 問題点 が、ここで配列…

rails db:migrateでALTER TABLEする時は気をつけろという話

結論 reversible do |direction| direction.up { execute "ALTER TABLE battles ADD PRIMARY KEY (id);" } end 環境 Rails 5.2 Ruby 2.4 なぜつけるのか railsのマイグレーションでindexつけたりとか特殊なことをしようとするときはexecute()を使うこともあ…

UbuntuでSVG対応のImageMagickをインストールする

以前にMacのときに以下のようなエラーになった。 thr3a.hatenablog.com この時は問題が発生したのは手元のMacだけで、デプロイ先のUbuntuでは最初からSVG対応のImageMagickだったので問題なかった。 が、どうもUbuntu 18.04でapt経由でインストールするとSVG…

スプラトゥーンの対戦結果をstat.inkに記録するようにした

今までサイトの存在は知ってたけど、自前でDB建てるより楽なのでここにデータ入れるようにした。 登録 ここから新規登録 データ登録 手動でポチポチなんてやってられないので自動化 splatnet2statinkというツールを使うと自動でデータを入れてくれる。 イン…

cuDNNのバージョン確認するコマンド

悲しいかな、nvcc --versionで取得できるバージョンはCUDAのみでこれではcuDNNのバージョンは取得できない 方法1 cudnn.hを見る # cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 以下はcuDNN 6.0の場合(CUDNN_MAJOR=6 CUDNN_MINOR=0なので…