Title TBD

中途未経験からエンジニアを目指してエンジニアになりました。学んだことなど中心に書いていきます。最近はもっぱらnoteで書いてます。https://note.com/toshi65811

プログラミングを学び始めて2ヶ月経ったので振り返ってみる

こんにちは、Toshiです。 さすがに今年は明けないかな。と思っていたらとやっぱり年があけて、早いものでもう1月が終わりました。 12分の1が終わったわけですね。早いですねー。みなさんはいかがお過ごしですか。

さて、タイトルどおりですが、2018年12月1日からQuelcodeというプログラミングスクールに通い始めてもう2ヶ月がたちました。

1ヶ月目のまとめはこちら。

この1ヵ月で何を学んだとか簡単な振り返りをしていきたいと思います。

目次

  1. 学習時間

  2. 使ったテキスト

  3. 今月学んだこと、アウトプットしたこと

  4. 参加した勉強会など

  5. 今月買った、読んだ本

  6. スキルシート、現状と来月どこを埋めるか

  7. 2ヶ月目かかった費用

  8. Totalの経費

学習時間

まず、今月の学習時間ですが、結構がんばりました。

f:id:toshi3arai3:20190201000158p:plain
先月と今月の学習時間

なんとか仕事をしながら月間で100時間を超えられました!8時間くらいはブログを書いたりなどしているのですが、90時間以上プログラミング学習に費やすことができました。

詳しい内訳はこちらです。

f:id:toshi3arai3:20190201000247p:plain
色々やりました

12月に比べて学習時間が伸びた要因としては、先月末くらいから自宅で学習できるようになったことです。それまではカフェとかに行かないと勉強できなかったんですけど、今は自宅が1番集中してできるようになりました。
なのでわざわざカフェに行く必要がなくなり移動時間が発生しないので、そのぶん勉強に時間を費やすことが出来ています。
あとは1月中盤から、土曜日のスクールの授業後に生徒同士でもくもく会を始めたので、それのおかげで土曜日は安定して6時間ぐらいは勉強できるになったのも大きな要因です。
最大はPS4をほとんどやらなくなったことですね。12月は70時間くらいやってました😇

使ったテキスト

今月はこの2冊を使いました。よくわかるPHPの教科書に3週間ほどかかり、1月後半からWordpressの学習をはじめました。 よくわかるPHPの教科書には結構苦しめられました。笑
ですが、その分PHPの理解が少し出来たかなという実感もあり、次のWordpressのテキストは少し余裕をもって取り組むことが出来ています! 大変でしたが、3周してよかったです😊

よくわかるPHPの教科書 【PHP7対応版】

よくわかるPHPの教科書 【PHP7対応版】

本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版

本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版

今月学んだこと、アウトプットしたこと

昨年末から1月8日まではサイト模写をしていました。今見返すと一部ちょっとずれていますが、結構HTML/CSSを頑張っていました。
こちらでご覧いただけます。(PCからしかちゃんと見れません)

http://aquatapir4.sakura.ne.jp/

その後PHPの学習を開始し、PHPの基本的なこと、GETやPOSTの違い、またオブジェクト指向なども少し学びました。 アウトプットとは言えませんが、よくわかるPHPの教科書で作ったTwitter掲示板を作りました。

オリジナルアプリなどの形としてアウトプットは残せていませんが、こうして振り返ると結構なスピードで色々勉強をしていたんだなと感じます。

参加した勉強会など

今月は初めてAWS Loftに行きました!広くてとてもオシャレで集中できる環境なので、今後も定期的に通おうと思います。 また、Laravelの勉強会にも参加しました!

Laravelには興味があったので、勉強会に参加できてよかったですし、もう少しPHPを勉強してから再度挑戦しようと思えました。
今月はスクールの懇親会や、勉強会を通じてTwitterでつながりがある人と実際にお会いしてお話する機会が結構あってとても楽しかったです!
Twitterで先に交流があると、リアルであったときもすぐに打ち解けることが出来るのでいいですね😊 今後も色んな人と出会えたらなと思います!

今月買った、読んだ本

スクールで使用するテキスト以外に今月いくつか本は買ったのですが、まだ1冊もちゃんと消化できてません。。。

これはサイト模写している時にCSSの設計が全然うまく行かず、その時にずっと読みたいと思っていました。
サイト模写完成後に何故か購入して、今はCSSはそれほど勉強する必要がないので、買ったものの読んでません。必要になった時に読みます!

SOFT SKILLS ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル

これは以前から気になっていて、メルカリでポイントも余っていたので勢いで購入しました。軽い気持ちで読めそうでいいかなと。(買ったけどまだ届いてない)

痛快!コンピュータ学 (集英社文庫)

痛快!コンピュータ学 (集英社文庫)

これは以前から持っていて一度読みましたが、松田信介@X-HACK (@XHACK20) | Twitterさんがオススメされていたので、再度読み返そうとしています。

FACTFULNESS(ファクトフルネス) 10の思い込みを乗り越え、データを基に世界を正しく見る習慣

FACTFULNESS(ファクトフルネス) 10の思い込みを乗り越え、データを基に世界を正しく見る習慣

これはプログラミング関係ないですが、今読んでます。翻訳がとても自然で読みやすいです。 翻訳された方が以前書かれたこの記事が面白かったので買ってみました。

シリコンバレーのエンジニアが語る、誰にも悪気はなかった話 | 上杉周作

プログラミングの勉強だけでなく、本も読んでいきたいです。リーダブルコードとか読んだほうが良さそうだなと感じてはいます。。

スキルシート、現状と来月どこを埋めるか

Quelcode設立者であるこうやんさんの公開しているスキル要件は未経験者にとってとても参考になると思います。

今月から、スキル要件のどこを今できて、次にどこを埋めていくか。を振り返って行きます。 スクールに通う予定の半年間でレベル1をすべて埋められるように頑張ります。

項目はいくつかありますが、上から見ていきます。
まず、業務規模・役割のところに「エラーメッセージを自ら調べて…」とありますが、ここは少しずつ出来てきている感は自分の中ではありますが、出来る人から見たらほんとぴよぴよレベルだと思うので、今後多くの失敗を重ねてエラー対処能力を上げていきたいです。

経験のところは、まだ全て全然です。静的ページも1ページのしか作ったことがありません。 ここは3月以降に実際にWordpressやFWを使って何か制作していくうちに身に着けて行きたいと思います。

スキルも全然ですねー。全てにおいて全然過ぎて泣けてきます😂
HTML/CSSは文章構造を意識したマークアップが以前サイト模写した時には出来ていませんでした。Wordpressで友人のカフェサイトを作る時には、SEOなども勉強しなきゃなのかなと思っています。
Gitも一人で使うだけだったので、プッシュのみでしか使っていません。これはチーム開発とかしないと無理かなと思いますし、やれば身につくだろうなという自信はあります。
ビルドツールの中で、GulpはSassとか始める時によく見た単語でなんか便利そう。くらいのイメージしかない現状です。
どれも実際に作る作業をしないと必要性がないので、身につかないことばかりかなという感じです。

スキルの中で今できることとして、jQueryの勉強は今から始めることが出来るので、これはWordpressの学習と並行して優先順位低めで進めて行きます。 なので、今月はjQueryを初心者と言えるくらいのレベルまで引き上げていきたいです💪

2ヶ月目かかった費用

プログラミング関連としてかかった費用はこちらです。
スクール料金(1ヶ月分):50,000円
スクールで使うテキストと動画:6,704円
自分で買ったプログラミング関連本:3,200円
USB変換コネクタなど:6,397円
生徒同士のもくもく会:1,400円

合計 67,701円
といいたいのですが、今月はMacを新たに購入しました。

ですので、2ヶ月目の合計金額は290,205円です。

Totalの経費

