Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
最新の技術だけ ではなく基本も 大事にしよう suzuki_mar
Slide 2
Slide 2 text
自己紹介 経歴 過去 iOSアプリ開発者 → 体調を崩して休職した ↓ 現在 独自の肩書として、 技術的負債解決プログラマ、若手プログラマコー チと名乗れるように日々精進している 関わっているコミュニティ 渋谷もくもく会 中川塾(東大生がプログラミングを勉強している) フリーランスミートアップ 氏名 鈴木 将之 アカウント名 suzuki_mar
Slide 3
Slide 3 text
自己紹介 趣味 ● 音楽を聞くこと/ライブに参加するこ と ● 新日本プロレス(最近の) 個人活動 ライブ参加者(イベンター)としての活動 が楽になるようなシステムの EventerAgentというシステムを作成して います
Slide 4
Slide 4 text
今回扱う内容 ● 基礎とは ● フロントエンジニアに身につけていて欲しい基礎 ● suzuki_marが身につけておいてよかった基礎 身に着けていればよかった基礎
Slide 5
Slide 5 text
基礎とは チャプター1
Slide 6
Slide 6 text
基礎とは初歩(入門) のことではなく 物事の根本となるもの 基礎とは
Slide 7
Slide 7 text
プログラミングでいうとif,forなど のプログラミング文法に該当する 基礎とは
Slide 8
Slide 8 text
suzuki_marにとっての プログラミングの世界観 基礎とは
Slide 9
Slide 9 text
基礎部分を習得していると 長期にわたって ずっと役に立つ 基礎とは
Slide 10
Slide 10 text
例えば 基礎とは
Slide 11
Slide 11 text
オブジェクト指向 ● ポピュラーとなったのは1996年 ● その前からオブジェクト指向は存在していた ● UML(0.9)が公開されたのがこの時期 20年以上たっても プログラミングの必須技術 基礎とは
Slide 12
Slide 12 text
アジャイル開発 ● 概念としてまとめられたのは,2001年 ● その前はいろんな技術が乱立していた ● まとめられてアジャイル宣言ができたのが 2001年 今となっては当たり前すぎる 開発スタイル 基礎とは
Slide 13
Slide 13 text
このように基礎となる技術や 考え方は10、20年以上役にたつ 基礎とは
Slide 14
Slide 14 text
基本となる考え方を知っているか どうかで、学習効率の差が生まれる 基礎とは
Slide 15
Slide 15 text
新しい技術や考え方が登場しても この技術はこの考え方が 発展したものという理解ができる 基礎とは
Slide 16
Slide 16 text
話題になっている技術も 過去の技術が発展したもの がある 基礎とは
Slide 17
Slide 17 text
例えば 基礎とは
Slide 18
Slide 18 text
IoTは ユビキタスコンピューティング が発展したもの 参考書籍 IoTとは何か 技術革新から社会革新へ 著者 坂村氏 (組み込みシステムのシェアが高い OSのTRONプロジェクトを始めた人) 基礎とは
Slide 19
Slide 19 text
AI(人工知能)は かなり昔から研究されていて 一時期はもてはやされたが 冬の時期が長く続いていた 技術の発展によりディープランニングが登場した 参考書籍 人工知能は人間を超えるか 著者 松尾氏 基礎とは
Slide 20
Slide 20 text
このように今後も基礎ができている 過去の技術が再び脚光を浴びる 可能性がある 基礎とは
Slide 21
Slide 21 text
最新の技術を習得することはすごく大 事なことだがそれと同じぐらい基礎と なる技術も大切 基礎とは
Slide 22
Slide 22 text
● 基礎とは入門のことではなく、根本と なるもの ● 基礎を習得していると長期にわたって 役に立つ ● 基礎を習得しているかどうかで学習効 率の差が生まれる チャプター1のまとめ
Slide 23
Slide 23 text
フロントエンジニアに 習得して欲しい技術 チャプター2
Slide 24
Slide 24 text
注意書き これは、プログラマ(suzuki_mar)が身に つけていてほしいなという願いです フロントエンジニアに習得して欲しい技術
Slide 25
Slide 25 text
フロントエンジニアの定義 デザイナーから渡されたデザインをもとに HTML,CSSやJavaScript等を使用してWebサイトの フロント部分を作成する人 間違っていたらごめんなさい フロントエンジニアに習得して欲しい技術
Slide 26
Slide 26 text
最近ではJavaScriptの重要性が増してきて プログラミングのスキルも求められている プログラミングの基礎技術も習得した方がいい フロントエンジニアに習得して欲しい技術
Slide 27
Slide 27 text
フロントエンジニアの方に 初歩でいいのでプログラミングに 関して身につけていほしい技術 フロントエンジニアに習得して欲しい技術 ● オブジェクト指向 ● プログラミングのお作法(設計方法) ● 読みやすいコード(リーダブルコード)
Slide 28
Slide 28 text
全く知らない(0%)と少し知っている (10%~20%)でものすごい差がでてくる プログラマにとってすごくありがたい フロントエンジニアに習得して欲しい技術
Slide 29
Slide 29 text
オブジェクト指向 フロントエンジニアに習得して欲しい技術 オブジェクト指向を入門するには とにかくわかりづらくてとっつきに くいものという考え方を捨てる ただ単にプログラミングを便利にす るという認識で大丈夫
Slide 30
Slide 30 text
オブジェクト指向のおすすめの本 フロントエンジニアに習得して欲しい技術
Slide 31
Slide 31 text
オブジェクト指向でなぜ 作るのかをおすすめする理由 フロントエンジニアに習得して欲しい技術 多くのオブジェクト指向の入門本は わかりづらいがこの本は1から解説 してかつ変な誤解がないようにして いる 最後らへんでは、他の入門本では 扱っていないこともうまい具合に 扱っている
Slide 32
Slide 32 text
プログラミングのお作法 フロントエンジニアに習得して欲しい技術 管理しやすい設計方法の一覧 同じコードを書かない 一つのファイルや関数、クラス に記述しすぎないなど
Slide 33
Slide 33 text
プログラミングのお作法のおすすめの本 フロントエンジニアに習得して欲しい技術
Slide 34
Slide 34 text
オブジェクト指向設計ガイト をおすすめする理由 フロントエンジニアに習得して欲しい技術 Rubyの本だけど,PHPとかがわかれば,Rubyがわから なくてもなんとかなると思う 簡単なアプリケーションを作りながらプログラミン グのお作法(設計原則)をわかりやすく解説している この本の内容を理解できたら設計するスキルがすご く高くなる プログラマに対してドヤ顔できるかもしれない この本を読む前になぜオブジェクト指向で作るのか を読んだほうがいい
Slide 35
Slide 35 text
読みやすいコード(リーダブルコード) フロントエンジニアに習得して欲しい技術 コードは書くだけのものではなく,読むために 書くもの その意識が低いことにより,メンテナンスがで きないコードを生み出してしまう また,プログラマからまさかりを投げられてし まう
Slide 36
Slide 36 text
まさかりとは フロントエンジニアに習得して欲しい技術 わかりづらいコードや設計に対 して改善(批判)をどんどんして くること
Slide 37
Slide 37 text
読みやすいコードのおすすめの本 フロントエンジニアに習得して欲しい技術
Slide 38
Slide 38 text
リーダブルコードをおすすめする理由 フロントエンジニアに習得して欲しい技術 どういう風に書けば,他の人が読みやすかっ たり変化しやすいコードを書けるかを丁寧 に解説している プログラミングが苦手な人は,この本にかい てあることを意識するだけで,わかりやすい コードを書くことができる 類書はたくさんあるが,初めはこの本を理解 することがすごい重要だと思う
Slide 39
Slide 39 text
プログラミングとは直接関係ないが 身についていると すごくありがたい基礎技術 フロントエンジニアに習得して欲しい技術 ● バージョン管理(Git) ● アジャイル開発
Slide 40
Slide 40 text
バージョン管理(Git) フロントエンジニアに習得して欲しい技術 すでに使われている人も多いと思いますが、フロ ントエンジニアにかぎらずバージョン管理はデザ イナーを含め全クリエイターに使えるようになっ て欲しい プログラミング時に間違って直せなくなったとし ても作業を一旦リセットしてやり直す事ができる ゲームにおける中間セーブ的なことができる
Slide 41
Slide 41 text
バージョン管理(Git)のおすすめの 学習ツール Git-it フロントエンジニアに習得して欲しい技術 日本語も対応している
Slide 42
Slide 42 text
バージョン管理(Git)のおすすめの 学習ツール フロントエンジニアに習得して欲しい技術 GitHubが作成した学習ツール これを使えれば基本的なことはわかる これの範囲外のことはエンジニアに教えてもらえれば OK コマンドライン(黒い画面)で操作するので,Git-itの延 長線上でGUIツールでは操作しづらいこともできるよ うになる
Slide 43
Slide 43 text
アジャイル開発 フロントエンジニアに習得して欲しい技術 世間ではアジャイル開発がメインストリームになって いるのかを理解して少しずつチームを変えていけば幸 せになると思う すでにアジャイル開発をしている会社の人は、なぜア ジャイル開発をしているのかを理解すればより良い開 発チームになる 受け身ではなく積極的になって欲しい
Slide 44
Slide 44 text
アジャイル開発のおすすめの本 フロントエンジニアに習得して欲しい技術
Slide 45
Slide 45 text
アジャイルサムライをおすすめする理由 フロントエンジニアに習得して欲しい技術 アジャイル開発入門の決定版!! なんでアジャイル開発が必要なのか、するとどうなる のかを書いてある アジャイル開発をチームでしていくにはどうすればい いかを書いてある アジャイル開発の本はたくさんあるが、一番初心者向 けだと思う
Slide 46
Slide 46 text
● オブジェクト指向 ● プログラミングのお作法(設計技法) ● 読みやすいコード フロントエンジニアに 習得してもらいたい技術 プログラミングスキル プログラミング以外のスキル ● バージョン管理(Git) ● アジャイル開発
Slide 47
Slide 47 text
人に本を紹介してばかりで お前(suzuki_mar)は 本を読んでるのかという 疑問を持った方がいると思います
Slide 48
Slide 48 text
一応これぐらいは読んでいます 読書記録 (一部技術書やビジネス書以外も含まれています)
Slide 49
Slide 49 text
suzuki_marに とっての基礎技術 チャプター3
Slide 50
Slide 50 text
簡単な経歴 suzuki_marにとっての基礎技術 PHPやRubyのプログラマ からiOSアプリ開発者 になった
Slide 51
Slide 51 text
身につけていてよかった基礎技術 suzuki_marにとっての基礎技術 リーダーブルコードやオブジェクト指向 の基礎技術があったので良かった なかったら,まさかり飛び放題だったか も
Slide 52
Slide 52 text
身につけていた方がよかった基礎技術 suzuki_marにとっての基礎技術 iOSアプリ開発者になった時は プログラミングのお作法(設計原則)や オブジェクト指向の応用的な方法 (デザインパターン)を知らなかったので 読みづらいコード (アンリーダブルコード)を出してしまっ た
Slide 53
Slide 53 text
自分ごと 自分としては,これから先もプログラマとして やっていくつもり そのために,時代に合わせて新しい開発環境に 挑戦していくことになる そのためには最新の技術だけではなく設計や 今後トレンドとなるプログラミングスタイル の基礎技術を身につけていきたい
Slide 54
Slide 54 text
セッションのまとめ 最新の技術を身につけることはとて も大切なことです その技術の基礎となっている技術も とても大切な技術です その両方を楽しく勉強していきま しょう(していきます)
Slide 55
Slide 55 text
ご清聴ありがとうございました