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

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

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

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

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

После взноса  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.
Мы разберёмся, зачем же он нужен и продемонстрируем
его работу на нескольких примерах.
Отчёт отправил: 986. Антон Лазарец Выполнено за 21 мин. [Показать отчёт]
Научился: суть mvc состоит в разделении программы на логические слои для разделея обязанностей. облегчения тестирования и вообще улучшения понимания системы в целом. + облегчает поддерживаемость программы в будущем З.Ы. не нашел интересных картинок про mvc - прикрепил шо понравилось 
2 MVC - Counter - ViewConsole 00:08:31
42 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы начинаем создание первой программы,
реализовав базовый функционал вывода информации в консоль.
Отчёт отправил: 986. Антон Лазарец Выполнено за 18 мин. [Показать отчёт]
Научился: ооочень давно встречался с обзервером, думаю что в последующих уроках памят освежится 
3 MVC - Counter - ViewFrame 00:09:18
1 тест
37 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы создадим ещё одно представление,
используя JFrame() с необходимым интерфейсов
для возможности использования ActionListener().
Отчёт отправил: 986. Антон Лазарец Выполнено за 11 мин. [Показать отчёт]
Научился: вызывать супер конструктор. выглядит неожиданно. остальное очень похоже на то, что мы делали в курсе java sweeper 
4 MVC - Counter - ModelPlus 00:07:02
34 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы создадим Модель и продемонстрируем как она работает.
Отчёт отправил: 986. Антон Лазарец Выполнено за 7 мин. [Показать отчёт]
Научился: уже и забыл какой observable крутой 
5 MVC - Counter - ControllerPlusFrame 00:10:57
1 тест
34 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы создадим Контроллер, связывающий Модель и Представление.
Отчёт отправил: 986. Антон Лазарец Выполнено за 12 мин. [Показать отчёт]
Научился: вместо сеттера сделал инит каунтер с возможностью вызова только один раз 
6 MVC - Counter - ControllerPlusConsole 00:07:19
31 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы создадим Контроллер для второго Представление,
которое мы реализовали в самом начале для вывода в консоль.
Отчёт отправил: 986. Антон Лазарец Выполнено за 11 мин. [Показать отчёт]
Научился: сделал через сканнер чтобы не забыть как пользоваться потоками. очень давно не приходилось работать с ними 
7 MVC - Counter - ModelDuplex 00:09:21
1 тест
30 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы создадим ещё одну Модель,
которая будет заниматься умножением.
Так же переделаем наш код, чтобы он работал с long значениями.
Отчёт отправил: 986. Антон Лазарец Выполнено за 13 мин. [Показать отчёт]
Научился: сделали модель для дублирования значения - вроде не сложно. контроллер по памяти 1в1 вышел так шо намана) вроде запоминается 
8 MVC - Counter - ControllerDuplex 00:09:37
30 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы заканчиваем создание первой программы,
для демонстрации данного шаблона проектирования.
Отчёт отправил: 986. Антон Лазарец Выполнено за 18 мин. [Показать отчёт]
Научился: на веб проектах активно же используется. мы все данные между контроллерами передаем посредством mvc модели. вот тут странно получается немного. делал в уроках ранее проверку, чтобы модель можно было инициализировать только один раз. а тут в консоли значение не выводилось начальное, я сначала подвис. а потом дошло что у нас модель 2 раза инициализируется. имхо не комильфо вроде. но как костыль сойдет) 
9 FREE MVC - PhoneBook - Вступление 00:07:52
1 тест
33 чел. ★ 4.9 Done
  Для более глубокого понимания шаблона проектирования MVC мы напишем на языке Java полноценную прикладную программу "Телефонная книжка". Сначала создадим две формы (JFrame), потом напишем модель и в конце свяжем их через контроллер. В добрый путь!
