だらだらと思いついたこととか書くブログ

エンジニア的なネタとか備忘録とかを書いていく予定

gtagsの使い方

大規模なCのソースコードリーディングに不可欠と言われるgtagsのsublime text用プラグインがあるらしいので、これを利用してみる

1.sublimeGtagsの導入 下記のサイトよりsublime textのpackageディレクトリにcloneする sublimeGtags

2.設定 githubページに書いてある設定を参考に設定してみる

3.gtagsコマンドを入れる(※入っていない場合)

brew install global

4.ソースコードディレクトリでgtagsコマンド実行

gtags

5.sublime textでrebuildを実行

Ctrl + t Ctrl + b

でrebuildが実行される

これでgtagsの機能が利用できるようになる

具体的な使い方

対象の関数がどのソースで定義されているか確認したい

global 関数名

でどのソースで定義されているか表示される

もっと色々使い方や活用法があるはずなので勉強中

参考サイト GNU global入門サイト

Dockerを入れてみる

macでのインストール

参考にしたサイトはコチラ

homebrewとvirtual boxが入っている前提

1.確認

which brew

which virtualbox

2.インストール

brew tap homebrew/binary

brew install docker boot2docker

3.boot2dockerのセットアップ&起動

boot2docker init

boot2docker up

4.sshでアクセス

boot2docker ssh

※paswordはtcuser アクセスが確認できたらいったんexitで抜ける

5.dockerコマンドの設定

export DOCKER_HOST=tcp://

-確認

docker version

6.動作確認 -ubutuをpullしてみる => ここ時間掛かります・・

docker pull ubuntu

-ubuntuをbootしてみる

docker run -i -t ubuntu:12.04 /bin/bash

下記のような表示が出ればOKなはず => apt-getが通った root@82f339d9dd5a:/#

git勉強会にいってみた

はじめてのgit勉強会

DoorKeeperページ

  • 競合について

競合については手で対応が必要

  • 参考書籍
  • 入門git → 濱野さんの本
  • Gitポケットリファレンス

  • 参考サイト

http://d.hatena.ne.jp/cakephper/20130422/1366606430

  • code school → ここのtry gitを使って説明

https://www.codeschool.com/courses/try-git

  • gitコマンド

    • add .

    フォルダ内のファイルを全部add

    • rm

    ファイルを削除

    • remote add [label] [git url]

    gitをlabel名でremoteに登録する

    • push -u

    最初の一回だけuオプション付きのpushが必要らしい・・

    • diff --staged

    ステージングにあるファイルとのdiff

    • reset

    addやrmしたものを取り消し?

    たとえば複数ファイルをaddしたが、一部ファイルだけ対象から抜きたい場合にresetで ステージングから戻す、などの使い方がある

    • branch -d [branch name]

    対象のブランチを削除

  • 感想 今までなんとなーく使ってみてでしか理解できていなかったことの復習と自分が次に覚えるべきことが明確になった またco-edoには初めていったのだがタネマキと同様にエンジニア向きで雰囲気の良い場所だった

Elastic Searchを入れてみる(Cent OS6.5)

前々から気になっていたElastic SearchをCent OSに入れてみました

・参考サイト

http://qiita.com/boheanimato/items/cdcd6dbab7ea32b38710

 

1.elastic searchをwget
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.9.tar.gz -O elasticsearch.tar.gz

