Azerbaycan The Scala Programming Language Eğitimi

  • Eğitim Tipi: Classroom / Virtual Classroom / Online
  • Süre: 5 Gün
Bu eğitimi kendi kurumunuzda planlayabilirsiniz. Bize Ulaşın!

The Scala Programming Language was invented in 2004 in an attempt to bring functional programming to the jvm, and the java development community. It has risen to prominence in recent years as the de-facto language to compliment and replace java in existing teams, and as an advanced and capable language on greenfield projects.

Scala combines advanced techniques long established in the functional programming community with the best practices of object-orientation, allowing developers to pick and chose a style and an approach that suits their team and their problems.

By the end of this course delegates will have a clear understanding of object orientation and functional programming, and in particular, all the major features of scala which enable these styles of programming to be used and combined.

The course is divided in to 15 modules (listed in the overview) delivered over five days with an attention to an interactive Q&A-style approach to teaching and exercise practice.

Delegates must have prior programming experience in java or a related object-oriented language.

Day 1

1 Introduction

  • Why scala?
  • Libraries
  • Static typing
  • Compositional syntax
  • OO
  • Functional
  • Powerful
  • Paradigms
  • OO
  • Functional
  • Running scala
  • Anatomy of scala programs
  • Try the repl
  • Scalac
  • Scala interpreter
  • Sbt

1 Fundamentals

  • Language
  • Objects
  • Calling methods
  • Operators as methods
  • Values and variables
  • Types
  • Basic types
  • Boolean
  • Numeric types
  • Unit
  • Strings
  • String methods
  • Introduction to collections
  • Type arguments
  • Tuples, Lists, Maps

1 Flow

  • Branching, matching & selecting
  • Conditionals
  • Intro to pattern matching
  • Destructuring
  • For comprehensions
  • Yield vs Unit
  • Comprehensions over lists
  • Comprehensions over maps
  • Comprehensions over ranges
  • Option
  • Multiple extraction
  • Guards
  • Ranges
  • Let expressions
  • While loops

Day 2

2 Methods

  • Code blocks
  • Methods
  • Method bodies
  • Returning unit
  • Passing arguments
  • Variadics
  • Def vs val
  • Lazy vals
  • Lazy arguments
  • Recursion

2 Functions

  • What Is Functional Programming?
  • Pure Functions
  • Functions
  • The Function Type
  • ‘Function’ vs Method
  • Higher Order Functions
  • Functions as Data
  • Currying
  • Aside: Type Aliases

2 Collections

  • Review: types
  • Collections heirachy
  • Creating collections
  • Range
  • Array & array buffer
  • List & list buffer
  • Vector
  • Maps
  • Sets
  • Empty
  • Idioms
  • Pattern matching
  • For comprehnsions review
  • Zipping
  • Traits

Day 3

3 Transformation

  • Streams
  • Combinators
  • .map & .flatMap
  • Folding & Reducing
  • .exists and .forall
  • Option
  • For comprehensions
  • Foreach & Flatmap
  • Pattern matching
  • Review
  • Casting
  • Sequences
  • For-yield-match
  • Regex
  • Guards
  • Option

3 OO

  • Classes
  • Reading class definitions
  • Defining classes
  • Constructors
  • Properties
  • Method overloading
  • Java inspection of scala classes
  • Getters and setters
  • Operator methods
  • Objects
  • The object keyword
  • Companions
  • The mechanism of pattern matching
  • Case classes
  • Pattern matching with case classes
  • Aside: case objects

3 Inheritance

  • Inheritance: a type relation
  • Inheritance: class relationship
  • Overriding methods
  • Overriding tostring
  • Calling the parent method
  • Abstracts
  • Traits
  • Trait inheritance
  • Composing objects with traits
  • The meaning of super
  • Traits as mixins
  • Self types
  • Cake pattern
  • Aside: type members

Day 4

4 Design

  • Imports
  • Package objects
  • Algebra
  • Algebraic data types: defining
  • Algebraic data types
  • Example: document store
  • Tuples types
  • Generics
  • Type arguments
  • Variance
  • Special types
  • Option
  • Example: user data
  • Bad: exceptions
  • Try
  • Either

