見習いエンジニア(仮)の学び場

未経験からエンジニア転職を目指す男が、プログラミング学習で学んだことを分かりやすくアウトプットするためのブログです。

テックキャンプ受講後の感想

今回は、私が受講したプログラミングスクール「テックキャンプ」の感想を書いていこうと思います。 私が受講したのは「エンジニア転職短期集中コース」という、3ヶ月間プログラミング学習に集中するコースです。 そのコースを受講して、その後エンジニアと…

「N+1問題」って何??

今回は、Webアプリケーションの時に起こりがちな「N+1問題」の解説をしていきます。 N+1問題とは、アプリケーションのデータの量分処理が実行され、アプリのパフォーマンス低下につながる問題のことです。 例えば、Twitterでは、ツイート一つ一つに投稿者の…

セッションって何??

今回は「セッション」という単語について解説していきます。 セッションとは、Webページの情報を保存しておく仕組みのことです。 例えば、Amazonのショッピングカーには、一度商品を入れておくと、一度そのページを離れた後でも、商品が残っていると思います…

Cookie(クッキー)って何??

今回は、Cookie(クッキー)について解説していきます。 Cookieとは、Webサイト訪問時に、ユーザーの個人情報を保存しておく仕組みのことです。 例えば、Twitterは一度ログインをしてしまえば、また再ログインすることなく利用できると思います。このように…

Javaってどんな言語??

