まなびやりはく

諸事情で移転しましたゆるめにいきます

AJITOに行ったら趣味が増えた話

この記事は#ajiting Advent Calendar 2015の19日目の記事です。

前フリ的なもの

こんにちは。@kanufyです。
内定者から見たAJITOの素晴らしさを伝えたい(希望)
AJITOってなに?というのは、たくさんのクルー(社員さん)のみなさんが#ajiting Advent Calendarで説明してくださってるので省きますが、いわゆる社内Barです(雑)

AJITOに行くとどうなるか

  • 趣味が増える
  • 知り合いが増える
  • いい話が聞ける
  • タダで酒が飲める ...etc

メリットはたくさんあると思います。 デメリットはそうですね、楽しすぎて話し込みすぎて気づけば終電なんてことくらいでしょうか。飲み過ぎにも注意です。

趣味が増える

AJITOでは日夜いろんなイベントやら社内サークルが開催されています。
どんなイベントがあるのかは@nekoyaさんの14日目の記事にて把握できるそう!

わたしが居合わせたことがあるイベントだとガンダムの研究会が行われ、ガンダムを見ながら同時並行でガンプラを作るみたいな会だったり、 いろんな楽器が常設されているのでそれでVOYAROCKのセッションが行われる会だったり、勉強会だったり様々です。

ウクレレにハマった

AJITOにてVOYAROCKの日に偶然居合わせた私はひとつの弦楽器と出会います。そう、その名も

ウクレレ

いいですね、ウクレレ

  1. クルーの方に「ちょっと弾いてみます?」と偶然ウクレレを手渡される(弦楽器初心者)
  2. 1時間ほどみっちりレッスンを受ける
  3. 「もう弾けるじゃないですか、じゃあ」とマイクをセットされる
  4. たどたどしい演奏で弾き語る(そんなたどたどしい私に合わせて演奏してくださったVOYAROCKのみなさんありがとうございます)

f:id:kanu1102:20151205193926j:plain

そんな無茶ぶりの後すっかりウクレレにハマってしまい、個人的にウクレレを購入。またひとつ趣味が増えました。

趣味が増える->人生にもっと彩りが->AJITOってステキ\(^^)/

(special thanks @katzchang & VOYAROCKのみなさん)

閑話

なお、AJITOでということではなく横の会議室でも日夜サークル活動が盛んです。
ウル4→http://www.capcom.co.jp/sf4/で日々アツいバトルを繰り広げている格ゲー部にお邪魔してたら、 気づいたら1時間半ほどみっちりコマンドの出し方と対空の訓練を積まされ(デジャブ)気づいたら格ゲー楽しいんだけどwwwww状態になってました。
(special thanks @awa-vg & 格ゲー部のみなさん)

他にもいろんな趣味をお持ちの方がAJITOにいらっしゃるので、趣味の幅を広げるにはやっぱりAJITOオススメです。 次はボルダリングサークルのお話を聞きにいこうかな。

知り合いが増える

もうお気づきかと思いますが、AJITOで趣味を増やすと必然的にその界隈の人と仲良くなれます。

趣味が増える->知り合いも増える->人生にもっと彩りが->AJITOってステキ\(^^)/

趣味だけでなく勉強会等でもいろんな人と出会えるのだと思います。はやく東京いきたい。

いい話が聞ける

もうお気づきかと思いますが、AJITOにはいろんな人がいます。 運が良ければ、様々な経験を積まれた方々のいい話が聞けます。 学生のわたしには猛者たちの話を聞ける機会があまりないので、とても刺激をもらえます。

いい話が聞ける->人生にもっと彩りが->AJITOってステキ\(^^)/

タダで酒が飲める

知っている人は知っていると思いますが、AJITOは社内Barです。
そう、酒が飲めるんです!!!!すごい!!しかもタダで!!! クルーの方がいれば社外の方でも大丈夫だそうです。