4 SBTest

  • Simple build tool
  • Build files
  • Creating a project
  • Dependencies
  • Project structure
  • Running tests
  • Sbt task runner
  • Testing
  • Type systems as tests
  • Using type systems
  • Assertions
  • Scala test
  • Flatspec
  • Featurespec
  • Matchers

4 Implicits

  • Implicit conversions
  • Implicit conversions: def
  • Implicit conversions: implicit classes
  • Implicit parameters
  • Contexts
  • Scoping
  • Type classes
  • Typeclasses with implicit classes
  • Without typeclasses
  • Typeclasses: generalizing
  • Typeclasses: implicit objects
  • Typeclasses: multiple instances

Day 5

5 HigherKinds

  • Review: Polymorphism
  • Review: Typeclasseses: Monoid
  • Scalaz
  • Sbt for Scalaz
  • Simple Typeclass: Equal
  • Simple Typeclass: Order
  • Simple Typeclass: Implementing Equal
  • Kinds
  • Higher-kinded Types: Functor
  • Generalizing Functor
  • Higher-kinded Types: Applicative
  • Monads

5 Appendix

  • Concurrency
  • Libraries





Eğitimlerle ilgili bilgi almak ve diğer tüm sorularınız için bize ulaşın!

Yakın tarihte açılacak eğitimler

Sınıf eğitimlerimizi Azerbaycan ofislerimizde düzenlemekteyiz. Kurumunuza özel eğitimleri ise, dilediğiniz tarih ve lokasyonda organize edebiliriz.

Classroom / Virtual Classroom
09 iyul 2024
Baku
5 Gün
Classroom / Virtual Classroom
02 avqust 2024
İstanbul
5 Gün
Classroom / Virtual Classroom
17 avqust 2024
İzmir
5 Gün
Classroom / Virtual Classroom
10 sentyabr 2024
Bodrum
5 Gün
Classroom / Virtual Classroom
12 sentyabr 2024
Antalya
5 Gün
Classroom / Virtual Classroom
13 sentyabr 2024
Kapadokya
5 Gün
Classroom / Virtual Classroom
13 sentyabr 2024
Bursa
5 Gün
Classroom / Virtual Classroom
23 sentyabr 2024
Ankara
5 Gün
The Scala Programming Language Eğitimi Azerbaycan

Kardeş ülke Azerbaycan (resmi adıyla Azerbaycan Cumhuriyeti) Kafkasya’da, Güney Kafkas Dağları bölgesinde bulunmaktadır. Çok zengin bir kültüren mirasa sahip olan Azerbaycan’ın, Hazar Denizi, Rusya, Gürcistan, Ermenistan ve İran gibi sınır komşuları vardır. Kafkasya’nın en büyük yüzölçümlü ülkesi olan Azerbaycan’da harika bir doğa çeşitliliği mevcut olup, hayvan yaşamının zenginliği de dikkat çekicidir. Üniter bir devlet olan Azerbaycan’ın Cumhurbaşkanı İlham Aliyev, resmi dili Azerice’dir.

Farsça Azar (Ateş) ve Payegan (Muhafız) kelimelerinin birlikteliğinden adını alan Azerbaycan Ateşler Ülkesi olarak da bilinmektedir. Bakü’de bulunan Flame Towers ülkenin en turistik yerlerinden biridir. Ülkede çok sayıda yanardağ ve petrol yatağı bulunmaktadır. Azerbaycan’ın mutlaka görülmesi gereken yerleri arasında Bakü’deki Alev Kuleleri, Kız Kalesi, Ateşgah, Targovi Caddesi ve Bakü Bulvarı’nın yanı sıra farklı şehirlerdeki Şeki Hanları Sarayı, Kobustan Milli Parkı, Han Bağı, Kebele ve Göygöl Milli Parkı sayılabilir.
Sitemizi kullanarak çerezlere (cookie) izin vermektesiniz. Detaylı bilgi için Çerez Politika'mızı inceleyebilirsiniz.