質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

CCNA

Cisco Certified Network Associate (CCNA)

Q&A

解決済

4回答

7603閲覧

インフラエンジニア勉強手順について

natural1994

総合スコア16

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

CCNA

Cisco Certified Network Associate (CCNA)

0グッド

8クリップ

投稿2018/06/12 23:48

こんにちは。私はネットワークエンジニアの仕事に就いて3ヶ月しか経っていない新人エンジニアです。現在はCCNAの勉強を中心にしており、来月に受験する予定です。

そこでなのですが、CCNA受験後の勉強手順があまりよく分からないので質問させていただきました。私は将来、ネットワークを含めサーバーやデータベース等も扱えるインフラエンジニアになりたいのですが、ネットワークの勉強後はどういった分野の勉強をしていけばいいのでしょか?

現在はCCNAの勉強と同時にExcel VBAの勉強をしております。また、上司からの指示でデータベース(SQL)言語についても触れておくよう言われました。個人的にはLPIC(linux)、PHP(プログラミングにも興味がある)にも関心があります。ただ、一度に勉強するにはあまりにもやることが多いため、順を追って勉強したいのですが、どの分野から勉強するべきでしょうか?教えていただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

長文です。申し訳ありません。

ネットワークを含めサーバーやデータベース等も扱えるインフラエンジニアになりたい
個人的にはLPIC(linux)、PHP(プログラミングにも興味がある)にも関心があります。

いわゆるバックエンドエンジニアに相当すると思います。

どういう順番で勉強すればよいのか?というのは、昔からよく話題になります。

最近はWeb Developer Roadmap - 2018という記事が話題になっています。

図の上から順番に勉強していけば、最終的には一流のエンジニアになれるという内容です。
多くのステップがあって圧倒されますが、これらすべてを習得する必要はありません。

導入

まず、原文のIntroductionによると、フロントエンドにしろバックエンドにしろ、以下のスキルから学ぶことが推奨されています。

  • Git
  • SSH
  • HTTP/HTTPS
  • 基本的なターミナル操作(UNIXコマンド)
  • 調査方法(ググり方)
  • データ構造・アルゴリズム
  • 文字コード(UTF-8とかShift_JIS)
  • GitHub(アカウントを作る)

これらを理解してから、Back-endの道に進みます。

Back-end

上司のおっしゃるSQLは、Step8にあるRelational Databasesにあります。
ここまで習得すれば、現場で活躍できるようになると思いますので、ひとまずはこのStep8が目標になるかと思います。

Step1: 言語の選択

数多くの言語の中から選びます。どれも一長一短なので、コレ!というものはありません。
PHPに興味があるとのことなので、素直にPHPを選ぶのがよいと思います。

Step2. 練習

まずは、PHPで小さなアプリを練習で作ってみます。

Step3. パッケージマネージャー

PHPにはcomposerというパッケージマネージャーがありますので、これを学びます。

Step4. ベストプラクティスを知る

PHPならPHP-FIGという団体がPSR-0, PSR-1, PSR-2, PSR-3というコーディング規約をまとめていますので、それらを勉強します。

Step5. 練習

上記を踏まえて、改めて練習でPHPのライブラリを作ってみます。

Step6. テスト

テストを学びます。

Step7. 単体テストの練習

今まで作ったアプリやライブラリで単体テストをやってみます

Step8. リレーショナルデータベース

SQLを学びます。どのデータベースを使うのか選択をします。
ここでは、MySQLがオススメされています。

さいごに

とりあえず、Step8まで書いてみました。必ずしもこの順番で勉強する必要はないですが、それなりに理にかなっているかなと私は思います。

例えば、PHPよりも先にSQLを学ぶことは可能ですが、アプリがなければ、SQLを実践することができないので、少し効率的ではないと思います。

私も勉強中なので、一緒に頑張りましょう!

投稿2018/06/13 00:12

編集2018/06/13 01:36
segur

総合スコア73

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/13 01:25 編集

志村ぁ、composer! composer!(って投稿したら直ってましたね)
segur

2018/06/13 01:26

修正しました。ありがとうございます!
退会済みユーザー

退会済みユーザー

2018/06/13 01:30

PHP-FIGはコーディング規約のほかPHP周辺の改善を提案して広めていく団体名であって、コーディング規約はPSR-0,1,2,3とか、PHPフレームワーク個別にもあるよ、という、重箱の隅
segur

2018/06/13 01:32

なるほど、修正しておきます。
guest

0

ベストアンサー

長文失礼します。

私は
HPC計算機屋→WEB屋→IoT屋→機械学習とかやる受託開発屋
と進んできた者です。

