Изучение Scala: камни преткновения и пути обхода
Transcript of Изучение Scala: камни преткновения и пути обхода
![Page 1: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/1.jpg)
Изучение Scala:камни преткновения
и пути обхода
Сергей Петунин
![Page 2: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/2.jpg)
Путь в Scala
• Кривая обучаемости
• Документация
• Лучшие практики
![Page 3: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/3.jpg)
Кривая обучаемости
![Page 4: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/4.jpg)
Кривая обучаемости: уровни
![Page 5: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/5.jpg)
Кривая обучения: «магические» API
for { c <- coffees s <- suppliers} yield (c.name, s.name)
// Компилируется в SQL:// select x2."COF_NAME", x3."SUP_NAME"// from "COFFEES" x2, "SUPPLIERS" x3
![Page 6: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/6.jpg)
Документация
![Page 7: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/7.jpg)
Документация: Spring
![Page 8: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/8.jpg)
Документация: Spring
![Page 9: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/9.jpg)
Документация: Play
![Page 10: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/10.jpg)
Документация: Play
![Page 11: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/11.jpg)
Лучшие практики
![Page 12: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/12.jpg)
Лучшие практики: Dependency Injection
• Cake pattern
• Структурная типизация
• Implicits
• Reader Monad
• DI-фреймворки
![Page 13: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/13.jpg)
Лучшие практики: Dependency Injection
![Page 14: Изучение Scala: камни преткновения и пути обхода](https://reader035.fdocuments.net/reader035/viewer/2022070509/589ce6751a28abf86d8b641d/html5/thumbnails/14.jpg)
Итоги
• Кривая обучения
• Да, она крутая — учиться придётся много.
• Документация
• Её недостаточно, изучайте код и концепции.
• Лучшие практики
• Их много, выбирайте с умом.