脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

2015-01-01から1年間の記事一覧

Rubyの特殊変数($@とか$`とか$数字とか・・・)

特殊変数 Rubyの組み込み変数の一部は、通常の変数としては使用できない特殊な名前を持っています。 例えば、 $' や $& あるいは $1, $2, $12345678901234567890 がそうです。 このように 「'$' + 特殊文字一文字」、または「'$' + 10進数字」という名前を持…

AWSの詳細モニタリングのグラフが優秀でちょっと感動している

AWS

詳細モニタリング AWSでinstanceを作成するときに「詳細モニタリングを有効化しますか」みたいな選択があったと思うが、これを有効化するとデフォルトでは5分間隔のデータが1分間隔でデータ集計を行うらしい。 無効化:5分間隔 有効化:1分間隔 グラフ 便利…

I/O waitが発生する原理(dirtyメモリ、write back)

I/O waitにはdirtyメモリとwrite back処理(pdflush)が深く関係しています。 書き込み処理 低負荷時 書き込み処理(見かけ上の書き込み処理) ↓ dirtyフラグと一緒に随時メモリに書き込まれる(dirtyメモリ) ↓ 5秒に一度dirtyメモリを読み取って実際に物理ディス…

screenで画面分割中に他の画面の内容をコピペする方法

方法 コピー # screen コマンドの開始 Ctrl+a # コピーモードの開始 [ # 始点の決定 Space # 終点の決定 Space ペースト # screen コマンドの開始 Ctrl+a # ペースト ] 例 例えば以下のように二画面に分けて、それぞれでvimを開きます。 ここで通常のyy等のv…

pingでport指定したい時

結論から言うとpingでは通常port指定が出来ないので「nping」コマンドを使いましょう。 ダウンロード nmapと一緒にダウンロードされるので、nmapをinstallします yum install nmap コマンド 使用法 nping ${host} -p ${port} 例 成功した場合 nping 175.41.2…

ネットワークが繋がらないときに調査する8項目+α

クライアント側(接続元)での確認 ping ping ${host} Ex.) ping 54.168.196.212 ・ ・ ・ 6 packets transmitted, 6 received, 0% packet loss, time 5387ms <== ここが0% packet lossじゃない場合おかしい rtt min/avg/max/mdev = 0.432/0.471/0.533/0.041 m…

CAP定理

CAP定理 CAP定理はブリュワーの定理とも呼ばれ、分散コンピュータシステムのマシン間の情報複製に関する定理。ウェブサービスを想定して作られた定理。 ノード間のデータ複製において、同時に次の3つの保証を提供することはできない。 一貫性 (Consistency) …

Ruby World Conferenceに登壇してきました

もうすぐ2015年度Ruby World Conferenceが開催されるので、その前に2014のレポートを書いておきたいと思います。 Ruby World Conference 2014 RubyWorld Conference Conference info 場所 島根県立産業交流会館 「くにびきメッセ」国際会議場(3階) 参加者 …

AWSのvi(vim)のversionをupdateする方法

AWSに限らないが、vagrantのboxなどでプリインストールされているvi(vim)が古くて使いたい機能が使えない場合に最新のvimに入れ替える方法 手順 yum install vim mv /bin/vi /bin/vi_bk ln -s /usr/bin/vim /bin/vi

デスクトップの指定したエリアの動画キャプチャをとる方法

使用するTool AG-デスクトップレコーダー AG-デスクトップレコーダー - k本的に無料ソフト・フリーソフト 手順 1. AG-デスクトップレコーダー(以下レコーダー)を起動(AGDRec.exe) 2. コーデックとエンコードモードの選択 起動時にコーデックの選択を行うが…

広告業界のワード(CPA, CPC, CPE, CPM, reach, ROI)

略称正式名称意味CPACost Per Acquisition商品購入や会員登録などの、利益につながる成果を1件獲得するのにかかるコスト。CPCClick Per Cost1クリック(=サイトへの1アクセス)を獲得するのにかかるコスト。クリック単価。CPECost Per Engagement広告媒体(…

全角文字を正規表現でgrepする方法

正規表現 [^\x01-\x7E] テスト txt1 ='aaaaaaa' # 全角アルファベット puts txt1 =~ /[^\x01-\x7E]/ #=> 3(true) txt2 ='aaa aaa' # 全角空白 puts txt2 =~ /[^\x01-\x7E]/ #=> 3(true) txt3='aaa aaa' # 半角空白 puts txt3 =~ /[^\x01-\x7E]/ #=> nil

Ruby motionの導入方法

環境 mac OSX Yosemite 10.10.5 Ruby 2.1.5 p273 インストール 1. Ruby motionのインストール 以下のリンクからRuby motionの利用登録を行います。 登録すると入力したemailアドレスにダウンロードリンクとライセンスキーが送られてくるので、それをインスト…

AWSにGladiatorをinstallしてみた

AWSにROMA(Ruby On Memory Architecture)のGUI toolであるGladiatorをinstallしてみた 準備 ROMAのインストールと起動 portaltan.hatenablog.com ROMA側のmkconfigの途中でplugin選択があるが、そこで'config_gui.rb'を選択しておく ストレージとしてTokyoCa…

bootstrapとjqueryでタブ表示を作成する方法

必要なもの bootstrap jquery 手順 まずはTabのheaderを作成します。 <div id="tabs"> <ul> <li><a id="tabs1" href="#content1">Tab1</a></li> <li><a id="tabs2" href="#content2">Tab2</a></li> </ul> </div> するとこんな感じのtabが出来ます 次にタブの中のコンテンツを作成します。 <div id="tabs"> </div>

git logをCHANGELOG用に整形するコマンド

Git

コマンド git log --pretty=format:"* %s [%an] %h" > CHANGELOG 例 例えばこんな感じのGit logがあったとしたら、 commit 8d4f2088263953a8d4b6d70e110060533c25c248 Merge: ad3406a b184bdd Author: ********* <******************@gamil.com> Date: Thu J…

tablesorterでpager機能を使う方法

以前のポストでtablesorterの基本機能であるsort機能とfilter機能を説明しましたが、今回はpager機能を利用する方法を説明します 基本機能(sort & filter機能の使い方) portaltan.hatenablog.com Pagerの使い方 1.まずはsortだけ可能な単純なtableを作成しま…

Historyコマンドに日時情報を追加する方法

LinuxのHistoryコマンドに日時データを追加する方法です。 方法 以下のコマンドをうてばOKです(bash)の場合 export HISTTIMEFORMAT='%y/%m/%d %H:%M:%S ' zshやtcshでも同じように環境変数にsetしてやれば動くと思います 結果 何もしないと以下のようにコマ…

RedDotRuby Conf2015に登壇してきました

taiwanのレポートを書いたついでにsingapoleのRedDotRuby confも思い出に書いておきたいと思います。 Conference シンガポールで行われたRedDotRubyConf 2015にLTとして参加してきました。www.reddotrubyconf.com photos 会場 ボード 参加者 発表者達 頂いた…

Rubyでコンソール上の文字をクリアする方法

Linuxではclearとうつと、コンソールの標準出力画面がクリアされます(実際には下にスクロールします)。 こんな感じ $ echo 'foo' foo $ echo 'bar' bar $ clear ↓ $ 記法 これをRubyで実装するのはとても簡単で、 puts "\e[H\e[2J" こう書くだけでclearと同…

Ruby Conf Taiwan 2015に登壇してきました

Conference LTですがRuby Conf Taiwanに登壇してきました。2015.rubyconf.tw会場の建物 看板 メイン会場の様子 懇親会の様子 ちなみにこのビールがとてもおいしかったです・・・w Key note(という表記ではなかったけど、それらしきもの)は、 Yukihiro (Ma…

tablesoterをRailsで使う方法 + FilterとSort機能の使い方

jueryプラグインのtablesorterをRailsで使う方法です。tablesorterはtableをsortしたりfilteringするjQueryプラグインです。 ソースコード まずはじめに、tablesorterには本家とforkして他の人が開発しているPageの二つのドキュメントがあります 本家: http…

RailsでデフォルトのDB以外を使う方法&ActiveRecordのvalidate機能を使う方法

RailsのDBをsqliteから他(NOSQLとか)に変更したい場合 modelファイルで継承しているActiveRecord::Baseを消してやればOKです # class Test < ActiveRecord::Base <== 通常はこっち class Test ${処理} end しかし、これではせっかくのRailsを便利にしてい…

Railsのモデル側でのvalidation

Railsのモデルファイルでのvalidationの方法です。 validateの対象を指定 validateを行うパラメータをvalidatesを使って宣言する class TestValidates < ActiveRecord::Base validates :param1 validates :param2 validates :param3 ・ ・ ・ end validateの…

sinatraをvhost上でpassengerを使ってサブディレクトリとして起動する場合

ディレクトリ構造 ①passenger.conf ・ ・ PassengerEnabled off <VirtualHost ${ipアドレス}:80> DocumentRoot ${vhostのドキュメントルート} ServerName ${vhost名} <Directory "${vhostのドキュメントルート}/${vhost名}/"> PassengerAppRoot ${sinatraのアプリのルート} RackEnv production RackBaseURI /${sinatraアプリのpublicディレクトリの</directory></virtualhost>…

AWSでpingは通るのに実際に接続しようとすると「No route to host」って言われる原因

pingは通ってパケットロスも無いのに、実際にtelnetやTCPSocketで繋ごうとすると「No route to host」って怒られる場合の対処法です。 試してみてダメだったこと /etc/hostsに色々書いてみた portとかも変更して色々試してみた AWSに関してはパブリックDNS、…

iptablesの設定方法(FireWall)

iptablesの設定方法はググれば山ほど出てくるのですが、ちょっとだけ自分の環境と違ったり、ちょっとだけ入力したい設定が入ってない場合が多いので、自分のメモ的要素も含めて書いておきたいと思います。 iptables設定手順 確認 まずは現在のFireWall設定を…

Rubyの例外処理について

Rubyの例外の種類 例外処理の基本的な書き方 記法 begin ${例外処理した処理} rescue => ${例外の内容を格納する変数} ${例外が発生したときに行う処理} ensure ${例外発生の有無に関わらずに、最後に実行する処理} end Example def test_exception raise Ze…

Reactのjsxをプリコンパイルする方法

Reactでjsxを使っている場合、JSXTransformerを使って描画時ブラウザ側でjsx⇒HTML5に変換することが出来ます。しかし、実際にはこれを使うと以下のような警告文が出ます。 You are using the in-browser JSX transformer. Be sure to precompile your JSX fo…

AWSにRuby製分散型KVSのROMAをソースからinstallする

AWSのEC2インスタンスにRuby製Key Value StoreのROMAをインストールします。 今回はちょっと手順が増えますが、構成やライブラリ等を把握するためにソースからinstallします。 (gemでもinstallできます) 環境 AWS OS : CentOS 6.6 インスタンスタイプ : m3.l…