未来永劫

メリーバッドエンドが好きです.

Recruit Summer Internshipに参加しました.

r.recruit-jinji.jp
このエンジニアコースに行ってました.

3行まとめ

  • 業務に触れられないので
  • 待遇とか
  • ご飯の話をします

参加まで

ES記入はどの企業でもあることですね.書くの辛かった.
ES提出 -> プログラミングテスト(Ruby,PHPとか色々) -> 競技プログラミングテスト -> 人事面接 -> 技術面接 という流れでした.

テストについて

中の人曰く「そろそろ方法変えるかも」ということらしい.
僕個人の考え方としても「RubyのテストをしてもRuby力がわかるだけで本人の力量が分かるわけでもない」と思っているので是非改革してほしいなと思ってます.
ちなみに競技プログラミングの方は1問しか解けませんでした.悲しいね.

面接について

エンジニア以外にも他のコースも存在していて(サービスプランナー? データアナリスト?)同一箇所に集められるのですが,スーツや正装で来ていらっしゃる方も多くて大変そうだなと思いました.
僕はサーフパンツに企業のノベルティTシャツとかで面接に行きましたが受かったので正装が苦手な学生エンジニアの皆さんご安心ください.

それから人事面接に技術面接と2つあるのですが,前者は楽しく談笑して終わり,後者に関してはその場で抜きうちテストを受けたのが印象的でした.
テストに関しては触れられないですが,いわゆる「出来るように装った奴を跳ねるテスト」でした.

参加決定後

メンターの方と事前打ち合わせなどを行い,どのグループのどの部署に配属するのかを決定し,どの業務を行うかを相談しました.
これもどこまで話して良いのか分かりませんが,とてもザックリ説明すると「非タスク型の自動応答システムのアーキテクチャ生成」みたいなことを行っていました.

待遇とかとか

筑波大生にウィークリーマンションが与えられます! 筑波大生にウィークリーマンションが与えられます!
最高っぽい.
期間が約1か月半なので,「流石に通うのは辛いな…」と思っていたのですが宿が出ました.
それから交通費も出て日給1万なのでR社様様という感じです.筑波大生にはマジでオススメです.
今年は東京に台風がモリモリきてましたが人権のある出社退社ができました.

業務の環境とか

僕が所属していたのはリクルートテクノロジーズという会社で,いわゆるサービスの基盤を開発するような部門でした.
感じた素直な感想は「中の人たち(いろいろと)ヤベェ…」という感じ 尊敬するような人が何人もいる環境でワイワイ開発していました.
一人一台MacBookProを支給されるのですが,JISが辛かったのでUS配列をお願いしたら快くUS配列を支給していただきました.感謝.
椅子もバロンチェアだし最高of最高です.

開発体制など

僕の場合は隣にメンターさんがいる環境で,ディスカッションしたい場合や詰まって禿げそうな場合でもすぐに聞ける環境だったことがかなり良かったです.
部門によっては,インターン生数人のグループで開発しているところもあれば一人で黙々と開発している人もおり,僕は一人で黙々系でした.
となると「他インターン生の交流できないのでは?」とも思われがちですが,案外イベントも多く仲良くなれたので後述します.

インターン中のイベントについて

こんな感じで結構ありました.
それに加えて毎週何かしらの飲み会があったりとかして結構楽しかった記憶があります.

LT会

だいたい毎週あって,インターン生によるLTでした.
投票数多いとタンブラー貰えます.
f:id:shopetan:20161013131537j:plain

1日ハッカソン

二人一組でウェイウェイしながら開発をしてた.
レッドブルタワーは身体を壊すのでやめよう!!!
f:id:shopetan:20161013131740j:plain

ご飯

メインイベントです!!!!!!!!
大体ただ飯!! ご馳走様でした!!!!!

f:id:shopetan:20161013122800j:plainf:id:shopetan:20161013122807j:plain
f:id:shopetan:20161013122025j:plainf:id:shopetan:20161013122036j:plainf:id:shopetan:20161013122049j:plainf:id:shopetan:20161013122101j:plainf:id:shopetan:20161013122110j:plainf:id:shopetan:20161013122129j:plainf:id:shopetan:20161013122140j:plainf:id:shopetan:20161013122148j:plainf:id:shopetan:20161013122213j:plainf:id:shopetan:20161013122235j:plainf:id:shopetan:20161013122251j:plainf:id:shopetan:20161013122313j:plainf:id:shopetan:20161013122326j:plainf:id:shopetan:20161013122339j:plainf:id:shopetan:20161013122347j:plainf:id:shopetan:20161013122359j:plainf:id:shopetan:20161013122434j:plainf:id:shopetan:20161013122455j:plainf:id:shopetan:20161013122506j:plainf:id:shopetan:20161013122524j:plainf:id:shopetan:20161013122535j:plainf:id:shopetan:20161013122549j:plainf:id:shopetan:20161013122603j:plainf:id:shopetan:20161013122619j:plainf:id:shopetan:20161013122629j:plainf:id:shopetan:20161013122639j:plainf:id:shopetan:20161013122652j:plainf:id:shopetan:20161013122711j:plainf:id:shopetan:20161013122725j:plainf:id:shopetan:20161013122739j:plainf:id:shopetan:20161013122745j:plain

