Обучение языку c#

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

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

Сетевые технологии

Описание курса

Курс расскажет, как понимать, а главное управлять Интернетом (!).
Мы рассмотрим инструменты для работаты в сети.
Узнаем, из чего же действительно формируется интернет-страница.
Будем читать и понимать код интернет-страниц.

Ты наверняка слышал слово Авторизация, а действительно ли ты понимаешь, что это и как она работает? На курсе мы рассмотрим несколько способов прохождения Авторизации.

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

В качестве бонусного урока мы расскажем Вам о технологии, позволяющей работать с базами SQL без установки SQL-Server.

Авторы курса

Шмойлов Кирилл, работает программистом уже более 10 лет, последние 3 года Ведущим Инженером программистом на промышленном предприятии (масштаба страны). За многолетний труд накопилось множество наработок, появились свои решения для сбора и обработки данных, поиска необходимой информации на сайтах.
Белоусов Игорь, создал много своих работ в области интернет-технологий, но для реализации не хватало практики.

Объединив усилия получился курс, который могут пройти как новички, так и “прожженые” программисты. Каждый может подчерпнуть для себя что-то новое, нужное, полезное.

Для кого этот курс

Курс является отличным помощником для программистов, которые прошли первые шаги в программировании на C#, а теперь обратили свой интерес в сторону интернета.

Для тех, кто хочет автоматизировать свою работу в интернете, получать свежие новости/погоду/анекдоты, лишь один раз написав свою программу.

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

Чему ты научишься

Ты сможешь бегло читать код интернет-страниц, программно заполнять поля и производить авторизацию, практически на любых сайтах. Научишься легко автоматизированно сохранять информацию из интернета, переходить по ссылкам. Узнаешь, как хранить свои проекты в интернете, чтобы иметь к ним доступ из любой точки земного шара.


Объём: 10 видеоуроков
Продолжительность: 3 часа.

Хочу купить!

Купить в рассрочку за мегахеши

Цена: 2000 p.


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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 Презентация курса 00:01:43
66 чел. ★ 4.8 Done
  Краткое описание курса «Сетевые технологии»

Отчёт отправил: 531. Nurbek Выполнено за 15 мин. [Показать отчёт]
Научился: "Вытаскивать" информацию с сайтов это наверное парсинг. 
Сложности: Ничего 
Комментарии: Иметь доступ к любым своим проектам на любой стадии, я использую для этого облачное хранилище. 
2 Мой собственный браузер 00:10:34
55 чел. ★ 4.9 Done
  На этом уроке мы сделаем свой браузер, в перспективе его будем использовать для дальнейших разработок.

*Вопрос: как изменить Домашнюю страницу в webBrowser?
Отчёт отправил: 531. Nurbek Выполнено за 1 час. 15 мин. [Показать отчёт]
Научился: Научился использовать компонент WebBrowser. 
Сложности: Сделать стартовую страницу 
Комментарии: Вообще-м я переменной main_page присвоил свойство браузера Url (WebBrowser.Url) и к кнопке "Домой" сделал навигацию на main_page. 
3 Главные секреты интернет-страниц 00:14:08
48 чел. ★ 4.9 Done
  Добавим в проект адресную строку, научимся с помощью неё управлять нашим браузером.
Мы рассмотрим заголовки страниц, их содержание, а так же повнимательнее рассмотрим cookie-файлы.

*Вопрос: зачем нам нужны cookie – файлы?
Отчёт отправил: 531. Nurbek Выполнено за 1 час. 45 мин. [Показать отчёт]
Научился: Научился получать заголовок страницы, код, а также куки. Еще узнал про событие DocumentCompleted. 
Сложности: Не понял почему страницы отображаются неправильно, криво. 
Комментарии: 1) Ну не знаю, я вообще-то думал как программно изменить домашнюю страницу. А так любой юзер знает как это сделать; 2) Иногда, при нажатии на ссылку открывался Internet Explorer; 3) Заголовок (Title) произносится как тайтл; 4) Куки-файлы нужны для того, чтобы страница загружалась с компьютера, при наличии самих файлов, как я понял. Хотя при беглом изучении, понял что это текстовая информация, которая хранит данные о пользователе, если есть система учетных записей на сайте, данные сессии, информация о подписке, какая версия загружена (мобильная или полная) и т.д. 
4 Вопросы и ответы 00:08:22
45 чел. ★ 4.7 Done
  На этом уроке мы ответим на вопросы, возникшие у участников проекта по курсу «Сетевые технологии»

Отчёт отправил: 531. Nurbek Выполнено за 35 мин. [Показать отчёт]
Научился: Узнал много интересного. 
Сложности: Придумать вопрос 
Комментарии: Т.е. я так понял, что в игре про госпиталь, программа автоматически будет нажимать на ссылки. И можно будет задать интервал между нажатиями? 
5 Интернет-страница: Что полезного можно получить? 00:16:12
35 чел. ★ 4.9 Done
  На уроке мы рассмотрим html-страницу.
