Обучение c# видеоуроки

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

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

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

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

После взноса  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 Что такое сокет 00:09:10
2 теста
31 чел. ★ 4.7 Free
  В этой серии видеоуроков мы подробно разберём принципы работы клиент-серверных программ на основе сокетов и напишем небольшую демонстрационную программу.

Рекомендую ознакомиться со статьёй:
http://qaru.site/questions/12999/what-is-the-difference-between-a-port-and-a-socket
 
17606. Виктор
17606. Виктор
11589. Yefim
18842. Степан
2 Простейший сервер 00:07:20
2 теста
22 чел. ★ 5 $
  На этом уроке мы создадим простейший сервер, который будет принимать подключения от клиентов и проверим его работу из  телнета и браузера.
 
17255. Слава
24765. Anatoli
21714. grom518
1232. Фомичева Наталья
3 Автоответчик 00:10:27
1 тест
21 чел. ★ 4.9 $
  На этом слайде мы напишем сервер-автоответчик, который всем клиентам будет отправлять одно и тоже сообщение.
 
5649. Максим Лапшинов
11589. Yefim
24765. Anatoli
21714. grom518
4 Правильный заголовок 00:06:26
2 теста
13 чел. ★ 5 $
  На этом дополнительном слайде мы сформируем правильный HTTP-ответ,
который будет выдавать наш сервер, чтобы даже привередливые браузеры смогли бы его отобразить.
 
13417. Chip
13417. Chip
17255. Слава
24765. Anatoli
5 Как хорошо уметь читать! 00:10:20
1 тест
18 чел. ★ 5 $
  На этом слайде мы создадим клиента, который сможет прочитать сообщение от сервера.
 
3922. Александр
17255. Слава
5081. Михаил
9913. vip
6 Клиент-серверный диалог 00:14:14
15 чел. ★ 5 $
  На этом слайде мы обеспечим полноценное общение между клиентом и сервером через сокет
 
17255. Слава
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
21714. grom518
7 Экспериментальный сервачок 00:12:25
1 тест
14 чел. ★ 5 $
  На этом уроке мы ещё раз построчно и подробно разберём написанные программы и поэкспериментируем с "медленным" сервером. Самостоятельное задание - написать клиент-серверную игру "Угадай число".
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
17255. Слава
3922. Александр
8 Техническое задание 00:06:25
11 чел. ★ 5 $
  Мы познакомились с принципом работы сокетов.
Теперь самое время создать какую-нибудь простую клиент-серверную программку.
На этом видео мы сформулируем техническое задание.
Попробуйте самостоятельно написать программу по ТЗ.
 
24765. Anatoli
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
9913. vip
9 Основной алгоритм 00:13:05
11 чел. ★ 5 $
  На этом слайде мы напишем два алгоритма в одной программе: для сервера и для клиента.
 
3922. Александр
24765. Anatoli
8275. Tekashnik
17947. Dmitry Sinitsin
10 Скелет телефона 00:03:37
1 тест
11 чел. ★ 5 $
  На этом коротком слайде мы создадим метод calculate() и очень быстро набросаем скелет класса Phone, используя возможности кодогенерации Intellij Idea.
 
17255. Слава
10558. Иван Воронин
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
11 Универсальный сокет 00:15:27
11 чел. ★ 5 $
  На этом слайде мы создадим все методы универсального сокета в классе Phone.
Протестируйте программу в разных режимах.

Придумайте, какую ещё клиент-серверную программу можно написать.
 
10558. Иван Воронин
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
24765. Anatoli
12 ФИНАЛЬНЫЙ УРОК без видео
1 тест
11 чел. ★ 5 $
  Оставьте отзыв об этом миникурсе и отчитайтесь за самостоятельное задание.
 
17255. Слава
8275. Tekashnik
1. Евгений Волосатов
17947. Dmitry Sinitsin
13 FREE VIP. Многопоточность 00:11:34
10 чел. ★ 4.6 Free
  На этом слайде мы поговорим о многопоточности, рассмотрим несколько примеров, кода имеет смысл разделять задачу на потоки, а когда нет. На следующих слайдах мы напишем простой многопоточный сокет для сервера на языке Java
 
10558. Иван Воронин
10558. Иван Воронин
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
14 VIP. Два потока 00:10:49
1 тест
9 чел. ★ 5 $
  На этом слайде мы создадим простейшую программу с двумя потоками.
 
