2013年のはなし

実家でまったりしているaranagiです。
いつの間に大晦日がやってきてしまったので、
今年のまとめをしたいとおもいます!

kosenconf-066numazu2

高専カンファin沼津2、今年のことだったんすね・・・!
なんだか遠いことのようで1年の長さを感じます。
沼津1では、自分がスタッフなのにたのしもうとしすぎていたところがあったのを反省していて、今回はスタッフとして裏側に注力したいなとおもって行動してました。
それがうまくいったかはちょっとあまり自信がない部分もありますが
でもたくさんのひとに来ていただけてとてもよかったです。
もう来年1/18には沼津3が開催されます。
自分は発表者で参加予定です、よろしくお願いします!

卒業/就職

とうとう高専を卒業し社会人になりました。
5年間の学生生活は自分にとってドでかい影響がありすぎて、
正直もう卒業したらその後なんてどうでもいいやとかおもってたときもありましたけど
なんだかんだ社会人ライフも頑張ってます。

一人暮らし

就職に合わせて一人暮らしを始めました。
実家暮らしがすごくストレスたまってたので、ホントいま楽しいです。
家事やってくれる人が居ないのはめんどいけど、
好きなときに好きなことを、自分の分だけやればいいのは実家暮らしではできないことでした。

あらたな世界

自分がインターネットで絡んでいたのはほとんどが高専つながりの人々だったのですが、
今年は「ケモノ着ぐるみ」の界隈に飛び込みました。
自分がもともとドラゴンやケモノが好きで、ある日着ぐるみの写真を偶然初めてみたときに「可愛すぎる!」と一目惚れしたのがきっかけで、知り合いが一人も居ないイベントに参加することになりました。
知らない人と接するのがとても苦手なので、実はイベントに向かう電車の中では(怖いなあ引き返そうかなあ)なんて考えていました。
でもあのとき自分が勇気をもって参加したお陰でたくさんステキなものに出会えて世界が広がって、ほんとに良かったです。
来年は着ぐるみ制作に手を出して頑張っていこうかなあなんておもってます。

合同誌制作

これがここ数ヶ月頑張ったこと!
創作活動をしている高専生の作品をあつめて合同誌を作りました。
そして先日12/30にコミケで頒布を行い、自分が思っていたよりも多くの人に手にとっていただくことができました!
嬉しいことに、刷った分は、参加者にお礼としてお渡しする分を除くともうホントに少数しか残っていません。もう「ほしい」と声をかけてくれている人全員分には足りない感じがしていて、判断をミスったなあと反省しています・・・
増刷とか電子版とか、なんとかみなさんの手にお渡しできる方法を検討中ですのでお待ちください!


というわけでわたしの2013年はこんな感じでした。
いろいろめまぐるしくて、でもすごく幸せな年でした。
本当にありがとうございました。来年もまたよろしくお願いします。

高専生合同誌をつくった話

どうも!最近提督業がいそがしいaranagiです。
この記事はKosen Advent Calendar 2013の16日目の参加記事です。


さて、既に書かれた14個の記事をみてもわかりますが、
ひとえに「高専生」と言いましてもいろんなひとが居ます。
みんながみんなチェックシャツのPCオタクってわけじゃなく、
PC大好きな人もいますし、
電子工作とかする人もいますし、
スポーツに打ち込んでる人もいますし、
ゲーム大好きな人もいますし・・・

絵を描く人もいますし、
写真を撮る人もいます。

このたび、絵を描いたり文を書いたり、あるいは写真を撮ったりするような、
創作活動を行っている高専生の作品をあつめて、合同誌を制作したので宣伝させていただきます!

この合同誌、タイトルはgirlnicsといいます。
公式サイトはこちら → girlnics

girlnicsというタイトルにちょっと雰囲気が出てますが
収録作品のテーマは「工学系女子」または「高専女子」となっています。
制作のきっかけが「とにかく創作活動してる高専生で本作りたい〜〜!!」という気持ちだったので、
実は作品のテーマはなんでもよかったのです。
でもさすがにそういう形だと作る方もむずかしいだろうと思って、
個人的な趣味で工学系女子をテーマにしました・・・
でも結果として多彩な解釈でいろんな作品があつまって、よかったと思っています。

