Си шарп с нуля

Формула программиста
основатель — Волосатов Евгений Витольдович
Шаблоны Проектирования / Java




kalobyte
  • Звание: Рандомайзер
  • Накопленный опыт: 6 часов
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2017-01-09 21:18:30

Видеокурсы

Дата активности Видеокурс Прогресс
2017-01-08 soft0 Демо софт 6 из 7 86 %
Итого: 6 из 7 86 %

Консольные задачи

Этот формулист не решил ни одной консольной задачи
Сохранить страницу:

10558. Иван Воронин
Иван Воронин
ответить
→  kalobyte   / 2017-01-09 22:07

Если тебе именно ПО для винды, то я тут такие курсов не встречал, об этом лучше уточнить у Евгения Витольдовича, но я знаю точно, если технология будет востребована, курсы появятся.


10588. kalobyte
kalobyte
ответить
→  Иван Воронин   / 2017-01-09 21:18

А асп это же уже через веб работает. Для веба я знаю mvc с пхп фреймворками, а мне надо приложения для виндовса по такому. Врят ли там оно одинаково будет.


10558. Иван Воронин
Иван Воронин
ответить
→  kalobyte  # Демо софт / ФИНАЛЬНЫЙ УРОК / 2017-01-09 14:32

по поводу mvp можешь глянуть курсы по ASP.NET, тут имеется несколько таких, там похожие технологии используются и не только =)


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte  # Демо софт / ФИНАЛЬНЫЙ УРОК / 2017-01-09 09:38

Спасибо, прекрасный отзыв, суть методики ты уловил на 100% и уверенно двигаешься к цели, молодец!


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte  # Демо софт / Текстовый процессор / 2017-01-09 09:33

Во-первых, это ты уже смело можешь сделать сам.
Во-вторых, лучший формат уроков - 10-минутный.
В-третьих. идея программ этого курса - дать идею, сделать первые шаги.
А дальше можешь создавать и развивать программу сам.
Мне очень нравятся твои отчёты, у тебя здорово получается!


10588. kalobyte
kalobyte
ответить
# Начало / Мои успехи / 2017-01-08 15:21

1. В общей сложности меньше месяца (с перерывами лени).
2. Английские карточки с подключением плеера vlc вместо windows media player.
3. Управление радиоуправляемым роботом с телеметрией, системой opencv с распознаванием целей, хардбольный привод.
Перехват кнопок у МФУ или сканеров для сканирования в заданные папки и форматы.
Систему управления помещениями с контролем доступа по пинкоду или карточке постоянного клиента.
4. Этот сайт первый и единственный, что заставил меня реально брать и делать. Подача материала идет сразу и без занудной теории и расписывании разных возможностей компонента, функций или еще чего. Так же подготовительная работа с отметкой галочками. Плюс публичный отчет о проделанной работе с учетом трудностей и пожеланий.

Обычно другие курсы просто дают материал, долго и нудно рассказывают о теории и абстгактных прогах, которые ничего полезного и конечного не делают. Тут все проги имеют какое-то полезное назначение, которое можно представить в голове сразу и заранее, что дает тебе моментальную картину о том, что нужно будет сделать и как это должно работать примерно.
Обычно дают ввести а,б,ц и вывести на экран или сложить 2+2, или посчитать по какой-то формуле или алгоритму. Это все уныло и неинтересно. Я от такого спать хочу.
Все тутошние приемы можно потом использовать в качестве подсказки в дальнейших проектах.

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


10588. kalobyte
kalobyte
ответить
→  Евгений Витольдович   / 2017-01-05 21:45

Да какая там положительная. Последнее задание делал в конце лета и потом лень было. Сейчас дописал одну прогу на шарпе и вот опять желание появилось. Или может быть это так на  меня платный вебинар по мотивации и лени от психотерапевта повлиял.


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte  # Демо софт / Средняя оценка / 2017-01-05 21:41

Спасибо за комментарии.
Рекомендую курс "Новые технологии", там естькурс по делегатам и по многим другим аспектам.
Вижу, у вас есть интерес и положительная тенденция к изучению программирования!


10558. Иван Воронин
Иван Воронин
ответить
→  kalobyte  # Демо софт / Менеджер паролей / 2016-10-03 09:35

Это классическая ситуация, когда на что-то лишнее тратится времени больше, чем на саму задачу =) молодец! удачи


10588. kalobyte
kalobyte
ответить
→  Иван Воронин  # Демо софт / Менеджер паролей / 2016-10-03 07:26

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

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


8959. Максим Саратов
Максим Саратов
ответить
→  kalobyte  # Демо софт / Менеджер паролей / 2016-10-02 13:07

Вы упорный человек!


10558. Иван Воронин
Иван Воронин
ответить
→  kalobyte  # Демо софт / Менеджер паролей / 2016-10-02 11:28

Молодец! запросы это стимул двигаться дальше, дерзай, иногда приходится изучать новый язык во время заказа и параллельно и изучением сразу же писать приложение, удачи


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte  # Демо софт / Менеджер паролей / 2016-10-02 09:35

Правильный вывод - просто двигайся вперёд.
Дальше мы рассмотрим использование ООП.
Рекомендую курс "Теория ООП".


10588. kalobyte
kalobyte
ответить
→  Евгений Витольдович   / 2016-06-29 18:38