9913. vip
9913. vip
8275. Tekashnik
11589. Yefim
15 VIP. Синхрофазатрон 00:14:00
9 чел. ★ 5 $
  На этом слайде мы создадим коллизию и узнаем, как от неё избавиться.
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
8275. Tekashnik
9913. vip
16 VIP. Функциональное потокообразование 00:04:52
2 теста
9 чел. ★ 5 $
  На этом коротком слайде мы узнаем, как создать поток через функциональное программирование.
 
8275. Tekashnik
20167. Айдар
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
17 VIP. Мультики на сервере 00:22:02
1 тест
9 чел. ★ 5 $
  На этом слайде мы встроим многопоточность в клиент-серверную программу Socketor и продемонстрируем достигнутый эффект.
 
20167. Айдар
10558. Иван Воронин
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
18 VIP. Динамичная многопоточность 00:30:24
9 чел. ★ 5 $
  На этом заключительном видеоуроке мы познакомимся с другим способом создания многопоточного сервера.
Если на предыдущем уроке у нас "крутилось" несколько копий одной программы,
то теперь мы будем создавать новый поток при каждом подключении клиента.

Сравните оба варианта и напишите в отчёте, какой подход вам больше понравился и почему.
 
9913. vip
9913. vip
10558. Иван Воронин
17947. Dmitry Sinitsin
  Итого:   18 видеоуроков 3 час. 22 мин.
15 тестов
9 чел. ★ 4.96  
  Финалисты:   Yefim,   Chip,   Иван Воронин,   Tekashnik,   Александр,   vip,   Айдар,   Dmitry Sinitsin,   Anatoli .

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





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

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

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

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


Научился: Уже изучал ранее сокеты, всё-равно было интересно. Курс классный, рекомендую его всем для прохождения!
Трудности: Заплатил за этот отзыв 50 байт. Идём дальше!



Научился: Клиентский метод .getInputStream().read() читает один символ, тогда как класс-обёртка для чтения данных - InputStreamReader способен читать уже строку. Применили цепочку из создания объектов, на вершине которой классы BufferedReader и BufferedWriter, способные к чтению и созданию полных строк, которые передавались через сетевой протокол между клиентом и сервером. Приложение для обмена, обработки Сервером полученного, и выведения на экран результата отправки-обработки-приёма реализовывалось как в рамках одного класса (это при том, что запуск доступен в двух ролях Сервера или Клиента), так и в двух классах. Первый класс Socketor имеет точку входа в программу, отвечает за выбор роли, в которой запускается сокет (сервером или клиентом). При каждом запуске создаёт новый экземпляр класса и в зависимости ОТ КОЛИЧЕСТВА принятых от пользователя аргументов запускает: метод runServer в роли Сервера или метод runClient в роли Клиента. =============== Метод runServer создает СОКЕТ - новый экземпляр класса Phone принимая аргументом номер порта для работы. В бесконечном цикле запускается метод приёма входящих пакетов извне. В первой полученной строке записывает строковую переменную a. Во второй полученной строке записывает строковую переменную b. В целочисленную переменную записывает результат работы метода калькуляции, принимающего аргументами (все строкового типа) знак математической операции, а и b - числа для математической операции. О полученном решении создаётся строковая переменная, которая: - выводится на экран в консоли Сервера методом System.out.println - передаётся Клиенту для вывода на экран методом phone.writeLine После вывода на экран соединение с Клиентом закрывается и Сервер возвращается циклом к ожиданию нового входящего соединения. В этом же цикле реализована проверка деления на ноль. ================ Метод калькуляции парсит в целые числа полученные строковые аргументы, и в зависимости от типа операции возвращает целочисленные результат расчётов. ================ Метод runClient принимает строковые аргументы: - сетевой адрес - номер порта - а и b - числа для математической операции. Создаётся экземпляр сокета с двумя аргументами (адрес и порт). Сокет Клиента построчно отправляет а и b - числа для математической операции. Затем с помощью метода readLine() Клиент получает результат вычислений и выводит его в консоль на экран. ################ Второй класс Phone занимается реализацией сокетов Сервера и Клиента. Здесь же составлена матрёшка экземпляров классов, способных обрабатывать строковые символы и целые строки из сетевого трафика. Во всех методах класса Phone применен отлов ошибок try-catch