どんなものができたのか、というのは
今度のコミックマーケットにて頒布するのでまだ完成品はお見せできないです。
(そもそも自分も当日にならないと完成品を見れません!w)
でもめくるめく工学女子ワールド、とってもすてきな内容になってます。ご期待ください!


さいごに具体的に宣伝しときます!

girlnicsは、コミックマーケット85 2日目(12/30) 東1ホール H-32a 「59*」にて頒布します。
B5サイズ、22ページ、価格は500円です。
ちなみにサークル名「59*」はゴジュウキュウテンと読んでください。高専生がドキッとする文字列にしました。
あと、3日目(12/31)も、西1ホール や-29a「高専症候群」さんのところに
ご好意で委託させていただけることになっています。
こちらも名前でお分かりですが、高専生のサークルです!要チェック!


以上、KosenAdventCalendar2013、16日目の記事でした。
みなさま、よいクリスマスを!

自分は、将来絶対に、母親にだけはなりたくないと思っている。

こちらの言葉もなにも通じない生き物を、身体を痛めて生み出して、
それを莫大なお金と時間を使い、忍耐と責任をもって育てぬかなければいけないなんて、
なにが悲しくてそんなことをしなければいけないのかわからない。

既に生きていて話し合える人間相手ですら理解できなかったり、嫌いだったりするのに、
話し合えないし、見た目可愛くもない生き物を、泣き騒ぐ生き物を、好きになれる自信がどこにもない。

それでも、そんな生き物でも、たとえば莫大なお金と時間を使い、忍耐と責任をもって育てぬいたとしよう。
その結果が、
たとえば私のような、きっと母親からみれば何を考えているかわからないような生き物になるかもしれないし、
たとえば弟のような、反抗しかしないゴミになるかもしれないなんて、
リスク高すぎてギャンブルにもなりゃしない。

だいたい考えてもみてくれ、性別すら希望通りに生まれてくるかがそもそも半々の確率なわけで、
正確には半々じゃないかもしれないけど、とにかくそれで希望にそぐわない結果が生まれてきた時点で
もうその希望通りじゃないものを背負って生きていかないといけないわけだ。

難易度高すぎるでしょう。
自分にはとても無理だ。

だからそれをやりぬいた自分の母親のことは尊敬してる。
でも見習いたいとは全く思わない。

育ての親のことを見習いたいと思わない子に育つかもしれない、
自分のような、大嫌いな自分のような人間に育つかもしれない。
自分は自分のような他人のために莫大なお金と時間を使うなんて嫌だ。

もしかしたら自分なんかじゃない、もっと素晴らしい人間に育つかもしれない。
でも現実、自分の母親は自分のような人間を生んでしまった。
自分は自分のような人間に育ってしまった。
その可能性が現実に存在することを知っているから、もう自分は母親になりたいなんて思えない。

生物として、雌として、失格した思考だとおもうけれど、本気でそう考えている。

gitのメモ

・ブランチを切ろう
$git checkoutは状態を切り変えるよ
$git checkout -b (ブランチ名)とすると、あたらしいブランチをつくってそこに移るよ

・$git statusをみよう
今の状態がわかるよ
ステージにのってるものはcommitされるよ

・$git diffをみよう
自分がした変更を確認しよう
git diffはどことどこの差分をみてくれるのかよく知ろう(課題)

・commitは意味のある単位でしよう
今回「画像を縮小する」変更を行ったけど、それは「RMagickの導入」と「縮小機能の追加」に分けられるよ

・コミットメッセージは複数行書けるよ
GitHubでは1行目がタイトルのように表示されて、2行目からは詳細表示に仕舞われるよ
1行目に概要を書いて、細かい説明は1行開けて3行目に書くといいよ

・コミットメッセージは現在形で書くのが良い?
好みによるけど、「このコミットを適用することで何が起こるのか」説明する視点ならば現在形だよ

・$git commit -mは省略記法のようなものだよ

・$git commit -vすると変更部分を見ながらコミットメッセージを書けるよ
変更部分は表示されてるだけでメッセージには含まれないよ

・$git commit --amendで直前のコミットを修正できるよ

・$git push どこに どこを
今回は$git push origin HEADと書いた
originは$git remoteででてきたよ
HEADは今触っている場所だよ