Получим несколько ссылок с интернет-страницы, разберем её, посмотрим какой информацией она обладает, и какая нам будет полезна в будущем.

*Вопрос: необходимо на форме разместить picturebox. Как на ней разместить первую картинку из интернет-страницы
Отчёт отправил: 531. Nurbek Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Получать текст ссылки и URL на эту ссылку и конечно же сами ссылки с веб-страницы. 
Сложности: Вставить изображение в PictureBox 
Комментарии: Долго искал как сделать задание. И нашел. В компоненте PictureBox есть свойство ImageLocation типа string. В него можно вставить URL картинки. URL картинки я нашел, но выходит как полная ссылка, т.е. с тегом image. Я не стал отделять адрес картинки из ссылки, т.к. это у меня заняло еще как минимум час. Хотелось бы посмотреть как с этим справились другие. Вообще, интересный формат с домашним заданием. Заставляет изрядно попотеть, а это очень полезно))) 
6 Несколько способов работы с интернет-страницами 00:20:51
34 чел. ★ 4.8 Done
  Мы посмотрим, как загрузить картинку из интернета в PictureBox.
Создадим метод подключения через прокси-сервер.
А так же добавим метод, который срабатывает при открытии нового окна.

*Вопрос: каким должен быть метод получения картинки, если не нужно использовать Proxy?
Отчёт отправил: 531. Nurbek Выполнено за 2 час. 10 мин. [Показать отчёт]
Научился: Работать с Proxy, отмена открытия новой страницы. 
Сложности: Функция загрузки картинки в PictureBox. 
Комментарии: В свойстве компонента PictureBox.Image хотел написать функцию загрузки изображения. Попробовал метод FromFile, но там нужно указывать имя картинки, сохраненной локально.  Но т.к. я пока не знаю как это сделать, пришлось написать простейшую функцию загрузки для ImageLocation: private string DownloadImage(string uri)         {             return uri;         } в uri естественное передается GetAttribute("src"). Хотелось бы узнать нормальное решение для свойства Image. 
7 Авторизация с заполнением полей 00:18:33
32 чел. ★ 4.9 Done
  Рассмотрим сайт getdc.ru
Создадим метод, который заполнит поля Логин и Пароль
И самостоятельно авторизуется на сайте.

*Задание: добавить кнопку и написать метод выхода из аккаунта
Отчёт отправил: 531. Nurbek Выполнено за 1 час. 55 мин. [Показать отчёт]
Научился: 1) Автоматическое заполнение полей на сайте, на примере пары Логин-Пароль; 2) Программный клик на кнопку. 
Сложности: Написать функцию выхода из акаунта 
Комментарии: На первом скрине красным подчеркнут "Выход", который отображается в виде ссылки. Поэтому я решил работать с Document.Links . В цикле foreach нашел ссылку с именем "Выход" и дал команду браузеру перейти по этой ссылке. Вроде все просто, но как бывает, получилось далеко не с первого раза. Возник еще один вопрос: а если мне захочется работать с веб-страницей в другом браузере, например Опера или Хром. Как это можно реализовать? 
8 Авторизация с формированием ключа 00:16:18
30 чел. ★ 4.9 Done
  На уроке мы узнаем что такое токен, посмотрим как формируется ключ для подключения к сайту.
Получим токен из интернет - страницы, а так же напишем метод формирования ключа.
Сможем самостоятельно, программно авторизоваться, используя метод формирования ключа.

*Самостоятельные задания:
1. Найти сайт с авторизацией
2. Произвести авторизацию самостоятельно, используя метод формирования ключа
3. Приложить скрин с полученным результатом
Отчёт отправил: 531. Nurbek Выполнено за 2 час. 40 мин. [Показать отчёт]
Научился: 1) Узнал что при авторизации используется уникальный ключ; 2) Как сделать авторизацию, используя полученный ключ; 3) Как просмотреть пароль после аутентификации.  
Сложности: Найти сайт с ключом. Немало времени ушло на поиски подходящего сайта, т.к. там ключ не формировался. Возможно я не понял и ключ был в другом виде. Но тем не менее нашел один сайт, который хоть что-то напоминает похожее на пример из видеоурока. 
Комментарии: Иногда слышу, что на сайте используется какой-то ключ. То 256-битный, то 512. Тот ли ключ упоминается в видеоуроке? 
9 Авторизация без браузера или как обмануть сайт 00:31:56
30 чел. ★ 4.9 Done
  Смотрим онлайн игру xospital.mobi
Пишем метод авторизации без браузера
На уроке мы наглядно, по шагам, увидим как происходит авторизация