Спасибо за приглашение, но я терпеть не могу игры. В 94м мне показали, как реализуется в коде столкновение 2х объектов и у меня пропал интерес к играм. Меня больше интересует тема usb hid. Пробовал расковырять бесплатные обертки для hid.dll или libusb, но как обычно - ушло куча времени, а результата ноль. Потом я узнал, что виндовс захватывает мыши и клавиатуры и управлять ими нельзя. А я для простоты решил помигать светодиодом второй клавиатуры, но кроме как зависания ничего не вышло. Были куча примеров с custom requst, но мне пока это неинтересно.

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

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

3я тема - программно определяемое радио. Нигде ничего нет на русском по теме. Вроде есть люди, которые вроде бы в теме, но никто ничего не пишет. Как матановая формула описывает процесс модуляции или демодуляции хотя бы простейшего ам сигнала. Как это перевести в код и вообще понять. Вот есть хорошая статья https://habrahabr.ru/post/303104/
Сейчас опять надо сделать прогу, чтобы работала с этим приемником и декодировала рдс в текстовой файл + вещала в мр3 в сеть и чтобы все было консольное. Пока сделал из кучи консольных прог или одной графической, но неизвестная ее стабильность. Она кстати на шарпе написана.
Это типа будет контрольный приемник для радиостанции, а то человек купил целый трансивер с функцией приема укв станций и думал управлять им с компутера, а там по кабелю или данные, или звук. Оба одновременно не идет.

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


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte   / 2016-06-29 15:14

Долго думал, что тебе ответить на всё это.
Наверное только одно - очень рад знакомству с таким удивительным и целеустремлённым человеком.
Да, галочки творят чудеса, как и остальные "маленькие секреты", которых тут множество :)
Желаю удачи в обучении и приходи в субботу на вебинар!


10588. kalobyte
kalobyte
ответить
→  Евгений Витольдович   / 2016-06-28 22:29

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

Ну и когда видиш готовый результат с парой строк кода, то на первый взгляд все просто. Я вот 2 проекта недавно допиливал. Там не применялся подход mvc, и кода хтмл, яваскрипт и пхп с запросами к бд был перемешан. Нужно было это перенести на новый хостинг и там вылезли глюки, т.к. софт был написан с 2006 года.

В другом софте надо было найти ошибку, почему не всплывает flexbox при отправке данных в форму. Заняло месяц, а решилось закомментированием непонятной яваскрипт функции в одном файле. Я так до конца и не понял причины.
Второй вопрос с запретом кешировать мп3 решился добавлением случайного числа типа sfsdf.mp3?nocache=rand().
Казалось бы пара строчек кода, а сколько времени ушло на понимание причины.

То же самое при ремонте электроники.

Программирование - это очень сложно. Сложно в плане не придумать алгоритм работы программы. У меня на это доли секунд уходят. Сложно заставить работать кучу хлама друг с другом. Этот компонент влц требует еще пары длл, которых вообще нет в дистрибутиве плеера. Непонятно откуда они взялись в моем проекте после компиляции.
Вот я не знаю ответ на этот вопрос. Значит я уже что-то не понимаю до конца. Непонимание ведет к дискомфорту. Чтобы дискомфорт убрать - надо понять до конца 100%. А для этого надо потратить кучу времени на поиск и прочтение материала.

Но твой курс - первый, кто заставил меня что-то делать. До этого я столько накачал бесплатного и посмотрел, купил даже онлайн книгу и начал ее читать, да не пошло.

А весь секрет - в тех волшебных чекбоксах, которые надо заполнить и выполнить задания.


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte  # Демо софт / Английские карточки / 2016-06-28 16:45

Разве там всё так сложно?
Вроде всё как-то проще на уроке было ...
Может стоит этот урок переместить в другой курс?


1. Евгений Витольдович
Евгений Витольдович
ответить
→  kalobyte  # Демо софт / Двенадцать месяцев / 2016-06-28 11:06

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

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: 1 Узнал новый контрол tooltip. Думал он работает как обычный контрол и его надо 2 раза добавить к лейблам, а оказывается оно несколько иначе делается. Я бы не догадался. 2 Узнал про сетку разметки, аналог тегу div. 3. Самое интересное было про делегатов.
Трудности: Синтаксис делегатов. В этот раз прога не потребовала самостоятельного допила нужных функций или переделки под мои условия. Поэтому за час управился.
Синтаксис несколько сложный на первый взгляд. И напоминает это Callback что ли. В классе note.cs надо было писать так. delegate_show_notes show_notes; public Note(delegate_show_notes _show_notes) { this.show_notes = _show_notes; Clear(); } С подчеркиванием, чтобы было понятно какая переменная к чему относится. Хотя конечно студия сама подсвечивает, но все равно для первого раза вообще каша в голове от этих названийо динаковых. Еще непонятно, почему в классе есть упоминание делегата delegate_show_notes show_notes; А потом в основном файле мы его определяем. private void show_notes(string avg, string qty) { label_avg.Text = avg; label_qty.Text = qty; } Нарушается логика. По идее из готового класса надо и вызывать готовый делегат, как и другие методы того класса. До этого урока я делегаты представлял себе несколько по-другому. Там еще оператор += должен быть.
Научился: Работать с новыми контролами. Читать из файла .csv. Рисовать нужное количество контролов в зависимости от данных в файле.
Трудности: Ничего.
Пришел к пониманию, что нужно переписать код так, чтобы было разделение вида от логики. Вроде как подсказали, что нужен паттерн одиночка, но я его пока не реализовал. На гугление потратил порядка 20 часов по паттернам. Скорей всего нужна будет платная консультация. В этот раз придется забить на этот урок и дальше пробовать, т.к. уже появляются запросы на изготовление софта, а я еще не настолько крут.