おまけ
$git config --global color.ui auto してもらったよ
.gitconfigってファイルを編集するやつ
グローバルが範囲で、colorって項目内のuiって項目にautoって値を設定したよ
gitのコマンドの出力にちょっと色がつくようになった

第2回Rails寺子屋に参加した話

8月3日にpixivさんのオフィスで開催されたRails寺子屋に参加して来ました!

前回の開催は参加者を組分けしてそれぞれの組でレベルに応じた内容を勉強するシステムでしたが、今回は1日を3コマにわけ、さらに3つのテーブルに師範がわかれて講義を行う(またはもう1つのテーブルは質問受付として師範が待機している)ので、興味があるテーブルにそれぞれ移動して勉強するというシステムでした。

自分が受講した内容は次の通り!

1コマ目 Rails入門

いがいが師範([twitter:@igaiga555])の講義で、前回のRails寺子屋に参加した人には続き的な内容になるとのことだったので参加!
Railsでアプリを作っていく手順をなぞりながら、各コマンドの意味や行われている内容を教わったり、
ほかにも「Rails側が勝手にやってくれていること」の内容や順序を説明していただいたり、
デバッグしたいときの方法も教わりました。
Railsは(というかフレームワークってみんなそう?)いろんなことをとにかく勝手にうまいことやってくれてる感じがあって、だから知らなくてもある程度のところまで動いちゃうと思うんですけど、やっぱり何が行われてるかって知っておかなきゃいけないわけで、そういうところを聞けてとても良かったです。

2コマ目 ぷるり体験

あそなす師範([twitter:@asonas])、まちゅ師範([twitter:@machu])、みたく師範([twitter:@mitaku])の講義!
GitHubの機能であるpull requestについて実際に体験しながら学習しました。
自分はみたく師範についていただいて、
リポジトリをForkし、issueの1つを担当して解決し、pull requestを送って、margeされるところまでを体験しました。
いま自分のGitHubは自分で作ってるものをとりあえず置いているというだけで、複数人での開発のときに使う機能とか全然知らないのでそこを体験できたのがとてもたのしかったです。
そもそもぷるり以前に既にgitの使い方があやしくていろいろ教わったり、
担当したissueが「投稿した画像を縮小する」というもので、ちょうど自分も個人的にやりたかったものの
調べてもわからなくって師範に訊こうとしていたことで、それもいろいろ教わって
他にもコミットする単位やコミットメッセージのお作法など、独学だとわかりにくいようなところも聞けたのが超収穫です。

3コマ目 コード大喜利

そらは師範([twitter:@sora_h])による講義というかイベント!
このために作ったというアプリをみんなで使って、提示された問題を解決するコードを書いて投稿する会でした。
投稿された内容はスクリーンに表示されるので、みんながどんなものを投稿して、正解したのかしてないのか見ることができました。
自分はruby力まだまだ低いのでFizzBuzzすらめちゃめちゃ悩みながら書いたんですけど、悩むのがとてもたのしかったです。
他にも楽しかったのは、みんなが投稿したものがみれたことです。
自分が10行以上で書いたFizzBuzzを1行で書いているものとかトリッキーな解決をしている投稿がたくさんあってすごかったし、問題そっちのけでサーバに対して攻撃を仕掛けようとする投稿が見られたり、さらにそれらを師範に解説してもらえたことが本当に楽しかったです。
途中でそらは師範のコーディングの様子がスクリーンに映されていがいが師範が実況するパートがあって、それはマジで本当に超わかりやすいしすごいしおもしろいしでまたやって欲しいと思いました。


というわけで、自分はこれらの講義を受講しました。
実は受けたい講義が被っていて聞けなかったものがあったりしたのはぐぬぬってなったんですけど、でもこの自分で選んで受けるスタイルはすごくよかったです。1つの講義の受講人数が少なくなるから、近い雰囲気で教われたし!
また次回の開催もたのしみにしています!

あと、懇親会の時に誕生日を祝ってくださった皆様、本当にありがとうございました!!
ハッピーバースデー歌ってもらったのなんて保育園児ぶりじゃないのか!?ってくらいでしてとってもしあわせで、忘れられない誕生日になりました。
いい1年にします!


記念に寺子屋の絵馬も描いてきたよ!おえかきたのしす!