Отчёт отправил: 986. Антон Лазарец Выполнено за 6 час. 15 мин. [Показать отчёт]
Научился: погуглил похожие сервисы на moqups. ninjamockup показался прикольнее - выбрал его) 
10 MVC - PhoneBook - ViewCard 00:15:42
29 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы начинаем разработку телефонного справочника,
для демонстрации данного шаблона проектирования.
Начнём с формы "Карточка пользователя".
Отчёт отправил: 986. Антон Лазарец Выполнено за 23 час. 17 мин. [Показать отчёт]
Научился: сначала хотел поменять соотношение колонок. но поплыли кнопки, почитал офф туторы по swing layout и решил что оно того не стоит. лучше потом с javafx разберусь лучше, не хочется много времени на swing тратить 
11 MVC - PhoneBook - User Struct 00:09:32
1 тест
28 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы реализуем передачу данных в нашу форму "Карточка пользователя".
Отчёт отправил: 986. Антон Лазарец Выполнено за 16 мин. [Показать отчёт]
Научился: как же глаз и пальцы радуются когда вместо рутинного кода модели достаточно просто перед объявлением класса поставить data ^^ 
12 MVC - PhoneBook - ViewList 00:09:05
28 чел. ★ 5 Done
  Мы продолжаем знакомство с шаблоном проектирования: MVC.
На этом уроке мы реализуем второй вид "Просмотр/Поиск записей".
Отчёт отправил: 986. Антон Лазарец Выполнено за 28 мин. [Показать отчёт]
Научился: пошуршал доку, узнал как отобразить данные на JList - сделал тестовый метод, который выводит данные при создании формы. дальше, думаю, как и раньше сделаем через контроллер отображение 
13 MVC - PhoneBook - UserList Struct 00:11:00
26 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы реализуем заполнение списка и
передачу в форму списка телефонной книги.
Отчёт отправил: 986. Антон Лазарец Выполнено за 37 мин. [Показать отчёт]
Научился: как сделать полоску подсказала первая ссылка на стэке) 10000 пользователей вывести вышло даже короче чем в прошлый раз 4 выводил. апдейт переделал под стримы - вышло лаконичнее и более читаемо. в качестве единственной модели выбрал userlist. под одной записи в jlist выводит это садизм =3 чтобы viewcard не ломался можно брать какой то элемент из списка (первый\последний\какой по душе). можно поизвращаться и приспособить код к двум моделям проверяя тип перед приведением и в зависимости от типа выводить или user или какой то эл-т из userlist. но щас уже ночь и есть шанс что более подходящий вариант не посетил мою голову) 
14 MVC - PhoneBook - UserSQL - Methods 00:11:35
24 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы создадим базу данных на движке sqlite,
использовав удобное для этого приложение: sqliteexpert.com.

