Online обучение c#

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

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

Статистика по видеоурокам

  • Всего просмотрено уроков: 377
  • Всего выполнено уроков: 374

Отчёты по видеоурокам

Дата Видеоурок Результат
2017-08-13 17:33 Yii2 Soft - Вступление и подготовка + 16 2 час. 00 мин.
___
Скачать сервер
___
2017-03-25 03:33 Шаблоны ФИНАЛЬНЫЙ УРОК + 16 20 мин.
Узнал, что такое шаблоны проектирование и как с ними работать
Пройти столько уроков. Хотя странно, вот в Сокобане по часам где-то столько же, а уроков в 4 раза меньше. Такой себе минус коротких уроков =)
Ну что сказать, курс вышел просто отличный. Конечно, ничто не идеально, но я и не говорил, что он такой =)
С его помощью я узнал, что вообще представляют из себя эти шаблоны проектирования, зачем они нужны и как ими пользоваться. Как вы скорее всего догадались, он по большей части состоит из программ-примеров, на которых рассматривается один (почти всегда) или более (это уже ближе к концу курса) шаблонов. И выбор этих программ здесь как всегда замечательный, например, за курс мы написали две игры, парсер сайтов, стимулятор свиданий, кота, который создаёт файл, если температура равна 18, полноценный калькулятор на 4 операции градусам и ещё кучу всего. И это на курсе, который не то, что обещал вам чего-то такого, но и вообще по факту посвящён теории правильного программирования (или как-то так).
Так что, если вы не знаете, что такое шаблоны программирования, или знаете, но хотите разобраться, где какой приминать, как конкретно их реализовывать и почему именно так, то вы знаете, какой курс вам нужен =)
2017-03-25 03:13 State State - Целый калькулятор - Fix Bugs + 16 20 мин.
Исправлять ошибки
Правильно исправить ошибки
Первые две и четвёртую я ещё до этого урока пофиксил. На прошлом скриншоте видны все исправления.
Третью пропустил (и ещё думал, а зачем в результате при нажатии знака что-то вычислять) =)
2017-03-25 02:59 State State - Целый калькулятор - 16 кнопок + 16 20 мин.
Исправлять ошибки при реализации этого шаблона
Ничего
Ну, вроде теперь всё правильно работает =)
2017-03-25 02:42 State State - Целый калькулятор - Logic + 16 30 мин.
Создавать калькулятор
Ничего
Вау, это всё так классно, отличный шаблон, и просто замечательный пример =)

Ошибка в том, что после вычисления результата, если мы вводим цифру, то х не сбрасывается, а остаётся прежним и эта цифра добавляется в конец
2017-03-25 02:15 State State - Целый калькулятор - Press key + 16 20 мин.
Узнал, что всё это время можно было делать со switch
Ничего
• Ого, спасибо, вы прямо мне глаза открыли на то как работает switch (почему обязательно нужно писать break; и всё такое)!
• Я решил сразу с формами работать
2017-03-25 01:44 State State - Целый калькулятор - Context + 16 20 мин.
Писать 200 строк кода ни написав ни строчки =)
Ничего
Так, теперь надо действительно запомнить, как что делается
2017-03-25 01:20 State State - Целый калькулятор - States + 16 30 мин.
Принцип работы калькулятора
В принципе, всё понятно
Сейчас какие-то смешанные чувства. Тоже всегда хотел написать калькулятор, даже как-то делал что-то подобное, так что эти уроки действительно хочется посмотреть. Но после всего, что я уже прошел, у меня не то что каша, а кисель в голове =) Так что сложно всё воспринимать (точнее обрабатывать и запоминать). Но сегодня - последний день, когда я могу проходить курс, так что и выбора у меня особо нет.
2017-03-25 00:16 State VIP - State - КНБ - JButtons + 16 20 мин.
Встраивать шаблоны в форму
Ничего
Для счётчика нужно, чтобы context.Play() возвращал не строку а перечисление с результатом, а то со строкой немного коряво получается =)
2017-03-25 00:06 State VIP - State - КНБ - JFrame + 16 1 час. 00 мин.
В Java всё сложно с формами
Ничего =)
Я тоже переделал консольное приложение в WinForms, но это было гораздо легче как-то. Создал форму двумя кликами, запустил (1 строка кода), указал в настройках проекта, что это теперь WinForms приложение и всё
2017-03-24 23:20 State State - КНБ - Play   30 мин.
Играть в камень ножницы бумага
Ничего
А  почему мы не создаём enum для State, чтобы как минимум считывать фигуру пользователя, или чтобы передавать его в state.PlayVs(figure) ?
2017-03-24 22:35 State State - КНБ - States + 16 20 мин.
Реализовывать State
Ничего
А вот в старые добрые времена программисты сами состояние меняли, а теперь программа сама всё продумывает =)
2017-03-24 22:24 State State - Вступление + 16 15 мин.
Узнал, что это за шаблон такой
Ничего
То есть это Стратегия, где алгоритм для каждого состояния может влиять на это самое состояние
2017-03-24 22:12 Observer VIP - Observer - Sensor - Alert + 16 20 мин.
Реагировать только при изменении условий
Ничего
Как-то не впечатлил меня этот шаблон, не знаю. Ну есть же события. И в EventArgs можно передавать ту же информацию и реализуется легче
2017-03-24 21:54 Observer Observer - Sensor - Banner + 16 20 мин.
Использовать 2 шаблона стразу
Ничего
Всё хорошо
2017-03-24 21:23 Observer Observer - Sensor - Cat File + 16 15 мин.
Реализовывать деструктор
Ничего
Ну вот, а в C# есть и сборщик мусора и деструктор =)
2017-03-24 21:16 Observer Observer - Sensor - Person + 16 20 мин.
Реагировать на температуру
Ничего
Последний рывок =)
2017-03-24 06:36 Observer Observer - Sensor - Visaginas + 16 20 мин.
Повторил Observable
Реализовать C#-овскую реализацию
Так и не могу понять, зачем это нужно...
2017-03-24 06:18 Observer Observer - School Bell - Study and Break + 16 20 мин.
Присылать разные уведомления
Ничего
А почему нельзя было всё через NotifyObservers сделать?
2017-03-24 05:57 Observer Observer - School Bell - java.util.Observable + 16 20 мин.
Реализовывать IObservable
Ничего
Ну, тут опять же немного другая реализация, но с тем же смыслом:
https://msdn.microsoft.com/ru-ru/library/dd782981(v=vs.110).aspx
2017-03-24 05:47 Observer Observer - School Bell - java.util.Observer + 16 20 мин.
В C# тоже есть Observer
Реализация немного отличается
Чем этот шаблон отличается от события, я всё ещё не могу понять..
2017-03-24 05:32 Observer Observer - School Bell - Porter + 16 20 мин.
Реализовывать событие
Ничего
А не лучше ли вместо дубрейк и будущего дустади просто передавать соответствующий аргумент в нотифайобсерверс? (лень на английскую клавиатуру переключатся)
2017-03-24 04:15 Observer Observer - School Bell - Sound Bell + 16 1 час. 00 мин.
Как воспроизводить mp3
Воспроизвести mp3
Вот не поревете, испробовал всё от DirectX до DllImport, ничего не работало, в итоге всё таки использовал WindowsMediaPlayer..
2017-03-24 03:41 Observer Observer - School Bell - Student + 16 15 мин.
Всё знал
Ничего
Эх, помню, я воспроизводил любые звуковые файлы на шарпе, добавив на форму скрытый windows media player =)
2017-03-24 03:32 Observer Observer - Теория + 16 20 мин.
Принцип работы шаблона
Ничего
• Картинка обрезанная снизу, так и должно быть?
• Так это ж обычное событие. Или в джаве их нет? Нет, хотя с другой стороны интересно, как это без делегатов можно реализовать =)
2017-03-24 03:15 Active Record Active Record - User - Update all + 16 20 мин.
Богатые богатеют - бедные беднеют, а средний класс всё оплачивает
Ничего
Когда выполняешь домашнее задание, становится скучно смотреть начало (первые две минуты) урока, так как именно на это оно и тратится
2017-03-24 02:56 Active Record Active Record - User - Select all + 16 20 мин.
Повторил получение файлов в папке по шаблону
Ничего
Да здравствует LINQ
2017-03-24 02:21 Active Record Active Record - User - Randoms + 1 20 мин.
Тестируем программу ддос атакой =)
Ничего
Такой метод тестирования сработает, если что-то сломается, а если ошибки не будет, то нужно же будет вручную каждый результат проверять
2017-03-24 02:09 Active Record Active Record - User - Delete + 16 20 мин.
Увольнять работников
Ничего
Ну, пока всё очень даже просто
2017-03-24 01:59 Active Record Active Record - User - Select + 16 15 мин.
UPDATE - это просто
Ничего
Реализовал Select через строковый аргумент и upadte
2017-03-24 01:47 Active Record Active Record - User - Create + 16 20 мин.
Создавать пользователя
Ничего
Уже в предвкушении готового класса =)
2017-03-24 01:36 Active Record Active Record - User - Imitation + 16 20 мин.
Будем работать с файлами, а не бд
Ничего
В этом плане этот шаблон даже лучше EF, он для простых проектов, не нужно морочатся с настройкой и всем таким
2017-03-23 12:39 Active Record Active Record - UML + 16 15 мин.
Принцип работы этого шаблона
Ничего
Хм, по описанию - один в один Entity Framework, только вторая пофункциональнее будет. Кстати, курс по ней уже закончен или ещё есть надежда на продолжение? =)
2017-03-23 12:29 Iterator Iterator - BlackJack - Play game + 16 30 мин.
Моя программа меня же обыгрывает..
Ничего
Всё подровнял и немного по другому реализовал вопрос хочет ли пользователь взять ещё карту.

Синглтон? Ну, сначала создаём колоду, а потом её только используем.
2017-03-23 12:03 Iterator Iterator - BlackJack - Stages + 16 20 мин.
Вспомнил правила игры
Ничего
А если перебор (кто-то проиграл)?
2017-03-23 11:49 Iterator Iterator - BlackJack - Random + 16 20 мин.
Перемешивать итерируемую коллекцию методом "Что? Где? Когда?"
Ничего
Для итератора просто отличный алгоритм, так как ему всё равно, что мы удаляем элементы из массива и на перемешивание время практически не тратится. Класс!
2017-03-23 11:39 Iterator Iterator - BlackJack - Deck of Cards + 16 30 мин.
Больше практики
Ничего
А зачем эти два метода? Они же дублируют уже существующие по функционалу..
2017-03-23 11:10 Iterator Iterator - BlackJack - Card   30 мин.
Enum в Java прилично отличается от того, что в C#
Ничего
Это было ожидаемо, я уснул. Но есть и плюсы, я наконец-то выспался и первая пара в час, так что ещё даже успею пару уроков пройти =)

• Вот, смотрите, уже и пригодилось то, что в шарпе можно создавать экземпляры внутренних классов. Так как Face и Suit по логике и должны находится в классе Card, зачем им быть вне его и захламлять пространство имён, они ж больше ни для чего не используются, и нужны только этому классу?
• А в Java нельзя корректировать порядковые номера элементов перечисления, как на скриншоте?
• И ещё. Там нельзя явно преобразовывать их в int?
• И последний вопрос, почему вы пишете toString как обычный метод, его ж переопределить нужно, или в Java это тоже не так?
2017-03-22 23:03 Iterator Iterator - Random + 16 30 мин.
Всё знал
Ничего
А у меня внутренний класс не видел переменную max из внешнего. Разве он должен? Ведь мы свободно можем создать его экземпляр не создавая экземпляр внешнего (если бы он был публичным), и тогда переменной max вообще не будет

UPD: В Java внутренний класс не может быть публичным, по этому там такое возможно
2017-03-22 06:04 Iterator Iterator - BlackJack - Introduction + 16 10 мин.
Что Евгений Витольдович азартный человек =)
Ничего
Ладно, я тут подумал, мне вставать через 2 часа, так что самое время ложится. Да и судя по всему намечается интересная программка, и её лучше писать на свежую голову =)
2017-03-22 05:55 Iterator Iterator - Digits + 16 15 мин.
Делать итератор для перебора цифр в числе
Ничего
А знаете, хоть сейчас и пять утра, а мне действительно стало понятнее, как работают итераторы =)
2017-03-22 05:31 Iterator Iterator - Numbers - System + 16 10 мин.
Реализовывать итератор, который возвращает определённый тип данных
Странно, шарп настаивает на реализации ещё какого-то
IEnumerator IEnumerable.GetEnumerator()
При указании типа возвращаемого значения итератора
Выше написал
2017-03-22 05:23 Iterator Iterator - Numbers - Inner class + 17 5 мин.
Объединить весь итератор в один* класс
Ничего
Теперь 2 минуты на урок?? С другой стороны, тут я даже настроится не успел, так что даже меньше дискомфорта, чем уроки по 5 минут =)
2017-03-22 05:19 Iterator Iterator - Numbers - Running + 16 10 мин.
Использовать итератор в своих целях
Ничего
Как-то курс по итератору понятнее был. Хотя, может я его уже идеализировал, уже больше полугода прошло как-никак.
2017-03-22 05:13 Iterator Iterator - Numbers - Iterable + 16 10 мин.
Вспомнил про IEnumerable, и понял, что забыл, зачем оно надо
Ничего
Уроки по 5 минут какие-то уж слишком короткие, только настроился, а он уже закончился.
2017-03-22 05:06 Iterator Iterator - Numbers - 12345 + 16 10 мин.
Повторил реализацию итератора
Ничего
Интересно, а в этом шаблоне тоже будет yeld return и всё такое
2017-03-22 04:43 Iterator Iterator - Numbers - Introduction + 16 10 мин.
Узнал, что итератор - это ещё и шаблон проектирования
Ничего
Стоп, мы ж уже рассматривали итератор вдоль и поперёк в одноимённом курсе (отличный курс, кстати получился)
2017-03-22 04:30 Facade Facade - Motivator - Text Center + 16 20 мин.
Повторил измерение размера текста
Ничего
Создать картинку в консоли. А это не так сложно, как я думал =)
2017-03-22 04:17 Facade Facade - Motivator - Picture Border + 16 15 мин.
Всякому разному
Ничего
К этому уроку нет заданий, которые нужно галочками отмечать, так и задумано?
2017-03-22 04:06 Facade Facade - Motivator - Back Paint + 16 20 мин.
Вспомнил, как запускать сторонние программы
Ничего
Всё всё ещё работает =)
2017-03-22 03:56 Facade Facade - Motivator - Image + 16 20 мин.
Вспомнил импорт системных библиотек
На удивление, всё идёт довольно гладко
Аж даже странно как-то =)
2017-03-22 03:43 Facade Facade - Motivator - Methods + 16 20 мин.
Реализации фосада
Ничего
Пока всё просто =)
2017-03-22 02:49 Facade Facade - Motivator - Plan + 16 10 мин.
Составлять план создания мотиватора
Ну вроде всё не сложно, но в консоли я никогда с изображениями не работал, так что ожидаю кучу подводных камней
Да смилуется надо мной великий бог работающего кода
2017-03-22 02:44 Facade Facade - Motivator - Program + 16 10 мин.
Не знаю
Ничего
Уже подумал, что будем с формами работать. Работа с изображениями в консоли, звучит заманчиво =)
2017-03-22 02:33 Facade Facade - Computer - Power + 16 15 мин.
Зачем нужен фасад
Ничего
Такой простой, что не кажется шаблоном, так как до него и самому можно додуматься =)
2017-03-22 02:27 Facade Facade - Computer - Devices + 16 30 мин.
Нашел способ получить имя текущего метода
Ничего
Сейчас интересно, что дальше будет, пока ничего не скажу
2017-03-22 02:06 Facade Facade - Computer - Program + 16 10 мин.
Узнал про шаблон Фасад
Ничего
Простой, но полезный - это именно то, что хочется услышать =)