タダで酒が飲める->人生にもっと彩りが->AJITOってステキ\(^^)/

おわりに

趣味も増えて知り合いも増えていい話聞けつつ酒が飲めるAJITOってステキですね。人生にもっと彩り(ry

明日は...まだ誰も書く人がいないっっ!のですが、誰かがネタがあるとかないとか仰っていたので期待して...

100均の道具で窓辺をいい感じにイルミネーションする

クリスマスシーズンですね

こんにちは。@kanufyです。
クリスマスが近づいているので自室の窓辺に電飾をつけました。 電飾買おうとおもったら80灯とかしかなくて高いし、そんなにいらないので100均で間に合わせました。 ITとか全く関係ないです。

こちら。
f:id:kanufy:20151213005259j:plain:w400

すいません、別にいい感じでもなんでもありませんね。

用意したもの

f:id:kanufy:20151213005557j:plain:w300 f:id:kanufy:20151213005601j:plain:w300

シルク

CanDo

  • LED電飾(白)

自宅にあるもの

  • 前から何かに再利用したかったリキュール空き瓶
  • はさみ
  • セロハンテープ
  • 延長コード
  • 単3電池

ちなみにLED白はこんな感じ。
f:id:kanufy:20151213010835j:plain:w300
100均の電飾は10灯が基本なのでしょうか。

瓶に巻きつける

瓶の中に電飾いれたかったんですがどうにもイマイチだったので、外に巻きつけるスタイルで とりあえず赤の電飾を巻き巻きしてみます。
ぐるぐるまいたら10灯分1瓶くらい。
f:id:kanufy:20151213011348j:plain:w300
点灯!
f:id:kanufy:20151213011352j:plain:w300

好みの色にする

赤はいいんですが、白はなんか眩しいしアレだったので色を変えます。 カラーセロハンを適当な大きさに切って電飾部分にくるくる巻きつけてセロハンテープで貼り付けます。超簡単ですね。
f:id:kanufy:20151213011938j:plain:w300
こんな感じ。テープ貼るのが雑すぎるのはご愛嬌です。

ちなみにくるくるする回数を増やせば濃い色になりますし、1回巻きとかだとうっすい色になるのでお好みに合わせて調整してください。 わたしはたぶん3回くらい巻きました(適当)

適当に置く

あとは好きな場所において完成です。 白のLEDはUSBタイプだったのでそれっぽいプラグで変換して延長コードに挿しました。
f:id:kanufy:20151213012955j:plain:w400

黄色がすくないのは緑を巻きすぎたからです。そしてまだまだ空き瓶あるのでもう1個買ってある白LEDでオレンジとか作ってみたい。

まとめ

100均でいい感じ(?)に窓辺をイルミネーションしてみました。500円もかかってません。 ただし、100均のやつはちっかちかしてくれないのでチカりたい人にはオススメできません。 なのでいつかマイコンとかで点灯パターンつくりたいなあ、なんて思いました。

それではよいクリスマスを!

ID変えたかった...

はてなはIDが変えられない

ということで社会人としてエンジニアでびゅーする前に
slackやらtwitterやらそのへんのアカウントを変えたくて
@kanu1102→@kanufyになります。
記事全然書いてないから移行はきっと楽だろう...笑

去年のAdvent CalendarはなんとかしてURL変えます。

2014年の振り返り

【この記事は旧ブログから移転しています】

みなさんあけましておめでとうございます。
年越しは雪山でした、@kanufyです。

今日はやろうとおもっていたけど、年末忙しくてできなかった 2014年の振り返りをしようかと思います。

1月

  • 八方に冬ごもり
  • 研究室スノボ
    初めてスノボデビュー

2月

  • Tech Kidsとの出会い
  • ハイカラな言語を知る
  • 死を覚悟した卒論

3月

  • 岩岳大会
  • CATKキャンプ

4月

  • 名古屋

5月

  • 連日BBQ
  • ごはん会多々
  • アナ雪

6月

7月

8月

9月

10月

  • DMTCガールズハック
  • 焼き肉
  • セキュリティインターン
  • 学会
  • アゴを3針縫う
  • 突然のハロウィンの特殊メイク

11月

12月

  • YUKI LIVE
  • お腹壊す魔の一週間
  • 就活
  • 絶叫合宿
  • ギークフェスタ
  • 東京観光
  • iPhone 6に変えてエージェントデビュー
  • 雪山雪山雪山

結構充実した1年だったなーー。
さて、2015年ですが、後悔のない年にしたいですね。
いろいろ全部含めて、未来の自分が後悔しないように今を生きたい。

zshのプロンプトにお天気表示してみた

【この記事は旧ブログから移転しています】

どうもみなさんこんにちは、@kanufyです。

今日はきっとエンジニアのみなさんが
一番目にする場所であろうシェルをいじろうと思います。

プロンプトに天気でてきたらかわいい気がする。
うんきっとかわいいに違いない。

f:id:kanu1102:20150111023205p:plain

お天気を調べる

天気調べるなにかがあるはず
さくっとgoogle先生に質問したら、curl使ってlivedoorのお天気とってくるAPIしばいてる記事があったので参考に。

shell - シェルで今日の天気予報表示 - Qiita

上記より

$ curl -s http://weather.livedoor.com/forecast/webservice/json/v1\?city\=XXXXXX | jq -r '.forecasts[] | select(.dateLabel == "今日").telop'


でお天気が表示されることが判明。

JSON見づらい

jqいれます。

brew intall jq

でサクッとインストール。
jqJSONパーサーで結構フィルタリングいっぱいできて便利です。

  • jq公式リファレンス

  jq Manual (development version)

  • ざっくり日本語訳してくれた記事

  軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | Developers.IO

お天気をだす

無事jqコマンドが使えるようになったので
curlするとこんなのが返ってきます。

f:id:kanu1102:20150111030413p:plain

曇時々晴...まてよこれって天気の種類めっちゃあるやつじゃ...

お天気Webサービス仕様 - Weather Hacks - livedoor 天気情報

仕様に天気の種類のってないってことで
適当にいろんな都道府県の天気しらべてみて
こんくらいあったらなんとかなるでしょーくらいまででやめた(18種類くらい

返ってきた天気をシェルスクリプトの変数にぶちこむ。

WEATHER=$(curl -s http://weather.livedoor.com/forecast/webservice/json/v1\?city\=260010 | jq -r '.forecasts[] | select(.dateLabel == "今日").telop' );

ちなみにcityは260010は京都南部です。
東京は130010で滋賀は250010。
これもlivedoor天気の各都道府県の天気調べたらURLにかいてあるのでそれを参考に。
(一覧でだしてよねとかもちろん思ったり。)

この天気によって case文 で場合分け(めんどくさい)
時々は / 使って、のちは -> で表現してみました。

case $WEATHER in
   曇時々晴) WE="☁ /☀";;
   曇時々雨) WE="☁ /☂";;
   曇時々雪) WE="☁ /☃";;
   晴時々曇) WE="☀ /☁";;
   晴時々雨) WE="☀ /☂";;
   雨時々曇) WE="☂ /☁";;
   晴のち曇) WE="☀ ->☁";;
   晴のち雨) WE="☀ ->☂";;
   曇のち晴) WE="☁ ->☀";;
   曇のち雨) WE="☁ ->☂";;
   雨のち晴) WE="☂ ->☀";;
   雨のち曇) WE="☂ ->☁";;
   雪のち曇) WE="☃ ->☁";;
   曇のち雪) WE="☁ ->☃";; 
   雨) WE="☂";;
   晴れ) WE="☀";;
   曇り) WE="☁";;
   雪) WE="☃";;
   *) WE="♡";;