Отчёт отправил: 986. Антон Лазарец Выполнено за 33 мин. [Показать отчёт]
Научился: никогда с лайтом не сталкивался, ток мусклом работал. и эктив рекордс тож что то странное, про дао слышал и про репозитории слышал. про эктив рекордс не слышал) 2 новых штуки за один урок 
15 MVC - PhoneBook - UserSQL - Queries 00:07:20
24 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы выясним, какие именно sql-запросы необходимы для каждого метода.
Отчёт отправил: 986. Антон Лазарец Выполнено за 7 мин. [Показать отчёт]
Научился: с прошлого пока ничего не поменялось. на живой бд не проверял. но я в ней не сомневаюсь) 
16 MVC - PhoneBook - UserSQL - Connect 00:15:18
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы реализуем класс UserSQL() на основе
шаблона проектирования: ActiveRecord, для работы с базой данных.
Отчёт отправил: 986. Антон Лазарец Выполнено за 2 дня 1 час. 49 мин. [Показать отчёт]
Научился: шото пошло не так. вроде отправлял отчет. наверное прошляпил и не отправил. или может на сайте что то случилось. перенес бд в ресурсы чтобы лежала под проектом - проще будет переносить проект. там были проблема маленькая. затупил и проверял не ту бд. одна лежала под src и я в ней смотрел. нужно было чекать ту. которая в out. минут 10 дебажил пока не проверил пути) Подключение к бд можно перенести в отдельный класс предоставляющий интерфейс для получения коннекшна (можно было б подрубить какой нить простенький пул коннешнов), а он в свою очередь внутри будет хендлить подключение к бд, пути и всё такое. это бы уменьшило зависимость модулей приложения high cohesion low coupling там... а из program обращаться к коннекшн классу и отдавать его внутрь active record.  
17 MVC - PhoneBook - UserSQL - Singleton 00:13:19
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы воспользуемся ещё одним
шаблоном проектирования: Singleton.
Отчёт отправил: 986. Антон Лазарец Выполнено за 5 дней 21 час. 57 мин. [Показать отчёт]
Научился: с паттерном давно знаком поэтому хотел посмотреть че как через enum делать. столкнулся с проблемой инициализации статических переменных в конструкторе (инит блок). оказывается что в enum объекты создаются раньше инициализации статического контекста и поэтому статик переменные не существуют на этапе конструирования объектов. не откуда бы я еще такое узнал)  
Сложности: найти время для выполнения заданий. есть пара своих идей вне проекта и хотелось реализовать. но столкнулся с javafx и решил вернуться к курсу (там во второй части разбор вроде на javafx идет) + щас буду параллельно читать книженцию одну по ней. надеюсь asap вникнуть в джавовый юай 
18 MVC - PhoneBook - UserSQL - CRUD 00:12:32
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы доработаем класс UserSQL.
Отчёт отправил: 986. Антон Лазарец Выполнено за 39 мин. [Показать отчёт]
Научился: пришлось помучиться с классов User чтобы можно было нормально создавать объект с указанием только одного поля id и вообще без него. нашел в документации способ с переопределением конструктора и указанием дефолтного значения. вышло как всегда довольно компактно - я доволен ^^ 
19 MVC - PhoneBook - UserListSQL - Select 00:10:29
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы реализуем класс UserListSQL,
для получения списка всех пользователей.
Отчёт отправил: 986. Антон Лазарец Выполнено за 23 мин. [Показать отчёт]
Научился: интересная особенность kotlin. лябды всегда должны быть обернуты в фигурные скобки, но для использования ссылки на метод их нужно упустить и написать выражение в круглых. немного неочевидный момент. нужно будет поискать причину такой реализации в интернетах 
20 MVC - PhoneBook - UserSQLTest - DBase 00:16:38
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы приступим к тестированию нашей программы при помощи JUnit.
Отчёт отправил: 986. Антон Лазарец Выполнено за 24 мин. [Показать отчёт]
Научился: т.к. копировал я базу из ресурсов. а при билде создаются новые экземпляры в таргет директории то данные шо там шо там пустые. но это такое, мелочи.  
21 MVC - PhoneBook - UserSQLTest - Insert 00:14:32
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы начинаем писать тесты для класса UserSQL() при помощи JUnit.
Отчёт отправил: 986. Антон Лазарец Выполнено за 45 мин. [Показать отчёт]
Научился: хотел помокать вначале, но потом передумал. с junit 5 все чуть чуть по другому и нужно переучиваться. и эктив рекорд уже перестает радовать. как то запутанно все и много всего на одном классе завязано. вынести бы все в какую то даошку - было бы проще имхо. и тестировать, и с разными бд работать 
22 MVC - PhoneBook - UserSQLTest - Select 00:10:24
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы пошагово изучим работу метода по добавлению записи в БД
и продолжим реализацию оставшихся методов для тестирования класса UserSQL().
Отчёт отправил: 986. Антон Лазарец Выполнено за 10 мин. [Показать отчёт]
Научился: ничего сложного) тесты - любимая часть разработки по (без сарказма) =3 
23 MVC - PhoneBook - UserSQLTest - Slashes 00:12:51
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы реализуем тестирование обновления записей в БД для класса UserSQL().

