🎓 Выбирайте обучение по отзывам. Мы запустили рейтинг лучших онлайн-школ, чтобы находить качественные курсы стало еще проще. Cмотреть рейтинг

Курсы по функциональному программированию

Логотип OTUSOTUS
Rust Developer. Professional
5 мес
Rust
Асинхронное программирование
Разработка
Многопоточность
Низкоуровневое программирование
ООП
Функциональное программирование
114 000 ₽
Логотип Учебный центр IBSУчебный центр IBS
JVA-074 Java Advanced I: функциональное, асинхронное и реактивное программирование
1 нед
2.33
Java
Асинхронное программирование
Node.js
Backend-разработка
Разработка
Реактивное программирование
Функциональное программирование
RxJava 2
WebSockets
73 400 ₽
Логотип ХекслетХекслет
Java-разработчик
10 мес
Веб-разработка
HTML/CSS
Java
Spring
REST
PostgreSQL
Backend-разработка
Linux
CI / CD
Разработка
Клиент-серверные приложения
Маршрутизация
Модульное тестирование
ООП
Паттерны проектирования
Регулярные выражения
Разработка через тестирование
Функциональное программирование
ActionScript
Apache Tomcat
API Интерфейсы
GitHub
Hibernate
HTTP
Javalin
JDBC
JSON
Junit
Postman
SOLID
TDD/BDD
Thymeleaf
Mockito
Java core
119 000 ₽
Логотип AndroidSprintAndroidSprint
Kotlin основы: ИИ-ментор 24/7 + персональный наставник
2 мес
Kotlin
Создание чат-ботов
Git
ООП
Функциональное программирование
Intellij IDEA
29 000 ₽
39 000 ₽
-26%
Логотип ProductStarProductStar
Python: навык ООП и функционального программирования
1 мес
Python
ООП
Функциональное программирование
Jupyter Notebook
19 900 ₽
39 800 ₽
-50%
Логотип Учебный центр IBSУчебный центр IBS
WEB-024 JavaScript. Продвинутый уровень
1 нед
Frontend-разработка
JavaScript
Асинхронное программирование
Разработка
Многопоточность
Реактивное программирование
Функциональное программирование
WebSockets
51 900 ₽
Логотип Учебный центр IBSУчебный центр IBS
WEB-007 Разработка на JavaScript
1 нед
Frontend-разработка
HTML/CSS
JavaScript
React
Angular
Vue.js
Разработка
Функциональное программирование
Ajax
JSON
WebSockets
46 900 ₽
Логотип Учебный центр IBSУчебный центр IBS
JVA-I-001 Java: ООП и функциональная парадигма
1 нед
Java
Разработка
ООП
Паттерны проектирования
Функциональное программирование
21 000 ₽

Популярные курсы Программирования и IT

Бесплатные курсы Программирования и IT

Курсы Программирования и IT с трудоустройством

ТОП онлайн-курсов по Функциональному программированию

1. Rust Developer. Professional

Необходимые знания базовое знание Rust или любого другого языка программированиязнание баз данных Что вам даст этот курс? Вы рассмотрите ключевые особенности Rust и сможете не только разрабатывать сложные программные продукты, но и в целом лучше проектировать ПО. Мы разберём наиболее популярные библиотеки и проекты, а также многопоточность и архитектуру программного обеспечения Вы научитесь: использовать язык Rust для разработки ПОразворачивать Rust и среду разработкисоздавать надёжное, отказоустойчивое и высокопроизводительное ПОтестировать кодиспользовать сторонние библиотекиписать асинхронный код
Школа: OTUS
Дата начала: По мере набора группы
Длительность: 5 месяцев
Стоимость курса: 114 000 ₽
Цена без скидки: 114 000 ₽
Рассрочка: Нет
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да

2. JVA-074 Java Advanced I: функциональное, асинхронное и реактивное программирование