esac

これでだいたい準備はおっけーです。
登録されてない天気がでると♡がでるので
そんなときは

echo $WEATHER

なりして調べて追加してください(糞設計でごめんなさい)

プロンプトに表示させる

天気を $WE に入れたので、プロンプトに入れます。

tmp_prompt="%{${fg[cyan]}%}%n%{${reset_color}%} %{${fg[red]}%}${WE}%{${reset_color}%} %{${fg[magenta]}%}>%{${reset_color}%}"  


私の場合、kanae 天気 >にしてるので、ユーザ名 %n をシアンではさんでます。
%{${fg[cyan]}%}%n%{${reset_color}%}ここまでで1つ。
色は%{${fg[cyan]}%}でつけて%{${reset_color}%}で色を戻す。
天気毎に色変えたかったんですがすごくめんどそうだったので諦めて全部赤色に。
%{${fg[red]}%}${WE}%{${reset_color}%}の部分ですね。
ちなみに色つけるためにはautoload -U colors; colorsをかかないとダメです。

f:id:kanu1102:20150111023205p:plain


さてこれでプロンプトにお天気がでたはずです!
確認はコマンドライン

exec -l $SHELL

つかうとシェル再起動できるので
あたらしく開いてたしかめなくていいので便利です。

ついでにシェルスクリプトについても調べたりしてたので参考に。

