Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA CompTIA Security+ Amazon AWS AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Programming Languages Scala

Scala for Java Developers (in Russian)

Узнайте, как начать программировать на современном объектно-функциональном языке программирования Scala "с нуля".
Rating: 3.8 out of 53.8 (329 ratings)
1,094 students
Created by Ivan Golovach
Last updated 6/2016
Russian
30-Day Money-Back Guarantee

What you'll learn

  • Разберетесь с тем, что такое Функциональное программирование
  • Поймете наиболее "темные" уголки языка: Generics, Macroses, Path Dependent Types

Course content

24 sections • 136 lectures • 15h 55m total length

  • Материалы по Scala
    04:26
  • Материалы по Математике
    04:24
  • Preview16:04
  • JRE, Java, JVM, Reflection API and Scala
    13:21
  • Preview06:47
  • Preview00:21

  • Intro
    04:06
  • Fields: var/val implementation
    10:12
  • Fields: override accessor/mutator
    06:06
  • Fields: Java bean style getter/setter
    03:17
  • Constructor: primary
    06:08
  • Constructor: auxiliary
    08:00
  • Object: Intro
    02:48
  • Object: Utility functions / constants
    01:56
  • Object: Companion object
    08:36
  • Object: Singleton
    05:24
  • Methods: Simplification
    07:26
  • Methods: Parentless
    04:46
  • Methods: "Procedure" style
    05:28
  • Imports
    05:58
  • Материалы по OOP - I: No inheritance
    08:56

  • Operators: Intro
    05:11
  • Method call: infix notation (basic)
    06:06
  • "Pointless" vs "point-free" (basic)
    04:14
  • "Operators": "Pointless" vs "Point-free" style (basic)
    4 questions
  • "Operator" precedence (medium)
    08:26
  • "Operators" precedence (basic)
    7 questions
  • "Operator" associativity (medium)
    07:42
  • "Operators": associativity (basic)
    5 questions
  • "Operators": precedence + associativity (medium)
    4 questions
  • "Operators": precedence + associativity (hard)
    10 questions
  • Infix types (hard)
    08:03
  • Infix types (hard)
    6 questions
  • Prefix operators: +, -, !, ~
    02:54
  • Methods: "operator style" - material
    00:27
  • Материалы по OOP - II: "operator overloading"
    00:35

  • Muddle in terms: Kind, Type, Class
    05:24
  • Type terms in Java
    08:37
  • Type terms in Scala
    05:46
  • Scala class hierarchy
    04:25
  • Type Any, universal trait
    06:49
  • Top Types: Any, AnyVal, AnyRef
    12 questions
  • Preview14:58
  • Bottom types: Null, null, Nothing
    3 questions
  • Материалы по Type - I. Scala Type Hierarchy
    00:38

  • Expression-oriented programming
    09:42
  • Preview10:05
  • Preview23:17
  • Assignment: syntax sugar
    08:26
  • Code block
    04:56
  • Keyword 'if'
    04:19
  • Keyword 'if' (BASIC)
    5 questions
  • While, do-while loops
    05:40
  • For loop
    05:23
  • Материалы по Control - I
    01:24

  • Set definition, predicative and generative forms
    21:02
  • Set definition, predicative and generative forms (материал)
    01:08
  • Cartesian product, binary relation
    10:05
  • Cartesian product, binary relation (материал)
    02:06
  • Function as binary relation
    11:20
  • Function as binary relation (материал)
    01:52
  • Operations on functions - I
    5 questions
  • Operations on functions - II
    5 questions
  • Equality as binary relation (материал)
    02:37
  • Operations on equivalence relations
    4 questions

  • What is 'Function'?
    11:21
  • Functional literal and Functional value
    13:12
  • Partially defined functions - API
    14:18
  • Partially defined functions - With Collections
    13:00
  • Eta-expansion: Intro
    08:21
  • Eta-expansion: Syntax
    08:24
  • Preview08:43
  • Curring: Math - I
    10:30
  • Curring: Math - II
    07:33
  • Set constructors, cardinality (BASIC)
    4 questions
  • Set constructors, cardinality (MIDDLE)
    4 questions
  • Math of curring (MIDDLE)
    4 questions
  • Tupling / untapling
    20:29
  • Материалы по Functional Programming - I
    01:44

  • Co-variance, contra-variance, non-variance
    05:26
  • Java arrays
    07:47
  • Scala generics vs Java generics
    07:20
  • Preview03:42
  • Preview02:56
  • Preview04:39
  • Field, co-varian or non-variant position
    03:53
  • Co-variant / contra-variant positions (basic)
    10 questions
  • Tuple example
    04:30
  • Function example
    05:26
  • Higher-order function example
    04:46
  • Subtype / supertype (basic)
    10 questions
  • Материалы по Generics - I: without higher-kind types
    01:51

  • List internals
    11:20
  • List methods: head, tail
    01:02
  • List methods: init, last, reverse
    05:31
  • List methods: take, drop, splitAt, patch
    06:28
  • What are result of calculations?
    12 questions
  • What does this method?
    5 questions
  • Вложенные mkString
    4 questions
  • Isomorphic methods
    6 questions
  • List methods: map, flatten, flatMap
    11:05
  • List: map, flatten, flatMap
    9 questions
  • Материалы по Collections - I: Array, List, Set, Map
    08:00

  • Preview08:44
  • Декартово произведение: map, flatMap (basic)
    4 questions
  • Preview11:49
  • Генерация всех перестановок (middle)
    09:10
  • Генерация всех подмножеств (middle)
    04:44
  • Терминология
    3 questions
  • Генерация всех разбиений (middle)
    12:41
  • Упрощенный Functional Pearl 6 (middle)
    08:37
  • Задание на упрощенный Functional Pearl 6 (middle)
    01:40
  • Полный Functional Pearl 6 (hard)
    08:29
  • Исходный код комбинаторной библиотеки
    00:41

