長田研勉強会(B1も来たよ) 20140710 centos7 vagrant vim C言語

CentOS7がリリースされたので、早速Box化という名のインストール大会をしました。 参加者ログ 長田研勉強会(box作成の回) 7/10 ngt研勉強会 CentOS7.0をvagrant用にbox化するメモ 勉強会2かいめ!~VM box の作成の回~ CentOS7のBox化 #台風ソンで事前にかるーくCentOS7インストールはしてたんですが、そのとき利用したのがInstallCD版。 そのときのログはgistにあげています。 今回はB3の参加者がyomitanにDVD版をアップしてくれていたので今回はそれを利用してminimal版をインストール。 InstallCD版はかなりいらないパッケージが入っていていろいろと苦労したんですが、minimal版はその点ほとんど何も入ってないのでいいですね。 openssh-serverとかopenssh-clientsとかは入ってました。 CentOS6から変わったな〜、と感じたのは ・initからsystemdへの移行 ・net-toolsからiproute2への移行 ・iptablesからfirewalldへの移行 ・NetworkManagerの利用 あたりに戸惑い。 運用していって慣れるしかなさそうな。 あと、VirtualBoxのGuestAdditionsのmakeが失敗するっていう問題が出るってことに #台風ソン では対応したのですが、後輩たちがそれにどう対応するのか見てみました。 けど、なんか私のアップロードしたものをググって見つけちゃったらしく「う〜ん」な状態に。 ググり力も大事でそれで対応できるうちはいいですけど、それ以外の時どうするのかっていうのを見たかったので少し残念。 まあ、kernelアップデートして、一部分コードを書き換えるとmakeできるようになります。 vagrant sshができない、っていう問題とかも起こったり。 よくよく見てみるとNICが認識されてなくて、NICの立ち上げも出来ないような状態。 起動時のログとか見ても明らかに認識されず、kernelいじるとき kernel一旦消して入れ直すということで対応した感じで、詳しくはココの最後あたりにまとめてもらっています。 昔ならいろいろ躓いてただろうな〜、ってことに対応できているので嬉しいですねー。 というわけで無事全員box化までは成功。 そういえばゼロフィルしてないな〜、とは思ったので次回あたり追加説明しないといけないか。 B1もきた プログラミング1のTAをしているのですが、そのときの流れでB1も勉強会参加するってことに。 B1はvimとかC言語のポインターとか聞きに来てました。 vimtutor 教えて最初の部分やってもらったり、「こんなことできるよー」なこと見せたりしたらテンションあがってました。 ポインターの説明は割愛。 「めっちゃ分かりやすい」とか「大学に入って初めてコンピュータ楽しいと思った」とまで言ってもらえて満足です。 割と言語化しにくい部分だっただけに、B1に教えるというのは自分のためにもなりました。 次回 早めに自動化に入るのもありかな〜、とか考えてたり。 次回日程はまた火曜日あたりですかね。 というわけで参加希望者はまた連絡ください〜。

メモを取る生活