1ヶ月目は52,800円でしたので、合計すると343,005円です。 回収できるのか不安になってきましたが3ヶ月目も日々がんばります💪😇

英語の勉強習慣がない人へ 大人公文のススメ

こんにちは、Toshiです。

先日こんなツイートをしました。

ほんとここに書いてる通りなんですが、英語を身に着けたいなら公文に通うの1つの方法としてオススメです。

英語が初心者で全然続かない。勉強習慣がない。という人に向けて、どのように公文を利用して格安で学習習慣を身につけるか。またアウトプットを進めていくかを説明します!格安で出来るので英会話スクールに通う前にぜひ一度試してほしいです!

 

目次

 

なぜ大人公文を勧めるのか

まず、そもそも大人公文ってなんなんだ。って話ですが、要は大人が公文に通う。ってことです。公文は基本小中学生が通うイメージですが、教室によっては大人の生徒を受け入れてくれる教室もあるので、近くの教室に確認してみてください。

近くの教室を探す | 公文教育研究会

次に、なぜ大人公文を勧めるのか。これはとてもシンプルです。

ずばり、教室に通わないといけないからです。

毎週平日2回(私の教室は月・木でした)教室に通い、先生に宿題を提出して採点をしてもらって、当日分のプリントを数枚教室で解き、帰りにまた宿題を貰って帰る。そして、平日は否が応でも宿題をやらなければいけない。

このように、毎週同じ曜日・時間に強制的に勉強する時間が確保できるのです!

これが本当にとても大切です。私はTOEICコーチングをしており、30〜40代の生徒さんと最初に電話面談をするのですが、皆さん忙しくてなかなか勉強時間が取れない。と言うんです。

でも、本当にそこまで忙しい人って実は少なくて、学習のための時間をブロックする勇気がないんですね。この時間は他の予定をいれない、勉強するんだ!って決めて実行するプロセスをなかなかしません。

その面倒な意思決定のプロセスを、公文はやってくれるというわけです!

また、教室で一緒に勉強するのは小学生や中学生で、彼らは宿題を忘れたりやってこなかったりして先生に怒られたりしてます😭

そんな状況で、大人であるあなたが宿題をサボってくるなんて訳にはいきません!

私の例ですが、宿題は毎日少なくとも30〜60分は勉強しないと終わらない量が出されていました。

宿題と、教室に通うという強制力を利用して、必然的に毎日学習するような習慣がついてきます💪

教材のクオリティは

教材のクオリティに関しては、作家の佐藤優さんも推すくらい良いものです。

president.jp

私は公文では数学しかやったことがないのですが、隣で小中学生がイーペンシルというプリントの英語を発音してくれる機械をつかって勉強しているのを見ていました。

発音・文字・イラストを結びつけて学習できるのはいいなと思いますし、公文は何よりもスモールステップで進んでいくのが素晴らしいです。教材に関して詳しくはこちら。

英語: 教材内容一覧表 | 公文教育研究会

 

スモールステップで進んでいくことによって、少し時間はかかりますが、着実に英語力が身についていきます。

何より、やれば出来るんだ!という自信がつくのが最大のメリットだと思います。

いつかは公文を辞めて更に上のレベルの学習をするときに、少しずつやれば絶対にできる。という自信を持つことはとても大切です💪

大人公文の料金は

料金は東京・神奈川県内の教室だと1教科9,720円で、その他地域だと9,180円のようです。詳しくはこちらをご確認ください。

会費とお支払い方法: 会費・手続き | 公文教育研究会

 

はっきり言って、今英語コーチングスクールとか流行ってますけど、あんなのに30万とか使うならよっぽど公文のほうがちゃんとしてますし、何より自分で学習が出来る自走力がつくので、まずは公文を試してみることをオススメします。(おそらくコーチングスクールに通っても、その期間はチャットサポートなどのお蔭で継続できてもその後しっかり継続できる人は少ないのでは🤔)

学んだことをアウトプットしよう!

実際に公文に通い始めると、最初は小さい子供に混じって勉強するのも気恥ずかしいですが段々とそれもなくなり、すぐに勉強を習慣化できるようになると思います。(宿題の量や教室に通う頻度はおそらく相談次第で変更できます)

すると、そのうち気づくはずです。「あれ?なんか気づいたらめっちゃ勉強してね?てかもっと勉強したいんだけど!」と。

本当に公文はいい感じに「お前やれてるぞ!」感を感じさせてくれるんです。この成長実感は大切ですね。

ここまで来たら、どんどんアウトプットをしていきましょう!もし出来ることなら公文に通い始めた最初の日からでも大丈夫です!

では、アウトプットは何をするか?是非オンライン英会話で、公文で学んだことを活かして話してみましょう!

今はいろんなオンライン英会話がありますが、正直あまり僕は詳しくありません。ですが、DMM英会話は教材も無料で使えるものが沢山あったりと好印象を受けました。ここは各自調べてお好きなものを使うと良いと思います。

プランは色々ありますが、1日25分レッスンの月5,980円で充分だと思います。

eikaiwa.dmm.com

レッスンでは、公文で習った単語や文章を使って会話のトレーニングをするのがおすすめです!最初は習った文章の単語を入れ替えて、自分のことに関する英文を作っていくと良いでしょう。自己紹介する文章をどんどん作って覚えてスラスラ話せるようにしていくと、実際の会話では自己紹介の機会が多くあるので便利です。

毎回同じ先生に同じ自己紹介をしても、相手も自分も楽しくないので色んな先生とレッスンをするのがオススメです!

実際のレッスンでは作った英文が正しいかどうかの確認や、発音を確認してもらったり、他に良い言い換えの表現はあるか?など確認するといいですね。

公文でインプットしたらオンライン英会話で即アウトプットしていきましょう!

こうすることによって、より記憶に定着させられることができます。うまくいかないことや間違えることも沢山あると思いますが、どんどん失敗を重ねていきましょう!失敗をすることで、次は間違えないようにしよう!となりより正しい知識が定着します。

また、レッスンはあなた主導で進めるようにしましょう。最初は口頭で伝えるのが難しいかもしれませんが、チャットでその意志を伝えましょう。

例えば、I've already prepared some sentences. Could you check them if they are correct and if there're are better expressions, please let me know!

みたいな感じで伝えればOKだと思います😊

もし可能なら毎日レッスンを受けていただきたいので、宿題をやったらレッスンを受ける。教室に行ったら帰りにカフェなどによってレッスンを受ける。などセットにするとより継続しやすいと思いますよ!

 

公文で学習する上での注意点

ここまで公文をべた褒めしてきましたが、1点気をつけるべきだなと思うのは教室での先生の指導です。プリントの英文読み上げテストがあるようで、先生の前で英文を読み上げてちゃんと英文を覚えているか、また発音はどうか。を確認してもらうようです。

私の行っていた教室では、先生があまり発音の知識がないのに指導をしていて、全然間違った発音をしていないのに指導を受けていた可愛そうな生徒さんがいました。

なので、先生との相性などにはちょっとだけ注意は必要かなと思います。

終わりに

この、公文とオンライン英会話を組み合わせる方法は、実際に自分が公文に通っている時に思いつきました。

英語で一番むずかしいのは、文法や発音ではなく続けることなんですよね。私自身なかなか英語が続かなくて、学習開始から仕事で使うようになるまで4,5年かかっています。もし、私がもっと早くこのやり方を知っていたら、もっと早く英語を身につけられたのかなと思います。

英会話スクールは少ない地域はあると思いますが、公文は全国結構どこにでもあるので場所を選ばず実践できる方法でオススメです!

公文は都内だと1教科9,720円、オンライン英会話は月5,980円なので月合計15,700円で実践可能です!ぜひ英会話スクールなどに大金を使う前に試してみてくださいね😊