Но ведь эту роль и выполняют методы и классы. Мы сбрасываем на них определённую работу, а затем просто вызываем. Чем это шаблон лучше?
2017-03-22 01:57 Strategy VIP - Strategy - Person - Enum + 16 15 мин.
Всё знал
Я когда увидел название урока, уже подумал, что мы опять будем шаблон под enum переделывать и мне опять придётся на Java переходить =)
С enum всё становится лучше!
2017-03-22 01:49 Strategy VIP - Strategy - Person - UML + 16 20 мин.
Создавать карту кода
Ничего
Хех, а VisualStudion и сама так может =)
2017-03-22 01:40 Strategy Strategy - Person - Save - Strategy + 16 15 мин.
В Java сложнее работать с файлами
Всё понятно
Да, в шарпе тоже можно через поток записать, но можно и одной командой: File.WriteAllText(fname, data);
Ну красота же =)
2017-03-22 01:33 Strategy Strategy - Person - Save - Context + 16 20 мин.
Реализовывать ещё одну стратегию
Ничего
Вот думал, приду пораньше, пройду уроков 20 и наконец-то лягу вовремя спать. В итоге начал в полпервого..
2017-03-21 04:09 Strategy Strategy - Person - Format - Strategy + 16 30 мин.
Как формируется формат JSON
Не сунуть =)
Нет, всё, я уже не могу. Пожалуй 3 часа ночи это мой предел. Я спасть =)
2017-03-21 03:34 Strategy Strategy - Person - Format - Context + 16 20 мин.
писать программу мышкой =)
Ничего
Ну что ж, пора всё реализовывать =)
2017-03-21 03:20 Strategy Strategy - Person - Program + 17 20 мин.
Больше практики в стратегии
Ничего
Всё отлично
2017-03-21 03:10 Strategy Strategy - Person - Schema + 16 30 мин.
Принцип работы будущей программы
Сделать UML диаграмму. Это долго, не обязательно и уже поздно, а я и так на парах их делал, так что просто напишу ТЗ
1) Написать шаблон для создания экземпляра класса person
2) Реализовать фабрики для различных типов данных
3) Написать шаблон для вывода
4) Реализовать стратегии для различных видов вывода
2017-03-21 02:49 Strategy Strategy - Join - Log/Timer + 16 20 мин.
Использовать несколько шаблонов проектирования в одном проекте
Ничего
Хм, однако в 2 раза быстрее =)

Кстати, все таки думаю, что не стоит разделять синглтон на два класса. При импорте не удобно, да и пользы не очень много
2017-03-21 02:36 Strategy Strategy - Join - String/Buffer + 16 15 мин.
Реализовывать стратегию
Ничего
Это как учиться управлять балидом, работая таксистом. Какого же масштаба должен быть проект, чтобы создание кучи классов действительно пригодилось
2017-03-21 02:26 Strategy Strategy - Join - Context + 16 10 мин.
Много классов - не значит плохо
Ничего
Ещё надо научиться удобно хранить все эти классы
2017-03-21 02:21 Strategy Strategy - Join - ArrayList + 16 10 мин.
Вот за Shift + вниз, Ctrl + C, (Ctrl + V) x N отдельное спасибо =)
ничего
Какой-то слишком простой пример. Но судя по количеству уроков в следующем, он удовлетворит всю мою хотелку по масштабу =)
2017-03-21 02:13 Strategy Strategy - Operation - Program + 16 15 мин.
Использовать разные стратегии
Ничего
Хм, а ведь раньше для этой цели мы делегаты использовали =)
2017-03-21 02:09 Strategy Strategy - Operation - Context + 16 20 мин.
Реализовывать стратегию
Вникнуть в принцип работы
Интересно, а как контекст сам будет выбирать, какую стратегию использовать
2017-03-21 01:57 Strategy Strategy - Intro + 16 10 мин.
Что такое Стратегия
Ничего
Получается, что это что-то вроде фабрики, только работает не на этапе создания, а на этапе выполнения работы
2017-03-21 01:06 Template method Template Method - Web Parser - Currency + 16 15 мин.
Универсальности данного шаблона
Ничего
Теперь нужно научиться сразу видеть, где эти шаблоны нужно применять, а то пока это как-то сложно
2017-03-21 00:56 Template method Template Method - Web Parser - Loader + 16 30 мин.
Повторил загрузку страницы
Ничего
Ух ты ж. 2 строчки в C# против 10 в Java..
Интересно, зачем они сделали, чтобы сайт загружался/считывался построчно, если в целях уменьшения занимаемой памяти у большинства сайтов минимум лишних символов в коде (включая перенос строки)
2017-03-21 00:32 Template method Template Method - Web Parser - Time + 16 30 мин.
Запускать Шаблонный метод
Ничего
Интересный шаблон, нужно обязательно будет на чём-то испробовать
2017-03-20 22:44 Singleton VIP - Singleton - Timer - Enum + 16 30 мин.
В Java enum реализован иначе
Ничего
Хм, а вот тут шарп может даже и проигрывает джаве. Не знаю, на сколько это недостаток, что в перечислении нельзя создавать методы, но всё же
2017-03-20 04:44 Template method Template Method - Web Parser - Abstract + 16 15 мин.
sealed можно использовать только в паре с override
То, чему научился
Интересно, зачем так сделали
2017-03-20 04:26 Template method Template Method - Web Parser + 16 10 мин.
Что мы будем создавать парсер
Ничего
Как-то писал свой парсер, интересно, чем они будут отличаться
2017-03-20 04:22 Template method Template Method - Girl - Program + 16 10 мин.
Запускать экземпляр данного шаблона =)
Ничего
Даже пока не знаю, где буду его использовать, но как только возможность подвернётся, сразу начну =)
2017-03-20 04:16 Template method Template Method - Girl - Macho Boy + 16 20 мин.
В принципе всё знал
Ничего
Всё хорошо
2017-03-20 04:02 Template method Template Method - Girl - Abstract + 16 30 мин.
В C# есть sealed
Ничего
Сейчас бота для свиданий писать будем =)
2017-03-20 03:44 Template method Template Method - Introduction + 16 30 мин.
Узнал про шаблонный метод
Всё понятно
То есть мы закладываем основу алгоритма, а потом на её основе создаём различные его вариации. Звучит интересно =)
2017-03-20 01:35 Factory Factory - Storage - Фабричные цеха   15 мин.

Ничего
Ну да, вызов CreateReader() же проще переместить внутрь основной фабрики, чтобы фабрика возвращала только сам Reader
2017-03-20 01:24 Factory Factory - Storage - Фабрика + 16 10 мин.
Придется делать много фабрик =)
Ничего
Аа, точно, прослушал. Вот зачем нужен был init =)
2017-03-20 01:17 Factory Factory - Storage - Запуск + 16 10 мин.
Всё понятно
Так и не понял, зачем создавать метод init
Хотел ещё в прошлом уроке спросить, но забыл. А зачем в каждом классе вместо конструктора создавать метод init?
2017-03-20 01:10 Factory Factory - Storage - Файл и Сканер + 16 20 мин.
Всё понятно
Ничего
Интересно, что в итоге получиться =)
2017-03-19 23:44 Factory Factory - Storage - Читатель + 16 20 мин.
Пока не знаю
Ничего
Дальше мы будем делать разные виды ридеров видимо (из консоли, из файла и подобные)
2017-03-19 23:18 Factory Factory - Shapes - Interfactory + 16 15 мин.
Реализацию фабрики на основе интерфейса
Ничего
Ну вроде пока синглтон даже сложнее был, но думаю, это пока только верхушка того, что может фабрика
2017-03-19 23:10 Factory Factory - Shapes - Список + 16 15 мин.
Создавать случайную фигуру
Ничего
Пришлось создать рандом вне метода, так как в шарпе он видимо зависит от времени и метод с ним вызывался быстрее, чем за миллисекунду видимо, так что все "случайные" фигуры были одинаковыми =)
2017-03-19 23:02 Factory Factory - Shapes - Созидатель + 16 20 мин.
Создавать экземпляры различных классов одним методом
Ничего
В Java нельзя делать switch по строке? Печально =)
2017-03-19 22:54 Factory Factory - Shapes - Абстракция + 16 20 мин.
Ничему
Ничего
О, ну я ж говорил, наследование от абстрактного класса! Та я прям что-то знаю =)
2017-03-19 22:44 Factory Factory - Shapes - Три фигуры + 16 15 мин.
Пока ничему
Ничего
Наследование от абстрактного класса вроде должно решить все эти проблемы
2017-03-19 21:01 Singleton Singleton - Timer - Log class + 16 15 мин.
Повторил эту штуку с разбиением синглтона на два класса
Ничего
Ну да, то есть, если мы хотим и синглтон и класс отдельно, то можно и разбить.
2017-03-19 20:50 Singleton Singleton - Timer - Experiment + 16 10 мин.
Создавать класс Лог - одиночку
Ничего
Всё отлично
2017-03-19 20:42 Singleton Singleton - Timer - String vs Buffer Speed + 16 25 мин.
Наглядно увидел, на сколько StringBuilder быстрее string
Ничего
3,5 минуты против 4 сотых секунды... Мда =)
2017-03-19 20:27 Singleton Singleton - Timer - Program + 16 20 мин.
Всё знал
Ничего
В Java нет класса Stopwatch? Потому что судя по всему именно его мы и создаём =)
Кстати, а почему у вас счётчик называется j, а не i?
2017-03-19 20:14 Singleton Singleton - Timer - Start / Click + 16 15 мин.
В Java как-то странно реализован класс DateTime. То ли его случайно впихнули не туда, или я не знаю, почему время -  это свойство класса System. Нет, с какой-то стороны это логично, но так почти что-угодно можно приписать системе. DateTime.Now на порядок логичнее как по мне.
Ничего
Уже как-то всё выше высказал
2017-03-19 20:05 Singleton Singleton - Timer - Pattern Design + 17 20 мин.
Всё понятно
Ничего
Я купил этот курс где-то 20 дней назад и только до него добрался. Мне действительно нужна хорошая книжка по таймменеджменту..
2017-02-15 02:22 Singleton Singleton - Config - Super child + 16 20 мин.
Более красиво реализовывать синглтон
Ничего
Хм, а интересная идея. Жаль конечно, что нельзя от какого-то универсального класса использовать, но этот способ почти наравне с ним =)
2017-02-15 02:16 Singleton Singleton - Config - Cant extend + 16 20 мин.
Нужно разбираться в наследовании
Задание урока
Всё дело в этой строчке, когда мы создаём экземпляр класса, после наследования там уже должен быть другой класс, но нет..
2017-02-15 01:57 Singleton Singleton - Config - Using pattern + 16 10 мин.
Реализовывать синглтон
Вникнуть
Воу. Как это всё красиво...
2017-02-15 01:49 Singleton Singleton - Config - Static class + 16 10 мин.
Пока не понял
Ничего
Подходим к синглтону
2017-02-15 01:41 Singleton Singleton - Config - Static field + 16 15 мин.
Ленивой инициализации. Хотя я её в принципе использовал, но теперь знаю, что это как-то называется =)
Ничего
Чувствую, после этого курса мне придётся переделать пару десятков классов
2017-02-15 01:30 Singleton Singleton - Config - Git default + 16 10 мин.
Смотреть изменения относительно коммита
Ничего
Так и не понял, как добавлять новые файлы в VS
2017-02-15 01:23 Singleton Singleton - Config - FileReader + 16 30 мин.
В Java нельзя создавать свойства (или как там эти штуки с { get; private set; } называются)
Ничего
В каждом классе создавать свой экземпляр конфига не то чтобы и плохо. Явно лучше, чем делать его статичным =)
2017-02-14 22:35 Singleton Singleton - Config - Git commit + 16 10 мин.
Отменять коммит
Разобраться с интерфейсов в VS
Да, c GIT нужно будет отдельно разбираться. Ну ладно, пока что есть, то есть
2017-02-14 22:32 Singleton Singleton - Config - Class + 16 10 мин.
Недостаток констант
Ничего
Как вроде всё просто и банально, когда уже знаешь принцип и как это не очевидно, когда тебе никто об этом не рассказывает..
2017-02-14 22:26 Singleton Singleton - Config - Git add + 16 5 мин.
Коммитить изменения
Ничего
Хм, а в VS это всё удобно встроено оказывается. Кто бы знал =)
2017-02-14 22:22 Singleton Singleton - Config - Static + 16 15 мин.
Всё знал
Всё понятно
У меня сначала ругалось на static, а потом я понял, что в шарпе константы и так статичные =)