真面目な話

飯テロ画像を眺め続けた物好きな人だけが見てるはずなので真面目な話をしようと思います.

他の参加者とか

  • インターン選考が長かった分,同期だった学生はみなさんモチベーションが高い人や技術力がある人ばかりだった.
  • そのお陰でインターン生と組むハッカソンも片方ができない,片方ができる みたいなバツが悪い感じになってるところがなかった.
  • インターン生はCG,CV,securityからDMまで,色々なバックエンドを持った人が参加していて,それぞれ自身を生かせる適切な部署に配属されていた.
  • (こういったマッチングは中の人が色々考えてくれてたらしいです ありがとうございます)

就職とか

  • グループ会社によって雰囲気が違うらしい(僕の所属グループはとにかくギークで楽しい感じでした.)
  • お金が欲しいなら「初年度の年収に騙されず,その後の伸びしろも考えろ」 ということらしい.
  • 「データアナリスト」という枠での募集が最近増えてるらしいが,データ分析に加えてエンジニアリングができる人はエンジニア枠の方が幸せになるらしい.

一貫して学んだこととか

  • 表面上のデータ分析しかできない人はクソ.
  • 人に理解や納得をしてもらうためには可視化しないとダメ.
  • 「やってみた」から抜けるためにはサービス特有の問題や原因を突き止めるところからやろう.
  • 常にアンテナを張り続けてないとおいていかれる.

総じて

とても良くしてもらえたと思ってます.どうもありがとうございました.
4年生でも参加できますし,1年生で参加している方もいたので年齢は問われないと思います.
良い環境で刺激的な毎日でした.

関係ないけど

  • 4年生でインターンに行くと中間発表で死んでしまうのでお勧めしません.
  • シン・ゴジラを見ているとR社がゴジラに破壊されたり無人在来線爆弾が爆発しているので出社すると聖地巡礼できます.
  • 君の名は.最高だった.
  • Ultra Japanにインターン生と行ったんですけど最高にパリピでした.
  • インターン期間中,日中インターン&夜バイトとか別の仕事みたいな生活をしてたので,メリハリつけようと思って夜中に走ってたんですけど,記録したらそれなりに走ってました.

f:id:shopetan:20161013123403p:plain

自己評価と他己評価

こんにちは

しょぺたんです.元気です.
無事にB4に進級をしており,無事に入院する目処も立ちました.
ほどほどに研究をし,ほどほどに体調を崩しながらも,よろしくやってます.
入院とは言ったものの,イーグルジャンプに入社をしたい気持ちも強く,「入院」か「頑張るぞい」の2択を迫られています.
そのため,現在は「イーグルジャンプの求人情報を隠し持っているであろうR社に長期的な潜入調査をしている」のが近況です.

自己評価と他己評価

企業の人事の方との面接があったり,同様に企業のエンジニアの方とも面接があったりと,結構な頻度で自己アピールをすることがあります.
実際に勤めている方々から「君は優秀だね」のような言葉をかけてもらえるのはありがたい事ですが,いただいた言葉をそのまま素直に受け止められない事は往々にしてよくある事だと思います.
特に私は自己の評価と他者から受ける評価にギャップを感じます.
企業の方に聞いたのですが,実際問題として学生エンジニアの方は「(一般的な総合職採用の面接に来る学生と比較すると)自己評価が著しく低い」らしいです.
マサカリを投げる文化があるので仕方ないのかもしれないですね.

おわり

じゃなくて

「なら一生そのギャップは埋まらないな」って思うんですけど,それだと何も解決してないので,同時に客観的に自己アピールをする方法も聞きました.

誰かから評価された実績を述べる

おそらくこれが一番(精神的に)楽なのかなと思いました.
「コンテスト入賞歴」とかは判りやすいアピールになるらしいです.
自分であれこれアピールするよりも「誰かから評価された経験」があることは能力の裏付けとして強く働くので,謙虚に「最低限これくらいは出来ます」ってのが伝えられるのかもしれない.

自分の作ったモノについて話す

これまでに自作したモノについて話されるとありがたいらしい.
理由は,「自分で作ったモノがある以上,自然とこだわったことや思い入れのある部分があるはずなので(聴く側としても)話を引き出しやすいから」だそうです.
ただし,結局は相手に伝える表現力や説明力がないと,うまく両者で話の共有ができないのでコミュ症には厳しさがあるっぽい.