よくわかるPHPの教科書 2周目終えて。1周目で分からなかったことを明確にする

こんにちは。Toshiです。よくわかるPHPの教科書2周目がやっと終わりました。

 

 1週目より早く終わるかと思ったけど、分からないことなど色々調べてたら結局けっこうな時間がかかってしまいました。1周目終了時のツイート👇

 

 

時間こそかかりましたが、理解度は徐々に上がってきている実感があります。1周目は Chapter 5以降はほんとただただ写経って感じだったので、何が行われているか分かっていませんでした。

2周目の今回は「分かる、このコード分かるぞ!」って場面が何度かあり楽しくできました。ですが、それもChapter 6の中盤以降は「やっぱよく分からん😊」となり強引に2周目終わらせた感があるので、3周目はChapter 6の理解度を高く進めたいと思います。

いうてこのテキストでやったことはPHPのほんと1部分でしかないので、作りながら足りない知識を補う作業をしていかないと、知識は身につかないだろうなと思っています。

 

さて、今回の記事では1周目終了時に、よく分からん🤔ってなってたところを、解説記事などから引用して一つずつ明確にしていきたいと思います。

まず、1周目を終えてよく分からんってなってたのは以下です👇 

  1. Cookieってなに
  2. Sessionってなに
  3. MySQLのリレーションの貼り方なんやねん
  4. 変数から値を取り出す方法曖昧
  5. Get, Postの違いとは
  6. htmlspecialchars, ENT_QUOTESとりあえずおまじないとして入力してるけどなんやねん
  7. ->ってどんな働きしてるの
  8. ASって分かるっちゃわかるけど、説明しろと言われたら分からん
  9. fetchってなんや

1個ずつ、自分の各項目に対して持っていた認識と、解説記事からの引用(僕が振り返って読んで、あーそやった!って分かる範囲での引用なので詳しくは元記事参照)という形で誤った認識を正していきたいと思います。

解説記事のほとんどは@_7968_さんが書かれたQiitaの記事を参考にさせていただきました。ほんとうにありがとうございます!PHP超入門シリーズがなければPHPの学習は更に難航を極めたと思います。

@_7968_さんは初心者と書かれていますが、これだけ知ってるのに初心者と名乗るなんて初心者の定義とは…

1. Cookieってなに

自分の認識:ログイン情報とか保存しておくもの。有効期限を設定できて、その期間内(2週間とか)は消えない。

解説記事からの引用

1往復で通信が完了しているため、サーバーは、前のページからの続きなのか、関連したアクセスなのか、以前の状態を全く覚えていません。正式には HTTP Cookie という名称ですが、一般的には略してCookieと呼びます。Cookieは、クライアントに保存された情報のことです。

サーバーからのレスポンスメッセージに「Cookieを保存してください」という指示があれば、クライアントは指示に従い、Cookieを保存します。
クライアントにCookieが保存されていれば、クライアントは、常にリクエストメッセージに「このようなCookieがあります」とサーバーに教える仕組みになっています。

これを ステートレス(stateless) と言います。状態を保持(ステートフル)にするには、どのようにすればいいでしょうか。
答えは単純で、サーバーがクライアントに対して識別できる一意の値を渡し、クライアントはリクエストするときに、その値を教えてあげれば、サーバー側で識別できるようになり、それぞれの状態を覚えることができます。
その役割をしているのが、Cookie(クッキー)です。


HTTPは、リクエストし、レスポンスする、この1往復で通信が切断されます。保存できるサイズに上限があるため、Cookieに様々な情報を保存するという使い方はできません。

また、リクエストメッセージは、偽装可能です。Cookieもリクエストメッセージで送られてきますので、信用できない情報です。そのため、変更されて困る情報を、Cookieで扱ってはいけません。


例えば、商品名や価格をCookieに保存して、その情報を利用して買い物ができるシステムを構築することも可能ですが、リクエストメッセージとして送られてくるCookieは、偽装可能なため、価格を変更して買い物することができてしまいます。このような欠陥を防ぐためにも、変更されて困る情報は、Cookieで扱わないようにしましょう。


Cookieを削除するには、有効期限を過去の時間にしてください。また、Cookieをセットしたときと同じパス、ドメインを指定してください。

 

リクエストメッセージのCookieヘッダにある値は、スーバーグローバル変数の $_COOKIE連想配列として格納されています。
Cookieを削除するには、有効期限を過去の時間にしてください。
また、Cookieをセットしたときと同じパス、ドメインを指定してください。
リクエストメッセージのCookieヘッダにある値は、スーバーグローバル変数の $_COOKIE連想配列として格納されています。

2. Sessionってなに

自分の認識:ページ移行してもデータを保存してくれる。カート内情報とか?良くネットサーフィンしてても、一定時間操作せず放置してたら「セッションが無効になりました。」って出るよね。Cookieに対して、こちらはブラウザを閉じたり、一定時間が立つと無効になる。

解説記事からの引用

セッションとは、一連の処理の始まりから終わりまでを表す概念のことです。

例えば、ネットショッピングの場合、ログインし、商品をカートに入れ、購入まで一連の処理(セッション)として扱いたいですが、序章で説明したとおり、HTTPはステートレスのため、一連の処理(セッション)として扱えません。


そこで第1章で学んだCookieを利用して、一連の処理(セッション)として扱います。具体的には、Cookieに一意の値を入れ、リクエストするときにCookieにある値も一緒に送ってもらうことで、識別可能になり、一連の処理として扱えるようになります。


Cookieを利用することで、セッション管理が行えるということです。
session_start()を記述すると、セッションが開始されます。


先ほど、セッションを管理するには、Cookieに一意の値を入れて、リクエストしてもらうことで、一連の処理として扱えると説明しました。
この一意の値の役割をするのがセッションIDです。


session_start()を記述だけで、自動でセッションIDを発行してくれます。
セッションIDを発行するときに、セッションIDごとにセッションファイルを作成します。


このセッションファイルは、サーバーに作成されます。セッション情報は、サーバー側に保存されるため、Cookieのように偽装されることはありません。
そのため、偽装されて困るデータは、クライアント側(Cookie)ではなくサーバー側(セッションファイル)に保存するようにしましょう。


セッションIDは、個人を識別するために使われる重要な値です。セッション情報は、スーパーグローバル変数の $_SESSION に連想配列として格納されます。


先ほどの $_COOKIE と同じなので、意味は理解できると思います。$_SESSIONは、連想配列で値が格納されていますので、空の配列 array() を代入すれば、セッション情報は破棄されます。
最後にsession_destroy()関数を使って、セッションファイルを削除しています。


セッションファイルは破棄されましたが、クライアントにあるCookieにはセッションIDがあります。
Cookieを削除するには、先ほど説明したようにsetcookie()関数に過去の時間を指定して削除してください。
また、同じパスとドメインを指定してください。

 解説記事読んでなんとなく分かった気にはなっていますが、セキュリティ的にここはかなり重要っぽいので、今後も何度も記事を読み直して知識を確実なものにしていく。

ここで自分なりにCookieとSessionを簡単に説明できないあたり、まだちゃんと分かってないんだなと落ち込みます😇


3. MySQLのリレーションの貼り方なんやねん

自分の認識SQL構文のそれぞれがどういった意味を持つのかが分かっていない。m.id=みたいなやつ

これは2周目のテキストを読んでいく中で理解できました。100%分かってはいなけど、これは使っていくうちに覚える系だろうということで放置でOK.


4. 変数から値を取り出す方法曖昧

自分の認識:なんとなく分かっている。array[‘name’]みたいな感じだよね。2重配列とかあったし、明確にしたい。

取り出し方はあっていたし、Chapter 6の後半に2重配列も出てくるがそんな問題ではないと勝手に完結した。これも使っていくうちに覚える系と判断。


5. Get, Postの違いとは

