Webishブログ

未経験からweb開発を目標に必死に勉強している人のブログ

プログラミングとフレームワーク

ここ最近は、ひたすらにフレームワークの勉強している僕ですが

 

プログラミングの勉強というのをほとんどしていませんでした。

 

そんなある日、あるサイトでエンジニアなら誰でも解ける問題というのを見て

 

 

「え・・・」

 

 

となりました。

 

もちろん、一通り文法を(Codecademyで)学び、AOJ(AIZU ONLINE JUDGE)でイントロダクションを舐めた程度は勉強していたので、まぁ悩むけどできるだろうと思っていました。

 

 

実際は、全く解き方が分からない・・・。

 

どういう事だ・・・僕はこれまで何を勉強していたのだ・・・。

 

 

となりました。

 

しかし、よくよく考えてみると、フレームワークの勉強が9割方を占めていたので、解けないというのも分からなくもない事でした。

 

「マズイな・・・。エンジニアを名乗る以上、プログラムを書けなきゃ意味がないではないか・・・」

 

という事に気づいたので、これから少しずつプログラミングの勉強を取り入れていきたいと思います。

 

しかし、僕がやったことある言語はPythonRubyだけなので恐らくそのどちらかを勉強することになるのですが

 

個人的に、読みやすく、書きやすいと思ったのはPythonの方なのでそちらでプログラムの勉強をしていきたいと思います。

 

僅かな期間(1ヶ月ほど)ですがDjangoを触った事があり、Pythonに関してはCodecademyでも100%の学習率ですし、ドットインストールでもPythonだけやるくらいは好きなので、そっちで基礎を固めながらRailsRubyを勉強できたらと思います!

 

(どっちかに絞った方がいいかとは僕も思います。。)

 

悩みますね・・・。

Rails・地獄のアソシエート機能

タイトルで察した人は、多いと思います。。

 

Railsをやった事ないとか、Webってなに?って人に簡単に説明すると(むしろ簡単にしか説明できないw)

 

 

アソシエートというのは、直訳で「関係」、つまり相手と自分の関係のようなものです。

 

具体的に言うと、ツイッターのように呟くとポストされます。

 

その投稿されたポストは、僕から発せられたポストであって、僕の友達のポストではない。

 

その投稿が僕から発せられたポストであると言う事を明示するための機能です。

 

よく、1対多のように言われるもので

 

僕というのは一人なのに対し、ポストは何個でも存在します(僕が100回呟けば100個のポストが投稿されるように)

 

このようにアソシエートというのは、色々考えるだけでも面倒なのですが、それを実装するのは本当に骨が折れる作業・・・。

 

エンジニアの方からしたらこの程度でつまるなら、先が思いやられる・・・と思うかもしれませんが、初心者からしたらこの程度でも地獄の所業なのであります。

 

これにウンウンと頷いてくれる駆け出しエンジニアは多いはずw

 

僕も例外ではなくとても苦戦しているのですが、なんとか周りのエンジニアの方に支えられながら、必死に足掻いてるところであります。。

 

少なくとも、それができれば、かなり道は開けると思いますし、恐らくRailsの中でもかなり面倒な部類だと思うので、ここが山場だと思って乗り切りたいと思います。

僕の英語経歴3

 前回に引き続き、していきます。

 

今回は、留学での経験を話そうかと思います。

 

僕の留学は少し変わっていて、語学留学ではありませんでした(結果的に、語学もそれなりに伸びたので、語学留学にもなるのかもしれません)

 

ある専門学校に入るために、カナダのバンクーバーに行ったのが始まりでした。

 

バンクーバーでの生活はとても新鮮でした。

 

数多くの国籍の人がいる場所でもあり、カナダでも珍しく気候が過ごし易く、ビル街でもあれば自然もある。

 

なんと素晴らしい所だと思いました。

 

それと同時に思ったのは、アジア人の多さである。

 

とにかく、ひたすらアジア人が多い。

 

中国人、韓国人、日本人もさる事ながら、フィリピン人など、とにかくひたすら多国籍。

 

ブラジル人、スイス人、イタリア人、トルコ人。本当に多くの人がいます。

 

僕もその中に混じって勉強したり、仲間に加わったりしたのですが、やはり感じ方、考え方は違うと思うところもあれば、誰でも共通で感じ考える事もあるので、大変面白いものがありました。

 

 

さて、そんな事より英語の話でしたねw

 

 

当時の僕の英語は4年ほど勉強をした所で、学校でも英語で授業を受けていたくらいで、TOEICは800点くらいでした。

 

それなりに学校でも英語の授業についていき、普通に文法や単語も勉強していたので問題はなかったのですが

 

