序文
ご無沙汰しております。事あるごとに口内炎ができまくる口内炎系男子の羽鶴です。
気付けば、前回の投稿から一年近くが経過していました。
今回は4月の中旬に熊本で開催した「Inside IT #2」という勉強会の事後報告(宣伝)と
私個人が考えている IT の基礎を知ることの重要性について書いてみようと思います。
insideit.connpass.com
Inside IT とは?
さて、今回開催した「Inside IT #2」ですが、#2 と付いているとおり二回目の開催になります。
勉強会の目的や内容はイベントページに書いていますので、是非そちらを読んで頂けると嬉しいのですが、
簡単にまとめると、、、
コンピュータが動く仕組みから、ネットワークがつながる仕組み、ブラウザがWebページを表示する仕組みまでの一連の流れを知ることで
より高度な技術を習得・活用するための先駆けとなること。
といった具合になるかと思います。
今日のIT技術は高度に抽象化されていて、何が何だかよく分からないから、まずは中身を知った上でもっと使いこなせるようになろう!
といった感じの勉強会です。
Inside IT #2 の様子
では、ここからは「Inside IT #2」の当日の様子を掻い摘んで紹介していきたいと思います。
なお、今回は熊本のセキュリティ系勉強会である「セキュリティさくら」さんとの合同開催となっていますので、
本来の「Inside IT」にない風景が多少含まれています。
合わせて、Togetterもご覧ください。
オープニング
オープニングでは勉強会の目的や経緯、エンジニアとして倫理感を大切にして技術は正しく使おうという話がありました。
最近は色々とHot🔥な話題が絶えず、私自身も見ていて不安になりますが、煽りあっても仕方がないので、
IT技術の向上に少しでも貢献できるような活動を続けていきたいと改めて感じました。
Inside Computer
1つ目のセッションは「Inside Computer」ということで、コンピュータの仕組みについてです。
このセクションでは画像や文字などの目に見える情報がコンピュータ上ではどのように扱われているかや、
アセンブリ言語を使ったプログラムを実際に書いみることで、 手を動かしながら仕組みを知るといったものでした。
Inside Network
2つ目のセッションはネットワークということで、MACアドレスやIPアドレスとは何か?といった所から始めてインターネットがつながる仕組みやWiresharkを使った実際のパケットの観察など幅広い範囲が扱われていました。
インターネットの面白さの一つであるルーティングについても、身近な例を使って平易に説明されているので初心者でも理解しやすい内容になっていたと思います。
ケーキタイム! 🍰
ケーキタイム☆です。疲れた脳には良質な糖分が必要です。
「セキュリティさくら」では、休憩時間にケーキが振舞われます。←ココ重要
今回は「セキュリティさくら」さんとの合同開催なので、この🍰プロトコルが適用されました。
Inside Web Browser
さて、良質な糖分を摂取したところで、最後のセッションは私が担当する「Inside Web Browser」です。
例にもれず今回も3つの口内炎を舌に装備した、万全の状態で発表に挑みました。
このセッションでは今日のWebサイトを形作っているHTML、CSS、JavaScriptの説明から始めて、 Webブラウザがそれらの構成物を解釈して映像として出力するしくみ、HTMLや画像などの Webサイトの構成物を運ぶHTTPの仕組みまでをお話ししました。
LTタイム
最後に、有志によるLTタイムがありました。
私はやり遂げた達成感からか、あしたのジョーになっていたので、発表者の方には非常に申し訳ないのですが、若干内容をうろ覚えです。
ただ、こういった、日頃から自分が取り組んでいることを気軽に話せる場があるのはいいですね。。。
やってみての感想
ここまでの内容で意外と長くなってしまったので、感想を述べて一旦締めようと思います。
地方の出身として、東京に集中したIT系勉強会と、地方の勉強会の参加者の少なさを悩ましく思っていたところ、 思い出がある熊本でこの勉強会を開催できたことを大変うれしく思っています。
また、参加者層も学生から社会人、ひいては弁護士の方まで、さまざまなレイヤーの方にご参加頂きました。
この活動が地方のIT産業の活性化に少しでも繋がれば幸いです。
最後に、早くから会場入りして設営を手伝って頂いたセキュリティさくらの学生の方々には改めて感謝申し上げたいと思います。 お陰様で滞りなく無事に勉強会を終えることができました。
エピローグ ~ITの基礎を学ぶことの大切さ~
ここからは、私自身が考えるITの基礎を学ぶことのメリットについて書いてみようと思います。
新しい技術のキャッチアップが容易になる
まず、一つ目のメリットは何といっても新しい技術のキャッチアップが容易になることだと思います。
高度に抽象化されていたとしても、大元を辿れば基本的な技術の組み合わせによって成り立っているのが今日のIT技術だと思います。
基礎を知っていれば、それらの知識を繋げることで新しい技術の仕組みやメリットを把握することが容易になります。
学習の効率が上がれば、必然的にエンジニアとしての成長速度も上がります。
例えば、ここ最近のWebのフロントエンド界隈で人気を集めている「仮想DOM」ですが、Webブラウザが扱うDOMと、
DOMに変更があった際に実行される再レンダリングについて知っていれば、なぜ仮想DOMにメリットがあるのかを素早く理解できると思います。
※ レンダリングの効率以外にもメリットはありますが
技術を上手く扱えるようになる
新しい技術やサービスの裏側を見ていると技術の扱いのうまさに感動することが多々あります。
技術の仕組みと特性を理解して、それらが適切に組み合わせたシステムは運用が楽ですし、成長します。
反対に、内部や特性を理解しないまま何となく組み合わせて作ったシステムは、そもそも動かないか、
時間とともに綻びが大きくなってシステム全体が崩れ落ちます。
Webサービス1つとっても様々な技術の集合体です。
それぞれの技術がどういう特性を持っていて、どう繋がっているかを理解していれば高品質なサービスを提供することが可能になります。
最後に
ITの基礎はビルの基礎に似ていると思っています。
貧弱な基礎の上に大きいビルを建てることはできません、建てたとしてもグラグラしていて直ぐに崩れてしまいます。
正しい知見や理論に基づいて、適切に設計・構築されたシステムはそう簡単に崩れることはありません。