自分の認識:スクールでもちょっと説明してもらった。GetはURLを長く出来る。なので、SUUMOの検索とかURLを長くしたいときは有効。けど、Getを使うメリットってそんなないから今は基本Postが使われる。Postは裏側でデータを渡す。

この記事を読んで以下のようにツイートしたら、何人かにここ大切だよーって言われたので大切っぽいです。

 

解説記事からの引用

Getとは
GETメソッドの利点は、クエリストリングを付与することで一つのURLとして扱われることです。

PHPというワードで検索した結果のページを別の方に伝えたいときは、http://qiita.com/search?q=PHP のURLを送れば、相手側にもPHPで検索した結果のページが表示されます。これがGETの利点であり、特徴の一つです。

Postとは
POSTメソッドの場合は、メッセージボディに入力した情報を記述してリクエストします。メッセージボディは、URLのように様々なところに情報は残らないので、ユーザー名やパスワードなど第3者に知られたくない情報はPOSTメソッドを利用します。

解説記事読んでも、あまりクエリストリングのあたり。 q=PHP とは?は重要っぽいけどあまり理解できずって感じでした。今後の自分に期待。 

記事にある、「リクエスト数が減れば、表示速度が速くなる?」は目から鱗でした。CSSスプライトはそういうことだったのかと理解した。(1枚の画像の表示位置を変えるだけだから、サーバーへのリクエスト数が減り表示が早くなる。)
「POSTメソッドを使っておけば、安全なの?」も面白い。ここでhtmlspecialcharsの大切さがわかりました😇

 

6. htmlspecialchars, ENT_QUOTESをとりあえずおまじないとして入力してるけどなんやねん

自分の認識:これは2周目やりながら、テキストの該当箇所を見直したりして理解を少し深めた。htmlspecialcharsを使う理由は、<とか’とかhtmlタグとして利用できそうなものを無効化?そのまま表示するようにする。

解説記事からの引用

ユーザーが入力した内容を表示するときは、エスケープする必要があります。
エスケープとは、HTMLなどのコードとして解釈されてしまう " ' < > などの特殊文字を、コードとして解釈されない文字に変換することです。先ほど、リクエスト内容は偽装できると説明しました。


悪意のある人は、HTMLなどのコードとして解釈される文字を入れてリクエストすることで、予期しない動作をさせようとします。


エスケープすることで、このようなことを防ぐことができるため、入力内容を表示するときは、必ずエスケープします。PHPの場合、表示するときに htmlspecialchars 関数を使えば、エスケープして表示されます。

テキストにENT_QUOTESは定義済みの定数で、htmlspecialcharsの安全性をより高めるもの。現段階ではこれ以上知る必要はない。と書いていたのでこれ以上は深掘りしないでおきます。

 

7. ->ってどんな働きしてるの

自分の認識:これもQiita記事を読んで少し分かった。アロー演算子と呼ばれて、インスタンス化したあとに、クラス内のファンクションを利用する際に使用する。

インスタンスのプロパティやメソッドにアクセスするには、アロー演算子と呼ばれれる -> を使います。

認識オッケーっぽい。クラスの考え方を以下記事で学んでから、かなりChapter 5以降でやっていることの意味が分かるようになったので、1周目やっている段階では読まなくてもいいけど、2周目に入る前に読んでおくと「あーテキストのあれはこういう意味か!」となれて楽しいです。

【PHP超入門】クラス~例外処理~PDOの基礎 - Qiita 


8. ASって分かるっちゃわかるけど、説明しろと言われたら分からん

自分の認識:これも2周目をやっていくうちに大分わかった。テキストだとAS cntなどと使われていたな。DB内の要素をカウントした数字などを扱う際に、変数みたいにすると扱いやすくなるからASをつかう。英語でもasって〇〇としてって使うよね。


9. Fetchってなんや

自分の認識:データを取ってくる関数。これも2周目をやっていくなかで、行のデータを取ってくる関数で、データがなくなったらFalseを返すらしい。と学んだ。

PHP: PDOStatement::fetch - Manual

PDOStatementオブジェクトに関連付けられた結果セットから1行取得します。 fetch_style パラメータは、PDO がその行をどの様に返すかを決定します。(PHP manualの説明)

 
PHP Manual読んでもよく分からなかったけど、このyahoo知恵袋の回答が参考になった。回答者さんは界隈では有名な人っぽいな。

$result = $stmt->fetch(PDO::FETCH_ASSOC);
「$stmt(PDOStatementオブジェクト)に対し、SQL文の実行結果として取り出される予定の行の集合から、fetchメソッドを実行するたびに1行ずつ、連想配列形式で取り出すことを指示し、返り値を $result に代入する。」

 自分の当初の認識もそれほど間違ってはいなかったのかなと思う。本当はもっと深い話なのかもだけど、今はデータを取ってきてなくなったらfalseを返すくらいの理解でいいのでは。 

10. =?に値はどう渡ってるんや

自分の認識:これは1周目終わったときはあまり問題視していなかったけど(意味分からずとりあえず写経してたから)、2周目のChapter 6を進めていて理解が低いときはここが絡んでいたように思う。

SQL文の中で=?が使われて、それ以降のPHPの文章で値が?に入っているんだと思うけど、そこがどう入っているのかよく分からない。どのコードによって?に値が入れられているのかが謎。

という疑問を持っていましたが、もう一度テキストを見返して
?の部分は、次の行で実行されるexecute内で指定して、その値が?に入るようだと分かって納得できました。

 

2周目を終えて

1周目を終えて持っていた疑問は、大抵テキストにちゃんと書かれていたなという感じです。テキストちゃんと読もうね、おれ。

とはいえ、Qiitaの記事など読んで全体像がぼんやり見えてきたことによって、テキストに書いてあることが理解できるようになってきて「これテキストに書いてたやん!」と余裕をもって気づくことが出来たのかなと思います。

3周目はChapter 5,6などのみを中心に取り掛かり早めに終えて、次のWordpressに突入します💪😇💪

プログラミングスクールに通わずにプログラミングスクールを再現してみる

こんにちは。Toshiです。以前こんなツイートをしました。

現在通っているプログラミングスクール Quelcodeのウェブサイトがまだないせいか、スクールの事情とかを聞かれたり、次期募集を待ってる人が私の知っている限り3人はいます。

スクールに通ってから本格的にプログラミングやろう!は非常にもったいないです。出来ることは沢山あります。やりましょう!

実際スクール通っている生徒でも、学習時間にバラツキはあります。入学してからいきなりトップスピードで勉強できるように、入学前からなるべく近い環境を作ることを勧めます。

2019年9月8日追記:プログラミングスクールに通って、エンジニア転職をはたしました。実際に働いてみてからの記事と、プログラミングスクール通うまでに行っていた独学・挫折などについても記事にしたのでご興味あれば読んで頂けると嬉しいです。

toshi65811.hatenablog.jp

 

toshi65811.hatenablog.jp

カリキュラム・テキストについて

これらは、以前の私の記事を読んでもらえればいいと思います。

ただ、いきなりHTML / CSSのテキストに入る前にProgateやった方が捗ります。それとタイピングも速いという自信がないなら必ずやりましょう!毎日やれば絶対に早くなります。 

腕試しレベルチェック - インターネットでタイピング練習 イータイピング | e-typing ローマ字タイピング

これ今やった僕の結果です。

f:id:toshi3arai3:20190119221954p:plain

もっと早く打てる!今は疲れてるからこの程度!ほんとに!

ProgateはHTML/CSSのレッスンだけでいいと思います。ProgateはHTMLの初級〜上級までを3周くらいやれば十分では? 

Progateオススメですが、とはいえProgateのようなチュートリアルばっかりやり過ぎるのは本当に無駄なのである程度のとこで切り上げましょう。このビデオ一度見ましょう。

 