Homebrewのインストールコマンドがよくわからない→ちょっとわかった!

macでHomebrewをインストールするには、公式ページに載ってるとおり

$ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

ってターミナルで実行する。

せっかくだしこのコマンドの意味を調べた。

ruby
 rubyってこと
eオプション
 その後ろに書かれたスクリプトを実行するというもの
$
 よくわからないけどターミナルで実行するものを表すときに書く記号だしきっとその意味だと思う
curl -fsSL https://raw.github.com/mxcl/homebrew/go
 curlというコマンドはファイルの送受信を行うためのものらしい
 -fsSLっていうのはしらべても全然情報がでてこなくて(Homebrewをインストールするまさにこのコマンドしかみつからなかった)不明
 たぶんSSL接続するよとかそういうことじゃないかと予想
 うしろがhttpsだし

つまり、要はとにかくhttps://raw.github.com/mxcl/homebrew/goっていうところからデータを受信するんだと思う。
でも、もしこの認識があっているとするとruby -eを通さなくてもターミナルにそのまま
curl -fsSL https://raw.github.com/mxcl/homebrew/go
って書けばいいのではと思うものの、わからないしそんなわけないし試してない。

  • 20:34追記

コメント読んでめっちゃわかった!

githubのurl先を見るとわかるけど、rubyのコードになっているのでこれをcurlを使ってダウンロードしてきてそれをrubyで実行しているんじゃないかという認識です(僕は)

fはfailの略でエラー処理をするオプションで、sはsilent、Sはshow error、Lはlocationなんだそうです
参考: http://www.hcn.zaq.ne.jp/___/unix/curl_manpage.html

e-jigsaw

受信するとこまでは合っていたけど、そうやって受信したものをruby -eで実行したかったんだ。
たしかにそうだ。もう少しだったー!
あと、-fsSLって書かれたときに、自分は"fsSL"っていうオプションなんだと思い込んでいたのでそうやって調べていたわけだけど、こういう書き方をしたときそれはfとsとSとLというオプションをまとめて指定する書き方なんだそうだ。
これは知らなかったので今後こうやってコマンドの意味調べることがあってもかなり自力でたどり着ける率上がった気がする。
というわけで各オプションの内容を自分でもまとめてみる。

f

サーバエラーが生じたときに黙って(何も出力しないまま)終わらせます。

http://www.hcn.zaq.ne.jp/___/unix/curl_manpage.html

このオプションを書くことで、サーバエラーがruby -eに読まれてしまうのを防ぎたいのだとおもう。たぶん。

s

沈黙モードにします。 プログレスメータやエラーメッセージは表示されません。 curl の出力を止めます。

http://www.hcn.zaq.ne.jp/___/unix/curl_manpage.html

これも、これを入れることでcurl自身の出力がruby -eに読まれるのを防ぎたいのだと思う。

S

  • s, --silent と伴用すると、失敗時にはエラーメッセージが表示されるようになります。
http://www.hcn.zaq.ne.jp/___/unix/curl_manpage.html

アイエエエ!?エラーメッセージ表示ナンデ!?ruby -e食べちゃう!?
fと言ってることが違うからこまるけど、「表示」と「出力」がちがう意味で、
「表示」はターミナルに表示されるだけで「出力」されないという意味ならばわかるかも。

L

要求したページが別の場所に移動していた場合に(サーバからの Location: ヘッダ行と 3XX 応答コードで検知されます)、このオプションにより,新しい場所に対して要求を再試行するようになります。

http://www.hcn.zaq.ne.jp/___/unix/curl_manpage.html

サーバーに、移動したページを登録しておくことができるということから既に初耳。
これでもしインストールのためのコードが https://raw.github.com/mxcl/homebrew/go から移動してしまっていても追跡してくれるわけだな。

というわけで全体的になんとなくわかった。おおよそすっきり。id:e-jigsaw、ありがとうございます!!

MBAの環境整備

先日MBA13インチの安い方を購入しましたので環境整備とかしてました。
やったこととかわかったことのメモ。

AppStoreから入れたもの

XcodeをAppStoreからインストールしたあと、なにか適当なプロジェクトつくって起動して、
画面左上のXcode->Preferencesを開く
それから出てきた画面のDownloadsのCommand Line Toolsもインストールする
せっかくなのでiOS 6.0 Simulatorもインストール