Ну да, в плане констант не очень удобно получается, и на счёт отдельного класса тоже согласен
2017-02-14 22:12 Singleton Singleton - Config - Git init + 16 5 мин.
---
----
К сожалению, так и не смог разобраться с git, но обязательно буду проходить эти уроки, после прохождения курса по git. Давно уже хотел и видимо пора.
2017-02-14 22:07 Singleton Singleton - Config - Final + 16 10 мин.
В принципе всё знал
Ничего
Решил писать на C#, так как он мне больше нравится, да и интересно посмотреть, чем итоговый код будет отличатся =)
2017-02-14 21:59 Singleton Singleton - Intro + 16 10 мин.
Узнал о существовании шаблонов проектирования
Вникнуть
Никогда их не использовал (по причине незнания) и этот в том числе. И судя по описанию - очень зря
2017-01-17 12:18 Фотошарп VIP. Делегаты на кубиках + 10 1 час. 00 мин.
Узнал про делегаты
Ничего
Да, смотрел этот урок ещё давно, но до сих пор, чтобы написать нормальный делегат нужно немного погуглить. Нужно больше практиковаться с ними =)
2017-01-17 11:54 Фотошарп ФИНАЛЬНЫЙ УРОК + 10 20 мин.
Ещё лучше работать с изображениями
Всё было понятно и интересно =)
Хороший получился курс. На нём я узнал и как попиксельно обрабатывать изображения, как реализовывать его коррекцию и как работают алгоритмы уменьшения и увеличения (особенно понравилась Билинейная интерполяция). В общем, если кто сомневается, стоит ли его проходить, просто посмотрите на приложенные скриншоты, это всё сделано с помощью C#.
ПС: На втором увеличенная в 13000 раз картинка, изначальный размер которой 4 пикселя
2017-01-16 03:30 Фотошарп Билинейная интерполяция + 10 1 час. 00 мин.
Узнал про билинейную интерполяцию
Реализовать и понять, что к чему (а то уже спать жутко хочу)
Всё отлично, билинейная интерполяция действительно отличный алгоритм для увеличения изображений, хороший был курс. И я довольный, с новыми знаниями и чувством выполненного долга иду спасть =)

ПС: Кто не в курсе, изначальный размер картинки на скриншоте - 2x2 пикселя
2017-01-16 01:27 Фотошарп Метод ближайшего соседа + 10 1 час. 00 мин.
Реализовывать метод ближайшего соседа
Ничего
Уменьшает. Всё понятно, всё просто, не очень красиво, но это цена простоты =)
2017-01-16 01:02 Фотошарп Изменение размера + 10 30 мин.
Удалять код кусками и ничего не сломать =)
Ничего
За способ переименования проекта отдельно спасибо =)
2017-01-16 00:35 Фотошарп Гамма-коррекция + 10 40 мин.
Что такое гамма коррекция и как её делать
Ничего
Всё хорошо, вот подобрал картинку, где хорошо видно как раскрываются или прячутся мелкие детали
2017-01-16 00:18 Фотошарп Градационная коррекция + 10 1 час. 00 мин.
Делать классные эффекты (ещё надо разобраться, что они делают)
Уместить 4 скриншота в 1
Ну не хорошо так, Евгений Витольдович, на одном уроке оптимизируете программу, убрав многократное обращение к элементам формы, а в следующем опять его добавляете (к комбобоксу, который добавился в этом уроке).

А так эффекты просто потрясающие (или мне попалась очень удачная фотография). Просто сравните оригинал с синусоидальной или экспоненциальной коррекцией. Это что-то =)
2017-01-15 23:28 Фотошарп Ярость и контрастность + 10 1 час. 00 мин.
Ещё одну вещь, которая замедляет программу
Найти почему изменение контрастности превращает моего енота то в призрака, то в демона
Сильнее всего запомнилась оптимизация, я б и не подумал, что это тормозит программу. Спасибо за такой полезный совет.
ПС: А метод для обновления текста лень было делать так как у вас (с дополнительными переменными), так что я просто оставил весь текст там (скрин 2)
2017-01-15 21:51 Фотошарп 256 оттенков серого + 10 1 час. 00 мин.
Попиксельно обрабатывать изображение
Ничего
Фух, наконец-то я сдал сессию и могу заниматься любимым делом, а тут как раз скидка по случаю =)
------------------------------------------------------------------------------------------------------------------------------------
Теперь по делу. За 20 минут сделать программу для превращения картинку в чёрно-белую - это нечто (в хорошем смысле естественно), а то я уже отвык от качества ваших уроков.
У меня разве что замечания по оформлению формы (почему бы не поместить кнопку с текстбоксом и с чекбоксом на отдельную панель, чтобы не выставлять каждому новому элементу из этой области якорь или можно вообще TableLayoutPanel и FlowLayoutPanel использовать и тогда они даже сами будут друг под другом становится), а так всё отлично =)
2016-10-16 23:04 Своя игра Актив формулиста + 20 20 мин.
Что теперь проще создавать свой видеокурс
ничего
Отличная идея! Я б мог сделать курс по ниписанию универсального бота (каждое новое задание настраивается пользователем, код самой программы остаётся неизменным). К примеру, на скриншоте, как видно у меня 6 заданий и программа одинаково хорошо справляется со всеми. Сейчас основная задача бота следить за страницами и сообщать, когда изменится/появится интересующая меня информация, но в принцип, его функционал можно расширить, как кому хочется.

Но блин, сейчас очень мало свободного времени, не знаю хватит ли его, чтобы сделать целый видеокурс..
2016-09-22 15:52 Секундомер Секундомер - Настройка формы  


2016-09-22 15:52 Секундомер Секундомер - Написание кода  


2016-09-12 20:24 Компилятор Секреты Designer файла + 20 30 мин.
ключевому слову partial
Ничего
Курс хороший, но я и так это всё знал (так как часто рылся в дизайнерах форм, и не спрашивайте зачем =)). Даже как-то странно: для знающего человека - особо ничего нового, а для совсем новичка - слишком сложно (тот же partial). Так что именно начинать с этого курса я бы не рекомендовал. Скорее, когда уже освоишься в основах, тогда уже можно и посмотреть что VS всё это время от тебя скрывала =)
2016-09-12 20:05 Компилятор Откуда берутся окна + 20 30 мин.
Указывать несколько параметров в консоли, у компилятора есть аргумент, который определяет, что компилировать (форму или консоль)
Ничего
Всё понятно =)
2016-09-12 19:48 Компилятор Где живёт компилятор + 20 40 мин.
Менять директорию в консоли
Работать с консолью Windows
Всё бы было хорошо, если интересно, если бы я раньше хоть чуть-чуть знал как работать с консолью. А то вы всё, что касается курса объясняете, а сами что-то в консоли пишете, и потом понимаешь, что не понимаешь, как у вас получилась то, что получилось. И приходится отматывать и искать все эти необъясненные моменты..
2016-08-22 22:32 Базовый ASP.ект VIP. Установка домена + 20 10 час. 00 мин.

1) Ставить домен

1) Доползти до компьютера =)
Спасибо за курс! Был рад его пройти и обучиться созданию базового ASP.NET проекта!
(http://hearthforumstories2.tk/)
2016-08-20 11:41 Сокобан VIP. Бот для игры БАЛДА + 1 1 час. 10 мин.

1) Перебирать все варианты на заданном поле
2) Оптимизировать сей процесс

Ничего, спасибо, все понятно =)

Вывод сделал через TreeView, чтобы можно было легко разделять слова разной длины; добавил поле для ввода стартового слова, чтобы самому его не вбивать; при выборе слова на поле показывается, куда ставить букву (если выбрать что-то другое - буква и выделение пропадают), если же на вариант нажать 2 раза, то он автоматически внесется в список использованных слов (и более отображаться не будет, если его возможно будет составить), а поле с вариантами - обновится;
Как-то так =)
2016-08-14 14:46 Базовый ASP.ект VIP. Модерация записей + 20 1 час. 28 мин.

1) Создавать сессии. Ура =)
Ничего
Все замечательно, спасибо за урок)

Внес некоторые коррективы: в разделе "Модерация" отображаются все истории, ждущие своего вердикта, отклоненные истории меняют свой id на минимальный в базе-1, а значение auto_increment в таблице снижается до его старого id, тем самым мы избегаем "бреши" в id опубликованных записей! Хотел еще сделать, чтобы отсылать истории могли только зарегистрированные пользователи (а email сразу брался из их данных о регистрации), но сил уже не хватает =) Через часик доделаю сие действо =)
2016-08-14 04:09 Базовый ASP.ект VIP. Авторизация на сайте + 21 1 час. 45 мин.

1) Создавать форму авторизации/регистрации (приступаю теперь к следующему уроку, чтобы познать суть сессий) =)
Ничего
Все замечательно, спасибо!

Заодно сделал форму для регистрации, чтобы можно было вносить новых пользователей =)
2016-08-13 01:01 Базовый ASP.ект ФИНАЛЬНЫЙ УРОК. Презентация + 20 10 час. 01 мин.

В этом курсе я научился:
1) Создавать базовые ASP.NET проекты
2) Отрабатывать ошибки в них возникающие
3) Подключать к ним базы данных
4) Ставить все это дело на хостинг

Благодаря нашим учителям сложностей почти не возникало =)
Спасибо за этот замечательный курс и затраченные Вами, Евгений Витольдович и Валерий Владимирович, на него силы! Все получилось красиво и понятно!
2016-08-13 00:52 Базовый ASP.ект Отказ от статика + 20 15 мин.
Собственно, ничему) Урок-то дебаггингу посвящен)
Ничего
Выполнил задание за 15 минут до начала урока (так что могу зваться учеником-экстрасенсом), исправляя ошибку, возникшую на прошлом уроке =)
2016-08-13 00:40 Базовый ASP.ект Размещение проекта в Интернете + 20 48 мин.

1) Ставить ASP.NET проекты на хостинг
Ничего)
Мой комментарий виден на скрине в 10 истории =)
Та ошибка, что у Вас выскочила, была связана, что мы пытались постоянно держать подключение к базе данных открытым. Правильнее было переработать класс, чтобы подключение обновлялось при каждом новом запросе. И все прекрасно себе работает)
2016-08-12 13:57 Базовый ASP.ект Оформление сайта + 20 1 час. 10 мин.

1) Обучился тому, как менять внешний вид сайта
2) Поразбирался с bootstrap
Самое сложное в оформлении - сделать что-то нормально =)
Все замечательно, спасибо за урок!
2016-08-12 00:32 Базовый ASP.ект Валидация данных + 20 45 мин.

1) Валидации (отчасти)

1) Заставить работать проверку регулярным выражением. Так и не понял, в чем была проблема, но вот это:

        [Required(ErrorMessage = "Укажите свой email")]
        [RegularExpression(@"^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2-6}", ErrorMessage = "Укажите допустимый email")]
        public string email { get; set; }

Просто отказывается нормально работать и не пропускает вообще ничего


Все замечательно, спасибо.
2016-08-11 16:29 Базовый ASP.ект Добавление истории + 20 53 мин.

1) Научился разделять Post и Get запросы
2) Научился таки методу Redirect() (благодаря которому наконец реализовал получение случайной истории как хотел)
Ничего. Благодаря хорошим объяснениям все как всегда понятно, спасибо большое за урок =)

Евгений Витольдович, я вот еще с урока, где вы указали получение ename'a через substring() думал, зачем было делать именно так. И когда Вы сейчас исправляли ошибку, возникающую в том случае, если email не содержит @, 4 строчками, решил, что все таки можно и попроще. У нас ведь цель вернуть имя до собачки, а это можно сделать при помощи email.Split('@')[0]. Вот и все. И никаких ошибок =)
Мы пока к валидации не обращались, так что нам не надо отлавливать там ошибок (а когда обратимся - можно обрабатывать наличие собачки email.Contains("@"))
Так, я думаю, покороче будет)
2016-08-11 13:57 Базовый ASP.ект Работа со списком историй + 20 27 мин.

1) Создавать гиперссылки
Ничего
Спасибо за урок, все замечательно =)
Но хотел бы испросить совета: хотел сделать так, чтобы по нажатию на "Случайная" выдавалась случайная история (как и раньше), но чтобы в url значился ее адрес. И вот тут возникает вопрос: можно ли по нажатию на объект, созданный при помощи HtmlActionLink не только сделать редирект, но и выполнить действие из какого-либо класса перед этим (тогда можно будет создать ссылку прямо перед перенаправлением). Или же возможно ли изменить текущий url страницы на нужный?
2016-08-11 01:17 Базовый ASP.ект Рефакторинг модели Story + 20 13 мин.

1) Убеждаться, что все работает =)

Абсолютно ничего

Единственное замечание - Вы немного увлеклись в заменении ноликов на nr) В строчке с ename'ом сие было малость излишне =)
2016-08-11 01:07 Базовый ASP.ект Что такое SQL-инъекция + 20 30 мин.

1) Делать бэкапы баз данных
2) Делать SQL-инъекции
3) Защищаться от них)
4) Восстанавливать базы данных

Ничего) Спасибо за урок

Очень интересно все это работает. Спасибо за подробное разъяснение и предупреждения об опасностях)
2016-08-09 01:14 Базовый ASP.ект Запуск модели Story + 20 1 час. 25 мин.

1) Работать с параметром id в составе url
2) Отрабатывать еще больше ошибок =)

1) Работать с залипающей от пролитого чая с сахаром клавиатурой =)
А так - ничего) Спасибо за урок)
Все здорово! Спасибо!
2016-08-07 10:55 Базовый ASP.ект Работа над ошибками + 20 45 мин.

1) Отрабатывать ошибки
Ничего

Все прекрасно)
Кстати, заодно я реализовал вариант рандома, который предлагал в прошлый раз. Надо сказать, что использовать его имеет смысл в том случае, если у нас достаточно большая база, ибо генератор псевдо-случайных чисел уж не слишком-то и случаен, особенно хорошо сие наблюдается на диапазоне чисел 1-2, в этом случае более рандомной показывает себя именно функция RAND() в SQL.
2016-08-07 02:42 Базовый ASP.ект Подключение к базе данных + 20 35 мин.
1) Подключаться к базам данных
2) Считывать оттуда нужную информацию
3) Вносить параметры подключения в конфиг
Ничего, все пока весьма понятно =)
Все замечательно, спасибо за отличный урок!
2016-08-07 01:40 Базовый ASP.ект Создание SQL-запросов + 20 27 мин.

1) Познал суть SQL запросов
Ничего
Большое спасибо за доступный и понятный урок)

В принципе, куда логичнее не использовать встроенный запрос RAND(), а программно сгенерировать псевдо-случайное число, верхним порогом которого будет последнее id, которое можно вытащить "select id from story order by id desc limit =1;", после чего использовать уже "select * from story where id='"+сгенерированное_нами_число+"';"
Ибо какое-то уж очень громоздкое решение нашли sql-вцы для реализации рандома)
2016-08-07 00:01 Базовый ASP.ект Схема базы данных + 20 25 мин.

1) Создавать базы данных
2) Создавать в них таблицы
Ничего
Опять-таки, через саму консоль не вышло, ибо она отказывается принимать команду "mysql", но в HeidiSQL есть как возможность простого создания таблиц простым добавлением элементов, так и есть консоль для запросов. Оба варианта работают как надо. И да, в родном манипуляторе базами от MySQL отсутствует возможность удаления созданных баз (или я просто слепой))
2016-08-06 22:46 Базовый ASP.ект Установка сервера MySQL + 20 15 мин.
1) Устанавливать MySQL сервер
2) Получать к нему доступ
Ничего
Собственно, по неизведанным для меня причинам я не смог получить доступ к базе данных через консоль. Либо, товарищи там поменяли для этого внутреннюю команду, либо же отказались от данного функционала, ибо в родном приложении таковой функционал появился, без всяких там HeidiSQL (скрин прилагаю)
2016-08-06 20:24 Базовый ASP.ект Формирование меню + 20 17 мин.
1) Изменять пункты меню в шапке проекта (господи, магия какая-то =) )
2) Полазил по проекту и примерно понял, как сия магия работает)
3) Заодно увидел, где меняется копирайт страниц и приписка к основной ссылке)
Ничего, все понятно
Все замечательно)
2016-08-06 01:03 Базовый ASP.ект Создание модели Story + 20 28 мин.
1) Cоздавать модели для контроллеров
2) Создавать конструктор с инициализацией полей
Сделать пошаговое выполнение проекта (я серьезно, у меня не работает линейка клавиш F =) )

