狠狠撸

狠狠撸Share a Scribd company logo
新卒で初めて学ぶ言語が
Scalaで良かったこと/大変だったこと
てらさか?いくや
自 己 紹 介
? 寺坂 郁也 (てらさか いくや)
? 2014年、文系大学を卒業し、入社
? 株式会社セプテーニ?オリジナル
? コミックスマート株式会社で?
「GANMA!」というWebマンガサービスに携わる
自 己 紹 介
? 経歴…まだないです
G A N M A ! だ け。
こ れ ま で にや っ た こ と
? 2014年4月、文系大学卒業→新卒で入社
? PHP, Javascript, HTMLで少し研修
? 5月からコミックスマート(GANMA!)で働き始める
? サーバーのAPI開発で Play+Scala を初めて使う
? 6月終わりごろからTypescript+AngularでWeb開発
? 10月からSwiftでiOS開発
本日のテーマ
素人 × Scala = ?
話 し た い こ と
? 学習変遷
? コードの読み書き
? Scalaを学ぶのは難しい?
1. 学習変遷
学 習 変 遷
? 取っかかり ( → スプリントとしての勉強期間 )
? 理解し始める ( → 業務スタート )
取 っ か か り
? Scala?
? DDD?ドメイン?リポジトリ?
? TDD?テスト?
? オブジェクト指向?
? Gitとかのインフラ?
Step:1
!
なんだかよく分からないけど、?
とりあえずコップ本から始めました
が、読んでも
よく分からない
!
ケースクラス? トレイト? マップ?
も っ と 分 か り や す い
説 明 は な い も の か
Step:2
!
Google先生なら
きっと万能だよね!
うーん。
!
JAVAとの比較…!?
結果
Google検索に常駐
!
ただただ
時間が吸われる(??_?`)
考 えて み る と 、
そもそもクラスの概念自体を
理解できていないのに
!
ケースクラスとかトレイトの情報を見ても
分かるはずがありませんでした
や っ ぱ り
ド キ ュ メ ン ト を 読 む な かで
前 提 知 識 が 必 要 な 情 報 が 多 い こ と に 苦 労 し ま し た
全てをいきなり理解するのは無理があるので
!
まあ、とにもかくにも
書いてみようじゃないか、ということで
Step: 3
!
簡単なBBSを作ってみる
B B S に 必 要 な の は
書 き 込 み 、 読 み 出 し 、 削 除 …
P l a y F r a m e w o r k … ?
…(??_?`)?…Pla y+Scala?
な る ほ ど 。 そ う で す か
!
P l a y に も
慣 れ な い と い け な い んで す ね
書くのも
やっぱり難しかった
で も
実 際 に 触 って み る こ と に よ って
!
な に が 分 か ら な い の か が
分 か り ま し た
文 法 は 触 って い る う ち に 慣 れ ま す
!
文 法 が 分 か って き た ら 、
コ ー ド を 読 め る よ う に も な って き ま す
実 際 に
書 いて み る こ と で 文 法 に 慣 れ
!
す こ し 理 解 が 進 み ま し た
取 っ か か り : ま と め
? Step1:?コップ本?
?→ よく分からない
? Step2:?Google先生に聞く ?
?→ 前提知識が足りず、時間がすわれる
? Step3:とりあえず、簡単なBBSを作ってみる?
?→ 無知の知。少し理解が進む
学 習 変 遷
? 取っかかり ( → 勉強期間 )
? 理解し始める ( → 業務スタート )
理 解 し 始 め る
? 業務スタート
カラムを増やすとか
機能追加とか
? まずは既存コードの改修からスタート
? スクラム開発
? コードを読み、调べて、闻く
ス ク ラム が 取 り 入 れ ら れて い た の で
!
質 問 や ア ラ ー ト を 投 げ て
す ぐ 聞 く こ と が で き ま し た
周 り に 聞 ける 環 境 に
あ っ た こ と は 大 き い
理 解 し 始 め る
? 言語の特徴部分にも目が向く
理 解 し 始 め る
? 関数型的な書き方とか
? 型安全だとか
? パターンマッチ使えるとか
? オプショナルの良さとか、安心感
なぜ
そういう言語仕様に
なっているのかを考え始める
こ の 段 階 で 初 めて
!
「 な ん だ か S c a l a って い い か も 」
と 思 い 始 め ま し た
学 習 変 遷 ま と め
? 取っかかり?
→ 分からなくても読む?
→ とりあえず書いてみる
? 理解し始める
→ 実装への疑問から聞いて調べて色々知る?
?→ 良さが分かった気になる
話 し た い こ と 2
? 学習変遷
? コードの読み書き
? Scalaを学ぶのは難しい?
2. コードの読み書き
コ ー ド を 読 む って 大 変
? 実装をどんどん追いかけないといけない
? 中になにが入っていてどう変化するのかが曖昧
? 読んでも理解が正確でない
型があると
読みやすくて安心
型 が あ る と
? なにが入っているか、なにが返ってくるのかが分かる
? 実装に対する理解がすすむ
? バグの防止になる
型 は 初 心 者 に こそ 必 要 な も の
だ と 思 い ま す
コ ー ド を 書 く
? とりあえず動くものができる
コ ー ド を 読 んで い る と
!
→ ふ む ふ む 、 こ ん な 風 に 書 く んで す ね
→ こ れ が 最 善 で は ?
→ こ れ 以 上 、 い い 書 き 方 が 思 い つ き ま せ ん
理解したつもりになって
真似てみる
だめコードたくさん
黒魔術たくさん
コンパイルエラー!!
テストエラー!!
プル リ の リ ジェ ク ト ( ? ? _ ? ` )
【 教 訓 】
理 解した つ もりになった
初 心者ほ ど 怖いものは無い
!
が 、
プルリで助けられました
コンパイルもありがとう
と こ ろで、 良 く 耳 に す る 話 。
!
S c a l a は
ビ ル ド が 遅 い
\ W e n e e d 速 い マ シ ン ! /
速いのを知らないので
!
基準が
分かりませんでした
開 発 環 境 に 関 して は
ス ト レス レス
話 し た い こ と 3
? 学習変遷
? コードの読み書き
? Scalaを学ぶのは難しい?
3. Scalaを学ぶのは難しい?
?厂肠补濒补の学习コスト
S C A L A の 学 習 コ ス ト
? 関数型
? 副作用無し
? イミュータブル
…etc
考え方を変えること
?→コスト大
何も持っていない僕。
「そんな感じで書くんですね」
!
と、ただ受け入れるだけです
良さも分からなければ、
大変さも分からない
スキル も 何 も な い 状 況 で は
!
目 の 前 の こ とを
受 け 入 れて や る し か な く て
そしてやってみれば、
意外となんとかなります
と い う か 、
周 り の 先 輩 エ ン ジニ ア の 方 々 が
な ん と か してくれ ま し た
今思えば、
!
コードレビューや口頭の助言を通じて、
そこは担保されてたんだな、と
だから、
!
他の言語より
学習コストが高くて難しい
というイメージは持っていません
言語そのものだけでなく
周りを取り巻く環境の影響が
大きいと感じます
今 日 話 し た こ と
? 学習変遷
? コードの読み書き
? Scalaを学ぶのは難しい?
結論: 素人 × Scala = ?
素 人 × S c a l a
= 意 外 に な ん と か な る
一 人 で 学 ぶ の で あ れ ば
か な り 大 変 だ っ た と 思 い ま す が
!
周 り に 聞 ける 環 境 が あ っ た こ と で
学 び や す か っ た で す
新しいぶん
情報もコミュニティもホットなので
!
どんどんと新しく
変わっていくのが面白い
な に よ り
新 し い こ とを 始 め る 時 の 障 壁 が
低 く な っ た こ と が 大 き い
Scalaをやって
良い経験になりました
ありがとうございました

More Related Content

Similar to “厂别辫迟别苍颈×厂肠补濒补”勉强会#1资料冲20150219冲寺坂 (20)

PDF
こわくない厂肠补濒补
Kota Mizushima
?
PDF
Scala is-unscared
Kota Mizushima
?
PPTX
プログラミング学习サイト+ブラウザ上での音声読上げ
ishiki-takai
?
PPTX
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
Yoshinori Kobayashi
?
PDF
厂肠补濒补ノススメ
Yasuyuki Maeda
?
PDF
関数型言语初心者が贬补蝉办别濒濒に挑戦してみた
ikaro1192
?
PPT
尝濒でゆるふわプログラミングのすすめ
mizcki
?
PPTX
プログラミング初心者向け情报サイト「プロスタ」
Yosuke Homma
?
PPTX
厂肠补濒补勉强会 初心者向けハンズオン前编
takeuchi-tk
?
PDF
早稲田大学授業 - Java Programing上級
Ippei Arita
?
PDF
20120706-readablecode
Masanori Kado
?
PDF
颁濒辞箩耻谤别に入门してみた、2017年秋
Satoshi KOBAYASHI
?
PDF
第2回関数型言語勉強会 大阪
Naoki Kitora
?
PPT
Lightning introduction to CoffeeScript 20131005
gotohayato
?
PDF
初めての奥别产フ?ロク?ラミンク?讲座
DIVE INTO CODE Corp.
?
PDF
Scala超入門 - 2014/12/13 Scala関西勉強会
Asami Abe
?
PDF
本当に怖くない厂肠补濒补
翔悟 竹川
?
PDF
S03 t1 python_learningdiary#3
Takeshi Akutsu
?
PDF
Processing
Akifumi Nambu
?
PDF
Scala conf2013
Takafumi Ikeda
?
こわくない厂肠补濒补
Kota Mizushima
?
Scala is-unscared
Kota Mizushima
?
プログラミング学习サイト+ブラウザ上での音声読上げ
ishiki-takai
?
プログラミングの学習方法 | How To Learn The Programming 14.05.31 WP-D Fes #02 Interviews ...
Yoshinori Kobayashi
?
厂肠补濒补ノススメ
Yasuyuki Maeda
?
関数型言语初心者が贬补蝉办别濒濒に挑戦してみた
ikaro1192
?
尝濒でゆるふわプログラミングのすすめ
mizcki
?
プログラミング初心者向け情报サイト「プロスタ」
Yosuke Homma
?
厂肠补濒补勉强会 初心者向けハンズオン前编
takeuchi-tk
?
早稲田大学授業 - Java Programing上級
Ippei Arita
?
20120706-readablecode
Masanori Kado
?
颁濒辞箩耻谤别に入门してみた、2017年秋
Satoshi KOBAYASHI
?
第2回関数型言語勉強会 大阪
Naoki Kitora
?
Lightning introduction to CoffeeScript 20131005
gotohayato
?
初めての奥别产フ?ロク?ラミンク?讲座
DIVE INTO CODE Corp.
?
Scala超入門 - 2014/12/13 Scala関西勉強会
Asami Abe
?
本当に怖くない厂肠补濒补
翔悟 竹川
?
S03 t1 python_learningdiary#3
Takeshi Akutsu
?
Processing
Akifumi Nambu
?
Scala conf2013
Takafumi Ikeda
?

Recently uploaded (9)

PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PPTX
色について.pptx .
iPride Co., Ltd.
?
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
色について.pptx .
iPride Co., Ltd.
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
Ad

“厂别辫迟别苍颈×厂肠补濒补”勉强会#1资料冲20150219冲寺坂