バンクーバーに来て、まずビックリしたのが

 

 

圧倒的な訳の分からん他国のアクセントである・・・!

 

 

これが・・・他国アクセントか・・・!

 

よく言われる、英語はもはや世界の言葉で、「これが英語」という基準はないという事を聞きます。

 

これを実感しました。

 

特に、東南アジアの英語はもはや僕の知ってる英語ではなかった。。

 

それでも、話が通じてる人はいる・・・。僕もそれなりに日本で英語を勉強して自信がついていたのに、全く分からない・・・。

 

これは正直、かなり自信を砕かれました。

 

しかし、話すしか道がないので、話す必要がある時は頑張って話しました。

 

ただ、やっぱりカナダ人の方がわかりやすい・・・。

 

それは本当に純粋に思いました。

 

正直、今でも東南アジアアクセントの英語は分からないです。

 

けど、その人たちからしたら、それでも彼らが使ってるのは英語で、それでコミュニケーションが取れるもの。

 

そこで、英語は完全に道具なのだという認識になりました。

 

もちろん、心が通う道具なので、それで人を傷つける事もできるし、人を救う事もできるけど、それも全て英語という道具を使って行われる事。

 

英語ができる事がステータスになる日本にいたのではなかなか感じられない事でした。(実際、日本の世の中ではそういう風習があるので、それに従った方が過ごしやすい事とは思います)

 

僕がバンクーバーで感じ、自信を砕かれて、学んだ事であります。

 

日本にも多くの外国人がいると思いますが、彼らが旅行できたりするのは、道具としての英語を利用しているのだろう。

 

僕も、ある種英語を道具にしていこうと思ってるので、その心を持ち続ける事は大事だと思います。

僕の英語経歴2

前回に引き続き、書いていこうと思います〜。

 

そんなこんなで師との出会いにより、僕は今の夢を見る事になったのですが

 

そう簡単なものではない。

 

受験ではそれなりに英語が得意科目になったのはいいのですが、所詮受験レベルでしたので、さらにそこから伸ばす必要がありました。

 

とりあえず、初めて受けてみようと思ったTOEICは、大学1年の時に受けたのですが

 

まさかの

 

 

400点代・・・。

 

 

これには正直、絶句しました。

 

それなりに勉強したつもりでしたし、受験でも得意だったのでもう少しとれると思っていたのですね。

 

しかし、実際箱を開けてみれば400点代。

 

もう、神は僕を見放したのだと思いましたw(明らかに自分の実力不足です)

 

そこから、せめてこれくらいは取れるようになりたいと、TOEICの勉強を続ける決意をしました。

 

そこから少しずつ勉強していき、一年が経つくらいで700点を取れるようになっていました。

 

しかし、実際700点なんて「英語が使えない」から「あまり英語が使えない」部類に変わった程度だったので、実感的に400も700も変わらないなという印象でした。

 

そこから、しばらくTOEICから離れて勉強するのですが、英検を勉強したり、音読に力を入れたり、精読に精を出したり・・・。(なんちって)

 

そこからさらに1年が経った頃に800点を取る事ができました。

 

そこらへんになると、変に自信がついてしまって、「へへへ、英語なんてちょろいぜ」とか思い始めちゃうんですが、そこから決めた留学で

 

心を折られます。

 

しかし、これまた次回・・・。

僕の英語経歴について

人の英語力を表現するのはどうやって表現したらいいのかいまいち分からないので、自分の英語力もどう表現したらいいのか分からないのですが

 

資格などで書くと、

 

英検準一級

TOEIC800後半

IELTS 6.0

 

程度というような感じになります。

 

ただ、実際は英検一級の単語や新聞用の単語などを勉強したり、高校の重箱の隅をつつくような英文法やら、留学で学んだスラングなどもあるので、これで全てかと言われるとそうでもないよと言いたい訳ですが

 

一応、人にも英語を教えている立場ですので、少し英語の勉強についても触れたいなと思います。

 

僕が英語を初めて勉強し始めたのは、高校を卒業して、大学入るまでの浪人期間です(実は浪人してますw)

 

当時の僕は、英語の「え」の字も分からなくて、日本語をそのまんま英語にしてました。

 

例えば、

 

「私はりんごが好きです」という文を

 

「I apple like.」といった感じに。(しかも冠詞とか、助動詞とか一切考えていない状態)

 

まぁ、これが僕の英語の勉強の始まりな訳ですが、それからここまで成長したのは他でもない、僕の英語の師の存在が大きかったです。

 

師は僕に勉強以上に、人生について教えてくれました。(実際その教え通りに生きてるかは分かりませんが・・・w)

 