www.youtube.com

 

ドットインストールも有名ですが、Progateやって、テキスト終わった後にドットインストールでHTMLやってからサイト模写に入るとスムーズかもしれません。ローカル環境構築とかの部分で。ウェブサイトを作れるようになろう、をやるといいのでは。https://dotinstall.com/lessons

サイト模写からがHTML/CSSの本番かなと思います。

 

環境づくりに関して

Quelcodeの授業は毎週土曜のみです。平日は自分で勉強進めます。なので、再現するなら土日どちらかをメンターつけて勉強しましょう。毎週同じ曜日・時間が継続のコツです。

必要なものとして

  1. 毎週同じ時間・同じ曜日に対面で会えるメンター
  2. 平日Slack等で質問が出来るメンター

この2つを用意する必要があります。

1,2のメンターはもしかすると違う人がいいかもしれません。メンターの当たり外れは大きいと思うので、最初は色々テストしてしっくり来る人を探したほうがいいと思います。

メンター探すなら、以下のサイトがおすすめです。

メンターを探す|MENTA

タイムチケット | 個人の時間を30分単位で売り買い

 

コストかかりますが、ここはあまり惜しまない方がいいと思います。時間がある人ならいいですが、コスト惜しんで独学でやろうとして挫折や間違った方向にいって時間をムダにするのはもったいないです。

 

学習仲間に関して

これ最初あまり重視していなかったです。正直スクールの講師の質を皆さん気にすると思います。ですが、学習仲間もかなり大事です。

今わたしが頑張れているのは、同じ目標に向かう仲間、同じ敵(PHP)に向かう仲間がいるからです。Study plusで同期が勉強しているのを見ると、頑張ろうと思えます!

 

学習仲間を探すなら、以下の3パターンでしょうか

  1. Twitter
  2. 勉強会・もくもく会
  3. Study Plus

Twitterは一番手軽だと思います。 などのハッシュタグをつけてツイートや検索をすると簡単に繋がれます。インターネットってすごいね!

次に勉強会・もくもく会です。なかなかHTMLとかやっている初心者だと参加できるのが限られるかもしれませんが、こちらの記事を参考に探してみてください。

qiita.com

もくもく会とか非エンジニアなのに行って良いのかな。となると思いますが、全然余裕です。現に僕がそうですが、5回以上は参加しています。もくもく会 is こわくない!

もし、地方でなかなかもくもく会などない。という人なら、Progateいっしょにやろう!みたいなもくもく会とかやると意外に人来るかもしれませんね。あなたが求めてるなら、きっと他の人も求めているはず。

 

最後にStudy Plusですが、Study plusもプログラミングのタグがあるので、そこから探すといいかも。でも、使い方としてはTwitterや勉強会でつながった人と、Study plus上でも友達になるのが良いと思います。

友達の学習記録にいいねしたり、コメントしたりして同じ悩みを共有したり、勇気をもらったりすると楽しいです。

なかなかStudy plus上で友達になった人と、関係を構築していくのは難しいかなと感じます。(数年使っていますが、ほとんどSNSとしての機能は使ったことありません)

 

ざっとこんな感じです!あくまでスクール通い始めて一ヶ月半の人の意見なので、話半分くらいでお願いね!これ通りにやったけど全然だめじゃんとか、このやり方じゃだめだろ!とかはごめんなさいね!

一緒にがんばりましょう!

 

よくわかるPHPの教科書 1周終えて詰まったところと分かってないところ

こんにちは。Toshiです。現在通っているプログラミングスクールでPHPの学習をしていて、テキストとして「よくわかるPHPの教科書」を使用しています。

スクールではこのテキストを3周することが課題とされていますので、まず1周終わった感想などを振り返りとしてまとめます。

 

2019年9月8日追記:プログラミングスクールに通って、エンジニア転職をはたしました。実際に働いてみてからの記事と、プログラミングスクール通うまでに行っていた独学・挫折などについても記事にしたのでご興味あれば読んで頂けると嬉しいです。

toshi65811.hatenablog.jp

 

toshi65811.hatenablog.jp

 

かかった時間と日数

このように、全体で8日間かかり、学習時間は24時間ほどでした。1周目はとにかく最後までたどり着く。を目標にしていたので、理解度はかなり低いです。

 

テキスト開始時の知識

このテキスト使用開始時の私のPHPの知識としては、ProgateでPHPのレッスンを何度か繰り返したくらいです。(結構前にやったので、オブジェクトのこととかほとんど覚えてません)

 

どのように学習を進めたか

テキストだけだと理解が難しい部分があったのですが、スクール生からUdemyのビデオを勧められてテキストと併用しています。(Udemyは頻繁にセールをやります。私は1,200円の時に買いました。セールやってないなら買うのを待つか、このテキストを使う予定なら先に買っておくのもあり)

テキストと同じ方が作成されたビデオで、やることの流れもテキストとほぼ同じなので、独学でやるならビデオも合わせて利用されることをオススメします。

ちなみに私のやり方としては

  1. まずビデオ(1.5倍速)でこのレクチャーで何をするかの概要を掴む。ここでは単に見るだけでコードは書かない。(2周目後半の今では、1周目から1.5倍速はちょっと無理あったかなと思っています)
  2. 概要を理解したら、テキストを見ながらコードを書く。(ビデオと若干違うコードを書く場合があるので気をつける。例としてechoがprintになってたりとか)
  3. もう一度ビデオを見て、今書いたコードがどのような働きをしているのか?を理解する。

こんな流れで進めています。テキストで説明読むよりは、動画で説明を聞いたほうが私は理解しやすいです。補足的にテキストも読みますが、大抵動画で説明されたことと同じことが書かれています。

ただ、後半になってくると1つのビデオが長くなってくることがあります。(1つのビデオで10分超えたりとか。)そうすると、1のまずビデオ見て概要を掴む。が複数の内容に渡ることがあります。その場合は、全部のビデオを一度見るより、1つ1つの内容ごとに区切って進めるほうが理解を伴って進めやすいと思います。

作業環境としては、自宅であれば外部モニターでビデオを見て、手元のMacでエディタを開いてコードを書いています。外で作業するときは、このようにiPadでビデオを見てMacでコードを書いています。

f:id:toshi3arai3:20190118132346j:plain

逆光えげつな


ビデオ見ながらエディタも開く。をやるにはおそらく15インチ以上の画面サイズがあったほうがいいかなと思います。13インチでやると、やれなくはないですがこんな感じです。これMacのスクショ撮ったのですが、どれくらいの広さか全然伝わらないですね。

実際に並べてやると、Udemyの画面がかなり小さくなり、ビデオ内のコードの可読性がかなり低くなると思います。

f:id:toshi3arai3:20190118132527p:plain

ちょっとせまいかなー

 


1周終えるまでに詰まったところ

1. Chapter 3-1 エラーメッセージを表示する

f:id:toshi3arai3:20190118130314p:plain

エラーメッセージ表示のために、iniファイルの編集をしないといけないのですが編集するファイルを間違えてました。テキストの書き方だと、MAMP/conf内のファイルを編集するっぽく読めるのですが、正しくは、MAMP/binの中にあるiniファイルの編集をしなければいけませんでした。

 

対処方法として、phpinfoで設定画面を開き、その中に php.ini ファイルがどこにあるのか書かれているので、正しいファイルを編集しているか確認することが必要です。Loaded Configration File という項目です。

phpinfo関数による設定内容の確認 | PHPインストールと初期設定

 

ファイルの位置がLoaded Configration Fileから分かったら、ターミナルからファイルを開くと間違いがなく安心です。(スクールの先生ともくもく会でコーチの方に教えていただきました😭)

Macのopenコマンドでファイルを開く - Qiita

 

2. Chapter 5-2 MySQLへの接続