Отчёт отправил: 986. Антон Лазарец Выполнено за 17 мин. [Показать отчёт]
Научился: на этапе написания запросов создавал их для preparedStatement так что тесты прошли с первого раза) З.Ы. в закрепах мемчик про инъекции) 
24 MVC - PhoneBook - Model - Ресторанная аналогия 00:10:47
22 чел. ★ 5 Done
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этoм ypoкe мы ещё рaз обсyдим рeсторанную аналогию MVC.
И приступим к созданию кухни - Модели.
Напишем заголовки всех методов.
Отчёт отправил: 986. Антон Лазарец Выполнено за 21 мин. [Показать отчёт]
Научился: хорошо что знакончили работать с active record. что-то очень не привычный патерн и не думаю, что когда нибудь пригодится на практике (имхо). 
25 MVC - PhoneBook - Model - Methods 00:10:31
19 чел. ★ 5 $
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этoм ypoкe мы реализуем все методы для нашей модели.
26 MVC - PhoneBook - Controller - Model / ViewList 00:10:43
18 чел. ★ 5 $
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этoм ypoкe мы реализуем контроллер для связи ViewList() с Model().
27 MVC - PhoneBook - Controller - Scroller 00:05:16
18 чел. ★ 5 $
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этoм ypoкe мы продолжаем создание контроллера для связи ViewList() с Model().
28 MVC - PhoneBook - Controller - Class for Click 00:11:11
18 чел. ★ 5 $
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы создадим ещё один контроллер для формы с отображением карточки пользователя.
На этой форме две кнопки, поэтому для создания слушателей мы создадим отдельные внутренние классы.
29 MVC - PhoneBook - Controller - Buttons 00:14:40
17 чел. ★ 5 $
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы запрограммируем кнопочки.
По нажатии кнопки "Добавить" - показать карточку.
По нажатии кнопки "Сохранить" - сохранить данные,
а также скрыть карточку и обновить список имён на главной форме.
30 MVC - PhoneBook - Controller - Select / Update 00:21:47
17 чел. ★ 5 $
  Мы продолжаем создание телефонной книжки в рамках
знакомства с шаблоном проектирования: MVC.
На этом уроке мы сделаем открытие карточки по щелчку на записи.
Также реализуем сохранение изменений и удаление записей.
Создание телефонной книжки практически завершено!
31 MVC - PhoneBook - Search - Message 00:07:36
17 чел. ★ 5 $
  Мы начинаем создание поиска по телефонной книжке.
Начнём с переноса текстовых сообщения в отдельное поле.
Для этого потребуется создать панель, чтобы всё поместилось.
Также добавим побольше разных записей, чтобы было среди чего искать.
32 MVC - PhoneBook - Search - Select LIKE 00:08:59
17 чел. ★ 5 $
  На этом уроке мы обсудим два способа, как сделать поиск.
Мы напишем запрос для фильтрации записей в нашей телефонной книжке.
33 MVC - PhoneBook - Search - Listener 00:09:38
17 чел. ★ 5 $
  На этом уроке мы создадим слушателя, который
будет реагировать на изменение текста в строке поиска.
34 MVC - PhoneBook - Search - Finish 00:11:38
17 чел. ★ 5 $
  На этом уроке мы .... ЗАКОНЧИМ создание телефонной книжки!
Мы допишем функцию поиска по базе и протестируем её.
35 ФИНАЛЬНЫЙ УРОК без видео
16 чел. ★ 5 $
  Ты молодец!
Поздравляю с завершением создания телефонной книжки!
Запиши видеообзор созданной программы
и напиши отзыв об этом видеокурсе.
36 VIP - MVC - PhoneBook - Tripple Click 00:12:59
15 чел. ★ 5 $
  На этом дополнительном вип-уроке мы сделаем
открытие карточек более привычным и удобным -
по двойному щелчку и по нажатию клавишы Enter.
37 VIP - MVC - PhoneBook - JModal 00:02:58
15 чел. ★ 5 $
  На этом коротком вип-уроке мы сделаем форму карточки модальным окном.
Это означает, что нельзя будет переключиться в основное окно, пока карточка открыта.
38 VIP - MVC - PhoneBook - Error Checking 00:15:25
14 чел. ★ 5 $
  На этом уроке мы вынесем обработку ошибок на более высокий уровень.
Добавим в Представление функционал отображения ошибок из базы данных.
39 VIP - MVC - PhoneBook - UML 00:08:16
13 чел. ★ 5 $
  Схему проекта проще всего составить, когда программа уже написана.
А ещё проще это сделать, когда под рукой есть хороший инструмент.

На этом уроке мы создадим 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
Курс очень насыщенный и интересный. Рекомендую обязательно пройти этот курс каждому, кто до сих пор этого не сделал!