Обучение си шарп

Формула программиста

основатель — Волосатов Евгений Витольдович

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса  999  499 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE MVC - Суть шаблона 00:11:09
59 чел. ★ 4.9 Done
  Мы начинаем очень интересный шаблон проектирования: MVC.
Мы разберёмся, зачем же он нужен и продемонстрируем
его работу на нескольких примерах.
Отчёт отправил: 9752. chokayes Выполнено за 1 час. 43 мин. [Показать отчёт]
Научился: Суть шаблона состоит в том, чтобы разделить данные от представления, вместе соединяет их контроллер. Таким образом мы легко можем менять к примеру в модели,  как и откуда мы получаем данные не внося изменения в две другие части VC и наоборот, мы можем менять представление к примеру. организовывая разл. варианты вывода. Как-то так.  
Сложности: -- 
2 MVC - Counter - ViewConsole 00:08:31
42 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы начинаем создание первой программы,
реализовав базовый функционал вывода информации в консоль.
Отчёт отправил: 9752. chokayes Выполнено за 1 день 1 час. 4 [Показать отчёт]
Научился: вывод реализовали так, чтобы не указывать явным бразом модель 
Сложности: Использую IntelliJ IDEA, как там сгенерировать код объявления, что мы используем Обсервер не знаю, набрал с клавы. И еще мне пишет  deprecated, и зачеркивает, но запускается. JDK 9.0.1 * @deprecated * This interface has been deprecated. See the {@link Observable} * class for further information.  
3 MVC - Counter - ViewFrame 00:09:18
1 тест
37 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы создадим ещё одно представление,
используя JFrame() с необходимым интерфейсов
для возможности использования ActionListener().
Отчёт отправил: 9752. chokayes Выполнено за 3 дня 16 час. 45 мин [Показать отчёт]
Научился: Насчет JFrame все понятно. Уже есть опыт  использования в сапере. )  новое в этом уроке ActionListener 
Сложности: -- 
4 MVC - Counter - ModelPlus 00:07:02
34 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы создадим Модель и продемонстрируем как она работает.
Отчёт отправил: 9752. chokayes Выполнено за 1 день 8 час. 5 [Показать отчёт]
Научился: создавать простую модель 
Сложности: -- 
5 MVC - Counter - ControllerPlusFrame 00:10:57
1 тест
34 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы создадим Контроллер, связывающий Модель и Представление.
Отчёт отправил: 9752. chokayes Выполнено за 2 дня 3 час. 30 мин. [Показать отчёт]
Научился: связали Модель и Представление через Контроллер 
Сложности: а SetValue() вообще нужно ли? 
6 MVC - Counter - ControllerPlusConsole 00:07:19
31 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы создадим Контроллер для второго Представление,
которое мы реализовали в самом начале для вывода в консоль.
Отчёт отправил: 9752. chokayes Выполнено за 3 час. 17 мин. [Показать отчёт]
Научился: Супер урок! Скучная реализация вывода в консоль превратилась в такую красоту! Одна Модель - два Представления!  
Сложности: -- 
7 MVC - Counter - ModelDuplex 00:09:21
1 тест
30 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы создадим ещё одну Модель,
которая будет заниматься умножением.
Так же переделаем наш код, чтобы он работал с long значениями.
Отчёт отправил: 9752. chokayes Выполнено за 38 мин. [Показать отчёт]
Научился: Понравилось использование String как буфера. Вычисления и вывод переводим в String, и не заморачиваемся на типах int или long. 
Сложности: -- 
8 MVC - Counter - ControllerDuplex 00:09:37
30 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы заканчиваем создание первой программы,
для демонстрации данного шаблона проектирования.
Отчёт отправил: 9752. chokayes Выполнено за 16 час. 21 мин. [Показать отчёт]
Научился: Проинициализировали счетчик при запуске. шаблон проектирования MVC позволяет программе быть очень гибкой, можно свободно вносить изменения в модель или представление и эти изменения не будут влиять друг на друга. Супер! Я думаю Представление чаще меняют чем модель, хотя, если допустим появится новый способ поучения информации, то прикрутить к программе легче легкого. Идея понятная. Надо на практике побольше отработать тему. 
Сложности: -- 
9 FREE MVC - PhoneBook - Вступление 00:07:52
1 тест
33 чел. ★ 4.9 Done
  Для более глубокого понимания шаблона проектирования MVC мы напишем на языке Java полноценную прикладную программу "Телефонная книжка". Сначала создадим две формы (JFrame), потом напишем модель и в конце свяжем их через контроллер. В добрый путь!