f:id:toshi3arai3:20190118130320p:plain

 

Stackoverflow見て解決。port 8889を入れてあげなければいけなかった。なので、

  $db = new PDO('mysql:dbname=mydb; host=127.0.0.1; port=8889;charset=utf8', 'root', 'root');
となる。

 

 

 

3. あとこれ。テキストのどの辺だったか忘れました。

 

4. Chapter 5-2 execを実行する

ここでデータをSQLを使って挿入するのですが、ビデオのコードを見て、エディタで実行してもうまくいきませんでした。データが挿入されないのです。

もし同じ状況になられたら、何が問題なのかはブラウザ上ではわからないので、ここで行うexec内のINSERT INTO以下をphpMyadminSQLで実行されることをオススメします。

私の場合はsalesに数値をしてしていなかったのでエラーが出ていました。(テキストのコードはsalesに値を入れるように指示があります。)

 

Chapter 6でログアウトがうまく出来ない。という問題がありました。これはindex.php内に書いたログイン情報が残っているかどうか。を確認するコードの位置の問題なのか明確ではないので、それに関してはスクールの先生に聞いて明確にします。

 

1周終えて分かってないところ

  1. Cookieってなに
  2. Sessionってなに
  3. MySQLのリレーションの貼り方なんやねん
  4. 変数から値を取り出す方法曖昧
  5. Get, Postの違いとは
  6. htmlspecialchars, ENT_QUOTESとりあえずおまじないとして入力してるけどなんやねん
  7. ->ってどんな働きしてるの
  8. ASって分かるっちゃわかるけど、説明しろと言われたら分からん
  9. fetchってなんや

ざっとこんな所でしょうか。Chapter 5以降はもうただただ写経って感じだったので、何がどうなってるのかはよく分からず進めていた感満載です。

2周目でやっていくこと

上記のとりあえず8つは2周目で理解を深めていき、3周目でなんとなく説明できる。くらいまではなりたい。今2周目のChapter 4途中くらいまで来てますが、Cookieなど少し分かってきました。(分かった気になってるだけ)

->のアロー演算子もこの記事を読むことで理解が深まりました。このあたりはオブジェクトのお話なんですね。

 

qiita.com

 

テキスト著者様からリプいただけて、オブジェクト指向のことは今はそんな深掘りしないほうがいいのかなとも感じました。

 

あとは、先日参加したもくもく会で指摘を受けたのですが、デバックのやり方が全然わからないのは問題だなと感じています。var_dump( )を使うとよいと聞いたので、スクールの先生に質問する前にある程度は自身で問題の切り分けを出来るように力をつけていきたいです。

 

2周目は理解を深めることを意識しつつ進めます。とはいえ、実際になにか作りながら学ぶのが一番だと思うのでスピード感を意識して早めに終えるようがんばります!

早くなにか作りたい!

 

※2周目突入前にこの記事読んでオブジェクトに対して少し理解深めたらかなりテキストの理解がスムーズになりました。

qiita.com

どのようにスクールを選んだのかを振り返ってみる

こんにちは。toshiと申します。スクールに通いはじめておよそ6週間が経ちました。スクールを決めるまでにかなり悩みましたし、今現在悩まれている方も多いのではと思います。

そんな方のために、私がどのように今のスクールを選んだのか。また、どういったポイントに気をつけるべきかを書いていきます。別記事で、スクールに通う前に疑問に思っていたことをまとめたいと思います。

まず結果からいうと、@kou_yanさんのスクールに入学することにしました。始まったばかりのスクールですので(実質私が1期生的な感じかな)、まだWebsiteはありません。

追記(2019年9月7日):現在はWebsiteがあります。また、当時私が入学を決めた時よりも月額費用が高くなっています。

quelcode.jp

 

2019年9月8日追記:プログラミングスクールに通って、エンジニア転職をはたしました。実際に働いてみてからの記事と、プログラミングスクール通うまでに行っていた独学・挫折などについても記事にしたのでご興味あれば読んで頂けると嬉しいです。

toshi65811.hatenablog.jp

 

toshi65811.hatenablog.jp

 

スクールに関する資料はこちらです。
Dropbox - プログラミング学習①(導入).pdf

独自教材を使わない、個人にあったペースで進める、なにより料金が安いということもあり入学を決めました。

スクール入学をなぜ考えたのか

以前の記事でも書いていますが、何度も独学を試しましたが挫折を続けていました。特に、基礎を終えてから次のステップをどう踏み出せばいいのかわからない。また、踏み出しても、わからないことだらけで嫌になり挫折。を繰り返していました。

独学するための教材はたくさんありますが、どうやら私はスクールに行って、強制的に学習する環境・教えてくれる人がいないと続けられなそうだな。という結論に至りました。

とはいえ、スクールは数十万円かかるものなのでそう簡単に入学とはなりませんでした。過去に独学で英語を身に着けたこともあるので、なんとか独学で出来ないかと試行錯誤しました。

MENTAでメンターさんを探して、Slackでサポートしてもらいながら学習を少ししてみましたが、副業を始めるタイミングなどと重なり結局続きませんでした。(メンターさんは良い方でした。ただ、料金が月1,000円と破格に安かったので、サボっても痛くない。と考えていた甘さがありました。)

 

menta.work

 

どのように情報収集をしたのか

独学もだめ、メンターさんがいても駄目。となり、副業が落ち着いたタイミングで本格的にプログラミングスクールに通うことを決意します。それまでもちょこちょこネットで情報収集をしていました。ですが、何が正しい情報なのか分からず最初は苦労しました。

色々調べて最初に持ったイメージとして、

  1. 3ヶ月で30〜50万円くらいが相場らしい
  2. どこもRuby on Railsを教えているらしい
  3. 就職サポートをしてくれるところが多いらしい

こんな感じでした。おそらく「プログラミングスクール おすすめ」とかで出てくる記事を読むと同じようなイメージを持たれると思います。

ですが、どう考えても胡散臭い記事が多い印象を受け、同じような記事ばかりでなんの参考にもならないとも感じていました。

それからTwitterでも情報収集を続けていると、やはり「プログラミングスクール おすすめ」などで出てくるスクールは良くないんだなと判明。

 

Twitterで主に参考にさせていただいた方は以下の方です。 

ニートのSE (@neet_se) | Twitter

井上慎也@WEBエンジニア (@ino_dev) | Twitter

米村歩@日本一残業の少ないIT企業社長 (@yonemura2006) | Twitter

ヒツジ@t.s2019 (@sheepWebiOS) | Twitter

こうやん@プログラミングスクール開講準備 (@kou_yan) | Twitter

特にヒツジさんが多くプログラミングスクールに関してツイートされていました。30歳を超えて未経験からエンジニアになられた。スクールに実際に通われていた。周りの実際にエンジニアとして活躍されている方との繋がりもある。というあたりからヒツジさんのツイートを信頼するようになりました。

結果として良さそうなスクールは、ヒツジさんのこんな感じのツイートによって

Dive into code, サークルアラウンド、Quelcodeあたりに絞られました。

サークルアラウンドは場所的にちょっと通うのがしんどいので、Dive into code、Quelcodeのどちらかに通おうと決意しました。

実際に説明会などに行ってみる

通うべきスクールは絞られたので、あとは実際に説明を聞きに行きます。

ただ、ここで脳裏をよぎったのは「自分自身も勉強しながらお金もらえたらいいんじゃね?」というアイデアです。

Dive into codeは中途でメンターの採用を行っています。(2019年1月現在)

中途採用 | 採用情報|株式会社DIVE INTO CODE

ですので、メンターとして働きながら自身も学習するのもありかなと考えました。

 

そして、スクールとしての魅力は感じていませんでしたが、tech expertもメンターの募集をしていたので、興味半分で入学希望者としてまずは話を聞きに行くことに。