*Задание: сделать так, чтобы метод авторизации был универсальным, для любых сайтов и ключей.
Отчёт отправил: 531. Nurbek Выполнено за 1 час. 45 мин. [Показать отчёт]
Научился: Авторизация без браузера 
Сложности: 1) Понять алгоритм 2) Написал метод AutNonKey(string login, string passw, string uri). Логин, пароль и адрес сайта как входящие параметры берутся из текстовых полей. 
Комментарии: Урок мне оказался очень полезен, т.к. я играю в похожую игру. И вообще, все очень интересно. 
10 Хождение по динамическим ссылкам 00:36:38
29 чел. ★ 5 Done
  Произведем рефакторинг написанного кода.
Вынесем используемые переменные в глобальные
Создадим отдельные методы для отправки запроса на сервер и получение данных от сервера
Добавим кнопки Домой, Свободная палата, Принять пациента и соответствующие методы.

*Самостоятельное задание: написать метод, который нажимает на ссылку «Выписать».
Отчёт отправил: 531. Nurbek Выполнено за 3 час. 20 мин. [Показать отчёт]
Научился: Переход по динамическим ссылкам 
Сложности: Понять алгоритм 
Комментарии: Я сделал программу по другой, но аналогичной игре:  "sveta.mobi" (Салон красоты). Также там зарегистрировался, изучил некоторые моменты и в домашнем задании, написал методы для всех действий (принять клиента, выбрать первую услугу, помочь мастеру, выбрать пирожное, рассчитать, прибрать). 
11 Всё всегда под рукой 00:33:12
27 чел. ★ 4.8 Done
  Теперь у нас всё всегда будет под рукой!)

*Задание: проверить работу, когда в папку с репозиторием переместить проект Visual Studio

Отчёт отправил: 531. Nurbek Выполнено за 1 час. 25 мин. [Показать отчёт]
Научился: Работать с контролем версий 
Сложности: Сложно ничего нет, просто надо немного попрактиковаться в SourceTree и BitBucket. 
Комментарии: Ну этот метод конечно же получше смотрится, чем облако. Осталось привыкнуть:) 
12 ФИНАЛЬНЫЙ УРОК. Видеообзор программы 00:23:23
22 чел. ★ 5 Done
  Задание.
Записать видеообзор любой своей программы.

Поздравляю!



Отчёт отправил: 531. Nurbek Выполнено за 2 час. 40 мин. [Показать отчёт]
Научился: Все и так умел. 
Сложности: Записать видео. Уже несколько дней не мог записать видео-отзыв, постоянно что-то мешало. Первый раз когда записывал, вентилятор от ноутбука сильно шумел, поэтому видео получилось просто с ужасным звуком. Когда собирался во второй раз, забыл распечатанный листок с текстом на работе. И только на третий раз, после работы, когда все ушли, остался и записал наконец таки этот долгожданый мною, с многочисленными препятствиями, отзыв. 
Комментарии: Очень интересный и полезный видеокурс. 
Видеообзор: https://www.youtube.com/watch?v=Ec4BrBKaf8c&feature=youtu.be
13 VIP урок. SQLite: База MySQL в кармане 00:28:11
20 чел. ★ 4.8 Done
  Подключаемся к базе SQLIte через Visual Studio используя язык программирования C#

*Самостоятельное задание: сделать так, чтобы при нажатии кнопки Enter в DataGridView данные сохранялись в базу данных
Отчёт отправил: 531. Nurbek Выполнено за 2 час. 15 мин. [Показать отчёт]
Научился: Работать с SQLite 
Сложности: Вышла ошибка, связанная с библиотекой Sysytem.Data.SQLite. Хоть у меня стоит 64-разрядная система, мне подошла 32-х. Наверное это связано с архитектурой процессора. 
Комментарии: Сделал отдельную функцию на обновление. Потом к событию KeyUp у DataGridView при нажатии на Enter вызываю созданную ранее функцию. 
  Итого:   13 видеоуроков 4 час. 20 мин.
20 чел. ★ 4.87  
  Финалисты:   Alcatraz,   Сергей,   Nurbek,   Иван,   Валера Луцевич,   Николай,   Елена,   Булат,   Игорь Алексеенко,   Олег Михайлович,   Ludmila,   Новопашин Владимир,   Сергей,   Электрон,   Yefim,   Сергей Д.,   Сергей Соколов,   Станислав,   Александр,   Александр .

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





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

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

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

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


Научился: Рассказывать о курсе.
Трудности: Собрать все вместе. Большая часть времени ушла на заливку видео на youtube.
Огромное спасибо Кириллу за увлекательный курс. Удалось даже залогиниться на videosharp.info. Все очень понятно объясняется, а благодаря домашним заданиям все прекрасно усваивается.


Научился: Создавать видеообзор по пройденному курсу.
Замечаний нет. Следующим курсом планирую взять "API ВКонтакте".