Online обучение c#

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

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

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

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

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

Дата Видеоурок Результат
2021-12-18 01:31 Новогодний python ФИНАЛЬНЫЙ УРОК + 8 6 мин.
Понравились короткие уроки по делу! молодец, Валера, чувствуется, с каждым разом уровень растёт.
Добавил больше рандома и немного оптимизаций!
Какой курс? сложно сказать, их очень много, думаю тот, который ещё не прошёл =)
Найти время!
2021-12-18 00:05 Новогодний python Фейерверк: переносы и звезды + 7 26 мин.
При каждом запуске приложения, реализовал несколько рандомов:
1 - количество звёзд
2 - количество иголок
3 - размер звёзд
4 - цвет звёзд
Всё отлично!
Найти время!
2021-12-17 23:38 Новогодний python Фейерверк: рисуем звезду + 7 40 мин.
Перенёс функцию полёта черепашки с места на место, чтобы нарисовать сразу несколько звёзд
Найти время!
2021-12-17 22:55 Новогодний python Фейерверк: проект, небо и черепашка + 7 4 мин.
Повторение мать учения.
Найти время!
2021-12-17 22:44 Новогодний python Гадание по книге: логгирование ошибок + 7 14 мин.
Повторение мать учения, отличная идея с ошибкой при вводе номера строки.
Найти время!
2021-12-17 22:12 Новогодний python Гадание по книге: работа над ошибками загрузки + 7 4 мин.
Пропускать пустые строки реализовал ещё в прошлом уроке по своему, но механизм показанный в уроке тоже отличный, я бы даже сказал, удобнее, если реализовать его в процессе загрузки файла, то будет более оптимальное потребление памяти. Займусь этим в будущем уроке.
Найти время!
2021-12-17 21:36 Новогодний python Гадание по книге: программа + 6 10 мин.
Добавил защиту от пустых строк в книгах, чтобы ответом всегда была строка текста.
Найти время!
2021-12-17 01:05 Новогодний python Гадание по книге: об игре + 7 2 мин.
Загрузил в папку обе книжки, чтобы можно было выбрать случайную книгу или по выбору из списка, так же добавлять ещё, если будет необходимости, так сказать для возможности масштабирования.
Найти время!
2021-12-17 00:58 Новогодний python Анонимный Дед Мороз: сообщение о подарке - на экран + 7 3 мин.
Использовать messegebox.
При запуске из консоли, интерактива нет, при запуске по F5, всё работает как и планировалось.
Найти время!
2021-12-17 00:44 Новогодний python Анонимный Дед Мороз: дарим подарки + 7 10 мин.
Повторение мать учения!
У меня трое ушли с тем, что принесли =) Рандом такой Рандом...
Найти время!
2021-12-17 00:25 Новогодний python Анонимный Дед Мороз: гости и подарки + 7 12 мин.
Повторение мать учения!
Найти время!
2021-12-17 00:03 Новогодний python Анонимный Дед Мороз: об игре и заготовка программы + 7 4 мин.
Повторение мать учения!
Найти время!
2021-12-16 23:49 Новогодний python Подарки: делаем подарки для всех + 7 24 мин.
Вынос рисования подарка с лентой в отдельный метод реализовал ещё в прошлом уроке.
Доработал метод рисования подарка с лентой, теперь передаётся цвет ленты, в прошлом уроке была залочена красная.
Так же размер ленты теперь зависит от размера подарка.
Найти время!
2021-12-16 23:16 Новогодний python Подарки: рисуем подарок + 7 41 мин.
вынес рисование подарка, короб и завязывание ленточки, в отдельный метод, что помогло сократить код и теперь просто вводишь размер подарка и цвет, далее метод всё рисует сам, центруя ленточку по середине подарка.
Найти время!
2021-12-16 22:32 Новогодний python Подарки: рефакторинг и перемещение без рисования + 6 48 мин.
Летать черепашку =)
Так же вывел в отдельный метод полёт черепашки, передавая расстояние и направление движения.
Вывел три подарка, третий наложился поверх первого, якобы он ближе лежит.
Найти время!
2021-12-16 21:38 Новогодний python Подарки: цвет коробки с подарком + 6 7 мин.
Выбору цвета заливки и окантовки черепашки =)
Найти время!
2021-12-16 21:29 Новогодний python Подарки: вызов черепашки + 6 17 мин.
О существовании черепашки в python =)
Найти время!
2021-12-16 21:08 Новогодний python Подарки: создание проекта + 6 9 мин.
Ничего нового, всё отлично!
Найти время!
2021-12-16 20:44 Новогодний python О курсе и инструменты + 6 12 мин.
Ничему новому, всё отлично!
Найти время!
2021-12-16 20:29 Node JS первые шаги О Node JS. Инструменты для работы + 6 42 мин.
Ничему новому, всё отлично!
Найти время!
2020-11-20 13:32 Начало здесь День №6. Обучательное тестирование + 9 35 мин.
Тесты создавал и ранее, когда они вообще были внедрены на данном проекте, лишь увидел, что добавили комментарий, который можно добавлять при выборе варианта ответа.
найти время
2019-04-14 11:45 Bootstrap-4 первые шаги Отзывы: карты - в сетку + 14 15 мин.
Всё это реализовал ещё на прошлых уроках
найти время
2019-03-03 01:54 Платформер на Unity 4. Движение персонажа + 17 5 час. 28 мин.
Всё отлично работает, молодец, Дим, движемся дальше.
найти время и прекратить эксперименты =)
2019-02-05 21:51 Платформер на Unity 3. Графика и физика + 14 1 час. 17 мин.
Побаловался на скорую руку, всё отлично, идём дальше.
найти время
2019-02-03 15:31 Платформер на Unity 2. Меню + 10 3 час. 43 мин.
всё отлично, идём дальше.
з.ы.
решил сделать в стиле марио на денди =)
найти время
2019-01-28 22:22 Платформер на Unity 1. Вступление + 14 12 мин.
Пока ничего нового, всё уже стояло и используется давно. Идём дальше.
найти время
2019-01-14 21:37 Bootstrap-4 первые шаги Отзывы - стили + 12 15 мин.
Повторение, мать учения, всё отлично, идём дальше.
найти время
2019-01-12 23:55 Bootstrap-4 первые шаги Отзывы - размещение карточек + 13 1 час. 33 мин.
Отцентрировал отзывы, провёл косметику, всё отлично, идём дальше.
найти время
2019-01-11 20:01 Bootstrap-4 первые шаги Товар лицом + 11 1 час. 52 мин.
Отцентровал при помощи бутстрап иконки по центру относительно друг друга и экрана.
Так же добавил обводку средствами бутстрап и добавил несколько картинок.
Повторение мать учения. Идём дальше.
найти время
2019-01-09 21:54 Bootstrap-4 первые шаги Об авторе - отступы, цвета, закругления + 11 25 мин.
Ранее уже округлил фото, добавил косметику, повторение мать учения.
найти время
2019-01-07 15:15 Bootstrap-4 первые шаги Об авторе - отступы и дополнения + 14 52 мин.
Заменил классический span на готовое решение в бутстрапе, чтобы не было проблем с центровкой и т.д.
Добавил наклон для части текста, так же выделил жирным фамилию и имя.
Повторение - мать учения.
найти время
2019-01-06 12:43 Дневник успеха 2019-01-06 : Какие труды, такие и плоды. + 14 5 мин.
За эту неделю:

+ Я проверил 29 отчётов у 16 формулистов.
+ Я написал 2 сообщения 2 формулистам общим объёмом 1 килобуква
+ Я набрал 1 текст:
    1 => «Java - Вывод данных / Калькулятор», без ошибок
− Я не решил ни одной задачи :o(
+ Я выполнил 6 видеоуроков:
    1 => «Bootstrap-4 первые шаги / Верная навигация» за 28 мин.
    2 => «Bootstrap-4 первые шаги / Заголовок header - красивая основа» за 15 мин.
    3 => «Bootstrap-4 первые шаги / Заголовок header - оверлей, надпись и кнопка» за 19 мин.
    4 => «Bootstrap-4 первые шаги / Об авторе - блоки и HTML» за 43 мин.
    5 => «Дневник успеха / Рефлексия уходящего года» за 14 мин.
    6 => «Дневник успеха / 2018-12-30 : Думай ввечеру, что делать поутру.» за 4 мин.
− Я не собрал ни одного Мегахеша :o(

НО:
обновил все сервера на новой работе, которые не обновлялись с весны 2014 года.
обновил 1С, базы данных и реализовал систему бэкапа по феншую.
привёз в порядок часть парка рабочих машин, очень многие ещё нужно пересмотреть, обновить, заменить детали и т.д. (после тщательной диагностики состояния)

Год начался хорошо, планы грандиозные, вперёд, к свершению задуманного!!! =)

Всех с наступающим Рождеством! Здоровья и удачи.

2019-01-06 12:33 Bootstrap-4 первые шаги Об авторе - блоки и HTML + 14 43 мин.
всё отлично, идём дальше
не бежать впереди паровоза и найти время конечно =)
2019-01-03 17:53 Bootstrap-4 первые шаги Заголовок header - оверлей, надпись и кнопка + 8 19 мин.
Всё отлично, идём дальше.
найти время
2019-01-02 22:43 Bootstrap-4 первые шаги Заголовок header - красивая основа + 16 15 мин.
Всё отлично, идём дальше.
найти время
2019-01-01 21:00 Bootstrap-4 первые шаги Верная навигация + 12 28 мин.
Всё отлично, повторение мать учения, идём дальше.
найти время
2018-12-31 03:04 Дневник успеха Рефлексия уходящего года + 17 14 мин.
За прошедший год:
+ Я проверил 7136 отчётов у 442 формулистов.
+ Я написал 2076 сообщений 294 формулистам общим объёмом 719 килобукв
+ Я набрал 68 текстов:
+ Я решил 100 задач:
+ Я выполнил 485 видеоуроков:
+ Я собрал 3675 Мегахешей.

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

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

Те, кто уже тут обучаются, прекрасно знают, чем этот проект их привлёк, те, кто только думают, советую не терять время, оно всегда движется вперёд и ждать никого не будет, а те кто впервые зашли, вы попали куда надо!!!

Всех с наступающим, счастья в личной жизни и понимания, удачи.

2018-12-31 02:49 Дневник успеха 2018-12-30 : Думай ввечеру, что делать поутру. + 16 4 мин.
Надо как то этот вопрос решить, чтобы хотябы данные за прошлую неделю кэшировались, а то опаздываешь и дата вверху вроде за ВС, а ты то в ПН уже пишешь и информация за новую неделю, пустая.
На прошлой неделе всё как обычно, выполнял суточную норму по мере возможности и времени.
Успешно переделал лендинг в многостраничный адаптивный сайт.
Выполнил все поставленные задачи на работе и дома.
На следующей неделе выполнение суточной нормы и продолжение практики.

2018-12-28 20:14 Bootstrap-4 первые шаги Основа и фреймворк + 16 15 мин.
почти всё было реализовано на прошлом уроке, всё отлично, идём дальше.
найти время
2018-12-27 20:02 Bootstrap-4 первые шаги Погружение в проект + 12 20 мин.
Подготовил не только всё по заданию, но и сразу бутстрапчик скачал и распаковал куда надо необходимый комплект 4.2.1 версии, всё отлично, идём дальше.
найти время
2018-12-26 22:49 JS Восточный гороскоп Данные - на страницу + 12 25 мин.
Простой и понятный курсик, отличная тема и подача для базового понимания простых вещей.
Кто впервые видит JS, однозначно надо будет почитать теорию, чтобы понять некоторые моменты.
Всё отлично, идём к финалу.
найти время
2018-12-25 00:52 Дневник успеха 2018-12-23 : Живет на горке, а хлеба ни корки. + 17 1 мин.
Очень странно, но я вроде бы отправлял данный отчёт, данные по нему потеряны, поэтому картинка не соответствует действительности.

2018-12-22 23:59 JS Восточный гороскоп Цвет и стихия года + 17 18 мин.
всё отлично
найти время
2018-12-21 23:32 JS Восточный гороскоп Символ года + 15 13 мин.
Всё отлично, идём дальше.
найти время
2018-12-20 22:13 JS Восточный гороскоп Первые функции + 13 15 мин.
Всё отлично, идём дальше.
найти время
2018-12-19 21:46 JS Восточный гороскоп Создание сцены + 14 34 мин.
Всё отлично, идём дальше.
з.ы.
использую less, так же добавил span через который выделил года из общего текста другим цветом.
найти время
2018-12-18 20:32 Шифрование ФИНАЛЬНЫЙ УРОК + 15 2 мин.
Отличный курс, хорошая база, очень пригодится в онлайн проектах в современных реалиях. Спасибо за отличные алгоритмы и их простую реализацию. Всё отлично, идём дальше, завершать незаконченные курсы.
найти время
2018-12-16 23:59 Дневник успеха 2018-12-16 : Без дела слабеет сила. + 17 2 час. 50 мин.
За эту неделю:

+ Я проверил 48 отчётов у 34 формулистов.

+ Я написал 11 сообщений 9 формулистам общим объёмом 7 килобукв

+ Я набрал 6 текстов:
    1 => «C# набор / Разделить строку на слова», без ошибок
    2 => «C# набор / Заполнение массива», без ошибок
    3 => «C# набор / Формирование массива», без ошибок
    4 => «C# набор / Ввод элементов матрицы», без ошибок
    5 => «C# набор / Вывод элементов матрицы», без ошибок
    6 => «C# набор / Вывод числа по разрядам», без ошибок

+ Я решил 1 задачу:
    1 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 6 видеоуроков:
    1 => «Микроигры / VIP урок. Змейка» за 1 день 20 мин.
    2 => «Клиент-серверный сокет / VIP. Мультики на сервере» за 1 час. 31 мин.
    3 => «Клиент-серверный сокет / VIP. Динамичная многопоточность» за 46 мин.
    4 => «Шифрование / Ключевой обмен Диффи-Хеллмана - Форма» за 42 мин.
    5 => «Шифрование / Ключевой обмен Диффи-Хеллмана - Случайное простое число» за 28 мин.
    6 => «Шифрование / Ключевой обмен Диффи-Хеллмана - Общий секретный ключ» за 1 час. 7 мин.

− Я не собрал ни одного Мегахеша :o(

2018-12-16 21:04 Микроигры VIP урок. Змейка + 15 1 день 20 мин.
найти время
как обычно создал уникальную иконку для бинарника и форм
помимо базовых, добавил текстуры поворота головы/хвоста
размещение змейки на поле случайное
змейка поворачивает голову туда куда ползёт, хвост поворачивается за телом
в левом-верхнем углу экрана показаны яйца текущей змеиной семьи
первый кто вылупился, начинает отъедаться на кроликах, чтобы вырасти и отложить яйца
при поедании определённого количества кроликов, появляются дополнительный яйца
если змейка врезалась в стену или слопала саму себя, рождается следующая змейка
и так до тех пор, пока не окончатся яйца, по окончанию игры будет отображена статистика
в правом-верхнем углу показано количество слопанных кроликов текущего змеиного выводка
вверху-по центру показан рекорд на протяжении всех попыток игры
рекорд сохраняется в файл в папке data
при запуске игры, если таковой файл имеется, то загружается рекорд из файла,
если же файла нет, то рекорд обнуляется (можно сбросить простым удалением файла)
поворачивать голову при движении за 1 такт может только под 90 градусов
(защита от того, чтобы не повернуть на 180 и не слопать саму себя)
игровая статистика выполнена в игровом стиле, добавлены необходимые текстуры
если змея врезалась, но при этом ещё есть яйца, то игра не начинается сначала,
появляется новая змейка, а текущий счёт не обнуляется, пока не закончится игра
после при этом генерируется новое с новым расположением змейки и кролика
добавлена новая форма и активирована как основная, форма самой игры теперь вторична
на начальной форме добавлено игровое меню из 3 пунктов: Играть, О игре, Выход
пункты меню подсвечиваются в стиле ZX Spectrum при наведении мышью
пунктами меню можно управлять и стрелками вверх/вниз на клавиатуре
выбор пункта осуществляется клавишей Enter или кликом мыши
при выборе пункта "Играть" - открывается форма и начинается игра
при выборе пункта "О игре" - открывается профиль на проекте videosharp.info
звуковые файлы хранятся в папке data, так же они были конвертированы в форма mp3 для экономии места
з.ы.
урок делал ещё летом 2016 года по событию "Чашка кофе".
2018-12-14 19:29 Шифрование Ключевой обмен Диффи-Хеллмана - Общий секретный ключ + 11 1 час. 7 мин.
Отличный курс, отличные алгоритмы, всё разжёвано так, как детям в яслях не разжёвывают =) всё отлично, осталось записать финальное видео и курс будет выполнен на 100%
найти время
2018-12-13 22:34 Шифрование Ключевой обмен Диффи-Хеллмана - Случайное простое число + 13 28 мин.
Всё отлично, идём дальше.
найти время
2018-12-12 21:55 Шифрование Ключевой обмен Диффи-Хеллмана - Форма + 15 42 мин.
Повторение мать учения! всё отлично, идём дальше.
найти время
2018-12-11 18:20 Клиент-серверный сокет VIP. Динамичная многопоточность + 15 46 мин.
Данный способ лично мне нравится больше, чем способ из прошлого урока, тем, что ресурсы выделяются динамически по мере надобности при этом производительность и ожидание клиентов сводится к минимуму. Вариант же из прошлого урока имеет лишь один плюс, ты точно знаешь сколько ресурсов понадобится для работы сервера, но его будет очень просто перегрузить и вывести из строя, данную же реализацию таким способом перегрузить будет сложнее, особенно если сервер располагает огромными ресурсами. Отличный курсик, советую всем, очень много интересный исследований проведено.
найти время
2018-12-10 21:40 Клиент-серверный сокет VIP. Мультики на сервере + 15 1 час. 31 мин.
очередь печати на принтер, рассылки уведомлений и т.д.
Всё отлично, идём дальше.
найти время
2018-12-09 23:44 Дневник успеха 2018-12-09 : У хорошего мастера всякая пила хорошая. + 14 3 мин.
За эту неделю:

+ Я проверил 57 отчётов у 27 формулистов.

+ Я написал 15 сообщений 13 формулистам общим объёмом 5 килобукв

+ Я набрал 5 текстов:
    1 => «C# набор / Первая программа», без ошибок
    2 => «C# набор / Служебные слова», без ошибок
    3 => «C# набор / Определение массива», без ошибок
    4 => «C# набор / Сравнение двух целых чисел», без ошибок
    5 => «C# набор / Звездочки», без ошибок

− Я не решил ни одной задачи :o(

+ Я выполнил 7 видеоуроков:
    1 => «Дневник успеха / 2018-12-02 : Больше дела – меньше слов.» за 2 мин.
    2 => «Клиент-серверный сокет / Универсальный сокет» за 2 час. 41 мин.
    3 => «Клиент-серверный сокет / ФИНАЛЬНЫЙ УРОК» за 31 мин.
    4 => «Клиент-серверный сокет / VIP. Многопоточность» за 49 мин.
    5 => «Клиент-серверный сокет / VIP. Два потока» за 23 мин.
    6 => «Клиент-серверный сокет / VIP. Синхрофазатрон» за 36 мин.
    7 => «Клиент-серверный сокет / VIP. Функциональное потокообразование» за 2 час. 53 мин.

− Я не собрал ни одного Мегахеша :o(

всё как обычно: доделывать начатые курсы.

2018-12-08 01:35 Клиент-серверный сокет VIP. Функциональное потокообразование + 18 2 час. 53 мин.
Многопоточность она такая, что-то быстрее, что-то медленнее, главное, чтобы оно работало как планируется!
найти время
2018-12-07 22:25 Клиент-серверный сокет VIP. Синхрофазатрон + 16 36 мин.
Это же очевидно, функцию next() может запускать только кто-то один, другие ждут, по сути это как магазин с кучей касс, но кассир всего один, вот покупатели и стали в один ряд к единственно рабочей кассе, потому что в эту функцию засунули sleep(), которые и отнимает львиную долю времени.
просто не нужно в подобные функции пихать что-то длительное, особенно обычные задержки типо sleep(), там должны быть максимально быстрые телодвижения, пока кто-то один занял место, другие могут делать свои задачи, которые по идее должны быть медленнее, чем время выполнения next(), увеличение на единицу быстрее, чем вывод на экран, поэтому всё проходит красиво, пока другие рисуют, один из потоков складывает незаметно для них.
В конце же вообще засунули целый цикл в метод next(), пока один на качелях не покатался, другие стояли и ждали очереди.
найти время
2018-12-07 13:02 Клиент-серверный сокет VIP. Два потока + 14 23 мин.
Реализовал 4 потока, получились 1 основной и 3 дополнительных. Доработал класс Worker, теперь ему можно при создании передавать его имя, для наглядности. Всё просто, идём дальше.
найти время
2018-12-06 21:18 Клиент-серверный сокет VIP. Многопоточность + 15 49 мин.
Издержки многопоточности (см верхний скрин)
Недоработки многопоточности (см. нижний скрин)
з.ы.
многопоточность полезна в супермаркетах, когда одновременно обслуживается несколько человек, чтобы не было застоя и лишней траты времени с продуктами перед выходом.
многопоточность бесполезна, если нужно строгая последовательность, к примеру: чтобы одеться, надо встать, а чтобы встать, надо проснуться, а чтобы проснуться, надо уснуть, а чтобы уснуть, надо... и так далее.
найти время
2018-12-05 19:50 Клиент-серверный сокет ФИНАЛЬНЫЙ УРОК + 13 31 мин.
Отличный мини-курсик, подобное уже реализовывали на C#, но тут вышло более красиво, подобный класс теперь можно использовать для реализации игр по сети на двоих и более игроков. Можно начать с игры крестики нолики, думаю проще некуда. И не совсем примитивное как угадайка.
з.ы.
создал батника для генерации jar файла, так же создал батника для каждого режима работы сервера, см. видео.
найти время
2018-12-04 19:40 Клиент-серверный сокет Универсальный сокет + 17 2 час. 41 мин.
Хорошее решение, уже ближе к ООП, сгенерил jar файл, запустил через консоль jar файлы. Всё отлично, идём дальше.
найти время
2018-12-03 01:19 Дневник успеха 2018-12-02 : Больше дела – меньше слов. + 18 2 мин.
Не успел с недельным отчётом, дел к выходным много было, на прошлой неделе было проделано не мало работы как по выполнению уроков, так и по решению задач на работе. Все вопросы были решены в кротчайшие сроки. Новая неделя обещает быть не менее увлекательной. Всем удачи и не останавливайтесь на достигнутом!

2018-12-01 14:04 Клиент-серверный сокет Скелет телефона + 16 1 час. 27 мин.
Повторение, мать учения! Метод calculate() реализовал так же на прошлом уроке. Сгенерировал при помощи IntelliJ IDEA класс Phone(). Всё отлично, идём дальше.
найти время
2018-11-29 22:05 Клиент-серверный сокет Основной алгоритм + 18 59 мин.
Повторение мать учения!
Реализовал метод calculate(), так же реализовал его перегрузку без параметра операции, который по умолчанию складывает передаваемые аргументы для краткой записи.
реализовал метод для генерации сообщения о том, в каком режиме запущен сервер (текстовое сообщение).
з.ы.
потом можно будет порефакторить и сократить ещё код методов runServer/Client()
найти время
2018-11-28 18:59 Клиент-серверный сокет Техническое задание + 16 54 мин.
в силу занятости последнее время, решил не бежать впереди паровоза, но создал заготовку, а именно единое приложение, которое принимает аргументы на вход и перечисляет их, чтобы на след. уроках было не скучно.
найти время
2018-11-27 21:04 Клиент-серверный сокет Правильный заголовок + 11 16 мин.
Всё отлично, правильно сделали, что добавили урок по заголовкам, такие вещи надо знать!
найти время
2018-11-26 21:36 Клиент-серверный сокет Экспериментальный сервачок + 13 1 час. 27 мин.
Реализовал игру "угадай число от 1 до 100"
удалось угадать с 4 попытки.
всё отлично, идём дальше.
найти время
2018-11-25 22:55 Дневник успеха 2018-11-25 : Кто поет, у того работа скоро заканчивается. + 14 1 мин.
За эту неделю:

+ Я проверил 28 отчётов у 16 формулистов.

+ Я написал 6 сообщений 5 формулистам общим объёмом 3 килобуквы

+ Я набрал 3 текста:
    1 => «Java - Запуск / Class!», без ошибок
    2 => «Java - Запуск / Static», без ошибок
    3 => «Java - Запуск / String[] args», без ошибок

+ Я решил 1 задачу:
    1 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 3 видеоурока:
    1 => «Клиент-серверный сокет / Автоответчик» за 27 мин.
    2 => «Клиент-серверный сокет / Как хорошо уметь читать!» за 1 час. 11 мин.
    3 => «Клиент-серверный сокет / Клиент-серверный диалог» за 34 мин.

− Я не собрал ни одного Мегахеша :o(

неделя была перегруженная, движемся дальше.

2018-11-25 22:52 Клиент-серверный сокет Клиент-серверный диалог + 13 34 мин.
в браузере другая длинна, потому что браузер отправляет запрос: GET / HTTP/1.1
поэтому и длинна 14 в моём случае.
найти время
2018-11-20 21:34 Клиент-серверный сокет Как хорошо уметь читать! + 17 1 час. 11 мин.
Всё отлично, идём дальше.
найти время
2018-11-19 20:46 Клиент-серверный сокет Автоответчик + 12 27 мин.
Вывел русские символы, всё отлично, идём дальше.
найти время
2018-11-18 17:57 Дневник успеха 2018-11-18 : Начинать начинай, да смотри же — заканчивай! + 14 6 мин.
За эту неделю:

+ Я проверил 66 отчётов у 36 формулистов.

+ Я написал 13 сообщений 12 формулистам общим объёмом 5 килобукв

+ Я набрал 6 текстов:
    1 => «C# набор / Формирование массива», без ошибок
    2 => «C# набор / Вывод элементов массива», без ошибок
    3 => «C# набор / Ввод элементов матрицы», без ошибок
    4 => «C# набор / Вывод элементов матрицы», без ошибок
    5 => «C# набор / Выделение подстроки», без ошибок
    6 => «C# набор / Максимальный элемент массива», без ошибок

+ Я решил 7 задач:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Случайная задача» на 100%
    3 => «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 4 видеоурока:
    1 => «Клиент-серверный сокет / Что такое сокет» за 2 час. 35 мин.
    2 => «Клиент-серверный сокет / Простейший сервер» за 1 час. 23 мин.
    3 => «Шифрование / RSA - Де/шифровка» за 1 час. 10 мин.
    4 => «Шифрование / Ключевой обмен Диффи-Хеллмана» за 14 мин.

− Я не собрал ни одного Мегахеша :o(



2018-11-18 17:57 Дневник успеха 2018-11-11 : Тише едешь - дальше будешь. + 14 7 мин.
За эту неделю:

+ Я проверил 67 отчётов у 33 формулистов.

+ Я написал 15 сообщений 11 формулистам общим объёмом 6 килобукв

+ Я набрал 6 текстов:
    1 => «C# набор / Формирование массива», без ошибок
    2 => «C# набор / Вывод элементов массива», без ошибок
    3 => «C# набор / Ввод элементов матрицы», без ошибок
    4 => «C# набор / Вывод элементов матрицы», без ошибок
    5 => «C# набор / Выделение подстроки», без ошибок
    6 => «C# набор / Максимальный элемент массива», без ошибок

+ Я решил 7 задач:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Случайная задача» на 100%
    3 => «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 4 видеоурока:
    1 => «Шифрование / RSA - Буквы столбиком» за 29 мин.
    2 => «Шифрование / RSA - Открытый и секретный ключ» за 29 мин.
    3 => «Шифрование / RSA - Простые случайные числа» за 30 мин.
    4 => «Шифрование / RSA - Экранная форма» за 1 час. 57 мин.
    5 => «Шифрование / RSA - Идея алгоритма» за 18 мин.
    6 => «Шифрование / Поточный шифр - Дешифровка» за 54 мин.

− Я не собрал ни одного Мегахеша :o(



2018-11-18 17:48 Клиент-серверный сокет Простейший сервер + 13 1 час. 23 мин.
На данный момент происходит прослушка с любой подсети, поэтому айпи адрес на сервере не использовали. Метод accept() запускает саму прослушку и ожидание любого подключения. После того как подключение было поймано далее идёт выполнение close(), который закрывает подключение и далее завершение приложения.
найти время
2018-11-17 16:16 Клиент-серверный сокет Что такое сокет + 11 2 час. 35 мин.
Повторение мать учения!

1 - что такое клиент-серверное приложение?
клиент-серверное приложение, это когда приложение разбито на две части, одна находится на сервере, вторая раздаётся клиентам и общаются они по средствами передачи пакетов по сети.

2 - что такое серверный сокет?
серверный сокет, это по сути ПОРТ, который умеет прослушивать и создавать соединение с тем, кто на него прислал пакет.

3 - что такое сокет?
сокет это порт, при помощи которого передаются пакеты между приложениями по сети.

4 - зачем нужен айпи и сокет, чем они отличаются?
айпи это адрес в сети, обычно уникальный (про натирование не будем) по нему идентифицируется точка отправки пакетов по сети, а сокет это порт, который идентифицирует какому приложению нужно обрабатывать пришедшие пакеты.

з.ы.
отличная аналогия с почтовыми отправлениями по адресам и номерам домов.
найти время
2018-11-13 20:20 Шифрование Ключевой обмен Диффи-Хеллмана + 12 14 мин.
97 97
10 10
----------
8 22
10^8
mod 97 = 81 ->
10^22
<- mod 97 = 25
----------
25^8
mod 97 = 36
81^22
mod 97 = 36
Найти время
2018-11-12 19:36 Шифрование RSA - Де/шифровка + 15 1 час. 10 мин.
Так как был на вебинаре во время записи данных уроков, то повторение мать учения. Отличная серия уроков, всем советую, если хотите реализовать более безопасное хранение сейвов, передачу пакетов клиент-сервер или просто чатик со сквозным шифрованием.
найти время
2018-11-11 02:31 Шифрование RSA - Буквы столбиком + 17 29 мин.
Повторение мать учения, всё отлично, идём дальше.
найти время
2018-11-10 01:01 Шифрование RSA - Открытый и секретный ключ + 15 29 мин.
Повторение мать учения, идём дальше.
найти время
2018-11-09 23:28 Шифрование RSA - Простые случайные числа + 15 30 мин.
Всё отлично, идём дальше.
Найти время
2018-11-08 21:11 Шифрование RSA - Экранная форма + 11 1 час. 57 мин.
Всё отлично, повторение мать учения, идём дальше.
найти время
2018-11-07 20:55 Шифрование RSA - Идея алгоритма + 15 18 мин.
Так как был на вебинаре, повторение мать учения.
найти время
2018-11-06 17:32 Шифрование Поточный шифр - Дешифровка + 15 54 мин.
Всё отлично, идём дальше.
найти время
2018-11-05 22:44 Шифрование Поточный шифр - Шифровка + 16 21 мин.
Всё отлично, идём дальше.
найти время
2018-11-04 12:11 Дневник успеха 2018-11-04 : Мала пчелка, да и та работает. + 14 2 мин.
За эту неделю:

+ Я проверил 75 отчётов у 35 формулистов.

+ Я написал 11 сообщений 8 формулистам общим объёмом 5 килобукв

+ Я набрал 6 текстов:
    1 => «C# набор / Первая программа», без ошибок
    2 => «Java - Запуск / Скоростная Java», без ошибок
    3 => «Java - Запуск / Компиляция», без ошибок
    4 => «Java - Вывод данных / Java Keywords», без ошибок
    5 => «Java - Вывод данных / Калькулятор», без ошибок
    6 => «Java - Циклы / Java While Loops», без ошибок

+ Я решил 7 задач:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Случайная задача» на 100%
    3 => «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 6 видеоуроков:
    1 => «Шифрование / Полиалфавитный шифр Виженера» за 40 мин.
    2 => «Шифрование / Полиалфавитный шифр - Форма» за 1 час. 16 мин.
    3 => «Шифрование / Полиалфавитный шифр - Ключевая таблица» за 48 мин.
    4 => «Шифрование / Полиалфавитный шифр - Шифровка» за 37 мин.
    5 => «Шифрование / Полиалфавитный шифр - Дешифровка» за 2 час. 2 мин.
    6 => «Шифрование / Поточный шифр Виженера» за 12 мин.

− Я не собрал ни одного Мегахеша :o(

Планы на неделю:
1 - Создать видео отчёт для финального урока по курсу: "PHP графика".
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Продолжить остальные незавершённые курсы.

з.ы.
в субботу отвлёкся и совсем забыл про суточную норму, вообще если суточной нормой занялся, надо сразу выделить время и сделать, а меня отвлекли и в голове отложилось, что вроде как делал, но в итоге ничего не отправил =) чистый лист.

2018-11-04 11:36 Шифрование Поточный шифр Виженера + 13 12 мин.
УСЁНТЭОИП
з.ы.
хотел вчера заняться данным уроком, но был занят до 2 ночи, поэтому делаю сегодня.
Найти время
2018-11-02 23:04 Шифрование Полиалфавитный шифр - Дешифровка + 17 2 час. 2 мин.
По поводу обратного ключа красивая математика. Всё отлично, идём дальше.
Найти время
2018-11-01 15:37 Шифрование Полиалфавитный шифр - Шифровка + 14 37 мин.
Впереди паровоза бежать не буду, хотя и тривиальная задача, но на следующем уроке тоже надо чем то заниматься.
Реализовал проверку недопустимых символов в ключе самым простым способом.
найти время
2018-10-31 21:37 Шифрование Полиалфавитный шифр - Ключевая таблица + 11 48 мин.
Отличный урок, так же зацикливаю смещения, так что проблем не возникло. Идём дальше.
найти время
2018-10-30 23:23 Шифрование Полиалфавитный шифр - Форма + 13 1 час. 16 мин.
Периодически отвлекался, но успел доделать до конца дня. Всё отлично, идём дальше.
Найти время
2018-10-29 19:36 Шифрование Полиалфавитный шифр Виженера + 15 40 мин.
Шифровка см. скрин
Найти время
2018-10-28 17:28 Дневник успеха 2018-10-28 : У ленивой пряхи и для себя нет рубахи. + 12 1 мин.
За эту неделю:

+ Я проверил 45 отчётов у 22 формулистов.

+ Я написал 19 сообщений 13 формулистам общим объёмом 9 килобукв

+ Я набрал 8 текстов:
    1 => «Java - Запуск / public private», без ошибок
    2 => «Java - Запуск / Main», без ошибок
    3 => «Java - Запуск / Скобки», без ошибок
    4 => «Java - Запуск / String[] args», без ошибок
    5 => «Java - Запуск / System.out», без ошибок
    6 => «Java - Запуск / Главное заклинание», без ошибок
    7 => «Java - Ввод данных / Тройка чисел», без ошибок
    8 => «Java - Циклы / Java For Loops», без ошибок

+ Я решил 7 задач:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Случайная задача» на 100%
    3 => «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Шифрование / Перестановочный шифр - Форма» за 58 мин.
    2 => «Шифрование / Перестановочный шифр - 1 этап шифровки» за 2 час. 35 мин.
    3 => «Шифрование / Перестановочный шифр - Алфавитный ключ» за 1 час. 14 мин.
    4 => «Шифрование / Перестановочный шифр - 2 этап шифровки» за 2 час. 0 мин.
    5 => «Шифрование / Перестановочный шифр - 1 этап дешифровки» за 37 мин.
    6 => «Шифрование / Перестановочный шифр - 2 этап дешифровки» за 25 мин.
    7 => «Шифрование / Перестановочный шифр - Рефакторинг» за 2 час. 55 мин.

+ Я собрал 8 Мегахешей.

Планы на неделю:
1 - Создать видео отчёт для финального урока по курсу: "PHP графика".
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Продолжить остальные незавершённые курсы.

2018-10-28 17:23 Шифрование Перестановочный шифр - Рефакторинг + 11 2 час. 55 мин.
Да, не привычный урок, старого образца, явно просит разбиться на отдельные несколько уроков =)
Найти время
2018-10-27 14:36 Шифрование Перестановочный шифр - 2 этап дешифровки + 13 25 мин.
Всё отлично, повторение мать учения. Идём дальше.
Найти время
2018-10-26 20:44 Шифрование Перестановочный шифр - 1 этап дешифровки + 16 37 мин.
Всё отлично, идём дальше.
Найти время
2018-10-25 20:34 Шифрование Перестановочный шифр - 2 этап шифровки + 10 2 час. 0 мин.
Всё отлично, идём дальше.
Найти время
2018-10-24 21:34 Шифрование Перестановочный шифр - Алфавитный ключ + 10 1 час. 14 мин.
Да, для примера можно пока и такую сортировку реализовать. Всё ок, идём дальше.
найти время
2018-10-23 22:46 Шифрование Перестановочный шифр - 1 этап шифровки + 9 2 час. 35 мин.
Повторение мать учения. Идём дальше.
найти время
2018-10-22 13:34 Шифрование Перестановочный шифр - Форма + 13 58 мин.
Повторение мать учения. Идём дальше.
найти время
2018-10-21 19:56 Дневник успеха 2018-10-21 : Глазам страшно, а руки сделают. + 14 1 день 6 час. 38 мин.
За эту неделю:

+ Я проверил 98 отчётов у 37 формулистов.

+ Я написал 15 сообщений 11 формулистам общим объёмом 7 килобукв

+ Я набрал 7 текстов:
    1 => «C# набор / Вывод элементов матрицы», без ошибок
    2 => «C# набор / Вывод числа по разрядам», без ошибок
    3 => «C# набор / Выделение подстроки», без ошибок
    4 => «C# набор / Максимальный элемент массива», без ошибок
    5 => «Java - Запуск / Class!», без ошибок
    6 => «Java - Запуск / Static», без ошибок
    7 => «Java - Запуск / void», без ошибок

+ Я решил 7 задач:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Случайная задача» на 100%
    3 => «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «On-line игра / Тест обратной стороны Луны» за 39 мин.
    2 => «On-line игра / Случайное тестирование» за 23 мин.
    3 => «On-line игра / Лабиринты тестирования» за 34 мин.
    4 => «On-line игра / Поиск монеток на поле Дураков» за 1 час. 26 мин.
    5 => «On-line игра / Внутренний мир Субъекта» за 6 мин.
    6 => «On-line игра / Прогулка за ручку» за 1 час. 50 мин. (и завершил текущее состояние курса)
    7 => «Шифрование / Перестановочный шифр» за 18 мин.

+ Я собрал 46 Мегахешей.


Планы на неделю:
1 - Создать видео отчёт для финального урока по курсу: "PHP графика".
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Продолжить остальные незавершённые курсы.

2018-10-21 19:19 Шифрование Перестановочный шифр + 14 18 мин.
Да, простенькое шифрование, баловались подобными вещами в школе =)
найти время
2018-10-20 13:15 On-line игра Прогулка за ручку + 15 1 час. 50 мин.
Так как у меня используется таймер в игре и перемещение персонажа инертно в нужном направлении, поэтому у меня два метода, одни устанавливает направление движения, добавил проверки, чтобы скорость перемещения не превышала по модулю единицу.
Всё отлично, идём дальше.
найти время
2018-10-19 18:24 On-line игра Внутренний мир Субъекта + 15 6 мин.
Я думаю что это верное решение, двигаемся далее.
найти время
2018-10-18 21:28 On-line игра Поиск монеток на поле Дураков + 11 1 час. 26 мин.
Повторение мать учения, отличный урок, тесты очень важная вещь и красиво выглядят зелёные галочки. Всё отлично, идём дальше.
найти время
2018-10-17 18:45 On-line игра Лабиринты тестирования + 16 34 мин.
Всё отлично, тесты очень полезная штука, помогают отлавливать мелкие баги, опечатки и т.д.
идём дальше.
найти время
2018-10-16 16:52 On-line игра Случайное тестирование + 11 23 мин.
Так как у меня механика координат отличается, то и массив наполнен немного иными значениями для проверки.
Всё отлично, идём дальше.
найти время
2018-10-15 22:12 On-line игра Тест обратной стороны Луны + 14 39 мин.
Вот именно поэтому и нужно создавать тесты, те кто ещё не делают этого, думаю после данного урока поймут всю пользу от это деяния. Всё отлично, идём дальше.
найти время
2018-10-14 17:58 Дневник успеха 2018-10-14 : Поспешишь – людей насмешишь. + 14 18 мин.
За эту неделю:

+ Я проверил 74 отчёта у 31 формулиста.

+ Я написал 13 сообщений 7 формулистам общим объёмом 7 килобукв

+ Я набрал 7 текстов:
    1 => «C# набор / Звездочки», без ошибок
    2 => «C# набор / Обмен элементов», без ошибок
    3 => «C# набор / Разделить строку на слова», без ошибок
    4 => «C# набор / Заполнение массива», без ошибок
    5 => «C# набор / Формирование массива», без ошибок
    6 => «C# набор / Вывод элементов массива», без ошибок
    7 => «C# набор / Ввод элементов матрицы», без ошибок

+ Я решил 7 задач:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Случайная задача» на 100%
    3 => «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «On-line игра / Подходящий размер!» за 2 час. 30 мин.
    2 => «On-line игра / Правила игры» за 22 мин.
    3 => «On-line игра / Дорога из жёлтого кирпича» за 25 мин.
    4 => «On-line игра / Ищи ветра в поле» за 17 мин.
    5 => «On-line игра / Координатный рефакторинг» за 53 мин.
    6 => «On-line игра / Собери монетки» за 1 час. 25 мин.
    7 => «On-line игра / 3. Тестирование. Тестовый прогон» за 1 час. 9 мин.

+ Я собрал 74 Мегахешей.


Планы на неделю:
1 - Создать видео отчёт для финального урока по курсу: "PHP графика".
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Продолжить остальные незавершённые курсы.

2018-10-14 17:35 On-line игра 3. Тестирование. Тестовый прогон + 12 1 час. 9 мин.
Да, вручную создание тестов веселее, так как понимание как оно работает под капотом всегда полезно, тем-более для программистов =)
найти время
2018-10-13 16:39 On-line игра Собери монетки + 10 1 час. 25 мин.
Так как изначально придерживаюсь политики, что динамика со статикой не должны пересекаться и храниться в одном контейнере, то реализовал тоже самое так, что бы это работало.
Реализовал подсчёт и отображение собранных монеток.
Всё отлично, идём дальше.
найти время
2018-10-12 23:25 On-line игра Координатный рефакторинг + 14 53 мин.
Всё отлично, идём дальше.
найти время
2018-10-11 09:40 On-line игра Ищи ветра в поле + 19 17 мин.
Так как на карте статических объектов не хранятся динамические, то данная функция пригодится в будущем для поиска статики типо монеток. Всё отлично, идём дальше.
найти время
2018-10-10 19:22 On-line игра Дорога из жёлтого кирпича + 13 25 мин.
Радует, что уроки короткие, не просто перевести дух, но и времени нет в силу катастрофического наплыва работы. Так как в игре уже реализованы три вида цветовой палитры, то просто доработал версию ViewColor, добавив свитч для выборки нужной комбинации fore/back, всё отлично, идём дальше.
найти время
2018-10-09 23:43 On-line игра Правила игры + 19 22 мин.
Так как изначально все представления унаследованы от абстрактного IView, то изменения внёс только там.
По поводу курсора да, скрыть и после передачи полученного символа передать true, чтобы отменять базовые действия в консоли при данном событии, получается что обработка кастомная.
найти время
2018-10-08 22:18 On-line игра Подходящий размер! + 17 2 час. 30 мин.
Всё отлично, идём дальше.
найти время
2018-10-07 22:49 Дневник успеха 2018-10-07 : Не тот хорош, кто лицом пригож, а тот хорош, кто на дело гож. + 15 1 мин.
За эту неделю:

+ Я проверил 76 отчётов у 33 формулистов.

+ Я написал 17 сообщений 11 формулистам общим объёмом 8 килобукв

+ Я набрал 7 текстов:
    1 => «C# набор / Первая программа», без ошибок
    2 => «C# набор / Служебные слова», без ошибок
    3 => «C# набор / Определение массива», без ошибок
    4 => «C# набор / Сравнение двух целых чисел», без ошибок
    5 => «Java - Запуск / Компиляция», без ошибок
    6 => «Java - Вывод данных / Java Keywords», без ошибок
    7 => «Java - Вывод данных / Целые типы», без ошибок

+ Я решил 7 задач:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Случайная задача» на 100%
    3 => «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 6 видеоуроков:
    1 => «PHP графика / Загрузка фоновых изображений» за 1 день 21 час. 46 мин.
    2 => «PHP графика / VIP Самостоятельная работа» за 58 мин.
    3 => «On-line игра / Карта сокровищ» за 54 мин.
    4 => «On-line игра / Шаги по карте» за 13 мин.
    5 => «On-line игра / Генерация лабиринта» за 3 час. 18 мин.
    6 => «On-line игра / Координатный перебор» за 23 мин.

+ Я собрал 88 Мегахешей.

Планы на неделю:
1 - Создать видео отчёт для финального урока по курсу: "PHP графика".
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Продолжить остальные незавершённые курсы.

2018-10-07 02:28 On-line игра Координатный перебор + 16 23 мин.
По поводу разделения динамических объектов и статических я ещё на прошлом уроке говорил и пока что мысль свою не менял.
По поводу yield да, красиво и компактно.
По поводу заезда на границы вопрос решён ещё в прошлом уроке в этом всё так же отлично работает.
Всё отлично, идём дальше.
найти время
2018-10-06 16:46 On-line игра Генерация лабиринта + 14 3 час. 18 мин.
Не очень хорошая идея хранить динамические объекты на статической карте, так что персонаж у меня размечается по старинке, а карта подгружается из массива.
найти время
2018-10-05 09:43 On-line игра Шаги по карте + 19 13 мин.
Да, функционал перемещения однозначно надо объединять, чтобы в одном месте всё было и тем самым синхронизировалось. Всё отлично, идём дальше.
найти время
2018-10-04 10:21 On-line игра Карта сокровищ + 15 54 мин.
Создать экземпляр класса Level(), передав размеры new Coord(width, height), установив начальные координаты игрока через SetSubject() и далее двигать игрока по полю не забывая синхронизировать с картой при помощи Get/SetSubject()
найти время
2018-10-03 10:31 PHP графика VIP Самостоятельная работа + 17 58 мин.
Добавил в базу хранение информации о размерах сгенерированной картинки, на которую накладываются водяные знаки и/или логотип, так же размеры миниатюры для отображения в режиме каталога.
Так же провёл косметику формы редактирования/добавления, теперь всё более компактно выглядит.
Для финального урока тоже есть что добавить и показать как это работает. Всё отлично, идём дальше.
найти время
2018-10-02 13:41 PHP графика Загрузка фоновых изображений + 17 1 день 21 час. 46 мин.
Всё это реализовал ещё на прошлых уроках, объединив файле edit.php, на этот раз провёл косметику и вывод каждого этапа для наглядности, если что-то бы выдало ошибку, было бы видно в каком месте именно.
Отображаются исходные данные, они хранятся в отдельной директории, на основе записей в БД генерируются необходимые готовые картинки с наложениями либо просто водяного знака из текста, либо ещё добавляется логотип справа внизу картинки.
Двигаемся дальше.
найти время
2018-09-30 23:58 Дневник успеха 2018-09-30 : Баловством хлеба не добудешь. + 17 1 мин.
За эту неделю:

+ Я проверил 54 отчёта у 29 формулистов.

+ Я написал 17 сообщений 13 формулистам общим объёмом 6 килобукв

+ Я набрал 7 текстов:
    1 => «Java - Запуск / Скоростная Java», без ошибок
    2 => «Java - Запуск / Скобки», без ошибок
    3 => «Java - Запуск / String[] args», без ошибок
    4 => «Java - Запуск / System.out», без ошибок
    5 => «Java - Запуск / Главное заклинание», без ошибок
    6 => «Java - Циклы / Java For Loops», без ошибок
    7 => «Java - Циклы / Java While Loops», без ошибок

+ Я решил 1 задачу:
    1 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «PHP графика / Удаление записи» за 1 день 5 час. 11 мин.
    2 => «PHP графика / Редактирование - получение данных» за 51 мин.
    3 => «PHP графика / Редактирование - данные на форму» за 1 час. 16 мин.
    4 => «PHP графика / И добавлять, и редактировать» за 32 мин.
    5 => «PHP графика / Сохранение записей и изменений» за 15 мин.
    6 => «PHP графика / Просмотр полученных изображений» за 8 час. 43 мин.
    7 => «Оригами / Лягушка» за 10 час. 13 мин.

+ Я собрал 72 Мегахешей.


Планы на неделю:
1 - Закончить курс: "PHP графика".
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Продолжить остальные незавершённые курсы.

2018-09-29 02:12 PHP графика Просмотр полученных изображений + 18 8 час. 43 мин.
Реализовал всё это ещё на прошлых уроках, добавил наложение водяного знака под 45 градусов поверх картинки, дублируемое циклично по всей поверхности.
найти время,
2018-09-28 09:51 PHP графика Сохранение записей и изменений + 16 15 мин.
Реализовал данный функционал автоматом ещё на прошлых уроках, всё отлично, идём дальше.
найти время
2018-09-27 05:06 PHP графика И добавлять, и редактировать + 17 32 мин.
Реализовал это ещё на прошлом уроке, всё ок.
найти время
2018-09-27 04:32 PHP графика Редактирование - данные на форму + 16 1 час. 16 мин.
Ещё на прошлом уроке это реализовал, в данном провёл косметику. Всё отлично.
з.ы.
поработать надо над стилем кода, Валер, если всё красиво и ровно, удобнее =)
з.з.ы.
продублировалось название файла, потому что в if и просто так добавляется, надо было добавить else, чтобы не было бы проблем, я использовал тернарник.
найти время
2018-09-26 21:53 PHP графика Редактирование - получение данных + 16 51 мин.
Отличный урок, вывел массив полученной записи.
Так же реализовал аналогичную табличку о записи с отображением в ней полученных данных из БД, где имеются возможность выбора через всплывающие меню, автоматически выбирается необходимый из списка элемент, который используется в данной записи из БД.
Решил досмотреть видео до конца и чуть не поспешил, оказывается то что я планировал, надо как раз в следующем уроке делать =)
найти время
2018-09-26 10:08 Оригами Лягушка + 16 10 час. 13 мин.
Отличный урок, никакой воды, всё по делу =)
найти время
2018-09-24 23:09 PHP графика Удаление записи + 17 1 день 5 час. 11 мин.
Как всегда реализовал свою систему удаления записей через UPDATE, по средствам toggle SQL запроса, либо удалить, либо вернуть обратно, при этом сохраняется или очищается дата и время удаления в формате UNIX.
На экране удаления отображается одна записать по аналогии списка записей на форме show, так нагляднее.
Всё отлично, идём дальше.
найти время
2018-09-23 23:53 Дневник успеха 2018-09-23 : Много спать – дело не знать. + 15 3 мин.
За эту неделю:

+ Я проверил 70 отчётов у 34 формулистов.

+ Я написал 20 сообщений 17 формулистам общим объёмом 7 килобукв

+ Я набрал 7 текстов:
    1 => «C# набор / Выделение подстроки», без ошибок
    2 => «C# набор / Максимальный элемент массива», без ошибок
    3 => «Java - Запуск / Class!», без ошибок
    4 => «Java - Запуск / public private», без ошибок
    5 => «Java - Запуск / Static», без ошибок
    6 => «Java - Запуск / void», без ошибок
    7 => «Java - Запуск / Main», без ошибок

+ Я решил 4 задачи:
    1 => «Олимпиада / Факториалы» на 100%
    2 => «Олимпиада / Пятью восемь» на 100%
    3 => «Олимпиада / Простой ряд чисел» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5=> «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%
    8 => «Олимпиада / Случайная задача» на 100%
    9 => «Олимпиада / Случайная задача» на 100%
    10 => «Олимпиада / Случайная задача» на 100%
    11 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 10 видеоуроков:
    1 => «PHP парсинг XML / ФИНАЛЬНЫЙ УРОК» за 13 мин. (и закончил этот курс)
    2 => «Массивы в php 7 / ФИНАЛЬНЫЙ УРОК» за 6 дней 45 мин. (и закончил этот курс)
    3 => «Начало здесь / Переход Магистра на XL уровень.» за 24 мин.
    4 => «Бурные потоки / Замри!» за 1 час. 17 мин.
    5 => «Бурные потоки / Смысл жизни» за 43 мин.
    6 => «Бурные потоки / ФИНАЛЬНЫЙ УРОК» за 9 мин.
    7 => «Бурные потоки / VIP. Игры со словами» за 2 час. 35 мин. (и закончил этот курс)
    8 => «On-line игра / 2. Рефакторинг. Перечисление субъектов» за 14 мин.
    9 => «On-line игра / Показ героя на экране» за 15 мин.
    10 => «On-line игра / Координатная структура» за 24 мин.

+ Я собрал 74 Мегахешей.

Планы на неделю:
1 - Закончить курс: "PHP графика".
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Продолжить остальные незавершённые курсы.

2018-09-22 06:09 Бурные потоки VIP. Игры со словами + 17 2 час. 35 мин.
Решил этот урок ещё в 2016 году, когда он продавался в чашке кофе, все подробности в видео отчёте, приятного просмотра.
найти время
2018-09-21 21:51 Бурные потоки ФИНАЛЬНЫЙ УРОК + 15 9 мин.
Суперский курс, отличное пособие для тех, кто впервые изучает потоки, даётся база, от которой легко отталкиваться в нужных направлениях. см. видео. Курс полноценный, но если спросите, нужен ли курс более продвинутый, то я скажу так: "думаю никто бы не отказался от этого, поэтому вопрос сам по себе является ответом" =)
з.ы.
Больше интересных и креативных курсов на проекте ему не повредит, а только сделает лучше =)
найти время
2018-09-20 13:25 Бурные потоки Смысл жизни + 17 43 мин.
Отличное завершение замечательного мини курса. Курс хоть и короткий, но дано достаточно информации, чтобы дальше было куда пилить свои идеи. Ранее в комментариях читал, что курс кажется не завершённым, эта информация не подтвердилась, как говорится, по правилам MVP всё что нужно показано, даже немного лишнего (варианты синхронизаций). Естественно есть ещё что показать по этой теме, но тут не вторая часть нужна и не продолжение, а более развёрнутый новый курс, за основу можно и данный курс взять, либо придумать новых подопытных =)
найти время
2018-09-19 11:06 Бурные потоки Замри! + 17 1 час. 17 мин.
когда используются подобные конструкции, всегда должна быть проверка, а имеется ли вхождение в критическую секцию, поэтому добавил такую проверку и ошибки как в видео не случилось. Вариант с двойной вложенностью бесконечных циклов выглядит удручающе, но тут уже на вкус и цвет =)
найти время
2018-09-18 10:58 On-line игра Координатная структура + 20 24 мин.
Не создавал конструктор в структуре, так как атрибуты публичные, то воспользовался инициализацией объектов.
Добавил в структуру функцию Move(), тем самым код получился более компактным. см. скрин 2.
з.ы.
Структуры тоже можно создавать быстрее, см. скрин 1. Так же радует, что не приходится модифицировать каждый View, так как когда-то реализовал всё через общий абстрактный класс.
найти время
2018-09-18 10:29 On-line игра Показ героя на экране + 21 15 мин.
Так как уже давно реализовал абстрактный класс aView, от которого и наследуются остальные View, то всё заработало ещё и половины урока не прошло, минимум изменений в одном файле, вместо каждого View. Всё отлично, идём дальше.
найти время
2018-09-18 09:20 On-line игра 2. Рефакторинг. Перечисление субъектов + 20 14 мин.
Уже ранее говорил, ещё раз на скриншоте показываю где сразу можно найти нужные шаблоны для быстрого создания не только перечислений =)
з.ы.
лучше использовать целочисленные значения в перечислениях, но символы для обучения нагляднее.
найти время
2018-09-18 03:26 PHP парсинг XML ФИНАЛЬНЫЙ УРОК + 20 13 мин.
Вместо магазина использовал XML для индексирования галерей фотографий.
На данном курсе ничего нового не узнал, но повторение мать учения.
Понравилась краткость изложения, всё по делу, ничего лишнего, продолжай в том же духе, Валера.
Далее незавершённые курсы.
найти время
2018-09-17 22:45 Массивы в php 7 ФИНАЛЬНЫЙ УРОК + 17 6 дней 45 мин.
Отличный курс для новичков, хорошо раскрыты на практике основные приёмы работы с массивами. Спасибо, Валерий, продолжай создавать ещё интересные мини курсы, они помогут новичкам понять, что ничего сложного нет в программировании, достаточно фантазии и терпения.
з.ы.
На прошлой неделе открыл урок и с тех пор тикает время, подготовка и создание видео отчёта заняло в районе полу часа.
найти время
2018-09-16 20:59 Дневник успеха 2018-09-16 : Земелька черная, а белый хлеб родит. + 16 4 мин.
За эту неделю:

+ Я проверил 123 отчёта у 43 формулистов.

+ Я написал 51 сообщение 24 формулистам общим объёмом 19 килобукв

+ Я набрал 29 текстов:
    1 => «СОЛО на клавиатуре / Начинаем СОЛО марафон!», без ошибок
    2 => «СОЛО на клавиатуре / 5 уроков», без ошибок
    3 => «СОЛО на клавиатуре / 10 уроков», без ошибок
    4 => «СОЛО на клавиатуре / 15 уроков», без ошибок
    5 => «СОЛО на клавиатуре / 20 уроков», без ошибок
    6 => «СОЛО на клавиатуре / 25 уроков», без ошибок
    7 => «СОЛО на клавиатуре / 30 уроков», без ошибок
    8 => «СОЛО на клавиатуре / 35 уроков», без ошибок
    9 => «СОЛО на клавиатуре / 40 уроков», без ошибок
    10 => «СОЛО на клавиатуре / 45 уроков», без ошибок
    11 => «СОЛО на клавиатуре / 50 уроков», без ошибок
    12 => «СОЛО на клавиатуре / 55 уроков», без ошибок
    13 => «СОЛО на клавиатуре / 60 уроков», без ошибок
    14 => «СОЛО на клавиатуре / 65 уроков», без ошибок
    15 => «СОЛО на клавиатуре / 70 уроков», без ошибок
    16 => «СОЛО на клавиатуре / 75 уроков», без ошибок
    17 => «СОЛО на клавиатуре / 80 уроков», без ошибок
    18 => «СОЛО на клавиатуре / 85 уроков», без ошибок
    19 => «СОЛО на клавиатуре / 90 уроков», без ошибок
    20 => «СОЛО на клавиатуре / 95 уроков», без ошибок
    21 => «СОЛО на клавиатуре / 100 уроков», без ошибок
    22 => «C# набор / Разделить строку на слова», без ошибок
    23 => «C# набор / Заполнение массива», без ошибок
    24 => «C# набор / Формирование массива», без ошибок
    25 => «C# набор / Вывод элементов массива», без ошибок
    26 => «C# набор / Ввод элементов матрицы», без ошибок
    27 => «C# набор / Вывод элементов матрицы», без ошибок
    28 => «C# набор / Вывод числа по разрядам», без ошибок
    29 => «Java - Вывод данных / Константы», без ошибок

+ Я решил 9 задач:
    1 => «Олимпиада / Цифровые анаграммы» на 100%
    2 => «Олимпиада / Таблица квадратов» на 100%
    3=> «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%
    8 => «Олимпиада / Случайная задача» на 100%
    9 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Бурные потоки / Террариум» за 21 мин.
    2 => «Бурные потоки / Зайчики» за 19 мин.
    3 => «Бурные потоки / Питонатор» за 22 мин.
    4 => «Бурные потоки / Поворот головы» за 50 мин.
    5 => «Бурные потоки / Поток питонов» за 20 мин.
    6 => «Бурные потоки / Бурная жизнь» за 45 мин.
    7 => «Бурные потоки / Приоритет» за 50 мин.

+ Я собрал 67 Мегахешей.

Планы на неделю:
1 - Закончить курс: "Бурные потоки".
2 - Закончить курс: "PHP графика".
3 - Создать видео отчёт для финального урока по курсу: "Массивы в php 7".
4 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
5 - Создать видео отчёт для финального урока по курсу: "Сокобан".
6 - Продолжить остальные незавершённые курсы.

2018-09-16 20:51 Бурные потоки Приоритет + 15 50 мин.
Судя по тому что на видео произошло по поводу коллизии с питонами при юзе Monitor в функции добавления символа на поле, а потом обрамили Monitor'ом всё, что было связано с вычислением шага и добавлением зайца на поле и всё стало отлично, явно прослеживается различие от lock(). Всё отлично, идём дальше.
з.ы.
Не добавлял lock() в функции Info(), так как эта функция уже обрамлена ранее через Monitor в цикле и всё отрабатывает отлично.
найти время
2018-09-15 22:24 Бурные потоки Бурная жизнь + 15 45 мин.
Реализовал вероятность 50%, что кролик убежит от питона во время столкновения, всё отлично, идём дальше.
найти время
2018-09-14 22:23 Бурные потоки Поток питонов + 15 20 мин.
Отличный урок, коротко и ясно, идём дальше.
найти время
2018-09-13 23:14 Бурные потоки Поворот головы + 15 50 мин.
Рандомные цвета/направления, всё отлично, идём дальше.
з.ы.
подобное уже реализовывал пару лет назад, когда проходил урок по созданию игры: "Змейка"
найти время
2018-09-12 22:23 Бурные потоки Питонатор + 15 22 мин.
Поиск места тарта питона вынес в отдельную функцию, так же мелкие рефакторинги кода. Реализовал функцию Show(), добавил 3 питона на поле.
найти время
2018-09-11 22:13 Бурные потоки Зайчики + 17 19 мин.
Кроликов добавил ещё на прошлом уроке, на этом порефакторил проверки и функцию добавления.
найти время
2018-09-10 19:12 Бурные потоки Террариум + 16 21 мин.
Реализовал функцию размещения кроликов, ничего сложного, одна строчка разбитая по правилу 70.
Всё отлично, идём дальше.
найти время
2018-09-09 23:01 Дневник успеха 2018-09-09 : Труд человека кормит, а лень портит. + 16 3 мин.
За эту неделю:

+ Я проверил 63 отчёта у 30 формулистов.

+ Я написал кучу сообщений =)

+ Я набрал 8 текстов:
    1 => «C# набор / Первая программа», без ошибок
    2 => «C# набор / Служебные слова», без ошибок
    3 => «C# набор / Определение массива», без ошибок
    4 => «C# набор / Сравнение двух целых чисел», без ошибок
    5 => «C# набор / Звездочки», без ошибок
    6 => «C# набор / Обмен элементов», без ошибок
    7 => «C# набор / Максималка 2», без ошибок
    8 => «Java - Вывод данных / Целые типы», без ошибок

+ Я решил 7 задач:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Случайная задача» на 100%
    3 => «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 13 видеоуроков:
    1 => «Массивы в php 7 / Получение массива из массива» за 35 мин.
    2 => «Массивы в php 7 / Поиск элемента массива» за 21 мин.
    3 => «Массивы в php 7 / Навигация по массиву» за 16 мин.
    4 => «Массивы в php 7 / Сортировочный участок для массивов» за 15 мин.
    5 => «Массивы в php 7 / Слияние, замена и магический compact» за 28 мин.
    6 => «Начало здесь / День №2. Общение с Единомышленниками.» за 1 час. 1 мин.
    7 => «Начало здесь / День №3. Безошибочное владение Клавиатурой.» за 2 мин.
    8 => «Начало здесь / День №4. Развитие Алгоритмического мышления.» за 14 мин.
    9 => «Начало здесь / День №5. Создание игровых и прикладных Программ.» за 3 мин.
    10 => «Начало здесь / День №6. Регулярный и Последовательный подход.» за 3 час. 37 мин.
    11 => «Начало здесь / День №7. Подведение итогов и составление Планов.» за 1 мин.
    12 => «Начало здесь / День №8. ВИДЕОФИКСАЦИЯ УСПЕХОВ.» за 22 мин.  (и закончил этот курс раньше срока)
    13 => «Функционал / ФП - ФИНАЛЬНЫЙ УРОК» за 4 мин.  (и закончил этот курс)

+ Я собрал 100 Мегахешей.

Планы на неделю:
1 - Закончить курс: "Массивы в php 7".
2 - Закончить курс: "PHP графика".
3 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
4 - Создать видео отчёт для финального урока по курсу: "Сокобан".
5 - Продолжить остальные незавершённые курсы.

2018-09-09 22:45 Массивы в php 7 Слияние, замена и магический compact + 17 28 мин.
Да, с массивами можно творить и не такие чудеса =) всё отлично, идём дальше.
найти время
2018-09-08 00:59 Массивы в php 7 Сортировочный участок для массивов + 17 15 мин.
Сортировка полезная вещь, как и повторение мать учения. Всё отлично, идём дальше.
найти время
2018-09-07 13:15 Массивы в php 7 Навигация по массиву + 14 16 мин.
Уже использовал аналогичные вещи в одном из прошлых уроков при переборе элементов массива в цикле. Всё отлично, идём дальше.
найти время
2018-09-06 09:43 Массивы в php 7 Поиск элемента массива + 18 21 мин.
Плавным движением руки брюки превращаются... =)
Если объект в массиве не найден, то array_search() возвращает false
найти время
2018-09-06 09:18 Начало здесь День №8. ВИДЕОФИКСАЦИЯ УСПЕХОВ. + 14 22 мин.
Добрался до финального урока за 4 суток, не знаю, как так вышло, что за сутки дважды были доступны уроки, но тем не менее курс пройден, УРА! Двигаемся дальше по курсу.
найти время
2018-09-05 11:06 Начало здесь День №8. Подведение итогов и составление Планов. + 12 1 мин.
https://www.videosharp.info/10558/checking/power=2186
прикладываю отчёт прошлой недели, так как данная ещё не закончилась =)

2018-09-05 04:46 Начало здесь День №7. Регулярный и Последовательный подход. + 20 3 час. 37 мин.
на данный момент 35 байт, осталось нафармить мегахэши.
состою в КФ со дня его создания, а это было летом 2016 года.

2018-09-05 02:02 Массивы в php 7 Получение массива из массива + 18 35 мин.
Массивы отличная штука, по поводе отрицательных индексов, тоже отличная тема, если не знаешь размер массива, то чтобы взять последний элемент нужно запросить: ($arr, -1, 1). На скриншоте показал, что отсортировалась только копия массива, оригинальный остался не отсортированный.
найти время
2018-09-04 15:53 Начало здесь День №5. Создание игровых и прикладных Программ. + 13 3 мин.
https://www.videosharp.info/10558/checking/lambda=826
Набрал сегодня 140 байт.

2018-09-04 06:55 Функционал ФП - ФИНАЛЬНЫЙ УРОК + 18 4 мин.
Отличный курс, но маленький, можно было ещё лучше раскрыть идею ФП. Лямбды и LINQ в целом отличные инструменты. Так как по времени курс не большой, то советую всем пройти, чтобы добавить знаний в копилку.
найти время
2018-09-04 04:30 Начало здесь День №4. Развитие Алгоритмического мышления. + 18 14 мин.
уже 31 байт, но отправив данный отчёт и разместив ссылку в соц. сети будет 40, суточная норма.

2018-09-03 17:35 Начало здесь День №3. Безошибочное владение Клавиатурой. + 17 2 мин.
16 подходов 159 сим/мин 5 байт

2018-09-03 00:33 Начало здесь День №2. Общение с Единомышленниками. + 21 1 час. 1 мин.
https://www.videosharp.info/19869/checking/game0=1602

2018-09-02 20:45 Дневник успеха 2018-09-02 : Кто любит труд, того люди чтут. + 18 1 мин.
За эту неделю:

+ Я проверил 67 отчётов у 28 формулистов.

+ Я написал кучу сообщений =)

+ Я набрал 7 текстов:
    1 => «Java - Запуск / Скоростная Java», без ошибок
    2 => «Java - Запуск / System.out», без ошибок
    3 => «Java - Запуск / Компиляция», без ошибок
    4 => «Java - Вывод данных / Java Keywords», без ошибок
    5 => «Java - Вывод данных / Калькулятор», без ошибок
    6 => «Java - Циклы / Java For Loops», без ошибок
    7 => «Java - Циклы / Java While Loops», без ошибок

+ Я решил 7 задач:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Случайная задача» на 100%
    3 => «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Массивы в php 7 / Сравнение массивов» за 36 мин.
    2 => «Запуск пакета / День №1. Создание микро-Привычки.» за 1 мин.
    3 => «Бурные потоки / Вступление» за 22 мин.
    4 => «Функционал / ФП - Калькулятор» за 52 мин.
    5 => «Функционал / ФП - Сортировка списка» за 1 час. 16 мин.
    6 => «Функционал / ФП - Свой метод Where» за 17 мин.
    7 => «Функционал / ФП - Короткое замыкание» за 1 час. 20 мин.

+ Я собрал 83 Мегахешей.

Планы на неделю:
1 - Закончить курс: "Массивы в php 7".
2 - Закончить курс: "PHP графика".
3 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
4 - Создать видео отчёт для финального урока по курсу: "Сокобан".
5 - Продолжить остальные незавершённые курсы.

2018-09-02 20:39 Начало здесь День №1. Создание микро-Привычки. + 16 1 мин.
5 отчётов == 5 байт

2018-09-01 22:28 Бурные потоки Вступление + 18 22 мин.
Голову как минимум добавить надо, чтобы видно было чем он лопает =) всё отлично, идём дальше.
найти время
2018-08-31 03:34 Функционал ФП - Короткое замыкание + 23 1 час. 20 мин.
Да, напомнило сразу JavaScript, но так же напомнило и SQL, там тоже можно создавать процедуры, которые служат по сути для того же.
найти время
2018-08-30 22:31 Функционал ФП - Свой метод Where + 19 17 мин.
Уже знал, да и применяли не раз в курсе "Онлайн шахматы", так что ничего сложного не было, идём дальше.
найти время
2018-08-29 23:50 Функционал ФП - Сортировка списка + 20 1 час. 16 мин.
Отличный плагин, но в 2017 он уже встроенный.
найти время
2018-08-28 23:30 Функционал ФП - Калькулятор + 20 52 мин.
На видео 23 и 37 строчки идентичные, естественно ответ будет тоже идентичным.
з.ы.
По данному видео я понял окончательно как Ермишин стал знаменитым на данном проекте. Повезло ему, что в то время меня ещё не было на проекте =) сейчас за такое в чате на вебинаре можно получить как минимум кляп, вопрос был простой, поставьте плюсик все, кто это пишет впервые, он флудит по полной, совсем с логикой не дружит, не впервые, так молчи, условие же не выполнилось.
найти время
2018-08-27 23:33 Массивы в php 7 Сравнение массивов + 20 36 мин.
Исходя из документации PHP, функции array_diff() и array_diff_key() отрабатывают верно. Возвращается массив со значениями, которых нет во втором передаваемом массиве или значения отличаются. Т.е. мы смотрим, что есть в первом массиве и если во втором массиве этого нет, то добавляем в результирующий массив и так далее. Если во втором массиве есть куча всего, чего нет в первом, это игнорируется. Сравнивается ли то, что имеет в первом массиве, всё просто, это уже знал ранее, удобная функция. Очень легко можно находить объекты массива, которые изменились в процессе каких либо действий в той или иной ситуации, особенно если идёт асинхронная работа с массивом и нужно мониторить что поменялось и обновлять информацию минимальными затратами.
з.ы.
пример:
имеем массив футбольных команд, делается копия массива на начало месяца, в процессе месяца каждая из команд играют игры, обновляют каждая свою информацию по играм асинхронно, а чтобы увидеть какие команды имеют какие отличия от начала месяца по текущий момент, используем данную функцию, возвращаются нужные данные, которые потом легко обработать относительно копии на начало месяца и видеть постоянно актуальную информацию на текущий момент.
з.з.ы.
ждём продолжение банкета =) по поводу футбольной БД на постгрес в том числе даю намётки =)
найти время
2018-08-26 17:43 Дневник успеха 2018-08-26 Вот и лето прошло... + 16 3 мин.
За эту неделю:

+ Я проверил 89 отчётов у 31 формулиста.

+ Я написал кучу сообщений =)

+ Я набрал 7 текстов:
    1 => «Java - Запуск / public private», без ошибок
    2 => «Java - Запуск / Static», без ошибок
    3 => «Java - Запуск / void», без ошибок
    4 => «Java - Запуск / Main», без ошибок
    5 => «Java - Запуск / Скобки», без ошибок
    6 => «Java - Запуск / String[] args», без ошибок
    7 => «Java - Запуск / Главное заклинание», без ошибок

+ Я решил 7 задач:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Случайная задача» на 100%
    3 => «Олимпиада / Случайная задача» на 100%
    4 => «Олимпиада / Случайная задача» на 100%
    5 => «Олимпиада / Случайная задача» на 100%
    6 => «Олимпиада / Случайная задача» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Массивы в php 7 / Инструменты, профили и проект» за 41 мин.
    2 => «Массивы в php 7 / Создание массивов» за 18 мин.
    3 => «Массивы в php 7 / Перебор элементов массива for» за 19 мин.
    4 => «Система Git / pingwin» за 29 мин.
    5 => «Система Git / remote merge» за 26 мин.
    6 => «Система Git / win final» за 13 мин.
    7 => «Система Git / ФИНАЛЬНЫЙ КУРС» за 1 час. 12 мин.
    и записал видео отчёт по курсу "Система Git", завершив его полностью

+ Я собрал 107 Мегахешей.

Планы на неделю:
1 - Закончить курс: "Массивы в php 7".
2 - Закончить курс: "PHP графика".
3 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
4 - Создать видео отчёт для финального урока по курсу: "Сокобан".
5 - Продолжить остальные незавершённые курсы.

2018-08-26 05:08 Массивы в php 7 Перебор элементов массива for + 16 19 мин.
Работа с массивами это самое весёлое в PHP =)
Реализовал перебор через foreach ещё на прошлом уроке, на данном уроке добавил перебор через for, чтобы результаты были аналогичными.
Всё отлично, идём дальше.
найти время
2018-08-25 23:19 Массивы в php 7 Создание массивов + 16 18 мин.
Повторение мать учения. Всё отлично, идём дальше.
найти время
2018-08-24 23:39 Массивы в php 7 Инструменты, профили и проект + 15 41 мин.
Пора изучать фишки PHP 7.
найти время
2018-08-23 18:21 Система Git ФИНАЛЬНЫЙ КУРС + 16 1 час. 12 мин.
Прошёл весь курс по ссылке в последнем уроке, см. скриншот.
Отличный курс, более полный чем прошлый, намного подробнее всё разжёвано, идея делать тоже самое по старинке отличная. Всё познаётся в сравнении. В курсе по ссылке тоже не всё раскрыто, но в любом случае база отличная. В будущем можно будет дополнить уроками с использованием фетч при работе с форками. Хотя получив такую базу, изучить далее фишки гита уже будет не сложно, главное было бы желание.
Спасибо, идея и курс порадовали.
найти время
2018-08-22 20:19 Система Git win final + 17 13 мин.
Да, определённо делать тоже самое через git намного удобнее, даже svn удобнее чем ручной метод, хоть он и олдскульный, но явно по скорости уступает, а про крупные проекты я вообще молчу, надо будет прибегать к сторонним ПО, чтобы было удобнее переносить конфликтные строки. Курс явно лучше прежнего, более подробный и наглядный, поглядим, что там по ссылке.
найти время
2018-08-21 15:01 Система Git remote merge + 16 26 мин.
Ну в целом урок отличный, но всё крутилось вокруг одного аккаунта, а ремоут подразумевает использование второго аккаунта, у которого нет доступа к основному и он может максимум форкнуться, вносить изменения, создавать ветки, в ремоут держать основную репу с которой форкнулся и периодически обновляя её через фетч, мержить со своими наработками и пушить в свою репу, после чего на основной репе появляется кнопочка отправить на рассмотрение наработки, где могут быть комментарии, обсуждение и кодревью. Когда всех всё устраивает, создатель основной репы подтверждает предложенный код и он отправляется со всей его историй в основную репу основной ветки мастер. Судя по тому, что это предпоследний урок, данной красоты тут не предвидится, ну моглядим, что там в интерактивной курсе по ссылке в последнем уроке покажут.
найти время
2018-08-20 19:44 Система Git pingwin + 16 29 мин.
Первым делом создал ветку для пингвина и увидел, что в уроке изначально этого не было сделано и подумал, ну в отчёте напишу, что так делать не надо, не правильный подход, а потом это было исправлено и не зря, в команде никто тебе не даст напрямую изменения пушить в мастер ветку, если ты не создатель репы или если тебе не предоставили такие привилегии создатели, обычно такого не бывает, каждый из участников разработки создают себе форки и отправляют ветки для одобрения в мастер, если всё ок, их одобряют и пушат в ветку мастер, если что-то не понравится до пуша, об этом прокомментируют с указанием на участок кода или в целом на идею коммита, если же ошибки обнаружат после пуша, то опять же всё зависеть будет от их критичности и как следствие от быстрого хотфикса, до отката коммита может дойти.
найти время
2018-08-19 22:41 Дневник успеха 2018-08-19 Отчёт за неделю + 18 20 мин.
За эту неделю:

+ Я проверил 180 отчётов у 46 формулистов.

− Я не написал ни одного сообщения :o(

+ Я набрал 7 текстов:
    1 => «C# набор / Вывод элементов массива», без ошибок
    2 => «C# набор / Ввод элементов матрицы», без ошибок
    3 => «C# набор / Вывод элементов матрицы», без ошибок
    4 => «C# набор / Вывод числа по разрядам», без ошибок
    5 => «C# набор / Выделение подстроки», без ошибок
    6 => «C# набор / Максимальный элемент массива», без ошибок
    7 => «Java - Запуск / Class!», без ошибок

+ Я решил 1 задачу:
    1 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Система Git / git push clone» за 18 мин.
    2 => «Система Git / hippo git fetch pull» за 25 мин.
    3 => «Система Git / git branch lion» за 43 мин.
    4 => «Система Git / git branch giraffe» за 15 мин.
    5 => «Система Git / git merge giraffe lion» за 12 мин.
    6 => «Система Git / win merge» за 12 мин.
    7 => «Новые технологии / VIP урок. Игра Жизнь» за 1 час. 44 мин.

+ Я собрал 77 Мегахешей.

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

Планы на неделю:
1 - Закончить курс: "Система Git".
2 - Закончить курс: "PHP графика".
3 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
4 - Создать видео отчёт для финального урока по курсу: "Сокобан".
5 - Продолжить остальные незавершённые курсы.

2018-08-19 22:11 Система Git win merge + 18 12 мин.
Ну естественно git намного удобнее, чем вручную это всё перетасовывать, это пока мало строк, а если проект крупный, очень много времени будет уходить. Всё познаётся в сравнении!
найти время
2018-08-18 12:32 Система Git git merge giraffe lion + 16 12 мин.
С нетерпением ждал данного урока по мержу, очень рад, что всё сделано верно, данный курс явно лучше прежнего, лучше проработан, по поводу фетча пока лишь затронули ранее, надеюсь раскроется реальное применение, если нет, будет ещё что показать в доп. уроках, так как пользуюсь им часто и он вторая ступень в купе с мержем.
Всё отлично, идём дальше.
найти время
2018-08-17 19:26 Система Git git branch giraffe + 16 15 мин.
Всё отлично, назревает конфликт =)
найти время
2018-08-16 18:40 Система Git git branch lion + 15 43 мин.
Подкорректировал батник под новую структуру папок, так же добавил новый батник, который используется из папки stage, нужной ветки, получается так же в один клик переключение между ветками.
Повторение мать учения, всё отлично идём дальше.
найти время
2018-08-15 18:14 Новые технологии VIP урок. Игра Жизнь + 17 1 час. 44 мин.
просто БОМБОВЫЙ урок, спасибо огромное, не мало я времени провёл, больше всего отняло время функция на основе динамического программирования, до утра просидел но довёл до конца, мысленно всё было реализовано, надо было отточить и обкатать, в итоге что классическая функция, что на основе динамик. программирования работают идеально при этом поле теперь единое целое, без границ, что очень хорошо видно на видео приложенном к данному заданию
з.ы.
ничего нигде не подглядывал, сам сидел всю ночь до утра и пилил, выпито: 1 литр кофе
сделал иконку в фотошопе, так же сделал анимашку для показа пошагово как рисовал на поле в клеточку
Урок был выполнен ещё в далёком 2016 году: https://www.videosharp.info/10558/checking/bilife=130
Тогда я попрактиковался в динамическом программировании, чтобы зациклить игровое поле.
2018-08-14 21:59 Система Git hippo git fetch pull + 15 25 мин.
Повторение, мать учения.
з.ы.
git fetch используется для других задач, в нашем случае он немного не в тему, а чтобы корректно обновить мастер после использования git fetch придумали git merge, но в нашем случае лучше воспользоваться git pull
з.з.ы.
Один из примеров использования git fetch, это когда ты воркнул чужую рему и решил её допиливать по своему, а в ремоуте держишь репу, с которой форкнулся, чтобы всегда легко и быстро держать свой репу в актуальном состоянии и разрешать конфликты при мерже, так как это ведь твоя репа - тебе и флаг в руки =)
найти время
2018-08-13 19:28 Система Git git push clone + 16 18 мин.
Предпочитаю использовать ssh версию адреса для работы с внешними репозиториями, чтобы спрашивало только пароль.
Всё отлично, идём дальше.
найти время
2018-08-12 23:43 Дневник успеха 2018-08-12 Отчёт за неделю + 16 7 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
3 - 5 уроков по курсу: "Система Git" (новая версия курса).
з.ы.
прокладка локальной сети в новом офисе одного из клиентов.
чистка и настройка нескольких рабочих ПК +ноутбук одному из клиентов.
выбор, закупка, сборка, настройка и диагностика нового ПК на заказ.
разработка адаптивного сайта на заказ.
Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Закончить курс: "Система Git".
4 - Закончить курс: "PHP графика".
5 - Продолжить остальные незавершённые курсы.
2018-08-12 23:26 Система Git git ignore + 16 47 мин.
Повторение мать учения, всё отлично, идём дальше.
найти время
2018-08-11 14:43 Система Git git commit zebra + 17 21 мин.
Повторение мать учения, но я архивирую корень папки stage, без добавления её самой в архив, это более корректно.
Так же продемонстрировал несколько вариантов вывода логов, они пригодятся, когда будем разглядывать ветки.
Всё просто, идём дальше.
найти время
2018-08-09 22:03 Система Git git commit reset diff + 16 15 мин.
Повторение мать учения, всё отлично, идём дальше.
найти время
2018-08-08 22:56 Система Git git add checkout + 19 13 мин.
Повторение мать учения, всё просто. идём дальше.
найти время
2018-08-07 18:56 Система Git git init + 18 12 мин.
Да, лучше не лазить там, где не понимаете что происходит и зачем оно. хотя сам я давно уже в папке .git корректирую настройки под себя. если ранее локальный репозиторий был настроен неверно.
Раз уж мы создали репозиторий git через баш, то и для win решил так же создать, явно видно. что это немного дольше, чем команда git init =)
Всё отлично, идём дальше.
найти время
2018-08-06 00:14 Дневник успеха 2018-08-05 Отчёт за неделю + 18 18 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
3 - 1 олимпиадную задачу.
4 - 1 урок по курсу: "Карточки памяти" и завершил его полностью, записав видео-отчёт (случайно заметил, что появился финальный урок по данному курсу).
5 - 5 уроков по курсу: "Лендинг на YII2" и завершил доступные на данный момент уроки.
6 - 1 урок по курсу: "Система Git" (уже данный курс проходил, теперь появилась новая версия данного курса).
з.ы.
ещё бы минут 10 и успел бы с суточной нормой и отчётами, день был очень насыщенный, как всегда с ВС.
Починил Мультиварку, пару наушников, два телефона на базе Android, один iPhone и один ноутбук.
Сварил рассольник (люблю готовить).
куча других домашних дел и походов по магазинам.

2018-08-06 00:05 Система Git Добро пожаловать в Зоопарк! + 18 11 мин.
Эх, ещё бы минут 10 и успел бы в концу недели завершить суточную норму. Ну значит пойдёт в зачёт к следующей =)
найти время
2018-08-04 16:14 Лендинг на YII2 Создание лендинг-страницы - анимация логотипа + 17 40 мин.
Переключил в конфиге на ru-RU язык сайта, как видно внизу, теперь пишет по русский: "Работает на Yii...".
Добавил анимацию для логотипа, изначальное невидимое состояние вынес в css файл.
Всё просто, идём дальше.
найти время
2018-08-03 19:42 Лендинг на YII2 Создание лендинг-страницы - структура лендинга и дизайн заголовка + 19 2 час. 48 мин.
Добавил 8 битный шрифт, чтобы подчеркнуть стиль.
Добавил два логотипа, один как картинка по центру, зуммируется в зависимости от размера экрана, второй как фон для секции приклеенный к правому нижнему углу, знаменитые цветные полосы.
Вынес стили лендинга в отдельный файл, так же добавил поддержку изменения размеров шрифта в зависимости от размеров экрана, внёс щепотку адаптивности.
Всё отлично, идём дальше.
найти время
2018-08-02 17:52 Лендинг на YII2 Создание лендинг-страницы - дизайн базового представления + 18 40 мин.
Имя сайта изменил через конфиг.
Вместо index возвращает landing страничку.
Закомментировал остальные пункты меню (контроллер пока не чистил).
Изменил текст в футере.
Всё просто, идём дальше.
найти время
2018-08-01 18:40 Лендинг на YII2 Настройка ссылок + 19 18 мин.
Повторение мать учения.
найти время
2018-07-31 22:12 Лендинг на YII2 Создание пустого сайта на YII2 + 17 40 мин.
После прохождения уже не раз пошагового создания сайта с использованием Yii2, было не сложно скачать архив и распаковать, прописав рандомный код для куки.
Всё просто, идём дальше.
найти время
2018-07-30 14:43 Карточки памяти ФИНАЛЬНЫЙ УРОК + 20 41 мин.
Так же случайно заметил, что в данном курсе добавили пункт: "Финальный урок" и из-за этого курс стал не пройденным полностью =)
Решил исправить это досадное недоразумение.
На видео продемонстрировал три версии: Windows, WebGL и Android.
Кто хочет поиграть в данную демо-версию, можете это сделать по данному адресу:
http://dizzy-memory.jgp.su/
Отличный курс и портирование на Юньку его только улучшило.
найти время
2018-07-29 23:00 Дневник успеха 2018-07-29 Отчёт за неделю + 18 9 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
3 - 1 урок по курсу: "Шарики" и завершил его полностью (случайно заметил, что один урок не доделан по данному курсу).
4 - 2 урока по курсу: "Футбольная база" (изучаем СУБД: Postgresql) и завершил доступные на данный момент уроки.
5 - 4 урока по курсу: "Мат Конём и Слоном" и завершил его полностью (не прошло и двух лет).

Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Закончить курс: "PHP графика".
4 - Продолжить остальные незавершённые курсы.
2018-07-29 22:48 Мат Конём и Слоном VIP урок с ладьёй + 18 1 час. 17 мин.
Послушал идею, пробежался по коду сам, везде подправил где надо, потом досмотрел видео, всё отлично, курс завершён, отличные алгоритмы, комбинаторика это сила. Советую всем, кому интересны изящные решения и финты ушами. Курс гениальный.
найти время
2018-07-28 17:06 Шарики VIP. Запуск игры на iPhone и Android + 19 2 час. 8 мин.
Обновил Юньку до 2018.2.1, обновил Android SDK до самой последней версии, но Юньке нужна именно 26 версия, поставил и её.
Запустил игру на своём планшете с Андроид версии 4.1.2 без проблем, экран отлично адаптировался, музычка играет.
найти время
2018-07-27 14:15 Мат Конём и Слоном ФИНАЛЬНЫЙ УРОК + 19 9 мин.
Замечательный курс, наконец я его закончил, а то на данном проекте столько вкусностей постоянно новых выходит, частые вебинары, рук не хватает всё охватить и сразу, поэтому данный курс был отложен и наконец завершён спустя пару лет. Луче поздно, чем никогда.
Вперёд, к VIP уроку.
найти время
2018-07-26 19:54 Мат Конём и Слоном Чёрно-белый слон + 19 27 мин.
Отличная оптимизация с использованием отзеркаливания.
Всё отлично, движемся к финалу.
найти время
2018-07-25 19:58 Мат Конём и Слоном Последний ход + 20 1 час. 5 мин.
Цвета вынес в стили CSS, покраска всех лучших ходов отдельным цветом реализовал ещё на прошлых уроках.
Всё отлично, идём дальше.
найти время
2018-07-24 23:04 Футбольная база Вы хорошо сохранились? + 20 2 час. 2 мин.
Консоль как всегда рулит, так же столкнулся с особенностями psql версии 10.х, сторонний софт не адекватно отрабатывает либо вообще с БД. либо не может делать бэкапы.
pgAdmin который шёл в комплекте с OpenServer устаревший оказался для 10.х версии сервера, поэтому скачал самый последний pgAdmin с официального сайта, но консоль всё равно понравилась больше, через неё даже можно сохранять БД в текстовом формате, к которому привык ещё в MySQL.
Всё отлично, идём дальше.
найти время
2018-07-23 12:43 Футбольная база Массивные игроки + 19 33 мин.
Использовал все виды заполнения данных в зависимости от необходимости.
Добавил всех футболистов сборной России и Испании.
Всё отлично, идём дальше.
найти время
2018-07-22 20:57 Дневник успеха 2018-07-22 Отчёт за неделю + 22 4 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
3 - 8 уроков по курсу: "On-line игра".
4 - 6 уроков по курсу: "Футбольная база" (изучаем СУБД: Postgresql).
Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Закончить курс: "Мат Конём и Слоном".
4 - Закончить курс: "PHP графика".
5 - Продолжить остальные незавершённые курсы.
2018-07-22 20:40 Футбольная база Добавляем всё! + 22 3 час. 21 мин.
Отвлекался несколько раз, поэтому время завышенное =)
Занёс данные по своей схеме, поэтому поле побольше, чем в уроке, но в будущем их будет ещё больше.
С флагом Англии пришлось повозиться, в стандартном наборе был флаг только Великобритании, был очень удивлён беспризорности Англии.
Всё отлично, идём дальше.
найти время
2018-07-21 23:08 Футбольная база Представление имеем и ... используем + 19 2 час. 46 мин.
Скачал иконки стран мира и разместил их в папке images/flags/*.png
Реализовал адаптивный дизайн отображения таблицы групп (похож на гугловский).
В бд пока заполнены только первые две группы, так же нумерация реализована по аналогии с гугловской, от 1 до 4 в каждой группе.
Интересная штука View в постгресе, мне понравилось.
Всё отлично, идём дальше.
найти время
2018-07-20 21:01 Футбольная база Команды - в массив + 19 1 час. 14 мин.
Заполнил только первые две группы А и B, они и отобразились при запросе из БД.
В запросе использовал альясы, удобная штука, позволяет укорачивать запросы.
Всё супер, идём дальше.
з.ы.
как видно из запроса, у меня путь до получения данных о стране не такой короткий, но красивый.
найти время
2018-07-19 22:27 Футбольная база Подключение php к postgresql + 17 43 мин.
Реализовал по аналогии с MySQL, использовав свой шаблон.
Вынес подключение к БД в отдельный файл.
Добавил иконки.
Всё просто, идём дальше.
найти время
2018-07-18 21:40 On-line игра Игра в библиотеке + 19 13 мин.
Вынес в библиотеку логику Game, интерфейс IView и абстрактный класс aView.
Всё просто, ждём продолжения.
найти время
2018-07-18 21:24 On-line игра Видный интерфейс + 18 28 мин.
Реализовал абстрактный класс aView, реализующий интерфейс IView.
Реализовал ещё один ViewInvers, которые меняет местами фон и шрифт, получается фон белый, шрифт чёрный, см. скриншот.
Использование абстрактного класса полезно для устранения дубликатов кода.
Всё отлично, идём дальше.

найти время
2018-07-18 20:52 On-line игра Цветной телевизор + 18 19 мин.
Реализовал вспомогательные функции установки цвета.
Устранил баг заливки фона консоли при перемещении объекта, см. скриншот.
Напрашивается обобщение View через интерфейс или абстрактный класс.
Всё отлично, идём дальше.
найти время
2018-07-18 19:10 On-line игра Контроллер не спешит + 18 48 мин.
Реализовал постоянное движение в заданном направлении. см. видео.
Реализовал проверку, чтобы не объект не выходил за пределы игрового поля.
Записал демонстрационное видео по удалёнке через Тимку, как будто я дома, а не в Саратовской области =)
Всё просто, идём дальше.
найти время
2018-07-18 17:17 On-line игра Модель игры + 19 18 мин.
Так как это всё было реализовано ранее в общем классе, то просто перенёс код в новый класс Game.
Всё отлично, идём дальше.
з.ы.
Инкапсуляция воплоти =)
найти время
2018-07-18 15:51 On-line игра Представление выделяется + 18 20 мин.
Вынес инициализацию в отдельный метод.
Убрал мигающий курсор из консоли.
Экземпляр класса View и координаты x, y сделал глобальными.
Всё отлично, идём дальше.
найти время
2018-07-18 13:40 On-line игра Марионетка + 18 53 мин.
Если ничего не нажимается на клавиатуре, то перерисовка в консоли не осуществляется.
Всё отлично, идём дальше.
найти время
2018-07-18 12:41 On-line игра 1. Консольная игра. Добро пожаловать! + 18 19 мин.
Начало положено, идём дальше.
з.ы.
так как ещё не известно, что получится, название может быть любым техническим, тогда не будет ограничиваться воображение.
найти время
2018-07-17 22:50 Футбольная база Остальные таблицы и замена на поле + 16 32 мин.
Создал все таблицы со своей версии схемы БД.
Всё отлично, идём дальше.
найти время
2018-07-16 22:04 Футбольная база Таблица Players - игроки из pgAdmin + 17 1 час. 52 мин.
Добавил новый справочник roles, добавив новую колонку в таблице players, где хранятся связи со справочником.
Добавил всю сборную России, см. скриншот.
Всё отлично, идём дальше.
найти время
2018-07-15 21:13 Дневник успеха 2018-07-15 Отчёт за неделю + 18 4 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
3 - 4 урока по курсу: "Мат Конём и Слоном".
4 - 4 урока по курсу: "Футбольная база" (изучаем СУБД: Postgresql).
Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Закончить курс: "Мат Конём и Слоном".
4 - Закончить курс: "PHP графика".
5 - Продолжить остальные незавершённые курсы.
2018-07-15 21:01 Футбольная база Таблица Commands - пас кодировками + 17 49 мин.
Урок полезный, по поводу кодировки, но я ещё в прошлых уроках заметил комментарий по поводу кодировки и поэтому перед тем как работать переключал кодировку в консоли на 1251 и далее уже добавлял записи с кириллицей. (см. скриншот)
найти время
2018-07-14 12:39 Футбольная база Таблица Groups: коварный id + 16 37 мин.
Уже прослеживается принципиальная разница между MySQL, но пока не критичная, даже где-то логичная, некоторые вещи мне понравились, например, запрос на возврат отработки транзакции либо не запрашивать значение, это очень пригодится при работе с БД.
Так же поддерживается добавление сразу нескольких значений за одну транзакцию, что тоже отлично и не удивительно.
Вообще судя по тому, что я самостоятельно покопал, мне очень понравилось, чувствуется динамичность запросов, нет жёсткой логики, это приятно.
Всё отлично, идём дальше.
найти время
2018-07-13 10:25 Мат Конём и Слоном Чёрные ходы на доске + 17 28 мин.
Всё отлично, идём дальше. Немного порефакторил функцию, чтобы не дублировать вызов методов.
найти время
2018-07-12 21:58 Мат Конём и Слоном Сериализация Json + 17 4 час. 14 мин.
Присваиваемые стили вынес в файл CSS стилей.
Так же добавил поддержку подсвечивания лучшего хода если таких более одного. (см. скриншот)
Всё отлично, идём дальше.
найти время
2018-07-11 18:00 Футбольная база Создание базы данных + 19 18 мин.
Да, отличия в синтаксисе имеются, но логика пока схожа с MySQL, всё отлично, идём дальше.
найти время
2018-07-10 14:09 Мат Конём и Слоном Дружба PHP с JavaScript + 20 59 мин.
Все функции PHP реализованы в отдельном файле и подключается там где необходимо.
Все функции JavaScript так же вынесены в отдельный файл и подключается по тому же принципу.
Координаты не стал использовать глобально, реализовал их передачу в виде параметров.
Использовал свои наработки по проверке передаваемых числовых данных с поддержкой любого числа, даже которое выходит за рамки обычного понимания.
Всё отлично, идём дальше.
найти время
2018-07-10 12:37 Футбольная база Структура турнирной таблицы + 20 3 дня 14 час. 54 мин.
Последняя неделя очень нагруженная, уже дважды не сплю вторые сутки, работа кипит, отличная идея, свои идеи (точнее реализацию БД) изложил на скриншоте =)
з.ы.
устранил недочёты в схеме с типами связок айди, спасибо всем, кто обратил внимание. Так же нашёл ещё недочёт в типах айди событий и доп. полей. Проверил остальное, вроде теперь всё в схеме, дальнейшие дополнению будут в процессе прохождению курса.
найти время
2018-07-09 07:01 Мат Конём и Слоном Создание PHP функций + 16 1 час. 43 мин.
Вынес функции PHP в отдельный файл.
Создал отдельный файл test.php для тестирования новых функций.
Немного порефакторинг проект.
Всё отлично, идём дальше.
найти время
2018-07-09 04:18 Дневник успеха 2018-07-08 Отчёт за неделю + 17 1 час. 8 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
3 - 5 уроков по курсу: "SQL - ничего лишнего".
4 - 2 урока по курсу: "Футбольная база" (изучаем СУБД: Postgresql).
з.ы.
Записан видео отчёт по курсу: "SQL - ничего лишнего".
Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Создать видео отчёт для финального урока по курсу: "Сокобан".
3 - Закончить курс: "Мат Конём и Слоном".
4 - Закончить курс: "PHP графика".
5 - Продолжить остальные незавершённые курсы.
2018-07-08 13:41 SQL: ничего лишнего Группировки и функции + 17 2 час. 21 мин.
Отличный курс, ничего лишнего, база подана отлично, новичкам рекомендую, отлично провёл время при выполнении уроков.
Структуру БД реализовал так как трактует мне личный опыт, поэтому запросы отличаются от тех, что были в уроках, но сути это не меняет, главное поставленная задача выполнена.
Всем приятного просмотра, вторые сутки без сна сказались на качестве отчёта, но в целом мысль передал и на видео выполнил задачи последнего урока.
найти время
2018-07-07 23:21 Футбольная база Установка Postgresql + 17 34 мин.
Так как в OpenServer имеется данная СУБД, то решил воспользоваться ею, при этом подключился через Navicat, думаю можно использовать не только его, но так как я им пользуюсь уже более 11 лет, то привык и он поддерживает управление многими популярными СУБД. Так же и из консоли OpenServer подключился, см. скриншот. Всё отлично, идём дальше.
з.ы.
с сайта я тоже скачал дистрибутивы, но в зипе, стараюсь не пользоваться инсталяторами, если есть зип версия.
найти время
2018-07-05 23:33 SQL: ничего лишнего Модификация таблицы + 16 54 мин.
Добавил новую таблицу book_prices, где хранятся записи о ценах и с какого времени они внедрены, чтобы если была необходимость, можно было отобразить прошлую цену или историю изменения цен книги.
Так же добавил поле count для хранения количества данной книги в наличии.
Всё отлично, идём дальше.
найти время
2018-07-04 19:29 SQL: ничего лишнего Редактирование и удаление + 17 21 мин.
Не люблю удалять записи из БД, лучше всего помечать их как удалённые по времени, после чего можно как угодно проверять наличие удалённых записей доп условием, к примеру, отображать все записи и удалённые не более 15 минут назад, чтобы можно было отменить удаление. Как видно из скрина номер 2, транзакция работает в тагл режиме, либо удаляется, устанавливая текущее время удаления, либо отменяет удаление, обнуляя поле, после того как запись уже давно удалена, можно реализовать систему REUSE для подобных полей, чтобы перезаписать значения эмитируя добавление новой записи и обнуляя поле удаления. Специально для того, чтобы избегать фрагментации БД и соответственно падения производительности.
найти время
2018-07-03 23:38 SQL: ничего лишнего Могучий JOIN + 17 20 мин.
Всё отлично, идём дальше.
найти время
2018-07-02 23:02 SQL: ничего лишнего SELECT математика текст и NOT + 17 9 мин.
Всё отлично, идём дальше.
найти время
2018-07-01 21:14 Дневник успеха 2018-07-01 Отчёт за неделю + 18 1 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
3 - 3 урока по курсу: SQL - ничего лишнего.
4 - 4 урока по курсу: Мат Конём и Слоном.
Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Закончить курс: PHP графика.
3 - Продолжить остальные незавершённые курсы.
2018-07-01 21:04 SQL: ничего лишнего Select начало + 18 18 мин.
Повторение мать учения.
найти время
2018-06-30 23:49 SQL: ничего лишнего Добавление книг и тем + 16 2 час. 5 мин.
Добавил несколько книг, авторов и тем. Так же добавил связи между ними в спец. таблицы. Всё отлично, идём дальше.
з.ы.
в таблицу books добавил поле year, для хранения года создания/первой публикации.
найти время
2018-06-29 23:58 Мат Конём и Слоном Четыре фигуры на доске + 16 1 час. 29 мин.
Всё отлично, идём дальше.
найти время
2018-06-28 22:39 SQL: ничего лишнего План базы данных и создание таблиц + 16 1 час. 23 мин.
Ничему новому, всё пройденный этап, единственное создал вспомогательные таблицы для нормализации, чтобы была поддержка нескольких авторов и тем для одной книги, так же это устраняет избыточность БД.
найти время
2018-06-27 02:07 Мат Конём и Слоном План визуализации + 18 25 мин.
Курс "Нано-шахматы" пройден ещё в июле 2016 года, так что UI имеется =) всё отлично, идём дальше, новые идеи могут родится в процессе разработки.
найти время
2018-06-26 18:49 Мат Конём и Слоном Игра без массива + 18 20 мин.
Отличный урок, присутствовал на вебинаре во время его записи, идём дальше.
найти время
2018-06-25 20:00 Мат Конём и Слоном Шестнадцать мегабайт + 18 45 мин.
После того как вы изменили find = true; и закомментировали цикл на время тестирования без проверки корректности хода, обратно вы только раскомментировали цикл, а переменную find забыли вернуть в состояние false; поэтому и не срабатывала проверка на валидность хода короля. Всё отлично, идём дальше.
найти время
2018-06-24 20:26 Дневник успеха 2018-06-24 Отчёт за неделю + 17 18 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
3 - 3 урока по курсу: PHP графика.
4 - 2 урока по курсу: SQL - ничего лишнего.
5 - 2 урока по курсу: Мат Конём и Слоном.
Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Закончить курс: PHP графика.
3 - Продолжить остальные незавершённые курсы.
2018-06-24 18:19 SQL: ничего лишнего Запуск mysql-консоли и создание базы данных + 17 5 мин.
Повторение мать учения, идём дальше.
найти время
2018-06-23 23:03 SQL: ничего лишнего Инструменты и доступ + 16 5 мин.
Так как пути прописаны в PATH, то не нужно было переходить в папку мускуля, чтобы узнать его версию =) всё отлично, идём дальше.
найти время
2018-06-22 23:40 PHP графика Таблица записей в index + 15 1 час. 24 мин.
Вынес необходимый функционал работы со статикой и генерацией путей в отдельные функции.
В БД хранятся индексы статичных данных, которые используются при генерации исходного изображения.
Таблица show.php отображает данные о компонентах, которые используются для генерации исходного изображения.
Всё реализовал вначале сам, потом посмотрел видео.
Всё отлично, идём дальше.
найти время
2018-06-21 23:54 PHP графика Добавление данных в БД + 15 48 мин.
Всё отлично, реализовал добавление записей, потом посмотрел видео, идём дальше.
найти время
2018-06-20 18:09 Мат Конём и Слоном Экономия памяти + 17 52 мин.
Так как присутствовал на вебинаре при записи уроков, то проблем с реализацией Save() и 32 не возникло, см. скриншот.
Функцию Load() оставил на потом, чтобы было чем заняться.
найти время
2018-06-19 19:04 Мат Конём и Слоном Сериализация матрицы ходов + 22 48 мин.
Продолжаем потихоньку проходить пройденное. Отличная оптимизация с 1,3гиг до 90мб, но это не предел, так как я был на том вебинаре, всё отлично, идём дальше.
найти время
2018-06-18 16:28 PHP графика Форма Edit + 20 1 час. 5 мин.
Как я ранее говорил, в процессе реализации может появиться необходимость в модификации и/или дополнения, что и вышло, см. скриншот.
Это не окончательная версия, так что движемся дальше.
найти время
2018-06-17 22:35 Дневник успеха 2018-06-17 Отчёт за неделю + 23 5 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
3 - 2 урока по курсу: PHP графика.
4 - 5 VIP уроков по курсу: Шахматы по сети (закончил курс).
з.ы.
Наконец закончил курс из 95 уроков: Шахматы по сети. Эпичный курс, всем советую, очень много полезного узнаете для себя.
Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Закончить курс: PHP графика.
3 - Продолжить остальные незавершённые курсы.
2018-06-17 21:50 PHP графика Несколько SQL-запросов + 22 22 мин.
Повторение мать учения =)
Всё отлично, идём дальше.
найти время
2018-06-16 19:59 PHP графика Правильные шрифты + 24 11 мин.
Так как это всё используется мной уже давно и в данном курсе это использовано на прошлых уроках, то просто посмотрел видео и добавил к тексту кириллицу для теста корректного отображения кодировки.
Всё супер, идём дальше.
найти время
2018-06-15 22:39 Шахматы по сети VIP. Меню DimanDOSа + 24 27 мин.
Так как меню добавил уже давно, доработки для видео-отчёта к финальному уроку https://www.videosharp.info/10558/checking/chess3=2004
Поэтому данное видео просто посмотрел, молодец, Дим, продолжай в том же духе =)
з.ы.
Замечательный курс, всем советую, отличный опыт и практика, дальше завершение начатых курсов.
найти время
2018-06-14 23:26 Шахматы по сети Рефакторинг. Последний аккорд + 20 41 мин.
Очень объёмный курс как по количеству уроков, так и по количеству затрагиваемых технологий. Курс однозначно не для новичков, советую для начала прокачать навыки по C# как минимум, потом уже браться за данный курс, тут очень много подводных камней, особенно к концу курса, зато если вы его пройдёте, получить отличный опыт. Всем спасибо и удачи.
з.ы.
по поводу данного урока, это всё было проделано ещё к финальному уроку, поэтому просто посмотрел. Кстати, там же ещё добавить надо проверку на стадию выбора повышения пешки, пока не выбрал в кого превратиться, чтобы тоже ничего не перерисовывало.
найти время
2018-06-13 23:57 Шахматы по сети Рефакторинг. Финальное причёсывание + 17 40 мин.
Всё отлично, идём дальше.
найти время
2018-06-12 21:09 Шахматы по сети Рефакторинг. Двухэтажное превращение + 19 2 час. 22 мин.
Так как уже давно поддержка сети и помимо этого множество свои доработаток, функции, которые необходимо было реализовать в уроке у меня выглядят чуток иначе.
Отличный урок для проверки своих навыков по рефакторингу того, что у тебя может отличаться кардинально, добавил по этому поводу комментарий к уроку.
Всё отлично, идём дальше.
найти время
2018-06-11 22:47 Шахматы по сети Рефакторинг. Класс шахматной игры + 20 1 час. 16 мин.
Так как уроки по рефакторингу были записаны перед тем как разработали функционал игры по сети, а один из уроков был перенесён выше, то в этом уроке немало не стыковок по коду с тем, что имеем на текущий момент. Поэтому добавил к описанию информацию по этому поводу для тех, у кого не очень много опыта и могут запутаться в коде. В любом случае, для тех, кто владеет ситуацией и достаточно опытен, что понимает то, что происходит на экране, без труда справится с задачей, особенно если имеются собственные наработки.
Всё отлично, идём дальше.
найти время
2018-06-10 23:16 Дневник успеха 2018-06-10 Отчёт за неделю + 18 7 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
4 - 1 урок по курсу: PHP графика.
5 - 13 VIP уроков по курсу: Шахматы по сети (почти закончил курс).
з.ы.
Так же записал видео-отчёт по курсу: Шахматы по сети.
Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Закончить курс: PHP графика.
3 - Продолжить остальные незавершённые курсы.
2018-06-10 23:03 Шахматы по сети Рефакторинг. Потерянная пешка + 18 2 час. 10 мин.
Урок конечно длинный, не привычно после череды коротких, но зато эпичный, отлично показаны будни отлавливания багов и обдумывание их решений.
Всё отлично, идём дальше.
найти время
2018-06-10 20:44 Шахматы по сети Рефакторинг. Волшебник изумрудного ящика + 18 1 час. 0 мин.
Всё отлично, идём дальше.
найти время
2018-06-10 18:06 Шахматы по сети Рефакторинг. Хоровод из четырёх фигур + 17 1 час. 58 мин.
Всё отлично, идём дальше.
найти время
2018-06-10 00:18 Шахматы по сети Рефакторинг. Шахматная независимость + 18 27 мин.
Так как в данном уроке код пересекается с собственными доработками, то так же передаю нужно ли помечать клетки или нет, после того как было снята пометка со всех клеток, к примеру: не ваш ход или игра ещё не началась, поиск соперника и т.д.
Всё отлично, идём дальше.
найти время
2018-06-09 23:41 Шахматы по сети Рефакторинг. Клетка в клетке + 17 21 мин.
Всё отлично, идём дальше.
найти время
2018-06-09 23:16 Шахматы по сети Рефакторинг. Спрайт, не дай себя заинтерфейсить + 17 17 мин.
Всё отлично, идём дальше.
найти время
2018-06-09 22:55 Шахматы по сети Рефакторинг. Вынос переноса + 18 23 мин.
Всё отлично, идём дальше.
найти время
2018-06-09 22:23 Шахматы по сети Рефакторинг. Многоклеточная сущность + 18 19 мин.
Всё отлично, идём дальше.
найти время
2018-06-09 21:50 Шахматы по сети Рефакторинг. Ящик с фигурами + 18 20 мин.
Всё отлично, идём дальше.
найти время
2018-06-09 20:45 Шахматы по сети Рефакторинг. Интерфейсная прослойка + 18 1 час. 13 мин.
Всё отлично, идём дальше.
найти время
2018-06-08 23:09 Шахматы по сети Рефакторинг. Чёрный ящик + 25 59 мин.
Всё отлично, идём дальше.
найти время
2018-06-07 22:13 Шахматы по сети Рефакторинг. Координатные трансформации + 25 1 час. 6 мин.
Всё отлично, идём дальше.
найти время
2018-06-06 20:13 Шахматы по сети Рефакторинг. С чего начать? + 26 27 мин.
Во время рефакторинга как минимум надо разделить код по логике: рендеры, работа со звуком, работа с меню и т.д. по отдельным файлам/классам.
Начало положено, идём дальше.
найти время
2018-06-05 23:36 Шахматы по сети Клиент. ВОСЬМОЙ ФИНАЛЬНЫЙ УРОК + 26 7 мин.
Бомбовый курс, один их флагманов данного проекта, советую абсолютно всем, кто заинтересован в понимании создании онлайн проекта с нуля и до финального состояния.
Внедрил системы поиска противника, ожидание начала игра. Как только нашлись двое желающих, игра начинается.
Добавил поддержку звуковых эффектов и музыки, так же возможность их отключать/включать.
Добавил меню для настройки пользователя, которым хотите играть, каждый пользователь имеет уникальный идентификатор.
Добавлена поддержка параллельных игр разными пользователями.
Добавлена поддержка https протокола, безопасность не бывает лишней.
Удачного просмотра видео.
найти время
2018-06-04 23:21 PHP графика Рефакторинг & connect + 25 20 мин.
Рефакторинг уже был проведён ранее в процессе написания, но вынес сгенерированные картинки в отдельную папку, чтобы не перемешивались с исходниками.
Файл подключения к БД реализовал по своему, см. скриншот, для больше наглядности и дебага проблем с подключением к БД.
Размер шрифта водяного знака увеличил с 15 до 25, см. скриншот.
Всё отлично, идём дальше.
найти время
2018-06-03 23:01 Дневник успеха 2018-06-03 Отчёт за неделю + 26 8 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
4 - 3 урока по курсу: PHP Повелитель дат (закончил курс).
5 - 4 урока по курсу: PHP графика.
Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Закончить курс: PHP графика.
3 - Записать видео отчёт по курсу: Онлайн шахмат.
4 - Продолжить остальные незавершённые курсы.
2018-06-03 22:24 PHP графика Создание базы данных + 26 39 мин.
Создал таблицу images, где поля назвал по аналогии с задачей, на данный момент такова:
images        <-- название таблицы с данными о расположении картинок и их атрибутов для генерации.
id                              <-- классическое поле, он уникальный идентификатор записи в таблице.
name                        <-- имя файла картинки исходника.
path                          <-- путь где лежит исходная картинка.
watermark_text        <-- если значение установлено, накладывается как водяной знак поверх исходной картинки.
watermark_img        <-- если значение установлено, накладывается как водяной знак поверх исходной картинки.

в процессе структуру таблицы может быть изменениа/оптимизирована.
найти время
2018-06-02 10:59 PHP графика Открытку в студию + 25 26 мин.
Всё это сделал ещё на прошлом уроке и даже больше, тут лишь подгрузил фоном картинку, водянки как видим красиво располагаются поверх логотипа проекта.
И да забыл, ещё в прошлый раз использовал кастомный шрифт ttf, так же ещё с прошлого раза сохранялась картинка в формате jpg, а при загрузке проверялся формат картинки png, jpg или gif и выбирался тип загрузки изображения, чтобы не было казусов с прозрачностью и т.д. В общем функцию изначально реализовал ещё гдето в 2010 году, до сих пор актуальна, но решил чуток модифицировать, добавив настройку размера шрифта водянки, относительно шрифта и интервалы задаются при генерации сетки расположения текста. Так же поддержка установки угла строки водянки от 0 до 90 градусов. Я использовал в уроке угол 45 градусов. Сохраняются сгенерированныйе файлы в туже папку с исходной картинкой и с тем же именем, откуда и подгружается в html для вывода результата. Так же отображается выше отображения картинки строка результата работы генератора, удалось или нет. Так как если скормить не поддерживаемый формат, уже выдаст ошибку о том, что не удалось. Есть выбор цвета заливки фона, на который будет накладываться текст и/или подгружаемое изображение.
з.ы.
Так как в функции всё вычисляется относительно выбранного размера исходной картинки, то и логотип, который подгрузился для фона, расположился по центру картинки, так как оказался меньше результируюшего размера, если бы картинка была больше чем окончательный размер, то она была бы подогнана пропорционально.
найти время
2018-06-01 21:24 PHP графика Надпись - в картинку + 25 1 час. 41 мин.
После того как реализовал многие плюшки, решил кое что упростить, а кое что отключить, чтобы было что делать в след. уроках.
заставить себя упростить ранее созданную функцию для данных задач.
2018-05-31 23:25 PHP графика Где находится библиотека + 25 7 мин.
Всё просто, идём дальше.
найти время
2018-05-30 22:25 PHP Повелитель дат Дату - в массив + 26 46 мин.
Отличный видео курс, маленький но удаленький!!! Каждому кто занимается разработкой в бекенде на php пригодится однозначно, часто бывает, что информация о дате предоставляются в специфическом формате и парсить её по шаблону проще пареной репы. Очень полезные знания для каждого, а особенно приятно, что это на php, один из любимых языков бекенда. Спасибо, Валерий, отличные пирожки печёшь =)
найти время
2018-05-29 23:49 PHP Повелитель дат Туда, сюда, обратно... + 26 28 мин.
Да, отличный функционал, удобно и просто, идём дальше.
найти время
2018-05-28 20:56 PHP Повелитель дат Произвольная дата + 26 14 мин.
Отличный урок, ранее уже это использовал, повторение мать учения. движемся дальше.
найти время
2018-05-27 21:15 Дневник успеха 2018-05-27 План на следующую неделю + 25 7 мин.
На неделе было выполнено:
1 - 7 случайных консольных задач.
2 - 7 наборов соло-программиста.
3 - 2 VIP урока по курсу: Шарики.
4 - 3 урока по курсу: PHP Повелитель дат.
5 - 4 урока по курсу: PHP парсинг XML.
Планы на неделе:
1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML.
2 - Закончить курс: PHP Повелитель дат.
3 - Записать видео отчёт по курсу: Онлайн шахмат.
4 - Продолжить остальные незавершённые курсы.
2018-05-27 20:59 PHP Повелитель дат Неделя по-русски + 25 1 час. 2 мин.
В уроке использовалось время в формате UNIX, это количество секунд от 1 января 1970 года, а не миллисекунды, ошибочка =)
Но так как по заданию нужно было вывести именно в миллисекундах, то я реализовал две функции, одна из которых показывает количество миллисекунд от 1 января 1970 года, другая показывает в микросекундах.
Всё просто, идём дальше.
найти время
2018-05-26 15:30 Шарики VIP. Интерфейс пользователя на Unity + 26 6 час. 31 мин.
Отвлекался, но всё же портировал часть наработок, остальное оставил на следующий урок, чтобы было чем заняться.
Реализовал адаптивность под разные разрешения.
Портировал звуковые эффекты и музычку.
Всё отлично, идём дальше.
найти время
2018-05-25 17:59 PHP Повелитель дат Разбор форматов + 32 16 мин.
"G" это 24-часовой формат без нуля спереди, т.е. от 0 до 23, а "H" тоже самое, только с нулём спереди, от 00 до 23, этот вариант мне больше нравится.
Всё просто, идём дальше.
найти время
2018-05-24 22:44 PHP Повелитель дат Текущее время проекта + 28 10 мин.
вывод месяца сделал числовое, первым идёт год, привычка именно так сортировать.
Часы вывел в 24-ом формате.
Всё просто, идём дальше.
найти время
2018-05-23 09:06 PHP парсинг XML Редактируем и сохраняем + 22 53 мин.
Как видно из скриншотов, дата изменения файла отличается до и после редактирования.
Циферки которые выводились, это количество байт, которое было записано в xml файл, очень полезная инфа.
Использовал её после процесса редактирования, как видно из скриншота.
Мелкие доработки и марафет.
Отличный урок как всегда.
найти время
2018-05-23 07:54 PHP парсинг XML Волшебная ссылка + 22 42 мин.
Реализовал ещё на прошлом уроке, в этом чуток порефакторил, добавив доп. проверки и преобразования строки к числу =)
найти время
2018-05-22 17:52 Шарики VIP. Рефакторинг Библиотеки + 24 2 час. 48 мин.
Всё отлично, аккуратно вынес логику не затрагивая свои наработки, двигаемся дальше.
найти время
2018-05-22 12:22 PHP парсинг XML Готовим форму + 25 1 час. 50 мин.
Добавил передачу айди через GET запрос, всё просто, идём дальше.
найти время
2018-05-21 11:39 PHP парсинг XML Хаос - в таблицу + 24 22 мин.
Реализовал генерацию немного иначе, выглядит веселее, как мне кажется.
Всё просто, идём дальше.
найти время
2018-05-20 14:26 Дневник успеха 2018-05-20 Отчёт за неделю + 22 6 мин.
На неделе было выполнено:
7 случайных консольных задач.
7 наборов соло-программиста.
1 урок по курсу: Мат Конём и Слоном.
6 уроков по курсу: PHP парсинг XML.
з.ы.
по мере свободного времени работаю над "Онлайн шахматами" (подготовка для видео отчёта)
найти время
2018-05-20 14:11 PHP парсинг XML Универсальный рефакторинг + 22 46 мин.
Ничего нового, реализовал генерацию имени файла на основе текущей даты и времени, так же если было указано имя файла, добавляется разделитель и само имя после даты и времени для более удобной сортировки при просмотре содержимого директории.
Для более компактного списка передаваемых параметров использовал передачу продукта в виде массива.
На скриншоте продемонстрирована генерация файлов при добавлении имени и без.
найти время
2018-05-19 18:30 PHP парсинг XML Изменяемый XML + 26 31 мин.
Всё просто, идём дальше.
найти время
2018-05-18 23:52 PHP парсинг XML Функциональный функционал - в функции + 25 26 мин.
Ничего нового, всё супер, идём дальше.
найти время
2018-05-17 11:50 PHP парсинг XML Чтение из XML-файла + 28 43 мин.
Всё отлично, идём дальше.
найти время
2018-05-16 19:50 PHP парсинг XML Создание XML-файла + 27 39 мин.
Всё отлично, идём дальше.
найти время
2018-05-15 23:37 PHP парсинг XML Создание проекта + 24 14 мин.
Всё это было установлено уже давно, так как активно в этом работаю.
По поводу кодировки, у меня сразу корректно отобразило кириллицу, так как в самом сервере настроено, чтобы сразу выдавало сайты в utf8 кодировке, ибо другие не использую.
найти время
2018-05-14 23:12 Мат Конём и Слоном Нано Шахматы + 25 13 мин.
Курс "Наношахмат" пройден уже давно, ссылка на финальный урок с видео отчётом: https://www.videosharp.info/10558/checking/chess=861
пункты от 0 до 6 сделано, от 7 до 9 что-то припоминаю, но точно не помню когда и в каком курсе это реализовали, в любом случае, далее по ходу это будет реализовано, повторение мать учения =)

найти время
2018-05-13 19:07 Дневник успеха 2018-05-13 Отчёт за неделю + 23 5 мин.
На неделе было выполнено:
7 случайных консольных задач.
7 наборов соло-программиста.
2 урока по курсу: Мат Конём и Слоном.
3 урока по курсу: Карточки памяти.
2 урока по курсу: Портфолио на Bootstrap.
з.ы.
Выполнил новые уроки по курсу: "Карточки памяти" и завершил на данный момент этот курс.
Полностью завершил курс: "Портфолио на Bootstrap".
Выполнил первую половину курса: "Мат Конём и Слоном", отправив отчёт за полуфинал.
найти время
2018-05-13 06:14 Мат Конём и Слоном ПОЛУФИНАЛЬНЫЙ УРОК + 23 16 мин.
Первая половина очень насыщена. Задействован нестандартный подход к решению, использовал yield, что очень интересно, так же задействована система очередей, что тоже не мало важный факт в доп. практике.
Так как я был почти два года назад на вебинарах, во время которых записывалась данная часть курса, то затруднение никаких не вызвало, наоборот, спустя время данный уроки стали ещё понятнее и яснее, практика сила!!! =)
найти время
2018-05-12 21:15 Мат Конём и Слоном Мат в 33 хода. + 25 1 час. 27 мин.
Реализовал вывод на русском с корректным окончанием числительных.
Проверки первые 4 комбинации из видео всё 1х1 и заодно демонстрация числительных.
Доп. задания не делал и так урок затянутый, записывался пару лет назад, теперь уроки короче и это радует, больше времени и сил на самостоятельную работу.
найти время
2018-05-11 04:42 Карточки памяти VIP-загрузка на Android + 25 21 мин.
Доработал поддержку любых разрешений экрана устройств без нарушения пропорций объектов игры.
Реализовал поддержку звуковых эффектов и музыкального сопровождения.
Протестировал на всех доступных разрешениях в самой Юньке и на своём планшете, см. видео.
Проблем с которыми столкнулись в видео не возникало, кроме поддержки прозрачности в некоторых файлах, но это можно отдельно подправить именно для Android устройств, выбрав необходимый формат перекодирования графики.
найти время
2018-05-10 06:10 Карточки памяти Неуловимая птичка + 23 2 час. 51 мин.
Перенёс свои наработки, адаптировал их под реалии Юньки, всё отлично работает.
Музыку, звуки и т.д. фишки пока не стал реализовывать, а то появятся новые уроки и будет нечем заняться.
По поводу видео у меня произошло дежавю, так как уже аналогичные телодвижения с подключением dll в проект на Юньке делали в недавнем курсе по "Онлайн шахматам" и я уже высказал своё мнение по этому поводу, поэтому могу лишь добавить, что у меня проблем не возникло как и в прошлый раз, заняло это пару кликов. Жду дальнейшие уроки по украшательствам, чтобы внедрить идеи и реализовать поддержку звуковых эффектов.
найти время
2018-05-09 03:54 Карточки памяти Открытие по щелчку + 27 18 мин.
Реализовал при клике по кнопкам, отображение картинок за шторками и цикличность анимации шторок.
Не переносил необходимые картинки на пол за пределами камеры, реализовал это через префабы, удобная штука.
Реализовал загрузку всех текстур картинок и кадров анимации шторок во время запуска игры.
Всё отлично, идём дальше.
найти время
2018-05-09 00:59 Портфолио на Bootstrap Делаем главную страницу + 27 4 час. 41 мин.
Отличный мини курс по бутстрапу, отличная практика, вторая часть напрашивается по php для создание простого движка для генерации данных страниц. Так сказать для наглядности, чтобы показать, что ручное наполнение сайта это уже не наш метод =)
з.ы.
когда закончил, увидел, что уже 9 число, не успел вовремя залить отчёт, ну и ладно. =)
найти время
2018-05-07 16:11 Портфолио на Bootstrap Оформляем footer + 30 1 час. 0 мин.
Немного провёл косметику футера, чтобы выглядело веселее.
Как всегда отличный урок, всё супер, идем к финалу.
найти время
2018-05-06 21:47 Дневник успеха 2018-05-06 Отчёт за неделю + 24 4 мин.
На неделе было выполнено:
7 случайных консольных задач.
9 наборов соло-программиста.
1 урок по курсу: Базовый ASP.ект.
4 урока по курсу: Карточки памяти.
5 уроков по курсу: Портфолио на Bootstrap.
з.ы.
Выполнил новые уроки по курсу: Курс "Карточки памяти" и завершил на данный момент этот курс.
найти время
2018-05-06 21:38 Портфолио на Bootstrap Работа над ошибками + 23 9 мин.
Да, так намного лучше, плюс в прошлом уроке был лишний класс описан в CSS, забыл совсем об этом сказать, когда пытались увеличить размер иконки скачивания или ссылки на внешний сайт.
Так же добавил и ссылку на скачивание и ссылку на внешний сайт для каждой из работа.
Всё супер, идём дальше.
найти время
2018-05-05 23:40 Портфолио на Bootstrap Подробности в модальное окно + 23 1 час. 40 мин.
Добавил 5 работ, ещё не все, остальные будут добавлены позже, когда доберёмся до php =) такие вещи удобнее генерировать, ибо очень много избыточности ручной.
найти время
2018-05-04 23:47 Базовый ASP.ект Выбор темы для проекта + 24 19 мин.

Каталог шедевров игровой индустрии различных платформ за всю историю человечества, авторский проект личного мнения (эдакий клуб по интересам).

Пока основные вещи, которые нужно реализовать.

/ - главная страница.
/add - добавить новую запись с выбором пункта платформы.
/hide - удалить запись из общего доступа.
/search - поиск по всем платформам

/<платформа> - полный список игр данной платформы.
/<платформа>/add - добавить запись в данную платформу.
/<платформа>/search - поиск по данной платформе.

найти время
2018-05-03 10:07 Карточки памяти Горизонтальное и Вертикальное + 23 12 мин.
Так как это всё проделал ещё на прошлом уроке, то просто просмотрел видео.
Идея интересная, но так как я реализовал по своему, а именно, чтобы поле и картинки сохраняли свои пропорции, то на свою реализацию у меня ушло несколько минут.
найти время
2018-05-03 09:53 Карточки памяти Авоська картинок + 23 31 мин.
Эксперименты штука хорошая. Грид использовать не стал, хотя идея интересная, но решил реализовать поддержку любых разрешений экрана и отображение поля через канвас со спрайтами.
Использовал так же кнопки, но для другой задачи, реализую систему анимации через них =)
Так же реализовал автоматическую подгонку игрового поля во весь экран без изменения пропорций игрового поля.
найти время
2018-05-03 03:15 Карточки памяти Запуск Unity с картинками + 23 13 мин.
Всё отлично, идём дальше.
найти время
2018-05-03 03:01 Карточки памяти Персональные картинки + 23 12 мин.
Такс, новые 4 урока, отлично, движемся.
з.ы.
Новые картинки не хочу, хочу Диззи =)
найти время
2018-05-02 22:53 Портфолио на Bootstrap Размещение работ портфолио + 24 4 час. 40 мин.
Урок как всегда на высоте, всё разжёвано от и до. Всё отлично, идём дальше.
Найти время
2018-05-01 18:54 Портфолио на Bootstrap Рефакторинг страницы + 28 46 мин.
Подключил два шрифта, один для всего сайта, второй для логотипа.
Подключение использовал через CSS, чтобы не захламлять HTML код.
Всё отлично, идём дальше.
найти время
2018-04-30 22:11 Портфолио на Bootstrap Подготовка картинок для портфолио + 28 1 час. 19 мин.
Поднял свои старые архивы сайтов, сделал 14 скриншотов и их уменьшенных копий, я пользую другой программой для пакетного преобразования, называется: FastStone Image Viewer, имеются ещё аналоги, но они для более крупного количества графических файлов подходят. Всё отлично, идём дальше.
Найти время
2018-04-29 23:55 Дневник успеха 2018-04-29 Отчёт за неделю + 22 2 мин.
На неделе было выполнено:
7 случайных консольных задач.
7 наборов соло-программиста.
1 урок по курсу: Лендинг на YII2.
1 урок по курсу: Наноигры.
3 урока по курсу: Карточки памяти.
3 урока по курсу: Портфолио на Bootstrap.
з.ы.
Курс "Карточки памяти" завершён на данный момент.
найти время
2018-04-29 23:49 Портфолио на Bootstrap Фиксированная панель и субменю + 22 31 мин.
Надеюсь к хеадеру вернёмся, а то он за фиксированным меню спрятался и не отображается.
А так всё ок, движемся дальше.
найти время
2018-04-28 12:22 Лендинг на YII2 Тема и структура лендинг-страницы + 27 26 мин.
Лендинг штука хорошая, всё отлично, идём дальше.
найти время
2018-04-27 03:17 Карточки памяти Класс в Библиотеке + 21 21 мин.
Так как уже подобное реализовывал сам, то и данный урок выполнил самостоятельно, потом посмотрел, как видно из скриншота, библиотека в данном случае автоматически копируется рядом с бинарником игры и именно оттуда и берётся референс, а не с папки проекта самой библиотеки.
И второе уточнение, версия библиотеки не обязательно должна быть такой же как и версия приложения/игры, но она должна быть не выше, т.е. я сделал версию библиотеки 3.5, а версию игры оставил 4.5 и всё работает отлично. Это логично, так как проект, который использует новую версию или туже, он понимает свои версии и ниже, а проект к которому подключена более современная библиотека, он не понимает что с ней делать.
найти время
2018-04-27 02:53 Карточки памяти Классовая независимость + 22 1 час. 3 мин.
Перенести логику не составило труда, вначале это сделал, потом досмотрел видео.
Оптимизировал создание новой игры, теперь закрывают только те окошки, которые в момент создания новой игры были открыты.
Изза того, что у меня реализована анимация открывания/закрывания шторок, то пришлось устранить слишком раннюю замену перемешанных картинок, чтобы в момент закрывания шторок не подглядеть кто где в новой игре =)
Поддержка звуковых эффектов осталась не перенесённой.
Поддержку анимации перенёс в класс логики.
Реализовал необходимые геттеры/сеттеры для получения информации о игровой статистике.
Всё отлично, идём дальше.
найти время
2018-04-27 01:46 Карточки памяти Независимый класс + 22 44 мин.
Так как я реализовал игрушку по своему с кучей доработок, то у меня индексы клеток от 0 до 15 и при клике по правой-нижней клетке появляется окно победы и играет музыка =)
Всё отлично, идём дальше.
найти время
2018-04-26 20:31 Портфолио на Bootstrap Навигационное меню + 22 26 мин.
Отличный урок, разжёвывание каждой строчки очень кстати, идём дальше.
найти время
2018-04-25 09:43 Нано-игры VIP урок. Игра 2048 + 25 22 мин.
Всё отлично, данную игрушку уже реализовывал.
найти время
2018-04-24 23:18 Портфолио на Bootstrap Структура сайта и сетка + 23 36 мин.
айди уникальный, а класс можно использовать сколько угодно раз.
айди используются для якорей.
всё отлично, идём дальше.
найти время
2018-04-23 21:51 Портфолио на Bootstrap Начало - подключение bootstrap + 23 32 мин.
Всё отлично, идём дальше.
найти время
2018-04-22 19:16 Дневник успеха 2018-04-22 Отчёт за неделю + 24 3 мин.
На неделе было выполнено:
7 случайных консольных задач.
7 наборов соло-программиста.
1 урок по курсу: Лендинг на YII2.
1 урок по курсу: Базовый ASP.ект.
1 урок по курсу: Карточки памяти.
4 урока по курсу: Мат Конём и Слоном.
з.ы.
Курс "Карточки памяти" завершён на данный момент.
найти время
2018-04-22 16:18 Мат Конём и Слоном 156 матов в полтора хода + 23 1 час. 6 мин.
Отличный урок, всё супер. идём дальше.
найти время
2018-04-21 02:13 Мат Конём и Слоном Консольная шахматная доска + 25 31 мин.
Всё отлично, идём дальше.
з.ы.
так как я использую git, то на скриншоте видно, что 612 суток назад были последние изменения в коде, т.е. как я ранее говорил, почти 2 года назад =)
найти время
2018-04-20 11:08 Карточки памяти Алгоритм игры + 26 29 мин.
Так как реализовал эту игру ещё летом 2016, а по текущему курсу это зафиксировано в прошлом уроке, то прикрепляю видео отчёт о проделанной работе.
з.ы.
подробное описание доработок в прошлом уроке.
найти время
2018-04-19 17:58 Мат Конём и Слоном Белая коробка + 21 47 мин.
Всё отлично, идём дальше.
найти время
2018-04-18 23:36 Мат Конём и Слоном Генерация белых ходов + 22 48 мин.
Спустя полтора года продолжение курса очень ностальгично =)
Всё отлично, идём дальше.
з.ы.
так как присутствовал во времена создания данного курса на вебинарах, то вся C# часть является повторением.
найти время
2018-04-17 10:36 Базовый ASP.ект Мы начинаем ASP.NET с MVC + 24 12 мин.
Чем больше ты изучаешь какую либо технологию и чем больше ты проникаешься её идеей и той самой сути для чего она была создана, тем больше тебе эта технология начинает нравится, особенно если ты понимаешь, где и как её можно применить. Отлично, идём дальше.
найти время
2018-04-16 01:19 Лендинг на YII2 О лендингах и фреймворке + 21 27 мин.
Так как давно уже стоит PhpStorm, кстати, тоже версия 2017.2.1, до сих пор не обновлял и так же OpenServer тоже имеется, то проблем с данными вещами не возникло. Движемся дальше.
найти время
2018-04-15 20:02 Дневник успеха 2018-04-15 Отчёт за неделю + 20 3 мин.
На неделе было выполнено:
7 случайных консольных задач.
7 наборов соло-программиста.
1 урок по курсу: Портфолио на Bootstrap.
10 уроков по курсу: Клиент-серверные шахматы.
з.ы.
Завершил седьмую и восьмую части курса "Клиент-серверные шахматы"
далее финальный урок и рефакторинг, после чего займусь свои доработками.
найти время
2018-04-15 19:55 Шахматы по сети Клиент. Фоновое обновление + 20 3 час. 26 мин.
Реализовал ожидание после окончания игры, чтобы можно было посмотреть чем партия закончилась и не сбросилось поле.
Чтобы начать новую игру достаточно перезапустить клиент.
Как видно из json возвращает статус = 1, это по ранее описанному перечислению как раз CheckMate.
Играл на ПК и планшете с Android, всё супер.
найти время
2018-04-15 05:10 Шахматы по сети Клиент. Следы невиданных ходов + 21 1 час. 21 мин.
Исправил недоработку проверки возможности хода из-за которой можно было плодить пешки срезая чужие на проходе из пустоты.
Всё отлично, идём дальше.
найти время
2018-04-15 03:37 Шахматы по сети Клиент. Серверные пешки + 22 1 час. 10 мин.
Проблем с NewtonJson не возникло при использовании класса Client() через dll.
Проблему с https решил, настроив протоколы SSL на своём хосте и дописав поддержку протоколов на стороне клиента.
Всё отлично, идём дальше.
з.ы.
я не мог оставить такую огромную дырку в безопасности, поэтому пришлось потратить немного времени на исследование и доработку по данному вопросу.
найти время
2018-04-15 02:23 Шахматы по сети Клиент. Ход в мешке + 21 1 час. 3 мин.
Так как использовал NewtonJson, то большую часть видео просто просмотрел, добавил пару строчек кода, чтобы заработала возможность играть используя наш сервер.
Всё отлично, идём дальше.
найти время
2018-04-14 17:17 Шахматы по сети Клиент. Дедовские методы + 24 49 мин.
Реализовал дополнительную dll для реализации функционала клиента.
Использовал NewtonJson для обработки получаемой json сроки в объект и дальнейшее его использование. см. скриншот return api.fen;
В этом случае проблем в юньке не должно быть.
найти время
2018-04-13 04:37 Шахматы по сети Клиент. Достучаться до облака + 24 2 час. 6 мин.
Подключил SSL сертификат, чтобы можно было работать через https.
Выделить фен лучше всего через парсинг json в объект(создание класса структуры json ответа) и обращение к атрибуту fen.
Всё отлично, идём дальше.
найти время
2018-04-12 09:14 Шахматы по сети Хостинг. СЕДЬМОЙ ФИНАЛЬНЫЙ УРОК + 23 7 мин.
Хорошая часть по поводу хостинга, показано всё, что необходимо
для публикации проекта в сети интернет.
Так как подобными вещами приходится заниматься часто и уже на протяжении многих лет,
то ничего нового для себя ну знал, поэтому реализовал всё иначе и получил интересный опыт.
Всё отлично, идём дальше, к последней части и VIP урокам по рефакторингу.
найти время
2018-04-11 02:29 Шахматы по сети Хостинг. VIP. Двойные стандарты + 20 27 мин.
Так как я ранее уже говорил, что использовал LocalDb, так же использовал относительный путь где лежит файл БД, то данной проблемы у меня не возникало по причине идеальной совместимости строки подключения как в студии так и на хосте. Урок в любом случае отличный, пригодится, когда будет использоваться именно MS SQL Server.
найти время
2018-04-10 09:28 Шахматы по сети Хостинг. Перенос базы данных + 20 21 мин.
Так как реализовывал с LocalDb версией MSSQL и на собственном хосте развернул IIS + ASP.NET, то не пришлось заморачиваться с настройкой строки подключения, локальная БД хранится в App Data папке проекта, настройки подключения подошли теже, что были в студии. Всё работает идеально, сделал ход, как видно на скрине, он отработал.
http://chess-online.jgp.su/api/Chess/4/
Можно поиграть через адресную строчку =)
найти время
2018-04-09 23:40 Шахматы по сети Хостинг. Публикация проекта + 18 19 мин.
Поднял IIS + ASP.NET на своём хосте.
Настроил nginx как фронтенд, а IIS как бэкенд для оптимизации работы.
Опубликовал API для онлайн шахмат.
Всё работает отлично, идём дальше.
адрес сайта: http://chess-online.jgp.su/api/Versions
найти время
2018-04-09 22:33 Портфолио на Bootstrap Презентация курса + 20 9 мин.
Настрой отличный.
Решение принято.
Двигаемся дальше.
найти время
2018-04-08 17:21 Дневник успеха 2018-04-08 Отчёт за неделю + 19 3 мин.
На неделе было выполнено:
7 случайных консольных задач.
7 наборов соло-программиста.
8 уроков по курсу: Клиент-серверные шахматы.
з.ы.
Завершил шестую часть курса "Клиент-серверные шахматы"
и начал выполнение седьмой части курса.
найти время
2018-04-08 16:49 Шахматы по сети Хостинг. Доступ по FTP + 19 12 мин.
Уже много лет использую FileZilla как FTP клиент, очень нравится.
Всё отлично, идём дальше.
найти время
2018-04-07 03:35 Шахматы по сети Хостинг. Лучше заплатить + 23 16 мин.
По поводу ошибки на 7:30 в курсе, так как уже много лет пользуюсь данным сервисом и именно их бесплатными DNS.
найти время
2018-04-06 00:01 Шахматы по сети Хостинг. Регистрация аккаунта + 17 1 час. 46 мин.
Так как я уже давно пользуюсь данным сервисом, то регистрироваться нет необходимости, идём дальше.
найти время
2018-04-05 01:10 Шахматы по сети Сервер. ШЕСТОЙ ФИНАЛЬНЫЙ УРОК + 19 2 мин.
Отличная часть, проще просто некуда, показаны все места по настройке серверной части так как тебе необходимо.
Всё супер, движемся дальше.
найти время
2018-04-04 01:12 Шахматы по сети Сервер. Китайская ничья + 22 1 час. 14 мин.
Как всегда всё коротко и ясно.
Создал перечисление GameStatus, где на данный момент уже пять вариантов статуса игры:
Play, Checkmate, Stalemate, Loss, Draw
последнее при ручном запросе игрока и принятии ничьи другим игроком.
найти время
2018-04-03 23:53 Шахматы по сети Сервер. Шахматная Идемпотентность + 20 30 мин.
Отличная идея, всё коротко и ясно, движемся дальше.
найти время
2018-04-03 22:49 Шахматы по сети Сервер. Ваш ход! + 20 31 мин.
Как всегда всё коротко и ясно.
Вариантов реализовать так, чтобы обоим игрокам отображался конец игры великое множество, но я думаю лучше это реализовать через доп. команду, которая бы означала сброс и начало новой игры.
найти время
2018-04-02 23:13 Шахматы по сети Сервер. Официант без логики + 18 49 мин.
Всё коротко и ясно, идём дальше.
найти время
2018-04-01 17:23 Дневник успеха 2018-04-01 Отчёт за неделю + 20 4 мин.
На неделе было выполнено:
7 случайных консольных задач.
7 наборов соло-программиста.
22 урока по курсу: Клиент-серверные шахматы.
з.ы.
Завершил четвёртую и пятую части курса "Клиент-серверные шахматы"
Выполнено несколько уроков шестой части курса "Клиент-серверные шахматы".
найти время
2018-04-01 17:16 Шахматы по сети Сервер. Новая игра на JSON + 20 48 мин.
JSON веселее чем XML, однозначно.
Не нравится, что вспомогательная функция находится в контроллере, думаю есть смысл вынести её в класс таблицы в виде конструктора или публичной функции для активации новой игры. Всё отлично, идём дальше.
найти время
2018-04-01 16:23 Шахматы по сети Сервер. Райский Эдем - EDM + 20 27 мин.
Проходили это в курсе EF, так что ничего сложного не было.
Структура на основе своей минимальной БД.
найти время
2018-04-01 15:49 Шахматы по сети Сервер. Последняя версия + 21 32 мин.
Всё коротко и ясно, идём дальше.
найти время
2018-04-01 13:01 Шахматы по сети База данных. ПЯТЫЙ ФИНАЛЬНЫЙ УРОК + 22 3 мин.
В целом часть по базе данных получилась интересной, состоит не просто из создание пары таблиц, а дополнительной проработки в процессе проектирования. Но для меня до сих пор MySQL это первая БД для онлайн проектов.
найти время
2018-04-01 00:59 Шахматы по сети База данных. VIP. Красивая диаграма + 19 1 час. 3 мин.
Мне draw.io больше понравился, всё супер, идём дальше.
найти время
2018-03-31 23:47 Шахматы по сети База данных. VIP. Таблицы на вырост + 19 40 мин.
Создал параллельно таблицы для взрослой версии, добавил необходимые ключи, индексы и т.д.
Не нравятся мне эти лишние айдишники в каждой таблице, ненужная избыточность, поэтому создал структуру так, как ранее показывал на UML.
Всё отлично, идём дальше.
найти время
2018-03-31 21:10 Шахматы по сети База данных. Созидание + 19 2 час. 39 мин.
Всё коротко и ясно.
найти время
2018-03-31 18:26 Шахматы по сети База данных. Упрощение + 19 46 мин.
Альберт Эйнштейн дело говорил, поэтому упростил не проще этого. Двигаемся далее.
найти время
2018-03-31 17:37 Шахматы по сети База данных. Планирование + 19 1 час. 0 мин.
Немного иначе представляю структуру БД.
Это не окончательная её версия, в процессе будет дополняться.
Всё отлично, идём дальше.
найти время
2018-03-31 14:29 Шахматы по сети База данных. Management в студию! + 19 14 мин.
Да, тоже уверен, можно было обойтись, но всё познаётся в сравнении, поглядим на это чудо природы.
найти время
2018-03-31 04:27 Шахматы по сети Интерфейс. ЧЕТВЁРТЫЙ ФИНАЛЬНЫЙ УРОК + 22 5 мин.
Вот и завершили реализацию графического интерфейса с использованием ранее созданной библиотеки с правилами игры. Теперь вполне реально играть на одном устройстве вдвоём. Отличная четвёртая часть, движемся к не менее интересным частям курса.
найти время
2018-03-30 19:53 Шахматы по сети Интерфейс. Долгожданное превращение + 21 37 мин.
Всё как всегда коротко и ясно.
Проверку реализовал по другому, использовав функцию IsValidMove()
найти время
2018-03-29 22:18 Шахматы по сети Интерфейс. Выставка фигур + 19 32 мин.
Всё коротко и ясно.
Реализовал вспомогательную функцию ShowPromotionFigures() через свитч.
Заметил неучтённый нюанс и сразу увидел вариант рефакторинга SetSprite() и некоторых других функций.
найти время
2018-03-29 20:30 Шахматы по сети Интерфейс. Щепотка рефакторинга + 20 45 мин.
Рефакторинг в тему, коротко и ясно, идём дальше.
найти время
2018-03-29 14:10 Шахматы по сети Интерфейс. VIP. Клетки прибытия + 20 23 мин.
Отличный урок, всё коротко и ясно. Идём дальше.
найти время
2018-03-29 02:24 Шахматы по сети Интерфейс. VIP. Клетки отправления + 17 44 мин.
Всё коротко и ясно, отличный урок.
з.ы.
Решил окрасить зелёным оттенком, так как это всё же разрешённые ходы.
найти время
2018-03-28 23:02 Шахматы по сети Алгоритмы. VIP. Можно пройти? + 18 11 мин.
Всё коротко и ясно, отличный рефакторинг.
найти время
2018-03-28 21:05 Шахматы по сети Интерфейс. Проверка хода + 20 1 час. 0 мин.
Всё коротко и ясно.
Прекращение пешки в виде генерации доп клеток выше или ниже вектора следования пешки с установленными фигурами на выбор, так же они должны быть подсвечены другим цветом, что означало бы, что другими фигурами ходить нельзя, пока не выберешь в кого превратиться.
найти время
2018-03-28 19:50 Шахматы по сети Интерфейс. Ход делегата + 19 1 час. 10 мин.
Всё коротко и ясно, идём дальше.
найти время
2018-03-28 18:06 Шахматы по сети Интерфейс. Начальная позиция + 19 27 мин.
Всё просто и ясно.
з.ы.
Опять та же ошибка при подключении библиотеки, её достаточно просто кинуть в папку Assets.
Простота решения и затраченное на это время обратно пропорциональны.
найти врмея
2018-03-27 16:45 Шахматы по сети Интерфейс. Генерация объектов + 19 51 мин.
Отличный урок, вот и динамическая генерация доски подоспела, кто там спрашивал на вебинаре, радуйтесь.
Идём дальше.
найти время
2018-03-26 21:39 Шахматы по сети Интерфейс. План действий + 19 7 час. 26 мин.
План действий ясен, потратил время на создание свой текстур для фигур, так же оттенок наложения красного поверх клеток доски сделал 15% чтобы было видно, но не слишком ярко. Так же у меня скрипт не удалился, видимо я аккуратно всё лишнее удалял.
найти время
2018-03-25 13:15 Дневник успеха 2018-03-25 Отчёт за неделю + 23 4 мин.
На неделе было выполнено:
7 случайных консольных задач.
7 наборов соло-программиста.
2 урока по курсу "Web API".
3 урока по курсу: Entity Framework.
3 урока по курсу: Клиент-серверные шахматы.
з.ы.
Полностью прошёл доступные уроки курса "Web API".
Полностью прошёл весь курс "Entity Framework".
Завершил третью часть курса "Клиент-серверные шахматы"
Приступаю к четвёртой части курса "Клиент-серверные шахматы".
найти время
2018-03-25 01:55 Entity Framework Добавление - Извлечение + 22 41 мин.
Отличный урок как и курс в целом очень понравилось, всё коротко и ясно, не возникло никаких проблем, так как подобное реализовывал сам для связки с SQLite базой данных, так же создавал для контекста синглтон, чтобы не создавать каждый раз новый экземпляр, интересная штука этот EF, надо только глубже его копнуть, так как остались вопросы, если найти на них ответы, буду экономить уйму времени.
найти время когда болеешь
2018-03-24 16:54 Entity Framework Один за всех и Все за одного + 22 44 мин.
Всё коротко и ясно, но то, как оно сгенерировало некоторые связи мне не понравилось, надо будет изучить этот момент подробнее, чтобы брало откуда надо айдишник, теоретически догадываюсь что надо изменить в таблице для этого.
найти время
2018-03-23 23:19 Шахматы по сети Алгоритмы. VIP. Как пройти в библиотеку + 22 1 час. 0 мин.
Отличный урок, но есть одна неточность, вначале надо скопировать библиотеку ChessRules.dll в папку Assets, а уже после надо создавать скрипты и при открытии ссылка на библиотеку будет автоматической, достаточно будет добавить юзинг. Добавил об этом к описанию урока.
найти время
2018-03-22 19:55 Шахматы по сети Алгоритмы. VIP. Шахматное супертестирование + 22 11 мин.
Отличный урок, полезное тестирование, выявилась старая ошибка,
когда выводили на поле пробел, после поедания фигуры,
в последствии заменили на (char)Figure.None, но этот момент не доглядел
и сломалась генерация FEN, что приводило к крашу, проведя немного времени
в дебаге и увидев в FEN символ с кодом 32, а это и есть пробел,
понял, что надо искать именно его - ' '. Нашёл, заменил
и теперь FEN генерируется как надо.
найти время
2018-03-21 08:52 Entity Framework Миграция Базы + 19 13 час. 27 мин.
Отличный урок, всё ясно как день.
Вначале создал миграцию на основе создания таблицы, потом добавил в класс новое поле и сгенерировал на основе этого вторую миграцию, всё просто успешно и корректировать код миграции не пришлось, ну пока и структура не сложная.
Не использовал new MySql.Data.Entity.MySqlMigrationSqlGenerator() для устранения ошибки создания миграций для MySQL, решил проблему другим способом, после чего посмотрел видео и решил оставить свой способ, хотя этот взял на заметку =)
найти время
2018-03-20 18:17 Web API Создание Web API проекта + 24 1 день 7 час. 10 мин.
Когда открыл для выполнения урок, то понял, что 1,5 часа так быстро не выполнить и как в воду глядел, постоянно отвлекали по делам. В любом случае урок выполнил.
Так как уже реализована возможность получения всего списка через api/Projects, то вариант с циклом for мне не понравился, так как каждый раз перед тем как отобразить одну запись из БД идёт запрос на который уходит не мало времени.
Поэтому я реализовал дополнительную вспомогательную асинхронную функцию для поддержки получения всего списка через api/Projects, тем самым отправив всего один запрос, после чего вывел весь список через foreach.
Это работает намного быстрее.
Урок отличный, ждём продолжение банкета =)
найти время
2018-03-19 11:32 Шахматы по сети Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК + 23 4 мин.
Очень интересная часть с алгоритмами.
Так как до этого курса уже реализовывали алгоритмы по шахматам
на других языках и курсах, то проблем не возникало в очередном
варианте реализации игровой логики.
Отличный курс получается.
найти время
2018-03-18 21:01 Дневник успеха 2018-03-18 Отчёт за неделю + 22 9 мин.
На неделе было выполнено:
7 случайных консольных задач.
7 наборов соло-программиста.
9 уроков по курсу "Игры на JavaScript".
8 уроков по курсу: Мультиязычное меню на JavaScript.
5 уроков по курсу: Entity Framework.
3 урока по курсу: Клиент-серверные шахматы.
з.ы.
Полностью прошёл весь курс "Игры на JavaScript".
Полностью прошёл весь курс "Мультиязычное меню на JavaScript".
найти время
2018-03-18 07:26 Entity Framework Использование MySQL + 23 1 час. 50 мин.
Всё отлично, ничего сложного, идём дальше.
найти время
2018-03-18 05:31 Entity Framework Основные приемы работы с БД через EF + 23 58 мин.
Всё просто, поэксперементировал с созданием локальных БД, LINQ однозначно лучше, так как он работает быстрее, проверено не однократно лично уже давно пользуюсь ими при работе со списками/коллекциями/массивами и т.д.
Движемся дальше.
найти время
2018-03-18 04:28 Entity Framework Подключение БД по методу CodeFirst + 22 1 час. 48 мин.
Абсолютно всё ясно и понятно, проще некуда, дописывал код сам (к примеру DropCreateDatabaseIfModelChanges<Context>, так как другой модели кроме <Context> у нас пока нет, то вариантов тоже нет!!!), интуитивно всё ясно. Когда увидел время урока, подумал что тут очень много всего, но на деле минут на 5, остальное разжёвывание для тех "кто в чате" =) напомнило ActiveRecord...
найти время
2018-03-18 02:27 Шахматы по сети Алгоритмы. Шах и Мат! + 22 32 мин.
Всё отлично, идём дальше.
найти время
2018-03-17 21:56 Шахматы по сети Алгоритмы. Защита короля + 25 1 час. 4 мин.
Всё отлично, идём дальше.
найти время
2018-03-16 19:48 Entity Framework Создание приложения + 27 37 мин.
Всё просто, идём дальше.
найти время
2018-03-15 23:19 Entity Framework Введение в EF + 23 1 час. 30 мин.
Многообещающе, по поводу миграций уже в курсе, глючная тема, ну поглядим поближе.
найти время
2018-03-14 13:32 Мультиязычное меню на JS ФИНАЛЬНЫЙ УРОК + 25 7 мин.
0. см. видео отчёт.
1. научился работе с API Яндекс Переводчика.
2. понравилась краткость изложения уроков.
3. добавил асинхронность загрузки перевода пунктов меню, динамическое изменение значения атрибута lang в теге html.
4. на данный момент кипит курс Онлайн Шахматы, но так же параллельно займусь курсов EF.
найти время
2018-03-13 12:04 Мультиязычное меню на JS Выбор языка на сайте + 22 25 мин.
Добавил выбор языков справа от меню в том же стиле, что и основное меню.
Всё отлично, ничего лишнего, как всегда просто.
найти время
2018-03-13 11:30 Мультиязычное меню на JS Параметры - в функцию + 23 11 мин.
Всё отлично, вывод меню на английском, хотя изначально он на русском.
найти время
2018-03-13 11:16 Мультиязычное меню на JS Результаты запросов средствами JS + 22 13 мин.
Всё отлично, ответ в формате JSON получен, идём дальше.
найти время
2018-03-13 10:42 Мультиязычное меню на JS Динамическое меню + 23 11 мин.
Всё отлично, добавил несколько своих пунктов, идём дальше.
найти время
2018-03-13 05:13 Мультиязычное меню на JS Страница и стиль + 23 13 мин.
Отличный урок, брекетс начал использовать с лета 2017, отличный редактор. Всё просто, идём дальше.
найти время
2018-03-13 04:12 Мультиязычное меню на JS Запрос и JSON - ответ + 23 8 мин.
Всё отлично, всё просто. Идём дальше.
найти время
2018-03-13 03:18 Мультиязычное меню на JS Документы и ключ + 23 18 мин.
Отличное начало, JSON использую намного чаще, он мне больше нравится, хотя в одном проекте и использовался XML в течении 4 лет, но JSON ближе и оптимальнее, нет имеет избыточность, поддерживает json.patch, но это другая история. Спасибо, очень полезная функция Яндекса. Для небольшого сайтика и бесплатного лимита с головой.
найти время
2018-03-12 11:24 Игры на JavaScript Гонка - Быстрые рекорды + 19 1 час. 58 мин.
Реализовал свою систему набор очков.
Реализовал лучший результат и его обновление, если игрок побил его.
Реализовал прочность корпуса в процентах, если корпус равен 0% или ниже - конец игры.
Реализовал инициализацию игры с самого начала, после того как игрок проиграл.
Реализовал проверку столкновений по своему и проблем у меня не возникло с return.
Реализовал всё вначале сам, потом досмотрел видео.
Реализовал динамически генерируемое финальное сообщение после проигрыша.
Реализовал отображение текущей статистики под канвасом.
Выделил каждую задачу в отдельную функцию для красоты и оптимизации кода.
остановиться дорабатывать =)
2018-03-12 09:08 Игры на JavaScript Гонка - Рулевое управление + 19 28 мин.
Реализовал задачи данного урока сам, после посмотрел реализацию, по поводу getBoundingClientRect очень громоздко выглядит и без него отлично всё работает, может быть в других задачах он будет более полезный, но в данной пока не вижу смысла использовать лишнее.
найти время
2018-03-12 03:26 Игры на JavaScript Гонка - Запуск таймера + 18 25 мин.
Реализовал доп. функцию, которая принимает параметров количество добавляемых боксиков, она же и проверяет уровень сложности.
Функция добавления одного боксика ничего не проверяет, поэтому при инициализации она сразу добавляет 1 боксик без проверки уровня.
Добавил отображение текущего количества боксиков на канвасе (видно, что когда они уходят за канвас вниз, то уменьшается их количество).
Всё просто, идём дальше.
найти время
2018-03-12 02:59 Игры на JavaScript Гонка - Массив боксиков + 18 21 мин.
Всё понятно, идём дальше.
найти время
2018-03-12 02:35 Игры на JavaScript Гонка - Герои на канвасе + 18 35 мин.
Добавил аппаратную поддержку рендера канваса.
Добавил файл стилей, пока там только стиль для канваса.
Всё просто, идём дальше.
найти время
2018-03-12 01:56 Игры на JavaScript Очисти поле - Функция хода + 18 21 мин.
Прошёл первый уровень за 18 ходов.
Добавил счётчик ходов.
Зациклил переключение 3 уровней по кругу при победе.
найти время
2018-03-12 01:32 Игры на JavaScript Очисти поле - Чекбоксы + 18 12 мин.
Добавил два дополнительных уровня.
Всё просто, идём дальше.
найти время
2018-03-12 01:17 Игры на JavaScript Угадай число + 18 14 мин.
Реализовал по своему. но суть та же.
Отображает текущую попытку, после победи, показывает на какой попытке отгадал.
Добавил символ выхода из игры "q", так как цикл бесконечный и он проверяет вводимый символ, сообщает если это не число.
найти время
2018-03-12 00:58 Игры на JavaScript Запуск JavaScripta + 19 7 мин.
Всё просто, идём дальше.
найти время
2018-03-12 00:11 Шахматы по сети Алгоритмы. Королевский паркур + 18 1 час. 8 мин.
Всё отлично, идём дальше.
Как обычно реализовал в виде свитча, более красиво и наглядно вышло.
Так же реализовал отображение возможных ходов в строчку по типу фигур.
найти время
2018-03-11 14:12 Дневник успеха 2018-03-11 Отчёт за неделю + 21 17 мин.
На неделе было выполнено:
7 случайных задач.
9 консольных задач.
7 наборов соло-программиста.
2 урока по курсу: Игры по спрайтами.
7 уроков по курсу: Клиент-серверные шахматы.
з.ы.
решил новые задачки добавленные Консоль по Java (Сумматоры) тем самым опять довёл до 100%
решил последние консольные задачи по Алгоритмике, которые давались по 1 в сутки.

найти время
2018-03-11 01:57 Шахматы по сети Алгоритмы. Допрыгалась! + 19 50 мин.
Отличный урок, все необходимые проверки реализованы в тех местах, где это логично.
з.ы.
Вместо ифов реализовал через свитч с доп. параметрами
найти время
2018-03-10 21:22 Шахматы по сети Алгоритмы. Рефакторинг на доске + 19 52 мин.
Всё отлично, идём дальше.
з.ы.
по поводу доступа по-умолчанию, я наоборот пишу то, что мне надо, в данном случае private, так как в Java по-умолчанию pakage-private и это не всегда приемлемо, поэтому если вдруг в C# тоже добавят что-то такое и изменят доступность по-умолчанию, то это будет не есть хорошо =)
найти время
2018-03-09 09:54 Демо игры VIP. Бесплатная консультация + 16 1 мин.
Заявку оставлял, совет получил, отличная идея, спасибо огромное, очень нравится проект, я на нём уже почти 2 года, нравится что постоянно развивается, а не находится в стагнации как многие (иногда делая вид активности). Двигаемся дальше.

2018-03-08 19:41 Шахматы по сети Алгоритмы. Четвёртое превращение + 16 36 мин.
Всё отлично, решение очень красивое, так как заранее был подготовлен плацдарм, чтобы потом дописать пару строчек и вуаля =)
з.ы.
как видно на скриншоте, реализовал через switch, ещё отличное нововведение в новую версию C#, можно использовать несколько параметров в case =)
найти время
2018-03-07 23:40 Шахматы по сети Алгоритмы. Храбрая пешка + 16 1 час. 4 мин.
Всё отлично, идём дальше.
з.ы.
Можно было функцию CanPawnGo() назвать CanPawnStep() выглядело бы в связке с CanPawnJump() красиво, а то получается, что Go по идее вообще означает, может ли она двигаться, а Step и Jump конкретное количество шагов (1 или 2 соответственно). а в функцию CanPawnGo() можно вынести проверку пустая ли клетка между .from и .to, что сократит громоздкость функции CanPawnJump()
найти время
2018-03-06 11:57 Игры со Спрайтами Спрайт. Рисуем плашки + 15 1 час. 23 мин.
Помню уроки по созданию говорящий часов, там записывали фразы, так вот я там сократил их, чтобы не было повторяющихся и файлов было меньше, тут ещё лучше удалось сократить, так как 1 и 2 если отрисовать друг на друге то будет 3, а если отрисовать 2 и инверсную 2 то будет 4 и так далее. Надеюсь идея ясна. Так же обложки тоже комбинируются и инверсируются. В курсе "Теория ООП" уже это реализовывал, половину головы "Оптимуса Прайма", а вторую его симметрию генерировали именно относительными координатами с инверсией.
найти время
2018-03-06 10:22 Игры со Спрайтами Домино. Ура! Победа! + 16 51 мин.
Исправил баг с отображением проигрыша, если помечена плашка, после сбора которой будет проигрыш однозначно, далее в виде это было исправлено.
Исправил баг с отображением победы когда остались открытые плашки, но ещё не убраны со стола, так как можно не в той последовательности их убрать и будет проигрыш, так как шанс имеется, преждевременно отображать победу смысла не имеет.
Реализовал отображение статуса победы/проигрыша через единственный label, так же цвет фона и текст устанавливаются в соответствии с со статусом игры.
Половина кода отрефакторено и написано по своему, так как опыт не позволяет тупо копипастить =)
найти время
2018-03-06 02:34 Шахматы по сети Алгоритмы. Дальнобойщики + 16 31 мин.
Понравился общий алгоритм и атрибут Sign отлично вписывается.
Всё супер, идём дальше.
найти время
2018-03-05 10:05 Шахматы по сети Доска. VIP. Запуск в Интернете + 17 11 час. 14 мин.
Всё отлично, ранее уже это делал, идём дальше.
Время генерации заняло: 2 минуты и 47 секунд
з.ы.
залил текущую версию на хостинг, ссылка для тестирования: http://chess-online.jgp.su/
найти время
2018-03-04 21:55 Шахматы по сети Доска. VIP. Запуск на Android + 16 1 час. 3 мин.
Ранее уже это делал, прикрепил скрины с самого устройства.
з.ы.
Чтобы сделать скрин, на моём устройстве надо одновременно зажимать на пару секунд Громкость+ и Включение, возможно на вашем тоже, если нет, гуглим =)
найти время
2018-03-04 20:24 Дневник успеха 2018-03-04 Отчёт за неделю + 16 7 мин.
На неделе было выполнено:
7 случайных задач.
7 консольных задач.
7 наборов соло-программиста.
1 урок по курсу: Игры по спрайтами.
7 уроков по курсу: Клиент-серверные шахматы.
з.ы.
в субботу не успел набрать мегахэши по причине занятости весь день, а они набираются если ПК не занят.
найти время
2018-03-04 20:02 Шахматы по сети Доска. Запуск на Windows + 16 39 мин.
Всё отлично, ранее уже делал это, повторение мать учения =)
з.ы.
запустил на виртуалке с 7 виндой.
найти время
2018-03-03 21:30 Игры со Спрайтами Домино. Выбираем и убираем + 16 2 час. 36 мин.
Всё отлично, идём дальше.
найти время после 18 часов бессонной работы.
2018-03-02 09:17 Шахматы по сети Алгоритмы. Ночью с Конём + 16 13 мин.
Всё отлично, идём дальше.
найти время
2018-03-01 23:01 Шахматы по сети Алгоритмы. Куда идёт Король + 16 27 мин.
Всё отлично, идём дальше.
найти время
2018-02-28 09:40 Шахматы по сети Алгоритмы. Генератор ходов + 16 40 мин.
Урок более чем насыщенный, отличные трансформации мыслительной деятельности.
Всё супер, идём дальше.
з.ы.
foreach можно будет заменить на LINQ, но это уже после того, как будет устаканена библиотека и всё что надо работать как надо.
найти время
2018-02-27 23:51 Шахматы по сети Алгоритмы. Сборка фена + 16 1 час. 37 мин.
Всё отлично, идём дальше.
з.ы.
везде вместо конкаттенации использовал StringBuilder() и при формировании позиций сразу в первом цикле собирал пустые клетки, хотя версия из урока выглядит красиво, но дело привычки =)
найти время
2018-02-26 03:32 Шахматы по сети Алгоритмы. Волшебные шахматы + 16 1 час. 28 мин.
Всё отлично, идём дальше.
найти время
2018-02-26 02:19 Шахматы по сети Классы. ВТОРОЙ ФИНАЛЬНЫЙ УРОК + 18 2 час. 32 мин.
Всё отлично, UML уже имел опыт, отразил текущую структуру библиотеки ChessRules.dll
остановить расстанавливать для более красивой композиции
2018-02-25 23:53 Дневник успеха 2018-02-25 Отчёт за неделю + 15 2 мин.
На неделе было выполнено:
7 случайных задач.
8 консольных задач.
7 наборов соло-программиста.
3 урока по курсу: Игры по спрайтами.
9 уроков по курсу: Клиент-серверные шахматы.
найти время
2018-02-24 23:32 Шахматы по сети Классы. Консольная доска + 16 29 мин.
Всё отлично, но ёлки палки, внутри цикла перебора по оси X, использовали конкатенацию, выше этого цикла уже верно сделали, на двух строчках использовали sb.Append(). Если подразумевается использование StringBuilder(), то забыть надо о конкатенации строк!!! иначе смыла нет в его использовании.
найти время
2018-02-24 22:55 Шахматы по сети Классы. Шахматная бюрократия + 16 17 мин.
Всё отлично, идём дальше.
з.ы.
сократил геттер для FEN в одну строчку.
найти время
2018-02-24 22:33 Шахматы по сети Классы. Стой, кто идёт! + 18 40 мин.
Всё отлично, идём дальше.
з.ы.
По поводу ошибки, меня сразу смутил код, кое какой, а после того как узнал, что в классе Moves() ошибка, понял, что не зря, плюс тот факт, что был на вебинаре помог найти ошибку быстро. Поглядим, вариант её исправления в будущем уроке.
найти время
2018-02-24 21:48 Шахматы по сети Классы. Квадратная матрица + 16 20 мин.
Всё отлично, идём дальше.
найти время
2018-02-24 21:24 Шахматы по сети Классы. Фигурой марш! + 16 28 мин.
Всё отлично, идём дальше.
найти время
2018-02-24 15:05 Шахматы по сети Классы. Квадратная площадь + 17 30 мин.
Всё отлично, идём дальше.
найти время
2018-02-23 17:20 Шахматы по сети Классы. Цветная фигура + 16 24 мин.
Всё отлично, идём дальше.
з.ы.
Чтобы добавить enum и т.д., надо делать это через шаблоны, см. скриншот.
найти время
2018-02-22 23:37 Шахматы по сети Классы. Шахматная библиотека + 17 21 мин.
Всё отлично, идём дальше.
з.ы.
Не зря я пилил шахматы на HTML, рад что пригодились и используются =)
успеть доделать дела и потом домой пешком в морозяку, чтобы выполнить урок.
2018-02-21 17:10 Игры со Спрайтами Домино. Делегаты отображения + 16 26 мин.
Отличный урок, делегаты очень удобная штука.
Найти время
2018-02-20 02:32 Игры со Спрайтами Домино. Динамическая пирамида + 15 57 мин.
Всё супер, идём дальше.
найти время
2018-02-19 23:46 Игры со Спрайтами Домино. Перемешиваем плашки + 15 45 мин.
Всё отлично, идём дальше.
найти время
2018-02-18 18:02 Дневник успеха 2018-02-18 Отчёт за неделю + 16 3 мин.
На неделе было выполнено:
7 случайных задач.
7 консольных задач.
8 наборов соло-программиста.
6 уроков по курсу: Игры по спрайтами.
1 урок по курсу: Клиент-серверные шахматы.
найти время
2018-02-18 03:56 Игры со Спрайтами Полуфинальный урок + 15 1 час. 25 мин.
Переписал растровый render, чтобы игра работала быстрее и так как надо, без артефактов WF.
Добавил несколько кадров анимации звёздочкам, чтобы они были живее.
Реализовал переключение между растровым и векторным рендерами в реальном времени.
Проверил на все возможные ошибки после рефакторинга, всё работает отлично, см. видео.
з.ы.
отличная первая половина курса, идея с векторными спрайтами понравилась, идём дальше.
остановиться
2018-02-17 19:56 Игры со Спрайтами Аполлон. Финальное прилунение + 15 1 час. 50 мин.
Реализовал две версии графического движка, переключаются в реальном времени (левый верхний угол галочка).
Всё супер, идём дальше.
найти время
2018-02-16 03:32 Игры со Спрайтами Аполлон. Graph и Sprite на Луне + 16 1 час. 46 мин.
Добавил чекбокс выбора графики, так как ранее уже потратил не мало времени на рисование текстур, то решил совместить два вида графики, чтобы в реальном времени можно было менять её.
Всё отлично, идём дальше.
не бежать впереди паровоза =)
2018-02-15 01:55 Игры со Спрайтами Спрайт. Рисуем Аполлона + 16 32 мин.
Всё супер, идём дальше.
найти время
2018-02-14 16:48 Игры со Спрайтами Спрайт. Сериализация объекта + 15 1 час. 0 мин.
Добавил проверку наличия папки sprites в корне программы, если её нет, создавать.
Добавил расширение по умолчанию для создаваемых файлов (xml).
Добавил фильтр отображаемых файлов в папке (*.xml).
Нарисовал корабль, луну и землю и сохранил в отдельные файлы.
Всё отлично, идём дальше.
найти время
2018-02-13 01:48 Шахматы по сети Классы. Архитектура проекта + 16 25 мин.
Самое сложное ждать очередной вебинар.
Самое простое выполнение уроков.

2018-02-12 03:24 Игры со Спрайтами Спрайт. Панель инструментов + 15 1 час. 6 мин.
Реализовал небольшую объёмность линий.
Всё супер, идём дальше.
найти время
2018-02-11 19:50 Шахматы по сети Доска. ПЕРВЫЙ ФИНАЛЬНЫЙ УРОК + 15 13 мин.
Узнал о планах на будущее
ничего
2018-02-11 12:53 Дневник успеха 2018-02-11 Отчёт за неделю + 15 12 мин.
На неделе было выполнено:
7 случайных задач.
10 консольных задач.
3 олимпиадных задач.
8 наборов соло-программиста.
7 уроков по курсу: WPF. Простая змейка (в их числе VIP и Финальный уроки).
2 урока по курсу: Игры по спрайтами.
6 уроков по курсу: Клиент-серверные шахматы (портировал на Андроид).

найти время
2018-02-11 02:54 Игры со Спрайтами Спрайт. Рисуем линии мышкой + 15 39 мин.
Немного порисовал, отличный урок, идём дальше.
найти время
2018-02-10 23:14 Шахматы по сети Доска. Смещение + 15 19 час. 41 мин.
Всё отлично, ждём продолжения.
з.ы.
решил отменить и добавить скрины портированной версии на планшет с Андроид.
найти время
2018-02-10 03:32 Шахматы по сети Доска. Подцеп фигуры + 16 50 мин.
Чтобы логи не бежали как сумасшедшие, использовал метод нажатия клавиши мыши, чтобы отобразилось один раз.
Отобразил координаты позиции курсора мышки и конвертированные в мировые координаты.
Изменил тип камеры и увеличил её размер с 5 до 11, чтобы конвертация мировых координат работала как надо.
Всё отлично, идём дальше.
найти время
2018-02-10 02:37 Шахматы по сети Доска. Состояния переноса + 16 16 мин.
Всё просто, идём дальше.
найти время
2018-02-09 12:35 Шахматы по сети Доска. Фигуры + 16 29 мин.
Не стал трогать масштабирование, вместо этого изменил FoV у камеры.
Отличный урок, идём дальше.
найти время
2018-02-08 11:47 Шахматы по сети Доска. Установка Unity 3D + 17 1 час. 14 мин.
Обновил Unity с версии 2017.1.0 до 2017.3.1
Мой результат набора запечатлён на видео, но я приложил ещё и скрин =)
найти время
2018-02-07 00:02 Шахматы по сети План Шахматного проекта + 16 12 мин.
C# - c 2011 года.
Unity - суммарно около полугода.
ASP.NET - пока руки не дошли, но на этом проекте курсов несколько на очереди, хотя имею представление о данной технологии.
SQL - c 2003 года.
EF - пока не доводилось использовать, но наслышан и курсы на данном проекте имеются.
Шахматы - с детства и на данном проекте кучу курсов уже прошёл. В том числе и на вебинарах был по данной тематике для разных языков.
найти время
2018-02-06 22:57 Игры со Спрайтами Спрайт. Класс для Спрайта + 16 24 мин.
Уменьшил количество передаваемых параметров, использовав Point.
з.ы.
Продолжаем допиливать незавершённые курсы.
найти время
2018-02-05 19:00 Простой WPF WPF. Простая змейка. VIP урок. Поймай хвост! + 15 33 мин.
Добавил новые фишки ещё на прошлых уроках. (при поедании ускоряется и растёт...)
Всё супер, надо продолжать курсы по WPF!!!
найти время
2018-02-05 18:24 Простой WPF WPF. Финальный урок + 16 3 мин.
Отличные мини-курсы, так как в задании к этому уроку надо было показать все приложения написанные на WPF, то я и показал все, что были созданы по курсам на данном проекте.
найти время
2018-02-05 18:03 Простой WPF WPF. Простая змейка. VIP урок. Длина тела. + 15 10 мин.
Всё супер, отличный урок.
найти время
2018-02-05 17:32 Простой WPF WPF. Простая змейка. Победа и поражение. + 17 47 мин.
Отличный мини-курс.
Реализовал увеличение змейки после поедании еды.
Реализовал увеличении скорости змейки после поедания еды.
Из-за того, что размер змейки стал больше чем размер еды, пришлось доработать функцию IsCrossed() для корректной её работы.
найти время
2018-02-05 16:42 Простой WPF WPF. Простая змейка. Управление движением. + 15 18 мин.
Всё отлично, идём дальше.
найти время
2018-02-05 16:22 Простой WPF WPF. Простая змейка. Таймер для еды. + 15 25 мин.
Всё супер, идём дальше.
найти время
2018-02-05 15:52 Простой WPF WPF. Простая змейка. Эллипс на канвасе + 15 17 мин.
Начало положено, идём дальше.
найти время
2018-02-04 18:20 Дневник успеха 2018-02-04 Отчёт за неделю + 15 8 мин.
На неделе было выполнено:
7 случайных задач.
8 консольных задач.
7 наборов соло-программиста.
6 уроков по курсу: Теория ООП.
2 урока по курсу: WPF. Конвертер валюты.
найти время
2018-02-04 18:06 Теория ООП Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. + 15 2 час. 0 мин.
На первом скриншоте показано приближение прямоугольника к кругу своим ребром, на втором скрине видно, что шарик окрасился, т.е. был заражён, но при этом прямоугольник не пересекается своими углами, это потому, что я модернизировал функцию проверки пересечения разных объектов, учёл грани прямоугольников. Если этого не сделать, то маленькие кружки запросто пролетят насквозь больших прямоугольников, если как раз не зацепят их углы.
На видео можно понаблюдать над реализацией.
Так же устранил все утечки памяти и реализовал уборку мусора каждый 5 секунд, это устранило проблемы с постепенным увеличением потребления ОЗУ со временем.
з.ы.
по поводу Интерфейса, это очень удобная вещь, которая определяет общий набор функций для различных объектов, что позволяет взаимодействовать с ними намного удобнее и хранить в общем массиве/списке/множестве... Он гарантирует, что каждый объект имеет необходимый функционал, так как он должен обязательно быть реализован!!!
з.з.ы.
Не согласен, что этот урок показывает как делать нельзя, просто это сложнее и требует доп. ресурсов, но зато это более качественно, чем если бы мы кружки описывали прямоугольником.
Можно создать интерфейс для игр, который хранил бы в себе базовый функционал, это прям напрашивается.

Отличный курс, но маленький, советую каждому пройти его и осмыслить.
найти время
2018-02-03 21:05 Теория ООП Интерфейс. VIP. Пересечение прямоугольников. + 15 21 мин.
Реализовал пересечение прямоугольников ещё на прошлом уроке.
Реализовал функцию Show(IGamer g) через свитч.
Всё отлично, идём дальше.
з.ы.
по поводу интерфейса, это не его суть, чтобы игроки были одинаковые, они и так одинаковые, так как у них всех единый интерфейс.
По поводу же реализации пересечения разных объетов, это немного другая задача. просто она сложнее, чем проверка одинаковых объектов. Поглядим реализацию в след. уроке.
найти время
2018-02-02 00:20 Простой WPF WPF. Конвертер валюты. Ньютон против Паскаля. + 16 2 час. 5 мин.
Чтобы при вводе в одном поле, автоматически вычислялось в другом реализовал ещё на прошлых уроках.
Замени лейблы с названием валют на комбобоксы со списком доступных для вычисления валют.
Доступно 33 валюты, даже есть валюта PHP =)
Отличный миникурс на WPF, надо продолжать традицию.
найти время
2018-02-01 22:11 Простой WPF WPF. Конвертер валюты. Курс валют в JSON. + 16 1 час. 0 мин.
Использовал свой api, не понравился мне тот ресурс, который предложили в уроке.
Реализовал универсальную функцию, которая принимает на вход два параметра (из какой и в какую) чтобы выдавало нужный коэффициент.
Так же заранее создал класс структуры json, так как оно явно понадобится в следующем уроке.
найти время
2018-02-01 12:23 Теория ООП Интерфейс. VIP. Квадратики тоже хотят играть. + 16 1 час. 35 мин.
Реализовал добавление игроков поочерёдно, при клике на кнопку, добавляется вначале кружок, потом квадратик и так далее.
Реализовал независимую игру кружкой и квадратиков, т.е. кружки ловят кружки, а квадратики ловят квадратики, но если играют кружки, квадратики не мешаются, стоят на месте и наоборот.
Оставил реализацию ловли квадратиков кружками и наоборот на след урок, чтобы было чем там заняться =)
з.ы.
по ссылка и правда ошибочные примеры, я ранее уже реализовывал подобное, когда занимался серверами Terraria (когда занимался разработкой системы межей для строительства).
По поводу класса Box, реализовал его по своему, по аналогии с Circle, там Rectangle незачем, так как экземпляр объекта Circle создаётся в функции Show(), то и логичнее так же создавать экземпляр Rectangle(), передавая аналогичным образом Point() и Size() для симметрии кода игроков.
найти время
2018-01-31 23:32 Теория ООП Интерфейс. ФИНАЛЬНЫЙ УРОК. + 16 45 мин.
Отличный курс, как говорится: "Вкусновато, но маловато" =)
з.ы.
Добавил проверку на последнего заражённого, чтобы зациклить рестарт игры, остальное реализовал в прошлом уроке.
Вперёд, к VIP урокам на десерт.
найти время
2018-01-30 18:52 Теория ООП Интерфейс. Создаём новую игру. + 17 1 час. 39 мин.
Вначале реализовал новую игру, с теме же правилами, как и в прошлом уроке, что инфицированные перемещаются, а остальные стоят на месте.
Досмотрел видео до конца и понял, что полностью реализация будет в следующем уроке. =)
найти время
2018-01-29 09:49 Теория ООП Интерфейс. Изменяем правила игры. + 16 44 мин.
Если поставить таймер в 1 сек, что нельзя ловить, то только того, кто поймал его, у нас было так.
Так же мне понравилось, что все замирают, а "Лов" бегает и всех пинает =)
з.ы.
по поводу утечек памяти, как видно из видео, сборщик мусор периодически занимается этим.
найти время
2018-01-28 23:55 Дневник успеха 2018-01-28 Отчёт за неделю + 18 6 мин.
На неделе было выполнено:
5 олимпиадных задач.
11 консольных задач.
7 наборов соло-программиста.
7 уроков по курсу: Теория ООП.
2 урока по курсу: WPF. Конвертер валюты.
найти время
2018-01-28 09:56 Теория ООП Интерфейс. Кружочки гоняются друг за другом. + 15 30 мин.
Реализовал генерацию направления движения, чтобы ни по одной из осей не было 0.
Реализовал проверку, чтобы "Лова" нельзя было передавать тому, кто был им в прошлый раз (у нас были такие правила в детстве).
найти время
2018-01-27 16:21 Теория ООП Интерфейс. Кружок готов к игре! + 16 1 час. 56 мин.
Отвлекался несколько раз, но всё же доделал то, что хотел проверить.
Реализовал добавление на поле сразу 10 игроков.
При генерации игрока, ему случайным образом добавляется смещение.
При нажатии на кнопку, обновляется новая позиция игроков относительно их положения на поле брани.
Оставил след траектории, как делали в курсе "Хранитель экрана", чтобы нагляднее было видно направление движения и изменение цвета при столкновении игроков.
з.ы.
см. скриншот.
найти время
2018-01-26 09:42 Теория ООП Интерфейс. Кружок хочет играть. + 16 12 мин.
В функции "Беги" будем смещать центр кружка при помощи sx и sy, а в функции "Поймал" будем проверять, пересекаются ли координаты кружков.
найти время
2018-01-25 11:39 Простой WPF WPF. Конвертер валюты. Класс конвертации. + 15 27 мин.
Создал два экземпляра валют, в каждый из которых ввёл соответствующий коэффициент, всё отлично работает.
Так же добавил проверку текущего поля ввода, чтобы не пыталось округлять, сбивая ввода числа в нужном поле.
Использовал TryParse, так как при неверное попытке возвращает 0.
найти время
2018-01-25 11:10 Простой WPF WPF. Конвертер валюты. Макет программы + 16 34 мин.
Реализовал дублирование ввода в обе стороны. Всё просто, идём дальше.
найти время
2018-01-25 10:23 Теория ООП Интерфейс. Запускаем кружки на площадку! + 16 22 мин.
Отличный урок, проблем с овалами у меня не было, так как я ещё с самого начала использовал ширину и высоту.
На этом уроке только добавил кнопку добавления игроков, остальное уже ранее реализовал.
PictureBox добавляю на форму программно, поэтому ручной работы с формой минимум.
найти время
2018-01-24 09:13 Теория ООП Интерфейс. Кружок на площадке. + 16 2 час. 0 мин.
Реализовал отображение шарика на поле брани.
Не меняя свой код, который написал на прошлом уроке, добавив лишь пару новых строчек в классе Arena().
Всё супер, идём дальше.
з.ы.
на урок потратил 20 минут, но надо было срочно уйти, поэтому доделал и выложил отчёт когда вернулся.
найти время
2018-01-23 14:22 Теория ООП Интерфейс. Площадка для игры. + 16 23 мин.
Реализовал работу Арены, добавил очистку фиолетовым цветом для наглядности.
Арена нужна для визуального отображения ситуации на поле брани =)
найти время
2018-01-22 06:25 Теория ООП Интерфейс. Создаём кружок. + 16 12 мин.
Ну раз на следующем уроке будем уже отображать кружки на форме, то надо добавить функции рисования и смещения для реализации движения. Плюс проверки, чтобы не убегали за пределы видимого поля.
найти время
2018-01-21 05:41 Дневник успеха 2018-01-21 Отчёт за неделю + 15 3 мин.
На неделе было выполнено:
8 консольных задач.
5 наборов соло-программиста.
7 уроков по курсу: Теория ООП.
найти время
2018-01-21 05:19 Теория ООП Интерфейс. Алгоритм игры. + 15 48 мин.
Чтобы начать играть, надо добавить игроков, добавить в интерфейс любой вариант определения объектов в пространстве относительно друг друга, так же реализовать отображение для наглядности.
найти время
2018-01-20 05:50 Теория ООП Интерфейс. Правила игры. + 15 31 мин.
Так как у нас имеется приватная переменная leader, думаю надо присвоить ей значение нового игрока, чтобы он стал лидером.
Чтобы определить, пойман ли кто либо, надо реализовать проверку исходя из правил игры. На данный момент не вижу как можно это сделать, надо как минимум добавить координаты, чтобы можно было определить, находится лидер рядом с тем, кого поймал или нет.
Найти время
2018-01-19 21:31 Теория ООП Интерфейс. Зачем он нужен. + 15 27 мин.
Отличное начало, интерфейс в C# аналогичен абстрактному классу, в котором все методы являются абстрактными. После данный интерфейс будем реализовывать там где это необходимо. Скорее всего создадим класс Player и реализуем все эти методы, после чего можно будет создать массив/список/множества этих Player объектов и манипулировать ими через общий интерфейс.
найти время
2018-01-18 04:28 Теория ООП ПОЛУФИНАЛЬНЫЙ УРОК. + 15 4 мин.
Отлично проработана первая половина курса, пошаговый рефакторинг наглядно показывает что откуда и куда.
Жаль мало спрайты мучали, вроде планировали их поворачивать вокруг оси и зуммировать.
Надеюсь это будет в след. уроках, иначе я это сам реализую =) уж очень интересная идея на самом деле.

С наилучшими пожеланиями, Иван Воронин.
найти время
2018-01-17 05:18 Теория ООП Перемещение Снеговиков + 15 14 мин.
Как видно из скриншота, передаются координаты смещения относительно текущих координат спрайта.
Никаких delta не использовал, поэтому избавляться не пришлось =)
отличный урок, идём дальше
з.ы.
пока не добавили virtual и override ошибки не было, просто предупреждение и без этого работало.
найти время
2018-01-16 01:56 Теория ООП Перемещение других фигур + 16 8 мин.
Так как реализовал перемещение спрайта ещё на прошлом уроке, то этот просто просмотрел. Идём дальше.
найти время
2018-01-15 06:31 Теория ООП Перемещение круга + 15 32 мин.
Отличный урок, но я решил сразу реализовать поддержку перемещения всего спрайта, а то рисовал зря что-ли такую красоту =) делать шаг назад к кружкам. Ну вот и пришло его время, добил круг обрамляющий логотип относительно крайних координат.
найти время
2018-01-14 20:21 Дневник успеха 2018-01-14 Старый Новый год + 15 8 мин.
На неделе было выполнено:
11 консольных задач (из которых: 1 олимпиадная, 4 случайных и 6 из раздела Алгоритмика).
4 урока по курсу: Теория ООП.
найти время
2018-01-13 22:25 Теория ООП Спрайт для Снеговика + 15 27 мин.
Отличный урок, так как ранее использовал список, переделать под Sprite было не сложно, отличная идея.
найти время
2018-01-11 21:13 Теория ООП Мощь полиморфизма + 15 29 мин.
Отличный урок, коротко и по делу.
Но рефакторинг ещё не окончен =)
найти время
2018-01-10 23:15 Теория ООП Переезд graph в базовый класс + 15 55 мин.
Отличный урок, наконец перенести Draw() куда надо.
Всё супер, идём дальше.
найти время
2018-01-09 23:18 Теория ООП Переезд метода Draw + 15 29 мин.
Отличный урок, давно уже хочется перенести функции рисования в каждый объект, через интерфейс.
з.ы.
на скрине у левого логотипа слева вверху линия синяя, остальные красные, это для теста новой встроенной функции через Line, как видно в свитче, только она использует фишки данного урока, круг не стал модифицировать, так как пока их не использую, но планирую.
найти время
2018-01-08 20:58 Дневник успеха 2018-01-07 С Рождеством! + 15 7 мин.
На неделе было выполнено:
16 консольных задач (6 из них случайных).
8 уроков по курсу: Теория ООП.

Всем с прошедшими праздниками и наступившим Новым Годом!!!
найти время
2018-01-08 20:38 Теория ООП Приведение с мотором + 15 15 мин.
Отличный урок, так как в прошлом использовал свитч, то в этом лишь вынес форыч в отдельный метод, мини-рефакторинг.
По поводу объекта Shape и поля position, хранить координаты относительно которых будут вычисляться координаты объектов, т.е. плюсоваться, аналогия sx/sy =)
найти время
2018-01-07 22:57 Теория ООП Фигуральный базовый класс + 15 38 мин.
Отличный урок, реализовал switch для 5, 6 и 7 версии C#, чтобы не использовать if else, более красиво получается.
Поглядим, что предложат в след, уроке.
найти время
2018-01-06 18:28 Теория ООП Богатое наследство + 15 13 мин.
Отличный урок, ещё на прошлом уроки хотел это сделать, но решил отложить и верно сделал, так как на этом было бы нечем заняться, дальше ещё интереснее оптимизация.
найти время
2018-01-05 23:04 Теория ООП Второй Снеговик + 15 42 мин.
Отличный урок, использовал ту же функцию для инициализации координат точек, так как после того как они занеслись в список, можно их ещё раз переинициализировать и занести в новый список, использовав тебе же переменные точек как буфер.
Для того чтобы их было эффективно перемещать, нужно все объекты привести к общему интерфейсу, на основе которого можно будет создавать связанный список элементов объекта, так же для каждого типа элементов надо добавить функционал смещения по координатам x и y, которое вызывать в цикле, к примеру foreach.
Не бежать впереди паровоза, ну и найти время =)
2018-01-04 23:32 Теория ООП Рисуем Снеговика + 16 2 час. 30 мин.
Отличный урок, когда-то давно подобное делали на БК-0010, тогда я голову Оптимуса Прайма нарисовал, теперь решил логотип Автоботов =)
Координаты только левой половины логотипа, правая часть отзеркалена относительно центра логотипа.
Всё супер, идём дальше.
найти время
2018-01-03 22:59 Теория ООП Цветные карандаши + 16 34 мин.
При копипасте из Lines в ColorLines кода, сразу захотелось реализовать наследование, но решил сделать так как в уроке, в конце как раз об этом и сказали, что это всё специально для демонстрации, отличная идея, всегда надо показывать для того чтобы понимали, зачем наследование вообще придумали и используют.
найти время и не внедрять наследование, которое будет в след уроке =)
2018-01-02 22:25 Теория ООП Расстояние между пикселями + 15 55 мин.
Отличный урок, очень полезные добавления, всё супер, идём дальше.
з.ы.
у меня три окружности, одна вписана в форму, вторая вписана в квадрат, третья на основании данного урока, описывается углы квадрата.
найти время
2018-01-01 21:42 Теория ООП Пиксели для классов + 15 52 мин.
Отличный урок, всё отлично, идём дальше.
найти время
2017-12-31 17:03 Дневник успеха 2017-12-31 Отчёт за прошедший год + 15 6 мин.
На неделе было выполнено:
13 консольных задач.
2 урока по курсу: Теория ООП.
1 урок по мини-курсу: "Невидимка" (Вступительный доп. урок).
Все 7 уроков по курсу: ZX Labyrinth (Предновогодний сюрприз и первый курс по 48 Basic на ZX Spectrum).
выбрать картинки
2017-12-30 00:05 Теория ООП Структура vs Класс + 16 34 мин.
Отличный урок, всё это уже знал, но было интересно посмотреть =)
найти время
2017-12-28 15:47 ZX Labyrinth Путь к победе + 16 6 час. 25 мин.
Супер-пупер курс, спасибо за такой Новогодний Подарок!!! надеюсь это не последний курс по спекки =)
Добавил текстуры стен.
Реализовал направление движения человечка.
Добавил счётчик шагов, которые потратил, чтобы пройти уровень.
Отрефакторил код основного цикла программы, устранив несколько багов и оптимизировав затраты на отрисовку текущих событий на поле.
остановиться допиливать игрушку и выбрать музыку для видео-отчёта.
2017-12-27 22:26 ZX Labyrinth Несметные сокровища + 15 37 мин.
Суперский урок, показывает работать рисованием на экране обращаться в память напрямую, добавил маску бумаги голубого цвета и чернил красного.
Разместил красные цветочки вместо плюсиков.
Так же слов Found заменил на Collected, думаю более логично.
Идём дальше...
найти время
2017-12-27 21:01 Невидимка Кто такая C# Невидимка? + 16 45 мин.
Так как уже прошёл этот курс, ещё когда он был доступен как VIP уроки в курсе Java Sweeper, поэтому пришлось завершить процесс невидимки и запустить майнер вручную =)
з.ы.
так как я работаю сейчас за ПК, то скорость не максимальная. Отличная идея, как раз для меня подходящая.
найти время
2017-12-26 12:00 ZX Labyrinth Карта лабиринта + 16 36 мин.
Отличный урок, некоторые вещи в одну строчку описал, вместо зацикливания пока сделал паузу и далее победа. Всё супер, идём дальше.
найти время
2017-12-25 22:51 ZX Labyrinth Пляшущий человечек + 15 40 мин.
Добавил спрайты человечка во все стороны движения, разместил его спрайты над соответствующими кнопками управления =) Всё супер, идём дальше.
найти время
2017-12-25 21:45 ZX Labyrinth Музыкальная шкатулка + 16 1 час. 2 мин.
Телефон не умолкал, поэтому не удалось быстро разделаться с уроком, всё отлично, идём дальше.
найти время
2017-12-25 20:28 ZX Labyrinth Привет и Пока + 15 1 час. 3 мин.
Отличный урок, сделал каждую строчку своим цветом. Идём дальше.
найти время
2017-12-25 13:21 ZX Labyrinth Проба клавиатуры + 15 40 мин.
Супер начало, прошлись по основам и не только.
В последствии цвет бордюра решил окрасить в другой, чтобы видеть границы бумаги.
Бумага состоит из 32 в ширину и 24 в высоту клеток, которые в свою очередь 8х8 пикселей.
При записи байта в одну из этих клеток, проявляются чернила в виде пикселей там где единички, а где нули, виднеется бумага, длинна равняется 8 пикселям по горизонтали.
Итого мы имеем, что в одной клетке 8 байт пиксельной информации, поэтому:
32 по горизонтали клетки умножаем на 24 по вертикали = 768 клеток,
каждая клетка 8 байт, 768 умножаем на 8 и получаем 6144!!! =) далее идёт информация о цвете для каждой клетки!!!
найти время
2017-12-25 12:26 Теория ООП Структура пикселя + 15 29 мин.
Отличная идея и рефакторинг, код выглядит более компактно. Относительность наше всё =)
з.ы.
как всегда послушал идею, реализовал сам и досмотрел видео .
найти время
2017-12-24 11:37 Дневник успеха 2017-12-24 Отчет за неделю + 15 14 мин.
На неделе было выполнено:
10 консольных задач.
VIP урок "Стрелялка" по курсу: Микроигры.
33 урока по курсу: Java Sweeper.
4 урока по мини-курсу: "Невидимка" (VIP для тех, кто прошёл курс: Java Sweeper.).
4 урока по курсу: Теория ООП.
найти время
2017-12-24 09:37 Теория ООП Круглый класс + 15 42 мин.
Как обычно создал список объектов Circle.
Описал параметры во время инициализации объектов при инициализации списка этих самых объектов.
Добавил определение необходимого размера радиуса, чтобы каждая окружность вписалась в нужные границы, первая граница это всё поле отрисовки, вторая граница это прямоугольник.
Как видно на скриншоте, первый круг вписался в рамки поля рисования, второй круг в рамки прямоугольника.
Не использовал доп. параметры для вычисления, т.е. они по сути не нужны, так как что с ними, что без них, выводится идентично, так как вводимые данные относительны.
Всё супер, идём дальше.
найти время
2017-12-23 14:36 Теория ООП Второй класс + 15 16 мин.
Я конечно добавил в класс Rectangle поля w/h, для вычисления ширины и длинны. Но они мне не понадобились, так как я во время инициализации объекта Rectangle использовал вычисление координат относительно размеров поля, на котором этот самый Rectangle в последствии и отрисовывается. Поэтому проблем с размерами у меня не возникло. Всё отлично, идём дальше.
з.ы.
Так же использовал список для хранения объектов Rectangle, малоли =)
найти время
2017-12-22 11:45 Теория ООП Первый класс + 16 21 мин.
Сделал всё тоже самое, только с использованием списка и инициализации объектов Line при его создании.
После чего досмотрел видео. Отличный рефакторинг.
найти время
2017-12-21 08:54 Дневник успеха Полезные права и обязанности в Клубе формулистов + 16 21 мин.
Так как я га этом проекте до того как появился КФ, а самому КФ уже полтора года, то ничего нового для себя не узнал, чтобы начисляли байты, ОБЯЗАН выполнить необходимые для этого действия. Так же чтобы прокачивать навык, надо выполнять суточную норму каждый день.
найти время
2017-12-20 16:59 Теория ООП Урок рисования + 15 27 мин.
всё ок, идём дальше.
найти время
2017-12-19 06:36 Невидимка Невидимка - Сматываем удочки + 16 25 мин.
Всё супер, отличный мини курс, спасибо, узнал для себя кое что новое, но почти всё знал ранее =)
найти время
2017-12-19 06:03 Невидимка Невидимка - Тихий старт + 16 50 мин.
Всё отлично, идём дальше. Реализовал код немного иначе, но суть осталась так же, всё работает. Так как моя версия майнера имеет несколько конфигов, я не использовал аргементы, а прописал рабочую директорию для запускаемой программы.
найти время
2017-12-19 03:15 Невидимка Невидимка - На шухере + 16 21 мин.
Как видно на скрине, удалось набрать более 60 сек с первого раза после запуска ПК, хорошая проверка, что у тебя не западает клава или не глючит мышь (и любое другое устройство ввода).
Отличная функция, спасибо за урок.
найти время
2017-12-18 11:23 Невидимка Невидимка - Автозапуск + 15 27 мин.
Отлично, идём дальше.
Реализовал через CreateSubKey()
Придумал своё имя процесса =)
Использовал встроенную функцию Debug для вывода сообщений.
найти время
2017-12-18 10:47 Java Sweeper Финальный аккорд + 15 36 мин.
Отличный курс, после тех, что записывали ранее по данной игрушке, просто шикарный, спасибо!!!
з.ы.
реализовал помощника по установке флажков очень быстро, в данном курсе на этом было слишком много намёков =)
найти время
2017-12-18 10:05 Java Sweeper Цифровой помощник сапёра + 15 22 мин.
Отличный урок, реализовал помощника, было не сложно =)
найти время
2017-12-18 09:39 Java Sweeper Открываем карты + 16 10 мин.
Отлично, идём дальше.
найти время
2017-12-18 09:27 Java Sweeper Первая ошибка сапёра + 16 16 мин.
Отлично, идём дальше.
найти время
2017-12-18 09:10 Java Sweeper День Победы! + 16 7 мин.
Отлично, идём дальше.
найти время
2017-12-18 09:00 Java Sweeper Телеграмма о флажках + 16 9 мин.
Отлично, идём дальше.
найти время
2017-12-18 08:50 Java Sweeper Учёт зарытых флагов + 16 11 мин.
Отлично, мелкими шажками движемся к финишу.
найти время
2017-12-18 08:37 Java Sweeper Нулевая рекурсия + 16 6 мин.
Всё супер, идём дальше.
найти время
2017-12-18 08:25 Java Sweeper Выбор из выбора + 16 7 мин.
Отлично, идём дальше.
найти время
2017-12-18 07:14 Java Sweeper Алгоритм открывашки + 17 11 мин.
На скрине указал самое сомнительное место в алгоритме, выглядит странно, типо кликнул, мин рядом нет. победа?
найти время
2017-12-18 06:50 Java Sweeper Актуальное информирование + 16 9 мин.
Отлично, идём дальше.
найти время
2017-12-18 06:39 Java Sweeper Недетские состояния + 16 6 мин.
Отлично, идём дальше.
найти время
2017-12-18 06:27 Java Sweeper Добро пожаловать! + 16 6 мин.
Отличный постскриптум. Идём дальше.
найти время
2017-12-17 19:45 Микроигры VIP урок. Стрелялка + 16 10 час. 28 мин.
Отличный урок, навеял игрушку Space Invaders/Galaxian, поэтому не удержался и решил реализовать в этом ключе =)
Подробности в видео, приятного просмотра =)
остановиться =)
2017-12-17 09:13 Java Sweeper Смена флагов + 16 8 мин.
Отлично, идём дальше.
найти время
2017-12-17 09:02 Java Sweeper Схема правой педали + 16 3 мин.
Добавлю ещё состояние вопросика, однозначно =)
найти время
2017-12-17 08:57 Java Sweeper Мышечный адаптер + 16 7 мин.
Отлично, идём дальше.
найти время
2017-12-17 08:47 Java Sweeper Клавишные инструменты + 16 10 мин.
Добавил установку вопросика, если уже стоит флажок, как видно на скриншоте, дважды правой клавишей нажал по клетке 2, 2 и там появился вопросик.
найти время
2017-12-17 08:31 Java Sweeper Королевская траншея + 16 11 мин.
Отлично, компактно и красиво. Идём дальше.
найти время
2017-12-17 08:18 Java Sweeper Флаг над классом + 15 5 мин.
Рад, что нашли в себе силы и избавились от лишних зависимостей =)
найти время
2017-12-17 07:45 Java Sweeper Дважды в одну воронку + 16 13 мин.
метод проверки на дубликаты бомб реализовал по своему, do while тут веселее смотрится.
метод фиксирования максимального количества бомб назвал не fixBombsCount, а fixBombsTotals, логичнее ИМХО.
найти время
2017-12-17 07:30 Java Sweeper Следующая цифра + 16 6 мин.
Пора исправлять проблему дубликатов бомб поверх друг друга, чтобы не рисовались странные циферки =)
найти время
2017-12-17 07:23 Java Sweeper Ограда из единиц + 17 8 мин.
Отлично, самое интересное начинается =)
найти время
2017-12-17 07:12 Java Sweeper Сравнение координат + 16 8 мин.
Часть замечаний IDEA были устранены на прошлых уроках, части не было, а кое что пришлось так же подкорректировать, чтобы IDE порадовалась =)
Метод equals() немного иначе реализовал, сути не меняет, но выглядит более читабельно =)
найти время
2017-12-17 07:02 Java Sweeper Случайные бомборазмещения + 16 8 мин.
Раза с 10 наверное 8 бомб получилось =) идём дальше.
найти время
2017-12-17 06:52 Java Sweeper Тестовая бомба + 16 8 мин.
Отличное распределение логики.
найти время
2017-12-17 06:41 Java Sweeper Бомбанутый класс + 17 4 мин.
Класс Bomb хранит координаты размещения бомб и реализует методы работы с ними.
найти время
2017-12-17 06:36 Java Sweeper За гранью видимого + 16 8 мин.
Отлично, идём дальше.
найти время
2017-12-17 06:26 Java Sweeper Матрица мира + 16 8 мин.
Отличные модификации и рефакторинг, идём дальше.
найти время
2017-12-17 05:37 Java Sweeper Игровая координата + 16 10 мин.
Вспомнил, что у нас же ещё имеются вопросики, добавил их =)
Всё отлично, идём дальше.
найти время
2017-12-16 02:14 Java Sweeper Фасадный класс + 16 4 мин.
Суть класса Game в реализации UI для возможности взаимодействия пользователя с игровым полем.
найти время
2017-12-16 02:05 Java Sweeper Радуга картинок + 17 9 мин.
Отлично, но я вынес получение количества элементов списка за цикл, чтобы каждую итерацию не тратить на это время.
найти время
2017-12-16 01:44 Java Sweeper Полный список + 18 42 мин.
Отличный урок, по поводу setVisible() я его всегда ставлю в самом конце, после того как произвёл все настройки формы, поэтому у меня проблем с pack() не бывает =)
найти время
2017-12-16 01:15 Дневник успеха 2017-12-17 Отчет за неделю + 16 7 мин.
На неделе было выполнено:
11 консольных задач.
Финальный урок по курсу: Микроигры.
VIP урок "Формула 1" по курсу: Микроигры.
20 уроков по курсу: Java Sweeper.
найти время
2017-12-16 00:59 Java Sweeper Установка размеров + 16 13 мин.
Отлично, идём дальше.
з.ы.
уровень доступа обычно пишут левее статика, аргумент: psvm для быстрого набора public static void main =)
найти время
2017-12-15 06:02 Java Sweeper Статичная граница + 17 6 мин.
Списки координат вместо массива очень интересно, идём дальше.
найти время
2017-12-15 05:54 Java Sweeper Наши координаты + 17 4 мин.
Отлично, движемся дальше.
найти время
2017-12-15 05:48 Java Sweeper Карта классных сокровищ + 17 3 мин.
Каждый раз когда видел эту схему, возникал всегда только одни вопрос: "Почему верхний слой снизу, а нижний сверху?" =)
найти время
2017-12-15 05:43 Java Sweeper Запускаемый jархив + 18 21 мин.
Отличный урок, помимо встроенной функции создания артифактов, создал два батника для создания и запуска jar.
найти время
2017-12-15 05:20 Java Sweeper Источник ресурсов + 16 13 мин.
Отличный урок, то что доктор прописал, что мне нравится в этом деле, так это если не хватает файла или опечатался в имени файла или имени перечисления, то будет краш при попытке загрузки ресурса, который не найден. Дебаг рулит.
найти время
2017-12-15 05:05 Java Sweeper Картинка в кубике + 16 6 мин.
Отличная идея, но ресурс рут ещё впереди =)
найти время
2017-12-15 04:57 Java Sweeper Первый цикл + 17 4 мин.
Отлично, идём дальше.
найти время
2017-12-15 04:50 Java Sweeper Перечисление кубиков + 18 5 мин.
А что ей сделается, конечно запускается как и раньше, ведь мы только создали папку, файл и перечисление, нигде это всё не задействовав =)
найти время
2017-12-15 04:44 Java Sweeper Константные размеры + 17 6 мин.
Да, опять явно видно, что у вас там pack() на видео не корректно отрабатывает, форма больше чем надо вниз и вправо.
найти время
2017-12-15 04:35 Java Sweeper Угловая бомба + 17 5 мин.
Ещё не всё с этим методом =)
найти время
2017-12-15 04:29 Java Sweeper Загрузка и отображение + 17 4 мин.
Чую фишку с ресурс рут оставили на потом =)
найти время
2017-12-15 04:20 Java Sweeper Импорт картинок + 17 6 мин.
Использовал картинки, которые рисовал сам для других курсов по сапёру на Java и C#.
найти время
2017-12-15 04:12 Java Sweeper Метод рисования + 17 7 мин.
У вас на видео линия не до конца отрисовалась.
всё супер, идём дальше.
найти время
2017-12-15 03:53 Java Sweeper Раздельная инициализация + 18 5 мин.
Отличный рефакторинг, одобряю =)
найти время
2017-12-15 03:46 Java Sweeper Пустая панель + 17 4 мин.
Рад, что всё же решили использовать дименшен и пэк, удобно же =)
найти время
2017-12-15 03:04 Java Sweeper Полёт над классом + 17 5 мин.
Мне понравился конструктор, сколько раз писали эту игрушку, его использовать решили впервые, видимо этим он и привлёк внимание =)
найти время
2017-12-14 05:01 Микроигры VIP урок. Формула 1 + 15 8 час. 11 мин.
Создал иконку для приложения.
Нарисовал спрайты для 4 машинок разного цвета.
Вместо пустого фона использовал красивую трассу =)
Управление машинками синхронизировал, чтобы они двигались как на параде =)
Каждая машинка это экземпляр класса Car.
Все картинки подгружаются перед запуском игры и для каждой машинки загружаются текстуры своего цвета.
Движение машинок осуществляется при зажатии кнопки "Вверх", при отпускании её, они останавливаются.
Добавлена поддержка коробки передач, для этого используются кнопки: "A" и "Z".
В момент зажатия клавиши "Вверх" и последующих нажатиях на клавиши поворота: "Влево/Вправо", машинки не останавливаются, так же и с переключением скоростей (3 передних и 1 задняя).
з.ы.
есть ещё куча идей, но это отдельная история, не для данного отчёта =)
остановиться
2017-12-13 20:22 Java Sweeper Закрытие на выходе + 16 17 мин.
Отличная идея использовать конструктор! но я его сделал приватным, пока не появится необходимость в обратном.
найти время
2017-12-12 22:08 Java Sweeper Простое окно + 15 8 мин.
Избавился от статика, идём дальше.
найти время
2017-12-11 23:40 Java Sweeper Легендарная игра + 15 5 мин.
отличное начало, идём дальше.
найти время
2017-12-10 20:09 Микроигры ФИНАЛЬНЫЙ УРОК + 15 27 мин.
Сложно делать уроки с температурой =)
найти время
2017-12-09 23:15 Дневник успеха 2017-12-10 Отчёт за неделю + 15 2 мин.
На этой неделе на данный момент:
Решил 13 консольных задач.
Выполнил 4 урока по курсу: Микроигры.
найти время
2017-12-08 12:37 Микроигры Крестики-Нолики. Игра с компьютером + 15 2 час. 31 мин.
Отличный урок, но реализацию ИИ сделал по своему =)
Всё реализовывал сам, потом смотрел видео.
з.ы.
Убрал TableLauoutPanel, реализовав имитацию игры цветными ручками на бумаге в клеточку =)
Выбор за кого играет ИИ вынес в доп. меню игры с ИИ.
Реализовал демонстрацию, где ИИ играет сам с собой с задержкой пол секунды (не использовал таймер или внешний поток, всё отрабатывает в общем потоке, отображая ситуацию на поле).
победить ИИ =)
2017-12-07 02:58 Микроигры Крестики-Нолики. Игра на двоих + 16 2 час. 58 мин.
Отличная игрушка, видно, что урок древний, но от этого он не менее приятный.
з.ы.
Добавил иконку и текстуры крестика/нолика.
Добавил счёт, который отображается в тайтле формы.
Чей ход выполнен в виде булевой переменной, так удобнее и меньше ресурсов выделяется.
Вместо булевой переменной play, реализовал перечисление State, с возможными вариантами стадии игры.
Если стадия ИГРА, то после каждого клика по пустой клетке производится переход хода.
При чьей-то победе, увеличивается счётчик на единицу победившей стороне.
При ничье, счёт остаётся неизменным.
Проверку наличия координат на поле вынес в отдельную функцию: OnMap().
Функцию Finish() реализовал по своему, производится проверка три вряд по всем направлениям (аля солнышко).
Добавил подробное описание правил игры.
Добавил подробное описание об игре.
На формах "Об игре" и "Правила игры" добавлены иконки с левой стороны.
На форме "Об игре" добавлен вопрос открытия профиля на сайте проекта и две кнопки: "Да" или "Нет".
и много других мелких правок и оптимизаций...
остановиться =)
2017-12-06 23:51 Дневник успеха 2017-12-03 Первая зимняя слякоть + 16 3 дня 23 час. 44 мин
На этой неделе на данный момент:
Решил 8 консольных задач.
Выполнил оставшиеся 3 урока по курсу: Чашка кофе.
Выполнил 2 урока по курсу: C# Android.
Выполнил 2 урока по курсу: Микроигры.
Так же выполнил урок "EGZ - Зачётная задача - Евро" по курсу: "7. Экзамен" (на языке Java).
найти время
2017-12-05 12:08 Микроигры 2048 - Объединение + 15 1 час. 48 мин.
Отличная игра получилась, заменил TableLayoutPanel на обычную Panel, так намного веселее, а по поводу поддержки ресайза, ну чуток больше кода добавить надо будет, не критично.
Реализовал свою функцию поиска возможных комбинирований при проверке на конец игры.
Так же порефакторил код, чтобы не было дубликатов.
Всё супер, идём дальше.
найти время
2017-12-04 21:57 Микроигры 2048 - Смещение + 16 1 час. 34 мин.
Отлично, идём дальше.
з.ы.
надо будет добавить проверку на возможность объединения соседних одинаковых чисел, даже если всё поле заполнено, но думаю это будет в след. уроках.
найти время
2017-12-02 23:41 Микроигры 2048 - Интерфейс + 17 1 час. 59 мин.
отличное начало, всё супер, идём дальше.
найти время
2017-11-30 22:15 J7. Экзамен EGZ - Зачётная задача - Евро + 17 2 мин.
Добавил JUnit тесты, добавив цены из таблицы задания.
Добавил генерацию рамки для шапки.
Добавил поддержку множества строк со всех трёх видов ввода данных.
На скриншоте показаны все три вида ввода данных.
Отличный экзамен!!!

остановиться =)
2017-11-30 19:26 Микроигры 2048 - Учимся играть + 16 49 мин.
Прикольная игра, ранее в неё не играл никогда, поиграл 3 раза, с каждым разом всё дальше и дальше.
найти время
2017-11-29 02:38 C# Android Создание класса с алгоритмом игры + 15 27 мин.
Отличный урок, только я всё сделал как обычно.
Так же не нужно создавать пустой файл cs, так же создаётся новый Класс и там автоматом прописываются базовые юзинги и т.д.
Всё супер, жаль, что бесплатная лицензия Xamarin уж очень кастрированная. Но интересная, я думал будет всё намного хуже, но выглядит и работает очень даже быстро на планшете. В прошлом тестировал другие кроссплатформенные решения, но получаемые приложения выглядели убого, чем если бы писал на родном языке и софте под конкретную платформу.
найти время
2017-11-29 01:50 C# Android Размещение экранных форм в дизайнере + 15 25 мин.
Продление речки на скриншоте =)
з.ы.
скриншоты с ПК и планшета.
найти время
2017-11-28 10:38 Чашка кофе Интерфейс пользователя на Swing + 16 1 час. 21 мин.
Отличная идея урока, почти всё время ушло на создание видео-отчёта, подробнее в видео.
найти время
2017-11-27 22:53 Чашка кофе Подведение итогов + 16 52 мин.
Лайфках не понравился, так как подобные вези можно реализовать используя преимущества "Состояний".
Ещё при прохождении курса по "Шаблонам проектирования" реализовал так же, тут реализовал это ещё в прошлом уроке, поэтому данный урок просто просмотрел, на скриншоте видно как реализовал я и думаю это как раз в тему курса.
Так же видно дальнейшее использование калькулятора и динамически изменяемая рамка, в след уроке будет реализация GUI, вот это интересно, так как на вебинаре не успели до этого дойти, хотя я и реализовывал уже и этот вариант =) лишним не будет.
найти время
2017-11-27 21:55 Дневник успеха 2017-11-26 Пятница стала ещё чернее + 15 5 мин.
На этой неделе на данный момент:
Решил 14 консольных задач.
Выполнил 2 урока по курсу: Game Xonix.
Выполнил 3 урока по курсу: Чашка кофе.
Выполнил 2 урока по курсу: C# Android.
Так же выполнил урок "IF - Quiz" по курсу: "6. Условия" (на языке Java).
найти время
2017-11-27 04:27 Чашка кофе Вычисление ответа + 17 1 час. 12 мин.
Реализовал смену операции в состоянии ответа, что сделало возможным прохождение 20 теста, но для 19 теста нужна доработка, чем займусь уже в след. уроке.
Добавил поддержку деления на ноль.
Так же как видно из скриншота, добавленная ранее история работает отлично, она динамически растягивает размер окна калькулятора, если добирается до нижнего края =)
Всё супер, идём дальше.
найти время
2017-11-26 00:49 C# Android Установка и запуск HAXM эмулятора Android + 16 24 мин.
Так как я уже очень давно установил Android Studio когда разрабатывать начала ПО для устройства на Андроид, то у меня всё это уже было, поэтому проблем не возникло.
з.ы.
запустил на эмуляторе с андроидом 4.2.2, API17
найти время
2017-11-25 16:40 C# Android Установка Xamarin для Visual Studio + 15 29 мин.
Я за разработку на оригинальном языке, но кросс-платформенность всегда интересно, можно будет потом реализовать тот же алгоритм на родном языке платформы для сравнения скорости.
найти время
2017-11-25 00:23 Чашка кофе Состояние первого аргумента + 15 1 час. 17 мин.
Повторил пройденный материал.
Добавил, ранее созданный при прохождении курсов по языку Java, собственный класс ConsoleArt() для красивого отображения калькулятора =)
Добавил поддержку отображения истории, пригодится в след. уроках.
Создал батники для компиляции и запуска калькулятора из консоли, для наглядности.
Отличная модернизация алгоритма относительно прошлой версии =)
найти время
2017-11-24 01:42 Чашка кофе Создание тестов для калькулятора + 15 57 мин.
Отличная версия, с каждым разом всё лучше и лучше подход к реализации, тесты как нельзя кстати, добавил своих несколько и разбил их на индивидуальные, плюс добавил метод предварительной подготовки перед тестами, вынеся инициализацию контекста.
найти время
2017-11-23 19:22 Чашка кофе Шаблон State и план калькулятора + 16 12 мин.
Отличный вебинар получился.
з.в.
третий раз уже буду на Java писать калькулятор =) отличная практика
найти время
2017-11-22 13:00 Game Xonix Конец игры + 16 1 час. 24 мин.
1 - Добавил жизни, изначально 3.
2 - Уменьшил диапазон срабатывания при врезании в xonix или в его путь враждебных объектов. Теперь если они точно попадают в точку с незавершённым путём или в точку самого xonix, тогда срабатывает событие и отнимается жизнь.
3 - Если xonix стоит не двигаясь на земле и прямо на него наехал квадратик, отнимается жизнь и появляется квадратик в новом рандомном месте.
4 - Если xonix движется по воде и в него врезается шарик, то шарик появляется в рандомном месте на воде, а xonix возвращается туда, откуда начал свой путь следования по воде, незавершённый путь отменяется, отнимается жизнь.
5 - При переходе на новый уровень, жизнь увеличивается на 1.
6 - Снизу добавил отображение текущего количества жизней.
з.ы.
на первом скриншоте почти пройденный 4 уровень, когда попал на 5, на xonix наткнулся квадратик и xonix ушуршар за пределы карты, решил устранить это баг, добавив проверку находится ли он на воде или нет, так если он стоит и ещё не разу не двигался, то координаты возврата были по умолчанию за пределами карты.
Поэтому второй скриншот с 5 уровнем, это уже последующая игра, по сути я дважды дошёл до 5 уровня =)
найти время
2017-11-21 15:50 Game Xonix Следующий уровень + 15 11 мин.
Отличная доработка, всё ближе и ближе к финальному штриху =)
найти время
2017-11-20 21:03 J6. Условия IF - Quiz + 15 1 час. 37 мин.
Отличная практика, надо будет позже продолжить, надеюсь там есть конец, а то как видно из скрина, уже 50+ ответил корректно, даже некоторые решил задачи, правда чтобы их проверить надо авторизоваться, что привело к сбросу статистики и пришлось ещё раз проходить тесты, они рандомятся, так что я уже почти 100 тестов выполнил =)
найти время
2017-11-19 17:55 Микроигры ПОЛУФИНАЛЬНЫЙ УРОК + 15 8 мин.
Так как курс уже не раз перетасовывался, добавлялись и удалялись уроки, то мой отчёт тоже может стать не актуальным из-за того, что игрушки до фолуфинала могут измениться вновь =) а так как видео отчёт уже записывал по одной игрушке, то записывать видео отчёт не стал, оставлю это дело для финального урока =)
найти время
2017-11-18 19:44 Дневник успеха 2017-11-19 "Машинное время" всегда в цене + 15 4 мин.
На этой неделе на данный момент:
Решил 8 консольных задач.
Выполнил 4 урока по курсу: Микроигры.
Так же выполнил последний VIP урок по курсу: Графические циклы.
найти время
2017-11-17 11:58 Микроигры Аполлон. Плавное прилунение + 17 2 мин.
Надо было просто повторить за учителем, а я как всегда красоту навожу, основное время на фотошоп и ушло =)
Остановиться дорабатывать
2017-11-16 15:21 Микроигры Аполлон. Законы физики + 16 1 мин.
Основное время ушло на создание текстур в стиле спектрума =)
Отличный урок, идём дальше.
з.ы.
так как данный урок тоже уже третий раз попадается, то его отчёт не составил особого труда =)
найти время
2017-11-15 18:32 Микроигры Аполлон. Главные герои + 15 1 мин.
Дочка изъявила желание нарисовать это дело, приложил скан её набросков за пару минут.
найти время
2017-11-14 12:46 Микроигры Игра 15 - Картинка + 15 2 час. 1 мин.
Отличный урок, добавил несколько картинок, на каждом уровне новая, так же вынес подгрузку картинки за пределы циклов, чтобы каждый раз одну и туже картинку не подгружало для обрезания, теперь она просто передаётся доп. параметров.
Отличное завершение для классической игрушки.
найти время
2017-11-12 18:00 Графические циклы VIP. Спирограф от Елены + 17 1 час. 34 мин.
Просто супер, модифицировал свою версию спирографа на основании данного урока, намного веселее выглядит =)
з.ы.
добавил наработки Елены:
1 - выбор цвета карандаша
2 - сохранение картинки в файл в формате png
3 - использовал прозрачный фон для картинки
4 - использовал алгоритм Елены для генерации линии (у меня были точки)
5 - так как у меня были точки, был использовал ШАГ, а так как у Елены линии, то я заменил ШАГ на ВРЕМЯ задержки в мс между итерациями
найти время
2017-11-11 12:02 Дневник успеха 2017-10-15 Середина октября + 16 4 мин.
На этой неделе по текущий момент:
Решил 12+ консольных задач (в логах ниже 18 октября не показано, поэтому что было с 9 по 15 октября точно не скажу, тоже что-то решал по идее).
Выполнил 2 VIP урока по курсу: Новые технологии,
1 урок по курсу Графические циклы,
1 урок по курсу Инфобизнес
и 2 урока по курсу Шарики.
найти время
2017-11-11 11:56 Дневник успеха 2017-10-22 Конец второй декады октября + 16 8 мин.
На этой неделе по текущий момент:
Решил 12+ консольных задач (в логах ниже 18 октября не показано, поэтому что было 17 и 16 октября точно не скажу, тоже что-то решал поидее).
Выполнил 3 урока по курсу: Шарики (финальный в том числе),
1 урок по курсу Графические циклы,
2 урока по курсу Инфобизнес
и 1 урок по курсу Демо игры.
найти время
2017-11-11 11:47 Дневник успеха 2017-10-29 Почти конец середины осени + 16 3 мин.
На этой неделе по текущий момент:
Решил 7 консольных задач и 7 случайных задач.
Выполнил 2 VIP урока по курсу: Шарики,
5 уроков по курсу: Game Xonix
и 4 урока по курсу Графические циклы.
найти время
2017-11-11 11:38 Дневник успеха 2017-11-05 День народного единства + 17 4 мин.
На этой неделе по текущий момент:
Решил 7 консольных задач и 7 случайных задач.
Выполнил 5 уроков по курсу: Game Xonix.
Так же выполнил 3 урока по курсу: Графические циклы.
найти время
2017-11-11 11:27 Дневник успеха 2017-11-11 "Чёрная пятница" будет в субботу + 16 4 мин.
На этой неделе по текущий момент:
Решил 14 консольных задач.
Выполнил финальные уроки по курсам: Game Xonix и Графические циклы.
Так же выполнил 3 VIP урока по курсу: Графические циклы.
найти время
2017-11-10 11:01 Графические циклы VIP. Спирограф + 17 1 час. 43 мин.
Отличная идея, дать самостоятельное задание, написать спирограф, что я и реализовал, так же для удобства работы с ним, реализовал асинхронную отрисовку, чтобы в любой момент можно было остановить и изменить настройки, так же добавил на форму несколько параметров управления, мерцание так же устранено =)
найти время
2017-11-09 11:48 Графические циклы VIP. Узоры на окружности + 16 1 час. 20 мин.
Супер урок, отличная анимация, решил вопрос с мерцанием, проблема была в том, что функция Clear() очищает графику и отображает это на pictureBox, потом рисует и опять отображает, это лишнее, нам надо очищать графику, потом рисовать новое, после чего обновлять pictureBox и делать задержку уже после всего этого.
найти время
2017-11-08 19:29 Графические циклы VIP - Квадрат Гарри Поттера + 16 28 мин.
При прохождении Java уже выполняли подобные заклинания =)
з.ы.
x * y % 10 == 0
x * y % 10 == 4
x * y % 10 == 5
x * y % 10 == 6
x * y % 8 == 4
x * y % 15 > 7
найти время
2017-11-07 23:22 Графические циклы ФИНАЛЬНЫЙ УРОК + 11 6 мин.
1. Очень понравились, особенно тригонометрия.
2. Дополнительная практика никогда не помешает. Особенно по тригонометрии.
3. Результаты экспериментов по курсу можно посмотреть на видео.
з.ы.
вперёд, к VIP урокам =)
найти время
2017-11-06 23:05 Game Xonix ФИНАЛЬНЫЙ УРОК + 10 3 мин.
Отличный курс, игрушка детства, есть ещё куда пилить, добавил проверку при генерации островков, чтобы они не граничили друг с другом, нужно добавить статистику, обработку столкновений с врагами и лимит попыток, они же жизни =)
найти время
2017-11-05 23:51 Графические циклы Спираль Архимеда + 11 44 мин.
Повторил тригонометрию, просто супер урок, разжёвано так, что я не знаю, кем надо быть, чтобы не понять.
найти время
2017-11-04 23:13 Game Xonix Процент Земли + 11 18 мин.
Отличный урок, повторил пройденное, осталось добавить проверку на процент заливки, подсчёт очков и победу, так же цикл запуска очередного уровня =)
найти время
2017-11-03 21:12 Game Xonix Живая Легенда + 10 18 мин.
Отлично, статистика и информации по ситуации в игре это самое важное, чтобы было к чему стремиться и быть в курсе, что происходит =)
найти время
2017-11-02 21:25 Графические циклы Трёхмерные циклы + 11 21 мин.
Отличный урок, повторил пройденное, когда-то, ещё в школе учился в 9 классе, была олимпиада по информатике, подобные задачки давали.
найти время
2017-11-01 21:13 Game Xonix Заштриховка области + 10 10 мин.
Повторил пройденное
найти время
Супер урок, я вначале думал заливать области, пока не наткнёшься на шарик, если наткнулся, то отмена заливки и так дальше, но этот вариант куда быстрее и оптимальнее, сразу двух зайцев. Бомба.
2017-10-31 23:14 Game Xonix Прогулки по воде + 11 7 мин.
Повторил пройденное
найти время
Отличный урок, идём дальше.
2017-10-30 19:39 Графические циклы Внутренние условия + 11 20 мин.
Повторил пройденное
найти время
Отличный урок, 16 вариант лучше, потому что быстрее, даже не выводя слип за пределы внутреннего цикла, всё равно дольше отрисовывает.
2017-10-30 19:10 Game Xonix Прыжок в воду + 12 10 мин.
Повторил пройденное
найти время
Отличный урок, по поводу движения протагониста, он как змейка, если нажать в противоположную сторону движение и он находится в состоянии рисования пути, то он возвращается в точку, где последний раз был на суше и отнимается одна жизнь =) уже приближаемся к реализации данный правил.
2017-10-29 21:55 Game Xonix Клавиши подсознания + 12 8 мин.
Повторил пройденное
найти время
Слушатель клавиш уже использовали, при прохождении курсов по Java, поэтому лишний раз повторил это дело =) отличный урок, наконец наш протагонист научился двигаться туда, куда скажут =)
2017-10-29 21:25 Графические циклы Вложенные циклы + 11 30 мин.
Повторил пройденное
найти время
Всё супе, идём дальше.
2017-10-28 22:57 Графические циклы Пучок лучей + 10 35 мин.
Повторил пройденное
найти время
Всё супер, идём дальше.
2017-10-28 21:15 Game Xonix Главный герой + 10 10 мин.
Повторил пройденное
найти время
Отлично, появился главный протагонист =), идём дальше.
2017-10-27 17:56 Графические циклы Диагональные линии + 10 15 мин.
Повторил пройденное
найти время
Реализовал общий цикл + дорисовка центральной линии, анимация закрывающихся шторок в центре. Всё супер, идём дальше.
2017-10-27 16:39 Game Xonix Среда обитания + 10 20 мин.
Закрепил пройденное
найти время
Добавил ещё пару кубиков и шариков. Всё супер, идём дальше.
2017-10-26 10:46 Game Xonix Острова, острова + 10 10 мин.
Повторил пройденное
найти время
Отличный урок, но я бы метод, который добавляет N-островов назвал бы во множественном числе, добавив буковку s в конце названия, см. скриншот.  =)
2017-10-26 09:08 Графические циклы Горизонтали и вертикали + 10 30 мин.
Повторил пройденное
найти время
Можно было просто использовать i вместо x или y и не пришлось бы использовать лишнюю инициализацию с присваиванием в цикле, см. скриншот. Всё супер, идём дальше.
2017-10-25 10:30 Game Xonix Цветовая дифференциация + 10 15 мин.
Повторил пройденное
найти время
Супер, лучше поздно чем никогда =)
з.ы.
одна из первых игр, которые я увидел на ПК. ещё на Спектр-001
2017-10-24 14:32 Новые технологии Говорящие часы. Воспроизведение + 11 2 час. 30 мин.
Закрепил запись с микрофона
найти время
Реализовал оптимизированный список необходимых файлов.
Реализовал функции с общей озвучкой чисел.
Объединил формы записи голоса и часов в одной программе.
Добавил меню, через которое можно вызывать запись голоса.
Используется один общий массив файлов для записи и воспроизведения.
Реализовал озвучку секунд.
Реализовал воспроизведение каждый час.
При открытии записи голоса, основное окно скрывается.
При закрытии окна записи голоса высвобождаются ресурсы и отображается основная форма.
Отличные вип уроки, очень понравились, ребёнок в восторге.
з.ы.
так как уже выполнял этот урок, просто продублировал отчёт.
2017-10-23 09:17 Новые технологии Говорящие часы. Запись голоса + 10 2 час. 30 мин.
NAudio
найти время
Оптимизировал количество файлов, их получилось 36.
Реализовал круглый лейбл, на который надо наводить и говорить.
Библиотеку скачал и установил через NuGet.
Отличный урок, очень понравился, всё коротко и ясно.
з.ы.
так как этот урок уже выполнял при прохождении курса "Хранитель экрана", то просто продублировал отчёт.
з.з.ы.
да, было бы не плохо в новом движке учесть этот момент, чтобы если урок уже был выполнен, он автоматом отображал отчёт о выполнении везде, где он был бы прикреплён как урок.
2017-10-22 19:34 Графические циклы Подготовка графики + 10 30 мин.
Повторил пройденное
найти время
Начало положено, движемся дальше.
2017-10-21 23:30 Шарики ФИНАЛЬНЫЙ УРОК + 14 7 час. 00 мин.
Повторил пройденное
остановиться дорабатывать =)
Отличный курс, очередная игрушка детства в копилку =) Огромное спасибо.
2017-10-20 08:42 Инфобизнес Эскизы проекта + 10 1 час. 30 мин.
Повторил пройденное
найти время
Как видно из скотншотов, на одном выбран радиобатон за сутки, на другом всено решённых задач.
Оба графика, как видно из скриншота, показывают статистику за неделю, как будто сейчас ВС вечер =)
Статистика задач за сутки, показывает сколько было решено задач за каждый день недели по выбранному языку, для примера взял C# и Java. Кривая может как подниматься выше, так и опускаться, если было решено сегодня меньше задач, чем вчера.
Статистика задач всего, показывает сколько решено всего задач на конкретный момент времени, т.е. с каждым днём это количество будет увеличиваться, либо стоять на месте, поэтому кривая может либо ровно идти либо стремиться вверх.
Количество на общем количестве синхронизированы с количество в сутки.
2017-10-19 17:05 Демо игры C# чего начать программировать + 10 не указано
[hide]

Набить практику, изучить новое, заполнить возможные пробелы, чтобы собрались пазлики знаний =)
2017-10-18 23:13 Инфобизнес Социальная сеть проекта + 10 7 мин.
Узнал о том, что планировалось за 4 месяца до того, как я зарегистрировался на этом проекте =)
найти время
Отличная идея, выглядит немного сумбурно, но суть ясна. Основная задача соц. сети на проекте - управление сообщениями в одном месте, как говорилось в видео, хронологически отображаются сообщения, видишь от какой темы отталкивается сообщение, чтобы понять, о чём речь. Я бы добавил фильтрацию сообщений, так как когда они идут все подряд, чередующиеся, не очень удобно, к примеру, надо просмотреть переписку с каким-то конкретным человеком, выбрал фильтр, и другие сообщения не мешают, не нужно листать и искать, можно случайно и пропустить, конечно, можно использовать в браузере Ctrl+F и вбить имя пользователя, тогда под светятся сообщения с ним, но это уже лайфхак, да и страничка должна отображать ВСЁ, а так двух зайцев поймаем и страничка будет меньше и как следствие быстрее грузиться и напрягать хост и удобно читаемая последовательность необходимых сообщений. В фильтре можно использовать варианты всех видов сообщений, которые имеются, генерироваться они могут динамически. это уже техническая часть, но суть я думаю понятна.
2017-10-17 22:52 Шарики Шарики. Поиск линий + 11 1 час. 30 мин.
Повторил пройденное
найти время
Баг при анимации пути устранил ещё на прошлых уроках, баг при анимации исчезновения линий устранил по тому же принципу.
Добавил чекбокс "Демо режим", добавил пару строк в код и теперь игрушка постоянно рандомик шарики, иногда заполняя линии, никакого ИИ, чисто цветомузыка =)
Доп. фишки оставил для финального урока, чтобы было что показать в видео =)
2017-10-16 22:12 Шарики Шарики. Поиск пути + 11 3 час. 00 мин.
Закрепил пройденное
найти время
Смысл переменной paths не узрел, так как использовал создание массива пути на основе длинны пути, см. скриншот и поэтому не инициализировал массив размером 81.
после того как путь отрисовывался поверх будущих шариков, они как будто стирались, а потом появлялись уже большими, устранил эту проблему, реализовав простую проверку.
Оптимизировал код в разных местах, чтобы не было дубликатов и т.д.
Отличный урок, идём дальше.
2017-10-15 23:28 Шарики Шарики. Логика игры + 11 1 час. 50 мин.
Повторил пройденное
найти время
Отличный урок, во время реализации ошибок не возникало, так как ставил паузу, делал, потом смотрел. Идём дальше.
2017-10-13 20:11 Шарики Шарики. Анализ игры + 11 54 мин.
Повторил пройденное
найти время
Начало положено, повторение мать учения. Отличная игрушка, идём дальше.
з.ы.
справа пустое место не просто так, там будет статистика =)
2017-10-11 11:07 Новые технологии VIP урок - Создание архиватора - 2 часть + 13 1 час. 20 мин.
Повторил пройденное
найти время
Отличный урок, очень полезный, подобные работы с файлами делал в php через консоль =) чтобы склеивать файлы в один цельный.
2017-10-10 11:00 Новые технологии VIP урок - Создание архиватора - 1 часть + 13 45 мин.
Повторил пройденное
найти время
Отличное начало отличной темы, как раз подобная штука очень пригодится, уже даже есть отличная идея как хранить данные о вложенных файлах в один большой поток. Об этом говорил на курсе Viri.
2017-10-09 10:01 Инфобизнес Распределение доступов + 16 15 мин.
Повторил пройденное
найти время
1 - думаю, если и делать в школе разделение на классы, то либо по тематике, либо по потоку, т.е. два типа курсов, записанные, где человек купил его и проходит сам, как угодно и удобно, и онлайн курс, где проводятся вебинары, начало записи к примеру 1 сентября и до конца месяца, след потом уже с 1 октября, кто не успел записаться, уже только могут на 1 октября записываться, т.е. запись заранее.
2 - никаких гостей в классе, нечего отвлекать учеников посторонними.
3 - всё верно, общий список доступов, который привязывается потом к группам/типам пользователей.
4 - билеты/флаера лучше сделать динамичными, т.е. это некий объект, которые может содержать в себе доступ к 1 и более курсам/урокам
2017-10-08 11:43 Инфобизнес Иерархия учебных материалов + 16 8 мин.
Повторил пройденное
найти время
Добавить возможность менять статус урока/курса: "публичный, приватный(КФ, КУ...) платный, бесплатный, акционный".
Добавить к уроку теги, тогда это упростит поиск. Теги можно брать с www.wikidata.org по их ID. Например, тег C# имеет ID Q2370 (https://www.wikidata.org/wiki/Q2370)
Имеем курс, находясь на его основной страничке, вверху есть закладки. К примеру, Основная, далее отдельно можно сделать закладку со всеми отзывами, так же закладку с кратким списком входящих уроков, отображаемых последовательным списком.
Согласен с тем, что уроки должны быть независимыми, чтобы их можно было привязывать к любому курсу в любой последовательности.
Каждый урок в свою очередь может состоять из последовательности шагов, требуемых для решения урока (на данный момент у нас они выглядят как список галочек, который проставили и всё), но думаю лучше реализовать систему, которая будет фиксировать каждый шаг, заливая по нему отчёт, по сути, это хорошо подходит для длинных уроков, которые можно разделить на части, каждая из которых и будет шагом (к примеру, урок имеется, ЗМЕЙКА, он длится 1,5 часа где-то, так вот если её разбить на части по 10 минут, уже получается 9 шагов)
2017-10-06 23:55 PHP фреймворк Yii2 - вторая часть Switch lang - Полиглот + 16 45 мин.
Подключение переключателя через адресную строчку в Yii2
найти время
Отличный урок, но оставил параметр 'language' => 'ru' в web.php, чтобы при первом входе на сайт, сразу отображалось на русском языке, после выбранный язык сохраняется в куки и при последующем входе по обычной ссылке без en или ru в ней, будет отображать сайт на последнем выбранном языке.
2017-10-05 23:44 PHP фреймворк Yii2 - вторая часть Debug url - Отладочный модуль + 16 27 мин.
Повторил пройденное
найти время
Отличное повторение пройденного материала из первой части, движемся дальше.
з.ы.
генерируется папка runtime\debug, тоже туда добавил .gitignore, чтобы не добавлять мусор в гит
2017-10-04 13:16 Новые технологии VIP урок. C# + MySQL через DataSet + 16 2 час. 00 мин.
Связке изменений в DataGridView с БД.
найти время
Интересная система обновления данных на лету в БД при работе с DataGridView, но мне кажется лучше команды обновления/добавления/удаления использовать кастомные, так как странновато оно как то их генерит, а если нужна специфическая структура БД, то автогенератор начинает тупить. Думаю, чтобы оно не тупило, надо и таблицы генерить таким же способом =)
2017-10-03 22:38 PHP фреймворк Yii2 - вторая часть Internationalization - Вершина айсберга + 16 20 мин.
Структуре интернационализации в Yii2
найти время
Отличный урок, всё коротко и ясно, я аналогично делаю в своих проектах, не в базе храню.
з.ы.
забыли закоммитить =)
2017-10-02 23:12 Инфобизнес Базовые принципы проекта + 16 10 мин.
Ничему
найти время
Говорил, говорю и говорить буду, нужно дерево движения курсов, см. скриншоты.
Так же динамика выполнения уроков на проекте, чтобы человек мог посмотреть свою динамику за последние сутки/неделю/месяц/год... так же мог сравнить со средней динамикой на проекте и лучшей динамикой =)
2017-10-01 18:18 PHP фреймворк Yii2 - вторая часть Lang Tester - Тестирование Интернационализации + 16 45 мин.
Повторил пройденное
найти время
Работать с git предпочитаю через git bash/gui, но вариант в IDE тоже норм.
Так как у меня на основной страничке имеется title, то я его проверяю первыми строчками и они проходят на ура.
з.ы.
в конце забыли добавить ещё один не маловажный файл в ветку tests, а именно codeception.yml, думаю в след. уроке поправят это дело =)
з.з.ы.
отличный постскриптум, думал с этого начнётся следующий урок, но так логичнее.
2017-10-01 17:13 Дневник успеха 2017-10-01 Первый день октября + 2 не указано


На этой неделе было сделано:
Выполнил четыре новых урока в новом курсе "PHP фреймворк Yii2 - вторая часть":
Welcome - Вступление
Web folder - Подготовка папки
Compose Yii - Загрузка фреймворка
Lang Tester - Тестирование Интернационализации
Выполнил урок "Игра 15 - Алгоритм" по курсу "Микроигры"
Выполнил 5 консольных задач, одна из которых Олимпиада: "Ширина сарая"
Сентябрь пролетел незаметно, подробно расписывать что было реализовано,
не буду, так как это будет выглядеть скорее как ТЗ, скажу коротко:
"Как и всегда была проведена плодотворная работа по всем фронтам" =)
2017-09-30 00:01 Микроигры Игра 15 - Алгоритм + 16 1 час. 25 мин.
Повторил пройденное
найти время
Отличный урок, отличная игра, идём дальше.
з.ы.
усложнил тем, что числа в бинарном виде =)
2017-09-28 21:59 Новые технологии ФИНАЛЬНЫЙ УРОК + 3 15 мин.
Повторил пройденное
найти время
Курс бомбовый, собрано много разнообразных уроков, каждый из которых полезен по своему, после прохождения урока по WinAPI, недавно столкнулся с проблемой, зависло приложение, не снималось никак, отказано в доступе, написал своё приложение по поиску и снятию всех зависших приложений, отобразило помимо зависшего ещё несколько, о которых даже не подозревал.
з.ы.
так как этот курс не привязан к какой то определённой тематике, можно добавлять сюда отдельные мини уроки по новым технологиям.
2017-09-27 19:43 PHP фреймворк Yii2 - вторая часть Compose Yii - Загрузка фреймворка + 16 45 мин.
Повторил пройденное
найти время
Отличный урок, по шустрее всё, после прохождения первой части очень положительно сказывается. Так как уже делал это не раз, поэтому бить данные действие на 10 уроков не стоит =) кому нужно для каждого шага отдельный урок, имеется первая часть данного курса.
2017-09-26 22:13 PHP фреймворк Yii2 - вторая часть Web folder - Подготовка папки + 16 35 мин.
Повторил пройденное
найти время
Не нужно после .idea ставить слэш, если не хотите указать после него звёздочку или конкретный файл.
Так же желательно добавить поддержку мусора, который может возникнуть, особенно если работаешь в команде, у каждого своя ОСь со своими нюансами.
Добавил фильтр файлов кэша миниатюр для Windows пользователей.
Так же добавил фильтр для кэша Mac пользователей.
Добавлены фильтры для пользователей eclipse и netbeans (может быть им не нравится PhpStorm)
Добавил в фильтр папку vendor заранее, так как уже знаю, что она будет.
Поставил слэш перед папкой vendor для того, чтобы фильтровать только данную папку в корне проекта, так как может быть одноимённая папка где-то в структуре сайта и не хотелось бы, чтобы она отфильтровалась и не попала в git.
2017-09-25 22:56 PHP фреймворк Yii2 - вторая часть Welcome - Вступление + 16 14 мин.
Повторил пройденное
найти время
Так как прошёл первую часть по курсу Yii2, то данные вещи у меня имеются в наличии и установлены, а так как у меня уже порядка 100+ проектов на GitHub, то естественно он у меня имеется и активно используется.
2017-09-23 23:23 Новые технологии Построение графиков + 16 1 час. 30 мин.
ZenGraph
пришлось найти возможность добавить ZenGraphControl в Toolbox
Так как в уроке добавить ZenGraphControl в Toolbox не удалось, использую версию VS2k17, но погуглив, наткнулся на вариант, просто перенести библиотеку в районе Toolbox и добавил без проблем.
Спасибо, библиотека пригодится, графики вещь полезная и наглядная.
2017-09-22 13:36 Новые технологии Печать таблицы + экспорт в Excel + 16 50 мин.
Печати на принтер через WebBrowser
найти время
Отличный способ, обязательно буду использовать, это же можно при помощи html+css красоту печатать =)
2017-09-21 09:51 PHP фреймворк Yii2 - вторая часть Design Cabinet - Кабинетное планирование + 16 35 мин.
Повторил планирование ТЗ
найти время
Думаю лучше удаление профиля добавить внизу профиля, а смену пароля перенести в настройки.
Так же дату храню в БД в формате UNIXTIME(), на то есть множество причин, уж очень много по этому поводу экспериментов было, да, формат DATE() более читабелен, но у нас для этого есть сайт, чтобы он выводил читабельно, а БД должна быть оптимизирована и быстро обрабатывать запросы. Да и сами запросы должны быть короткими, а с UNIXTIME() короче запросов не придумать.
В базе хранится айди выбранного языка, сам язык потом будет браться из другой таблицы lang_content или что-то подобное. Там будет хранится вся локализация для необходимых языков. Как обычно, если для чего-то не найдена локаль в БД, берётся локаль по-умолчанию (т.е. на языке сайта по-умолчанию).
2017-09-20 12:01 Новые технологии Работа с WinAPI + 16 1 час. 30 мин.
Закрепил работу с WinAPI
найти время
Добавил второй listBox для списка закрываемых окон.
Добавил кнопки добавления в правый список и удалению оттуда.
В левом списке не отображается то, что было добавлено в правый список.
При установке галочки "Автоматического завершения..." завершаются все окна, добавленные в правый список.
Отличный урок, очень полезная вещь, будет использовано в разработке дополнительной защиты ПК от запуска несанкционированного ПО.
з.ы.
на первом скриншоте выбран калькулятор из списка,
на втором скриншоте добавлен в правый список и пропал из левого.
2017-09-19 13:50 PHP фреймворк Yii2 - вторая часть Design Signup - Планирование входа + 16 20 мин.
Повторил планирование
найти время
Отличное начало, ТЗ наше всё =)
2017-09-18 21:34 Новые технологии ПОЛУФИНАЛЬНЫЙ УРОК + 16 6 мин.
Ничему
найти время
Первая половина курса понравилась своим разнообразием полезных уроков.
Вначале изучали "Модульное тестирование", отличная вещь для разработки
в команде, особенно когда имеется разделения задач.
Далее прошли два урока с кубиками, на которых демонстрировалась
работа с делегатами и многопоточностью, отличная и полезная вещь,
уже применил данные знанания не раз.
Создание менеджера картинок для рабочего стола, отличная утилита,
особенно в последних версия Windows, так как они встроенную утилиту
постоянно кудато пытаются спрятать =)
Урок, на котором создавали клиент-серверное приложение по смене обоев,
даёт очень полезное знание по устройству данного типа работы приложений
по сети. Очень полезно при разработке игр, данный опыт очень пригодится.
Спасибо за данный курс, он на первый взгляд вроде бы коротковат,
мало уроков, но даёт очень много полезных знаний по разным направлениям.
2017-09-16 23:47 Новые технологии Клиент-сервер для смены обоев + 16 2 час. 00 мин.
Закрепил передачу массива байт по сети.
найти время
Просто бомбовый урок, ничего лишнего, я перенёс наработки из прошлого урока.
Добавил чтобы по умолчанию использовало стиль Fill.
Запустил приложение на Windows 7 и на Windows 10, отлично работают.
Что мне нравится в уроках на этом проекте, всегда есть какая то изюминка, которая и делает весь урок обязательным в прохождении.
В каждом уроке всегда ищу эту самую изюминку и кладу в свою копилку знаний (ну или как минимум закрепляю ранее приобретённые знания).
Ещё раз спасибо, то что было продемонстрировано в этом уроке, как раз то, что я и ожидал увидеть, 100% ожидания оправдались.
Сложился пазлик =)
2017-09-15 23:10 Нанософт Твоё портфолио + 16 2 час. 10 мин.
Повторил пройденное
не создавать динамическое портфолио, отложил на будущую версию
Так как урок планируется перезаписываться, чтобы можно было динамически добавлять новые элементы списка, то решил  не модернизировать и реализовать так, как предлагалось в уроке, добавив пару игр, пару прикладных и описание.
2017-09-14 19:51 Новые технологии Обои рабочего стола + 17 2 час. 35 мин.
Смене фоновых картинок рабочего стола.
найти время
Добавил иконку для приложения.
Реализовал загрузку картинок с интернет.
Проверяет, загружается ли jpg картинка, если нет, ничего не делает.
Проверяет, загружается ли вообще картинка, если нет, отменяет.
Определяет имя файла картинки в сети интернет и с этим же именем сохраняет в нужную директорию (относительные пути отлично работают).
Если файл с таким именем уже существует, то не качает картинку (чтобы не затереть случайно другую).
При удалении картинки из списка, проверяется наличие файла в папке, если файл имеется, вначале отключается картинки из пикчурбокса, потом удаляется сам файл.
Если после удаления файла, он не найден, т.е. удалился корректно, удаляется запись о нём в листбоксе.
Реализовали динамическое изменение листбокса, чтобы не перезагружать весь список картинок каждый раз, это слишком ресурсоёмко, да и потом, если загрузил картинку из сети, знаешь, что она добавилась в конце списка, легко найти.
При рабоче с реестром использовал using.
Добавил определение полного пути относительно запущенного приложения, чтобы Windows 10 была счастлива =)
2017-09-13 09:24 Новые технологии Телефон по TCP/IP протоколу + 16 5 мин.
повторил пройденное
ничего
При прохождении курса "Сокобан", уже проходил этот урок, поэтому проблем не возникло, просмотрел видео ещё разок =)
2017-09-12 17:07 Новые технологии Нити на кубиках + 16 35 мин.
Закрепил работу с Invoke
найти время
Реализовал через массив элементов Dice, удобнее потом через foreach с ними работать.
Отличный урок как всегда. Очень хороший пример запуска функций из других потоков.
2017-09-11 21:57 Новые технологии Делегаты на кубиках + 16 1 час. 00 мин.
Закрепил делегаты
найти время
Ошибки вначале не было, так как уже на автопилоте реализовал вначале инициализацию где надо.
Подготовил в фотошопе текстурки для кибиков с прозрачным фоном, так как углы скруглённые.
Отличный урок, лишний раз попрактиковался с делегатами, отличная штука.
2017-09-10 18:42 Сокобан Сокобан - Редактор - Классика уровней + 2 5 мин.
Повторил пройденное
найти время
Так как я изначально добавлял классические уровни, только из версии ремейка, то у меня тут и травка и ящики белые, это аналог стен, только внутри помещения, они не проходим и не движимы. Поэтому просто сопоставил уровни из классики с аналогами, которые я уже реализовал ранее, при прохождении курса. Отличный сайт, просмотрю все уровни и добавлю недостающие, скорее всего тут они имеются.
2017-09-09 22:54 Unity 3D Лабиринт - часть №6 + 16 7 час. 00 мин.
Многому, хотя и огрехов в уроке много.
найти время
Очень много огрехов, слабо подготовился к уроку, вначале объект спрятал подальше, введя значение 100000, а потом сделал резет и всё сбросилось по нулям.
Далее, забыл добавить public для функции, поэтому она не отображалась, после чего догадался верно, добавил паблик, но ума не хватило понять, что юнити кэширует подобные вещи и чтобы обновить список, нужно было просто переключиться между объектами в иерархии.
Поэтому умозаклчения по поводу того, что int параметры не принимает ложные, слабенько мыслительные процессы проходят. Нужно учиться больше эксперементировать, прежде чем менять что-то кардинально. Всё там прекрасно работает и передаются значения.
Изрядные извращения с конвертацией из флоат в инт =)
И меню срабатывается отлично, просто ты в самой функции меняешь отображение менющек и в юнити маус клик добавил смену отображения, вот и баг, либо кодить надо, либо в унити настраивать. Поэтому после реализации функции Refrash() просто смотрел, так как нет необходимости это всё реализовывать, так как логически они идентичны, но более грамоздко.
По поводу якорей тоже не верно всё, советую изучить вопрос досканально, чтобы не путать никого.
Так же заменил некоторые устаревшие функции текущими аналогами. (см. скриншот)
Вместо квадратных триггеров, реализовал их в форме кувшинок.
Реализовал переход на бонусный уровень, после того как добрался до финиша и зашёл на последнюю кувшинку.
2017-09-08 00:55 Unity 3D Лабиринт - часть №5 + 17 2 час. 00 мин.
Второму способу отображения текста на канвасе.
найти время
Начало урока плавно перешло в летсплей по работе с unity3d.
Очень многие действия не объясняются, от чего где-то пол часа потратил, но всё же нашёл причину, почему текст на экране не отображался.
В прошлый раз реализовали через выборку объекта, активировали его или деактивировали, чтобы отобразить или скрыть статичный текст.
В этом же уроке мы реализовали динамическое изменение текста, НО при этом мы не работали с самим объектом и по этому, чтобы текст отображался или скрывался, тут уже нужно сам объекта активировать в IDE по-умолчанию, а текст либо присваивать либо стирать, чтобы был эффект скрытия.
2017-09-06 00:44 Хранитель экрана VIP. Говорящие часы. Воспроизведение + 17 2 час. 30 мин.
Закрепил запись с микрофона
найти время
Реализовал оптимизированный список необходимых файлов.
Реализовал функции с общей озвучкой чисел.
Объединил формы записи голоса и часов в одной программе.
Добавил меню, через которое можно вызывать запись голоса.
Используется один общий массив файлов для записи и воспроизведения.
Реализовал озвучку секунд.
Реализовал воспроизведение каждый час.
При открытии записи голоса, основное окно скрывается.
При закрытии окна записи голоса высвобождаются ресурсы и отображается основная форма.
Отличные вип уроки, очень понравились, ребёнок в восторге.
2017-09-04 16:28 Хранитель экрана VIP. Говорящие часы. Запись голоса + 17 2 час. 30 мин.
NAudio
найти время
Оптимизировал количество файлов, их получилось 36.
Реализовал круглый лейбл, на который надо наводить и говорить.
Библиотеку скачал и установил через NuGet.
Отличный урок, очень понравился, всё коротко и ясно.
з.ы.
делал урок в два этапа, так как началась школьная пора, то подобные блинные уроки с первого захода времени не хватает, пришлось разбить по времени на 1,5 часа и 1 час позже, в сумме вышло 2,5 часа.
2017-09-03 18:30 Unity 3D Лабиринт - часть №4 + 18 50 мин.
Закрепил работу с ландшафтом.
найти время
Сделал одной высоты стену по периметру, внутри перегородки оставил как были, имитация гор.
Оптимизировал код MiniMap.cs, даже тот, который предложен был в уроке, выглядел слишком неказисто, надеюсь сейчас код более красивый пишешь. =)
2017-09-02 17:16 Дневник успеха 2017-09-03 Первое сентября + 3 20 мин.
Повторил пройденное
найти время
На этой неделе было сделано:
Закончил курс "Yii2", выполнив 3 последних урока и самый сложный и объёмный финальный урок.
Закончил курс "Хранитель экрана", выполнив финальный урок.
Выполнил третий урок по курсу "Bomberman", последний по бесплатной акционной рассылке на почту.
Выполнил очередной урок по курсу "Unity3D", под названием "Лабиринт - часть №3".
Выполнил первый урок по курсу "Новые технологии", под названием "Модельное тестирование".
з.ы.
ссылки на отчёты:
https://www.videosharp.info/10558/checking/yii=1743
https://www.videosharp.info/10558/checking/yii=1744
https://www.videosharp.info/10558/checking/yii=1745
https://www.videosharp.info/10558/checking/bomberman=1673
https://www.videosharp.info/10558/checking/saver=316
https://www.videosharp.info/10558/checking/unity=37
https://www.videosharp.info/10558/checking/yii=1742
https://www.videosharp.info/10558/checking/soft2=472
2017-09-01 12:01 Новые технологии Модульное тестирование + 16 50 мин.
Созданию Unit тестов в Visual Studio
найти время
Отличный урок, юнит тесты 1х1 как в Java, поэтому проблем не возникло, всё очень знакомо.
Добавил кнопку вычитания, так же соответствующую функцию и тесты.
2017-08-31 22:10 Yii2 REFRESH - 40 МГНОВЕНИЙ ОПЫТА + 2 4 час. 02 мин.
Использовать встроенную локализацию, поддержке нестандартных портов, закрепил пройденное.
найти время
Суммарно потратилось 4 часа 2 минуты и 18 секунд.
Во время повторного выполнения заданий почерпнул много новых фишек Yii. Такие как настройка языка по-умолчанию для всего сайта. Оказывается их там очень много.
Так же для повторного прохождения специально запустил OpenServer на другой ПК, так как порт 80 был занят, запустил на 81 порту, столкнулся с проблемой Yii, автоматом при редиректе в корень сайта, удалялся порт и пытался открыть сайт через 80, что естественно приводило к ошибке. Изучим документацию Yii и форумы ничего толкового не нашёл, поэтому решил использовать давно проверенный костыль и он сработал. Так же использовал относительные пути при редиректе внутри одного контроллера. Добавил пометки, что при переносе в продакшн, где порт будет 80, можно вернуть классику.
Ощущения после повторения отличные, решил так же проверить проблему переименования папки, запустил установку без global, но всё равно она была, так что теория на одном из форумов Yii не подтвердилась.
По поводу быстрее, можно не использовать тесты, пока не появится острая необходимость, либо как говорил Игромистр, поручить писать тесты другому по команде, чтобы не отвлекаться.
Сложных уроков не возникало, всё просто и понятно, видимо опыт разработки на php даёт свои плоды =)
Но на 23 уроке пришлось поэкспериментировать в итоге нашёл как, добавив всего одну строчку в конфиг, настраивать язык сайта по-умолчанию.
Так же на уроке 25 столкнулся с проблемой отличного порта от 80. тоже спустя некоторое время проблему решил.
Спасибо за отличный курс, замечательный фреймворк, очень удобный, помогает быстро разрабатывать сайты.
2017-08-30 17:51 Unity 3D Лабиринт - часть №3 + 16 55 мин.
Созданию миникарты, слоёв отображения объектов.
найти время
реализовал высоту камеры относительно игрок всегда на одной высоте, т.е. поднялся игрок в гору и камера над ним поднялась на такое же расстояние, чтобы игрок на миникарте всегда был одного размера, а то получается, что поднимешься под потолок и будешь в камеру тыкать пальцем =)
2017-08-30 00:39 Хранитель экрана ФИНАЛЬНЫЙ урок + 3 2 час. 30 мин.
Закрепил пройденное
найти время
Добавил настройки типов объектов: Круг, Квадрат, Полигон(Многоугольник), Звезда.
Добавил настройку толщины линий.
Добавил настройку скорости анимации.
Добавил настройку количества следов шлейфа за объектами (использовал Queue).
Добавил настройку переливающихся цветов (реализовал свитч для анимации).
Последние две настройки реализовал за 1 час и 45 минут, специально для Финального урока.
Отличный курс, всем советую, очень много полезной информации и практики даёт.
2017-08-29 11:52 Бомбермэн Все работы хороши + 1 1 час. 55 мин.
Повторил пройденное
остановиться
Так как у меня имеется реальная Dendy, так как в эту игру играли в дестве, так как у меня есть эта игра на реальной Dendy, у меня естественно имеются и эмуляторы с играми, я запустил игрушку и вытащил оттуда нужные мне спрайты, сохранил их в формате png, но оптимизировал, чтобы не было лишнего мусора, поэтому каждый отдельный спрайт весит байты, а в сумме все 38 весят 7,7кб. Очень хорошо, не будут раздувать бинарник, так как мы переносим их в ресурсы.
2017-08-28 17:50 Yii2 Authokey - Ключи в сейфе + 17 22 мин.
генерации и использованию authkey средствами Yii
найти время
Как всегда отличный урок, как и все уроки ранее, сам по себе курс ценен тем, что каждую строчку проработала и написали лично сами, это очень хорошо помогает в понимании происходящего, если бы заранее сгененировали уже готовый набор того, что реализовали за весь этот курс, то понимание было бы намного сложнее, особенно если человек не разбирается в php и сопутствующих технологиях, которые были затронуты.
2017-08-28 17:16 Yii2 Remember me - Печенька на память + 17 27 мин.
Использованию автологина средствами Yii
найти время
Добавил attributeLabels для remember, чтобы отображалось на русском.
Отличный урок, как всегда коротко и ясно.
Да, использовать почтовый ящик явно не самый лучший способ для автовхода на сайт через куки.
2017-08-28 15:14 Yii2 Hash - Как правильно солить пароли + 17 41 мин.
Профилированию встроенными средствами Yii
найти время
Отличный урок, отличная демонстрация трат времени на хеширование в зависимости от увеличения сложности.
з.ы.
после использования профилирования, в папке runtime появились новые папки HTML и URI, в которых генерируются логи профилирования, они в нашем git-репозитории точно не нужны, поэтому лучше создать аналогичные файлы .gitignore как в папке runtime\debug см. второй скриншот.
2017-08-27 18:54 Yii2 Security - Кручу-верчу-захэшировать хочу! + 17 25 мин.
Хэшированию паролей средствами Yii
найти время
Коротко и ясно, даже возник вопрос: "и это всё???" была минутная пауза =)
2017-08-27 18:03 Yii2 PasswordIsHashed - Покажите-ка ваш хэш + 17 33 мин.
Закрепил создание функциональных тестов.
найти время
Отличный урок, хорошая демонстрация работы функциональных тестов. Реализовал обе функции.
2017-08-27 16:58 Yii2 Test - Запуск функциональных тестов + 17 24 мин.
созданию функциональный тестов с использованием фреймворка Yii2
найти время
Отличный урок, функциональный тест структурой очень напомнил мне junit тест на Java =)
2017-08-27 16:16 Yii2 Refactoring - Нет дубликатам! + 17 18 мин.
Повторил пройденное
найти время
Так как именно так и реализовал сразу, в процессе реализации данных функций, то на этом уроке лишь добавил проверку на null везде, где это может быть полезно, даже добавил доп. вывод ошибки авторизации, если ну совсем какая-то аномалия произошла, малоли =)
2017-08-27 13:36 Yii2 IfPasswordWrong - Пароль? Пароль! Проходи. + 16 19 мин.
Закрепил пройденное
найти время
так же использовал кэш данных пользователя, чтобы не было лишних транзакций в БД. см. скриншот.
Отличный урок, интересно будет посмотреть на рефакторинг в след. уроке.
2017-08-26 19:11 Yii2 IfEmailNotFound - На деревню дедушке + 17 40 мин.
валидации мыла в Yii
найти время
Решил добавить приватную переменную для хранения записи пользователя, каждый раз при проверке мыла туда записываются данные, если мыло найдено в БД, то эти же данные, по сути закэшированные,  используются и при авторизации на сайте. Чтобы не делать лишнюю транзакцию в БД. см. скриншот.
Отличный урок, не мало кода написали, но очень полезного =)
2017-08-25 23:32 Yii2 UserLoginForm - Модель на входе + 17 32 мин.
Изменению меток полей ввода.
найти время
Реализовал настройку метод полей ввода двумя способами. см. скриншоты.
Так же добавил проверку на лимит длинны пароля как и при регистрации, как говорится, правила везде должны быть одинаковыми (в будущем надо будет вынести эти параметры в глобальные настройки сайта).
Как всегда коротко и ясно, идём дальше.
2017-08-25 21:37 Yii2 Save - Запись в книгу + 17 22 мин.
Закрепил пройденное
найти время
Коротко и ясно, идём дальше.
2017-08-25 21:00 Yii2 HasErrors - Где водятся волшебники? + 17 25 мин.
Закрепил пройденное
найти время
Очень наглядный урок, думаю, есть смысл подобных проверок если группировать ошибки, к примеру, несколько видов ошибок одного и того же поля, нет смысла выводить их все сразу, это будет очень громоздко, а вот по одному, норм.
2017-08-25 19:38 Бомбермэн Площадка для игр + 17 1 час. 00 мин.
Повторил пройденное
найти время и не дописать игру =)
Добавил варианты состояний, который пришли на ум по памяти игры и того, что минимум реализовать планирую.
Добавил вспомогательную функцию, которая принимает состояние, а возвращает цвет.
Всё реализовал сам, потом досмотрел видео.
з.ы.
Отличную игрушку затронул, у самого она в очереди на реализацию.
з.з.ы.
Zoom наоборот сохраняет пропорции, см. скриншот =)
Отображение клеток уже после добавления BorderStyle.FixedSingle получилось бы, просто надо было создать экземпляр класса MainBoard().
Не стоило использовать обобщающее состояние, так как их может быть много, надо было конкретно указать, перечисление состояний чего именно.
Да и не стоило использовать слово Sost, нужно отучаться от плохих привычек, ещё на одном из вебинаров это обсуждалось активно =)
з.з.з.ы.
Есть тебе ещё над чем работать, молодец, отличные курсы создаёшь, удачи в этом не простом деле.
2017-08-25 18:05 Yii2 IfEmailUsed - Почта закрыта + 16 30 мин.
static::find()->where(['email' => $email])->count();
найти время
Отличная реализация задачи, статичные функции Активной Записи меня очень порадовали, компактно и красиво.
2017-08-24 10:42 Бомбермэн Основная форма + 18 1 час. 02 мин.
Повторил пройденное
найти время когда болеешь
Игра детства, особенно на денди очень много играли в неё на двоих.
Реализовал иконки в своём стиле.
Добавил описание игры и об авторе.
2017-08-23 14:07 Yii2 JoinPost - Вторая сторона модели + 16 29 мин.
Закрепил пройденное
найти время
Всегда выделял обработку второй фазы по аналогии как в этом уроке, но для отображения выполнения операции, что вышло, что нет, если было несколько действий, плюс кнопки управления, так же добавлял таймер от 2 до 4 сек с редиректом, если было актуально. Отличный урок, идём дальше.
2017-08-20 01:52 Хранитель экрана Режим предобзора и установка + 16 20 мин.
Повторил пройденное (в курсе сапёра проходили подобное, когда бота писали)
найти время
Добавил динамическое вычисление размеров объектов, чтобы и на превью и на весь экран было более адекватный размер.
Данные WinAPI функции использовали уже в курсе Сапёра на C#, когда писали бота, который вычислял размеры окна игры, то данный урок был повторением в данном вопросе, что касается параметров запуска, я их тоже реализовал через Split(), как говорится, малоли, координаты двоеточия могут измениться =)
Отличный урок, по поводу не вызванного конструктора, ждал до последнего, думал будет ход финтом, но нет, решили вынести всё во вспомогательную функицю и вызвать опять первоначальный конструктор, тоже вариант, но я думал будет определения размеров и вызов промежуточного конструктора, передав его необходимые резмеры, так как он уже в своём случае вызывает базовый конструктор.
2017-08-18 16:24 Yii2 Rules - Валидация без правил + 16 23 мин.
правила правил =)
найти время
Есть короткая запись требуемых полей, см. скриншот.
Отличный урок, на протяжении всего курса уже столько фишек, которые экономят время, что чем дальше изучаешь Yii, тем больше понимаешь, что теперь писать без использования его будет очень тяжко =)
Ждём продолжения банкета.
2017-08-18 14:40 Yii2 UserJoinForm - Модель для формы + 16 21 мин.
Генерации формы средствами Yii, compact()
найти время
Решил проверить то, что обсуждали на вебинаре по поводу строк:
use yii\widgets\ActiveForm;
use yii\helpers\Html;
Максим Базуев предлагал использовать вариант:
use yii\bootstrap\ActiveForm;
use yii\bootstrap\Html;
решил я проверить разницу, но как я говорил на вебинаре, ссылая на инструкцию к Yii, что сейчас, вижу генерацию идентичных страниц как по количеству строк, так и по содержимому вначале и конце, все 684 строчки сверять не стал, хотя мог это сделать быстро, но тут явно имеет место тот факт, что написано в инструкции к Yii, это просто алиасы, можно использовать, что так, что так, разницы нет, просто суть в том, что когда bootstrap не подключён, то и алиаса не будет, а первый вариант это базовые алиасы, которые всегда актуальны. Поэтому и использовали именно первый вариант, а там уже каждый выбирате то, что ему больше нравится. =)
2017-08-18 12:42 Yii2 Logout - Выход из лабиринта + 16 15 мин.
Закрепил пройденное
найти время
Отличный урок, коротко и ясно.
2017-08-18 11:57 Yii2 UserIdentity - Посторонним В + 16 20 мин.
использованию IdentityInterface
найти время
Ещё одна отличная штука, которая очень экономит время, всё коротко и ясно. идём дальше.
2017-08-18 11:25 Yii2 Faker - Тысяча фантазёров! + 16 18 мин.
Работе с библиотекой Faker
найти время
Отличная библиотека, ещё огромная экономия в копилку фреймворка.
2017-08-18 10:55 Yii2 UserRecord - Очень активная модель + 16 22 мин.
Использованию ActiveRecord в Yii
найти время
Отличный урок, как всегда, всё коротко и ясно, Активная Запись очень хорошо смотрится. Идём дальше.
з.ы.
заметил, что у вас сохранило пароль до первого пробела, т.е. умная система, мало того что сплитит по пробелам, используя нулевой элемент массива после этого, но уверен. ещё и тримит это дело, чтобы не сохранялся мусор, как раз то что надо для использования кэшей, там нет пробелов =)
2017-08-18 10:15 Yii2 DBase - Подключение к Матрице + 16 25 мин.
php yii.php migrate/up/down
найти время
Добавил поддержку кастомного порта для подключения к БД.
Отличный урок, всё коротко и ясно, идём дальше.
2017-08-18 09:19 Yii2 Migration - Архитектура таблицы + 16 17 мин.
Созданию миграций
найти время
Очень удобный инструмент, отлично придумано, идём дальше.
2017-08-18 07:38 Yii2 Console - Есть ли жизнь в Консоли? + 16 21 мин.
созданию yii\console\Application
найти время
Отличный урок, всё коротко и ясно. Создали подобие админки для изысканных телодвижений =)
2017-08-18 00:02 Yii2 Steps - Пошаговая инструкция + 17 33 мин.
Закрепил создание тестов
найти время
Стараюсь все тексты, что видит пользователь писать сразу на русском, кстати, решил проблему с кириллицей в консоли OpenServer, варианта два, можно в реестре прописать, чтобы автоматом это было, но это не удобно, по личному опыту знаю, а можно вручную прописать в консоли:
chcp 65001
и вуаля (при перезапуске консоли кодировка сбрасывается на стандартную), теперь в консоли корректно видно UTF-8 кодировку и не только русские символы =)
2017-08-17 14:56 Yii2 Tests - Обоснование необходимости + 17 20 мин.
vendor\bin\codecept g:stepobject  acceptance TestUserJoin
найти время
Отличный урок, режим создания тестов g:stepobject очень порадовал, идём дальше.
2017-08-17 14:22 Yii2 Model - Модели на подиуме + 16 15 мин.
Повторил пройденное
найти время
Коротко и ясно, идём дальше.
2017-08-17 13:53 Yii2 Panel - Красивые анкеты + 16 15 мин.
Повторил пройденное
найти время
Коротко и ясно, идём дальше.
2017-08-17 13:25 Yii2 User - Помещение регистратуры + 16 30 мин.
Закрепил пройденное
найти время
Перенос файлов лучше делать через git, нежели вручную, это конечно не критично пока для мелкие файлики, но при ручном переносе, гит не понимает, он думает, что файл удалили и где-то добавили новый, а при команде git mv он просто переписывает у себя ссылки на файлы, так же они и в реале переносятся куда надо, это очень экономит трафик, если работать с команде и с внешним сервером. Особенно когда переносят папку с кучей файлов, которая весит не пару килобайт.
2017-08-17 10:57 Yii2 Debug - Следы на песке + 17 35 мин.
yiisoft/yii2-debug
найти время
Логи хранятся в папке runtime/debug, добавил в эту папку .gitignore, чтобы в гите оставалась эта папка и была пустой. Отличный урок, идём дальше.
2017-08-16 07:45 Хранитель экрана Полноэкранный режим + 16 19 мин.
Повторил пройденное
найти время
Реализовал изменение размеров формы и использовал док фил для автопилота, так же центр скрин не трогал, очень даже красиво справляется со своей задачей, см. скриншот.
2017-08-15 06:19 Хранитель экрана Параметры командной строки + 16 1 час. 10 мин.
Узнал о ключах /s /c для скринсейверов.
найти время
Отличный урок, как то ранее не задавался вопросом, как работаю скринсейверы, но узнав о стандартных ключах, стало всё на свои места. Спасибо.
з.ы.
Добавил ещё параметров для скринсейвера:
ползунок для установки скорости анимации,
галочки для выбора, какие объекты будут отрисовываться на экране.
2017-08-14 08:13 Yii2 Join/login - Полёт Навигатора + 17 17 мин.
Закрепил пройденное
найти время
Отличное завершение первой части по созданию веб-приложения и использованием фреймворка Yii2.
Ждём продолжения банкета =)
2017-08-14 07:43 Yii2 Menu - Богатый выбор + 16 10 мин.
Закрепил пройденное
найти время
Отличный урок, коротко и ясно, идём дальше.
2017-08-14 07:25 Yii2 Bootstrap - Пусть будет красиво! + 16 30 мин.
Закрепил пройденное
найти время
Бутстрап удобная штука, даже базовый дизайн там очень даже не плохо выглядит, но никто не запрещает использовать его как основу, добавляя свои фишки =)
Отличный урок, идём дальше.
2017-08-14 06:43 Yii2 Codeception - Пошаговое тестирование + 16 31 мин.
Закрепил пройденное
найти время
Отличная идея тестирования сайта имитируя поведение пользователей.
2017-08-14 06:00 Yii2 Views - Представления начинаются + 16 17 мин.
Закрепил пройденное
найти время
Отличный урок, супер дебаг система в Yii, тоже очень понравилась.
Решил текст писать на русском, для наглядности =)
разбил на пару коммитов, можно было конечно на три разбить, в одном создание лэйаутов, а во втором использование их, но решил оставить так, а вот активацию дебаг системы вынес в отдельный коммит. так как логически это независимая задача.
2017-08-14 05:24 Yii2 Controller - Точка входа программиста + 16 17 мин.
Закрепил пройденное
найти время
отличный урок, ничего лишнего, выполнили одну задачу, закоммитили её.
Идеальный урок, вот такие и надо делать, не увлекаясь =)
2017-08-14 04:48 Yii2 Composer - Установка пустоты + 16 1 час. 30 мин.
Повторил пройденное
найти время
Основное время потратил на создание слайдов получения Токена на github.com.
После этого урока создал сразу три коммита, разделённые по логике выполнения задач. см. второй скриншот истории.
В файл .gitignore добавил composer.lock, так как он генерируется для каждого свой, не хотелось бы иметь конфликты при командной разработке.
з.ы.
Конечно, в PhpStorm удобнее работать с коммитами, но всё равно мне привычнее родные утилиты самого git. =) дело привычки.
2017-08-14 02:35 Yii2 Git - Все ходы записываются + 16 12 мин.
Повторил пройденное
найти время
Отличный урок, всё коротко и ясно, идём дальше.
2017-08-14 02:12 Yii2 Web - Первый кирпич сайта + 16 42 мин.
Повторил пройденное
найти время
Работает как через сервер на базе php, так и через апачи. см. скриншоты.
Потратил доп. время на перенос OpenServera с виртуалки XP на 7.
Отличный урок, всё коротко и ясно, идём дальше.
2017-08-13 03:50 Unity 3D Лабиринт - часть №2 + 16 1 час. 23 мин.
Созданию триггера, работе с компонентами объектов.
найти время
Хороший урок, кроме того, что большую часть времени приходилось тратить на поиск текстр, чтобы они были с двусторонними шейдерами, в итоге бросил это дело, так как времени и так на это ушло слишком много, взял односторонние. В остальном ничего искать не пришлось в других местах, при активации триггера не дёргалась игра, видимо это зависит от производительности системы.
2017-08-12 17:46 Хранитель экрана Использование реестра + 16 53 мин.
Повторил пройденное
найти время
Отличный урок, правда TryParse уже в себе имеет проверку и его не нужно проверять через if, задаётся начальное значение переменной и если TryParse удался, то он его меняет, если нет, не меняет и вручную это делать не нужно.
Так же сразу бросилось в глаза использование цикла для добавления вершин в полигон после загрузки настроек из реестра. Ведь у нас уже имеется для этого функция AddPoints(), которую написали на прошлом уроке, как раз идеально подходит для этого, ведь после инициализации полигона там количество равное 0, а любое значение, которое взяли из реестра будет более 0, значит именно AddPoints() отлично подходит.
2017-08-11 20:23 Yii2 Soft - Вступление и подготовка + 16 1 час. 00 мин.
Повторил пройденное
найти время
Решил запустить серверную часть в ХР, посмотреть, на сколько это актуально. PhpStorm запущен в 10.
GitHub'ом пользуюсь уже много лет, поэтому регистрироваться там не было необходимости.
Готов к вебинару =)
2017-08-11 06:44 Хранитель экрана Применение настроек + 16 1 час. 45 мин.
Повторил пройденное
найти время
Реализовал добавление/удаление вершин многоугольника через класс Polygone().
Добавил в настройки выбор толщины линий.
Реализовал отмену через закрытие настроек по крестику.
Генерация рандомного направления движения реализовано через цикл, исключающий значение равное 0.
Отличный урок, позже планирую добавить ещё настроек =)
2017-08-11 00:35 Хранитель экрана Форма настроек + 16 27 мин.
ColorDialog
найти время
Отличный урок, работа с новым компонентом WF в копилку =)
2017-08-10 02:42 Unity 3D Лабиринт - часть №1 + 1 52 мин.
Созданию ландшафта, размещению персонажа с камерой от первого лица.
найти время
Хороший урок, пришлось кое что погуглить и скачать необходимые текстуры, но в целом всё реализовал так же как и в уроке. Явно уроки устарели и требуют обновления в реалиях современной версии Unity. А так не для новичков уроки изза того, что приходится разбираться в не стыковках менюшек.
2017-08-09 20:15 Хранитель экрана ПОЛУФИНАЛЬНЫЙ урок + 16 1 час. 10 мин.
Закрепил пройденное, повторил тригонометрию.
найти время
Решил реализовать пятиконечную звезду, которая была доп. заданием со звёздочкой в одном из прошлых уроков.
Сделал набросок в тетради, не самый идеальный в плане симметрии, но в данном случае это было не важно, так как задача была в том, чтобы вычислить относительные координаты, по которым будет строиться звезда.
Отличный курс, замечательная идея реализации Хранителя экрана, ещё в 9х годах подобные вещи завораживали детские умы.
2017-08-08 20:53 Хранитель экрана Новый класс Polygone + 16 1 час. 05 мин.
Закрепил пройденное
найти время
Замыкание последней точки с первой реализовал сам, а уже в конце видео увидел как это реализовал Игромистр, оставил свой вариант, плюс проверяется, равны ли точки, если да. то не отрисовывать между ними линию.
з.ы.
Ушло много времени на эксперименты. =)
2017-08-08 05:57 Хранитель экрана Новый класс Figure + 16 1 час. 03 мин.
Повторил пройденное
найти время
Заменил лишние переменные одним списком фигур.
Добавил три фигуры разной формы и направления движения.
Сделал два скриншота, на одном из которых не очищен фон во время инициализации поля, чтобы было видно траектории передвижения фигур.
Поле размера фигуры сделал публичным, чтобы можно было сразу добавлять в список создаваемый экземпляр с указанием необходимых параметров.
2017-08-07 23:39 Хранитель экрана Новый класс Graph + 16 1 час. 03 мин.
Повторил пройденное
найти время
Создал публичные функции для очистки и инициализации ручек, чтобы не инициализировало дважды. Теперь после создания экземпляра graph, вызываем в необходимой последовательности созданные функции. Инициализации и последующей очистки поля с новыми параметрами цвета. Может быть стоит объединить их воедино и просто при вызове graph.Clear() проводить инициализацию, так как всё равно очищаем поле, но тут фишка в том, что если нам просто нужно очистить поле с текущими параметрами, вызов только очистки намного быстрее, чем ещё напрягать лишними телодвижениями, если при этом цвета не менялись.
2017-08-06 22:46 Unity 3D Первая сцена + 16 1 час. 56 мин.
Многому
найти время
Версия среды разработки показанная в уроке очень сильно отличается от той, что можно скачать сейчас на официальном сайте. Многое пришлось гуглить, чтобы найти, куда они спрятали тот или иной параметр. Так же текстуры и скайбоксы пришлось качать, так как изначально выбора не было как в видео с базовыми наборами. В остальном урок отличный, когда дошли до кодинга скрипта, там уже всё просто, а вот к интерфейсу и где что находится с практикой привыкну =)
Отличный урок, хотя местами торопишься, прыгая по менюшкам, нужно при записи урока пошагово проговаривать каждое своё действие, это и тебе сэкономит время и смотрящим не придётся перематывать, чтобы посмотреть что и где тыкнул =)
2017-08-06 05:58 MVC и JavaFX ФИНАЛЬНЫЙ УРОК + 1 3 час. 00 мин.
Повторил пройденное
найти время
Отличный курс, замечательная технология JavaFX, а шаблон проектирования MVC понравился ещё с прошлого курса, когда писали данное приложение ещё на чистой Java. Спасибо огромное, вот и закончил все курсы по Java. Далее буду проходить потихоньку начатые курсы.
2017-08-05 19:13 MVC и JavaFX Controller - UserList - Поиск записей + 16 15 мин.
Закрепил пройденное
найти время
Использовал проверку валидации вводимых символов.
Отличный урок и курс в целом очень интересный.
JavaFX однозначно отличная тема, MVC очень удобная штука.
2017-08-05 18:42 MVC и JavaFX Controller - UserList - Выбор записи + 16 15 мин.
Закрепил пройденное
найти время
Отличный урок, поверка на двойной клик аналогично как в Java, а вот проверка какой клавишей был клик отличается.
В Java тип клавиши int и название BUTTON1 для левой клавиши мыши, а в JavaFX это уже Object, который сравнивается через equals, а левая клавиша мыши называется SECONDARY см. скриншот. Походу левша разрабатывается JavaFX =)
2017-08-05 18:00 MVC и JavaFX Controller - UserList - Список пользователей + 16 15 мин.
ObservableList
найти время
Отличный урок, коротко и ясно.
2017-08-04 13:50 MVC и JavaFX Controller - UserList - Сообщение + 16 13 мин.
Повторил пройденное
найти время
Перенёс наработки и адаптировал под JavaFX форм.
2017-08-03 23:16 MVC и JavaFX Controller - UserCard - Добавление + 16 5 мин.
Закрепил пройденное
найти время
Добавил отображение айди в консоли только если была добавлена новая запись, при обновлении записи выводить её айди нет смысла, оно и так известно.
По поводу повышения самооценки не задумывался, но с каждым уроком думаю она повышается в соответствии с полученными знаниями. =)
2017-08-03 22:32 MVC и JavaFX Controller - UserCard - Удалить или сохранить? + 16 10 мин.
Повторил пройденное
найти время
Форма закрывается при успешном удалении или обновлении записи, продублировал код с прошлой реализации с валидацией на запрещённые символы в телефоне или имени.
2017-08-02 20:10 MVC и JavaFX Controller - UserCard - Загрузка + 16 25 мин.
Повторил пройденное
найти время
Реализовал фокус на втором поле.
Вначале запустил тесты, потом отобразил запись, которая была добавлена последней в процессе тестирования работы с  БД.
Отличный урок, реализовывать работу кнопок не стал, а то вдруг в след уроке делать будет нечего =)
2017-08-01 16:56 MVC и JavaFX JAR - Подключение библиотеки + 16 12 мин.
Подключение и использованию созданной ранее программы в виде библиотеки нового проекта.
найти время
Отличный урок, всё коротко и ясно, идём дальше.
2017-08-01 16:36 MVC и JavaFX JAR - Запуск классного архива + 16 10 мин.
Повторил пройденное
найти время
Просто посмотрел видео, создав второй артефакт, который собирает минимальный jar с необходимым кодом. Весь jar столько же, сколько и в прошлом уроке, когда я реализовал именно такой же способ, только я библиотеки помести в папку lib, а базы данных валяются в папке db. Это для меня как то приятнее на вид и глаза не мозолят.
Так же и батник был создан на прошлом уроке, всё запускается и работает отлично. Идём дальше.
2017-08-01 14:31 MVC и JavaFX JAR - Запуск полного архива + 16 1 час. 05 мин.
Созданию артефактов через IntelliJ IDEA
найти время
Мда, очень много мусора запихать пытается в jar файл, жуть, после длительных экспериментов понял, что надо реализовать так же как и делал ранее, а именно скопировал папки lib и db с их содержимым, убрал лишний мусор при создании jar файла, теперь он весит 27кб, создал для его запуска батник, теперь всё супер, на ПК лишь нужно установить Java-машину.
2017-08-01 04:23 MVC и JavaFX View - Работа с двумя формами + 16 15 мин.
initOwner(), initModality(), getController()
найти время
В прошлом уроке, чтобы отобразить форму UserCard, я сделал stageCard статичным и вызывал Main.stageCard.show() чтобы отобразить форму и Main.stageCard.hide(), чтобы скрывать её.
Интересные связки, спасибо за урок, как всегда всё коротко и ясно.
2017-08-01 03:56 MVC и JavaFX View - Инициализация платформы + 16 25 мин.
Инициализации форм и работе с ними.
найти время
Реализовал открытие формы UserCard через кнопку Добавить (плюсик).
Реализовал закрытие формы UserCard при нажатии на Сохранить/Удалить.
Отличный урок, пока всё более компактно выглядит.
2017-08-01 03:21 MVC и JavaFX View - Запуск JavaFX Application + 16 11 мин.
Закрепил пройденное
найти время
Реализовал отображение карточки при нажатии на кнопку "+" (добавление).
Побил свой же рекорд по клику мыши до 15 в сек. Наверное могу и быстрее, не стал делать дубли, что получилось с первого раза, то и получилось.
2017-07-31 22:55 MVC и JavaFX View - Карточка пользователя + 16 39 мин.
Закрепил работу со SceneBuilder
найти время
Отличный урок, как и в прошлом всё коротко и ясно, приступаем к связке. Пока выглядит намного удобнее и быстрее, чем через Swing вручную.
2017-07-30 23:01 MVC и JavaFX View - Список пользователей + 16 1 час. 41 мин.
Добавлению JavaFX в уже созданный ранее проект Java Swing
найти время
Использовал SceneBuilder через IntelliJ IDEA, добавил поддержку JavaFX в уже созданный ранее проект на Java Swing.
fxml файл расположил в спец. директории для ресурсов проекта на JavaFX.
Контроллер для fxml файла располагается там же, где и остальные java файлы.
Подключил контроллер к fxml файлу.
Создал файл Main.java по аналогии с Program.java, только для запуска JavaFX приложения.
Добавил отображение в консоли для нажатия на кнопку, клику по листвьюв и ввод текста в поиске.
з.ы.
На скриншоте видно, что мой ClickCount дошёл до 8, это без разминки, кликая указательным пальцем по маус 1, рекорд вроде бы 16 кликов в сек. =)
2017-07-30 21:07 MVC шаблон VIP - MVC - PhoneBook - UML + 16 10 мин.
Повторил пройденное
найти время
Да, удобная программа, мне она тоже понравилась, спасибо.
2017-07-30 20:36 MVC шаблон VIP - MVC - PhoneBook - Error Checking + 16 5 мин.
Ничему
найти время
Подобные проверки реализовал в процессе прохождения курса, поэтому ничего делать в этом уроке не пришлось, прикрепил скриншот моей реализации отображения ошибок.
з.ы.
Не советую выводить ошибку БД в клиентскую область, лучше использовать консоль или уникальные описания ошибок, чтобы по ним сразу находить откуда ветер дует. Можно использовать уникальный ID ошибки. =)
2017-07-30 20:03 MVC шаблон VIP - MVC - PhoneBook - JModal + 16 5 мин.
JDialog
найти время
Отличный урок, всё коротко и ясно, спасибо огромное.
2017-07-30 15:41 Unity 3D Установка Unity3D + 16 30 мин.
Пока ничему
найти время
Основное время ушло на загрузку и установку среды разработки с необходимыми компонентами.
з.ы.
Очень сильно теперь сайт для загрузки Unity3D отличается от того, что показан на видео, но проблем не возникло.
2017-07-29 01:31 Unity 3D Приглашение на видеокурс + 16 5 мин.
Пока ничему
Пока ничего
Курсу уже более полутора лет, а я на него только наткнулся, ранее я натыкался на эти уроки на канале Максима, но не думал, что они привязаны к этому курсу. Ок, так даже веселее =)
2017-07-28 20:54 Model 3D Строим тор + 17 2 час. 00 мин.
Закрепил работу с 3D в WPF
Остановиться экспериментировать =)
Супер урок, очень познавательный. Сложно было оторваться искать прикольные узоры, но нехватка времени заставила остановиться.
2017-07-27 21:14 MVC шаблон VIP - MVC - PhoneBook - Tripple Click + 16 10 мин.
KeyListener
найти время
Обработку кликов мышки реализовал на одном из прошлых уроков, так же добавил проверку, чтобы двойной клик был именно левой клавишей, см. скриншот.
Отличный урок, намного удобнее и логичнее мышью кликать.
2017-07-26 17:50 MVC шаблон ФИНАЛЬНЫЙ УРОК + 16 5 час. 00 мин.
Повторил пройденное
найти время
Добавить в разрешённые символы круглые скобки, плюс и минус.
Остальное в видео-отчёте.
Был уставший, после отснятого материала и подготовки слайдов побежал по срочным делам, вернулся и занялся монтажом. Приятного просмотра.
2017-07-25 15:07 Шарики Шарики. Вступление + 16 1 час. 09 мин.
Повторил пройденное
найти время
Отличная игрушка, сколько разных версий только не играл, ещё начиная со спектрума. Поиск пути в курсе "Комбинаторика" проходили. Анимация реализовывал при разработке игры "Карточки памяти". Отличный курс для практики.
2017-07-24 22:28 MVC шаблон MVC - PhoneBook - Search - Finish   4 мин.
Повторил пройденное
найти время
Так как функцию поиска по фильтру реализовал уже давно, то просто добавил пару строчек и дальше 10 минут смотрел видео ничего не делая =)
Так же по поводу инъекций, я использую при формировании запросов в БД замечательную вещь как "параметры", они решают проблему недопустимых символов.
Так же на прошлом уроке я реализовал проверку вводимых символов и их количество, что запрещает использование заведомо опасных последовательностей символов. Идеальная защита =)
Замечательный курс, идём дальше.
2017-07-23 13:06 MVC шаблон MVC - PhoneBook - Search - Listener + 16 39 мин.
DocumentListener
найти время
Реализовал проверку вводимого текста и выводу предупреждения красным цветов в нижнем лейбле через модель.
Разрешены все буквы русского/английского алфавитов, буквы и цифры, длинна от 2 до 40 символов.
Не стал реализовывать сам поиск, отложил это до нужного момента =)
2017-07-22 18:26 MVC шаблон MVC - PhoneBook - Search - Select LIKE + 16 5 мин.
Ничему
найти время
Сделал два скриншота с разными видами запросов, как LIKE так и GLOB, чем мне нравится GLOB, у него синтаксис масок аналогичен с масками отображения файлов. При использовании LIKE чтобы указать любое количество символов, надо использовать символ "%", в то время как при использовании GLOB, тоже самое действие при помощи символа "*", при этом есть ещё один символ "?" который говорит, что вместо него любой один символ, тем самым если указать маску '?ван', то покажет все имена, которые начинаются с любого символа, но имеют второй, третий и четвёртые символы которые указаны в маске, в данном случае выведет список с именем "Иван" и "иван", не важно с маленькой буквы или с большой, так как у SQLite проблемы с этим из-за того, что он поддерживает проверку больших и мелких только на инглише, другие языки обделены, то на помощь приходит именно GLOB, хотя LIKE я использовал очень много лет и он в определённых задачах может использоваться без проблем, но по возможности использую теперь GLOB, так как он более функционален и по личным тестам в больших базах он работает быстрее на процентов 10 минимум.
2017-07-21 18:58 С++ Графика - обрезка изображений Сохранение файла + 16 4 час. 51 мин.
работе с диалоговыми окнами, сохранению картинки в формате BMP
найти время
Добавил возможность выбора любого BMP файла, где бы он не лежал.
Добавил возможность сохранения BMP файла в любом месте и любым именем.
Расширение bmp автоматически добавляется, если забыли его дописать вручную.
Использовал ранее созданную переменную sPath для установки корневой директории перед сохранением файла, если не было выбрано кастомное расположение, то используется по-умолчанию относительное.
Замечательный курс, очень понравился, простой и в том же время информативный, жду ещё курсы по C++, думаю стоит начать с самого нуля и постепенно добавлять курс в порядке усложнения, чтобы больше было желающих и меньше жалующихся.
з.ы.
на выполнения урока ушло 45 минут.
на доработку выбора файла для загрузки и сохранения файла куда угодно ушло 39 минут.
остальное время почти 3,5 часа ушло на подготовку, запись и монтаж видео-отчёта.
2017-07-21 13:26 С++ Графика - обрезка изображений Вывод обрезанного изображения + 16 24 мин.
копированию части картинки
найти время
Два варианта отображения картинки после кадрирования - с подгонкой в рамку формы и 1х1, см. скриншоты.
Отличный урок, всё коротко и ясно.
2017-07-21 11:09 С++ Графика - обрезка изображений Матрица цветных точек + 16 24 мин.
Поиску ярких пикселей.
найти время
Так как уже работал с пикселями в Java, то единственное для меня новое было, это поиск ярких пикселей, так же превращение изображения в оттенки серого.
Отличный урок, всё коротко и ясно.
з.ы.
судя по видео, за кадром были внесены изменения, о которых в процессе урока упомянули (что круглые скобки нужно заменить на квадратные), а по поводу того, что в конце функции OnCrop() нужно тоже добавить строчку обновления формы, это видимо для самых внимательных, я то её дописал автоматом, только потом понял, что о ней ни слова не сказали за всё видео ;)
2017-07-21 10:29 С++ Графика - обрезка изображений Вывод информации в основное окно + 16 17 мин.
Получению массива цветных точек изображения.
найти время
Судя по времени урока и тому, что в нём было реализовано, я думаю можно объединить этот урок со следующим, а то из-за создания матрицы цветных точек урок кажется не завершённым. Ведь хочется увидеть применение данной матрицы в деле. Возможно мне просто это показалось, но прошлые уроки выглядят завершёнными, а этот нет. В любом случае, урок отличный как всегда, коротко и ясно. Идём дальше.
2017-07-21 09:05 С++ Графика - обрезка изображений Вывод картинки на экран + 16 23 мин.
Загрузке bmp и отображении его на форме.
найти время
Когда написали условие выборки для общего коэффициента, не смог, чтобы не воспользоваться тернарным оператором, он тут как раз в тему, см. скриншот.
Отличный урок, коротко и ясно.
2017-07-21 07:53 С++ Графика - обрезка изображений Подготовка к выводу картинки на экран + 16 24 мин.
Созданию ручки для рисования, рисованию квадрата.
найти время
Нашёл картинку компакт диска, добавил ей лишний белый фон в размере 1000х600.
Сделал не сплошную линию у ручки, а пунктирную. Выглядит веселее.
Отличный урок, всё коротко и ясно.
2017-07-20 18:44 С++ Графика - обрезка изображений Программирование события BN_CLICKED + 16 47 мин.
Реакции на нажатие кнопок
найти время
Использовал enum вместо трёх булевых переменных, просто напрашивалось, в итоге как видно из скриншота, всё до безобразия просто.
Открывать файл можно в любое время, мало-ли, что в голову взбредёт человеку, может не тот файл выбрал, что же теперь идти до конца, делая лишние телодвижения.
Далее, пока не открыт файл, ничего обрезать нельзя.
Соответственно, пока не обрезано ничего, сохранять тоже смысла нет.
Если же сохранили обрезанный файл, то ничего не работает, кроме кнопки Открыть.
Отличный урок, всё коротко и ясно.
2017-07-20 17:33 С++ Графика - обрезка изображений Создание кнопок + 1 38 мин.
Созданию кнопок на форме и очистке ресурсов при завершении работы приложения.
найти время
Создал три картинки для кнопок.
Создал иконку для приложения (см. скриншот)
Использовал забытую переменную nButtons в циклах.
Отличный урок, всё коротко и ясно.
2017-07-19 08:42 С++ Графика - обрезка изображений Программирование события WM_PAINT + 16 21 мин.
TextOut(), MoveWindow(), GetClientRect().
найти время
Отличный урок, теперь ясно почему 1000 + (1000 - MainRect.right)...  У меня это били лишние 8 по ширине и 46 по высоте. Но так намного лучше, можно подставлять нужные значения и оно само подгонит в любой ОС, вне зависимости от стиля отображения окон. В моём случае были лишние 8 пикселей по ширине и 46 по высоте.
2017-07-19 07:30 С++ Графика - обрезка изображений Добавление класса BmpCtrl + 16 14 мин.
Созданию классов/функций через специальное окно-конструктор =)
найти время
Отличный урок, не знал, что классы и функции можно создавать через специальные окна-конструкторы, обычно писал вручную, это для новичков самое оно, так как код сам генерируется, останется лишь в теле дописать нужный функционал.
Ничего сложного в уроке не увидел, всё чётко и ясно показано и объяснено, единственное, использовали массив символов для хранения текущей директории это пока? далее переведём это в тип string? или мы тип string для других задач будем использовать?
2017-07-19 06:52 С++ Графика - обрезка изображений Настройка среды + 16 11 мин.
Повторил пройденное
найти время
Отличный урок, ничего лишнего, по поводу string.h это хорошая идея, помогает работать со строками как в C#, а не как обычно в C++ в виде массива символов.
В этом уроке ничего сложного не увидел, просто повторить за учителем и всё, если что-то не ясно, то всё, с чем будем работать думаю объяснят в процессе. Остальное, что не будет затронуто, но видно в коде, это специфическая структуру проекта на языке C++ и объяснение каждого символа в проекте это думаю уже тема другого курса. Лично мне всё ясно, с C++ имел опыт работы, поэтому вопросов не возникает, тут в одном отчёте читал, что не ясно, что такое extern, так по мне это аналог global в php, если это не ясно, ждите курса для самых маленьких, раз гуглить религия не позволяет.
2017-07-18 06:04 MVC шаблон MVC - PhoneBook - Search - Message + 16 39 мин.
Повторил пройденное
найти время
Так как у меня и так все элементы располагались на панели, то у меня не было проблемы со стыковкой лэйбла в самый низ формы. Так же добавил в самом верху формы лэбл с отображением количества записей.
Добавил отображение текста при добавлении/обновлении/удалении записей, так же при возможных ошибках, мало-ли.
Добавление и обновление записи выводится зелёным цветом, удаление и ошибка выводятся красным.
Использовав String.format и константы шаблонов вывода текста, вывод количества записей разделено на два цвета в одной строке.
Отличный урок! Идём дальше.
2017-07-17 08:14 MVC шаблон MVC - PhoneBook - Controller - Select / Update + 16 2 час. 00 мин.
Повторил пройденное
найти время
Так как на прошлых уроках реализовал проверку выполнился ли запрос корректно в БД или нет и если да, то только в этом случает оповещать об изменении, то ошибок с закрытием формы ViewCard() у меня не было.
Так же реализовал выбор из списка по двойному клику мышки через MouseListener(), как то более логичнее.
Так как изначально добавил атрибут уникальности телефонного номера в БД, то при добавлении или обновлении записи, если телефон такой уже имеется, то форма ViewCard() не будет закрываться. Не стал дальше допиливать, возможно этот функционал будет реализован и поэтому лучше подожду то тех уроков, где это будет реализовано, если же не будет, тогда уже добавлю сам.
2017-07-16 17:54 MVC шаблон MVC - PhoneBook - Controller - Buttons + 16 39 мин.
instanceof
найти время
Отличный урок, но я реализовал не скрытие формы, а dispose() для выгрузки из памяти. Перезагрузка всего списка с добавлением новой записи даже при 20000+ записях происходит молниеносно =) супер.
2017-07-15 09:26 MVC шаблон MVC - PhoneBook - Controller - Class for Click + 16 22 мин.
Повторил пройденное
найти время
По поводу анонимных и других вариантов функций узнал ещё при разработке приложения для Андродид весной 2016 года. Ваш вариант отлично смотрится, поэтому можно не переделывать.
Урок как всегда отличный, идём дальше.
2017-07-14 06:51 WPF Clocks Финал + 17 2 час. 31 мин.
Многое узнал по теме WPF
найти время
Супер курс, все мелкие недочёты решаются, как говорится, не ошибается тот, кто ничего не делает, а посоветовать могу лишь одно, главное стараться не переживать и не торопиться =) Не останавливайся на достигнутом.
2017-07-14 02:37 WPF Clocks Перекидные часы. Ну всё пора домой. + 17 31 мин.
Созданию цепочки анимаций.
найти время
Отличный урок, а что бы он по две сразу не перекидывал, нужно чтобы сумма времени всей цепочки анимации была менее 1 сек, по поводу моргающих точек, тут очень подойдёт вариант как у прошлых часов, чётная секунда или не чётная.
2017-07-14 01:42 WPF Clocks Перекидные часы. Еще немного и домой. + 16 22 мин.
Вращению объектов в пространстве.
найти время
Отличный урок, но как видно из скриншота, просто взял текущее значение слайдера, в нашем случае разница не критичная =)
2017-07-14 01:01 WPF Clocks Перекидные часы. Без пяти пять. + 17 23 мин.
Вертеть текстуры, рисовать текст поверх текстур, обрезать всё что вылезает за пределы поля.
найти время
У меня 35 и -65 было не фонтан, проверял и на 7 и на 10, методом проб и ошибок параметры стали 34 и -68.
На скриншоте как обычно показал короткую запись того, что можно укоротить.
По поводу ClipToBounds это как в CSS параметр overflow, обрезает всё, что выходит за рамки поля, на котором отображается.
Отличный урок, идём дальше.
2017-07-13 11:24 WPF Clocks Перекидные часы. Уже почти три часа. + 16 45 мин.
Закрепил пройденное
найти время
Заметил под конец урока, что бинарник у нас без иконки, решил исправить это досадное недоразумение. Для этого создал иконку в формате ico и добавил в ресурсы, откуда легко выбралась иконка для бинарника и вуаля, последний штрих =)
Супер урок, спасибо, удобно реализовано. Идём дальше.
2017-07-13 10:31 WPF Clocks Перекидные часы. Время час сорок. + 16 51 мин.
Рисованию в 2D плоскости через xaml
найти время
К координатам по оси Y сам добавил минусы, это очевидно было, а вот по поводу треугольников не знал.
Отличный урок, идём дальше.
з.ы.
спасибо за наводку по поводу книжки, с примерами то что надо, скачал их с оф сайта по ссылке из самой же книжки. Книжку тоже нашёл, так же нашёл и новое издание, оно хоть и в оригинале, зато кое что уже там понятнее стало, чем было в русской версии примеров, переводили как обычно Промтом, а потом забыли кое где подправить =)
2017-07-13 09:31 WPF Clocks Перекидные часы. Первый час. + 16 24 мин.
Повторил пройденное
найти время
Создал в стиле iPhone иконку для заставки и бинарника.
Добавил возможность таскать приложение зажатием левой клавишей мыши и двойным кликом закрытие.
Всё супер, идём дальше.
2017-07-13 07:54 WPF Clocks Цифровые часы. Запуск. + 16 1 час. 31 мин.
Узнал что объединение колонок/строк в граде похоже на вёрстку table в html.
найти время
Добавил закрытие часов по двойному клику левой клавишей мыши.
Сузил точки ближе друг к другу и уменьшил их, чтобы они были в одном стиле с цифрами.
Координаты для светодиодов выверял сам на основе своей картинки, поэтому они у меня ровно стоят.
Цвет выбрал Lime, вместо Green, поярче лучше смотрится.
з.ы.
Урок замечательный, очень многое реализовывал сам, потом смотрел как это реализовал автор, на скриншоте я предоставил вариант активации светодиодов по своему древнему стилю, он более компактный и в данном случае он подходит как нельзя лучше, не понадобилась функция SetOff(), я думаю понятно по какой причине =)
Так же у цифры 6 оставили светодиод F, тогда у 9 надо было оставить C, а то прям обделили.
2017-07-12 08:30 WPF Clocks Цифровые часы. Начало. + 16 41 мин.
Созданию колонок и полей в гриде как через xaml, так и программно.
найти время
Создал в стиле iPhone иконку для приложения, которая и как сплешскрин выступила.
Реализовал компактную запись присвоения цвета, так же использовал статичный класс Brashes() для выборки необходимого цвета.
Отличный урок, спасибо огромное.
2017-07-12 07:27 WPF Clocks Стрелочные часы + 16 1 час. 21 мин.
Генерировать xaml код программно.
найти время
Не стал вручную вбивать рисочки часовые, вместо этого изучил вопрос и одним способом формирования пути сгенерировал часовые рисочки, а другоим способом формирования пути сгенерировал минутные рисочки и как видно из скриншота, оптимизировал простой проверкой, чтобы не отрисовывало минутную рисочку на месте уже отрисованной часовой, лишнее нам не нужно =)
Отлично всё получается программно, немного погуглив, нашёл всё что искал. Отличный урок, спасибо огромное.
2017-07-12 05:49 С++ Графика - обрезка изображений Структура "нулевого" проекта + 16 не указано


Отличный вводный урок.
з.ы.
на ютубе прикол, если смотреть на скорости х1 то всё ок, звук супер, но если скорость поставить х2.25, на которой я обычно смотрю всё на ютубе, то переодически треск, ютуб как всегда отличается своей сообразительностью.
2017-07-11 23:50 MVC шаблон MVC - PhoneBook - Controller - Scroller + 16 9 мин.
Повторил пройденное
найти время
Скролл добавил ещё на прошлых уроках и именно по такому же принципу, только ещё добавил политику автоматического скрывания списка если он помещается в окно отображения. Но судя по видео, эта политика установлена по-умолчанию. =)
Отличный урок, идём дальше.
2017-07-10 23:01 MVC шаблон MVC - PhoneBook - Controller - Model / ViewList + 16 19 мин.
Повторил пройденное
найти время
Подобное уже реализовывали при реализации калькулятора, но для закрепления материала отлично подходит.
Отличный урок, коротко и ясно.
2017-07-09 23:01 MVC шаблон MVC - PhoneBook - Model - Methods + 16 37 мин.
Повторил пройденное
найти время
На прошлом уроке добавлял заглушки для метода фильтрации по имени и по телефону, на этом уроке решил их объединить в один, чтобы при вводе текста в поисковике оно автоматом искало совпадения по имени или по телефону одновременно.
Реализовать тестирование модели можно, но только с тестированием методов получения данных надо хорошо подумать, а добавление/обновление/удаление проверяется наличием изменения в самой БД.
з.ы.
Зачем в методе select добавлять проверку на ноль и возвращать нового пользователя,
если мы знаем, что надо создать нового пользователя, просто его создаём.
А ошибок при добавлении нового пользователя при вызове select не будет,
так как добавление осуществляется через insert, вот там можно добавить проверку на ноль.
2017-07-08 22:51 MVC шаблон MVC - PhoneBook - Model - Ресторанная аналогия + 16 23 мин.
Повторил пройденное
найти время
Аналогичное уже было реализовано в классе DBase() но с возвращением данных в нужном формате, а раз в классе Model()  везде void то как раз данные наработки пригодятся.
Официанты это контроллер между кухней (Модель) и клиентами (Вид), а поварята это контроллер между кухней (Модель) и складом (БД).
Помимо метода отображения всех пользователей, добавил ещё как минимум два, которые будут отображаться пользователей по фильтру для телефона и имени.
2017-07-07 21:55 MVC шаблон MVC - PhoneBook - UserSQLTest - Slashes + 16 1 час. 37 мин.
Закрепил использование PreparedStatement
найти время
Реализовал проверку со слешами, но использовать для решения данной проблемы PreparedStatement. он был для этого специально разработан, чтобы не думалось о sql-инъекциях.
2017-07-06 21:11 MVC шаблон MVC - PhoneBook - UserSQLTest - Select + 16 15 мин.
Повторил пройденное
найти время
Вкусновато, но маловато =) всё супер, идём дальше.
2017-07-05 14:58 MVC шаблон MVC - PhoneBook - UserSQLTest - Insert + 16 37 мин.
Повторил пройденное
найти время
Как видно из скриншота, обновлялась только тестовая БД, основная не затрагивается.
Так как ещё в процессе прохождения курса реализовывал методы работы с БД по своему, учитывая нюансы и возвращение тех или иных ответов, дабы проверять корректность работы с БД, то при реализации тестов просто воспользовался данными наработками и в окне логов удобные данные отображаются при обращении к БД.
Так же через GUI работы с SQLite базами данных сверил данные в БД с данными в логах при тестировании.
Не стал бежать впереди паровоза, а то мало ли, может быть в след. уроке делать будет нечего =)
2017-07-04 02:46 Dancing Links Пентагон ищет решение + 18 3 час. 41 мин.
Закрепил пройденное
найти время
Добавил поддержку отображения найденных ответов ниже поля перебора относительно друг друга, чтобы не пересекались (проверить можно будет после внедрения оптимизации, так как ждать уж очень долго, хотя и более наглядно).
Добавил поддержку полей более 60 клеток (см. скриншот) при этом учитываются дубликаты фигур, цвет фигур, индексация и т.д. все необходимые нюансы.
Как видно из скриншота, добавлена поддержка ввода размеров поля через командную строчку, для этого создал батника с необходимыми размерами для тестирования.
з.ы.
обожаю относительность =)
2017-07-03 21:34 Dancing Links Пентагон в деталях   27 мин.
Повторил пройденное
найти время
Отличный урок, наглядно показано как формируется матрица всевозможных вариантов расположения фигур на поле.
Теперь осталось визуализировать поиск решения, чтобы ожидание завершения алгоритма в не оптимизированном виде было более приятным =)
2017-07-03 19:09 Dancing Links Фигуры в консоли + 16 31 мин.
Повторил пройденное
найти время
Вывел все фигур по диагонали.
Отличный урок, очень не хватало визуализации происходящего =)
2017-07-02 23:55 MVC шаблон MVC - PhoneBook - UserSQLTest - DBase + 16 1 час. 51 мин.
Подключению к готовому Java проекту поддержку Maven и тем самым возможность создания тестов на базе JUnit.
найти время
Отличный урок, по поводу временного использование DBase как enum с разными базами прикольно придумано.
Сделал копию основной БД, как видно из скриншота, она весит 1мб. Там более 20000 записей для генерации которых реализовал на прошлых уроках спец. метод. Очень интересно, почему метод testDelete() так долго выполнялся, видимо асинхронность на него повлияло подключение к двум БД =)
2017-07-01 21:20 С++ Графика - обрезка изображений Презентация курса + 16 не указано


Этот курс интересен тем, что он на языке C++! Чем больше разнообразных курсов и языков, тем интереснее.
2017-07-01 15:06 Dancing Links Десятикратная оптимизация + 16 22 мин.
Закрепил пройденное на вебинаре
найти время
Отличное завершение не менее гениального алгоритма, геттеры и сеттеры использовал только в том случае, если нужно запретить использование переменных извне, в нашем случае приватного атрибута не устанавливалось для сеттера, поэтому и смысла в них нет, но то, что они так тормозят это жесть, учту на будущее. Знал, что доп. безопасность кода отнимает ресурсы, но в некоторых ситуациях, если алгоритм вылизан эти можно пренебречь в угоду скорости. Очень хотелось реализовать графическую демонстрацию, но времени как всегда нет, в другой раз обязательно реализую.
з.ы.
что касается ферзей и судоку, до судоку ещё не добрался. а ферзей ещё год назад реализовал, для ферзей этот алгоритм будет кстати, по поводу судоку как доберусь, так скажу свой вердикт, но в любом случае, в сети уже есть реализации танцующего судоку, так что думаю реализовать реально.
2017-07-01 14:20 Dancing Links Матрица Пентагона + 16 32 мин.
Закрепил знания полученный на вебинаре.
найти время
Отличный урок, интересная реализация алгоритма, осталось дождаться окончания его работы =)
з.ы.
Однозначно требуется оптимизация, чем и займёмся на след. уроке.
2017-06-30 04:16 Dancing Links Фигуры из пентамимо + 16 20 мин.
Повторил пройденное
найти время
Отличная идея хранения вариантов расположения фигур в массиве. Осталось за малым, реализовать алгоритм перебора вариантов расположения фигур.
2017-06-30 03:34 Dancing Links Открытие/закрытие столбцов + 16 33 мин.
Закрепил пройденное на вебинаре.
найти время
Отлично, всё просто супер, ошибка которая возникла с середины урока у меня не проявилась, так как был на вебинаре и успевал за Игромистром, но писал сам, повторяя идеи и сразу написал так как надо. Поэтому искать ошибку не пришлось =)
2017-06-30 02:56 Dancing Links Как ссылки пошли впляс + 16 17 мин.
Закреплению полученного материала на вебинаре.
найти время
Отличная реализация алгоритма, но нужно идти дальше, чтобы завершить его окончательно и протестировать в полевых условиях.
2017-06-30 02:20 Dancing Links Единичная матрица + 16 27 мин.
Повторил пройденное
найти время
Заполнили матрицу элементами для примера, проверили работоспособность алгоритма в полевых условиях, осталось добавить функционал перебора возможных вариантов. Чем дальше, тем интереснее.
2017-06-30 00:29 Dancing Links Заголовки столбцов + 16 45 мин.
Созданию динамического четырёх-связного списка с использованием заголовка как указателя на текущую колонку.
найти время
Урок можно было разбить на две части, создание класса Header() вынести в отдельный и завершить его, чтобы не было неопределённости в конце урока =) В любом случае заготовка отличная, идём дальше.
2017-06-29 15:10 Dancing Links Расширение хоровода + 16 50 мин.
Реализации динамичного списка вместо статичного массива.
найти время
Отличный урок, всё гениальное - просто!!! идём дальше.
2017-06-28 21:29 Dancing Links Двусвязный список с удалением + 17 1 час. 10 мин.
Повторил алгоритм удаление/восстановления элементов из списка.
найти время
Отличный урок, очень хорошо продемонстрирован алгоритм удаления/восстановления элементов списка.
Решил реализовать это всё в Excel для большей наглядности.
2017-06-27 23:24 Dancing Links Работа алгоритма + 16 40 мин.
Повторил разбор полётов на Хабре
найти время
На скриншоте видно состояние матрицы каждую итерацию.
Использовал тёмный оттенок при сохранении фигуры и светлые оттенки того же цвета для выявления пересечений с ней.
Решил так же рассмотреть ситуацию из урока, где первую фигуру выбрали D.
Таким образом к тому моменту, когда выбрали вторую фигуру и отсеяли пересечения с ней, осталось всего две фигуры, которые ни с чем не пересекаются, а просто сохраняются и вуаля, решение найдено.
з.ы.
урок отличный, очень полезно проработать алгоритм для лучшего понимания.
з.з.ы.
добавил описание цвета в виде легенды внизу скриншота.
2017-06-27 12:49 Dancing Links Что такое Dancing Links + 1 15 мин.
Повторил что такое Dancing Links
найти время
Алгоритм сравнения матриц через линейное представление отличная идея, нашёл в сети картинку, где Судоку решали подобным способом, думаю можно будет записать либо Вип урок либо продолжение уроков для курса Судоку, у нас же есть курс по Сапёру, он вообще состоит из 3 частей. С ферзями тоже этот алгоритм будет работать, я думаю этот алгоритм удобен для проверки корректности созданных карт в Сокобане =)
2017-06-17 05:41 Шаблоны ФИНАЛЬНЫЙ УРОК + 1 10 мин.
Шаблонам проектирования
найти время
Замечательный набор курсов по шаблонам проектирования, в купе с собственными исследованиями отлично уложились в памяти и теперь постоянно используются в проектах, по мере надобности.
Огромное спасибо Игромистру за данные уроки и проект в целом. Шлифовка продолжается. =)
2017-06-10 23:21 MVC шаблон MVC - PhoneBook - UserListSQL - Select + 16 47 мин.
Повторил пройденное
найти время
Реализовал получение списка через геттер.
Добавил проверку получен ли список пользователей, если да, то оповещается форма об этом и передаётся в неё полученный список.
2017-06-09 23:33 MVC шаблон MVC - PhoneBook - UserSQL - CRUD + 16 1 час. 37 мин.
Закрепил пройденное
найти время
Реализовал перегрузку метода insert() чтобы можно было без параметров добавить новую случайную запись с присвоением очередного айди, а с параметром указать с каким именно айди нужно добавить запись, удобно, если запись с таким айди была ранее удалена и можно реюзнуть этот айди для оптимизации юза БД.
Реализовал генерацию случайного телефона и имени в методе update().
Объединил insert и update в один метод, так как они по функциональности очень схожи, плюс нет дублирующего кода.
На скриншоте видно, что один и тот же метод используется как для INSERT запросов, так и для UPDATE.
Отличный урок, очень много нового кода, который заставил заняться рефакторингом в процессе выполнения задачи.
2017-06-08 22:37 MVC шаблон MVC - PhoneBook - UserSQL - Singleton + 16 1 час. 02 мин.
Закрепил пройденное
найти время
Синглтон реализовал по своему, более компактно, геттеры не делал, смысла в них не вижу, так как реализовал универсальный метод в синглтоне для обработки запросов insert с возвратом айди записи.
Добавил метод проверки, подключён к БД или нет, чтобы не пулять запросы, если коннекта нет.
Как видно из скриншота, добавил генерацию 10 000 рандомных записей пользователей с рандомными телефонами, которые добавлялись в БД.
Судя по количеству записей, их ровно 20 000, значит повезло и не разу не совпали телефоны, так как в БД я поставил атрибут уникальности на колонку телефона.
В процессе работы сразу двух экземпляров программы, они друг другу периодически уступали БД для добавления записей, выглядит прикольно, при этом ошибки что БД занята не было, что не может не радовать.
Всё отлично, идём дальше.
2017-06-07 23:43 MVC шаблон MVC - PhoneBook - UserSQL - Connect + 16 1 час. 15 мин.
Закрепил пройденное
найти время
Подключение к БД вынес в отдельный метод.
Реализовал вспомогательный метод, который возвращает айди при добавлении записей в БД.
Метод insert() теперь выглядит более компактно, см. скриншот.
Воспользовался наработка самостоятельной работы из курса SQLite.
Положил библиотеку в папку lib в корне проекта.
Положил базу в папку db в корне проекта.
Создал батники для компиляции и запуска из консоли, см. скриншот.
Как видно из скриншота, добавил две записи в БД, на русском и инглише.
2017-06-06 19:17 MVC шаблон MVC - PhoneBook - UserSQL - Queries + 16 13 мин.
Повторил пройденное
найти время
Коротко и ясно, идём дальше.
2017-06-05 22:24 MVC шаблон MVC - PhoneBook - UserSQL - Methods + 16 52 мин.
Повторил пройденное
найти время
Создал базу данных phonebook.db
Создал таблицу users внутри неё (можно было скопировать из курса по SQLite, но повторение мать учения).
Написал примеры запросов в БД в блокноте (см. скриншот).
Использовал программу для работы с базами sqlite: DB Browser, наткнулся на неё в начале 2011 года, понравилась (сайт из видео-урока у меня не открывается, поэтому решил добавить альтернативную ссылку на эту программу).
2017-06-04 15:53 MVC шаблон MVC - PhoneBook - UserList Struct + 16 43 мин.
Повторил пройденное
найти время
Генерируются 10000 случайных пользователей, со случайными телефонами и именами.
Полосу прокрутки реализовал ещё на прошлом уроке.
Отличный урок, идём дальше.
2017-06-04 02:02 MVC шаблон MVC - PhoneBook - ViewList + 16 30 мин.
Повторил пройденное
найти время
Добавил при помощи цикла 9 записей.
Реализовал отображение сроллинга списка, если количество объектов списка уходит за пределы видимой части.
Как обычно на голом фрейме разместил вначале панель, а уже на ней разместились все остальные объекты.
Для управления размером формы так же использовал дименшен.
Естественно, чтобы работал мой любимый метод pack() куда без него =)
2017-06-02 22:54 MVC шаблон MVC - PhoneBook - User Struct + 16 20 мин.
Повторил пройденное
найти время
Отличный урок, всё коротко и ясно изложено. Идём дальше.
2017-06-01 23:31 MVC шаблон MVC - PhoneBook - ViewCard + 16 35 мин.
Повторил пройденное
найти время
Избавился от статика.
Реализовал класс для формы "Карточка пользователя" на основе накопленного опыта с предыдущих уроков на этом проекте.
Запретил ресайз формы, так как подобные формы всегда видел только статичными.
Использовал любимый метод pack().
Расположил все объекты на панели, размеры которой выставлялись через дименшен.
Особо баловаться с красотой дизайна форм смыла не вижу, так как главное в подобном софте, это его стабильность и функциональность.
2017-05-31 17:04 MVC шаблон MVC - Counter - ControllerDuplex + 16 15 мин.
Повторил пройденное
найти время
Метод init() реализовал ещё несколько уроков назад, чтобы выдавалось начальное значение, реализовал 1х1 так же, как и в этом уроке Игромистр =)
Отличное завершение мини программы, демонстрирующую работы шаблона проектирования MVC, теперь понятно, почему он популярен, очень гибкая вещь, особенно при разработке в команде, каждый может заниматься свой частью, не мешая друг другу.
Шаблон очень понравился, буду использовать обязательно везде где он будет кстати =)
2017-05-30 22:56 MVC шаблон MVC - Counter - ModelDuplex + 16 19 мин.
Передаче значений выше int через String
найти время
Отличный урок, везде заменил int на long. Так же добавил инициализацию начального значения счётчика, посмотрим как это будет реализовано в след. уроке =)
2017-05-29 23:16 MVC шаблон MVC - Counter - ControllerPlusConsole + 16 17 мин.
MVC для консоли
найти время
Поэтому после запуска отображается вначале 0 в консоли, после 10 итераций цикла for в консоли уже 11 строчек, так как 1 строчка это метод init() и 10 итераций цикла for (см. скриншот 1).
При создании контроллера для консоли использовал ранее созданный метод init() (см. скриншот 2).
Отличный урок, идём дальше.
2017-05-28 23:05 MVC шаблон MVC - Counter - ControllerPlusFrame + 16 25 мин.
Созданию контроллера для связки Модели и Представления.
найти время
Вначале реализовал в модели метод setValue() и вызвал его в основном методе main() после создания экземпляра контроллера с параметрами, но тут же решил перенести вызов метода setValue() в конструктор контроллера, после решил реализовать ещё один метод init() который вызывается без параметров и устанавливает начальное значение счётчика 0.
з.ы.
см. скриншоты, отличный урок, идём дальше.
2017-05-27 22:58 MVC шаблон MVC - Counter - ModelPlus + 16 10 мин.
Повторил пройденное
найти время
Отличный урок, хорошая демонстрация работы модели. Коротко и ясно, лучше так и стараться, чтобы в одном уроке затрагивать какую-то одну тему.
2017-05-26 23:27 MVC шаблон MVC - Counter - ViewFrame + 16 37 мин.
Повторил пройденное
найти время
Как обычно реализовал через Dimension().
Так же использовал JPanel() для размещения необходимых компонентов.
Естественно не забыл о методе pack() куда же без него =)
Отличный урок, идём дальше.
2017-05-25 23:21 MVC шаблон MVC - Counter - ViewConsole + 16 15 мин.
Пока ничего
найти время
Убрал статику. Реализовали именно так, чтобы использовать шаблон НАБЛЮДАТЕЛЬ. Отличное начало, идём дальше.
2017-05-24 09:51 Знакомство с jQuery jQuery - AJAX - Load + 16 40 мин.
ajax load
найти время
Отличный урок, весь велосипед уложился в одной строчке.
На стороне сервера у меня ничего чистить не пришлось. так как ещё на прошлом уроке реализовал только возврат времени из php.
Добавил счётчики успешного/ошибочного получения времени с сервера.
2017-05-24 02:51 Нанософт Шахматные часы + 16 3 час. 10 мин.
Закрепил создание аналога на WPF
найти время
Параллельно реализовал приложение на WF и WPF, см. скриншоты.
На WPF нет обычного компонента Timer, поэтому использовал DispatcherTimer.
з.ы.
Как обычно создал в фотошопе в своём стиле иконку для обоих приложений.
2017-05-23 11:29 Знакомство с jQuery jQuery - AJAX = IFrame + 17 1 час. 25 мин.
Загрузке данных с сервера через iframe и дальнейшее их использование, стиль js
найти время
Реализовал по своему, как видно на скриншоте, php возвращает только время, а далее уже скрипт на основной страничке достаёт эти данные и копирует куда надо.
Так же реализованы две кнопки, запуска и остановки обновления времени с сервера.
Само обновление iframe реализовано через .contentWindow.location.reload(), способ показанный в уроке, где для обновления просто вставляют адрес откуда брать время тоже хорошо подходит, а по скорости выполнения разницы не заметил.
Как видно из видео, при запуске обновления времени, анимация заметно начинает дёргаться, если же остановить данную процедуру, анимация плавная.
2017-05-23 00:37 Знакомство с jQuery jQuery - DOM - Set + 16 1 час. 16 мин.
Закрепил пройденное
найти время
Отличный урок, когда склеивали новый текст с исходником, сразу решил реализовать бегущую строчку как демонстрашку =)
2017-05-22 23:45 MVC и JavaFX View - Установка Scene Builder + 16 10 мин.
О редакторе Scene Builder для Java FX
найти время
Очень интересная технология, поглядим поближе.
Тоже люблю портабл версии.
2017-05-21 18:35 Тестирование JUnit - Powerable + 16 36 мин.
Закрепил пройденное
найти время
Тест на негативную степень добавил в прошлом уроке, помимо других трёх тестов.
Моё мнение по поводу JUnit положительное, очень нужная вещь, обязательно буду использовать. Спасибо за данный курс.
2017-05-21 17:52 Тестирование JUnit - Exceptions + 16 33 мин.
Закрепление пройденного
найти время
Отличный урок, очень полезное знание, обязательно к использованию.
2017-05-20 22:20 Знакомство с jQuery jQuery - DOM - Get + 16 34 мин.
Закрепил знания
найти время
Решил поэкспериментировать с динамическим изменением HTML, в итоге не имея изначальных данных, координаты в процессе анимации показывает. Так же и со значением введённым в поле тега "input".
2017-05-19 09:19 Тестирование JUnit - Testing + 16 17 мин.
Закрепил материал
найти время
Подключил org.junit.Test через import, заменив все @org.junit.Test на @Test.
Поменя местами expected и actual.
Остальное реализовал на прошлом уроке.
з.ы.
IntelliJ IDEA не добавляла "test" к именам тестируемых методов.
2017-05-19 02:28 Знакомство с jQuery Функции обратного вызова + 16 32 мин.
Закрепил пройденное
найти время
Реализовал два поля с одинаковыми задачами, но функции анимации немного отличаются, см. скриншот или видео.
В первой функции реализован рекурсивный вызов после того как все анимации выполнились.
Во второй функции реализована callback функция третьим параметром в последней цепочке анимации.
Как я сразу и предположил, callback функция глючит будучи третьим параметром в цепочке анимаций при вызове остановки всех анимаций с завершением.
Так что внимательно следите за подобными нюансами, чтобы код работал так как задумывалось.
2017-05-19 00:38 Знакомство с jQuery Остановка анимации + 16 31 мин.
Повторил пройденное
найти время
С параметром stopAll всё ок, останавливает и удаляет все анимации из очереди, а если добавить параметр goToEnd, то при нажатии на финальной анимации, он её доводит до конца и удаляет потом записи, но в конце у нас колбэк вызов самой себя, и по сути остаются две записи, та, во время которой нажали кнопку, последняя анимация с колбеком и начальная пропускается, остаётся вторая после неё. Очень похоже на баг.
Добавил тень к логотипу через css стили.
Реализовал динамически изменяемое поле для анимации относительно размеров окна браузера, так же это влияет и на размеры логотипа.
Текст над полем анимации тоже отцентрировал.
2017-05-18 21:37 Знакомство с jQuery Домашнее задание: анимация Zorro + 16 33 мин.
Повторил пройденное
найти время
Так как анимацию реализовал на прошлом уроке, то чтобы было чем заняться, в анимации Zorro логотип увеличил в 2 раза.
Так же добавил второе поле, где логотип проекта анимируется в стиле сердцебиения.
Как видно из куска исходника, размер логотипа во время сердцебиения изменяется относительно текущего размера в нужных направлениях.
2017-05-18 02:11 Знакомство с jQuery Эффекты анимации, продолжение + 16 53 мин.
Использование плагина jQuery.Color
найти время
Отличный урок, добавил плагин для анимации цвета, отлично выглядит, добавил независимую анимацию цвета фона для обоих полей, так же переход между цветами каждый раз занимает рандомное время для большей уникальности анимации.
Добавил логотип проекта вместо чёрного квадратика, который бегает в стиле Zorro, размер квадратика была 20х20, голотип сделал 40х40, чтобы лучше было видно.
Так же реализовал второе поле, где кубик 20х20 бегает по периметру, чем ближе он к центру каждой стенки, тем он сплющивается в её сторону, использовал toggle свойство для полей ширины и высоты там где это необходимо =)
2017-05-17 23:24 Тестирование JUnit - Intellij IDEA + 16 5 мин.
Повторил пройденное
найти время
Так как с самого начала делал уроки в IntelliJ IDEA, то могу сказать лишь одно, что именно данный урок экономит время для тех, кто ранее не занимался подобным именно в данной среде. Очень сильно отличается от Eclipse.
2017-05-16 23:35 Тестирование JUnit - Numbers + 16 20 мин.
Повторению пройденного
найти время
Интрига нарастает, отличный урок, идём дальше.
2017-05-16 03:01 Знакомство с jQuery Эффекты скольжения и базовая анимация + 1 57 мин.
Эффектам slide* и animate
найти время
Отличный урок, отличные эффекты анимации, по поводу разницы между position:
relative - координаты расположения элемента относительно координат родительского элемента
fixed - координаты расположения элемента относительно координат видимой части страницы в окне браузера
absolute - координаты расположения элемента относительно левого верхнего угла странички в целом
это всё изучал много лет назад на уроках CSS.
2017-05-16 01:49 Знакомство с jQuery Эффекты появления и исчезновения + 16 1 час. 00 мин.
Анимации fade*
найти время
Отличный урок, реализовал цветомузыку =)
2017-05-15 00:00 Знакомство с jQuery Эффекты скрытия и отображения + 16 28 мин.
Повторил пройденное
найти время
Подобное уже проходили ранее и я как раз тогда использовал эффект анимации до которого дошли в этом уроке, поэтому осталось лишь пройти задания под звёздочками =)
з.ы.
Всё отлично, идём дальше.
2017-05-14 12:05 Тестирование JUnit - Система тестирования + 16 15 мин.
Созданию проектов Maven в IntelliJ IDEA с использованием JUnit тестов.
найти время
Отличный урок, спасибо Елене, очень сэкономила время. Всё оказалось проще, а создание тестов на полуавтомате.
2017-05-13 22:34 State ФИНАЛЬНЫЙ УРОК + 16 5 мин.
Повторил пройденное
найти время
Отличный шаблон проектирования, удачно подходят уроки по созданию калькулятора. Но данный шаблон на этом не останавливается, он применяется почти везде, особенно в играх =)
2017-05-13 22:26 State State - Целый калькулятор - Fix Bugs + 16 30 мин.
Ничему
найти время
Что было мной выявлено при тестировании калькулятора:
1 - нужно сбрасывать значение второй переменной в методе StateOpers().opers()
2 - нужно произвести калькуляцию в начале метода StateSecond().opers()
3 - в методе calc() добавил проверку: "Делить на ноль нельзя!"
4 - метод calc() перенёс в класс Context(), так как он вызывается не только в StateResult()
5 - не нужно производить калькуляцию при вводе очередного числа в StateResult()
6 - не нужно производить калькуляцию при вводе операции в StateResult()
7 - нужно делать сброс при вводе числа в StateResult()
8 - оставить ситуацию без изменений, если ввести символ, который не поддерживается
9 - что бы не ввели, брать первый символ
10 - если набрать 2+= то должно увеличивать число само на себя (так работает калькулятор в windows 10)
з.ы.
Последний пункт реализовал после того как мне приснился этот вариант возможного бага.

Так же реализовано за данный урок:
У калькулятора и истории отличается размер шрифта.
Размеры шрифта вынесены в константы.
Размер шрифта зависит от размеров формы.
Если история пуста, выводится надпись: "Пусто".
Если размер истории превышает размеры формы, появляется скроллбар и история добавляется ниже.
При добавлении новой строки в историю, скрол автоматом спускается в самый них и показывает последние записи истории.
2017-05-12 23:50 State State - Целый калькулятор - 16 кнопок + 16 1 час. 25 мин.
Повторил пройденное
найти время
Приснился калькулятор и вариант был, ввести число, потом операцию и сразу равно, что будет. Проверил, получается, что он к числу плюсует второе значение, которое по-умолчанию равно 0 и записывается в историю 2+0=2, я решил проверить, как ведёт себя калькулятор в windows 10, оказалось, что если набрать 2+=, то двойка будет увеличиваться на саму себя и при последующих нажатиях на равно, постоянно увеличивается на изначальное число два!!!
Поэтому приснился ещё один баг:
10 - если набрать 2+= то должно увеличивать число само на себя (так работает калькулятор в windows 10)
который уже внесён в код к следующему уроку.
з.ы.
метод show() не пришлось модифицировать, так как уже давно реализовал аналог в виде переменной result, в которой формируется вывод вводимых данных.
Добавил справа от калькулятора вывод истории.
2017-05-11 20:12 State State - Целый калькулятор - Logic + 1 1 час. 46 мин.
Повторил пройденное
найти время
Тут не одна ошибка в коде, тут их куча!
Что было мной выявлено при тестировании калькулятора:
1 - нужно сбрасывать значение второй переменной в методе StateOpers().opers()
2 - нужно произвести калькуляцию в начале метода StateSecond().opers()
3 - в методе calc() добавил проверку: "Делить на ноль нельзя!"
4 - метод calc() перенёс в класс Context(), так как он вызывается не только в StateResult()
5 - не нужно производить калькуляцию при вводе очередного числа в StateResult()
6 - не нужно производить калькуляцию при вводе операции в StateResult()
7 - нужно делать сброс при вводе числа в StateResult()
8 - оставить ситуацию без изменений, если ввести символ, который не поддерживается
9 - что бы не ввели, брать первый символ
з.ы.
Помимо этого, как видно из скриншота, динамически увеличивается список истории вычислений.
В результате отображается текущая ситуация, что тоже видно на скриншотах.
Обкатал калькулятор, вроде все нюансы учёл, баги больше не встречались.
2017-05-10 23:19 Морской флот Вступление + 16 30 мин.
Ничему новому
Вспомнить аналог на спектруме =)
Курс включает в себя очень много технологий, саму идею Морских сражений FFA, думаю, пока потихоньку начать этот курс уже, а то купил ещё в прошлом году, а всё никак =)
2017-05-09 23:41 State State - Целый калькулятор - Press key + 16 46 мин.
Закрепил пройденное
найти время
Добавил свой класс ConsoleArt() и реализовал псевдоинтерфейс калькулятора в консоли =)
Избавился от статика.
Вначале реализовал метод show() в классе Context() так как нужно было где-то генерировать вид калькулятора, а после увидел в видео, что такой же метод создаётся как раз для той же задачи =)
Не стал бежать впереди паровоза, идём в ногу с уроками. =)
2017-05-08 21:08 State State - Целый калькулятор - Context + 16 17 мин.
Повторил пройденное
найти время
Пока ничего не могу сказать по поводу того, хватит того, что уже реализовано или нет, будет видно в процессе разработки.
2017-05-07 15:54 State State - Целый калькулятор - States + 16 25 мин.
Повторил пройденное
найти время
Я думаю каждую разработку чего бы то ни было нужно начинать с построения схемы, хотя-бы базовой, в процессе разработки можно будет её дополнять, если будет в этом необходимость.
2017-05-06 23:43 Знакомство с jQuery События и их методы + 16 45 мин.
Закрепил пройденное
найти время
Отличный урок, демонстрация одного и того же разными способами реализации это лучше помогает понять работу в целом. Очень понравился метод on() с перебором focus() и blur() выглядит как swotch/case =)
Ждём следующего вебинара...
2017-05-06 22:46 Знакомство с jQuery Понятие селектора и примеры + 16 45 мин.
Закрепил пройденное
найти время
Отличный урок, все примеры понравились, каждый по своему полезен, по поводу селектора: ":button" проверил, что-то не понятно, добавил тег input type=button и он не выбирался, хотя должен был, но зато чётко выбирались все button теги при этом идеально. Либо есть какой-то нюанс, либо эта фишка не работает так как задумывалось или забыли обновить документацию.
з.ы.
добавил селектор по тегу.классу как видно из скриншота, работает отлично.
2017-05-06 22:00 Знакомство с jQuery Эксперименты и кнопки + 16 30 мин.
Повторение пройденного
найти время
Отличный урок, просто супер эксперименты и аналогия передачи функций аля делегаты. Добавил третью кнопку, которую наделил методом toggle(), который представляет собой симбиоз методов hide() и show(), так как работает в обе стороны, если элемент уже скрыт, он его отображает и наоборот. Так же использовал время анимации в 1000 мс, что равняется 1 секунде для наглядности =)
2017-05-06 21:12 Знакомство с jQuery Синтаксис и простейший пример + 16 30 мин.
Повторил пройденное
найти время
Если в show() и hide() передать параметры:
'slow' - медленная анимация
'fast' - быстрая анимация
целое число - время в миллисекундах которое длится анимация
так же вторым параметром можно передавать так же кастомную функцию =)
Отличное начало, идём дальше.
2017-05-06 20:53 Знакомство с jQuery Суть библиотеки jQuery + 16 20 мин.
Повторил пройденное
найти время
Очень полезный курс для общего развития и не только, данная библиотека очень активно используется и должна быть изучена всеми веб-разработчиками.
Я впервые познакомился с jQuery уже не помню когда, но это было точно во времена исследования сайта, который ранее написал не я, эдакий реверс-инжинеринг. Изрядно я его тогда поковырял, но многое было сразу не понятно, так как в те времена такого объёма полезной информации как сегодня просто не было.  Изложение как всегда простое и понятное, прохождение зарубежного курса вместе веселее =)
2017-05-06 17:24 State VIP - State - КНБ - JButtons + 16 1 час. 00 мин.
Повторил пройденное
найти время
Отличный завершение для не менее отличного курса по созданию игры "Камни, Ножницы, Бумага".
Вначале реализовал сам лейблы, потом посмотрел видео, центровка текста пока не начали играть, после первой игры центровка отключается и информация выдаётся по собственному стилю.
Параллельно в консоли отображается консольная версия игры.
В GUI версии отображается статистика игр и кто сколько набрал очков.
Все элементы располагаются на JPanel, так же исправлен баг при котором объекты панели могли не отрисовываться корректно, пока не свернуть и развернуть форму, оказывается необходимо вызывать эту проверку в критических ситуациях.
2017-05-05 12:30 State VIP - State - КНБ - JFrame + 16 50 мин.
Повторил пройденное
найти время
Опять добавили элементы поверх фрейма =), потом хаки писать для корректировки размеров. Я решил сделать так как всегда советую, вначале добавляем папель, потом на панель уже водружаем нужные элементы, в нашем случае кнопочки.
Алгоритм инициализации формируется у нас уже не один курс по Java, поэтому использовал его для создания формы нужного размера, плюс тот самый метод pack(). Без него никуда =)
Добавил все три кнопки, думаю можно использовать массив кнопок, чтобы код выглядел более компактным.
Так же реализовал определение на какую кнопку было нажатие, чтобы изменялась надпись именно на ней.
Отличная идея реализовать GUI интерфейс для игрушки.
2017-05-04 23:32 State ПОЛУФИНАЛЬНЫЙ УРОК + 16 5 мин.
Ничему
найти время
Шаблон очень полезный, используется на 100% в играх, пример: переключение между стадиями отображения игрового меню или непосредственно самой игры, глобальной карты и т.д. При передаче данный по сети тоже данный шаблон будет кстати. Везде где может понадобится переход между состояниями - этот шаблон будет полезен!!!
з.ы.
Пауза в игре это тоже состояние =)
2017-05-04 23:16 State State - КНБ - Play + 16 1 час. 45 мин.
Закрепил пройденное
найти время
Использовал свой класс ConsoleArt() для красивого отображения стадий игры.
Добавил класс GameScore() для обработки статистики побед обоих игроков, количества сыгранных игр, так же генерацией итоговой статистики.
Вначале добавил счётчики в классе Context(), но позже решил вынести статистику в отдельный класс.
Объяснять работу на простых примерах отличная идея. идём дальше.
2017-05-03 10:07 State State - КНБ - States + 16 30 мин.
Заготовке шаблона State
найти время
Отличное начало, мыслей по поводу дальнейшей реализации более одной, поэтому не стал тратить время, так как с ним пока туго, поглядим реализацию на след. уроке.
з.ы.
добавил класс ConsoleArt(), дополнив его под нужды текущего шаблона.
2017-05-01 19:47 Observer VIP - Observer - Sensor - Alert + 16 1 час. 00 мин.
Закрепил пройденное
найти время
Перенёс класс OBell() и сделал их него синглтон OSound().
Так же перенёс синглтон Timer(), для отображения времени которое тратилось на вызов звука.
Enum стадий звука уже был реализован ранее, поэтому его тоже перенёс и модифицировал под нужды текущей задачи.
Мелкие правки и оптимизации кода.
з.ы.
Отличный урок, добавил звуки свиста чайника: ПОГРОМЧЕ и ПОТИШЕ.
2017-04-30 19:44 Бинарная жизнь Максималка + 16 30 мин.
Запоминанию длинных чисел мышечной памятью
Остановиться
Neverwinter 2 - есть куда стремиться ;)
2017-04-30 19:30 Observer ФИНАЛЬНЫЙ УРОК + 16 5 мин.
Закрепил пройденное
найти время
Отличный шаблон проектирования, будет использовать однозначно, спасибо за курс.
2017-04-30 15:56 Observer Observer - Sensor - Banner + 16 2 час. 00 мин.
Повторил пройденное
понять почему корректно по вертикали не центровало
Урок отличный, но в перенесённом классе, который создавали для мотиватора/демотиватора были некоторые особенности из-за которых возникли проблемы не только у Игромистра с цветом, это я сразу понял, а вот с центровкой по вертикали пришлось повозиться, а потом решил проверить, как генерируется размер картинки, оказалось, что там учитывался размер блока под текст, но так как у нас картинки нет, а блок под текст уже не имеет смысла, то он и добавлял снизу лишнее пространство. В итоге модифицировал класс основательно, чтобы он был более универсальным. з.ы.
Добавил поддержку центровки текста: top, center, bottom (по вертикали)
Добавил поддержку многострочного текста, разделитель "\n", поддержку котором пришлось написать самому.
Добавил вывод температуры в трёх единицах измерения: Цельсий, Фаренгейт и Кельвин.
2017-04-28 23:01 Observer Observer - Sensor - Cat File + 16 25 мин.
Повторил пройденное
найти время
Прикольно придумали с котом и плюс доп. вариант для закрепления идеи шаблона. Вопросов нет, идём дальше.
2017-04-27 10:08 Observer Observer - Sensor - Person + 17 30 мин.
Закрепил работу с системными Observer/Observable()
найти время
Отличный урок, радует, что не добавляют дубликаты одного и того же объекта.
2017-04-25 10:05 Observer Observer - Sensor - Visaginas + 17 30 мин.
Закрепил Observable()
найти время
Хорошее начало, можно вместо реального датчика, добавить парсер температуры с сайта. Но это так, если реально данная тема необходима и будет работать 24/7, так как в рамках урока разброс температуры будет минимальным.
2017-04-23 08:51 Observer Observer - School Bell - Study and Break + 16 58 мин.
Закрепил пройденное
найти время
Класс OBell сделал Синглтоном, так как давно уже вёл к этому, он при первой инициализации загружает(кэширует в ОЗУ) необходимые для работы звуковые файлы, и при каждом последующем обращении к нему он воспроизводит файлы уже из памяти. а не загружая их каждый раз с диска.
Отличный пример использования шаблона проектирования, использовать буду обязательно.
2017-04-21 17:48 Теория ООП Инкапсуляция мечты + 16 15 мин.
Повторил пройденное
найти время
Со словом "Инкапсуляция" у меня всегда ассоциируется "Шляпа Фокусника" =)
2017-04-20 11:17 Observer Observer - School Bell - java.util.Observable + 16 20 мин.
java.util.Observable;
найти время
Отличная оптимизация кода, класс Porter() прям растаял на глазах =)
Очень полезный шаблон проектирования, буду использовать обязательно.
2017-04-17 10:58 Демо софт Двенадцать месяцев + 16 1 час. 40 мин.
MonthCalendar
найти время
Как обычно в фотошопе создал иконку в своём стиле, так же нашёл и подготовил в общий формат 12 картинок времён года. Само приложение не вызвало трудностей, единственное имена файлов в формате D2 как то глаз радуют =)
2017-04-16 05:11 База SQLite SQLite - Самостоятельная работа + 16 14 час. 00 мин.
Работе с SQLite в Java
найти время
Реализовал поддержку ввода имени БД, если таковая не найдена, то предлагается создать её со всеми необходимыми таблицами для корректной работы системы.
Если же БД будет найдена, автоматически к ней подключится и отобразит количество студентов и лекций, которые в ней присутствуют.
Потратив не мало времени, всё же удалось решить проблему с полной поддержкой русского языка как при сохранении в БД, так и загрузки оттуда.
Так же записи на русском языке корректно отображаются и через консоль SQLite.
На видео демонстрация работы программы:
1 - добавление 5 студентов
2 - добавление 5 лекций
3 - запись всех студентов на все лекции
4 - после добавления студента на лекцию, предлагается сгенерировать для него сразу 10 случайных оценок, если отказаться, то в последствии только вручную можно будет добавлять оценки.
5 - отображение карточки студента после того как ему добавили оценки
6 - отображение списка студентов
7 - отображение списка лекций
8 - отображение статистики успеваемости по всей БД
Сделал динамичное обрамление статистики, чтобы не дублировалось название лекции более 1 раза при списке из нескольких студентов
Так же сделал отображение лучшего среднего бала суммарно не по всем лекциям, как предложено в задании, а по каждой лекции и студенту отдельно.
Таким образом, если максимальный средний балл будет одинаков сразу у нескольких студентов, они будут отображены, а те, кого не показали, значит у них по всем предметам средний балл соответственно ниже.
Естественно добавлена защита от ввода недопустимых значений, запись студента только на те лекции, которые доступны для записи (на те, на которые он не записан, просто не отображаются в списке и если попытаться ввести их айди, выдаст ошибку)
Отображается общее количество оценок в шапке таблицы, а сама таблица выводит только те лекции, где больше всего оценок, если оценок одинаковое количество сразу у нескольких лекций, то отображаются все.
Модернизировал класс ConsoleArt(), добавлена поддержка выбора кодировки в которой будет отображаться информация в консоли.
База данных состоит из 4 таблиц, как видно из видео, каждая таблица хранит в себе свои данные, которые связаны между собой при помощи айди записи, тем самым оптимально используя ресурсы БД и скорость работы с ней.
з.ы.
Так как подобную программу уже делали в курсе Java Book, но там использовали сериализацию в качестве хранения данных (с ростом размера БД она работала бы дольше, чем эта версия с SQLite).
Решил использовать наработки по оформлению программы и заимствовал часть функционала, которые пришлось переписать для оптимальной работы с SQLite запросами, так как запросы возвращают уже необходимые данные, а не всю БД целиком.
В итоге эта версия программы намного интереснее и лучше, чем версия с сериализацией =)

Всем спасибо за просмотр, делал несколько дублей, в итоге решил сделать техническое видео, так как саму программу написал уже давно, а всё никак не залью отчёт, так как хотелось добавить и видео (как сказал студент Игромистра: Михаил Острый - тут двумя скриншотами не обойтись).
2017-04-15 22:33 Observer Observer - School Bell - java.util.Observer + 16 45 мин.
Повторил пройденное
найти время
Добавить синглтон таймера, модернизировал его так, чтобы он возвращал пройденное время.
Как видно из скриншота, каждый раз на звонок потрачено в районе секунды.
Решил добавить таймер, так как звонило всего 1 раз, первый раз слишком быстро проскакивало и не успевало начать воспроизведение, видимо изза потраченного времени на кэширование звукового файла. Добавив таймер, промониторив проблему решил её и теперь каждый раз звонок проигрывается как надо, думаю для звонка можно тоже использовать синглтон, так как одного экземпляра более чем достаточно.
2017-04-14 23:52 Observer Observer - School Bell - Porter + 16 1 час. 00 мин.
Повторил пройденное
прекратить эксперименты =)
Увлёкся оптимизацией вызова звонка и доработками класса OBell()
2017-04-13 22:59 Observer Observer - School Bell - Sound Bell + 16 30 мин.
Повторил пройденное
найти время
Реализовал загрузки звукового файла (кэширование) и вызов проигрывания отдельными методами.
Добавил в класс OBell() метод isPlaying(), для реализации бесконечного цикла с выходом после окончания проигрывания звонка, поэтому ожидание нажатия клавиши уже не нужно см. скриншот.
2017-04-11 23:30 Observer Observer - School Bell - Student + 16 10 мин.
Повторение пройденного
найти время
Отличное начало, вот я и добрался до курса, для которого делал звуковые файлы =) Сам шаблон должен быть интересным, напоминает мне события в C#.
2017-04-10 22:16 Facade ФИНАЛЬНЫЙ УРОК + 1 15 мин.
Повторил пройденное
найти время
Отличный шаблон, я думаю самый известный и интуитивно используемый всеми разработчиками от новичка до профи. Наверное чаще всего именно этот шаблон используем при разработке той или иной игры/программы.
2017-04-09 22:59 Iterator ФИНАЛЬНЫЙ УРОК + 16 15 мин.
Созданию итератора любых объектов
найти время
Отличный шаблон проектирования, думаю если не всегда, то почти всегда будет использоваться в современном ПО/ИГРАХ, так как всегда есть что перебирать =) "маст хэв" как говорится.
2017-04-08 22:26 Active Record ФИНАЛЬНЫЙ УРОК + 16 15 мин.
Повторил пройденное
найти время
Отличный шаблон проектирования, очень хорошо подходит для разработки сайтов, где нужен самый дешёвый хостинг. Так же отлично подходит для оптимизированной работы с БД, если немного доработать его =)
2017-04-07 08:44 Strategy ФИНАЛЬНЫЙ УРОК + 16 9 час. 15 мин.
Повторил пройденное
найти время
Отличный шаблон проектирования. Используется много где. Так же в связке с другими шаблонами проектирования. Мы рассматривали варианты где выбирали в каком формате сохранять информацию: json/xml/raw. Так же это используется как показано на картинке, при создании сжатого архива, но разными способами: rar/zip/7z/ace/arj. При выборе способа транспортировки товара или человека из пункта А в пункт Б: на автомобиле/поезде/автобусе/пешком/самолёт/корабль. Я думаю достаточно привёл вариантов, чтобы понять, зачем нужен этот шаблон проектирования. Удачи в изучении.
2017-04-06 22:29 База SQLite SQLite - Select + 16 20 мин.
Повторил пройденное
найти время
Добавил вначале отображение текущего списка, после чего запрос на добавление записи и опять вывод списка, чтобы видно было, что запись действительно добавилась. Отличный урок, коротко и ясно.
2017-04-05 04:33 База SQLite SQLite - Insert + 16 2 час. 00 мин.
Запуску jar приложения с необходимыми библиотеками из консоли.
найти время
Пришло изрядно погуглить, поэксперементировать, так как очень много либо устаревшей либо просто не соответствующей действительности информации на просторах интернета, как в прочем и всегда. Но я всё же нашёл то, что искал, просто и красиво запускается jar файл с необходимыми библиотеками относительно пути запуска. Работает всё идеально. Так же модифицировал код метода insert(), добавив вариант отката изменений в БД, если произошла ошибка транзакции. Так же поддержка мультитранзакций, который так же проверяются перед тем как закоммититься в БД. Пригодится в будущем, при сложных, взаимосвязанных транзакциях. Отличный урок, на первый взгляд простой, в IntelliJ IDEA проблем не возникло с добавлением внешней библиотеки, но хотело это реализовать через консоль. На что и ушло основное время.
2017-04-05 02:25 Template method ФИНАЛЬНЫЙ УРОК + 16 15 мин.
Повторил пройденное
найти время
Шаблонный метод, один из очевидный шаблонов проектирования, к которому так или иначе приходят программисты с опытом. Много где используется, не сложен в понимании, но желательно пройти данный курс, чтобы сэкономить время, которой потратишь для самостоятельного движения в его сторону.
2017-04-05 02:08 Factory ФИНАЛЬНЫЙ УРОК + 17 15 мин.
Повторил пройденное
найти время
Отличный курс и шаблон проектирования. Очень полезный, его можно использовать например в игре Xonix, чтобы создавать противников (шарики, квадратики). Вроде бы объекты разные, но наследуют общий корни, тем самым могут обрабатываться одним циклом и хранится в общем массиве объектов. Думаю, когда дойдут руки до курса по игре Xonix, можно будет порефакторить код, чтобы использовать шаблон проектирования там, где это явно намекает =)
2017-04-05 01:42 Singleton ФИНАЛЬНЫЙ УРОК + 16 10 мин.
Повторил пройденное
найти время
Отличный шаблон проектирования. Много где можно использовать, уже активно им пользуюсь там где есть в этом необходимость =)
2017-04-05 01:24 Итератор VIP. Оптимизация поиска простых чисел + 16 1 час. 00 мин.
Повторил пройденное
найти время
Так как данный урок уже делал прошлым летом во время прохождения курса: "Комбинаторика", то чтобы просто не копипастить, решил доработать тогдашние наработки по поводу "решета Эратосфена". Реализовал два варианта, один с использованием массива, другой при помощи списка. Как видно из скриншота, они в самом конце, скорость у них оставляет желать лучшего. Квадратный корень явно быстрее всех.
2017-04-04 02:23 База SQLite SQLite - Подключение из Java + 16 25 мин.
Установке CLASSPATH для подключения сторонних библиотек
найти время
Отличный урок, но чтобы не перезагружаться, я через консоль установить переменную среды CLASSPATH, после чего приложение успешно отработало. см. скриншот.
2017-04-03 10:02 База SQLite SQLite - Знакомство + 16 19 мин.
Повторил пройденное
найти время
Как видно из скриншота, я протестировал свои догадки и оказалось всё так как я и думал, проблема в том, что консоль sqlite3 криво работает с юникодом, каждый символ занимает два байта и если ширину выставить нечётную, в моём случае я поставил 15 и последняя буква в именах Александр и Владимир были вопросиками, а если 14 или 16, то обрезало имена нормально, без артефактов. Почитав официальный форум разработчиков sqlite, подтвердил свою версию, этот баг им известен, но они его ещё не решили. От себя могу сказать лишь одно, это проблема официальной консоли, как сказал один из разработчиков, чтобы устранить баг, надо написать свою консоль. т.е. написав свою программу работы с базой, можно не бояться этого бага, так как отображение и обработка данных уже будет полностью зависеть от вашего кода, как напишите как и будет отображаться.
2017-04-03 04:06 Итератор ФИНАЛЬНЫЙ УРОК + 17 10 мин.
Вариантам использования yield и кастомным итераторам.
найти время
Последовательность уроков напомнило мне курс шаблонов проектирования Синглтон на языке Java, там тоже от начало и до конца шли эксперименты, плавно приближаясь к тому самому красивому и верному варианту решения задачи.
Изюминка в виде yield делает этот шаблон проектирования идеальным во многих вещах, а самое главное, что в процессе перебора можно легко реализовать анимацию, дабы не казалось, что процесс завис при очень длительных вычислениях.
Спасибо за курс, советую пройти каждому!
2017-04-03 03:39 Итератор Итератор. Один метод вместо классов. + 4 14 мин.
Повторил пройденное
найти время
Вот это уже ближе к тому, что было использовано в курсе: "Мат Конём и Слоном". Отличное завершение не менее отличного курса.
з.ы.
Мало было передавать максимальное значение параметров в функцию, надо было ещё и переменную максимального значения сделать глобальной как минимум, чтобы цикл работал как и прежде и завершался по окончанию перебора.
Как видно на скриншоте, цикл завершился и вывел сообщение в конце программы. Данное сообщение не выводилось, пока не добавил глобальную переменную, ведь мы убрали функцию SetMax(), надо было её заменить аналогией, чтобы не рушить цикл while. Так сказать, очевидная вещь, которая сразу бросилась в глаза.
2017-04-03 03:02 Итератор Итератор. Список простых чисел. + 16 10 мин.
Оптимизировать алгоритм перебора простых чисел при помощи yield
найти время
Отличный урок, красивый код и оптимизация. Всё просто и ясно.
2017-04-03 02:42 Итератор Итератор. Волшебное слово yield. + 16 15 мин.
Использованию итератабл + yield
найти время
Отличный урок, yield ещё в курсе "Мат Конём и Слоном" понравился как работает. Лишний раз убедился в его уникальности и удобстве, самое главное, что он в процессе итераций передаёт управление родительским итерациям, при больших объёмах перебора очень удобно использовать, так как можно демонстрировать признаки жизни, а не думалось, что процесс завис =)
2017-04-03 01:58 Итератор Итератор. Зачем нужно два класса + 16 25 мин.
Использованию итератора не зависимо от итерабл
найти время
Ещё на первом уроке решили объединить, есть в этом что-то, можно даже было добавить костыль, чтобы использовать сдвоенный итератор, но в таком виде он всё же более универсальный и думаю раз он таким был изначально создан, то не просто же так =) в любом случае, полезно было поэкспериментировать. Отличный урок, идём дальше.
2017-04-03 01:05 Итератор Итератор. Перебор простых чисел. + 16 12 мин.
Вариантам функций итерататора с public и без
найти время
Так как мы проверяем, если primeMax < 0, а изначально при инициализации он равен -1, то нам не надо перед циклом foreach устанавливать заранее primes.SetMax(number), достаточно только в теле цикла while. Отличный урок, идём дальше.
2017-04-03 00:47 Итератор Итератор. Перебор чисел в итераторе. + 16 12 мин.
Реализации итератора с параметрами для foreach перебора
найти время
Отличный урок, очень полезная штука итератор, так как foreach очень нравится. Ничего сложного, идём дальше.
2017-04-03 00:18 Итератор Итератор. Создание пустого итератора. + 16 9 мин.
Созданию структуру будущего энумератора на C#
найти время
Очень похоже на шаблон проектирования итератор, который проходили недавно на Java. Уже вижу, что будем делать дальше, но не буду бежать впереди паровоза =)
з.ы.
И да, забыл сказать на прошлом уроке, что я избавился от статика. Хорошая привычка выработалась.
2017-04-02 23:55 Итератор Итератор. Разложение числа на простые множители. + 16 10 мин.
Повторил пройденное
найти время
Подобную задачу уже ранее решал, поэтому ничего сложного не было, урок отличный как всегда, идём дальше.
2017-04-02 23:32 Компилятор Секреты Designer файла + 16 10 мин.
Повторил пройденное
найти время
Ну вот и последний урок по данному мини-курсу. Наконец я его закончил, а то в прошлом году не было времени из-за других задач. Курс отличный, даёт полезные знания, которые помогают решить некоторые проблемы, так же сэкономить время в некоторых срочных ситуациях, а студии на ПК нет =)
2017-04-02 23:11 Компилятор Откуда берутся окна + 16 10 мин.
Повторил пройденное
найти время
Как я уже ранее писал, я был на вебинаре, когда записывались эти уроки, успел за Игромистром и по сути использовал наработки для формирования отчёта. Серия уроков отличная, полезная в определённый ситуации, когда 2015 студию некогда ждать сутки пока установится, а надо быстро скомпилировать готовые исходники =)))))
2017-04-02 22:52 Компилятор Где живёт компилятор + 16 10 мин.
Повторил пройденное
найти время
Так как присутствовал на вебинаре во время записи этого урока и успел реализовать всё за учителем, код остался, просто его использовал для формирования отчёта.
Урок отличный, надо знать такие вещи.
2017-04-02 17:36 Active Record Active Record - User - Update all + 16 45 мин.
Повторил пройденное
найти время
Для каждого метода получения необходимой информации добавил вспомогательный метод отображения это самой информации в красивой таблице.
Вместо возвращения самого молодого и т.д. пользователя использовал ArrayList() так как если по зарплате рандом не попал из-за малого количества сгенерированных пользователей, то по году рождения их было более 1, а выводить только одного не верное решение (см. скриншот).
Предварительно удалили все записи и запустил все методы с нуля, и уместились на экране все фазы.
Добавил отображение информации во время индексации и удаления пользователей для наглядности.
Я думаю подобные методы обработки базы пользователей, можно спокойно перенести в класс User(), по аналогии с методом selectAll().
Мини курс по Активным записят отличный, но он аналогия того, что я реализовал сам и использую при реализации некоторых сайтов.
Но при реализации данного метода на игровых серверах не хватает системы кэширования часто используемых пользователей, дабы уменьшить нагрузки на БД и увеличить скорость работы серверов в целом.
з.ы.
Хотел добавить систему кэширования, чтобы ускорить работы с файлами пользователей и обновлять их только в том случае, если они были изменены в кэше (ОЗУ), но так подумал, что это может быть реализовано как VIP урок или что-то типо, да и времени и так не мало потратил на этот урок, так как было сложно остановиться оптимизировать его и наводить марафет =)
2017-04-01 17:18 Active Record Active Record - User - Select all + 16 45 мин.
Повторил пройденное
найти время
Реализовал поиск самых богатых, самых молодых и самых богатых среди молодых.
Реализовал вспомогательный метод, для корректного округления double значений, а то всё же проскакивали более двух знаков после запятой, что очень не красиво выглядело при формировании таблицы да и вообще, никто напильником не
будет зарплату с одного цента спиливать =)
Можно ещё оптимизировать, чтобы процесс работы с большим объёмом файлов был быстрее, но времени и так не мало потратил. Идём дальше.
2017-04-01 02:22 Active Record Active Record - User - Randoms + 16 45 мин.
Повторил пройденное
найти время
Модернизировал все методы в классе User() чтобы проверялся путь на корректность, наличие файла, чтобы случайно не перезаписать и т.д.
Имена генерируются немного иначе, тем самым при генерации 1000 записей, попалось 5 дубликатов, о которых было написано в консоли и они небыли перезаписаны, потому-что были созданы в прошлых итерациях.
2017-04-01 01:13 Active Record Active Record - User - Delete + 16 25 мин.
Повторил пройденное
найти время
Да, я так подумал, лучше при апдейте не передавать параметры, так как это будет громоздко, особенно когда параметров будет дофига, поэтому убрал передачу параметров, которую реализовал в прошлом уроке и оставил только строчку create(); так как именно так и реализовал в прошлом уроке, это было очевидно =)
В методе delete() добавил строчку file.delete() в условие if, так как этот метод возвращает булевое значение, удалось удалить или нет, тем самым реализовал сообщение в чате по этому поводу. (см. скриншот)
По поводу супер-тестирования ничего особого в голову не приходит, так как не очень понял что именно подразумевается под этим словом: если нагрузку или скорость работы, то как было сказано на одном из прошлых уроков, можно создать цикл генерации кучи аккаунтов, создание, удаление, обновление и т.д. замерив время потраченное на это. Если что-то более глубокое, то это рассматривается далее по курсу Шаблонов, пока до этого дела не дошёл, поэтому пока данные виды теста не проводил ни разу, мне до сих пор хватало личных тестов в виде логов, чтобы отлавливать баги, если вдруг ПО странно себя ведёт.
2017-03-31 16:26 Active Record Active Record - User - Select + 16 30 мин.
Повторил пройденное
найти время
Реализовал метод update(), так же реализовал передачу логина в виде параметра в метод select().
Да, аналогичную систему я реализовал для работы с аккаунтами/профилями на некоторых сайтах. Очень удобно, когда нет надобности в большом количестве данных, для которых уже удобнее использовать БД.
Но пока не то, что было реализовано для игровых серверов.
Всё коротко и ясно, идём дальше, может ещё что-то интересное будет =)
2017-03-31 15:46 Active Record Active Record - User - Create + 16 20 мин.
Повторил пройденное
найти время
Вместо удвоенного обратного слэша можно использовать один слэш, он работает корректно как в винде так и в никс системах, тоже самое и в php. Всё коротко и ясно, идём дальше.
2017-03-31 15:14 Active Record Active Record - User - Imitation + 16 20 мин.
Ничему
найти время
Аналогичный вариант использую при разработке сайтов, если нет необходимость в использовании больших БД, отличный урок "Пользователя ПК" =) идём дальше.
2017-03-30 20:47 Active Record Active Record - UML + 16 10 мин.
Повторил пройденное
найти время
Разрабатывал аналогичную систему для оптимизации использования ресурсов серверной части одной из игр, чтобы в БД было меньше запросов, так же кэшировались недавние записи по этой же схеме. Так же использую аналогичную систему при разработке сайтов, которые не используют какие либо движки БД. Очень интересно посмотреть на реализацию данного шаблона проектирования, сильно ли он отличается от моей версии или нет.
2017-03-30 13:14 Iterator Iterator - BlackJack - Play game + 16 30 мин.
Созданию игры BlackJack
найти время
В процессе реализации алгоритма для игрока, который сам решает, брать ещё или хватит, сразу бросился в глаза тот факт, что карта, от которой отказывается игрок, уже взята из колоды и при использовании свитча, получается, что игрок отказался, карта то взята, но далее выходит из свитча и берёт новую карту, а эту куда? под стол? БАГ явно, поэтому стадию игры Дилера вынес ниже свитча, но перед проверкой победы. Теперь если игрок отказывается брать карту из колоды, эту карту берёт Дилер. Протестировал алгоритм, на скриншоте видно, сколько карт в колоде перед тем как кто-либо берёт карту или отказывается от этого действия. Отличный мини-курс, теперь я знаю как играть в BlackJack, ранее никогда не играл, как-то не было надобности и задачи в этом =)
з.ы.
Как видно из скриншота, отрефакторил код основательно. Всем спасибо за внимание.
2017-03-30 03:15 Iterator Iterator - BlackJack - Stages + 16 45 мин.
Созданию игры BlackJack в консоли на языке Java
найти время
Погуглил правила игра, но решил автоматизировать, чтобы было чем заняться на след. уроке =)
Добавил стадию Ничьи, если Дилер и Игрок набрали по 21 очку.
Добавил необходимые константы и глобальные переменные для реализации игры.
Игрок стремиться набрать определённый минимум, после чего передаёт эстафету Дилеру.
Если игрок перебрал, Дилер победил.
Дилер в свою очередь пытается набрать не меньше Игрока.
Если Дилер перебрал, победа игроку.
Если Дилер набрал больше или равно очкам Игрока, победил Дилер.
Отличный опыт, спасибо за реализацию этой игрушки.
2017-03-29 23:02 Iterator Iterator - BlackJack - Random + 16 20 мин.
Алгоритму выборку аля "Что? Где? Когда?"
найти время
Вынес константы в класс Program() и сделал их статичными
Оптимизировал класс Cards(), теперь данные о размере колоды берутся на основе количества карт и мастей.
Так же и при формировании колоды вместо числа использована константа.
Названия карт и мастей теперь на русском языке =)
з.ы.
Можно было использовать список и выдёргивая оттуда рандомную карту в пределах размера текущего списка, после чего удалять выбранную карту и проверять, не равен ли список нулю, этот подход был бы более ООП =)
Но вариант с массивом работает быстрее!!!
2017-03-29 16:10 Iterator Iterator - BlackJack - Deck of Cards + 16 25 мин.
Формированию колоды и её перебору при помощи Итератора.
найти время
Мне не понравилось, что колоду выводим задом наперёд и способ добавление карты в колоду тоже, поэтому реализовал это дело немного иначе, см. скриншот.
Так же красиво отобразил массив карт, для корректного формирования таблицы пришлось добавить доп. метод getSuit() в классе Card() =)
2017-03-29 15:11 Iterator Iterator - BlackJack - Card + 16 20 мин.
this.ordinal()
найти время
this.ordinal() очень полезная штука, в C# достаточно первому значению добавить " = 0," и все последующие получат значение +1 от предыдущего.
з.ы.
Как обычно избавился от статика.
Добавил свой класс ConsoleArt().
Сразу в глаза попался тот факт, что можно реализовать вложенные циклы по перебору всех вариантов карт, что я и реализовал, см. второй скриншот (надеюсь не поторопился с этим, так как было очевидное решение, как для наглядности, так и для теста и будет чем заняться на след. уроке).
Так же ещё в самом начале заметил, что вместо девятки в перечислении добавили одиннадцать, я же сразу написал как надо и ждал конца урока, если бы не заметили ошибку, отписался бы по ней в комментарии =)
2017-03-28 23:39 Iterator Iterator - BlackJack - Introduction + 16 10 мин.
Пока ничему
найти время
В эту игру никогда ранее не играл, вообще с азартными играми работал, но как сисадмин игровых клубов и казино. Занимался настройкой, починкой и запуском игровых автоматом, аппаратов и т.д. желания играть самому никогда не возникало, но в карточные игры в детстве играли вечерами, было дело. Может с тех пор я и наигрался =)
2017-03-28 02:49 Iterator Iterator - Digits + 16 30 мин.
Повторил пройденное
найти время
Отличный пример использования итератора.
Как обычно добавил класс ConsoleArt() для генерации красивой таблицы в консоли.
Избавился от статика.
В таблице отображено три варианта обработки цифр числа:
1 - перебор цифр,
2 - сумма цифр,
3 - произведение цифр.
2017-03-28 00:25 Iterator Iterator - Random + 16 20 мин.
Повторил пройденное
найти время
Отличный пример использования итератора для получения рандомных значений.
Добавил счётчик, чтобы выводилось нужное количество и останавливалось.
Так же перенёс свой класс ConsoleArt(), чтобы красиво выводить на экран консоли.
Избавился от статика (привычка уже преобладает).
Всё просто и понятно, идём дальше.
2017-03-27 22:42 Iterator Iterator - Numbers - System + 16 20 мин.
java.util.Iterator
найти время
Отличная реализация на базе java.util.Iterator, компактненько и красивенько =)
Можно перебирать что угодно, от чисел до нужных объектов.
з.ы.
Добавил вывод двух видов циклов, так же оптимизировал использование массива, дабы значение выводилось при наличии значений, тем самым теперь не нужно плодить лишний строки кода для обнуления.
2017-03-27 21:21 Iterator Iterator - Numbers - Inner class + 16 5 мин.
Повторил пройденное
найти время
Полезный рефакторинг, идём дальше.
2017-03-26 22:52 Iterator Iterator - Numbers - Running + 16 15 мин.
Использованию итератора через интерфейс итерабл
найти время
Я так понял, смысл этого деяния в том, чтобы какой либо класс мог иметь возможности производить какие либо действия со своими собственными данными. Что-то похожее уже делали, когда передавали в класс два числа и вызывали нужные математические действия над ними (сложить, разделить, перемножить и вычесть). Пока такие мысли приходят в голову, по поводу того, что было сделано относительного того, что и так работало по методу прошлого урока.
з.ы.
типо, пока сделали перебор обычный, с 1 до 5, а можно будет типо добавить переборы в обратном порядке, рандомном и т.д. =)
2017-03-25 16:22 Iterator Iterator - Numbers - Iterable + 16 45 мин.
Повторил пройденное
найти время
Очень интригующий урок, не стал специально гуглить, лучше в след. уроке узнаю, зачем же нам нужен интерфейс Iterable =)
з.ы.
Создал синглтон ConsoleArt() куда перенёс свои наработки в плане формирования рамок для более красивого отображения информации =)
Так же оптимизировал метод формирования шапки рамки.
2017-03-24 19:18 Iterator Iterator - Numbers - 12345 + 16 20 мин.
Повторил пройденное
найти время
Вынес статичные константы мин и макс значений итератора в класс Program(), для удобства настройки, если что.
Реализовал перебор значений итератора от мин до макс.
Так же решил использовать свой стиль консольных отчётов для наглядности.
Сгенерировал jar файл и запустил его из консоли для лучшей наглядности.
з.ы.
Так же избавился от статика (надо вырабатывать привычку).
2017-03-23 17:11 Iterator Iterator - Numbers - Introduction + 17 15 мин.
Общему интерфейсу итератора в Java
найти время
Начало интересное, идём дальше.
з.ы.
hasNext() и next() использовалось в Scanner =)
2017-03-22 23:27 Facade Facade - Motivator - Text Center + 17 30 мин.
Повторил пройденное
найти время
Добавил создание мотиватора/демотиватора c выбором текста сверху или снизу. Вообще вариантов море, добавить поддержку командной строчки, добавить поддержку команды /help для описания синтаксиса использования программы =)
з.ы.
Центровку по вертикали использовал туже, что и в курсе "Слова в Сетке (Балда)", так как этот способ более корректный.
Так же, как видно из скриншота номер 2, я реализовал перегрузку методов с использованием параметров по-умолчанию (в одном случае передаются параметры, во втором нет), чтобы не создавать дубликаты.
2017-03-22 19:28 Facade Facade - Motivator - Picture Border + 17 20 мин.
Повторил пройденное
найти время
Добавил сглаживание для рамки, так же упростил строчку настройки толщины линии.
2017-03-21 22:44 Facade Facade - Motivator - Back Paint + 17 20 мин.
Повторил пройденное
найти время
Ещё со времён MS-DOS использовал запуск приложений по их имени без расширения, так как:
1 - вначале файл ищется в текущей папке, из которой был произведён запуск (когда нет расширения, подставляются последовательно три расширения: bat, exe, сom)
2 - если не найдено, то для поиска используются пути указанные через точку с запятой в переменной: PATH, которая используется и по сей день в линейке Windows =)
з.ы.
Поэтому нет смысла использовать полный путь до файла графического редакторе, достаточно указать его имя без расширения.
2017-03-20 22:25 Facade Facade - Motivator - Image + 16 20 мин.
Повторил пройденное
найти время
Отличный урок, всё коротко и по делу =)
2017-03-19 23:11 Микроигры Игра 15 - Кнопки + 16 30 мин.
Повторил пройденное
найти время
1 - Создал иконку в фотошопе.
2 - Числа в двоичной системе.
3 - подготовил графику для финальной версии =) пока не афиширую.
2017-03-18 13:12 Facade Facade - Motivator - Methods + 17 10 мин.
Повторил прйденное
найти время
Аналогичное уже реализовывали, но займусь реализацией функций со след. урока.
2017-03-17 23:38 Facade Facade - Motivator - Plan + 17 20 мин.
Повторил пройденное
найти время
В основном пользуюсь фотошопом, но для этого урока решил использовать пейнт, как ностальгию =)
2017-03-16 04:19 Facade Facade - Motivator - Program + 17 10 мин.
Повторил пройденное
найти время
Хорошее начало отличной серии уроков по работе с графикой.
2017-03-14 11:56 Facade Facade - Computer - Power + 16 15 мин.
Повторил пройденное
найти время
Добавил доп. методы для некоторых компонентов ПК, для реализации завершения работы. Шаблон напоминает сразу несколько других шаблонов. Чем-то "Стратегию", а чем-то "Шаблонный метод". Использовать можно много где. Можно даже добавить проверку, запустился ли предыдущий компонент, если нет, то завершить выполнение последовательности с ошибкой =)
2017-03-13 22:13 Facade Facade - Computer - Devices + 16 15 мин.
Повторил пройденное
найти время
Сформировал последовательность запуска железа более подробно =)
2017-03-12 23:42 Facade Facade - Computer - Program + 17 5 мин.
Повторил пройденное
найти время
Полезный шаблон, начало положено =)
2017-03-11 21:55 Strategy VIP - Strategy - Person - Enum + 16 15 мин.
Повторил пройденное
найти время
По поводу использования свитч, реализовал ещё на прошлых уроках, а вот по поводу enum да, повеселее явно =)
з.ы.
как обычно убрал лишнюю проверку формата TXT, так как он всё равно у нас идёт по-умолчанию.
2017-03-11 21:20 Strategy VIP - Strategy - Person - UML + 16 15 мин.
Повторил пройденное
найти время
Вкратце, софтинка очень уж слабенькая, может быть я ошибаюсь и мало её юзал, но просто до неё я уже нашёл пару интересных вариантов, а именно: в курсе Java Book уже демонстрировал их. Но решил на основе пройденной программы ещё раз их использовать, см. скриншоты.
з.ы.
Code 2 UML (та что светлая) пришлось вручную расставлять блоки, стрелочки автоматом она провела, простенький вид, но приятнее и ближе к классическому UML, та что потемнее, это плагин для IntelliJ IDEA, под названием: "simpleUML", более подробнее всё показывает, но тоже надо лишнее не включать, чтобы построение диаграммы было более менее красиво, а не комок аля "Перекати-поле" =)
2017-03-11 20:45 Strategy Strategy - Person - Save - Strategy + 16 15 мин.
Повторил пройденное
найти время
Ваш вариант по аналогии с using в C# я вначале сам использовал, потом уже видео снял с паузы и понял, что сделал так же. Но, потом я реализовал вариант Java 1.7+ более компактный и уже не требующий закрывания файла, так как метод сам об этом заботится, плюс удобно выбирать кодировки для файла. Отличный урок как всегда.
з.ы.
Евгений Витольдович, как вам 14 строчка на скриншоте? это я сам придумал, что-то мысль закралась, а может написать присвоение по аналогии: "a = b = 3" и java не ругнулась, в итоге работает как предполагалось, молодцы разрабы языка!!!
2017-03-11 19:50 Strategy Strategy - Person - Save - Context + 16 15 мин.
Повторил пройденное
найти время
Проверку на пустоту всегда делаю по своему либимому методу, вначале тримлю строчку, малоли, какой там лишний мусор может попасться, а после этого есть замечательная проверка на пустоту в строке =) см. скриншот.
2017-03-11 19:20 Strategy Strategy - Person - Format - Strategy + 16 15 мин.
Повторил пройденное
найти время
Оптимизировал свитчи, убрав лишнюю проверку "txt", раз уж у нас этот формат берётся по-умолчанию, то лишние строки кода нам ник чему. Отличный урок. Подобное уже реализовывали в курсе ООФрукты.
2017-03-10 00:02 Strategy Strategy - Person - Format - Context + 16 15 мин.
Повторил пройденное
найти время
Реализовал через свитч, как то веселее выглядит.
2017-03-08 20:18 Новые технологии Мотиватор + 16 20 мин.
Повторил пройденное
найти время
Разбил задачу на три этапа, создав для этого отдельные кнопки. Отличный урок, всё просто до безумия.
з.ы.
StringBuilder sb = new StringBuilder();
sb.append("С 8 марта поздравляю\n");
sb.append("Пусть прожитые ранее года\n");
sb.append("Мудростью и силой отразятся!\n");
sb.append("Пускай сбываются мечты,\n");
sb.append("Чего бы вы не пожелали!\n");
System.out.print(sb.toString());
2017-03-07 19:53 Strategy Strategy - Person - Program + 16 15 мин.
Повторил пройденное
найти время
Начало кода положено, идём дальше.
з.ы.
главное не бежать впереди паровоза. =)
2017-03-07 19:47 Strategy Strategy - Person - Schema + 16 30 мин.
Повторил пройденное
найти время
Похожий шаблон уже применяли в прошлых курсах по Java. Реализовал UML схему, думаю в будущем она будет дополняться.
2017-03-06 21:33 Strategy Strategy - Join - Log/Timer + 16 15 мин.
Повторил пройденное
найти время
Файлы из проекта по синглтону просто перенёс в папку с исходниками данного проекта, они автоматически отобразились в списке, поэтому ничего копипастить не пришлось. Это один из положительных моментов при реализации каких либо методов отдельными классами/файлами, чтобы легко можно было переносить между проектами.
2017-03-06 21:23 Strategy Strategy - Join - String/Buffer + 16 20 мин.
Повторил пройденное
найти время
И без таймера знаю, что конкатенация строк перед добавлением в StringBuilder/Buffer() не отнимает время, поэтому каждую строчку нужно .append() отдельно друг от друга, это будет быстрее.
2017-03-05 12:31 Strategy Strategy - Join - Context + 16 15 мин.
Повторил пройденное
найти время
Реализовал обе стратегии, но как обычно вместо буфера использовал билдер по понятным причинам =)
2017-03-04 15:03 MVC шаблон MVC - Суть шаблона + 16 20 мин.
Повторил пройденное
найти время
MVC - это конструкционный шаблон, который описывает способ построения структуры нашего приложения, сферы ответственности и взаимодействие каждой из частей в данной структуре. Впервые она была описана в 1979 году.
з.ы.
На скриншоте демонстрация работы MVC Java Swing.
2017-03-03 11:14 Strategy Strategy - Join - ArrayList + 16 15 мин.
Повторил пройденное
найти время
Реализовал класс Context() который просто склеивает слова и возвращает результат. Отличная практика, идём дальше.
2017-03-02 23:14 Strategy Strategy - Operation - Program + 16 15 мин.
Повторил пройденное
найти время
Решил добавить операцию деления, а то как то не полноценная программа получается =)
Так же всё же решил добавить доп. метод для вывода символа операции, чтобы код основной программы выглядел более красиво и можно было полноценно использовать перебор массива стратегий =)
2017-03-01 10:08 Strategy Strategy - Operation - Context + 16 20 мин.
Повторил пройденное
найти время
Тоже использовали аналогичный метод ранее в программах, при выборе в каком формате сохранять/выводить данные (json/xml/raw). Но исходя из того, какие операции использовали в уроке, то можно предположить использование в программе "калькулятор" =)
2017-02-28 21:09 MVC шаблон MVC - PhoneBook - Вступление + 16 30 мин.
Узнал о сайте app.moqups.com
найти время
Ещё один сайт для разработки визуального представления, в копилку с draw.io =)
2017-02-27 22:28 Strategy Strategy - Intro + 16 10 мин.
Повторил пройденное
найти время
Данный шаблон использовался интуитивно =)
2017-02-26 18:30 Template method Template Method - Web Parser - Currency + 18 20 мин.
Повторил пройденное
найти время
Наверное самый классический шаблон, до которого доходишь сам в процессе изучения любого языка. Отличный урок как всегда.
з.ы.
Реализовал определение погоды, см. скриншоты, так же код модифицировал по своему, добавив переменные для быстрой настройки шаблонов.
2017-02-25 21:04 Template method Template Method - Web Parser - Loader + 16 15 мин.
Повторил пройденное
найти время
Как обычно использовал StringBuilder() так как он в нашем случае работает быстрее. Урок отличный, коротко и ясно =)
2017-02-24 14:30 Template method Template Method - Web Parser - Time + 16 15 мин.
Повторил пройденное
найти время
Отличный урок, код немного реализовал по своему, так как на основе результата можно вывести либо время, либо ошибку, см. скриншот.
2017-02-23 22:41 Template method Template Method - Web Parser - Abstract + 16 15 мин.
Повторил пройденное
найти время
Пока ещё расплывчато всё, но думаю дальше уже всё будет более определённо.
2017-02-22 08:48 API Telegram Здесь Ботов раздают? + 16 10 мин.
Созданию бота в Телеграмм
найти время
Прикольно придумали в Телеграмм, уже встроенный API для ботов. Близзарды сейчас тоже это API внедрили, чтобы боты могли играть в StarCraft 2 =)
2017-02-21 09:57 Template method Template Method - Web Parser + 16 20 мин.
Повторил пройденное
найти время
Очень полезный урок, велосипеды наше всё =)
2017-02-20 09:37 Template method Template Method - Girl - Program + 16 15 мин.
Повторил пройденное
найти время
Реализовал оба метода, как Терминатора, так и Кайла Риза. Помимо телефона решил добавить в шаблон количество попыток до финальной стадии, что видно в логах консоли, кто сколько попыток сделал, чтобы добраться до цели.
Отличный Шаблонный метод, очень часто используется, даже системные аналоги для решения различных задач. Естественно он будет использоваться и дальше. Спасибо.
2017-02-19 19:20 Template method Template Method - Girl - Macho Boy + 16 25 мин.
Повторил пройденное
найти время
Что-то вдруг решил реализовать по аналогии с фильмом Терминатор =))))))))
2017-02-18 15:46 Template method Template Method - Girl - Abstract + 16 20 мин.
Повторил пройденное
найти время
1 - раз я парень и реализую алгоритм поиска девушки, то использовал "мужской" цикл =)
2 - все методы и класс называются по-русски, поэтому телефон тоже написал на этом языке.
3 - в видео забыли добавить абстрактный метод "встретиться".
з.ы.
девушке "женский" цикл как раз подходит лучше, который был реализован в видео, но так же они могли заменить везде слово "Девушка" на "Парень" делов то. А то в отчётах часто видео данное недоумение =)
2017-02-17 12:06 State State - Вступление + 16 15 мин.
Повторил пройденное
найти время
На самом деле очень много картинок нашёл, для примера использования данного шаблона, прикрепил пару изображений, где показано использование при обращении к данным по HTTP протоколу, так же добавлена картинка где данный шаблон используется в игрушке, см. скриншоты.
з.ы.
шаблон стратегия отличается от шаблона состояние как минимум тем, что при выборе стратегии для решения определённой задачи, она ниизменна до конца выполнения, а в случае с шаблоном "Состояние" в процессе выполнения задачи выбранная статегия может меняться необходимое количество раз.
з.з.ы.
для примера статегии выбран вариант добираться из пункта А в пункт Б, выбрали к примеру на автомобиле и всё, едем себе и ждём когда приедем, в случае же с шаблоном состояние, выбираем всё тот же автомобиль, едем и уже не радуемся, а надеемся, что доберёмся в срок или вообще доберёмся, так как при этом шаблон в процессе нашей поздки может изменяться состояние автомобиля, водителя, пассажира(ов).
1 - водитель купил с собой выпить, когда вы сели, его состояние было трезвое, далее в пути вы уснули. а он выпил бутылочку и состояние его изменилось, есть шанс остановки и проверки на алкоголь, так же шанс вылететь на встречку, слететь в пропасть. в зависимости от текущего участка дороги и окружающей ситуации и т.д. можно долго рассуждать.
2 - состояние пассажира, может он перекусил недавно, может его укачать и нужно будет остановиться, а может быть вырвало в салоне, водителю может не понравится и он оставит его на дороге, может оказаться, что забыл кошелёк и т.д. тоже вариантов много.
3 - сам автомобиль, может не хватить топлива и когда оно закончится нужно будет либо толкать либо иди пешком, если идти пешком, то либо ловить попутку либо идти до ближайшей остановки. Опять же зависит от окружающей ситуации.
4 - часть пути проехать на авто, потом пересесть на корабль, после чего опять на авто, а можно вместо корабля использовать самолётик местного лётчика, который показывает соседние острова туристам и он знает все места... Опять же всё будет зависеть от состояния окружающих объектов.
2017-02-16 06:50 Template method Template Method - Introduction + 16 10 мин.
Узнал о шаблонном методе
найти время
Интересный шаблон, думаю пригодится не мало где, я обычно подобное реализую во время рефакторинга кода, для оптимизации. Как говорится, очередной шаблон, который использовался но не знал, что у него есть имя =)
2017-02-15 06:44 Factory Factory - Storage - Фабричные цеха + 1 15 мин.
Повторил пройденное
найти время
Отличный курс по фабрике, как говорится: "вкусновато, но маловато" правда данный шаблон уже затрагивали в других курсах по Java, так что доп. практика отличная. Немного порефакторил код. Реализован ReaderRandom, в котором априори метод инициализации не нужен.
2017-02-14 11:09 Observer Observer - Теория + 16 10 мин.
Повторил пройденное
найти время
Наблюдатель следит за состоянием каких либо объектов и как только состояние изменилось, оповещает всех, кто находится в списке оповещения именно по этому объекту. т.е. в нашем случае, если ты находишься в пределах слышимости звонка, то ты будешь добавлен в список и оповещён о звонке, но если ты ушёл за пределы слышимости звонка, то автоматом удаляешься из списка оповещения и не услышишь звонок, который прозвенит. Естественно, удаление, добавления в список это уже доп. функционал, который анализирует дальность до объекта того, кого можно оповестить, чтобы данная система работала как нужно =)
2017-02-14 05:20 Factory Factory - Storage - Фабрика + 16 5 мин.
Повторил пройденное
найти время
Всё же использовал switch, так же реализовал оба читателя, как скриншоте видно работу factory при создании читателя из файла. Отличный урок как всегда, идём дальше.
2017-02-13 06:51 Factory Factory - Storage - Запуск + 16 5 мин.
Ничему
найти время
Так как на прошлом уроке уже показал реализацию ReaderScanner, то на этом уроке скрин только с реализацией ReaderFile.
2017-02-12 03:31 Factory Factory - Storage - Файл и Сканер + 16 10 мин.
Повторил пройденное
найти время
Ну примерно так и представлял себе реализацию, использовал в основном классе main только ReaderScanner, чтобы было чем заняться в след. уроке =)
2017-02-12 01:48 Singleton VIP - Singleton - Timer - Enum + 16 15 мин.
Enum синглтону
найти время
Отличный урок, замечательная альтернатива реализации синглтона, по тестам enum быстрее варианта с классом где-то на 30-35% в нашем случае идеально подходит, думаю логично использовать этот вариант пока не упрёшься в ограничения enum, тогда уже можно и на основе класса.
2017-02-11 23:55 Factory Factory - Storage - Читатель + 16 5 мин.
Ничему новому
найти время
Далее реализуем наследники от Reader() каждый из которых реализует свои методы чтения.
2017-02-09 22:11 Singleton Singleton - Timer - Log class + 16 25 мин.
Повторил пройденное
найти время
Данный метод использовать можно, но только там, где есть реальная необходимость в этом, если в случае с Timer() это ещё как то выглядит красиво, то в случае с Log() смысла нет изза того, что всего лишь один метод остаётся в классе после данных изменений. Дублирующий код "синглтон" тоже напрашивается на спаривание =)
2017-02-08 06:45 Singleton Singleton - Timer - Experiment + 10 15 мин.
Повторил пройденное
найти время
Отличный урок, можно добавить так же синглтоны для вывода текста в файл, передача по сети, отправка на мыло, так же по формату, в котором будет выводиться информация (json, xml, plain, html...)
2017-02-08 06:08 Singleton Singleton - Timer - String vs Buffer Speed + 10 15 мин.
Повторил пройденное
найти время
Я не мог не добавить для тестирования ещё и StringBuilder, так как знаю, что он быстрее StringBuffer, что явно видно на скриншоте, так как он лучше подходит для однопоточных программ. Как я и говорил на прошлом уроке, отлично подходит для тестироваться отдельных участков кода, если это игрушка, то можно выводить дебаг информацию по скорость работы к примеру: отрисовки кадра, отрисовки теней, наложение эффектов, отрисовке частиц и т.д. В целом результату сравнения не удивлён, знал что именно так и будет изначально, так как ранее это всё было уже протестировано =)
2017-02-08 05:15 Singleton Singleton - Timer - Program + 10 15 мин.
Повторил пройденное
найти время
Как видно из скриншотов, при выводе текста в консоль тратится доп. время. Сам же метод Math.cbrt() намного быстрее работает. Данный синглтон можно использовать для дэбага работы отдельных участков кода программы, дабы изучив статистику понимать, где требуется оптимизация в первую очередь =)
2017-02-07 02:49 Singleton Singleton - Timer - Start / Click + 10 10 мин.
Ничему
найти время
Я думаю не стоит делать рестарт в методе, который предназначен для отображения пройденного времени, ведь для этого есть метод старт, он уже фиксирует текущее время и при повторном вызове будет обновлять его тем самым делая аналогию рестарта, поэтому я сделал по своему эти два метода, не смог реализовать так же как и в видео по идейным соображениям. Но урок всё равно отличный, спасибо, идём дальше.
2017-02-06 04:05 Singleton Singleton - Timer - Pattern Design + 10 10 мин.
Повторил пройденное
найти время
После инициализации репозитория git, не мог не добавить несколько начальных коммитов, где добавил базовые файлы, которые как мантра должны быть в репозитории, единственное только README.md не добавил, но это уже мелочи =)
Отличный урок как в прочем и всегда, спасибо Игромистру.
2017-02-05 06:02 Singleton Singleton - Config - Super child + 10 5 мин.
Использованию Синглтон шаблона для уникальности экземпляра класса.
найти время
Очень интересный мини курс получился, отличный вариант реализации в данном уроке, получилась эдакая алтернатива для вызова класса Config() через Синглтон, тем самым уверенно зная, что данный класс будет задействован всего 1 раз и больше экземпляров создано не будет. Естественно никто не мешает использовать и на прямую без Синглтона, но это скорее особенность данной реализации =) которую зная, можно не использовать вовсе.
2017-02-04 04:46 Singleton Singleton - Config - Cant extend + 10 15 мин.
Ничему новому
найти время
Перепробовал кучу вариантов возможности данного этюда, но суть в том, что даже если ухитриться и реализовать в итоге, то ломается сама суть синглтона, а не получается унаследовать, потому что конструктор приватный.
2017-02-03 03:58 Singleton Singleton - Config - Using pattern + 11 10 мин.
Шаблону Синглтон
найти время
Очень часто подобные вещи делал в коде программ/игр, чтобы выделялась память именно тогда, когда это нужно, оказалось, что есть идеальный шаблон для этого, спасибо за уроки, высший пилотаж!
2017-02-02 05:08 Singleton Singleton - Config - Static class + 11 10 мин.
Ничему новому
найти время
Вот вот уже красивее класс конфига выглядит, статичненько и практичненько, по поводу наследования класса конфига, не могу представить кто его может унаследовать и зачем. Но идём дальше, делаем из статики - синглтонику =)
2017-02-01 06:46 Singleton Singleton - Config - Static field + 10 15 мин.
Ничему новому
найти время
Отличный урок! Реализация намного лучше, чем в прошлом уроке. Руки чесались так же сделать, но решил не бежать впереди паровоза, выполняя пошагово каждый урок, внося незначительные изменения если очень надо =)
2017-01-31 02:04 Singleton Singleton - Config - Git default + 10 5 мин.
Ничему новому
найти время
Получилось аж 3 коммита отдельных:
1 - добавил конфиг в гитигнор.
2 - добавил конфиг по умолчанию.
3 - добавил поддержку загрузки настроек из конфига.
см. скриншоты.
2017-01-30 01:10 Singleton Singleton - Config - FileReader + 11 15 мин.
Ничему новому
найти время
Реaлизoвaл ceкцию finally{} в методe load() класcа Config(). Отличный урок, уже лучше, но ещё не идеально, идём дальше.
2017-01-29 02:15 Singleton Singleton - Config - Git commit + 10 5 мин.
Ничему
найти время
Так как коммит, который надо откатить последний по счёту, то для отказа хорошо подходит команда git reset. Если в процессе разработки оказалось так, что несколько коммитов назад добавили не совсем полезный коммит, то откат делать надо при помощи команды git revert, но это уже другая история со своими камушками =)
2017-01-28 02:43 Singleton Singleton - Config - Class + 10 5 мин.
Ничему
найти время
Вот, уже ближе к теме, мне тоже такой вариант больше нравится, идём дальше.
2017-01-27 04:08 Singleton Singleton - Config - Git add + 10 5 мин.
Ничему
найти время
Всё ок, идём дальше.
2017-01-26 02:38 Singleton Singleton - Config - Static + 10 15 мин.
Повторил пройденное
найти время
Я ещё вначале урока сделал имена заглавными, а потом позже и на видео решили это сделать =) намного веселее прошлого варианта, так как доступ к настройкам из любой части кода программы, но идём дальше, изучаем варианты и выбираем лучшее.
2017-01-25 03:23 Singleton Singleton - Config - Git init + 11 5 мин.
Ничему
найти время
Полезное действие, в будущем очень интересно пройтись по истории изменений кода, бывает что замечаешь то, на что ранее не обратил внимание и приходят новые идеи, так же git помогает не делать банальных ошибок в коде, от чего код становится чище.
2017-01-25 03:12 Singleton Singleton - Config - Final + 11 10 мин.
Повторил пройденное
найти время
Данный способ хорошо подходит для хранения каких-то важных, внутренних настроек ПО, которые не хотелось бы, чтобы кто-либо менял, в нашем случае параметр даты рождения не изменен, имя и фамилия по сути разрешено менять, отчасти верный метод, а вот вес меняется периодически и данный способ не подходит, лучше вынести его в конфиг или сделать не final, чтобы можно было поменять в процессе работы приложения или запросить это значение при запуске.
2017-01-24 01:58 Factory Factory - Shapes - Interfactory + 1 10 мин.
Повторил пройденное
найти время
В данном случае интерфейс выглядит веселее, чем абстрактный класс, но в процессе доработки ещё не раз можно менять логику.
з.ы.
Добавить строку с описанием вариантов возможный фигур при вводе с консоли.
2017-01-24 01:15 Singleton Singleton - Intro + 10 10 мин.
Структуре синглтона
найти время
Похожее использовал не раз, но именно в таком ракурсе, интересно посмотреть это в работе.
2017-01-23 00:16 Factory Factory - Shapes - Список + 10 10 мин.
Повторил пройденное
найти время
Отличный урок, рандом всегда полезная штука была для тестирования и наполнения демо-контентом =)
2017-01-22 03:44 Factory Factory - Shapes - Созидатель + 10 15 мин.
Повторил пройденное
найти время
Отличный урок реализации фабрики. По поводу того, что нельзя использовать свитч для сравнения строк, странно, но как то проблем с этим не возникало никогда. На скриншоте показана реализация сравнения через свитч, работает быстрее чем вариант с ифами.
2017-01-22 02:59 Factory Factory - Shapes - Абстракция + 10 9 час. 10 мин.
Ничему новому
найти время
Создал список и нарисовал каждый элемент через цикл.
2017-01-22 02:31 Factory Factory - Shapes - Три фигуры + 10 1 час. 30 мин.
Узнал о базовых шаблонах, которые ранее использовал, но не знал что это шаблоны.
найти время
Изучил ссылки, прочитал статью на хабре, очень интересный курс предвижу =)
2017-01-17 00:33 Хранитель экрана Движение шарика + 10 30 мин.
Повторил пройденное
найти время
Подобное реализовывалось при прохождении других курсов, поэтому сложным не было, практика лишней не бывает =)
2017-01-16 03:28 C# Четыре в ряд - Соревнование Оценка позиции + 11 1 час. 30 мин.
Играть в большие крестики нолики =)
найти время
Отличная идея, осталось добавить реплики и получится бот-комментатор =)
з.ы.
долго думал как же ухитриться и кое что предусматривал чтобы бот, но в итоге понял, что надо было в матрице пометку делать отличным от 0, 1 и 2 числом, куда предполагается ход, для его независимой оценки, ну раз такое ограничение у всех, то посмотрим, как будут себя вести другие боты. ВСЕМ УДАЧИ, надеюсь участников будет не меньше, чем в прошлый раз.
з.з.ы.
Orange, что-то не участвует, странно.
2017-01-16 02:33 МикроШахматы VIP урок - Бестолковый интеллект + 11 10 мин.
Рандом ИИ для Шахмат =)
найти время
Не стал реализовывать все доп. задания из-за отсутствия времени, оно уходит на решение внешних задач, рандомайзера удалось победить быстро, он с первого шага открыл короля, пришлось убрать пару пешек и поставить мат королевой.
2017-01-16 02:14 МикроШахматы VIP урок - Минное поле + 11 15 мин.
Повторил пройденное
найти время
Прикольная идея, сразу видно, куда лучше не соваться =)
2017-01-15 00:57 МикроШахматы ФИНАЛЬНЫЙ УРОК + 1 30 мин.
Повторил пройденное
найти время
Замечательный курс, превзошёл все вместе взятые курсы по шахматам на js.
Спасибо огромное Евгению "Игромистру" Витольдовичу за это незабываемое приключение.
Добавил свои наработки по превращению пешки в фигуры рангом выше.
Приятного просмотра.
2017-01-14 23:45 МикроШахматы Ладейный паркур + 10 10 мин.
Повторил пройденное
найти время
Ура, вот и реализовали все правила игры в классические шахматы, осталось за малым =) пройти VIP уроки и добавить своих фишек =)
2017-01-14 23:18 МикроШахматы Рокировка на все времена + 10 10 мин.
Повторил пройденное
найти время
Отличный урок, показано как использовать ранее подготовленный функционал для реализации коротких проверок.
2017-01-14 19:08 МикроШахматы Белолевая рокировка + 11 15 мин.
Повторил пройденное
найти время
Отличный рефакторинг, но нет предела совершенству =)
2017-01-14 18:18 МикроШахматы Рокировка под шахом + 11 10 мин.
Повторил пройденное
найти время
Отлично, если король под шахом, рокировка запрещена!
2017-01-14 17:54 МикроШахматы Король всемогущий + 11 15 мин.
Повторил пройденное
найти время
Ну вот король уже может ходить в сторону ладьи, осталось ладью научить реагировать на это =)
2017-01-14 15:37 МикроШахматы Флаг над замком + 12 10 мин.
Повторил пройденное
найти время
Отличный урок, маркеры отображают возможности, но не текущую возможность =)
2017-01-14 14:33 МикроШахматы Правила рокировки + 12 20 мин.
Повторил пройденное
найти время
Комбинирование программирования с рисованием схем очень полезная штука =)
2017-01-14 05:03 МикроШахматы ФИНИШНАЯ ПРЯМАЯ + 13 10 мин.
Повторил пройденное
найти время
Правила на картинке, финиш не за горами.
2017-01-14 04:55 МикроШахматы Подвиг безымянной пешки + 13 15 мин.
Повторил пройденное
найти время
Прикольный мультфильм, отличный урок, идём дальше.
2017-01-14 04:42 МикроШахматы Информационная панель + 13 15 мин.
Повторил пройденное
найти время
Отличный урок, информация о ситуации на поле всегда полезна.
2017-01-14 04:29 МикроШахматы Шах вперёд - шаг назад + 13 5 мин.
Повторил пройденное
найти время
Отличный рефакторинг, идём дальше.
2017-01-14 04:24 МикроШахматы Служба безопасности короля + 13 10 мин.
Повторил пройденное
найти время
Отличный урок, сложность короля как раз на 5 из 6, так как 6 у пешки =)
2017-01-14 04:17 МикроШахматы Король в розыске + 13 10 мин.
Повторил пройденное
найти время
К нестандартным ситуация отношусь нормально, они отлично закаливают.
2017-01-14 01:29 МикроШахматы Возврат хода + 12 10 мин.
Повторил пройденное
найти время
Отличный урок и идея.
2017-01-11 09:47 МикроШахматы Случайный шах + 18 10 мин.
Повторил пройденное
найти время
Не все ходы доступны, потому что функция is_check() возвращает ШАХ в 20% случаях для каждой клетки по которой может ходить выбранная фигура =)
2017-01-11 09:37 МикроШахматы ТРЕТИЙ ЧЕТВЕРТЬФИНАЛЬНЫЙ УРОК + 19 10 мин.
Повторил пройденное
найти время
Добавил немного объёмности выбираемым фигурам, в которую можно превратить пешку на финише =) думаю так красивее.
2017-01-11 09:06 МикроШахматы Волшебное превращение пешки + 20 25 мин.
Повторил пройденное
найти время
Отличный урок, но я реализовал всё же свою версию выбора фигуры, когда пешка дошла до финиша =)
з.ы.
по центру экрана появляется список фигур, доступных для выбора, в кого превратить пешку, при этом это не мешает переключаться между закладками =) и выглядит приятнее. Во время выбора фигуры, ни один игрок не может ходить своими фигурами. После выбора пешка меняется на выбранную фигуру и ход передаётся противнику.
2017-01-11 08:10 МикроШахматы Пешкина мечта + 20 10 мин.
Повторил пройденное
найти время
Отличное завершение эпопеи пешек-спецназа =)
з.ы.
по поводу мультфильма, жизненный.
2017-01-11 07:59 МикроШахматы Афроамериканская пешка + 20 10 мин.
Повторил пройденное
найти время
Урок как всегда на высоте, данный способ объединения похожих функций в одну оправдан тем, что в нашем случае, различаются они незначительно, поэтому проще передать параметр направления в общую функцию.
2017-01-11 07:51 МикроШахматы Радар для быстрых пешек + 20 10 мин.
Повторил пройденное
найти время
Ну вот, теперь все пешки изучили секреты перехвата со смещением =)
2017-01-11 07:44 МикроШахматы Взятие на проходе шустрых пешек + 20 5 мин.
Повторил пройденное
найти время
Пока тест, далее заменим константы на автоматическое определение координат перехвата.
2017-01-11 07:33 МикроШахматы Пешка в сапогах + 20 20 мин.
Повторил пройденное
найти время
Отличный урок, начинаем приручать пешки =)
2017-01-11 01:25 МикроШахматы Пешка на охоте + 20 10 мин.
Повторил пройденное
найти время
Отличный начало серии уроков для реализации самой сложной фигуры: ПЕШКА =)
2017-01-09 23:04 МикроШахматы Судьба пешки + 20 15 мин.
Повторил пройденное
найти время
Отличный урок, доп. практика рисования схем.
2017-01-08 22:37 C# Четыре в ряд - Соревнование Пять в Ряд - Соревнование + 20 15 мин.
Повторил пройденное
найти время
Реализовать бота через создания класса в папке Bots, дать ему имя, чтобы он отличался от других и проверить его работу, сразившись с ним в игре.
2017-01-07 03:52 МикроШахматы Пешкины законы + 20 15 мин.
Повторил пройденное
найти время
- Никогда не сдавайтесь, ведь любая пешка может дойти до конца доски и стать королевой.
- Или лошадью - все от макияжа зависит.
2017-01-06 01:58 МикроШахматы ПОЛУФИНАЛЬНЫЙ УРОК + 20 15 мин.
Закрепил js
найти время
За вторую часть курса реализовали правила движения почти всех фигур, теперь игра стала более играбельна, осталось добавить логику самой сложной фигуры: пешки, так же надо будет доработать короля, чтобы он мог делать рокировку как минимум и его не могли слопать, была счётчик ходов, выбор фигуры, когда пешка дошла до конца доски и т.д., в общем есть ещё чем заняться =)
2017-01-05 22:17 МикроШахматы Мелочь пузатая + 20 20 мин.
Повторил пройденное
найти время
Замечательная оптимизация кода не менее замечательной второй части курса.
2017-01-05 22:10 МикроШахматы Дорогу Королеве! + 21 10 мин.
Повторил пройденное
найти время
Гори-гори моя звезда =)
2017-01-05 22:03 МикроШахматы Слоновья тропа + 20 15 мин.
Повторил пройденное
найти время
"Слоновий" поход =)
2017-01-05 21:53 МикроШахматы Не стой на пути! + 20 15 мин.
Повторил пройденное
найти время
Отличный урок, как всегда, вернули ладью на землю обетованную, чтобы следовала она великим заветам =)
2017-01-05 21:05 МикроШахматы Горизонтальная вертикаль + 20 10 мин.
Повторил пройденное
найти время
Ладья на воздушной подушке =)
2017-01-05 21:00 МикроШахматы Королевские шаги + 20 10 мин.
Повторил пройденное
найти время
Объяснили королю, кто он есть на самом деле =)
2017-01-05 13:05 МикроШахматы Лошадью ходи! + 20 10 мин.
Повторил пройденное
найти время
Я бы упростил алгоритмы, но это мы сделаем в будущем =)
2017-01-04 17:24 МикроШахматы Кто есть кто? + 20 20 мин.
Повторил пройденное
найти время
Отличный урок, можно было бы использовать switch, но в данном случае, определения типа фигуры будет использовать не только тут, поэтому такой вариант лучше.
По поводу сложности фигур:
1 - конь
2 - король
3 - ферзь
4,5 - ладья и слон =)
6 - пешка
2017-01-04 12:34 Простой WPF WPF. Аудиотреннинг + 20 20 мин.
Созданию приложения на WPF
найти время
Запустил CoolEdit, записал первое предложение, сохранил в формате mp3, всё супер.
2017-01-04 02:50 МикроШахматы Шахматная бюрократия + 21 20 мин.
Повторил пройденное
найти время
Отличный урок, но я упростил последнюю проверку в функции can_move() см. скриншот.
2017-01-03 22:17 МикроШахматы ЧЕТВЕРТЬФИНАЛЬНЫЙ УРОК + 20 20 мин.
Закрепил пройденное и научился обновлению ситуации на поле
найти время
Отличный курс, вобрал в себя полезные знания по использованию js для динамического обновления ситуации на страничке в браузере.
2017-01-03 22:11 МикроШахматы Завершение хода + 20 20 мин.
Закрепил пройденное
найти время
Отличный урок, замечательное завершение четвертьфинала. Уже можно играть вдвоём на одном ПК по аналогии игры на обычной доске =)
2017-01-03 21:40 МикроШахматы Шахматные выборы + 21 20 мин.
Подсветке клеток куда можно пойти
найти время
Отличный урок, JavaScript оживляет =)
2017-01-03 20:18 МикроШахматы Фигурная перекличка + 20 15 мин.
Перебору поля для определения, какими фигурами можно ходить
найти время
Отличный урок, коротко и ясно, ничего лишнего.
2017-01-03 02:09 МикроШахматы Светофор для фигур + 1 15 мин.
Повторил пройденное
найти время
Красота, видеть куда можно пойти очень экономит время при игре =)
2017-01-03 01:25 МикроШахматы Фигуры на доске + 20 15 мин.
Повторил пройденное
найти время
Да, визуальное отображение фигур намного приятнее глазу, чем буковки, конечному пользователю явно этот вариант представления информации больше понравится =)
2017-01-03 01:14 МикроШахматы Шахматные буквы + 20 15 мин.
Повторил пройденное
найти время
Отличный урок, использование стилей всегда благоприятно сказывается на внешнем виде =)
2017-01-02 19:07 МикроШахматы Координатное поле + 21 15 мин.
Повторил пройденное
найти время
Отличный урок, идём дальше
2017-01-02 18:04 МикроШахматы В начале было поле + 20 15 мин.
Повторил пройденное
найти время
Предвкушаю отличный результат в конце курса =)
2017-01-02 16:14 Хранитель экрана Создаём графику + 20 30 мин.
Повторил пройденное
найти время
Так как эллипс размером 16, то сделал смещение в половину (8), чтобы круг рисовался вокруг кончика курсора.
2017-01-01 05:09 Java Book ФИНАЛЬНЫЙ УРОК   20 мин.
Повторил пройденное
найти время
Отличный курс от начала и до конца задействованы все необходимые инструменты и технологии для реализации консольных баз данных по любому направлению, подобное ПО в супермаркетах вижу часто на мониторах кассовых аппаратов. Использование сериализации/десериализации показывает яркий пример самого простого способа хранения ранее введённой информации без использования сторонних библиотек или технологий, по сути портативная программа получается, можно её вместе с файлом базы переносить куда угодно и она будет открываться и работать как надо. Спасибо Евгению Игромистру Витольдовичку за этот замечательный курс!!!
з.ы.
Когда проходил курс и формировал описание, у финального описание было и я его просто недоглядел, тем самым не сделав сразу, но проверяя отчёты удивился, увидев отчёт по курсу, который я думал уже прошёл на 100% =)
2016-12-30 22:28 Игры со Спрайтами Домино. Правила игры + 20 30 мин.
Повторил пройденное
найти время
Интригующее начало, дойдут руки - займусь этим курсом.
2016-12-29 23:19 Игры со Спрайтами Аполлон. Плавное прилунение + 21 5 час. 00 мин.
Повторил пройденное
Остановиться дорабатывать
Надо было просто повторить за учителем, а я как всегда красоту навожу, основное время на фотошоп и ушло =)
2016-12-29 15:53 Игры со Спрайтами Аполлон. Законы физики + 20 2 час. 00 мин.
Повторил пройденное
найти время
Основное время ушло на создание текстур в стиле спектрума =)
Отличный урок, идём дальше.
2016-12-28 18:31 Игры со Спрайтами Аполлон. Главные герои + 20 10 мин.
Ничему
найти время
Дочка изъявила желание нарисовать это дело, приложил скан её набросков за пару минут.
2016-12-28 08:52 Игры со Спрайтами Спрайт. Класс для графики + 20 15 мин.
Созданию своего класса отрисовки графики
найти время
Отличный урок, очень полезно создание своих классов для тех или иных задач.
2016-12-28 08:29 Игры со Спрайтами Спрайт. Структура для линии + 20 20 мин.
Повторил пройденное
найти время
Отличный урок, явно намного удобное представление объектов и последующей их отрисовки на экране.
2016-12-28 07:45 Игры со Спрайтами Спрайт. Первая форма + 20 30 мин.
Повторил пройденное
найти время
Отличное начало, идём дальше.
Дольше иконку фотошопил =)
2016-12-27 21:27 Java Book Сериализация - Восстановление базы + 20 30 мин.
Десериализации файла
найти время
Реализовал метод doShowPoints() в классе Menu.
Модернизировал метод showInfo() класса Stedent для более информативного вывода карточки студента.
Так же при попытке записи студента на несуществующую лекцию выводятся соответствующие сообщения.
2016-12-27 18:24 Java Book Сериализация - Сохранение базы + 20 30 мин.
Сериализации объектов
найти время
Так же добавил возможность вводить имя файла базы данных как аргумент для приложения, чтобы можно было манипулировать разными базами данных =)
Отличный урок, очень полезный метод хранения данных, пока база не будет весить гигабайты =)
2016-12-27 14:23 Java Book Сериализация - Статическое напряжение + 20 45 мин.
Убирать у класса static
найти время
Сериализация это процесс перевода какого-либо объекта в последовательность бит.
Десериализация это процесс восстановления объекта из последовательность бит.
2016-12-27 13:02 Java Book Меню - Работа с оценками + 20 40 мин.
Повторил пройденное
найти время
Реализовал все пункты и даже больше, см. скриншот консоли.
Так же добавил скриншот UML схемы, так как очень многое там пришлось подправить и добавить, например: в классе Book мы избавились уже давно от Конструктора, создав вместо него метод clear(), но так до сих пор это не отразили на схеме.
Так же на схему добавил свои доп. методы, которые реализовал для решения доп. задач (удаление студента/лекции и т.д.)
2016-12-26 22:47 Java Book Меню - Запись студента на курс + 20 30 мин.
Повторил пройденное
найти время
Переделал отображение карточки студента, чтобы отображалось в рамке.
Добавил возможность удаления студента/лекции.
2016-12-26 21:17 Java Book Меню - Работа с лекциями + 20 45 мин.
Повторил пройденное
найти время
Ещё с прошлых уроков реализовывал логи выполнения тех или иных методов с использованием имён студентов, названий лекций и т.д. чтобы было более информативно.
Так же модернизировал методы добавления записей, чтобы сообщать и при ошибке добавления.
2016-12-26 18:52 Java Book Меню - Работа со студентами + 20 30 мин.
Повторил пройденное
найти время
Поставил на паузу видео и сразу реализовал список студентов с их айди в БД, так как этот айди потом можно будет использовать для работы с конкретным студентом (запись на лекции и выставление оценок).
2016-12-26 17:29 Java Book Меню - Интерактив + 20 30 мин.
Закрепил работу с UML, повторил пройденное
найти время
Добавил наработки по генерации рамки для отображения меню.
2016-12-25 22:26 Java Book Меню - Планирование + 20 30 мин.
Закрепил проектирование при помощи UML
найти время
Забыли добавить тип Scanner для приватной переменной scanner =) в остальном увидим при реализации. Так же отсортировал методы по типу. Плюс отрефакторил всю схему для компактности.
2016-12-24 20:39 Игры на JavaScript Сколько мне дней + 20 10 мин.
Повторил пройденное
найти время
Отлисчный урок по js.
2016-12-24 14:08 Сокобан Сокобан - Завершение + 20 2 час. 30 мин.
Ничему
найти время
Файлы уровней в ресурсы не добавлял, так как в пункте меню присутствует редактор карт.
Позже планирую переписать систему хранения уровней, после чего можно будет реализовать передачу уровней от сервера к клиенту, чтобы можно было играть в уникальные карты и пополнять свой набор карт играя по сети с другими.
Режим одиночной игры и не убирал, с каждым уроком только добавлял новые режимы, чтобы работали предыдущие.
Поиск маршрута так же работает как в одиночке, так и по сети, всё это реализовал на прошлых уроках.
Играть вдвоём на одном ПК тоже на прошлых уроках как добавил, так и не убирал, так же в нём работает поиск пути для обоих игроков, реализовал возможность управления мышью любого из них.
Курс, где создаём своё портфолио ещё не проходил, поэтому данный пункт сделать не могу, но обязательно выполню, когда пройду данный курс и у меня будет своё портфолио =)
Значительно улучшил сетевой режим, так же добавил возможность переподлючения при потери связи, теперь клиент получает текущий уровень на сервере после того как подключился.
Добавил индикатор ходов, если игра на двоих, то он суммирует ходы обоих, чтобы было видно, сколько же ходов сделали, чтобы пройти уровень.
2016-12-24 08:25 Java Book ПОЛУФИНАЛЬНЫЙ УРОК + 20 20 мин.
Проектированию при помощи UML.
найти время
В первой части курса научился проектированию создаваемого ПО при помощи универсального языка UML.
Так же закрепил ООП в связке с языком Java.
Огромное спасибо Евгению Витольдовичу ака "Игромистр" за интересные идеи для новых курсов по изучению тех или иных технологий разработки конечных продуктов.
2016-12-24 08:06 Java Book База - Список оценок + 20 20 мин.
Повторил пройденное
найти время
Да, ООП иногда не оптимальные решения предлагает, но на то это и ООП! Весь этом и заключается весь цимус!!!
2016-12-24 07:22 Java Book База - Список лекций + 20 15 мин.
Повторил пройденное
найти время
Суть 4 вопроса ясна, даже при том, что перепутали что где используется, в Book использовали ArrayList, потому что изучение одной и той же лекции может быть не несколько параллельно или последовательно не важно. а вот для Студента храним уникальные Лекции, чтобы не ошибиться в том, за какую именно лекцию он получил оценки, так как если он запишется повторно на лекцию по тому же предмету, то и оценки будут уже за новую лекцию, чтобы не перепутать (это если добавить в лекциям дату, например, чтобы они отличались уникальностью, но были одинаковые по названию).
2016-12-23 18:35 Сокобан Сокобан - Игра - На двоих по сети + 20 3 час. 00 мин.
Обмену пакетами по сети (Сервер-Клиент)
найти время
В класс Phone добавил метод Stop() для завершения сетевой активности и разрыва связи, если выйти в игровое меню для выбора повторной сессии или поиграть одному/вдвоём на одном ПК.
В меню настроек добавил чекбоксы для настройки режима игры (радиобаттон не использовал, так как хватило 3 чекбоксов и 2 окна для ввода порта и адреса сервера).
В тайтле информация о том, в каком режиме запущенна игра: Одиночный, На двоих, По сети (Сервер), По сети (Клиент).
Модернизировал отрисовку игрового поля, чтобы оно рисовалось быстрее и по центру формы.
Так же добавил отступы со всех сторон игрового поля, эдакий бордюр аля ZX-Spectrum (идею по его использованию отложил для финального видео-отчёта).
При смене уровня, ресайзе формы и т.д. динамический изменяется и само игровое поле не нарушая пропорции и центровку.
Запуск режимов игры реализовал по своей, логическое продолжение наработок с прошлых уроков (не создавал доп. конструкторы).
При передаче пакетов о смене уровня, сервер ожидает ответа от клиента о успешном завершении данного деяния, чтобы отправить пакет о сбросе уровня, малоли, вдруг клиент успел уже побегать, чтобы устранить рассинхрон.
В связи со своими наработками так же и управление по сети реализовано по своему, дабы минимизировать изменение кода для поддержки всех игровых режимов.
Добавлена проверка при отправку/получение на предмет ПРАВ: менять уровни и делать сброс может только сервер.
Незначительно изменив код, активировал поддержку управления персонажами при помощи мыши с возможностью автоходов по сети (каждый игрок автоматически управлять только своим персонажем при помощи мыши).
Для получения/обработки пакетов особой сложности (типо смена уровня и т.д.) реализовал с использованием буфера из которого полученные пакеты достаются в порядке добавления.
2016-12-23 16:46 Java Book База - Статический класс + 20 25 мин.
Закрепил проектирование UML схем
найти время
Отличное продолжение курса. С каждым уроком привыкаешь к UML, как будто всю жизнь им пользовался и без него уже никуда, очень удобно для создания набросков на основе конкретных задач. Причём стиль написания методов может быть любым, в основном используется синтаксис языка, на котором будет реализовано то, что проектируется в формате UML.
2016-12-23 04:14 Java Book База - Список студентов + 20 20 мин.
Закрепил пройденное
найти время
Так как использовали ArrayList, то метод getStudent(int index) реализовал по другому, без try/catch
2016-12-22 12:07 Java Book Вступление - Примеры UML схем + 20 20 мин.
Созданию и генерации UML схем.
найти время
По поводу программ для генерации UML из кода Java, есть куча плагинов для различных IDE. Жаль тут нет добавления картинок, я бы добавил пару версий.
з.ы.
На первом скриншоте пример генерации из исходников ООФрукты в схему UML при помощи плагина: simpleUML для IntelliJ IDEA.
На втором скриншоте пример генерации из исходников ООФрукты в схему UML при помощи приложения с исходным кодом: Code 2 UML.
2016-12-22 11:44 JD. Коллекции LIST - Одинаковые кошки + 20 20 мин.
Настройке своих правил уникальности добавляемых объектов в HashSet
найти время
Отличный урок, очень полезное знание для тюнинга HashSet множеств на базе кастомных объектов.
2016-12-22 09:31 Сокобан Сокобан - Телефон - TCP/IP протокол + 20 1 час. 00 мин.
Созданию Client-Server приложения
найти время
Запустил сервер и клиент на разных ПК (см. скриншот).
Как видно из скриншота, добавил установку адрес/порта для настройки подключения.
2016-12-21 11:17 Java Book Отладка - Пошаговый проход + 20 15 мин.
Повторил пройденное
найти время
И без дебага понял как это работает, на прошлом уроке сразу понял, что у вас ни одной оценки не добавилось, потому что не записали студентов на лекции.
Фильтрацию оценок по предметам тоже реализовал сам, потом на видео отпустил паузу =)
з.ы.
на втором скрине провёл исследование по поводу конкатенации строк при .append(), это ещё мелкие значения склеивались, но уже разница 1,5 раза, серьёзная.
2016-12-21 10:55 Java Book Создание - Класс Point + 20 20 час. 20 мин.
Повторил пройденное
найти время
Отличный урок, но по поводу конкатенации строк внутри аппенда стрингбилдера это не есть гуд, лучше разделять каждый кусок на отдельный аппенды, см. скриншот.
2016-12-21 10:20 Java Book Создание - Класс Student + 20 20 мин.
Повторение пройденного
найти время
Записал студента на лекцию и вывел на какие лекции студент записан.
2016-12-21 09:54 Java Book Создание - Класс Lesson + 20 10 мин.
Повторил пройденное
найти время
На скриншоте видно, что у меня два монитора, на одном кодю, на другом схему видно. Поэтому распечатывать не обязательно =)
2016-12-21 09:37 Java Book Проектирование - Выяснение отношений + 20 20 мин.
Работе со стрелочками и именованию их.
найти время
Отличный урок, идём дальше.
з.ы.
Распечатал, конечно не А3, а А4, но всё же =)
2016-12-21 09:05 Java Book Проектирование - Классные диаграмы + 20 20 мин.
Стилю формирования структуры классов.
найти время
Отличный урок, но некоторые вещи всё же были не в едином стиле, подправил у себя, в любом случае, в этом стиле не хватает подсветки синтаксиса =)
2016-12-21 08:36 Java Book Проектирование - Три класса + 20 15 мин.
Рисованию UML при помощи ресурса draw.io
найти время
Тоже никогда ранее не приходилось проектировать ПО при помощи UML схем.
2016-12-21 07:09 JD. Коллекции LIST - Множество + 21 30 мин.
Повторил пройденное
найти время
Отличный урок, HashSet ещё в C# во время прохождения курса "Сапёр на С#" понравился, очень удобный и быстрый для своих задач. Особенно если нужно, чтобы были уникальный объекты, то не нужно тратить время на проверку, есть ли уже этот объект перед добавлением.
2016-12-21 06:22 JD. Коллекции LIST - ArrayList против LinkedList + 20 45 мин.
Что бывают разные списки, каждый для своих задач удобнее.
найти время
Отличный урок, очень полезные практические знания, всегда полезно знать, что лучше в тех или иных задачах.
2016-12-21 05:13 JD. Коллекции LIST - Типа коллекция + 20 20 мин.
Повторил пройденное
найти время
Отличный урок, показывающий практическое применение списков. Пока добавление, надеюсь удаление и т.д. будет затронуто, ведь это целая тема получается.
2016-12-21 04:48 JD. Коллекции LIST - Просто коллекция + 20 20 мин.
Повторил пройденное
найти время
Отличный урок, динамические массивы очень хорошая штука для оптимизации использования памяти.
2016-12-21 04:15 JC. Явные графоциклы FOR2D - Тройной цикл + 20 15 мин.
Повторил пройденное
найти время
Свето-дискотека продолжается =)
2016-12-21 03:59 JC. Явные графоциклы FOR2D - Квадратная радуга + 20 10 мин.
Повторил пройденное
найти время
Интересное цветовое шоу =)
2016-12-21 03:05 Java Book Вступление - Язык UML + 20 не указано


UML - это стандартный язык для разработки "чертежей" программного обеспечения.
2016-12-20 08:57 Сокобан Сокобан - Игра - На двоих + 20 1 час. 30 мин.
Повторил пройденное
найти время
Игра запускается в режиме на двоих (в будущем в меню появится пункт выбора режима игры).
В зависимости от того, в каком режиме игра запустилась, тот файл с уровнями она и подгружает.
Управление реализовано как на клавиатуре, так и при помощи мыши (вначале выбираю кем ходить, потом говорю что ему делать как и ранее, двойной по ящику или обычный куда идти).
Второй игрок так же поворачивается в сторону движения.
Как видно на скриншоте, реализован реально два слоя объектов (человечек ходит поверх травки и ящики тоже могут на травке лежать).
2016-12-20 05:58 Сокобан Сокобан - Редактор - На двоих + 20 1 час. 00 мин.
Повторил пройденное
найти время
Самостоятельно добавил второго игрока.
Внёс необходимые изменения везде где упоминается работа с первым игроком.
Добавил иконку второго игрока рядом с первым.
Добавил счётчик/выбор количества игроков роликом мыши или вручную введя число (огрничил лимитами от 1 до 2).
При смене количества игроков, автоматически подгружается нужный файл уровней (не поднялась рука удалить уровни для одиночной игры).
При сохранении уровня проверяется в каком режиме редактор (на двоих или нет) и на основе этого делаются проверки на второго игрока или нет.
Так же уровни для одного и для двоих теперь хранятся в отдельных файлах (загрузка/сохранение происходит относительно того, в каком режиме редактор).
2016-12-20 02:32 Сокобан Сокобан - Игра - Автоходы + 20 1 час. 30 мин.
Автоматизации ходов
найти время
Отличный урок, реализовал недокументированные изменения в данном уроке, так же внёс свои оптимизации в движение носильщика на базе массива.
Так же помимо исследования направления движения с ящиком, убрал проверку стоящего носильщика на пути, такое может быть если хотим передвинуть ящик куда-то, а на пути в данный момент стоит наш персонаж, но в момент движения его ведь там не будет.
Сетка теперь только в редакторе, в самой игре убрана, чтобы было посложнее и красивее =)
Поменял цвет точки куда надо ставить ящики, чтобы она просвечивалась сквозь щели ящика, а не сливалась из-за одинакового цвета с ящиком, который стоит на ней.
2016-12-19 21:50 JC. Явные графоциклы FOR2D - Вложенный цикл + 20 15 мин.
Повторил пройденное
найти время
Благодаря пройденному ранее курсу "Слова в Сетке" проблем не вызвало выполнение данного задания.
2016-12-19 21:21 JC. Явные графоциклы FOR2D - Тройные фары + 20 15 мин.
Повторил пройденное
найти время
Каждый квадрат слева и справа имеет отступы.
Круги не наезжают на грани квадрата.
Квадраты рисуются чёрным, круги фиолетовым, чтобы можно было отличить их друг от друга.
Отличный урок, идём дальше.
2016-12-19 04:57 JC. Явные графоциклы FOR2D - Синусоида + 20 20 мин.
Рисовать графики функций
найти время
Получился небольшой объём =)
2016-12-19 04:18 JC. Явные графоциклы FOR2D - Разноцветные лучи + 20 15 мин.
Повторил пройденное
найти время
Отличный урок, ранее уже подобное рисовали в квадратике по координатам, теперь с применением циклов =)
2016-12-19 03:55 JC. Явные графоциклы FOR2D - Вертикали и Горизонтали + 20 20 мин.
Повторил пройденное
найти время
Отличный урок рефакторинга. Отрисовка по диагонали двумя циклами, первый рисует пока не упрётся по высоте, второй отрисовывает оставшийся угол.
2016-12-19 03:09 Сокобан Сокобан - Решалка - Оптимизация + 20 2 час. 00 мин.
Повторил пройденное
найти время
Изначально я переписал уровень 32х32 с видео, повторил его символ в символ, чтобы проверить скорость на нём, но это было так долго, что я просто не дождался и взял один из своих уровней, модифицировал его и оставил только 1 ящик и 1 место куда его поставить надо, результаты на скриншоте и они внушительны (4 метода, Dictionary по скорости почти как HashSet).
2016-12-18 13:52 Сокобан Сокобан - Решалка - Яблоко + 20 1 час. 00 мин.
Поиску пути для мышки с яблоком до норки.
найти время
На скриншоте видно, что яблок 5, мышка 1, найден путь для ближайшего ящика
2016-12-18 09:14 Сокобан Сокобан - Решалка - Мышка + 20 1 час. 00 мин.
Повторил пройденное
найти время
Уже делали такое в курсе "Комбинаторика" на этом проекте, на уроке "Динамика. Выход из Лабиринта"
2016-12-18 06:36 JC. Явные графоциклы FOR2D - Цикловата + 20 10 мин.
Повторил пройденное
найти время
Да, циклы для этого и придуманы, чтобы экономить не только место, но и время =)
2016-12-18 06:23 JC. Явные графоциклы FOR2D - Рисование по координатам + 20 20 мин.
Повторил пройденное
найти время
Было и такое дело, рисовали в тетрадях в клетку, записывая координаты, после чего рисовали так же в бейсике.
2016-12-18 05:50 JC. Явные графоциклы FOR2D - Солнечный круг + 20 10 мин.
Закрепил drawOval()
найти время
Последний раз так активно рисовал линиями и кружками на БК-0010 и ZX-Spectrum =)
2016-12-18 03:46 JC. Явные графоциклы FOR2D - Линия и Круг + 1 1 час. 00 мин.
Рисовать различные линии/кривые в java
найти время
Прикрепил два скриншота, то, что надо было и с использованием доп. 5 фигур =)
2016-12-17 04:22 JA. Классные пакеты CLASS - VIP - Крутятся пластинки + 20 2 час. 00 мин.
Повторил пройденное
Не делать полноценный консольный проигрыватель =)
Реализована загрузка мелодий по введённому имени файла (см. видео).
Файлы ищет в папке sound.
Если файл был найден, сообщает при успешной загрузке в консоль.
Добавлены команды play/stop для базового управления плеером.
При вводе команды play, если мелодия не играет, она запускается.
При вводе команды stop аналогичная ситуация, но наоборот, если мелодия играет, то она останавливается.
Если ввели имя файла и играла мелодия, она вначале останавливается, потом загружается новая мелодия.
з.ы.
ещё мелкие нюансы, о которых забыл написать, приятного просмотра =)
2016-12-17 00:04 J9. Массивы ARRAY - Макси в Мини + 20 20 мин.
Повторил пройденное
найти время
Наконец дождался, когда урок стал доступным =)
2016-12-16 23:32 JA. Классные пакеты CLASS2 - Песец Членистоногий + 20 2 час. 00 мин.
Повторил пройденное
остановиться добавлять новые ветви.
Начал с простейших, поэтому их добавил не мало, разделил уровни групп отступами.
Надо будет найти время и составить весь список от и до, так как там есть переплетения, когда я наткнулся на тот факт, что некоторые простейшие в итоге выходят на моллюски и т.д. понял, что эта тема многограннее чем кажется =)
2016-12-16 23:21 JA. Классные пакеты CLASS2 - Европейская Прибалтика + 20 20 мин.
Закрепил переплетения абстрактных наследований
найти время
"Балтийский Гамбит" =)
2016-12-16 20:27 JA. Классные пакеты CLASS2 - Напиток Наследника + 1 15 мин.
Закрепил наследование и овверайда toString()
найти время
Отличный урок, хорошая аналогия для наследований и понятия абстракций.
2016-12-16 18:29 JA. Классные пакеты CLASS2 - Человекостудент   5 мин.
Повторил пройденное
найти время
На первом выполнено основное задание - убрать лишнее наследование.
На втором скрине реализовал работу классов внутри класса Program, убрав статик =)
2016-12-16 11:05 JA. Классные пакеты CLASS - Зачётная задача № 2 + 20 1 час. 00 мин.
Закрепил пройденное
найти время
Не стал реализовывать загрузку и выгрузку в файл, стараюсь быстрее делать уроки и так я тут марафет навёл (номинатор и доминатор центрируются по правому краю друг друга)
Отличные задания, но видео на самом деле не полное, больше вопросов было, чем ответов, сложно не уйти в сторону процедурного программирования, обычно так делают, когда не понимают куда ООПить.
2016-12-16 09:20 JA. Классные пакеты CLASS - Зачётная задача № 1 + 20 1 час. 00 мин.
Решению дробей через ООП.
найти время
Решил упрощение реализовать как отдельный вызов, т.е. при вычислении выводится обычная дробь, а чтобы упростить её, запрашиваем соответствующий метод, если дробь можно упростить, он выводит ответ, если нельзя, ничего не выводит, чтобы не дублировать ранее выданный ответ.
Можно было объединить это всё, чтобы выдавало сразу упрощённый вариант, если это возможно иначе обычный, но для наглядности решил оставить так.
2016-12-16 07:47 JA. Классные пакеты CLASS - Подготовка к зачёту - Вспомним дроби + 20 20 мин.
Вспомнил дроби
найти время
Хороший мозговой штурм, если учесть, что последний раз подобные примеры решал в школе много лет назад.
Нам понадобятся как минимум методы для работы с дробями: сложить, вычесть, перемножить или поделить.
Так же нам понадобятся переменные для хранения начальных данных (числитель, знаменатель и целое, если оно дано).
2016-12-16 07:09 JA. Классные пакеты CLASS - Модификаторы доступа + 20 10 мин.
Повторил пройденное
найти время
Отличный урок, коротко и ясно, на скриншоте исчерпывающая информация по поводу модификаторов и их доступности.
2016-12-16 06:30 JA. Классные пакеты CLASS - Общий голос + 20 5 мин.
Ничему
ничего
Голос ещё на прошлом уроке добавил, вроде как в видео об этом говорилось, а на этом уроке уже голос без имени, не стал ничего удалять, просто повторю скриншот из прошлого урока.
2016-12-16 06:01 JA. Классные пакеты CLASS - Три заветных слова + 20 20 мин.
Повторил пройденное
найти время
Наследование (extends) это создание класса на основе другого с добавлением своих особенностей, на пример: кошки тоже бывают разные, чёрные или белые, поэтому сам класс кошки можно тоже унаследовать при описании классов каждого из разновидностей кошек (сиамские, персидские, русская голубая...), но у каждой из них есть общее, 4 лапы, 2 уха и т.д.
2016-12-16 05:03 JA. Классные пакеты CLASS - Звериное наследство + 20 10 мин.
Повторил пройденное
найти время
Вначале думал, будем продолжать прошлые уроки, но вижу, начали с нуля по другому.
Поглядим, что из этого выйдет =)
2016-12-16 04:45 JA. Классные пакеты CLASS - Зоопарк + 20 15 мин.
Закрепил создание/использование пакетов
найти время
Отличный урок, хорошо демонстрирует особенности использования пакетов на разном уровне доступности от основного.
2016-12-15 23:43 JA. Классные пакеты CLASS - Красная книга + 20 10 мин.
Повторил пройденное
найти время
Создал батники для создания jar файла и его запуска (см. скриншот).
Отличный урок, идём дальше.
2016-12-15 23:04 JA. Классные пакеты CLASS - Пакеты для зверей + 20 15 мин.
Создавать и использовать пакеты
найти время
Отличный урок, очень удобная штука для сортировки файлов.
2016-12-15 22:45 JA. Классные пакеты CLASS - Кошкин дом + 20 10 мин.
Повторил пройденное
найти время
Всё ок, идём дальше.
2016-12-15 22:30 JA. Классные пакеты CLASS - Каждой тваре по файлу + 20 15 мин.
Повторил пройденное
найти время
Сделал это на прошлом уроке, а потом понял, что поторопился и вернул всё в один файл, на это разделили по файлам =)
2016-12-15 21:36 JA. Классные пакеты CLASS - Кошка и Собака + 20 10 мин.
Повторил пройденное
найти время
Отличный урок, идём дальше.
2016-12-15 21:12 J9. Массивы ARRAY - Максима Массива + 20 10 мин.
Повторил пройденное
найти время
Хорошая штука, массивы, многие задачи быстрее всего решать используя именно их =)
2016-12-15 20:51 J9. Массивы ARRAY - Целый массив + 20 10 мин.
Повторил пройденное
найти время
Я думаю эту серию уроков (с 50 по 52) можно смело обозвать ARRAY, чтобы было во общем стиле, а то у всех есть приставки, а эти два прям беспризорники =)
2016-12-15 20:24 J8. Циклопы LOOP - Счастливые билеты + 20 20 мин.
Повторил пройденное
найти время
Так как уже давно прошёл курс по C# "Комбинаторика" на этом проекте, то проблем с этим заданием не возникло, всего лишь портировал наработки с C#, немного адаптировав код.
Так же 3 на 3 слишком быстро, поэтому решил сравнивать 5 на 5, чтобы было подольше и хорошо видна разница в скорости методов =)
2016-12-15 16:11 J8. Циклопы LOOP - Сумма и Произведение + 20 10 мин.
Повторил пройденное
найти время
Отличный урок, полезные знания.
Оформил отчёт как обычно.
2016-12-15 15:17 J8. Циклопы LOOP - Блок-схема цикла FOR + 20 10 мин.
Повторил пройденное
найти время
Отличный урок, всё ясно и понятно, идём дальше.
2016-12-15 14:08 J8. Циклопы LOOP - Пока четыре цикла + 20 20 мин.
Повторил пройденное
найти время
Как обычно оформил в табличке.
Добавил ещё вариант решения задачи с увеличением значения прямо в условии цикла.
з.ы.
У вас в Loop2 на картинке ошибка: number = 0, а надо 1, а то он отображает от 0 до 9.
2016-12-15 06:35 J8. Циклопы LOOP - Мужской / женский цикл + 20 20 мин.
Повторил пройденное
найти время
Решил продолжать красоту наводить и модернизировать свой генератор таблички (добавил пару новых перегрузок для использования значений по умолчанию и тем самым упрощению записи) =)
2016-12-14 20:38 J7. Экзамен EGZ - Зачётная задача - Треугольник + 20 3 час. 00 мин.
Рисовать треугольники на JPanel имея только длины сторон, вызывая из консольного приложения JFrame, передавая туда нужные параметры.
найти время и выполнить задание с тремя звёздочками.
Ну Евгений Витольдович, ну Игромистр с большой буквы =) знает, что я не пройду мимо трёх звёздочек, да даже одной и даже если не знаю сразу как, найду и выполню задание.
Пока искал лучший метод решения доп. задания с тремя звёздочками, нашёл неимоверное множество вариантов рисования линий, но всё же остановится именно на построении треугольника из линий (аналогично рисовал буквы в php) самым сложным было составить этапы, так же пришлось вспоминать школьную программу по вычислению углов между сторонами, зная их длину.
Гениальный урок и гениален он именно заданием с тремя звёздочками.
з.ы.
как видно на скриншоте, я опять создал файл с данными и мусор приложение игнорирует, в консоли выводит только информацию по корректным данным, формирует список правильных треугольников и передаёт этот список для на форму для рисования =)
Использовал перебор цветов для очередного треугольника из списка.
Ну кнопочку ещё добавил, для того, чтобы можно было нарисовать треугольники по её нажатию =) это так, для проверки, ошибка до рисования или во время =)
Все нюансы учёл, все проверки сделал, во время тестирования ошибки не выявлены.
2016-12-14 07:13 J7. Экзамен EGZ - Зачётная задача - Максима + 21 1 час. 00 мин.
Повторил пройденное
Прекратить наводить марафет.
Реализовал вводи данных через параметры командной строки и по вручную (см. скриншот).
2016-12-14 04:45 J7. Экзамен EGZ - Шаблон решения + 20 не указано


Я написал более гибкое решение, так сказать учёл нюансы, которые тут приводят к эксепшену.
2016-12-14 04:33 J7. Экзамен EGZ - Подготовка к зачёту + 20 30 мин.
Повторил пройденное
найти время
Решил реализовать проверку каждого введённого значение отдельно и дать второй шанс ввести недостающее значение (первое, второе или оба) и только потом, выводить предупреждение или вычислять, если всё же получены нужные данные.
2016-12-14 02:17 Сокобан Сокобан - Решалка - Тестер + 20 1 час. 00 мин.
Движению объекта по заданному пути, влияя на движимые объекты.
найти время
Отличный урок, но это видимо только обкатка работа на основе заранее известного маршрута, далее будем писать алгоритм поиска всех возможных маршрутов для решения задачи.
2016-12-13 23:15 ООФрукты Подготовка - База фруктов + 20 1 час. 00 мин.
фишкам в enum
найти время
Реализовал на основе дней недели (решил модернизировать прошлый урок на основе фишек этого и добавил свои).
Добавил поддержку ввода дней недели в любом регистре как на английском, так и на русском языке.
Добавил метод спряжений написания слов (а то глаза режет).
Добавлена поддержка если введённый день недели не является таковым.
Добавил подробную статистику:
1 - сколько прошло дней после последнего введённого дня недели до текущего введённого.
2 - сколько всего прошло дней, по окончании ввода дней недели.
3 - сколько уникальных дней недели было использовано при вводе.
4 - сколько раз один и тот же день недели использовался при вводе.
Создал батники для генерации и запуска jar файла.
Создал текстовый файл с днями недели, чтобы не вводить постоянно в консоли =)
з.ы.
Отличнейший урок, очень полезные знания по поводу enum в java, ОГРОМНОЕ спасибо за наводку =)
2016-12-13 06:52 Слова в Сетке VIP Implementation + 20 20 мин.
Повторил пройденное
найти время
Отличный урок, добавил отрисовку слова другим цветом, подправил тень. Спасибо за урок, алгоритм так и представлял.
2016-12-12 20:22 ООФрукты Подготовка - Фрукты по списку + 21 20 мин.
Повторил пройденное
найти время
Заметил, что появились ещё пару уроков в этом курсе, поэтому решил выполнить, так как они в самом начале, а значит должны быть простенькие.
Добавил день недели UNKNOWN, для значения по умолчанию, если вдруг будет введено слово не относящееся к дню недели и переменной не будет присвоено новое значение. Удобнее.
Выполнил доп. задание со звёздочкой, как видно на скриншотах.
2016-12-12 05:41 J6. Условия IF - Времена года + 20 5 мин.
Ничему
ничего
Я был немного ошарашен, когда увидел задание, всё что нужно сделать, уже было сделано на прошлом уроке и времена года сделал на прошлом, как дополнение, а теперь на этом нечего делать, кроме как продублировать скриншоты с прошлого урока. Не надо было на прошлом уроке в конце видео говорить о временах года и днях недели. Конфуз получился =)
2016-12-11 23:33 J6. Условия IF - Оператор выбора + 20 30 мин.
Повторил пройденное
найти время
Отличный урок, сделал поддержку определения дня недели через много дней, так же определения времени года спустя много месяцев. (см. скриншоты)
2016-12-10 00:24 Слова в Сетке ФИНАЛЬНЫЙ УРОК + 20 не указано


Курс очень понравился, интересная матрёшка получилась, чем то даже рекурсивный метод напоминает с лимитом погружения. А если ещё ответвления сделать, то уже целая грибница получится.
Работа со шрифтами, сохранением итогового файла, случайная генерация объектов, осталось добавить событие клика мышки, подгрузить текстовый файл со словами и можно играть в филворд =)
Ещё раз огромное спасибо за эти уроки, они показывают возможности и варианты направления движения в изучении языков.
2016-12-10 00:12 Слова в Сетке Сохранение картинки + 20 15 мин.
Сохранению картинки в файл.
найти время
Вынес размеры клеток и поля за пределы панели, теперь они передаются в панель при создании её экземпляра.
Уроки отличные, пригодятся. Вначале закончу начатые курсы.
2016-12-09 23:44 Слова в Сетке Матрица Боксиков + 20 20 мин.
Повторение пройденного
найти время
Смещение клеток сделал по своему, вроде красиво выглядит =)
2016-12-09 22:58 Слова в Сетке Центр Бокса + 20 40 мин.
Центровке шрифта относительно его ТТХ =)
найти время
Нарисовал буковки с тенью =)
Нашёл в сети такую схему (см. скриншот) где показано как называются линии вертикалей буков по стандарту, если шрифт не придерживается этих правил, то эти данные бесполезны.
Нашёл одноимённые названия, а именно нужен .getFontMetrics().getAscent()
2016-12-09 21:24 Слова в Сетке Своя Картинка + 20 15 мин.
Созданию кастомного класса картинки и дальнейшей работе с ним.
найти время
По поводу того, что Frame не обрамил Panel и справа/снизу виднелся белый фон Frame, это потому что pack() не туда засунули, я об этом говорил на прошлом уроке, в этом уточнить хочу, потому же так вышло, потом что pack() должен быть ДО метода:
setLocationRelativeTo() - чтобы окно Frame центрировалось корректно.
ПОСЛЕ метода:
setResizable(false) - чтобы как раз ровно упаковывало объекты на поле Frame.
з.ы.
На скриншоте показал где должен находиться метод pack().
2016-12-09 20:38 Слова в Сетке Буква на Панели + 20 15 мин.
Рисованию текста на панели не стандартным шрифтом и цветом с авто-смещением по центру формы.
найти время
Метод pack() относится к классу Frame, а не Panel, я бы посоветовал его добавить именно туда, куда надо (см. скриншот).
з.ы.
Чтобы было понятно, что он делает, приведу аналогию с бильярдными шарами, их в начале игры собирают вместе в виде треугольника (классический) и чтобы они стояли ровненько, используют треугольник, так вот этот треугольник и есть pack(), который использовали 1 раз в конце, когда разместили рядом все шары. Не надо треугольников ровнять каждый добавленный шар =)
2016-12-09 19:47 Слова в Сетке Кот Фрейма + 20 10 мин.
Повторил пройденное
найти время
Добавил класс Panel.
Разместил экземпляр класса Panel на поле Frame.
Перенёс определение размера 600х400 в класс Panel.
Добавил Panel во Frame.
Подогнал размер Frame под размеры Panel.
2016-12-09 19:12 Слова в Сетке Объектная Матрёшка + 20 10 мин.
Повторил пройденное
найти время
Сразу же увидел слово UFO (у левого края, чуть выше центра) и больше ничего искать не стал, очень много ностальгии связано с этим слово.
2016-12-09 18:43 ООФрукты Создатель + 20 15 мин.
Повторил пройденное
найти время
Раз добавили видео после того как я прошёл курс, решил в этом видео сравнить вариант предложенный в видео и вариант которые использовал сам (см. скриншот).
Как видим из скриншота, вариант из видео медленнее примерно на 10% и чтобы он корректно работал, необходимо добавить перегрузку в класс обработки данных переданных через командную строчку.
Мой же вариант никаких дополнительных изменений в коде не требует.
з.ы.
Как видим из скриншота, я использовал максимально возможно длинную строчку командной строки (8кб) этого было мало для теста, поэтому решил ещё каждый из вариантов запустить по 10000 раз итого: 10000 * 1113 (подарков как видно из скриншота) = 11 миллионов 130 тысяч подарков.
2016-12-09 12:58 Сокобан Сокобан - Игра - Управление + 20 2 час. 00 мин.
Логике сдвигания объектов персонажем
найти время
Старался делать вначале сам, потом снимал видео с паузы, по поводу того, как советовал Orange увеличивать доступный для прохождения уровень, я так же сделал, потом смотрел видео.
Добавил вначале поворот человечка в направлении движения, для того, чтобы он как будто бы пытался толкать то, что не может, стены или ещё что.
Добавил отображение сообщения с поздравлениями о всех пройденных уровнях.
Отображение объектов на игровом поле реализовал по своему, как и ранее в других играх, при этом объекты из матрицы top реально находятся поверх объектов из матрицы map, так под ногами человечка видно то, по чему он ходит =)
2016-12-08 10:26 ООФрукты Комплименты Деду Морозу + 21 10 мин.
Созданию полезного консольного кросс-платформенного ПО
найти время
Отличнейший курс, то, что было создано на этом курсе, это просто неописуемо словами, теперь можно реализовать великое множество аналогичных приложений по получению данных и выводу их куда угодно и в чём угодно.
Подобные приложения активно используются везде, от простой консоли до сервисов на серверах для различных нужд.
Огромное спасибо за этот курс, просто отличная практика для изучения языка java, идеальная демонстрация ООП.
з.ы.
Давно уже было желание оптимизировать скорость обработки подарков, но ждал, может это будет реализовано, в итоге нет, вот решил оптимизировать сам, так как изменения минимальные и давно уже висели у меня в голове, наконец я их реализовал и теперь можно спать спокойно, а то такая крутая софтинка и так долго считает количество уникальных или определённых подарков. После оптимизации скорость работы мгновенная (см. скриншот) при этом изменения были минимальны, логика приложения не пострадала, всё работает так как и задумывалось, просто оптимизировано хранение объектов. Теперь можно считать что угодно и как угодно в доль и поперёк =)
з.з.ы.
На скриншоте видно две версии ПО, оптимизированная (27 урок) и до оптимизации (26 урок), убрал бесполезные медленные способы подсчёта, так как теперь единственный верный остался, добавил для демонстрации пару новых задач: подсчёт лимонов и теста, в любом случае, скорость не то чтобы отличается в разы, после оптимизации всегда 0мс и это при обработке 9 миллионов подарков =)
2016-12-08 09:29 ООФрукты Задедомороженный Архив + 20 15 мин.
Повторил пройденное
найти время
Ошибок у меня небыло, ещё на прошлом уроке заметил эту ошибку у вас в этом методе, но решение проблемы глубже, зачем возвращать convertable если она и так глобальная для класса ParamFactory.
Создал несколько батников для демонстрации работы jar (см. скриншот).
2016-12-08 07:19 ООФрукты Документация Деда Мороза + 20 30 мин.
Повторил пройденное
найти время
Везде добавил комментарии, для своих доп. методов тоже.
Создал батник для генерации документации (предварительно очищая папку в которой они создаются).
Проверил, создаётся документация только для публичных классов/енумов/интерфейсов и т.д.
з.ы.
У вас в классе ParamFactory в методе getConvert не нужно возвращать ничего, просто поставить надо void, а последнюю строчку: "return null;" заменить на: "else convertable = new ConvertRaw();"
2016-12-08 05:47 ООФрукты Буфера в стрингах + 20 10 мин.
Повторил пройденное
найти время
Сразу использовал StringBuilder (а не StringBuffer), когда начали использовать подобные склеивания.
Мини методы в ParamFactory были реализованы ещё в прошлом уроке.
По убирал ненужны public по всему коду, где надо поставить private, так как protected не вижу смысла.
2016-12-08 04:48 ООФрукты Фабрика параметров + 20 20 мин.
Повторил пройденное
найти время
Создал мини методы для работы с файлом, строкой данных и выбором формата отображения (см. скриншот).
2016-12-08 03:48 ООФрукты Конвертабельность + 20 10 мин.
Повторил пройденное
найти время
Всё это реализовал сам, но видео просмотрел =)
2016-12-08 02:53 ООФрукты Как шагает Дед Мороз + 20 30 мин.
Повторение пройденного
найти время
Ошибки связанные со сравнением строк не исправлял, так как у меня их небыло, по причине отсутствия урока на котором реализовали метод create().
Реализовал его по своему, так же реализовал поддержку -format (см. скриншоты).
2016-12-08 01:48 ООФрукты Параметрический Созидатель + 20 10 мин.
Повторил пройденное
найти время
Не стал ничего делать, интересно посмотреть что из этого выйдет, но я уже понял смысл, он более универсальный, когда его реализуем, можно будет запускать программу передавая параметры в любом порядке, примеры:
-format json -scan
-scan -format xml
и т.д. отличная идея!
2016-12-08 01:33 ООФрукты Параметр Формата + 20 30 мин.
Повторил пройденное
найти время
Реализовал систему парсинга параметра -format.
Добавил систему поиска точки отсчёта параметров загрузки данных, чтобы если ввели -format -scan корректно был найден -scan (см. скриншот).
Вначале думал, времени нет, всё равно будем это делать на след уроке, но всё же не смог удержаться, решил реализовать, тем-более, что это было не сложно и даже интересно =)
2016-12-08 00:24 ООФрукты Конвертабельные классы + 20 15 мин.
Закрепил работы с интерфейсом
найти время
С тех пор как добавили вывод данных в формате JSON хотелось, чтобы числовые данные были без двойных кавычек, вот решил на этом уроке это реализовать (см. скриншоты) так формат более корректный.
По поводу того, что такое интерфейс на прошлом уроке изложил свои мысли, с тех пор они не изменились, все сотрудники прошли курсы по конвертации но каждый в итоге придумал свой уникальный метод, хотя и делают они технически одно и тоже, просто итог разный =)
2016-12-07 22:58 ООФрукты Коллекция HashMap + 20 10 мин.
Формированию словаря HashMap
найти время
Минимум изменений, свой метод для вывода Деда-Мороза даже корректировать не надо было, но на прошлом уроке я его оптимизировал, теперь метод принимает на вход динамическое количество строк, обрабатывает их и выводит.
Что такое интерфейс после этого урока я понял для себя так: Это очень напоминает навыки, если кто-либо инплементит себе тот или иной навык, он обязан описать его так, как он его реализует для себя, даже если разные классы имплементят один и тот же навык, это не значит, что их реализации данных навыков будут 1х1 совпадать, совпадают они лишь типами ввода/вывода данных, а как они будут обрабатывать их, это уже дело каждого класса, как говорится, взять в руки клавиатуру может каждый, но все будут владеть ею по разному, кто-то кодить, кто-то в игрушки играть, а кто-то бояться трогать =)))))))
2016-12-07 22:20 ООФрукты Профессиональный Интерфейс + 20 10 мин.
Созданию интерфейса
найти время
О HashMap, отлично, ещё на прошлом уроке подумал про него, но чтобы оптимизировать скорость работы со списком подарков, поглядим для чего создаём интерфейс =)
2016-12-07 07:21 ООФрукты Форматы JSON и XML + 20 20 мин.
Повторил пройденное
найти время
На скриншотах видно JSON и XML форматы, так же добавил теги потраченного времени на получение данных по тому или иному тегу.
2016-12-07 06:25 ООФрукты Список задач + 20 20 мин.
Повторение пройденного
найти время
Судя по скриншотам, надо оптимизировать поиск подарка, который чаще всего дарили.
По поводу отображения результатов, ну у меня своя версия =) а так да, надо добавить выбор в каком формате отображать, может кому-то надо компактно, без картинки деда-мороза =)
2016-12-07 04:36 ООФрукты Размер множества + 20 40 мин.
Подсчёту количества элементов массива/списка разными способами
найти время
Я провёл доп. исследования и добавил ещё один способ подсчёта количества уникальных объектов (см. скриншоты).
Как видно из скриншотов, этот метод начинает показывать себя с большими объёмами данных, с более мелкими он не такой шустрый как другие два, но кто мешает использовать их вкупе =)
2016-12-07 03:37 ООФрукты Логические задачи + 20 30 мин.
Collections.frequency
найти время
В методе getCount просто вернул размер списка, зачем там лишние переменные.
В методе getPresentCount использовал Collections.frequency, намного быстрее (см. скриншот)
з.ы.
Провёл полный рефакторинг, заменил везде слово Fruit на Present, а то глаза мозолит =) Благо в IntelliJ IDEA это можно сделать в пару кликов.
2016-12-07 01:53 ООФрукты Массивная строка + 20 20 мин.
Arrays.copyOfRange
найти время
Arrays.copyOfRange - тут мы не отнимали -1 в от длинны массива, потому что это происходит автоматически, как в C# при использовании Random.Next
Перенёс ранее созданную функцию на базе StringBuilder, так же убрал ненужное добавление в самом конце, так как этот момент уже не критичен.
2016-12-07 00:44 ООФрукты Пошаговый проход   10 мин.
Узнал, что в catch не присваивается нужное значение переменной.
найти время
По поводу того, что в catch не присваивается нужное нам значение, это прям подстава, хорошо что есть дебаг.
Добавил значение null перед тем как пытаемся читать из br, теперь нет надобности присваивать это в catch (всё равно ему веры нет).
Добавлена проверка на null, по поводу того, что вначале проверяется первое условие, и если оно ложно он не проверяет следующие знал уже давно, ещё с C#, там так же.
Наконец убрали эти ненужные пустые строки в файле и вообще, давно ждал, как же это будет реализовано, сам ничего не делал, так как уже не мало изменений внёс =)
2016-12-06 18:28 ООФрукты Рефакторинг аргументов + 21 20 мин.
Повторил пройденное
найти время
Всё же проверять вначале на предмет отсутствия параметров следует, не стоит обобщать проблемы, я придерживаюсь всегда к точки зрения: "Конечного пользователя надо тыкать носом, чтобы он понял где его ошибка, а не посылать курить мануалы (выдавать описание) из-за, возможно, банальной проблемы, можно же указать конкретно и ниже выдать мануал."
По поводу распарсивания списка подарков, реализовал ещё на прошлом уроке, на этом уроке переделал под StringBuilder.
По поводу того, что не нужно для парсинга аргументов создавать доп класс, ну как минимум потому, что эти аргументы приходят в основной класс программы, для их обработки достаточно добавить метод/функцию, так как в нашем случае это  не что-то сложное, всё что было сложным (FruitReader*) уже вынесли в отдельные Классы.
2016-12-05 07:20 ООФрукты Какие ваши аргументы? + 20 1 час. 40 мин.
Повторил пройденное
найти время
При запуске с параметром -file ../../../presents.txt отрабатывает корректно, в IntelliJ IDEA вон он аж где, относительно скомпилированных файлов *.class
Добавил метод генерации строчки подарков из массива аргументов, см. скриншот.
Добавил методы генерации красоты в консоли =) использовал псевдографику.
2016-12-05 05:39 ООФрукты Новые игрушки + 20 10 мин.
Повторил пройденное
найти время
По поводу статичных перечислений полностью поддерживаю, только так и надо было изначально делать, только назвать надо будет енум не Fruit, а както более абстрактно: Present или Gift
з.ы.
по поводу динамических перечислений чере БД, не обязательно, можно так же в файле хранить эти самые перечисления, чтобы не перекомпилировать заново программу, просто менять контент файла, а программа будет его при каждом запуске кэшировать и использовать как статику. Можно даже через параметр использовать нужный файл с перечислениями, таким образом использовать группы перечислений в связи с теми или иными случаями (Новый год, Хэлоуин и т.д.)
з.ы.
конфиг файл тоже никто не отменял, если не хочется использовать параметры запуска, хотя они удобные.
2016-12-05 05:14 ООФрукты Фруктовые комментарии + 20 40 мин.
Закрепил использование javadoc
найти время
Отличный и очень полезный урок, документация очень нужна, особенно когда работаешь в команде.
2016-12-05 04:34 ООФрукты Волшебные конструкторы + 20 15 мин.
Выносить наследование в отдельные файлы.
найти время
Отличный урок, по поводу null согласен полностью, по поводу того, что надо при это возвращать список, естественно, потому что даже если он пустой, метод должен вернуть в том типе пустоту, в котором возвращает когда что-либо есть.
2016-12-05 02:56 ООФрукты Фрукты из строки + 20 15 мин.
Повторил пройденное
найти время
Ещё на прошлом уроке хотел спросить, почему использовали protected, а не private в файле FruitReader для метода с циклом перебора. Это потому что теперь мы его наследуем?
На скриншоте я показал свою реализацию, чтобы небыло конфликта в перегрузке, просто для чтения из файла передают тип File, а строка String, при этом перегрузка остаётся целенькой =)
2016-12-04 04:35 ООФрукты Фрукточтец + 20 20 мин.
Повторил пройденное
найти время
Ну как минимум первое что нужно, это добавить проверку на наличие файла.
Ещё по поводу того, что в конце файла надо оставлять 2 пустых строчки для корректной работы, может лучше добавить проверку на EOF в цикле, если идёт парсинг файла, а не с клавиатуры.
Можно добавить выбор откуда брать данные, из файла или вручную вносить, если файла нет, создавать новый и сразу предлагать вносить вручную.
Так же можно при вносе вручную, добавлять всё вносимое в конец файла.
2016-12-03 02:43 Сокобан Сокобан - Игра - Интерфейс + 20 1 час. 30 мин.
Повторил пройденное
найти время
На основном меню добавлено 3 пункта:
1 - Редактор (при клике открывается созданный ранее редактор карт, см. скриншот).
2 - Играть (при клике открывается форма с началом игры, см. скриншот).
3 - Выход (при наведении иконка двери как бы открывается, при клике выход из меню и закрытие приложения).
При наведении мыши на пункты меню, они подсвечиваются инверсированно аля спекки.
Так же можно выбирать пункты меню при помощи стрелок на клавиатуре и клавиши Enter для активации пункта.
При движении стрелками в какую либо из сторон, курсор выбора пунктов меню бегает по кругу.
2016-12-02 02:22 ООФрукты Яблоки на снегу + 20 20 мин.
созданию методов в enum
найти время
Ещё очень много лет назад, столкнувшись с try/catch, спустя какое-то время понял одну истину: "переменными надо объявлять заранее, давая им значение по умолчанию, а уже в теле try/catch пытаться присваивать необходимые значения, если это не вышло, то значение остаётся тем, что было присвоено ДО!!!". Тем самым мы можем один раз возвратить в конце значение переменной, не дублируя строки кода.
2016-12-01 03:50 Сокобан Сокобан - Создаём свои уровни + 20 1 час. 00 мин.
Ничему новому
найти время
Сделал пока 14 уровней, все рисовал сам, честно!!! А вот придумывал не все сам =)
2016-12-01 02:28 Сокобан Сокобан - Редактор - Улучшение + 21 1 час. 00 мин.
Событию MouseWheel
найти время
Разделил установку ширины и высоты уровня по разным TextBox, при установке вручную размеров и нажатии на Enter обновляется размер поля, если же размер поля уже таковой, обновления поля не будет, смысла нет =)
При наведения на окошки ширины и высоты уровня курсора мыши, можно роликом мышки устанавливаться размеры (уменьшая/увеличивая) учитываются лимиты =)
Если количество ящиков и мест для них не равны друг другу, они подсвечиваются красным.
Алгоритм заливки поля выбранным объектом сделал по своему, потом посмотрел реализацию на видео и понял, что моя версия веселее =)
Подсчёт ящиков и мест для них тоже реализовал по своему, использовав ранее созданный CountItems(), после чего посмотрел далее видео и понял, что про этот метод забыли видимо =)
Заменил событие подгонки размера поля уровня только при отпускании мыши после изменения размеров формы.
При обновлении количества ящиков и мест для них так же проверяется уровень на корректность, если имеется ошибка, она отображается в статусбаре.
2016-11-30 20:12 ООФрукты Постановка задачи + 20 15 мин.
Повторил пройденное
найти время
Как минимум можно вынести ридер в отдельный метод, подобное уже делал в уроке: Буферный чтец.
Так же можно вынести в отдельный метод бесконечный цикл.
Массив сделать глобальным, чтобы можно было получать доступ из других методов, которые могут быть созданы в будущем.
з.ы.
ничего стараюсь не менять, чтобы идти в ногу с уроками =)
2016-11-29 01:52 Сокобан Сокобан - Редактор - Сохранение + 22 1 час. 00 мин.
Закрепил пройденное
найти время
Сделал и добавил все необходимые картинки для сохранения уровня, переключения между уровнями и кнопка ресайза уровня.
так же добавил статусбар, где сообщает всё ок или какие либо ошибки, которые были найдены после загрузки уровня или при попытке его сохранить.
Добавил проверку, чтобы добавлялся только один новый файл в конец файла уровней, пока он не будет без ошибок, следующий новый уровень добавить нельзя.
2016-11-28 03:33 Сокобан Сокобан - Редактор - Редактирование + 22 1 час. 00 мин.
Закрепил пройденное
найти время
Отличный урок, стараюсь пока особо не модифицировать код, будет ещё такая возможность =)
2016-11-27 04:16 Сокобан Сокобан - Редактор - Интерфейс + 1 1 час. 00 мин.
ToolStrip впервые использовал
найти время, стараться не внедрять свои фишки, чтобы было чем заняться на след. уроках.
Отличный урок, добавил заготовки для кнопок загрузки/сохранения и переключение уровней влево/вправо, пока без текстур.
2016-11-26 03:48 J6. Условия IF - Барный фейс-контроль + 1 1 час. 30 мин.
Повторил пройденное
найти время, а потом прекратить рисовать =)
Подобный урок уже был ранее, но проще, тут повторили его но уже с более сложным чередованием условий. Решил добавить красивости =)
2016-11-25 20:13 Сокобан Сокобан - Редактор - Загрузка + 20 1 час. 00 мин.
Повторил пройденное
найти время
Как видно на скриншоте, строки в уровнях разной длинны для оптимизации размера файла. Добавил проверку в цикле загрузки уровней для поддержки строк разной длинны.
2016-11-24 02:31 Сокобан Сокобан - Подготовка - Картинки и лабиринт + 21 30 мин.
Ничему новому
найти время
Состряпал пока что абстрактные картинки начального меню и окна поздравления, в будущем будет изменено (добавлены новые элементы).
Подготовил текстуры игровых объектов 32х32 (для персонажа их несколько на каждое направления движения).
Уровень нарисовал самый первый, но в своём стиле символов.
2016-11-23 00:18 Сокобан Сокобан - Вступление + 20 10 мин.
Ничего нового
найти время
Нашёл сайт, на котором можно онлайн играть в игры ZX Spectrum, даже TRD формат 5,25'' дискетки (TR-DOS 128kb)
2016-11-21 04:03 J6. Условия IF - Безальтернативное условие + 20 1 час. 30 мин.
Повторил пройденное
найти время и прекратить наводить марафет =)
Отличный урок, заставил заняться красотой поздравления.
Доработал специально для этого урока возможность генерации цельных окон, не разделяемых пополам линиями.
Добавил проверку на оставшиеся дни до юбилея.
2016-11-20 13:35 JB. Шахматные классы CHESS - Шахматный конструктор   20 мин.
Повторил пройденное
найти время
Последовательность абстракций напоминает мне теорию относительности, очень радует такая конструкция. Спасибо.
2016-11-20 12:57 JB. Шахматные классы CHESS - Чудеса Абстракционизма + 20 10 мин.
Династии абстракционизма =)
найти время
Прикольная матрёшка получается, абстракционизм ещё удобнее, чем я думал изначально. Спасибо.
2016-11-20 12:37 JB. Шахматные классы CHESS - Перебор фигур + 20 10 мин.
Повторил пройденное
найти время
Отличный урок, наследование очень удобная штука, идём дальше.
2016-11-20 02:35 Без конкуренции VIP - Главный алгоритм + 20 30 мин.
Закрепил пройденое
найти время
Обошёлся без try/catch, работает отлично. Спасибо за мини VIP курс по этому MiniExcel с возможностью Drag&Drop событиями, очень полезная вещь, обязательно пригодится в жизни =)
2016-11-20 00:53 Без конкуренции VIP - Парсинг файла в сетку. + 20 30 мин.
Повторил пройденное
найти время
Отличный урок, порефакторил чуток, вынес повторяющиеся задачи в отдельные методы/функции. Так же выделение данных в двойных кавычках сделал по своему, без выборки нечётных данных из массива. Что дало использовать в случае генерации шапки цикл foreach.
2016-11-19 23:48 Без конкуренции VIP - Потяни и отпусти + 20 20 мин.
Событиям Drag&Drop
найти время
Отличный урок, возможность перетаскивать файл на форму очень полезно в современном мире =)
2016-11-19 02:20 JB. Шахматные классы CHESS - Фигурное катание + 20 5 мин.
Что в абстрактном классе может быть абстрактный метод для будущей реализации у наследников.
найти время
Отличный урок, всё понятно, идём дальше.
2016-11-18 01:48 JB. Шахматные классы CHESS - Координаты фигур + 20 5 мин.
Повторил пройденное
найти время
Отличный урок, фигуры из пошаговой игры отлично вписываются в пошаговые уроки =)
2016-11-17 13:13 Game Xonix Матрица Мира + 20 20 мин.
Повторил пройденное
найти время
Добавил функционал проверки есть ли рядом с координатами такой же объект мира как и пытаемся установить, если есть, ищем другое место, если нет, ставим, теперь все 10 ставятся на море, не касаются земли, не касаются друг друга. Отличный урок, идём дальше.
2016-11-17 12:21 Game Xonix Земля и Вода + 20 5 мин.
Повторил пройденное
найти время
Отличный урок, сотворили землю и воду, двигаемся дальше к сотворению мира Xonix =)
2016-11-16 12:17 JB. Шахматные классы CHESS - Классные фигуры + 20 5 мин.
Повторил пройденное
найти время
Если первым уроком создаются шахматные фигуры, то интрига только нарастает =)
2016-11-14 03:42 J6. Условия IF - Альтернатива + 21 1 час. 30 мин.
Повторил пройденное
найти время
Полтора часа это я марафет наводил. Надо же было сделать всё динамически генерируемое =)
2016-11-13 14:01 J6. Условия IF - Тетрамакс + 21 10 мин.
Закрепил пройденное
найти время
Хорошая практика, двигаемся дальше.
2016-11-12 05:17 Боты Сапёра VIP - Жизнь у Сапёра + 21 2 час. 00 мин.
Повторил пройденное
найти время
Потраченное время в основном ушло на создание, подготовку и обработку видео в редакторе, так как что игру Жизнь, что Жизнь на поле Сапёра реализовал ранее.
2016-11-11 01:02 PHP Driver Отлов ошибок + 21 30 мин.
Закрепление пройденного
найти время
На первом скриншоте видно, что закомментирована проверочная строчка, т.е. тест обработки без параметров. Внизу в консоли видно, что будет выдано в окне браузера. На втором скриншоте видно, что я совместил проверки воедино.
2016-11-10 21:08 PHP Driver Создание схемы базы данных + 20 10 мин.
Повторил пройденное
найти время
Полезно вначале создать наброски БД, на скриншоте представил финальную на текущий момент версию БД.
2016-11-10 12:50 PHP Driver Запускаемый класс + 21 20 мин.
Повторение пройденного
найти время
Отличный урок, спасибо! Идём дальше.
2016-11-10 11:56 PHP Driver Первый байт проекта + 20 10 мин.
Повторение пройденного
найти время
Отличный урок, RewriteEngine отличная штука для использования красивых ссылок.
2016-11-10 11:27 PHP Driver Создание базы данных в HeidiSQL + 20 5 мин.
Повторение пройденного
найти время
Структуру таблиц показал на прошлом уроке, на этом судя по скринам видно, что таблицы добавлены, а на втором скрине показан демо контент.
2016-11-10 11:00 PHP Driver Установка MySQL, Smarty и Bootstrap + 20 5 мин.
Повторил пройденное
найти время
Отличный урок, MySQL у меня уже был настроен ранее, остальное было сделано ещё во время записи урока на вебинаре, по поводу HeidiSQL, я скачал Portable версию, но использую уже более 13 лет Navicat, скриншот из него (как то он мне ближе по интерфейсу)
2016-11-10 10:41 PHP Driver Настройка PHP-отладчика xDebug в PHPStorm + 20 20 мин.
Повторил пройденное
найти время
Отличный урок получился, пригодится всем веб-разработчикам, идём дальше.
2016-11-10 09:58 PHP Driver Установка PhpStorm + 20 5 мин.
Повторил пройденное
найти время
Решил всё же выполнить последнее задание, но через консоль PhpStorm =)
2016-11-10 09:42 PHP Driver Установка и настройка Apache + PHP + 20 10 мин.
Повторил пройденное
найти время
Полезный урок, для крупных серверов есть сисадмины, а настраивать свой локальный, для удобства разработки, обязан уметь каждый, уважающий себя, программист.
2016-11-10 02:14 PHP Driver Техническое задание + 20 30 мин.
Повторил пройденное
найти время
Отличный курс, очень интересные технологии затрагивает, начало положено =)
2016-11-09 22:39 Game Xonix Упаковка панели в окно + 20 5 мин.
Повторил пройденное
найти время
Ну вот теперь можно не переживать за совместимость с другими ОС или стилями рабочего стола =)
2016-11-09 22:31 Game Xonix Базовое наследство + 20 5 мин.
Повторение пройденного
найти время
Отлично, три урока вместо одного смотрятся намного лучше =)
2016-11-09 21:27 Game Xonix Снова рефакторинг + 20 5 мин.
Закрепил пройденное
найти время
Отлично, идём дальше =)
2016-11-09 09:58 J6. Условия IF - Минимакс + 20 10 мин.
Повторил пройденное
найти время
Сложностей не возникло, идём дальше =)
2016-11-08 20:10 J5. Операции OPER - Операции 12-13 + 20 20 мин.
Ничему новому
найти время
Отличный урок, двигаемся дальше.
2016-11-07 22:37 J5. Операции OPER - Операции 7-11 + 20 30 мин.
Закрепил побитовую логику
найти время
Отличный урок, всё коротко и ясно, спасибо
2016-11-06 23:40 J5. Операции OPER - Операции 5-6 + 20 15 мин.
Закрепил операторы сравнения
найти время
Отличный урок, не стал сравнивать строки, так как ранее уже это делали.
2016-11-05 00:21 J5. Операции OPER - Операции 4 + 20 35 мин.
Побитовый сдвиг
успеть до полуночи =)
Отличный урок, интересная фишка.
2016-11-04 23:25 J5. Операции OPER - Операции 3 + 20 45 мин.
Закрепил материал
найти время
Отличный урок, интересные особенности конкатенации разных типов данных в зависимости от того, с какой стороны стоит строковый тип =)
2016-11-03 23:21 Семантика Я решил всю Семантику! + 20 10 мин.
Многое повторил, но и очень много узнал нового
найти время
Замечательный курс для начинающих, чтобы при прохождении уже более сложных Видео-курсов не возникало лишних (глупых) вопросов - "Must be completed"! Следующий курс по логике будет тоже консольный: Алгоритмика. Думаю там тоже почерпну не мало нового для себя, Спасибо за эти замечательный уроки и проект в целом. Удачи в развитии.
2016-11-02 13:23 J5. Операции OPER - Операции 2 + 20 1 час. 00 мин.
Повторил пройденное
найти время
Отличный урок, на скриншоте показал, что java умная, сама приводит в нужный тип, если хоть одно число вещественное. Если же нужно, чтобы оно было определённого типа, используем касты.
2016-11-01 17:27 J5. Операции OPER - Операции 1 + 20 1 час. 30 мин.
Побитовой инверсии ~, остальное закрепил
найти время
Отличный урок, много полезной информации, особенно в работе с битами.
2016-10-31 21:23 J4. Типы TYPE - Непримитивный тип String + 20 1 час. 00 мин.
Работе с объектом String в Java
найти время
Отличный урок, узнал много интересного при работе со строковыми объектами, спасибо.
2016-10-30 13:17 J4. Типы TYPE - Логический и Символьный примитивные типы + 21 40 мин.
Закрепление материала
найти время
Модернизировал метод формирования таблиц: добавил генерацию промежуточного разделения.
2016-10-29 12:05 Game Xonix Чудеса полиморфизма + 21 10 мин.
Повторение пройденного
найти время
Термотетрисная реакция =)
2016-10-29 11:40 Game Xonix Размножение шариков + 20 10 мин.
Повторение пройденного
найти время
Полировка объектов до округлой формы - срезаем углы =)
2016-10-29 11:07 Game Xonix Броуновское движение + 20 5 мин.
Повторение пройденного
найти время
Уже идея родилась по поводу реализации визуальной составляющей на основе этой игры, надо будет выбрать время и воплотить для финального видео-обзора =)
2016-10-29 10:32 Game Xonix Абстрактный субъект + 20 10 мин.
Повторение пройденного
найти время
Урок можно было разбить на 3 урока поменьше:
1 - выносим onMap()
2 - создаём абстрактный класс
3 - удаляем дубликаты и добавляем экстендед к кубику и шарику
было бы и со скриншотами компактнее, а то покрывало получилось, плюс из-за телодвижений с дубликатами строк сурсконтрол софт сума сходит, пришлось фотошопить дифф, чтобы он был адекватный =)
2016-10-29 09:13 Game Xonix Живой шарик + 20 5 мин.
Повторение пройденного
найти время
Кружатся в ритме "Коко Джамбо" =)
2016-10-28 21:03 Game Xonix Классный шарик + 3 10 мин.
Повторил пройденное
найти время
Кубик штурмует неприступный шарик =)
2016-10-28 20:24 Game Xonix Точное прикосновение + 6 5 мин.
Повторение пройденного
найти время
Так как на прошлом уроке решил проблемы размеров игрового поля, то отступы по сути не нужны, но будем идти по курсу не сворачивая, отложил внедрение "деменшен" до следующего вебинара =)
2016-10-28 19:41 Game Xonix Граница на замке + 7 20 мин.
Повторение пройденного
найти время
На втором скриншоте частично видна мысль оптимизация для идеальной подгонки размеров окна под игровое поле. На любой ОС проблем не будет. Нужно будет использовать Dimension, который я уже предлагал в курсе Явный Сапёр, нужно эту фишку и тут использовать.
з.ы.
Надо будет внедрить это на первом уроке следующего вебинара по этому курсу =)
2016-10-28 18:28 Game Xonix Живой кубик + 7 5 мин.
Повторил пройденное
найти время
Вперёд, в бесконечность =)
2016-10-28 18:02 Game Xonix Перемещение кубика + 7 5 мин.
Повторил пройденное
найти время
Жизнь это движение =)
2016-10-28 16:42 Game Xonix Классный кубик + 8 10 мин.
Повторение пройденного
найти время
Отличная оптимизация, короче код, приятнее читать =)
2016-10-28 16:11 Game Xonix Координатный кубик + 8 10 мин.
Повторение пройденного
найти время
Неторопливо идём к цели, смакуя каждую строчку =)
2016-10-28 15:41 Game Xonix Панельный Canvas-класс + 9 10 мин.
Повторение пройденного
найти время
Хорошо идём =)
2016-10-28 14:20 Game Xonix Использование констант + 10 5 мин.
Повторение пройденного
найти время
Коротко и ясно =)
2016-10-28 13:48 Game Xonix Окно проекта + 10 10 мин.
Повторение пройденного
найти время
Отличный урок, идём дальше.
2016-10-28 11:53 Game Xonix Установка Eclipse + 11 5 мин.
Повторил пройденное
найти время
Был опыт работы с Eclipse, интересная среда, но после перехода на IntelliJ IDEA понял, что IDE для Java может работать быстрее =)
з.ы.
На скриншоте продемонстрировал, что в IntelliJ IDEA тоже можно увидеть список методов для удобства.
2016-10-27 13:18 Game Xonix 5 ошибок обучающих курсов. Java + Xonix + 20 5 мин.
Узнал о частых ошибках обучающих курсов
найти время
Полностью согласен с ошибками видео-курсов, цитируют книжки, просто берут количеством, "забивая головы".
2016-10-27 09:11 Game Xonix Свои правила + 20 20 мин.
Ничему новому
найти время
Поэкспериментировал с константами, русифицировал статус бар, увеличил размеры поля до стандарта HD, поигрался с интервалом отображения игровых циклов, всё супер =)
з.ы.
цвета заменил на ZX Spectrum аналоги
2016-10-26 01:22 Game Xonix Поиграем? + 20 25 мин.
Повторение пройденного
найти время
Одна из первых игр, которые игрался и создавал на одних из первых ПК (СПЕКТР-001 и ZX Spectrum) так как есть опыт игры, дошёл до 5 уровня без проблем =)
2016-10-25 11:02 Боты Сапёра VIP - Хакерский подход + 20 2 час. 00 мин.
Работать с процессом напрямую через память
найти время
Замечательное завершение не менее замечательного курса, спасибо огромное.
2016-10-25 00:05 Боты Сапёра ФИНАЛЬНЫЙ УРОК + 1 1 час. 00 мин.
Ничему новому
найти время
Добавил интерактивную легенду найденных уникальных объектов игрового поля при парсинге эталонного скриншота.
остальные нововведения, которые добавлялись в процессе разработок на каждом уроке см. видео =)
з.ы.
плюс недокументированные изменения и оптимизации.
2016-10-24 18:02 J4. Типы TYPE - Вещественные примитивные типы + 20 20 мин.
Разнице между float и double
найти время
Отличный урок, познавательный, идём дальше =)
2016-10-23 17:11 J4. Типы TYPE - Целые примитивные типы + 20 2 час. 00 мин.
Что при записи 0xFFFF_FFFFL в конце надо тоже добавлять L, иначе получится тип int
найти время и прекратить исследования
Когда начал исследовать конвертацию в BigInteger, понял что увлёкся =) но это интересно, знать какие диапазоны у каких типов.
2016-10-22 13:49 Боты Сапёра БОТ - Всё открыто! + 21 25 мин.
Повторение пройденного
найти время
Добавил проигрывание мелодии во время работы бота =) Остальные фишки работают априори, так как реализованы ранее (анимация движения курсора и т.д.)
всё покажу в видео-обзоре =)
2016-10-22 13:15 Боты Сапёра БОТ - Неуправляемый Интеллект + 20 40 мин.
Повторил пройденное
найти время
Адаптировал алгоритм бота, проблема зацикливания бота была решена очень давно, поэтому с ней не столкнулся. При запуске любой задачи окно игры сапёра становится вначале активным, если оно свёрнуто, разворачивается и только потом идёт работа с ним.
2016-10-22 01:58 Боты Сапёра БОТ - Выход на финишную прямую + 20 1 час. 00 мин.
Закрепление полученного ранее
найти время
Перенёс необходимые файлы в проект из игры сапёра, подготовился к след уроку =)
з.ы.
как видно из скриншота, теперь отображается последний используемый скриншот, необходимый как точка отсчёта для действий. В данном случае отображает то, что было до последних телодвижений БОТа.
2016-10-21 21:24 Боты Сапёра БОТ - Сканер минного поля + 20 24 час. 00 мин.
Повторил множества, MD5, массивы, матрицы, работу с графикой, файлами...
найти время
Начал исследования уже давно, но именно по поиску объектов по одному пикселю с 18 числа 7 утра, на уроке использовался слишком простой алгоритм, я вначале применил рекурсию, чтобы перебрать все комбинации пикселей, процесс не быстрый, потом решил применить анализ всех уникальных плашек на основе множеств и исключить дубликаты, намного шустрее процесс, почти моментальный, но оказалось, что уникальные пикселы имеют все объекты, кроме закрытой и открытой плашки, если не использовать флажки и вопросики, то закрытая плашка имеет уникальные пикселы, а открытая определяется методом исключения, но для работы бота нужна плашка с флажком, поэтому такой метод не подходит. А так как я ранее уже реализовал определение плашек в 1,5 пикселя, вариант с двумя пикселами я конечно тоже реализовал для общего развития, но меня он не очень радует, поэтому я решил реализовать систему автоматического анализа эталонного скриншота на предмет уникальных объектов. Данный метод полностью устраняет ручной перенос полученных координат для дальнейшего использования при работе бота. Получается что система полностью автономна, проверяет вначале наличие уникальных объектов (используются множества) и если их нет, вначале анализирует эталонный файл, формируя список, далее уже занимается анализом поля. При этом 100% определяется любое количество уникальных объектов на поле, если бы их было более 12, универсальная система =)
з.ы.
метод +-1 для определения объектов реализовал, но для того, чтобы было, сам метод не используется так как надобности нет и проблем с цветами тоже не наблюдается, но идея интересная, может пригодится когда нибудь.
2016-10-21 06:20 J3. Ввод READ - Буферный чтец + 20 30 мин.
Использованию FileReader и InputStreamReader вместе с BufferedReader.
найти время и остановиться внедрять то, что скорее всего будем проходить дальше =)
Отличный урок, спасибо, чем дальше, тем интереснее =)
2016-10-20 08:00 J3. Ввод READ - Любая формула + 20 1 час. 10 мин.
Вспомнил как в ворде составлять формулы =)
найти время
Для решения данного урока использовал единственную доступную для меня формулу, другие были закрыты и просили выполнить задачи которые идут ранее, а так как я решил там только первые 5 заданий, то был очень рад, что хотя-бы одна формула была доступна, не знаю почему, но догадываюсь =)
2016-10-19 21:21 J3. Ввод READ - Сканер пива + 21 30 мин.
Закрепление работы с java.util.Scanner
найти время
Решил приукрасить немного, вспомнил как эти было во времена доса =)
2016-10-18 20:38 J3. Ввод READ - Сканер + 21 10 мин.
Использованию java.util.Scanner
найти время
Да, намного удобнее чем System.in.read(), спасибо за урок, идём дальше.
2016-10-17 19:58 J3. Ввод READ - Ввод трёхзначного числа + 21 5 мин.
Использованию System.in.read()
найти время
Полезный метод, спасибо за урок, идём дальше =)
2016-10-16 10:47 Боты Сапёра БОТ - Гадание по фото + 21 12 час. 00 мин.
анализировать графические файлы
найти время и остановиться оптимизировать
Отличный урок, вебинар ещё круче, как видно из скриншотов, с правой стороны проанализировано поле из графического файла (справа от окна приложения отобразил его для наглядности), а в правом окне приложения отобразились все комбинации координат (пока без вопросика, если идея по доработке алгоритма сравнения, пока чтобы не тратить время, сделал базовый).
з.ы.
Добавил функционал автоматического поиска уникальных объектов на поле (в графическом файле).
2016-10-15 09:43 Боты Сапёра БОТ - Совместное фото + 21 1 час. 30 мин.
делать скриншот выделенной области на экране
найти время
Новичок:
00:00:00.0103542 - Создание и сохранение скриншота окна процесса.
00:00:00.0343467 - Создание скриншота рабочего стола.
00:00:00.4376924 - Анализ игрового поля по скриншоту.
00:00:03.0741300 - Анализ игрового поля используя функцию GetPixel() библиотеки gdi32.dll.

Любитель:
00:00:00.0138548 - Создание и сохранение скриншота окна процесса.
00:00:00.0316497 - Создание скриншота рабочего стола.
00:00:01.5693508 - Анализ игрового поля по скриншоту.
00:00:10.0371520 - Анализ игрового поля используя функцию GetPixel() библиотеки gdi32.dll.

Профессионал:
00:00:00.0149438 - Создание и сохранение скриншота окна процесса.
00:00:00.0336072 - Создание скриншота рабочего стола.
00:00:02.9528080 - Анализ игрового поля по скриншоту.
00:00:19.7216873 - Анализ игрового поля используя функцию GetPixel() библиотеки gdi32.dll.
2016-10-14 06:54 J3. Ввод READ - Чтение символа + 20 15 мин.
узнал два варианта установки IOException в Java
найти время
Ранее всегда использовал try/catch, но вижу, что можно добавлять к методу thrown IOException (что по сути переводится именно так, как и работает). Немного приукрасил приложение, всё супер, идём дальше.
2016-10-13 10:16 J3. Ввод READ - Конкатенация аргументов + 20 15 мин.
Объединению строк через concat() в Java
найти время
Интересный урок, интересный метод, намного быстрее работает чем через оператор "+" =)
2016-10-12 22:29 J3. Ввод READ - Сложение аргументов + 20 15 мин.
try/catch и парсингу чисел из строки в языке Java
найти время
Отличный урок, всё просто и понятно, идём дальше
2016-10-11 04:35 J2. Печать WRITE - Окно JFrame + 20 15 мин.
Повторение пройденного
найти время
Внезапный урок, вклинившийся между пройденными =) приятный сюрприз.
2016-10-10 06:44 J3. Ввод READ - Консольные аргументы + 20 10 мин.
Повторение пройденного
найти время
Отлично, идём дальше
2016-10-09 14:19 ASP.NET и GMaps Запуск ASP.NET MVC + 20 20 мин.
Создавать ASP.NET MVC базовый проект
найти время
Отличное начало, установил 2015 студию по этому случаю, на удивление установилась быстро и работает быстро.
2016-10-08 03:40 Инфобизнес Подключение к системе GitHub + 21 20 мин.
Работе в SmartGit
найти время
уже много лет использую оригинальную консоль git, для работы с github, решил попробовать SmartGit, интересная GUI, надеюсь она мне понравится, пока что то, что было сделано, быстрее было бы сделать в консоли, но я вижу перспективу удобства работы с кучей гепозиториев не бегая по папкам =)
2016-10-08 02:28 J3. Ввод READ - Сколько мне дней + 21 20 мин.
Возрасту в днях =)
найти время
Отличный урок, осталось узнать, сколько тебе часов и будет аналогия S.M.A.R.T. для человека =)
2016-10-08 01:44 J2. Печать WRITE - Квадратные условия + 1 20 мин.
Повторение пройденного
найти время
Создал отдельно три функции/метода, которые по очереди выводят квадраты.
Первые два квадрата выводятся друг за другом, третий квадрат это наложение первых двух с эффектом инверсии.
2016-10-07 20:26 J1. Запуск START - Десять запусков + 21 20 мин.
Повторение пройденного
найти время
Поначалу писал приложение красиво, с отступами и т.д., время удалось снизить до 45 сек, последние попытки решил сократить имя класса и файла до одного символа, что сократило написание той же логики уже за 35 сек, аж 10 сек (22,2%). экономии =)
2016-10-07 19:53 J1. Запуск START - Запуск Java + 21 5 мин.
Повторение пройденного
найти время
На втором скриншоте набрал более хардкорно =) понастольгировал по досу, всё супер! Идём дальше.
2016-10-07 19:27 J1. Запуск START - Переменная окружения + 21 5 мин.
Повторение пройденного
найти время
Ещё на вебинаре "Дружба с компилятором" проходили это, как раз поставил себе новую версию
2016-10-07 01:07 Инфобизнес Подготовка Visual Studio ASP.NET + 20 15 мин.
Созданию проекта ASP.NET MVC
ничего
Отлично, идём дальше.
2016-10-06 18:34 ASP.NET и GMaps Презентация + 21 5 мин.
пока ничему =)
пока ничего =)
Идей много, одна из первых, которая родилась сразу, это создание игры: "Формулисты ГО".
Краткое ТЗ:
На карте отображаются формулисты в разных городах, где-то сбоку или сверху по центу кнопочка, начать игру.
Сложность 1: Точки остаются на месте, а всплывающие окошки покажутся 1 раз на пару секунд и прячась, перемешиваются, далее, наводя на точки, показывается аватарка, нужно схватить её и перенести на ту точку, где должна быть эта аватарка.
Сложность 2: Помимо оригинальный точек, ещё генерируются со случайными координатами фейковые точки. Нужно навод на точки и видя аватарки определять, оригинал это или фейк =)
2016-10-06 02:22 J8. Циклопы LOOP - Три части Forа + 1 10 мин.
Повторение старого
найти время
Приходится проходить курс хаотично, по другому доступа нет =)
2016-10-05 03:42 J2. Печать WRITE - Комментарии + 21 10 мин.
Использованию javadoc
найти время
Отличная утилита, пригодится =)
2016-10-05 02:39 Tinklavimas Второй подход к эскизу + 22 20 мин.
ничему новому
найти время
Так как дизайн уже есть, моя задача его оптимизировать, локализовать на русский язык и написать движок под ключ.
Разработка для представительства на территории Российской Федерации.
2016-10-04 01:22 Tinklavimas Каким будет мой сайт + 20 20 мин.
ничему
найти время
Тема экологических продуктов.
Название по на обсуждении.
Сайт на заказ.
2016-10-03 01:38 Tinklavimas Знакомство + 20 10 мин.
ничему
ничего
Интересный курс, сборная солянка начальных знаний, надо глянуть, может что новое узнаю, плюс он на неведомом мне языке местами =)
2016-10-02 23:44 Демо игры VIP. Устный счёт + 20 8 час. 00 мин.
Повторение пройденного
найти время
Создал в фотошопе иконку для форм и бинарника.
Добавлен пункт настроек: "Простые операции" (используется только одна операция и при вычитании ответ никогда не будет меньше нуля).
Добавлен пункт настроек: "Несколько операций" (при генерации примеров используются две одинаковых операции).
Косметика визуального представления операций умножения и вычитания.
Фокусировка на последней нажатой кнопке "начала игры" после победы.
Фокусировка на поле ввода ответа после начала игры.
Используется минимальное значение равное 0 там где это логично (для разнообразия генерации примеров).
Добавлен счётчик потраченного времени.
Добавлен счётчик неверных ответов (используется для определения итоговой оценки).
При неверном ответе, поле ответа очищается, отображается подсказка с верным ответом и увеличивается счётчик неверных ответов (цвет счётчика меняется в зависимости от итоговой оценки).
Следующий пример не сгенерируется, пока не будет верно решён текущий.
После того как решил все примеры и ползунок дошёл до 100%, отображается сообщение с итоговой оценкой.
Добавлен пункт настроек: "Случайные операции" (при генерации примеров используются случайные операции, совместно с "Несколько операций" может сгенерировать разные две операции).
Если активен пункт "Случайные операции", то на всех кнопках отображается надпись "Начать" (так как каждый следующий пример будет со случайной операцией).
Доработана самая крутая сложность (использованы методы Комбинаторики и Рекурсии).
На данный момент существует 8 видов сложностей (что легко посчитать исходя из вариантов установки галочек, все комбинации проработаны и протестированы).
2016-10-01 02:06 J1. Запуск START - Платформа Java + 20 10 мин.
повторение пройденного
найти время
Повторил пройденный материал, отличное начало, только хотелось бы уточнить, что на винде у вас скорее всего JDK новее стоит, чем на линуксе, поэтому и не запустился скомпилированный файл с винды на линуксе, а более ранняя версия с линукса запустилась без проблем в винду, надо было скопировать исходник на линукс и пересобрать его уже там, тогда точно запустилось бы =)
2016-09-29 22:42 Боты Сапёра БОТ - Пиксельный металлоискатель + 21 7 час. 00 мин.
Повторение пройденного
найти время
Создал в фотошопе иконку для форм и бинарника.
Добавил метод определения цвета пикселя на экране.
Метод определения наличия запущенного процесса игры Сапёр вынесен в отдельную функцию (так как надо не только для начала работы, но и для проверки наличия процесса окна игры Сапёр в циклах бота).
Добавлен метод определения объектов на игровом поле игры Сапёр.
Добавлен progressBar для визуализации процесса выполнения циклов.
Внедрена игра Жизнь для демонстрации на игровом поле Сапёра.
Добавлена кнопка запуска с данными о скорости циклов и времени между ними для игры Жизнь.
Добавлены trackBars для настройки скорости и времени между циклами игры Жизнь.
При изменении скорость и времени циклов, информация о текущих значениях отображается на кнопке запуска игры Жизнь.
Теперь бот заглядывает в меню игры для проверки: установлена возможность ставить Вопросики или нет.
Если нужно нарисовать картинку, то бот проверяет возможность устанавливать Вопросики, если данная возможность отключена, он её включает.
Если запущена игра Жизнь, бот проверяет возможность установки Вопросиков, если возможность активна, то он её отключает.
Если в процессе  анализа и подготовки игрового поля Сапёр, для запуска игры Жизнь, бот находит Вопросики, он их убирает.
Теперь размеры рисунка относительны размеров игрового поля Сапёр, чтобы ромбик вписывался и был всегда по центру.
Добавлены textBoxes для сбора данных об игровых объектах на поле Сапёра.
Добавлена анимация заполнения textBoxes.
Игра жизнь использует динамическое программирование (не зря выпит литр кофе в своё время).
з.ы.
Что меня с подвигло на сие деяние? Пунктик с тремя звёздочками в задании к этому уроку =) Я, понимая, что это тривиальная задача, не мог не решить её, оставалось за малым, найти время, в течении дня несколько раз отвлекался по делам, но всё же успел доделать к концу дня.
2016-09-28 22:00 Боты Сапёра БОТ - Отмычка сапёра + 21 2 час. 15 мин.
рисовать флажками и вопросиками пиксель-арт на поле Сапёра =)
найти время
Отличный урок, намного интереснее писать кликер на C#, чем на ActionScript, хотя на нём много чего удобно делать =)
2016-09-27 01:34 Демо игры ФИНАЛЬНЫЙ УРОК + 2 20 мин.
Повторение пройденного
найти время
Отличный видео-курс, даёт немало базовых знаний, которые помогут в будущих курсах лучше понимать код и добавлять что-то своё. Вообще весь сайт очень интересно реализован, радуют курсы своей простотой подачи материала, ничего лишнего, много практики. Огроное спасибо Евгению "Игромистру" Витольдовичу за этот проект!!!

Следующий курс "Демо-софт".

С наилучшими пожеланиями, Иван Воронин.
2016-09-26 23:56 Демо игры Камень ножницы бумага + 21 1 час. 10 мин.
повторение пройденного
найти время
Отличный урок, спасибо, есть над чем поработать =)
2016-09-25 16:03 Демо игры Бот для Быстрощёлка + 1 30 мин.
Повторение пройденного
ничего
Добавил функцию верного окончания для слова "кликов".
Добавил чекбоксы для выбора какими клавишами мыши кликать.
Добавлено предупреждение о том, что не выбрана ни одна клавиша мыши для кликов.
см. скриншоты для подробностей =)
2016-09-24 23:38 Демо игры Игра Быстрощёлк + 20 30 мин.
использованию TimeSpan
ничего
на первом скриншоте скорость левой клавишей мыши, на втором обеими =)
2016-09-23 02:21 Секундомер Секундомер - Написание кода + 20 30 мин.
повторение пройденного
найти время
отличная программа для фиксации траты времени на задачи, чтобы после использовать эти данные для поля ПОТРАЧЕНО ВРЕМЕНИ в отчётах как минимум =)
2016-09-23 01:24 Секундомер Секундомер - Настройка формы + 22 35 мин.
повторение пройденного
ничего
всё сделал по пунктам, только шрифт свой поставил и иконку создал в фотошопе как обычно =)
2016-09-22 22:33 Боты Сапёра ВТОРОЙ ТРЕТЬФИНАЛЬНЫЙ УРОК + 22 3 час. 00 мин.
замедлять процесс работы циклов при этом чтобы видна была текущая стадия каждой итерации =)
ничего
При открытии окна "О игре" теперь чередуются 3 трека (“about3.mp3” переименовал в “bot.mp3”, а “about4.mp3” соответственно в “about3.mp3”).
“bot.mp3” добавлен как мелодия(индикатор) работы бота.
Теперь во время работы бота видно, как он открывает поле и ставит/снимает флажки.
з.ы.
самый прикольный момент это установка/снятие флажков, как будто бот не уверен в этом, имитация ИИ, не стал убирать у него эту “не уверенность”, выглядит как фишка =)
2016-09-21 06:09 Боты Сапёра ИИ - Открыть всё! + 21 1 час. 40 мин.
повторение пройденного
ничего
Добавил проверку первого клика перед сохранением игры (чтобы не сохранялись пустые поля).
Обновлено условие проверки "побит рекорд или нет".
Обновлена система генерации окна поздравления с Рекордом в текущей сложности.
В тайтле помимо названия игры и текущего времени игры, теперь отображается текущая сложность.
Старый алгоритм сохранил в функции: StartBot1() и деативировал.
Новый алгоритм бота добавлен в функции: StartBot2() и активирован.
Проверка победы/проигрыша добавлена после завершения работы бота (ранее проверка была в процессе его работы).
2016-09-21 03:10 Боты Сапёра ИИ - Ботовый алгоритм InterMines + 21 40 мин.
повторение пройденного
ничего
отличный урок, так же добавил проверку в виде всплывающего окошка, где для наглядности отобразил итоговое содержимое групп A, B и C.
2016-09-21 02:18 Боты Сапёра ИИ - Множественное тестирование + 21 30 мин.
повторение пройденного
ничего
Данное тестирование выявило ошибки при копипасте, при спешке такое бывает =)
2016-09-21 01:16 Боты Сапёра ИИ - Операции со множествами + 21 45 мин.
повторение пройденного
ничего
отличная идея реализовать данный алгоритм вручную для наглядности, а реализовать при помощи методов HashSet можно будет потом, как домашнее задание =)
2016-09-21 00:13 НаноШахматы PHP - Запуск скрипта + 21 10 мин.
повторил пройденное
ничего
Очень важные уроки (это и прошлый) правильно сделали, что их добавили, курс стал более полноценным для новичков
2016-09-20 23:58 НаноШахматы PHP - Установка EasyPHP + 21 5 мин.
повторил пройденное
ничего
данный урок был выполнен ещё при прохождении курса "Интернет-магазин"
2016-09-20 23:44 Боты Сапёра ИИ - Вспомнить всё + 21 30 мин.
повторение пройденного
найти время
Очень интересный курс, спасибо за продолжение =)
2016-09-20 03:39 БД - Книжка оценок Проектирование БД «Книжка оценок» + 22 1 час. 10 мин.
работать с базами ms access
ничего
создал таблицы по своему, для лучшего понимания и закрепления материала =)
2016-09-19 02:01 Сетевые технологии Вопросы и ответы + 21 5 мин.
ничему
ничего
Вопросов нет, всё ясно как день =) суть курса понял, добавил его в очередь на изучение в будущем.
2016-09-18 08:18 Сетевые технологии Главные секреты интернет-страниц + 21 20 мин.
получать исходный код и куки загруженной странички
ничего
Перенёс отображение тайтла странички сайта в тайтл формы.
остальное по уроку, всё супер, идём дальше.
з.ы.
Куки это список переменных со значениями, хранящихся на стороне клиента, для использования при последующих посещениях сайта (к примеру, можно хранить информацию о том, на каком языке отображать сайт, или данные для автоматической авторизации и т.д.)
2016-09-17 05:59 Явный Сапёр Условие победы! + 22 1 час. 30 мин.
работать со звуком в Java
найти время
Добавлен звук тиканья таймера.
Добавлен звук подрыва на мине.
Текстуры перенесены в папку gfx.
Звуковые эффекты перенесены в папку snd.
Мин уменьшено с 99 до 40, для удобства тестирования.
з.ы.
так как задания текущего урока я выполнил в прошлом уроке, пришлось добавить в игру звук и порефакторить, чтобы не заливать пару скринов и писать, что всё это сделал ещё на прошлом уроке =)
2016-09-17 00:26 Явный Сапёр Волшебный метод + 20 3 час. 30 мин.
повторению пройденного
остановиться допиливать игрушку =)
Добавлен рекурсивный метод открывания соседних пустых клеток.
Добавлено описание фаз игры.
Добавлен метод открывания всех мин и отображение ложных мин при подрыве.
Если подорвался на мине, под ней появляется красный фон, открываются все мины, открываются ложные мины и игра переключается в фазу поражения.
Если открыты все пустые ячейки, игра переключается в фазу победы и помечаются все мины флажками.
Добавлена заготовка типа сложности, но пока только Профессионал.
Рефактор инициализации игрового поля перед началом игры.
Добавлен метод startGame(), вызывается если проиграл или выиграл.
Добавлен метод updateTitle() для обновления информации в тайтле.
Добавлен метод cellClickCheck() для проверки фазы игры (если проиграл/выиграл начать игру с нуля).
Пока идёт игра, обрабатываются нажатия левой и правой клавиш мыши, как только нарвался на мину или победил, обрабатывается только средняя клавиша мыши, запускающая игру с начала.
Теперь в тайтле отображается сообщение о победе/поражении и информация о том, как начать сначала.
Добавлен счётчика времени, активируется при первом клике по закрытому полю, останавливается при победе/поражении.
В тайтле отображается сообщение о победе/поражении и информация о том, как начать сначала.
Так же в тайтле отображается затраченного времени до победы/поражения, пока игра не начата заново.
2016-09-16 06:30 Явный Сапёр Открывашка + 20 1 час. 00 мин.
повторил портирования с одного языка на другой
найти время
добавил счётчик мин и флажков для отображения в статусбаре
добавлена заготовка игровых фаз (игра, проигрыш, победа)
генерация мин на поле происходит после первого клика
первый клик никогда не попадает на мину
createMap() переименовал в placeMines(), добавил необходимые параметры
рефакторинг метода placeMines(), так же добавил комментарии
addOne() переименовал в placeCounter()
добавил метод onMap()
добавлен метод обработки клика левой клавиши мыши
методы rightButton() и leftButton() сделал приватными
для открывания игрового поля добавлены 2 новых метода: changeTop() и changeMap() с необходимыми параметрами
добавлен метод openCellsAround() для анализа и открытия клеток вокруг
добавлен подсчёт неверно установленных флагов, при открытии отображается ложная мина
рефакторинг обработки нажатий
добавлена проверка, все ли пустые клетки открыты (в будущем для обработки победы)
2016-09-15 18:40 Явный Сапёр Правый флаг + 20 30 мин.
повторение пройденного
найти время
в ротацию правой клавиши добавил вопросик
обновление статусбара перенёс в отдельный метод
в статусбаре видно размер поля и сколько установлено флажков из доступных (доступные это количество мин на поле)
как обычно, если флажки кончились, то ставятся только вопросики =)
2016-09-15 16:17 Явный Сапёр Мышечный адаптер + 20 20 мин.
повторение пройденного
ничего
урок понравился тем, что не использовали для формирования поля боксики как было на C#, а сразу напрямую рисуем на панели, что ускоряет работу приложения в разы, идём дальше
2016-09-15 15:09 Явный Сапёр Мины на панели + 22 5 мин.
ничего нового
ничего
код был готов ещё до вебинара, поэтому просмотрел видео на скорости х2 и залил отчёт =)
жаль что не удалось состыковаться и провести этот урок, много чего рассказать хотелось, поэтому пишут вкратце тут:
решил я изучить вопрос с панелью после того, как на вебинаре Магистр пытался использовать paintComponent, но не вышло и использовали paint, а позже в одном из отчётов кто-то заметил, что игровым полем замазали statusBar и его стало не видно, попытавшись увеличить размер формы, ничего не вышло и я решил немного изучить вопрос, ушло на это не много времени, но зато узнал, что как и в C#, тут есть тоже панель, как раз то, что надо, провёл пару тестов и вуаля, и марджины не нужны и статусбар видно и метод pack помогает подогнать размеры формы, отличный урок получился. Спасибо, Евгений Витольдович!
з.ы.
pack сработал, потому что setResizable должен быть раньше под коду, когда перенесли его выше, сразу сработало как надо
2016-09-15 00:46 Боты Сапёра ИИ - Жучкин алгоритм + 20 1 час. 30 мин.
повторил пройденный материал
ничего
При переключении между режимами игры, пауза не ставится, если была найдено и успешно загружено сохранение.
При активации паузы через окно "О игре" игры переносится в режим "Особые...", в этом режиме уже не попасть в таблицу Чемпионов.
Добавлена логика игры для реализации "Подсказки" - аналогия Бота, который открывает и помечает поле если уверен на 100%
Активация "Подсказки" осуществляется через пункт меню: "Справка - Подсказка", либо нажатием на горячую клавишу: F9
2016-09-14 14:34 Боты Сапёра ИИ - Элементарные алгоритмы + 20 30 мин.
закрепил пройденный материал
ничего
отличное начало реализации помощника для игры "Сапёр" =) идём дальше
2016-09-14 13:27 Боты Сапёра ИИ - Класс группы + 20 20 мин.
закрепление пройденного материала
ничего
назвал табуляторы ячейками, а вместо SortedSet использовал HashSet, идём дальше
2016-09-14 02:43 Боты Сапёра ИИ - Пересечение множеств + 20 1 час. 00 мин.
поиску мин путём пересекающихся множеств
найти время
на втором скриншоте прошёл Любителя, из прошлого урока, данным методом =)
2016-09-13 21:55 Боты Сапёра ИИ - Очевидные шаги + 21 15 мин.
закрепление пройденного материала
ничего
вроде больше нет 100%, проверил несколько раз =)
з.ы.
в углу единичка, это я по углам кликал, пока не наткнулся на угол, в котором открылось больше клеток и подходил очевидный алгоритм
2016-09-13 18:55 Боты Сапёра ИИ - Как пройти игру + 21 10 мин.
повторение пройденного материала
найти время
по поводу внутри игрового алгоритма: пробегать по всему полю в поиске цифр, если нашли клетку с цифрой, то считаем сколько вокруг неё флажков и не открытых клеток, потом отнимаем от этой цифры количество флажков и если это равно 0, то кликаем по цифре, если же не равно 0, смотрим сравниваем полученное число с количеством не открытых клеток, если оно совпало, то ставим флажки на неоткрытых клетках вокруг цифры и так до тех пор, пока не кончатся клетки для обработки подобным образом.

по поводу считывания данных с чужого сапёра, вариантов несколько, самый простой это анализ клеток поля по цвету который присутствует в них. обычно в сапёрах цифры разноцветные, если же такой способ сложен, можно использовать матрицы пикселов для сравнения типо топологии клеток, подобный способ проблем обычно не имеет, есть ещё один способ, написать хук код, чтобы внедрится в код приложения и получить доступ к массиву данных а там уже дело техники =)
2016-09-13 12:38 Боты Сапёра ТРЕТЬФИНАЛЬНЫЙ УРОК   24 час. 00 мин.
закрепил полученные ранее знания
перестать добавлять фишки (идеи ещё есть) ну и найти время на всё это =)
Список нововведений относительно базовой версии из курса “Сапёр на C#”:
Как обычно создал уникальную иконку для бинарника и форм. Нарисовал текстуры в цветовой палитре ZX Spectrum.
Добавлена возможность выбора сложности игры.
При выборе сложности, динамически изменяется размер поля. Отображается галочка напротив выбранной сложности.
Добавлены ограничения по количеству мин относительно размеров поля. Ограничение клеток по высоте и ширине, для удобства восприятия.
Добавлена форма настроек “Особой...” игры.
Количество мин трёхзначное.
Ограничение по минимальной высоте и ширине поля в зависимости от размера поля. 
Добавлена форма отображения “Чемпионов” и соответствующий пункт меню.
Добавлен счётчик игрового времени независимый для каждой сложности.
“Чемпионы” хранятся в отдельном файле. 
Добавлена система сохранения текущей игры в соответствующий файл.
Если при выборе сложности найдено сохранение для неё, то загружается карта поля  и можно продолжить игру, если же файл не найден, повреждён или параметры отличаются  от выбранных, файл удаляется, а игровое поле генерируется с нуля. 
Добавлена возможность сохранять текущие параметры игры. 
При закрытии и открытии игра запускается с последними выбранными параметрами  и загружает сохранение игры если оно найдено и корректно. 
В начале игры или при загрузке сохранения игра становится на паузу до первого клика,  в тайтле отображается текущее время, потраченное на данную карту. 
Как только игра закончена (победили/проиграли), то сохранение текущей игры удаляется.
Добавлена форма ввода “Имени рекордсмена” для сохранения в списке “Чемпионов”. 
Добавлена поддержка формата mp3.
Добавлены 4 мелодии формата ZX Spectrum с оригинальных дискет для окна «О игре».
При открытии окна «О игре», треки чередуются по очереди (музыка играет по кругу пока  не закрыть окно, при этом сама игра становится на паузу, таким образом можно подумать  над очередным ходом под ностальгические мелодии). 
Добавлены звуки: тиканье таймера и взрыв бомбы.
В папке “data” файлы расположены по типу: “save” и “sound”.
Если побит рекорд, открывается окно ввода “Имени рекордсмена”, после чего открывается  список “Чемпионов”.
Оптимизирован размер сохранений игры (теперь они весят в 4 раза меньше). 
Добавлено отображение версии и билда игры в окне «О игре».
2016-09-12 10:17 Явный Сапёр Философия сапёра + 20 20 мин.
ничего новому
ничего
То, что жеребёнок рождается и почти сразу начинает ходить, а человек рождается и по сути ничего пока не может, по той же причине рыбки после рождения сразу умеют дышать под водой, чего не может ни жеребёнок ни человек. Суть простая - в каждый объект мироздания закладывается не только "операционка" дос, виндоус, мак ось или *никс, но и уже присутствуют самые 2 важные вещи: начальная аппаратная комплектация и биос. от этого и зависит то, что в последствии потянет данная система, какой объём памяти и скорость процессора, какие средства ввода/вывода. Многие животные имеют шерсть, чтобы не замёрзнуть, когти и бивни как оружие, жабры для возможности дышать под водой, крылья чтобы парить в небесах, человеку же дан разум, чтобы придумать акваланг для дыхания под водой, самолёт для полётов в небе, корабль для плавания по воде и т.д. и т.п. поэтому сравнивать разные объекты бесполезно, каждый выполняет свою задачу, а вместе они создают баланс бесконечности =)
2016-09-11 03:57 J8. Циклопы LOOP - Развёртка цикла + 20 30 мин.
сравнительному анализу работы алгоритмов для последующей оптимизации кода на языке Java
ничего
Отличный урок, очень полезное знание!
з.ы.
на первом скриншоте последнее сравнение из урока, на втором скриншоте ускорил в 2 раза скорость работы фазы 1
2016-09-11 02:34 J8. Циклопы LOOP - Цикл for/each + 20 30 мин.
аналогу foreach
найти время
подобная ситуация с переполнение лимита типа переменной у меня было лет 16 назад на занятиях по Паскалю, в цикле шаг был не 1, а больше и типа переменной для шага был byte, при запуске приложения рисовалось в консоли что-то звёздочками, уже не помню что, так вот, первая половина рисовалась норм, а дальше начиналась свистопляска, после некоторого времени понял, что тип надо сменить на word =) с тех пор с циклами и типами переменных очень внимателен
2016-09-10 23:10 J8. Циклопы LOOP - Цикл for + 20 20 мин.
особенностям цикла for в Java
найти время
на скриншоте показана оптимизация сдвоенных циклов единой переменной index
з.ы.
больше всех понравилось тем, что можно определить переменную, вначале использовать её в одном цикле, после чего что-либо с ней сделать и использовать дальше по кому либо в других циклах либо ещё где, и в конце узнать сколько было итераций с переменной index =)
2016-09-10 18:14 J8. Циклопы LOOP - Вся коллекция циклов + 20 не указано


цикл помогает организовывать обработку динамических очередей(массивов), при этом код выглядит компактно и читабельно
2016-09-10 18:10 Интернет-магазин ФИНАЛЬНЫЙ УРОК + 21 10 мин.
повторил старое
ничего
Повторил php + NySQL, курс оказался очень коротким, нужно добавить ещё уроков 75 =) чтобы получился полноценный мини магазинчик, в целом курсом доволен, даёт важные знания как начать создавать онлайн проекты с нуля, но продолжение сезона напрашивается само собой =)
2016-09-10 13:19 Интернет-магазин Запись имени файла в базу + 1 30 мин.
повторение старого
ничего
так как ранее была реализована система удаления на сонове задержки в 15 минут, в базе остаются помеченные как удалённый записи, теперь при добавлении товара вначале используются помеченные записи и обновляются данные, если же их нет, тогда добавляется новая запись в БД
на скриншоте пошагово показано:
1 - добавили товар, но не прикрепили фото (сообщение)
2 - показано, что товар добавлен, но фото нет
3 - окно редактирования товара, прикреплено фото
4 - сообщения о процессе привязки фото и обновлению товара в БД
5 - в списке товаров уже видно фото у товара
з.ы.
если фото не прикрепили, то остаётся старое фото (если оно было)
провёл косметику дизайна и кода
2016-09-09 23:45 Интернет-магазин Сохранение файла + 1 1 час. 30 мин.
повторение старого
найти время
добавил папку fonts с файлом шрифта внутри для использования при наложении водяного знака поверх заливаемых фото
добавил функции обработки/проверки добавляемых фото с наложением водяных знаков (создал её много лет назад, пришлось немного модернизировать под текущие нужды)
множество проверок при добавлении фото (если всё ок, будет положительный лог на экране, спустя 2 сек редирект к списку)
добавил иконки для логов ошибок (зелёная галочка или красный кирпичик соответственно)
2016-09-08 20:39 Интернет-магазин Отправка файла + 21 10 мин.
повторение старого
найти время
я уже чуть не написал систему обработки загружаемых картинок, но потом хорошо подумал и понял, что тут надо показать дамп массива _FILES, всё супер, идём дальше
2016-09-06 15:35 Боты Сапёра ИГРА - Бомбовые алгоритмы + 20 4 час. 00 мин.
повторение старого
ничего
заменил gameOver на gamePhase, так как 3 игровых фазы и bool было маловато
неверно проставленные флажки превращаются в ложные мины (перечёркнутые) при подрыве на настоящей
в тайтле приложения после начала игры отображается статистика: сколько осталось открыть безопасных клеток до победы и сколько осталось флажков, если флажки кончились, вместо них ставятся только вопросики (если флажки ещё есть, можно перебирать вопросик или флажок)
добавил сообщение о победе/проигрыше, после чего игра начинается с нуля
рефакторинг кода  (повторяющиеся действия вынес в общий метод/функцию)
2016-09-06 01:48 Боты Сапёра ИГРА - Алгоритмический подход + 20 1 час. 00 мин.
повторение старого
найти время
добавил метод отображения всех мин, если подорвался на одной
2016-09-05 20:42 Боты Сапёра ИГРА - Зелёный флаг + 21 40 мин.
повторение старого
найти время
при клике правой клавишей мыши добавил возможность ставить вопросик
если там мина, то открывается взорвавшаяся (на красном фоне)
2016-09-05 18:56 Боты Сапёра ИГРА - Карта минного поля + 21 40 мин.
повторение пройденного
найти время
для отображения данных из map[,] использовал .BackgroundImage, а для top[,] использовал .Image, для этого добавил в ShowBox() доп параметр (соответственно в делегат тоже) и разделил ShowPicture() на ShowMap() и ShowTop()
з.ы.
ну и все сопутствующие изменения в коде для работоспособности данного метода формирования картинки поля =) всё супер, идём дальше =)
2016-09-05 17:18 Боты Сапёра ИГРА - Матрица картинок + 20 1 час. 00 мин.
динамически размещать панель, а на ней объекты так же
ничего
панель и боксики на панели добавляются динамически
добавил метод ресайза при максимайзе формы, при возврате из максимайза обратно
ресайз при изменении размера формы происходит в конце ресайза (т.е. тянешь форму, ничего не происходит, отпустил мышь, ресайзунлось)
2016-09-05 09:40 Боты Сапёра ИГРА - Классные мины + 20 30 мин.
повторение пройденного
ничего
Отлично, идём дальше
2016-09-05 02:18 Боты Сапёра ИГРА - Минная картотека + 20 20 мин.
повторил старое
найти время
всё супер, идём дальше
2016-09-04 23:43 Без конкуренции VIP урок. Бесплатная польза + 20 37 мин.
закрепление полученных знаний
ничего
Один из подобных случаев случился весной 2016 года, а началось всё в декабре 2015, обратились ко мне по поводу уникального проекта, но чтобы его реализовать, управлять и пустить в массы, необходима соц. сеть, кто-то посоветовал им купить спец. движок по аналогии с ютубом, поглядел его я сообщил, что он закрытый на 99%, т.е. дописать его или модифицировать не получится. Сказали, что нужен открытый код, чтобы могли в будущем его модернизировать и то что он закрытый наводит сомнения, а вдруг автор добавил туда код, чтобы можно было получить доступ и продать его третьим лицам. Предложил бесплатные альтернативные движки по аналогии с ютубом, на каждый потратил не менее 2 недель, чтобы создать базовый функционал и продемонстрировать движок в действии. В каждом из них что-либо не нравилось. В процессе дискуссий оказалось, что им нужна именно классическая соц. сеть, а не видео-хостинг. Начали перебирать бесплатные движки. На каждый из них потратили не менее 2-3 недель. После того как очередной движок чем-то не устроил, я предложил вариант написания соц. сети с нуля под ключ и нужды, без лишнего мусора, заточенный под поставленные задачи и в любой момент можно было добавлять необходимый функционал, на том и порешили. Ранее встречались в интернет-клубе, там звонили в тех. поддержку провайдера по поводу Премиум SSL сертификата, заняло это не мало времени, хоть у провайдера и была русскоговорящая тех. поддержка, но без переводчика в итоге не обошлось, так как обсуждалась юридическая терминология, то последние переговоры уже проходили без моего участия. Выбрали дизайн, спустя месяц движок был готов, внедрял функционал. Под конец работа человек уже приезжал ко мне домой и мы минимум по 12 часов уделяли разработке, он был моральной поддержкой. Обсуждали что и как лучше сделать, он записал начальные видео для рекламы проекта. Я создал логотип и обработал все видео, добавил логотип и название сайта. Общей сложности потрачено было 4,5 месяца. Заметив что с оплатой затягивает, решил поинтересоваться и получил ответ, который поставил точку в нашем сотрудничестве. Но за всё это время я получил колоссальный опыт, создал себе новый сервер на базе линукс, модернизировал все ранее созданные сайты под последнюю версию php, что позволило ускорить работу сайтов в разы и перешерстить свой старый сервер.
з.ы.
задумка человека мне понравилась, но если бы он сразу сказал, что денег нет и т.д. и т.п. не придумывая спонсоров, я бы помог, но выделяя свободное время не откладывая дела, которые за это время накопились и пришлось разгребать их в усиленном темпе. С тех пор не начинаю новый проект, пока не перечислят предоплату. Но я всегда открыт для интересных проектов, в которых могу принимать участие по мере свободного времени.
2016-09-04 04:54 Боты Сапёра ИГРА - Счастливый сапёр + 20 10 мин.
провторение старого
ничего
отличная игра, замечательный курс, позитивное видео, идём дальше...
2016-09-04 04:24 Без конкуренции ФИНАЛЬНЫЙ УРОК + 2 1 час. 00 мин.
ничему новому
ничего
результат встречи: создание сайта визитки, приложение подготовки готовой отчётности для отправки по почте (оптимизация размера)
з.ы.
спасибо за бесценный опыт и отличное приложение
2016-09-04 02:54 Без конкуренции Подводим итоги + 20 2 час. 10 мин.
DataGridView и всем что с этим связано
ничего
провёл косметику таблицы
для редактирования доступна колонка "Количество", при её изменении автоматически пересчитываются нужные ячейки и Общее количество
2016-09-04 00:15 Без конкуренции Анализ текстового файла + 20 30 мин.
повторение старого
ничего
косметика центровки ячеек
заменил хак ".Replace('.', ',')" на ", CultureInfo.InvariantCulture" (использовал его в других проектах, но на вебинаре надо было быстро решить проблему, не всегда быстрое решение лучшее)
2016-09-03 23:25 Без конкуренции Регулярная декомпозиция + 20 1 час. 10 мин.
повторение старого
ничего
косметика начальных значений ячеек в шапке
выравнивание значений в ячейках при добавлении новых данных
цвет фона ячеек/строк чередуется по правилам чётное/нечётное
2016-09-03 21:31 Без конкуренции Главный Анализатор + 20 1 час. 00 мин.
повторение старого
ничего
поигрался с установкой цвета фона для ячеек или таблицы в целом
установил цвет фона по-умолчанию
устанавливается каждая нечётная ячейка в шапке другим цветом
изменил стиль отображения текста в шапке
добавил обнуление ВСЕХ переменных (некоторые были пропущены, учёл)
добавил формирование шапки выше добавления списка файлов, чтобы не убегало вниз если список будет очень большим
2016-09-03 20:32 Без конкуренции Настройка таблицы + 20 30 мин.
повторение старого
ничего
все названия на русском языке
добавил функцию Clear()
всё супер, идём дальше
2016-09-03 16:19 Без конкуренции Правильный ответ и форма + 21 30 мин.
закрепление старого
ничего
как обычно, создал многослойную иконку в фотошопе, идём дальше
2016-09-02 19:15 Сетевые технологии Мой собственный браузер + 22 1 час. 30 мин.
работе с webBrowser
ничего
как видно из скриншота, домашняя страничка хранится в файле jgpBrowser.exe.config, редактировать можно как вручную, так и через Properties->Settings, можно добавить одноимённую переменную с адресом, как было сделано для ya.ru в самом уроке, можно кастомный формат хранения настроек браузера, перечислять можно долго, смысл не меняется, где-то хранить, откуда потом можно достать =)
з.ы.
как видно на скриншоте, добавил адресную строку, при вводе адреса и нажатии на Enter, загружается введённая страничка, если она существует (добавлена проверка, при которой добавляется http:// вначале или нет, зависит от введённого адреса)
2016-09-01 19:29 Сетевые технологии Презентация курса + 20 5 мин.
ничему
ничего
в 2016 году слышать фразу ДИСКЕТА как-то непривычно, кто-то их ещё использует? нет, у меня они есть, в силу надобности, но я думаю уже давно все перешли на флешки, даже болванки уже не актуальны
з.ы.
от этого курса, как и любого другого - жду новых знаний =)
2016-09-01 03:50 Интернет-магазин Интерактивный список + 21 30 мин.
ничему новому
ничего
1 и 2 пункты сделал на прошлом уроке, как домашнее задание.
добавил кнопку и функционал для удаления товара с возможностью отменить удаление в течении 15 минут =)
идём дальше...
2016-08-31 22:53 Без конкуренции Ручное выполнение задачи + 20 не указано


294758.5 мм или 294.7585 метров
з.ы.
доработал консольное приложение, которые было написано перед началом следующего урока, см. ссылка на скриншот:
https://yadi.sk/i/5Fg7jDY7ueX45
2016-08-31 20:56 Без конкуренции Реклама VIRI + 20 не указано


Название фирмы: UAB "VIRI Technologija"
Фирма занимается проектированием и производством металлических конструкций (ЛСТК) для различного рода сооружений. Предоставляет саморезы для сборки металлических конструкций (ЛСТК). Сборка и монтаж каркаса из  металлических конструкций (ЛСТК) по подготовленным компанией монтажным чертежам. Тепло- и звукоизоляция металлических конструкций (ЛСТК).
2016-08-31 20:25 Без конкуренции Как избежать конкуренции? + 21 не указано


после вебинара уже выполнил работы для: Александра, Сергея.
в ближайшее время ожидается встреча с: Владимиром, Анатолием, Евгением.
до вебинара начал разрабатывать проекты для: Льва, Анджелы и Вадима.
2016-08-31 19:00 Явный Сапёр Карта местности + 21 30 мин.
ничему новому
найти время
нужно создать второй массив для хранения данных о том, открыта клетка или нет, этот вариант предлагал на вебинаре и его же использовали в версии на C#, так что моё мнение не изменилось, а только подкрепилось =)
2016-08-31 17:56 Явный Сапёр Радуга картинок + 21 1 час. 10 мин.
создавать кастомные панели, в которых можно рисовать
ничего
создал кастомный класс панели, перенёс туда цикл рисования текстур боксиков
добавил панель в форму
тем самым нет необходимости в отступах
и лэйбл отображается корректно внизу экрана =)
з.ы.
не мог, чтобы не сделать так, как планировалось!
супер урок, идём дальше...
2016-08-31 16:36 Явный Сапёр Окно проекта + 21 20 мин.
использовать IntelliJ IDEA для разработки, создание базовой формы
ничего
Отличное IDE, есть опыт использования Eclipse и Android Studio
2016-08-31 15:58 Явный Сапёр Блок-схема + 21 30 мин.
ничему новому
найти время
разделил схему на 3 части, в каждой части основные моменты
2016-08-31 15:04 Интернет-магазин Редирект на список + 1 1 час. 45 мин.
ничему новому
ничего
добавил функцию редиректа (в ней 3 вида редиректов, использован редирект со временем в 2 секунды, чтобы было видно сообщение о добавлении/обновлении записи в БД или ошибке, малоли)
добавил несколько стилей для отображения "Списка товаров" (+ наследование осталось)
добавил чередование фона товаров в списке
добавил кнопочки "Изменить" которые ведут на редактирование товара, напротив которого её нажали
добавлена кнопка "Добавить" вверху-справа, чтобы открылась пустая форма для добавления нового товара
перенёс файл dbase.php в папку "include" и туда же добавил функцию редиректа в файле functions.php
2016-08-30 19:25 Явный Сапёр Вступление + 20 10 мин.
ничему новому
ничего
Отличный вебинар был =)
2016-08-30 15:13 Интернет-магазин Нет картинки + 21 10 мин.
ничему новому
ничего
полезная фишка, с прошлого урока вернул обратно HTML код картинки, в переменной теперь хранится имя файла, идём дальше
2016-08-29 14:42 Интернет-магазин Значения по умолчанию + 20 20 мин.
ничему новому
ничего
по-умолчанию используемые переменные сделал пустыми, а в поля формы добавил placeholder, он отображается если ничего не ввели, как только ввели данные, его не видно, эдакая подсказка, какое поле для чего, так же если картинки нет, даже у существующего товара, то не будет отображаться квадратик "не найденной картинки" =)
2016-08-28 18:38 Интернет-магазин Сохранение изменений + 21 30 мин.
ничему новому
ничего
Если установлен GET, то SELECT запрос произвожу в любом случае.
Если нет POST запроса, то используется для отображения текущего товара в форме, если же POST запрос был, то проверяется есть ли товар с таким айди в БД или нет, если есть, то данные о товаре обновляют, если нет, то добавляется новая запись.
з.ы.
см. скриншот.
2016-08-27 19:58 Интернет-магазин UPDATE товара + 20 10 мин.
ничему новому
ничего
выполнил задания со звёздочками, см. скриншот
2016-08-26 10:58 Интернет-магазин Товар на форме + 20 5 мин.
ничему новому
ничего
пункты 2, 3 и 4 ещё на пролом уроке сделал, поэтому просто выполнил пункт 1, добавил картинку цветных шариков и обновил в БД данные по имени файла и скриншот =)
2016-08-25 11:15 Карточки памяти Отображение карточек + 21 8 час. 00 мин.
подключать mp3 файлы, повторение старого
найти кадры ко всем персонажам (для троих пришлось запускать игры Dizzy на эмуляторе, чтобы найти новые кадры для анимации)
разработана уникальная иконка для формы и банарника (как обычно в фотошопе)
так же был создан в фотошопе игровой фон, стилизованный под ZX Spectrum
подготовлены в одинаковом стиле текстуры персонажей и створок для окошек
добавлен счётчик времени прохождения игры (начало подсчёта после первого клика)
добавлен счётчик количества кликов до окончания игры (в конце отображается статистика времени и кликов)
добавлена анимация открывания шторок, за которыми виднеется персонаж
добавлены звуки открывания/закрывания шторок
добавлены мелодии: до начала игра (первый клик),  Правила игры, О игре, Победа и Дискотека перед сбросом и началом новой игровой сессии
добавлена анимация персонажей, если удалось найти двойника (радуются этому)
из-за добавления анимации шторок, выявился баг, который был устранён
шторки открываются асинхронно, т.е. можно не ждать завершения анимации, кликать с любой скоростью по шторкам
звуковые файлы решил не добавлять в ресурсы бинарника, создал отдельную папку data и конвертировал их в форма mp3, чтобы меньше занимали места =)
название status мне тоже не очень понравилось, согласен с Магистром, поэтому переименовал в phase
в пункт меню Игра был добавлен новый пункт Звук, с его помощью можно включать/выключать звуковые эффекты (индикатор Галочка если звук есть)
и ещё куча недокументированных правок =)
з.ы.
нагляднее в видео
2016-08-24 19:05 Карточки памяти Подготовка формы + 21 1 час. 30 мин.
ничему новому
ничего
Отличный урок, как всегда всё ясно и понятно. Добавил в эту игру всё тех-же героев Dizzy, которых уже видели в игре "Скорость Реакции", подготовил в фотошопе все необходимые текстуры, подготовил форму, переходим ко второй части =)
2016-08-24 11:05 Интернет-магазин SELECT из РНР + 20 20 мин.
ничему новому
ничего
перенёс pre между тегами body из-за того, что плыл дизайн итоговой странички =)
з.ы.
теги title и link переносились body, теперь всё ок
2016-08-23 08:46 Интернет-магазин INSERT из РНР + 20 50 мин.
ничему новому
ничего
перенёс подключение к БД в отдельный файл dbase.php, а то что это он у нас бесхозно валяется =)
так же добавил проверки коннекта к БД/Серверу, если они успешны настраиваются параметры языка и кодировки (люблю я utf8) в прошлых уроках держался, в этом уже не выдержал, хотелось добавить товары на Русском языке =)
2016-08-22 22:14 Демо софт Вам телеграмма! + 20 5 мин.
Ничему новому
ничего
Хорошая идея, распараллеливать задачи общения между разными программами =) с друзьями так же делаем
2016-08-22 18:00 Интернет-магазин Форма Товара + 20 3 час. 00 мин.
ничему новому
ничего
С виду вроде простой урок, но когда увидел задание со звёздочкой, понял, что времени займёт побольше домашнее задание =)
2016-08-22 13:53 Интернет-магазин Таблица с Картинками + 20 20 мин.
ничему новому
ничего
Коротко и ясно =) то что надо для урока фото-курса, ясная мысль и ничего лишнего
з.ы.
обработал в фотошопе все картинки, а то уж очень руки чесались, так как ширину сделали 100, то картинки сделал 200х200 из-за того, что при ресайзе они чётче смотрятся, не такие замыленные, если бы делал 100х100 качество в браузере было бы хуже, проверено временем =)
з.з.ы.
как видно их скриншота, занимаемое место картинка уменьшилось почти в 300 раз, это очень важно для сайта, быстрее будут грузиться на стороне клиента и трафика меньше на сервере расходуется в пустую, если сделать картинки 100х100 то можно ещё в 2+ раза уменьшить картинки, но это уже не критично
2016-08-21 12:42 Интернет-магазин Картинки для товаров + 21 20 мин.
ничему новому
ничего
Картинки подобрал, видимо в след уроках будем их приводить к единому размеру =)
2016-08-21 11:35 Интернет-магазин Товары в таблице + 21 10 мин.
ничему новому
ничего
Всё отлично, идём дальше =)
2016-08-20 12:16 Интернет-магазин Подружить PHP с MySQL + 20 20 мин.
ничему новому
ничего
хорошая последовательность уроков, отличная проверка на стальные нервы =)
2016-08-20 11:26 Интернет-магазин Всё готово для работы + 20 10 мин.
ничего нового
ничего
предвкушаю продолжение интерсного курса =)
2016-08-19 11:44 Интернет-магазин Запуск РНР + 20 10 мин.
ничему новому
ничего
залил на свой старенький сервачёк, пока что и версии php 5.1 хватает, если не будет хватать, перенесу на новый и продолжу там реализацию =)
2016-08-19 11:05 Интернет-магазин SELECT запросы + 20 15 мин.
ничему новому
ничего
Общая сумма всего товара
SELECT SUM(`price`) FROM `ware`;
2016-08-18 09:42 Интернет-магазин phpMyAdmin + 22 3 час. 30 мин.
ничему новому
найти время
так как в этом уроке нужен phpMyAdmin, решил скачать последнюю версию в zip-архиве с оф. сайта, распаковал на стареньком сервере, не запустился, не понравилось, что старая версия php, ок, залил по ftp на новый сервер, настроил, подключаюсь, ругается что MySQL старая версия, естественно, она у меня давно не обновлялась и версии 5.1.59, пока для нужд хватало, ну ладно, решил скачать 5.5.51, минимальная версия которая нужна для последней версии phpMyAdmin, поставил, перенёс БД, настроил конфиг по аналогии со старой версией, кое что новое в конфиге пришлось до настроить, так как не хотелось работать с моими, годами отточенными, настройками, поэтому изучил мануалы новой версии, настроил так, как мне надо и новые параметры, после чего удалось залить дамп БД с версии 5.1.59 в версию 5.5.51, после чего авторизовался через phpMyAdmin и добавил 10 записей, конечно можно было быстро это сделать через Navicat, но зачем нам лёгкие пути? phpMyAdmin - это бесплатная панель управления БД которая есть на каждом хостинге, поэтому обязательная вещь для изучения, я хоть её и знаю, но решил поставить, чтобы поглядеть, что нового в последних версиях, а то на хостингах обычно старьё.
з.ы.
кстати, заметил, в этом уроке на скриншоте поля price и info поменяны местами, хотя задачи таковой небыло пока что, к чему бы это =)
2016-08-18 04:42 Интернет-магазин Добавление товаров + 21 5 мин.
ничему новому
ничего
так как опыт использования MySQL с 2003 года, решил использовать методы добавления записей способом, который считаю наиболее верным, даже если в будущем надо будет добавить колонки или менять какие-то местами, этот запрос будет работать, а значит минимум работы по исправлению ошибок, урок как и курс очень полезный, может быть открою в нём для себя что-то новое =)
2016-08-17 09:57 Интернет-магазин Запуск базы данных + 21 10 мин.
ничему новому
ничего
специально для курса поднял отдельную БД, нестандартный порт =) ничего, придётся чуток дописывать параметры коннекта, не критично, идём дальше...
2016-08-17 08:00 Интернет-магазин Установка EasyPHP + 21 5 мин.
ничему новому
ничего
на скриншоте софт, который я когдато позаимствовал для удобства мониторинга и перезагрузки сервера апач на своём первом сервере с виндой, так же есть второй сервер на лине, там свежее php, если этого будет не хватать, перенесу на линь проект, но думаю и его хватит, поэтому EasyPHP комплект не стал качать, так как всё необходимое уже имеется, настроено и работает уже многие годы, идём дальше
2016-08-16 19:51 Оригами Хлопушка + 1 5 мин.
ничему новому
ничего
было дело, когда-то в школе делали такие, саму хлопушку сделал уже давно по этому уроку, показал дочке, но вот добавить результат всё не было времени, хлопушка жива и как новая, поэтому решил всё же закончить начатое, пока она в руках
2016-08-16 09:42 Мат Конём и Слоном Белая и чёрная очередь + 21 20 мин.
ничему новому
найти время
присказка закончилась, началась сказка =)
2016-08-16 09:06 Мат Конём и Слоном Псевдо-алгоритм перебора + 21 4 час. 30 мин.
ничему новому
найти время
да, пришлось повозиться с рисованием блок-схемы, конечно можно оптимизировать и довести до идеала, но времени это может занять ещё больше =)
2016-08-16 04:15 Мат Конём и Слоном Чистый ход + 21 20 мин.
ничему новому
найти время
решил разделить на 2 части функцию бишопа, см. скриншот
з.ы.
спасибо, очень радует этот курс, чем дальше, тем интереснее
2016-08-15 03:54 Мат Конём и Слоном Рефакторинг кода + 21 40 мин.
ничему новому
найти время
на обоих скринах видно функцию onKing, на том, где комбинаций в консоли 232 верная функция, а на втором скрине где комбинаций 732 опечатка во второй строчке проверки расстояния между координатами (king2.y отнимается сам от себя)
2016-08-15 03:13 Мат Конём и Слоном Две структуры + 22 20 мин.
ничего нового
найти время
немного порефакторил, но чувствую, что на след уроке уже будет нечем заняться, поэтому решил отложить до след урока =)
2016-08-14 07:42 Мат Конём и Слоном Ворошиловский слон + 20 30 мин.
ничему новому
найти время
способов хранения информации великое множество, отличаются они удобством и размером хранимой информации из-за методов хранения, но бинарный вариант самый оптимальный, хотя и не самый простой
2016-08-14 07:17 Мат Конём и Слоном Нотация Форсайта - Эдвардса + 20 30 мин.
ничему новому
найти время
первый скрин с вариантами мата двумя конями
второй скрин уже одна из 232 матовых комбинаций конём и слоном
з.ы.
есть над чем поработать (кстати, с двумя конями комбинации дублируются из-за того, что они меняются местами)
2016-08-14 06:38 Мат Конём и Слоном Конь ходит буквой Гэ + 20 20 мин.
ничего нового
найти время
найдены все позиции с королём и двумя конями, выведено в формате FEN
см. скриншоты
2016-08-14 06:16 Мат Конём и Слоном Королевское правило + 20 30 мин.
ничему новому
найти время
232 комбинации с учётом короля, коня и слона
2016-08-14 05:00 Мат Конём и Слоном Перебор всех комбинаций + 21 30 мин.
ничему новому
найти время
6830292 комбинации при условии, что короли не стоят рядом и только белопольный/чёрнопольный слон!
2016-08-12 21:26 Мат Конём и Слоном Постановка задачи + 20 15 мин.
ничему новому
найти время
начало положено, идём дальше
2016-08-05 07:45 Нано-игры ФИНАЛЬНЫЙ УРОК + 1 9 час. 10 мин.
ничему новому
найти время
доделал игрушку "Скорость реакции", стилизировал все игровые моменты, так же заменил месседжбоксы на внутриигровые окошки в стиле Диззи на Спекки, добавил больше анимаций окружения, подробнее на видео =)
2016-08-03 21:56 Нано-игры Бот для Цифр + 20 30 мин.
писать автокликеры на C#
ничего
просто бомбовый урок, ранее я писал подобное, но на ЭкшенСкрипт, C# приятнее!
спасибо огромное, можно будет применить для выполнения однотипной монотонной работы, где нужно кликать только мышью, ТУДА-СЮДА, ТУДА-СЮДА... супер
2016-08-03 20:49 Нано-игры Игра Цифры + 20 1 час. 00 мин.
использованию MenuStrip
ничего
добавил счётчик ошибочных кликов, счётчик потраченного времени на выполнение задачи, в конце отображается итоговая статистика с данными параметрами, отличный урок, узнал про менюстрип, полезная вещь
2016-08-03 02:25 Нано-игры Скорость реакции. Алгоритм и рекорд + 20 3 час. 45 мин.
ничему новому
ничего
с огромным удовольствием доделал игрушку, можно было конечно ещё её улучшить с нескольких сторон, но я думаю уже не плохо получилось, подробнее в видео-отчёте, надеюсь вам понравится =)
з.ы.
Огромное спасибо за этот проект, Евгений Витольдович, очень стимулирует качественная проработка заданий и видео уроков, по сути применяю то, что было пройдено в прошлых уроках, поэтому начинаю всё сильнее уходить от обычного копирования задачи к своим модификациям
2016-08-02 22:32 Нано-игры Скорость реакции. Три картинки по таймеру + 20 3 час. 10 мин.
ничему новому
ничего
выполнял этот урок играючи, просто мне напомнило игру на спектруме: "Поймай Диззи", вот решил реализовать что-то в этом стиле, уж очень мне Спекки дорог, надо отдать ему дань, поэтому подобрал картинки, обработал и подготовил всё в фотошопе, на скриншоте не видно того, что уже готово, всё увидите в окончательном варианте, но уже анимируется пламя факела и открываются двери, откуда выглядывают персонажи
2016-08-02 19:11 Нано-игры Скорость реакции. Блок-схема + 20 6 час. 00 мин.
ничему новому
ничего
блок схему переделывал раза 3, придумал ещё один вариант, но уже времени нет переделывать ещё раз, в целом алгоритм понятен, по поводу картинок которые я выбрал, пусть это будет интрига =) сложно их прикрепить, так как я выбрал не 3 картинки, а много, из которых потом будет генерироваться итоговая картинка в самой программе, поэтому решил мозайку не показывать =) покажу уже итоговый вариант
2016-08-02 01:14 Нано-игры Арканоид - Шарик и кирпичики + 20 2 час. 10 мин.
ничему новому
ничего
отличный урок по замечательной игре, спасибо огромное, получил массу положительных эмоций при реализации =)
добавил информацию по количеству попыток (мячей) и количеству кирпичей на поле, так же 2 исхода событий основанные на оставшемся количестве попыток, более наглядно приложенном видео
2016-08-01 22:02 Нано-игры Арканоид - Уровень и ракетка + 20 1 час. 10 мин.
управлению объектами с клавиатуры
ничего
проверку границ поля вначале написал сам, а потом досмотрел видео, я думаю разницы в производительности не особо будет видно, но решил использовать то, что ранее было сохранено
з.ы.
спасибо, интересный урок, великой классики, это первая игра, которую я написал сам ещё на спектруме, называлась она Бэтти, о названии Арканоид я узнал спустя ооочень много лет, но для меня эта игра всегда будет Бэтти =)
2016-08-01 18:32 Комбинаторика VIP. Простые числа. Оптимизация алгоритма + 20 3 час. 30 мин.
делегатам и реализации сравнения работы функций
ничего
очень интересный урок, много полезного узнал, спасибо огромное =)
2016-07-29 00:55 Комбинаторика ФИНАЛЬНЫЙ УРОК + 23 11 час. 30 мин.
ничему новому
найти время
подробнее в видео
2016-07-23 04:47 Комбинаторика Динамика. Выход из Лабиринта + 20 1 час. 40 мин.
поиску в ширину и работе с очередями
ничего
отличный урок, конечно же сразу вспомнился урок по заливке области, но тут движение во все стороны намного больше похоже на растекании жидкости, спасибо и за урок работы с очередями, очень полезный, приходилось когда-то реализовывать аналогичное с добавлением в список и забирать первый, пока есть записи, а тут встроенная функция имеется для данных целей, отлично =)
2016-07-23 02:41 Игры со словами Игры со словами   4 час. 30 мин.
обновлению элементов форм при их изменении для наглядности
ничего
очень интересный урок, реализовал свою версию игры, гдето между Постым Эрудитом и Сложным, но в неё играли в дестве, так же реализован алгоритм игры в Города, подробнее на видео
2016-07-22 12:50 Комбинаторика Динамика. Счастливые билеты 20 + 20 2 час. 30 мин.
оптимизации вычислений при помощи динамического программирования
ничего
отличное завершение данное задачи, при замене long на ulong можно вычислить 22-значные билеты, вот и кончился лимит в 64 бит... когда-то казалось что 64 бит непреодолимая цифра, никогда не закончится, но не для таких задач =)
з.ы.
ждём 128 битную ось =) ну или хотя-бы 128 битную поддержку переменных (хотя можно самим реализовать подобное, когда-то мы таким эмитированием баловались, давно это было...)
2016-07-22 02:00 Комбинаторика Динамика. Поле дураков + 20 20 мин.
поиску оптимального пути при помощи динамического программирования
ничего
интересный урок, на курсе Бинарная жизнь было похожее в игре Жизнь =)
2016-07-22 00:55 Комбинаторика Полуфинальный урок. Ответы на вопросы + 20 30 мин.
ничему новому =)
приложить фото =)
1 - все алгоритмы были интересные, но особенно: Заливка области, Спираль, Треугольник Серпинского, Кривая Гильберта, Счастливые билеты N, Много ферзей, Математические операции
2 - да, очень интересный курс, комбинированные задания заставили потратить не мало времени, было интересно
3 - замечаний нет, а вот пожелание: "удачи проекту, продолжайте в том же духе, отличный подход к формированию заданий"
4 - этот курс добавил новых знаний, а это самое ценное!
5 - зовут меня Воронин Иван Анатольевич, фото прилагается
2016-07-22 00:25 Комбинаторика Комбинаторика. Математические операции + 20 6 час. 30 мин.
вспомнил рисование блок-схем алгоритмов, вычисление формул записанных в строчку
ничего
отличный урок, 9 версию блок-схемы прикрепил к работе, думал перерисовать её цветными карандашами, чтобы выделить каждую переменную своим цветом, но потом подумал, так хардкорнее =) спасибо за замечательный урок, немного модифицировал код
2016-07-19 08:46 Комбинаторика Комбинаторика. Сложение букв + 20 50 мин.
работать с кириллистическими переменными
ничего
кириллистические переменные как-то не привычно выглядят, да и переключаться между раскладками постоянно не удобно, сделали бы уже полностью кириллистические всё абсолютно, в 1С тавно такая поддержка, на любом языке коди, какой нравится больше, а по теме, очень интересные уроки, повторение мать учения =)
2016-07-19 07:28 Комбинаторика Комбинаторика. Много ферзей. Демонстрация + 20 3 час. 45 мин.
визуализация алгорита в консоли
ничего
отличный урок, пришлось потратить несколько часов, но воссоздал алгоритм, подробнее на приложенном видео
2016-07-19 03:34 Комбинаторика Комбинаторика. 4 x 4. Ладья x Ферзь + 20 1 час. 14 мин.
поиску комбинаций расстановки фигур на доске так, чтобы они не били друг-друга
ничего
интересные уроки, пригодится в процессе доработки шахматной эпопеи =)
2016-07-19 02:15 Комбинаторика Комбинаторика. Счастливые билеты N + 20 2 час. 40 мин.
поиску более эффективного алгоритма для уже созданного ранее
найти идеальный алгоритм
нашёл, но уже после того, как выполнил задание в консоли робота Шарпа, очень интересный урок и не менее интересный курс, скачал книжку, прочитал, надо будет найти полное издание на досуге
2016-07-18 21:29 Комбинаторика Комбинаторика. Счастливые билеты 6 + 20 8 мин.
оптимизации алгоритмов сравнения со вложенными циклами
ничего
оптимизированный вариант выглядит не очевидно, ощущение, что в этом случае просто совпадение по итоговому количеству, для проверки был добавлен параллельный вывод счастливых чисел и стало всё ясно, мысленно всё ещё перебирались единицы, а на деле перебираются максимум десятки, а единица уже как остаток, который если в пределах 0..9 то является верным, логика это сила =)
2016-07-18 10:17 Комбинаторика Рекурсия. Фракталы. Кривая Гильберта + 20 1 час. 14 мин.
рисовать Кривую Гильберта при помощи косвенной рекурсии
ничего
чтобы была красивая картинка, решил симметрично в каждой из 4 функций увеличить шаг по середине в 2 раза, что вышло, видно на 2 скриншоте =)
2016-07-18 01:38 НаноШахматы VIP. PHP - Рисуем буквы + 20 4 мин.
ничему новому
ничего
в прошлом уроки приходилось мысленно представлять координаты и формировать координаты инициалов относительно размеров картинки, тут же после того как в пейнте сформировали список координат, очень легко и быстро скопипастить статичные данные, этот урок вторая часть, а урок в пейнте первая =) они дополняют друг-друга идеально
з.ы.
спасибо за уроки, очень интересные, даже если ранее уже это знал. всё равно приятно напомнить самому себе о том, что давно не использовал
2016-07-18 00:58 НаноШахматы VIP. PAINT - Координаты отрезков + 20 23 мин.
отображать сетку и линейки побокам
ничего
прикольный урок, пейнтом почти не пользуюсь с тех пор, как начал пользоваться фотошопом ещё лет 16 назад минимум, поэтому даже не знал или из-за того, что это было давно, не помню чтобы была возможность отображать сетку и линейки. полезные вещи =)
з.ы.
много времени ушло на прицеливание, чтобы координаты были красивые =)
2016-07-17 10:38 НаноШахматы VIP. PHP - Создание картинки + 20 1 час. 00 мин.
повторение мать учения
ничего
хех, прикольный урок, давно я линиями ничего не рисовал со времён ZX-Spectrum и БК-0010 =) спасибо, поностальгировал
2016-07-17 09:29 НаноШахматы ФИНАЛЬНЫЙ УРОК + 2 3 час. 25 мин.
работе с нодами, чилдренами и иже с ними при событиях перетаскивания объектов
найти идеальное решение с переносом съеденых фигур в коробку
да, пришлось повозиться с формированием идеальной структуры элемента перед тем как положить его в коробку, то пустышки лезли, изза того, что пустые клетки на поле, всё же имеют ноды, просто они пустые, пришлось дописать доп. проверки для того, чтобы в коробку добавлялись теги только в том случае, если они имеют данные
з.ы
замечательный курс, много полезного для себя изучил, спасибо огромное, Евгений Витольдович, ко всем урокам подходите легко играючи =)
2016-07-16 10:34 Комбинаторика Рекурсия. Фракталы. Треугольник Серпинского + 20 50 мин.
рисовать Треугольник Серпинского рекурсивным методом
ничего
интересный урок, спасибо, изучил оба метода генерации Треугольника Серпинского, как обычный, но он перерисовывает повторно линии, так и перевёртыша, который понравился больше, только базовый треугольник нарисовать надо, так сказать точку отсчёта =)
2016-07-16 08:18 Комбинаторика Рекурсия. Фракталы. Спираль + 20 40 мин.
фракталам в рекурсии
ничего
очень интересный урок, можно вечно эксперименты проводить, напомнило 3Д игры на спектруме =) хотя там линий было поменьше
2016-07-16 05:14 Комбинаторика Рекурсия. Обратный отсчёт + 20 5 мин.
рекурсии ввода данных
ничего
очень похоже на алгоритм в уроке заливки, спасибо, позновательно
2016-07-16 05:02 Комбинаторика Рекурсия. Общий делитель + 20 5 мин.
нахождению наибольшего общего делителя двух чисел при помощи рекурсии
ничего
очень интересный урок, спасибо
з.ы.
каждый урок всё лучше и лучше показывает смысл рекурсии
2016-07-16 04:48 Комбинаторика Рекурсия. Числа Фибоначчи + 20 5 мин.
вычислять Число Фибоначчи при помощи рекурсии
ничего
нагляднее показано использование рекурсии, спасибо
2016-07-16 04:33 Комбинаторика Рекурсия. Факториал + 20 5 мин.
вычислению факториала при помощи рекурсии
ничего
коротко и ясно, спасибо
2016-07-16 00:04 НаноШахматы JavaScript - Я тебя съем! + 20 15 мин.
работать с дочерними нодами (проверять наличие, удалять, добавлять)
ничего
очень полезное знание, спасибо за урок
2016-07-15 23:22 НаноШахматы JavaScript - Завершение хода + 20 10 мин.
работе с событем ondrop
ничего
не думал, что всё настолько просто, видимо уже многое делается автоматически, остаётся лишь указать пуль
2016-07-15 22:37 НаноШахматы JavaScript - Посадку давай! + 21 15 мин.
работе с событием ondragover
ничего
обычным способом курсор не захватывался, пришлось снять на видео, потом нужный кадр сохранить в файл и перенести курсор в фотошопе куда надо, получилось не фонтан, но нагляднее, чем без курсора, а я так понял, что в этом уроке именно это означает, что посадка разрешена...
2016-07-15 22:04 НаноШахматы JavaScript - Тронул? Коди! + 20 10 мин.
обработке события ondragstart
ничего
отлично, идём дальше
2016-07-15 21:45 НаноШахматы HTML5 - Поднятие фигур + 20 5 мин.
атрибуту draggable в теге span
ничего
полезная вещь, с каждым уроком интрига только растёт =)
2016-07-15 21:05 НаноШахматы PHP - Превращение букв + 20 10 мин.
ничего нового
ничего
в прошлом уроке сразу подумал о switch, но решил просто подменить массивы, так как задача была вывести вместо буков иконки фигур, но лучше конечно так, чтобы в массиве хранились FEN коды, а визуализация была более наглядная, на будущее пригодится при работе с FEN кодами
2016-07-15 20:22 НаноШахматы PHP - Массив для фигур + 20 15 мин.
повторение массивов
ничего
отличный урок, подменил один одни массивы другими и вуаля =)
2016-07-15 19:31 НаноШахматы PHP - Циклы для клеток + 20 5 мин.
узнал о функции ord()
ничего
спасибо, очень интересная функция, пригодится в будущем, ранее не попадались задачи для этой функции, а я всё изучаю по мере надобности так как времени нет штудировать всё подрят, спасибо ещё раз, идём дальше
2016-07-15 18:55 НаноШахматы HTML - Фигуры на Доске + 20 5 мин.
ничему новому
ничего
красота =)
2016-07-15 18:44 НаноШахматы CSS - Шахматная доска + 20 17 мин.
повторение div-вёрстки
ничего
спасибо за урок, интрига растёт
2016-07-15 18:01 НаноШахматы HTML - Шахматные фигуры + 20 4 мин.
использовать айди уникод символов в теле html
ничего
Спасибо, начало уже радует, ведь символы меньше весят, чем грузить текстурки даже если через CSS
2016-07-15 07:56 Бинарная жизнь VIP урок. Игра Жизнь + 20 9 час. 52 мин.
динамическому программированию на примере игры жизнь
доработать фyнкцию around2 c иcпользовaнием динамичeскoго программирования.
просто БОМБОВЫЙ урок, спасибо огромное, не мало я времени провёл, больше всего отняло время функция на основе динамического программирования, до утра просидел но довёл до конца, мысленно всё было реализовано, надо было отточить и обкатать, в итоге что классическая функция, что на основе динамик. программирования работают идеально при этом поле теперь единое целое, без границ, что очень хорошо видно на видео приложенном к данному заданию
з.ы.
ничего нигде не подглядывал, сам сидел всю ночь до утра и пилил, выпито: 1 литр кофе
сделал иконку в фотошопе, так же сделал гифку(которую запрещено прикреплять, печаль, прикрепил 1 кадр в жпеге) для показа пошагово как рисовал на поле клеточку в фотошопе
2016-07-14 21:55 Игры на JavaScript Пасьянс + 20 15 мин.
закрепление полученных знаний
ничего
сократил код, добавлением функции did(id) из прошлых уроков, решил головоломку довольно быстро, очень интересный курс, побольше бы таких, коротко и ясно =)
з.ы.
очень простая игра, 4 клика и победа, ранее в неё не играл, но прошлая игра была сложнее, так как была двумерная
2016-07-05 05:44 Бинарная жизнь ФИНАЛЬНЫЙ УРОК + 20 10 мин.
писать мысли кратко
сформулировать мысль
Необходимо двигаться, экспериментировать, познавать новое, уходить от монотонности, тогда жизнь будет ярче =)
з.ы.
не тот утонет, кто упал в лужу, а тот, кто остаётся в ней лежать...
2016-07-05 05:35 Бинарная жизнь Смысл жизни + 21 40 мин.
Смыслу жизни =)
ничего
Очень интересная подача информации, спасибо огромное
2016-07-05 04:43 Бинарная жизнь Новое поколение + 20 30 мин.
работе с краями:
int cat = 4 * (arr[(j - 1 + size) % size] ? 1 : 0) +
              2 * (arr[(j)                        ] ? 1 : 0) +
              1 * (arr[(j + 1) % size        ] ? 1 : 0);
ничего
спасибо за урок, очень полезные знания для себя почерпнул =)
2016-07-05 03:46 Бинарная жизнь Конструктор организма + 20 20 мин.
избавлению от static, более быстрой работой в построении строки через StringBuilder
ничего
Спасибо за ваши уроки, даже если ничего сложного, всегда узнаешь что-то для себя новое =)
2016-07-05 01:42 Бинарная жизнь Правила игры + 20 1 час. 45 мин.
Вспомнил Excel
ничего
всё так же относительно как и взаимосвязано, любые изменения в одном месте повлекут за собой изменения в других сферах с которыми тесто связано, даже если это не очевидно. под лежачий камень, вода не течёт...
з.ы.
как видно из видео, я случайно ввёл программу и начальные данные которые привели к окончанию 0000000000 на последнем этапе =)
2016-07-04 02:19 Демо игры Лабиринт 2D - игра   3 час. 00 мин.
работа с событиями объектов форм
взаимодействие форм между собой
ничего
очень порадовала задача, будем её дорабатывать, надо будет добавить редактор уровней, дочке понравилась игра, хочет рисовать уровни для неё =)

первые два уровня стандартные
третий уровень с 3 ключами разного цвета, но по сути их надо просто собрать все, чтобы открылась дверь к финишу
если прошёл уровень без единой ошибки, играет музыка из Марио, если хотябы одна ошибка, просто рыбка в воду нырнула. Все важные объекты появляются на поле спустя 1 секунду после начала уровня (дабы устранить баги и случайное прохождение/проигрыш уровня, которые были замечены в процессе тестирования)
2016-07-02 15:41 Демо игры Лабиринт 2D - меню + 20 2 час. 12 мин.
using System.Media, работой со звуками
ничего
иконка в своём стиле
обработал в звуковом редакторе звуковые файлы (добавил пасхалку на будущее)
собрал картинку для меню из нескольких картинок в фотошопе, чтобы было веселее =)
очень интересная серия уроков, пригодится =)
2016-07-02 04:55 Комбинаторика Рекурсия. Главный секрет + 20 9 мин.
Кривой Гильберта
Вспомнить как чертить на бумаге, а не на экране =)
Очень познавательно, спасибо
2016-07-02 04:07 Комбинаторика Рекурсия. Вступление + 20 7 мин.
повторение мать учения =)
найти "интересные" картинки
рекурсия это когда функция в какойто момент может обратиться к самой себе, эдакая матрёшка при этом размер этой функции-матрёшки зависит от её самой
2016-07-02 03:37 Комбинаторика Рекурсия. Заливка области + 20 1 час. 17 мин.
рекурсии
ничего
решил добавить перетасовку последовательности проверки пути при каждой рекурсии движения, количество запросов в целом не изменилось, но само по себе движение стало хаотично аля Броуновское =)
2016-06-28 13:11 Демо игры Картинка с секретом + 20 1 час. 27 мин.
работа с формами, ранее писал только консольные приложения
Ничего
обработаны в фотошопе картинки для фона +секретная
добавлена иконка приложения (создана в фотошопе на основе собственного шаблона для иконок под iPhone)
реализован алгоритм отображения секретной картинки:
1 - кникнуть правой клавишей мыши по фону
2 - провести мышью в левом-верхнем углу фона (между кнопкой Тропинка и краем окна приложения)
3 - нажать кнопки в последовательности: Домик->Водопад->Тропинка->Водопад
будет отображена секретная картинка (если всё сделали верно)

з.ы.
на видео-уроке была использована 2013 студия, у меня она тоже есть, чаще всего пользовался 2010, но 2012 и 2013 поставил для изучения новых фишек и перехода на передовые технологии, хотя 2010 хватает для своих задач
2016-06-26 18:42 Демо софт Вступительное слово + 21 22 мин.
Базовому пользованию интерфейсом данного сайта
Ничего
если последнее приложение вообще, то это была обучалка рисованию на Андроид, а если для C#, то игра Terraria (добавил Русский язык как доп. в меню выбора языков, так же доработка в течении нескольких лет серверной части, привязка к MySQL и написание сайта для нужд игры)
з.ы.
меня привлекла необычная система работы данного сайта, основатель постарался, я тоже стараюсь автоматизировать работы, ведь ПК был создан имено для того, чтобы экономить время, C# и Java не единственные языки, которыми я пользуюсь для реализации своих задач, но сам по себе C# мне интересен, поэтому хочется узнать его ближе, я много чего изучаю сам, учителей небыло в наше время, но время летит, а интернет позволяет обмениваться информацией, поэтому хочется узнавать новое и помогать другим, чем я занимаюсь уже много лет
  Демо софт Английские карточки   Открыто


  Нанософт Баскетбольное табло   Открыто


  БД - Книжка оценок Создание интерфейса программы   Открыто


  Нанософт Прохождение теста   Открыто


  Игры со словами Виселка. Поле чудес   Открыто


  Морской Бой Планирование   Открыто


  Игры со Спрайтами Домино. Отображение плашки   Открыто


  Сокобан ФИНАЛЬНЫЙ урок. Видео-обзор проекта Сокобан   Открыто


  Морской флот Интерфейс - Первый кораблик   Открыто


  БД - Управление гостиницей Вступление   Открыто


  Секундомер Моральная подготовка   Открыто


  Базовый ASP.ект Создание схемы проекта   Открыто


  Инфобизнес Структура страницы   Открыто


  Tinklavimas Простейшая HTML страница   Открыто


  Фотошарп 256 оттенков серого   Открыто


  Коллекция графов ArrayList   Открыто


  Оригами Курочка   Открыто


  Судоку Вступление   Открыто


  Своя игра Актив формулиста   Открыто


  ASP.NET и GMaps Подключение Entity Framework   Открыто


  Пробный Java экзамен Формулировка задания   Открыто


  Портфолио на Bootstrap: перезагрузка Первые шаги в проекте   Открыто


  PHP графика ФИНАЛЬНЫЙ УРОК   Открыто


  Экзамен по Java Подготовка рабочего места   Открыто


  Соло на клавиатуре Мы начинаем СОЛО Марафон   Открыто


  Записи вебинаров GIT-практикум   Открыто


  Повторение задач Stop. Think. Act. Review.   Открыто


  API поиска работы Начало работы с HeadHunter API   Открыто


  Bootstrap-4 первые шаги Обратная связь - создание формы   Открыто


  JS Восточный гороскоп ФИНАЛЬНЫЙ УРОК   Открыто


  marafon Новогодний Марафон - Вариант участия   Открыто


  Платформер на Unity 5. Прыжок персонажа   Открыто


  Весёлая семейка Web-Мастера HTML   Открыто


  LINQ: шаг за шагом Инструменты и консольное приложение   Открыто


  Доска объявлений О проекте и про инструменты   Открыто


  Доска объявлений Комфортная конфигурация   Открыто


  C Что такое qr-код?   Открыто


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





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

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

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

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


Научился: Повторил пройденное
Пока тест, далее заменим константы на автоматическое определение координат перехвата.


Научился: Повторил тригонометрию, просто супер урок, разжёвано так, что я не знаю, кем надо быть, чтобы не понять.