ZennoPoster + C# для новичков. Пишем софт под одноклассники
Всем привет. Начну с того, что я ничего не имею против кубиков. На самом деле я был сильно удивлен, как же много на них можно соорудить, когда на zennolab появился раздел по созданию шаблонов. Однако на больших проектах мы рискуем увидеть вот такую картину:
Это не есть гуд, т.к. ориентироваться в таком шаблоне может быть не просто. Плюс всегда есть вероятность, что стандартного функционала вам может не хватить, а без знаний c# вам придется идти на фриланс, заказывать сниппет, затем просить автора его починить (когда он выйдет из строя) и т.д. Всё это потерянное время и нервы.
Боль
На скрине книга Албахари в 1000 страниц. Страшно? Вам станет ещё страшнее, если вы начнете её читать, ибо когда я первый раз пролистал её, то мне показалось, что её забыли перевести на русский язык. Попади такой толмут к неподготовленному человеку и у него сразу отпадет всякое желание разбираться в c#.
К чему это я? Возможно, вы когда-то уже пробовали освоить c# и поняли, что это слишком сложно. Возможно, вы даже записывались на курс к @nztcoder и поняли, что это точно не для вас (на самом деле курс хороший, так что не закидывайте меня помидорами). Но действительно ли всё так страшно, как кажется на самом деле?
Пишем первую программу
Откройте Project Maker и создайте кубик c#. И забейте туда две строчки:
instance.ActiveTab.WaitDownloading();
Теперь запустите шаблон. Видим, что состоялся переход на яндекс. Сложно? Нет:
instance.ActiveTab.Navigate(""); - метод, отвечающий за переход на сайт. В кавычках мы должны передать урл сайта, куда хотим перейти
instance.ActiveTab.WaitDownloading(); - метод, отвечающий за ожидание прогрузки страницы
А что если мы хотим переходить на разные сайты? Сначала мы создадим список, куда сложим эти сайты:
List<string> spisokSaitov = new List<string>() //мы создали с вами список, который наполнили сайтами
{
};
//Пугает? На самом деле почти весь код "стандартный" при создании списка. Отличаться будет только имя. В данном случае у нашего списка имя spisokSaitov. Создадим ещё один список для закрепления:
List<string> spisokName = new List<string>()
{
"Вася",
"Петя",
"Коля"
};
//ну вот. Теперь вы умеете создавать списки и наполнять их
Вы научились создавать списки и наполнять их. Теперь мы можем выполнить переход на сайт следующим образом:
instance.ActiveTab.Navigate(spisokSaitov[1]);
instance.ActiveTab.WaitDownloading();
Вместо spisokSaitov[0] подставится нулевой (счет в c# идет с нуля) элемент нашего списка, т.е. Если бы мы написали spisokSaitov[1], то подставился бы Если spisokSaitov[2] то А если spisokName[0] то подставится Вася. "Вася" - не адрес сайта, так что будет ошибка.
А переход на случайный сайт выглядел бы следующим образом:
int sluchainoeChislo = new Random().Next(0,4); //генерируем случайное число от 0 до 4 (не вкл 4).
instance.ActiveTab.Navigate(spisokSaitov[sluchainoeChislo]); //делаем переход. Урл берется из списка spisokSaitov, строчка случайная.
instance.ActiveTab.WaitDownloading(); //дожидаемся прогрузки
На самом деле весь код состоит из вот таких небольших кирпичиков. Почти любой регистратор на 70% состоит из двух действий:
найти элемент
установить значение элемента
Я помогу вам «въехать в тему», а далее уже при желании можно записываться к «крутым пацанам» и прокачивать свои навыки.
Что будет в курсе
Разберемся с основами c#: переменные, условия, циклы, списки и т.д.
Разберемся с поиском элементов, используя xpath.
Пройдемся по объектной модели ZennoPoster и разберем наиболее популярные свойства и методы: клик по элементу, установка значения и т.д.
Научимся с вами выносить отдельные куски кода в общий код, чтобы поддерживать нормальную читаемость внутри кубика c#.
Закрепим всё на практике.
Писать мы будем софт под одноклассники. На веб. Запросов и API касаться не будем. Напишем регер, заполнитель, гулялку, парсер и рассыльщик по лс. Может дополню ещё чем-то, если будет необходимо.
P.S. При необходимости более подробное описание предоставлю позже
Курс для новичков. Если уже хотя бы полгода пишите на c#, большого смысла записываться нет (ООП не рассматривается, каких-то фишек не раскрывается). Цель – помочь вам разобраться с основами c# в zennoposter, чтобы вы могли более гибко решать свои задачи и при необходимости развиваться дальше.
Поддержка 1.5 месяца. Если вдруг не хватит, сделаю продление по минимальной цене.
Бонусов как таковых нет, может если какие пожелания будут добавлю.
И ещё одно - "смогу ли я заработать 100500 миллионов после прохождения курса"? Нет. Если у вас есть схема, которой вы занимаетесь руками, тогда да, шансы хорошие. Если вы думаете освоить зеннопостер, чтобы заработать - ничего не выйдет.
Спрашивайте, если есть вопросы.
Всем привет. Начну с того, что я ничего не имею против кубиков. На самом деле я был сильно удивлен, как же много на них можно соорудить, когда на zennolab появился раздел по созданию шаблонов. Однако на больших проектах мы рискуем увидеть вот такую картину:
Это не есть гуд, т.к. ориентироваться в таком шаблоне может быть не просто. Плюс всегда есть вероятность, что стандартного функционала вам может не хватить, а без знаний c# вам придется идти на фриланс, заказывать сниппет, затем просить автора его починить (когда он выйдет из строя) и т.д. Всё это потерянное время и нервы.
Боль
На скрине книга Албахари в 1000 страниц. Страшно? Вам станет ещё страшнее, если вы начнете её читать, ибо когда я первый раз пролистал её, то мне показалось, что её забыли перевести на русский язык. Попади такой толмут к неподготовленному человеку и у него сразу отпадет всякое желание разбираться в c#.
К чему это я? Возможно, вы когда-то уже пробовали освоить c# и поняли, что это слишком сложно. Возможно, вы даже записывались на курс к @nztcoder и поняли, что это точно не для вас (на самом деле курс хороший, так что не закидывайте меня помидорами). Но действительно ли всё так страшно, как кажется на самом деле?
Пишем первую программу
Откройте Project Maker и создайте кубик c#. И забейте туда две строчки:
instance.ActiveTab.WaitDownloading();
Теперь запустите шаблон. Видим, что состоялся переход на яндекс. Сложно? Нет:
instance.ActiveTab.Navigate(""); - метод, отвечающий за переход на сайт. В кавычках мы должны передать урл сайта, куда хотим перейти
instance.ActiveTab.WaitDownloading(); - метод, отвечающий за ожидание прогрузки страницы
А что если мы хотим переходить на разные сайты? Сначала мы создадим список, куда сложим эти сайты:
List<string> spisokSaitov = new List<string>() //мы создали с вами список, который наполнили сайтами
{
};
//Пугает? На самом деле почти весь код "стандартный" при создании списка. Отличаться будет только имя. В данном случае у нашего списка имя spisokSaitov. Создадим ещё один список для закрепления:
List<string> spisokName = new List<string>()
{
"Вася",
"Петя",
"Коля"
};
//ну вот. Теперь вы умеете создавать списки и наполнять их
Вы научились создавать списки и наполнять их. Теперь мы можем выполнить переход на сайт следующим образом:
instance.ActiveTab.Navigate(spisokSaitov[1]);
instance.ActiveTab.WaitDownloading();
Вместо spisokSaitov[0] подставится нулевой (счет в c# идет с нуля) элемент нашего списка, т.е. Если бы мы написали spisokSaitov[1], то подставился бы Если spisokSaitov[2] то А если spisokName[0] то подставится Вася. "Вася" - не адрес сайта, так что будет ошибка.
А переход на случайный сайт выглядел бы следующим образом:
int sluchainoeChislo = new Random().Next(0,4); //генерируем случайное число от 0 до 4 (не вкл 4).
instance.ActiveTab.Navigate(spisokSaitov[sluchainoeChislo]); //делаем переход. Урл берется из списка spisokSaitov, строчка случайная.
instance.ActiveTab.WaitDownloading(); //дожидаемся прогрузки
На самом деле весь код состоит из вот таких небольших кирпичиков. Почти любой регистратор на 70% состоит из двух действий:
найти элемент
установить значение элемента
Я помогу вам «въехать в тему», а далее уже при желании можно записываться к «крутым пацанам» и прокачивать свои навыки.
Что будет в курсе
Разберемся с основами c#: переменные, условия, циклы, списки и т.д.
Разберемся с поиском элементов, используя xpath.
Пройдемся по объектной модели ZennoPoster и разберем наиболее популярные свойства и методы: клик по элементу, установка значения и т.д.
Научимся с вами выносить отдельные куски кода в общий код, чтобы поддерживать нормальную читаемость внутри кубика c#.
Закрепим всё на практике.
Писать мы будем софт под одноклассники. На веб. Запросов и API касаться не будем. Напишем регер, заполнитель, гулялку, парсер и рассыльщик по лс. Может дополню ещё чем-то, если будет необходимо.
P.S. При необходимости более подробное описание предоставлю позже
Курс для новичков. Если уже хотя бы полгода пишите на c#, большого смысла записываться нет (ООП не рассматривается, каких-то фишек не раскрывается). Цель – помочь вам разобраться с основами c# в zennoposter, чтобы вы могли более гибко решать свои задачи и при необходимости развиваться дальше.
Поддержка 1.5 месяца. Если вдруг не хватит, сделаю продление по минимальной цене.
Бонусов как таковых нет, может если какие пожелания будут добавлю.
И ещё одно - "смогу ли я заработать 100500 миллионов после прохождения курса"? Нет. Если у вас есть схема, которой вы занимаетесь руками, тогда да, шансы хорошие. Если вы думаете освоить зеннопостер, чтобы заработать - ничего не выйдет.
Спрашивайте, если есть вопросы.
Для просмотра содержимого вам необходимо авторизоваться
Для просмотра содержимого вам необходимо авторизоваться