Railsの基礎をもう一度

Railsの基礎をもう一度

わたしは以前からRailsを使ったWebサイトの作成などは行っていたためサーバーサイドエンジニアとして必要なGitの使い方やライブラリによる追加機能、DockerやHerokuなどの学習を行っていて、Webサイトそのものの作成の学習から離れていました。

最低限サーバーサイドの学習を網羅的に行い、次にどんなことをしたいか考えたところ知識を広げることより、もっと自走力を高めたいと思うようになりました。

 

動画学習サイトを使用した基礎的な学習方法

わたしが選んだ学習方法は動画学習サイトを用いたものでした。コードの記述などもそのサイトが管理する仮想環境で行えるため開発環境の構築も必要なく基礎のおさらいを行えることができ、ものすごく効率的に行えました。

 

目指すもの

わたしがエンジニアになったら未経験者としての括りに捉われず、自ら色々な開発を行えるような自発的なエンジニアになりたいです。あとは仕事をすぐに振ってもらいそれを大きな障害なくさくさくとこなせるようにもなりたいです!そのためにわたしが選んだのがRailsでした。なのでそのRailsがブレたら元も子もない!と思い基礎をもう一度おさらいしたいと考えました。

ReactやVueの開発にも興味があり今後それらを学ぶためにもやっぱり自分が決めたRailsはもっともっと学習するべきだと思いました^_^

 

最後に..

これから本当に必要なエンジニアになるために試行錯誤してたくさんの経験を自ら積んでその記録を綴っていきたいと思います!

ぜひポートフォリオやQiita(技術ブログ)もご覧ください^_^

 

🌱ポートフォリオ

https://chisaki0606.wixsite.com/mysite

🌱Qiita

https://qiita.com/chisaki0606

 

 

 

 

Dockerを使いRailsのアプリを完成させました!

アプリ完成!

Dockerの開発環境でRuby on Railsのアプリを開発しました!詳細は下記のポートフォリオ内をご覧下さい^_^

chisaki0606.wixsite.com

 

Dockerでアプリ開発

f:id:chisaki0606:20200527213957p:plain

Dockerの開発環境を使い初めてアプリを完成させました。動画サイトを見ながらの作成でしたがDockerの環境ではコマンド操作がまるで違ったので、コマンド操作に関しては相当な力がついたと感じました。

 

動画サイトの講師はvagrantを用いた開発だったのでコマンド操作も異なり、開発環境の構築からアプリの完成まで、自分で調べてわからないことがあっても自分の力でその問題を解決することができたことでDockerでアプリ開発が卒なく行えることが証明できました。

それ以外にもDocker Hubを用いたソースコード管理を用いるなど幅をどんどん広げています^_^

 

レシピアプリの完成

Ruby on Railsを使ったアプリ開発は今回が初めてではなかったものの、ほとんど模写をする形式ではない自走する開発は初めてでした。以前は「写経をもとに結果」という考え方から「結果をもとに自走」というように自分が何をしたいのかをしっかりと考えることができことがすごく大きな成長になりました。もちろんこれがゴールではなくてこの後はこのWebサイトを公開することと、一番大切だと考えているオリジナルアプリの作成を今後行っていきたいです!

 

今後の目標

上に書いたように今後はWebサイトを公開することとオリジナルアプリの作成を行っていきたいのですが、そのためにもっともっとRuby on Railsが理解できるように知識を深めていきたいです!もちろんインフラもそうですし、JavaScript関連のライブラリやフレームワークも学んでいき幅をもっと広げていきたいです!

 

最後に..

これから本当に必要なエンジニアになるために試行錯誤してたくさんの経験を自ら積んでその記録を綴っていきたいと思います!

ぜひポートフォリオやQiita(技術ブログ)もご覧ください^_^

 

🌱ポートフォリオ

https://chisaki0606.wixsite.com/mysite

🌱Qiita

https://qiita.com/chisaki0606

 

 

 

 

エラーの解決方法は「検索の中に答えがある」と実感

駆け出しのときと今の違い

わたしはプログラミングを勉強し始めた当初は「すごく難しいこと」という印象が強かったことを覚えています。エラーになるのは自分の能力不足によるもの、プログラミングの才能がないから、というような考えを持っていました。

 

