korechi’s diary

とあるVR/ARエンジニアのブログ

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

pngからepsへの変換(Mac)

久しぶりの更新 macでepsの画像を作るには convert コマンドを使えば良い。 $ brew install imagemagick $ convert *.png *.eps これで出来てしまう。 ただ、サイズが10倍以上になるので注意が必要

Macbookの中の容量を整理

フォルダの容量を調べる ルート直下から深さ1のもののファイルの大きさを調べるコマンドがある。 sudo du -hxd 1 / これを深さ5までとして一括検索するコマンドは sudo du -gxd 5 / | awk '$1 >= 5{print}' であり、単位はGBで出てくる。 あとは、いらなそ…

条件分岐のいろいろ

フォークスルー 例えばswitch文はC, C++で使われているがC#では禁止されているらしい。 case内でのbreakのし忘れが頻繁におこったためだとか goto goto文はifやswitchと違い、無条件に処理の流れを変える命令。そのため、あまり推奨されない。以下の2つの場…

Linuxで接続待ち(中)のポートを切る方法

netstat -a | grep localhost とコマンドを打つと、接続がきれたsshを終了させるか待ち状態になっていることがある。 そのポートを閉じたいときは-pオプションをつけるとプロセスIDが左に表示されるので kill <PID> で閉じることができる</pid>

時間計測(C,C++)

時間計測を行うサンプルコードをのせる。 単位はmsであることと、<sys/time.h>をインクルードすることに注意 struct timeval start_timeval, end_timeval; double sec_timeofday; gettimeofday( &start_timeval, NULL ); /* do something */ gettimeofday( &end_timeval,</sys/time.h>…

マルチスレッド処理(C++)

マルチスレッド処理をC++で行う場合のコード例をのせる。 ソースコード #include <iostream> #include <thread> #include <exception> using namespace std; void do_worker1 (int a, int b) { // do something } int main (int argc, char *argv[]) { try { // スレッドを分けて処理 std:</exception></thread></iostream>…

Macでwindowsキーボードを使う時のあれこれ

結構簡単にできる。特にmacは簡単に 1. CapsLock, Control, Option, Commandキーを変更 「環境設定」=>「キーボード」=>「Modify Keys」 ・Caps Lock =>Control ・Control => Control ・Option => Command Key ・Command key(WinKey) => Option 2. 変換…

ドライバ内でのパケット作成

sk_buff 基本的には、sk_buffを使う。使い方は以下に例をのせる。 #include <linux/skbuff.h> #include <linux/if_ether.h> #include <linux/ip.h> #include <linux/udp.h> struct sk_buff *skb; skb = alloc_skb( sizeof( struct ethhdr ) + sizeof(struct iphdr) + sizeof( struct tcphdr ) + LL_MAX_HEADER, GFP_ATOMI</linux/udp.h></linux/ip.h></linux/if_ether.h></linux/skbuff.h>…

デバイスドライバ作成の注意

とにかくkmallocしたらkfreeをする まじでこれ。PCがフリーズしたらまずこれを疑ったほうが良い。 どこかでkfreeをし忘れていないかどうか念入りにチェック。 ありえんポインターを参照していないか kmallocもしていないところを参照していないか。それをし…

USBメモリをコマンドから使用する(CentOS)

簡単そうに見えて意外とできない、コマンドラインからUSBデバイスを使用する方法をまとめました。 コマンドは3つだけ。 1. dmesgでデバイス名を確認 USBをさしてから $ dmesg をして、 usb-storage: device found at 4 usb-storage: waiting for device to …

CentOSの初期設定

カーネルをいじくりまわしていたらthriftの挙動がおかしくなり、回復しそうにないのでPCを変更した。 簡単な初期設定に必要なあれこれをまとめておく。 sudoの追加 # su # visudo ここで ## The COMMANDS section may have other options added to it. ## ##…

CentOSからgitを使う

使い方 基本はいつも通りに $ git init $ git add . $ git commit -m "コミットメッセージ" $ git remote add origin <リモートリポジトリのURL> でリポジトリは作成できる。しかしpushを行うと Gtk-WARNING **: cannot open display: とエラーになる時があ…

サーバーの再起動

サーバーを再起動することはどうしてもある。 そこで、再起動したあとの設定をまとめておく。(今までの記事と被る部分があるが結構昔に書いたものもあるので) ネットワークまわり sudo service iptables stop sudo service ip6tables stop sudo service Ne…

リバースポートフォワーディングまわり

ssh

参考記事 DHCPクライアントとして起動するマシンはIPアドレスが変動するため、IPアドレスを確認してからでないとSSHログインができない。 そこでSSH接続用ゲートウェイマシンを用意して、DHCPクライアントとして起動するマシンからSSHリバースポートフォワー…

NICの使い方

NIC

PCにNICをさす。(本研究ではMellanox 10Gを使用) ドライバがうまくインストールされれば使えるようになり、 $ ifconfig して、em1というのが表示されていれば良い。この状態ではまだIPアドレスが与えられていない。 表示されていないなら、insmodをする必…

HBase Installation (再)

magentaにてHbaseをインストールをしたさいのメモ hbase-1.0.2が筋が良かったので、そっちをインストール。ただ、src/exampleが入っていないので必要なら他の例えば0.94.27とかからとってくる必要あるかも 今回は、Hbaseは1.0.2で起動させて今まで作ったファ…

デバドラまわり

最初はドライバインストールは危険なので、magenta 内で行う。 現在動作している Linux kernel に含まれている Mellanox 10GbE NIC device driver (mlx4_core.ko と mlx4_en.ko)を再コンパイルする方法は、 http://www.arc.ics.keio.ac.jp/local/index.php…

チームでのgit管理(基本)

git branch <ブランチ名> でブランチを作る git checkout <ブランチ名> でそのブランチにうつり作業を行う。 git add . git commit -m "" git push origin <ブランチ名> で、リモートにブランチを作りレビューしてもらう git diff で自分の変更が全て分かる …

C++からMongoDBを扱う

詳しくは、 C++ から MongoDB を扱えるようにしたメモhotolab.net を参照。 自分はaji内の cd Workspace/mongo で作業した。 そして cd mongo-cxx-driver-v2.4/src/mongo/client/examples 内のtutorial.cppをいじるのだが、g++がうまくいかず先に進めない

実際の操作(Hbase編)

・初期起動は前回と同じようにやる cd Workspace/deamon make ・サーバー側 ./DeamonServer 11111(ポート番号) ・クライアント側 例1 ./UDPEchoClient localhost 11111 1,get,row1 例2 ./UDPEchoClient localhost 11111 1,put,row1,col1,val1 と送る。 初…

HBaseの起動(aji編)

※kaniではうまくDemoclient.cppが機能しなかったので以降はajiで作業を行う ・まずはtoroに入り、expr01(aji)に入る ・デーモンサーバーの場所 cd Workspace client内のDemoclient.cppをデーモンサーバーとしていじっていく やりかたは、thriftサーバーをた…

HBase その1

・HBase と thrift の起動 #su #cd hbase-0.94.16 #bin/start-hbase.sh #bin/hbase-daemon.sh start thrift (停止する時はbin/stop-hbase.sh bin/hbase-daemon.sh stop thrift) ・HBase を read write scan deleteする #vim thrift_hbase.php

優先順位

先週の日曜日にTOEICが終わりました。 結果は出ていなけど、試験中にトイレにたってしまい大幅に時間をロスしてしまったのが悔しい・・・ 試験直前に2回もトイレいったのになぁ それでも全力はつくしましたよ。TOEICのために2週間ほど勉強したんだからね。…