Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
新人教育と(Javaと)Python
Report
7pairs
Follow
Nov. 23, 2015
•
0 likes
5 likes
×
Be the first to like this
Show More
•
4,599 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Check these out next
続Pythonによるwebスクレイピング入門
Hironori Sekine
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
S12 t1 python学習奮闘記#5
Takeshi Akutsu
オリエンテーション
Takeshi Akutsu
S01 t1 tsuji_pylearn_ut_01
Takeshi Akutsu
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
Python & PyConJP 2014 Report
gree_tech
Pythonのプロファイリング
ysakaguchi
1
of
41
Top clipped slide
新人教育と(Javaと)Python
Nov. 23, 2015
•
0 likes
5 likes
×
Be the first to like this
Show More
•
4,599 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
PyCon mini Hiroshima 2015の発表で使用したスライドです。
7pairs
Follow
Advertisement
Advertisement
Advertisement
Recommended
ちょっと真面目にPython&Django・基礎編
OMEGA (@equal_001)
3.9K views
•
18 slides
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
28K views
•
44 slides
PyPro2の読みどころ紹介:Python開発の過去と現在
Takayuki Shimizukawa
11.9K views
•
22 slides
スクレイピングとPython
Hironori Sekine
9.3K views
•
61 slides
The tale of I and python / Python とのはなし
Takanori Suzuki
1.5K views
•
29 slides
How to create PyCon JP
Takanori Suzuki
1.6K views
•
62 slides
More Related Content
Slideshows for you
(20)
続Pythonによるwebスクレイピング入門
Hironori Sekine
•
20.5K views
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
•
11.8K views
S12 t1 python学習奮闘記#5
Takeshi Akutsu
•
937 views
オリエンテーション
Takeshi Akutsu
•
951 views
S01 t1 tsuji_pylearn_ut_01
Takeshi Akutsu
•
2.1K views
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
•
3.4K views
Python & PyConJP 2014 Report
gree_tech
•
2.9K views
Pythonのプロファイリング
ysakaguchi
•
1.9K views
211120 他人の書いたPythonスクリプトをステップ実行で理解する
Takuya Nishimoto
•
1.2K views
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
Yusuke Kon
•
27.7K views
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
•
1.6K views
PyLadies Tokyo - 初心者向けPython体験ワークショップ開催の裏側
Katayanagi Nobuko
•
14K views
Two sides of Python Engineer Training Book in PyCon mini Sapporo
Takanori Suzuki
•
1.4K views
Bottle使ってPython学習一緒にはじめませんか?
Tatsuya Shinozuka
•
1K views
210630 python
Takuya Nishimoto
•
254 views
S06 t0 orientation
Takeshi Akutsu
•
725 views
S01 t0 orientation
Takeshi Akutsu
•
1.7K views
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
•
790 views
Python学習奮闘記#07 webapp
Takeshi Akutsu
•
2K views
S06 t1 python学習奮闘記#4
Takeshi Akutsu
•
1.8K views
Viewers also liked
(15)
tse - Pythonによるテキスト整形ユーティリティ
Atsuo Ishimoto
•
22.5K views
Py "Baseball" Data入門 - 広島東洋カープ編 #pyconhiro
Shinichi Nakagawa
•
18.6K views
Rでvisualization
Hoshida Yukihisa
•
1.4K views
Nishimoto110126 v15-light2
Takuya Nishimoto
•
17.4K views
集合知2回目
Noboru Kano
•
1.3K views
PostgreSQLとpython
Soudai Sone
•
14.2K views
統計Python2
Norihito YAMAKAWA
•
4.5K views
データ解析・統計講座②
uenotsutomu
•
1.5K views
白い陽気なやつとPythonでたわむれる
Ken'ichi Matsui
•
7.9K views
PythonでDeepLearningを始めるよ
Tanaka Yuichi
•
3.7K views
統計的学習の基礎 4章 前半
Ken'ichi Matsui
•
4.6K views
音声認識と深層学習
Preferred Networks
•
110.2K views
PyQtではじめるGUIプログラミング
Ransui Iso
•
308.7K views
WindowsでPython
drillan
•
10.8K views
大規模Perl初心者研修を支える技術
Daisuke Tamada
•
78.4K views
Advertisement
Similar to 新人教育と(Javaと)Python
(20)
オンラインPython学習サービスPyQの価格決め
Haruo Sato
•
4.8K views
IoTで5days学生インターン
Kazuya Fukumoto
•
1.5K views
今年やってきた中で書いてきたコード
Fumihito Yokoyama
•
1.7K views
とある中堅ベンチャーの新人研修戦略 #efsta42
Mamiko Tsuda
•
11.8K views
BPStudy#116(PyQ開発秘話)
Haruo Sato
•
3.4K views
S05_T0_orientation
Takeshi Akutsu
•
923 views
Kaggle
卓馬 三浦卓馬
•
71 views
ペーパークラフトで学ぶフィードバックと改善(鬼)
You&I
•
1.6K views
プログラミングを学ぶと何が良いのか
Haruo Sato
•
6.1K views
泥臭い受託開発Dev love関西
Toshiyuki Ohtomo
•
10K views
PM教育におけるPMIJ教育委員会の取り組み
PMeducaiton
•
714 views
アウトプットのすすめ
KoichiHirai1
•
250 views
<女性限定>在宅ワーク講座 公開版 Django入門
Hirokazu Tokuno
•
91 views
リモートチームとふりかえり改善フレームワーク
Maehana Tsuyoshi
•
1.1K views
PythonのインストールからHello Worldまで
Kioto Hirahara
•
348 views
Two sides of "Python Engineer Training Book"
Takanori Suzuki
•
1.7K views
holidaymakerを支える技術
kuro kuro
•
855 views
Innovation eggとjaws ugについて
Hiroyuki Hiki
•
909 views
Introduction for CHiLO (part 1)
NPO CCC-TIES
•
588 views
5年しかもたない最高のシステムとの向き合い方
Jumpei iwamura
•
1.5K views
More from 7pairs
(6)
テキストマイニングによるフリーエージェント有資格選手の分析
7pairs
•
881 views
テキストマイニングによる新人選手の分析
7pairs
•
365 views
テキストマイニングによる外国人選手の分析
7pairs
•
3.1K views
テキストマイニングによるプロ野球監督の分析
7pairs
•
1.6K views
テキストマイニングによるプロ野球選手の分析
7pairs
•
2.6K views
The Zen of Python
7pairs
•
679 views
Advertisement
Recently uploaded
(20)
社内ソフトスキルを考える
infinite_loop
•
0 views
PCベース制御による集中制御.pdf
ssusercd9928
•
19 views
SoftwareControl.pdf
ssusercd9928
•
6 views
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
Takanari Tokuwa
•
26 views
【DL輪読会】Flow Matching for Generative Modeling
Deep Learning JP
•
711 views
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
オラクルエンジニア通信
•
27 views
統計学の攻略_推測統計学の考え方.pdf
akipii Oga
•
115 views
SoftwareControl.pdf
ssusercd9928
•
15 views
Windows ChatGPT Bing AI.pptx
Atomu Hidaka
•
0 views
☀️【杜兰大学毕业证成绩单留学生首选】
2125nuh
•
2 views
留信网认证可查【拜欧拉大学文凭证书毕业证购买】
1lkjhg
•
3 views
モバイル・クラウド・コンピューティング-データを如何に格納し、組み合わせ、情報として引き出すか
Masahiko Funaki
•
2 views
①【麦吉尔大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 views
《杨百翰大学毕业证|学位证书校内仿真版本》
d520dasw12
•
2 views
通信プロトコルについて
iPride Co., Ltd.
•
0 views
HTTPの仕組みについて
iPride Co., Ltd.
•
0 views
Forguncy製品概要.pptx
フォーガンシー
•
0 views
JSONEncoderで詰まった話
とん とんぼ
•
0 views
☀️【麦吉尔大学毕业证成绩单留学生首选】
15sad
•
3 views
ChatGPT触ってみた
infinite_loop
•
0 views
新人教育と(Javaと)Python
新人教育と (Javaと) Python 長谷場
潤也 2015-11-22 PyCon mini Hiroshima 2015
自己紹介 • 長谷場 潤也(はせば
じゅんや) • Twitter:@7pairs • GitHub:https://github.com/7pairs • 株式会社アイモバイル所属 • アドネットワーク担当のエンジニア • C#、JavaScript…など • 前職まで15年間SIerに勤務 • 今日の発表はその頃のお話
アジェンダ • なぜ新人教育でPythonを採用したのか • Pythonで教育がどう変わったか •
Pythonで講師たちがどう変わったか • 配属されてからの違いはあったのか • まとめ
なぜ新人教育でPythonを採用したのか
教育の前提 • 入社直後の新人さんに対するプログラミング教育 • 対象にはプログラミング未経験者も含まれる •
経験者は教育を早めに切り上げることも… • 教育期間は1∼3ヶ月(年度によって差違あり) • 並行してほかの研修も実施する • マナー研修、情報処理基礎、データベースなど
教育の目的 • 先輩の指導下で業務がこなせるようになること • プログラミングに必要な考え方を身につけること •
言語そのものの習熟にはこだわらない • 業務で関わる機会の多いWeb開発につなげたい • 言語を問わず必要となる知識が多い • Webアプリの仕組み、セキュリティなど
採用する言語の条件 「Windows環境で開発できて…」 (Pythonだ…) 「冗長な記述をする必要がなくて…」 (Pythonだ…) 「難しいパラダイムの言語ではなくて…」 (Pythonだ…) 「Webとの親和性が高い言語で…」 (Pythonだ…!)
それまでの新人教育 • 実務を意識してJavaで実施することが多かった • Javaでは多くのことを同時に学ぶ必要がある •
プログラミングの考え方 • オブジェクト指向 • Java言語の文法
Java版Hello World // おまじないとして進めざるを得ない項目が多い public
class HelloWorld { public static void main(String[] args) { System.out.println("hello, world"); } }
Java版Hello Worldのおまじない (1) //
クラス public class HelloWorld { public static void main(String[] args) { System.out.println("hello, world"); } }
Java版Hello Worldのおまじない (2) //
メソッド public class HelloWorld { public static void main(String[] args) { System.out.println("hello, world"); } }
Java版Hello Worldのおまじない (3) //
アクセス修飾子 public class HelloWorld { public static void main(String[] args) { System.out.println("hello, world"); } }
Java版Hello Worldのおまじない (4) //
静的(メソッド) public class HelloWorld { public static void main(String[] args) { System.out.println("hello, world"); } }
Java版Hello Worldのおまじない (5) //
戻り値 public class HelloWorld { public static void main(String[] args) { System.out.println("hello, world"); } }
Java版Hello Worldのおまじない (6) //
引数 public class HelloWorld { public static void main(String[] args) { System.out.println("hello, world"); } }
Java版Hello Worldのおまじない (7) //
配列(もしくは可変長引数) public class HelloWorld { public static void main(String[] args) { System.out.println("hello, world"); } }
Java版Hello Worldのおまじない (8) //
パッケージ public class HelloWorld { public static void main(String[] args) { System.out.println("エリチカ、おうちに帰る!"); } }
おまじないの効能 • おまじないとして割り切れるのも才能 • 手が止まってしまう人もいる •
おまじないばかりでは写経から得るものがなくなる • その時点での理解を放棄している
生み出される混沌 • ファイル名と異なる名前のpublicクラス • 同一ファイル内に2つのpublicクラス •
同一クラス内に2つのmainメソッド • エントリポイントのつもりのmain2メソッド
Python3版Hello World // 講師に優しいHello
World print("hello, world")
Pythonの採用によって期待されること • クラスが必ずしも必要ない • 関数が必ずしも必要ない •
対話モードならファイルすら必要ない • 最初のおまじないで微妙な空気になることもない
よくある反論と回答 (1) Q. 実際に業務で使う言語で教育すれば、そのあとスムー ズに実務に入れるのでは? A.
上司の指示だと報告書に書いて良いのであれば、業務 でもっとも使われているJava1.4で教育します。
よくある反論と回答 (2) Q. Pythonという言語は聞いたことがないが、そんなマイ ナーな言語で学習に支障はないのか? A.
弊社製独自フレームワークよりは広く使われている言 語なので、自習も容易だと考えています。
Pythonで教育がどう変わったか
動的型付け言語である • コードを書くときに試行錯誤しやすい • 一方で設計の大切さが伝わりづらい面も… •
コレクションが使いやすい • "1" + 1 が 2 にならない程度の厳密さを持つ
対話モードを持っている • 様々な場面で大活躍 • 例を説明するとき •
新人さんが試行錯誤するとき • 講師がこっそり言語仕様を確認するとき • Pythonを採用したことで教育の進め方が変わった
Webとの親和性が高い • PythonだけでWebアプリを作ることができる • Javaで教育していた頃のことは思い出したくもない… •
Tomcatを入れて… • 可読性の低いJSPを書いて… • 変更のたびに再起動をして…
テキストエディタで充分にコーディングできる • 非力なマシンでもなんとか進めることができる • Javaで教えていた頃のことは思い出したくもない… •
Eclipseの起動に5分かかる… • コーディング中にExcelを開くと固まる…
Pythonで講師たちがどう変わったか
学習への意欲が生まれた • 人に教えるためにはまず理解しなければならない • 新人さんに質問されたら答えなければならない •
もちろん嘘を教えるわけにはいかない • 新しいことを学ぶ楽しさを思い出した
英語に対する抵抗感が和らいだ • 公式ドキュメントを離れると日本語情報が少ない • 外部ライブラリのドキュメント •
Stack Overflowなど • 英語を読まざるを得ない状況に • 追い込まれれば意外となんとかなる
業務にPythonを取り入れる動き • ツール類をPythonに置き換える • Perlからの置き換え •
シェルスクリプトからの置き換え • VBAからの置き換え • プロダクトでの導入はハードルが高かった…
配属されてからの違いはあったのか
インデントは偉大だった • ブロック単位できちんとインデントする習慣 • 規約を意識したコーディング •
PEP8も偉大だった
既存の機能を使おうとしてくれる • 新人さんにありがちな車輪の再発明が発生しづらい • 標準ライブラリで解決することができないか •
APIのJavadoc、MSDN等を調べる習慣 • 外部のライブラリで解決することができないか • ただ、なんでもかんでもjarを追加するのは…
関数をオブジェクトとして扱う • map、filterなどで関数を引数に指定した経験 • ほかの言語でも類推して理解することができる •
C#、JavaScriptなど • Java8? 何それ美味しいの?
昔ながらのfor文に戸惑ってしまう for (String str
: strArray) { // Pythonのforからの類推で理解できる } for (int i = 0; i < strArray.length; i++) { // 何これ? 見たことがない! }
昔ながらのfor文を理解しなければいけないたった一つの理由 • Java1.4が現役であるため • Python採用2年目はJavaScriptを例に説明
まとめ
まとめ • Pythonの採用により、アルゴリズムなどの本当に教え たい部分にフォーカスできた • 業務で利用しないPythonで教育する場合、そのマイナ スを上回るメリットを提示できるように •
新人教育は講師の教育でもある • Pythonとほかの言語との違いを認識させ、もし足りな い機能がある場合は別言語を例にすることも必要
ご清聴ありがとうございました
Advertisement