2.解凍してフォルダ名をelasticsearchに
tar -xf elasticsearch.tar.gz
rm elasticsearch.tar.gz
[mv elasticsearch-0.90.9/ elasticsearch/

3.デーモン化して起動するスクリプト準備
curl -L http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master | tar -xz
mv *servicewrapper*/service /usr/local/src/elasticsearch/bin/
elasticsearch/bin/service/elasticsearch install

4.起動(JAVA_HOMEが未設定でちょっとハマった・・)

/etc/init.d/elsticsearch start

5.plugin(elasticsearch-head)をインストール

elasticsearch/bin/plugin -install mobz/elasticsearch-head

 => 画面より確認

6.CLIで動いているか確認

curl -X GET http://localhost:9200

 

とりあえずインストールできたのでデータを入れて色々検証してみる予定

 

Appendix.

検証などの参考サイト

http://kakakikikeke.blogspot.jp/2013/11/elasticsearchkibana3-varlogmessages.html

YAPC2013に行ってきた-Day2

※あとでちゃんと整理してまとめる予定です。。

[Day2]
#MojioliciousでつくるWebアプリ入門

>※今日の資料
http://www.slideshare.net/yusukebe/yapcasia-2013-mojolicious

***
#これからのPerlプロダクト

>今日の発表資料
http://www.slideshare.net/goccy/yapc2013-26403213

***
#github

>今日の資料
http://hiroki.jp/yapcasia-2013-github
***
#レコメンデーション
-ルールベースフィルタリング
-コンテンツベースフィルタリング
-強調フィルタリング
  --メモリベースの手法 -> 推薦時に蓄積したデータを用いて予測
  --モデルベースの手法 -> 事前にデータの傾向を推測して予測

***PhantomJS
-Selenium::Remote::Driver
-TEST::TCP
-CasperJS -> PhamtomJS + テストフレームワーク的なもの

***
#その他
##Perl関数
-ord関数 -> http://www.perlplus.jp/func/string/index14.htmlo

##裏番組
###社内ISUCONのつくりかた
http://dl.dropboxusercontent.com/u/224433/YAPC2013/index.html

###grunt
https://twitter.com/search?q=%23yapcasia&src=hash
->デモのサンプル
 https://github.com/ishikawam/grunt-sample-yapc

###はてなの開発
http://onishi.hatenablog.com/entry/2013/09/21/133132

###はてなブログの開発フロー
http://onishi.hatenablog.com/entry/2013/09/21/133132

###はてなのサーバ管理ツールの話
https://speakerdeck.com/yuukit/hatenafalsesabaguan-li-turufalsehua

###Perlでつくるメディアストリーミングサーバ
http://www.slideshare.net/hidek/perl-26401998

###Perl for Visualization
http://www.slideshare.net/mobile/muddydixon/perl-for-visualization-26403174

YAPC2013に行ってきた-Day1

※あとでちゃんと編集する予定です・・

YAPC2013に行ってきたので主に備忘録としてのまとめになります[

YAPC自体は今年で2回目で、去年はほとんど何も知らずに2日めのみの参加だったので、去年に比べると少しはPerlについてわかってきた(と思う。。)状態で1日目から参加

[Day1]
#Keynote
##perl5.18 new features

OSCON以来の英語のセッション

そもそもPerlへの理解が浅く、「おお、そんなことできるんだ」程度の理解しかできなかった・・

-regexp set
-state変数
 -> http://blog.iss.ms/2012/02/19/085820
-reset_stdout
-lexical sub

***
##カジュアルなDB関連開発

@songmuさんのセッション

同時間帯の裏番組も面白そうなのばかりだったが、こちらに参加

PerlでDB接続するような処理を書く事はほとんどないためDBICとは?Tengとは?というところから理解していく感じなので、それぞれの細かい特徴までは把握できず

ただ色々コードを交えながらの説明でこんなふうに使えるのか、というのが目でわかり次はDB接続するアプリを今回の資料などを参考に調整してみようと思う

-DBICかtengか? -> ORM
-外部キー → 外部キー貼るとリレーション先でレコードロック発生したりする?


>※参考になるスライド
http://songmu.github.io/slides/kyoto0713/start.html
>発表スライド
http://songmu.github.io/slides/yapc-asia2013/

***
#SPDY, HTTP2.0

@takesakoさんのセッション、去年のYAPCでたまたま参加したセッションがとてもおもしろかったので今回も参加

コマンドガチャガチャいじりながらもっと深いレイヤーで学んで見たいと思った

-Firesheep

-HTTPヘッダ
 HSTS → 未対応のブラウザが多い

***
#Webアプリケーションの・・・
-anyenv -> XXenvを色々まとめられるっぽい

-js
grunt
backbone
angular

>参考
http://koba04.com/slide/perl-casual-5/#/21
>今日のスライド
https://speakerdeck.com/koba04/ge-ren-dechu-lai-ruwebsabisufalsezuo-rifang-yapc-asia-2013

***
#リファクタタリング
-Carton
carton install
carton exec

-テスト、CIツール
 guard+guartd+tap
 Travis CI

>今日のスライド
https://speakerdeck.com/naoya/modanperlrihuakutaringu-number-yapcasia

***LT
#Using power of prove
-Test::Harness
-prove -> jオプションでパラレルで走らせられる?
-prove --exec '' bin -> バイナリのテストできる?
http://www.slideshare.net/kazuho/using-the-power-to-prove

#How to inspect running process
-strace
-gdb
-bulkdbg
-gdbperl
-inspect-perl-proc

#LT by gfx
-EMSCRIPTEN
http://www.slideshare.net/gorof/perl-26375653

***
裏番組
#MVC
http://www.slideshare.net/karupanerura/mvc-26371063

#mod_perl
http://www.slideshare.net/xtetsuji/apachemodperl-yapcasia

#vim実践入門
http://kazuph.github.io/presentation/yapc_vim_2013_github/#/

***
##その他
-CPAN Coverage report
 http://cpancover.com/latest/index.html

-perl
--オプション
 -ML、-Ilib、-E
--ファンクション
 ask

-git
--オプション
 st
 ci
 git logのオプション

>gitの設定例
http://blog.asial.co.jp/845

 -コマンド
  tee
  dtruss

-CPAN
Class::DATA::Inheritance
SQL::Maker

-オブジェクト指向
オブジェクト指向のこころ

-リーダブルコード

-Markdiewn
http://qiita.com/Qiita/items/c686397e4a0f4f11683d
http://www.songmu.jp/riji/

 

->その2に続く

http://sora-tomita.hatenablog.com/entry/2013/09/25/002706

OSCON 2013レポート その3

その1:http://sora-tomita.hatenablog.com/entry/2013/08/04/215622

その2:http://sora-tomita.hatenablog.com/entry/2013/08/04/225837

 

7/25(セッション4日目)

・ヨガw

朝にヨガがプログラムに組み込まれているため参加してみた

講師はもちろんエンジニアだが、ちゃんとしたプログラムっぽい

自分のカラダの硬さにあらためて気付かされる・・

 

・keynote

ヨガのあとはちょっとコーヒーブレークしてkeynoteに参加

途中でO'reillyの本プレゼント&サインキャンペーンのため抜けてObejctive-Cのオライリー本をget

 

・ファンクショナルプログラミングアプローチ

説明や精神的なもの中心の講義のため、理解がほとんどできず。。

たぶん日本語でも理解できない内容が多いんだろうなと思ったり

 

・Logstash

logstashというツールの話

聞けば聞くほど、あれfluentdでもいいんじゃ?と思ってしまったところがあるが、環境やプロダクトによっては導入のハードルが低めかもと思えるところもあったので、ちゃんと調べてみようと思う

 

・ランチ

この日は勇気を出して、Perlテーブルに座ってみた、、けど、やっぱり英語喋れない。。

心なしかベテランの方が多かったイメージがという感じで、ここも正直、日本語でもついていけない会話してんだろうなと思ったw

あとはやっぱりPerl mongerはフロントよりはミドルやバックエンドよりの人が多いらしくDTraceの話しなんか出てきた

 

・The Perl Renaissance

午後一はPerlのセッション

Paul Fenwickという有名な人でセッションもハイテンションな感じで進んでた、が、あんまり頭に入らなかった・・

 

・DTrace

dtraceについての話。

Straceは結構好きなコマンドだったりするので、興味を持ち参加して見ることに・・

やっぱりちょっとコア

動く環境や必要性を考えると実務で使うかな、、というのが正直なとこ

ただmacにはデフォルトで入っているので個人開発とかで何かあれば活用したいなというところです

 

・Tuning TCP for the Web

さきほどのセッションに引き続きインフラよりの話

こういう話が聞ける+フロントエンドはおそらく理解できない事がおおいだろうというところからも、このカンファレンスを選んでよかったと思ったりする

インフラ専門ではないので、理解できないところが多かったが、色々学ぶきっかけがあったりタメになったセッションだったと思います

 

・Active MQ

MQには興味をもっていたので迷わず参加

アーキテクチャや仕組みについてはわかったのだが、利用例やどういうところに強いという具体例を含めた説明が個人的にはもっと欲しかった

 

・media templeパーティ

この日はセッションの後は予定なし&せっかくなのでアメリカのオフィスにいってみたいと思いmedia templeのパーティへ

ただちゃんと調べてなかったので、たどり着くとちょっとしたバースペース(?)だった。オフィスじゃねーw

しかしここでのパーティーが良かったー

gengoというサービスをやっている日本語もバリバリうまいお兄さんと話せたり、iyagawaさんとお話をさせていただくことまでできた ← これは会場にいらっしゃった同じ会社の方のおかげです、、

気になっていた質問をさせていただくことができ、とっても満足してホテルへ戻り就寝

 

7/26(セッション5日目)

この日でセッション最終日

 

せっかくだから朝飯を外で食べたいなと思い、悩んだ挙句、会場近くのburger villageというファーストフードに。。

やはりオーダーがむずい、が、なんとかバーガーとコーヒーを注文

コーヒーがいつもセッション会場で飲んでいたものと同じっぽかったw

 

・automating community via puppet

puppetの開発スタイルなどについての話

trello+travis+githubを使った開発スタイルの紹介などで、いわゆるagileでいろいろと刺激になり面白かった

ところどころうまく取り入れられないかな、と思うところも

 

bash

まずはbashのセッションから

実は今回楽しみにしていたセッションだったりしたわけですが、基礎的なことが中心でおおー、と思うことが「debugger」があるということくらいだったかなと。。
ちょっと残念。。

 

Google,Developers, and Education

ラストのセッション

googleの教育関連、developer向けのサービスなどの紹介が主

ここで知ったこともあったけど、他を聞いてもよかったなと思ったりするくらい、個人的にはいまいちだった・・

 

・closing

ラストの締めでクロージング

クロージングの途中で「ああ、今日でもう終わりなのか」という寂しい気持ちと、「明日飛行機で戻ったら、次の日から仕事か」という憂鬱な気持ちで、とっても微妙な気分になりました

最後のセッションではアメリカらしく(?)盛り上がってクロージングという感じでした

その後はフルーツなどが振舞われ、周りの人と会話

話しかけてくれた人がいたりしたが、英語力の低さでうまくトークにならず。ちーん・・申し訳なさすぎる

あとは、前日にあったお兄さんと話したり、Larry Wallを発見したのでトークさせてもらった。やっぱり日本語うまかったし、日本にも詳しかったw

 

クロージングのあとは主におみやげショッピング

夜には最後のディナーということで、全員で人気だというステーキの店へ(泊まっていたホテルの人もおすすめしていた)

がっつりデカイサーロインを食べて満足!

 


7/27 アメリカ最終日

朝やはりはやく目がさめたので、いきたいと思っていた「powell's bookstore」へ

日本のマナー本(もちろん英語)を発見したので、先輩へのおみやげに購入

記念にステッカーも購入

いくつか建物があるらしく、自分が入ったおそらく本館?にはコンピュータ技術系の本は見当たらず。。

 

帰りにチェーンらしきカフェでカフェモカをオーダー

やっぱり細かいとこがやりとりできず、ちょっとつまづくが無事注文できた。。

 

その後はホテルをチェックアウトし、空港へ

空港でのチェックインにちょっと戸惑ったが、親切にジェスチャーで教えてくれる日tがいて助かったw

おみやげでほぼキャッシュがなくなっていたので、最後は軽食で。。

こっちのクラムチャウダーはうまいという噂を聞いていたので、クラムチャウダーを注文(キャッシュ足りなくてバーガー頼めなかった・・)

しかしクラムチャウダーがでかく、具だくさん、さらにクラッカーもついてきたので、実際これで十分だった。。

結局最後にはスタバにより地元のお茶(甘い)を注文して飛行機で帰国

帰りは、行きにほとんど見れなかったストロベリーナイトるろ剣を見るw

あとは音楽聞いてたり、機内食むしゃむしゃくっって、ビール飲んでをしていたら無事に日本到着

 

あっという間でしたが、技術面、英語面でとてもよい経験ができ、本当によい機会だったと思います!