結局

実体のないもの(プログラミング歴5年です とか)を話すより,実体ベースで話してなんぼの世の中みたいです.
誰かから評価を受けるためには「実体のある何か」が不可欠であり,それがスタートラインな気がしました.
同様にして,自己評価を高めるためにも,まずは「実体のある何か」を作る必要がありそうです.

現場からは以上です.
引き続きイーグルジャンプの求人情報を探そうと思います.

知識情報・図書館学類に編入して1年が経ったので良かった事をまとめる

klis13(3編)のしょぺたん(@ss_shopetan)です.

早いもので,もうすぐ編入してから1年が経ちます. ありがたい事に,以前の記事を参考にしてくださった方も多く,2016年度の3編予定の方の中にも僕が相談を受けた方で弊学類に合格した人も居ます. 今年度の新入生に会うのが楽しみです.

shopetan.hatenablog.com

僕についての詳しいプロフィールは上記の記事を参考にしてください.

さて,この記事を書く理由は,2017年度の新入生に向けた編入説明会があるため,自分の中で良かったことや悪かったことを整理したいという理由です. 実際に良かったことを3つあげたいと思います.

良かったこと

勉強の内容が大きく変化した.

僕自身は以前は高専情報工学を勉強していました. 僕がこの学類に編入したかった理由は,情報資源や知識(データ)について哲学的な勉強がしたかったという理由です. 情報工学をバリバリやっていた人間なので,比較的内部生の方に比べて開発やエンジニアリングができることが多かったです. ただ,以前までは残念ながら哲学的な部分を学ぶことはあまり多くなく,あまり抽象的な知識は持っていませんでした. そういった観点で見ると,この学類は嫌でも知的財産や知識資源の勉強や扱い方の理解をすることがMUSTになります. 図書館はまさに知識資源の集合ですね. あまり全国的に見てもこのような分野にフォーカスをあてた学類はないので編入して良かったと思っています.

フットワークが軽くなった.

筑波と秋葉原を最短で45分というスピードで繋いでくれるTXがあります. 実際は本数が限られているので1時間超かかることが多いですが,でもそれを踏まえても東京に通いやすくなったのが大きな利点です. 基本的に大きなイベントは東京でやる場合が多いですし,例えば就活などにしても東京に出向く必要があります. 今この記事を書いているのも六本木なのですが,筑波と六本木も2時間で移動できます. 地方民としては大きな利点です.

ただ,反面インターンなどでは不遇なことが多いです. 片道2時間を通える距離と判断されるケースが非常に多く,毎日往復4時間を5日間 往復で2500円必要にもかかわらず,交通費も無しで通わなければいけないケースも度々経験しています. これはある意味で仕方のないことですが,数週間に1度程度出向けるモチベはありますが毎日通うモチベは無いです.(特にお金の面が大きいです.)

人間関係が良い意味で激変した.

klisは男女比が1:1くらいの比率があります. これは普通の高専では考えられない比率です.女の子の多さに感動します. そして学類の性質上,文系の子の割合も多いです. 高専では理系以外の人と付き合いのあるケースが少なくなるので,会話が新鮮でした. 特に図書館や情報資源が好きな人も多いので,話が合うのも良かった事のの1つだと思っています. また,総合大学であるため,他の学類の方との付き合いも多くなります. 結果的に色々な方との交流が増え,自分の交友関係も広がりました.

先ほどフットワークが軽くなったという話もしましたが,東京のエンジニアイベントなどに参加することも増えたので, 都内の大学生や地方から来ている学生も勿論の事,企業のエンジニアの方などのつながりが増えました. 情報系は案外人間関係が狭いので知り合いの知り合いみたいなケースも多く,イベントに参加する度に知り合いが居るのが少し嬉しいです.

まとめ

というわけで備忘録的に良かったことを思い返してみました. 色々と不満も当然ありますが,それを持ってしても編入して良かったという思いの方が勝ります. 今年度編入試験のある方でこの学類に興味のある方は,是非3編説明会にお越しください. 悪かった事はその時にこっそり話そうと思います… 当日はプレゼンも作成するので,出来る限り公開できる形を取ろうと思います.

図書館情報学徒が作ったシステムは(大抵)危ない

この記事はklis Advent Calendar 2015 10日目の記事です.www.adventar.org

Who Are you?

shopetan.hatenablog.com

前置き

情報システムとは.大雑把に以下のような事を指すらしいです.

情報システムとは、情報を適切に保存・管理・流通するための仕組み。

情報システムとは|コンピュータシステム|information system - 意味/解説/説明/定義 : IT用語辞典