Отчёт отправил: 9752. chokayes Выполнено за 5 час. 17 мин. [Показать отчёт]
Научился: Создавать дизайн приложения. Очень полезная штука! 
Сложности: -- 
10 MVC - PhoneBook - ViewCard 00:15:42
29 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы начинаем разработку телефонного справочника,
для демонстрации данного шаблона проектирования.
Начнём с формы "Карточка пользователя".
Отчёт отправил: 9752. chokayes Выполнено за 23 час. 25 мин. [Показать отчёт]
Научился: Создавать форму, добавлять визуальные компоненты.  
Сложности: -- 
11 MVC - PhoneBook - User Struct 00:09:32
1 тест
28 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы реализуем передачу данных в нашу форму "Карточка пользователя".
Отчёт отправил: 9752. chokayes Выполнено за 33 мин. [Показать отчёт]
Научился: реализовали заполнение текстовых полей двумя способами: через вызов метода update  и через шаблон Observer, понравилась передача данных в метод  через поля класса User. Мощно! 
Сложности: -- 
12 MVC - PhoneBook - ViewList 00:09:05
28 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы реализуем второй вид "Просмотр/Поиск записей".
Отчёт отправил: 9752. chokayes Выполнено за 1 день 21 мин. [Показать отчёт]
Научился: -- 
Сложности: -- 
13 MVC - PhoneBook - UserList Struct 00:11:00
26 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы реализуем заполнение списка и
передачу в форму списка телефонной книги.
Отчёт отправил: 9752. chokayes Выполнено за 2 час. 32 мин. [Показать отчёт]
Научился: использовать List 
Сложности: сходу не получилось полосу прокрутки прикрутить, пришлось повозиться.  
14 MVC - PhoneBook - UserSQL - Methods 00:11:35
24 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы создадим базу данных на движке sqlite,
использовав удобное для этого приложение: sqliteexpert.com.

