Web 班の活動内容¶
Web 班の活動内容は,Web サイトを作ること.それだけです. Web サイトを作る技術は,パ研の活動内容の上では非常に実用的な上に,開発に必要な知識は多くあるものの,他の班で求められるような,コンピュータを使いこなせるようなスキルは特に必要となりません. 実用的な技術を身につけて使ってみたいという人にはおすすめの分野です.
Web 開発の特徴¶
Web サイトを作るのに必要な技術は,OS の自作やアプリの開発など,他の班の活動で使われる技術と根本的に異なります. 大きく異なるのは,Web 技術は,コンピュータの仕組みをまったく理解していなくても十分使えるということです. たとえば,CTF をするなら,コンピュータの隅々の機能を知り尽くし,場合によってはサーバーやデータベースといった,家にあることが少ないようなシステムを扱うことも求められます. それに対し,Web 開発に必要なのは,サーバーなどでのデータ管理と,サイトのデザインや,ブラウザ上でのサイトの表示に関わる知識がほとんどです. そのため,必要な知識が他の分野に比べて大きく偏っています. その分,細かい知識が必要になり,その知識がないとまったくうまくいかない,ということも多いです. Web サイトを本格的に運用するとすれば,ある種特殊な技術が必要だということは念頭においたほうがいいでしょう.
また,もう一つの重要な差として,多くの場合お金がかかることがあります. Web サイトを作って全世界に公開するには,当然サーバーが必要になり,これにはお金がかかります. 最近は,GitHub Pages や heroku, Firebase など,無料でサイトを作れる環境も充実してきました. ブログを自分のサイトで公開する程度ならこれで十分ですが,本格的な実用に耐えるサービスを作るには,これらでは到底足りません. パ研では,部活として AWS アカウントを取得しているので,サーバーの使用料などは,予算を計算して部に申請すれば使うことができます. これも,パ研で Web 開発をする大きなメリットの一つです.
また,他にも,CTF や競プロには関係ない,デザインの知識もあるとよいです. デザインに自信のある人は,Web フロントエンドの開発をやってみるといいでしょう.
Web 開発の展望¶
現在何かの Web 開発をする場合は,React や Vue などの,Node.js ベースのフレームワークでフロントエンドを作り, Ruby on rails や PHP, Java などでバックエンドを作ることになるかと思います.
Web 開発について何も知らない場合は,個人的なおすすめですが,Web 技術の基本,HTML/CSS/Javascript を一通り学び,その後,Node.js と Express でバックエンドを書いて,React でフロントエンドを書いてみましょう. パ研には,Web 開発経験のある部員が数人いるので,初めての場合は少し聞いてみるといいと思います.
なお,これを書いている kaage(本名はここには書かないのでその辺の人に聞いてください)も,フロントエンドの開発だったら多少相談に乗れます.
文責:kaage