シェルスクリプト入門 書き方のまとめ | Memo on the Web


以下私の.zshrcのお天気部分とプロンプト表示部分抜粋

ネットで漁った.zshrcをベースにしてます。
ちなみに右プロンプトにはカレントディレクトリだしてます。
明日の天気とかにしたければcurl(.dateLabel == "今日")を明日にするとできます。

[お天気をzshのプロンプトに表示させる部分の.zshrc](https://gist.github.com/63d3e899face3677f781)

【Tech Women Advent Calendar 2014】この夏わたしはGitに出会い、恋をした

【移転してます】

こんにちは、そしてはじめまして
@kanufyです。かぬーと呼ばれてます、カヌーはやったことないです。
情報系女子大学院生M1です。画処理とかとか。

Tech Women Advent Calendar 2014の7日目として インターン先の会社で出会った女子エンジニアの先輩
@sinamon129さんに誘われ、わたしなんかでいいのかと思いつつ、
恐れながら参加させていただくことになりました!

最初は研究のこととかも考えたのですが、なんもいい案浮かばなかったのと、 インターンで学んだまとめみたいなのも違う気がして、 今日はこの夏のインターンを通して出会ったGitという素晴らしい何か(笑) との壮大なラブストーリー(思い込み) 的なものをだらだら綴ってGitの素晴らしさを伝えられればと思います。 Gitに初めて触れたときのことを思い返してくだされば幸いです。

この夏わたしはGitに出会い、恋をした

1. 出会い

出会いは某IT会社のインターンでした。5日間でiOSアプリ作るでー! アイデアソンは事前にチームでやってきてねー!って感じのものでした。 開発は主にGitHubを使って、プライベートリポジトリにあげてうんぬんかんぬん。 (我がチームメンバーは全員Git初心者だった)

え、なんなんそもそもGitってなんなんバージョン管理?なにそれ←

的な状態でした。 わたしの研究室ではWebやネイティブ系のものに全く触れない環境で、 大規模開発とかもないので、個人主体で、ソースコード管理とか別にみたいな(笑)
そもそもそういうハイカラな言語にちゃんと触れたのが今年からだったw(いつもC/C++とか)
1日目は各自とりあえずローカルブランチ切って作業(pushとかとりあえずしない←)

その夜、一回統合したほうがいいと教えられる  
↓  
よくわからんけどリモートのマスターとってきてローカルのマスター新しくする  
↓  
ローカルでマージ!えいっ  
↓  
2人目以降ぎゃああああああ  
(コンフリクトの嵐)  

まあそりゃそうですよね。まず初心者すぎるわたしたちは.gitignoreを無視していた(というより知らんかった)
とりあえず色々無駄な労力なので新しくリポジトリ作りなおしてignoreファイル作ってあれやこれやして(メンターさんほんとにありがとう) その夜はまあなんとかなりました。第一印象は本当に最悪で、なんでこんなややこしいの使うのかさっぱりわからなかったです。

2. いがみ合う日々

2日目から順調に開発。ブランチも切る(たまにマスターで作業しててぎゃーってなることもしばしば)
でもGitHubのissueとか知らない。ブランチ名と全く違うことしてたりする。細かくブランチ切れてない。コミットも適当(笑) でも定期的に統合!よっしゃ!うわ、コンフリクトや...。
いろいろ他にもあったんですが、メインはこいつ。 xcodeの.pbxprojがそりゃあもうコンフリクトしまくる。

Xcodeのプロジェクトファイル(pbxproj)がコンフリクトしまくるのをなんとかしたい! - TOKOROM BLOG

ignore書いててもコンフリクトしまくる。ヤダもうなんで!
(ストーリーボードちょっとでもいじりあうとダメみたい)

3. 好きになりかける

あんまりにもコンフリクトしまくるので、vimでコンフリクト直すのに慣れてしまった。 はいはいとりあえず/HEADで検索検索ぅ。 なんかわたしの時だけどんどん素直になっていくGit(勘違い)
相変わらずコンフリクトを起こすメンバーのコンフリクトも直しつつ、 あれ、わたしもしかしてコイツ好きかも?

4. 喧嘩する

二人の距離がだいぶ近づいた気がする中、次のインターン先へ。
今回は3週間でWebサービスを作るぞ!フロントからサーバ、DBまでがんばるぞ的なものでした。 ここでもWebサービス作ったことない初心者だったので、講義で学びが多い多い。 そしてここでも登場するGit。
ふふーん、わたしだいぶ仲良くなったもんね!とか思ってたけど、 事前課題でGit学ぼうのコーナーがあり、やってみるものの何cherry-pickって何。 reset?なんか怖い。

Gitってとっても奥が深いんだなあ、
わたしが見てたのはアイツのほんの一面だったのね、と。

でもまあなんだかんだここでも、 コンフリクトは起こるので、唸ったりしながら直しつつ、 チームメンバーのコンフリクト直したり Git手順表書いたりして円滑にチーム開発できました。 wikiやissueを効率よく使うことも覚えたり。

でもなんていうかまあ、この時のわたしはGitの素晴らしさをまだ分かってなかった。

5. 離れて気づいた愛しい存在

無事インターンも終わり、台風がやってきたころ、 初心者向け女の子Webサービスハッカソン的なものに参加することになりました。 サーバの勉強したいなと思ってたのでサーバ側をやることになり、 チーム開発が始まった。

あれ、アイツがいない。

初心者向けということで、Gitを使わない開発スタイル。 たしかに初心者にGit導入させたら、なれるのに1日じゃ厳しい感じがぷんぷんする。 (自分もまだまだ全然初心者)

とりあえず担当わけて開発。

ただし時間がぜんぜんなく、最終日朝にやっと統合!!
(いまになって思えば恐怖でしかない)

統合手段は、完全手作業マージです☆

ローカル環境下での開発なのでDBがわたしのローカルにしかない。
(仮想環境ってなんて便利なのかしら)(遠い目)
すなわちわたしのローカル下で統合する他ない。 みんなAirDropで送ってー!
うおおこのページとこのページつながってない! リンクさせとかなきゃ!あーそっかjsの方でサーバに渡す部分ないわ!(気づくの遅い) そもそも統一したはずのファイル構造がちょっと違ったりしてパスがおかしい。 直したらなんかおかしい、あれ、前の状態からどこ変えたんだっけ?? ってなりながら必死で作業。そしてページのCSSが、個人のPCの解像度に最適化されすぎて 崩れまくる事態でぎゃー(間に合わないのでここは諦めた。解決できなくてごめんね;_;) 今思えば自分のローカルだけGit管理させときゃよかった。

こんなに、こんなにもGitが恋しくなったのは初めてでした。 初めて愛しいと思えた瞬間でした。 同時にGitの凄さを身にしみて感じました。アイツいつも小洒落た作業をサクっと短時間でやってるんだなーと。 こまめにコミットしてこまめにプッシュして不足部分確認して直してマージ...とかやってたら 最終日の朝にここまで大変な思いすることなかったんだろうなあ(遠い目)

手作業マージ、ダメ、絶対。 (もう絶対イヤだと心に刻んだ)

そして最初の設定大事(ignoreとか)
そーいうの勝手に作ってくれる便利なサービスもありますし。

初心者の私が主に使用したGitコマンド

実際にメインで使ってたコマンドです。これ以外も使うと思うんですが、変なことしない限りわりとこれでなんとかなる気がします。変なことしちゃった場合はcherry-pickなりrevertなりでよしなに頑張る(笑)

  • git init
    使うディレクトリをgitに管理させリポジトリをつくる

  • git add (ファイル名) / git add .
    作業の変更をステージングエリアに追加する

  • git commit -m "(コミットメッセージ)"
    ステージされたスナップショットをコミットメッセージ付きで1行でコミットする
    いちいちエディタ開かなくていいので便利

  • git status
    ファイルの現在の状態を一覧表示する

  • git log
    コミット履歴を確認する

  • git diff
    ステージングエリアとワーキングツリーの差分を表示
    オプションつけるとファイル間の差分なども見れる

  • git clone git@(アドレス)
    レポジトリgit@(アドレス)を複製する

  • git branch
    現在あるブランチをの一覧を表示する
    (*がついてるブランチがチェックアウト中のブランチ)

  • git branch -d (ブランチ名)
    ブランチを削除する
    要らなくなったブランチは削除したほうがスッキリします

  • git checkout -b (ブランチ名)
    ブランチをつくってチェックアウトする
    (git branch (ブランチ名)+ git checkout (ブランチ名))

  • git checkout -b (ブランチ名) (既存ブランチ名)
    既存のブランチから引き継いで新しいブランチをつくってチェックアウトする

  • git pull origin master
    ローカルとリモートのマスターを同期する
    (git fetch + git merge)

  • git rebase / git rebase -i master
    ブランチをマージする / マスターと現在のブランチをマージする
    pushする前にrebase使うとコミット履歴が綺麗になります -i(interactiveの略)つけることで、各コミットについて処理(歴史の改ざん)ができる
    ※リモートのコミットはrebaseしないこと

  • git rebase --continue
    修正したあとに再びrebaseし直す

  • git push origin (ブランチ名)
    リモートにローカルブランチをプッシュする

まとめ

思ってた以上にだらだらと長くなりましたが、
何が言いたいかというと出会って半年も経ってないけど、

  • Git(GitHub)っていいよね!
  • バージョン管理大切
  • 基本コマンドは頭に叩き込む
    (GitのAdvent Calendarとかも参考に)
    Git Advent Calendar 2014 - Qiita
  • masterで作業しない
  • 初心者だからこそissueやwikiを使った方がいい
    (チームで決めたことはちゃんとwikiに書いて確認しあう)
  • issue以外のことをするならまたissueきる
    (誰が何やってるのか言葉にしなくてもわかる)
  • プルリク貰ったらちゃんと確認する
  • 手作業の統合は愚か
  • 設定ファイル系は一番最初にちゃんとしよう

複数人で開発するならGitHubなりSubversionなりなんらかのツール使ったほうがいいですいやほんとに←
関西的にいうと551の豚まんがあるとき\(^o^)/とないとき/(^o^)\くらい差があります。

明日は@aa7thさんです!おたのしみに!