移転しました。

約3秒後に自動的にリダイレクトします。

第1回模擬ISUCONの感想


主に出来たことは環境構築をして、アプリケーションのSQL文を書き直した、DBへのクエリを効率化した、DBにインデックスを貼った、Unicornのワーカー数を増やしたぐらいのものでした。
出来なかったことは山程ありますが、解決できなかったボトルネックとしてはNginxに画像ファイルをキャッシュすることでした。

3人で話しながら1つの問題に取り組むことは楽しかったですが、僕も含めてまだまだパフォーマンス・チューニングの勉強不足でした。

個人的な課題としては、僕だけSequel ProでDBに接続することができなかったので原因を究明が挙げられます。

ISUCONってボトルネックを解決していかないとスコアが上がらないので、同じ言語実装の参加者はほぼ同じようなチューニングの手順を踏んでいくことになるんですかね。

そう考えると数学の問題みたいに、論理的にこれの次はこれをやるっていうのが決まっていくなぁなんて思っていました。

NginxとDBの勉強をやっていきたいです。それでは。

f:id:kousy:20180605074306j:plain

追記:
その後Nginxのエラーを解決し1万点を超えました。

ISUCONプロジェクト@沖縄の近況

f:id:kousy:20181022020426p:plain

どうも, こーせーです.

先日ISUCONチームを無事に結成することができました!チーム"SushiSobaRamen(仮)"です.
3人共違う学部(1人は情報系)ですが,なんとかやっていけそうです.

ところで,ISUCONに向けてのキックオフミーティングを先週Okinawa.rbでやりました.
記事をまとめようと思っていたら,先に素晴らしい記事が上がっていました.

ISUCON流れ

全体流れ

sshの設定で公開鍵はgithubにあげとく作戦
config設定(セッションが切れないようにするなど)
アプリケーションのコードをgithubにアップする
githubにあげたコードをローカルに持ってくる
ローカルでサーバーと同じような状態にする
ローカルでコードを修正できるようにする
ベンチマーク実行する
ブラウザから操作してみる
ボトルネックを探す
ローカルでコード改修する
環境にデプロイ
ベンチマーク実行する
ローカルでアプリを動かせるようにする状態にするのがなんとなく難しそうだった。

shimabukuromegの日記より引用です.

こんな感じでした.
相変わらずmegさんのまとめ力がすごいです.
僕が書こうとしていたことが,全て綺麗にまとまっています.
アプリケーションコードを触るところまでは,なんとかいけました.

そして今日はチームの3人で集まって,この流れをおさらいしました.

来週には模擬ISUCONが予定されていますが,まだ計測ツールの使い方についても演習不足という感じです.
チーム全員が計測ツール,

  • htop
  • alp
  • myprofiler
  • tig

あたりを使いこなせるようになることがまず課題ですね.

個人的には,予選突破したチームのコードを読んでいこうと思っています.

最近は遊びとして,A Tour of Goをやったり, Swiftを触ってみたりと楽しいエンジニアライフを送っています.

内定先のサポートによりRailsチュートリアルの解説動画も,無料で見られそうなのでそこでも勉強していこうと思います.

以上,5月になったので更新してみたの巻でした!

内定後の1年間の過ごし方

近況

Perl入学式やCODE BASEのおかげもあって、無事に目標だった東京のWeb系の会社に先月内定を頂くことが出来ました!
実は3月の終わりにはもう決まっていて、色々悩んだり就職活動に燃え尽きたりしていたのでブログには書かずにいました。
入社まで1年以上も時間があるせいで、なかなか決めきれなかったです。
就職活動が大変だっとはいえ、スーツを着ることもなく、ESや面接で頑張ることもなく、交通費が支給されないなんてこともなかったですね。
ランチも出ることが多かったですし。
エンジニア最高!って感じですが、売り手市場の今はビジネス職の新卒の人もこれくらいの待遇になって欲しいもんです。
振り返ってみると辛かったのは東京への飛行機移動での疲れ、花粉、電車移動、いつもと違う環境での生活(ベッドやお風呂)くらいですね。

今後

まず第一は大学生活ですね。
5月から毎月自分が発表をするゼミがあるので、それを乗り切りつつ、研究をすすめていくのが第一です。
しかし、それだけで終わりたくないです。

プロジェクト

第二にISUCONプロジェクトですね。
明日キックオフミーティングの予定です。
自身のスキル向上はもちろんですが、チームで何かを成し遂げるということをやりたいです。
ISUCONプロジェクトを軸に、エンジニアとしてのスキルをアップしていきます。
予選突破!

第三はEUの某国に1ヶ月ほど滞在するかも?!なプロジェクトです。
第四はセキュリティ関係です。某キャンプではありません。笑
第三と第四は確定次第、ブログで取り上げていこうと思います。

それでは、自由な学生の時間を大切に今後も色々と頑張っていきます。

Perl入学式に参加してみよう

これはPerl入学式春のブログリレー6日目のエントリです。

参加したらこうなる

プログラミングやってみたい!でも、Perlってなに?よくわからん!
という状態で僕は昨年参加しました。
参加した結果は、最高だったと言わざるを得ません。