今回は、企業でも採用されている率が最も高い「Java」というプログラミング言語について解説していきます。 Javaは汎用性が高く、以下のような様々なものを開発することができます。 ・会社の業務システム ・Androidアプリ ・webアプリケーション(ブラウザ…

PHPってどんな言語??

今回は、プログラミング言語の一つである「PHP」について解説していきます。 PHPとは、動的なWebページを作る時に使用される言語です。 動的なWebページとは、ユーザーの状況によって表示されている内容が変わるWebページのことですね。 例えばAmazonのペー…

データベースで使われるインデックスって何??

今回は、データベースで使われるインデックスという言葉について解説をしていきます。 まず、そもそもデータベースが何なのかというと、「アプリのデータを保存しておく場所」のことです。 例えばTwitterであれば、ユーザー名、アイコン画像、ツイート内容と…

Rubyってどんな言語??

今回は、プログラミング言語の一つである「Ruby(ルビー)」について解説をしていきます。 Rubyの特徴を一言で言うなら、「シンプルで使いやすい言語」です。 他の言語だと5行のコードを書かないといけないものが、rubyだと1行で書けたりするので、非常にシ…

アジャイル型開発とウォーターフォール開発の違いって何??

今回は、チームで開発を進めていく手法である「アジャイル型開発」と「ウォーターフォール型開発」について解説をしていきます。 まずアジャイル型開発ですが、こちらは開発途中に確認を挟みながら進めていく手法です。 例えば学校のテストの場合、本試験の…

S3って何だろう??

今回は、S3(エススリー)について解説します。 S3とは、Amazonが提供するAWSというサービスの一つで、webアプリケーションの画像を保存したり、保存してある画像を取得することができます。 例えるなら、オンライン上でデータを保存しておける倉庫のような…

オブジェクト指向とは??

オブジェクト指向とは、「アプリの役割ごとに実装を進めていく手法」のことで、エンジニアにとって非常に重要な考え方です。 ちなみに、ここでいうオブジェクトとは「データとそのデータを用いて行う処理のまとまりのこと」です。 このオブジェクト指向のメ…

JavaScriptって何??

JavaScript(ジャバスクリプト)とはプログラミング言語の一つで、主にクライアントサイド側で使われる言語です。 クライアントサイドとは、今私たちが見ているスマホやPCの画面のことですね。 Webアプリは主に、ユーザーが見るクライアントサイドと、アプリ…

テストコードで使用される用語って何があるの?

今日は、テストコードで用いられる用語について解説していきます。 まずテストコードとは、ユーザーが操作する上で開発者の想定通りに動作するかをテストするためのコードです。 テストコードを書くには、ユーザー目線に立ってどのような操作があるかを洗い…

「バリデーション」って何??

バリデーションとは、データの登録をする際に一定の制約をかけることを言います。 例えば、Twitterでアカウント名を空欄にした状態で、アカウントを作成することはできないですよね? 何でもかんでもデータを登録できるようにしてしまうと、アプリの使用状況…

テストコードで使われる「FactoryBot」って何?

FactoryBotとは、インスタンスをまとめておくことができるgem(プログラムの集合体)のことです。 主にテストコードにおいて、テスト用のユーザー情報などを作成したいときに使用されます。 例えば、正常系のテストで「ユーザーが新規登録できるか」をテスト…

Railsで使われる「ビュー」ってどういう役割なの?

ビューとは、私たちが見ているスマホやPCの画面を用意してくれる機能のことです。 アプリケーションは、幾つものページで成り立っています。 例えば、Twitterであれば、「タイムライン」「ツイートの詳細」「マイページ」といったページがありますよね。 そ…

Railsで使われる「モデル」ってどういう意味?

モデルとは、テーブルの管理人のことです。 テーブルは、アプリケーションの中のデータをカテゴリーごとに分けたものです。 例えば、Twitterというアプリには、「ユーザー情報」「ツイート内容」「リプライ」といった複数のデータのカテゴリーが存在しますよ…

Railsで使われる「コントローラー」ってどういう意味?

コントローラーとは、ユーザーから受け取ったリクエスト(要求)に対して適切な処理をし、ユーザーにレスポンス(返信)を返す機能のことです。 Rails(レイルズ)というフレームワークを用いたアプリ開発において使用されます。 ここで、アプリケーションの…

アプリ作成で使われる「ルーティング」ってどういう意味?

ルーティングとは、ユーザーからのリクエストに対して、どのような処理をサーバー側で実行していくかという道筋を明らかにする仕組みです。 ここで前提知識として、アプリケーションの稼働する仕組みについて簡単に説明します。 普段私たちは、スマホ上でア…

MVCでよく使う「テーブル」って何?

テーブルとは、「データベース内で管理しているデータのグループ分け」のことです。 例えば、Twitterというアプリがあります。 Twitterは、「ユーザー」「ツイート」「コメント」といった様々な情報をデータベース内で管理しています。 このように、データベ…

レイアウトテンプレートとは?

レイアウトテンプレートとは、アプリケーション内の共通の記述をまとめたものです。 例えば、Webページのヘッダー(画面上部)は、どのページでも基本的には同じヘッダーが使われていると思います。 このヘッダーのような、全てのページにおいて共通して使用…

プログラミングで使う「メソッド」とは?

メソッドとは、プログラミングにおける何らかの処理方法をまとめたものです。 例えば、洗濯機は服を入れてスイッチを入れれば、自動で洗濯をしてくれます。 もし洗濯機がなければ、服を水ですすいで、洗剤を入れて擦って、、といった作業を全部人間がやらな…

テストコードって何?

テストコードとは、作成したアプリの動作チェックをするために記述するコードのことです。 例えば、Twitterには ・ユーザーの新規登録をする ・ログインする ・ツイートを投稿する などの動作があります。 これらの動作が問題なくできるかどうか、1つ1つ確認…

FlexBox(フレックスボックス)って何?

FlexBoxとは、HTMLにおける各要素の配置を決めるパターンの総称です。 HTMLでは、CSSにdisplayプロパティを記述することで、表示されている要素を横並びにできます。 この横並びにした要素の配置を、FlexBoxで詳細に決めることができます。 このFlexBoxの適…

Gitで使う「リポジトリ」って何?

リポジトリとは、Gitで管理しているファイルの編集履歴を保存しておく箱のことです。 ちなみにGitとは、ファイル編集履歴を保存しておくためのツールのことです。 Gitは、複数人で開発を進めていくときに、メンバー間で連携が取りやすくなるためよく使用され…

アソシエーションって何?

アソシエーションは、テーブル同士のデータを関連づける手法のことです。 これだけだと分かりにくいと思うので、「Twitter」を例に説明します。 Twitterは、複数の「データ」を利用しています。 まずは「ユーザー情報」というデータ、続いて「ツイート情報」…

deviseって何??

deviseとは、ユーザー管理機能を簡単にアプリに搭載することができるgemのことです。 gemとはrubyで使用されるライブラリ(複雑なプログラムを一個のセットにしたもの)です。 今はどのアプリでも、「新規登録」とか「ログイン」とか書いてあるページが必ず…

部分テンプレートって何??

今回は、ビューファイルにおいて使用される「部分テンプレート」について解説をしていきます。 部分テンプレートとは、ビューファイルにおいて繰り返し使用するコードを切り出し、再利用する仕組みのことです。 ビューファイルとは、ユーザーから送られてき…

CRUDって何??

CRUDとは、アプリケーションのデータの取り扱いに関して、基本的な処理をまとめたものの略称です。 C =create(生成) R =read(読み取り) U =update(更新) D =delete(削除) この4つの機能を組み合わせながら、アプリケーションは実装します。 ま…

VMCって何のこと?

ナ:円先生、おはようございます! 今日は何について教えてくれるんですか? 円:今日は、Webページを作る上に大切な「VMC」について学んでいくよ! 「VMC」が理解できれば、ナオキくんもWebページがどうやって動いているかが理解できるようになるんだ! ナ…