本題

さて,私達図書館情報学徒は弊学で知識資源を扱うための術であったり,システムの構築なども(ぼんやりと)学びます.
例えばですが,今年私が受講する限りでシステム構築を行った授業は以下の通り.

  • 主専攻実習
  • 知識情報演習(CJE)
  • Webプログラミング
  • DB演習,DB技術etc...

まぁ内容はまちまちで,PHPを書いてたりRubyCGIを書いてたりフレームワークを使ってたりと 結構様々な手段を学びます.

が,

お前らが作ったシステムは(大抵)危ないぞ.というお話です.

システム主専攻として目指している所

知識情報システム主専攻はどんなところ?
 知識情報システム主専攻は情報技術に注目します。インターネットに代表される情報技術の進歩により、人類はかつてない膨大な知識と情報を共有しています。この知識や情報を有効に活用するためには、効率よくあつかうための高度な技術が不可欠です。

  知識情報システム主専攻では、知識情報の分類や構造化、 Web における知識情報の提供と共有技術、多様な知識情報の表現と管理のためのデータベース技術、知識情報から有益な情報を取り出す情報検索技術、ディジタルライブラリをはじめとする知識情報システムの実装技術などを修得します。

筑波大学 情報学群 知識情報・図書館学類


とりあえず知識資源の扱い方を学んだり知識情報システムの実装技術を取得するそうです.

そもそもこのKlisで勉強すること

Klisでは一般的に,必修科目として1年次にrubyを勉強します.
この必修科目の酷さは他に譲るとして,プログラミングは1年生の半期,2年生の必修で半期程度勉強します.
その後の3年次に主専攻という枠組みで各専攻ごとの授業を受ける事になるわけです.

で,私が所属している知識情報システム主専攻なのですが,知識資源を扱う授業は確かに豊富で,図書館という枠組みを中心に授業が行われています.
しかし,システムと名がつく割に,そもそものシステム開発方法を学べたり,システムを扱う哲学的な講義などはありません.
その結果,自由課題に直面した時に黙々とCGIで何千行書いている人も居ますし,フレームワーク使って賢く開発している人も居ます.
全然出来ない人も当然居ますね.

何が言いたい

私はシステム開発を学ぶ以上,全員が何らかのフレームワークを活用して自力で作成できるレベルに水準が上がるべき と考えています.
我々は,OPACを始めとした情報検索システムや知識にまつわるシステムを作ります.
その開発に,知識資源を扱う以上,知識資源となる"データ"を守る必要が出てきます.
私たちは果たして,学内で学んだ知識のみで大切な知識を守ることが出来るでしょうか?

例えばセキュリティ

おそらく,この学類で具体的にセキュリティを学べる講義は無いと思います.
ただでさえ最近騒がれているのに,システムだけ作らせて肝心なところはカバー出来ていません.

例えば運用・保守

人に見せられるコードをかけていますか?
後で自分が見た時に,内容を説明できますか?

そこでフレームワークです.

例に挙げるのはRuby on Railsという,rubyで書けるWebアプリケーション・フレームワークです.
Railsは,大きく分けて3つの理念を持ったフレームワークです.

1. CoC(Convention over Configuration)
「設定より規約」という意味です.
開発者側で設定を考えずとも,規約として決まり事にすれば余計な手間がかからない.
コードの多様性が減るので保守や運用もし易い.


2. DRY(Don’t Repeat Yourself)
「同じ事を繰り返さない」という意味です.
複数の修正が必要なく,単一の修正で済むように設計されています.

3. REST(Representational State Transfer)
Webの設計思想の一つです.
ここは割愛します.

また,大事な理念として,レール(規約)の上を歩けば安全なシステムが作れる.
という理念があります.
早い話,Railsの決められた書き方をすれば,殆どのセキュリティ上の心配事は無くなるという意味です.

最近では,フレームワークに則った書き方をすればセキュアになるようにしようという動きが多々あります.
開発者が難しいセキュリティの事を考えずとも,使うだけで安全なアプリケーションになるように設計が行われています.
使う以外の選択肢は無いですね!(というか自信がない人ほど使って下さい.)

Railsが出来るようになるためには?

Railsは比較的重量級のフレームワークのため,Webアプリケーションまったくの初心者が作るのはオススメ出来ません.
幸い,我々は2年次にCGIで動的なページを作る事を勉強しています.
「一般的なWebアプリケーションの作成が出来るレベルに立っている」ということです.
Railsは学習コストが高いことで有名ですが,反面,多くの先駆者がいるメジャーなフレームワークのため,ドキュメントが豊富です.
また,書籍等も多く充実しております.
Railsが難しいようであれば,sinatraという軽量のフレームワークなども存在します.

以下にオススメのサイトを貼っておきます.