でも最近とくに感じるのが独学で自分で考える開発の面白さ、そして自分がこれまでにできなかったことができるようになる達成感を経験することでもっともっとプログラミングを探求したい!と感じるようになりました。

 

エラーに対する苦手意識を払拭

以前は前文に書いてあるようにエラーに対してすごく苦手意識を持っていました。しかし今はすぐにエラー文を読んでどんな指示が書いてあってそれにどんなふうにして解消すれば良いかなどを頭の中で順序立てることがスムーズに行えるようになったことが以前のわたしと比べ物にならないくらいの成長だと感じています。

 

とくにわたしの場合は自走できるエンジニアを目指しているのでなるべく他人の力を借りずに自分の力で解決ができるように心がけています。

 

検索の重要性

まだそのエラーの内容が理解できないときに検索はエラーを解消するために重要な作業になります。その中でわたしが大切にしているのはエラーや実現したい内容を深く理解してどんな言葉を検索することが大切かを知ることだと思っています。もし思うような情報にたどりつけなくても同じ道をずっと模索するのではなく、色々な角度、つまり色々な言葉で検索をすることが必要な情報を得ることの大切なことだと感じています^_^

 

最後に..

これから本当に必要なエンジニアになるために試行錯誤してたくさんの経験を自ら積んでその記録を綴っていきたいと思います!

ぜひポートフォリオやQiita(技術ブログ)もご覧ください^_^

 

🌱ポートフォリオ

https://chisaki0606.wixsite.com/mysite

🌱Qiita

https://qiita.com/chisaki0606

 

目的を決めて難しいことでも諦めなかったことで得たこと

目的を決めてそれを達成するまで諦めない

わたしは今、以下の条件でレシピアプリの開発を完成させようとしています。まだ完成ではありませんが一つの気づきがあったのでブログを投稿しようと思いました。

開発環境: Docker

インフラ: AWS

フレームワーク: Ruby on Rails

 

わたしの中でサーバーサイドエンジニアとして求人票などを拝見し、今後仕事として行っていく中でどんな知識があったら役に立てるか、どんなスキルがあれば開発を円滑に行えるか、などを考えて上記の条件で開発を行い、それを達成させようと目標を達成させようと決めました!

 

知識がまだ浅いがゆえの壁

まだどうしても経験自体が少ないことで構築から開発までDockerでは少し難しさを感じました。別の仮想化技術を使った方がいいのでないのかなぁ...と考えました。

でも、別の仮想化技術を使ってそれでもうまくいかなかったらどうしよう...と思い、Dockerの基礎から構築しようと思いました。

 

しかし求めていた手段を得ることができない。もっと視野を広げて考えよう!と思ったときにDockerの環境下でもRubyコマンドのまま実行できることを知りました。その実行した内容についてQiitaにまとめてみましたのでご覧ください。

qiita.com

 

わたしの場合はそれでは解決しなかった...

もう一度エラーの内容を確認しよう...何が原因で?そもそも自分が実行している内容はあっているのか?そんなことを考えてみました。そこで調べていると原因を理解することができました。そのエラー内容とどうやって解消したか、その内容についてもQiitaにまとめましたのでぜひご覧ください^_^

qiita.com

 

結果的に諦めないで最後までやり切ることが大切

初めてDockerの環境で開発をすると決めたのなら絶対にそのやり方は変えない方が良い!と思いました。たくさん成長することができますし、そもそもそれがプログラミンぐのスキルとして大切なことなのかなぁと思いました。

 

この調子で最後まで完成させたいです^_^

 

最後に..

これから本当に必要なエンジニアになるために試行錯誤してたくさんの経験を自ら積んでその記録を綴っていきたいと思います!

ぜひポートフォリオやQiita(技術ブログ)もご覧ください^_^

 

🌱ポートフォリオ

https://chisaki0606.wixsite.com/mysite

🌱Qiita

https://qiita.com/chisaki0606

 

プログラミングの学習で行き詰まったときに考えること

 

プログラミングの学習で行き詰まったときの考えること