А так - ничего, все доступно и понятно.
Все замечательно! Спасибо за урок!
2016-08-05 22:54 Базовый ASP.ект Создание пустых страниц + 20 15 мин.
1) Создавать MVC проекты
2) Создавать новые контроллеры
3) Создавать для них представления
4) Задавать главный контроллер
5) Перенаправлять представления из одного методы в другой
Пока что все доступно
С хорошим учителем и замечаний быть не может =)
2016-08-05 22:24 Базовый ASP.ект Выбор темы для проекта + 20 5 мин.
1) Продумывать тему сайта
2) Продумывать его схему
Ничего
Все замечательно
2016-08-05 22:20 Базовый ASP.ект Создание схемы проекта + 20 7 мин.
1) Продумывать концепцию сайта

P.S. - история прикреплена в виде фотографии
Собственно, ничего.
Замечаний нема. Все хорошо, как всегда.
2016-08-05 13:09 Базовый ASP.ект Мы начинаем ASP.NET с MVC + 20 5 мин.
1) Создавать ASP.NET проекты =)
2) Примерно понял структуру проекта
Ничего
Все замечательно
2016-07-27 18:41 Мат Конём и Слоном Две структуры + 20 10 мин.
 
ничего
Не совсем понял что делает index. Почему он возвращает х + (y * 8)
2016-07-16 22:55 Сокобан ФИНАЛЬНЫЙ урок. Видео-обзор проекта Сокобан + 20 30 мин.
Закрепил классы и из наследование, деллигаты, enum и передочу данных по TCP/IP протоколу
Вносить свои улучшения, но это было интересно =)
Курс отличный! Если вы давно зотели написать большой проект, но боялись начать, то этот курс как раз для вас =)
Но я уже немного подустал, так что обзор получился далеко не лучший..

Следующий курс. По всей видимости "Мат Конём и Слоном" надо добивать, а потом наконец-то смогу отдохнуть =)
2016-07-16 17:01 Сокобан Сокобан - Завершение + 20 30 мин.
Ничему
Ничего
Ура, последний урок!!
Игры со спрайтами + Скобан меньше чем за месяц - неплохой получился марафон =)
2016-07-16 04:54 Сокобан Сокобан - Игра - На двоих по сети + 20 1 час. 10 мин.
Играть в одну игру на 2-х компьютерах
Ничего
Сделал метод SendStep, который сам отправляет и выполняет нужное действие для заданного игрока (чтобы постоянно не писать отправку и проверку, что отправилось)
2016-07-16 02:14 Сокобан Сокобан - Телефон - TCP/IP протокол + 20 1 час. 00 мин.
Передавать и получать данные между двумя компьютерами
Ничего
Для разнообразия получение сделал через событие, а не делегат (хотя он там тоже используется, но всё же).
Вопрос: А сделать, чтобы клиентов могло быть больше одного?
2016-07-16 02:10 Сокобан Сокобан - Игра - На двоих + 20 20 мин.
Проходить свой уровень =)
Ничего
Я и не думал, что мой уровень окажется сколько-нибудь сложным, а нет, я его раз 5 перезапускал =)
2016-07-16 01:31 Сокобан Сокобан - Редактор - На двоих + 20 30 мин.
Создавать уровни на двоих
Ничего
Я оставил всё в том же редакторе, посмотрим, чем это обернется =)
2016-07-15 12:19 Сокобан Сокобан - Игра - Автоходы + 21 30 мин.
Внедрил автоходы
Ничего
Как вы, наверное, догадались, я кое-что улучшил =)
Ящик вибирается по одному клику и выдиляется синим (видно на скриншоте).  Синий ящик - значение Cell.
Функция Cell_MouseClick на втором скриншоте =)
2016-07-13 22:56 Сокобан Сокобан - Решалка - Оптимизация + 20 20 мин.
Прямой доступ намноооого быстрее, чем поиск
Ничего
20 секунд против 13 милисекунд!! Вау, это какая-то невозможная оптимизация =)
2016-07-13 22:13 Сокобан Сокобан - Решалка - Яблоко + 20 50 мин.
Находить кратчайший путь, чтобы передвинуть ящик из пункта А, в пункт Б
Ничего
• Сколько уроков подряд наблюдаю за структурой Place и так и не понял, почему не использовать Point, который даже лучше??
• Зачем отдельная структура для направлений? У нас же уже есть прошлая версия Brain, которая идеально подходит? Просто переименовать её в ChainUser, например, сделать глобальной и всё =)
2016-07-13 18:30 Сокобан Сокобан - Решалка - Мышка + 20 50 мин.
Двигать ящик из точки А в точку Б
Ничего
Жду 4-мерного массива =)
2016-07-13 17:05 Сокобан Сокобан - Решалка - Тестер + 20 50 мин.
Проверять решение лабиринта
Ничего
Не нужно было выносить координаты "яблока" в отдельные переменные, всё намного проще =)
Можно было просто проверить, после последнего хода находится ли оно на месте финиша (см. скриншот 2)
2016-07-12 00:22 Сокобан Сокобан - Игра - Управление + 20 1 час. 10 мин.
KeyPreview - это же то, чего мне не хватало все эти годы!!! Вы бы знали, как я до этого выкручивался =)
Ничего
• Ух, почему я раньше не знал об этом свойстве?? Огромное спасибо!!!

Кхм-кхм. Всё, я успокоился =)
• Сделал, чтобы map отображалась как BackgroundImage, а top как просто Image (на скриншоте видно)
• Воу, я сделал как предлагал Orange (last_level = level_num + 1;) ещё с самого начала (до того, как он это предложил)
2016-07-11 19:58 Сокобан Сокобан - Игра - Интерфейс + 20 40 мин.
Ничему
Ничего
А чем Point не подходил? Зачем Place?
2016-07-11 18:37 Сокобан Сокобан - Создаём свои уровни + 20 15 мин.
Создавать уровни
Создать уровни =)
Уровни:
• Осторожно, стены!
• Тише едешь - дальше будешь
2016-07-11 17:51 Сокобан Сокобан - Редактор - Улучшение + 20 5 мин.
Ничему
Ничего
У меня уже всё было даже удобнее реализовано. То чувство, когда не зря старался =)
ПС: Прикрепил то же видео, на всякий случай
2016-07-11 17:25 Сокобан Сокобан - Редактор - Сохранение + 20 30 мин.
Сохранять уровни
Ничего
Я к прошлому уроку сделал несколько значительных улучшений по добавлению/удалению строк и столбцов и размещению элементов, но к моменту отправки отчёта ещё не было готово интерактивное удаление. Сейчас всё доделал, всё на видео =)

Кстати, обратите внимание, что с MouseMove не всё так просто (я где-то полчаса провозился) =)
2016-07-11 04:29 Судоку VIP. Модульное тестирование + 21 20 мин.
Создавать автоматические тесты
Ничего
А если один и тот же урок есть в разных курсах, его нужно несколько раз проходить?
2016-07-11 03:11 Сокобан Сокобан - Редактор - Редактирование + 20 1 час. 00 мин.
Ничему
Обработать на одном контроле MouseEnter во время, когда она нажата (MouseDown) на другом
• enum можно спокойно преобразовать в int, так что кнопкам можно было кнопкам присвоить int-овый Tag и сделать один обработчик на всех
• Сделал добавление строк/столбцов по лику на крайние ячейки
2016-07-10 22:45 Сокобан Сокобан - Редактор - Интерфейс + 20 1 час. 00 мин.
Ничему
VS отказывалась отображать мои картинки (добавляла в ресурсы, но не отображала)
Я сделал пару небольших улучшений. Всё на видео =)
2016-07-10 19:46 Сокобан Сокобан - Редактор - Загрузка + 20 25 мин.
Создавать уровни
Ничего
Всё хорошо
2016-07-10 19:09 Сокобан Сокобан - Подготовка - Картинки и лабиринт + 20 30 мин.
Искать картинки
Найти картинки
Ещё не определился с местом, куда ставить ящики и поставленным ящиком
2016-07-10 16:36 Игры со Спрайтами VIP урок. Телефон по TCP/IP протоколу + 20 1 час. 00 мин.
Передавать и получать данные между двумя компьютерами
ничего
Для разнообразия получение сделал через событие, а не делегат (хотя он там тоже используется, но всё же).
Вопрос: А почему именно 2 компьютера, по идее клиентов же может быть сколько душа пожелает (но не в нашем случае)
2016-07-09 01:15 Судоку ФИНАЛЬНЫЙ УРОК + 20 20 мин.
Алгоритму решения судоку
Сложного ничего не было, но было интересно =)
Интересный получился курс. На нём вы повторите рекурсию, работу с файлами и делекаты, и что самое главное, напишете программу, которая сможет решить абсолютно любое судоку (так что теперь вы сможете скоротать зимние вечера перед камином за чем-нибудь другим).
Особо ничего нового на нём вы не узнаете, но это не помешает вам с интересом его проходить. А ещё это отличная практика =)

Что касается следующего курса: Это будет Сокобан, который закончит моё комбо из 6 курсов подряд. Если, конечно, не будет ещё какого-то супер предложения =)
(Устал уже немного, но очень хочу его пройти)
2016-07-09 00:54 Судоку Генерация головоломок + 1 10 мин.
Генерировать случайное судоку
Ничего (у меня сразу всё заработало)
Следующий на очереди - Сокобан, который закончит моё комбо из 5 курсов подряд. Если, конечно, ещё какого-то супер предложения не будет =)
(Устал уже немного, но очень хочу его пройти)
2016-07-09 00:28 Судоку Сохранение ответа + 20 10 мин.
Ничему
Ничего
Что-то мне всё больше начинает казаться, что делегаты - не лучшее решение подобных проблем. Лучше было бы подписка на событие. То есть чтобы мы в Prigram.Start написать что-то вроде:
ss = new SudokuSolver();
ss.PlaceDigit += PlateDigit; //где ss.PlaceDigit - событие

У меня даже где-то был пример, как это сделать
2016-07-08 23:55 Судоку Рекурсивная функция поиска + 20 30 мин.
Находить решение судоку
Ничего
• Хорошо, но можно же разделить PlaceDigit на два метода (1 - проверяет правила, 2 - записывает число), и тогда вместо ClearDigit вызывать второй
• А почему в списку уроков у этого длительность - 00:00:00
2016-07-08 22:51 Судоку Идея алгоритма - 81 цикл + 1 20 мин.
Рекурсивному методу решения судоку
Ничего
Можно было назвать урок "81 вложенный цикл"
2016-07-08 22:29 Судоку Загрузка головоломки с интернета + 20 30 мин.
Заполнять судоку из файла
Ничего
Ух, 4 вложенных цикла, неплохая ёлочка получилась =)
2016-07-08 21:17 Судоку Проверка правил игры + 20 20 мин.
Проверять, можно ли вставить число
Ничего
Ещё и по квадратам нужно было проверять?? Я всю жизнь играл неправильно =)
2016-07-08 18:20 Судоку Печать цифр в таблице + 20 20 мин.
Ничему
Ничего
А делегат вообще что-то ещё может кроме хранения ссылки на функцию с определёнными аргументами? Никаких дополнительных функций, никаких модификаций (например, необязательные аргументы). Вроде в курсе про функциональному программированию немного затрагивали эту тему и там, если я правильно помню, делегаты были немного больше того, что показано, например, в том же уроке из Новых технологий или здесь (хотя, может, я и ошибаюсь).
2016-07-08 15:14 Судоку Сетка для цифр + 21 20 мин.
Рисовать сетку для судоку
Ничего
• Стоп, а почему именно такое условие для цикла? По сути у нас получается:
(x + 1) * x, что можно преобразовать в:
x^2 + x, а учитывая, что x^2 = max, так что получается:
max + sqr
Как по мне эта формула смотрится лучше =)
• И можно же сделать, чтобы значение sqr само считалось в зависимости от max
2016-07-08 14:46 Судоку Вступление + 20 20 мин.
Ничему
Решить судоку
Честно говоря, никогда не любил судоку.. Такая себе задача, в которой нужно больше гадать чем думать. Я, конечно, не знаю спецальных техник по его решению, но пока так
2016-07-08 03:50 Сокобан Сокобан - Вступление + 20 2 час. 00 мин.
Играть в Сокобан
Пройти уровни
Прошел 5, было сложно.. Но что бы там ни было, правила я точно понял =)
2016-07-08 01:00 Игры со Спрайтами ФИНАЛЬНЫЙ урок + 21 12 час. 00 мин.
Наследованию классов
Сделать чтобы программа помогала выиграть
Классный получился курс! Особенно сейчас доволен, так как таки доделал все исправления, которые хотел =)
2016-07-06 05:20 Мат Конём и Слоном Псевдо-алгоритм перебора + 22 20 мин.
Ходить назад
Ничего
Интересно, сколько он работать будет
2016-07-06 04:39 Игры со Спрайтами Домино. Финальный аккорд + 20 1 час. 00 мин.
Ничему
Найти свои ошибки
Ураа, я сделал это!! Теперь нужно денёк всё доработать и готово. На очереди Сокобан =)
2016-07-06 02:59 Игры со Спрайтами Домино. Наведение порядка + 20 30 мин.
Воплощать в жизнь кучу классов
Ничего
Как вы удаляете всю строчку целиком?
Для того чтобы сделать выбор плашки нужна функция, которая находит плашку по координатам экрана. Её я сейчас писать не хочу..
2016-07-06 01:10 Игры со Спрайтами Домино. Rolling Stones + 20 40 мин.
Выкладывать пирамиду из домино
Ничего
Немного улучшил вашу анимацию. Кстати, я ещё до видео хотел сделать именно такую =)
2016-07-05 23:31 Игры со Спрайтами Домино. Пирамида из анимашек + 20 20 мин.
Подготавливать заглушки для переопределения
Ничего
internal - доступ внутри одного пространства имён
2016-07-05 23:00 Игры со Спрайтами Домино. Три наследника Аниматора + 20 40 мин.