railstutorial.jp

www.slideshare.net
有名なチュートリアルサイトであるが,少し敷居は高い.
歩き方と合わせてどうぞ.

dotinstall.com
こちらはドットインストールさんの入門.僕はコレで覚えました.

openbook4.me
これに沿って作るだけで簡単なWebアプリケーションが作れます.
こちらは本当に分かりやすいのでおすすめです.

終わりに

自力でシステムを作るための道筋を紹介しました.
講義で習っただけの知識で作成するシステムは危ないです.
また,就職にあたっても,エンジニアとして求められるレベルは,この程度の知識を持って作れるという事がラインになっている気もします.
開発側としてシステムに触れる以上,自力で簡単なモノが作れる程度の実装力は付けておきたいですね.

2015年のまとめ

今年作ったもの,今年やってきた事をまとめる.
ブログという媒体を通してアウトプットを始めたのは今年になってから.

1月

  • 高専の卒業研究の追い込みの時期だった.
  • 情報処理学会への発表が決定しており,年明けに論文提出を求められていたので死にそうだった.
  • 朝6時半前から家を出て,夜12時過ぎに家に帰る生活をしていた.
  • 学校との往復は4~5時間掛かる. 何が言いたいか分かるか.

他にもバイトをしてました.
バイトは3つで

  1. 小学校の非常勤の先生
  2. 小~高校生への塾講師
  3. 中学生の家庭教師

月3~4万は稼げていた.
でももうこんなに忙しい思いはしたくない.

2月

  • 学内での卒論発表があった.
  • 「相互採点における能動的評価法の提案」という,教育データマイニングに関わる発表をした.
  • 卒論の提出があるので30pしないくらいの論文を書いた.
  • (蟻本を読んで)競技プログラミングを触りだす.

3月

  • 無事に単位が取れていたので晴れて卒業
  • 卒業旅行で京都に行く
  • 数日後,学会発表で京都に行く(2度目)
  • 地元の人達が飯を奢ってくれたり,門出を祝ってくれたのを覚えている.
  • 競技プログラミング,ここでDPに出会い挫折

4月

  • ITF.klisに晴れて編入
  • 千葉県南部から茨城県まで,5時間かけて原付きで走った.死ぬほど寒かった.
  • 茨城県はガソリンスタンドが少なく,また道も何もない田んぼ道だらけで,ここで死にたくないと強く願った.
  • COJTに参加が決定した.ここで俺の人生が狂いだす.
  • 主にSWのWebデザイン,Webアプリケーションを学ぶ.
  • UI/UXを意識することが増えた.

COJTというのはこんな感じの取り組みです.
強い人達が集まる強いところです.
筑波大学情報学群 組み込み技術キャンパスOJT/University of Tsukuba

5月

  • 早い段階でITFの強い人達と繋がったことで,いい意味で刺激を受けまくる.
  • 逆求人に誘われる.(また人生が狂う)
  • tiwtterのフォロワーが,入学後に200人超増える.(なんだこの大学は.)

逆求人とは,こんな感じの,企業の方が私達を指名して面接をしてくださるイベントです.www.studenthunting.com

6月

  • 逆求人に参加した.
  • 全8ターム中,7社の会社の方が指名して下さった.とてもありがたい
  • Twintterを@himktと作った.
  • 大学の学生支援サービスみたいな奴
  • セキュリティ・キャンプ2015年全国大会に受かった(今年は倍率4.3くらいだっけ?).
  • 本格的にセキュリティの勉強を始める.

f:id:shopetan:20151203171315p:plain
shopetan.hatenablog.com

7月

  • インターンの面接とかが始まる.
  • なんだかんだ4社受かったので4社に行くことにした.
  • SEゼミさんのOSSHackイベントに参加し,OSSデビューした.
  • 落し物共有サービスLPMを作った.(ありがたいことにstarが多い)

shopetan.hatenablog.com
github.com

8月

  • 地獄の2ヶ月が始まった.
  • おかげさまで休みが全く無かった.
  • Rock in Japanに参加 -> (殆ど寝れずに)30時間ハッカソン -> (寝れずに)セキュキャン参加という,休むまもなく弾丸スケジュールで進んだ.(正直一番しんどかった.)
  • B社のハッカソンは3位だった.
  • セキュキャングランプリマンになれた(ありがたい).

shopetan.hatenablog.com

9月

  • 某CA社のインターンに優勝した.
  • 優勝賞品のMacBookProが貰えました(嬉しい).
  • 某L社のインターン機械学習コンペみたいなもので優勝した.
  • しかし優勝賞品の焼き肉が予定のブッキングでいけなかった(死にたい).
  • G社で業務としてデータサイエンティストをやる.

