フルスタックエンジニアの為のスタックリスト
1 ClinentsSide(クライアントサイド)
クライアントサイドとは簡単に言うのなら、PCやスマホ自体の中で動く物の事を言います。 具体的にはアプリや、ブラウザ自体で動くプログラム全般を言います。 また、そのアプリやブラウザの仕様も様々で、些細な違いがバグや動作不良になる場合もあります。 ウェブにおいては、クライアントサイドで動作するプログラム言語にHTML,CSS,Javascriptなどがあります。
- 01-Browser & Device / 対応ブラウザ・デバイス問題(W3Cとブラウザの挙動、デバイス)
- 02-Language / 各種言語( HTML,CSS,JS )
- 03-UIUX / Design UI UX,MobileFirst
- 04-Accessvility / アクセシビリティ(8341他)
2 ServerSide(サーバサイド)
サーバーサイドとはクライアントサイド以外、つまりアプリやブラウザ自体以外でウェブサイトやアプリのデータ、そのデータの処理を行う場所を指します。 基本的にプログラムとデータベースなどで構成されており、その他のサービスとの連携を含めてサーバーサイドと総称します。 サーバーサイドで動作する言語はPHP,Ruby,Java,Python,Node.js・・・など多数あります。
- 2-1 Middleware and Config / ミドルウェアと設定ファイル
- 01-Outer / 外部からの接続(HTTP,FTP,SSH・・・)
- 02-Conf / 設定ファイル(htaccess,各種conf)
- 03-Server / 各種サーバ
- Webサーバ、DBサーバ、メールサーバ、DNSサーバ
- アプリケーションサーバ、PUSHサーバ ※
- プロキシサーバ ※
- 04-Others / その他(vHost,NTP,CRON/バッチ処理,NFS,SYNC,Samba,WebDav)
- 05-SearchEnging/検索(Namazu他)
- 2-2 CMS(wp,mt他)
- 2-3 Ohter Package(EC,CRM,MA)
- 2-4 Language(各種言語)/ PHP,JAVA,Ruby,Python・・・
- 2-5 Ops(運用)
- 仮想化(xen,docker・・)
- セキュリティ(WAF,IDS,IPS,Firewall・・・)
- 冗長化(LB,アベイラビリティ・・・)
- BCP対策(バックアップ、コールドスタンバイ・・・)
- 24/365対応(一次対応、2次対応・・・)
- LOG監視(アクセスログ・・・)
- 2-6 OS
- 2-7 サーバー構築ツール
- 構築ツール・Iacツール(Ansible,Terraform)
- 2-8 サーバー運用ツール
3 Service(外部サービス)
外部サービスはサーバレス文化を始めとして続々と増えています。構成、連携、費用面で自由度が高いので 色々なパターン想定が可能です。
- 01-API / API利用(googlemap・・・)
- 02-Servers / レンタルサーバ,VPS,AWS,CDN
- 03-Contents Service / コンテンツサービス単位(スマホ対応:mobify,IR:pronexus)
- 04-Delivery Contents / 動画配信サーバ、コンテンツ配信サーバ
- 05-Different Venders / 選定業者やサービスによる特性の違い(手順、有料無料、サポートの範囲が異なる)
- 06-Domain / ドメイン
- 07-Geo location(どこどこ)
- 08-Mail / メール配信(sendgrid)、メール暗号化の問題(awsでの未対応等)
- 09-Search / 検索(Mars,Probo・・・)
- 10-SSL / SSL証明書
- 11-Virtualization Container / 仮想化、コンテナ技術
- 12-Web Font / ウェブフォント
4 Network(ネットワーク)
ネットワークに関してはSEやネットワークエンジニアでないなら、最初は触れなくても問題ありませんが、大きなシステムや安全な運用のためには必用な知識となります。
- 01-OSI Reference Model / OSI参照モデル ネットワーク技術概念
- 各種ポート,SSL
- HTTP1.1(Request Header,Bodyなど HTTP通信の形式) HTTP2
- Cookie,loacalstrage,session・・・・
- Socket
- 02-Network Equipments / ネットワーク機器と技術
- VPN
- ルーター、Hub
- 03-File Share / ファイル共有
- WebDav
- 04-AWS でのネットワーク構築
5 Others(その他、基本概念、学習方法)
資格取得や勉強法など。
6 Develop/制作、開発時
開発分野は主にエンジニアの物ですが、マネージメントを始めとした開発進行、チーム開発も大事な要素です。 手法やツールが多岐にわかれるため、状況や予算に合わせた最適解が必用です。
6-1 System Develop / システム設計(要件定義(機能要件、非機能要件)、基本設計、詳細設計、課題管理、議事録 〜 納品、請求)
6-2 Develop Skill / 開発技術
- 6-4 Guide Line / 一般ガイドライン、社内ガイドライン
- 6-5 Concept / コンセプト(DDD)
- 6-6 DevSecurity / 開発環境自体のセキュリティ
- 6-7 Communicate / コミュニケーションツール(メール、チャット)
7 Analyze(解析、戦略、MA)
ウェブサイトやアプリの価値を裏付ける数値の分析はその手法や手段が大きく増えました。 また、MAを始めとする実世界の営業を形にしたツール郡も売上向上をはかる上で重要な手段になってます。 純日本製のツールも多く増え、連携手段も様々です。
- 01-SEM,SEO,SMO,MEO
- 02-LP,A/B test
- 03-Analytics / 解析ツール(アナリティクス,ヒートマップ・・・他)
- 04-MAツール(Hubspot,Salesforce)
- MA integration Tool(web to lead,zoom)
8 SystemApp(システム、アプリ制作)
PCのOSでネイティブに動作するシステムやアプリ、またスマホなどのアプリは基本一度かかれたプログラムをコンパイル(変換)して 動作します。よって、その元なるソースコードが無いと自由に変換したり変更はできません。 ウェブと違って、大きく動作するPC、OSなどの環境に依存し、個別に開発が必用です。
9 NewTech(新しい技術)
厳密には昔からある技術ですが、現在はノーコードで開発できる環境も含め大きく一般化されたのが機械学習や自動化の分野です。 提携処理の自動化だけでなく、状況によった判断処理が必用な場合など大きく役に立つ可能性があります。
10 Mainframe(基幹系)
基幹情報システムなどに用いられる大型のコンピュータ製品で、パーソナルで使用する事はありません。 メインフレームに汎用OS(linux)類を入れて使用する事もあります。 大手企業の案件などでたまに基幹システムと連携した対象として、このメインフレームをさされる場合があります。
- メインフレーム
- シンクライアント
11 経営やビジネスに関わる知識、技術 / Strategy and Business Tools
会社員としてエンジニアをする場合を除いて、フリーランスであったり、会社員でも経営にかかわる立場になると 経営やビジネスに関する知識は必ず必須になります。また、今は請求書を含めクラウドで処理される物も多いので、そういった サービスを使いこなす事も大事です。
特集・講座
Webエンジニアを目指す為の読み物
今からWEBエンジニアを目指す人の為のコンテンツです。
フルスタックを目指す為の読み物
フルスタックエンジニアを目指すにはスキルと知識の積み重ねが必要です。しかし、それは簡単ではありません。 ではどうすれば良いでしょうか?
- 第1回 フルスタックエンジニアを目指すにはどうすれば良いか? 必要な心構えとは?
- 第2回 フルスタックエンジニアを目指すにはどうすれば良いか? 勉強法とは?
- 第3回 フルスタックエンジニアになる為に必要な知識、技術