Ruby初心者はRuby技術者認定試験Silverの勉強しろ

Ruby技術者認定試験Silverを84点で合格しました。

かなり初心者にオススメの試験だと感じたので、紹介します。

対象読者

Ruby経験半年ぐらい

学生

Ruby経験

Ruby合宿で初めてRubyと出会う。

Ruby on Railsエンジニアとして半年程、インターン(Rubyに触るよりIEに振り回される時間の方が長かった)

imaharu-blog.hatenadiary.jp

Ruby技術者認定試験Silverの勉強をすべき理由

Rubyの基礎を客観的評価で身についたと言える

初心者がRuby技術者認定試験Silverを受ける理由は、これにつきます。

初心者のつまづきやスロースタートは、技術を評価する基準を持っていないことが根本的な原因だと思います。

技術を評価する基準をもっていないために、Rubyを理解する前に無謀ともいえるRailsチュートリアルに挑んで挫折するのです。

勿論、Ruby技術者認定試験Silverを受験しなくて大丈夫です。

しかし、基礎を認識するためネットに転がっている問題を解いて欲しいです。

残念?嬉しいこと?にRuby技術者認定試験Silverは,奇問も少し出題されます。

例えば

グローバル変数におけるリテラル/式展開 です。

$a = 1
puts "a = #{$a}"

上記は予想通りですよね。

実は、下記でも出力されます。知らねーよ。

$a = 1
puts "a = #$a"