Погрузитесь в современные парадигмы Java: функциональное, асинхронное и реактивное программирование. Этот курс не только расширит ваше понимание Java, но и научит эффективно использовать современные подходы для создания масштабируемых и производительных приложений. Вы освоите ключевые концепции и инструменты, такие как NIO2, CompletableFuture, RxJava, Reactor, R2DBC, SSE, Spring Data reactive, WebClient, reactive WebSocket, RSocket, которые помогут вам оставаться на передовой IT-индустрии.

  • Функциональные интерфейсы.
  • Ссылки на метод.
  • Потоки данных.
  • Map / filter / reduce.
  • Агрегационные функции.
  • Reduce при параллельной и последовательной обработке.
  • Цепочки потребителей.
  • Потоковые коллекторы.
  • Использование Executors.
  • Future интерфейс.
  • Использование интерфейса Callable.
  • Отмена задач.
  • ForkJoin Framework.
  • Создание пула задач ForkJoin.
  • Параллельные потоки в Java 8+.
  • ForkJoin vs. параллельные потоки vs. последовательные потоки.
  • Основные различия между Java NIO и IO.
  • Потоково-ориентированный или буферно-ориентированный.
  • Блокирующий против неблокирующего ввода-вывода.
  • Java NIO Buffer.
  • Java NIO Channel.
  • Direct буфер.
  • Mapped file буфер.
  • Java NIO Selector.
  • Асинхронный ввод/вывод с NIO.
  • Блокировка файла.
  • Сервер NIO.
  • Архитектура сервера Netty.
  • Проблемы синхронного кода.
  • NodeJS архитектура.
  • Параллельная обработка потока данных.
  • CompletableFuture: sync и async методы.
  • Объединение (combine), составление (composing) и быстрейший побеждает (quicker wins).
  • Обработка исключений в CompletableFuture.
  • Отмена CompletableFuture.
  • Использование CompletableFuture для реального потока данных.
  • Домашняя работа. Практика (2 часа).
  • Что такое реактивность?
  • Основы RxJava: наблюдатель и наблюдаемый (Observable и Observer).
  • Реактивные потоки в Java 9 (Java Reactive Streams).
  • Методы для побочных эффектов (side effects).
  • Обработка ошибок.
  • Горячие и холодные потоки (hot/cold).
  • Разделяемые и подключаемые потоки (shared/connectable).
  • Освобождение потоков (disposing).
  • Реактивные операторы (полный каталог).
  • Subjects.
  • Распараллеливание потоков (Schedulers).
  • Противодавление (backpressure) и интерфейс Flowable.
  • Тестирование реактивных потоков.
  • Операторы Flux / Mono в Reactor.
  • Работа с backpressure в Reactor.
  • Reactor и многопоточность (Reactor Schedulers).
  • Parallel Flux потоки.
  • Оборачивание синхронных вызовов.
  • Тестирование Reactor.
  • Процессоры (Reactor processors).
  • Реактивный доступ к БД.
  • Реактивные драйверы R2DBC.
  • Spring Data - реактивные репозитории.
  • Поддержка страниц (paging) в Spring Data reactive.
  • WebFlux: функциональные контроллеры.
  • Spring REST контроллеры, возвращающие реактивные данные (Mono / Flux).
  • Spring REST контроллеры, возвращающие SSE (server-sent event).
  • WebClient: получение реактивных данных с сервера.
  • SSE и протоколы WebSocket.
  • Использование WebSocket для передачи/получения данных JSON.
  • Использование WebSocket для передачи/извлечения двоичных данных.
  • Протокол RSocket.
  • Контроллер RSocket на стороне сервера.
  • RSocket клиент: обмен JSON и двоичными данными.
  • RSocket с балансировкой нагрузки.
  • RSocket с взвешенной балансировкой нагрузки.
  • Использование реактивных потоков с брокером сообщений (RabbitMQ).
  • Spring Data MongoDB реактивные репозитории.
  • Бенчмарки: R2DBC против JDBC и WebFlux против Web MVC.
  • Архитектура и шаблоны реактивного программирования.
  • Домашняя работа. Практика (2 часа).
Дата начала: По мере набора группы
Длительность: 1 неделя
Стоимость курса: 73 400 ₽
Цена без скидки: 73 400 ₽
Рассрочка: Нет
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да

3. Java-разработчик

Пройдите обучение Java с гарантированной стажировкой и помощью в трудоустройстве в 2025! Изучите Java Core, Spring, базы данных и начните карьеру разработчика сегодня.
Школа: Хекслет
Дата начала: По мере набора группы
Длительность: 10 месяцев
Стоимость курса: 119 000 ₽
Цена без скидки: 119 000 ₽
Рассрочка: Нет
Формат занятий: Онлайн
Помощь с трудоустройством: Да
Сертификат об окончании: Да

4. Kotlin основы: ИИ-ментор 24/7 + персональный наставник

Фундаментальное изучение Kotlin с нуля до первого проекта. От переменных до собственного Telegram-бота в портфолио. Базовый язык для Android, Backend и автотестирования. 110 практических задач с персональным код-ревью, изучение ООП, функционального программирования и работа с профессиональными инструментами.
Школа: AndroidSprint
Дата начала: В любое время
Длительность: 2 месяца
Стоимость курса: 29 000 ₽
Цена без скидки: 39 000 ₽
Рассрочка: Нет
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да