主さんの話だと、他の回答者さんも仰るようにバックエンドエンジニアとかサーバーサイドエンジニアと呼ばれる職種が近い職種ですかね。

PHPでWEB開発したいのだと思いますが、WEB開発ってWEBデザイナーがテンプレとかデザイン周りをやってくれるので、PHPでやる事はユーザーの入力を加工してDBに入れたり、DBからデータ取ってきて処理して表示側(テンプレートエンジン)に渡す位までしかやりません。ここら辺は「MVCモデル」とか「php フレームワーク」でググると良いです。

渡したデータをどのように表示するとか、見た目周りはデザイナーの仕事として分業してます。規模が小さい開発の場合は分業せずに全て1人のエンジニアがやる場合もありますが、主さんの興味の幅を考えるとサーバー側の冗長化・負荷分散とかも学びたい感じですか?冗長化・負荷分散が必要なレベルの開発だと恐らくWEBデザイナーがやるようなフロント側の技術は結構後回しになると思います。

勉強をする順番ですが、主さんがやってるインフラから勉強と言うのはちょっと時間がかかるけど良いと思いますよ。
理由は、最初にプログラムから入ると裏側のネットワークなどのプログラムより低レイヤーの知識が無いために、分からないことがあった時に結局インフラ側を学ぶ羽目になったりするからです。
ITで使っている技術は、使いやすくするためにプロトコル、パッケージ、ライブラリとかフレームワークとか、使用者に中身を意識させないものが多いので、中身分からないけど使えるって言うものを使ったりしてます。
そういったところも(なんとなくで良い)ので分かっていると、調べる速度が早くなり、理解も深まりやすいです。

主さんがあげていたものを使って説明した場合は下記の順が良いかと思います。
CCNA(ネットワーク)->LPIC(サーバー)->DB(SQL)->PHP(サーバーサイドプログラム)

CCNAでネットワークを理解したら、サーバーを建てネットワーク設定してSSHでアクセスできるようにして、それができたらDB(MySQL・MariaDBかPostgreSQLあたりが良いかと)をインスコしてテーブルつくる、できたらPHPからDBのデータをSQLで取り出して、htmlベタ書きのページに表示。
の順番で良いと思います。

DBができたらKVSとかNoSQL(memcach,redisなど)もちょっとやったほうが良いです。WEB開発ではほぼ必須。
PHPでDBのデータを取得できたら、フレームワーク(Laravelが良いかと)使って簡単なWEBページをつくります。
PHPのソースコード管理はGithubを使うと良いと思います。

フレームワークでは大抵テンプレートエンジン(PHPから受け取ったデータをhtmlの記法じゃない方法で表示するものだと思ってください)を使うことになります。
フレームワーク・テンプレートエンジンは色々あるのでググってみてください。
テンプレートエンジンが使えるようになったらCSS・SassとかJavaScriptとかやると良いと思います。

まとめると
CCNA(ネットワーク)->LPIC(サーバー)->DB(SQL)->NoSQL->PHP(サーバーサイドプログラム)->CSS・Sass・JavaScript

道は長いけど頑張ってくださいm(_ _)m

投稿2018/06/19 02:00

編集2018/06/19 02:02
jackfrost

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

一つのことばかり勉強しようとしても壁にぶち当たりやすいので、
時間を区切って並行していろんなことを興味を持って取り組むのが良いかも。

一日の中で複数の分野にちょっとずつでも携わると良いです。
人間、長く取り組もうとすると飽きてきやすいので、
飽きてきたなと思ったらちょっと他の分野を学習するのが
長続きの秘訣かも。

CCNAって資格試験でしょうから、これを軸に
試験日までのおおよそのスケジュールを決めて、
サブとして一日いちにちなんの分野をつまみ食いするか、
サイドメニューを考えるという感じでしょうか。

頭に詰め込むだけだと理解したと錯覚しがちなので、
プログラミング言語やデータベースなどは自前で環境構築して試しやすいので、
そういうのもつまみ食いすると楽しいです。

投稿2018/06/13 01:23

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

サーバエンジニア(構築/保守)から、Railsエンジニアへの転身を目指して勉強中の者です。

まずインフラエンジニアとしてのキャリアを固めつつ、でもプログラミングにも興味があると理解しました。
下位層から学習していくのがいいと思います。
ネットワーク(Cisco) ⇒ サーバ(Linux) ⇒ データベース(MySQL) ⇒ Webアプリ(PHP)
自宅PCにLAMP環境を構築して、その環境内でLinuxやMySQLのコマンドを色々実行してみて、ある程度理解が深まったら、PHPでプログラミングを始めてみるのがいいと思います。

投稿2018/06/18 23:34

hideo3

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問