10月

  • Memoria というJavaScriptで動く教育RPGを作った.(詳細は後日)

少し分かりにくいので,リファレンス等後日作成します.(むしろこっちにstar欲しい)

  • Intel Edisonに触りだす(進行中).
  • 某イベントでまた京都に行く(3度目)
  • Qiitaを始める.
  • 技術系の記事はこちらに書こうと思った.
  • 4記事で200ストックされているので結構嬉しい.
  • PyConJP,OSCなどイベント盛りだくさんだった.
  • Goも触りだす.


github.com
qiita.com

11月

  • 研究室配属に就活の陰を見る.
  • Asobeatというプロジェクトを始めた.
  • Edisonを活用したウェアラブルデバイスで,新しい"アソビ"を提供します.(1月末までにする予定です.)
  • JPHacksという国内最大級の学生ハッカソンに参加する.
  • KnowlectというWebサービスを作った.

github.com
jphacks.xn--7wu811h.jp
github.com

12月

  • ネットワークの基礎知識が足りなすぎるため,そろそろ勉強しようと思っている.
  • セキュキャンアワードというものがあるらしい,出たいので1ヶ月程度研究するかもしれない.

www.security-camp.org

まとめ

1年でこれだけやっていたらしい.
Webアプリケーションを真剣に勉強しだしたのは今年始めてです.
Androidも初めて書いたし開発もしまくりました.
人間やればどこまでも出来るようになるみたいです.
後はstarが欲しいです.

機械学習をあまり触らない年だったので,来年はもっと触れ合いたいですね.
とりあえず,来年度もよろしくお願いします.

Mac OSX でPythonのScrapyをインストールする時に躓いた事

こちらにある,Scrapyのインストールガイドを参考にして素直にpip installを実行したらハマった.
Installation guide — Scrapy 1.0.3 documentation

MacBook-Pro-9:$  pip install scrapy
Collecting scrapy
  Downloading Scrapy-1.0.3.tar.gz (948kB)
    100% |████████████████████████████████| 950kB 296kB/s 
Collecting Twisted>=10.0.0 (from scrapy)
  Downloading Twisted-15.4.0.tar.bz2 (3.1MB)
    100% |████████████████████████████████| 3.1MB 108kB/s 
Collecting w3lib>=1.8.0 (from scrapy)
  Downloading w3lib-1.12.0-py2.py3-none-any.whl
Collecting queuelib (from scrapy)
  Downloading queuelib-1.4.2-py2.py3-none-any.whl
Collecting lxml (from scrapy)
  Downloading lxml-3.4.4.tar.gz (3.5MB)
    100% |████████████████████████████████| 3.5MB 109kB/s 
Collecting pyOpenSSL (from scrapy)
  Downloading pyOpenSSL-0.15.1-py2.py3-none-any.whl (102kB)
    100% |████████████████████████████████| 106kB 108kB/s 
Collecting cssselect>=0.9 (from scrapy)
  Downloading cssselect-0.9.1.tar.gz
Requirement already satisfied (use --upgrade to upgrade): six>=1.5.2 in /usr/local/lib/python3.4/site-packages (from scrapy)
Collecting service-identity (from scrapy)
  Downloading service_identity-14.0.0-py2.py3-none-any.whl
Collecting zope.interface>=4.0.2 (from Twisted>=10.0.0->scrapy)
  Downloading zope.interface-4.1.3.tar.gz (141kB)
    100% |████████████████████████████████| 143kB 648kB/s 
Collecting cryptography>=0.7 (from pyOpenSSL->scrapy)
  Downloading cryptography-1.0.2.tar.gz (332kB)
    100% |████████████████████████████████| 335kB 521kB/s 
Collecting characteristic>=14.0.0 (from service-identity->scrapy)
  Downloading characteristic-14.3.0-py2.py3-none-any.whl
Collecting pyasn1 (from service-identity->scrapy)
  Downloading pyasn1-0.1.9-py2.py3-none-any.whl
Collecting pyasn1-modules (from service-identity->scrapy)
  Downloading pyasn1_modules-0.0.8-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/lib/python3.4/site-packages/setuptools-15.2-py3.4.egg (from zope.interface>=4.0.2->Twisted>=10.0.0->scrapy)
Collecting idna>=2.0 (from cryptography>=0.7->pyOpenSSL->scrapy)
  Downloading idna-2.0-py2.py3-none-any.whl (61kB)
    100% |████████████████████████████████| 61kB 634kB/s 