プログラミングに触れ、ギークな人の存在を知り、さらに勉強したくなります!
また別記事で書こうと思いますが、僕はちょうど1年前のPerl入学式から徐々にプログラミングを始めて先日東京のWeb系の会社に内定を頂くことが出来ました。
就職など関係ない人にとっても、もちろんオススメです。
仮に仕事や学習で使うことがなくても、プログラミングって(Perlって)こういうものなんだな、と少し分かるだけでも得るものはあります。
この5回で学べることはもちろん限られてはいますが、Perlという長く使われている言語に触れることができる貴重な機会です。
最近はProgate*1などの学習サイトのおかげでプログラミングは独学しやすくなってきてはいますが、教えてくれる人、聞ける人が周りにいると学習は加速します。

Perl入学式繋がりで知り合いも増えて、さらにさらに楽しくなります。
in沖縄の特徴なのですが、大学で開催していることもあって学生が多めです。
なので、学生は軽く講義の1つに参加するような気持ちで大丈夫です。
学生が多いと聞くと、社会人の方は「参加し辛いのでは?」と思うかも知れません。
しかし、学生のノリなど特にないので大丈夫だと思います!
小中高生でも、早くにプログラミングに触れられることは確実にいい経験になるはずです!
皆さん、この春に新しいことを始めてみませんか?

プログラミング教室を終えて

f:id:kousy:20180309020213j:plain
初めは1回ごとに書こうと思っていたのですが、それよりはコード書いたほうがいいなと思って書きませんでした。
全16回のうち最後の2回以外は参加して、14回参加した僕が得た知識や技術と感想と今後のことの3パートに分けて書きます。

f:id:kousy:20180309020155j:plain

概要

Progateで基本的な文法は自習してきて、教室の時間中はWebの仕組みの講義を聞いたり、制作の課題に取り組んだりするという感じでした。
講師のお二人のお話を聞いたり質問したり、他の受講者の方がしていたい質問がとても勉強になった。
1人でもプログラミングを勉強できる人が、より効果的に学べる教室だと思いました。

技術や知識

感想

この内容が無料で提供されるなんて、プロトソリューションさん本当にありがとうございました。
という感じです。
他にもCODE BASEの運営に携わっている方(寺司さん、中司さん、じゅりさん、まっきーさん、セバさん)、講師のさぼさん、鈴木さんにも心から感謝しています。

さぼさんはエンジニアリングについてハイレベルな知識を常に提供してくれるだけでなく、プログラミングへの取り組み方やグロースハックやライフハック的なことも教えて下さいました。こんなにスゴい講師の人はなかなかいないと思います、本当に。
鈴木さんはとても話しやすい方でした。
夜中にSlackの分報に僕が何か書いたときに、よくリプライを頂いてました。
こんな時間まで働いているエンジニアが起きているなら、暇な学生の自分はもっとやらねば、とよく思っていました。
また、起業されていてビジネスにも奮闘しているようだったので、自分が進む道を背中で示してくれているように勝手に思っていました。

他の参加者の人たちもクリエイティブなアイディアを持っていたり、物凄い勢いで成長していたり、沢山刺激をもらいました。
本当はもう少し仲良くなりたかったのですが、僕はPCを触れる環境になると途端にコミュ障になっちゃうのであまり話せなかった気がします。
ISUCONプロジェクトとかで今後も会う機会がある人は、宜しくお願い致します。

Progateとかで一応はプログラミング経験があって、開発環境の構築もできていた自分ですが、ここに通わなければ
Webアプリケーションを作ることやエンジニアとして働くことについてここまで明確にイメージを持ち、考えを深めることは出来なかったと思います。
今や毎日何かしらコード書いてGithubに草を生やしていきたいと思うし、デバッグ方法も少し分かるし、まだまだWebについては学ぶべきことが山程あるんだということを知っています。

今後の課題や展望

東京での就活の為、最後の2回に出席できなかったことはとても残念です。
しかし、ある意味今回の教室の目標でもあるWebアプリケーションエンジニアとして採用されるべく、東京の会社での選考にしっかり合格してきます。
今回初めてみっちり2ヶ月プロに教えてもらったので、自走できるようになったという自負はあります。
プログラミングなんて独学するものだろと思っていましたが、実際に教えてくれるエンジニアが身近にいると効率よく勉強が進みました。
また、最近芽生えた感覚なのですがプログラミング言語人工言語であるということです。
ステマチックに構成されているので、文法や単語を規則通りに書くと表現したいこと(実現したい処理)が書けます。これは初めの頃にはなかった感覚です。コマンド入力やプログラミングはなんかかくと、なんかpcが吐き出してくれると思ってました。笑
自分にとってはコマンドを打つこととプログラムを書くことは全く別のものになりました。

僕は理学部で生物学を学んでいて、情報工学のバックグラウンドを持ってません。
しかし、情報を以ってして工学することの一部分であるWebやプログラミングの触りを学んだことにより情報工学の全体像も少しばかり把握できた気がしました。これも大きな収穫でした。
これから大量にドキュメントや書籍を読み、チュートリアルをこなして、バグやエラーと戦って手を動かし、アウトプットし続けていくための基礎がついたと思います。
今後はまずは就職先を決めたいです。その次はISUCON予選突破の目標を軸に自分のサービス開発やOSSへの貢献(翻訳だけでも貢献できると最近知った)
をしていこうと思います。
皆さんお疲れ様でした!