Ничего
• Зачем было создавать ещё один метод Move (без steps), если им просто можно было задать значение по умолчанию:
public void Move(... , int MaxStep = 100)
• Хм, я не переопределял GetZoom, а просто перенёс zoomx и zoomy в базовый класс
• Так, а теперь самое важное! Не нужен нам ещё один класс (open/hide) или те дополнительные методы, которые вы написали. Можно просто сделать один класс, который меняет видимость (посмотрите скриншот и видео).
2016-07-05 21:48 Игры со Спрайтами Домино. Базовый класс Анимаций + 20 30 мин.
Чувствую, на практике узнаю применение virtual
Ничего
Я таки оставил оригинальный зум доминошки в классе доминошки (так как он является её частью), а добавочный (или как его назвать) в классе анимации
2016-07-05 20:25 Игры со Спрайтами Домино. Подъём переворотом + 20 20 мин.
Переворачивать плашку за нужное кол-во шагов
Ничего
...Почему вы произносите zoom как "цум"? (очень слух режет..)
2016-07-05 19:08 Игры со Спрайтами Домино. Анимация спрайта + 20 20 мин.
Двигать доминошки
Ничего
Чем вам всё-таки так не угодил Point??
2016-07-05 13:37 Мат Конём и Слоном Королевское правило + 20 20 мин.
Проверять, находится ли фигура под боем коня или слона
Понять, почему isCheckmate не работает
Ладно, функции я вроде написал
2016-07-05 00:20 Игры со Спрайтами Домино. Двойной спрайт + 20 45 мин.
рисовать спрайт по шаблону из несольких частей
Ничего
Ну не знаю, я поместил зум в класс с домино и получается, что он уже вместе с экземпляром передаётся
2016-07-04 23:26 Игры со Спрайтами Домино. Отображение плашки + 20 40 мин.
Десереализировать строку
У вас-то не было .xml а у меня было, так что файлы воспринимаются как строка и ваш способ десереализации на подходит, пришлось гуглить =)
Доминошки прикольные
2016-07-04 19:07 Мат Конём и Слоном Ворошиловский слон + 21 20 мин.

Написать свою функцию для слона (не нравится мне ваш цикл)
• Не знаю, что такое каталог, но если нужно быстро и чтобы было под рукой, то SQLite - лучший выбор, как мне кажется. Как ни как СУБД, и там всё заточено под быструю обработку информации, и занимает всего один файл.
• Написал функцию для слона без цикла, но она выдаёт 182. Хм, я всё пересмотрел, вроде правильно. Не знаете, где может быть ошибка? А то, мне моя функция на порядок больше нравится =)
2016-07-04 18:21 Мат Конём и Слоном Нотация Форсайта - Эдвардса + 21 10 мин.
Со слоном не всё так просто
Ничего
Только я не учитываю, что между слоном и королём могу стоять другие фигуры, а так всё хорошо =)
ПС: Функции выкладывал в предыдущем уроке
2016-07-04 17:54 Мат Конём и Слоном Конь ходит буквой Гэ + 20 20 мин.
Исправил ошибку
Ничего
Исправил ошибки. Со слоном получается 1306 вариантов
2016-07-04 16:53 Мат Конём и Слоном Перебор всех комбинаций + 22 20 мин.
Ничему
Ничего
• Почему byte и чем плох Point? (потому что памяти меньше занимает?)
• Переменную (счётчик) цикла МОЖНО менять. В VBA это разве что делать нельзя
• Ого, намного меньше получается
2016-07-04 16:24 Мат Конём и Слоном Постановка задачи + 20 10 мин.
Поставил мат конём и слоном
-||-
Вот такой-вот мат получился =)
2016-07-04 14:38 Секундомер VIP. Секрет мастерства + 20 9 мин.
 
Ничего
Я уже всё забыл за выходные, через не хочу всё же написал =)
2016-07-04 13:39 Секундомер VIP. Биоритмы + 20 20 мин.
Оказывается есть ещё и биоритмы, которые у всех одинаково начинаются со дня рождения. Чего только люди не придумают, чтобы свалить свои неудачи на кого-то / что-то...
Ничего
Похоже, меня ждёт пара лет спокойной жизни =)
Самое оно для первого курса института
2016-07-02 05:00 Игры со Спрайтами Спрайт. Рисуем плашки + 20 40 мин.
Я художник от бога =)
Нарисовать
Интересно, как это будет смотреться
2016-07-02 04:18 Игры со Спрайтами Домино. Ура! Победа! + 20 20 мин.
Не спать всю ночь =)
Ничего
Ура, дописали. У меня уже рассвет =)

Кстати, нашел ошибку. Если у нас будет ОДНА шестёрка, то IsLuser будет возвращать false
2016-07-02 03:33 Игры со Спрайтами Домино. Выбираем и убираем + 20 30 мин.
 
Ничего
Хм, по поводу "нигде не используем пирамиду" я погорячился =)

• А зачем мы в функции OpenFreePlates перебираем вообще всё? Не лучше ли было бы перебирать плашки только вокруг удалённой?
• Tag это ж object, зачем туда строку записывать? Можно же сразу Point, например, там как раз два свойства X и Y
• Хм,  как-то слишком много переменных для двух плашек (для проверки можно ли их удалить). Я через List сделал, и в моём случае сумма считается на всех выделенных плашках (а не только на двух). На скриншоте видно, как я три сразу удалил =)
2016-07-02 02:11 Игры со Спрайтами Домино. Делегаты отображения + 20 20 мин.
Повторил делегаты
Ничего
Я тут ещё раз столкнулся с нерациональным использованием двумерного массива (на этот раз Label-ов) и подумал, а зачем нам вообще двумерный массив? Ведь в самой логике игры эта "двумерность" вообще нигде не используется (например: нам всё равно в каком ряду находится доминошка на которую кликнули, главное, чтобы она была открыта).
Так вот. Не проще ли везде использовать одномерные массивы и просто немного усложнить функцию для размещения плашек на экране (ведь это, по сути, единственное место в коде, где мы используем форму пирамиды)?
2016-07-01 21:35 Комбинаторика Рекурсия. Заливка области + 20 40 мин.
Наблюдать рекурсию в действии
Ничего
Действительно, смотрится, как какой-то жутко сложный и непонятный алгоритм =)
2016-07-01 21:06 Игры со Спрайтами Домино. Динамическая пирамида + 20 1 час. 00 мин.
В C# оочень не хватает явных ссылочных типов данных
Изменить значение элемента массива не обращаясь к массиву напрямую
• Мне из прошлого урока жутко не понравилась сортировка и двумерный массив, в которых мы всё пихали, так что я реализовал функцию GetPlateByNum, которая получает элемент массива с указанным номером (0-27 в нашем случае), кстати, интересная получилась задачка для 3-х часов ночи =) И нормально-таки перемешал доминошки (на скриншоте самая верхняя функция).
И заменил массив на ступенчатый. Честно, не понимаю, чем его неудобно использовать (вы так говорили)?
Почему вы так не делали? За одно и практика с таким типом массивов была бы и задачку по нахождению элемента массива в виде пирамидки по его порядковому номеру (для нормального перемешивания), да и алгоритм перемешивания массива пригодился бы (ну, может алгоритм - это сильно сказано, но менять рандомные доминошки местами 100 - точно не он)

• Кстати, пока это всё дело реализовывал, столкнулся с проблемой, что в C# не видно, хранится ли в переменной сам объект или ссылка на него, и это очень затрудняет написание кода.. Например: в переменных string, ArrayList, да и вообще любого класса храниться ссылка, а в bool. int и остальных struct - сам объект. Нужно какую-то статью на эту тему почитать...

• Зачем создавать две переменные plateWhdth и plateHeight, если есть такой тип данных, как Size, как раз для таких случаев и предназначенный??
• И зачем всё-таки вы в прошлом уроке делали protected методы, а не privat?
2016-07-01 00:08 Игры со Спрайтами Домино. Перемешиваем плашки + 20 20 мин.
 
Ничего
Зачем protected. мы что наследовать этот класс будем? Чем private плох
2016-06-30 23:33 Игры со Спрайтами Домино. Правила игры + 20 20 мин.
Новой странной игре
Ничего
• А что было не так с прошлой программой? (вы сказали в 3:35)
• Немного не понял логику заполнения доминошек. Почему она именно такая? И почему эта игра сделана так, что в 80% случаев в неё невозможно выиграть, что бы вы не делали?
2016-06-30 17:57 Комбинаторика Рекурсия. Главный секрет + 20 30 мин.
Кривая Гильберта
Понять, как её рисовать
Я раза три перечитывал ту страницу, но так и не понял, как её рисовать. Да, она состоит и П-образных элементов, но как мы выбираем, в какую сторону будет направлен очередной элемент? И тот же вопрос к фигурам более высокого порядка..
2016-06-29 22:15 Секундомер ФИНАЛЬНЫЙ УРОК + 3 10 мин.
 
Ничего
7 минут 25 секунд
Кто повторит =)
2016-06-29 21:42 Секундомер 5 часть. Видеофиксация + 20 5 мин.
 
Ничего
Ура, я дошел!!!
2016-06-29 21:22 Секундомер 5 часть. Пункты 240 – 273 + 20 30 мин.
 
Ничего
Ctrl + K + M у меня чего-то не работает
2016-06-29 19:50 Секундомер 4 часть. Видеофиксация + 20 5 мин.
 
Ничего
Фух

Я себе шпаргалку сделал, но на неё не смотрел, если что. Это на всякий случай =)
2016-06-29 19:19 Секундомер 4 часть. Пункты 200 – 239 + 20 20 мин.
Не люблю много писать
Писать..
Можете ругать, но я слил StartTimer и StopTimer, уж слишком много у них общего =)
2016-06-29 16:10 Комбинаторика Рекурсия. Вступление + 20 5 мин.
Ничему
Ничего
Вот гугл понимает, что такое рекурсия =)

Рекурсия - это когда в ходе выполнения какого-то действия требуется выполнить это же действие
2016-06-27 23:40 Секундомер 3 часть. Видеофиксация + 20 5 мин.
 
Устал..
Хватит на сегодня секундомера. Спокойной ночи =)
2016-06-27 23:25 Секундомер 3 часть. Пункты 150 – 172 + 20 10 мин.
 
Ничего
46 секунд. Как ему это удалось?? Вау
2016-06-27 20:19 Секундомер 2 часть. Видеофиксация + 22 10 мин.
 
Ничего
Так мы без открытия проекта? Ну ладно.
Кстати, посмотрите, как я делаю всё одной высоты =)

ПС: Я немного таймер поменял
2016-06-27 19:54 Секундомер 2 часть. Пункты 120 – 145 + 20 15 мин.
 
Ничего
 
2016-06-27 18:47 Секундомер 1 часть. Видеофиксация + 20 5 мин.

Ничего
• Стресс? Ну не знаю, я всегда в голове разбиваю проекты на маленькие части (сейчас я элементы размещу, сейчас реализую клик на эту кнопочку -> так, она должна писать что-то в базу данных -> сейчас создаю базу данных...) и всё отлично получается даже в достаточно немаленьких проектах.
• Я "FastStone Capture" использую, удобная вещь. Взломанную, кстати. У меня даже windows лицензионный только потому, что мне его Microsoft бесплатно дали (за участие в программе предварительного тестирования) =)
https://www.youtube.com/watch?v=ivuP-dTyzh8
2016-06-27 18:21 Секундомер 1 часть. Пункты 100 – 113 + 20 10 мин.
Сочетания клавиш узнал =)
ничего
Я решил сначала полностью форму настроить, а потом менять картинку exe-шника, и форму настраивать сверху вниз по свойствам.
ПС: Там одна попытка - фальстарт, поэтому там текст размытый
2016-06-27 00:39 Секундомер Написание кода + 20 35 мин.
Нажимать Alt, чтобы убирать привязку контролов
Ничего
А зачем использовать Duration, если при вычитании DateTime в результате и так TimeSpan
2016-06-26 19:32 Секундомер Настройка формы + 20 20 мин.
Ничему
Ничего
• Так как мы вручную настраиваем поведение каждого столбца, менять значение AutoSizeColumnsMode не нужно. Это ничего не даст (я проверил)
• На счёт времени. В одном уроке мы за 20 минут реализуем алгоритм для нахождения кратчайшего пути, а в другом только создаём форму с 5-ю элементами. Прикольно получается.
2016-06-26 18:00 Секундомер Моральная подготовка + 20 10 мин.
Не знаю
Ничего
Зачем программирование? Ну, компьютеры повсюду, и я, например, чуть ли не постоянно в контакте с каким-то из них, так как это неплохо упрощает жизнь. И уметь командовать ими (в плане, что тебе хочется, чтобы умел так, и ты может сделать, чтобы он умел) это несомненный плюс!
Что мешает? Для эффективного обучения нужны деньги, для этого нужна работа, работа занимает время. Вот, я нашел работу и времени на курсы (а тем более на собственные программы) осталось не очень много..


Всего написал программ 100-200 из них где-то 10-20 больше 1000 строк.
Последняя программа, которую я сейчас пишу - универсальный бот. Там реализован класс, который принимает минимальные настройки по взаимодействию с интернет страницей и выполняет их (например, можно узнать последние новости с какого-то сайта или последнюю запись по определённой теме, в общем, ограничено только вашей фантазией). У меня просто в браузере было открыто пара страниц просто потому, что я их периодически обновлял и проверял нужную мне информацию, вот и решил такую программу написать. Хм, она даже может автоматически отчёты на этом сайте проверять (ставить всем хорошо) =)
2016-06-26 16:36 Игры со Спрайтами Полуфинальный урок + 21 10 мин.
У нового микрофона качество на порядок выше =)
Ничего
Фух, вот и первая часть первого курса позади. Давно хотел его пройти. Даже где-то, на просторах интернета, исходники находил, и вот, наконец-то, я сам всё это прохожу. Ура =)
2016-06-26 02:48 Игры со Спрайтами Аполлон. Финальное прилунение + 20 30 мин.
Двигать спрайты
Ничего
Оно работаеееет!!!! Классс. Мне очень понравился результат =)
Большое спасибо за такую классную игрушку
2016-06-26 01:37 Игры со Спрайтами Аполлон. Graph и Sprite на Луне + 20 20 мин.
Можно использовать классы из другого проекта не импортируя их в другой в пределах одного решения
Ничего
А как работают псевдонимы в using? Неудобно же каждый раз Sprite.something писать
2016-06-26 01:04 Игры со Спрайтами Спрайт. Рисуем Аполлона + 20 1 час. 00 мин.
Ничему
Ничего
Хм, хоть ускорение свободного падения и не зависит от массы корабля, но ускорение двигателя зависит (по закону сохранения импульса: mv = const)
2016-06-25 19:29 Игры со Спрайтами Аполлон. Плавное прилунение + 20 1 час. 20 мин.
реализовывать физику в программе
Ничего
Если что, в данном случае, ускорение не зависит от массы (в реальном мире)
2016-06-23 21:32 Игры со Спрайтами Аполлон. Законы физики + 20 20 мин.
Все ошибаются
Ничего
• Эм, скорость при включённом двигателе равна не: v0 + a*t, а v0 + (a+g)*t (с учётом того, что g отрицательное)
Так как Луна никуда не девается и продолжает притягивать корабли, включён у нас двигатель или нет