tech expertの話は長くなるのでまた別に書きますが、やはりネットで調べたとおりだなという印象でした。シンプルに良さを感じられませんでした。

次にDive into codeの説明会に行きましたが、すごく分かりやすく良かったです。入学してから卒業までのイメージをしっかり描くことが出来ました。入学をゴリ押ししてこないあたりも好印象でした。

最後にQuelcodeです。こちらは説明会はなく、事前資料と選考で色々質問させてもらって判断するという感じでした。

Dive into codeとQuelcodeで迷い、以前メンターをしていただいたNARI / フリーエンジニア🏕Teamkit (@NARI_Creator)さんにも単発でスクール選びの相談をさせていただきました。エンジニアの友人がおらず相談できる方がいなかったので助かりました。

 

最終的に、Diveは通学が9ヶ月と期間が長いことがネックとなりQuelcodeにしました。9ヶ月通うと私の派遣の契約状況的にめんどうなことになるので、半年を学習目安にしているQuelcodeのほうが私にはあっていました。(Diveが9ヶ月の学習期間を設けているのにはしっかりとした理由があります。私の状況と合わなかっただけです。)

また、QuelcodeがPHPを教えている理由にも納得できたという点もあります。

スクール選びのポイント

都合3つのスクールしか話を聞いていないので偉そうなことは言えませんが、スクール選びで考慮すべきポイントをいくつかあげたいと思います。

  1. メンターが現役エンジニアかどうか
  2. 独自教材を使っているか
  3. 教室を持っているか、またきれいさはどうか
  4. スクールの透明度

1. メンターが現役エンジニアかどうか

スクールによっては、メンター(教えてくれる人)が学生の場合もあるようです。当然ですが、現場経験のある人とない人だったら、経験のある人に教えてほしいですよね。

現職の私の上司は、元々世界的なIT企業のECサイトを作っている人でした。上司の話を聞いていると、エンジニアは職人的要素が強く、現場での経験がかなり大事なんだなと感じました。現場を経験していない人であれば、そういった大事なことは伝えられないですよね。

2. 独自教材を使っているか

使っていないほうが良いと思います。なぜなら、独自教材は常にアップデートが必要になり、その分経費がかかるからです。

余談ですが、私は以前英語のコーチになりたいと思い、英語コーチングを行っているR◯IZAPにまずは生徒として話を聞きに行きました。独自教材を使っているのを一つの売りとされていましたが、独自に作る意味とは?というくらいのものでした。

そんなものにお金をかけるなら、スクール料金を安くしてくれる方が生徒としては嬉しいですよね。結局基本を学んだらあとは実践なので。そして、それをサポートしてくれるメンターがしっかりいれば良いのではと思います。市販の教材、良質なWeb記事はたくさんありますしね。

3. 教室を持っているか、またきれいさはどうか

スクールが教室を持っていてくれることは生徒にとってはありがたいことだと思います。いつでも勉強できて、他生徒・メンターがいる環境はありがたいです。

ですが、教室を持つということはその分経費がかかります。また、過度にきれいなのは疑いたくなります。生徒が求めているのは教室のきれいさじゃなくて、いかに知識を身につけられるか、です。教室にお金かけるなら、スクール料金安くしてくれたほうが嬉しいですね。Diveの教室は良い意味で庶民的で信頼できました。笑

4. スクールの透明度

ここが一番大切だと思います。結局知りたいのは、このスクールに入って何をして、何が出来るようになるのか、です。tech expertは入学してからじゃないとカリキュラムを教えてくれないそうです。Why?

今回候補としてあがったスクールは入学前にいくつかスクールの内容、雰囲気を知るための方法がありますので、事前に必ずそれらに参加されてからどこに通うか判断されることをオススメします。

 

Diveは体験会やハンズオンを行っています。

DIVE INTO CODE | 無料カウンセリング・体験会申し込み

 

サークルアラウンドは定期的に勉強会や相談会を行っています。

サークルアラウンド式プログラミング相談所 | Doorkeeper

 

Quelcodeは毎週土曜日のスクール授業時に空きスペースでもくもく会が開催されています。(ほんとにいつも満席なので、早めに予約されることをオススメします)

池袋もくもく会 - connpass

 

プログラミングスクールは数十万円かかるものなので、これらを通じて事前にスクールの合う合わないを判断されると失敗が減るのではと思います。

終わりに

プログラミングの学習方法は様々です。スクールに行かなくても、もちろん勉強できます。ですが、私のように1人だと続かない。という人は早めにスクールに通われることをオススメします。独学で挫折して、自分には才能がないんだ。と思うのはちょっともったいないと思います。単純に学習を続ける環境が整っていなかっただけという可能性が高いと思います。

現に独学で全然続かなかった私はスクールに通って1ヶ月ほどで、コピーサイト2つ作れました。環境ってほんとうに大切ですよね。

しっかり情報収集をして、良いスクールに巡り合われることを祈っています。

プログラミングを学び始めて1ヶ月経ったので振り返ってみる(追記あり)

こんにちは。toshiと申します。仕事をしながらプログラミングスクールに通いはじめて1ヶ月が経ったので簡単に振り返りをしたいと思います。

tanakaさんのこちらのブログが素晴らしすぎたので、参考にさせていただきつつ進めていきます。会社を辞めているとはいえ圧倒的な作業量、成果、すごすぎる。。。

note.mu

 

2019年9月8日追記:プログラミングスクールに通って、エンジニア転職をはたしました。実際に働いてみてからの記事と、プログラミングスクール通うまでに行っていた独学・挫折などについても記事にしたのでご興味あれば読んで頂けると嬉しいです。

toshi65811.hatenablog.jp

 

toshi65811.hatenablog.jp

 

【目次です】

 

なぜプログラミングを学ぼうとしたのか

昔からプログラミングに興味がありました。もともと海外で働きたいと思い英語を学習していて、それプラス何か技能がないと海外では働けないことに英語学習開始から3,4年過ぎて気づき、プログラミングに挑戦したことがあります。

ですが毎回挫折し、Progateや初心者向けテキストなどを繰り返すばかりで何も成果物は作れず。

そんなことを繰り返しているうちに32歳になり、派遣の契約も2019年9月で3年経過することになり、いよいよやばいという状態になりました。

プログラミングを学んでどうしたい。というのはあるにはありますが、それよりは職業としてまずはプログラマーになりたい。というのが私の場合は強いかもしれません。

プログラミングを本格的に始めるまで

 

前述してますが、Progateやドットインストール、初心者向けテキストなどを繰り返してきました。いつもその次のステップに進むことができませんでした。5年ほど前に3ヶ月くらい職業訓練校でHTMLなど少し学んだことはありますが、なんの足しにもなっていません。

こういった、◯◯してみた系のブログを読んでいつも「この人に出来るなら自分もできそう!」と思っても、最後に書いた人のプロフィールを見ると ”東大大学院卒業” とか書いてて、「いや結局そもそも頭いいひとやん!」ってなってました。

ですがご安心いただきたいのは、私はピュア高卒派遣社員なので私が出来たらあなたにも出来るという再現性は高いのではと思います。そんな方のためにお役立てれば嬉しいです。

f:id:toshi3arai3:20190530014447j:plain

プログラミングスクールへ入学

 

いよいよ本格的に動き出さないと。となり、それまでもプログラミングスクールを色々調べていましたが、実際に説明会など話を聞きに行ってみました。この辺りの経緯は気になるところだと思いますが、時間がある時に別記事で書きたいと思います。

※書きました
どのようにスクールを選んだのかを振り返ってみる - Title TBD

 

最終的には@kou_yanさんのスクールに入学することに。入学前にかんたんな選考があり通るか不安だったのですが、通ってとても嬉しかった思いがあります。

大まかな資料はこちらです。
Dropbox - プログラミング学習①(導入).pdf

