ngt研での勉強会。
大体週に1回くらいで、ときどき週に2回以上とか。はたまた0回のときも。
時間もてきとーだったり決まってたりとバラバラで、内容も「アレやってみたいからやってみよう」的な。
ゆるふわ。
そんなゆるふわ勉強会ですが、前回のawk勉強会では資料みたいなもの作ってみたりしました。
といってもawk自体触ったことなかったので、ホントに基本的なところから。
・資料無しでみんなで集まって何かやってみる
・誰かしら資料作って何か勉強する
資料作るのも時間かかるわけで、その辺は考慮してって感じになるわけですが。
どっちもとりあえず「手を動かす」ってのがあれば良いのかなって感じします。
今回は基本的な構造だけ発表してあとはみんなでワイワイと1つの画面でawkってたわけで、その際の内容も勉強になります。
B4からやりたいこと聞いてそれやるのとか良いかもしれません
僕がしたいこともしたいですけど。
それとも、お手軽で今後に影響のでかいshellとかeditorとかを重視?
最近の気分的にはshellなんで、sedとか?
web系でもいいかも…?
もう先週のことなんですけど、 okinawa.rb という集いに @kanpe777 に連れてってもらいました。
ギークハウス沖縄に行ったのは初めて。
行くきっかけとなったのは
1. enPiTっていう人材育成プロジェクトで Ruby on Rails な web アプリケーションを作成している最中
2. githubでソースコード公開しながらやってる
3. Rails の書き方とか作法が分からない!
4. そこにギークハウス沖縄の方からコードレビューなコメントが!
5. これはもう行って教えて貰うしか無い!
ってな流れ。
19:00~24:00くらい?まで居たんですが、ずっとRailsのことを教えてもらって…というよりコードのリファクタリングを手伝ってもらいました。
ギー沖の方には丁寧に説明してもらえたので勉強になりました。ありがとうございます。
そして自分の知識不足を実感…。
自分の書いたダメな部分とかがよく分かるので、リファクタリングという形での学習の大切ですね。
これまで
・コードを他人に見てもらって、評価をもらう
という経験が圧倒的に足りなかったので、enPiTのチームメンバやgithub上でコードレビューして貰えるのはいろいろと刺さって楽しいですw
ギー沖での
・すぐコード化する行動の早さ
とか、
・「とりあえずやってみよう」的な精神
とか、主に素早さな面で見習うべき部分も多かったです。
ある程度の技能が必要だとは思うのでまずは土台をちゃんとしないといけないですけど。
ギー沖は勉強したい人にはうってつけの空間じゃないでしょうか。
また勉強しに行きたいです。
ブログ書くまでが勉強会らしいのでとりあえず書き書き。
毎度毎度、書いてみて思うんですが、考えを文字にするの難しい…。
この辺りもいい加減なんとかしないとな〜、とか思いつつ放置気味。
ngt研ではバージョン管理システムにgitを使ってます。
「流行ってるから」っていう理由で使い始めたような気がします。
とはいっても、commit -aしたりとかブランチ切ってなかったりとか、機能を使いこなせていませんでした。
そもそもgit使ってないっていう人も居たりとか…。
せっかく研究室にサーバをたててサービスとして提供しているんだから、使って欲しい!っていうエゴのもと、昨日はgitの勉強会を突発的に開催しました。
勉強会といいつつ理論的なことは一切せずに、「gitを使った開発の流れを知ろう」っていうことで手を動かすだけです。
内容はGit勉強会のように。
・4人で1つのファイルを編集する
・結果CONFLICTが起きるのでそれに対応する
・pushする順番は固定
・commitメッセージはしっかり書く
・ブランチ切る
・編集内容について質問したりしない(commitメッセージの大切さを確認するため)
みたいな感じのことを。
勉強会の流れは\
gitを入れる\ git config\ git DOJO
3-1. git checkout -b hoge
3-2. ファイルの編集
3-3. git add
3-4. git commit
3-5. git fetch
3-6. git merge origin/master
3-7. git checkout master
3-8. git merge hoge
3-9. git push origin master
って感じ。 途中途中で必要な知識を説明しつつ。
「git logでcommitメッセージ見ながら編集しましょう」とか「git mergeの時に–no-ffをつけてみよう」とか。
gitlabを導入したおかげで、githubのようにNetworkを見ることができたり、いろいろ視覚的に楽しめるので捗りました。
勉強会にかかった時間は、4人で3~4週するのに90分くらいかかってました。
定期的にGitDOJO開催するのも面白そうだな、と。
多分この1回で理解できるような物でもないでしょうし。
というか理論系やってないですし。
今回はあまり時間がなかったっていうのもあって、手を動かすだけだったわけなんですが、次回はちゃんといろいろ説明からやろうかな、と思います。
という「ngt研に入るとこんなことできますよ」アピール ~その1~ でした。
このセミナー と同じところが主催でした。
10/12(Sat)のお話。
タイトルが"コードレビューと共に学ぶ"みたいな感じだったので、「頑張ってついていこう」と気を引き締めて行ってみると、今回はRyuの成り立ちとか、実行形態だとか。
後半でコードレビューでしたが、Pythonのデコレータとインスペクションが分からず。
Power of Pythonらしい。分からん。
ちなみにソースコードはgithubにあります。
Ryu
セミナー時のメモ、というかスライドの内容と講師の方の発言とか。
***** 自己紹介
講師: 藤田智成さん (NTT Software Innovation Center -> NTT研究所)
オープンソース活動
– Linux kernel
– iSCSI Enterprise Target
– Linux SCSI target framework
– Sheepdog
– Ryu
是非OSSの活動に皆さん参加して欲しい
What are you smoking? -> 「お前何言ってるのか分からねえよ。ラリってんの?」みたいな直接的に物を言うのがOSSの文化
***** SDN/OpenFlowの基本を確認
– フローテーブルに従ってパケットを処理\ フローテーブル記述が無いパケットはpacket_inによってパケットの中身に合わせた柔軟な処理
– パケットインしないような設計が重要
— フローは予め入れておき、packet_inは例外処理
既存ネットワークを全てOpenFlowに置き換えるのは基本的に「ありえない」
既存ネットワーク・プロトコルとの融合が大切
– 全てのスイッチを置き換えるコスト
– 置換ではなく、段階的な進化
Ryuを設計する際の想定
– コントローラの性能は重要ではない
– 既存ネットワークとの連携が重要
***** Ryuについて
NTT SIC発のオープンソースプロジェクト
– ネットワークアプリケーション開発のための基盤ソフトウェア
うちの学科界隈でもvagrantが話題に上って来たりなんかしてます。
vagrant使い始めてまだ2ヶ月目くらいではありますけど、実感していることをてきとーに書いてみようかな、と。
そもそもvagrantとは 「違う環境に移行可能な開発環境を簡単に構築・管理し、配布することができる開発環境作成ツール」(参照)です。
終わり。
僕の中のイメージとしては
「仮想マシンの起動簡単だよー」とか「簡単に仮想マシンの中に入れるよー」とか「誰でも仮想マシンの雛形を公開できるし、公開されているものから持ってくることもできるよー」
みたいな。
Virtual Boxだけだった場合は、
[bash]
まずはVirtualBox起動して
->仮想マシンインストールして
->起動して
->sshやネットワークの設定して
->ようやくssh可能
[/bash]
みたいなのが
[bash]
$ vagrant box add [box名] [file]
$ vagrant init [box名]
$ vagrant up
$ vagrant ssh
[/bash]
というか && で繋いであげれば
[bash]
$ vagrant box add [box名] [file] && vagrant init [box名] && vagrant up && vagrant ssh
[/bash]
で終わりです。簡単。
使い始めた理由 vagrantをなぜ使い始めたか、というところからなのですが。
現在enPiTというプログラムに参加していて、そこで行っていることが「複数人のチームによるアプリケーションの開発」です。
その事前学習のような感じで東京に集中講義を受けに行きました。
集中講義の中にvagrantを使った開発環境の構築、みたいな部分があってそれが使うきっかけとなりました。
と、いうわけで、東京での集中講義の時にvagrantのチュートリアルみたいなことをしてきました。
といっても上のコマンド叩くだけだったので一瞬ですけれども。
boxファイルは配布されました。
以下のwebページとかでboxファイルが公開されてたりします。
vagrantbox.es
[bash]
vagrant box add testVM http://hogehoge
なんかなんとなく。
次のうち、Linux コマンドでないものはどれでしょう。
1. :
2. ;
3. [
4. ]
以下追記。
正解は4ですよ。
参考
若干寝坊して朝から慌ただしい感じになりました。
目覚ましをセットせずに寝落ちしていたらしい…。
10/4(金)の話です。
沖縄オープンラボラトリという研究施設(?)が今春沖縄にできたようで、今回のセミナーはそこ主催。
内容はSDNとかクラウドとか。
午前 「SDNの動向とNTTコミュニケーションズの取り組み」
前半がOpenFlowとかSDNとか仮想ネットワークとはなんなのか、後半が業界の動向とNTTの取り組み内容。
技術については知ってたので割と頭に入ってきた訳ですが、これは明らかに初心者向けではない。
一緒に来ていた後輩いわく「全く分からん」とのこと。
「初心者向け」という文字に裏切られた人が何人いたのかわかりませんがとりあえず置いといて、個人的には業界動向辺りは面白かったなー、と。
既存vs新規みたいな印象を受けましたが、どの業界もそうなのかな。
そしてやっぱり出てくるgoogleのopenflow化のお話。
巷でも言われる問題点と期待点とか。
NTTがちょっと前に発表してたクラウド事業の話もありました。
会場に居た人数とか、沖縄でもこういうことやるっていうとSDNって今アツいんだな〜っていう月並な感想。
早くマスタリングTCP/IP読まないといけないですね。
午後 午後はOpenStackについてのお話。
「OpenStackユーザ会は活発に活動していますよー。」の話から始まり、クラウドの復習、OpenStackの話へ。
これが前半で、後半は、OpenStackにまつわるよくある質問について、みたいな(?)
OpenSourceで儲かるの?とか、信頼性ってどうなの?とか。
OpenStackでのVM作成のデモとかしてましたけど、あれ簡単そうでいいなー、と。
ハイパーバイザ側を指定するとKVMとかにも対応しているらしい(?)ので、研究室とかで入れてみると諸々が簡単になっていいのかも。
クラウド分野もアツいですね。
しかし、後期は前期以上に慌ただしくなりそうだなぁ…。
2013/10/3 19:36現在
IPv4が止まって学外へ出れない。
v6は繋がる。
googleさん最強だった。
日記終わり。
追記
琉大のHPもv6でアクセスできるから見れました。
さすが琉大ですね(棒)
今度はphpでした。
メモ、っていうか再現的な何かをgithubに投稿。
最近ようやくまともにgit使い始めました。
ようやくbranchを使い始めた程度の初心者。
まだsquashとか分かってないので今度誰か教えてください。
教わってばかりもなんなのでその際は僕も何か謎なこと教えます。
何を教えるかは謎です。
というか教えられるようなことなんて実はないです。
本題。
https://github.com/yosukeota/php-require-test
ちょ〜てきと〜なreadmeと一緒にどうぞ。
ファイル名同じものは使わない方がいいですね。
今回の現象、twitterとtumblrのapi使う予定の時に、同じOAuth.phpというファイルを作ってしまってハマりました。
ちゃんとOAuth_twi.phpみたいに分けるべきですね。
気をつけましょう。
してきました。@9/28
Hands on このサイトを見ながらとにかく手を動かす感じ。
$ echo ‘# Git Tutorial’ >README.md
なんてやっていたので無駄にエディタ使わない縛りとかもして「エディタって大事」感を高めていました。
sedの無駄遣い感。
enpitの時に東京でも似たようなことを事前にやっていたおかげか、割とスルスル入ってきました。
けど未だに細かいところが分からないのでそこは使って慣れようかな、と。
Git DOJO なるワークショップ的なもののおかげで
・コミットメッセージはちゃんと書こう
ということは痛感しました。
試しに適当に書いたせいで次の人が困っていたので。
他にも Git を学ぶ
とか。
@Tomohiroさんから便利なツールの紹介とか。
huboard って良い感じかもしれません。
そんなわけで、gitに触れる機会も増えつつあるのでちゃんと使えるように、実践してコツを掴みたいです。