Отчёт отправил: 9752. chokayes Выполнено за 2 дня 21 час. 59 мин [Показать отчёт]
Научился: база уже была создана ранее ) 
Сложности: -- 
15 MVC - PhoneBook - UserSQL - Queries 00:07:20
24 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы выясним, какие именно sql-запросы необходимы для каждого метода.
Отчёт отправил: 9752. chokayes Выполнено за 10 час. 1 мин. [Показать отчёт]
Научился: повторил пройденное 
Сложности: -- 
16 MVC - PhoneBook - UserSQL - Connect 00:15:18
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы реализуем класс UserSQL() на основе
шаблона проектирования: ActiveRecord, для работы с базой данных.
Отчёт отправил: 9752. chokayes Выполнено за 2 час. 23 мин. [Показать отчёт]
Научился: подключение нужно вынести отдельно, в конструктор класса наверное 
Сложности: в IntelliJ IDEA  в начале надо добавить библиотеку SQLite в проект, для этого выбираем file -> Project Structure  и там указываем путь к sqlite-jdbc-3.21.0.jar 
17 MVC - PhoneBook - UserSQL - Singleton 00:13:19
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы воспользуемся ещё одним
шаблоном проектирования: Singleton.
Отчёт отправил: 9752. chokayes Выполнено за 20 час. 41 мин. [Показать отчёт]
Научился: Урок понятный. Предыдущий был сложнее.  
Сложности: -- 
18 MVC - PhoneBook - UserSQL - CRUD 00:12:32
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы доработаем класс UserSQL.
Отчёт отправил: 9752. chokayes Выполнено за 7 час. 45 мин. [Показать отчёт]
Научился: -- 
Сложности: -- 
19 MVC - PhoneBook - UserListSQL - Select 00:10:29
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы реализуем класс UserListSQL,
для получения списка всех пользователей.
Отчёт отправил: 9752. chokayes Выполнено за 22 час. 29 мин. [Показать отчёт]
Научился: круто получается 
Сложности: -- 
20 MVC - PhoneBook - UserSQLTest - DBase 00:16:38
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы приступим к тестированию нашей программы при помощи JUnit.
Отчёт отправил: 9752. chokayes Выполнено за 4 час. 12 мин. [Показать отчёт]
Научился: Пункт 5 в IntelliJ IDEA сделал так. Выбрал класс UserSQL далее ALT-ENTER - CREATE TEST.  
Сложности: непонятно следующее: мы из DBase сделали ENUM и удалили метод getInstance(), но он же у нас вызывается из других классов. И в этом пакете меняем, а в изначальном нет? Надеюсь в сл. видео прояснится вопрос. 
21 MVC - PhoneBook - UserSQLTest - Insert 00:14:32
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы начинаем писать тесты для класса UserSQL() при помощи JUnit.
Отчёт отправил: 9752. chokayes Выполнено за 1 день 2 час. 3 [Показать отчёт]
Научился: -- 
Сложности: -- 
22 MVC - PhoneBook - UserSQLTest - Select 00:10:24
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы пошагово изучим работу метода по добавлению записи в БД
и продолжим реализацию оставшихся методов для тестирования класса UserSQL().
Отчёт отправил: 9752. chokayes Выполнено за 18 час. 34 мин. [Показать отчёт]
Научился: в начале урока все непонятные места улетучились 
Сложности: Пропустил что-ли в предыдущих уроках создание метода DELETE. У меня он оказался пустым. ) Естественно тест выдавал ошибку так как вместо метода DELETE была заглушка, которая ничего не делала. Пришлось дописывать, благо мы до этого в подробностях создавали другие запросы.  
23 MVC - PhoneBook - UserSQLTest - Slashes 00:12:51
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы реализуем тестирование обновления записей в БД для класса UserSQL().