独自教材を使わない、個人にあったペースで進める、なにより料金が安いということもあり入学を決めました。

スクールでの学習を始める

 

授業は毎週土曜日9時から13時までの4時間です。課題が与えられ、それを各自進めて適宜質問する感じです。他スクールのように教室があるわけではないので、授業以外の時間でしっかり学習を進めることが求められます。個人的にここは人によって合う合わないが出そうだなと思います。

 

私は2018年12月1日からスタートしました。

まずはHTML/CSSの学習からスタートしました。この一ヶ月でやったことは、

 

1 HTML/CSS デザインの教科書 3周

www.amazon.co.jp

 

2 NRI様 サイト模写 1周

www.nri.com

 

3 N高様 サイト模写 1周

nnn.ed.jp

という感じです。3についてはまだ製作途中です。

 

12月は60時間くらい学習しました。1日2時間学習が推奨されているので、ギリギリ達成できました。計測はStudy plusを使っています。

f:id:toshi3arai3:20190104134852p:plain

 

それぞれのタスクにかかった時間はこんな感じです。

 

1 HTML/CSS デザインの教科書 3周に24時間

2 NRI様 サイト模写 1周に19時間

3 N高様 サイト模写 1周に32時間(途中書き直したり、現在製作途中なので40時間位かかりそうです)

 

1はProgateなどやっていたおかげで割とスムーズに進んだと思います。

2は初めてのサイト模写で難しかったのですが、とても楽しかったです。1で結構学んだから余裕だろうなんて思っていたら、クラス名の付け方とか相当めちゃくちゃになりました。

成果の見せ方がよくわからないので、とりあえずGithub載せておきます。

GitHub - toshi6581/quelcode: for quelcode project

 

3はまだ途中ですが、32時間でとりあえず大枠は完成という感じです。これはレンタルサーバーにアップしたのでURLのせます。PCからじゃないとちゃんと見えないと思います。これから修正していきます。

http://aquatapir4.sakura.ne.jp

 

参考までに、この一ヶ月で参考にさせていただいたサイトなどを紹介します。

まずはflexboxについて。1のテキストでは配置にfloatを利用しますが、flexboxが便利だよと講師の方に教えていただき試したところ、劇的に配置が楽になりました。

flexboxで特に参考にさせて頂いたサイトはこちらです。mozilaのサイトは見やすくて、かなり重宝しています。ありがたや。

 

developer.mozilla.org

 

Webクリエイターボックスさんはこの記事以外にも、他多くの記事を参考にさせていただいてます。このチートシートを会社のiMacの壁紙にしています。笑

 

www.webcreatorbox.com

 

基本的なCSSなどのことはサルワカさんをよく読んでいます。この記事大好きです。

 

saruwakakun.com

 

サイト模写を始めるなら、はにわまんさんのこちらの記事オススメです。オススメというか絶対見たほうがいいです。Google chromeの便利な拡張機能を多く知れました。

 

haniwaman.com

 

あとは、3のサイト模写をしている途中で自分のCSSの書き方などに疑問を持ち、設計方法など少し調べました。その際に見つけた以下の記事に本当に助けられています。(まだ全然そのポテンシャルを活かせていませんが…)

 

github.com

webnaut.jp

qiita.com

Sassの書き方をドットインストールで学んだのも大きかったです。CSSを書くのが非常に楽に早くになり、見通しよくなりました。

https://dotinstall.com/lessons/basic_sass

4週間を振り返る

 

参考にさせていただいたtanakaさんに比べると圧倒的に作業量、アウトプットが少なくお恥ずかしいです。12月半ばにPS4が値下げ + paypay 20%還元という異常事態が発生し、PS4を購入して70時間くらい遊んでしまったのが大きな反省点です…

 

ですが、スクールに入って本当に良かったと思います。一緒に勉強をする仲間がいるのもそうですし、Slackで講師の方にいつでも質問できるという安心感は大きいです。

正直、いつでも使える教室をスクールがもっているわけではないので怠惰な自分が続くか不安だったのですが、周りの方のお蔭でなんとか継続できています。

 

スクールに通いはじめてから、もくもく会にも行き始めました。今までなんとなく怖くて行けなかったのですが、毎週このもくもく会に行くのが楽しみになっています。ほぼ毎週開催していただいていることに感謝です。

elv.connpass.com

 

これまでかかった費用や買った本など

スクール料金(1ヶ月分):50,000円

HTML/CSS デザインの教科書:2,800円

 

合計 52,800円

 

終わりに

他にもたくさん書きたいことはあるのですが、とりあえず以上です。次の1ヶ月でHTML/CSSを終えて、PHPに突入してもっと成果物を作りたいです。

半年後、なるべくいい会社にエンジニアとして就職できるようにがんばります。(実際に就職できたので、そのうち就活の記事を書きます。)

もしスクールの様子に興味がある方は、毎週スクールと一緒に空きスペースでもくもく会も開催されているのでチェックしてみてください。

追記:今はスクール授業と一緒にもくもく会は開催されていません。
もしQUELCODEに興味を持たれたら、QUELCODEの同期で現在は受託開発会社で働いているユキ@Webエンジニアになりたい (@yyykms123)や、生徒同士のもくもく会を主催しているきょうへい@QUELCODEで修行中 (@sennninn6)のツイートを見たり質問されると良いかもしれません。

Twitter経由で質問があったので追記

・授業のカリキュラム、内容や速度は個人レベルで違うのか。また複数人でのチーム作業練習もあるのか

授業のカリキュラムは一緒です。ただ、HTMLとか完璧だから飛ばしたいって言ってそれを証明できるなら多分やらなくて大丈夫です。(先生はその辺柔軟に対応してくれるはずです。)

速度はもちろん個人で違います。私は比較的早い方でした。チーム作業は今後あるかもですが、いかんせん各自の進捗スピードが違うので実現は出来ていないのが実情です。


・使用教材

こうやんさんがnoteでまとめを書かれたので、これを見るのが一番いいです!

note.mu


・半年で目指すレベルとはどのレベルなのか

先生が現場で使ってもいいかな。とか他の企業に紹介できるかな。とかって感じだと思います。僕もこの辺、開始当初はかなり気になってましたけどあんまり気にしなくていいと思います。プログラミングやってれば楽しくなるし、なんか作りたくなるし、行きたい企業とか見つかってじゃあそこで雇ってもらうには何が必要か。みたいな考えになるのでは?

ここで楽しくないなら仕事にしてもつらみ…って感じですよね。

個人によって進捗なんてぜんぜん違うし、知りたいなら企業に面接の体してどんなレベルなら採用してくれるか聞きに行くのが一番よさげです。

とりあえず、まず土曜のもくもく会来て!他の生徒からも話聞けますよー!

追記:半年通ってみた感想としては、未経験で業界に入るのに十分なレベルだと思います。何故そう言えるかというと、企業説明などに来られた他社の採用担当者に「QUELCODEのカリキュラムをどう思うか?」と聞くと、採用するには十分なレベルだと言われたためです。

ぶっちゃけ、いくら未経験者が業界に入る前に勉強を進めたって大したことないレベルだと思うんですよね。あくまで、これだけのことをやってきました!時間とお金をかけて学びました!僕は本気なので未経験者ですが雇ってください!というのを伝えるための材料にしかならないのかなと思います。

なので、スクールに通ってどんなレベルになれるのか?何が作れるのか?って今思うとそこまで気にしなくても良かったかなって思います。(何か特定の作りたいものがあるならまた話は変わりますが。)

就職を目指すなら、誰とどんな繋がりを持てるか。のほうがよっぽど大切だと思います!

就職に関しては、これまたこうやんさんのこの記事を読むといいかもです。

note.mu

 

何かあればTwitter経由でいつでも質問してください!