ダブルクォート(")で囲まれた文字列式、コマンド文 字列および正規表現の中では#{式}という形式で式 の内容(を文字列化したもの)を埋め込むことができます。式が変数 記号($,@)で始まる変数の場合には {}を省略して、#変数名という形式で も展開できます。

Rubyの知らない記法などを知れて賢くなった気分になれます。

奇問集を作れば、面白そう。

受験にあたって

ネット申し込むが、かなり面倒です。

学割の申請が2日ぐらいかかるので、早め早めの行動を心がける。

対策方法

(1) 書籍購入

[改訂2版]Ruby技術者認定試験合格教本(Silver/Gold対応) Ruby公式資格教科書

[改訂2版]Ruby技術者認定試験合格教本(Silver/Gold対応) Ruby公式資格教科書

  • 作者: 牧俊男,小川伸一郎,前田修吾,CTCテクノロジー株式会社
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/08/25
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

(2) 正誤表で間違いを修正

サポートページ:[改訂2版]Ruby技術者認定試験合格教本(Silver/Gold対応)Ruby公式資格教科書:|技術評論社

(3) 章末の基礎力確認問題を解き、現在の実力を知る

(4) 1 ~ 6章を読む

(5) 模擬試験を解く

(6) Webで問題を探す

ミニツク - Rubyのe-ラーニング研修システム

silver_j.md · GitHub

まとめ

Ruby技術者認定試験SilverとってRailsやろう。

Ruby合宿に行くべき3つの理由と合宿後の軌跡

Ruby合宿とは

Ruby合宿とは、学生(大学・高専・専門学校・高校等)または25歳未満(平成30年4月1日時点)の求職中を対象にしたミニハッカソンである。ハッカソンといっても、事前講義や現役Rubyエンジニアの方々が開発をサポートしてくれるため初心者の人でも気軽に参加できる。

Ruby合宿URL

1. Matzに会える

友人のFacebookプロフィール画像のほとんどが、一人もしくは二人の画像だということに気付いた。対して僕は、Twitterアイコンと同じカブトムシで圧倒的アウェイ感!!!

Facebookという貴族社会において、プロフィールの写真というのは階級を表す。

カブトムシのアイコンなんて、下人のそれと同じである。

ひねくれ者の僕が、夕日をバックに写真を撮ることができるはずもない

しかし、カブトムシは嫌だ。エンジニアという身分を貴族の方々に知らしめながらも調子乗ってるやつ扱いされない写真は何かと日々頭を悩ましている時、Ruby合宿のことを知った。

その時は、Rubyなど書いたことがなく、日本人が開発した言語であるという知識しかなかった。

HPを閲覧するとMatzさんが講演に来るらしいということがわかった。

エンジニアらしい写真!? よし、応募だ!

という経緯があって参加をした僕にとって、Matzさんに会えるRuby合宿は最高だった!

真面目な話をすると、Rubyで開発しているサービスがたくさんあり、顧客がいる。それはつまり社会に対して何かしらの正の影響を与えていることを意味するだろう。その根本を作った、Matzさんに会いたいという思いも強く、Ruby合宿に参加した。

情報工学を専攻する学生はエンジニアではなくハッカーになる必要があると考える。OSSに対して、利用するだけでなく貢献することが専門知識を身につけた情報工学を専攻した者の使命だろう。OSSであるRubyを開発したMatzさんは将来、僕が達成する必要がある目標を成した人物の一人である。Matzさんに会うことで将来なるべきハッカー像を明確にしたかったのだ。

Matzさんに会う。勿論、このこと自体に大した意味はない。

会ってどうするかが大切である。

僕は、Matzさんの講演をお聞きしてモチベーションが上がり、より勉学に励むことができた

近距離でMatzさんに会えることが出来る点がRuby合宿を勧める一つ目の理由である。

続きを読む

大学生のうちにやるべきこと10選

f:id:scratch_world:20180930223157p:plain

「大学生でやるべきこと」を検索すると成長意欲に満ち満ちている記事が数多く量産されているのが確認できます。

しかし、僕のような意識も能力もない人間がそのような活動を実行できるはずもありません。そして、大半の大学生もそうなのではないでしょうか?

凡人が真似することができる「大学生のうちにやるべきこと」を提唱したいと思います。

とくとご覧あれ!これが平凡大学生の生き様じゃ!!!

好みの白米を炊くための水分量を知る

f:id:scratch_world:20180930222728j:plain

新入生の5月ぐらいになると自炊の楽しさがわかってくる頃でしょう。

ポテトサラダ、ヒラメの煮付け、郷土料理など凝った料理に挑戦することになるでしょうが、一食の質は白米に依存すると言っても過言ではないでしょう。

白米を好みの硬さに調節できるスキルを大学生のうちにつけておくべきです。

(結局パスタか、焼きそばに落ち着くのだが‥)

定食屋で大盛りを注文する

f:id:scratch_world:20180930222748j:plain

大学4年生にもなると大学周辺の定食屋で大盛りを食べられなくなります。

老いは、思った以上の速度で進んでいるのです!

大学生は、腹一杯食べろ!

島耕作を見る

続きを読む

エウレカインターンに行っても内閣総理大臣になれない件について

f:id:scratch_world:20180917152010j:plain

多くのインターンに参加した天才である私は、ある真実に気づく。

そう、インターンに参加しても内閣総理大臣になれないということに!

いや、そんなわけはない。悲しくも人は簡単に真実を認めることができない生き物であります。

エウレカインターンもまた、そうなのです。

Pairsで有名なエウレカでAIエンジニアとして活動した2週間を通して感じたことを綴っていきます。

インターン概要

2週間のインターン。

前半課題があり、合格した人のみ後半に進むことができます。

デザイナーも参加しているため、後半ではデザイナーと共にチーム活動ができる

AIエンジニア以外はな!!!

ライバルに差をつける、"学び働く" 貴重な体験をしませんか? メンターをつとめるのは、国内屈指のカンファレンスで登壇経験を持つ業界トップクラスのエンジニアとデザイナーたち。 本気のビジネスの楽しさを、この夏エウレカで体験しよう!

ともあれ、応募要項に記載されている謳い文句通りのインターンである。

参加動機と合格まで

SQLをそろそろ勉強したいと思っていた所、下記の記事を見つけた。

SQLで分析を始めた人に贈る、中級者に上がるための10のTips

記事を見て、インターンあるならSQL書きに行きたいなーと思って、検索するとありがたいことに学年不問だったため応募した。

一次面接では、地方大学ではモチベーションを保つのが辛いことや、情報工学を学べば学ぶほど限りない知によって、自分が馬鹿であることを知らしめられるみたいことを話した。

高校までは陸に足をつけ自分の場所がはっきりとわかるのですが、大学で真剣に学んでいると、広い海の中をあてもなく彷徨っている感覚に陥ります。広い海に一人ぼっちは怖いし辛い。周りに一緒に泳いでくれる人がいないため心がどんどん荒んでいく的なことを喋った気がする。

恥ずかしながら、人生相談のような面接をして頂いた。

何故か知らないが、面接を通過。

1次はSkype面接だったのだが、最終は東京に行くことに。

就職活動を通して、空港での時間の使い方が下手ということに気づき、東京に行くのは憂鬱だった。

赤羽橋という聞いたこともない駅に迷わず来れた自分を褒めてあげたいものだ。偉いぞ!

会社に訪問するまで、Pairsというサービスを知らなかったのでオフィス見学で様々な知見を得た。

出会い系とマッチングアプリの違いなどを知り、教育以外のことにも目を向けた方がいいんだなーと思った。(小並感)

そうこうしているうちに面接開始。

驚くことに、面接官はCTO。(最終日に卓球で負けたので、ドライブを覚えてボコボコしたい)

一言で言うとニートはいいなーっていう面接だった。

かなり狭く優秀層を見ている自覚はあるのですが、会うエンジニアは技術だけでなくデザインや広告、顧客とのコミュニケーションを取れる人が多く、エンジニア以外の職種がどのように生き残っていくのかを聞いたりして有意義な時間を過ごしました。

無事合格通知を頂けることに(特に技術的な話をしてなかったような‥ 印象に残ってないだけ?)

実は、福岡の屋台で常連客におでんを奢ってもらいたいという夢を叶えるため応募していた日経新聞のインターンにも合格を貰っていた。

どちらに参加するか迷ったが、期間的に長い方が学べることが多いと思いエウレカのインターンに行く旨を伝え、参加が決定。

待って貰ってありがたかった。

参加までにやったこと

サーバーサイドエンジニアとして、参加する予定だったのですがAIチームで参加しないかという旨のメールをもらい、二つ返事で許諾した。

しかし、研究室の課題としてPytorchとChainerでEncoder-Decoderモデルを組んだぐらいで不安しかなかったので、研究室にある本で事前学習を行った。

  • 集合知プログラミング2.3章
  • 自然言語処理100本ノック4章まで
  • numpy100本ノック星1のみ
  • ゼロから作るDeep Learning
  • はじめてのパターン認識7章まで

また、Pairsをインストールしてどのようなタスクを行うのかを予測した。

Pairsでは、相手との相性がパーセンテージで表示されているためコミュニティの相関関係などを元に推薦を行うのではないかと思っていたが、違った。

事前課題で自然言語処理100本ノックが課されてたことからこの推測が正しくないことを判断できたのだが、不安で頭が回っていなかった。

前半

前半戦の課題は、青空文庫のコーパスを使って分類問題かクラスタリングに関するモデルを作成することでした。

社会人になれば当たり前にやることですが、自分で課題を設定するのが難しいということを知った。しかも、知識の少ない分野なら尚更。

必要なデータを収集するため、データ整形から行う必要があるためモデルに関する知識を深掘りせずに実装したのが、少し心残りです。

詳しい内容は、Githubに公開しているので気になった人は覗いてみて下さい。

GitHub

今なら、進化したシェル芸でpython書かなくても前処理できる気がする。

後半

何とか後半に進むことができた。

後半戦の課題は、自己紹介文の改善でした。

また、良い自己紹介の定義から行う、これまた難しい課題。

後半戦の内容は、秘密保持なんたらかんたらとかでどこまで公開していいのか難しいのですが、生データ使ってワイワイやっていました。

発表

全くもって、やってきたことを伝えることができなかった。

反省としては、プレゼン資料はチーム(2人)でフォーマットと型を決めるべきであると感じた。

前処理アイデアを五つぐらい実装したり、モデルに関しても代替案を考えていたのだが、その理由を準備していなかったため咄嗟に答えることができなかったのは、後悔が残っている。

最後まで詰めることができなかった。エンジニアとして、コードを書くだけならかなりの成果を上げたのではないかと思っているが、技術は単なる表現媒体であることを忘れ最終的なサービスへのイメージを共有できなかった。反省を次に生かしたい。

内閣総理大臣について

上記の内容は、正直どうでもいい話である。

ここからが本題です。

続きを読む

Yahooインターンはとんでもないものを盗んでいきました。それはわたしの心です。

f:id:scratch_world:20180901045727j:plain 実に危なかった、もう少しでYahooに心を奪われるところでした。

2018年冬、Yahooのインターンに参加してきました。

書こう、書こうと思っていたのですが、なかなか筆が上がらず気づけば半年経っていた。

しかし、インターンの同期が他インターンの感想を上げていたので書く気になりました。

natsuyoshy.hatenablog.com

インターンとその後、就職活動で感じたこと。

また、内定を辞退したことについて綴ってまいります。

参加動機

私がYahooと初めて出会ったのは、お馴染みYahooキッズです。

どうにか、先生の目を盗んで検索をしては閲覧禁止にガッカリするという小学生時代を過ごしていました。

その当時は、「ビーゴ」という青い謎の生命体が登場する英語教材を両親に強要されコンピュータに対峙するのが億劫だったので、全く関心がなく、Yahooが一つの企業であることすら知りませんでした。

大学で情報工学を専攻し、Yahooという企業の実態を知りました。

それでも、Yahooキッズで一番早くエロサイトを表示させるハッカソンあれば面白くね!?ぐらいのイメージでした。(今でも開いてほしい)

そんな私がYahooのインターンに参加しようと思ったのは、今書いているようなインターンに関する記事を拝見したからです。

名の知れた企業のインターン参加記事は難しいそうなことを言っており技術力に優れた人がいる印象を受けました。

弊大学は勉学に対して真剣に取り組む姿勢のない人が多く個人でモチベーションを維持していくの限界を感じ、より高い環境で刺激を受けたかったので応募しました。

Yahooのエンジニアインターンでは、様々なコースに別れているのですが私が応募した部署は金融に関する部署でした。

その時期は、Bitcoinなど仮想通貨が流行っており金融に少し興味を持ちました。

金融サービスは、セキュリティなど他のサービスより高い技術力が求められるのではないかと考え、そのレベルに達するために今の自分に足りないものを知りたいと思ったのがもう一つの参加動機です。

実際には、ビーゴとかエロサイトなどはESに書いてないです。それくらいわかるよね!?

参加まで

ESを書く→面接を一回受ける→合格する

マイナンバーとか色々事前準備(他のインターンでもそうだが、ここが一番めんどくさい)

東京に行く→赤坂見附駅で迷う→どうにか建物に到着→どこが正解かわからず再び迷う

様子を伺う多数のインターン生を見つける→到着を確認

以上。

インターン

インターン前日、東京観光をしたいと何を思ったか山手線(45km)を歩いて一周した。

東京のことは、よくわからなかったが、歩いたら疲れるということを知った。

また、歩く前にAirbnbに泊まっていたのだがフィリピン人らしき同居人にメガネを壊された。

瀕死に近い状況の中、インターンがスタート。

同じ部署にメンバーは自分を合わせて5人だった。

スーパーマン、超人格者、リア充、煽り芸人として活動を開始した人、そして私だ。

今、思うと私以外すごい濃いメンバーだ。

インターンの内容を詳しく書くと怒られるかもしれないので、軽く説明すると

プログラムを書いた。

テストの重要さ、設計が大事であること。APIの実装方法を学んだ。

他にも、チームで開発をしたため、コミュニケーションの重要性や現状の知識でチームのために何ができるのかを考えることが大切ではないかということを学んだ。

詳しく説明する。

開発は、わからなかった時などはメンターに聞くが設計から実装までインターン生で行った。

インターン生の中で、自分の技術力が最も低かったと思う。多分、周りの評価もそうだろう。

周りの発言に対して技術的にわからないことがあれば、ホテルに帰宅後、その技術について調べたりコードを書いたりしてキャッチアップを行った。

5日、実質的に実装できる時間は3.5日ぐらいしかなかったのだが、最後の方には自分のやるべきことを切り分け実装を行うことができた。汚いコードでごめんなさい。次、一緒に仕事をする時は、読んでいて気持ちよくなるコードを書けるように精進します。

目標にすべき同年代の人達と、あと学生生活が一年あるという取り返しが効く段階で出会えたことが最高でした。

もし、見てくれているならば感謝を伝えたいです。

他にも、インターンを通して人を尊敬するのを辞めようと考えました。

尊敬していると、その人に追いつけない気がします。尊敬している人みたいには、なれないの気がするのです。私は、尊敬する人達と肩を並べ同じ景色をみて一緒に仕事をしたいのです。そのための努力を尊敬していると出来ない気がします。

敬意を示すことは忘れるわけではありません。

*尊敬を憧れに置き換えた方がしっくりくる人の方が多いかも知れませんが、感覚的に尊敬の方が馴染む。

インターンに関しては、参加してYahooを好きにならない奴いるの?というぐらい素晴らしいインターンでした。

オススメ

就職

Yahooさんに内定を頂きました。

だが断る!!!

続きを読む

人生で大切なことは全てオシャレJDに学んだ

f:id:scratch_world:20180830170015j:plain

人生で大切なことは全てオシャレJDに学んだ

オシャレとは何だろうか?

服装や化粧などを洗練したものにしようと気を配ること。(goo国語辞書)

辞書にもあるように一般的なオシャレとは、服装などの外見に関するものである。

私たちはオシャレを線形的に捉えているのではないだろうか。

それ故に、服や化粧品を買うことに固執するのではないだろうか。

服を買うなんて興味ない。店の入り口に一番近い服で事足りるではないか。

オシャレでない人間は卑屈なものだ。

しかし、こんな私がオシャレに対する考え方が変わった。才色兼備オシャレJDのインタビューを通して。

以降、OJDと呼ぶ。

彼女にとっては、顔に化学物質を塗ることがオシャレではない。

また、高いブランドの革製品を買うこともオシャレではないのだ。

OJDは高次元でオシャレをしている。

数学をやっていてよかった。

高次元なオシャレを取り扱うためには、線形代数微積分の知識を要するのだ。

なぜ、OJDはそんなにもオシャレであるのだろうか。

それはOJDは肉体的、精神的、またより高次元でオシャレであるからだ。

OJDのオシャレを通して学ぶことが沢山ある

天然水

OJDは、天然水をよく好んで飲むようだ。飲めば大体一緒だろと水道水で事を済ます私には理解しがたい。

天然水は、アルコール度数を抑えるための飲料水では?

大学生活をアルコールと共に歩んできた私にとって、天然水というものはさして重要なものでないのである。

しかし、OJDの成すことには全て意味があるはずだ。

深くオシャレについて考察しなければならない。

ある知識が天然水とリンクする。

「身体の体重の60%は水分」ということだ。

OJDが天然水を飲む理由はここにある。

まず、天然水が水道水よりオシャレであることは自明である。

そして、大抵のJDは水道水を飲んでいるのだ。食堂の水はどうせ水道水だろ。(偏見)

効率にオシャレになるには、体重の60%を構成する水に注目することは必然であろう。

そう、お分かりの通り、OJDは天然水を飲みことによって体内をオシャレにしているのだ。

オシャレの格が違う。

以上は、ほんの一例に過ぎないがOJDが肉体的にオシャレな理由だ。

そう言えば、先日、成田空港で酸素水なるものを自動販売機で買った。

うまかった。OJDに次世代の水として紹介しておこう。

参考文献

身体と水分|大塚製薬

向上心

精神的なオシャレをOJDは兼ね備える。

続きを読む

人の顔面に何か投げるならプッチンプリンが最適である3つの理由

f:id:scratch_world:20180905002758j:plain ある初夏の朝。騒がしい東京の夜は落ち着きを取り戻し静寂が包み込む。

朝日が私の崩れきった生活習慣を正そうと降り注ぐ。

空気がおいしいとは良く言ったものだ。東京で美味いのは、飯だけだと思っていたがそうではないようだ。東京を満喫するつもりはなかったが、それは難しい。

スタバ開店の7時まで散歩をすることにした。

美味い空気、運動による血液の循環。脳に血が回り過ぎると素晴らしいアイデアが出る。

「人の顔面にものを投げるならプッチンプリンがいいのでないかとかね」

何も突然、プッチンプリンを考えたわけでない。私は一般的な思考の持ち主ゆえ、考えることができるのは、お金持ちになりたいという具体性のない小学生のような夢だけだ。

ちなみにプリンは好きだ。

朝日を浴びながら散歩をしていると人間、真面目なことを考えてしまうものだ。社会や人生のこと。

そして、愛について!!!

かのマザー・テレサは言った「愛の反対は憎しみではない 無関心だ」と

それに従うと「暴力の反対は平和でない。プリンだ」

もう、僕はプリンのことしか考えられない体になっていた。東京の朝は怖い

本記事は、暴力の反対にプリンがあるということを言いたいのでない。話を進めるために「暴力の反対はプリン」であることに一度納得してもらいたい

プリンについて深く考察することになった私はある説を発見する。

そう、プッチンプリンを投げても人は怒らないのではないかと。

そして、どうせ投げるなら顔面がいいと。

ああ、人の顔面にプリンを投げたい。投げたい。投げたーい。

そうしている間に時間は過ぎ、散歩が終わってしまった。プリン的思考の終了である。

ところで、東京にはRuby(プログラミング言語)の勉強会に参加するために訪れた。

どうせなら、リモート先でRubyを書いて高い意識で勉強会に参加しようと無理を言って2週間オフィスに滞在させてもらうことになった。

2週間の滞在中に、昔のインターンで一緒になった人達と集まることになった。

この集まりがこの記事を書くことになった元凶である。

インターンというのは、どこに行っても優秀な若者が集まっているものだ。そして、優秀なものは、高学歴である確率が高い。この後、右を見ても左を見ても高学歴の晩餐会に参加しまうことになるのだ。

高学歴という肩書きを持つ多くの者は、サークルで飲み会に行く途中の退屈でどうしようもない時間にミュージカルを歌ったり、塩素で汚れを落とすことに夢中になり服を一つダメにするといったことを行わない、理解に苦しむ生態系を示す生き物だ。怖い怖い。

高学歴が集う晩餐会、当日。

東京に滞在している理由や近況報告などを行い、気が緩んだその時

うっかりプリン発言をしてしまった。

「人の顔面に何か投げるならプッチンプリンがいいよねー」

凍りつく空気。どうにか、高学歴の方々はその真意を汲み取ろうとする。

日本最高の頭脳大学に所属する友人が理由を問う。

なぜ、プッチンプリンであるべきかを。

冷静になり、論理的に話を組み立てなければ、論破される。

雲行きが怪しくなってきた。

プリンと平和の関係、またプッチンプリンがパーティーグッズとして有効であることを証明する。

そんなことが答案用紙に名前と簡単なクイズの回答を書くだけで入学することのできるFラン大学生に可能なのだろうか

結果は自明だ。無理だった。

しかし、このままで終わるわけにはいかない。負けっぱなしは嫌なのだ。

自分の努力不足を学歴や環境によって言い訳するのは、バカのやることだ。

アホであることは、認めるが腐ってもバカにはなりたくない。

次に説明する機会があるかもしれない。その時は、プッチンプリンについて深い考察をして納得させたい。

成長だ。自己成長なのだ。失敗は、成功の元。この失敗を活かさなければ、生きる道は途絶えるのだ。

とりあえず、思考を整理しよう。プッチンプリンとは何か。プリンとは?

なぜ、パイよりプッチンプリンなのだ?

3つの理由がある。

続きを読む