Отчёт отправил: 9752. chokayes Выполнено за 3 час. 0 мин. [Показать отчёт]
Научился: не знаю правильно или нет, реализовал тест для класса UserListSQL 
Сложности: -- 
24 MVC - PhoneBook - Model - Ресторанная аналогия 00:10:47
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этoм ypoкe мы ещё рaз обсyдим рeсторанную аналогию MVC.
И приступим к созданию кухни - Модели.
Напишем заголовки всех методов.
Отчёт отправил: 9752. chokayes Выполнено за 28 мин. [Показать отчёт]
Научился: В уроке был задан вопрос, чем является ActiveRecord в MVC. Я сразу понял, что это относится к Модели, до холодильника не дошел. ) На данный момент я Модель упрощенно понимаю как входные данные.  
Сложности: -- 
25 MVC - PhoneBook - Model - Methods 00:10:31
19 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этoм ypoкe мы реализуем все методы для нашей модели.
Отчёт отправил: 9752. chokayes Выполнено за 18 час. 17 мин. [Показать отчёт]
Научился: -- 
Сложности: -- 
26 MVC - PhoneBook - Controller - Model / ViewList 00:10:43
18 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этoм ypoкe мы реализуем контроллер для связи ViewList() с Model().
Отчёт отправил: 9752. chokayes Выполнено за 5 час. 29 мин. [Показать отчёт]
Научился: все работает, моей радости нет предела. хотя пока ничего и нет, но это дело техники  ) 
Сложности: -- 
27 MVC - PhoneBook - Controller - Scroller 00:05:16
18 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этoм ypoкe мы продолжаем создание контроллера для связи ViewList() с Model().
Отчёт отправил: 9752. chokayes Выполнено за 25 мин. [Показать отчёт]
Научился: урок получился короткий, потому что скроллбар я до этого добавил. идем дальше 
Сложности: -- 
28 MVC - PhoneBook - Controller - Class for Click 00:11:11
18 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы создадим ещё один контроллер для формы с отображением карточки пользователя.
На этой форме две кнопки, поэтому для создания слушателей мы создадим отдельные внутренние классы.
Отчёт отправил: 9752. chokayes Выполнено за 8 час. 55 мин. [Показать отчёт]
Научился: Раньше я не понимал зачем вообще нужны внутренние классы, в этом видео-уроке, как раз дается пример того, в каком случае это необходимость может возникнуть. спасибо за урок! 
Сложности: мне непонятно только как потом все это связывается, насколько я понимаю классы при компиляции все равно разделяются. надо будет выяснить этот вопрос. 
29 MVC - PhoneBook - Controller - Buttons 00:14:40
17 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы запрограммируем кнопочки.
По нажатии кнопки "Добавить" - показать карточку.
По нажатии кнопки "Сохранить" - сохранить данные,
а также скрыть карточку и обновить список имён на главной форме.
Отчёт отправил: 9752. chokayes Выполнено за 55 мин. [Показать отчёт]
Научился: классный урок! мне понравился. все причесали ) 
Сложности: -- 
30 MVC - PhoneBook - Controller - Select / Update 00:21:47
17 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы сделаем открытие карточки по щелчку на записи.
Также реализуем сохранение изменений и удаление записей.
Создание телефонной книжки практически завершено!
Отчёт отправил: 9752. chokayes Выполнено за 2 час. 29 мин. [Показать отчёт]
Научился: очень насыщенный урок. как посоветовал Евгений Витольдович, надо будет еще раз пройти этот курс. реально как волшебство. добавил строчку тут заработало, добавил другую, там заработало. ) 
Сложности: -- 
31 MVC - PhoneBook - Search - Message 00:07:36
17 чел. ★ 5 Done
  Мы начинаем создание поиска по телефонной книжке.
Начнём с переноса текстовых сообщения в отдельное поле.
Для этого потребуется создать панель, чтобы всё поместилось.
Также добавим побольше разных записей, чтобы было среди чего искать.
Отчёт отправил: 9752. chokayes Выполнено за 53 мин. [Показать отчёт]
Научился: поменял цвет текста 
Сложности: тут в простом приложении заморочки с layout, как сложный интерфейс рисовать? 
32 MVC - PhoneBook - Search - Select LIKE 00:08:59
17 чел. ★ 5 Done
  На этом уроке мы обсудим два способа, как сделать поиск.
Мы напишем запрос для фильтрации записей в нашей телефонной книжке.
Отчёт отправил: 9752. chokayes Выполнено за 2 дня 23 час. 11 мин. [Показать отчёт]
Научился: повторил запросы, минусы вариантов без использования запросов в том, что усложянется логика приложения, хотя как вариант может быть, но на данном этапе лично мне не зачем заморачиваться насчет нагрузки на БД. Так что запросики само то.  
Сложности: -- 
33 MVC - PhoneBook - Search - Listener 00:09:38
17 чел. ★ 5 Done
  На этом уроке мы создадим слушателя, который
будет реагировать на изменение текста в строке поиска.
Отчёт отправил: 9752. chokayes Выполнено за 49 мин. [Показать отчёт]
Научился: реализовали обработку события при изменении текстового поля 
Сложности: Не получилось вызвать changedUpdate. В документации написано:  "Gives notification that an attribute or set of attributes changed." Этот метод срабатывает, когда меняются только атрибуты документа (шрифт, размер и т.п). Вот что значит тупо назвать. ) 
34 MVC - PhoneBook - Search - Finish 00:11:38
17 чел. ★ 5 Done
  На этом уроке мы .... ЗАКОНЧИМ создание телефонной книжки!
