2017-01-01から1年間の記事一覧
Rubyのお気持ちが分からないことがたまにありますよね。 このスクリプトで最終的になにが表示されるでしょうか。 class A attr_accessor :foo def bar foo = baz(foo) foo end def baz(v) v end end a = A.new a.foo = 1 p a.bar # ここで表示される値は? 答…
bugs.ruby-lang.org このチケットをみていて、Macで同じことをどうやるか?を考えてみました。 Macには/procがありません。 % ruby -rzlib -e'END{puts File.readlines("/proc/self/status").grep(/RSS/)}' -e'd=Zlib.gzip("data"); 100_000.times{Zlib.gunz…
candidates = [ 'hoge', 'foo', 'bar', 'Sring_MT' ] puts candidates.sample のようなスクリプトでなぜか自分がよく当たるような気もしたので、Array#sampleの実装を追ってみた。 instance method Array#sample (Ruby 2.4.0) source メソッド定義場所はここ…
今まで改行された標準出力から、grepのOR検索するための条件を作るためにperlでゴニョゴニョしてました。 (他にもいい方法あるかな。。。) % echo "test\ntest\ntest" | perl -e 'my @list; while (my $m = <>) {chomp($m); push @list, $m}; print join("\\…
token取得 api.slack.com レガシーなのでいつdisableになるかわからないですが。。。。 id取得 curl -s -XPOST 'https://slack.com/api/users.list?token=#{自分のToken}&pretty=1' | jq -r '.members[]|"\(.id) \(.profile.email)"' | grep '登録しているメ…
よく忘れるので、整理しておく。 tmpwatchコマンド コマンドは/usr/sbin/配下にあります。 使い方は下記の通り。 $ tmpwatch [option] [hours] [dirs] dirsの指定にはワイルドカード(*)が使えます。 基本的に空dir、ファイル、シンボリックリンクを削除する…
お手軽にMySQLにダミーデータを作る方法です。 INSERT INTO hoge SELECT * FROM hoge; を繰り返す スキーマ gist.github.com (プライマリキーなしというありあえないテーブルで試しています。。。) 結果 gist.github.com 1280000 rows作るのに1分かからない…
daemontools経由等で、デーモンのプロセスを立ち上げるときに、プロセス内でbundle exec hogeなどのコマンドを実行すると、 '/' is not writable. Bundler will use '/tmp/bundrer/home/unknown/' as your home directory temporarily. のようなwarningメッ…
MAC(Message Authentication Code メッセージ認証コード)について、整理してみました。 (MACアドレスのMACはMedia Access Controlの頭文字なので同じ文字面ですが全然意味が違いますね。) MACは自分に届いたメッセージが送信者が意図した通り(改竄されてない…
MacでC++書いててSEGVとかを起こしたときのクラッシュレポートの置き場所をいつも忘れるのでメモ /Users/:user/Library/Logs/DiagnosticReports /Library/Logs/DiagnosticReports この配下にある.crashを見る
stackprofがどうやってプロファイルを行っているかを追ってみます。 プロファイルするコードは下記を使います。 stackprof/sample.rb at master · tmm1/stackprof · GitHub 自分用のメモなので、間違い等があるのはご容赦ください。。(随時ブラッシュアップ…
以前Bazelの入門の記事をかきましたが、今回はC++をビルドする環境を作成してみます。 spring-mt.hatenablog.com 下記のチュートリアル通りにやっていきます。 Build Tutorial - C++ - Bazel まずはexampleをcloneしてやっていくのですが、前回やった残りの…
Q4MのConditional Subscriptionを使う前にベンチマークを取ってみました。 Q4M - Tutorial マシン Model Name: MacBook Pro Model Identifier: MacBookPro13,2 Processor Name: Intel Core i5 Processor Speed: 2.9 GHz Number of Processors: 1 Total Numbe…
Bazelとは Googleが内部で利用していたビルドツールのオープンソース版として提供されているものです。 Bazel - a fast, scalable, multi-language and extensible build system" - Bazel FAQ - Bazel ビルドやテストの高速化を目指して作られています。 C++…
ログとは 時系列順になっているデータのこと。 全てが過去に発生する。 データログ - Wikipedia ログ取得の目的 記録・履歴(点) 事象単体が意味を持つ場合に、時刻を含めてそのときの状況のデータを記録する 例 エラーログ クラッシュログ 変化量を捉える(線…
Rubyの2.4以上から、共通鍵暗号を扱うOpenSSL::Cipherにおいて、暗号化鍵と初期化ベクトル(IV)を設定する際に、指定した暗号化方式の鍵長のビット数を超えて指定した場合、ArgumentErrorを返すようになりました。 irb(main):001:0> require 'openssl' => tru…
壊れたgzipがあり、展開できないと言われて調査したときにどうやったかのメモ gzipとは www.gzip.org www.futomi.com zcatで展開できるところまでしてみる zcatは破損した位置までのデータを修復できる。 展開できたデータの最後を確認して修復する。 バイナ…
よくわからかなかったので整理 docs.aws.amazon.com configure(コンソール) configure(api) 意味 英文 Missing missing 過去に遡ってデータを見に行く the alarm looks back farther in time to find additional data points Good notBreaching 欠落データポ…
www.slideshare.net recipe.kc-cloud.jp www.server-memo.net qiita.com qiita.com
snappyが入っているのは察してほしい データの詳細は後で書く。(これも察して欲しい。だいぶ偏ったデータではある) これから詳細をちゃんと書くが、一旦ここにおく マシンスペック iMac使っています。 % system_profiler SPHardwareDataType Hardware: Hardw…
メモ書き程度に デーモン 語源は悪魔のデーモンではなく、守護神のほうらしい。 デーモン (ソフトウェア) - Wikipedia まあ、それはそれとして デーモン(daemon)は長時間動き続けるプロセスのことです。 APUEのデーモンより ファイルモード作成時マスクをuma…