5. Python: навык ООП и функционального программирования

Собери свои знания по Python в мощную экспертизу на интенсиве с куратором
Школа: ProductStar
Дата начала: В любое время
Длительность: 1 месяц
Стоимость курса: 19 900 ₽
Цена без скидки: 39 800 ₽
Рассрочка: Да
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да

6. WEB-024 JavaScript. Продвинутый уровень

JavaScript – сложный и зрелый язык программирования, имеющий множество неочевидных функций. Данный курс поможет слушателям получить более глубокое понимание этого популярного языка, который, на первый взгляд, кажется простым, но на самом деле довольно сложен.

  • Объект классов.
  • Дескрипторы объекта.
  • Методы объекта.
  • Наследование прототипа.
  • Символы.
  • Итераторы.
  • Генераторы.
  • Создание итерируемых объектов.
  • Асинхронные генераторы.
  • Обзор типов.
  • Номер типа.
  • Проблемы плавающей точки и округления.
  • Тип «Строка».
  • Тип Boolean.
  • Конвертация типов.
  • Map, Set, WeakMap, WeakSet.
  • BigInt.
  • ArrayBuffer.
  • Типизированные массивы.
  • DataViews.
  • Blobs.
  • FileReader.
  • Обработка загруженных файлов.
  • Асинхронные вызовы.
  • Использование в обратных вызовах.
  • Класс «Промис».
  • Обработка исключений Promise.
  • Методы all(), any(), race(), allSettled().
  • Отмена промиса с помощью Promise.race().
  • Отмена промиса с помощью AbortController.
  • Синтаксис async/await.
  • Синтаксис async/await: Обработка исключений.
  • Синтаксис async/await: await высокого уровня.
  • Синтаксис async/await: Ограничения.
  • Архитектура REST.
  • Коды состояния HTTP.
  • Методы HTTP.
  • Отсутствие сохранения состояния и масштабируемость.
  • Операции CRUD и сервисы Rest.
  • Формат возвращаемых данных: XML, JSON, XHTML.
  • Функция Fetch.
  • Fetch с возможностью отменить запрос.
  • Библиотека Axios для вызовов REST.
  • Обработка ошибок в Axios.
  • Отмена запросов в Axios.
  • Перехватчики в Axios.
  • Протокол WebSocket.
  • WebSocket в браузере.
  • WebSocket на сервере (Node.js).
  • Когда использовать WebSocket?
  • Workers.
  • Типы worker.
  • Worker APIs.
  • Регистрирующий worker.
  • Примеры использования Worker.
  • Сервисные workers.
  • Кэш API.
  • Регистрирующий Service worker.
  • Жизненный цикл Service worker.
  • Service worker как прокси сервера.
  • Стратегия Cache First (Cache Falling Back to Network).
  • Стратегия Network First (Network Falling Back to Cache).
  • Стратегия Stale-While-Revalidate.
  • Какую стратегию использовать.
  • Обновление кэша в стратегии пуш-сообщений.
  • Обновление кэша в стратегии фоновой синхронизации.
  • Функции как данные.
  • Аргументы функции и массив аргументов.
  • Функции как методы.
  • Вызов и применение методов.
  • Привязка функции к объекту.
  • Замыкания.
  • Создание инкапсулированного значения через замыкание.
  • Функция «Конструктор».
  • Функции массивов: map/filter/reduce.
  • Парадигмы программирования.
  • Декларативное и императивное программирование.
  • Функциональное программирование.
  • Высокоупорядоченные функции.
  • Чистые функции.
  • Преимущества чистых функций.
  • Неизменяемость.
  • Неизменяемость объектов: Оператор Spread.
  • Преимущества неизменяемости.
  • Immutable.js.
  • Встроенные структуры данных в Immutable.js.
  • Монады и функциональная композиция.
  • Function pipe().
  • Декомпозиция функций.
  • Монады для операций SIMD.
  • Частичное применение функции.
  • Карринг.
  • Нулевая безопасность.
  • Шаблон проектирования Null Object.
  • Монада Maybe.
  • Частично определенная функция.
  • Правила хорошего кода для написания функций.
  • Функциональные шаблоны проектирования.
  • Шаблон проектирования MVC с чистыми функциями.
  • Шаблон проектирования «наблюдатель» (observer).
  • Шаблон проектирования «порождение событий» (event sourcing).
  • Шаблон проектирования REDUX.
  • REDUX DevTools.
  • Преимущества REDUX.
  • Шаблоны проектирования в реактивном программировании (RxJS).
  • Операторы filter/map/take.
  • Операторы MergeMap/ConcatMap/SwitchMap.
  • Операторы Window/Buffer.
  • Операторы Sample/Throttle/Debounce.
  • Преимущества и примеры использования реактивного программирования.