円滑に開発を行うために必要なことの1つにプログラミングの学習をスムーズに行うことがすごく大切なことだと思いました。どんなに時間があっても、どんなに学習環境が整っていてもエラーでつまづいたり、自分の思うような結果を導き出せないときに必要なことをわたしの独自の見解をまとめてみました。

① 何がわからないのかを明確にする
② どうしてそれがわからないのか理由(原因)をはっきりさせる
③ 着実でかつ必要な小さいハードルを探す

 

何がわからないのかを明確にする

エラーの場合はどうしてそのエラーになるかをはっきりする必要があります。エラー文を読んでそのエラー内容が何を示しているのか検索をかけて同じようなエラーで悩んでいる人はどうやってそれを解消したのかなどを調べてその時点でわかればその問題はそれで解決です^_^

 

ただ、もしわからなくて結果的に解決するために長引いてしまう場合は一度その負のスパイラルから抜けてどうしてそれがわからないのか理由をはっきりさせることが必要です。

 

どうしてそれがわからないのか理由(原因)をはっきりさせる

どうしてそれがわからないのか、例えば初心者のときにGemfileに記述する内容をコマンドだと勘違いをして一生懸命ターミナルに打ち込んでいたことがありました。つまりその問題のわからない理由は知識不足によるものです。

 

もう一つ例にあげるとエラー文を何度も検索にかけていました。複数件膨大な関連記事が表示されてどれが正しい情報なのかわからないときがあります。さらに詳細に検索をかける必要があったのですが何がエラーの原因なのかわからない...

 

どうしてわからないのか幾度と経験をすることでわかったことはエラー文に詳細なエラー情報が書いてあることでした。これはプログラミングを始めたばかりのことですが、「エラー = 迷路突入」と勝手に解釈していたため丁寧な説明があるのにも関わらずその説明を見ていなかったことが原因でした。

 

着実でかつ必要な小さいハードルを探す

では次にどうしたらいいのかなぁ...と考えたときに自分の学習計画を再度立て直すことでした。例えばDjangoで個人アプリを作りたいときに思うように実装したい機能がエラーになってしまう。と思い例に倣い、わたしがどうしてわからないのか考えたところ、「これまで学習した内容よりもっと詳細な情報が掲載されている書籍などで基礎学習した方がいい!」という結論に達しました。

 

わたし自身、個人的にプログラミング学習の中でもったいないと思うことは継続をやめてしまうことと、モチベーション低下により、本来プログラミングに割ける時間を怠惰に過ごしてしまうことだと思いました。わたしの経験談でエラーを解消するためだけに色々と調べていた時間で一冊の書籍を通して学習できるほどの時間と同等の時間を浪費していたことに気づきました。

 

実際にそのときのエラーは基礎学習の不十分によるものだったのですぐに自分は何がわからないのかがわかっていた場合にストレスなく超えられたハードルなのかなぁ...とあとあと感じました。

 

そしてそれはもちもん闇雲ではなく、時間がかかっても方向性を見失わない内容で必要な努力になることが自分の頭で理解できてることが大切なことだと思いました(^_−)☆

 

最後に..

これから本当に必要なエンジニアになるために試行錯誤してたくさんの経験を自ら積んでその記録を綴っていきたいと思います!

ぜひポートフォリオやQiita(技術ブログ)もご覧ください^_^

 

🌱ポートフォリオ

https://chisaki0606.wixsite.com/mysite

🌱Qiita

https://qiita.com/chisaki0606

 

 

DockerでRuby on Railsの開発環境の構築

DockerでRuby on Railsの開発環境の構築

サーバーサイドのエンジニアとして必要度の高いDockerの環境構築をRuby on Railsで行いました。開発環境の構築を初めて書籍などを参考にしないで自分で調べて行なったので、エラーの壁などがありましたが、エラーの内容を理解することができて自分の力だけで構築を完了させることができました。

 

目的に合わせた手段で