インターネットでとってきたもの

Chromeはログインしたらすぐいつもの環境がやってくるのが便利すぎる

コマンド叩いたもの

パッケージ管理のためのものらしい
たぶん何かあたらしいコマンドをインストールするときにこいつを経由することでいろいろ楽になるんだと思う
インストールは公式ページに有る

$ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

を実行
それから

$brew doctor

を実行して、準備オッケーだよみたいな意味の文が出てれば問題なし
自分は何かのファイルにどれどれを追記しろみたいな内容の英文が出ていたのでそのまま従った
実はたしかHomebrewを入れてる時にここに乗っているエラーに遭遇して悩んだ覚えがあるのだけど、
どこで遭遇したか記録がないので細かく書けない
いちおうメモとして貼っておく
YOMiTOKU: brew doctorの /usr/bin occurs before /usr/local/binにはまったときの解決法

  • git

さいきんRubyとかRailsでなにか作ってみるときgitを使うようにしていて、こっちでもその続きが開発できるようインストール
Homebrew経由でインストールするには以下を実行

$brew install git

  • readline

rubyirbって対話型で実行できる機能のときに、こいつを入れないと日本語が入力できないことがあるようなのでインストール

$brew install readline

これから入れるrbenvを便利に使うために必要らしい
rbenvではrubyをインストールするのになんだか難しいものを書かなければいけないようなのだけど、こいつが居るとそれが自動で出来上がるらしい

 rbenvは複数バージョンのrubyをすぐ切り替えられるということのみにフォーカスしてて、ruby本体をインストールするのは自前でmake等します。毎回それは面倒すぎる。そこで、ruby各バージョンのビルド内容のレシピをもっててコマンド一発でやってくれるよう、補助的に用意されているのがruby-buildなわけです。わー、ruby-build便利!

homebrewで入れたreadlineを使いつつruby-buildでruby入れてみた - Meltdown Countdown rev.

とのことなので以下のコマンドでインストール

$brew install ruby-build

  • rbenv

Homebrewが自分が追加したコマンドを管理してくれる(?)みたいにrbenvは自分で入れたrubyを管理してくれるらしい
いろんなrubyのバージョンを切り替えたりしながら使うこととかできる
自分はrubyをいくつも使い分けたりする予定はないけれども、Homebrew経由で入れたrubyがうまく使えないっていう事態に見舞われたのでこいつ経由で入れなおした
Homebrew経由でインストールするので

$brew install rbenv

Rubymacに標準で入っていて、Homebrewのインストールでも使っているのだけど、
どうにもバージョンが古くてRailsが入れられないようなのであたらしいRubyを入れてみた
自分がインストールしようとした時点でのRubyの最新の安定版は2.0.0-p247というやつだったから
さっき入れたrbenvを利用してインストール

$rbenv install 2.0.0-p247

rbenvではインストールとかなにか変更をしたとき、パスを通すために以下を実行しないといけない

$rbenv rehash

そのあと、ターミナルで単にrubyって打つときに使われるような、いわゆるデフォルトのバージョンを決めるために以下を実行
変更が起こるわけなのでrehashもする

$rbenv global 2.0.0-p247
$rbenv rehash

それから以下を実行してインストールしたバージョンが出れば問題なし!

$ruby -v

ちなみに $rbenv install -l したら、インストールできるRubyのバージョンの一覧みたいなのが見れた(めっちゃたくさんあった)

無事ruby2.0.0が入ったところでやっとRailsをインストール
今度はRailsはgemというやつ経由で入れるらしい
gemはRubyGemsのことで、Rubyに関する追加機能の管理をやってくれるようだ
寺子屋で触ったときはgemはRailsの追加機能を入れるためのものだと思っていたのだけど、勘違いしていた!
gemでRailsを入れるには以下を実行

$gem install rails

実行が終わったら、rubyまわりの変更が起こったということでまたrehashしないといけない。

$rbenv rehash

  • rbenv-rehash

$gem installするたびにrehashするのは非常にめんどくさそうなので、自動化してくれるものをインストール

$gem install rbenv-rehash


以上。これで環境が整ったので、次はgitから自分がRailsで作りかけのものを引っ張ってきて動かすフェーズ。