脳汁portal

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

2015-11-01から1ヶ月間の記事一覧

Gemfile/Gemfile.lock/gemspec/Rakefileそれぞれの違い・役割

Gemfile gemの取得先を記述する 通常はsourceとgemspecの2行、もしくはsourceの1行だけでよい source "https://rubygems.org" gemspec gemspec 実際の情報を記述するファイル Gem::Specification.new do |s| s.authors = [] s.homepage = '' ・ ・ ・ gemの…

TokyoCabinetのmanagement toolである'tchmgr'の使い方

tchmgr ハッシュデータベースAPIやそのアプリケーションのテストやデバッグに役立つTool コマンド tchmgr put [-nl|-nb] [-sx] [-dk|-dc|-dai|-dad] path key value 代表的なコマンド tchmgr put tcファイルにデータを格納する tchmgr put test.tc key1 val1…

ライブラリの依存関係を調査するlddコマンド

lddコマンドを使ってライブラリの依存関係を調べることが出来ます。 ライブラリ調査 コマンド ldd ${ライブラリ} 例 ldd libtokyocabinet.so libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00002b859cd82000) libz.so.1 => /usr/lib64/libz.so.1 (0x00002b859cf…

grepコマンドで指定したディレクトリ以下のファイル内容を全検索する方法

コマンド grep -r '#{検索したい輪ワード}' #{検索したいパス} 例 カレント以下のファイルからhogehogeという文字を含む行を全検索する場合 grep -r 'hogehoge' ./

Riakのinstall方法

NOSQLのRiakをinstallする方法です http://docs.basho.com/riak/latest/ Installation 1. erlangをinstallする portaltan.hatenablog.com 2. ライブラリのinstall # いらないのもあるかもしれません yum install gcc gcc-c++ glibc-devel make ncurses-devel…

Erlangのinstall方法

ErlangをCentOSにinstallする手順です。 今回は最新versionの18.1をinstallしてみたいと思います。 Install Erlang 1. download kerl curl -O https://raw.githubusercontent.com/spawngrid/kerl/master/kerl chmod a+x kerl ls -k kerl # => -rwxr-xr-x 1 r…

Linuxのセクタサイズとブロックサイズの調べ方

セクタサイズ # fdisk -l /dev/sda1 | grep 'Sector size' Sector size (logical/physical): 512 bytes / 512 bytes HDDのデータ領域の最小単位 ブロックサイズ # tune2fs -l /dev/sda1 | grep "Block size" Block size: 4096 IO sysytemが利用する最小単位 …

Rubyのpack, unpackでエンディアンを指定する方法

前回に引き続きエンディアン関連のポストです。 ネットワークバイトオーダー・ビッグエンディアン・リトルエンディアンとは - 脳汁portalBOMをデータの先頭に付与することで、データを受け取る側がエンディアンを判別できるようになると書きましたが、Rubyで…

ネットワークバイトオーダー・ビッグエンディアン・リトルエンディアンとは

バイトオーダー マルチバイトデータのメモリ上での並べ方(順番)のこと ホストバイトオーダー、エンディアンともいう この並べ順は統一されておらず、プロセッサの種類によって異なる 並べ方 ビッグエンディアン データの上位バイトからメモリに並べる並べ方 …

I/O多重化の方法(selectとepollの違い)

select 監視するファイルディスクリプタのサイズに制限がある 一件一件FDを確認する kernel側でFDのstatus情報を保持していないので、毎回チェックする必要がある I/O処理の流れ 1. select側で監視するFDのリストを持つ 2. I/O処理のリクエストをselectが受…

キネシスキーボードとMSのNatural Ergonomic Keyboard 4000を数ヶ月使ってみた感想

キネシスキーボードとMicrosoftのNatural Ergonomic Keyboard 4000を数ヶ月使用してみた感想です。 Kinesis Niceな点 キー一つ一つに傾斜がついていて、楽に打てる(らしい) テンキーがついていないので、意外と幅が小さい 手首毎動かす頻度は確かにすごい減…

データコレクションの形式(vector/linked list/tree list/dequeue)と各々メモリの使い方

(データ)コレクション は、オブジェクトの集合を扱うための仕組みです。 メモリ上におけるデータ配置に注目しながら代表的な四つを説明します。 データ形式 vector A(iteratable)であり、B(random accessible)でもある。 メモリは連続領域を確保しなければな…

文字列で返ってきたHashやArrayをそれぞれのクラスに再変換する'to_array'と'to_h'メソッド

APIやTCP socketsの返り値が強制的にstringになってしまう場合に、それを再び正しいクラスへ戻すメソッドです。 to_array to_array gem to_array | RubyGems.org | your community gem host install 方法 gem install to_array 例 require 'to_array' array …

ローカルに既に存在するプロジェクトを新規にGithubにpushする場合

Git

途中までローカルで作成したプロジェクトをやっぱりgithubで管理したいとなった時の手順 クライアントを使ったり、サーバ内で完結する方法など何個か方法がありますが、(私が)一番簡単だと思う方法を載せます。 手順 1. WebのGithub Pageから対象のリポジト…

gemファイルを作成して公開する方法

自作のgemを開発してrubygems.orgへ公開する方法です。 RubyGems.org | your community gem host 今回はto_arrayという名前のgemを作りたいと思います。 to_array arrayがto_strメソッドによってstringに変換されてしまったり、文字列で返ってきた場合に文字…

to_boolメソッドをgem化して公開しました。

以前以下のように文字列で返ってきた"true"や"false"をBooleanに変換するto_boolメソッドの実装方法を紹介しましたが、それをgem化して公開しました。portaltan.hatenablog.comたが問題として、「to_bool」も「to_boolean」も「to_b」も全部既にgemの名前と…

Arduinoはじめようキットを買ってみた(初期設定とLED点滅)

興味はあったけど手を出さずにいたarduino unoを買ってみました。 簡単な使い方 1. arduino IDEをinstallする 開発に必要なarduino IDEを以下のリンクからダウンロードしてinstallしておきます。 (結構容量が大きいので我が家では10分程度かかりました。) ma…