これまでいかにひどい生活だったのか、っていうことなんですけれど…。 メモ始めました メモを取るっていうことを意識づけるようになりました。 これまではメモにたいして特別な対応というかそんなものはありませんでした。 しかし最近「あれってどうやるんだっけ?」ってなることが増えてきまして、そんなときにふと「これからはメモをちゃんと取るか〜」と思ったのがきっかけ。 メモ取ったらどこかしらで公開できますしね。研究室内のサーバとか。 もっと早く気付け、っていうのはまあ思いますけど、今からでも全然取り戻せるようなことだと思ってます。 一応言い訳? これまでメモを全く取ってなかったか、っていうとそんなことはなくて、「よし、今回はメモやるぞー」から作業に夢中になってしまってメモは最初の部分だけ、しかもフォーマットも定まってないし見づらくて見直すのがめんどくさいってことが多々という状態でした。 というわけで振り返ってみます。 これまでの反省点 以下の3点がメモが身に付かなかった大きな原因かな、と。 メモをすぐに取れる環境 フォーマット 見やすさ 対策 今は上記の問題に以下のように対策しています。 evernoteを使わない フォーマット 副効果 Vim操作の見直し 気に入らない部分を直す つまずいているところ Markdownの書き方は簡単なのですぐに覚えられるのですけど、エスケープの仕方どうするのかなー、と。 例えばこんなの [bash] `cp /usr/include/linux/version.h /lib/modules/`uname -r`/build/include/linux/version.h` [/bash] `uname -r`じゃなくて$(uname -r)にしろっていう話でもありますけど リンクはるときも以下なものはダメだったり。 [bash] [test](http://example.com/aiueo(test)) [/bash] しょうがないのでTexみたいな書き方をしてたり。 まだぐぐってないので、ぐぐれ、っていう話でもあるかもしれませんw まとめ 唐突にまとめますが、メモ取り忘れっていうのは減ってきました。 環境構築を今更始めた感じです。 何かおすすめあったら教えていただきたく…。 あとは、このブログもmarkdownでかけると嬉しいですね。 楽ですし。 というCUIステマ記事でした。

agile japanの沖縄サテライトで発表

コレですね。 Agile Japan 2014 サテライト<沖縄> 「enPiT実はまだ終わっていない」 というタイトルのメールがnkmr先生から送られてきまして…。 内容は「AgileJapanというイベントの沖縄会場でenPiTでやったことについて発表してください」とのこと。 ちなみに12月くらいにもnkmr先生から「まだ終わっていないenPiT」ってタイトルのメール来てますからね。 というわけで発表することに。 発表資料 とりあえずslideshareにあげました。\ 発表振り返り 発表時間が16:30から、っていう予定が13:30からになるというアクシデントがあったりで、もう少しスライド修正したかったな、というところから。 前日に一応完成はしていたんですが、当日になって見返してみると「ちょっとストーリーにおかしいところがあって伝わりにくそう」ということで適宜修正を入れていました。 最後のまとめ部分、詰めが甘いというところも反省点ですね。 もう少し早めから準備した方が…。 若干体調崩してしまったのが痛かったなぁ、と。 ストーリー部分は上手く直せたと思っただけに、最後の部分がもったいなかったなぁ、と。 発表資料作りについては、以前より少し楽になっていて嬉しいです。 デモ デモ時のブラウザをFireFoxでやってしまうというミス…。 当日は伝えてませんでしたので今ココで伝えますが、chromeで使ってほしいですw 質疑応答 Q.「ミーティング時に言い合いになったり、険悪なムードになりませんでしたか?またなった場合はどうしていたのですか?」 A.「お互いを技術的・人間的に信用・尊敬していたからこそ、言い合いになっても問題に発展しなかったんだと思います」 みたいなことを言った記憶があります。 「普段仲がいい -> 良いチーム」という訳では無いです。 まとめて 今回の発表はこれまでと比べてあまり緊張せずに話せたかなぁ、と思います。 周りから見たらどうだったのか分かりませんが…。 もう半年以上くらい経つんですね。 webアプリ開発、右も左も分からない状態からよくあそこまでいけたなぁ、と。 当時は分からないことだらけで大変でした。 ちなみに今も分からないことだらけで大変です。 懇親会 ビールがおいしかったなぁ、と。 その前の週のイベント時には飲めなかったので。 最後に 今度こそ、enPiTは終わりだと思っています。 ありがとうございました。

長田研勉強会フィードバック 20140701

フィードバック 参加したB3にブログでフィードバックをお願いしました。 B3全員ブログ書いて偉い。 長田研の勉強会に参加してみて。 長田研勉強会 part1 長田研の勉強会に参加して 長田研の勉強会にて(そういえば、、、 今後も勉強会参加したいって人もいて嬉しいですね。 全員良い刺激になって今後もvagrant使ってみるきっかけになっていれば幸いです。 でも今回の内容は研究室の後輩にとっては物足りなかったかもしれないので次回の内容はしっかりしなくては…。 直接後輩に内容どうだったか聞けば良い、というだけの話ではありますが、研究室の後輩もフィードバックブログ書いてくれると良いなぁ(チラチラ 「ブログを書くまでが勉強会」らしいので。

長田研勉強会 20140701 vagrant

B3が初参加 長田研はほぼ全員と、B3が4人参加して「研究室狭いなー」って感じが。 B4に講師役をお願い 今日はB4の杉本君に講師役やってもらいました。 内容はvagrantなvmのログイン回り。 ssh keyをinsecure private keyから変更しよう、とか。 後輩のアウトプット見つつ、足りない部分は補足しながら、という形。 説明でぐだった部分もありましたけどこれは慣れれば大丈夫だと思います。 なので今後も後輩に講師役を投げます。 ポートフォワード vagrant sshをちゃんとできるようにした後は、引き継いでapache2入れてみたり。 ポートフォワード使って「ブラウザのurl欄にlocalhost:8080って入れるとhostからvmにデータがやり取りされて〜」みたいな話とか。 Vagrantのドキュメントは簡単で分かりやすいのでとりあえず眺めてみるのも面白いです。 その他に FHSな話とかもしてました。 実際にファイル群を眺めながら説明。 自分もあまり分かってない部分あったりしたので良い感じでした。 あとは、プロセスをめちゃくちゃ立ち上げてみよう、とか。 Can not allocate memoryな状態になるまで立ち上げてみました。 今回のvmは512MBで動かしてたので、次はメモリをもう少し上げてやってみようかな。 終わった後 ご飯。 つけ麺美味しかったです。 課題 最初の方の環境構築に少し時間かかってしまってもったいなかったです。 次回はもう少し上手くしたいところ…。 「0な知識を1~2くらいにして勉強のきっかけにしよう」的なゆるふわ勉強会だからあまり深く考えなくてもいいのだろうか…? 次回 次は何しようかなーって考え中です。 せっかくの仮想環境なのでいろいろ壊してみたりとか無茶な扱いとかしようかな、と。 でも、vagrantのネットワーク周りの設定するのでもいいかも? LinuxBridgeというか、OpenvSwitch使ってnetnsでもやろうかな。 簡単に作ったり壊したりできる環境をもう少しちゃんと作ってみるのも良さそう。 と、次の講師役B4も決めないと…。

長田研勉強会 20140624 ssh vagrant git

久しぶりに長田研な勉強会ログ。 不定期的に勉強会してるんですけど、人数集まらなくてぼっち勉強会になることも多々…。 そもそもログ取ってないことの方が多かったりしてpukiwikiが涙目状態に。 最近は個人的なログはmarkdownでgit管理が流行の兆し。 Qiitaとか気になってますけど、まあそのうち…。 ちなみにB4向けな勉強会です。 僕の知識のアウトプットに活用しているという側面もw 今回のお題 最近すこ〜し話題にあがった「.ssh/configを書きましょう」 今後よく使われるであろう(?)「vagrant」 バージョン管理な「git」 の3本。 ssh 鍵を使ったログインをしよう 鍵はサーバ毎に別な鍵を用意しよう とかやってました。 「.ssh/config書くとsshで入ったり、scpなどのツールを簡単に使えるようになりますよー。」 とか 「多段ログインも簡単にできますよー」 とか 「ポートフォワーディングとかもできますよー」 っていうお話を実演しながら。 [bash] alias server=‘ssh -l USER SERVER’ [/bash] とかやめてね。 「パスフレーズ設定するときはssh-agent上げて覚えさせると良いよ」な基本的なところから再確認していく感じ。 しかしmacでは…。 vagrant sshと合わせて、Vagrantfileに記述するconfig.ssh関連な話やら、マルチvmな話をしてました。 vagrantなboxは基本的に以下の秘密鍵を用いてsshログインをします。 ~/.vagrant.d/insecure_private_key しかもユーザIDはvagrantでパスワードもIDと同じ。 これはやっぱり問題ありなので、自分の鍵を指定しましょう、ユーザのパスワード変更しましょう、っていう内容です。 「ssh-keygenして、Vagrantfileの config.ssh.private_key_path を設定しましょう。」 「ユーザIDも変更して config.ssh.username を設定しましょう。」 とか基礎的な部分。 これができてなかったため去年はkono研なVMが侵入されたんだと思います。 Vagrantfileには複数のvm情報を記述することができて、同じディレクトリで以下なことできるよ、っていうことも。 [bash] $ vagrant up centos $ vagrant up ubuntu [/bash] ちゃんと後輩の設定は見てないので、紹介程度にとどめちゃいましたけど、最低でもsshな部分は設定チェックした方が良かったかも。 後日チェックしますので設定しておいてください > ngt研学生なみなさん git ngt研では2年ほど前からgitを利用していて、1年前からgitlabを使ってweb上での可視化をしています。 そこに学生のコードベースなノウハウを貯めていきましょうっていう形。 ngt研100本ノックというCLIに慣れる問題集を用意していて、それの回答をgitなプロジェクトにあげ、先輩にチェックしてもらう感じにしています。 (ちなみにまだ問題は100問もありません…。) 問題を解いたらブランチをpushしてmerge request出してもらうって形にしようと考えていて、以下な流れを一通り説明してました。

初ぷるりく

初めて海外製のOSSにプルリク送って、コントリビューターになれた話です。 vimのプラグインで、vim-markdownっていうやつ。 きっかけ 最近周りでmarkdown流行ってきているので、「乗っかり勢として僕も!」と、vimの設定を始めました。 vim-markdownっていうプラグインを入れて「markdown編集しやすくなったわーい」、とかprevimとかopen-browserとか入れて「ブラウザでmarkdownチェックできるようになったわーい」とかやってたわけです。 そんなことしてmarkdown書いてると、「なんかココの動作微妙…」っていうところがありました。 「ちょっと使いづらいし、とりあえず直してみるか」っていうのがきっかけ。 直した その微妙な動作ってのが以下の2点。 インデントが半角スペース4つ 改行すると勝手にインデントが1段深くなる 「しゃあないちょっと直すかー」ってことでvim scriptを軽くお勉強。 で5分後くらいに「これならオッケー」って具合にすることに成功。 ちなみにこの2つの修正はプルリク出してません。 直した後に プラグインの設定いじって「おー、この設定するとこーなるのかー」と遊んでて、設定が反映されない部分を発見しました。 上の2つは「いや、プルリク出すの怖いし、これ出しても嬉しいの僕だけじゃないの」的なネガティブ発想から出してなかったんですが、今回の設定が反映されないっていうのはおそらく誰しもが困ります。 ということで正義のため的なノリで「プルリク出してみるか!」と。 (実はプルリクどっかに出してみたいな〜、とは思ってました。) (けれど、「出してみたい」から「出す」になるまでの何か壁なものがあって、今回の「直さなかったら皆が困る」っていうのがいい具合な動機になってくれたかな、と。) 直した(2回目) 修正は意外と簡単で、1行修正すると直せるようなものだったのでパパッと終わりました。 で、ここからが本当の戦いで、「プルリクって、どーしたらいいの?」と。 「github プルリク 出し方」な先人の知恵をgoogle先生に教えてもらって、以下の点に気をつけろ、とのご忠告。 forkする branch分ける 修正する commitまとめる プルリク出す 「commitまとめる」以外は普段やってることでした。 しかも今回の修正は1commitで終わるものでまとめきれないので、思ったより楽チン。 後はcommitメッセージとプルリク出す時の英語力のみ。 英語むずい 前の講演会で「世界は割とプアイングリッシュで回ってる」と聞いていたのを思い出して「ならこっちもプアイングリッシュだ!」みたいなよく分からないノリになりながらも慎重にメッセージ記述しました。 プルリクも同様です。 結構ビビりなのでめっちゃ確認しながら…。 記述し終わって最後はボタン押して送信。 ここで17日朝4時頃。 あ、ちなみにurlはココです。 コメントもらった で、17日の19時頃にコメントをもらいました。 要約すると、以下 僕「やあ。設定変更しても反映されないバグ直したよ。」 相手「いいね。別の場所にも似たようなのあるからそこもついでに直してよ。“g:“がdictだなんて知らなかった!」 僕「オッケー。直してcommitするね。」 そしてmerge 修正してcommitしてpushしたらすぐmergeされて、見事にコントリビューターになれましたとさ。 思っていたよりビビる必要はない っていうのが今回の経験です。 (やってる途中はびびりまくりで、「あー出すのやめたい」とかもちょいちょい考えてたんですが、出し終わった途端にこの手の平返し。) 割とバグ修正の機会ってあるのかも、ってことで使ってるプラグインとか何かあって不満があるなら、直してみるっていうのが良いのかもって思いました。 少なくとも行動しないと得るものは少ないと思うので、やってみましょう。 技術力が…な人は先輩に聞くとか。 「この動作あまり好きじゃないんですけど、どうやったら直せますか?」とか?? とにかく、初めてプルリク出して、mergeされたのがとても嬉しくて書いた記事でした。終わり。 あ、「vim script使ったことない人がvim pluginにプルリク出すまで」ってタイトルにしとけば良かったか。

ieLTで発表してきた

今年は第4回目ってことでいいんでしょうか? 4回目にして初参加&初発表してきました。 発表した内容 テーマについてはたくさん考えていて、「何について話そうかなー」っていう状態でした。 技術系なのか、自己啓発系なのか、それとも趣味とかその他か。 今回は、「僕が1年だったらこういう風に行動します」という内容に。 一言で表すと「先輩のところに行こう」です。 具体的な内容にしたためか、早速実行してくれた人も多いみたいで発表者としてはとても嬉しいですね! @_atton で20人くらいが呟いたらしく、早速あっとんくんとのコネをゲットしたようです。 割と冗談っぽい感じで発表はしましたが内容は僕的には結構ガチでした。 知識のある人の側にいくのが一番手っ取り早く学べる方法だと考えているからです。 ある程度知識がついたら、あとは自分で頑張る段階になるんじゃないか、とも。 0を1にするのは大変で、1を10にするのは楽、とかよく聞きますし、そんな感じなんじゃないかと。 なので、1年次のような知識の無い状態なら、先輩のとこに乗り込むのが良いですね。 今回はあっとん君に白羽の矢をたてましたが、研究室の先輩方って面白い人が多いです。 そしてそういう人ってどこかしら繋がりがあったりするので、先輩のところに行って「すごい先輩って他に誰がいますか?」とか聞くのもありかなぁ、と。 そんなわけで研究室に遊びに行きましょう。 オススメの研究室はkono研です。 捕捉 「エレベーターに乗ります->6階で降ります->kono研に行きます->あっとんさ〜ん」っていう感じで発表しました。 ここで気付いたんですが、「なんて話しかけたらいいか分からない」っていう…。 この場で捕捉すると、「何勉強したらいいか分かりません」とか頭の中のそのままを言えばなんとかなると思います。 他の発表 割と時間オーバーしてる人が多かったような? 僕もどうだったかちゃんと把握はしてないのであまり強くは言えないのですが…。 いろいろな種類の発表がありましたけど、そういう学科っていうことで伝わるんじゃないでしょうか? 僕の知らなかった図書館とか、お絵描きの話とか、スタバとか、ぱるるとか、面白かったです。 そんな世界もあるのか感。 あとがき いろいろテーマ考えたので、また何か機会あったら発表しようかな〜とか思います。 B1のみなさんこれから頑張って下さい〜。

申し込んでから考える

というわけで来週のLT大会に参加しようかな、と。 最終学年ですし、5年間学生してきての話とかできればいいかな〜、みたいな軽い感じです。 で、今日申し込んだわけですが、何話すかネタをまだ考えてないんですよね。 ・研究室 ・enPiT ・就活 ・シスカン ・勉強会やコミュニティ ・ハッキングゲーム ・情報工生をネットに繋がらなくさせる方法 ・教職課程 ・サーバチューニング ・シェル とかがパッと思いつくネタかなぁ、とか。 1ヶ月くらいのこと 更新してなかった1ヶ月くらいにあったことを簡単に アジャイル開発手法とHerokuについての講演会 初の企画からの勉強会でした。 ワークショップやら、Herokuやキャリアについてやら、割と好評だったんじゃないかと思ってます。 企画した立場で、勉強会の主催という大変さを経験できたのも良かったです。 Twitterの様子が下記のURLでまとめられてます。 togetter DevOps勉強会 もくもくとお勉強するっていうやつやってました。 「集まって、自己紹介で今日やることいって、あとは黙って各自作業!」って感じで割と集中して作業できます。 僕は最近流行りの自動化について勉強してます。 就活という名の何か 割と楽しいです。 留学生、襲来 研究室に留学生が来て「英語って大変だなー」と。 僕は日本語を教える、留学生は英語を教える、という協力関係を結びました。 英語での簡単な会話はできてる(と思う)ので、あとは積極的に話していけばきっとなんとかなるでしょう〜。 と、こんな感じです。 \ あ、LT大会の発表ですが、「簡単なネットワークスペシャリストの受かり方」とかいう煽っていくスタイルな発表もありですかね?無しですね?はい

第2回ビジネスアプリケーション分野ワークショップ で優秀プレゼンテーション賞を貰ってきた

実は続いてた(?)enPiT 12月で終わったかと思いきや、産業技術大学院大学側の代表として発表することになりました。 URLはココ 簡単にまとめると「琉球大学チームに産技大側の代表になって欲しいです。90分ほどポスター発表とデモをしてください、あとポスターセッションの前に3分間スライド発表もお願いします。配布する資料としてチラシみたいなものも作成お願いします」とのこと。 というわけで2/28(Fri)に発表してきました。 発表の内容をどうするか 発表の仕方としては、3分のスライド発表 -> ポスターセッションへ、という流れ。 「ポスターセッションを見に行きたくなるような魅力的なスライド発表をしましょう」 って言われてたので、そうなると他チームとの違い、差別化が欲しいな〜と考え、enPiT ビジネスアプリ分野の産技大以外でやっていたことを調べました。 すると、「agileな開発をした」っていうのが違いとしてあることが分かりました。 agileな開発中は徐々にプロダクトができあがっていき、その過程がとても面白いです。 「その面白さを伝えたいな〜」ということで"プロダクト"ではなく"開発日記"みたいなものを目指すことに。 そこで、「徐々にできあがっていく感じ」を伝えるために、毎週行っていたデモ時のUIと、その週の感想やら実装した機能やらデモ時に言われたツッコミやら、いろいろ書いて別資料として用意していました。 ポスターよりそっちに時間かけたような気がしなくもないです。 結果的に、この資料がかなりいろんな人にウケました。 スライド発表 スライド発表は3分しかないので、「簡単に産技大でどんなことをやったのか」と「agileな開発をすると、徐々にプロダクトができあがっていって面白いよ」ってことを発表。 「ポスターセッションではデモと開発の経過が見れますよ」ということでスライドは〆。 ちなみに「プロダクトを作った背景、作成したシステム説明、デモはブースにて」という発表が多かったです。 ポスター&デモ いろんな人から褒められました。もちろん、「ここはこうした方が」のような意見もあり、ありがたかったです。 基本的には「agileな開発してみてどうだった?どこに苦労した?」という質問が多かったです。 そしてagile開発を知っている人も多く、ロールについて質問とか、ミーティングとかいろいろ。 今思えば、agileを知っている人は僕らが勝手に用意した別資料に興味津々だったように思います。 ずっと説明をしていたので、かなり疲れました。 プロダクトについても「10週だったのに完成度高いね」とかコメント頂いたり、基本的には褒められていました。 ありがとうございます。 周りのブースを眺める時間も欲しかったんですが、結局時間が取れず。 事前にポスターは見て回っていたのですが、やっぱりデモも見たかったですね。 そんなわけで ポスターセッションをして、「発表を見て、気に入ったものに投票」という人気投票がありまして…。 そこで、一番投票が多かったということで、優秀プレゼンテーション賞を貰いました。 ジャーン!やったね! {.alignnone .size-medium .wp-image-1071 width=“225” height=“300” sizes="(max-width: 225px) 100vw, 225px" srcset=“https://ie.u-ryukyu.ac.jp/e095708/files/2014/03/enpit_presentation_award-225x300.jpg 225w, https://ie.u-ryukyu.ac.jp/e095708/files/2014/03/enpit_presentation_award.jpg 480w”} 資料 公開した方がいいのかな、という気もしますが、これはチーム内で話し合ってからですかね。 github辺りにあげるとかが割とあり得ます。 gitでタグ打ってるので、githubに飛べばプロダクトについては見れます。 終わり enPiTキツかった楽しかったです。