Collecting cffi>=1.1.0 (from cryptography>=0.7->pyOpenSSL->scrapy)
  Downloading cffi-1.2.1.tar.gz (335kB)
    100% |████████████████████████████████| 335kB 289kB/s 
    Complete output from command python setup.py egg_info:
    cc1: error: unrecognized command line option "-Wno-unused-result"
    cc1: error: unrecognized command line option "-Wno-unused-result"
    
        No working compiler found, or bogus compiler options
        passed to the compiler from Python's distutils module.
        See the error messages above.
        (If they are about -mno-fused-madd and you are on OS/X 10.8,
        see http://stackoverflow.com/questions/22313407/ .)
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/pw/y9z4j4y133v6sf6b8_z906km0000gn/T/pip-build-djas2rha/cffi

どうやらcffiをdownloadした直後に死んでいる.


はじめは,

    cc1: error: unrecognized command line option "-Wno-unused-result"

この手のエラーが出ていたのでgccの問題かな?と思いgccのバージョンを確認していた.

MacBook-Pro-9:$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix

う〜んLLVMの問題かな…と悩んでいたが同様のエラーは見つからなかった.

再びインストールガイドを確認したところ,pythonの推奨系列は2系列だったことを確認.

MacBook-Pro-9:$ pip --version
pip 7.1.2 from /usr/local/lib/python3.4/site-packages (python 3.4)

どうやらデフォルトが3系列になっていたらしい…

これを

MacBook-Pro-9:$ pip2.7 install scrapy

と明示的に2系列を使用するとしたうえでインストールを行うと無事にインストールできた.

Collecting scrapy
  Downloading Scrapy-1.0.3-py2-none-any.whl (290kB)
    100% |████████████████████████████████| 294kB 639kB/s 
Collecting cssselect>=0.9 (from scrapy)
  Using cached cssselect-0.9.1.tar.gz
Collecting queuelib (from scrapy)
  Using cached queuelib-1.4.2-py2.py3-none-any.whl
Collecting pyOpenSSL (from scrapy)
  Using cached pyOpenSSL-0.15.1-py2.py3-none-any.whl
Collecting w3lib>=1.8.0 (from scrapy)
  Using cached w3lib-1.12.0-py2.py3-none-any.whl
Collecting lxml (from scrapy)
  Using cached lxml-3.4.4.tar.gz
Collecting Twisted>=10.0.0 (from scrapy)
  Using cached Twisted-15.4.0.tar.bz2
Requirement already satisfied (use --upgrade to upgrade): six>=1.5.2 in /usr/local/lib/python2.7/site-packages (from scrapy)
Collecting service-identity (from scrapy)
  Using cached service_identity-14.0.0-py2.py3-none-any.whl
Collecting cryptography>=0.7 (from pyOpenSSL->scrapy)
  Using cached cryptography-1.0.2.tar.gz
Collecting zope.interface>=3.6.0 (from Twisted>=10.0.0->scrapy)
  Using cached zope.interface-4.1.3.tar.gz
Collecting characteristic>=14.0.0 (from service-identity->scrapy)
  Using cached characteristic-14.3.0-py2.py3-none-any.whl
Collecting pyasn1-modules (from service-identity->scrapy)
  Using cached pyasn1_modules-0.0.8-py2.py3-none-any.whl
Collecting pyasn1 (from service-identity->scrapy)
  Using cached pyasn1-0.1.9-py2.py3-none-any.whl
Collecting idna>=2.0 (from cryptography>=0.7->pyOpenSSL->scrapy)
  Using cached idna-2.0-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/lib/python2.7/site-packages/setuptools-15.2-py2.7.egg (from cryptography>=0.7->pyOpenSSL->scrapy)
Collecting enum34 (from cryptography>=0.7->pyOpenSSL->scrapy)
  Downloading enum34-1.0.4.tar.gz
Collecting ipaddress (from cryptography>=0.7->pyOpenSSL->scrapy)
  Downloading ipaddress-1.0.14-py27-none-any.whl
Collecting cffi>=1.1.0 (from cryptography>=0.7->pyOpenSSL->scrapy)
  Using cached cffi-1.2.1.tar.gz
Collecting pycparser (from cffi>=1.1.0->cryptography>=0.7->pyOpenSSL->scrapy)
  Downloading pycparser-2.14.tar.gz (223kB)
    100% |████████████████████████████████| 225kB 145kB/s 
Installing collected packages: cssselect, queuelib, idna, pyasn1, enum34, ipaddress, pycparser, cffi, cryptography, pyOpenSSL, w3lib, lxml, zope.interface, Twisted, characteristic, pyasn1-modules, service-identity, scrapy
  Running setup.py install for cssselect
  Running setup.py install for enum34
  Running setup.py install for pycparser
  Running setup.py install for cffi
  Running setup.py install for cryptography
  Running setup.py install for lxml
  Running setup.py install for zope.interface
  Running setup.py install for Twisted
Successfully installed Twisted-15.4.0 cffi-1.2.1 characteristic-14.3.0 cryptography-1.0.2 cssselect-0.9.1 enum34-1.0.4 idna-2.0 ipaddress-1.0.14 lxml-3.4.4 pyOpenSSL-0.15.1 pyasn1-0.1.9 pyasn1-modules-0.0.8 pycparser-2.14 queuelib-1.4.2 scrapy-1.0.3 service-identity-14.0.0 w3lib-1.12.0 zope.interface-4.1.3

みなさまも推奨バージョンにはご注意を…

ITベンチャー4社のインターンシップに参加しました

久しぶりに全く遊ばない夏休みを過ごしました.

セキュリティ・キャンプ

夏休み一発目はセキュキャンでした.shopetan.hatenablog.com

セキュリティ・キャンプは本当に価値のあるイベントだと思います.
参加者として,同じ志を持った他の参加者と出会えるという点,
講師の先生方やその手のプロの方々から直接勉強できるという点などがサクッと挙げられます.
自分のやってきた事に対して,これからどのようにキャリアを積めばよいかなどの社会的な勉強も出来ました.
興味関心が広がるので,来年度参加したいと思ってる人は是非参加してみてください.(と言っても例年高倍率なのだけれども)



他には,今年はなんだかんだあり,結局4社もの企業にお世話になりました.
株式会社サイバーエージェントさん,
株式会社ベーシックさん,
株式会社リブセンスさん,
株式会社ぐるなびさんの4社です.

前の2社ではエンジニアとして,後の2社ではエンジニア/データサイエンティスト枠として参加しました.
後者の2社さんでは生データを触ったので詳しいお話は出来ませんが,それぞれの感想を話したいと思います.

サイバーエージェント

shopetan.hatenablog.com

1つはサイバーエージェントさんですね,生まれて初めてネイティブアプリケーション書いたのですが刺激的でした.
実務期間は約2週間弱,エンジニア2人,デザイナー1人の3人チームでした.
また,環境も良かったです,サポート体制がとんでもなかったです.
今秋にもサーバサイドのコンペを開催するようです.
書類選考のみ(?)なので,興味がある方は私と一緒に参加しませんか!(学科学年不問です.)www.cyberagent.co.jp

ベーシック

ベーシックさんではハッカソン形式で超短期間でRuby on Railsを活用したWebアプリケーションを開発しました.
チームは3人で行いました.
結果としては3位という微妙な順位だったんですが,楽しむことが出来ました.
環境が良く,お寿司食べたりレッドブル飲んだりしながらガリガリ書いた思い出です.
社員さんのサポートも厚く,チャレンジ精神があればやり切る事ができると思います.

リブセンス

リブセンスでは,実際の業務プロジェクトにジョインし,プロジェクト内の問題解決を行うという形式でした.
期間は1週間でした.
3人チームで行い,1人がWebアプリケーション制作,1人がデータ加工やアプリケーション制作のお手伝い,
僕はエンジニア兼データサイエンティストとして生データを解析してある推定をするための手法検討や精度向上,サーバサイドのAPI部分の実装を行いました.
データ解析の推定精度は1位でした.
椅子が気持ちよかったです.そして最新のMBP15inchですね.エンジニアはデスクワークが多いので環境が良いとウキウキします.

ぐるなび

こちらは直接データソリューショングループにジョインし,実務相当の事を任せて頂けました.
実際の企業のビッグデータを使ってデータ解析,予測や推定などを1人で行いました.
期間は2週間でした.
このインターンは,とあるエンジニアイベントでたまたまご縁があり,引き抜かれる形で参加が実現しました.
直接開発グループにて受け入れをするのは初めてという事をお伺いしました.
業務の内容も新卒には任せないようなものにチャレンジして良いとの事で,ヘビーな内容の業務に従事しました.
手厚いサポートで,本当に社内のグループの皆様にはお世話になりました.

総括して自分のこと

この夏休みの2ヶ月で,やったことは以下のとおり.

  • セキュリティ
  • ネイティブアプリケーションエンジニア
  • フロントエンドエンジニア
  • サーバサイドエンジニア
  • データサイエンティスト

お前のやりたい事なんだよっていうね
やりたいことは,データマイニング系(サーバサイドのAPI作るのでも有り),セキュリティ系の2つです.
ただ,学生が実際に会社で行う業務に参加できる機会は中々無いので,あらゆる分野で万遍なく戦えたのは良い経験になりました.
これを期にリモートで出来る業務があれば,是非IT企業でアルバイトしたいです.
3年次編入なので単位習得が忙しい&地方なので都会に出るのが大変&しかも今年はあるプロジェクトに参加しており,安定して入れる時間がない というのがネックです.
ということで,データマイニングやセキュリティ系などのお仕事がありましたら超待遇で雇ってください(ひどい話だ).