Дата начала: По мере набора группы
Длительность: 1 неделя
Стоимость курса: 51 900 ₽
Цена без скидки: 51 900 ₽
Рассрочка: Нет
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да

7. WEB-007 Разработка на JavaScript

Изучите увлекательные подходы к разработке интерактивных веб-приложений на JavaScript, включая DOM, асинхронность и фреймворки.

  • Версии и реализации JavaScript.
  • Области применения JavaScript (браузер, сервер, мобильная разработка).
  • Типы данных: String, Number, Boolean (понятие truthy и falsy).
  • Операторы, приоритет операторов.
  • Объявление переменных: var, const, let.
  • Циклы: while, for, for … in, for … of.
  • Работа с числами и строками.
  • Значения null и undefined: отличия и цели применения.
  • Работа с консолью.
  • Исключения в JavaScript.
  • Формат JSON, примеры.
  • JSON.parse и stringify.
  • Объекты, работа с классом Object.
  • Создание объектов (с помощью литерала {}, оператор new, метод create).
  • Прототипическое наследование, ссылка proto.
  • Геттеры и сеттеры.
  • Оператор in и hasOwnProperty, понятие перечислимых свойств.
  • Метод toString(), вызов и переопределение метода.
  • Метод valueOf(), вызов и переопределение метода.
  • Создание массивов: литералы и new Array().
  • Автоматическое изменение длины массива.
  • Получение и установка длины массива length, усечение массива.
  • Применение методов join() и concat().
  • Использование метода sort, задание порядка сортировки массива.
  • Использование методов slice и splice.
  • Использование методов push, pop, shift, unshift: создание стека или очереди.
  • Применение конструктора new Date().
  • Понятие компьютерного представления даты как времени с Epoch.
  • Использование getTime() и setTime().
  • Парсинг строкового представления дат.
  • Варианты создания строк в JS: использование одинарных и двойных кавычек.
  • Интерполяция строк (строка в апострофах).
  • Экранирование специальных символов в строке.
  • Конкатенация строк, перевод в верхний и нижний регистр.
  • Поиск подстроки с помощью indexOf() и lastIndexOf().
  • Выделение подстроки с помощью substring() и substr().
  • Применение методов includes, endsWith, startsWith.
  • Управление окном браузера, документом, событиями и оформлением (CSS-стилями).
  • Объект window и его применение.
  • Подключение кода JavaScript к HTML-странице.
  • Порядок выполнения скриптов на странице.
  • Кэширование скриптов, CDN-серверы, принудительная перезагрузка JavaScript.
  • Работа с ссылками, подключение JavaScript к ссылкам.
  • Событие onload и его использование.
  • XSS-атаки на сайт.
  • Работа с DOM: использование window, document, childNodes.
  • Манипуляции документом с помощью DOM: создание, удаление, перемещение элементов.
  • Использование getElementById(), getElementsByTagName(), getElementsByClassName() для поиска элементов на странице.
  • Работа с методами и свойствами HTMLDocument и HTMLElement.
  • Понятие событийного программирования.
  • Обработчики и слушатели событий.
  • Подключение обработчиков с помощью addEventListener().
  • Свойства и методы класса Event.
  • Распространение событий вверх (bubbling) и вниз (capturing).
  • Остановка распространения.
  • События окна.
  • События мыши и клавиатуры, специальные свойства событий.
  • События формы.
  • Стандарт CSS, основные свойства CSS.
  • Общие стили и стили отдельных элементов.
  • Каскадирование стилей.
  • CSS-селекторы.
  • Изменение CSS с помощью JavaScript.
  • Отступы: margin, padding, border.
  • Управление видимостью элементов: visibility и display.
  • Позиционирование элементов: absolute, fixed, relative, установка top и left.
  • Единицы измерения px, pt и другие.
  • Переполнение элемента и управление через свойство overflow.
  • Управление слоями документа: свойство zIndex.
  • Анимация, перемещение элементов.
  • Работа с классами, установка className.
  • Работа с прозрачностью и переходами (transition).
  • Метод querySelectorAll().
  • Причины использования модулей.
  • Экспорт из модуля.
  • Импорт из модуля.
  • Реэкспорт.
  • Работа с NPM, файл package.json.
  • Папка node_modules, загрузка пакетов с помощью NPM.
  • Глобальная и локальная установка пакетов.
  • Применение webpack для сборки проекта.
  • Загрузчики CSS и TypeScript.
  • Конфигурация webpack.config.js.
  • Создание бандла, сжатие.
  • Плагины webpack.
  • Применение старых систем модульности – CommonJS и AMD.
  • Использование CommonsChunkPlugin, несколько точек входа.
  • Горячая замена модулей HMR.
  • Прототипное наследование, ссылка proto.
  • Прототип объекта.
  • Использование instanceof.
  • Ключевое слово class, создание классов.
  • Ключевое слово super.
  • Применение метода Object.assign().
  • Применение метода Object.defineProperty().
  • Геттеры и сеттеры.
  • Spread-оператор для работы с объектами и массивами.
  • Деструктурирование массива и объекта.
  • Функции как переменные.
  • Массив arguments.
  • Класс Function, методы call() и apply().
  • Метод bind(), установка this и части параметров с помощью bind.
  • Замыкания в JavaScript.
  • Инкапсуляция значений с помощью замыканий.
  • Создание функции через конструктор Function: конструирование строки.
  • Стрелочные функции, примеры их применения.
  • Функциональная манипуляция массивом: find, findIndex, filter.
  • Примеры использования map/filter/reduce для обработки данных в массиве.
  • Понятие иммутабельности, ее преимущества.
  • Мутабельные и иммутабельные методы изменения объектов и массивов.
  • Понятие и преимущества Virtual DOM.
  • Тестирование иммутабельных функций, применение Jest.
  • Мемоизация, ее преимущества.
  • Основные ошибки и рекомендации при использовании функционального программирования.
  • Паттерн MVC, создание пользовательского интерфейса.
  • Обзор основных библиотек для разработки интерфейса: Angular, React, Vue.
  • Понятие и необходимость асинхронности.
  • Работа с setTimeout, setInterval, clearTimeout.
  • Функции обратного вызова (коллбэки).
  • Потеря this при работе с функцией обратного вызова. Варианты решения (использование bind, стрелочных функций и др.).
  • Понятие промисов, возвращение Promise из асинхронной функции.
  • Метод Promise.all(), его применение.
  • Синтаксис async/await, варианты применения, ограничения.
  • Обработка внештатных ситуаций: Promise reject, обработка исключений при асинхронных вызовах.
  • Протокол HTTP.
  • Заголовки и методы HTTP (GET, POST, PUT, DELETE, другие), передача данных.
  • HTTP-серверы (обзор).
  • Коды ответа HTTP-сервера.
  • Использование форм для отправки данных.
  • Передача данных на сервер с помощью AJAX.
  • Архитектура REST: преимущества и особенности.
  • Реализация CRUD (операций Create/Read/Update/Delete) при работе с REST.
  • Применение функции fetch() для получения и отправки данных.
  • Документирование REST-сервисов с помощью Swagger.
  • Понятие HATEOAS, применение.
  • Сравнение высокоуровневой библиотеки Axios и применения низкоуровневого fetch().
  • GET- и POST-запросы в Axios.
  • Применение async/await с Axios.
  • Обработка ошибок при использовании Axios.
  • Отмена запроса с помощью Axios.
  • Протокол WebSocket.
  • Примеры использования WebSocket, сравнение с HTTP.
  • HTML-анимация.