そんな感じで僕の勉強が始まったのですが、それはそれは辛いものがありました。

 

毎日毎日、読んでいるのに成長しない英語力やら、上がらない点数に涙していました。

 

当時は、受験のための英語と考えていましたが、その師に出会ってからは英語を仕事で使いたいと思うようになりました。

 

どういった仕事があるかと考えたところ、通訳や翻訳が目につき、それから僕の夢はそちらに向かうようになりました。

 

ところで、知ってましたか? 英語を使う仕事というと(外国人がビジネスパートナーとかなら別ですが)、英語講師か、通訳か翻訳しかないんですよ。

 

いやー、世界は狭いですなぁ・・・。

 

でも、英語を使えるようになると世界が広く感じられます。日本という狭い世界にいなくてもいいという安心感(?)を感じる事ができるのが、唯一の救いです。

 

僕の英語経歴については、また次回に引き続きにします。

 

今回は、僕の力がどれくらいで、どういう出会いをしたかをメインに書きました〜。

少し更新が滞ってましたが、最近の気づき

最近、よく求人を見たりする事があるのですが

 

当然、Rails関係の仕事を探したりしている訳ですが、やはり未経験には重い扉のようで、なかなか参入できる隙間がありません。

 

とりわけ目についたのが、経験3年以上といったものが多いと言う点。

 

さて、未経験なら特にそうなんですが、経験3年以上って実際どれくらいの能力なのか・・・と気になりますよね。

 

逆に言えば、3年の経験はないけれども、それに相当する能力があればいいという事ですよね。

 

ここは、未経験が参入する際、大きな障壁となる部分なので、調べてみたのですが

 

あるエンジニアの方にお話を伺ったところ

 

この3年というのは、一先ず

 

①HTMLファイルにRubyを導入する事ができる。

MVCの役割がある程度分かり使える。

③Databaseとの連携ができる。

④Gitを使ってバージョン管理がある程度でき、プッシュする事ができる。

⑤HTML/CSSに関して扱う事ができる。

⑥Herokuなどを使って、デプロイする事ができる。

APIを取り込んだ開発ができる。

 

こういった事が、割とスムーズに行う事ができて、かつデバックも行えるというのが、3年レベルの経験らしいです。

 

いやー、こうやってみるとなかなか未経験にはハードルが高いですが

 

もちろんこれは、3年以上の経験を要する人を募集している場合なので

 

未経験募集に関しては、これらが全て完璧にできると言う事はないそうです。

 

ただ、やはりそれなりに独学でも勉強してそれなりにできる人が来れば、できる順に取られるのは世の常ですね・・・。

 

独学でも、これらの事を少しでも触れた事があるようにした方が、参入するには楽なのかもしれません。

 

僕もまだまだ未経験で、これから参入しようと考えてる人間なので、ぜひこれを機に、未経験からの参入していく様をお伝えできればと思います。

Railsの勉強始めて2週間ちょっと。

2週間ちょっとが経ちました。

 

現状の整理をして見たいと思います。

 

現在、自分の感覚で「できるなー」「まぁ、頭には入ってるかな」っていうものをあげて見たいと思います。

 

 

1. RoutersとControllerの関係は理解できる。ただ、Controller内の記述に少し悩む事がある。例えば、sourcesでRESTfulに作った場合、すぐに何が作られたか分からなくなって、何度も調べる事になる。そして、アプリによっている機能、いらない機能がいまいちパッと分からない。

 

2. ControllerとModelの関係が少しあやふや。DBからデータを取得して、それをControllerで操る事がまだ少し苦手意識あり。しかし、練習すればいけるなという実感はある。問題は、DBの扱いにまだ慣れていないのもあり、見たい情報をすぐに出せなくてモヤっとする時が多々あり。DBはDBで単独でまた勉強した方がよさそう。

 

3. ControllerとViewsの関係。これも一応理解はしているが、やはりDBの情報を表示させる事に抵抗がある感じ。ちなみに、苦手意識がとくに強いのがparams変数のところ。formを作る時、記入されたものをDBに保存して、それを表示するまでの流れがまだいまいち把握できていない模様。

 

4.  Viewsの書き方。3と同様、formの書き方や、パーシャルやヘルパーの使い方がまだまだ理解が足りていない模様。Layoutsの使い方はある程度理解し、各Viewsに関連付ける事は理解できた。

 

大雑把にRailsを学んで見て2週間で得られたのはこの程度ですかね。。

 

恐らく、こんなのは序の口のさらに基本な所なので、早く脱出したい気持ちを抑えて、しっかり固めてから次にいけるようにしたいと思います。

 

このフェイズをあと2週間ほど勉強したら、次のフェイズに移行しようと考えています。