※一部個人の見解がありますので、参考程度にしてください。※
#IT企業の主な種類
- SIer 例:NTTデータとか
- 基本的に実装しない、要件定義とかPJ管理とか
- SIerの下請け(基本客先常駐)いろいろ
- 設計、実装、テストとかを行う
- 自社サービスを持つIT企業 楽天やLINEとか
- すべて自分でやる、もちろん業務委託にお願いしているところもある
#SEとプログラマー、テスターについて
基本的にシステムを作るにあたって
要件定義→設計→プログラミング→テスト
- システム全体のアーキテクチャを設計する人 → SE
- 主に実装 → プログラマー
- テストをする人 → テスター
#システムとは
ユーザーにサービスを提供するためのすべてのプログラムをまとめてシステムといいます。
基本的に:
- フロントエンド:ブラウザのwebページ、アプリとか
- バックエンド:サーバ(サービスを提供するコンピューター)、データベースなど
webページでなにかをインプットして、ネットワークを介して必要に応じてDBから情報を読み書きしながらサーバで処理する。処理結果をまたwebページにアウトプットする。
フロントエンドとバックエンドをつなぐ役目としてAPIがあります(jsonやxml形式が多い)
当然ですが、システムはプログラムからできている。
#プログラムとは
コンピューターに対する命令文のかたまり
javaとかC言語とか
いろいろな種類がある
基本1つさえ習得すれば、ほかの言語も学びやすい。
基本的な概念は一緒なので、条件分枝や繰り返し処理など
プログラミング言語は基本2種類
- コンパイルが必要な言語:pcが理解できる言語に変換してから実行
- コンパイルが必要ない言語:一行ずつコンパイルしながら実行してくれる
#プログラミングの独学に関して
・本を買って、読むのは大事ですが、実際手を動かしてやってみるのはもっともっと大事です。
・エラーは友達です!!出たらおちついてエラーの内容を見て、わからなければぐぐりましょう。
・便利なツールやサイトを有効に使いましょう!
#便利なツールなど
・git ※すごく大事、バージョン管理システム
・ide ※プログラミングが楽になります、基本みなさん使います。
#アプリに関して
・ネイティブとハイブリッドがある、ネイティブはosによって言語が異なる
・ハイブリッドはosを問わないが、正式にサポートされていないのがデメリット
#その他
ライブラリ → なにかの機能を実現できるようなプログラムをまとめたもの
フレームワーク → システムを書きやすいように、あらかじめ用意された骨組み