• Вот отличия readonly от const: http://piccy.info/view3/9971994/e77c3232d361352719dba6f1db2e03c6/
Если кратко: readonly может быть вычесляемым значением (2+5) и может задаваться в конструкторе (но только там), а const задаётся исключительно при инициализации и значение не может быть вычесляемым.

• Кстати, а как же те изменения формы для рисования спрайтов, о которых вы говорили на прошлом уроке? (да-да я могу их и сам сделать. но по сути, я уже всё здесь могу сам сделать)
2016-06-23 20:18 Игры со Спрайтами Аполлон. Главные герои + 20 10 мин.
Что не знаю, как выглядит поверхность луны
Нарисовать вертикальную посадку истрибителя
Надеюсь, больше ничего не нужно будет рисовать? =)
2016-06-23 19:46 Игры со Спрайтами Спрайт. Сериализация объекта + 20 20 мин.
Ничему
Ничего
Mission 1: Complete
2016-06-22 23:06 Игры со Спрайтами Спрайт. Панель инструментов + 20 20 мин.
Удалять последнюю линию
Ничего
Я не знаю, что у меня получилось =)
2016-06-21 23:48 Игры со Спрайтами Спрайт. Рисуем линии мышкой + 20 25 мин.
Стирать линии
Ничего
Хм, а почему для этих целей не использовать Paint? Он же сам вызывается, когда требуется перерисовка.

Чем вам не нравиться Point, зачем постоянно создавать две переменные для хранения одной координаты? (да в Point тоже две, но они-то создаются за вас)
2016-06-21 21:49 Игры со Спрайтами Спрайт. Класс для Спрайта + 20 10 мин.
Ничему
Ничего
1) Когда я в классе Sprite написал List<MyLine>, то VS мне сказала, что нужно добавить юзинг (для MyLine), и добавила такой: using static Sprite.Paint; Вопрос: что значит статик при использовании его в юзинге? До меня просто не доходит, в чём здесь его предназначение.
2) Отправлять ли скриншот кода? А то Кирилл ругался на счёт этого =)
2016-06-21 21:22 Игры со Спрайтами Спрайт. Класс для графики + 20 10 мин.
И функция и процедура называется методом (раньше думал, что метод - это процедура)
Успевать. Но не хочу повторяться, так что ничего.
Пока всё легко
2016-06-21 21:02 Игры со Спрайтами Спрайт. Структура для линии + 20 11 мин.
Ничему
Не отставать =)
Я как-то пытался использовать структуры, но когда хотел изменить свойство в уже созданном экземпляре, мне писало, что так делать нельзя, потому что это не переменная: Cannot modify the return value of 'TEST.mystruct' because it is not a variable
http://stackoverflow.com/questions/3729873/problem-with-struct-and-property-in-c-sharp

В общем, я так понял, что структуры лучше не трогать и переписал всё в класс. Что я делал не так?
2016-06-21 20:41 Игры со Спрайтами Спрайт. Первая форма + 20 10 мин.
Ничему
Ничего
Да начнётся приключение =)
ПС: Остальные игры из плана отсутствуют, так как написание этих заняло слишком много времени?
2016-06-19 01:19 Шарики ФИНАЛЬНЫЙ УРОК + 20 30 мин.
У меня что-то с микрофоном =)
И что-то не так с нахождением короткого маршрута
Нормально говорить
Я видимо где-то ошибся в алгоритме нахождения короткого пути. Завтра исправлю, сегодня уже всё =)
2016-06-19 00:11 Шарики Шарики. Поиск линий + 20 1 час. 00 мин.
Идти до конца =)
Продолжать писать
Ого. Я и не думал, что этот курс такой длинный. Прям облегчение от того, что закончил =)
Интересно, на сколько хорошо у меня в таком состоянии получится обзор записать
2016-06-18 22:41 Шарики Шарики. Поиск пути + 20 1 час. 00 мин.
Повторил алгоритм поиска в ширину
Ничего
Ура, финишная прямая =)
2016-06-18 21:23 Шарики Шарики. Логика игры + 20 1 час. 40 мин.
Как на путаться в куче кода
Ничего
Это было долго =)

А почему не сделать функцию SelectNextBall как на втором скнишоте (сначала ищем все пустые места, том выбираем случайное)?
2016-06-18 18:44 Шарики Шарики. Анализ игры + 20 40 мин.
Ничему
Ничего
А как же TableLayoutPanel? И располагать удобнее и координаты сразу есть.
2016-06-18 17:54 Шарики Шарики. Вступление + 20 20 мин.
Ничему
Передать фотографию на компьютер без кабеля и блютуза
Ну, погнали =)
2016-05-24 22:35 НаноШахматы ФИНАЛЬНЫЙ УРОК + 2 10 мин.
Использовать CSS, JavaScript и перемещать элементы
Ничего
Если не сравнивать фото-курс с видеокурсом, а писать отзыв именно о нём, то это просто нечто! Для человека, который до этого курса о CSS и JavaScript знал только названия, я на удивление много узнал об их синтаксисе и основах применения в  связке с PHP и HTML, да ещё и остался с работающей программой на выходе. И хотя используемые шаблоны вряд ли получится где-нибудь приминать, это и не нужно, так как целью этого курса (как мне кажется) было показать, как в принципе все эти языки работают и сочетаются между собой. Что удалось ему на отлично!
2016-05-24 19:12 НаноШахматы JavaScript - Я тебя съем! + 21 15 мин.
Работать с дочерними элементами
Ничего
Вроде всё отлично, но не могу переместить фигуру туда, где уже когда-то была другая. Наверно, что-то не так с удалением
2016-05-23 18:05 НаноШахматы JavaScript - Тронул? Коди! + 20 15 мин.
Отображать всплывающие уведомления, обрабатывать события
Понять, где ошибка
Хм, странно, почему у вас всё работает. Сразу решил первую ошибку (забыл короля дописать), но возникла другая - белый король отказался отобразаться. Я порылся в коде и оказалось, что символ "К" (белый король) первый в строке для поиска кода символа, то есть его номер - 0, который в свою очередь равен false (если переводить в bool). И этот иф считает, что символ не найден: if (!$num) return "";
2016-05-23 13:51 НаноШахматы JavaScript - Завершение хода + 20 10 мин.
Вроде перемещать span из одного контейнера в другой
Ничего
А почему он не копируется?
2016-05-23 13:45 НаноШахматы JavaScript - Посадку давай! + 20 10 мин.
Разрешать Drop
Ничего
...
2016-05-23 13:35 НаноШахматы HTML5 - Поднятие фигур + 20 5 мин.
Реализовывать первую половину DragDrop
Ничего
Выглядит даже лучше, чем перетаскивание в C#
2016-05-23 13:28 Entity Framework Добавление - Извлечение + 20 30 мин.
Доставать данные из базы данных
Додуматься, как сразу вывести все роли полученного пользователя:
string.Join(", ", user.Roles.Select(t => t.Name))
Отличный курс!!! Всё очень понравилось (кроме части про MySql, но то ладно).
А вот по поводу моего второго вопроса отсюда (videosharp.info/9567/checking/ef=853). Я подумал, я порылся в context'е и так и не понял, как это делать. Пожалуйста, можете ответить, для меня это действительно важно (есть у меня одна программка, которой пользуется один учебный центр в нескольких филиалах, и если программа будет сама обновлять базу данных - будет просто замечательно) =)
2016-05-23 12:37 Entity Framework Один за всех и Все за одного + 20 40 мин.
Реализовывать различные типы связей и создавать промежуточные таблицы не создавая их =)
Ничего
Всё просто замечательно =) И пара маленьких вопросов =)
1) Почему вы называете таблицы в единственном числе? Например, таблица User (в которой хранятся пользователИ). Мне кажется, это может приводить к небольшой путанице, допустим, создадим мы какую-то переменную user (в которой хранится 1 пользователь) и перепутаем её с User (таблицей со всеми пользователями). Это я конечно утрирую, но всё же =)
2) В чём разница между:
public string Name { get; set; }
и
public string Name;
Да, get и set можно настраивать, но обычно, мы этого не делаем. Какие преимущества нам даёт эта запись?

А по самому уроку вопросов нет, всё супер =)
2016-05-23 10:59 Entity Framework Миграция Базы + 20 15 мин.
Понял, что такое миграции и как их делать вручную
Ничего
Миграции - это действительно классно =) У меня есть несколько вопросов:
1) Если я хочу откатится к миграции, которая была несколько миграций назад, то приложение будем откатывать поочерёдно все миграции от самой новой, до той, что мне нужна?
2) Допустим, у меня есть готовое приложение, которое работает с локальной БД, и я его отдал паре друзей. Я обновил это приложение (и структуру БД), создал миграцию, проверил её корректность и обновил базу данных на своём компьютере. Как мне сделать так, чтобы новая версия приложения сама проверяла структуру БД, к которой подключена и при необходимости выполняла недостающие миграции?
2016-05-22 19:44 Entity Framework Использование MySQL + 20 10 мин.
Ничему
Ничего
Я очень извиняюсь, если что-то не так скажу, но просто я уже не могу об этом молчать.

Нет, я конечно всё понимаю, информация, которую вы нам преподносите чрезвычайно полезная и интересная, НО к вебинарам нужно готовится, так как в записи никому не хочется смотреть, как половина времени уходит на поиск (именно на поиск) решений непредвиденных проблем или, ещё хуже, если эти проблемы так и останутся нерешенными. И этот относится ко всему вышеперечисленному.
Я ещё когда выполнял задания с предыдущего вебинара решил, что сразу буду работать с MySql, так что проблема подключения возникла сразу же, я покопался интернете, в самой программе и потихоньку, но решил эту проблему. И отправил отчёт об этом с инструкцией, если ещё кому-то будет нужно (videosharp.info/9567/checking/ef=841). В итоге, оказалось, что нужно всего лишь немного откорректировать строку подключения и над классом с моделью (Context) написать: [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
Как видите, на всё это уходит отсилы минута (ну, если писать всё с нуля 5-10 минут максимум). Это на счёт первого пункта.
Теперь дальше. Вместо той надписи над классом с моделью, в уроке в рекомендовали в строке подключения дописать: "Allow User Variables=True;". Я подумал, ну ладно, может это тоже поможет, и угадайте что? Не помогло, что видно на скриншоте 1. В то время, как моё решения, которое я отправил за дня 4 до вебинара, работает (скриншот 2). Ну ладно, видимо эти отчёты не доходят до автора этого курса, но на самом уроке показать, что всё работает нужно же было...
Ещё раз, извините, просто уже не мог не сказать.
2016-05-22 15:39 НаноШахматы PHP - Превращение букв + 20 10 мин.
Писать функции в PHP
Ничего
Почему вы назвали второй вариант "хакерским", по моему, это просто более продуманный вариант
2016-05-22 15:24 НаноШахматы PHP - Массив для фигур + 20 15 мин.
Ничему
Ничего
1) Что такое @
2) Зачем использовать два цикла, если всё можно сделать в одном?
2016-05-22 13:44 НаноШахматы PHP - Циклы для клеток + 20 10 мин.
В PHP можно инкриминировать строку
Ничего
Всё хорошо
2016-05-22 13:22 НаноШахматы HTML - Фигуры на Доске + 20 5 мин.
Ничему
Текст почему-то не по центру
Вроде всё правильно списал
2016-05-22 13:00 НаноШахматы CSS - Шахматная доска + 20 10 мин.
Узнал, как работать с CSS
Ничего
Ура, я понял, что такое CSS
2016-05-22 12:42 НаноШахматы HTML - Шахматные фигуры + 20 10 мин.
Ничему
Ничего
Ещё раз, зачем писать "<br/>", если можно просто "<br>"?
2016-05-21 00:40 Интернет-магазин ФИНАЛЬНЫЙ УРОК + 21 10 мин.
Познакомился с PHP, узнал как с помощью него обрабатывать POST и GET запросы, а также работать в нём с базой данных MySql.
Понять, что я пишу =)
Курс по содержанию получился классный. Всё, не считая банального HTML и MySql запросов было для меня абсолютно новым, так что я многое для себя узнал. Здесь и основы PHP, и POST - GET запросы и работа с MySql (через PHP), и обработка отправки файла, и даже два вида переадресации =) И всё это уместилось на 25-и фотографиях!
Но знаете, в этом и главный недостаток этого курса. Он слишком приблизился к черте, где единственное задание - списать и не задавать вопросов. По мере его прохождения я всё больше убеждался, насколько мне не хватает формата видеокурсов, где ты чувствуешь себя частью большого коллектива и проходишь весь этот путь не один.
2016-05-21 00:16 Интернет-магазин Запись имени файла в базу + 1 10 мин.
Ничему
Ничего
Всё успешно загрузилось =)
Ну, для проверки идентичности файлов надо их хэш находить, а я не знаю, как это на PHP делать =)
2016-05-21 00:14 Интернет-магазин Сохранение файла + 20 15 мин.
Сохранять выбранный файл для сайта
Ничего
Всё отлично =)
2016-05-21 00:12 Интернет-магазин Отправка файла + 20 15 мин.
Добавлять файлы
Ничего
что значит $_FILES?
2016-05-21 00:10 Интернет-магазин Интерактивный список + 20 35 мин.
Делать ссылки с помощью PHP
Реализовать удаление
С удалением пришлось немного помучаться, но я таки сделал это =)
2016-05-20 23:28 Интернет-магазин Редирект на список + 1 15 мин.
Делать перенаправление
Ошибся в одной букве и думал, почему не работает, эх, отладчик бы сюда (или как это назвать)..
Не понял последнее задание
2016-05-20 23:25 Интернет-магазин Нет картинки + 20 10 мин.
Добавлять файл по умолчанию
Найти картинку =)
Всё хорошо
2016-05-18 21:28 Интернет-магазин Значения по умолчанию + 20 10 мин.
Задавать значения по умолчанию
Ничего
...
2016-05-18 21:20 Интернет-магазин Сохранение изменений + 20 10 мин.
Nothing
Nothing
///
2016-05-18 21:09 Интернет-магазин UPDATE товара + 20 10 мин.
Ничему
Ничего
...
2016-05-18 21:04 Интернет-магазин Товар на форме + 20 10 мин.
Вставлять данные в поля на форме
Ничего
Хорошо, но теперь без параметра форма не работает. 
Кстати, а зачем / ставить после br, он же и без этого работает?
2016-05-18 20:52 Интернет-магазин SELECT из РНР + 20 10 мин.
Обрабатывать Get запросы
Ничего
...
2016-05-18 20:39 Интернет-магазин INSERT из РНР + 20 30 мин.
PHP не обрабатывает ошибки выполнения запроса
Ошибся в имени таблицы (написал "wares") и минут 20 не мог найти ошибку (она вообще нигде вы высвечивалась)
• Как вообще ошибки обрабатывать?
• А зачем id передавать, он же сам генерируется?
2016-05-18 20:05 Интернет-магазин Форма Товара + 20 15 мин.
Я что-то сделал, но не уверен, что научился этому..
Ничего
...
2016-05-18 19:40 Интернет-магазин Таблица с Картинками + 20 10 мин.
Ничему
Ничего
Всё хорошо
2016-05-18 19:36 Интернет-магазин Картинки для товаров + 20 10 мин.
Ничему
Ничего
---
2016-05-18 19:09 Интернет-магазин Товары в таблице + 20 15 мин.
Обрабатывать запрос, возвращающий несколько значений в PHP
Ничего
Ладно, теперь минус фото-курса становится очевидным: я не совсем понимаю, что пишу. Что значит "$", и зачем его писать перед именем переменной; почему нельзя написать "$row[0]"? И всё в таком духе.  И без общения (ну, точнее голоса за кадром) уже как-то не так, не так в голове откладывается.
2016-05-18 18:41 Интернет-магазин Подружить PHP с MySQL + 20 10 мин.
подключаться к MySql используя PHP
Ничего
Всё отлично =)
2016-05-15 14:14 Entity Framework Основные приемы работы с БД через EF + 20 1 час. 00 мин.
Подключаться к базе данных и получать данные из неё
• Помните я переименовал Model1 на Context? Так вот, при выполнении запроса, мне выдало: :No connection string named 'Context' could be found in the application config file." (видимо, не до конца переименовал), так что я вернул первоначальное имя.
• Дальше у меня начала вылетать пустая ошибка (null) на строке, где мы получаем пользователя, наверно, это из-за того, что я к MySql подключился...
• Ещё покопался в App.config и к серверу приложение таки подключилось, и даже таблицу создало, но появилась такая ошибка: "Specified key was too long; max key length is 767 bytes". Оказалось (http://stackoverflow.com/questions/20602114/mysql-connector-6-8-2-rc-entity-framework-6-and-code-first), что нужно перед классом с моделью писать:
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
Фух, если самому что-то делать, то столько времени уходит =)

