Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
最新の技術だけではなく基本も大事にしよう
Search
suzuki masayuki
March 17, 2017
Technology
1
190
最新の技術だけではなく基本も大事にしよう
最新の技術を身につけることはとても大切なことです
その技術の基礎となっている技術もとても大切な技術です
その両方を楽しく勉強していきま しょう(していきます)
suzuki masayuki
March 17, 2017
Tweet
Share
More Decks by suzuki masayuki
See All by suzuki masayuki
ドメイン駆動設計の考えをもとに競合優位性や アウトカムを得る
suzukimar
0
130
ドメイン駆動設計に挫折をしないで一歩目を歩く
suzukimar
0
90
変更につよいユニットテストの書き方.pdf
suzukimar
2
61
Railsでクリーンアーキテクチャを考えてきた
suzukimar
5
2k
ストーリーで学ぶモジュラーモノリス
suzukimar
7
1.4k
ちょうぜつ本の紹介 (クリーンアーキテクチャとパッケージ原則)
suzukimar
1
630
実装パターンとテストパターンの紹介と組み合わせ方
suzukimar
2
140
技術的負債に関する怖い話と解決策の実例
suzukimar
1
760
Railsアンチパターン_suzuki_mar_zeals.pdf
suzukimar
1
180
Other Decks in Technology
See All in Technology
MLOps の現場から
asei
5
620
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
190
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
460
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
250
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
22
10k
Wantedly での Datadog 活用事例
bgpat
1
340
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
1
230
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
100
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
65
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Why Our Code Smells
bkeepers
PRO
335
57k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Docker and Python
trallard
41
3.1k
Transcript
最新の技術だけ ではなく基本も 大事にしよう suzuki_mar
自己紹介 経歴 過去 iOSアプリ開発者 → 体調を崩して休職した ↓ 現在 独自の肩書として、 技術的負債解決プログラマ、若手プログラマコー
チと名乗れるように日々精進している 関わっているコミュニティ 渋谷もくもく会 中川塾(東大生がプログラミングを勉強している) フリーランスミートアップ 氏名 鈴木 将之 アカウント名 suzuki_mar
自己紹介 趣味 • 音楽を聞くこと/ライブに参加するこ と • 新日本プロレス(最近の) 個人活動 ライブ参加者(イベンター)としての活動 が楽になるようなシステムの
EventerAgentというシステムを作成して います
今回扱う内容 • 基礎とは • フロントエンジニアに身につけていて欲しい基礎 • suzuki_marが身につけておいてよかった基礎 身に着けていればよかった基礎
基礎とは チャプター1
基礎とは初歩(入門) のことではなく 物事の根本となるもの 基礎とは
プログラミングでいうとif,forなど のプログラミング文法に該当する 基礎とは
suzuki_marにとっての プログラミングの世界観 基礎とは
基礎部分を習得していると 長期にわたって ずっと役に立つ 基礎とは
例えば 基礎とは
オブジェクト指向 • ポピュラーとなったのは1996年 • その前からオブジェクト指向は存在していた • UML(0.9)が公開されたのがこの時期 20年以上たっても プログラミングの必須技術 基礎とは
アジャイル開発 • 概念としてまとめられたのは,2001年 • その前はいろんな技術が乱立していた • まとめられてアジャイル宣言ができたのが 2001年 今となっては当たり前すぎる 開発スタイル
基礎とは
このように基礎となる技術や 考え方は10、20年以上役にたつ 基礎とは
基本となる考え方を知っているか どうかで、学習効率の差が生まれる 基礎とは
新しい技術や考え方が登場しても この技術はこの考え方が 発展したものという理解ができる 基礎とは
話題になっている技術も 過去の技術が発展したもの がある 基礎とは
例えば 基礎とは
IoTは ユビキタスコンピューティング が発展したもの 参考書籍 IoTとは何か 技術革新から社会革新へ 著者 坂村氏 (組み込みシステムのシェアが高い OSのTRONプロジェクトを始めた人) 基礎とは
AI(人工知能)は かなり昔から研究されていて 一時期はもてはやされたが 冬の時期が長く続いていた 技術の発展によりディープランニングが登場した 参考書籍 人工知能は人間を超えるか 著者 松尾氏 基礎とは
このように今後も基礎ができている 過去の技術が再び脚光を浴びる 可能性がある 基礎とは
最新の技術を習得することはすごく大 事なことだがそれと同じぐらい基礎と なる技術も大切 基礎とは
• 基礎とは入門のことではなく、根本と なるもの • 基礎を習得していると長期にわたって 役に立つ • 基礎を習得しているかどうかで学習効 率の差が生まれる チャプター1のまとめ
フロントエンジニアに 習得して欲しい技術 チャプター2
注意書き これは、プログラマ(suzuki_mar)が身に つけていてほしいなという願いです フロントエンジニアに習得して欲しい技術
フロントエンジニアの定義 デザイナーから渡されたデザインをもとに HTML,CSSやJavaScript等を使用してWebサイトの フロント部分を作成する人 間違っていたらごめんなさい フロントエンジニアに習得して欲しい技術
最近ではJavaScriptの重要性が増してきて プログラミングのスキルも求められている プログラミングの基礎技術も習得した方がいい フロントエンジニアに習得して欲しい技術
フロントエンジニアの方に 初歩でいいのでプログラミングに 関して身につけていほしい技術 フロントエンジニアに習得して欲しい技術 • オブジェクト指向 • プログラミングのお作法(設計方法) • 読みやすいコード(リーダブルコード)
全く知らない(0%)と少し知っている (10%~20%)でものすごい差がでてくる プログラマにとってすごくありがたい フロントエンジニアに習得して欲しい技術
オブジェクト指向 フロントエンジニアに習得して欲しい技術 オブジェクト指向を入門するには とにかくわかりづらくてとっつきに くいものという考え方を捨てる ただ単にプログラミングを便利にす るという認識で大丈夫
オブジェクト指向のおすすめの本 フロントエンジニアに習得して欲しい技術
オブジェクト指向でなぜ 作るのかをおすすめする理由 フロントエンジニアに習得して欲しい技術 多くのオブジェクト指向の入門本は わかりづらいがこの本は1から解説 してかつ変な誤解がないようにして いる 最後らへんでは、他の入門本では 扱っていないこともうまい具合に 扱っている
プログラミングのお作法 フロントエンジニアに習得して欲しい技術 管理しやすい設計方法の一覧 同じコードを書かない 一つのファイルや関数、クラス に記述しすぎないなど
プログラミングのお作法のおすすめの本 フロントエンジニアに習得して欲しい技術
オブジェクト指向設計ガイト をおすすめする理由 フロントエンジニアに習得して欲しい技術 Rubyの本だけど,PHPとかがわかれば,Rubyがわから なくてもなんとかなると思う 簡単なアプリケーションを作りながらプログラミン グのお作法(設計原則)をわかりやすく解説している この本の内容を理解できたら設計するスキルがすご く高くなる プログラマに対してドヤ顔できるかもしれない
この本を読む前になぜオブジェクト指向で作るのか を読んだほうがいい
読みやすいコード(リーダブルコード) フロントエンジニアに習得して欲しい技術 コードは書くだけのものではなく,読むために 書くもの その意識が低いことにより,メンテナンスがで きないコードを生み出してしまう また,プログラマからまさかりを投げられてし まう
まさかりとは フロントエンジニアに習得して欲しい技術 わかりづらいコードや設計に対 して改善(批判)をどんどんして くること
読みやすいコードのおすすめの本 フロントエンジニアに習得して欲しい技術
リーダブルコードをおすすめする理由 フロントエンジニアに習得して欲しい技術 どういう風に書けば,他の人が読みやすかっ たり変化しやすいコードを書けるかを丁寧 に解説している プログラミングが苦手な人は,この本にかい てあることを意識するだけで,わかりやすい コードを書くことができる 類書はたくさんあるが,初めはこの本を理解 することがすごい重要だと思う
プログラミングとは直接関係ないが 身についていると すごくありがたい基礎技術 フロントエンジニアに習得して欲しい技術 • バージョン管理(Git) • アジャイル開発
バージョン管理(Git) フロントエンジニアに習得して欲しい技術 すでに使われている人も多いと思いますが、フロ ントエンジニアにかぎらずバージョン管理はデザ イナーを含め全クリエイターに使えるようになっ て欲しい プログラミング時に間違って直せなくなったとし ても作業を一旦リセットしてやり直す事ができる ゲームにおける中間セーブ的なことができる
バージョン管理(Git)のおすすめの 学習ツール Git-it フロントエンジニアに習得して欲しい技術 日本語も対応している
バージョン管理(Git)のおすすめの 学習ツール フロントエンジニアに習得して欲しい技術 GitHubが作成した学習ツール これを使えれば基本的なことはわかる これの範囲外のことはエンジニアに教えてもらえれば OK コマンドライン(黒い画面)で操作するので,Git-itの延 長線上でGUIツールでは操作しづらいこともできるよ うになる
アジャイル開発 フロントエンジニアに習得して欲しい技術 世間ではアジャイル開発がメインストリームになって いるのかを理解して少しずつチームを変えていけば幸 せになると思う すでにアジャイル開発をしている会社の人は、なぜア ジャイル開発をしているのかを理解すればより良い開 発チームになる 受け身ではなく積極的になって欲しい
アジャイル開発のおすすめの本 フロントエンジニアに習得して欲しい技術
アジャイルサムライをおすすめする理由 フロントエンジニアに習得して欲しい技術 アジャイル開発入門の決定版!! なんでアジャイル開発が必要なのか、するとどうなる のかを書いてある アジャイル開発をチームでしていくにはどうすればい いかを書いてある アジャイル開発の本はたくさんあるが、一番初心者向 けだと思う
• オブジェクト指向 • プログラミングのお作法(設計技法) • 読みやすいコード フロントエンジニアに 習得してもらいたい技術 プログラミングスキル プログラミング以外のスキル
• バージョン管理(Git) • アジャイル開発
人に本を紹介してばかりで お前(suzuki_mar)は 本を読んでるのかという 疑問を持った方がいると思います
一応これぐらいは読んでいます 読書記録 (一部技術書やビジネス書以外も含まれています)
suzuki_marに とっての基礎技術 チャプター3
簡単な経歴 suzuki_marにとっての基礎技術 PHPやRubyのプログラマ からiOSアプリ開発者 になった
身につけていてよかった基礎技術 suzuki_marにとっての基礎技術 リーダーブルコードやオブジェクト指向 の基礎技術があったので良かった なかったら,まさかり飛び放題だったか も
身につけていた方がよかった基礎技術 suzuki_marにとっての基礎技術 iOSアプリ開発者になった時は プログラミングのお作法(設計原則)や オブジェクト指向の応用的な方法 (デザインパターン)を知らなかったので 読みづらいコード (アンリーダブルコード)を出してしまっ た
自分ごと 自分としては,これから先もプログラマとして やっていくつもり そのために,時代に合わせて新しい開発環境に 挑戦していくことになる そのためには最新の技術だけではなく設計や 今後トレンドとなるプログラミングスタイル の基礎技術を身につけていきたい
セッションのまとめ 最新の技術を身につけることはとて も大切なことです その技術の基礎となっている技術も とても大切な技術です その両方を楽しく勉強していきま しょう(していきます)
ご清聴ありがとうございました