Мы допишем функцию поиска по базе и протестируем её.
Отчёт отправил: 9752. chokayes Выполнено за 3 час. 13 мин. [Показать отчёт]
Научился: поработали на всех уровнях абстракции 
Сложности: -- 
35 ФИНАЛЬНЫЙ УРОК без видео
16 чел. ★ 5 Done
  Ты молодец!
Поздравляю с завершением создания телефонной книжки!
Запиши видеообзор созданной программы
и напиши отзыв об этом видеокурсе.
Отчёт отправил: 9752. chokayes Выполнено за 2 час. 1 мин. [Показать отчёт]
Научился: -- 
Сложности: -- 
Видеообзор: MkHlF3D0Y5M
36 VIP - MVC - PhoneBook - Tripple Click 00:12:59
15 чел. ★ 5 Done
  На этом дополнительном вип-уроке мы сделаем
открытие карточек более привычным и удобным -
по двойному щелчку и по нажатию клавишы Enter.
Отчёт отправил: 9752. chokayes Выполнено за 1 час. 54 мин. [Показать отчёт]
Научился: классный урок. научились открывать форму по нажатию ввода и двойному щелчку. совсем все по-взрослому ) 
Сложности: -- 
37 VIP - MVC - PhoneBook - JModal 00:02:58
15 чел. ★ 5 Done
  На этом коротком вип-уроке мы сделаем форму карточки модальным окном.
Это означает, что нельзя будет переключиться в основное окно, пока карточка открыта.
Отчёт отправил: 9752. chokayes Выполнено за 3 час. 20 мин. [Показать отчёт]
Научился: супер мини-урок. ) сделали карточку модальной 
Сложности: -- 
38 VIP - MVC - PhoneBook - Error Checking 00:15:25
14 чел. ★ 5 Done
  На этом уроке мы вынесем обработку ошибок на более высокий уровень.
Добавим в Представление функционал отображения ошибок из базы данных.
Отчёт отправил: 9752. chokayes Выполнено за 33 мин. [Показать отчёт]
Научился: в тестах не пришлось прописывать обработчик ошибок, так как Идея сама сгенерила. ) ошибки можно записывать в файл и просто вывести сообщ, чтобы обратились к разработчику.  
Сложности: -- 
39 VIP - MVC - PhoneBook - UML 00:08:16
13 чел. ★ 5 Open
  Схему проекта проще всего составить, когда программа уже написана.
А ещё проще это сделать, когда под рукой есть хороший инструмент.

На этом уроке мы создадим UML схему нашего проекта
с использованием программы Code 2 UML
sourceforge.net/projects/code2uml

САМОСТОЯТЕЛЬНОЕ ЗАДАНИЕ
1. Пройти курс по созданию UI на JavaFX.
2. Создать новые представления ViewCardFX, ViewListFX на JavaFX.
3. Написать контроллеры для связи новых представлений с моделью.
Прочуствовать всю мощь MVC -
как была изменён вид программы без изменения модели.
  Итого:   39 видеоуроков 6 час. 53 мин.
5 тестов
13 чел. ★ 5  
  Финалисты:   Алексей В.,   Сергей Соколов,   Елена,   Новопашин Владимир,   Фомичева Наталья,   Tekashnik,   Александр,   Александр Заскотченко,   Иван Воронин,   Сергей Тирпиц,   Yefim,   Anatoli,   Tom .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Слушать приятную музыку.
Трудности: Успеть реализовать задуманное.
Всем рекомендую написать эту телефонную книжку для закрепления знаний по шаблонам проектирования. Если вы еще не знаете что такое шаблоны, советую сначала пройти курс по шаблонам. Знания пригодятся не только в java, но и при написании программ на других языках программирования.


Научился: Использовать шаблон MVC
Курс очень насыщенный и интересный. Рекомендую обязательно пройти этот курс каждому, кто до сих пор этого не сделал!