Нет, ну LINQ это далеко не всегда выход, SQL в плане удобства формирования запроса, как по мне, на порядок удобнее (особенно, если этот запрос 100+ символов в длину). У меня в паре программ есть запросы для формирования статистики, так они вообще больше 1000 символов (да, я пытался их оптимизировать, но дело в том, что там статистика довольно объёмная). В общем, знание, как выполнять свои SQL запросы очень бы пригодилось =)
2016-05-15 12:25 Entity Framework Подключение БД по методу CodeFirst + 1 45 мин.
Создавать базу данных с помощью метода CodeFirst
Сначала у меня Visual Studio просто отказывалась показывать ADO.NET EntityFramework Data Model, и что бы я не делал она не появлялась. Так что сегодня ночью я переустановил студию и всё снова стало хорошо =)
Ещё, когда создавали класс Initializer, мы там передавали Context, а у меня его не было, у меня этот класс назывался Model1, странно. А так всё просто =)
Всё отлично, всё понравилось =)
• Когда вы писали {Key}, возможно, вы имели ввиду [Key], просто второй вариант у меня работает, в отличии от первого
• Не очень понятно, как нам при изменении модели сохранять данные, которые уже находятся в БД. Ну добавил я один столбец, и что теперь всю базу затирать? Нельзя ли как-то просто модифицировать текущую версию (посмотреть чем новая модель отличается от старой и применить эти изменения)?
• Ещё не до конца понял, как указывать параметры столбцов (такие как NOT NULL) и как создавать, например, вторичные ключи?
2016-05-15 00:54 Entity Framework Создание приложения + 20 20 мин.
Ничему
Ничего
Всё хорошо
2016-05-15 00:48 Entity Framework Введение в EF + 20 20 мин.
Что ADO.NET лучшее, что можно использовать для работы с СУБД
Ничего
Вроде всё понятно, идём дальше =)
2016-05-05 19:05 Интернет-магазин Добавление товаров + 20 20 мин.
Ничему
Ничего
Теперь всё хорошо =)
2016-05-05 00:07 Интернет-магазин Всё готово для работы + 20 5 мин.
Ничему
Ничего
Всё сделал =)
2016-05-04 22:40 Интернет-магазин Запуск РНР + 21 15 мин.
Написал скрипт нa РНР
Ничего
Как-то не очень получилось..
2016-05-04 22:32 Интернет-магазин SELECT запросы + 20 10 мин.
Ничему
Ничего
Находим самый дорогой товар
2016-05-04 22:21 Интернет-магазин phpMyAdmin + 20 10 мин.
Ничему
Ничего
Добавил 5. А почему нельзя вносить русские буквы?
2016-05-04 22:01 Интернет-магазин Запуск базы данных + 20 30 мин.
Ничему
Запустить консоль MySql
Создал ярлык, дописал аргументы, запустил, а он просит пароль (которого я не знаю). В общем, создал всё это через phpMyAdmin
2016-05-04 17:01 Интернет-магазин Установка EasyPHP + 20 20 мин.
Установил EasyPHP
Запустить сервера
Не удалось запустить MySql сервер. Нажимаю старт, он вроде запускается, но когда загрузка заканчивается, он всё ещё не запущен.
2016-05-04 12:45 Графические циклы VIP - Квадрат Гарри Поттера + 20 20 мин.
Попрактиковался во вложенных циклах
Сделать ромб по центру (так и не получилось, зато получился квадрат по центру)
6 - x < 13 || y < 13,
11 - x == 1 || y == 1 || x == lim - 2 || y == lim - 2,
17 - y - 15 > Math.Sin(x / 2.0) * 4,
20 - (x + y) % 2 == 0,
22 - (x + y) % 3 == 0
23 - x % 2 == 0 && y % 3 == 0

Квадрат по центру - Math.Abs(x - (lim / 2)) < 5 && Math.Abs(y - (lim / 2)) < 5
Какая-то странная кривая - Math.Abs(x * y - (lim / 2)) > 5
2016-04-29 15:52 Unity 3D Приглашение на видеокурс + 20 10 мин.
Искать картинки с лабиринтом =)
Ничего
Всё отлично
2016-04-29 01:56 Новые технологии Модульное тестирование + 20 20 мин.
Создавать автоматические тесты
Ничего
Вау, я как раз пару дней назад узнал про то, что они существуют, и вот теперь узнал, как это всё реализовать, класс =)

Было бы классно, если бы была серия таких уроков, например, ещё про тестирование интерфейса:
https://habrahabr.ru/post/97012/
Я понимаю, что это доступно только в Visual Studio
Enterprise (https://www.visualstudio.com/en-us/products/compare-visual-studio-2015-products-vs.aspx), но всё же =)
Ведь тестировщик сейчас довольно популярная и востребованная профессия, да и самим программистам полезно =)
2016-04-23 18:27 Бурные потоки ФИНАЛЬНЫЙ УРОК + 21 5 мин.
Повторил то, что знал о потоках и предназначении static, узнал о приоритетах потоков и Monitor
Ничего
Этот курс, как и другие в этой серии (других я не проходил), получился просто замечательный, особенно в плане визуализации. Но, в отличии от других, в этот раз это больше замечательная заготовка (для обучения и демонстрации работы с потоками).
Сейчас попытаюсь объяснить. Я заметил, что все курсы из линейки "Професишарп" связаны: после того, как в первом мы во всех подробностях рассмотрели IEnumerator, с лёгкостью использовали его во втором, для создания класса работающего с графами, который, я надеюсь, очень пригодится нам здесь для того, чтобы змейка, например, шла к ближайшему зайцу.  Как бы то ни было, в этом курсе заметно, что он третий подряд. За одну неделю одному человеку практически невозможно подготовить такую обширную тему, как потоки, тем более с такой потрясающей визуализацией.

Теперь о самом курсе. Если вы ничего не знаете о потоках, лучше сначала пройдите урок "Нити на кубиках" (videosharp.info/video/soft2/nr=62), так как курс называется "Професишарп" и подразумевается, что что-то мы таки знаем =) Что же мы делали на этом курсе? Как я уже сказал большую его часть заняла визуализация, но она полностью стоила того, чтобы потратить на неё столько времени, но, естественно, это не всё. Также мы довольно детально рассмотрели подводные камни, которые встречаются, когда вы хотите, чтобы один объект работал в нескольких потоках, такие как: использование ключевого слова static и механизмы для синхронизации доступа к объектам lock и Monitor. Кроме этого, мы узнали, как задавать потоку определённый приоритет, что это даёт, как прерывать потоки извне, как обрабатывать это прерывание в самом потоке и как один поток может ожидать завершения другого (но, я считаю, что на последнее было выделено мало времени).

Как видите, получился с одной стороны не длинный, и с другой стороны довольно насыщенный курс, и хотя довольно много всего было рассмотрено, почти всё это основы, так сказать база, без которой возможно рассматривать потоки на более глубоком уровне; вот почему, я считаю, что то, что есть на данных момент - это замечательный шаблон, взяв который который за основу можно ещё очень много сделать. С другой стороны, я и сам не знаю, что находится на этом "более глубоком" уровне, да и есть ли он вообще, так что вполне могу ошибаться на счёт всего этого. Но, в любом случае, с нетерпением жду продолжения =)
2016-04-21 15:22 Бурные потоки Смысл жизни + 22 20 мин.
Убивать змей голыми руками
Ничего
Не совсем понял, зачем нужна эта строчка: PutScreen(head, color, aNone); в основном цикле (предыдущая голова вроде и так очищается), так что перенёс её в самый конец жизни змеи (последний шаг убийства - стереть голову) и сделал, чтобы во время умирания она не могла вертеть головой.



Так, последний (на текущий момент) урок в этом курсе. Нужно написать отзыв. И так, после вебинара прошла целая ночь, вроде всё в голове уже устаканилось, сейчас попробую объективно всё это оценить =)

Этот курс, как и другие в этой серии (других я не проходил), получился просто замечательный, особенно в плане визуализации. Но, в отличии от других, в этот раз это больше замечательная заготовка (для обучения и демонстрации работы с потоками).
Сейчас попытаюсь объяснить. Я заметил, что все курсы из линейки "Професишарп" связаны: после того, как в первом мы во всех подробностях рассмотрели IEnumerator, с лёгкостью использовали его во втором, для создания класса работающего с графами, который, я надеюсь, очень пригодится нам здесь для того, чтобы змейка, например, шла к ближайшему зайцу.  Как бы то ни было, в этом курсе заметно, что он третий подряд. За одну неделю одному человеку практически невозможно подготовить такую обширную тему, как потоки, тем более с такой потрясающей визуализацией.

Теперь о самом курсе. Если вы ничего не знаете о потоках, лучше сначала пройдите урок "Нити на кубиках" (videosharp.info/video/soft2/nr=62), так как курс называется "Професишарп" и подразумевается, что что-то мы таки знаем =) Что же мы делали на этом курсе? Как я уже сказал большую его часть заняла визуализация, но она полностью стоила того, чтобы потратить на неё столько времени, но, естественно, это не всё. Также мы довольно детально рассмотрели подводные камни, которые встречаются, когда вы хотите, чтобы один объект работал в нескольких потоках, такие как: использование ключевого слова static и механизмы для синхронизации доступа к объектам lock и Monitor. Кроме этого, мы узнали, как задавать потоку определённый приоритет, что это даёт, как прерывать потоки извне, как обрабатывать это прерывание в самом потоке и как один поток может ожидать завершения другого (но, я считаю, что на последнее было выделено мало времени).

Как видите, получился с одной стороны не длинный, и с другой стороны довольно насыщенный курс, и хотя довольно много всего было рассмотрено, почти всё это основы, так сказать база, без которой возможно рассматривать потоки на более глубоком уровне; вот почему, я считаю, что то, что есть на данных момент - это замечательный шаблон, взяв который который за основу можно ещё очень много сделать. С другой стороны, я и сам не знаю, что находится на этом "более глубоком" уровне, да и есть ли он вообще, так что вполне могу ошибаться на счёт всего этого. Но, в любом случае, с нетерпением жду продолжения =)
2016-04-21 12:21 Бурные потоки Замри! + 20 15 мин.
Закрепил голику использования lock, повторил Abort, узнал, какие состояния бывают у потока
Ничего
Мне кажется, нужно было сделать больший акцент на том, что когда мы прерываем поток, то внутри него может возникнуть именно ОШИБКА (если мы его прерываем не во время ожидания). Просто у когда я у себя в одной программе так делал во время выполнения sql запроса (выполнялся он долго, так что в фоновом потоке), программа не ждала, пока он выполниться и просто вырубала весь поток, в связи с чем в нём возникала ошибка. А так всё хорошо =)
2016-04-21 12:11 Бурные потоки Приоритет + 20 15 мин.
Узнал, как задавать приоритет потоку
Ничего
Приоритеты классная вещь =)
2016-04-21 12:07 Бурные потоки Бурная жизнь + 20 15 мин.
Ничему
Ничего
Как я и писал, нужно, чтобы она сама в себя не закручивалась и шла к ближайшему зайцу (мы же как раз графы прошли, вот и отлично практическое применение) =)
2016-04-21 11:46 Бурные потоки Поток питонов + 20 15 мин.
Повторил, зачем нужен IsBackgroung, как использовать lock и Monitor
Ничего
Вот и потоки =)
2016-04-21 11:42 Бурные потоки Поворот головы + 20 20 мин.
Передавать enum как int
Я всё ещё не разобрался, как всё работает, так что, ничего =)
Мы почти сделали свою змейку в консоли, круто =)
2016-04-21 11:35 Бурные потоки Питонатор + 20 15 мин.
Ещё раз понял, зачем нужен static в случае с несколькими потоками (теперь на примере переменных) =)
Ничего
Так, теперь нужно начинать разбираться, как всё это работает, а то на вебинаре только переписать успевал =)