Requirements

  • Установить JDK
  • Установить Scala SDK
  • Установить какую-либо Scala IDE (JetBrains IDEA, Eclipse, ...)

Description

Данный курс посвящен гибридному объектно-функциональному языку программирования Scala.

Он рассчитан на программистов на Java уровня от твердый Junior или Middle. Возможен также переход из других объектно-ориентированных языков - Python, C#, PHP.

Для прохождения курса потребуется около трех месяцев при затратах 6-10 часов в неделю при условии, что Вы хорошо понимаете базовые идеи современного промышленного программирования: шаблоны проектирования, generics, рекурсивные алгоритмы, XML/JSON, Объектно-Ориентированное Программирование (наследование, композиция, агрегация, инкапсуляция, сокрытие информации, полиморфизм).

Учебный материал состоит из 20 разделов, которые включают 200 небольших лекций и 50 тестов.

Курс серьезно насыщен терминологией современного программирования: continuation passing style, tail call optimization.

Scala включает несколько разделов, которые встречаются в других современных промышленных языках: higher-kind types, path-dependent types, macroses, parser combinators.

Платформа позволяет вести чат. Студентам рекомендуется задавать интересующие их вопросы в нем. Это позволит ответить как преподавателю, так и другим студентам.

Около 25% материала посвящено математике (алгебра, теория множеств, комбинаторика). Причина в том, что функциональные языки программирования особенно хороши при работе на стыке computer science и математики. Математический уклон позволяет показать многие глубокие идеи языка.

Курс снабжен большим количеством тестов. Их задача состоит как в проверке усвоения материала.

Удачи в изучении Scala!

Who this course is for:

  • Этот курс предназначен для уже состоявшихся программистов на каком-либо из современных объектно-ориентированных языков программирования (Java, C#, Python, ...)

Instructor

Ivan Golovach
Java/Scala техлид, обучил более 200 человек
Ivan Golovach
  • 3.9 Instructor Rating
  • 409 Reviews
  • 1,322 Students
  • 3 Courses

Программирую и преподаю более 10 лет на Scala, JavaEE, Java ME, C/C++. Руковожу образовательной компанией в области Java и Scala. Большой опыт выступлений на различных конференциях и семинарах. Обучил более 200 человек. На мой видео канал подписано более 12.000 человек. С радостью научу Вас до уровня Middle Scala Developer.

Опубликовал курсы "Программирование на Java с нуля" и "Scala for Java Developers".

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.