サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Appleイベント
tech.buty4649.net
re:dashを0.11.0+b2016から何を思ったか1.0.0+b2521まで上げたのでその時に実行したDBマイグレーションのメモ。 以下のサイトを参考にした。 laughingman7743.hatenablog.com # dockerホストで実行 $ docker-compose exec redash /bin/bash # env | grep REDASH > .env # for script in migrations/*; do echo $scirpt ; PYTHONPATH=. ./bin/run python $script;done # rm .env なんか、大量にエラーを吐いた(テーブルが存在しているとか)けど使えているからまぁ大丈夫かな…たぶん。 追記(2016/12/06 19:00 どうやら migaraionts 配下のスクリプトをすべて実行して
この記事はMackerel Advent Calendar 2016の5日目の記事です。 昨日はww24さんによるRaspberry Pi を Mackerel で監視するでした! 先日、Mackrelにメタデータ機能がリリースされましたね! 早速メタデータ機能を使ったMackerelの活用方法を考えてみました! パッケージ管理は意外とめんどくさい 例えば、opensslの脆弱性が見つかった時にパッケージのアップデートをする必要があると思います。 そんな時に、全サーバのパッケージバージョンを取得したくなりますが、サーバが増えてくるとなかなかの手間です。。 😅 そこで、Mackerelのメタデータ機能を使ってサーバのパッケージ情報を管理する方法を考えました! mkr-meta-pkgを作った! buty4649/mkr-meta-pkg このツールはパッケージ情報をメタデータに格納または、
ngx_mrubyを使ってNginxを制御するときに、 mruby_set と if を使うことが多いと思います。 例えばiPhoneからのアクセスの場合のみ特定の処理をしたいとします。 その場合以下の様なコード(nginx.conf)になると思います。 mruby_set_code $is_iphone ' hin = Nginx::Headers_in.new # 判定分が雑だけど例題なのでご容赦・・・ /iPhone/ === hin['User-Agent'] '; if($is_iphone) { # iPhoneの時だけ行なう処理 } User-Agent に iPhoneという文字列が含まれていれば true を返し、そうでなければ falseを返却し、その結果を $is_iphone 変数に格納します。 そして、この変数が真の時だけ特定の処理を行います。 これは意図した動作
先日、複数台のサーバに設定を投入しないといけない事案が発生した。 システムを運用していると頻繁にあるけど、そういう時は台数がすくなければ sshで入って…台数がおおければシェルスクリプトを書いてpscpでそれを撒いてpsshで実行していた。 しかし、シェルスクリプトで書いてしまうとその場限りのものになってしまって、 再利用性が低く構造化しづらかったのでfabricを使ってみた。 (こういうことはpuppetやChefなどの構成管理ツールを使えって話だけど、 使えたら使っている のでそこら辺はお察しください) fabricを選んだのは、同僚でありpythonistaな @laughk先生 が 布教活動をしていて使い方をある程度知っていたのと、何かあればすぐ聞けるっていう理由なのであったw fabricの使い方とかはググってください。。 以下に、私がfabricを導入したときにこれどうするんだ
speakerdeck.com 第5回ペパボテックカンファレンス〜インフラエンジニア大特集〜 - connpassという会社のカンファレンスで発表しました! 発表後に id:matsumoto_r から補足いただきました! ありがとうございます m( )m luaを積極的に使う場合はブロックするようなI/Oがあって、そこで性能が要求されるような状況。我々はそこがオーバーヘッドになるような使い方はあまりないし、ngx_mrubyの良さを活かせる場所(ブロックしないとluaより速かったり)が多いのでngx_mruby #pbtech— 松本亮介 (@matsumotory) 2016年5月14日 発表資料にもありましたが、クエリストリングのチェックやキャッシュファイルの有無にのみ使っているので、ブロックIOは発生しないのでオーバーヘッドは少ないです。 開発者が社内にいることで、困ったときはSl
Let's Encrypt! めっちゃ便利ですよね! 気軽にSSLが使えるようになったし、HTTP2も導入しやすくなったと思います。 今まで実はLet's Encrypt! 使ったことなかったのですが、最近使う機会があって使ってみました。 ですが、なんと NAT環境下(Vagrantとか)ではエラーになってしまったのです。。。 orz どうやらACMEプロトコルの仕様で、ACEMサーバから認証用のファイルをGETしに来るようです。 当然、NAT環境下ではそれ相応の設定しないかぎりアクセスできないので認証エラーとなってしまうのです。。 しかし、ACMEプロトコルの認証方式にはいくつか種類があるようです。 前述した方法はHTTPを用いた認証(http-01)で、これ以外に DNSを用いた認証(dns-01) があります。 今回はこのDNSを用いた認証(dns-01)を使ってLet's Encr
この記事は、Pepabo Advent Calendar 2015の3日目の記事です。 昨日は私のプロンプトにランダムに絵文字を表示すると楽しい 😄 でした。 現在、 2015年12月3日の25時です!!! hubot-slackでAttachmentsを使う方法を共有します! Attachmentsとは? Attachmentsとは何か? SlackのIntegrationで見られるリッチな表示になっているメッセージです。 例えば、↓のような表示です。 通常、hubot-slackで msg.send すると簡単なテキストしか送信できませんが、 Attachmentsを使うことで↑のようなリッチなテキストを送信することができます! 対象のバージョン hubot-slackのv2系では使えていたようなのですが、v3系になってこの機能は削除されたようです。。 しかし、沢山の要望があったのか
fioをコマンドを使う度に、jobファイルのdirectoryパラメータを書き換えたり、 実行後にテストファイルの削除を忘れたりするのがめんどくさかったのでラッパーコマンドを作った。 markdownで出力してくれるのでコピペするだけという便利感。 ただし、実装は雑() buty4649/fio-cdm · GitHub 実行例は以下の様な感じ # fio-cdm /mnt/sdf1 | | Read(MB/s)|Write(MB/s)| |------|-----------|-----------| | Seq | 305.307| 138.191| | 512K | 275.565| 139.452| | 4K | 22.208| 37.098| |4KQD32| 210.052| 125.907| 貼り付けるとこんな感じ Read(MB/s) Write(MB/s) Seq 305
意外と便利っと社内で言われたので調子にのって知見共有します。 このように、botが生きてると●がついて、死んでると●になるので死活監視できます。 ご活用ください
会社でGH:EやSlackの二要素認証(2FA)有効化をしたら、 どういう仕組みで認証しているのか気になったので調べて作ってみた。 というのは建前で、GW前にこんなことをつぶやいたらhsbtさんに ふぁぼられてしまったのでやらざるを得ない状態になったのであった。 ふぁぼられドリブン開発 GWに暇があったら2FAのワンタイムパスワードを発行する方を実装したい— ぶてい (@buty4649) 2015, 4月 27 Google Authenticator 何はともあれ、手探りでしらべるのはさすがに骨が折れる…。 しかし、幸いなことにGoogle Authenticatorはギッハブにコードが上がっているのでこれを参考にした。 github.com このREADMEに書いてある通り RFC4226 と RFC6238 がキモみたいだ RFC4226 RFC6238 最近はRubyとかLLを主
はてなブログ開設前にひっそりこっそり運営してたWikiからのコピペ 別名再利用 ファイルサイズを取得する 1. callを使う方法 call :FILESIZE "path:\to\hoge.txt" exit :FILESIZE echo %~z1 exit /b 2. for文を使う方法 for %%i in (path:\to\hoge.txt) do echo %%~zi callまたはfor文の引数参照または変数参照の%~zを使えばできる。 ファイルの更新日付を取得する 1. callを使う方法 call :FILESIZE "path:\to\hoge.txt" exit :FILESIZE echo %~t1 exit /b 2. for文を使う方法 for %%i in (path:\to\hoge.txt) do echo %%~ti ファイルサイズを取得する方法を%~t
この記事は、Pepabo Advent Calendar 2014の14日目の記事です。 昨日は、 としやさんのマネージャーができるサービス監視 でした。 マネージャーがサービス監視をしていると、障害発生時の ヤバさ がすぐに伝わっていいですね! 過去に、障害時のオペレーションをしている時に役員の方々全員が仁王立ちしているなんてことがありました。。(ペパボ入社前の話です) 今年2月にペパボに入社して、もう年末なんて時の流れは早いですね。 去年の今頃はニートしつつ艦コレしつつあんちぽサンタをみつつ、 次の職場どうするかなぁ〜なんて考えてました。 そんな私も入社してからmuninばかりいじっていたら、社内ではmunin職人と呼ばれるようになりました(ドヤッ 今まで、muninネタを幾つか書いてきたのですが、今回はちょっぱやにする方法を書きたいと思います。 (※ なお、効果には個人差があります)
必要になって作ったので 速度制限 6時間 12時間 24時間 10Mbps(bwlimit=1250) 27.0GB 54.0GB 108.0GB 15Mbps(bwlimit=1875) 40.5GB 81.0GB 162.0GB 20Mbps(bwlimit=2500) 54.0GB 108.0GB 216.0GB 25Mbps(bwlimit=3125) 67.5GB 135.0GB 270.0GB 30Mbps(bwlimit=3750) 81.0GB 162.0GB 324.0GB 35Mbps(bwlimit=4375) 94.5GB 189.0GB 378.0GB 40Mbps(bwlimit=5000) 108.0GB 216.0GB 432.0GB 45Mbps(bwlimit=5625) 121.5GB 243.0GB 486.0GB 50Mbps(bwlimit=62
readlinkが意外にすごかった。 名前からしてシンボリックリンクの実体へのパスを取得するだけのコマンドだと思っていたのだが、実はそれだけではなかった! 1.ファイルのフルパスを取得する -f オプションを指定することでファイルのフルパスを取得できる。 $ touch hoge $ readlink -f hoge /home/buty/work/hoge シンボリックリンクファイルに対して実行すると、実体へのフルパスを取得できる。 $ ln -s hoge test $ readlink -f test /home/buty/work/hoge 2. シンボリックリンクの実体確認ができる test -h では正しくチェックができないが、readlink -eなら正しくチェックができる! $ ls hige hage ls: cannot access hige: No such fil
このページを最初にブックマークしてみませんか?
『tech.buty4649.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く