ПС: классная идея с проверкой отчётов перед уроком. А ограничение на кол-во непроверенных осталось?
2016-04-21 11:30 Бурные потоки Зайчики + 20 10 мин.
Функции нужно делать как можно меньше, почему фигурные скобки нужно писать только тога, когда нужно
Ничего
Хм, а меня учили, что их всегда нужно писать, чтобы код лучше читался, да и можно забыть, что должен быть только один оператор, написать 2+, а потом думать, почему цикл не работает =)
2016-04-21 11:25 Бурные потоки Террариум + 20 10 мин.
Понял, зачем нужно использовать static для класса, который выполняется в нескольких потоках
Ничего
Всё хорошо
2016-04-21 11:17 Бурные потоки Вступление + 20 10 мин.
Узнал о существовании Monitor и Interlocked
Ничего
Всё хорошо
2016-04-19 18:19 Итератор ФИНАЛЬНЫЙ УРОК + 21 10 мин.
Узнал, что такое итератор и как он реализуется в C#, лучше разобрался в работе foreach, как реализовать класс, наследуемый от IEnumerable и IEnumerator, а так же волшебное слово yield
Вникнуть, как работает yield
Курс получился просто отличный! На нём в мою голову за пару десятиминутных уроков вбили то, во что сам бы я наверное  месяц вникал =) И всё это в такой форме, что единственное желание после проработки очередного видео было как можно быстрее узнать что же дальше. Я его прошел за один вечер, а потом ещё пару дней это всё укладывалось у меня в голове. И в итоге, сейчас я понимаю, что такое IEnumerable, IEnumerator, что именно делает yield и как с этим всем работать =)
2016-04-17 23:32 Коллекция графов ФИНАЛЬНЫЙ УРОК + 21 10 мин.
Узнал о паре новых коллекций, сравнил скорость их работы и не только вспомнил теорию графов, но и реализовал наглядное отображение поиска в ширину и глубину.
Ничего
Мне всё понравилось =) Особенно часть, где ты видишь, как написанный тобой код пошагово показывает тебе работу различных способов поиска по графу. А кто не любит, когда работу программу можно буквально увидеть своими глазами? =)
2016-04-17 19:52 Коллекция графов Глубокий алгоритм + 20 5 мин.
Ничему
Ничего
Мне пришлось ждать день (буквально), чтобы открылся доступ к этому уроку, какое-то это неправильное ограничение... Пока я ждал, я сам реализовал этот алгоритм и доработал предыдущий, чтобы он обновлял граф только когда сделает один полный шаг (а то у нас получалось, сначала эта "волна" идёт на клетку влево, потом вверх и т.д.) и возвращал количество сделанных шагов (как показано на скриншоте).

А так, курс понравился =) Узнал о паре новых коллекций, сравнил скорость их работы и не только вспомнил теорию графов, но и реализовал наглядное отображение поиска в ширину и глубину.
2016-04-17 09:04 Коллекция графов Глубокий поиск + 20 10 мин.
Вспомнил поиск в глубину
Ничего
Вроде всё повторил, но как-то не очень получилось =) Блин, действительно классно. Использовать рекурсивныый алгоритм без рекурсии.
2016-04-16 21:37 Коллекция графов Визуализация процесса + 20 15 мин.
Наслаждаться поиском в ширину
Ничего
Ого, я знаю что-то, чего не знаете вы =) Просто вместо panel1.Refresh(); Напишите Application.DoEvents(); И программа сама отобразит своё текущее состояние (и не нужно вообще ничего перерисовывать). =)
2016-04-16 21:08 Коллекция графов Широкий пошаговый ход + 20 10 мин.
Ничему
Ничего
Ну хорошо, для Hashtable это бы не сработало (там у элементов индексы меняются), но вы сами разрешили мне использовать Dictionary, где такого вроде не происходит =) Так что в моём случае это было простое правильное решение =) Да, сначала сохранять ключи - хорошая идея, но если бы вы сразу использовали Dictionary, то вам бы просто это было бы лишним (и память сэкономили бы) =)
2016-04-16 20:46 Коллекция графов Широкий алгоритм + 20 15 мин.
Перебирать коллекцию во время её изменения
Ничего
Я запустил пошагово и убедился, что мы изменяем коллекцию (о чём и говорилось в ошибке). Так что я просто заменил foreach на for (нам же никто не говорил, что вершины нужно возвращать в каком-то определённом порядке), таким образом перебор выполняется по индексу элемента коллекции и ошибка не возникает =)
2016-04-16 20:16 Коллекция графов Широкий поиск + 20 5 мин.
Вспомнил алгоритм поиска в ширину
Ничего
Всё хорошо =)
2016-04-16 20:03 Коллекция графов Шахматная доска + 20 15 мин.
Очищать conrol от рисунков (серьёзно, до этого момента я понятия не имел, как это делать)
Ничего
Всё классно
2016-04-16 16:09 Коллекция графов Отображение + 20 5 мин.
Ничему
Ничего
Ну, я только по центру линии выровнял и координаты прописал, и получилось тоже самое =) Я наверное уже ван надоел, но почему List<Label>, а не Dictionary<int, Label>? Так нам не нужно будет волноваться о порядке добавления вершин, да и их уникальность будет гарантирована =) Как-то после того, как выполнишь задание с предыдущего урока, следующий не интересно смотреть...
2016-04-16 15:20 Коллекция графов Инициация + 20 20 мин.
Ничему
Вывести граф
Пришлось немного симпровизировать, но для чернового варианта пойдёт =)
2016-04-15 21:28 Коллекция графов Рёбра + 20 15 мин.
Ничему
Ничего
О, Dictionary, теперь я рад жизни =) А почему мы его для вершин не использовали?
2016-04-15 16:20 Коллекция графов Вершины + 20 20 мин.
Пока ничему, но чувствую, скоро всё станет на свои места =)
Переписывать русские названия на английском =)
Я всё таки остановлюсь на Dictionary (вместо Hashtable). Не знаю, почему вы его не выбрали...
2016-04-15 15:50 Коллекция графов Граф + 20 10 мин.
Виды графов
Придумать способ хранения графа
Уф. Как-то я не очень хорош в хранении графов =) Лучшее, что смог придумать: вершина - ключ, соединённые с ней вершины - значение (например, массив int). Да, буде куча дублирующиеся информации, но лучше ничего не придумал =)
ПС: Я это написал до того, как посмотрел вторую половину урока.  Можно создать структуру: вершина и чтобы она содержала ссылки на другие вершины с которыми оно соединена и значение закрашена она или нет. (в C# же можно хранить ссылку на объект, а не его копию?)
Кстати, покажите класс для хранение графов от microsoft?
2016-04-15 15:34 Коллекция графов BitArray + 20 15 мин.
Работать с BitArray
Ничего
Прикольно, не знал о нём. Порылся по методам, вроде всё понятно, так что просто сделал то, что было на уроке
2016-04-15 15:13 Коллекция графов Hashtable + 20 5 мин.
Ничему
Ничего
Так, я видимо на прошлом уроке сделал больше, чем нужно =) Так что, скриншот не меняется. Кстати, оказывается HybridDictionary на порядок круче даже Hashtable. Dictionary всё же быстрее него, но там-то мы указываем тип данных.
2016-04-15 15:01 Коллекция графов ListDictionary   15 мин.
Dictionary - лучший способ хранения пары ключ-значение
Ничего
Так, а почему вы не использовали Dictionary<TKey, TValue>? Я всегда использовал его в таких случаях, и за счёт того, что мы заранее знаем типы данных (что, как я думаю, бывает почти всегда), он работает быстрее, чем все предложенные вам варианты (результаты тестов на скриншоте). И ещё вопрос: что можно использовать, чтобы связать два уникальных объекта, то есть не ключ-значение, а ключ-ключ или как-то так. Чтобы я мог получить 1-й ключ, зная второй и 2-й зная первый.
2016-04-14 16:14 Коллекция графов Array vs List + 21 10 мин.
List работает быстрее ArrayList, переменные типа double числа можно делить на 0
ничего
Ого, прикольно. Оказывается 1.0/0 = бесконечность. Я думал вообще ничего на ноль делить нельзя =)
ПС: Чтобы постоянно не писать
sw.Reset();
sw.Start();
Можно писать
sw.Restart();
2016-04-14 15:47 Коллекция графов List + 20 5 мин.
Ничему
Ничего
А почему сразу не воспользоваться foreach?
2016-04-14 15:31 Коллекция графов ArrayList + 1 5 мин.
Узнавать реальный размер ArrayList
ничего
Пока ничего нового =)
2016-04-13 14:25 Webbot On-Line Проверяем авторизацию + 21 15 мин.
Просматривать исходный текст страницы
Ничего
Отлично, теперь могу проверить вышла ли новая серия сериала =) Вопрос: после авторизации адрес стал таким: http://nebo.mobi/home;jsessionid=A445D50505A05CCDFC05C41820BF5D57 В обычных браузерах такого нет. Я понимаю, что это что-то вроде моего id, но откуда он взялся =) И ещё вопрос: почему мы так уверены, что если имя пользователя встречается на странице (даже если в определённом теге), это значит, что именно он сейчас залогинен? Да, для этого сайта такое решение подойдёт, но мы же пишем универсального бота. А вдруг это просто сообщение от этого пользователя пришло или ещё что-то =) Можно, например, проверять, находится ли рядом с именем пользователя картинка с человечком (второй скриншот). Было бы интересно посмотреть на реализацию этого алгоритма. Вопрос №3: можно ли как-то сделать перехват логина и пароля при входе и сохранить их (как делают обычные браузеры). Вопрос №4: можно ли управлять загружаемым сайтом, например: отключить загрузку картинок (они нам не нужны, и такое решение существенно сэкономит трафик)? В любом случае, большое спасибо за эти уроки, узнал много нового =)
2016-04-13 13:23 Webbot On-Line Подготовка формы + 20 20 мин.
Основам работы с WebBrowser
Ничего
Когда заходил на videosmile.ru с помощью WebBrowser через некоторое время (пера секунд) адресная строка стала такой: about:blank. Много раз видел такое в обычных браузерах, но до сих пор точно не знаю, что это. И ещё вопрос, как сделать так, чтобы можно было перехватывать копирование текста с адресной строки и подменять его другим? Как делают обычные браузеры (копируешь страницу без "http://', а копируется с). Конечно, это немного не по теме, но всё же =)
2016-04-13 12:46 Webbot On-Line Планирование функций + 1 10 мин.
Оказывается в Word можно рисовать блок-схемы =)
Ничего
Ну, понеслась =)
2016-04-11 14:10 Webbot On-Line Видеообзор Игры + 20 15 мин.
Играть в небоскрёбы =)
Ничего
Ух, давно хотел что-то такое написать. Например, чтобы проверять вышла ли новая серия сериальчика, а не самомо по 50 раз в день на сайт заходить =)
2016-04-10 01:34 Итератор Итератор. Зачем нужно два класса + 20 20 мин.
Понял, зачем нужно было 2 класса
ничего
Хм, никогда даже об этом не думал. Как же сложно было бы самому до этого дойти =)
ПС: Не захотел откатывать программу, так что сделал обычную таблицу умножения
2016-04-07 00:32 Итератор Итератор. Один метод вместо классов. + 20 7 мин.
Функции могут возвращать IEnumerable и в таких функциях можно использовать yield
ничего
Воу, функция, которая может приостанавливать своё выполнение в пользу подпрограммы, которая её вызвала. Это просто нечто!! =) Нужно это всё переварить. Спасибо за урок =)
2016-04-07 00:19 Итератор Итератор. Список простых чисел. + 20 9 мин.
Создал самый оптимальный алгоритм в моей жизни для поиска простых чисел
разобраться как он работает =)
Что же дальше будет? =)
2016-04-07 00:01 Итератор Итератор. Волшебное слово yield. + 20 11 мин.
Использовать ключевое слово  yield
Вникнуть в его принцип работы
Ваааааааау, как же это круто. После первой минуты урока я перестал повторять и просто смотрел. Какой же C# всё-таки классный язык, и какой же вы классный учитель =)
2016-04-06 23:41 Итератор Итератор. Перебор простых чисел. + 20 9 мин.
Реализовывать функцию MoveNext()
В прошлом уроке установил максимум 1000 и благополучно забыл про это. А потом где-то минуту искал почему выводит не все делители =)
Всё классно =)
2016-04-06 23:22 Итератор Итератор. Перебор чисел в итераторе. + 21 9 мин.
Создавать параметры для объекта класса (или как это сказать? =))
ничего
становится всё интереснее и интереснее =)
2016-04-06 23:09 Итератор Итератор. Создание пустого итератора. + 20 11 мин.
Реализовывать классы, наследуемые от IEnumerable и IEnumerator. Глубже понял принцип работы цикла foreach
В общем-то ничего, нужно было просто переписать
Что такое интерфейс? Пару раз сталкивался с этим словом, но ничего о нём не знаю =) Что это? И как это, множественное наследование классов нельзя, а интерфейсов можно? В остальном всё замечательно =)
2016-04-06 22:48 Итератор Итератор. Разложение числа на простые множители. + 20 10 мин.
ничему
ничего
Понравился способ, с помощью которого выводились именно простые делители. Я бы просто после нахождения делителя сбросил j на 2 (первая мысль, которая в голову пришла). Понравилось то, что даже в такой просто программе уже есть чему поучиться =)
2016-03-08 19:06 Семантика Я решил всю Семантику! + 21 24 час. 00 мин.
Insert в строках стал для меня новостью, вы бы видели, как я раньше что-то в строку вставлял =) Также открыл для себя пару возможностей DateTime и научился извлекать кубический корень.
Задания из блока Календарь. Но я их почти все решал сегодня ночью, так что может, дело в этом =)
Очень понравились задачи на это курсе. Их было настолько интересно решать, что я прошел его почти не отходя от компьютера =) Особенно понравились задачи с числами (из раздела Цифры и Лирика) и курицами.
  Нано-игры Арканоид - Уровень и ракетка   Открыто


  Итератор VIP. Оптимизация поиска простых чисел   Открыто


  Начало здесь День №1. Создание микро-Привычки.   Открыто


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





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

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

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

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


Научился: Закрепил классы и из наследование, деллигаты, enum и передочу данных по TCP/IP протоколу
Трудности: Вносить свои улучшения, но это было интересно =)
Курс отличный! Если вы давно зотели написать большой проект, но боялись начать, то этот курс как раз для вас =) Но я уже немного подустал, так что обзор получился далеко не лучший.. Следующий курс. По всей видимости "Мат Конём и Слоном" надо добивать, а потом наконец-то смогу отдохнуть =)


Научился:  1) Создавать базы данных 2) Создавать в них таблицы
Опять-таки, через саму консоль не вышло, ибо она отказывается принимать команду "mysql", но в HeidiSQL есть как возможность простого создания таблиц простым добавлением элементов, так и есть консоль для запросов. Оба варианта работают как надо. И да, в родном манипуляторе базами от MySQL отсутствует возможность удаления созданных баз (или я просто слепой))