DockerでRuby on Railsの開発環境の構築を行おうと思ったときに、当初は書籍を購入してそれを参考に構築しようと思いました。しかし書籍の目次などを見るとDockerそのものの解説などが多く、わたしの実現したい目的とは逸れた内容だと感じました。まだシステム開発を始めたばかりのときはただ意味の理解を後回しにしてただ写経をしてエラーになったらそのままエラー文を検索で投げたりするという受け身スタイルだったのですが、「自分が本当に実現したいことは何だろう?」と考えたときにエンジニアさんの個人ブログなどを参考にして環境開発の構築を行いました。

 

不明点の解消とエラーの対応が難しくなくなった

現状のわたしは不明箇所の理解とエラーの対応が難しくなくなったと感じることが増えました。エラー文もただ投げるだけではなくてそのエラー文をしっかり読んで意味を理解してからそのエラーの解消を解いていくことが苦なくできるようになり、今回も誰にも聞かないでエラーの解消などを行うことができました。以前と比べて自走力が上がっていると感じています^_^

 

Qiitaに投稿することで自分自身も理解力を深める

今回のDockerでRuby on Railsの開発環境の構築した内容を投稿しました。予測できなかったエラーの修正内容なども追記したことで同じようなエラーで悩んでいる方の理解にも繋がればと思い、エラーになった場合のことも考えた構成になっています^_^

qiita.com

 

最後に..

これから本当に必要なエンジニアになるために試行錯誤してたくさんの経験を自ら積んでその記録を綴っていきたいと思います!

ぜひポートフォリオやQiita(技術ブログ)もご覧ください^_^

 

🌱ポートフォリオ

https://chisaki0606.wixsite.com/mysite

🌱Qiita

https://qiita.com/chisaki0606

 

これからの学習の指針

エンジニアとして

わたしはエンジニアになるためにどんな知識やスキルなどの習得が必要になるか考えることが増えました。そのためわたしはどんな学習をしたらいいかと見直すいい機会になると思い、わたしなりに今後の学習の指針となるものをまとめてみました!

 

開発技術の幅を広げる

わたしは現在ではRubyPythonの基礎学習を修了しています。以前にはPHPにも触れたことがあります。Djangoアプリ開発を経験して、それから最近ではRuby on Railsも経験しWeb開発の企業に転職するなら日本ではRuby on Railsを用いたプロジェクトが多いように見受けられるのでRuby on Railsでの開発をメインに行なっていきたいと考えています。それと学習したいこととして考えているのがJavaScript関連のことです。JavaScriptではライブラリやフレームワークが豊富なのでRailsアプリ開発の中で大切な技術をより深めていきたいです^_^

 

アプリ開発技術以外に必要なこと

あと調べてみるとフレームワークを活用した開発技術以外にもインフラなどの知識の重要性についても知りました。インフラエンジニアを目指す人ほどではなくてもAWSとDockerについて学習した意欲が高まりました。AWSはアプリを公開するために必要だと考えていたのでもともと学習をするつもりでしたが、仮想環境での構築も重要視するべきだなぁと感じました。きっかけは新たに開発環境を構築しようとしたときに、他のコンテンツを利用するためにインストールしたツールとの兼ね合いの関係でおそらくバージョンとかの関係でしょうか、相互性が悪くスムーズにできなかったことなどがあり、DockerやVagrantの重要性を調べてみると、クライアントと円滑にやりとりを行うために重要なツールなんだと知りました。それとインフラの知識があることでアプリ全体の構図を理解できるようになり、バグの発見や原因などを見つけられやすくなるというメリットがあること知りました。

 

そのためインフラの最低限の知識とあとはWeb開発に必要な知識を網羅的に知る必要性があるなぁと思いました。それに関しては書籍を参考に現在の仕事の際の通勤に利用している電車の中で読もうと思います。コードを書く必要性がある書籍は自宅で、読むことをメインで学習する書籍は電車の中でと効率良く行おうと思います!

 

f:id:chisaki0606:20200515123841p:plain

 

最後に..

これから本当に必要なエンジニアになるために試行錯誤してたくさんの経験を自ら積んでその記録を綴っていきたいと思います!

ぜひポートフォリオやQiita(技術ブログ)もご覧ください^_^

 

🌱ポートフォリオ

https://chisaki0606.wixsite.com/mysite

🌱Qiita

https://qiita.com/chisaki0606