Дата начала: По мере набора группы
Длительность: 1 неделя
Стоимость курса: 46 900 ₽
Цена без скидки: 46 900 ₽
Рассрочка: Нет
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да

8. JVA-I-001 Java: ООП и функциональная парадигма

В данном курсе рассматриваются специфические особенности внутренних классов, статических компонентов, а также обобщенных типов (Generics) и коллекций из Java Collections Framework, которые, являясь обязательными элементами подготовки любого Java-разработчика, служат фундаментом данного учебного блока, чье внимание сосредоточено на функциональном программировании: современной парадигме решения вычислительных задач, внедренной в 8-й версии Java.

  • Внутренние классы.
  • Статические компоненты.
  • Абстрактные классы и интерфейсы.
  • Введение в дженерики.
  • Обобщенные типы и методы.
  • Java Collections Framework: List, Set, Map.
  • Введение в лямбда-выражения.
  • Функциональные интерфейсы: Function, Predicate, Consumer, Supplier.
  • Встроенные функциональные интерфейсы.
  • Введение в Stream API.
  • Нововведения в Java 9-22.
  • Модульная система (Jigsaw).
  • Локальные переменные с типом var.
  • Records и sealed classes.
  • Singleton, Factory, Builder.
  • Decorator, Observer, Strategy.
  • Adapter, Bridge, Composite.
Дата начала: По мере набора группы
Длительность: 1 неделя
Стоимость курса: 21 000 ₽
Цена без скидки: 21 000 ₽
Рассрочка: Нет
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да