Дата | Видеоурок | Результат | |
---|---|---|---|
Новогодний python ФИНАЛЬНЫЙ УРОК | + 8 | ||
Понравились короткие уроки по делу! молодец, Валера, чувствуется, с каждым разом уровень растёт. Добавил больше рандома и немного оптимизаций! Какой курс? сложно сказать, их очень много, думаю тот, который ещё не прошёл =) Найти время! |
|||
Новогодний python Фейерверк: переносы и звезды | + 7 | ||
При каждом запуске приложения, реализовал несколько рандомов: 1 - количество звёзд 2 - количество иголок 3 - размер звёзд 4 - цвет звёзд Всё отлично! Найти время! |
|||
Новогодний python Фейерверк: рисуем звезду | + 7 | ||
Перенёс функцию полёта черепашки с места на место, чтобы нарисовать сразу несколько звёзд Найти время! |
|||
Новогодний python Фейерверк: проект, небо и черепашка | + 7 | ||
Повторение мать учения. Найти время! |
|||
Новогодний python Гадание по книге: логгирование ошибок | + 7 | ||
Повторение мать учения, отличная идея с ошибкой при вводе номера строки. Найти время! |
|||
Новогодний python Гадание по книге: работа над ошибками загрузки | + 7 | ||
Пропускать пустые строки реализовал ещё в прошлом уроке по своему, но механизм показанный в уроке тоже отличный, я бы даже сказал, удобнее, если реализовать его в процессе загрузки файла, то будет более оптимальное потребление памяти. Займусь этим в будущем уроке. Найти время! |
|||
Новогодний python Гадание по книге: программа | + 6 | ||
Добавил защиту от пустых строк в книгах, чтобы ответом всегда была строка текста. Найти время! |
|||
Новогодний python Гадание по книге: об игре | + 7 | ||
Загрузил в папку обе книжки, чтобы можно было выбрать случайную книгу или по выбору из списка, так же добавлять ещё, если будет необходимости, так сказать для возможности масштабирования. Найти время! |
|||
Новогодний python Анонимный Дед Мороз: сообщение о подарке - на экран | + 7 | ||
Использовать messegebox. При запуске из консоли, интерактива нет, при запуске по F5, всё работает как и планировалось. Найти время! |
|||
Новогодний python Анонимный Дед Мороз: дарим подарки | + 7 | ||
Повторение мать учения! У меня трое ушли с тем, что принесли =) Рандом такой Рандом... Найти время! |
|||
Новогодний python Анонимный Дед Мороз: гости и подарки | + 7 | ||
Повторение мать учения! Найти время! |
|||
Новогодний python Анонимный Дед Мороз: об игре и заготовка программы | + 7 | ||
Повторение мать учения! Найти время! |
|||
Новогодний python Подарки: делаем подарки для всех | + 7 | ||
Вынос рисования подарка с лентой в отдельный метод реализовал ещё в прошлом уроке. Доработал метод рисования подарка с лентой, теперь передаётся цвет ленты, в прошлом уроке была залочена красная. Так же размер ленты теперь зависит от размера подарка. Найти время! |
|||
Новогодний python Подарки: рисуем подарок | + 7 | ||
вынес рисование подарка, короб и завязывание ленточки, в отдельный метод, что помогло сократить код и теперь просто вводишь размер подарка и цвет, далее метод всё рисует сам, центруя ленточку по середине подарка. Найти время! |
|||
Новогодний python Подарки: рефакторинг и перемещение без рисования | + 6 | ||
Летать черепашку =) Так же вывел в отдельный метод полёт черепашки, передавая расстояние и направление движения. Вывел три подарка, третий наложился поверх первого, якобы он ближе лежит. Найти время! |
|||
Новогодний python Подарки: цвет коробки с подарком | + 6 | ||
Выбору цвета заливки и окантовки черепашки =) Найти время! |
|||
Новогодний python Подарки: вызов черепашки | + 6 | ||
О существовании черепашки в python =) Найти время! |
|||
Новогодний python Подарки: создание проекта | + 6 | ||
Ничего нового, всё отлично! Найти время! |
|||
Новогодний python О курсе и инструменты | + 6 | ||
Ничему новому, всё отлично! Найти время! |
|||
Node JS первые шаги О Node JS. Инструменты для работы | + 6 | ||
Ничему новому, всё отлично! Найти время! |
|||
Начало здесь День №6. Обучательное тестирование | + 9 | ||
Тесты создавал и ранее, когда они вообще были внедрены на данном проекте, лишь увидел, что добавили комментарий, который можно добавлять при выборе варианта ответа. найти время |
|||
Bootstrap-4 первые шаги Отзывы: карты - в сетку | + 14 | ||
Всё это реализовал ещё на прошлых уроках найти время |
|||
Платформер на Unity 4. Движение персонажа | + 17 | ||
Всё отлично работает, молодец, Дим, движемся дальше. найти время и прекратить эксперименты =) |
|||
Платформер на Unity 3. Графика и физика | + 14 | ||
Побаловался на скорую руку, всё отлично, идём дальше. найти время |
|||
Платформер на Unity 2. Меню | + 10 | ||
всё отлично, идём дальше. з.ы. решил сделать в стиле марио на денди =) найти время |
|||
Платформер на Unity 1. Вступление | + 14 | ||
Пока ничего нового, всё уже стояло и используется давно. Идём дальше. найти время |
|||
Bootstrap-4 первые шаги Отзывы - стили | + 12 | ||
Повторение, мать учения, всё отлично, идём дальше. найти время |
|||
Bootstrap-4 первые шаги Отзывы - размещение карточек | + 13 | ||
Отцентрировал отзывы, провёл косметику, всё отлично, идём дальше. найти время |
|||
Bootstrap-4 первые шаги Товар лицом | + 11 | ||
Отцентровал при помощи бутстрап иконки по центру относительно друг друга и экрана. Так же добавил обводку средствами бутстрап и добавил несколько картинок. Повторение мать учения. Идём дальше. найти время |
|||
Bootstrap-4 первые шаги Об авторе - отступы, цвета, закругления | + 11 | ||
Ранее уже округлил фото, добавил косметику, повторение мать учения. найти время |
|||
Bootstrap-4 первые шаги Об авторе - отступы и дополнения | + 14 | ||
Заменил классический span на готовое решение в бутстрапе, чтобы не было проблем с центровкой и т.д. Добавил наклон для части текста, так же выделил жирным фамилию и имя. Повторение - мать учения. найти время |
|||
Дневник успеха 2019-01-06 : Какие труды, такие и плоды. | + 14 | ||
За эту неделю: + Я проверил 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С, базы данных и реализовал систему бэкапа по феншую. привёз в порядок часть парка рабочих машин, очень многие ещё нужно пересмотреть, обновить, заменить детали и т.д. (после тщательной диагностики состояния) Год начался хорошо, планы грандиозные, вперёд, к свершению задуманного!!! =) Всех с наступающим Рождеством! Здоровья и удачи. |
|||
Bootstrap-4 первые шаги Об авторе - блоки и HTML | + 14 | ||
всё отлично, идём дальше не бежать впереди паровоза и найти время конечно =) |
|||
Bootstrap-4 первые шаги Заголовок header - оверлей, надпись и кнопка | + 8 | ||
Всё отлично, идём дальше. найти время |
|||
Bootstrap-4 первые шаги Заголовок header - красивая основа | + 16 | ||
Всё отлично, идём дальше. найти время |
|||
Bootstrap-4 первые шаги Верная навигация | + 12 | ||
Всё отлично, повторение мать учения, идём дальше. найти время |
|||
Дневник успеха Рефлексия уходящего года | + 17 | ||
За прошедший год: + Я проверил 7136 отчётов у 442 формулистов. + Я написал 2076 сообщений 294 формулистам общим объёмом 719 килобукв + Я набрал 68 текстов: + Я решил 100 задач: + Я выполнил 485 видеоуроков: + Я собрал 3675 Мегахешей. В следующем году планирую реализовать несколько запланированный проектов. Продолжать выполнять суточную норму как для личной практики, так и для обратной связи по урокам. Проект совсем уже не тот, которым он был летом 2016 года, очень сильно изменился, претерпел кучу изменений, появилось с тех пор множество новых курсов, изменений в дизайне и самое главное, статистики суточной нормы, недельная статистика, а теперь и годовая! Проект растёт, развивается и пусть продолжает двигаться дальше к изменяясь к лучшему. Те, кто уже тут обучаются, прекрасно знают, чем этот проект их привлёк, те, кто только думают, советую не терять время, оно всегда движется вперёд и ждать никого не будет, а те кто впервые зашли, вы попали куда надо!!! Всех с наступающим, счастья в личной жизни и понимания, удачи. |
|||
Дневник успеха 2018-12-30 : Думай ввечеру, что делать поутру. | + 16 | ||
Надо как то этот вопрос решить, чтобы хотябы данные за прошлую неделю кэшировались, а то опаздываешь и дата вверху вроде за ВС, а ты то в ПН уже пишешь и информация за новую неделю, пустая. На прошлой неделе всё как обычно, выполнял суточную норму по мере возможности и времени. Успешно переделал лендинг в многостраничный адаптивный сайт. Выполнил все поставленные задачи на работе и дома. На следующей неделе выполнение суточной нормы и продолжение практики. |
|||
Bootstrap-4 первые шаги Основа и фреймворк | + 16 | ||
почти всё было реализовано на прошлом уроке, всё отлично, идём дальше. найти время |
|||
Bootstrap-4 первые шаги Погружение в проект | + 12 | ||
Подготовил не только всё по заданию, но и сразу бутстрапчик скачал и распаковал куда надо необходимый комплект 4.2.1 версии, всё отлично, идём дальше. найти время |
|||
JS Восточный гороскоп Данные - на страницу | + 12 | ||
Простой и понятный курсик, отличная тема и подача для базового понимания простых вещей. Кто впервые видит JS, однозначно надо будет почитать теорию, чтобы понять некоторые моменты. Всё отлично, идём к финалу. найти время |
|||
Дневник успеха 2018-12-23 : Живет на горке, а хлеба ни корки. | + 17 | ||
Очень странно, но я вроде бы отправлял данный отчёт, данные по нему потеряны, поэтому картинка не соответствует действительности. |
|||
JS Восточный гороскоп Цвет и стихия года | + 17 | ||
всё отлично найти время |
|||
JS Восточный гороскоп Символ года | + 15 | ||
Всё отлично, идём дальше. найти время |
|||
JS Восточный гороскоп Первые функции | + 13 | ||
Всё отлично, идём дальше. найти время |
|||
JS Восточный гороскоп Создание сцены | + 14 | ||
Всё отлично, идём дальше. з.ы. использую less, так же добавил span через который выделил года из общего текста другим цветом. найти время |
|||
Шифрование ФИНАЛЬНЫЙ УРОК | + 15 | ||
Отличный курс, хорошая база, очень пригодится в онлайн проектах в современных реалиях. Спасибо за отличные алгоритмы и их простую реализацию. Всё отлично, идём дальше, завершать незаконченные курсы. найти время |
|||
Дневник успеха 2018-12-16 : Без дела слабеет сила. | + 17 | ||
За эту неделю: + Я проверил 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( |
|||
Микроигры VIP урок. Змейка | + 15 | ||
найти время как обычно создал уникальную иконку для бинарника и форм помимо базовых, добавил текстуры поворота головы/хвоста размещение змейки на поле случайное змейка поворачивает голову туда куда ползёт, хвост поворачивается за телом в левом-верхнем углу экрана показаны яйца текущей змеиной семьи первый кто вылупился, начинает отъедаться на кроликах, чтобы вырасти и отложить яйца при поедании определённого количества кроликов, появляются дополнительный яйца если змейка врезалась в стену или слопала саму себя, рождается следующая змейка и так до тех пор, пока не окончатся яйца, по окончанию игры будет отображена статистика в правом-верхнем углу показано количество слопанных кроликов текущего змеиного выводка вверху-по центру показан рекорд на протяжении всех попыток игры рекорд сохраняется в файл в папке data при запуске игры, если таковой файл имеется, то загружается рекорд из файла, если же файла нет, то рекорд обнуляется (можно сбросить простым удалением файла) поворачивать голову при движении за 1 такт может только под 90 градусов (защита от того, чтобы не повернуть на 180 и не слопать саму себя) игровая статистика выполнена в игровом стиле, добавлены необходимые текстуры если змея врезалась, но при этом ещё есть яйца, то игра не начинается сначала, появляется новая змейка, а текущий счёт не обнуляется, пока не закончится игра после при этом генерируется новое с новым расположением змейки и кролика добавлена новая форма и активирована как основная, форма самой игры теперь вторична на начальной форме добавлено игровое меню из 3 пунктов: Играть, О игре, Выход пункты меню подсвечиваются в стиле ZX Spectrum при наведении мышью пунктами меню можно управлять и стрелками вверх/вниз на клавиатуре выбор пункта осуществляется клавишей Enter или кликом мыши при выборе пункта "Играть" - открывается форма и начинается игра при выборе пункта "О игре" - открывается профиль на проекте videosharp.info звуковые файлы хранятся в папке data, так же они были конвертированы в форма mp3 для экономии места з.ы. урок делал ещё летом 2016 года по событию "Чашка кофе". |
|||
Шифрование Ключевой обмен Диффи-Хеллмана - Общий секретный ключ | + 11 | ||
Отличный курс, отличные алгоритмы, всё разжёвано так, как детям в яслях не разжёвывают =) всё отлично, осталось записать финальное видео и курс будет выполнен на 100% найти время |
|||
Шифрование Ключевой обмен Диффи-Хеллмана - Случайное простое число | + 13 | ||
Всё отлично, идём дальше. найти время |
|||
Шифрование Ключевой обмен Диффи-Хеллмана - Форма | + 15 | ||
Повторение мать учения! всё отлично, идём дальше. найти время |
|||
Клиент-серверный сокет VIP. Динамичная многопоточность | + 15 | ||
Данный способ лично мне нравится больше, чем способ из прошлого урока, тем, что ресурсы выделяются динамически по мере надобности при этом производительность и ожидание клиентов сводится к минимуму. Вариант же из прошлого урока имеет лишь один плюс, ты точно знаешь сколько ресурсов понадобится для работы сервера, но его будет очень просто перегрузить и вывести из строя, данную же реализацию таким способом перегрузить будет сложнее, особенно если сервер располагает огромными ресурсами. Отличный курсик, советую всем, очень много интересный исследований проведено. найти время |
|||
Клиент-серверный сокет VIP. Мультики на сервере | + 15 | ||
очередь печати на принтер, рассылки уведомлений и т.д. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-12-09 : У хорошего мастера всякая пила хорошая. | + 14 | ||
За эту неделю: + Я проверил 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( всё как обычно: доделывать начатые курсы. |
|||
Клиент-серверный сокет VIP. Функциональное потокообразование | + 18 | ||
Многопоточность она такая, что-то быстрее, что-то медленнее, главное, чтобы оно работало как планируется! найти время |
|||
Клиент-серверный сокет VIP. Синхрофазатрон | + 16 | ||
Это же очевидно, функцию next() может запускать только кто-то один, другие ждут, по сути это как магазин с кучей касс, но кассир всего один, вот покупатели и стали в один ряд к единственно рабочей кассе, потому что в эту функцию засунули sleep(), которые и отнимает львиную долю времени. просто не нужно в подобные функции пихать что-то длительное, особенно обычные задержки типо sleep(), там должны быть максимально быстрые телодвижения, пока кто-то один занял место, другие могут делать свои задачи, которые по идее должны быть медленнее, чем время выполнения next(), увеличение на единицу быстрее, чем вывод на экран, поэтому всё проходит красиво, пока другие рисуют, один из потоков складывает незаметно для них. В конце же вообще засунули целый цикл в метод next(), пока один на качелях не покатался, другие стояли и ждали очереди. найти время |
|||
Клиент-серверный сокет VIP. Два потока | + 14 | ||
Реализовал 4 потока, получились 1 основной и 3 дополнительных. Доработал класс Worker, теперь ему можно при создании передавать его имя, для наглядности. Всё просто, идём дальше. найти время |
|||
Клиент-серверный сокет VIP. Многопоточность | + 15 | ||
Издержки многопоточности (см верхний скрин) Недоработки многопоточности (см. нижний скрин) з.ы. многопоточность полезна в супермаркетах, когда одновременно обслуживается несколько человек, чтобы не было застоя и лишней траты времени с продуктами перед выходом. многопоточность бесполезна, если нужно строгая последовательность, к примеру: чтобы одеться, надо встать, а чтобы встать, надо проснуться, а чтобы проснуться, надо уснуть, а чтобы уснуть, надо... и так далее. найти время |
|||
Клиент-серверный сокет ФИНАЛЬНЫЙ УРОК | + 13 | ||
Отличный мини-курсик, подобное уже реализовывали на C#, но тут вышло более красиво, подобный класс теперь можно использовать для реализации игр по сети на двоих и более игроков. Можно начать с игры крестики нолики, думаю проще некуда. И не совсем примитивное как угадайка. з.ы. создал батника для генерации jar файла, так же создал батника для каждого режима работы сервера, см. видео. найти время |
|||
Клиент-серверный сокет Универсальный сокет | + 17 | ||
Хорошее решение, уже ближе к ООП, сгенерил jar файл, запустил через консоль jar файлы. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-12-02 : Больше дела – меньше слов. | + 18 | ||
Не успел с недельным отчётом, дел к выходным много было, на прошлой неделе было проделано не мало работы как по выполнению уроков, так и по решению задач на работе. Все вопросы были решены в кротчайшие сроки. Новая неделя обещает быть не менее увлекательной. Всем удачи и не останавливайтесь на достигнутом! |
|||
Клиент-серверный сокет Скелет телефона | + 16 | ||
Повторение, мать учения! Метод calculate() реализовал так же на прошлом уроке. Сгенерировал при помощи IntelliJ IDEA класс Phone(). Всё отлично, идём дальше. найти время |
|||
Клиент-серверный сокет Основной алгоритм | + 18 | ||
Повторение мать учения! Реализовал метод calculate(), так же реализовал его перегрузку без параметра операции, который по умолчанию складывает передаваемые аргументы для краткой записи. реализовал метод для генерации сообщения о том, в каком режиме запущен сервер (текстовое сообщение). з.ы. потом можно будет порефакторить и сократить ещё код методов runServer/Client() найти время |
|||
Клиент-серверный сокет Техническое задание | + 16 | ||
в силу занятости последнее время, решил не бежать впереди паровоза, но создал заготовку, а именно единое приложение, которое принимает аргументы на вход и перечисляет их, чтобы на след. уроках было не скучно. найти время |
|||
Клиент-серверный сокет Правильный заголовок | + 11 | ||
Всё отлично, правильно сделали, что добавили урок по заголовкам, такие вещи надо знать! найти время |
|||
Клиент-серверный сокет Экспериментальный сервачок | + 13 | ||
Реализовал игру "угадай число от 1 до 100" удалось угадать с 4 попытки. всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-11-25 : Кто поет, у того работа скоро заканчивается. | + 14 | ||
За эту неделю: + Я проверил 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( неделя была перегруженная, движемся дальше. |
|||
Клиент-серверный сокет Клиент-серверный диалог | + 13 | ||
в браузере другая длинна, потому что браузер отправляет запрос: GET / HTTP/1.1 поэтому и длинна 14 в моём случае. найти время |
|||
Клиент-серверный сокет Как хорошо уметь читать! | + 17 | ||
Всё отлично, идём дальше. найти время |
|||
Клиент-серверный сокет Автоответчик | + 12 | ||
Вывел русские символы, всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-11-18 : Начинать начинай, да смотри же — заканчивай! | + 14 | ||
За эту неделю: + Я проверил 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-11 : Тише едешь - дальше будешь. | + 14 | ||
За эту неделю: + Я проверил 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( |
|||
Клиент-серверный сокет Простейший сервер | + 13 | ||
На данный момент происходит прослушка с любой подсети, поэтому айпи адрес на сервере не использовали. Метод accept() запускает саму прослушку и ожидание любого подключения. После того как подключение было поймано далее идёт выполнение close(), который закрывает подключение и далее завершение приложения. найти время |
|||
Клиент-серверный сокет Что такое сокет | + 11 | ||
Повторение мать учения! 1 - что такое клиент-серверное приложение? клиент-серверное приложение, это когда приложение разбито на две части, одна находится на сервере, вторая раздаётся клиентам и общаются они по средствами передачи пакетов по сети. 2 - что такое серверный сокет? серверный сокет, это по сути ПОРТ, который умеет прослушивать и создавать соединение с тем, кто на него прислал пакет. 3 - что такое сокет? сокет это порт, при помощи которого передаются пакеты между приложениями по сети. 4 - зачем нужен айпи и сокет, чем они отличаются? айпи это адрес в сети, обычно уникальный (про натирование не будем) по нему идентифицируется точка отправки пакетов по сети, а сокет это порт, который идентифицирует какому приложению нужно обрабатывать пришедшие пакеты. з.ы. отличная аналогия с почтовыми отправлениями по адресам и номерам домов. найти время |
|||
Шифрование Ключевой обмен Диффи-Хеллмана | + 12 | ||
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 Найти время |
|||
Шифрование RSA - Де/шифровка | + 15 | ||
Так как был на вебинаре во время записи данных уроков, то повторение мать учения. Отличная серия уроков, всем советую, если хотите реализовать более безопасное хранение сейвов, передачу пакетов клиент-сервер или просто чатик со сквозным шифрованием. найти время |
|||
Шифрование RSA - Буквы столбиком | + 17 | ||
Повторение мать учения, всё отлично, идём дальше. найти время |
|||
Шифрование RSA - Открытый и секретный ключ | + 15 | ||
Повторение мать учения, идём дальше. найти время |
|||
Шифрование RSA - Простые случайные числа | + 15 | ||
Всё отлично, идём дальше. Найти время |
|||
Шифрование RSA - Экранная форма | + 11 | ||
Всё отлично, повторение мать учения, идём дальше. найти время |
|||
Шифрование RSA - Идея алгоритма | + 15 | ||
Так как был на вебинаре, повторение мать учения. найти время |
|||
Шифрование Поточный шифр - Дешифровка | + 15 | ||
Всё отлично, идём дальше. найти время |
|||
Шифрование Поточный шифр - Шифровка | + 16 | ||
Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-11-04 : Мала пчелка, да и та работает. | + 14 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. з.ы. в субботу отвлёкся и совсем забыл про суточную норму, вообще если суточной нормой занялся, надо сразу выделить время и сделать, а меня отвлекли и в голове отложилось, что вроде как делал, но в итоге ничего не отправил =) чистый лист. |
|||
Шифрование Поточный шифр Виженера | + 13 | ||
УСЁНТЭОИП з.ы. хотел вчера заняться данным уроком, но был занят до 2 ночи, поэтому делаю сегодня. Найти время |
|||
Шифрование Полиалфавитный шифр - Дешифровка | + 17 | ||
По поводу обратного ключа красивая математика. Всё отлично, идём дальше. Найти время |
|||
Шифрование Полиалфавитный шифр - Шифровка | + 14 | ||
Впереди паровоза бежать не буду, хотя и тривиальная задача, но на следующем уроке тоже надо чем то заниматься. Реализовал проверку недопустимых символов в ключе самым простым способом. найти время |
|||
Шифрование Полиалфавитный шифр - Ключевая таблица | + 11 | ||
Отличный урок, так же зацикливаю смещения, так что проблем не возникло. Идём дальше. найти время |
|||
Шифрование Полиалфавитный шифр - Форма | + 13 | ||
Периодически отвлекался, но успел доделать до конца дня. Всё отлично, идём дальше. Найти время |
|||
Шифрование Полиалфавитный шифр Виженера | + 15 | ||
Шифровка см. скрин Найти время |
|||
Дневник успеха 2018-10-28 : У ленивой пряхи и для себя нет рубахи. | + 12 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
Шифрование Перестановочный шифр - Рефакторинг | + 11 | ||
Да, не привычный урок, старого образца, явно просит разбиться на отдельные несколько уроков =) Найти время |
|||
Шифрование Перестановочный шифр - 2 этап дешифровки | + 13 | ||
Всё отлично, повторение мать учения. Идём дальше. Найти время |
|||
Шифрование Перестановочный шифр - 1 этап дешифровки | + 16 | ||
Всё отлично, идём дальше. Найти время |
|||
Шифрование Перестановочный шифр - 2 этап шифровки | + 10 | ||
Всё отлично, идём дальше. Найти время |
|||
Шифрование Перестановочный шифр - Алфавитный ключ | + 10 | ||
Да, для примера можно пока и такую сортировку реализовать. Всё ок, идём дальше. найти время |
|||
Шифрование Перестановочный шифр - 1 этап шифровки | + 9 | ||
Повторение мать учения. Идём дальше. найти время |
|||
Шифрование Перестановочный шифр - Форма | + 13 | ||
Повторение мать учения. Идём дальше. найти время |
|||
Дневник успеха 2018-10-21 : Глазам страшно, а руки сделают. | + 14 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
Шифрование Перестановочный шифр | + 14 | ||
Да, простенькое шифрование, баловались подобными вещами в школе =) найти время |
|||
On-line игра Прогулка за ручку | + 15 | ||
Так как у меня используется таймер в игре и перемещение персонажа инертно в нужном направлении, поэтому у меня два метода, одни устанавливает направление движения, добавил проверки, чтобы скорость перемещения не превышала по модулю единицу. Всё отлично, идём дальше. найти время |
|||
On-line игра Внутренний мир Субъекта | + 15 | ||
Я думаю что это верное решение, двигаемся далее. найти время |
|||
On-line игра Поиск монеток на поле Дураков | + 11 | ||
Повторение мать учения, отличный урок, тесты очень важная вещь и красиво выглядят зелёные галочки. Всё отлично, идём дальше. найти время |
|||
On-line игра Лабиринты тестирования | + 16 | ||
Всё отлично, тесты очень полезная штука, помогают отлавливать мелкие баги, опечатки и т.д. идём дальше. найти время |
|||
On-line игра Случайное тестирование | + 11 | ||
Так как у меня механика координат отличается, то и массив наполнен немного иными значениями для проверки. Всё отлично, идём дальше. найти время |
|||
On-line игра Тест обратной стороны Луны | + 14 | ||
Вот именно поэтому и нужно создавать тесты, те кто ещё не делают этого, думаю после данного урока поймут всю пользу от это деяния. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-10-14 : Поспешишь – людей насмешишь. | + 14 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
On-line игра 3. Тестирование. Тестовый прогон | + 12 | ||
Да, вручную создание тестов веселее, так как понимание как оно работает под капотом всегда полезно, тем-более для программистов =) найти время |
|||
On-line игра Собери монетки | + 10 | ||
Так как изначально придерживаюсь политики, что динамика со статикой не должны пересекаться и храниться в одном контейнере, то реализовал тоже самое так, что бы это работало. Реализовал подсчёт и отображение собранных монеток. Всё отлично, идём дальше. найти время |
|||
On-line игра Координатный рефакторинг | + 14 | ||
Всё отлично, идём дальше. найти время |
|||
On-line игра Ищи ветра в поле | + 19 | ||
Так как на карте статических объектов не хранятся динамические, то данная функция пригодится в будущем для поиска статики типо монеток. Всё отлично, идём дальше. найти время |
|||
On-line игра Дорога из жёлтого кирпича | + 13 | ||
Радует, что уроки короткие, не просто перевести дух, но и времени нет в силу катастрофического наплыва работы. Так как в игре уже реализованы три вида цветовой палитры, то просто доработал версию ViewColor, добавив свитч для выборки нужной комбинации fore/back, всё отлично, идём дальше. найти время |
|||
On-line игра Правила игры | + 19 | ||
Так как изначально все представления унаследованы от абстрактного IView, то изменения внёс только там. По поводу курсора да, скрыть и после передачи полученного символа передать true, чтобы отменять базовые действия в консоли при данном событии, получается что обработка кастомная. найти время |
|||
On-line игра Подходящий размер! | + 17 | ||
Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-10-07 : Не тот хорош, кто лицом пригож, а тот хорош, кто на дело гож. | + 15 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
On-line игра Координатный перебор | + 16 | ||
По поводу разделения динамических объектов и статических я ещё на прошлом уроке говорил и пока что мысль свою не менял. По поводу yield да, красиво и компактно. По поводу заезда на границы вопрос решён ещё в прошлом уроке в этом всё так же отлично работает. Всё отлично, идём дальше. найти время |
|||
On-line игра Генерация лабиринта | + 14 | ||
Не очень хорошая идея хранить динамические объекты на статической карте, так что персонаж у меня размечается по старинке, а карта подгружается из массива. найти время |
|||
On-line игра Шаги по карте | + 19 | ||
Да, функционал перемещения однозначно надо объединять, чтобы в одном месте всё было и тем самым синхронизировалось. Всё отлично, идём дальше. найти время |
|||
On-line игра Карта сокровищ | + 15 | ||
Создать экземпляр класса Level(), передав размеры new Coord(width, height), установив начальные координаты игрока через SetSubject() и далее двигать игрока по полю не забывая синхронизировать с картой при помощи Get/SetSubject() найти время |
|||
PHP графика VIP Самостоятельная работа | + 17 | ||
Добавил в базу хранение информации о размерах сгенерированной картинки, на которую накладываются водяные знаки и/или логотип, так же размеры миниатюры для отображения в режиме каталога. Так же провёл косметику формы редактирования/добавления, теперь всё более компактно выглядит. Для финального урока тоже есть что добавить и показать как это работает. Всё отлично, идём дальше. найти время |
|||
PHP графика Загрузка фоновых изображений | + 17 | ||
Всё это реализовал ещё на прошлых уроках, объединив файле edit.php, на этот раз провёл косметику и вывод каждого этапа для наглядности, если что-то бы выдало ошибку, было бы видно в каком месте именно. Отображаются исходные данные, они хранятся в отдельной директории, на основе записей в БД генерируются необходимые готовые картинки с наложениями либо просто водяного знака из текста, либо ещё добавляется логотип справа внизу картинки. Двигаемся дальше. найти время |
|||
Дневник успеха 2018-09-30 : Баловством хлеба не добудешь. | + 17 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
PHP графика Просмотр полученных изображений | + 18 | ||
Реализовал всё это ещё на прошлых уроках, добавил наложение водяного знака под 45 градусов поверх картинки, дублируемое циклично по всей поверхности. найти время, |
|||
PHP графика Сохранение записей и изменений | + 16 | ||
Реализовал данный функционал автоматом ещё на прошлых уроках, всё отлично, идём дальше. найти время |
|||
PHP графика И добавлять, и редактировать | + 17 | ||
Реализовал это ещё на прошлом уроке, всё ок. найти время |
|||
PHP графика Редактирование - данные на форму | + 16 | ||
Ещё на прошлом уроке это реализовал, в данном провёл косметику. Всё отлично. з.ы. поработать надо над стилем кода, Валер, если всё красиво и ровно, удобнее =) з.з.ы. продублировалось название файла, потому что в if и просто так добавляется, надо было добавить else, чтобы не было бы проблем, я использовал тернарник. найти время |
|||
PHP графика Редактирование - получение данных | + 16 | ||
Отличный урок, вывел массив полученной записи. Так же реализовал аналогичную табличку о записи с отображением в ней полученных данных из БД, где имеются возможность выбора через всплывающие меню, автоматически выбирается необходимый из списка элемент, который используется в данной записи из БД. Решил досмотреть видео до конца и чуть не поспешил, оказывается то что я планировал, надо как раз в следующем уроке делать =) найти время |
|||
Оригами Лягушка | + 16 | ||
Отличный урок, никакой воды, всё по делу =) найти время |
|||
PHP графика Удаление записи | + 17 | ||
Как всегда реализовал свою систему удаления записей через UPDATE, по средствам toggle SQL запроса, либо удалить, либо вернуть обратно, при этом сохраняется или очищается дата и время удаления в формате UNIX. На экране удаления отображается одна записать по аналогии списка записей на форме show, так нагляднее. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-09-23 : Много спать – дело не знать. | + 15 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
Бурные потоки VIP. Игры со словами | + 17 | ||
Решил этот урок ещё в 2016 году, когда он продавался в чашке кофе, все подробности в видео отчёте, приятного просмотра. найти время |
|||
Бурные потоки ФИНАЛЬНЫЙ УРОК | + 15 | ||
Суперский курс, отличное пособие для тех, кто впервые изучает потоки, даётся база, от которой легко отталкиваться в нужных направлениях. см. видео. Курс полноценный, но если спросите, нужен ли курс более продвинутый, то я скажу так: "думаю никто бы не отказался от этого, поэтому вопрос сам по себе является ответом" =) з.ы. Больше интересных и креативных курсов на проекте ему не повредит, а только сделает лучше =) найти время |
|||
Бурные потоки Смысл жизни | + 17 | ||
Отличное завершение замечательного мини курса. Курс хоть и короткий, но дано достаточно информации, чтобы дальше было куда пилить свои идеи. Ранее в комментариях читал, что курс кажется не завершённым, эта информация не подтвердилась, как говорится, по правилам MVP всё что нужно показано, даже немного лишнего (варианты синхронизаций). Естественно есть ещё что показать по этой теме, но тут не вторая часть нужна и не продолжение, а более развёрнутый новый курс, за основу можно и данный курс взять, либо придумать новых подопытных =) найти время |
|||
Бурные потоки Замри! | + 17 | ||
когда используются подобные конструкции, всегда должна быть проверка, а имеется ли вхождение в критическую секцию, поэтому добавил такую проверку и ошибки как в видео не случилось. Вариант с двойной вложенностью бесконечных циклов выглядит удручающе, но тут уже на вкус и цвет =) найти время |
|||
On-line игра Координатная структура | + 20 | ||
Не создавал конструктор в структуре, так как атрибуты публичные, то воспользовался инициализацией объектов. Добавил в структуру функцию Move(), тем самым код получился более компактным. см. скрин 2. з.ы. Структуры тоже можно создавать быстрее, см. скрин 1. Так же радует, что не приходится модифицировать каждый View, так как когда-то реализовал всё через общий абстрактный класс. найти время |
|||
On-line игра Показ героя на экране | + 21 | ||
Так как уже давно реализовал абстрактный класс aView, от которого и наследуются остальные View, то всё заработало ещё и половины урока не прошло, минимум изменений в одном файле, вместо каждого View. Всё отлично, идём дальше. найти время |
|||
On-line игра 2. Рефакторинг. Перечисление субъектов | + 20 | ||
Уже ранее говорил, ещё раз на скриншоте показываю где сразу можно найти нужные шаблоны для быстрого создания не только перечислений =) з.ы. лучше использовать целочисленные значения в перечислениях, но символы для обучения нагляднее. найти время |
|||
PHP парсинг XML ФИНАЛЬНЫЙ УРОК | + 20 | ||
Вместо магазина использовал XML для индексирования галерей фотографий. На данном курсе ничего нового не узнал, но повторение мать учения. Понравилась краткость изложения, всё по делу, ничего лишнего, продолжай в том же духе, Валера. Далее незавершённые курсы. найти время |
|||
Массивы в php 7 ФИНАЛЬНЫЙ УРОК | + 17 | ||
Отличный курс для новичков, хорошо раскрыты на практике основные приёмы работы с массивами. Спасибо, Валерий, продолжай создавать ещё интересные мини курсы, они помогут новичкам понять, что ничего сложного нет в программировании, достаточно фантазии и терпения. з.ы. На прошлой неделе открыл урок и с тех пор тикает время, подготовка и создание видео отчёта заняло в районе полу часа. найти время |
|||
Дневник успеха 2018-09-16 : Земелька черная, а белый хлеб родит. | + 16 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
Бурные потоки Приоритет | + 15 | ||
Судя по тому что на видео произошло по поводу коллизии с питонами при юзе Monitor в функции добавления символа на поле, а потом обрамили Monitor'ом всё, что было связано с вычислением шага и добавлением зайца на поле и всё стало отлично, явно прослеживается различие от lock(). Всё отлично, идём дальше. з.ы. Не добавлял lock() в функции Info(), так как эта функция уже обрамлена ранее через Monitor в цикле и всё отрабатывает отлично. найти время |
|||
Бурные потоки Бурная жизнь | + 15 | ||
Реализовал вероятность 50%, что кролик убежит от питона во время столкновения, всё отлично, идём дальше. найти время |
|||
Бурные потоки Поток питонов | + 15 | ||
Отличный урок, коротко и ясно, идём дальше. найти время |
|||
Бурные потоки Поворот головы | + 15 | ||
Рандомные цвета/направления, всё отлично, идём дальше. з.ы. подобное уже реализовывал пару лет назад, когда проходил урок по созданию игры: "Змейка" найти время |
|||
Бурные потоки Питонатор | + 15 | ||
Поиск места тарта питона вынес в отдельную функцию, так же мелкие рефакторинги кода. Реализовал функцию Show(), добавил 3 питона на поле. найти время |
|||
Бурные потоки Зайчики | + 17 | ||
Кроликов добавил ещё на прошлом уроке, на этом порефакторил проверки и функцию добавления. найти время |
|||
Бурные потоки Террариум | + 16 | ||
Реализовал функцию размещения кроликов, ничего сложного, одна строчка разбитая по правилу 70. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-09-09 : Труд человека кормит, а лень портит. | + 16 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
Массивы в php 7 Слияние, замена и магический compact | + 17 | ||
Да, с массивами можно творить и не такие чудеса =) всё отлично, идём дальше. найти время |
|||
Массивы в php 7 Сортировочный участок для массивов | + 17 | ||
Сортировка полезная вещь, как и повторение мать учения. Всё отлично, идём дальше. найти время |
|||
Массивы в php 7 Навигация по массиву | + 14 | ||
Уже использовал аналогичные вещи в одном из прошлых уроков при переборе элементов массива в цикле. Всё отлично, идём дальше. найти время |
|||
Массивы в php 7 Поиск элемента массива | + 18 | ||
Плавным движением руки брюки превращаются... =) Если объект в массиве не найден, то array_search() возвращает false найти время |
|||
Начало здесь День №8. ВИДЕОФИКСАЦИЯ УСПЕХОВ. | + 14 | ||
Добрался до финального урока за 4 суток, не знаю, как так вышло, что за сутки дважды были доступны уроки, но тем не менее курс пройден, УРА! Двигаемся дальше по курсу. найти время |
|||
Начало здесь День №8. Подведение итогов и составление Планов. | + 12 | ||
https://www.videosharp.info/10558/checking/power=2186 прикладываю отчёт прошлой недели, так как данная ещё не закончилась =) |
|||
Начало здесь День №7. Регулярный и Последовательный подход. | + 20 | ||
на данный момент 35 байт, осталось нафармить мегахэши. состою в КФ со дня его создания, а это было летом 2016 года. |
|||
Массивы в php 7 Получение массива из массива | + 18 | ||
Массивы отличная штука, по поводе отрицательных индексов, тоже отличная тема, если не знаешь размер массива, то чтобы взять последний элемент нужно запросить: ($arr, -1, 1). На скриншоте показал, что отсортировалась только копия массива, оригинальный остался не отсортированный. найти время |
|||
Начало здесь День №5. Создание игровых и прикладных Программ. | + 13 | ||
https://www.videosharp.info/10558/checking/lambda=826 Набрал сегодня 140 байт. |
|||
Функционал ФП - ФИНАЛЬНЫЙ УРОК | + 18 | ||
Отличный курс, но маленький, можно было ещё лучше раскрыть идею ФП. Лямбды и LINQ в целом отличные инструменты. Так как по времени курс не большой, то советую всем пройти, чтобы добавить знаний в копилку. найти время |
|||
Начало здесь День №4. Развитие Алгоритмического мышления. | + 18 | ||
уже 31 байт, но отправив данный отчёт и разместив ссылку в соц. сети будет 40, суточная норма. |
|||
Начало здесь День №3. Безошибочное владение Клавиатурой. | + 17 | ||
16 подходов 159 сим/мин 5 байт |
|||
Начало здесь День №2. Общение с Единомышленниками. | + 21 | ||
https://www.videosharp.info/19869/checking/game0=1602 |
|||
Дневник успеха 2018-09-02 : Кто любит труд, того люди чтут. | + 18 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
Начало здесь День №1. Создание микро-Привычки. | + 16 | ||
5 отчётов == 5 байт |
|||
Бурные потоки Вступление | + 18 | ||
Голову как минимум добавить надо, чтобы видно было чем он лопает =) всё отлично, идём дальше. найти время |
|||
Функционал ФП - Короткое замыкание | + 23 | ||
Да, напомнило сразу JavaScript, но так же напомнило и SQL, там тоже можно создавать процедуры, которые служат по сути для того же. найти время |
|||
Функционал ФП - Свой метод Where | + 19 | ||
Уже знал, да и применяли не раз в курсе "Онлайн шахматы", так что ничего сложного не было, идём дальше. найти время |
|||
Функционал ФП - Сортировка списка | + 20 | ||
Отличный плагин, но в 2017 он уже встроенный. найти время |
|||
Функционал ФП - Калькулятор | + 20 | ||
На видео 23 и 37 строчки идентичные, естественно ответ будет тоже идентичным. з.ы. По данному видео я понял окончательно как Ермишин стал знаменитым на данном проекте. Повезло ему, что в то время меня ещё не было на проекте =) сейчас за такое в чате на вебинаре можно получить как минимум кляп, вопрос был простой, поставьте плюсик все, кто это пишет впервые, он флудит по полной, совсем с логикой не дружит, не впервые, так молчи, условие же не выполнилось. найти время |
|||
Массивы в php 7 Сравнение массивов | + 20 | ||
Исходя из документации PHP, функции array_diff() и array_diff_key() отрабатывают верно. Возвращается массив со значениями, которых нет во втором передаваемом массиве или значения отличаются. Т.е. мы смотрим, что есть в первом массиве и если во втором массиве этого нет, то добавляем в результирующий массив и так далее. Если во втором массиве есть куча всего, чего нет в первом, это игнорируется. Сравнивается ли то, что имеет в первом массиве, всё просто, это уже знал ранее, удобная функция. Очень легко можно находить объекты массива, которые изменились в процессе каких либо действий в той или иной ситуации, особенно если идёт асинхронная работа с массивом и нужно мониторить что поменялось и обновлять информацию минимальными затратами. з.ы. пример: имеем массив футбольных команд, делается копия массива на начало месяца, в процессе месяца каждая из команд играют игры, обновляют каждая свою информацию по играм асинхронно, а чтобы увидеть какие команды имеют какие отличия от начала месяца по текущий момент, используем данную функцию, возвращаются нужные данные, которые потом легко обработать относительно копии на начало месяца и видеть постоянно актуальную информацию на текущий момент. з.з.ы. ждём продолжение банкета =) по поводу футбольной БД на постгрес в том числе даю намётки =) найти время |
|||
Дневник успеха 2018-08-26 Вот и лето прошло... | + 16 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
Массивы в php 7 Перебор элементов массива for | + 16 | ||
Работа с массивами это самое весёлое в PHP =) Реализовал перебор через foreach ещё на прошлом уроке, на данном уроке добавил перебор через for, чтобы результаты были аналогичными. Всё отлично, идём дальше. найти время |
|||
Массивы в php 7 Создание массивов | + 16 | ||
Повторение мать учения. Всё отлично, идём дальше. найти время |
|||
Массивы в php 7 Инструменты, профили и проект | + 15 | ||
Пора изучать фишки PHP 7. найти время |
|||
Система Git ФИНАЛЬНЫЙ КУРС | + 16 | ||
Прошёл весь курс по ссылке в последнем уроке, см. скриншот. Отличный курс, более полный чем прошлый, намного подробнее всё разжёвано, идея делать тоже самое по старинке отличная. Всё познаётся в сравнении. В курсе по ссылке тоже не всё раскрыто, но в любом случае база отличная. В будущем можно будет дополнить уроками с использованием фетч при работе с форками. Хотя получив такую базу, изучить далее фишки гита уже будет не сложно, главное было бы желание. Спасибо, идея и курс порадовали. найти время |
|||
Система Git win final | + 17 | ||
Да, определённо делать тоже самое через git намного удобнее, даже svn удобнее чем ручной метод, хоть он и олдскульный, но явно по скорости уступает, а про крупные проекты я вообще молчу, надо будет прибегать к сторонним ПО, чтобы было удобнее переносить конфликтные строки. Курс явно лучше прежнего, более подробный и наглядный, поглядим, что там по ссылке. найти время |
|||
Система Git remote merge | + 16 | ||
Ну в целом урок отличный, но всё крутилось вокруг одного аккаунта, а ремоут подразумевает использование второго аккаунта, у которого нет доступа к основному и он может максимум форкнуться, вносить изменения, создавать ветки, в ремоут держать основную репу с которой форкнулся и периодически обновляя её через фетч, мержить со своими наработками и пушить в свою репу, после чего на основной репе появляется кнопочка отправить на рассмотрение наработки, где могут быть комментарии, обсуждение и кодревью. Когда всех всё устраивает, создатель основной репы подтверждает предложенный код и он отправляется со всей его историй в основную репу основной ветки мастер. Судя по тому, что это предпоследний урок, данной красоты тут не предвидится, ну моглядим, что там в интерактивной курсе по ссылке в последнем уроке покажут. найти время |
|||
Система Git pingwin | + 16 | ||
Первым делом создал ветку для пингвина и увидел, что в уроке изначально этого не было сделано и подумал, ну в отчёте напишу, что так делать не надо, не правильный подход, а потом это было исправлено и не зря, в команде никто тебе не даст напрямую изменения пушить в мастер ветку, если ты не создатель репы или если тебе не предоставили такие привилегии создатели, обычно такого не бывает, каждый из участников разработки создают себе форки и отправляют ветки для одобрения в мастер, если всё ок, их одобряют и пушат в ветку мастер, если что-то не понравится до пуша, об этом прокомментируют с указанием на участок кода или в целом на идею коммита, если же ошибки обнаружат после пуша, то опять же всё зависеть будет от их критичности и как следствие от быстрого хотфикса, до отката коммита может дойти. найти время |
|||
Дневник успеха 2018-08-19 Отчёт за неделю | + 18 | ||
За эту неделю: + Я проверил 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 - Продолжить остальные незавершённые курсы. |
|||
Система Git win merge | + 18 | ||
Ну естественно git намного удобнее, чем вручную это всё перетасовывать, это пока мало строк, а если проект крупный, очень много времени будет уходить. Всё познаётся в сравнении! найти время |
|||
Система Git git merge giraffe lion | + 16 | ||
С нетерпением ждал данного урока по мержу, очень рад, что всё сделано верно, данный курс явно лучше прежнего, лучше проработан, по поводу фетча пока лишь затронули ранее, надеюсь раскроется реальное применение, если нет, будет ещё что показать в доп. уроках, так как пользуюсь им часто и он вторая ступень в купе с мержем. Всё отлично, идём дальше. найти время |
|||
Система Git git branch giraffe | + 16 | ||
Всё отлично, назревает конфликт =) найти время |
|||
Система Git git branch lion | + 15 | ||
Подкорректировал батник под новую структуру папок, так же добавил новый батник, который используется из папки stage, нужной ветки, получается так же в один клик переключение между ветками. Повторение мать учения, всё отлично идём дальше. найти время |
|||
Новые технологии VIP урок. Игра Жизнь | + 17 | ||
просто БОМБОВЫЙ урок, спасибо огромное, не мало я времени провёл, больше всего отняло время функция на основе динамического программирования, до утра просидел но довёл до конца, мысленно всё было реализовано, надо было отточить и обкатать, в итоге что классическая функция, что на основе динамик. программирования работают идеально при этом поле теперь единое целое, без границ, что очень хорошо видно на видео приложенном к данному заданию з.ы. ничего нигде не подглядывал, сам сидел всю ночь до утра и пилил, выпито: 1 литр кофе сделал иконку в фотошопе, так же сделал анимашку для показа пошагово как рисовал на поле в клеточку Урок был выполнен ещё в далёком 2016 году: https://www.videosharp.info/10558/checking/bilife=130 Тогда я попрактиковался в динамическом программировании, чтобы зациклить игровое поле. |
|||
Система Git hippo git fetch pull | + 15 | ||
Повторение, мать учения. з.ы. git fetch используется для других задач, в нашем случае он немного не в тему, а чтобы корректно обновить мастер после использования git fetch придумали git merge, но в нашем случае лучше воспользоваться git pull з.з.ы. Один из примеров использования git fetch, это когда ты воркнул чужую рему и решил её допиливать по своему, а в ремоуте держишь репу, с которой форкнулся, чтобы всегда легко и быстро держать свой репу в актуальном состоянии и разрешать конфликты при мерже, так как это ведь твоя репа - тебе и флаг в руки =) найти время |
|||
Система Git git push clone | + 16 | ||
Предпочитаю использовать ssh версию адреса для работы с внешними репозиториями, чтобы спрашивало только пароль. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-08-12 Отчёт за неделю | + 16 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 3 - 5 уроков по курсу: "Система Git" (новая версия курса). з.ы. прокладка локальной сети в новом офисе одного из клиентов. чистка и настройка нескольких рабочих ПК +ноутбук одному из клиентов. выбор, закупка, сборка, настройка и диагностика нового ПК на заказ. разработка адаптивного сайта на заказ. Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Создать видео отчёт для финального урока по курсу: "Сокобан". 3 - Закончить курс: "Система Git". 4 - Закончить курс: "PHP графика". 5 - Продолжить остальные незавершённые курсы. |
|||
Система Git git ignore | + 16 | ||
Повторение мать учения, всё отлично, идём дальше. найти время |
|||
Система Git git commit zebra | + 17 | ||
Повторение мать учения, но я архивирую корень папки stage, без добавления её самой в архив, это более корректно. Так же продемонстрировал несколько вариантов вывода логов, они пригодятся, когда будем разглядывать ветки. Всё просто, идём дальше. найти время |
|||
Система Git git commit reset diff | + 16 | ||
Повторение мать учения, всё отлично, идём дальше. найти время |
|||
Система Git git add checkout | + 19 | ||
Повторение мать учения, всё просто. идём дальше. найти время |
|||
Система Git git init | + 18 | ||
Да, лучше не лазить там, где не понимаете что происходит и зачем оно. хотя сам я давно уже в папке .git корректирую настройки под себя. если ранее локальный репозиторий был настроен неверно. Раз уж мы создали репозиторий git через баш, то и для win решил так же создать, явно видно. что это немного дольше, чем команда git init =) Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-08-05 Отчёт за неделю | + 18 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 3 - 1 олимпиадную задачу. 4 - 1 урок по курсу: "Карточки памяти" и завершил его полностью, записав видео-отчёт (случайно заметил, что появился финальный урок по данному курсу). 5 - 5 уроков по курсу: "Лендинг на YII2" и завершил доступные на данный момент уроки. 6 - 1 урок по курсу: "Система Git" (уже данный курс проходил, теперь появилась новая версия данного курса). з.ы. ещё бы минут 10 и успел бы с суточной нормой и отчётами, день был очень насыщенный, как всегда с ВС. Починил Мультиварку, пару наушников, два телефона на базе Android, один iPhone и один ноутбук. Сварил рассольник (люблю готовить). куча других домашних дел и походов по магазинам. |
|||
Система Git Добро пожаловать в Зоопарк! | + 18 | ||
Эх, ещё бы минут 10 и успел бы в концу недели завершить суточную норму. Ну значит пойдёт в зачёт к следующей =) найти время |
|||
Лендинг на YII2 Создание лендинг-страницы - анимация логотипа | + 17 | ||
Переключил в конфиге на ru-RU язык сайта, как видно внизу, теперь пишет по русский: "Работает на Yii...". Добавил анимацию для логотипа, изначальное невидимое состояние вынес в css файл. Всё просто, идём дальше. найти время |
|||
Лендинг на YII2 Создание лендинг-страницы - структура лендинга и дизайн заголовка | + 19 | ||
Добавил 8 битный шрифт, чтобы подчеркнуть стиль. Добавил два логотипа, один как картинка по центру, зуммируется в зависимости от размера экрана, второй как фон для секции приклеенный к правому нижнему углу, знаменитые цветные полосы. Вынес стили лендинга в отдельный файл, так же добавил поддержку изменения размеров шрифта в зависимости от размеров экрана, внёс щепотку адаптивности. Всё отлично, идём дальше. найти время |
|||
Лендинг на YII2 Создание лендинг-страницы - дизайн базового представления | + 18 | ||
Имя сайта изменил через конфиг. Вместо index возвращает landing страничку. Закомментировал остальные пункты меню (контроллер пока не чистил). Изменил текст в футере. Всё просто, идём дальше. найти время |
|||
Лендинг на YII2 Настройка ссылок | + 19 | ||
Повторение мать учения. найти время |
|||
Лендинг на YII2 Создание пустого сайта на YII2 | + 17 | ||
После прохождения уже не раз пошагового создания сайта с использованием Yii2, было не сложно скачать архив и распаковать, прописав рандомный код для куки. Всё просто, идём дальше. найти время |
|||
Карточки памяти ФИНАЛЬНЫЙ УРОК | + 20 | ||
Так же случайно заметил, что в данном курсе добавили пункт: "Финальный урок" и из-за этого курс стал не пройденным полностью =) Решил исправить это досадное недоразумение. На видео продемонстрировал три версии: Windows, WebGL и Android. Кто хочет поиграть в данную демо-версию, можете это сделать по данному адресу: http://dizzy-memory.jgp.su/ Отличный курс и портирование на Юньку его только улучшило. найти время |
|||
Дневник успеха 2018-07-29 Отчёт за неделю | + 18 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 3 - 1 урок по курсу: "Шарики" и завершил его полностью (случайно заметил, что один урок не доделан по данному курсу). 4 - 2 урока по курсу: "Футбольная база" (изучаем СУБД: Postgresql) и завершил доступные на данный момент уроки. 5 - 4 урока по курсу: "Мат Конём и Слоном" и завершил его полностью (не прошло и двух лет). Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Создать видео отчёт для финального урока по курсу: "Сокобан". 3 - Закончить курс: "PHP графика". 4 - Продолжить остальные незавершённые курсы. |
|||
Мат Конём и Слоном VIP урок с ладьёй | + 18 | ||
Послушал идею, пробежался по коду сам, везде подправил где надо, потом досмотрел видео, всё отлично, курс завершён, отличные алгоритмы, комбинаторика это сила. Советую всем, кому интересны изящные решения и финты ушами. Курс гениальный. найти время |
|||
Шарики VIP. Запуск игры на iPhone и Android | + 19 | ||
Обновил Юньку до 2018.2.1, обновил Android SDK до самой последней версии, но Юньке нужна именно 26 версия, поставил и её. Запустил игру на своём планшете с Андроид версии 4.1.2 без проблем, экран отлично адаптировался, музычка играет. найти время |
|||
Мат Конём и Слоном ФИНАЛЬНЫЙ УРОК | + 19 | ||
Замечательный курс, наконец я его закончил, а то на данном проекте столько вкусностей постоянно новых выходит, частые вебинары, рук не хватает всё охватить и сразу, поэтому данный курс был отложен и наконец завершён спустя пару лет. Луче поздно, чем никогда. Вперёд, к VIP уроку. найти время |
|||
Мат Конём и Слоном Чёрно-белый слон | + 19 | ||
Отличная оптимизация с использованием отзеркаливания. Всё отлично, движемся к финалу. найти время |
|||
Мат Конём и Слоном Последний ход | + 20 | ||
Цвета вынес в стили CSS, покраска всех лучших ходов отдельным цветом реализовал ещё на прошлых уроках. Всё отлично, идём дальше. найти время |
|||
Футбольная база Вы хорошо сохранились? | + 20 | ||
Консоль как всегда рулит, так же столкнулся с особенностями psql версии 10.х, сторонний софт не адекватно отрабатывает либо вообще с БД. либо не может делать бэкапы. pgAdmin который шёл в комплекте с OpenServer устаревший оказался для 10.х версии сервера, поэтому скачал самый последний pgAdmin с официального сайта, но консоль всё равно понравилась больше, через неё даже можно сохранять БД в текстовом формате, к которому привык ещё в MySQL. Всё отлично, идём дальше. найти время |
|||
Футбольная база Массивные игроки | + 19 | ||
Использовал все виды заполнения данных в зависимости от необходимости. Добавил всех футболистов сборной России и Испании. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-07-22 Отчёт за неделю | + 22 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 3 - 8 уроков по курсу: "On-line игра". 4 - 6 уроков по курсу: "Футбольная база" (изучаем СУБД: Postgresql). Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Создать видео отчёт для финального урока по курсу: "Сокобан". 3 - Закончить курс: "Мат Конём и Слоном". 4 - Закончить курс: "PHP графика". 5 - Продолжить остальные незавершённые курсы. |
|||
Футбольная база Добавляем всё! | + 22 | ||
Отвлекался несколько раз, поэтому время завышенное =) Занёс данные по своей схеме, поэтому поле побольше, чем в уроке, но в будущем их будет ещё больше. С флагом Англии пришлось повозиться, в стандартном наборе был флаг только Великобритании, был очень удивлён беспризорности Англии. Всё отлично, идём дальше. найти время |
|||
Футбольная база Представление имеем и ... используем | + 19 | ||
Скачал иконки стран мира и разместил их в папке images/flags/*.png Реализовал адаптивный дизайн отображения таблицы групп (похож на гугловский). В бд пока заполнены только первые две группы, так же нумерация реализована по аналогии с гугловской, от 1 до 4 в каждой группе. Интересная штука View в постгресе, мне понравилось. Всё отлично, идём дальше. найти время |
|||
Футбольная база Команды - в массив | + 19 | ||
Заполнил только первые две группы А и B, они и отобразились при запросе из БД. В запросе использовал альясы, удобная штука, позволяет укорачивать запросы. Всё супер, идём дальше. з.ы. как видно из запроса, у меня путь до получения данных о стране не такой короткий, но красивый. найти время |
|||
Футбольная база Подключение php к postgresql | + 17 | ||
Реализовал по аналогии с MySQL, использовав свой шаблон. Вынес подключение к БД в отдельный файл. Добавил иконки. Всё просто, идём дальше. найти время |
|||
On-line игра Игра в библиотеке | + 19 | ||
Вынес в библиотеку логику Game, интерфейс IView и абстрактный класс aView. Всё просто, ждём продолжения. найти время |
|||
On-line игра Видный интерфейс | + 18 | ||
Реализовал абстрактный класс aView, реализующий интерфейс IView. Реализовал ещё один ViewInvers, которые меняет местами фон и шрифт, получается фон белый, шрифт чёрный, см. скриншот. Использование абстрактного класса полезно для устранения дубликатов кода. Всё отлично, идём дальше. найти время |
|||
On-line игра Цветной телевизор | + 18 | ||
Реализовал вспомогательные функции установки цвета. Устранил баг заливки фона консоли при перемещении объекта, см. скриншот. Напрашивается обобщение View через интерфейс или абстрактный класс. Всё отлично, идём дальше. найти время |
|||
On-line игра Контроллер не спешит | + 18 | ||
Реализовал постоянное движение в заданном направлении. см. видео. Реализовал проверку, чтобы не объект не выходил за пределы игрового поля. Записал демонстрационное видео по удалёнке через Тимку, как будто я дома, а не в Саратовской области =) Всё просто, идём дальше. найти время |
|||
On-line игра Модель игры | + 19 | ||
Так как это всё было реализовано ранее в общем классе, то просто перенёс код в новый класс Game. Всё отлично, идём дальше. з.ы. Инкапсуляция воплоти =) найти время |
|||
On-line игра Представление выделяется | + 18 | ||
Вынес инициализацию в отдельный метод. Убрал мигающий курсор из консоли. Экземпляр класса View и координаты x, y сделал глобальными. Всё отлично, идём дальше. найти время |
|||
On-line игра Марионетка | + 18 | ||
Если ничего не нажимается на клавиатуре, то перерисовка в консоли не осуществляется. Всё отлично, идём дальше. найти время |
|||
On-line игра 1. Консольная игра. Добро пожаловать! | + 18 | ||
Начало положено, идём дальше. з.ы. так как ещё не известно, что получится, название может быть любым техническим, тогда не будет ограничиваться воображение. найти время |
|||
Футбольная база Остальные таблицы и замена на поле | + 16 | ||
Создал все таблицы со своей версии схемы БД. Всё отлично, идём дальше. найти время |
|||
Футбольная база Таблица Players - игроки из pgAdmin | + 17 | ||
Добавил новый справочник roles, добавив новую колонку в таблице players, где хранятся связи со справочником. Добавил всю сборную России, см. скриншот. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-07-15 Отчёт за неделю | + 18 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 3 - 4 урока по курсу: "Мат Конём и Слоном". 4 - 4 урока по курсу: "Футбольная база" (изучаем СУБД: Postgresql). Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Создать видео отчёт для финального урока по курсу: "Сокобан". 3 - Закончить курс: "Мат Конём и Слоном". 4 - Закончить курс: "PHP графика". 5 - Продолжить остальные незавершённые курсы. |
|||
Футбольная база Таблица Commands - пас кодировками | + 17 | ||
Урок полезный, по поводу кодировки, но я ещё в прошлых уроках заметил комментарий по поводу кодировки и поэтому перед тем как работать переключал кодировку в консоли на 1251 и далее уже добавлял записи с кириллицей. (см. скриншот) найти время |
|||
Футбольная база Таблица Groups: коварный id | + 16 | ||
Уже прослеживается принципиальная разница между MySQL, но пока не критичная, даже где-то логичная, некоторые вещи мне понравились, например, запрос на возврат отработки транзакции либо не запрашивать значение, это очень пригодится при работе с БД. Так же поддерживается добавление сразу нескольких значений за одну транзакцию, что тоже отлично и не удивительно. Вообще судя по тому, что я самостоятельно покопал, мне очень понравилось, чувствуется динамичность запросов, нет жёсткой логики, это приятно. Всё отлично, идём дальше. найти время |
|||
Мат Конём и Слоном Чёрные ходы на доске | + 17 | ||
Всё отлично, идём дальше. Немного порефакторил функцию, чтобы не дублировать вызов методов. найти время |
|||
Мат Конём и Слоном Сериализация Json | + 17 | ||
Присваиваемые стили вынес в файл CSS стилей. Так же добавил поддержку подсвечивания лучшего хода если таких более одного. (см. скриншот) Всё отлично, идём дальше. найти время |
|||
Футбольная база Создание базы данных | + 19 | ||
Да, отличия в синтаксисе имеются, но логика пока схожа с MySQL, всё отлично, идём дальше. найти время |
|||
Мат Конём и Слоном Дружба PHP с JavaScript | + 20 | ||
Все функции PHP реализованы в отдельном файле и подключается там где необходимо. Все функции JavaScript так же вынесены в отдельный файл и подключается по тому же принципу. Координаты не стал использовать глобально, реализовал их передачу в виде параметров. Использовал свои наработки по проверке передаваемых числовых данных с поддержкой любого числа, даже которое выходит за рамки обычного понимания. Всё отлично, идём дальше. найти время |
|||
Футбольная база Структура турнирной таблицы | + 20 | ||
Последняя неделя очень нагруженная, уже дважды не сплю вторые сутки, работа кипит, отличная идея, свои идеи (точнее реализацию БД) изложил на скриншоте =) з.ы. устранил недочёты в схеме с типами связок айди, спасибо всем, кто обратил внимание. Так же нашёл ещё недочёт в типах айди событий и доп. полей. Проверил остальное, вроде теперь всё в схеме, дальнейшие дополнению будут в процессе прохождению курса. найти время |
|||
Мат Конём и Слоном Создание PHP функций | + 16 | ||
Вынес функции PHP в отдельный файл. Создал отдельный файл test.php для тестирования новых функций. Немного порефакторинг проект. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-07-08 Отчёт за неделю | + 17 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 3 - 5 уроков по курсу: "SQL - ничего лишнего". 4 - 2 урока по курсу: "Футбольная база" (изучаем СУБД: Postgresql). з.ы. Записан видео отчёт по курсу: "SQL - ничего лишнего". Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Создать видео отчёт для финального урока по курсу: "Сокобан". 3 - Закончить курс: "Мат Конём и Слоном". 4 - Закончить курс: "PHP графика". 5 - Продолжить остальные незавершённые курсы. |
|||
SQL: ничего лишнего Группировки и функции | + 17 | ||
Отличный курс, ничего лишнего, база подана отлично, новичкам рекомендую, отлично провёл время при выполнении уроков. Структуру БД реализовал так как трактует мне личный опыт, поэтому запросы отличаются от тех, что были в уроках, но сути это не меняет, главное поставленная задача выполнена. Всем приятного просмотра, вторые сутки без сна сказались на качестве отчёта, но в целом мысль передал и на видео выполнил задачи последнего урока. найти время |
|||
Футбольная база Установка Postgresql | + 17 | ||
Так как в OpenServer имеется данная СУБД, то решил воспользоваться ею, при этом подключился через Navicat, думаю можно использовать не только его, но так как я им пользуюсь уже более 11 лет, то привык и он поддерживает управление многими популярными СУБД. Так же и из консоли OpenServer подключился, см. скриншот. Всё отлично, идём дальше. з.ы. с сайта я тоже скачал дистрибутивы, но в зипе, стараюсь не пользоваться инсталяторами, если есть зип версия. найти время |
|||
SQL: ничего лишнего Модификация таблицы | + 16 | ||
Добавил новую таблицу book_prices, где хранятся записи о ценах и с какого времени они внедрены, чтобы если была необходимость, можно было отобразить прошлую цену или историю изменения цен книги. Так же добавил поле count для хранения количества данной книги в наличии. Всё отлично, идём дальше. найти время |
|||
SQL: ничего лишнего Редактирование и удаление | + 17 | ||
Не люблю удалять записи из БД, лучше всего помечать их как удалённые по времени, после чего можно как угодно проверять наличие удалённых записей доп условием, к примеру, отображать все записи и удалённые не более 15 минут назад, чтобы можно было отменить удаление. Как видно из скрина номер 2, транзакция работает в тагл режиме, либо удаляется, устанавливая текущее время удаления, либо отменяет удаление, обнуляя поле, после того как запись уже давно удалена, можно реализовать систему REUSE для подобных полей, чтобы перезаписать значения эмитируя добавление новой записи и обнуляя поле удаления. Специально для того, чтобы избегать фрагментации БД и соответственно падения производительности. найти время |
|||
SQL: ничего лишнего Могучий JOIN | + 17 | ||
Всё отлично, идём дальше. найти время |
|||
SQL: ничего лишнего SELECT математика текст и NOT | + 17 | ||
Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-07-01 Отчёт за неделю | + 18 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 3 - 3 урока по курсу: SQL - ничего лишнего. 4 - 4 урока по курсу: Мат Конём и Слоном. Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Закончить курс: PHP графика. 3 - Продолжить остальные незавершённые курсы. |
|||
SQL: ничего лишнего Select начало | + 18 | ||
Повторение мать учения. найти время |
|||
SQL: ничего лишнего Добавление книг и тем | + 16 | ||
Добавил несколько книг, авторов и тем. Так же добавил связи между ними в спец. таблицы. Всё отлично, идём дальше. з.ы. в таблицу books добавил поле year, для хранения года создания/первой публикации. найти время |
|||
Мат Конём и Слоном Четыре фигуры на доске | + 16 | ||
Всё отлично, идём дальше. найти время |
|||
SQL: ничего лишнего План базы данных и создание таблиц | + 16 | ||
Ничему новому, всё пройденный этап, единственное создал вспомогательные таблицы для нормализации, чтобы была поддержка нескольких авторов и тем для одной книги, так же это устраняет избыточность БД. найти время |
|||
Мат Конём и Слоном План визуализации | + 18 | ||
Курс "Нано-шахматы" пройден ещё в июле 2016 года, так что UI имеется =) всё отлично, идём дальше, новые идеи могут родится в процессе разработки. найти время |
|||
Мат Конём и Слоном Игра без массива | + 18 | ||
Отличный урок, присутствовал на вебинаре во время его записи, идём дальше. найти время |
|||
Мат Конём и Слоном Шестнадцать мегабайт | + 18 | ||
После того как вы изменили find = true; и закомментировали цикл на время тестирования без проверки корректности хода, обратно вы только раскомментировали цикл, а переменную find забыли вернуть в состояние false; поэтому и не срабатывала проверка на валидность хода короля. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-06-24 Отчёт за неделю | + 17 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 3 - 3 урока по курсу: PHP графика. 4 - 2 урока по курсу: SQL - ничего лишнего. 5 - 2 урока по курсу: Мат Конём и Слоном. Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Закончить курс: PHP графика. 3 - Продолжить остальные незавершённые курсы. |
|||
SQL: ничего лишнего Запуск mysql-консоли и создание базы данных | + 17 | ||
Повторение мать учения, идём дальше. найти время |
|||
SQL: ничего лишнего Инструменты и доступ | + 16 | ||
Так как пути прописаны в PATH, то не нужно было переходить в папку мускуля, чтобы узнать его версию =) всё отлично, идём дальше. найти время |
|||
PHP графика Таблица записей в index | + 15 | ||
Вынес необходимый функционал работы со статикой и генерацией путей в отдельные функции. В БД хранятся индексы статичных данных, которые используются при генерации исходного изображения. Таблица show.php отображает данные о компонентах, которые используются для генерации исходного изображения. Всё реализовал вначале сам, потом посмотрел видео. Всё отлично, идём дальше. найти время |
|||
PHP графика Добавление данных в БД | + 15 | ||
Всё отлично, реализовал добавление записей, потом посмотрел видео, идём дальше. найти время |
|||
Мат Конём и Слоном Экономия памяти | + 17 | ||
Так как присутствовал на вебинаре при записи уроков, то проблем с реализацией Save() и 32 не возникло, см. скриншот. Функцию Load() оставил на потом, чтобы было чем заняться. найти время |
|||
Мат Конём и Слоном Сериализация матрицы ходов | + 22 | ||
Продолжаем потихоньку проходить пройденное. Отличная оптимизация с 1,3гиг до 90мб, но это не предел, так как я был на том вебинаре, всё отлично, идём дальше. найти время |
|||
PHP графика Форма Edit | + 20 | ||
Как я ранее говорил, в процессе реализации может появиться необходимость в модификации и/или дополнения, что и вышло, см. скриншот. Это не окончательная версия, так что движемся дальше. найти время |
|||
Дневник успеха 2018-06-17 Отчёт за неделю | + 23 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 3 - 2 урока по курсу: PHP графика. 4 - 5 VIP уроков по курсу: Шахматы по сети (закончил курс). з.ы. Наконец закончил курс из 95 уроков: Шахматы по сети. Эпичный курс, всем советую, очень много полезного узнаете для себя. Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Закончить курс: PHP графика. 3 - Продолжить остальные незавершённые курсы. |
|||
PHP графика Несколько SQL-запросов | + 22 | ||
Повторение мать учения =) Всё отлично, идём дальше. найти время |
|||
PHP графика Правильные шрифты | + 24 | ||
Так как это всё используется мной уже давно и в данном курсе это использовано на прошлых уроках, то просто посмотрел видео и добавил к тексту кириллицу для теста корректного отображения кодировки. Всё супер, идём дальше. найти время |
|||
Шахматы по сети VIP. Меню DimanDOSа | + 24 | ||
Так как меню добавил уже давно, доработки для видео-отчёта к финальному уроку https://www.videosharp.info/10558/checking/chess3=2004 Поэтому данное видео просто посмотрел, молодец, Дим, продолжай в том же духе =) з.ы. Замечательный курс, всем советую, отличный опыт и практика, дальше завершение начатых курсов. найти время |
|||
Шахматы по сети Рефакторинг. Последний аккорд | + 20 | ||
Очень объёмный курс как по количеству уроков, так и по количеству затрагиваемых технологий. Курс однозначно не для новичков, советую для начала прокачать навыки по C# как минимум, потом уже браться за данный курс, тут очень много подводных камней, особенно к концу курса, зато если вы его пройдёте, получить отличный опыт. Всем спасибо и удачи. з.ы. по поводу данного урока, это всё было проделано ещё к финальному уроку, поэтому просто посмотрел. Кстати, там же ещё добавить надо проверку на стадию выбора повышения пешки, пока не выбрал в кого превратиться, чтобы тоже ничего не перерисовывало. найти время |
|||
Шахматы по сети Рефакторинг. Финальное причёсывание | + 17 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Двухэтажное превращение | + 19 | ||
Так как уже давно поддержка сети и помимо этого множество свои доработаток, функции, которые необходимо было реализовать в уроке у меня выглядят чуток иначе. Отличный урок для проверки своих навыков по рефакторингу того, что у тебя может отличаться кардинально, добавил по этому поводу комментарий к уроку. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Класс шахматной игры | + 20 | ||
Так как уроки по рефакторингу были записаны перед тем как разработали функционал игры по сети, а один из уроков был перенесён выше, то в этом уроке немало не стыковок по коду с тем, что имеем на текущий момент. Поэтому добавил к описанию информацию по этому поводу для тех, у кого не очень много опыта и могут запутаться в коде. В любом случае, для тех, кто владеет ситуацией и достаточно опытен, что понимает то, что происходит на экране, без труда справится с задачей, особенно если имеются собственные наработки. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-06-10 Отчёт за неделю | + 18 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 4 - 1 урок по курсу: PHP графика. 5 - 13 VIP уроков по курсу: Шахматы по сети (почти закончил курс). з.ы. Так же записал видео-отчёт по курсу: Шахматы по сети. Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Закончить курс: PHP графика. 3 - Продолжить остальные незавершённые курсы. |
|||
Шахматы по сети Рефакторинг. Потерянная пешка | + 18 | ||
Урок конечно длинный, не привычно после череды коротких, но зато эпичный, отлично показаны будни отлавливания багов и обдумывание их решений. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Волшебник изумрудного ящика | + 18 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Хоровод из четырёх фигур | + 17 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Шахматная независимость | + 18 | ||
Так как в данном уроке код пересекается с собственными доработками, то так же передаю нужно ли помечать клетки или нет, после того как было снята пометка со всех клеток, к примеру: не ваш ход или игра ещё не началась, поиск соперника и т.д. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Клетка в клетке | + 17 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Спрайт, не дай себя заинтерфейсить | + 17 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Вынос переноса | + 18 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Многоклеточная сущность | + 18 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Ящик с фигурами | + 18 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Интерфейсная прослойка | + 18 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Чёрный ящик | + 25 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. Координатные трансформации | + 25 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Рефакторинг. С чего начать? | + 26 | ||
Во время рефакторинга как минимум надо разделить код по логике: рендеры, работа со звуком, работа с меню и т.д. по отдельным файлам/классам. Начало положено, идём дальше. найти время |
|||
Шахматы по сети Клиент. ВОСЬМОЙ ФИНАЛЬНЫЙ УРОК | + 26 | ||
Бомбовый курс, один их флагманов данного проекта, советую абсолютно всем, кто заинтересован в понимании создании онлайн проекта с нуля и до финального состояния. Внедрил системы поиска противника, ожидание начала игра. Как только нашлись двое желающих, игра начинается. Добавил поддержку звуковых эффектов и музыки, так же возможность их отключать/включать. Добавил меню для настройки пользователя, которым хотите играть, каждый пользователь имеет уникальный идентификатор. Добавлена поддержка параллельных игр разными пользователями. Добавлена поддержка https протокола, безопасность не бывает лишней. Удачного просмотра видео. найти время |
|||
PHP графика Рефакторинг & connect | + 25 | ||
Рефакторинг уже был проведён ранее в процессе написания, но вынес сгенерированные картинки в отдельную папку, чтобы не перемешивались с исходниками. Файл подключения к БД реализовал по своему, см. скриншот, для больше наглядности и дебага проблем с подключением к БД. Размер шрифта водяного знака увеличил с 15 до 25, см. скриншот. Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-06-03 Отчёт за неделю | + 26 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 4 - 3 урока по курсу: PHP Повелитель дат (закончил курс). 5 - 4 урока по курсу: PHP графика. Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Закончить курс: PHP графика. 3 - Записать видео отчёт по курсу: Онлайн шахмат. 4 - Продолжить остальные незавершённые курсы. |
|||
PHP графика Создание базы данных | + 26 | ||
Создал таблицу images, где поля назвал по аналогии с задачей, на данный момент такова: images <-- название таблицы с данными о расположении картинок и их атрибутов для генерации. id <-- классическое поле, он уникальный идентификатор записи в таблице. name <-- имя файла картинки исходника. path <-- путь где лежит исходная картинка. watermark_text <-- если значение установлено, накладывается как водяной знак поверх исходной картинки. watermark_img <-- если значение установлено, накладывается как водяной знак поверх исходной картинки. в процессе структуру таблицы может быть изменениа/оптимизирована. найти время |
|||
PHP графика Открытку в студию | + 25 | ||
Всё это сделал ещё на прошлом уроке и даже больше, тут лишь подгрузил фоном картинку, водянки как видим красиво располагаются поверх логотипа проекта. И да забыл, ещё в прошлый раз использовал кастомный шрифт ttf, так же ещё с прошлого раза сохранялась картинка в формате jpg, а при загрузке проверялся формат картинки png, jpg или gif и выбирался тип загрузки изображения, чтобы не было казусов с прозрачностью и т.д. В общем функцию изначально реализовал ещё гдето в 2010 году, до сих пор актуальна, но решил чуток модифицировать, добавив настройку размера шрифта водянки, относительно шрифта и интервалы задаются при генерации сетки расположения текста. Так же поддержка установки угла строки водянки от 0 до 90 градусов. Я использовал в уроке угол 45 градусов. Сохраняются сгенерированныйе файлы в туже папку с исходной картинкой и с тем же именем, откуда и подгружается в html для вывода результата. Так же отображается выше отображения картинки строка результата работы генератора, удалось или нет. Так как если скормить не поддерживаемый формат, уже выдаст ошибку о том, что не удалось. Есть выбор цвета заливки фона, на который будет накладываться текст и/или подгружаемое изображение. з.ы. Так как в функции всё вычисляется относительно выбранного размера исходной картинки, то и логотип, который подгрузился для фона, расположился по центру картинки, так как оказался меньше результируюшего размера, если бы картинка была больше чем окончательный размер, то она была бы подогнана пропорционально. найти время |
|||
PHP графика Надпись - в картинку | + 25 | ||
После того как реализовал многие плюшки, решил кое что упростить, а кое что отключить, чтобы было что делать в след. уроках. заставить себя упростить ранее созданную функцию для данных задач. |
|||
PHP графика Где находится библиотека | + 25 | ||
Всё просто, идём дальше. найти время |
|||
PHP Повелитель дат Дату - в массив | + 26 | ||
Отличный видео курс, маленький но удаленький!!! Каждому кто занимается разработкой в бекенде на php пригодится однозначно, часто бывает, что информация о дате предоставляются в специфическом формате и парсить её по шаблону проще пареной репы. Очень полезные знания для каждого, а особенно приятно, что это на php, один из любимых языков бекенда. Спасибо, Валерий, отличные пирожки печёшь =) найти время |
|||
PHP Повелитель дат Туда, сюда, обратно... | + 26 | ||
Да, отличный функционал, удобно и просто, идём дальше. найти время |
|||
PHP Повелитель дат Произвольная дата | + 26 | ||
Отличный урок, ранее уже это использовал, повторение мать учения. движемся дальше. найти время |
|||
Дневник успеха 2018-05-27 План на следующую неделю | + 25 | ||
На неделе было выполнено: 1 - 7 случайных консольных задач. 2 - 7 наборов соло-программиста. 3 - 2 VIP урока по курсу: Шарики. 4 - 3 урока по курсу: PHP Повелитель дат. 5 - 4 урока по курсу: PHP парсинг XML. Планы на неделе: 1 - Создать видео отчёт для финального урока по курсу: PHP парсинг XML. 2 - Закончить курс: PHP Повелитель дат. 3 - Записать видео отчёт по курсу: Онлайн шахмат. 4 - Продолжить остальные незавершённые курсы. |
|||
PHP Повелитель дат Неделя по-русски | + 25 | ||
В уроке использовалось время в формате UNIX, это количество секунд от 1 января 1970 года, а не миллисекунды, ошибочка =) Но так как по заданию нужно было вывести именно в миллисекундах, то я реализовал две функции, одна из которых показывает количество миллисекунд от 1 января 1970 года, другая показывает в микросекундах. Всё просто, идём дальше. найти время |
|||
Шарики VIP. Интерфейс пользователя на Unity | + 26 | ||
Отвлекался, но всё же портировал часть наработок, остальное оставил на следующий урок, чтобы было чем заняться. Реализовал адаптивность под разные разрешения. Портировал звуковые эффекты и музычку. Всё отлично, идём дальше. найти время |
|||
PHP Повелитель дат Разбор форматов | + 32 | ||
"G" это 24-часовой формат без нуля спереди, т.е. от 0 до 23, а "H" тоже самое, только с нулём спереди, от 00 до 23, этот вариант мне больше нравится. Всё просто, идём дальше. найти время |
|||
PHP Повелитель дат Текущее время проекта | + 28 | ||
вывод месяца сделал числовое, первым идёт год, привычка именно так сортировать. Часы вывел в 24-ом формате. Всё просто, идём дальше. найти время |
|||
PHP парсинг XML Редактируем и сохраняем | + 22 | ||
Как видно из скриншотов, дата изменения файла отличается до и после редактирования. Циферки которые выводились, это количество байт, которое было записано в xml файл, очень полезная инфа. Использовал её после процесса редактирования, как видно из скриншота. Мелкие доработки и марафет. Отличный урок как всегда. найти время |
|||
PHP парсинг XML Волшебная ссылка | + 22 | ||
Реализовал ещё на прошлом уроке, в этом чуток порефакторил, добавив доп. проверки и преобразования строки к числу =) найти время |
|||
Шарики VIP. Рефакторинг Библиотеки | + 24 | ||
Всё отлично, аккуратно вынес логику не затрагивая свои наработки, двигаемся дальше. найти время |
|||
PHP парсинг XML Готовим форму | + 25 | ||
Добавил передачу айди через GET запрос, всё просто, идём дальше. найти время |
|||
PHP парсинг XML Хаос - в таблицу | + 24 | ||
Реализовал генерацию немного иначе, выглядит веселее, как мне кажется. Всё просто, идём дальше. найти время |
|||
Дневник успеха 2018-05-20 Отчёт за неделю | + 22 | ||
На неделе было выполнено: 7 случайных консольных задач. 7 наборов соло-программиста. 1 урок по курсу: Мат Конём и Слоном. 6 уроков по курсу: PHP парсинг XML. з.ы. по мере свободного времени работаю над "Онлайн шахматами" (подготовка для видео отчёта) найти время |
|||
PHP парсинг XML Универсальный рефакторинг | + 22 | ||
Ничего нового, реализовал генерацию имени файла на основе текущей даты и времени, так же если было указано имя файла, добавляется разделитель и само имя после даты и времени для более удобной сортировки при просмотре содержимого директории. Для более компактного списка передаваемых параметров использовал передачу продукта в виде массива. На скриншоте продемонстрирована генерация файлов при добавлении имени и без. найти время |
|||
PHP парсинг XML Изменяемый XML | + 26 | ||
Всё просто, идём дальше. найти время |
|||
PHP парсинг XML Функциональный функционал - в функции | + 25 | ||
Ничего нового, всё супер, идём дальше. найти время |
|||
PHP парсинг XML Чтение из XML-файла | + 28 | ||
Всё отлично, идём дальше. найти время |
|||
PHP парсинг XML Создание XML-файла | + 27 | ||
Всё отлично, идём дальше. найти время |
|||
PHP парсинг XML Создание проекта | + 24 | ||
Всё это было установлено уже давно, так как активно в этом работаю. По поводу кодировки, у меня сразу корректно отобразило кириллицу, так как в самом сервере настроено, чтобы сразу выдавало сайты в utf8 кодировке, ибо другие не использую. найти время |
|||
Мат Конём и Слоном Нано Шахматы | + 25 | ||
Курс "Наношахмат" пройден уже давно, ссылка на финальный урок с видео отчётом: https://www.videosharp.info/10558/checking/chess=861 пункты от 0 до 6 сделано, от 7 до 9 что-то припоминаю, но точно не помню когда и в каком курсе это реализовали, в любом случае, далее по ходу это будет реализовано, повторение мать учения =) найти время |
|||
Дневник успеха 2018-05-13 Отчёт за неделю | + 23 | ||
На неделе было выполнено: 7 случайных консольных задач. 7 наборов соло-программиста. 2 урока по курсу: Мат Конём и Слоном. 3 урока по курсу: Карточки памяти. 2 урока по курсу: Портфолио на Bootstrap. з.ы. Выполнил новые уроки по курсу: "Карточки памяти" и завершил на данный момент этот курс. Полностью завершил курс: "Портфолио на Bootstrap". Выполнил первую половину курса: "Мат Конём и Слоном", отправив отчёт за полуфинал. найти время |
|||
Мат Конём и Слоном ПОЛУФИНАЛЬНЫЙ УРОК | + 23 | ||
Первая половина очень насыщена. Задействован нестандартный подход к решению, использовал yield, что очень интересно, так же задействована система очередей, что тоже не мало важный факт в доп. практике. Так как я был почти два года назад на вебинарах, во время которых записывалась данная часть курса, то затруднение никаких не вызвало, наоборот, спустя время данный уроки стали ещё понятнее и яснее, практика сила!!! =) найти время |
|||
Мат Конём и Слоном Мат в 33 хода. | + 25 | ||
Реализовал вывод на русском с корректным окончанием числительных. Проверки первые 4 комбинации из видео всё 1х1 и заодно демонстрация числительных. Доп. задания не делал и так урок затянутый, записывался пару лет назад, теперь уроки короче и это радует, больше времени и сил на самостоятельную работу. найти время |
|||
Карточки памяти VIP-загрузка на Android | + 25 | ||
Доработал поддержку любых разрешений экрана устройств без нарушения пропорций объектов игры. Реализовал поддержку звуковых эффектов и музыкального сопровождения. Протестировал на всех доступных разрешениях в самой Юньке и на своём планшете, см. видео. Проблем с которыми столкнулись в видео не возникало, кроме поддержки прозрачности в некоторых файлах, но это можно отдельно подправить именно для Android устройств, выбрав необходимый формат перекодирования графики. найти время |
|||
Карточки памяти Неуловимая птичка | + 23 | ||
Перенёс свои наработки, адаптировал их под реалии Юньки, всё отлично работает. Музыку, звуки и т.д. фишки пока не стал реализовывать, а то появятся новые уроки и будет нечем заняться. По поводу видео у меня произошло дежавю, так как уже аналогичные телодвижения с подключением dll в проект на Юньке делали в недавнем курсе по "Онлайн шахматам" и я уже высказал своё мнение по этому поводу, поэтому могу лишь добавить, что у меня проблем не возникло как и в прошлый раз, заняло это пару кликов. Жду дальнейшие уроки по украшательствам, чтобы внедрить идеи и реализовать поддержку звуковых эффектов. найти время |
|||
Карточки памяти Открытие по щелчку | + 27 | ||
Реализовал при клике по кнопкам, отображение картинок за шторками и цикличность анимации шторок. Не переносил необходимые картинки на пол за пределами камеры, реализовал это через префабы, удобная штука. Реализовал загрузку всех текстур картинок и кадров анимации шторок во время запуска игры. Всё отлично, идём дальше. найти время |
|||
Портфолио на Bootstrap Делаем главную страницу | + 27 | ||
Отличный мини курс по бутстрапу, отличная практика, вторая часть напрашивается по php для создание простого движка для генерации данных страниц. Так сказать для наглядности, чтобы показать, что ручное наполнение сайта это уже не наш метод =) з.ы. когда закончил, увидел, что уже 9 число, не успел вовремя залить отчёт, ну и ладно. =) найти время |
|||
Портфолио на Bootstrap Оформляем footer | + 30 | ||
Немного провёл косметику футера, чтобы выглядело веселее. Как всегда отличный урок, всё супер, идем к финалу. найти время |
|||
Дневник успеха 2018-05-06 Отчёт за неделю | + 24 | ||
На неделе было выполнено: 7 случайных консольных задач. 9 наборов соло-программиста. 1 урок по курсу: Базовый ASP.ект. 4 урока по курсу: Карточки памяти. 5 уроков по курсу: Портфолио на Bootstrap. з.ы. Выполнил новые уроки по курсу: Курс "Карточки памяти" и завершил на данный момент этот курс. найти время |
|||
Портфолио на Bootstrap Работа над ошибками | + 23 | ||
Да, так намного лучше, плюс в прошлом уроке был лишний класс описан в CSS, забыл совсем об этом сказать, когда пытались увеличить размер иконки скачивания или ссылки на внешний сайт. Так же добавил и ссылку на скачивание и ссылку на внешний сайт для каждой из работа. Всё супер, идём дальше. найти время |
|||
Портфолио на Bootstrap Подробности в модальное окно | + 23 | ||
Добавил 5 работ, ещё не все, остальные будут добавлены позже, когда доберёмся до php =) такие вещи удобнее генерировать, ибо очень много избыточности ручной. найти время |
|||
Базовый ASP.ект Выбор темы для проекта | + 24 | ||
Каталог шедевров игровой индустрии различных платформ за всю историю человечества, авторский проект личного мнения (эдакий клуб по интересам). Пока основные вещи, которые нужно реализовать. / - главная страница. /add - добавить новую запись с выбором пункта платформы. /hide - удалить запись из общего доступа. /search - поиск по всем платформам /<платформа> - полный список игр данной платформы. /<платформа>/add - добавить запись в данную платформу. /<платформа>/search - поиск по данной платформе. найти время |
|||
Карточки памяти Горизонтальное и Вертикальное | + 23 | ||
Так как это всё проделал ещё на прошлом уроке, то просто просмотрел видео. Идея интересная, но так как я реализовал по своему, а именно, чтобы поле и картинки сохраняли свои пропорции, то на свою реализацию у меня ушло несколько минут. найти время |
|||
Карточки памяти Авоська картинок | + 23 | ||
Эксперименты штука хорошая. Грид использовать не стал, хотя идея интересная, но решил реализовать поддержку любых разрешений экрана и отображение поля через канвас со спрайтами. Использовал так же кнопки, но для другой задачи, реализую систему анимации через них =) Так же реализовал автоматическую подгонку игрового поля во весь экран без изменения пропорций игрового поля. найти время |
|||
Карточки памяти Запуск Unity с картинками | + 23 | ||
Всё отлично, идём дальше. найти время |
|||
Карточки памяти Персональные картинки | + 23 | ||
Такс, новые 4 урока, отлично, движемся. з.ы. Новые картинки не хочу, хочу Диззи =) найти время |
|||
Портфолио на Bootstrap Размещение работ портфолио | + 24 | ||
Урок как всегда на высоте, всё разжёвано от и до. Всё отлично, идём дальше. Найти время |
|||
Портфолио на Bootstrap Рефакторинг страницы | + 28 | ||
Подключил два шрифта, один для всего сайта, второй для логотипа. Подключение использовал через CSS, чтобы не захламлять HTML код. Всё отлично, идём дальше. найти время |
|||
Портфолио на Bootstrap Подготовка картинок для портфолио | + 28 | ||
Поднял свои старые архивы сайтов, сделал 14 скриншотов и их уменьшенных копий, я пользую другой программой для пакетного преобразования, называется: FastStone Image Viewer, имеются ещё аналоги, но они для более крупного количества графических файлов подходят. Всё отлично, идём дальше. Найти время |
|||
Дневник успеха 2018-04-29 Отчёт за неделю | + 22 | ||
На неделе было выполнено: 7 случайных консольных задач. 7 наборов соло-программиста. 1 урок по курсу: Лендинг на YII2. 1 урок по курсу: Наноигры. 3 урока по курсу: Карточки памяти. 3 урока по курсу: Портфолио на Bootstrap. з.ы. Курс "Карточки памяти" завершён на данный момент. найти время |
|||
Портфолио на Bootstrap Фиксированная панель и субменю | + 22 | ||
Надеюсь к хеадеру вернёмся, а то он за фиксированным меню спрятался и не отображается. А так всё ок, движемся дальше. найти время |
|||
Лендинг на YII2 Тема и структура лендинг-страницы | + 27 | ||
Лендинг штука хорошая, всё отлично, идём дальше. найти время |
|||
Карточки памяти Класс в Библиотеке | + 21 | ||
Так как уже подобное реализовывал сам, то и данный урок выполнил самостоятельно, потом посмотрел, как видно из скриншота, библиотека в данном случае автоматически копируется рядом с бинарником игры и именно оттуда и берётся референс, а не с папки проекта самой библиотеки. И второе уточнение, версия библиотеки не обязательно должна быть такой же как и версия приложения/игры, но она должна быть не выше, т.е. я сделал версию библиотеки 3.5, а версию игры оставил 4.5 и всё работает отлично. Это логично, так как проект, который использует новую версию или туже, он понимает свои версии и ниже, а проект к которому подключена более современная библиотека, он не понимает что с ней делать. найти время |
|||
Карточки памяти Классовая независимость | + 22 | ||
Перенести логику не составило труда, вначале это сделал, потом досмотрел видео. Оптимизировал создание новой игры, теперь закрывают только те окошки, которые в момент создания новой игры были открыты. Изза того, что у меня реализована анимация открывания/закрывания шторок, то пришлось устранить слишком раннюю замену перемешанных картинок, чтобы в момент закрывания шторок не подглядеть кто где в новой игре =) Поддержка звуковых эффектов осталась не перенесённой. Поддержку анимации перенёс в класс логики. Реализовал необходимые геттеры/сеттеры для получения информации о игровой статистике. Всё отлично, идём дальше. найти время |
|||
Карточки памяти Независимый класс | + 22 | ||
Так как я реализовал игрушку по своему с кучей доработок, то у меня индексы клеток от 0 до 15 и при клике по правой-нижней клетке появляется окно победы и играет музыка =) Всё отлично, идём дальше. найти время |
|||
Портфолио на Bootstrap Навигационное меню | + 22 | ||
Отличный урок, разжёвывание каждой строчки очень кстати, идём дальше. найти время |
|||
Нано-игры VIP урок. Игра 2048 | + 25 | ||
Всё отлично, данную игрушку уже реализовывал. найти время |
|||
Портфолио на Bootstrap Структура сайта и сетка | + 23 | ||
айди уникальный, а класс можно использовать сколько угодно раз. айди используются для якорей. всё отлично, идём дальше. найти время |
|||
Портфолио на Bootstrap Начало - подключение bootstrap | + 23 | ||
Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-04-22 Отчёт за неделю | + 24 | ||
На неделе было выполнено: 7 случайных консольных задач. 7 наборов соло-программиста. 1 урок по курсу: Лендинг на YII2. 1 урок по курсу: Базовый ASP.ект. 1 урок по курсу: Карточки памяти. 4 урока по курсу: Мат Конём и Слоном. з.ы. Курс "Карточки памяти" завершён на данный момент. найти время |
|||
Мат Конём и Слоном 156 матов в полтора хода | + 23 | ||
Отличный урок, всё супер. идём дальше. найти время |
|||
Мат Конём и Слоном Консольная шахматная доска | + 25 | ||
Всё отлично, идём дальше. з.ы. так как я использую git, то на скриншоте видно, что 612 суток назад были последние изменения в коде, т.е. как я ранее говорил, почти 2 года назад =) найти время |
|||
Карточки памяти Алгоритм игры | + 26 | ||
Так как реализовал эту игру ещё летом 2016, а по текущему курсу это зафиксировано в прошлом уроке, то прикрепляю видео отчёт о проделанной работе. з.ы. подробное описание доработок в прошлом уроке. найти время |
|||
Мат Конём и Слоном Белая коробка | + 21 | ||
Всё отлично, идём дальше. найти время |
|||
Мат Конём и Слоном Генерация белых ходов | + 22 | ||
Спустя полтора года продолжение курса очень ностальгично =) Всё отлично, идём дальше. з.ы. так как присутствовал во времена создания данного курса на вебинарах, то вся C# часть является повторением. найти время |
|||
Базовый ASP.ект Мы начинаем ASP.NET с MVC | + 24 | ||
Чем больше ты изучаешь какую либо технологию и чем больше ты проникаешься её идеей и той самой сути для чего она была создана, тем больше тебе эта технология начинает нравится, особенно если ты понимаешь, где и как её можно применить. Отлично, идём дальше. найти время |
|||
Лендинг на YII2 О лендингах и фреймворке | + 21 | ||
Так как давно уже стоит PhpStorm, кстати, тоже версия 2017.2.1, до сих пор не обновлял и так же OpenServer тоже имеется, то проблем с данными вещами не возникло. Движемся дальше. найти время |
|||
Дневник успеха 2018-04-15 Отчёт за неделю | + 20 | ||
На неделе было выполнено: 7 случайных консольных задач. 7 наборов соло-программиста. 1 урок по курсу: Портфолио на Bootstrap. 10 уроков по курсу: Клиент-серверные шахматы. з.ы. Завершил седьмую и восьмую части курса "Клиент-серверные шахматы" далее финальный урок и рефакторинг, после чего займусь свои доработками. найти время |
|||
Шахматы по сети Клиент. Фоновое обновление | + 20 | ||
Реализовал ожидание после окончания игры, чтобы можно было посмотреть чем партия закончилась и не сбросилось поле. Чтобы начать новую игру достаточно перезапустить клиент. Как видно из json возвращает статус = 1, это по ранее описанному перечислению как раз CheckMate. Играл на ПК и планшете с Android, всё супер. найти время |
|||
Шахматы по сети Клиент. Следы невиданных ходов | + 21 | ||
Исправил недоработку проверки возможности хода из-за которой можно было плодить пешки срезая чужие на проходе из пустоты. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Клиент. Серверные пешки | + 22 | ||
Проблем с NewtonJson не возникло при использовании класса Client() через dll. Проблему с https решил, настроив протоколы SSL на своём хосте и дописав поддержку протоколов на стороне клиента. Всё отлично, идём дальше. з.ы. я не мог оставить такую огромную дырку в безопасности, поэтому пришлось потратить немного времени на исследование и доработку по данному вопросу. найти время |
|||
Шахматы по сети Клиент. Ход в мешке | + 21 | ||
Так как использовал NewtonJson, то большую часть видео просто просмотрел, добавил пару строчек кода, чтобы заработала возможность играть используя наш сервер. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Клиент. Дедовские методы | + 24 | ||
Реализовал дополнительную dll для реализации функционала клиента. Использовал NewtonJson для обработки получаемой json сроки в объект и дальнейшее его использование. см. скриншот return api.fen; В этом случае проблем в юньке не должно быть. найти время |
|||
Шахматы по сети Клиент. Достучаться до облака | + 24 | ||
Подключил SSL сертификат, чтобы можно было работать через https. Выделить фен лучше всего через парсинг json в объект(создание класса структуры json ответа) и обращение к атрибуту fen. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Хостинг. СЕДЬМОЙ ФИНАЛЬНЫЙ УРОК | + 23 | ||
Хорошая часть по поводу хостинга, показано всё, что необходимо для публикации проекта в сети интернет. Так как подобными вещами приходится заниматься часто и уже на протяжении многих лет, то ничего нового для себя ну знал, поэтому реализовал всё иначе и получил интересный опыт. Всё отлично, идём дальше, к последней части и VIP урокам по рефакторингу. найти время |
|||
Шахматы по сети Хостинг. VIP. Двойные стандарты | + 20 | ||
Так как я ранее уже говорил, что использовал LocalDb, так же использовал относительный путь где лежит файл БД, то данной проблемы у меня не возникало по причине идеальной совместимости строки подключения как в студии так и на хосте. Урок в любом случае отличный, пригодится, когда будет использоваться именно MS SQL Server. найти время |
|||
Шахматы по сети Хостинг. Перенос базы данных | + 20 | ||
Так как реализовывал с LocalDb версией MSSQL и на собственном хосте развернул IIS + ASP.NET, то не пришлось заморачиваться с настройкой строки подключения, локальная БД хранится в App Data папке проекта, настройки подключения подошли теже, что были в студии. Всё работает идеально, сделал ход, как видно на скрине, он отработал. http://chess-online.jgp.su/api/Chess/4/ Можно поиграть через адресную строчку =) найти время |
|||
Шахматы по сети Хостинг. Публикация проекта | + 18 | ||
Поднял IIS + ASP.NET на своём хосте. Настроил nginx как фронтенд, а IIS как бэкенд для оптимизации работы. Опубликовал API для онлайн шахмат. Всё работает отлично, идём дальше. адрес сайта: http://chess-online.jgp.su/api/Versions найти время |
|||
Портфолио на Bootstrap Презентация курса | + 20 | ||
Настрой отличный. Решение принято. Двигаемся дальше. найти время |
|||
Дневник успеха 2018-04-08 Отчёт за неделю | + 19 | ||
На неделе было выполнено: 7 случайных консольных задач. 7 наборов соло-программиста. 8 уроков по курсу: Клиент-серверные шахматы. з.ы. Завершил шестую часть курса "Клиент-серверные шахматы" и начал выполнение седьмой части курса. найти время |
|||
Шахматы по сети Хостинг. Доступ по FTP | + 19 | ||
Уже много лет использую FileZilla как FTP клиент, очень нравится. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Хостинг. Лучше заплатить | + 23 | ||
По поводу ошибки на 7:30 в курсе, так как уже много лет пользуюсь данным сервисом и именно их бесплатными DNS. найти время |
|||
Шахматы по сети Хостинг. Регистрация аккаунта | + 17 | ||
Так как я уже давно пользуюсь данным сервисом, то регистрироваться нет необходимости, идём дальше. найти время |
|||
Шахматы по сети Сервер. ШЕСТОЙ ФИНАЛЬНЫЙ УРОК | + 19 | ||
Отличная часть, проще просто некуда, показаны все места по настройке серверной части так как тебе необходимо. Всё супер, движемся дальше. найти время |
|||
Шахматы по сети Сервер. Китайская ничья | + 22 | ||
Как всегда всё коротко и ясно. Создал перечисление GameStatus, где на данный момент уже пять вариантов статуса игры: Play, Checkmate, Stalemate, Loss, Draw последнее при ручном запросе игрока и принятии ничьи другим игроком. найти время |
|||
Шахматы по сети Сервер. Шахматная Идемпотентность | + 20 | ||
Отличная идея, всё коротко и ясно, движемся дальше. найти время |
|||
Шахматы по сети Сервер. Ваш ход! | + 20 | ||
Как всегда всё коротко и ясно. Вариантов реализовать так, чтобы обоим игрокам отображался конец игры великое множество, но я думаю лучше это реализовать через доп. команду, которая бы означала сброс и начало новой игры. найти время |
|||
Шахматы по сети Сервер. Официант без логики | + 18 | ||
Всё коротко и ясно, идём дальше. найти время |
|||
Дневник успеха 2018-04-01 Отчёт за неделю | + 20 | ||
На неделе было выполнено: 7 случайных консольных задач. 7 наборов соло-программиста. 22 урока по курсу: Клиент-серверные шахматы. з.ы. Завершил четвёртую и пятую части курса "Клиент-серверные шахматы" Выполнено несколько уроков шестой части курса "Клиент-серверные шахматы". найти время |
|||
Шахматы по сети Сервер. Новая игра на JSON | + 20 | ||
JSON веселее чем XML, однозначно. Не нравится, что вспомогательная функция находится в контроллере, думаю есть смысл вынести её в класс таблицы в виде конструктора или публичной функции для активации новой игры. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Сервер. Райский Эдем - EDM | + 20 | ||
Проходили это в курсе EF, так что ничего сложного не было. Структура на основе своей минимальной БД. найти время |
|||
Шахматы по сети Сервер. Последняя версия | + 21 | ||
Всё коротко и ясно, идём дальше. найти время |
|||
Шахматы по сети База данных. ПЯТЫЙ ФИНАЛЬНЫЙ УРОК | + 22 | ||
В целом часть по базе данных получилась интересной, состоит не просто из создание пары таблиц, а дополнительной проработки в процессе проектирования. Но для меня до сих пор MySQL это первая БД для онлайн проектов. найти время |
|||
Шахматы по сети База данных. VIP. Красивая диаграма | + 19 | ||
Мне draw.io больше понравился, всё супер, идём дальше. найти время |
|||
Шахматы по сети База данных. VIP. Таблицы на вырост | + 19 | ||
Создал параллельно таблицы для взрослой версии, добавил необходимые ключи, индексы и т.д. Не нравятся мне эти лишние айдишники в каждой таблице, ненужная избыточность, поэтому создал структуру так, как ранее показывал на UML. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети База данных. Созидание | + 19 | ||
Всё коротко и ясно. найти время |
|||
Шахматы по сети База данных. Упрощение | + 19 | ||
Альберт Эйнштейн дело говорил, поэтому упростил не проще этого. Двигаемся далее. найти время |
|||
Шахматы по сети База данных. Планирование | + 19 | ||
Немного иначе представляю структуру БД. Это не окончательная её версия, в процессе будет дополняться. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети База данных. Management в студию! | + 19 | ||
Да, тоже уверен, можно было обойтись, но всё познаётся в сравнении, поглядим на это чудо природы. найти время |
|||
Шахматы по сети Интерфейс. ЧЕТВЁРТЫЙ ФИНАЛЬНЫЙ УРОК | + 22 | ||
Вот и завершили реализацию графического интерфейса с использованием ранее созданной библиотеки с правилами игры. Теперь вполне реально играть на одном устройстве вдвоём. Отличная четвёртая часть, движемся к не менее интересным частям курса. найти время |
|||
Шахматы по сети Интерфейс. Долгожданное превращение | + 21 | ||
Всё как всегда коротко и ясно. Проверку реализовал по другому, использовав функцию IsValidMove() найти время |
|||
Шахматы по сети Интерфейс. Выставка фигур | + 19 | ||
Всё коротко и ясно. Реализовал вспомогательную функцию ShowPromotionFigures() через свитч. Заметил неучтённый нюанс и сразу увидел вариант рефакторинга SetSprite() и некоторых других функций. найти время |
|||
Шахматы по сети Интерфейс. Щепотка рефакторинга | + 20 | ||
Рефакторинг в тему, коротко и ясно, идём дальше. найти время |
|||
Шахматы по сети Интерфейс. VIP. Клетки прибытия | + 20 | ||
Отличный урок, всё коротко и ясно. Идём дальше. найти время |
|||
Шахматы по сети Интерфейс. VIP. Клетки отправления | + 17 | ||
Всё коротко и ясно, отличный урок. з.ы. Решил окрасить зелёным оттенком, так как это всё же разрешённые ходы. найти время |
|||
Шахматы по сети Алгоритмы. VIP. Можно пройти? | + 18 | ||
Всё коротко и ясно, отличный рефакторинг. найти время |
|||
Шахматы по сети Интерфейс. Проверка хода | + 20 | ||
Всё коротко и ясно. Прекращение пешки в виде генерации доп клеток выше или ниже вектора следования пешки с установленными фигурами на выбор, так же они должны быть подсвечены другим цветом, что означало бы, что другими фигурами ходить нельзя, пока не выберешь в кого превратиться. найти время |
|||
Шахматы по сети Интерфейс. Ход делегата | + 19 | ||
Всё коротко и ясно, идём дальше. найти время |
|||
Шахматы по сети Интерфейс. Начальная позиция | + 19 | ||
Всё просто и ясно. з.ы. Опять та же ошибка при подключении библиотеки, её достаточно просто кинуть в папку Assets. Простота решения и затраченное на это время обратно пропорциональны. найти врмея |
|||
Шахматы по сети Интерфейс. Генерация объектов | + 19 | ||
Отличный урок, вот и динамическая генерация доски подоспела, кто там спрашивал на вебинаре, радуйтесь. Идём дальше. найти время |
|||
Шахматы по сети Интерфейс. План действий | + 19 | ||
План действий ясен, потратил время на создание свой текстур для фигур, так же оттенок наложения красного поверх клеток доски сделал 15% чтобы было видно, но не слишком ярко. Так же у меня скрипт не удалился, видимо я аккуратно всё лишнее удалял. найти время |
|||
Дневник успеха 2018-03-25 Отчёт за неделю | + 23 | ||
На неделе было выполнено: 7 случайных консольных задач. 7 наборов соло-программиста. 2 урока по курсу "Web API". 3 урока по курсу: Entity Framework. 3 урока по курсу: Клиент-серверные шахматы. з.ы. Полностью прошёл доступные уроки курса "Web API". Полностью прошёл весь курс "Entity Framework". Завершил третью часть курса "Клиент-серверные шахматы" Приступаю к четвёртой части курса "Клиент-серверные шахматы". найти время |
|||
Entity Framework Добавление - Извлечение | + 22 | ||
Отличный урок как и курс в целом очень понравилось, всё коротко и ясно, не возникло никаких проблем, так как подобное реализовывал сам для связки с SQLite базой данных, так же создавал для контекста синглтон, чтобы не создавать каждый раз новый экземпляр, интересная штука этот EF, надо только глубже его копнуть, так как остались вопросы, если найти на них ответы, буду экономить уйму времени. найти время когда болеешь |
|||
Entity Framework Один за всех и Все за одного | + 22 | ||
Всё коротко и ясно, но то, как оно сгенерировало некоторые связи мне не понравилось, надо будет изучить этот момент подробнее, чтобы брало откуда надо айдишник, теоретически догадываюсь что надо изменить в таблице для этого. найти время |
|||
Шахматы по сети Алгоритмы. VIP. Как пройти в библиотеку | + 22 | ||
Отличный урок, но есть одна неточность, вначале надо скопировать библиотеку ChessRules.dll в папку Assets, а уже после надо создавать скрипты и при открытии ссылка на библиотеку будет автоматической, достаточно будет добавить юзинг. Добавил об этом к описанию урока. найти время |
|||
Шахматы по сети Алгоритмы. VIP. Шахматное супертестирование | + 22 | ||
Отличный урок, полезное тестирование, выявилась старая ошибка, когда выводили на поле пробел, после поедания фигуры, в последствии заменили на (char)Figure.None, но этот момент не доглядел и сломалась генерация FEN, что приводило к крашу, проведя немного времени в дебаге и увидев в FEN символ с кодом 32, а это и есть пробел, понял, что надо искать именно его - ' '. Нашёл, заменил и теперь FEN генерируется как надо. найти время |
|||
Entity Framework Миграция Базы | + 19 | ||
Отличный урок, всё ясно как день. Вначале создал миграцию на основе создания таблицы, потом добавил в класс новое поле и сгенерировал на основе этого вторую миграцию, всё просто успешно и корректировать код миграции не пришлось, ну пока и структура не сложная. Не использовал new MySql.Data.Entity.MySqlMigrationSqlGenerator() для устранения ошибки создания миграций для MySQL, решил проблему другим способом, после чего посмотрел видео и решил оставить свой способ, хотя этот взял на заметку =) найти время |
|||
Web API Создание Web API проекта | + 24 | ||
Когда открыл для выполнения урок, то понял, что 1,5 часа так быстро не выполнить и как в воду глядел, постоянно отвлекали по делам. В любом случае урок выполнил. Так как уже реализована возможность получения всего списка через api/Projects, то вариант с циклом for мне не понравился, так как каждый раз перед тем как отобразить одну запись из БД идёт запрос на который уходит не мало времени. Поэтому я реализовал дополнительную вспомогательную асинхронную функцию для поддержки получения всего списка через api/Projects, тем самым отправив всего один запрос, после чего вывел весь список через foreach. Это работает намного быстрее. Урок отличный, ждём продолжение банкета =) найти время |
|||
Шахматы по сети Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК | + 23 | ||
Очень интересная часть с алгоритмами. Так как до этого курса уже реализовывали алгоритмы по шахматам на других языках и курсах, то проблем не возникало в очередном варианте реализации игровой логики. Отличный курс получается. найти время |
|||
Дневник успеха 2018-03-18 Отчёт за неделю | + 22 | ||
На неделе было выполнено: 7 случайных консольных задач. 7 наборов соло-программиста. 9 уроков по курсу "Игры на JavaScript". 8 уроков по курсу: Мультиязычное меню на JavaScript. 5 уроков по курсу: Entity Framework. 3 урока по курсу: Клиент-серверные шахматы. з.ы. Полностью прошёл весь курс "Игры на JavaScript". Полностью прошёл весь курс "Мультиязычное меню на JavaScript". найти время |
|||
Entity Framework Использование MySQL | + 23 | ||
Всё отлично, ничего сложного, идём дальше. найти время |
|||
Entity Framework Основные приемы работы с БД через EF | + 23 | ||
Всё просто, поэксперементировал с созданием локальных БД, LINQ однозначно лучше, так как он работает быстрее, проверено не однократно лично уже давно пользуюсь ими при работе со списками/коллекциями/массивами и т.д. Движемся дальше. найти время |
|||
Entity Framework Подключение БД по методу CodeFirst | + 22 | ||
Абсолютно всё ясно и понятно, проще некуда, дописывал код сам (к примеру DropCreateDatabaseIfModelChanges<Context>, так как другой модели кроме <Context> у нас пока нет, то вариантов тоже нет!!!), интуитивно всё ясно. Когда увидел время урока, подумал что тут очень много всего, но на деле минут на 5, остальное разжёвывание для тех "кто в чате" =) напомнило ActiveRecord... найти время |
|||
Шахматы по сети Алгоритмы. Шах и Мат! | + 22 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Алгоритмы. Защита короля | + 25 | ||
Всё отлично, идём дальше. найти время |
|||
Entity Framework Создание приложения | + 27 | ||
Всё просто, идём дальше. найти время |
|||
Entity Framework Введение в EF | + 23 | ||
Многообещающе, по поводу миграций уже в курсе, глючная тема, ну поглядим поближе. найти время |
|||
Мультиязычное меню на JS ФИНАЛЬНЫЙ УРОК | + 25 | ||
0. см. видео отчёт. 1. научился работе с API Яндекс Переводчика. 2. понравилась краткость изложения уроков. 3. добавил асинхронность загрузки перевода пунктов меню, динамическое изменение значения атрибута lang в теге html. 4. на данный момент кипит курс Онлайн Шахматы, но так же параллельно займусь курсов EF. найти время |
|||
Мультиязычное меню на JS Выбор языка на сайте | + 22 | ||
Добавил выбор языков справа от меню в том же стиле, что и основное меню. Всё отлично, ничего лишнего, как всегда просто. найти время |
|||
Мультиязычное меню на JS Параметры - в функцию | + 23 | ||
Всё отлично, вывод меню на английском, хотя изначально он на русском. найти время |
|||
Мультиязычное меню на JS Результаты запросов средствами JS | + 22 | ||
Всё отлично, ответ в формате JSON получен, идём дальше. найти время |
|||
Мультиязычное меню на JS Динамическое меню | + 23 | ||
Всё отлично, добавил несколько своих пунктов, идём дальше. найти время |
|||
Мультиязычное меню на JS Страница и стиль | + 23 | ||
Отличный урок, брекетс начал использовать с лета 2017, отличный редактор. Всё просто, идём дальше. найти время |
|||
Мультиязычное меню на JS Запрос и JSON - ответ | + 23 | ||
Всё отлично, всё просто. Идём дальше. найти время |
|||
Мультиязычное меню на JS Документы и ключ | + 23 | ||
Отличное начало, JSON использую намного чаще, он мне больше нравится, хотя в одном проекте и использовался XML в течении 4 лет, но JSON ближе и оптимальнее, нет имеет избыточность, поддерживает json.patch, но это другая история. Спасибо, очень полезная функция Яндекса. Для небольшого сайтика и бесплатного лимита с головой. найти время |
|||
Игры на JavaScript Гонка - Быстрые рекорды | + 19 | ||
Реализовал свою систему набор очков. Реализовал лучший результат и его обновление, если игрок побил его. Реализовал прочность корпуса в процентах, если корпус равен 0% или ниже - конец игры. Реализовал инициализацию игры с самого начала, после того как игрок проиграл. Реализовал проверку столкновений по своему и проблем у меня не возникло с return. Реализовал всё вначале сам, потом досмотрел видео. Реализовал динамически генерируемое финальное сообщение после проигрыша. Реализовал отображение текущей статистики под канвасом. Выделил каждую задачу в отдельную функцию для красоты и оптимизации кода. остановиться дорабатывать =) |
|||
Игры на JavaScript Гонка - Рулевое управление | + 19 | ||
Реализовал задачи данного урока сам, после посмотрел реализацию, по поводу getBoundingClientRect очень громоздко выглядит и без него отлично всё работает, может быть в других задачах он будет более полезный, но в данной пока не вижу смысла использовать лишнее. найти время |
|||
Игры на JavaScript Гонка - Запуск таймера | + 18 | ||
Реализовал доп. функцию, которая принимает параметров количество добавляемых боксиков, она же и проверяет уровень сложности. Функция добавления одного боксика ничего не проверяет, поэтому при инициализации она сразу добавляет 1 боксик без проверки уровня. Добавил отображение текущего количества боксиков на канвасе (видно, что когда они уходят за канвас вниз, то уменьшается их количество). Всё просто, идём дальше. найти время |
|||
Игры на JavaScript Гонка - Массив боксиков | + 18 | ||
Всё понятно, идём дальше. найти время |
|||
Игры на JavaScript Гонка - Герои на канвасе | + 18 | ||
Добавил аппаратную поддержку рендера канваса. Добавил файл стилей, пока там только стиль для канваса. Всё просто, идём дальше. найти время |
|||
Игры на JavaScript Очисти поле - Функция хода | + 18 | ||
Прошёл первый уровень за 18 ходов. Добавил счётчик ходов. Зациклил переключение 3 уровней по кругу при победе. найти время |
|||
Игры на JavaScript Очисти поле - Чекбоксы | + 18 | ||
Добавил два дополнительных уровня. Всё просто, идём дальше. найти время |
|||
Игры на JavaScript Угадай число | + 18 | ||
Реализовал по своему. но суть та же. Отображает текущую попытку, после победи, показывает на какой попытке отгадал. Добавил символ выхода из игры "q", так как цикл бесконечный и он проверяет вводимый символ, сообщает если это не число. найти время |
|||
Игры на JavaScript Запуск JavaScripta | + 19 | ||
Всё просто, идём дальше. найти время |
|||
Шахматы по сети Алгоритмы. Королевский паркур | + 18 | ||
Всё отлично, идём дальше. Как обычно реализовал в виде свитча, более красиво и наглядно вышло. Так же реализовал отображение возможных ходов в строчку по типу фигур. найти время |
|||
Дневник успеха 2018-03-11 Отчёт за неделю | + 21 | ||
На неделе было выполнено: 7 случайных задач. 9 консольных задач. 7 наборов соло-программиста. 2 урока по курсу: Игры по спрайтами. 7 уроков по курсу: Клиент-серверные шахматы. з.ы. решил новые задачки добавленные Консоль по Java (Сумматоры) тем самым опять довёл до 100% решил последние консольные задачи по Алгоритмике, которые давались по 1 в сутки. найти время |
|||
Шахматы по сети Алгоритмы. Допрыгалась! | + 19 | ||
Отличный урок, все необходимые проверки реализованы в тех местах, где это логично. з.ы. Вместо ифов реализовал через свитч с доп. параметрами найти время |
|||
Шахматы по сети Алгоритмы. Рефакторинг на доске | + 19 | ||
Всё отлично, идём дальше. з.ы. по поводу доступа по-умолчанию, я наоборот пишу то, что мне надо, в данном случае private, так как в Java по-умолчанию pakage-private и это не всегда приемлемо, поэтому если вдруг в C# тоже добавят что-то такое и изменят доступность по-умолчанию, то это будет не есть хорошо =) найти время |
|||
Демо игры VIP. Бесплатная консультация | + 16 | ||
Заявку оставлял, совет получил, отличная идея, спасибо огромное, очень нравится проект, я на нём уже почти 2 года, нравится что постоянно развивается, а не находится в стагнации как многие (иногда делая вид активности). Двигаемся дальше. |
|||
Шахматы по сети Алгоритмы. Четвёртое превращение | + 16 | ||
Всё отлично, решение очень красивое, так как заранее был подготовлен плацдарм, чтобы потом дописать пару строчек и вуаля =) з.ы. как видно на скриншоте, реализовал через switch, ещё отличное нововведение в новую версию C#, можно использовать несколько параметров в case =) найти время |
|||
Шахматы по сети Алгоритмы. Храбрая пешка | + 16 | ||
Всё отлично, идём дальше. з.ы. Можно было функцию CanPawnGo() назвать CanPawnStep() выглядело бы в связке с CanPawnJump() красиво, а то получается, что Go по идее вообще означает, может ли она двигаться, а Step и Jump конкретное количество шагов (1 или 2 соответственно). а в функцию CanPawnGo() можно вынести проверку пустая ли клетка между .from и .to, что сократит громоздкость функции CanPawnJump() найти время |
|||
Игры со Спрайтами Спрайт. Рисуем плашки | + 15 | ||
Помню уроки по созданию говорящий часов, там записывали фразы, так вот я там сократил их, чтобы не было повторяющихся и файлов было меньше, тут ещё лучше удалось сократить, так как 1 и 2 если отрисовать друг на друге то будет 3, а если отрисовать 2 и инверсную 2 то будет 4 и так далее. Надеюсь идея ясна. Так же обложки тоже комбинируются и инверсируются. В курсе "Теория ООП" уже это реализовывал, половину головы "Оптимуса Прайма", а вторую его симметрию генерировали именно относительными координатами с инверсией. найти время |
|||
Игры со Спрайтами Домино. Ура! Победа! | + 16 | ||
Исправил баг с отображением проигрыша, если помечена плашка, после сбора которой будет проигрыш однозначно, далее в виде это было исправлено. Исправил баг с отображением победы когда остались открытые плашки, но ещё не убраны со стола, так как можно не в той последовательности их убрать и будет проигрыш, так как шанс имеется, преждевременно отображать победу смысла не имеет. Реализовал отображение статуса победы/проигрыша через единственный label, так же цвет фона и текст устанавливаются в соответствии с со статусом игры. Половина кода отрефакторено и написано по своему, так как опыт не позволяет тупо копипастить =) найти время |
|||
Шахматы по сети Алгоритмы. Дальнобойщики | + 16 | ||
Понравился общий алгоритм и атрибут Sign отлично вписывается. Всё супер, идём дальше. найти время |
|||
Шахматы по сети Доска. VIP. Запуск в Интернете | + 17 | ||
Всё отлично, ранее уже это делал, идём дальше. Время генерации заняло: 2 минуты и 47 секунд з.ы. залил текущую версию на хостинг, ссылка для тестирования: http://chess-online.jgp.su/ найти время |
|||
Шахматы по сети Доска. VIP. Запуск на Android | + 16 | ||
Ранее уже это делал, прикрепил скрины с самого устройства. з.ы. Чтобы сделать скрин, на моём устройстве надо одновременно зажимать на пару секунд Громкость+ и Включение, возможно на вашем тоже, если нет, гуглим =) найти время |
|||
Дневник успеха 2018-03-04 Отчёт за неделю | + 16 | ||
На неделе было выполнено: 7 случайных задач. 7 консольных задач. 7 наборов соло-программиста. 1 урок по курсу: Игры по спрайтами. 7 уроков по курсу: Клиент-серверные шахматы. з.ы. в субботу не успел набрать мегахэши по причине занятости весь день, а они набираются если ПК не занят. найти время |
|||
Шахматы по сети Доска. Запуск на Windows | + 16 | ||
Всё отлично, ранее уже делал это, повторение мать учения =) з.ы. запустил на виртуалке с 7 виндой. найти время |
|||
Игры со Спрайтами Домино. Выбираем и убираем | + 16 | ||
Всё отлично, идём дальше. найти время после 18 часов бессонной работы. |
|||
Шахматы по сети Алгоритмы. Ночью с Конём | + 16 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Алгоритмы. Куда идёт Король | + 16 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Алгоритмы. Генератор ходов | + 16 | ||
Урок более чем насыщенный, отличные трансформации мыслительной деятельности. Всё супер, идём дальше. з.ы. foreach можно будет заменить на LINQ, но это уже после того, как будет устаканена библиотека и всё что надо работать как надо. найти время |
|||
Шахматы по сети Алгоритмы. Сборка фена | + 16 | ||
Всё отлично, идём дальше. з.ы. везде вместо конкаттенации использовал StringBuilder() и при формировании позиций сразу в первом цикле собирал пустые клетки, хотя версия из урока выглядит красиво, но дело привычки =) найти время |
|||
Шахматы по сети Алгоритмы. Волшебные шахматы | + 16 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Классы. ВТОРОЙ ФИНАЛЬНЫЙ УРОК | + 18 | ||
Всё отлично, UML уже имел опыт, отразил текущую структуру библиотеки ChessRules.dll остановить расстанавливать для более красивой композиции |
|||
Дневник успеха 2018-02-25 Отчёт за неделю | + 15 | ||
На неделе было выполнено: 7 случайных задач. 8 консольных задач. 7 наборов соло-программиста. 3 урока по курсу: Игры по спрайтами. 9 уроков по курсу: Клиент-серверные шахматы. найти время |
|||
Шахматы по сети Классы. Консольная доска | + 16 | ||
Всё отлично, но ёлки палки, внутри цикла перебора по оси X, использовали конкатенацию, выше этого цикла уже верно сделали, на двух строчках использовали sb.Append(). Если подразумевается использование StringBuilder(), то забыть надо о конкатенации строк!!! иначе смыла нет в его использовании. найти время |
|||
Шахматы по сети Классы. Шахматная бюрократия | + 16 | ||
Всё отлично, идём дальше. з.ы. сократил геттер для FEN в одну строчку. найти время |
|||
Шахматы по сети Классы. Стой, кто идёт! | + 18 | ||
Всё отлично, идём дальше. з.ы. По поводу ошибки, меня сразу смутил код, кое какой, а после того как узнал, что в классе Moves() ошибка, понял, что не зря, плюс тот факт, что был на вебинаре помог найти ошибку быстро. Поглядим, вариант её исправления в будущем уроке. найти время |
|||
Шахматы по сети Классы. Квадратная матрица | + 16 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Классы. Фигурой марш! | + 16 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Классы. Квадратная площадь | + 17 | ||
Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Классы. Цветная фигура | + 16 | ||
Всё отлично, идём дальше. з.ы. Чтобы добавить enum и т.д., надо делать это через шаблоны, см. скриншот. найти время |
|||
Шахматы по сети Классы. Шахматная библиотека | + 17 | ||
Всё отлично, идём дальше. з.ы. Не зря я пилил шахматы на HTML, рад что пригодились и используются =) успеть доделать дела и потом домой пешком в морозяку, чтобы выполнить урок. |
|||
Игры со Спрайтами Домино. Делегаты отображения | + 16 | ||
Отличный урок, делегаты очень удобная штука. Найти время |
|||
Игры со Спрайтами Домино. Динамическая пирамида | + 15 | ||
Всё супер, идём дальше. найти время |
|||
Игры со Спрайтами Домино. Перемешиваем плашки | + 15 | ||
Всё отлично, идём дальше. найти время |
|||
Дневник успеха 2018-02-18 Отчёт за неделю | + 16 | ||
На неделе было выполнено: 7 случайных задач. 7 консольных задач. 8 наборов соло-программиста. 6 уроков по курсу: Игры по спрайтами. 1 урок по курсу: Клиент-серверные шахматы. найти время |
|||
Игры со Спрайтами Полуфинальный урок | + 15 | ||
Переписал растровый render, чтобы игра работала быстрее и так как надо, без артефактов WF. Добавил несколько кадров анимации звёздочкам, чтобы они были живее. Реализовал переключение между растровым и векторным рендерами в реальном времени. Проверил на все возможные ошибки после рефакторинга, всё работает отлично, см. видео. з.ы. отличная первая половина курса, идея с векторными спрайтами понравилась, идём дальше. остановиться |
|||
Игры со Спрайтами Аполлон. Финальное прилунение | + 15 | ||
Реализовал две версии графического движка, переключаются в реальном времени (левый верхний угол галочка). Всё супер, идём дальше. найти время |
|||
Игры со Спрайтами Аполлон. Graph и Sprite на Луне | + 16 | ||
Добавил чекбокс выбора графики, так как ранее уже потратил не мало времени на рисование текстур, то решил совместить два вида графики, чтобы в реальном времени можно было менять её. Всё отлично, идём дальше. не бежать впереди паровоза =) |
|||
Игры со Спрайтами Спрайт. Рисуем Аполлона | + 16 | ||
Всё супер, идём дальше. найти время |
|||
Игры со Спрайтами Спрайт. Сериализация объекта | + 15 | ||
Добавил проверку наличия папки sprites в корне программы, если её нет, создавать. Добавил расширение по умолчанию для создаваемых файлов (xml). Добавил фильтр отображаемых файлов в папке (*.xml). Нарисовал корабль, луну и землю и сохранил в отдельные файлы. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Классы. Архитектура проекта | + 16 | ||
Самое сложное ждать очередной вебинар. Самое простое выполнение уроков. |
|||
Игры со Спрайтами Спрайт. Панель инструментов | + 15 | ||
Реализовал небольшую объёмность линий. Всё супер, идём дальше. найти время |
|||
Шахматы по сети Доска. ПЕРВЫЙ ФИНАЛЬНЫЙ УРОК | + 15 | ||
Узнал о планах на будущее ничего |
|||
Дневник успеха 2018-02-11 Отчёт за неделю | + 15 | ||
На неделе было выполнено: 7 случайных задач. 10 консольных задач. 3 олимпиадных задач. 8 наборов соло-программиста. 7 уроков по курсу: WPF. Простая змейка (в их числе VIP и Финальный уроки). 2 урока по курсу: Игры по спрайтами. 6 уроков по курсу: Клиент-серверные шахматы (портировал на Андроид). найти время |
|||
Игры со Спрайтами Спрайт. Рисуем линии мышкой | + 15 | ||
Немного порисовал, отличный урок, идём дальше. найти время |
|||
Шахматы по сети Доска. Смещение | + 15 | ||
Всё отлично, ждём продолжения. з.ы. решил отменить и добавить скрины портированной версии на планшет с Андроид. найти время |
|||
Шахматы по сети Доска. Подцеп фигуры | + 16 | ||
Чтобы логи не бежали как сумасшедшие, использовал метод нажатия клавиши мыши, чтобы отобразилось один раз. Отобразил координаты позиции курсора мышки и конвертированные в мировые координаты. Изменил тип камеры и увеличил её размер с 5 до 11, чтобы конвертация мировых координат работала как надо. Всё отлично, идём дальше. найти время |
|||
Шахматы по сети Доска. Состояния переноса | + 16 | ||
Всё просто, идём дальше. найти время |
|||
Шахматы по сети Доска. Фигуры | + 16 | ||
Не стал трогать масштабирование, вместо этого изменил FoV у камеры. Отличный урок, идём дальше. найти время |
|||
Шахматы по сети Доска. Установка Unity 3D | + 17 | ||
Обновил Unity с версии 2017.1.0 до 2017.3.1 Мой результат набора запечатлён на видео, но я приложил ещё и скрин =) найти время |
|||
Шахматы по сети План Шахматного проекта | + 16 | ||
C# - c 2011 года. Unity - суммарно около полугода. ASP.NET - пока руки не дошли, но на этом проекте курсов несколько на очереди, хотя имею представление о данной технологии. SQL - c 2003 года. EF - пока не доводилось использовать, но наслышан и курсы на данном проекте имеются. Шахматы - с детства и на данном проекте кучу курсов уже прошёл. В том числе и на вебинарах был по данной тематике для разных языков. найти время |
|||
Игры со Спрайтами Спрайт. Класс для Спрайта | + 16 | ||
Уменьшил количество передаваемых параметров, использовав Point. з.ы. Продолжаем допиливать незавершённые курсы. найти время |
|||
Простой WPF WPF. Простая змейка. VIP урок. Поймай хвост! | + 15 | ||
Добавил новые фишки ещё на прошлых уроках. (при поедании ускоряется и растёт...) Всё супер, надо продолжать курсы по WPF!!! найти время |
|||
Простой WPF WPF. Финальный урок | + 16 | ||
Отличные мини-курсы, так как в задании к этому уроку надо было показать все приложения написанные на WPF, то я и показал все, что были созданы по курсам на данном проекте. найти время |
|||
Простой WPF WPF. Простая змейка. VIP урок. Длина тела. | + 15 | ||
Всё супер, отличный урок. найти время |
|||
Простой WPF WPF. Простая змейка. Победа и поражение. | + 17 | ||
Отличный мини-курс. Реализовал увеличение змейки после поедании еды. Реализовал увеличении скорости змейки после поедания еды. Из-за того, что размер змейки стал больше чем размер еды, пришлось доработать функцию IsCrossed() для корректной её работы. найти время |
|||
Простой WPF WPF. Простая змейка. Управление движением. | + 15 | ||
Всё отлично, идём дальше. найти время |
|||
Простой WPF WPF. Простая змейка. Таймер для еды. | + 15 | ||
Всё супер, идём дальше. найти время |
|||
Простой WPF WPF. Простая змейка. Эллипс на канвасе | + 15 | ||
Начало положено, идём дальше. найти время |
|||
Дневник успеха 2018-02-04 Отчёт за неделю | + 15 | ||
На неделе было выполнено: 7 случайных задач. 8 консольных задач. 7 наборов соло-программиста. 6 уроков по курсу: Теория ООП. 2 урока по курсу: WPF. Конвертер валюты. найти время |
|||
Теория ООП Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. | + 15 | ||
На первом скриншоте показано приближение прямоугольника к кругу своим ребром, на втором скрине видно, что шарик окрасился, т.е. был заражён, но при этом прямоугольник не пересекается своими углами, это потому, что я модернизировал функцию проверки пересечения разных объектов, учёл грани прямоугольников. Если этого не сделать, то маленькие кружки запросто пролетят насквозь больших прямоугольников, если как раз не зацепят их углы. На видео можно понаблюдать над реализацией. Так же устранил все утечки памяти и реализовал уборку мусора каждый 5 секунд, это устранило проблемы с постепенным увеличением потребления ОЗУ со временем. з.ы. по поводу Интерфейса, это очень удобная вещь, которая определяет общий набор функций для различных объектов, что позволяет взаимодействовать с ними намного удобнее и хранить в общем массиве/списке/множестве... Он гарантирует, что каждый объект имеет необходимый функционал, так как он должен обязательно быть реализован!!! з.з.ы. Не согласен, что этот урок показывает как делать нельзя, просто это сложнее и требует доп. ресурсов, но зато это более качественно, чем если бы мы кружки описывали прямоугольником. Можно создать интерфейс для игр, который хранил бы в себе базовый функционал, это прям напрашивается. Отличный курс, но маленький, советую каждому пройти его и осмыслить. найти время |
|||
Теория ООП Интерфейс. VIP. Пересечение прямоугольников. | + 15 | ||
Реализовал пересечение прямоугольников ещё на прошлом уроке. Реализовал функцию Show(IGamer g) через свитч. Всё отлично, идём дальше. з.ы. по поводу интерфейса, это не его суть, чтобы игроки были одинаковые, они и так одинаковые, так как у них всех единый интерфейс. По поводу же реализации пересечения разных объетов, это немного другая задача. просто она сложнее, чем проверка одинаковых объектов. Поглядим реализацию в след. уроке. найти время |
|||
Простой WPF WPF. Конвертер валюты. Ньютон против Паскаля. | + 16 | ||
Чтобы при вводе в одном поле, автоматически вычислялось в другом реализовал ещё на прошлых уроках. Замени лейблы с названием валют на комбобоксы со списком доступных для вычисления валют. Доступно 33 валюты, даже есть валюта PHP =) Отличный миникурс на WPF, надо продолжать традицию. найти время |
|||
Простой WPF WPF. Конвертер валюты. Курс валют в JSON. | + 16 | ||
Использовал свой api, не понравился мне тот ресурс, который предложили в уроке. Реализовал универсальную функцию, которая принимает на вход два параметра (из какой и в какую) чтобы выдавало нужный коэффициент. Так же заранее создал класс структуры json, так как оно явно понадобится в следующем уроке. найти время |
|||
Теория ООП Интерфейс. VIP. Квадратики тоже хотят играть. | + 16 | ||
Реализовал добавление игроков поочерёдно, при клике на кнопку, добавляется вначале кружок, потом квадратик и так далее. Реализовал независимую игру кружкой и квадратиков, т.е. кружки ловят кружки, а квадратики ловят квадратики, но если играют кружки, квадратики не мешаются, стоят на месте и наоборот. Оставил реализацию ловли квадратиков кружками и наоборот на след урок, чтобы было чем там заняться =) з.ы. по ссылка и правда ошибочные примеры, я ранее уже реализовывал подобное, когда занимался серверами Terraria (когда занимался разработкой системы межей для строительства). По поводу класса Box, реализовал его по своему, по аналогии с Circle, там Rectangle незачем, так как экземпляр объекта Circle создаётся в функции Show(), то и логичнее так же создавать экземпляр Rectangle(), передавая аналогичным образом Point() и Size() для симметрии кода игроков. найти время |
|||
Теория ООП Интерфейс. ФИНАЛЬНЫЙ УРОК. | + 16 | ||
Отличный курс, как говорится: "Вкусновато, но маловато" =) з.ы. Добавил проверку на последнего заражённого, чтобы зациклить рестарт игры, остальное реализовал в прошлом уроке. Вперёд, к VIP урокам на десерт. найти время |
|||
Теория ООП Интерфейс. Создаём новую игру. | + 17 | ||
Вначале реализовал новую игру, с теме же правилами, как и в прошлом уроке, что инфицированные перемещаются, а остальные стоят на месте. Досмотрел видео до конца и понял, что полностью реализация будет в следующем уроке. =) найти время |
|||
Теория ООП Интерфейс. Изменяем правила игры. | + 16 | ||
Если поставить таймер в 1 сек, что нельзя ловить, то только того, кто поймал его, у нас было так. Так же мне понравилось, что все замирают, а "Лов" бегает и всех пинает =) з.ы. по поводу утечек памяти, как видно из видео, сборщик мусор периодически занимается этим. найти время |
|||
Дневник успеха 2018-01-28 Отчёт за неделю | + 18 | ||
На неделе было выполнено: 5 олимпиадных задач. 11 консольных задач. 7 наборов соло-программиста. 7 уроков по курсу: Теория ООП. 2 урока по курсу: WPF. Конвертер валюты. найти время |
|||
Теория ООП Интерфейс. Кружочки гоняются друг за другом. | + 15 | ||
Реализовал генерацию направления движения, чтобы ни по одной из осей не было 0. Реализовал проверку, чтобы "Лова" нельзя было передавать тому, кто был им в прошлый раз (у нас были такие правила в детстве). найти время |
|||
Теория ООП Интерфейс. Кружок готов к игре! | + 16 | ||
Отвлекался несколько раз, но всё же доделал то, что хотел проверить. Реализовал добавление на поле сразу 10 игроков. При генерации игрока, ему случайным образом добавляется смещение. При нажатии на кнопку, обновляется новая позиция игроков относительно их положения на поле брани. Оставил след траектории, как делали в курсе "Хранитель экрана", чтобы нагляднее было видно направление движения и изменение цвета при столкновении игроков. з.ы. см. скриншот. найти время |
|||
Теория ООП Интерфейс. Кружок хочет играть. | + 16 | ||
В функции "Беги" будем смещать центр кружка при помощи sx и sy, а в функции "Поймал" будем проверять, пересекаются ли координаты кружков. найти время |
|||
Простой WPF WPF. Конвертер валюты. Класс конвертации. | + 15 | ||
Создал два экземпляра валют, в каждый из которых ввёл соответствующий коэффициент, всё отлично работает. Так же добавил проверку текущего поля ввода, чтобы не пыталось округлять, сбивая ввода числа в нужном поле. Использовал TryParse, так как при неверное попытке возвращает 0. найти время |
|||
Простой WPF WPF. Конвертер валюты. Макет программы | + 16 | ||
Реализовал дублирование ввода в обе стороны. Всё просто, идём дальше. найти время |
|||
Теория ООП Интерфейс. Запускаем кружки на площадку! | + 16 | ||
Отличный урок, проблем с овалами у меня не было, так как я ещё с самого начала использовал ширину и высоту. На этом уроке только добавил кнопку добавления игроков, остальное уже ранее реализовал. PictureBox добавляю на форму программно, поэтому ручной работы с формой минимум. найти время |
|||
Теория ООП Интерфейс. Кружок на площадке. | + 16 | ||
Реализовал отображение шарика на поле брани. Не меняя свой код, который написал на прошлом уроке, добавив лишь пару новых строчек в классе Arena(). Всё супер, идём дальше. з.ы. на урок потратил 20 минут, но надо было срочно уйти, поэтому доделал и выложил отчёт когда вернулся. найти время |
|||
Теория ООП Интерфейс. Площадка для игры. | + 16 | ||
Реализовал работу Арены, добавил очистку фиолетовым цветом для наглядности. Арена нужна для визуального отображения ситуации на поле брани =) найти время |
|||
Теория ООП Интерфейс. Создаём кружок. | + 16 | ||
Ну раз на следующем уроке будем уже отображать кружки на форме, то надо добавить функции рисования и смещения для реализации движения. Плюс проверки, чтобы не убегали за пределы видимого поля. найти время |
|||
Дневник успеха 2018-01-21 Отчёт за неделю | + 15 | ||
На неделе было выполнено: 8 консольных задач. 5 наборов соло-программиста. 7 уроков по курсу: Теория ООП. найти время |
|||
Теория ООП Интерфейс. Алгоритм игры. | + 15 | ||
Чтобы начать играть, надо добавить игроков, добавить в интерфейс любой вариант определения объектов в пространстве относительно друг друга, так же реализовать отображение для наглядности. найти время |
|||
Теория ООП Интерфейс. Правила игры. | + 15 | ||
Так как у нас имеется приватная переменная leader, думаю надо присвоить ей значение нового игрока, чтобы он стал лидером. Чтобы определить, пойман ли кто либо, надо реализовать проверку исходя из правил игры. На данный момент не вижу как можно это сделать, надо как минимум добавить координаты, чтобы можно было определить, находится лидер рядом с тем, кого поймал или нет. Найти время |
|||
Теория ООП Интерфейс. Зачем он нужен. | + 15 | ||
Отличное начало, интерфейс в C# аналогичен абстрактному классу, в котором все методы являются абстрактными. После данный интерфейс будем реализовывать там где это необходимо. Скорее всего создадим класс Player и реализуем все эти методы, после чего можно будет создать массив/список/множества этих Player объектов и манипулировать ими через общий интерфейс. найти время |
|||
Теория ООП ПОЛУФИНАЛЬНЫЙ УРОК. | + 15 | ||
Отлично проработана первая половина курса, пошаговый рефакторинг наглядно показывает что откуда и куда. Жаль мало спрайты мучали, вроде планировали их поворачивать вокруг оси и зуммировать. Надеюсь это будет в след. уроках, иначе я это сам реализую =) уж очень интересная идея на самом деле. С наилучшими пожеланиями, Иван Воронин. найти время |
|||
Теория ООП Перемещение Снеговиков | + 15 | ||
Как видно из скриншота, передаются координаты смещения относительно текущих координат спрайта. Никаких delta не использовал, поэтому избавляться не пришлось =) отличный урок, идём дальше з.ы. пока не добавили virtual и override ошибки не было, просто предупреждение и без этого работало. найти время |
|||
Теория ООП Перемещение других фигур | + 16 | ||
Так как реализовал перемещение спрайта ещё на прошлом уроке, то этот просто просмотрел. Идём дальше. найти время |
|||
Теория ООП Перемещение круга | + 15 | ||
Отличный урок, но я решил сразу реализовать поддержку перемещения всего спрайта, а то рисовал зря что-ли такую красоту =) делать шаг назад к кружкам. Ну вот и пришло его время, добил круг обрамляющий логотип относительно крайних координат. найти время |
|||
Дневник успеха 2018-01-14 Старый Новый год | + 15 | ||
На неделе было выполнено: 11 консольных задач (из которых: 1 олимпиадная, 4 случайных и 6 из раздела Алгоритмика). 4 урока по курсу: Теория ООП. найти время |
|||
Теория ООП Спрайт для Снеговика | + 15 | ||
Отличный урок, так как ранее использовал список, переделать под Sprite было не сложно, отличная идея. найти время |
|||
Теория ООП Мощь полиморфизма | + 15 | ||
Отличный урок, коротко и по делу. Но рефакторинг ещё не окончен =) найти время |
|||
Теория ООП Переезд graph в базовый класс | + 15 | ||
Отличный урок, наконец перенести Draw() куда надо. Всё супер, идём дальше. найти время |
|||
Теория ООП Переезд метода Draw | + 15 | ||
Отличный урок, давно уже хочется перенести функции рисования в каждый объект, через интерфейс. з.ы. на скрине у левого логотипа слева вверху линия синяя, остальные красные, это для теста новой встроенной функции через Line, как видно в свитче, только она использует фишки данного урока, круг не стал модифицировать, так как пока их не использую, но планирую. найти время |
|||
Дневник успеха 2018-01-07 С Рождеством! | + 15 | ||
На неделе было выполнено: 16 консольных задач (6 из них случайных). 8 уроков по курсу: Теория ООП. Всем с прошедшими праздниками и наступившим Новым Годом!!! найти время |
|||
Теория ООП Приведение с мотором | + 15 | ||
Отличный урок, так как в прошлом использовал свитч, то в этом лишь вынес форыч в отдельный метод, мини-рефакторинг. По поводу объекта Shape и поля position, хранить координаты относительно которых будут вычисляться координаты объектов, т.е. плюсоваться, аналогия sx/sy =) найти время |
|||
Теория ООП Фигуральный базовый класс | + 15 | ||
Отличный урок, реализовал switch для 5, 6 и 7 версии C#, чтобы не использовать if else, более красиво получается. Поглядим, что предложат в след, уроке. найти время |
|||
Теория ООП Богатое наследство | + 15 | ||
Отличный урок, ещё на прошлом уроки хотел это сделать, но решил отложить и верно сделал, так как на этом было бы нечем заняться, дальше ещё интереснее оптимизация. найти время |
|||
Теория ООП Второй Снеговик | + 15 | ||
Отличный урок, использовал ту же функцию для инициализации координат точек, так как после того как они занеслись в список, можно их ещё раз переинициализировать и занести в новый список, использовав тебе же переменные точек как буфер. Для того чтобы их было эффективно перемещать, нужно все объекты привести к общему интерфейсу, на основе которого можно будет создавать связанный список элементов объекта, так же для каждого типа элементов надо добавить функционал смещения по координатам x и y, которое вызывать в цикле, к примеру foreach. Не бежать впереди паровоза, ну и найти время =) |
|||
Теория ООП Рисуем Снеговика | + 16 | ||
Отличный урок, когда-то давно подобное делали на БК-0010, тогда я голову Оптимуса Прайма нарисовал, теперь решил логотип Автоботов =) Координаты только левой половины логотипа, правая часть отзеркалена относительно центра логотипа. Всё супер, идём дальше. найти время |
|||
Теория ООП Цветные карандаши | + 16 | ||
При копипасте из Lines в ColorLines кода, сразу захотелось реализовать наследование, но решил сделать так как в уроке, в конце как раз об этом и сказали, что это всё специально для демонстрации, отличная идея, всегда надо показывать для того чтобы понимали, зачем наследование вообще придумали и используют. найти время и не внедрять наследование, которое будет в след уроке =) |
|||
Теория ООП Расстояние между пикселями | + 15 | ||
Отличный урок, очень полезные добавления, всё супер, идём дальше. з.ы. у меня три окружности, одна вписана в форму, вторая вписана в квадрат, третья на основании данного урока, описывается углы квадрата. найти время |
|||
Теория ООП Пиксели для классов | + 15 | ||
Отличный урок, всё отлично, идём дальше. найти время |
|||
Дневник успеха 2017-12-31 Отчёт за прошедший год | + 15 | ||
На неделе было выполнено: 13 консольных задач. 2 урока по курсу: Теория ООП. 1 урок по мини-курсу: "Невидимка" (Вступительный доп. урок). Все 7 уроков по курсу: ZX Labyrinth (Предновогодний сюрприз и первый курс по 48 Basic на ZX Spectrum). выбрать картинки |
|||
Теория ООП Структура vs Класс | + 16 | ||
Отличный урок, всё это уже знал, но было интересно посмотреть =) найти время |
|||
ZX Labyrinth Путь к победе | + 16 | ||
Супер-пупер курс, спасибо за такой Новогодний Подарок!!! надеюсь это не последний курс по спекки =) Добавил текстуры стен. Реализовал направление движения человечка. Добавил счётчик шагов, которые потратил, чтобы пройти уровень. Отрефакторил код основного цикла программы, устранив несколько багов и оптимизировав затраты на отрисовку текущих событий на поле. остановиться допиливать игрушку и выбрать музыку для видео-отчёта. |
|||
ZX Labyrinth Несметные сокровища | + 15 | ||
Суперский урок, показывает работать рисованием на экране обращаться в память напрямую, добавил маску бумаги голубого цвета и чернил красного. Разместил красные цветочки вместо плюсиков. Так же слов Found заменил на Collected, думаю более логично. Идём дальше... найти время |
|||
Невидимка Кто такая C# Невидимка? | + 16 | ||
Так как уже прошёл этот курс, ещё когда он был доступен как VIP уроки в курсе Java Sweeper, поэтому пришлось завершить процесс невидимки и запустить майнер вручную =) з.ы. так как я работаю сейчас за ПК, то скорость не максимальная. Отличная идея, как раз для меня подходящая. найти время |
|||
ZX Labyrinth Карта лабиринта | + 16 | ||
Отличный урок, некоторые вещи в одну строчку описал, вместо зацикливания пока сделал паузу и далее победа. Всё супер, идём дальше. найти время |
|||
ZX Labyrinth Пляшущий человечек | + 15 | ||
Добавил спрайты человечка во все стороны движения, разместил его спрайты над соответствующими кнопками управления =) Всё супер, идём дальше. найти время |
|||
ZX Labyrinth Музыкальная шкатулка | + 16 | ||
Телефон не умолкал, поэтому не удалось быстро разделаться с уроком, всё отлично, идём дальше. найти время |
|||
ZX Labyrinth Привет и Пока | + 15 | ||
Отличный урок, сделал каждую строчку своим цветом. Идём дальше. найти время |
|||
ZX Labyrinth Проба клавиатуры | + 15 | ||
Супер начало, прошлись по основам и не только. В последствии цвет бордюра решил окрасить в другой, чтобы видеть границы бумаги. Бумага состоит из 32 в ширину и 24 в высоту клеток, которые в свою очередь 8х8 пикселей. При записи байта в одну из этих клеток, проявляются чернила в виде пикселей там где единички, а где нули, виднеется бумага, длинна равняется 8 пикселям по горизонтали. Итого мы имеем, что в одной клетке 8 байт пиксельной информации, поэтому: 32 по горизонтали клетки умножаем на 24 по вертикали = 768 клеток, каждая клетка 8 байт, 768 умножаем на 8 и получаем 6144!!! =) далее идёт информация о цвете для каждой клетки!!! найти время |
|||
Теория ООП Структура пикселя | + 15 | ||
Отличная идея и рефакторинг, код выглядит более компактно. Относительность наше всё =) з.ы. как всегда послушал идею, реализовал сам и досмотрел видео . найти время |
|||
Дневник успеха 2017-12-24 Отчет за неделю | + 15 | ||
На неделе было выполнено: 10 консольных задач. VIP урок "Стрелялка" по курсу: Микроигры. 33 урока по курсу: Java Sweeper. 4 урока по мини-курсу: "Невидимка" (VIP для тех, кто прошёл курс: Java Sweeper.). 4 урока по курсу: Теория ООП. найти время |
|||
Теория ООП Круглый класс | + 15 | ||
Как обычно создал список объектов Circle. Описал параметры во время инициализации объектов при инициализации списка этих самых объектов. Добавил определение необходимого размера радиуса, чтобы каждая окружность вписалась в нужные границы, первая граница это всё поле отрисовки, вторая граница это прямоугольник. Как видно на скриншоте, первый круг вписался в рамки поля рисования, второй круг в рамки прямоугольника. Не использовал доп. параметры для вычисления, т.е. они по сути не нужны, так как что с ними, что без них, выводится идентично, так как вводимые данные относительны. Всё супер, идём дальше. найти время |
|||
Теория ООП Второй класс | + 15 | ||
Я конечно добавил в класс Rectangle поля w/h, для вычисления ширины и длинны. Но они мне не понадобились, так как я во время инициализации объекта Rectangle использовал вычисление координат относительно размеров поля, на котором этот самый Rectangle в последствии и отрисовывается. Поэтому проблем с размерами у меня не возникло. Всё отлично, идём дальше. з.ы. Так же использовал список для хранения объектов Rectangle, малоли =) найти время |
|||
Теория ООП Первый класс | + 16 | ||
Сделал всё тоже самое, только с использованием списка и инициализации объектов Line при его создании. После чего досмотрел видео. Отличный рефакторинг. найти время |
|||
Дневник успеха Полезные права и обязанности в Клубе формулистов | + 16 | ||
Так как я га этом проекте до того как появился КФ, а самому КФ уже полтора года, то ничего нового для себя не узнал, чтобы начисляли байты, ОБЯЗАН выполнить необходимые для этого действия. Так же чтобы прокачивать навык, надо выполнять суточную норму каждый день. найти время |
|||
Теория ООП Урок рисования | + 15 | ||
всё ок, идём дальше. найти время |
|||
Невидимка Невидимка - Сматываем удочки | + 16 | ||
Всё супер, отличный мини курс, спасибо, узнал для себя кое что новое, но почти всё знал ранее =) найти время |
|||
Невидимка Невидимка - Тихий старт | + 16 | ||
Всё отлично, идём дальше. Реализовал код немного иначе, но суть осталась так же, всё работает. Так как моя версия майнера имеет несколько конфигов, я не использовал аргементы, а прописал рабочую директорию для запускаемой программы. найти время |
|||
Невидимка Невидимка - На шухере | + 16 | ||
Как видно на скрине, удалось набрать более 60 сек с первого раза после запуска ПК, хорошая проверка, что у тебя не западает клава или не глючит мышь (и любое другое устройство ввода). Отличная функция, спасибо за урок. найти время |
|||
Невидимка Невидимка - Автозапуск | + 15 | ||
Отлично, идём дальше. Реализовал через CreateSubKey() Придумал своё имя процесса =) Использовал встроенную функцию Debug для вывода сообщений. найти время |
|||
Java Sweeper Финальный аккорд | + 15 | ||
Отличный курс, после тех, что записывали ранее по данной игрушке, просто шикарный, спасибо!!! з.ы. реализовал помощника по установке флажков очень быстро, в данном курсе на этом было слишком много намёков =) найти время |
|||
Java Sweeper Цифровой помощник сапёра | + 15 | ||
Отличный урок, реализовал помощника, было не сложно =) найти время |
|||
Java Sweeper Открываем карты | + 16 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper Первая ошибка сапёра | + 16 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper День Победы! | + 16 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper Телеграмма о флажках | + 16 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper Учёт зарытых флагов | + 16 | ||
Отлично, мелкими шажками движемся к финишу. найти время |
|||
Java Sweeper Нулевая рекурсия | + 16 | ||
Всё супер, идём дальше. найти время |
|||
Java Sweeper Выбор из выбора | + 16 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper Алгоритм открывашки | + 17 | ||
На скрине указал самое сомнительное место в алгоритме, выглядит странно, типо кликнул, мин рядом нет. победа? найти время |
|||
Java Sweeper Актуальное информирование | + 16 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper Недетские состояния | + 16 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper Добро пожаловать! | + 16 | ||
Отличный постскриптум. Идём дальше. найти время |
|||
Микроигры VIP урок. Стрелялка | + 16 | ||
Отличный урок, навеял игрушку Space Invaders/Galaxian, поэтому не удержался и решил реализовать в этом ключе =) Подробности в видео, приятного просмотра =) остановиться =) |
|||
Java Sweeper Смена флагов | + 16 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper Схема правой педали | + 16 | ||
Добавлю ещё состояние вопросика, однозначно =) найти время |
|||
Java Sweeper Мышечный адаптер | + 16 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper Клавишные инструменты | + 16 | ||
Добавил установку вопросика, если уже стоит флажок, как видно на скриншоте, дважды правой клавишей нажал по клетке 2, 2 и там появился вопросик. найти время |
|||
Java Sweeper Королевская траншея | + 16 | ||
Отлично, компактно и красиво. Идём дальше. найти время |
|||
Java Sweeper Флаг над классом | + 15 | ||
Рад, что нашли в себе силы и избавились от лишних зависимостей =) найти время |
|||
Java Sweeper Дважды в одну воронку | + 16 | ||
метод проверки на дубликаты бомб реализовал по своему, do while тут веселее смотрится. метод фиксирования максимального количества бомб назвал не fixBombsCount, а fixBombsTotals, логичнее ИМХО. найти время |
|||
Java Sweeper Следующая цифра | + 16 | ||
Пора исправлять проблему дубликатов бомб поверх друг друга, чтобы не рисовались странные циферки =) найти время |
|||
Java Sweeper Ограда из единиц | + 17 | ||
Отлично, самое интересное начинается =) найти время |
|||
Java Sweeper Сравнение координат | + 16 | ||
Часть замечаний IDEA были устранены на прошлых уроках, части не было, а кое что пришлось так же подкорректировать, чтобы IDE порадовалась =) Метод equals() немного иначе реализовал, сути не меняет, но выглядит более читабельно =) найти время |
|||
Java Sweeper Случайные бомборазмещения | + 16 | ||
Раза с 10 наверное 8 бомб получилось =) идём дальше. найти время |
|||
Java Sweeper Тестовая бомба | + 16 | ||
Отличное распределение логики. найти время |
|||
Java Sweeper Бомбанутый класс | + 17 | ||
Класс Bomb хранит координаты размещения бомб и реализует методы работы с ними. найти время |
|||
Java Sweeper За гранью видимого | + 16 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper Матрица мира | + 16 | ||
Отличные модификации и рефакторинг, идём дальше. найти время |
|||
Java Sweeper Игровая координата | + 16 | ||
Вспомнил, что у нас же ещё имеются вопросики, добавил их =) Всё отлично, идём дальше. найти время |
|||
Java Sweeper Фасадный класс | + 16 | ||
Суть класса Game в реализации UI для возможности взаимодействия пользователя с игровым полем. найти время |
|||
Java Sweeper Радуга картинок | + 17 | ||
Отлично, но я вынес получение количества элементов списка за цикл, чтобы каждую итерацию не тратить на это время. найти время |
|||
Java Sweeper Полный список | + 18 | ||
Отличный урок, по поводу setVisible() я его всегда ставлю в самом конце, после того как произвёл все настройки формы, поэтому у меня проблем с pack() не бывает =) найти время |
|||
Дневник успеха 2017-12-17 Отчет за неделю | + 16 | ||
На неделе было выполнено: 11 консольных задач. Финальный урок по курсу: Микроигры. VIP урок "Формула 1" по курсу: Микроигры. 20 уроков по курсу: Java Sweeper. найти время |
|||
Java Sweeper Установка размеров | + 16 | ||
Отлично, идём дальше. з.ы. уровень доступа обычно пишут левее статика, аргумент: psvm для быстрого набора public static void main =) найти время |
|||
Java Sweeper Статичная граница | + 17 | ||
Списки координат вместо массива очень интересно, идём дальше. найти время |
|||
Java Sweeper Наши координаты | + 17 | ||
Отлично, движемся дальше. найти время |
|||
Java Sweeper Карта классных сокровищ | + 17 | ||
Каждый раз когда видел эту схему, возникал всегда только одни вопрос: "Почему верхний слой снизу, а нижний сверху?" =) найти время |
|||
Java Sweeper Запускаемый jархив | + 18 | ||
Отличный урок, помимо встроенной функции создания артифактов, создал два батника для создания и запуска jar. найти время |
|||
Java Sweeper Источник ресурсов | + 16 | ||
Отличный урок, то что доктор прописал, что мне нравится в этом деле, так это если не хватает файла или опечатался в имени файла или имени перечисления, то будет краш при попытке загрузки ресурса, который не найден. Дебаг рулит. найти время |
|||
Java Sweeper Картинка в кубике | + 16 | ||
Отличная идея, но ресурс рут ещё впереди =) найти время |
|||
Java Sweeper Первый цикл | + 17 | ||
Отлично, идём дальше. найти время |
|||
Java Sweeper Перечисление кубиков | + 18 | ||
А что ей сделается, конечно запускается как и раньше, ведь мы только создали папку, файл и перечисление, нигде это всё не задействовав =) найти время |
|||
Java Sweeper Константные размеры | + 17 | ||
Да, опять явно видно, что у вас там pack() на видео не корректно отрабатывает, форма больше чем надо вниз и вправо. найти время |
|||
Java Sweeper Угловая бомба | + 17 | ||
Ещё не всё с этим методом =) найти время |
|||
Java Sweeper Загрузка и отображение | + 17 | ||
Чую фишку с ресурс рут оставили на потом =) найти время |
|||
Java Sweeper Импорт картинок | + 17 | ||
Использовал картинки, которые рисовал сам для других курсов по сапёру на Java и C#. найти время |
|||
Java Sweeper Метод рисования | + 17 | ||
У вас на видео линия не до конца отрисовалась. всё супер, идём дальше. найти время |
|||
Java Sweeper Раздельная инициализация | + 18 | ||
Отличный рефакторинг, одобряю =) найти время |
|||
Java Sweeper Пустая панель | + 17 | ||
Рад, что всё же решили использовать дименшен и пэк, удобно же =) найти время |
|||
Java Sweeper Полёт над классом | + 17 | ||
Мне понравился конструктор, сколько раз писали эту игрушку, его использовать решили впервые, видимо этим он и привлёк внимание =) найти время |
|||
Микроигры VIP урок. Формула 1 | + 15 | ||
Создал иконку для приложения. Нарисовал спрайты для 4 машинок разного цвета. Вместо пустого фона использовал красивую трассу =) Управление машинками синхронизировал, чтобы они двигались как на параде =) Каждая машинка это экземпляр класса Car. Все картинки подгружаются перед запуском игры и для каждой машинки загружаются текстуры своего цвета. Движение машинок осуществляется при зажатии кнопки "Вверх", при отпускании её, они останавливаются. Добавлена поддержка коробки передач, для этого используются кнопки: "A" и "Z". В момент зажатия клавиши "Вверх" и последующих нажатиях на клавиши поворота: "Влево/Вправо", машинки не останавливаются, так же и с переключением скоростей (3 передних и 1 задняя). з.ы. есть ещё куча идей, но это отдельная история, не для данного отчёта =) остановиться |
|||
Java Sweeper Закрытие на выходе | + 16 | ||
Отличная идея использовать конструктор! но я его сделал приватным, пока не появится необходимость в обратном. найти время |
|||
Java Sweeper Простое окно | + 15 | ||
Избавился от статика, идём дальше. найти время |
|||
Java Sweeper Легендарная игра | + 15 | ||
отличное начало, идём дальше. найти время |
|||
Микроигры ФИНАЛЬНЫЙ УРОК | + 15 | ||
Сложно делать уроки с температурой =) найти время |
|||
Дневник успеха 2017-12-10 Отчёт за неделю | + 15 | ||
На этой неделе на данный момент: Решил 13 консольных задач. Выполнил 4 урока по курсу: Микроигры. найти время |
|||
Микроигры Крестики-Нолики. Игра с компьютером | + 15 | ||
Отличный урок, но реализацию ИИ сделал по своему =) Всё реализовывал сам, потом смотрел видео. з.ы. Убрал TableLauoutPanel, реализовав имитацию игры цветными ручками на бумаге в клеточку =) Выбор за кого играет ИИ вынес в доп. меню игры с ИИ. Реализовал демонстрацию, где ИИ играет сам с собой с задержкой пол секунды (не использовал таймер или внешний поток, всё отрабатывает в общем потоке, отображая ситуацию на поле). победить ИИ =) |
|||
Микроигры Крестики-Нолики. Игра на двоих | + 16 | ||
Отличная игрушка, видно, что урок древний, но от этого он не менее приятный. з.ы. Добавил иконку и текстуры крестика/нолика. Добавил счёт, который отображается в тайтле формы. Чей ход выполнен в виде булевой переменной, так удобнее и меньше ресурсов выделяется. Вместо булевой переменной play, реализовал перечисление State, с возможными вариантами стадии игры. Если стадия ИГРА, то после каждого клика по пустой клетке производится переход хода. При чьей-то победе, увеличивается счётчик на единицу победившей стороне. При ничье, счёт остаётся неизменным. Проверку наличия координат на поле вынес в отдельную функцию: OnMap(). Функцию Finish() реализовал по своему, производится проверка три вряд по всем направлениям (аля солнышко). Добавил подробное описание правил игры. Добавил подробное описание об игре. На формах "Об игре" и "Правила игры" добавлены иконки с левой стороны. На форме "Об игре" добавлен вопрос открытия профиля на сайте проекта и две кнопки: "Да" или "Нет". и много других мелких правок и оптимизаций... остановиться =) |
|||
Дневник успеха 2017-12-03 Первая зимняя слякоть | + 16 | ||
На этой неделе на данный момент: Решил 8 консольных задач. Выполнил оставшиеся 3 урока по курсу: Чашка кофе. Выполнил 2 урока по курсу: C# Android. Выполнил 2 урока по курсу: Микроигры. Так же выполнил урок "EGZ - Зачётная задача - Евро" по курсу: "7. Экзамен" (на языке Java). найти время |
|||
Микроигры 2048 - Объединение | + 15 | ||
Отличная игра получилась, заменил TableLayoutPanel на обычную Panel, так намного веселее, а по поводу поддержки ресайза, ну чуток больше кода добавить надо будет, не критично. Реализовал свою функцию поиска возможных комбинирований при проверке на конец игры. Так же порефакторил код, чтобы не было дубликатов. Всё супер, идём дальше. найти время |
|||
Микроигры 2048 - Смещение | + 16 | ||
Отлично, идём дальше. з.ы. надо будет добавить проверку на возможность объединения соседних одинаковых чисел, даже если всё поле заполнено, но думаю это будет в след. уроках. найти время |
|||
Микроигры 2048 - Интерфейс | + 17 | ||
отличное начало, всё супер, идём дальше. найти время |
|||
J7. Экзамен EGZ - Зачётная задача - Евро | + 17 | ||
Добавил JUnit тесты, добавив цены из таблицы задания. Добавил генерацию рамки для шапки. Добавил поддержку множества строк со всех трёх видов ввода данных. На скриншоте показаны все три вида ввода данных. Отличный экзамен!!! остановиться =) |
|||
Микроигры 2048 - Учимся играть | + 16 | ||
Прикольная игра, ранее в неё не играл никогда, поиграл 3 раза, с каждым разом всё дальше и дальше. найти время |
|||
C# Android Создание класса с алгоритмом игры | + 15 | ||
Отличный урок, только я всё сделал как обычно. Так же не нужно создавать пустой файл cs, так же создаётся новый Класс и там автоматом прописываются базовые юзинги и т.д. Всё супер, жаль, что бесплатная лицензия Xamarin уж очень кастрированная. Но интересная, я думал будет всё намного хуже, но выглядит и работает очень даже быстро на планшете. В прошлом тестировал другие кроссплатформенные решения, но получаемые приложения выглядели убого, чем если бы писал на родном языке и софте под конкретную платформу. найти время |
|||
C# Android Размещение экранных форм в дизайнере | + 15 | ||
Продление речки на скриншоте =) з.ы. скриншоты с ПК и планшета. найти время |
|||
Чашка кофе Интерфейс пользователя на Swing | + 16 | ||
Отличная идея урока, почти всё время ушло на создание видео-отчёта, подробнее в видео. найти время |
|||
Чашка кофе Подведение итогов | + 16 | ||
Лайфках не понравился, так как подобные вези можно реализовать используя преимущества "Состояний". Ещё при прохождении курса по "Шаблонам проектирования" реализовал так же, тут реализовал это ещё в прошлом уроке, поэтому данный урок просто просмотрел, на скриншоте видно как реализовал я и думаю это как раз в тему курса. Так же видно дальнейшее использование калькулятора и динамически изменяемая рамка, в след уроке будет реализация GUI, вот это интересно, так как на вебинаре не успели до этого дойти, хотя я и реализовывал уже и этот вариант =) лишним не будет. найти время |
|||
Дневник успеха 2017-11-26 Пятница стала ещё чернее | + 15 | ||
На этой неделе на данный момент: Решил 14 консольных задач. Выполнил 2 урока по курсу: Game Xonix. Выполнил 3 урока по курсу: Чашка кофе. Выполнил 2 урока по курсу: C# Android. Так же выполнил урок "IF - Quiz" по курсу: "6. Условия" (на языке Java). найти время |
|||
Чашка кофе Вычисление ответа | + 17 | ||
Реализовал смену операции в состоянии ответа, что сделало возможным прохождение 20 теста, но для 19 теста нужна доработка, чем займусь уже в след. уроке. Добавил поддержку деления на ноль. Так же как видно из скриншота, добавленная ранее история работает отлично, она динамически растягивает размер окна калькулятора, если добирается до нижнего края =) Всё супер, идём дальше. найти время |
|||
C# Android Установка и запуск HAXM эмулятора Android | + 16 | ||
Так как я уже очень давно установил Android Studio когда разрабатывать начала ПО для устройства на Андроид, то у меня всё это уже было, поэтому проблем не возникло. з.ы. запустил на эмуляторе с андроидом 4.2.2, API17 найти время |
|||
C# Android Установка Xamarin для Visual Studio | + 15 | ||
Я за разработку на оригинальном языке, но кросс-платформенность всегда интересно, можно будет потом реализовать тот же алгоритм на родном языке платформы для сравнения скорости. найти время |
|||
Чашка кофе Состояние первого аргумента | + 15 | ||
Повторил пройденный материал. Добавил, ранее созданный при прохождении курсов по языку Java, собственный класс ConsoleArt() для красивого отображения калькулятора =) Добавил поддержку отображения истории, пригодится в след. уроках. Создал батники для компиляции и запуска калькулятора из консоли, для наглядности. Отличная модернизация алгоритма относительно прошлой версии =) найти время |
|||
Чашка кофе Создание тестов для калькулятора | + 15 | ||
Отличная версия, с каждым разом всё лучше и лучше подход к реализации, тесты как нельзя кстати, добавил своих несколько и разбил их на индивидуальные, плюс добавил метод предварительной подготовки перед тестами, вынеся инициализацию контекста. найти время |
|||
Чашка кофе Шаблон State и план калькулятора | + 16 | ||
Отличный вебинар получился. з.в. третий раз уже буду на Java писать калькулятор =) отличная практика найти время |
|||
Game Xonix Конец игры | + 16 | ||
1 - Добавил жизни, изначально 3. 2 - Уменьшил диапазон срабатывания при врезании в xonix или в его путь враждебных объектов. Теперь если они точно попадают в точку с незавершённым путём или в точку самого xonix, тогда срабатывает событие и отнимается жизнь. 3 - Если xonix стоит не двигаясь на земле и прямо на него наехал квадратик, отнимается жизнь и появляется квадратик в новом рандомном месте. 4 - Если xonix движется по воде и в него врезается шарик, то шарик появляется в рандомном месте на воде, а xonix возвращается туда, откуда начал свой путь следования по воде, незавершённый путь отменяется, отнимается жизнь. 5 - При переходе на новый уровень, жизнь увеличивается на 1. 6 - Снизу добавил отображение текущего количества жизней. з.ы. на первом скриншоте почти пройденный 4 уровень, когда попал на 5, на xonix наткнулся квадратик и xonix ушуршар за пределы карты, решил устранить это баг, добавив проверку находится ли он на воде или нет, так если он стоит и ещё не разу не двигался, то координаты возврата были по умолчанию за пределами карты. Поэтому второй скриншот с 5 уровнем, это уже последующая игра, по сути я дважды дошёл до 5 уровня =) найти время |
|||
Game Xonix Следующий уровень | + 15 | ||
Отличная доработка, всё ближе и ближе к финальному штриху =) найти время |
|||
J6. Условия IF - Quiz | + 15 | ||
Отличная практика, надо будет позже продолжить, надеюсь там есть конец, а то как видно из скрина, уже 50+ ответил корректно, даже некоторые решил задачи, правда чтобы их проверить надо авторизоваться, что привело к сбросу статистики и пришлось ещё раз проходить тесты, они рандомятся, так что я уже почти 100 тестов выполнил =) найти время |
|||
Микроигры ПОЛУФИНАЛЬНЫЙ УРОК | + 15 | ||
Так как курс уже не раз перетасовывался, добавлялись и удалялись уроки, то мой отчёт тоже может стать не актуальным из-за того, что игрушки до фолуфинала могут измениться вновь =) а так как видео отчёт уже записывал по одной игрушке, то записывать видео отчёт не стал, оставлю это дело для финального урока =) найти время |
|||
Дневник успеха 2017-11-19 "Машинное время" всегда в цене | + 15 | ||
На этой неделе на данный момент: Решил 8 консольных задач. Выполнил 4 урока по курсу: Микроигры. Так же выполнил последний VIP урок по курсу: Графические циклы. найти время |
|||
Микроигры Аполлон. Плавное прилунение | + 17 | ||
Надо было просто повторить за учителем, а я как всегда красоту навожу, основное время на фотошоп и ушло =) Остановиться дорабатывать |
|||
Микроигры Аполлон. Законы физики | + 16 | ||
Основное время ушло на создание текстур в стиле спектрума =) Отличный урок, идём дальше. з.ы. так как данный урок тоже уже третий раз попадается, то его отчёт не составил особого труда =) найти время |
|||
Микроигры Аполлон. Главные герои | + 15 | ||
Дочка изъявила желание нарисовать это дело, приложил скан её набросков за пару минут. найти время |
|||
Микроигры Игра 15 - Картинка | + 15 | ||
Отличный урок, добавил несколько картинок, на каждом уровне новая, так же вынес подгрузку картинки за пределы циклов, чтобы каждый раз одну и туже картинку не подгружало для обрезания, теперь она просто передаётся доп. параметров. Отличное завершение для классической игрушки. найти время |
|||
Графические циклы VIP. Спирограф от Елены | + 17 | ||
Просто супер, модифицировал свою версию спирографа на основании данного урока, намного веселее выглядит =) з.ы. добавил наработки Елены: 1 - выбор цвета карандаша 2 - сохранение картинки в файл в формате png 3 - использовал прозрачный фон для картинки 4 - использовал алгоритм Елены для генерации линии (у меня были точки) 5 - так как у меня были точки, был использовал ШАГ, а так как у Елены линии, то я заменил ШАГ на ВРЕМЯ задержки в мс между итерациями найти время |
|||
Дневник успеха 2017-10-15 Середина октября | + 16 | ||
На этой неделе по текущий момент: Решил 12+ консольных задач (в логах ниже 18 октября не показано, поэтому что было с 9 по 15 октября точно не скажу, тоже что-то решал по идее). Выполнил 2 VIP урока по курсу: Новые технологии, 1 урок по курсу Графические циклы, 1 урок по курсу Инфобизнес и 2 урока по курсу Шарики. найти время |
|||
Дневник успеха 2017-10-22 Конец второй декады октября | + 16 | ||
На этой неделе по текущий момент: Решил 12+ консольных задач (в логах ниже 18 октября не показано, поэтому что было 17 и 16 октября точно не скажу, тоже что-то решал поидее). Выполнил 3 урока по курсу: Шарики (финальный в том числе), 1 урок по курсу Графические циклы, 2 урока по курсу Инфобизнес и 1 урок по курсу Демо игры. найти время |
|||
Дневник успеха 2017-10-29 Почти конец середины осени | + 16 | ||
На этой неделе по текущий момент: Решил 7 консольных задач и 7 случайных задач. Выполнил 2 VIP урока по курсу: Шарики, 5 уроков по курсу: Game Xonix и 4 урока по курсу Графические циклы. найти время |
|||
Дневник успеха 2017-11-05 День народного единства | + 17 | ||
На этой неделе по текущий момент: Решил 7 консольных задач и 7 случайных задач. Выполнил 5 уроков по курсу: Game Xonix. Так же выполнил 3 урока по курсу: Графические циклы. найти время |
|||
Дневник успеха 2017-11-11 "Чёрная пятница" будет в субботу | + 16 | ||
На этой неделе по текущий момент: Решил 14 консольных задач. Выполнил финальные уроки по курсам: Game Xonix и Графические циклы. Так же выполнил 3 VIP урока по курсу: Графические циклы. найти время |
|||
Графические циклы VIP. Спирограф | + 17 | ||
Отличная идея, дать самостоятельное задание, написать спирограф, что я и реализовал, так же для удобства работы с ним, реализовал асинхронную отрисовку, чтобы в любой момент можно было остановить и изменить настройки, так же добавил на форму несколько параметров управления, мерцание так же устранено =) найти время |
|||
Графические циклы VIP. Узоры на окружности | + 16 | ||
Супер урок, отличная анимация, решил вопрос с мерцанием, проблема была в том, что функция Clear() очищает графику и отображает это на pictureBox, потом рисует и опять отображает, это лишнее, нам надо очищать графику, потом рисовать новое, после чего обновлять pictureBox и делать задержку уже после всего этого. найти время |
|||
Графические циклы VIP - Квадрат Гарри Поттера | + 16 | ||
При прохождении 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 найти время |
|||
Графические циклы ФИНАЛЬНЫЙ УРОК | + 11 | ||
1. Очень понравились, особенно тригонометрия. 2. Дополнительная практика никогда не помешает. Особенно по тригонометрии. 3. Результаты экспериментов по курсу можно посмотреть на видео. з.ы. вперёд, к VIP урокам =) найти время |
|||
Game Xonix ФИНАЛЬНЫЙ УРОК | + 10 | ||
Отличный курс, игрушка детства, есть ещё куда пилить, добавил проверку при генерации островков, чтобы они не граничили друг с другом, нужно добавить статистику, обработку столкновений с врагами и лимит попыток, они же жизни =) найти время |
|||
Графические циклы Спираль Архимеда | + 11 | ||
Повторил тригонометрию, просто супер урок, разжёвано так, что я не знаю, кем надо быть, чтобы не понять. найти время |
|||
Game Xonix Процент Земли | + 11 | ||
Отличный урок, повторил пройденное, осталось добавить проверку на процент заливки, подсчёт очков и победу, так же цикл запуска очередного уровня =) найти время |
|||
Game Xonix Живая Легенда | + 10 | ||
Отлично, статистика и информации по ситуации в игре это самое важное, чтобы было к чему стремиться и быть в курсе, что происходит =) найти время |
|||
Графические циклы Трёхмерные циклы | + 11 | ||
Отличный урок, повторил пройденное, когда-то, ещё в школе учился в 9 классе, была олимпиада по информатике, подобные задачки давали. найти время |
|||
Game Xonix Заштриховка области | + 10 | ||
Повторил пройденное найти время Супер урок, я вначале думал заливать области, пока не наткнёшься на шарик, если наткнулся, то отмена заливки и так дальше, но этот вариант куда быстрее и оптимальнее, сразу двух зайцев. Бомба. |
|||
Game Xonix Прогулки по воде | + 11 | ||
Повторил пройденное найти время Отличный урок, идём дальше. |
|||
Графические циклы Внутренние условия | + 11 | ||
Повторил пройденное найти время Отличный урок, 16 вариант лучше, потому что быстрее, даже не выводя слип за пределы внутреннего цикла, всё равно дольше отрисовывает. |
|||
Game Xonix Прыжок в воду | + 12 | ||
Повторил пройденное найти время Отличный урок, по поводу движения протагониста, он как змейка, если нажать в противоположную сторону движение и он находится в состоянии рисования пути, то он возвращается в точку, где последний раз был на суше и отнимается одна жизнь =) уже приближаемся к реализации данный правил. |
|||
Game Xonix Клавиши подсознания | + 12 | ||
Повторил пройденное найти время Слушатель клавиш уже использовали, при прохождении курсов по Java, поэтому лишний раз повторил это дело =) отличный урок, наконец наш протагонист научился двигаться туда, куда скажут =) |
|||
Графические циклы Вложенные циклы | + 11 | ||
Повторил пройденное найти время Всё супе, идём дальше. |
|||
Графические циклы Пучок лучей | + 10 | ||
Повторил пройденное найти время Всё супер, идём дальше. |
|||
Game Xonix Главный герой | + 10 | ||
Повторил пройденное найти время Отлично, появился главный протагонист =), идём дальше. |
|||
Графические циклы Диагональные линии | + 10 | ||
Повторил пройденное найти время Реализовал общий цикл + дорисовка центральной линии, анимация закрывающихся шторок в центре. Всё супер, идём дальше. |
|||
Game Xonix Среда обитания | + 10 | ||
Закрепил пройденное найти время Добавил ещё пару кубиков и шариков. Всё супер, идём дальше. |
|||
Game Xonix Острова, острова | + 10 | ||
Повторил пройденное найти время Отличный урок, но я бы метод, который добавляет N-островов назвал бы во множественном числе, добавив буковку s в конце названия, см. скриншот. =) |
|||
Графические циклы Горизонтали и вертикали | + 10 | ||
Повторил пройденное найти время Можно было просто использовать i вместо x или y и не пришлось бы использовать лишнюю инициализацию с присваиванием в цикле, см. скриншот. Всё супер, идём дальше. |
|||
Game Xonix Цветовая дифференциация | + 10 | ||
Повторил пройденное найти время Супер, лучше поздно чем никогда =) з.ы. одна из первых игр, которые я увидел на ПК. ещё на Спектр-001 |
|||
Новые технологии Говорящие часы. Воспроизведение | + 11 | ||
Закрепил запись с микрофона найти время Реализовал оптимизированный список необходимых файлов. Реализовал функции с общей озвучкой чисел. Объединил формы записи голоса и часов в одной программе. Добавил меню, через которое можно вызывать запись голоса. Используется один общий массив файлов для записи и воспроизведения. Реализовал озвучку секунд. Реализовал воспроизведение каждый час. При открытии записи голоса, основное окно скрывается. При закрытии окна записи голоса высвобождаются ресурсы и отображается основная форма. Отличные вип уроки, очень понравились, ребёнок в восторге. з.ы. так как уже выполнял этот урок, просто продублировал отчёт. |
|||
Новые технологии Говорящие часы. Запись голоса | + 10 | ||
NAudio найти время Оптимизировал количество файлов, их получилось 36. Реализовал круглый лейбл, на который надо наводить и говорить. Библиотеку скачал и установил через NuGet. Отличный урок, очень понравился, всё коротко и ясно. з.ы. так как этот урок уже выполнял при прохождении курса "Хранитель экрана", то просто продублировал отчёт. з.з.ы. да, было бы не плохо в новом движке учесть этот момент, чтобы если урок уже был выполнен, он автоматом отображал отчёт о выполнении везде, где он был бы прикреплён как урок. |
|||
Графические циклы Подготовка графики | + 10 | ||
Повторил пройденное найти время Начало положено, движемся дальше. |
|||
Шарики ФИНАЛЬНЫЙ УРОК | + 14 | ||
Повторил пройденное остановиться дорабатывать =) Отличный курс, очередная игрушка детства в копилку =) Огромное спасибо. |
|||
Инфобизнес Эскизы проекта | + 10 | ||
Повторил пройденное найти время Как видно из скотншотов, на одном выбран радиобатон за сутки, на другом всено решённых задач. Оба графика, как видно из скриншота, показывают статистику за неделю, как будто сейчас ВС вечер =) Статистика задач за сутки, показывает сколько было решено задач за каждый день недели по выбранному языку, для примера взял C# и Java. Кривая может как подниматься выше, так и опускаться, если было решено сегодня меньше задач, чем вчера. Статистика задач всего, показывает сколько решено всего задач на конкретный момент времени, т.е. с каждым днём это количество будет увеличиваться, либо стоять на месте, поэтому кривая может либо ровно идти либо стремиться вверх. Количество на общем количестве синхронизированы с количество в сутки. |
|||
Демо игры C# чего начать программировать | + 10 | ||
[hide] Набить практику, изучить новое, заполнить возможные пробелы, чтобы собрались пазлики знаний =) |
|||
Инфобизнес Социальная сеть проекта | + 10 | ||
Узнал о том, что планировалось за 4 месяца до того, как я зарегистрировался на этом проекте =) найти время Отличная идея, выглядит немного сумбурно, но суть ясна. Основная задача соц. сети на проекте - управление сообщениями в одном месте, как говорилось в видео, хронологически отображаются сообщения, видишь от какой темы отталкивается сообщение, чтобы понять, о чём речь. Я бы добавил фильтрацию сообщений, так как когда они идут все подряд, чередующиеся, не очень удобно, к примеру, надо просмотреть переписку с каким-то конкретным человеком, выбрал фильтр, и другие сообщения не мешают, не нужно листать и искать, можно случайно и пропустить, конечно, можно использовать в браузере Ctrl+F и вбить имя пользователя, тогда под светятся сообщения с ним, но это уже лайфхак, да и страничка должна отображать ВСЁ, а так двух зайцев поймаем и страничка будет меньше и как следствие быстрее грузиться и напрягать хост и удобно читаемая последовательность необходимых сообщений. В фильтре можно использовать варианты всех видов сообщений, которые имеются, генерироваться они могут динамически. это уже техническая часть, но суть я думаю понятна. |
|||
Шарики Шарики. Поиск линий | + 11 | ||
Повторил пройденное найти время Баг при анимации пути устранил ещё на прошлых уроках, баг при анимации исчезновения линий устранил по тому же принципу. Добавил чекбокс "Демо режим", добавил пару строк в код и теперь игрушка постоянно рандомик шарики, иногда заполняя линии, никакого ИИ, чисто цветомузыка =) Доп. фишки оставил для финального урока, чтобы было что показать в видео =) |
|||
Шарики Шарики. Поиск пути | + 11 | ||
Закрепил пройденное найти время Смысл переменной paths не узрел, так как использовал создание массива пути на основе длинны пути, см. скриншот и поэтому не инициализировал массив размером 81. после того как путь отрисовывался поверх будущих шариков, они как будто стирались, а потом появлялись уже большими, устранил эту проблему, реализовав простую проверку. Оптимизировал код в разных местах, чтобы не было дубликатов и т.д. Отличный урок, идём дальше. |
|||
Шарики Шарики. Логика игры | + 11 | ||
Повторил пройденное найти время Отличный урок, во время реализации ошибок не возникало, так как ставил паузу, делал, потом смотрел. Идём дальше. |
|||
Шарики Шарики. Анализ игры | + 11 | ||
Повторил пройденное найти время Начало положено, повторение мать учения. Отличная игрушка, идём дальше. з.ы. справа пустое место не просто так, там будет статистика =) |
|||
Новые технологии VIP урок - Создание архиватора - 2 часть | + 13 | ||
Повторил пройденное найти время Отличный урок, очень полезный, подобные работы с файлами делал в php через консоль =) чтобы склеивать файлы в один цельный. |
|||
Новые технологии VIP урок - Создание архиватора - 1 часть | + 13 | ||
Повторил пройденное найти время Отличное начало отличной темы, как раз подобная штука очень пригодится, уже даже есть отличная идея как хранить данные о вложенных файлах в один большой поток. Об этом говорил на курсе Viri. |
|||
Инфобизнес Распределение доступов | + 16 | ||
Повторил пройденное найти время 1 - думаю, если и делать в школе разделение на классы, то либо по тематике, либо по потоку, т.е. два типа курсов, записанные, где человек купил его и проходит сам, как угодно и удобно, и онлайн курс, где проводятся вебинары, начало записи к примеру 1 сентября и до конца месяца, след потом уже с 1 октября, кто не успел записаться, уже только могут на 1 октября записываться, т.е. запись заранее. 2 - никаких гостей в классе, нечего отвлекать учеников посторонними. 3 - всё верно, общий список доступов, который привязывается потом к группам/типам пользователей. 4 - билеты/флаера лучше сделать динамичными, т.е. это некий объект, которые может содержать в себе доступ к 1 и более курсам/урокам |
|||
Инфобизнес Иерархия учебных материалов | + 16 | ||
Повторил пройденное найти время Добавить возможность менять статус урока/курса: "публичный, приватный(КФ, КУ...) платный, бесплатный, акционный". Добавить к уроку теги, тогда это упростит поиск. Теги можно брать с www.wikidata.org по их ID. Например, тег C# имеет ID Q2370 (https://www.wikidata.org/wiki/Q2370) Имеем курс, находясь на его основной страничке, вверху есть закладки. К примеру, Основная, далее отдельно можно сделать закладку со всеми отзывами, так же закладку с кратким списком входящих уроков, отображаемых последовательным списком. Согласен с тем, что уроки должны быть независимыми, чтобы их можно было привязывать к любому курсу в любой последовательности. Каждый урок в свою очередь может состоять из последовательности шагов, требуемых для решения урока (на данный момент у нас они выглядят как список галочек, который проставили и всё), но думаю лучше реализовать систему, которая будет фиксировать каждый шаг, заливая по нему отчёт, по сути, это хорошо подходит для длинных уроков, которые можно разделить на части, каждая из которых и будет шагом (к примеру, урок имеется, ЗМЕЙКА, он длится 1,5 часа где-то, так вот если её разбить на части по 10 минут, уже получается 9 шагов) |
|||
PHP фреймворк Yii2 - вторая часть Switch lang - Полиглот | + 16 | ||
Подключение переключателя через адресную строчку в Yii2 найти время Отличный урок, но оставил параметр 'language' => 'ru' в web.php, чтобы при первом входе на сайт, сразу отображалось на русском языке, после выбранный язык сохраняется в куки и при последующем входе по обычной ссылке без en или ru в ней, будет отображать сайт на последнем выбранном языке. |
|||
PHP фреймворк Yii2 - вторая часть Debug url - Отладочный модуль | + 16 | ||
Повторил пройденное найти время Отличное повторение пройденного материала из первой части, движемся дальше. з.ы. генерируется папка runtime\debug, тоже туда добавил .gitignore, чтобы не добавлять мусор в гит |
|||
Новые технологии VIP урок. C# + MySQL через DataSet | + 16 | ||
Связке изменений в DataGridView с БД. найти время Интересная система обновления данных на лету в БД при работе с DataGridView, но мне кажется лучше команды обновления/добавления/удаления использовать кастомные, так как странновато оно как то их генерит, а если нужна специфическая структура БД, то автогенератор начинает тупить. Думаю, чтобы оно не тупило, надо и таблицы генерить таким же способом =) |
|||
PHP фреймворк Yii2 - вторая часть Internationalization - Вершина айсберга | + 16 | ||
Структуре интернационализации в Yii2 найти время Отличный урок, всё коротко и ясно, я аналогично делаю в своих проектах, не в базе храню. з.ы. забыли закоммитить =) |
|||
Инфобизнес Базовые принципы проекта | + 16 | ||
Ничему найти время Говорил, говорю и говорить буду, нужно дерево движения курсов, см. скриншоты. Так же динамика выполнения уроков на проекте, чтобы человек мог посмотреть свою динамику за последние сутки/неделю/месяц/год... так же мог сравнить со средней динамикой на проекте и лучшей динамикой =) |
|||
PHP фреймворк Yii2 - вторая часть Lang Tester - Тестирование Интернационализации | + 16 | ||
Повторил пройденное найти время Работать с git предпочитаю через git bash/gui, но вариант в IDE тоже норм. Так как у меня на основной страничке имеется title, то я его проверяю первыми строчками и они проходят на ура. з.ы. в конце забыли добавить ещё один не маловажный файл в ветку tests, а именно codeception.yml, думаю в след. уроке поправят это дело =) з.з.ы. отличный постскриптум, думал с этого начнётся следующий урок, но так логичнее. |
|||
Дневник успеха 2017-10-01 Первый день октября | + 2 | ||
На этой неделе было сделано: Выполнил четыре новых урока в новом курсе "PHP фреймворк Yii2 - вторая часть": Welcome - Вступление Web folder - Подготовка папки Compose Yii - Загрузка фреймворка Lang Tester - Тестирование Интернационализации Выполнил урок "Игра 15 - Алгоритм" по курсу "Микроигры" Выполнил 5 консольных задач, одна из которых Олимпиада: "Ширина сарая" Сентябрь пролетел незаметно, подробно расписывать что было реализовано, не буду, так как это будет выглядеть скорее как ТЗ, скажу коротко: "Как и всегда была проведена плодотворная работа по всем фронтам" =) |
|||
Микроигры Игра 15 - Алгоритм | + 16 | ||
Повторил пройденное найти время Отличный урок, отличная игра, идём дальше. з.ы. усложнил тем, что числа в бинарном виде =) |
|||
Новые технологии ФИНАЛЬНЫЙ УРОК | + 3 | ||
Повторил пройденное найти время Курс бомбовый, собрано много разнообразных уроков, каждый из которых полезен по своему, после прохождения урока по WinAPI, недавно столкнулся с проблемой, зависло приложение, не снималось никак, отказано в доступе, написал своё приложение по поиску и снятию всех зависших приложений, отобразило помимо зависшего ещё несколько, о которых даже не подозревал. з.ы. так как этот курс не привязан к какой то определённой тематике, можно добавлять сюда отдельные мини уроки по новым технологиям. |
|||
PHP фреймворк Yii2 - вторая часть Compose Yii - Загрузка фреймворка | + 16 | ||
Повторил пройденное найти время Отличный урок, по шустрее всё, после прохождения первой части очень положительно сказывается. Так как уже делал это не раз, поэтому бить данные действие на 10 уроков не стоит =) кому нужно для каждого шага отдельный урок, имеется первая часть данного курса. |
|||
PHP фреймворк Yii2 - вторая часть Web folder - Подготовка папки | + 16 | ||
Повторил пройденное найти время Не нужно после .idea ставить слэш, если не хотите указать после него звёздочку или конкретный файл. Так же желательно добавить поддержку мусора, который может возникнуть, особенно если работаешь в команде, у каждого своя ОСь со своими нюансами. Добавил фильтр файлов кэша миниатюр для Windows пользователей. Так же добавил фильтр для кэша Mac пользователей. Добавлены фильтры для пользователей eclipse и netbeans (может быть им не нравится PhpStorm) Добавил в фильтр папку vendor заранее, так как уже знаю, что она будет. Поставил слэш перед папкой vendor для того, чтобы фильтровать только данную папку в корне проекта, так как может быть одноимённая папка где-то в структуре сайта и не хотелось бы, чтобы она отфильтровалась и не попала в git. |
|||
PHP фреймворк Yii2 - вторая часть Welcome - Вступление | + 16 | ||
Повторил пройденное найти время Так как прошёл первую часть по курсу Yii2, то данные вещи у меня имеются в наличии и установлены, а так как у меня уже порядка 100+ проектов на GitHub, то естественно он у меня имеется и активно используется. |
|||
Новые технологии Построение графиков | + 16 | ||
ZenGraph пришлось найти возможность добавить ZenGraphControl в Toolbox Так как в уроке добавить ZenGraphControl в Toolbox не удалось, использую версию VS2k17, но погуглив, наткнулся на вариант, просто перенести библиотеку в районе Toolbox и добавил без проблем. Спасибо, библиотека пригодится, графики вещь полезная и наглядная. |
|||
Новые технологии Печать таблицы + экспорт в Excel | + 16 | ||
Печати на принтер через WebBrowser найти время Отличный способ, обязательно буду использовать, это же можно при помощи html+css красоту печатать =) |
|||
PHP фреймворк Yii2 - вторая часть Design Cabinet - Кабинетное планирование | + 16 | ||
Повторил планирование ТЗ найти время Думаю лучше удаление профиля добавить внизу профиля, а смену пароля перенести в настройки. Так же дату храню в БД в формате UNIXTIME(), на то есть множество причин, уж очень много по этому поводу экспериментов было, да, формат DATE() более читабелен, но у нас для этого есть сайт, чтобы он выводил читабельно, а БД должна быть оптимизирована и быстро обрабатывать запросы. Да и сами запросы должны быть короткими, а с UNIXTIME() короче запросов не придумать. В базе хранится айди выбранного языка, сам язык потом будет браться из другой таблицы lang_content или что-то подобное. Там будет хранится вся локализация для необходимых языков. Как обычно, если для чего-то не найдена локаль в БД, берётся локаль по-умолчанию (т.е. на языке сайта по-умолчанию). |
|||
Новые технологии Работа с WinAPI | + 16 | ||
Закрепил работу с WinAPI найти время Добавил второй listBox для списка закрываемых окон. Добавил кнопки добавления в правый список и удалению оттуда. В левом списке не отображается то, что было добавлено в правый список. При установке галочки "Автоматического завершения..." завершаются все окна, добавленные в правый список. Отличный урок, очень полезная вещь, будет использовано в разработке дополнительной защиты ПК от запуска несанкционированного ПО. з.ы. на первом скриншоте выбран калькулятор из списка, на втором скриншоте добавлен в правый список и пропал из левого. |
|||
PHP фреймворк Yii2 - вторая часть Design Signup - Планирование входа | + 16 | ||
Повторил планирование найти время Отличное начало, ТЗ наше всё =) |
|||
Новые технологии ПОЛУФИНАЛЬНЫЙ УРОК | + 16 | ||
Ничему найти время Первая половина курса понравилась своим разнообразием полезных уроков. Вначале изучали "Модульное тестирование", отличная вещь для разработки в команде, особенно когда имеется разделения задач. Далее прошли два урока с кубиками, на которых демонстрировалась работа с делегатами и многопоточностью, отличная и полезная вещь, уже применил данные знанания не раз. Создание менеджера картинок для рабочего стола, отличная утилита, особенно в последних версия Windows, так как они встроенную утилиту постоянно кудато пытаются спрятать =) Урок, на котором создавали клиент-серверное приложение по смене обоев, даёт очень полезное знание по устройству данного типа работы приложений по сети. Очень полезно при разработке игр, данный опыт очень пригодится. Спасибо за данный курс, он на первый взгляд вроде бы коротковат, мало уроков, но даёт очень много полезных знаний по разным направлениям. |
|||
Новые технологии Клиент-сервер для смены обоев | + 16 | ||
Закрепил передачу массива байт по сети. найти время Просто бомбовый урок, ничего лишнего, я перенёс наработки из прошлого урока. Добавил чтобы по умолчанию использовало стиль Fill. Запустил приложение на Windows 7 и на Windows 10, отлично работают. Что мне нравится в уроках на этом проекте, всегда есть какая то изюминка, которая и делает весь урок обязательным в прохождении. В каждом уроке всегда ищу эту самую изюминку и кладу в свою копилку знаний (ну или как минимум закрепляю ранее приобретённые знания). Ещё раз спасибо, то что было продемонстрировано в этом уроке, как раз то, что я и ожидал увидеть, 100% ожидания оправдались. Сложился пазлик =) |
|||
Нанософт Твоё портфолио | + 16 | ||
Повторил пройденное не создавать динамическое портфолио, отложил на будущую версию Так как урок планируется перезаписываться, чтобы можно было динамически добавлять новые элементы списка, то решил не модернизировать и реализовать так, как предлагалось в уроке, добавив пару игр, пару прикладных и описание. |
|||
Новые технологии Обои рабочего стола | + 17 | ||
Смене фоновых картинок рабочего стола. найти время Добавил иконку для приложения. Реализовал загрузку картинок с интернет. Проверяет, загружается ли jpg картинка, если нет, ничего не делает. Проверяет, загружается ли вообще картинка, если нет, отменяет. Определяет имя файла картинки в сети интернет и с этим же именем сохраняет в нужную директорию (относительные пути отлично работают). Если файл с таким именем уже существует, то не качает картинку (чтобы не затереть случайно другую). При удалении картинки из списка, проверяется наличие файла в папке, если файл имеется, вначале отключается картинки из пикчурбокса, потом удаляется сам файл. Если после удаления файла, он не найден, т.е. удалился корректно, удаляется запись о нём в листбоксе. Реализовали динамическое изменение листбокса, чтобы не перезагружать весь список картинок каждый раз, это слишком ресурсоёмко, да и потом, если загрузил картинку из сети, знаешь, что она добавилась в конце списка, легко найти. При рабоче с реестром использовал using. Добавил определение полного пути относительно запущенного приложения, чтобы Windows 10 была счастлива =) |
|||
Новые технологии Телефон по TCP/IP протоколу | + 16 | ||
повторил пройденное ничего При прохождении курса "Сокобан", уже проходил этот урок, поэтому проблем не возникло, просмотрел видео ещё разок =) |
|||
Новые технологии Нити на кубиках | + 16 | ||
Закрепил работу с Invoke найти время Реализовал через массив элементов Dice, удобнее потом через foreach с ними работать. Отличный урок как всегда. Очень хороший пример запуска функций из других потоков. |
|||
Новые технологии Делегаты на кубиках | + 16 | ||
Закрепил делегаты найти время Ошибки вначале не было, так как уже на автопилоте реализовал вначале инициализацию где надо. Подготовил в фотошопе текстурки для кибиков с прозрачным фоном, так как углы скруглённые. Отличный урок, лишний раз попрактиковался с делегатами, отличная штука. |
|||
Сокобан Сокобан - Редактор - Классика уровней | + 2 | ||
Повторил пройденное найти время Так как я изначально добавлял классические уровни, только из версии ремейка, то у меня тут и травка и ящики белые, это аналог стен, только внутри помещения, они не проходим и не движимы. Поэтому просто сопоставил уровни из классики с аналогами, которые я уже реализовал ранее, при прохождении курса. Отличный сайт, просмотрю все уровни и добавлю недостающие, скорее всего тут они имеются. |
|||
Unity 3D Лабиринт - часть №6 | + 16 | ||
Многому, хотя и огрехов в уроке много. найти время Очень много огрехов, слабо подготовился к уроку, вначале объект спрятал подальше, введя значение 100000, а потом сделал резет и всё сбросилось по нулям. Далее, забыл добавить public для функции, поэтому она не отображалась, после чего догадался верно, добавил паблик, но ума не хватило понять, что юнити кэширует подобные вещи и чтобы обновить список, нужно было просто переключиться между объектами в иерархии. Поэтому умозаклчения по поводу того, что int параметры не принимает ложные, слабенько мыслительные процессы проходят. Нужно учиться больше эксперементировать, прежде чем менять что-то кардинально. Всё там прекрасно работает и передаются значения. Изрядные извращения с конвертацией из флоат в инт =) И меню срабатывается отлично, просто ты в самой функции меняешь отображение менющек и в юнити маус клик добавил смену отображения, вот и баг, либо кодить надо, либо в унити настраивать. Поэтому после реализации функции Refrash() просто смотрел, так как нет необходимости это всё реализовывать, так как логически они идентичны, но более грамоздко. По поводу якорей тоже не верно всё, советую изучить вопрос досканально, чтобы не путать никого. Так же заменил некоторые устаревшие функции текущими аналогами. (см. скриншот) Вместо квадратных триггеров, реализовал их в форме кувшинок. Реализовал переход на бонусный уровень, после того как добрался до финиша и зашёл на последнюю кувшинку. |
|||
Unity 3D Лабиринт - часть №5 | + 17 | ||
Второму способу отображения текста на канвасе. найти время Начало урока плавно перешло в летсплей по работе с unity3d. Очень многие действия не объясняются, от чего где-то пол часа потратил, но всё же нашёл причину, почему текст на экране не отображался. В прошлый раз реализовали через выборку объекта, активировали его или деактивировали, чтобы отобразить или скрыть статичный текст. В этом же уроке мы реализовали динамическое изменение текста, НО при этом мы не работали с самим объектом и по этому, чтобы текст отображался или скрывался, тут уже нужно сам объекта активировать в IDE по-умолчанию, а текст либо присваивать либо стирать, чтобы был эффект скрытия. |
|||
Хранитель экрана VIP. Говорящие часы. Воспроизведение | + 17 | ||
Закрепил запись с микрофона найти время Реализовал оптимизированный список необходимых файлов. Реализовал функции с общей озвучкой чисел. Объединил формы записи голоса и часов в одной программе. Добавил меню, через которое можно вызывать запись голоса. Используется один общий массив файлов для записи и воспроизведения. Реализовал озвучку секунд. Реализовал воспроизведение каждый час. При открытии записи голоса, основное окно скрывается. При закрытии окна записи голоса высвобождаются ресурсы и отображается основная форма. Отличные вип уроки, очень понравились, ребёнок в восторге. |
|||
Хранитель экрана VIP. Говорящие часы. Запись голоса | + 17 | ||
NAudio найти время Оптимизировал количество файлов, их получилось 36. Реализовал круглый лейбл, на который надо наводить и говорить. Библиотеку скачал и установил через NuGet. Отличный урок, очень понравился, всё коротко и ясно. з.ы. делал урок в два этапа, так как началась школьная пора, то подобные блинные уроки с первого захода времени не хватает, пришлось разбить по времени на 1,5 часа и 1 час позже, в сумме вышло 2,5 часа. |
|||
Unity 3D Лабиринт - часть №4 | + 18 | ||
Закрепил работу с ландшафтом. найти время Сделал одной высоты стену по периметру, внутри перегородки оставил как были, имитация гор. Оптимизировал код MiniMap.cs, даже тот, который предложен был в уроке, выглядел слишком неказисто, надеюсь сейчас код более красивый пишешь. =) |
|||
Дневник успеха 2017-09-03 Первое сентября | + 3 | ||
Повторил пройденное найти время На этой неделе было сделано: Закончил курс "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 |
|||
Новые технологии Модульное тестирование | + 16 | ||
Созданию Unit тестов в Visual Studio найти время Отличный урок, юнит тесты 1х1 как в Java, поэтому проблем не возникло, всё очень знакомо. Добавил кнопку вычитания, так же соответствующую функцию и тесты. |
|||
Yii2 REFRESH - 40 МГНОВЕНИЙ ОПЫТА | + 2 | ||
Использовать встроенную локализацию, поддержке нестандартных портов, закрепил пройденное. найти время Суммарно потратилось 4 часа 2 минуты и 18 секунд. Во время повторного выполнения заданий почерпнул много новых фишек Yii. Такие как настройка языка по-умолчанию для всего сайта. Оказывается их там очень много. Так же для повторного прохождения специально запустил OpenServer на другой ПК, так как порт 80 был занят, запустил на 81 порту, столкнулся с проблемой Yii, автоматом при редиректе в корень сайта, удалялся порт и пытался открыть сайт через 80, что естественно приводило к ошибке. Изучим документацию Yii и форумы ничего толкового не нашёл, поэтому решил использовать давно проверенный костыль и он сработал. Так же использовал относительные пути при редиректе внутри одного контроллера. Добавил пометки, что при переносе в продакшн, где порт будет 80, можно вернуть классику. Ощущения после повторения отличные, решил так же проверить проблему переименования папки, запустил установку без global, но всё равно она была, так что теория на одном из форумов Yii не подтвердилась. По поводу быстрее, можно не использовать тесты, пока не появится острая необходимость, либо как говорил Игромистр, поручить писать тесты другому по команде, чтобы не отвлекаться. Сложных уроков не возникало, всё просто и понятно, видимо опыт разработки на php даёт свои плоды =) Но на 23 уроке пришлось поэкспериментировать в итоге нашёл как, добавив всего одну строчку в конфиг, настраивать язык сайта по-умолчанию. Так же на уроке 25 столкнулся с проблемой отличного порта от 80. тоже спустя некоторое время проблему решил. Спасибо за отличный курс, замечательный фреймворк, очень удобный, помогает быстро разрабатывать сайты. |
|||
Unity 3D Лабиринт - часть №3 | + 16 | ||
Созданию миникарты, слоёв отображения объектов. найти время реализовал высоту камеры относительно игрок всегда на одной высоте, т.е. поднялся игрок в гору и камера над ним поднялась на такое же расстояние, чтобы игрок на миникарте всегда был одного размера, а то получается, что поднимешься под потолок и будешь в камеру тыкать пальцем =) |
|||
Хранитель экрана ФИНАЛЬНЫЙ урок | + 3 | ||
Закрепил пройденное найти время Добавил настройки типов объектов: Круг, Квадрат, Полигон(Многоугольник), Звезда. Добавил настройку толщины линий. Добавил настройку скорости анимации. Добавил настройку количества следов шлейфа за объектами (использовал Queue). Добавил настройку переливающихся цветов (реализовал свитч для анимации). Последние две настройки реализовал за 1 час и 45 минут, специально для Финального урока. Отличный курс, всем советую, очень много полезной информации и практики даёт. |
|||
Бомбермэн Все работы хороши | + 1 | ||
Повторил пройденное остановиться Так как у меня имеется реальная Dendy, так как в эту игру играли в дестве, так как у меня есть эта игра на реальной Dendy, у меня естественно имеются и эмуляторы с играми, я запустил игрушку и вытащил оттуда нужные мне спрайты, сохранил их в формате png, но оптимизировал, чтобы не было лишнего мусора, поэтому каждый отдельный спрайт весит байты, а в сумме все 38 весят 7,7кб. Очень хорошо, не будут раздувать бинарник, так как мы переносим их в ресурсы. |
|||
Yii2 Authokey - Ключи в сейфе | + 17 | ||
генерации и использованию authkey средствами Yii найти время Как всегда отличный урок, как и все уроки ранее, сам по себе курс ценен тем, что каждую строчку проработала и написали лично сами, это очень хорошо помогает в понимании происходящего, если бы заранее сгененировали уже готовый набор того, что реализовали за весь этот курс, то понимание было бы намного сложнее, особенно если человек не разбирается в php и сопутствующих технологиях, которые были затронуты. |
|||
Yii2 Remember me - Печенька на память | + 17 | ||
Использованию автологина средствами Yii найти время Добавил attributeLabels для remember, чтобы отображалось на русском. Отличный урок, как всегда коротко и ясно. Да, использовать почтовый ящик явно не самый лучший способ для автовхода на сайт через куки. |
|||
Yii2 Hash - Как правильно солить пароли | + 17 | ||
Профилированию встроенными средствами Yii найти время Отличный урок, отличная демонстрация трат времени на хеширование в зависимости от увеличения сложности. з.ы. после использования профилирования, в папке runtime появились новые папки HTML и URI, в которых генерируются логи профилирования, они в нашем git-репозитории точно не нужны, поэтому лучше создать аналогичные файлы .gitignore как в папке runtime\debug см. второй скриншот. |
|||
Yii2 Security - Кручу-верчу-захэшировать хочу! | + 17 | ||
Хэшированию паролей средствами Yii найти время Коротко и ясно, даже возник вопрос: "и это всё???" была минутная пауза =) |
|||
Yii2 PasswordIsHashed - Покажите-ка ваш хэш | + 17 | ||
Закрепил создание функциональных тестов. найти время Отличный урок, хорошая демонстрация работы функциональных тестов. Реализовал обе функции. |
|||
Yii2 Test - Запуск функциональных тестов | + 17 | ||
созданию функциональный тестов с использованием фреймворка Yii2 найти время Отличный урок, функциональный тест структурой очень напомнил мне junit тест на Java =) |
|||
Yii2 Refactoring - Нет дубликатам! | + 17 | ||
Повторил пройденное найти время Так как именно так и реализовал сразу, в процессе реализации данных функций, то на этом уроке лишь добавил проверку на null везде, где это может быть полезно, даже добавил доп. вывод ошибки авторизации, если ну совсем какая-то аномалия произошла, малоли =) |
|||
Yii2 IfPasswordWrong - Пароль? Пароль! Проходи. | + 16 | ||
Закрепил пройденное найти время так же использовал кэш данных пользователя, чтобы не было лишних транзакций в БД. см. скриншот. Отличный урок, интересно будет посмотреть на рефакторинг в след. уроке. |
|||
Yii2 IfEmailNotFound - На деревню дедушке | + 17 | ||
валидации мыла в Yii найти время Решил добавить приватную переменную для хранения записи пользователя, каждый раз при проверке мыла туда записываются данные, если мыло найдено в БД, то эти же данные, по сути закэшированные, используются и при авторизации на сайте. Чтобы не делать лишнюю транзакцию в БД. см. скриншот. Отличный урок, не мало кода написали, но очень полезного =) |
|||
Yii2 UserLoginForm - Модель на входе | + 17 | ||
Изменению меток полей ввода. найти время Реализовал настройку метод полей ввода двумя способами. см. скриншоты. Так же добавил проверку на лимит длинны пароля как и при регистрации, как говорится, правила везде должны быть одинаковыми (в будущем надо будет вынести эти параметры в глобальные настройки сайта). Как всегда коротко и ясно, идём дальше. |
|||
Yii2 Save - Запись в книгу | + 17 | ||
Закрепил пройденное найти время Коротко и ясно, идём дальше. |
|||
Yii2 HasErrors - Где водятся волшебники? | + 17 | ||
Закрепил пройденное найти время Очень наглядный урок, думаю, есть смысл подобных проверок если группировать ошибки, к примеру, несколько видов ошибок одного и того же поля, нет смысла выводить их все сразу, это будет очень громоздко, а вот по одному, норм. |
|||
Бомбермэн Площадка для игр | + 17 | ||
Повторил пройденное найти время и не дописать игру =) Добавил варианты состояний, который пришли на ум по памяти игры и того, что минимум реализовать планирую. Добавил вспомогательную функцию, которая принимает состояние, а возвращает цвет. Всё реализовал сам, потом досмотрел видео. з.ы. Отличную игрушку затронул, у самого она в очереди на реализацию. з.з.ы. Zoom наоборот сохраняет пропорции, см. скриншот =) Отображение клеток уже после добавления BorderStyle.FixedSingle получилось бы, просто надо было создать экземпляр класса MainBoard(). Не стоило использовать обобщающее состояние, так как их может быть много, надо было конкретно указать, перечисление состояний чего именно. Да и не стоило использовать слово Sost, нужно отучаться от плохих привычек, ещё на одном из вебинаров это обсуждалось активно =) з.з.з.ы. Есть тебе ещё над чем работать, молодец, отличные курсы создаёшь, удачи в этом не простом деле. |
|||
Yii2 IfEmailUsed - Почта закрыта | + 16 | ||
static::find()->where(['email' => $email])->count(); найти время Отличная реализация задачи, статичные функции Активной Записи меня очень порадовали, компактно и красиво. |
|||
Бомбермэн Основная форма | + 18 | ||
Повторил пройденное найти время когда болеешь Игра детства, особенно на денди очень много играли в неё на двоих. Реализовал иконки в своём стиле. Добавил описание игры и об авторе. |
|||
Yii2 JoinPost - Вторая сторона модели | + 16 | ||
Закрепил пройденное найти время Всегда выделял обработку второй фазы по аналогии как в этом уроке, но для отображения выполнения операции, что вышло, что нет, если было несколько действий, плюс кнопки управления, так же добавлял таймер от 2 до 4 сек с редиректом, если было актуально. Отличный урок, идём дальше. |
|||
Хранитель экрана Режим предобзора и установка | + 16 | ||
Повторил пройденное (в курсе сапёра проходили подобное, когда бота писали) найти время Добавил динамическое вычисление размеров объектов, чтобы и на превью и на весь экран было более адекватный размер. Данные WinAPI функции использовали уже в курсе Сапёра на C#, когда писали бота, который вычислял размеры окна игры, то данный урок был повторением в данном вопросе, что касается параметров запуска, я их тоже реализовал через Split(), как говорится, малоли, координаты двоеточия могут измениться =) Отличный урок, по поводу не вызванного конструктора, ждал до последнего, думал будет ход финтом, но нет, решили вынести всё во вспомогательную функицю и вызвать опять первоначальный конструктор, тоже вариант, но я думал будет определения размеров и вызов промежуточного конструктора, передав его необходимые резмеры, так как он уже в своём случае вызывает базовый конструктор. |
|||
Yii2 Rules - Валидация без правил | + 16 | ||
правила правил =) найти время Есть короткая запись требуемых полей, см. скриншот. Отличный урок, на протяжении всего курса уже столько фишек, которые экономят время, что чем дальше изучаешь Yii, тем больше понимаешь, что теперь писать без использования его будет очень тяжко =) Ждём продолжения банкета. |
|||
Yii2 UserJoinForm - Модель для формы | + 16 | ||
Генерации формы средствами Yii, compact() найти время Решил проверить то, что обсуждали на вебинаре по поводу строк: use yii\widgets\ActiveForm; use yii\helpers\Html; Максим Базуев предлагал использовать вариант: use yii\bootstrap\ActiveForm; use yii\bootstrap\Html; решил я проверить разницу, но как я говорил на вебинаре, ссылая на инструкцию к Yii, что сейчас, вижу генерацию идентичных страниц как по количеству строк, так и по содержимому вначале и конце, все 684 строчки сверять не стал, хотя мог это сделать быстро, но тут явно имеет место тот факт, что написано в инструкции к Yii, это просто алиасы, можно использовать, что так, что так, разницы нет, просто суть в том, что когда bootstrap не подключён, то и алиаса не будет, а первый вариант это базовые алиасы, которые всегда актуальны. Поэтому и использовали именно первый вариант, а там уже каждый выбирате то, что ему больше нравится. =) |
|||
Yii2 Logout - Выход из лабиринта | + 16 | ||
Закрепил пройденное найти время Отличный урок, коротко и ясно. |
|||
Yii2 UserIdentity - Посторонним В | + 16 | ||
использованию IdentityInterface найти время Ещё одна отличная штука, которая очень экономит время, всё коротко и ясно. идём дальше. |
|||
Yii2 Faker - Тысяча фантазёров! | + 16 | ||
Работе с библиотекой Faker найти время Отличная библиотека, ещё огромная экономия в копилку фреймворка. |
|||
Yii2 UserRecord - Очень активная модель | + 16 | ||
Использованию ActiveRecord в Yii найти время Отличный урок, как всегда, всё коротко и ясно, Активная Запись очень хорошо смотрится. Идём дальше. з.ы. заметил, что у вас сохранило пароль до первого пробела, т.е. умная система, мало того что сплитит по пробелам, используя нулевой элемент массива после этого, но уверен. ещё и тримит это дело, чтобы не сохранялся мусор, как раз то что надо для использования кэшей, там нет пробелов =) |
|||
Yii2 DBase - Подключение к Матрице | + 16 | ||
php yii.php migrate/up/down найти время Добавил поддержку кастомного порта для подключения к БД. Отличный урок, всё коротко и ясно, идём дальше. |
|||
Yii2 Migration - Архитектура таблицы | + 16 | ||
Созданию миграций найти время Очень удобный инструмент, отлично придумано, идём дальше. |
|||
Yii2 Console - Есть ли жизнь в Консоли? | + 16 | ||
созданию yii\console\Application найти время Отличный урок, всё коротко и ясно. Создали подобие админки для изысканных телодвижений =) |
|||
Yii2 Steps - Пошаговая инструкция | + 17 | ||
Закрепил создание тестов найти время Стараюсь все тексты, что видит пользователь писать сразу на русском, кстати, решил проблему с кириллицей в консоли OpenServer, варианта два, можно в реестре прописать, чтобы автоматом это было, но это не удобно, по личному опыту знаю, а можно вручную прописать в консоли: chcp 65001 и вуаля (при перезапуске консоли кодировка сбрасывается на стандартную), теперь в консоли корректно видно UTF-8 кодировку и не только русские символы =) |
|||
Yii2 Tests - Обоснование необходимости | + 17 | ||
vendor\bin\codecept g:stepobject acceptance TestUserJoin найти время Отличный урок, режим создания тестов g:stepobject очень порадовал, идём дальше. |
|||
Yii2 Model - Модели на подиуме | + 16 | ||
Повторил пройденное найти время Коротко и ясно, идём дальше. |
|||
Yii2 Panel - Красивые анкеты | + 16 | ||
Повторил пройденное найти время Коротко и ясно, идём дальше. |
|||
Yii2 User - Помещение регистратуры | + 16 | ||
Закрепил пройденное найти время Перенос файлов лучше делать через git, нежели вручную, это конечно не критично пока для мелкие файлики, но при ручном переносе, гит не понимает, он думает, что файл удалили и где-то добавили новый, а при команде git mv он просто переписывает у себя ссылки на файлы, так же они и в реале переносятся куда надо, это очень экономит трафик, если работать с команде и с внешним сервером. Особенно когда переносят папку с кучей файлов, которая весит не пару килобайт. |
|||
Yii2 Debug - Следы на песке | + 17 | ||
yiisoft/yii2-debug найти время Логи хранятся в папке runtime/debug, добавил в эту папку .gitignore, чтобы в гите оставалась эта папка и была пустой. Отличный урок, идём дальше. |
|||
Хранитель экрана Полноэкранный режим | + 16 | ||
Повторил пройденное найти время Реализовал изменение размеров формы и использовал док фил для автопилота, так же центр скрин не трогал, очень даже красиво справляется со своей задачей, см. скриншот. |
|||
Хранитель экрана Параметры командной строки | + 16 | ||
Узнал о ключах /s /c для скринсейверов. найти время Отличный урок, как то ранее не задавался вопросом, как работаю скринсейверы, но узнав о стандартных ключах, стало всё на свои места. Спасибо. з.ы. Добавил ещё параметров для скринсейвера: ползунок для установки скорости анимации, галочки для выбора, какие объекты будут отрисовываться на экране. |
|||
Yii2 Join/login - Полёт Навигатора | + 17 | ||
Закрепил пройденное найти время Отличное завершение первой части по созданию веб-приложения и использованием фреймворка Yii2. Ждём продолжения банкета =) |
|||
Yii2 Menu - Богатый выбор | + 16 | ||
Закрепил пройденное найти время Отличный урок, коротко и ясно, идём дальше. |
|||
Yii2 Bootstrap - Пусть будет красиво! | + 16 | ||
Закрепил пройденное найти время Бутстрап удобная штука, даже базовый дизайн там очень даже не плохо выглядит, но никто не запрещает использовать его как основу, добавляя свои фишки =) Отличный урок, идём дальше. |
|||
Yii2 Codeception - Пошаговое тестирование | + 16 | ||
Закрепил пройденное найти время Отличная идея тестирования сайта имитируя поведение пользователей. |
|||
Yii2 Views - Представления начинаются | + 16 | ||
Закрепил пройденное найти время Отличный урок, супер дебаг система в Yii, тоже очень понравилась. Решил текст писать на русском, для наглядности =) разбил на пару коммитов, можно было конечно на три разбить, в одном создание лэйаутов, а во втором использование их, но решил оставить так, а вот активацию дебаг системы вынес в отдельный коммит. так как логически это независимая задача. |
|||
Yii2 Controller - Точка входа программиста | + 16 | ||
Закрепил пройденное найти время отличный урок, ничего лишнего, выполнили одну задачу, закоммитили её. Идеальный урок, вот такие и надо делать, не увлекаясь =) |
|||
Yii2 Composer - Установка пустоты | + 16 | ||
Повторил пройденное найти время Основное время потратил на создание слайдов получения Токена на github.com. После этого урока создал сразу три коммита, разделённые по логике выполнения задач. см. второй скриншот истории. В файл .gitignore добавил composer.lock, так как он генерируется для каждого свой, не хотелось бы иметь конфликты при командной разработке. з.ы. Конечно, в PhpStorm удобнее работать с коммитами, но всё равно мне привычнее родные утилиты самого git. =) дело привычки. |
|||
Yii2 Git - Все ходы записываются | + 16 | ||
Повторил пройденное найти время Отличный урок, всё коротко и ясно, идём дальше. |
|||
Yii2 Web - Первый кирпич сайта | + 16 | ||
Повторил пройденное найти время Работает как через сервер на базе php, так и через апачи. см. скриншоты. Потратил доп. время на перенос OpenServera с виртуалки XP на 7. Отличный урок, всё коротко и ясно, идём дальше. |
|||
Unity 3D Лабиринт - часть №2 | + 16 | ||
Созданию триггера, работе с компонентами объектов. найти время Хороший урок, кроме того, что большую часть времени приходилось тратить на поиск текстр, чтобы они были с двусторонними шейдерами, в итоге бросил это дело, так как времени и так на это ушло слишком много, взял односторонние. В остальном ничего искать не пришлось в других местах, при активации триггера не дёргалась игра, видимо это зависит от производительности системы. |
|||
Хранитель экрана Использование реестра | + 16 | ||
Повторил пройденное найти время Отличный урок, правда TryParse уже в себе имеет проверку и его не нужно проверять через if, задаётся начальное значение переменной и если TryParse удался, то он его меняет, если нет, не меняет и вручную это делать не нужно. Так же сразу бросилось в глаза использование цикла для добавления вершин в полигон после загрузки настроек из реестра. Ведь у нас уже имеется для этого функция AddPoints(), которую написали на прошлом уроке, как раз идеально подходит для этого, ведь после инициализации полигона там количество равное 0, а любое значение, которое взяли из реестра будет более 0, значит именно AddPoints() отлично подходит. |
|||
Yii2 Soft - Вступление и подготовка | + 16 | ||
Повторил пройденное найти время Решил запустить серверную часть в ХР, посмотреть, на сколько это актуально. PhpStorm запущен в 10. GitHub'ом пользуюсь уже много лет, поэтому регистрироваться там не было необходимости. Готов к вебинару =) |
|||
Хранитель экрана Применение настроек | + 16 | ||
Повторил пройденное найти время Реализовал добавление/удаление вершин многоугольника через класс Polygone(). Добавил в настройки выбор толщины линий. Реализовал отмену через закрытие настроек по крестику. Генерация рандомного направления движения реализовано через цикл, исключающий значение равное 0. Отличный урок, позже планирую добавить ещё настроек =) |
|||
Хранитель экрана Форма настроек | + 16 | ||
ColorDialog найти время Отличный урок, работа с новым компонентом WF в копилку =) |
|||
Unity 3D Лабиринт - часть №1 | + 1 | ||
Созданию ландшафта, размещению персонажа с камерой от первого лица. найти время Хороший урок, пришлось кое что погуглить и скачать необходимые текстуры, но в целом всё реализовал так же как и в уроке. Явно уроки устарели и требуют обновления в реалиях современной версии Unity. А так не для новичков уроки изза того, что приходится разбираться в не стыковках менюшек. |
|||
Хранитель экрана ПОЛУФИНАЛЬНЫЙ урок | + 16 | ||
Закрепил пройденное, повторил тригонометрию. найти время Решил реализовать пятиконечную звезду, которая была доп. заданием со звёздочкой в одном из прошлых уроков. Сделал набросок в тетради, не самый идеальный в плане симметрии, но в данном случае это было не важно, так как задача была в том, чтобы вычислить относительные координаты, по которым будет строиться звезда. Отличный курс, замечательная идея реализации Хранителя экрана, ещё в 9х годах подобные вещи завораживали детские умы. |
|||
Хранитель экрана Новый класс Polygone | + 16 | ||
Закрепил пройденное найти время Замыкание последней точки с первой реализовал сам, а уже в конце видео увидел как это реализовал Игромистр, оставил свой вариант, плюс проверяется, равны ли точки, если да. то не отрисовывать между ними линию. з.ы. Ушло много времени на эксперименты. =) |
|||
Хранитель экрана Новый класс Figure | + 16 | ||
Повторил пройденное найти время Заменил лишние переменные одним списком фигур. Добавил три фигуры разной формы и направления движения. Сделал два скриншота, на одном из которых не очищен фон во время инициализации поля, чтобы было видно траектории передвижения фигур. Поле размера фигуры сделал публичным, чтобы можно было сразу добавлять в список создаваемый экземпляр с указанием необходимых параметров. |
|||
Хранитель экрана Новый класс Graph | + 16 | ||
Повторил пройденное найти время Создал публичные функции для очистки и инициализации ручек, чтобы не инициализировало дважды. Теперь после создания экземпляра graph, вызываем в необходимой последовательности созданные функции. Инициализации и последующей очистки поля с новыми параметрами цвета. Может быть стоит объединить их воедино и просто при вызове graph.Clear() проводить инициализацию, так как всё равно очищаем поле, но тут фишка в том, что если нам просто нужно очистить поле с текущими параметрами, вызов только очистки намного быстрее, чем ещё напрягать лишними телодвижениями, если при этом цвета не менялись. |
|||
Unity 3D Первая сцена | + 16 | ||
Многому найти время Версия среды разработки показанная в уроке очень сильно отличается от той, что можно скачать сейчас на официальном сайте. Многое пришлось гуглить, чтобы найти, куда они спрятали тот или иной параметр. Так же текстуры и скайбоксы пришлось качать, так как изначально выбора не было как в видео с базовыми наборами. В остальном урок отличный, когда дошли до кодинга скрипта, там уже всё просто, а вот к интерфейсу и где что находится с практикой привыкну =) Отличный урок, хотя местами торопишься, прыгая по менюшкам, нужно при записи урока пошагово проговаривать каждое своё действие, это и тебе сэкономит время и смотрящим не придётся перематывать, чтобы посмотреть что и где тыкнул =) |
|||
MVC и JavaFX ФИНАЛЬНЫЙ УРОК | + 1 | ||
Повторил пройденное найти время Отличный курс, замечательная технология JavaFX, а шаблон проектирования MVC понравился ещё с прошлого курса, когда писали данное приложение ещё на чистой Java. Спасибо огромное, вот и закончил все курсы по Java. Далее буду проходить потихоньку начатые курсы. |
|||
MVC и JavaFX Controller - UserList - Поиск записей | + 16 | ||
Закрепил пройденное найти время Использовал проверку валидации вводимых символов. Отличный урок и курс в целом очень интересный. JavaFX однозначно отличная тема, MVC очень удобная штука. |
|||
MVC и JavaFX Controller - UserList - Выбор записи | + 16 | ||
Закрепил пройденное найти время Отличный урок, поверка на двойной клик аналогично как в Java, а вот проверка какой клавишей был клик отличается. В Java тип клавиши int и название BUTTON1 для левой клавиши мыши, а в JavaFX это уже Object, который сравнивается через equals, а левая клавиша мыши называется SECONDARY см. скриншот. Походу левша разрабатывается JavaFX =) |
|||
MVC и JavaFX Controller - UserList - Список пользователей | + 16 | ||
ObservableList найти время Отличный урок, коротко и ясно. |
|||
MVC и JavaFX Controller - UserList - Сообщение | + 16 | ||
Повторил пройденное найти время Перенёс наработки и адаптировал под JavaFX форм. |
|||
MVC и JavaFX Controller - UserCard - Добавление | + 16 | ||
Закрепил пройденное найти время Добавил отображение айди в консоли только если была добавлена новая запись, при обновлении записи выводить её айди нет смысла, оно и так известно. По поводу повышения самооценки не задумывался, но с каждым уроком думаю она повышается в соответствии с полученными знаниями. =) |
|||
MVC и JavaFX Controller - UserCard - Удалить или сохранить? | + 16 | ||
Повторил пройденное найти время Форма закрывается при успешном удалении или обновлении записи, продублировал код с прошлой реализации с валидацией на запрещённые символы в телефоне или имени. |
|||
MVC и JavaFX Controller - UserCard - Загрузка | + 16 | ||
Повторил пройденное найти время Реализовал фокус на втором поле. Вначале запустил тесты, потом отобразил запись, которая была добавлена последней в процессе тестирования работы с БД. Отличный урок, реализовывать работу кнопок не стал, а то вдруг в след уроке делать будет нечего =) |
|||
MVC и JavaFX JAR - Подключение библиотеки | + 16 | ||
Подключение и использованию созданной ранее программы в виде библиотеки нового проекта. найти время Отличный урок, всё коротко и ясно, идём дальше. |
|||
MVC и JavaFX JAR - Запуск классного архива | + 16 | ||
Повторил пройденное найти время Просто посмотрел видео, создав второй артефакт, который собирает минимальный jar с необходимым кодом. Весь jar столько же, сколько и в прошлом уроке, когда я реализовал именно такой же способ, только я библиотеки помести в папку lib, а базы данных валяются в папке db. Это для меня как то приятнее на вид и глаза не мозолят. Так же и батник был создан на прошлом уроке, всё запускается и работает отлично. Идём дальше. |
|||
MVC и JavaFX JAR - Запуск полного архива | + 16 | ||
Созданию артефактов через IntelliJ IDEA найти время Мда, очень много мусора запихать пытается в jar файл, жуть, после длительных экспериментов понял, что надо реализовать так же как и делал ранее, а именно скопировал папки lib и db с их содержимым, убрал лишний мусор при создании jar файла, теперь он весит 27кб, создал для его запуска батник, теперь всё супер, на ПК лишь нужно установить Java-машину. |
|||
MVC и JavaFX View - Работа с двумя формами | + 16 | ||
initOwner(), initModality(), getController() найти время В прошлом уроке, чтобы отобразить форму UserCard, я сделал stageCard статичным и вызывал Main.stageCard.show() чтобы отобразить форму и Main.stageCard.hide(), чтобы скрывать её. Интересные связки, спасибо за урок, как всегда всё коротко и ясно. |
|||
MVC и JavaFX View - Инициализация платформы | + 16 | ||
Инициализации форм и работе с ними. найти время Реализовал открытие формы UserCard через кнопку Добавить (плюсик). Реализовал закрытие формы UserCard при нажатии на Сохранить/Удалить. Отличный урок, пока всё более компактно выглядит. |
|||
MVC и JavaFX View - Запуск JavaFX Application | + 16 | ||
Закрепил пройденное найти время Реализовал отображение карточки при нажатии на кнопку "+" (добавление). Побил свой же рекорд по клику мыши до 15 в сек. Наверное могу и быстрее, не стал делать дубли, что получилось с первого раза, то и получилось. |
|||
MVC и JavaFX View - Карточка пользователя | + 16 | ||
Закрепил работу со SceneBuilder найти время Отличный урок, как и в прошлом всё коротко и ясно, приступаем к связке. Пока выглядит намного удобнее и быстрее, чем через Swing вручную. |
|||
MVC и JavaFX View - Список пользователей | + 16 | ||
Добавлению JavaFX в уже созданный ранее проект Java Swing найти время Использовал SceneBuilder через IntelliJ IDEA, добавил поддержку JavaFX в уже созданный ранее проект на Java Swing. fxml файл расположил в спец. директории для ресурсов проекта на JavaFX. Контроллер для fxml файла располагается там же, где и остальные java файлы. Подключил контроллер к fxml файлу. Создал файл Main.java по аналогии с Program.java, только для запуска JavaFX приложения. Добавил отображение в консоли для нажатия на кнопку, клику по листвьюв и ввод текста в поиске. з.ы. На скриншоте видно, что мой ClickCount дошёл до 8, это без разминки, кликая указательным пальцем по маус 1, рекорд вроде бы 16 кликов в сек. =) |
|||
MVC шаблон VIP - MVC - PhoneBook - UML | + 16 | ||
Повторил пройденное найти время Да, удобная программа, мне она тоже понравилась, спасибо. |
|||
MVC шаблон VIP - MVC - PhoneBook - Error Checking | + 16 | ||
Ничему найти время Подобные проверки реализовал в процессе прохождения курса, поэтому ничего делать в этом уроке не пришлось, прикрепил скриншот моей реализации отображения ошибок. з.ы. Не советую выводить ошибку БД в клиентскую область, лучше использовать консоль или уникальные описания ошибок, чтобы по ним сразу находить откуда ветер дует. Можно использовать уникальный ID ошибки. =) |
|||
MVC шаблон VIP - MVC - PhoneBook - JModal | + 16 | ||
JDialog найти время Отличный урок, всё коротко и ясно, спасибо огромное. |
|||
Unity 3D Установка Unity3D | + 16 | ||
Пока ничему найти время Основное время ушло на загрузку и установку среды разработки с необходимыми компонентами. з.ы. Очень сильно теперь сайт для загрузки Unity3D отличается от того, что показан на видео, но проблем не возникло. |
|||
Unity 3D Приглашение на видеокурс | + 16 | ||
Пока ничему Пока ничего Курсу уже более полутора лет, а я на него только наткнулся, ранее я натыкался на эти уроки на канале Максима, но не думал, что они привязаны к этому курсу. Ок, так даже веселее =) |
|||
Model 3D Строим тор | + 17 | ||
Закрепил работу с 3D в WPF Остановиться экспериментировать =) Супер урок, очень познавательный. Сложно было оторваться искать прикольные узоры, но нехватка времени заставила остановиться. |
|||
MVC шаблон VIP - MVC - PhoneBook - Tripple Click | + 16 | ||
KeyListener найти время Обработку кликов мышки реализовал на одном из прошлых уроков, так же добавил проверку, чтобы двойной клик был именно левой клавишей, см. скриншот. Отличный урок, намного удобнее и логичнее мышью кликать. |
|||
MVC шаблон ФИНАЛЬНЫЙ УРОК | + 16 | ||
Повторил пройденное найти время Добавить в разрешённые символы круглые скобки, плюс и минус. Остальное в видео-отчёте. Был уставший, после отснятого материала и подготовки слайдов побежал по срочным делам, вернулся и занялся монтажом. Приятного просмотра. |
|||
Шарики Шарики. Вступление | + 16 | ||
Повторил пройденное найти время Отличная игрушка, сколько разных версий только не играл, ещё начиная со спектрума. Поиск пути в курсе "Комбинаторика" проходили. Анимация реализовывал при разработке игры "Карточки памяти". Отличный курс для практики. |
|||
MVC шаблон MVC - PhoneBook - Search - Finish | |||
Повторил пройденное найти время Так как функцию поиска по фильтру реализовал уже давно, то просто добавил пару строчек и дальше 10 минут смотрел видео ничего не делая =) Так же по поводу инъекций, я использую при формировании запросов в БД замечательную вещь как "параметры", они решают проблему недопустимых символов. Так же на прошлом уроке я реализовал проверку вводимых символов и их количество, что запрещает использование заведомо опасных последовательностей символов. Идеальная защита =) Замечательный курс, идём дальше. |
|||
MVC шаблон MVC - PhoneBook - Search - Listener | + 16 | ||
DocumentListener найти время Реализовал проверку вводимого текста и выводу предупреждения красным цветов в нижнем лейбле через модель. Разрешены все буквы русского/английского алфавитов, буквы и цифры, длинна от 2 до 40 символов. Не стал реализовывать сам поиск, отложил это до нужного момента =) |
|||
MVC шаблон MVC - PhoneBook - Search - Select LIKE | + 16 | ||
Ничему найти время Сделал два скриншота с разными видами запросов, как LIKE так и GLOB, чем мне нравится GLOB, у него синтаксис масок аналогичен с масками отображения файлов. При использовании LIKE чтобы указать любое количество символов, надо использовать символ "%", в то время как при использовании GLOB, тоже самое действие при помощи символа "*", при этом есть ещё один символ "?" который говорит, что вместо него любой один символ, тем самым если указать маску '?ван', то покажет все имена, которые начинаются с любого символа, но имеют второй, третий и четвёртые символы которые указаны в маске, в данном случае выведет список с именем "Иван" и "иван", не важно с маленькой буквы или с большой, так как у SQLite проблемы с этим из-за того, что он поддерживает проверку больших и мелких только на инглише, другие языки обделены, то на помощь приходит именно GLOB, хотя LIKE я использовал очень много лет и он в определённых задачах может использоваться без проблем, но по возможности использую теперь GLOB, так как он более функционален и по личным тестам в больших базах он работает быстрее на процентов 10 минимум. |
|||
С++ Графика - обрезка изображений Сохранение файла | + 16 | ||
работе с диалоговыми окнами, сохранению картинки в формате BMP найти время Добавил возможность выбора любого BMP файла, где бы он не лежал. Добавил возможность сохранения BMP файла в любом месте и любым именем. Расширение bmp автоматически добавляется, если забыли его дописать вручную. Использовал ранее созданную переменную sPath для установки корневой директории перед сохранением файла, если не было выбрано кастомное расположение, то используется по-умолчанию относительное. Замечательный курс, очень понравился, простой и в том же время информативный, жду ещё курсы по C++, думаю стоит начать с самого нуля и постепенно добавлять курс в порядке усложнения, чтобы больше было желающих и меньше жалующихся. з.ы. на выполнения урока ушло 45 минут. на доработку выбора файла для загрузки и сохранения файла куда угодно ушло 39 минут. остальное время почти 3,5 часа ушло на подготовку, запись и монтаж видео-отчёта. |
|||
С++ Графика - обрезка изображений Вывод обрезанного изображения | + 16 | ||
копированию части картинки найти время Два варианта отображения картинки после кадрирования - с подгонкой в рамку формы и 1х1, см. скриншоты. Отличный урок, всё коротко и ясно. |
|||
С++ Графика - обрезка изображений Матрица цветных точек | + 16 | ||
Поиску ярких пикселей. найти время Так как уже работал с пикселями в Java, то единственное для меня новое было, это поиск ярких пикселей, так же превращение изображения в оттенки серого. Отличный урок, всё коротко и ясно. з.ы. судя по видео, за кадром были внесены изменения, о которых в процессе урока упомянули (что круглые скобки нужно заменить на квадратные), а по поводу того, что в конце функции OnCrop() нужно тоже добавить строчку обновления формы, это видимо для самых внимательных, я то её дописал автоматом, только потом понял, что о ней ни слова не сказали за всё видео ;) |
|||
С++ Графика - обрезка изображений Вывод информации в основное окно | + 16 | ||
Получению массива цветных точек изображения. найти время Судя по времени урока и тому, что в нём было реализовано, я думаю можно объединить этот урок со следующим, а то из-за создания матрицы цветных точек урок кажется не завершённым. Ведь хочется увидеть применение данной матрицы в деле. Возможно мне просто это показалось, но прошлые уроки выглядят завершёнными, а этот нет. В любом случае, урок отличный как всегда, коротко и ясно. Идём дальше. |
|||
С++ Графика - обрезка изображений Вывод картинки на экран | + 16 | ||
Загрузке bmp и отображении его на форме. найти время Когда написали условие выборки для общего коэффициента, не смог, чтобы не воспользоваться тернарным оператором, он тут как раз в тему, см. скриншот. Отличный урок, коротко и ясно. |
|||
С++ Графика - обрезка изображений Подготовка к выводу картинки на экран | + 16 | ||
Созданию ручки для рисования, рисованию квадрата. найти время Нашёл картинку компакт диска, добавил ей лишний белый фон в размере 1000х600. Сделал не сплошную линию у ручки, а пунктирную. Выглядит веселее. Отличный урок, всё коротко и ясно. |
|||
С++ Графика - обрезка изображений Программирование события BN_CLICKED | + 16 | ||
Реакции на нажатие кнопок найти время Использовал enum вместо трёх булевых переменных, просто напрашивалось, в итоге как видно из скриншота, всё до безобразия просто. Открывать файл можно в любое время, мало-ли, что в голову взбредёт человеку, может не тот файл выбрал, что же теперь идти до конца, делая лишние телодвижения. Далее, пока не открыт файл, ничего обрезать нельзя. Соответственно, пока не обрезано ничего, сохранять тоже смысла нет. Если же сохранили обрезанный файл, то ничего не работает, кроме кнопки Открыть. Отличный урок, всё коротко и ясно. |
|||
С++ Графика - обрезка изображений Создание кнопок | + 1 | ||
Созданию кнопок на форме и очистке ресурсов при завершении работы приложения. найти время Создал три картинки для кнопок. Создал иконку для приложения (см. скриншот) Использовал забытую переменную nButtons в циклах. Отличный урок, всё коротко и ясно. |
|||
С++ Графика - обрезка изображений Программирование события WM_PAINT | + 16 | ||
TextOut(), MoveWindow(), GetClientRect(). найти время Отличный урок, теперь ясно почему 1000 + (1000 - MainRect.right)... У меня это били лишние 8 по ширине и 46 по высоте. Но так намного лучше, можно подставлять нужные значения и оно само подгонит в любой ОС, вне зависимости от стиля отображения окон. В моём случае были лишние 8 пикселей по ширине и 46 по высоте. |
|||
С++ Графика - обрезка изображений Добавление класса BmpCtrl | + 16 | ||
Созданию классов/функций через специальное окно-конструктор =) найти время Отличный урок, не знал, что классы и функции можно создавать через специальные окна-конструкторы, обычно писал вручную, это для новичков самое оно, так как код сам генерируется, останется лишь в теле дописать нужный функционал. Ничего сложного в уроке не увидел, всё чётко и ясно показано и объяснено, единственное, использовали массив символов для хранения текущей директории это пока? далее переведём это в тип string? или мы тип string для других задач будем использовать? |
|||
С++ Графика - обрезка изображений Настройка среды | + 16 | ||
Повторил пройденное найти время Отличный урок, ничего лишнего, по поводу string.h это хорошая идея, помогает работать со строками как в C#, а не как обычно в C++ в виде массива символов. В этом уроке ничего сложного не увидел, просто повторить за учителем и всё, если что-то не ясно, то всё, с чем будем работать думаю объяснят в процессе. Остальное, что не будет затронуто, но видно в коде, это специфическая структуру проекта на языке C++ и объяснение каждого символа в проекте это думаю уже тема другого курса. Лично мне всё ясно, с C++ имел опыт работы, поэтому вопросов не возникает, тут в одном отчёте читал, что не ясно, что такое extern, так по мне это аналог global в php, если это не ясно, ждите курса для самых маленьких, раз гуглить религия не позволяет. |
|||
MVC шаблон MVC - PhoneBook - Search - Message | + 16 | ||
Повторил пройденное найти время Так как у меня и так все элементы располагались на панели, то у меня не было проблемы со стыковкой лэйбла в самый низ формы. Так же добавил в самом верху формы лэбл с отображением количества записей. Добавил отображение текста при добавлении/обновлении/удалении записей, так же при возможных ошибках, мало-ли. Добавление и обновление записи выводится зелёным цветом, удаление и ошибка выводятся красным. Использовав String.format и константы шаблонов вывода текста, вывод количества записей разделено на два цвета в одной строке. Отличный урок! Идём дальше. |
|||
MVC шаблон MVC - PhoneBook - Controller - Select / Update | + 16 | ||
Повторил пройденное найти время Так как на прошлых уроках реализовал проверку выполнился ли запрос корректно в БД или нет и если да, то только в этом случает оповещать об изменении, то ошибок с закрытием формы ViewCard() у меня не было. Так же реализовал выбор из списка по двойному клику мышки через MouseListener(), как то более логичнее. Так как изначально добавил атрибут уникальности телефонного номера в БД, то при добавлении или обновлении записи, если телефон такой уже имеется, то форма ViewCard() не будет закрываться. Не стал дальше допиливать, возможно этот функционал будет реализован и поэтому лучше подожду то тех уроков, где это будет реализовано, если же не будет, тогда уже добавлю сам. |
|||
MVC шаблон MVC - PhoneBook - Controller - Buttons | + 16 | ||
instanceof найти время Отличный урок, но я реализовал не скрытие формы, а dispose() для выгрузки из памяти. Перезагрузка всего списка с добавлением новой записи даже при 20000+ записях происходит молниеносно =) супер. |
|||
MVC шаблон MVC - PhoneBook - Controller - Class for Click | + 16 | ||
Повторил пройденное найти время По поводу анонимных и других вариантов функций узнал ещё при разработке приложения для Андродид весной 2016 года. Ваш вариант отлично смотрится, поэтому можно не переделывать. Урок как всегда отличный, идём дальше. |
|||
WPF Clocks Финал | + 17 | ||
Многое узнал по теме WPF найти время Супер курс, все мелкие недочёты решаются, как говорится, не ошибается тот, кто ничего не делает, а посоветовать могу лишь одно, главное стараться не переживать и не торопиться =) Не останавливайся на достигнутом. |
|||
WPF Clocks Перекидные часы. Ну всё пора домой. | + 17 | ||
Созданию цепочки анимаций. найти время Отличный урок, а что бы он по две сразу не перекидывал, нужно чтобы сумма времени всей цепочки анимации была менее 1 сек, по поводу моргающих точек, тут очень подойдёт вариант как у прошлых часов, чётная секунда или не чётная. |
|||
WPF Clocks Перекидные часы. Еще немного и домой. | + 16 | ||
Вращению объектов в пространстве. найти время Отличный урок, но как видно из скриншота, просто взял текущее значение слайдера, в нашем случае разница не критичная =) |
|||
WPF Clocks Перекидные часы. Без пяти пять. | + 17 | ||
Вертеть текстуры, рисовать текст поверх текстур, обрезать всё что вылезает за пределы поля. найти время У меня 35 и -65 было не фонтан, проверял и на 7 и на 10, методом проб и ошибок параметры стали 34 и -68. На скриншоте как обычно показал короткую запись того, что можно укоротить. По поводу ClipToBounds это как в CSS параметр overflow, обрезает всё, что выходит за рамки поля, на котором отображается. Отличный урок, идём дальше. |
|||
WPF Clocks Перекидные часы. Уже почти три часа. | + 16 | ||
Закрепил пройденное найти время Заметил под конец урока, что бинарник у нас без иконки, решил исправить это досадное недоразумение. Для этого создал иконку в формате ico и добавил в ресурсы, откуда легко выбралась иконка для бинарника и вуаля, последний штрих =) Супер урок, спасибо, удобно реализовано. Идём дальше. |
|||
WPF Clocks Перекидные часы. Время час сорок. | + 16 | ||
Рисованию в 2D плоскости через xaml найти время К координатам по оси Y сам добавил минусы, это очевидно было, а вот по поводу треугольников не знал. Отличный урок, идём дальше. з.ы. спасибо за наводку по поводу книжки, с примерами то что надо, скачал их с оф сайта по ссылке из самой же книжки. Книжку тоже нашёл, так же нашёл и новое издание, оно хоть и в оригинале, зато кое что уже там понятнее стало, чем было в русской версии примеров, переводили как обычно Промтом, а потом забыли кое где подправить =) |
|||
WPF Clocks Перекидные часы. Первый час. | + 16 | ||
Повторил пройденное найти время Создал в стиле iPhone иконку для заставки и бинарника. Добавил возможность таскать приложение зажатием левой клавишей мыши и двойным кликом закрытие. Всё супер, идём дальше. |
|||
WPF Clocks Цифровые часы. Запуск. | + 16 | ||
Узнал что объединение колонок/строк в граде похоже на вёрстку table в html. найти время Добавил закрытие часов по двойному клику левой клавишей мыши. Сузил точки ближе друг к другу и уменьшил их, чтобы они были в одном стиле с цифрами. Координаты для светодиодов выверял сам на основе своей картинки, поэтому они у меня ровно стоят. Цвет выбрал Lime, вместо Green, поярче лучше смотрится. з.ы. Урок замечательный, очень многое реализовывал сам, потом смотрел как это реализовал автор, на скриншоте я предоставил вариант активации светодиодов по своему древнему стилю, он более компактный и в данном случае он подходит как нельзя лучше, не понадобилась функция SetOff(), я думаю понятно по какой причине =) Так же у цифры 6 оставили светодиод F, тогда у 9 надо было оставить C, а то прям обделили. |
|||
WPF Clocks Цифровые часы. Начало. | + 16 | ||
Созданию колонок и полей в гриде как через xaml, так и программно. найти время Создал в стиле iPhone иконку для приложения, которая и как сплешскрин выступила. Реализовал компактную запись присвоения цвета, так же использовал статичный класс Brashes() для выборки необходимого цвета. Отличный урок, спасибо огромное. |
|||
WPF Clocks Стрелочные часы | + 16 | ||
Генерировать xaml код программно. найти время Не стал вручную вбивать рисочки часовые, вместо этого изучил вопрос и одним способом формирования пути сгенерировал часовые рисочки, а другоим способом формирования пути сгенерировал минутные рисочки и как видно из скриншота, оптимизировал простой проверкой, чтобы не отрисовывало минутную рисочку на месте уже отрисованной часовой, лишнее нам не нужно =) Отлично всё получается программно, немного погуглив, нашёл всё что искал. Отличный урок, спасибо огромное. |
|||
С++ Графика - обрезка изображений Структура "нулевого" проекта | + 16 | ||
Отличный вводный урок. з.ы. на ютубе прикол, если смотреть на скорости х1 то всё ок, звук супер, но если скорость поставить х2.25, на которой я обычно смотрю всё на ютубе, то переодически треск, ютуб как всегда отличается своей сообразительностью. |
|||
MVC шаблон MVC - PhoneBook - Controller - Scroller | + 16 | ||
Повторил пройденное найти время Скролл добавил ещё на прошлых уроках и именно по такому же принципу, только ещё добавил политику автоматического скрывания списка если он помещается в окно отображения. Но судя по видео, эта политика установлена по-умолчанию. =) Отличный урок, идём дальше. |
|||
MVC шаблон MVC - PhoneBook - Controller - Model / ViewList | + 16 | ||
Повторил пройденное найти время Подобное уже реализовывали при реализации калькулятора, но для закрепления материала отлично подходит. Отличный урок, коротко и ясно. |
|||
MVC шаблон MVC - PhoneBook - Model - Methods | + 16 | ||
Повторил пройденное найти время На прошлом уроке добавлял заглушки для метода фильтрации по имени и по телефону, на этом уроке решил их объединить в один, чтобы при вводе текста в поисковике оно автоматом искало совпадения по имени или по телефону одновременно. Реализовать тестирование модели можно, но только с тестированием методов получения данных надо хорошо подумать, а добавление/обновление/удаление проверяется наличием изменения в самой БД. з.ы. Зачем в методе select добавлять проверку на ноль и возвращать нового пользователя, если мы знаем, что надо создать нового пользователя, просто его создаём. А ошибок при добавлении нового пользователя при вызове select не будет, так как добавление осуществляется через insert, вот там можно добавить проверку на ноль. |
|||
MVC шаблон MVC - PhoneBook - Model - Ресторанная аналогия | + 16 | ||
Повторил пройденное найти время Аналогичное уже было реализовано в классе DBase() но с возвращением данных в нужном формате, а раз в классе Model() везде void то как раз данные наработки пригодятся. Официанты это контроллер между кухней (Модель) и клиентами (Вид), а поварята это контроллер между кухней (Модель) и складом (БД). Помимо метода отображения всех пользователей, добавил ещё как минимум два, которые будут отображаться пользователей по фильтру для телефона и имени. |
|||
MVC шаблон MVC - PhoneBook - UserSQLTest - Slashes | + 16 | ||
Закрепил использование PreparedStatement найти время Реализовал проверку со слешами, но использовать для решения данной проблемы PreparedStatement. он был для этого специально разработан, чтобы не думалось о sql-инъекциях. |
|||
MVC шаблон MVC - PhoneBook - UserSQLTest - Select | + 16 | ||
Повторил пройденное найти время Вкусновато, но маловато =) всё супер, идём дальше. |
|||
MVC шаблон MVC - PhoneBook - UserSQLTest - Insert | + 16 | ||
Повторил пройденное найти время Как видно из скриншота, обновлялась только тестовая БД, основная не затрагивается. Так как ещё в процессе прохождения курса реализовывал методы работы с БД по своему, учитывая нюансы и возвращение тех или иных ответов, дабы проверять корректность работы с БД, то при реализации тестов просто воспользовался данными наработками и в окне логов удобные данные отображаются при обращении к БД. Так же через GUI работы с SQLite базами данных сверил данные в БД с данными в логах при тестировании. Не стал бежать впереди паровоза, а то мало ли, может быть в след. уроке делать будет нечего =) |
|||
Dancing Links Пентагон ищет решение | + 18 | ||
Закрепил пройденное найти время Добавил поддержку отображения найденных ответов ниже поля перебора относительно друг друга, чтобы не пересекались (проверить можно будет после внедрения оптимизации, так как ждать уж очень долго, хотя и более наглядно). Добавил поддержку полей более 60 клеток (см. скриншот) при этом учитываются дубликаты фигур, цвет фигур, индексация и т.д. все необходимые нюансы. Как видно из скриншота, добавлена поддержка ввода размеров поля через командную строчку, для этого создал батника с необходимыми размерами для тестирования. з.ы. обожаю относительность =) |
|||
Dancing Links Пентагон в деталях | |||
Повторил пройденное найти время Отличный урок, наглядно показано как формируется матрица всевозможных вариантов расположения фигур на поле. Теперь осталось визуализировать поиск решения, чтобы ожидание завершения алгоритма в не оптимизированном виде было более приятным =) |
|||
Dancing Links Фигуры в консоли | + 16 | ||
Повторил пройденное найти время Вывел все фигур по диагонали. Отличный урок, очень не хватало визуализации происходящего =) |
|||
MVC шаблон MVC - PhoneBook - UserSQLTest - DBase | + 16 | ||
Подключению к готовому Java проекту поддержку Maven и тем самым возможность создания тестов на базе JUnit. найти время Отличный урок, по поводу временного использование DBase как enum с разными базами прикольно придумано. Сделал копию основной БД, как видно из скриншота, она весит 1мб. Там более 20000 записей для генерации которых реализовал на прошлых уроках спец. метод. Очень интересно, почему метод testDelete() так долго выполнялся, видимо асинхронность на него повлияло подключение к двум БД =) |
|||
С++ Графика - обрезка изображений Презентация курса | + 16 | ||
Этот курс интересен тем, что он на языке C++! Чем больше разнообразных курсов и языков, тем интереснее. |
|||
Dancing Links Десятикратная оптимизация | + 16 | ||
Закрепил пройденное на вебинаре найти время Отличное завершение не менее гениального алгоритма, геттеры и сеттеры использовал только в том случае, если нужно запретить использование переменных извне, в нашем случае приватного атрибута не устанавливалось для сеттера, поэтому и смысла в них нет, но то, что они так тормозят это жесть, учту на будущее. Знал, что доп. безопасность кода отнимает ресурсы, но в некоторых ситуациях, если алгоритм вылизан эти можно пренебречь в угоду скорости. Очень хотелось реализовать графическую демонстрацию, но времени как всегда нет, в другой раз обязательно реализую. з.ы. что касается ферзей и судоку, до судоку ещё не добрался. а ферзей ещё год назад реализовал, для ферзей этот алгоритм будет кстати, по поводу судоку как доберусь, так скажу свой вердикт, но в любом случае, в сети уже есть реализации танцующего судоку, так что думаю реализовать реально. |
|||
Dancing Links Матрица Пентагона | + 16 | ||
Закрепил знания полученный на вебинаре. найти время Отличный урок, интересная реализация алгоритма, осталось дождаться окончания его работы =) з.ы. Однозначно требуется оптимизация, чем и займёмся на след. уроке. |
|||
Dancing Links Фигуры из пентамимо | + 16 | ||
Повторил пройденное найти время Отличная идея хранения вариантов расположения фигур в массиве. Осталось за малым, реализовать алгоритм перебора вариантов расположения фигур. |
|||
Dancing Links Открытие/закрытие столбцов | + 16 | ||
Закрепил пройденное на вебинаре. найти время Отлично, всё просто супер, ошибка которая возникла с середины урока у меня не проявилась, так как был на вебинаре и успевал за Игромистром, но писал сам, повторяя идеи и сразу написал так как надо. Поэтому искать ошибку не пришлось =) |
|||
Dancing Links Как ссылки пошли впляс | + 16 | ||
Закреплению полученного материала на вебинаре. найти время Отличная реализация алгоритма, но нужно идти дальше, чтобы завершить его окончательно и протестировать в полевых условиях. |
|||
Dancing Links Единичная матрица | + 16 | ||
Повторил пройденное найти время Заполнили матрицу элементами для примера, проверили работоспособность алгоритма в полевых условиях, осталось добавить функционал перебора возможных вариантов. Чем дальше, тем интереснее. |
|||
Dancing Links Заголовки столбцов | + 16 | ||
Созданию динамического четырёх-связного списка с использованием заголовка как указателя на текущую колонку. найти время Урок можно было разбить на две части, создание класса Header() вынести в отдельный и завершить его, чтобы не было неопределённости в конце урока =) В любом случае заготовка отличная, идём дальше. |
|||
Dancing Links Расширение хоровода | + 16 | ||
Реализации динамичного списка вместо статичного массива. найти время Отличный урок, всё гениальное - просто!!! идём дальше. |
|||
Dancing Links Двусвязный список с удалением | + 17 | ||
Повторил алгоритм удаление/восстановления элементов из списка. найти время Отличный урок, очень хорошо продемонстрирован алгоритм удаления/восстановления элементов списка. Решил реализовать это всё в Excel для большей наглядности. |
|||
Dancing Links Работа алгоритма | + 16 | ||
Повторил разбор полётов на Хабре найти время На скриншоте видно состояние матрицы каждую итерацию. Использовал тёмный оттенок при сохранении фигуры и светлые оттенки того же цвета для выявления пересечений с ней. Решил так же рассмотреть ситуацию из урока, где первую фигуру выбрали D. Таким образом к тому моменту, когда выбрали вторую фигуру и отсеяли пересечения с ней, осталось всего две фигуры, которые ни с чем не пересекаются, а просто сохраняются и вуаля, решение найдено. з.ы. урок отличный, очень полезно проработать алгоритм для лучшего понимания. з.з.ы. добавил описание цвета в виде легенды внизу скриншота. |
|||
Dancing Links Что такое Dancing Links | + 1 | ||
Повторил что такое Dancing Links найти время Алгоритм сравнения матриц через линейное представление отличная идея, нашёл в сети картинку, где Судоку решали подобным способом, думаю можно будет записать либо Вип урок либо продолжение уроков для курса Судоку, у нас же есть курс по Сапёру, он вообще состоит из 3 частей. С ферзями тоже этот алгоритм будет работать, я думаю этот алгоритм удобен для проверки корректности созданных карт в Сокобане =) |
|||
Шаблоны ФИНАЛЬНЫЙ УРОК | + 1 | ||
Шаблонам проектирования найти время Замечательный набор курсов по шаблонам проектирования, в купе с собственными исследованиями отлично уложились в памяти и теперь постоянно используются в проектах, по мере надобности. Огромное спасибо Игромистру за данные уроки и проект в целом. Шлифовка продолжается. =) |
|||
MVC шаблон MVC - PhoneBook - UserListSQL - Select | + 16 | ||
Повторил пройденное найти время Реализовал получение списка через геттер. Добавил проверку получен ли список пользователей, если да, то оповещается форма об этом и передаётся в неё полученный список. |
|||
MVC шаблон MVC - PhoneBook - UserSQL - CRUD | + 16 | ||
Закрепил пройденное найти время Реализовал перегрузку метода insert() чтобы можно было без параметров добавить новую случайную запись с присвоением очередного айди, а с параметром указать с каким именно айди нужно добавить запись, удобно, если запись с таким айди была ранее удалена и можно реюзнуть этот айди для оптимизации юза БД. Реализовал генерацию случайного телефона и имени в методе update(). Объединил insert и update в один метод, так как они по функциональности очень схожи, плюс нет дублирующего кода. На скриншоте видно, что один и тот же метод используется как для INSERT запросов, так и для UPDATE. Отличный урок, очень много нового кода, который заставил заняться рефакторингом в процессе выполнения задачи. |
|||
MVC шаблон MVC - PhoneBook - UserSQL - Singleton | + 16 | ||
Закрепил пройденное найти время Синглтон реализовал по своему, более компактно, геттеры не делал, смысла в них не вижу, так как реализовал универсальный метод в синглтоне для обработки запросов insert с возвратом айди записи. Добавил метод проверки, подключён к БД или нет, чтобы не пулять запросы, если коннекта нет. Как видно из скриншота, добавил генерацию 10 000 рандомных записей пользователей с рандомными телефонами, которые добавлялись в БД. Судя по количеству записей, их ровно 20 000, значит повезло и не разу не совпали телефоны, так как в БД я поставил атрибут уникальности на колонку телефона. В процессе работы сразу двух экземпляров программы, они друг другу периодически уступали БД для добавления записей, выглядит прикольно, при этом ошибки что БД занята не было, что не может не радовать. Всё отлично, идём дальше. |
|||
MVC шаблон MVC - PhoneBook - UserSQL - Connect | + 16 | ||
Закрепил пройденное найти время Подключение к БД вынес в отдельный метод. Реализовал вспомогательный метод, который возвращает айди при добавлении записей в БД. Метод insert() теперь выглядит более компактно, см. скриншот. Воспользовался наработка самостоятельной работы из курса SQLite. Положил библиотеку в папку lib в корне проекта. Положил базу в папку db в корне проекта. Создал батники для компиляции и запуска из консоли, см. скриншот. Как видно из скриншота, добавил две записи в БД, на русском и инглише. |
|||
MVC шаблон MVC - PhoneBook - UserSQL - Queries | + 16 | ||
Повторил пройденное найти время Коротко и ясно, идём дальше. |
|||
MVC шаблон MVC - PhoneBook - UserSQL - Methods | + 16 | ||
Повторил пройденное найти время Создал базу данных phonebook.db Создал таблицу users внутри неё (можно было скопировать из курса по SQLite, но повторение мать учения). Написал примеры запросов в БД в блокноте (см. скриншот). Использовал программу для работы с базами sqlite: DB Browser, наткнулся на неё в начале 2011 года, понравилась (сайт из видео-урока у меня не открывается, поэтому решил добавить альтернативную ссылку на эту программу). |
|||
MVC шаблон MVC - PhoneBook - UserList Struct | + 16 | ||
Повторил пройденное найти время Генерируются 10000 случайных пользователей, со случайными телефонами и именами. Полосу прокрутки реализовал ещё на прошлом уроке. Отличный урок, идём дальше. |
|||
MVC шаблон MVC - PhoneBook - ViewList | + 16 | ||
Повторил пройденное найти время Добавил при помощи цикла 9 записей. Реализовал отображение сроллинга списка, если количество объектов списка уходит за пределы видимой части. Как обычно на голом фрейме разместил вначале панель, а уже на ней разместились все остальные объекты. Для управления размером формы так же использовал дименшен. Естественно, чтобы работал мой любимый метод pack() куда без него =) |
|||
MVC шаблон MVC - PhoneBook - User Struct | + 16 | ||
Повторил пройденное найти время Отличный урок, всё коротко и ясно изложено. Идём дальше. |
|||
MVC шаблон MVC - PhoneBook - ViewCard | + 16 | ||
Повторил пройденное найти время Избавился от статика. Реализовал класс для формы "Карточка пользователя" на основе накопленного опыта с предыдущих уроков на этом проекте. Запретил ресайз формы, так как подобные формы всегда видел только статичными. Использовал любимый метод pack(). Расположил все объекты на панели, размеры которой выставлялись через дименшен. Особо баловаться с красотой дизайна форм смыла не вижу, так как главное в подобном софте, это его стабильность и функциональность. |
|||
MVC шаблон MVC - Counter - ControllerDuplex | + 16 | ||
Повторил пройденное найти время Метод init() реализовал ещё несколько уроков назад, чтобы выдавалось начальное значение, реализовал 1х1 так же, как и в этом уроке Игромистр =) Отличное завершение мини программы, демонстрирующую работы шаблона проектирования MVC, теперь понятно, почему он популярен, очень гибкая вещь, особенно при разработке в команде, каждый может заниматься свой частью, не мешая друг другу. Шаблон очень понравился, буду использовать обязательно везде где он будет кстати =) |
|||
MVC шаблон MVC - Counter - ModelDuplex | + 16 | ||
Передаче значений выше int через String найти время Отличный урок, везде заменил int на long. Так же добавил инициализацию начального значения счётчика, посмотрим как это будет реализовано в след. уроке =) |
|||
MVC шаблон MVC - Counter - ControllerPlusConsole | + 16 | ||
MVC для консоли найти время Поэтому после запуска отображается вначале 0 в консоли, после 10 итераций цикла for в консоли уже 11 строчек, так как 1 строчка это метод init() и 10 итераций цикла for (см. скриншот 1). При создании контроллера для консоли использовал ранее созданный метод init() (см. скриншот 2). Отличный урок, идём дальше. |
|||
MVC шаблон MVC - Counter - ControllerPlusFrame | + 16 | ||
Созданию контроллера для связки Модели и Представления. найти время Вначале реализовал в модели метод setValue() и вызвал его в основном методе main() после создания экземпляра контроллера с параметрами, но тут же решил перенести вызов метода setValue() в конструктор контроллера, после решил реализовать ещё один метод init() который вызывается без параметров и устанавливает начальное значение счётчика 0. з.ы. см. скриншоты, отличный урок, идём дальше. |
|||
MVC шаблон MVC - Counter - ModelPlus | + 16 | ||
Повторил пройденное найти время Отличный урок, хорошая демонстрация работы модели. Коротко и ясно, лучше так и стараться, чтобы в одном уроке затрагивать какую-то одну тему. |
|||
MVC шаблон MVC - Counter - ViewFrame | + 16 | ||
Повторил пройденное найти время Как обычно реализовал через Dimension(). Так же использовал JPanel() для размещения необходимых компонентов. Естественно не забыл о методе pack() куда же без него =) Отличный урок, идём дальше. |
|||
MVC шаблон MVC - Counter - ViewConsole | + 16 | ||
Пока ничего найти время Убрал статику. Реализовали именно так, чтобы использовать шаблон НАБЛЮДАТЕЛЬ. Отличное начало, идём дальше. |
|||
Знакомство с jQuery jQuery - AJAX - Load | + 16 | ||
ajax load найти время Отличный урок, весь велосипед уложился в одной строчке. На стороне сервера у меня ничего чистить не пришлось. так как ещё на прошлом уроке реализовал только возврат времени из php. Добавил счётчики успешного/ошибочного получения времени с сервера. |
|||
Нанософт Шахматные часы | + 16 | ||
Закрепил создание аналога на WPF найти время Параллельно реализовал приложение на WF и WPF, см. скриншоты. На WPF нет обычного компонента Timer, поэтому использовал DispatcherTimer. з.ы. Как обычно создал в фотошопе в своём стиле иконку для обоих приложений. |
|||
Знакомство с jQuery jQuery - AJAX = IFrame | + 17 | ||
Загрузке данных с сервера через iframe и дальнейшее их использование, стиль js найти время Реализовал по своему, как видно на скриншоте, php возвращает только время, а далее уже скрипт на основной страничке достаёт эти данные и копирует куда надо. Так же реализованы две кнопки, запуска и остановки обновления времени с сервера. Само обновление iframe реализовано через .contentWindow.location.reload(), способ показанный в уроке, где для обновления просто вставляют адрес откуда брать время тоже хорошо подходит, а по скорости выполнения разницы не заметил. Как видно из видео, при запуске обновления времени, анимация заметно начинает дёргаться, если же остановить данную процедуру, анимация плавная. |
|||
Знакомство с jQuery jQuery - DOM - Set | + 16 | ||
Закрепил пройденное найти время Отличный урок, когда склеивали новый текст с исходником, сразу решил реализовать бегущую строчку как демонстрашку =) |
|||
MVC и JavaFX View - Установка Scene Builder | + 16 | ||
О редакторе Scene Builder для Java FX найти время Очень интересная технология, поглядим поближе. Тоже люблю портабл версии. |
|||
Тестирование JUnit - Powerable | + 16 | ||
Закрепил пройденное найти время Тест на негативную степень добавил в прошлом уроке, помимо других трёх тестов. Моё мнение по поводу JUnit положительное, очень нужная вещь, обязательно буду использовать. Спасибо за данный курс. |
|||
Тестирование JUnit - Exceptions | + 16 | ||
Закрепление пройденного найти время Отличный урок, очень полезное знание, обязательно к использованию. |
|||
Знакомство с jQuery jQuery - DOM - Get | + 16 | ||
Закрепил знания найти время Решил поэкспериментировать с динамическим изменением HTML, в итоге не имея изначальных данных, координаты в процессе анимации показывает. Так же и со значением введённым в поле тега "input". |
|||
Тестирование JUnit - Testing | + 16 | ||
Закрепил материал найти время Подключил org.junit.Test через import, заменив все @org.junit.Test на @Test. Поменя местами expected и actual. Остальное реализовал на прошлом уроке. з.ы. IntelliJ IDEA не добавляла "test" к именам тестируемых методов. |
|||
Знакомство с jQuery Функции обратного вызова | + 16 | ||
Закрепил пройденное найти время Реализовал два поля с одинаковыми задачами, но функции анимации немного отличаются, см. скриншот или видео. В первой функции реализован рекурсивный вызов после того как все анимации выполнились. Во второй функции реализована callback функция третьим параметром в последней цепочке анимации. Как я сразу и предположил, callback функция глючит будучи третьим параметром в цепочке анимаций при вызове остановки всех анимаций с завершением. Так что внимательно следите за подобными нюансами, чтобы код работал так как задумывалось. |
|||
Знакомство с jQuery Остановка анимации | + 16 | ||
Повторил пройденное найти время С параметром stopAll всё ок, останавливает и удаляет все анимации из очереди, а если добавить параметр goToEnd, то при нажатии на финальной анимации, он её доводит до конца и удаляет потом записи, но в конце у нас колбэк вызов самой себя, и по сути остаются две записи, та, во время которой нажали кнопку, последняя анимация с колбеком и начальная пропускается, остаётся вторая после неё. Очень похоже на баг. Добавил тень к логотипу через css стили. Реализовал динамически изменяемое поле для анимации относительно размеров окна браузера, так же это влияет и на размеры логотипа. Текст над полем анимации тоже отцентрировал. |
|||
Знакомство с jQuery Домашнее задание: анимация Zorro | + 16 | ||
Повторил пройденное найти время Так как анимацию реализовал на прошлом уроке, то чтобы было чем заняться, в анимации Zorro логотип увеличил в 2 раза. Так же добавил второе поле, где логотип проекта анимируется в стиле сердцебиения. Как видно из куска исходника, размер логотипа во время сердцебиения изменяется относительно текущего размера в нужных направлениях. |
|||
Знакомство с jQuery Эффекты анимации, продолжение | + 16 | ||
Использование плагина jQuery.Color найти время Отличный урок, добавил плагин для анимации цвета, отлично выглядит, добавил независимую анимацию цвета фона для обоих полей, так же переход между цветами каждый раз занимает рандомное время для большей уникальности анимации. Добавил логотип проекта вместо чёрного квадратика, который бегает в стиле Zorro, размер квадратика была 20х20, голотип сделал 40х40, чтобы лучше было видно. Так же реализовал второе поле, где кубик 20х20 бегает по периметру, чем ближе он к центру каждой стенки, тем он сплющивается в её сторону, использовал toggle свойство для полей ширины и высоты там где это необходимо =) |
|||
Тестирование JUnit - Intellij IDEA | + 16 | ||
Повторил пройденное найти время Так как с самого начала делал уроки в IntelliJ IDEA, то могу сказать лишь одно, что именно данный урок экономит время для тех, кто ранее не занимался подобным именно в данной среде. Очень сильно отличается от Eclipse. |
|||
Тестирование JUnit - Numbers | + 16 | ||
Повторению пройденного найти время Интрига нарастает, отличный урок, идём дальше. |
|||
Знакомство с jQuery Эффекты скольжения и базовая анимация | + 1 | ||
Эффектам slide* и animate найти время Отличный урок, отличные эффекты анимации, по поводу разницы между position: relative - координаты расположения элемента относительно координат родительского элемента fixed - координаты расположения элемента относительно координат видимой части страницы в окне браузера absolute - координаты расположения элемента относительно левого верхнего угла странички в целом это всё изучал много лет назад на уроках CSS. |
|||
Знакомство с jQuery Эффекты появления и исчезновения | + 16 | ||
Анимации fade* найти время Отличный урок, реализовал цветомузыку =) |
|||
Знакомство с jQuery Эффекты скрытия и отображения | + 16 | ||
Повторил пройденное найти время Подобное уже проходили ранее и я как раз тогда использовал эффект анимации до которого дошли в этом уроке, поэтому осталось лишь пройти задания под звёздочками =) з.ы. Всё отлично, идём дальше. |
|||
Тестирование JUnit - Система тестирования | + 16 | ||
Созданию проектов Maven в IntelliJ IDEA с использованием JUnit тестов. найти время Отличный урок, спасибо Елене, очень сэкономила время. Всё оказалось проще, а создание тестов на полуавтомате. |
|||
State ФИНАЛЬНЫЙ УРОК | + 16 | ||
Повторил пройденное найти время Отличный шаблон проектирования, удачно подходят уроки по созданию калькулятора. Но данный шаблон на этом не останавливается, он применяется почти везде, особенно в играх =) |
|||
State State - Целый калькулятор - Fix Bugs | + 16 | ||
Ничему найти время Что было мной выявлено при тестировании калькулятора: 1 - нужно сбрасывать значение второй переменной в методе StateOpers().opers() 2 - нужно произвести калькуляцию в начале метода StateSecond().opers() 3 - в методе calc() добавил проверку: "Делить на ноль нельзя!" 4 - метод calc() перенёс в класс Context(), так как он вызывается не только в StateResult() 5 - не нужно производить калькуляцию при вводе очередного числа в StateResult() 6 - не нужно производить калькуляцию при вводе операции в StateResult() 7 - нужно делать сброс при вводе числа в StateResult() 8 - оставить ситуацию без изменений, если ввести символ, который не поддерживается 9 - что бы не ввели, брать первый символ 10 - если набрать 2+= то должно увеличивать число само на себя (так работает калькулятор в windows 10) з.ы. Последний пункт реализовал после того как мне приснился этот вариант возможного бага. Так же реализовано за данный урок: У калькулятора и истории отличается размер шрифта. Размеры шрифта вынесены в константы. Размер шрифта зависит от размеров формы. Если история пуста, выводится надпись: "Пусто". Если размер истории превышает размеры формы, появляется скроллбар и история добавляется ниже. При добавлении новой строки в историю, скрол автоматом спускается в самый них и показывает последние записи истории. |
|||
State State - Целый калькулятор - 16 кнопок | + 16 | ||
Повторил пройденное найти время Приснился калькулятор и вариант был, ввести число, потом операцию и сразу равно, что будет. Проверил, получается, что он к числу плюсует второе значение, которое по-умолчанию равно 0 и записывается в историю 2+0=2, я решил проверить, как ведёт себя калькулятор в windows 10, оказалось, что если набрать 2+=, то двойка будет увеличиваться на саму себя и при последующих нажатиях на равно, постоянно увеличивается на изначальное число два!!! Поэтому приснился ещё один баг: 10 - если набрать 2+= то должно увеличивать число само на себя (так работает калькулятор в windows 10) который уже внесён в код к следующему уроку. з.ы. метод show() не пришлось модифицировать, так как уже давно реализовал аналог в виде переменной result, в которой формируется вывод вводимых данных. Добавил справа от калькулятора вывод истории. |
|||
State State - Целый калькулятор - Logic | + 1 | ||
Повторил пройденное найти время Тут не одна ошибка в коде, тут их куча! Что было мной выявлено при тестировании калькулятора: 1 - нужно сбрасывать значение второй переменной в методе StateOpers().opers() 2 - нужно произвести калькуляцию в начале метода StateSecond().opers() 3 - в методе calc() добавил проверку: "Делить на ноль нельзя!" 4 - метод calc() перенёс в класс Context(), так как он вызывается не только в StateResult() 5 - не нужно производить калькуляцию при вводе очередного числа в StateResult() 6 - не нужно производить калькуляцию при вводе операции в StateResult() 7 - нужно делать сброс при вводе числа в StateResult() 8 - оставить ситуацию без изменений, если ввести символ, который не поддерживается 9 - что бы не ввели, брать первый символ з.ы. Помимо этого, как видно из скриншота, динамически увеличивается список истории вычислений. В результате отображается текущая ситуация, что тоже видно на скриншотах. Обкатал калькулятор, вроде все нюансы учёл, баги больше не встречались. |
|||
Морской флот Вступление | + 16 | ||
Ничему новому Вспомнить аналог на спектруме =) Курс включает в себя очень много технологий, саму идею Морских сражений FFA, думаю, пока потихоньку начать этот курс уже, а то купил ещё в прошлом году, а всё никак =) |
|||
State State - Целый калькулятор - Press key | + 16 | ||
Закрепил пройденное найти время Добавил свой класс ConsoleArt() и реализовал псевдоинтерфейс калькулятора в консоли =) Избавился от статика. Вначале реализовал метод show() в классе Context() так как нужно было где-то генерировать вид калькулятора, а после увидел в видео, что такой же метод создаётся как раз для той же задачи =) Не стал бежать впереди паровоза, идём в ногу с уроками. =) |
|||
State State - Целый калькулятор - Context | + 16 | ||
Повторил пройденное найти время Пока ничего не могу сказать по поводу того, хватит того, что уже реализовано или нет, будет видно в процессе разработки. |
|||
State State - Целый калькулятор - States | + 16 | ||
Повторил пройденное найти время Я думаю каждую разработку чего бы то ни было нужно начинать с построения схемы, хотя-бы базовой, в процессе разработки можно будет её дополнять, если будет в этом необходимость. |
|||
Знакомство с jQuery События и их методы | + 16 | ||
Закрепил пройденное найти время Отличный урок, демонстрация одного и того же разными способами реализации это лучше помогает понять работу в целом. Очень понравился метод on() с перебором focus() и blur() выглядит как swotch/case =) Ждём следующего вебинара... |
|||
Знакомство с jQuery Понятие селектора и примеры | + 16 | ||
Закрепил пройденное найти время Отличный урок, все примеры понравились, каждый по своему полезен, по поводу селектора: ":button" проверил, что-то не понятно, добавил тег input type=button и он не выбирался, хотя должен был, но зато чётко выбирались все button теги при этом идеально. Либо есть какой-то нюанс, либо эта фишка не работает так как задумывалось или забыли обновить документацию. з.ы. добавил селектор по тегу.классу как видно из скриншота, работает отлично. |
|||
Знакомство с jQuery Эксперименты и кнопки | + 16 | ||
Повторение пройденного найти время Отличный урок, просто супер эксперименты и аналогия передачи функций аля делегаты. Добавил третью кнопку, которую наделил методом toggle(), который представляет собой симбиоз методов hide() и show(), так как работает в обе стороны, если элемент уже скрыт, он его отображает и наоборот. Так же использовал время анимации в 1000 мс, что равняется 1 секунде для наглядности =) |
|||
Знакомство с jQuery Синтаксис и простейший пример | + 16 | ||
Повторил пройденное найти время Если в show() и hide() передать параметры: 'slow' - медленная анимация 'fast' - быстрая анимация целое число - время в миллисекундах которое длится анимация так же вторым параметром можно передавать так же кастомную функцию =) Отличное начало, идём дальше. |
|||
Знакомство с jQuery Суть библиотеки jQuery | + 16 | ||
Повторил пройденное найти время Очень полезный курс для общего развития и не только, данная библиотека очень активно используется и должна быть изучена всеми веб-разработчиками. Я впервые познакомился с jQuery уже не помню когда, но это было точно во времена исследования сайта, который ранее написал не я, эдакий реверс-инжинеринг. Изрядно я его тогда поковырял, но многое было сразу не понятно, так как в те времена такого объёма полезной информации как сегодня просто не было. Изложение как всегда простое и понятное, прохождение зарубежного курса вместе веселее =) |
|||
State VIP - State - КНБ - JButtons | + 16 | ||
Повторил пройденное найти время Отличный завершение для не менее отличного курса по созданию игры "Камни, Ножницы, Бумага". Вначале реализовал сам лейблы, потом посмотрел видео, центровка текста пока не начали играть, после первой игры центровка отключается и информация выдаётся по собственному стилю. Параллельно в консоли отображается консольная версия игры. В GUI версии отображается статистика игр и кто сколько набрал очков. Все элементы располагаются на JPanel, так же исправлен баг при котором объекты панели могли не отрисовываться корректно, пока не свернуть и развернуть форму, оказывается необходимо вызывать эту проверку в критических ситуациях. |
|||
State VIP - State - КНБ - JFrame | + 16 | ||
Повторил пройденное найти время Опять добавили элементы поверх фрейма =), потом хаки писать для корректировки размеров. Я решил сделать так как всегда советую, вначале добавляем папель, потом на панель уже водружаем нужные элементы, в нашем случае кнопочки. Алгоритм инициализации формируется у нас уже не один курс по Java, поэтому использовал его для создания формы нужного размера, плюс тот самый метод pack(). Без него никуда =) Добавил все три кнопки, думаю можно использовать массив кнопок, чтобы код выглядел более компактным. Так же реализовал определение на какую кнопку было нажатие, чтобы изменялась надпись именно на ней. Отличная идея реализовать GUI интерфейс для игрушки. |
|||
State ПОЛУФИНАЛЬНЫЙ УРОК | + 16 | ||
Ничему найти время Шаблон очень полезный, используется на 100% в играх, пример: переключение между стадиями отображения игрового меню или непосредственно самой игры, глобальной карты и т.д. При передаче данный по сети тоже данный шаблон будет кстати. Везде где может понадобится переход между состояниями - этот шаблон будет полезен!!! з.ы. Пауза в игре это тоже состояние =) |
|||
State State - КНБ - Play | + 16 | ||
Закрепил пройденное найти время Использовал свой класс ConsoleArt() для красивого отображения стадий игры. Добавил класс GameScore() для обработки статистики побед обоих игроков, количества сыгранных игр, так же генерацией итоговой статистики. Вначале добавил счётчики в классе Context(), но позже решил вынести статистику в отдельный класс. Объяснять работу на простых примерах отличная идея. идём дальше. |
|||
State State - КНБ - States | + 16 | ||
Заготовке шаблона State найти время Отличное начало, мыслей по поводу дальнейшей реализации более одной, поэтому не стал тратить время, так как с ним пока туго, поглядим реализацию на след. уроке. з.ы. добавил класс ConsoleArt(), дополнив его под нужды текущего шаблона. |
|||
Observer VIP - Observer - Sensor - Alert | + 16 | ||
Закрепил пройденное найти время Перенёс класс OBell() и сделал их него синглтон OSound(). Так же перенёс синглтон Timer(), для отображения времени которое тратилось на вызов звука. Enum стадий звука уже был реализован ранее, поэтому его тоже перенёс и модифицировал под нужды текущей задачи. Мелкие правки и оптимизации кода. з.ы. Отличный урок, добавил звуки свиста чайника: ПОГРОМЧЕ и ПОТИШЕ. |
|||
Бинарная жизнь Максималка | + 16 | ||
Запоминанию длинных чисел мышечной памятью Остановиться Neverwinter 2 - есть куда стремиться ;) |
|||
Observer ФИНАЛЬНЫЙ УРОК | + 16 | ||
Закрепил пройденное найти время Отличный шаблон проектирования, будет использовать однозначно, спасибо за курс. |
|||
Observer Observer - Sensor - Banner | + 16 | ||
Повторил пройденное понять почему корректно по вертикали не центровало Урок отличный, но в перенесённом классе, который создавали для мотиватора/демотиватора были некоторые особенности из-за которых возникли проблемы не только у Игромистра с цветом, это я сразу понял, а вот с центровкой по вертикали пришлось повозиться, а потом решил проверить, как генерируется размер картинки, оказалось, что там учитывался размер блока под текст, но так как у нас картинки нет, а блок под текст уже не имеет смысла, то он и добавлял снизу лишнее пространство. В итоге модифицировал класс основательно, чтобы он был более универсальным. з.ы. Добавил поддержку центровки текста: top, center, bottom (по вертикали) Добавил поддержку многострочного текста, разделитель "\n", поддержку котором пришлось написать самому. Добавил вывод температуры в трёх единицах измерения: Цельсий, Фаренгейт и Кельвин. |
|||
Observer Observer - Sensor - Cat File | + 16 | ||
Повторил пройденное найти время Прикольно придумали с котом и плюс доп. вариант для закрепления идеи шаблона. Вопросов нет, идём дальше. |
|||
Observer Observer - Sensor - Person | + 17 | ||
Закрепил работу с системными Observer/Observable() найти время Отличный урок, радует, что не добавляют дубликаты одного и того же объекта. |
|||
Observer Observer - Sensor - Visaginas | + 17 | ||
Закрепил Observable() найти время Хорошее начало, можно вместо реального датчика, добавить парсер температуры с сайта. Но это так, если реально данная тема необходима и будет работать 24/7, так как в рамках урока разброс температуры будет минимальным. |
|||
Observer Observer - School Bell - Study and Break | + 16 | ||
Закрепил пройденное найти время Класс OBell сделал Синглтоном, так как давно уже вёл к этому, он при первой инициализации загружает(кэширует в ОЗУ) необходимые для работы звуковые файлы, и при каждом последующем обращении к нему он воспроизводит файлы уже из памяти. а не загружая их каждый раз с диска. Отличный пример использования шаблона проектирования, использовать буду обязательно. |
|||
Теория ООП Инкапсуляция мечты | + 16 | ||
Повторил пройденное найти время Со словом "Инкапсуляция" у меня всегда ассоциируется "Шляпа Фокусника" =) |
|||
Observer Observer - School Bell - java.util.Observable | + 16 | ||
java.util.Observable; найти время Отличная оптимизация кода, класс Porter() прям растаял на глазах =) Очень полезный шаблон проектирования, буду использовать обязательно. |
|||
Демо софт Двенадцать месяцев | + 16 | ||
MonthCalendar найти время Как обычно в фотошопе создал иконку в своём стиле, так же нашёл и подготовил в общий формат 12 картинок времён года. Само приложение не вызвало трудностей, единственное имена файлов в формате D2 как то глаз радуют =) |
|||
База SQLite SQLite - Самостоятельная работа | + 16 | ||
Работе с SQLite в Java найти время Реализовал поддержку ввода имени БД, если таковая не найдена, то предлагается создать её со всеми необходимыми таблицами для корректной работы системы. Если же БД будет найдена, автоматически к ней подключится и отобразит количество студентов и лекций, которые в ней присутствуют. Потратив не мало времени, всё же удалось решить проблему с полной поддержкой русского языка как при сохранении в БД, так и загрузки оттуда. Так же записи на русском языке корректно отображаются и через консоль SQLite. На видео демонстрация работы программы: 1 - добавление 5 студентов 2 - добавление 5 лекций 3 - запись всех студентов на все лекции 4 - после добавления студента на лекцию, предлагается сгенерировать для него сразу 10 случайных оценок, если отказаться, то в последствии только вручную можно будет добавлять оценки. 5 - отображение карточки студента после того как ему добавили оценки 6 - отображение списка студентов 7 - отображение списка лекций 8 - отображение статистики успеваемости по всей БД Сделал динамичное обрамление статистики, чтобы не дублировалось название лекции более 1 раза при списке из нескольких студентов Так же сделал отображение лучшего среднего бала суммарно не по всем лекциям, как предложено в задании, а по каждой лекции и студенту отдельно. Таким образом, если максимальный средний балл будет одинаков сразу у нескольких студентов, они будут отображены, а те, кого не показали, значит у них по всем предметам средний балл соответственно ниже. Естественно добавлена защита от ввода недопустимых значений, запись студента только на те лекции, которые доступны для записи (на те, на которые он не записан, просто не отображаются в списке и если попытаться ввести их айди, выдаст ошибку) Отображается общее количество оценок в шапке таблицы, а сама таблица выводит только те лекции, где больше всего оценок, если оценок одинаковое количество сразу у нескольких лекций, то отображаются все. Модернизировал класс ConsoleArt(), добавлена поддержка выбора кодировки в которой будет отображаться информация в консоли. База данных состоит из 4 таблиц, как видно из видео, каждая таблица хранит в себе свои данные, которые связаны между собой при помощи айди записи, тем самым оптимально используя ресурсы БД и скорость работы с ней. з.ы. Так как подобную программу уже делали в курсе Java Book, но там использовали сериализацию в качестве хранения данных (с ростом размера БД она работала бы дольше, чем эта версия с SQLite). Решил использовать наработки по оформлению программы и заимствовал часть функционала, которые пришлось переписать для оптимальной работы с SQLite запросами, так как запросы возвращают уже необходимые данные, а не всю БД целиком. В итоге эта версия программы намного интереснее и лучше, чем версия с сериализацией =) Всем спасибо за просмотр, делал несколько дублей, в итоге решил сделать техническое видео, так как саму программу написал уже давно, а всё никак не залью отчёт, так как хотелось добавить и видео (как сказал студент Игромистра: Михаил Острый - тут двумя скриншотами не обойтись). |
|||
Observer Observer - School Bell - java.util.Observer | + 16 | ||
Повторил пройденное найти время Добавить синглтон таймера, модернизировал его так, чтобы он возвращал пройденное время. Как видно из скриншота, каждый раз на звонок потрачено в районе секунды. Решил добавить таймер, так как звонило всего 1 раз, первый раз слишком быстро проскакивало и не успевало начать воспроизведение, видимо изза потраченного времени на кэширование звукового файла. Добавив таймер, промониторив проблему решил её и теперь каждый раз звонок проигрывается как надо, думаю для звонка можно тоже использовать синглтон, так как одного экземпляра более чем достаточно. |
|||
Observer Observer - School Bell - Porter | + 16 | ||
Повторил пройденное прекратить эксперименты =) Увлёкся оптимизацией вызова звонка и доработками класса OBell() |
|||
Observer Observer - School Bell - Sound Bell | + 16 | ||
Повторил пройденное найти время Реализовал загрузки звукового файла (кэширование) и вызов проигрывания отдельными методами. Добавил в класс OBell() метод isPlaying(), для реализации бесконечного цикла с выходом после окончания проигрывания звонка, поэтому ожидание нажатия клавиши уже не нужно см. скриншот. |
|||
Observer Observer - School Bell - Student | + 16 | ||
Повторение пройденного найти время Отличное начало, вот я и добрался до курса, для которого делал звуковые файлы =) Сам шаблон должен быть интересным, напоминает мне события в C#. |
|||
Facade ФИНАЛЬНЫЙ УРОК | + 1 | ||
Повторил пройденное найти время Отличный шаблон, я думаю самый известный и интуитивно используемый всеми разработчиками от новичка до профи. Наверное чаще всего именно этот шаблон используем при разработке той или иной игры/программы. |
|||
Iterator ФИНАЛЬНЫЙ УРОК | + 16 | ||
Созданию итератора любых объектов найти время Отличный шаблон проектирования, думаю если не всегда, то почти всегда будет использоваться в современном ПО/ИГРАХ, так как всегда есть что перебирать =) "маст хэв" как говорится. |
|||
Active Record ФИНАЛЬНЫЙ УРОК | + 16 | ||
Повторил пройденное найти время Отличный шаблон проектирования, очень хорошо подходит для разработки сайтов, где нужен самый дешёвый хостинг. Так же отлично подходит для оптимизированной работы с БД, если немного доработать его =) |
|||
Strategy ФИНАЛЬНЫЙ УРОК | + 16 | ||
Повторил пройденное найти время Отличный шаблон проектирования. Используется много где. Так же в связке с другими шаблонами проектирования. Мы рассматривали варианты где выбирали в каком формате сохранять информацию: json/xml/raw. Так же это используется как показано на картинке, при создании сжатого архива, но разными способами: rar/zip/7z/ace/arj. При выборе способа транспортировки товара или человека из пункта А в пункт Б: на автомобиле/поезде/автобусе/пешком/самолёт/корабль. Я думаю достаточно привёл вариантов, чтобы понять, зачем нужен этот шаблон проектирования. Удачи в изучении. |
|||
База SQLite SQLite - Select | + 16 | ||
Повторил пройденное найти время Добавил вначале отображение текущего списка, после чего запрос на добавление записи и опять вывод списка, чтобы видно было, что запись действительно добавилась. Отличный урок, коротко и ясно. |
|||
База SQLite SQLite - Insert | + 16 | ||
Запуску jar приложения с необходимыми библиотеками из консоли. найти время Пришло изрядно погуглить, поэксперементировать, так как очень много либо устаревшей либо просто не соответствующей действительности информации на просторах интернета, как в прочем и всегда. Но я всё же нашёл то, что искал, просто и красиво запускается jar файл с необходимыми библиотеками относительно пути запуска. Работает всё идеально. Так же модифицировал код метода insert(), добавив вариант отката изменений в БД, если произошла ошибка транзакции. Так же поддержка мультитранзакций, который так же проверяются перед тем как закоммититься в БД. Пригодится в будущем, при сложных, взаимосвязанных транзакциях. Отличный урок, на первый взгляд простой, в IntelliJ IDEA проблем не возникло с добавлением внешней библиотеки, но хотело это реализовать через консоль. На что и ушло основное время. |
|||
Template method ФИНАЛЬНЫЙ УРОК | + 16 | ||
Повторил пройденное найти время Шаблонный метод, один из очевидный шаблонов проектирования, к которому так или иначе приходят программисты с опытом. Много где используется, не сложен в понимании, но желательно пройти данный курс, чтобы сэкономить время, которой потратишь для самостоятельного движения в его сторону. |
|||
Factory ФИНАЛЬНЫЙ УРОК | + 17 | ||
Повторил пройденное найти время Отличный курс и шаблон проектирования. Очень полезный, его можно использовать например в игре Xonix, чтобы создавать противников (шарики, квадратики). Вроде бы объекты разные, но наследуют общий корни, тем самым могут обрабатываться одним циклом и хранится в общем массиве объектов. Думаю, когда дойдут руки до курса по игре Xonix, можно будет порефакторить код, чтобы использовать шаблон проектирования там, где это явно намекает =) |
|||
Singleton ФИНАЛЬНЫЙ УРОК | + 16 | ||
Повторил пройденное найти время Отличный шаблон проектирования. Много где можно использовать, уже активно им пользуюсь там где есть в этом необходимость =) |
|||
Итератор VIP. Оптимизация поиска простых чисел | + 16 | ||
Повторил пройденное найти время Так как данный урок уже делал прошлым летом во время прохождения курса: "Комбинаторика", то чтобы просто не копипастить, решил доработать тогдашние наработки по поводу "решета Эратосфена". Реализовал два варианта, один с использованием массива, другой при помощи списка. Как видно из скриншота, они в самом конце, скорость у них оставляет желать лучшего. Квадратный корень явно быстрее всех. |
|||
База SQLite SQLite - Подключение из Java | + 16 | ||
Установке CLASSPATH для подключения сторонних библиотек найти время Отличный урок, но чтобы не перезагружаться, я через консоль установить переменную среды CLASSPATH, после чего приложение успешно отработало. см. скриншот. |
|||
База SQLite SQLite - Знакомство | + 16 | ||
Повторил пройденное найти время Как видно из скриншота, я протестировал свои догадки и оказалось всё так как я и думал, проблема в том, что консоль sqlite3 криво работает с юникодом, каждый символ занимает два байта и если ширину выставить нечётную, в моём случае я поставил 15 и последняя буква в именах Александр и Владимир были вопросиками, а если 14 или 16, то обрезало имена нормально, без артефактов. Почитав официальный форум разработчиков sqlite, подтвердил свою версию, этот баг им известен, но они его ещё не решили. От себя могу сказать лишь одно, это проблема официальной консоли, как сказал один из разработчиков, чтобы устранить баг, надо написать свою консоль. т.е. написав свою программу работы с базой, можно не бояться этого бага, так как отображение и обработка данных уже будет полностью зависеть от вашего кода, как напишите как и будет отображаться. |
|||
Итератор ФИНАЛЬНЫЙ УРОК | + 17 | ||
Вариантам использования yield и кастомным итераторам. найти время Последовательность уроков напомнило мне курс шаблонов проектирования Синглтон на языке Java, там тоже от начало и до конца шли эксперименты, плавно приближаясь к тому самому красивому и верному варианту решения задачи. Изюминка в виде yield делает этот шаблон проектирования идеальным во многих вещах, а самое главное, что в процессе перебора можно легко реализовать анимацию, дабы не казалось, что процесс завис при очень длительных вычислениях. Спасибо за курс, советую пройти каждому! |
|||
Итератор Итератор. Один метод вместо классов. | + 4 | ||
Повторил пройденное найти время Вот это уже ближе к тому, что было использовано в курсе: "Мат Конём и Слоном". Отличное завершение не менее отличного курса. з.ы. Мало было передавать максимальное значение параметров в функцию, надо было ещё и переменную максимального значения сделать глобальной как минимум, чтобы цикл работал как и прежде и завершался по окончанию перебора. Как видно на скриншоте, цикл завершился и вывел сообщение в конце программы. Данное сообщение не выводилось, пока не добавил глобальную переменную, ведь мы убрали функцию SetMax(), надо было её заменить аналогией, чтобы не рушить цикл while. Так сказать, очевидная вещь, которая сразу бросилась в глаза. |
|||
Итератор Итератор. Список простых чисел. | + 16 | ||
Оптимизировать алгоритм перебора простых чисел при помощи yield найти время Отличный урок, красивый код и оптимизация. Всё просто и ясно. |
|||
Итератор Итератор. Волшебное слово yield. | + 16 | ||
Использованию итератабл + yield найти время Отличный урок, yield ещё в курсе "Мат Конём и Слоном" понравился как работает. Лишний раз убедился в его уникальности и удобстве, самое главное, что он в процессе итераций передаёт управление родительским итерациям, при больших объёмах перебора очень удобно использовать, так как можно демонстрировать признаки жизни, а не думалось, что процесс завис =) |
|||
Итератор Итератор. Зачем нужно два класса | + 16 | ||
Использованию итератора не зависимо от итерабл найти время Ещё на первом уроке решили объединить, есть в этом что-то, можно даже было добавить костыль, чтобы использовать сдвоенный итератор, но в таком виде он всё же более универсальный и думаю раз он таким был изначально создан, то не просто же так =) в любом случае, полезно было поэкспериментировать. Отличный урок, идём дальше. |
|||
Итератор Итератор. Перебор простых чисел. | + 16 | ||
Вариантам функций итерататора с public и без найти время Так как мы проверяем, если primeMax < 0, а изначально при инициализации он равен -1, то нам не надо перед циклом foreach устанавливать заранее primes.SetMax(number), достаточно только в теле цикла while. Отличный урок, идём дальше. |
|||
Итератор Итератор. Перебор чисел в итераторе. | + 16 | ||
Реализации итератора с параметрами для foreach перебора найти время Отличный урок, очень полезная штука итератор, так как foreach очень нравится. Ничего сложного, идём дальше. |
|||
Итератор Итератор. Создание пустого итератора. | + 16 | ||
Созданию структуру будущего энумератора на C# найти время Очень похоже на шаблон проектирования итератор, который проходили недавно на Java. Уже вижу, что будем делать дальше, но не буду бежать впереди паровоза =) з.ы. И да, забыл сказать на прошлом уроке, что я избавился от статика. Хорошая привычка выработалась. |
|||
Итератор Итератор. Разложение числа на простые множители. | + 16 | ||
Повторил пройденное найти время Подобную задачу уже ранее решал, поэтому ничего сложного не было, урок отличный как всегда, идём дальше. |
|||
Компилятор Секреты Designer файла | + 16 | ||
Повторил пройденное найти время Ну вот и последний урок по данному мини-курсу. Наконец я его закончил, а то в прошлом году не было времени из-за других задач. Курс отличный, даёт полезные знания, которые помогают решить некоторые проблемы, так же сэкономить время в некоторых срочных ситуациях, а студии на ПК нет =) |
|||
Компилятор Откуда берутся окна | + 16 | ||
Повторил пройденное найти время Как я уже ранее писал, я был на вебинаре, когда записывались эти уроки, успел за Игромистром и по сути использовал наработки для формирования отчёта. Серия уроков отличная, полезная в определённый ситуации, когда 2015 студию некогда ждать сутки пока установится, а надо быстро скомпилировать готовые исходники =))))) |
|||
Компилятор Где живёт компилятор | + 16 | ||
Повторил пройденное найти время Так как присутствовал на вебинаре во время записи этого урока и успел реализовать всё за учителем, код остался, просто его использовал для формирования отчёта. Урок отличный, надо знать такие вещи. |
|||
Active Record Active Record - User - Update all | + 16 | ||
Повторил пройденное найти время Для каждого метода получения необходимой информации добавил вспомогательный метод отображения это самой информации в красивой таблице. Вместо возвращения самого молодого и т.д. пользователя использовал ArrayList() так как если по зарплате рандом не попал из-за малого количества сгенерированных пользователей, то по году рождения их было более 1, а выводить только одного не верное решение (см. скриншот). Предварительно удалили все записи и запустил все методы с нуля, и уместились на экране все фазы. Добавил отображение информации во время индексации и удаления пользователей для наглядности. Я думаю подобные методы обработки базы пользователей, можно спокойно перенести в класс User(), по аналогии с методом selectAll(). Мини курс по Активным записят отличный, но он аналогия того, что я реализовал сам и использую при реализации некоторых сайтов. Но при реализации данного метода на игровых серверах не хватает системы кэширования часто используемых пользователей, дабы уменьшить нагрузки на БД и увеличить скорость работы серверов в целом. з.ы. Хотел добавить систему кэширования, чтобы ускорить работы с файлами пользователей и обновлять их только в том случае, если они были изменены в кэше (ОЗУ), но так подумал, что это может быть реализовано как VIP урок или что-то типо, да и времени и так не мало потратил на этот урок, так как было сложно остановиться оптимизировать его и наводить марафет =) |
|||
Active Record Active Record - User - Select all | + 16 | ||
Повторил пройденное найти время Реализовал поиск самых богатых, самых молодых и самых богатых среди молодых. Реализовал вспомогательный метод, для корректного округления double значений, а то всё же проскакивали более двух знаков после запятой, что очень не красиво выглядело при формировании таблицы да и вообще, никто напильником не будет зарплату с одного цента спиливать =) Можно ещё оптимизировать, чтобы процесс работы с большим объёмом файлов был быстрее, но времени и так не мало потратил. Идём дальше. |
|||
Active Record Active Record - User - Randoms | + 16 | ||
Повторил пройденное найти время Модернизировал все методы в классе User() чтобы проверялся путь на корректность, наличие файла, чтобы случайно не перезаписать и т.д. Имена генерируются немного иначе, тем самым при генерации 1000 записей, попалось 5 дубликатов, о которых было написано в консоли и они небыли перезаписаны, потому-что были созданы в прошлых итерациях. |
|||
Active Record Active Record - User - Delete | + 16 | ||
Повторил пройденное найти время Да, я так подумал, лучше при апдейте не передавать параметры, так как это будет громоздко, особенно когда параметров будет дофига, поэтому убрал передачу параметров, которую реализовал в прошлом уроке и оставил только строчку create(); так как именно так и реализовал в прошлом уроке, это было очевидно =) В методе delete() добавил строчку file.delete() в условие if, так как этот метод возвращает булевое значение, удалось удалить или нет, тем самым реализовал сообщение в чате по этому поводу. (см. скриншот) По поводу супер-тестирования ничего особого в голову не приходит, так как не очень понял что именно подразумевается под этим словом: если нагрузку или скорость работы, то как было сказано на одном из прошлых уроков, можно создать цикл генерации кучи аккаунтов, создание, удаление, обновление и т.д. замерив время потраченное на это. Если что-то более глубокое, то это рассматривается далее по курсу Шаблонов, пока до этого дела не дошёл, поэтому пока данные виды теста не проводил ни разу, мне до сих пор хватало личных тестов в виде логов, чтобы отлавливать баги, если вдруг ПО странно себя ведёт. |
|||
Active Record Active Record - User - Select | + 16 | ||
Повторил пройденное найти время Реализовал метод update(), так же реализовал передачу логина в виде параметра в метод select(). Да, аналогичную систему я реализовал для работы с аккаунтами/профилями на некоторых сайтах. Очень удобно, когда нет надобности в большом количестве данных, для которых уже удобнее использовать БД. Но пока не то, что было реализовано для игровых серверов. Всё коротко и ясно, идём дальше, может ещё что-то интересное будет =) |
|||
Active Record Active Record - User - Create | + 16 | ||
Повторил пройденное найти время Вместо удвоенного обратного слэша можно использовать один слэш, он работает корректно как в винде так и в никс системах, тоже самое и в php. Всё коротко и ясно, идём дальше. |
|||
Active Record Active Record - User - Imitation | + 16 | ||
Ничему найти время Аналогичный вариант использую при разработке сайтов, если нет необходимость в использовании больших БД, отличный урок "Пользователя ПК" =) идём дальше. |
|||
Active Record Active Record - UML | + 16 | ||
Повторил пройденное найти время Разрабатывал аналогичную систему для оптимизации использования ресурсов серверной части одной из игр, чтобы в БД было меньше запросов, так же кэшировались недавние записи по этой же схеме. Так же использую аналогичную систему при разработке сайтов, которые не используют какие либо движки БД. Очень интересно посмотреть на реализацию данного шаблона проектирования, сильно ли он отличается от моей версии или нет. |
|||
Iterator Iterator - BlackJack - Play game | + 16 | ||
Созданию игры BlackJack найти время В процессе реализации алгоритма для игрока, который сам решает, брать ещё или хватит, сразу бросился в глаза тот факт, что карта, от которой отказывается игрок, уже взята из колоды и при использовании свитча, получается, что игрок отказался, карта то взята, но далее выходит из свитча и берёт новую карту, а эту куда? под стол? БАГ явно, поэтому стадию игры Дилера вынес ниже свитча, но перед проверкой победы. Теперь если игрок отказывается брать карту из колоды, эту карту берёт Дилер. Протестировал алгоритм, на скриншоте видно, сколько карт в колоде перед тем как кто-либо берёт карту или отказывается от этого действия. Отличный мини-курс, теперь я знаю как играть в BlackJack, ранее никогда не играл, как-то не было надобности и задачи в этом =) з.ы. Как видно из скриншота, отрефакторил код основательно. Всем спасибо за внимание. |
|||
Iterator Iterator - BlackJack - Stages | + 16 | ||
Созданию игры BlackJack в консоли на языке Java найти время Погуглил правила игра, но решил автоматизировать, чтобы было чем заняться на след. уроке =) Добавил стадию Ничьи, если Дилер и Игрок набрали по 21 очку. Добавил необходимые константы и глобальные переменные для реализации игры. Игрок стремиться набрать определённый минимум, после чего передаёт эстафету Дилеру. Если игрок перебрал, Дилер победил. Дилер в свою очередь пытается набрать не меньше Игрока. Если Дилер перебрал, победа игроку. Если Дилер набрал больше или равно очкам Игрока, победил Дилер. Отличный опыт, спасибо за реализацию этой игрушки. |
|||
Iterator Iterator - BlackJack - Random | + 16 | ||
Алгоритму выборку аля "Что? Где? Когда?" найти время Вынес константы в класс Program() и сделал их статичными Оптимизировал класс Cards(), теперь данные о размере колоды берутся на основе количества карт и мастей. Так же и при формировании колоды вместо числа использована константа. Названия карт и мастей теперь на русском языке =) з.ы. Можно было использовать список и выдёргивая оттуда рандомную карту в пределах размера текущего списка, после чего удалять выбранную карту и проверять, не равен ли список нулю, этот подход был бы более ООП =) Но вариант с массивом работает быстрее!!! |
|||
Iterator Iterator - BlackJack - Deck of Cards | + 16 | ||
Формированию колоды и её перебору при помощи Итератора. найти время Мне не понравилось, что колоду выводим задом наперёд и способ добавление карты в колоду тоже, поэтому реализовал это дело немного иначе, см. скриншот. Так же красиво отобразил массив карт, для корректного формирования таблицы пришлось добавить доп. метод getSuit() в классе Card() =) |
|||
Iterator Iterator - BlackJack - Card | + 16 | ||
this.ordinal() найти время this.ordinal() очень полезная штука, в C# достаточно первому значению добавить " = 0," и все последующие получат значение +1 от предыдущего. з.ы. Как обычно избавился от статика. Добавил свой класс ConsoleArt(). Сразу в глаза попался тот факт, что можно реализовать вложенные циклы по перебору всех вариантов карт, что я и реализовал, см. второй скриншот (надеюсь не поторопился с этим, так как было очевидное решение, как для наглядности, так и для теста и будет чем заняться на след. уроке). Так же ещё в самом начале заметил, что вместо девятки в перечислении добавили одиннадцать, я же сразу написал как надо и ждал конца урока, если бы не заметили ошибку, отписался бы по ней в комментарии =) |
|||
Iterator Iterator - BlackJack - Introduction | + 16 | ||
Пока ничему найти время В эту игру никогда ранее не играл, вообще с азартными играми работал, но как сисадмин игровых клубов и казино. Занимался настройкой, починкой и запуском игровых автоматом, аппаратов и т.д. желания играть самому никогда не возникало, но в карточные игры в детстве играли вечерами, было дело. Может с тех пор я и наигрался =) |
|||
Iterator Iterator - Digits | + 16 | ||
Повторил пройденное найти время Отличный пример использования итератора. Как обычно добавил класс ConsoleArt() для генерации красивой таблицы в консоли. Избавился от статика. В таблице отображено три варианта обработки цифр числа: 1 - перебор цифр, 2 - сумма цифр, 3 - произведение цифр. |
|||
Iterator Iterator - Random | + 16 | ||
Повторил пройденное найти время Отличный пример использования итератора для получения рандомных значений. Добавил счётчик, чтобы выводилось нужное количество и останавливалось. Так же перенёс свой класс ConsoleArt(), чтобы красиво выводить на экран консоли. Избавился от статика (привычка уже преобладает). Всё просто и понятно, идём дальше. |
|||
Iterator Iterator - Numbers - System | + 16 | ||
java.util.Iterator найти время Отличная реализация на базе java.util.Iterator, компактненько и красивенько =) Можно перебирать что угодно, от чисел до нужных объектов. з.ы. Добавил вывод двух видов циклов, так же оптимизировал использование массива, дабы значение выводилось при наличии значений, тем самым теперь не нужно плодить лишний строки кода для обнуления. |
|||
Iterator Iterator - Numbers - Inner class | + 16 | ||
Повторил пройденное найти время Полезный рефакторинг, идём дальше. |
|||
Iterator Iterator - Numbers - Running | + 16 | ||
Использованию итератора через интерфейс итерабл найти время Я так понял, смысл этого деяния в том, чтобы какой либо класс мог иметь возможности производить какие либо действия со своими собственными данными. Что-то похожее уже делали, когда передавали в класс два числа и вызывали нужные математические действия над ними (сложить, разделить, перемножить и вычесть). Пока такие мысли приходят в голову, по поводу того, что было сделано относительного того, что и так работало по методу прошлого урока. з.ы. типо, пока сделали перебор обычный, с 1 до 5, а можно будет типо добавить переборы в обратном порядке, рандомном и т.д. =) |
|||
Iterator Iterator - Numbers - Iterable | + 16 | ||
Повторил пройденное найти время Очень интригующий урок, не стал специально гуглить, лучше в след. уроке узнаю, зачем же нам нужен интерфейс Iterable =) з.ы. Создал синглтон ConsoleArt() куда перенёс свои наработки в плане формирования рамок для более красивого отображения информации =) Так же оптимизировал метод формирования шапки рамки. |
|||
Iterator Iterator - Numbers - 12345 | + 16 | ||
Повторил пройденное найти время Вынес статичные константы мин и макс значений итератора в класс Program(), для удобства настройки, если что. Реализовал перебор значений итератора от мин до макс. Так же решил использовать свой стиль консольных отчётов для наглядности. Сгенерировал jar файл и запустил его из консоли для лучшей наглядности. з.ы. Так же избавился от статика (надо вырабатывать привычку). |
|||
Iterator Iterator - Numbers - Introduction | + 17 | ||
Общему интерфейсу итератора в Java найти время Начало интересное, идём дальше. з.ы. hasNext() и next() использовалось в Scanner =) |
|||
Facade Facade - Motivator - Text Center | + 17 | ||
Повторил пройденное найти время Добавил создание мотиватора/демотиватора c выбором текста сверху или снизу. Вообще вариантов море, добавить поддержку командной строчки, добавить поддержку команды /help для описания синтаксиса использования программы =) з.ы. Центровку по вертикали использовал туже, что и в курсе "Слова в Сетке (Балда)", так как этот способ более корректный. Так же, как видно из скриншота номер 2, я реализовал перегрузку методов с использованием параметров по-умолчанию (в одном случае передаются параметры, во втором нет), чтобы не создавать дубликаты. |
|||
Facade Facade - Motivator - Picture Border | + 17 | ||
Повторил пройденное найти время Добавил сглаживание для рамки, так же упростил строчку настройки толщины линии. |
|||
Facade Facade - Motivator - Back Paint | + 17 | ||
Повторил пройденное найти время Ещё со времён MS-DOS использовал запуск приложений по их имени без расширения, так как: 1 - вначале файл ищется в текущей папке, из которой был произведён запуск (когда нет расширения, подставляются последовательно три расширения: bat, exe, сom) 2 - если не найдено, то для поиска используются пути указанные через точку с запятой в переменной: PATH, которая используется и по сей день в линейке Windows =) з.ы. Поэтому нет смысла использовать полный путь до файла графического редакторе, достаточно указать его имя без расширения. |
|||
Facade Facade - Motivator - Image | + 16 | ||
Повторил пройденное найти время Отличный урок, всё коротко и по делу =) |
|||
Микроигры Игра 15 - Кнопки | + 16 | ||
Повторил пройденное найти время 1 - Создал иконку в фотошопе. 2 - Числа в двоичной системе. 3 - подготовил графику для финальной версии =) пока не афиширую. |
|||
Facade Facade - Motivator - Methods | + 17 | ||
Повторил прйденное найти время Аналогичное уже реализовывали, но займусь реализацией функций со след. урока. |
|||
Facade Facade - Motivator - Plan | + 17 | ||
Повторил пройденное найти время В основном пользуюсь фотошопом, но для этого урока решил использовать пейнт, как ностальгию =) |
|||
Facade Facade - Motivator - Program | + 17 | ||
Повторил пройденное найти время Хорошее начало отличной серии уроков по работе с графикой. |
|||
Facade Facade - Computer - Power | + 16 | ||
Повторил пройденное найти время Добавил доп. методы для некоторых компонентов ПК, для реализации завершения работы. Шаблон напоминает сразу несколько других шаблонов. Чем-то "Стратегию", а чем-то "Шаблонный метод". Использовать можно много где. Можно даже добавить проверку, запустился ли предыдущий компонент, если нет, то завершить выполнение последовательности с ошибкой =) |
|||
Facade Facade - Computer - Devices | + 16 | ||
Повторил пройденное найти время Сформировал последовательность запуска железа более подробно =) |
|||
Facade Facade - Computer - Program | + 17 | ||
Повторил пройденное найти время Полезный шаблон, начало положено =) |
|||
Strategy VIP - Strategy - Person - Enum | + 16 | ||
Повторил пройденное найти время По поводу использования свитч, реализовал ещё на прошлых уроках, а вот по поводу enum да, повеселее явно =) з.ы. как обычно убрал лишнюю проверку формата TXT, так как он всё равно у нас идёт по-умолчанию. |
|||
Strategy VIP - Strategy - Person - UML | + 16 | ||
Повторил пройденное найти время Вкратце, софтинка очень уж слабенькая, может быть я ошибаюсь и мало её юзал, но просто до неё я уже нашёл пару интересных вариантов, а именно: в курсе Java Book уже демонстрировал их. Но решил на основе пройденной программы ещё раз их использовать, см. скриншоты. з.ы. Code 2 UML (та что светлая) пришлось вручную расставлять блоки, стрелочки автоматом она провела, простенький вид, но приятнее и ближе к классическому UML, та что потемнее, это плагин для IntelliJ IDEA, под названием: "simpleUML", более подробнее всё показывает, но тоже надо лишнее не включать, чтобы построение диаграммы было более менее красиво, а не комок аля "Перекати-поле" =) |
|||
Strategy Strategy - Person - Save - Strategy | + 16 | ||
Повторил пройденное найти время Ваш вариант по аналогии с using в C# я вначале сам использовал, потом уже видео снял с паузы и понял, что сделал так же. Но, потом я реализовал вариант Java 1.7+ более компактный и уже не требующий закрывания файла, так как метод сам об этом заботится, плюс удобно выбирать кодировки для файла. Отличный урок как всегда. з.ы. Евгений Витольдович, как вам 14 строчка на скриншоте? это я сам придумал, что-то мысль закралась, а может написать присвоение по аналогии: "a = b = 3" и java не ругнулась, в итоге работает как предполагалось, молодцы разрабы языка!!! |
|||
Strategy Strategy - Person - Save - Context | + 16 | ||
Повторил пройденное найти время Проверку на пустоту всегда делаю по своему либимому методу, вначале тримлю строчку, малоли, какой там лишний мусор может попасться, а после этого есть замечательная проверка на пустоту в строке =) см. скриншот. |
|||
Strategy Strategy - Person - Format - Strategy | + 16 | ||
Повторил пройденное найти время Оптимизировал свитчи, убрав лишнюю проверку "txt", раз уж у нас этот формат берётся по-умолчанию, то лишние строки кода нам ник чему. Отличный урок. Подобное уже реализовывали в курсе ООФрукты. |
|||
Strategy Strategy - Person - Format - Context | + 16 | ||
Повторил пройденное найти время Реализовал через свитч, как то веселее выглядит. |
|||
Новые технологии Мотиватор | + 16 | ||
Повторил пройденное найти время Разбил задачу на три этапа, создав для этого отдельные кнопки. Отличный урок, всё просто до безумия. з.ы. 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()); |
|||
Strategy Strategy - Person - Program | + 16 | ||
Повторил пройденное найти время Начало кода положено, идём дальше. з.ы. главное не бежать впереди паровоза. =) |
|||
Strategy Strategy - Person - Schema | + 16 | ||
Повторил пройденное найти время Похожий шаблон уже применяли в прошлых курсах по Java. Реализовал UML схему, думаю в будущем она будет дополняться. |
|||
Strategy Strategy - Join - Log/Timer | + 16 | ||
Повторил пройденное найти время Файлы из проекта по синглтону просто перенёс в папку с исходниками данного проекта, они автоматически отобразились в списке, поэтому ничего копипастить не пришлось. Это один из положительных моментов при реализации каких либо методов отдельными классами/файлами, чтобы легко можно было переносить между проектами. |
|||
Strategy Strategy - Join - String/Buffer | + 16 | ||
Повторил пройденное найти время И без таймера знаю, что конкатенация строк перед добавлением в StringBuilder/Buffer() не отнимает время, поэтому каждую строчку нужно .append() отдельно друг от друга, это будет быстрее. |
|||
Strategy Strategy - Join - Context | + 16 | ||
Повторил пройденное найти время Реализовал обе стратегии, но как обычно вместо буфера использовал билдер по понятным причинам =) |
|||
MVC шаблон MVC - Суть шаблона | + 16 | ||
Повторил пройденное найти время MVC - это конструкционный шаблон, который описывает способ построения структуры нашего приложения, сферы ответственности и взаимодействие каждой из частей в данной структуре. Впервые она была описана в 1979 году. з.ы. На скриншоте демонстрация работы MVC Java Swing. |
|||
Strategy Strategy - Join - ArrayList | + 16 | ||
Повторил пройденное найти время Реализовал класс Context() который просто склеивает слова и возвращает результат. Отличная практика, идём дальше. |
|||
Strategy Strategy - Operation - Program | + 16 | ||
Повторил пройденное найти время Решил добавить операцию деления, а то как то не полноценная программа получается =) Так же всё же решил добавить доп. метод для вывода символа операции, чтобы код основной программы выглядел более красиво и можно было полноценно использовать перебор массива стратегий =) |
|||
Strategy Strategy - Operation - Context | + 16 | ||
Повторил пройденное найти время Тоже использовали аналогичный метод ранее в программах, при выборе в каком формате сохранять/выводить данные (json/xml/raw). Но исходя из того, какие операции использовали в уроке, то можно предположить использование в программе "калькулятор" =) |
|||
MVC шаблон MVC - PhoneBook - Вступление | + 16 | ||
Узнал о сайте app.moqups.com найти время Ещё один сайт для разработки визуального представления, в копилку с draw.io =) |
|||
Strategy Strategy - Intro | + 16 | ||
Повторил пройденное найти время Данный шаблон использовался интуитивно =) |
|||
Template method Template Method - Web Parser - Currency | + 18 | ||
Повторил пройденное найти время Наверное самый классический шаблон, до которого доходишь сам в процессе изучения любого языка. Отличный урок как всегда. з.ы. Реализовал определение погоды, см. скриншоты, так же код модифицировал по своему, добавив переменные для быстрой настройки шаблонов. |
|||
Template method Template Method - Web Parser - Loader | + 16 | ||
Повторил пройденное найти время Как обычно использовал StringBuilder() так как он в нашем случае работает быстрее. Урок отличный, коротко и ясно =) |
|||
Template method Template Method - Web Parser - Time | + 16 | ||
Повторил пройденное найти время Отличный урок, код немного реализовал по своему, так как на основе результата можно вывести либо время, либо ошибку, см. скриншот. |
|||
Template method Template Method - Web Parser - Abstract | + 16 | ||
Повторил пройденное найти время Пока ещё расплывчато всё, но думаю дальше уже всё будет более определённо. |
|||
API Telegram Здесь Ботов раздают? | + 16 | ||
Созданию бота в Телеграмм найти время Прикольно придумали в Телеграмм, уже встроенный API для ботов. Близзарды сейчас тоже это API внедрили, чтобы боты могли играть в StarCraft 2 =) |
|||
Template method Template Method - Web Parser | + 16 | ||
Повторил пройденное найти время Очень полезный урок, велосипеды наше всё =) |
|||
Template method Template Method - Girl - Program | + 16 | ||
Повторил пройденное найти время Реализовал оба метода, как Терминатора, так и Кайла Риза. Помимо телефона решил добавить в шаблон количество попыток до финальной стадии, что видно в логах консоли, кто сколько попыток сделал, чтобы добраться до цели. Отличный Шаблонный метод, очень часто используется, даже системные аналоги для решения различных задач. Естественно он будет использоваться и дальше. Спасибо. |
|||
Template method Template Method - Girl - Macho Boy | + 16 | ||
Повторил пройденное найти время Что-то вдруг решил реализовать по аналогии с фильмом Терминатор =)))))))) |
|||
Template method Template Method - Girl - Abstract | + 16 | ||
Повторил пройденное найти время 1 - раз я парень и реализую алгоритм поиска девушки, то использовал "мужской" цикл =) 2 - все методы и класс называются по-русски, поэтому телефон тоже написал на этом языке. 3 - в видео забыли добавить абстрактный метод "встретиться". з.ы. девушке "женский" цикл как раз подходит лучше, который был реализован в видео, но так же они могли заменить везде слово "Девушка" на "Парень" делов то. А то в отчётах часто видео данное недоумение =) |
|||
State State - Вступление | + 16 | ||
Повторил пройденное найти время На самом деле очень много картинок нашёл, для примера использования данного шаблона, прикрепил пару изображений, где показано использование при обращении к данным по HTTP протоколу, так же добавлена картинка где данный шаблон используется в игрушке, см. скриншоты. з.ы. шаблон стратегия отличается от шаблона состояние как минимум тем, что при выборе стратегии для решения определённой задачи, она ниизменна до конца выполнения, а в случае с шаблоном "Состояние" в процессе выполнения задачи выбранная статегия может меняться необходимое количество раз. з.з.ы. для примера статегии выбран вариант добираться из пункта А в пункт Б, выбрали к примеру на автомобиле и всё, едем себе и ждём когда приедем, в случае же с шаблоном состояние, выбираем всё тот же автомобиль, едем и уже не радуемся, а надеемся, что доберёмся в срок или вообще доберёмся, так как при этом шаблон в процессе нашей поздки может изменяться состояние автомобиля, водителя, пассажира(ов). 1 - водитель купил с собой выпить, когда вы сели, его состояние было трезвое, далее в пути вы уснули. а он выпил бутылочку и состояние его изменилось, есть шанс остановки и проверки на алкоголь, так же шанс вылететь на встречку, слететь в пропасть. в зависимости от текущего участка дороги и окружающей ситуации и т.д. можно долго рассуждать. 2 - состояние пассажира, может он перекусил недавно, может его укачать и нужно будет остановиться, а может быть вырвало в салоне, водителю может не понравится и он оставит его на дороге, может оказаться, что забыл кошелёк и т.д. тоже вариантов много. 3 - сам автомобиль, может не хватить топлива и когда оно закончится нужно будет либо толкать либо иди пешком, если идти пешком, то либо ловить попутку либо идти до ближайшей остановки. Опять же зависит от окружающей ситуации. 4 - часть пути проехать на авто, потом пересесть на корабль, после чего опять на авто, а можно вместо корабля использовать самолётик местного лётчика, который показывает соседние острова туристам и он знает все места... Опять же всё будет зависеть от состояния окружающих объектов. |
|||
Template method Template Method - Introduction | + 16 | ||
Узнал о шаблонном методе найти время Интересный шаблон, думаю пригодится не мало где, я обычно подобное реализую во время рефакторинга кода, для оптимизации. Как говорится, очередной шаблон, который использовался но не знал, что у него есть имя =) |
|||
Factory Factory - Storage - Фабричные цеха | + 1 | ||
Повторил пройденное найти время Отличный курс по фабрике, как говорится: "вкусновато, но маловато" правда данный шаблон уже затрагивали в других курсах по Java, так что доп. практика отличная. Немного порефакторил код. Реализован ReaderRandom, в котором априори метод инициализации не нужен. |
|||
Observer Observer - Теория | + 16 | ||
Повторил пройденное найти время Наблюдатель следит за состоянием каких либо объектов и как только состояние изменилось, оповещает всех, кто находится в списке оповещения именно по этому объекту. т.е. в нашем случае, если ты находишься в пределах слышимости звонка, то ты будешь добавлен в список и оповещён о звонке, но если ты ушёл за пределы слышимости звонка, то автоматом удаляешься из списка оповещения и не услышишь звонок, который прозвенит. Естественно, удаление, добавления в список это уже доп. функционал, который анализирует дальность до объекта того, кого можно оповестить, чтобы данная система работала как нужно =) |
|||
Factory Factory - Storage - Фабрика | + 16 | ||
Повторил пройденное найти время Всё же использовал switch, так же реализовал оба читателя, как скриншоте видно работу factory при создании читателя из файла. Отличный урок как всегда, идём дальше. |
|||
Factory Factory - Storage - Запуск | + 16 | ||
Ничему найти время Так как на прошлом уроке уже показал реализацию ReaderScanner, то на этом уроке скрин только с реализацией ReaderFile. |
|||
Factory Factory - Storage - Файл и Сканер | + 16 | ||
Повторил пройденное найти время Ну примерно так и представлял себе реализацию, использовал в основном классе main только ReaderScanner, чтобы было чем заняться в след. уроке =) |
|||
Singleton VIP - Singleton - Timer - Enum | + 16 | ||
Enum синглтону найти время Отличный урок, замечательная альтернатива реализации синглтона, по тестам enum быстрее варианта с классом где-то на 30-35% в нашем случае идеально подходит, думаю логично использовать этот вариант пока не упрёшься в ограничения enum, тогда уже можно и на основе класса. |
|||
Factory Factory - Storage - Читатель | + 16 | ||
Ничему новому найти время Далее реализуем наследники от Reader() каждый из которых реализует свои методы чтения. |
|||
Singleton Singleton - Timer - Log class | + 16 | ||
Повторил пройденное найти время Данный метод использовать можно, но только там, где есть реальная необходимость в этом, если в случае с Timer() это ещё как то выглядит красиво, то в случае с Log() смысла нет изза того, что всего лишь один метод остаётся в классе после данных изменений. Дублирующий код "синглтон" тоже напрашивается на спаривание =) |
|||
Singleton Singleton - Timer - Experiment | + 10 | ||
Повторил пройденное найти время Отличный урок, можно добавить так же синглтоны для вывода текста в файл, передача по сети, отправка на мыло, так же по формату, в котором будет выводиться информация (json, xml, plain, html...) |
|||
Singleton Singleton - Timer - String vs Buffer Speed | + 10 | ||
Повторил пройденное найти время Я не мог не добавить для тестирования ещё и StringBuilder, так как знаю, что он быстрее StringBuffer, что явно видно на скриншоте, так как он лучше подходит для однопоточных программ. Как я и говорил на прошлом уроке, отлично подходит для тестироваться отдельных участков кода, если это игрушка, то можно выводить дебаг информацию по скорость работы к примеру: отрисовки кадра, отрисовки теней, наложение эффектов, отрисовке частиц и т.д. В целом результату сравнения не удивлён, знал что именно так и будет изначально, так как ранее это всё было уже протестировано =) |
|||
Singleton Singleton - Timer - Program | + 10 | ||
Повторил пройденное найти время Как видно из скриншотов, при выводе текста в консоль тратится доп. время. Сам же метод Math.cbrt() намного быстрее работает. Данный синглтон можно использовать для дэбага работы отдельных участков кода программы, дабы изучив статистику понимать, где требуется оптимизация в первую очередь =) |
|||
Singleton Singleton - Timer - Start / Click | + 10 | ||
Ничему найти время Я думаю не стоит делать рестарт в методе, который предназначен для отображения пройденного времени, ведь для этого есть метод старт, он уже фиксирует текущее время и при повторном вызове будет обновлять его тем самым делая аналогию рестарта, поэтому я сделал по своему эти два метода, не смог реализовать так же как и в видео по идейным соображениям. Но урок всё равно отличный, спасибо, идём дальше. |
|||
Singleton Singleton - Timer - Pattern Design | + 10 | ||
Повторил пройденное найти время После инициализации репозитория git, не мог не добавить несколько начальных коммитов, где добавил базовые файлы, которые как мантра должны быть в репозитории, единственное только README.md не добавил, но это уже мелочи =) Отличный урок как в прочем и всегда, спасибо Игромистру. |
|||
Singleton Singleton - Config - Super child | + 10 | ||
Использованию Синглтон шаблона для уникальности экземпляра класса. найти время Очень интересный мини курс получился, отличный вариант реализации в данном уроке, получилась эдакая алтернатива для вызова класса Config() через Синглтон, тем самым уверенно зная, что данный класс будет задействован всего 1 раз и больше экземпляров создано не будет. Естественно никто не мешает использовать и на прямую без Синглтона, но это скорее особенность данной реализации =) которую зная, можно не использовать вовсе. |
|||
Singleton Singleton - Config - Cant extend | + 10 | ||
Ничему новому найти время Перепробовал кучу вариантов возможности данного этюда, но суть в том, что даже если ухитриться и реализовать в итоге, то ломается сама суть синглтона, а не получается унаследовать, потому что конструктор приватный. |
|||
Singleton Singleton - Config - Using pattern | + 11 | ||
Шаблону Синглтон найти время Очень часто подобные вещи делал в коде программ/игр, чтобы выделялась память именно тогда, когда это нужно, оказалось, что есть идеальный шаблон для этого, спасибо за уроки, высший пилотаж! |
|||
Singleton Singleton - Config - Static class | + 11 | ||
Ничему новому найти время Вот вот уже красивее класс конфига выглядит, статичненько и практичненько, по поводу наследования класса конфига, не могу представить кто его может унаследовать и зачем. Но идём дальше, делаем из статики - синглтонику =) |
|||
Singleton Singleton - Config - Static field | + 10 | ||
Ничему новому найти время Отличный урок! Реализация намного лучше, чем в прошлом уроке. Руки чесались так же сделать, но решил не бежать впереди паровоза, выполняя пошагово каждый урок, внося незначительные изменения если очень надо =) |
|||
Singleton Singleton - Config - Git default | + 10 | ||
Ничему новому найти время Получилось аж 3 коммита отдельных: 1 - добавил конфиг в гитигнор. 2 - добавил конфиг по умолчанию. 3 - добавил поддержку загрузки настроек из конфига. см. скриншоты. |
|||
Singleton Singleton - Config - FileReader | + 11 | ||
Ничему новому найти время Реaлизoвaл ceкцию finally{} в методe load() класcа Config(). Отличный урок, уже лучше, но ещё не идеально, идём дальше. |
|||
Singleton Singleton - Config - Git commit | + 10 | ||
Ничему найти время Так как коммит, который надо откатить последний по счёту, то для отказа хорошо подходит команда git reset. Если в процессе разработки оказалось так, что несколько коммитов назад добавили не совсем полезный коммит, то откат делать надо при помощи команды git revert, но это уже другая история со своими камушками =) |
|||
Singleton Singleton - Config - Class | + 10 | ||
Ничему найти время Вот, уже ближе к теме, мне тоже такой вариант больше нравится, идём дальше. |
|||
Singleton Singleton - Config - Git add | + 10 | ||
Ничему найти время Всё ок, идём дальше. |
|||
Singleton Singleton - Config - Static | + 10 | ||
Повторил пройденное найти время Я ещё вначале урока сделал имена заглавными, а потом позже и на видео решили это сделать =) намного веселее прошлого варианта, так как доступ к настройкам из любой части кода программы, но идём дальше, изучаем варианты и выбираем лучшее. |
|||
Singleton Singleton - Config - Git init | + 11 | ||
Ничему найти время Полезное действие, в будущем очень интересно пройтись по истории изменений кода, бывает что замечаешь то, на что ранее не обратил внимание и приходят новые идеи, так же git помогает не делать банальных ошибок в коде, от чего код становится чище. |
|||
Singleton Singleton - Config - Final | + 11 | ||
Повторил пройденное найти время Данный способ хорошо подходит для хранения каких-то важных, внутренних настроек ПО, которые не хотелось бы, чтобы кто-либо менял, в нашем случае параметр даты рождения не изменен, имя и фамилия по сути разрешено менять, отчасти верный метод, а вот вес меняется периодически и данный способ не подходит, лучше вынести его в конфиг или сделать не final, чтобы можно было поменять в процессе работы приложения или запросить это значение при запуске. |
|||
Factory Factory - Shapes - Interfactory | + 1 | ||
Повторил пройденное найти время В данном случае интерфейс выглядит веселее, чем абстрактный класс, но в процессе доработки ещё не раз можно менять логику. з.ы. Добавить строку с описанием вариантов возможный фигур при вводе с консоли. |
|||
Singleton Singleton - Intro | + 10 | ||
Структуре синглтона найти время Похожее использовал не раз, но именно в таком ракурсе, интересно посмотреть это в работе. |
|||
Factory Factory - Shapes - Список | + 10 | ||
Повторил пройденное найти время Отличный урок, рандом всегда полезная штука была для тестирования и наполнения демо-контентом =) |
|||
Factory Factory - Shapes - Созидатель | + 10 | ||
Повторил пройденное найти время Отличный урок реализации фабрики. По поводу того, что нельзя использовать свитч для сравнения строк, странно, но как то проблем с этим не возникало никогда. На скриншоте показана реализация сравнения через свитч, работает быстрее чем вариант с ифами. |
|||
Factory Factory - Shapes - Абстракция | + 10 | ||
Ничему новому найти время Создал список и нарисовал каждый элемент через цикл. |
|||
Factory Factory - Shapes - Три фигуры | + 10 | ||
Узнал о базовых шаблонах, которые ранее использовал, но не знал что это шаблоны. найти время Изучил ссылки, прочитал статью на хабре, очень интересный курс предвижу =) |
|||
Хранитель экрана Движение шарика | + 10 | ||
Повторил пройденное найти время Подобное реализовывалось при прохождении других курсов, поэтому сложным не было, практика лишней не бывает =) |
|||
C# Четыре в ряд - Соревнование Оценка позиции | + 11 | ||
Играть в большие крестики нолики =) найти время Отличная идея, осталось добавить реплики и получится бот-комментатор =) з.ы. долго думал как же ухитриться и кое что предусматривал чтобы бот, но в итоге понял, что надо было в матрице пометку делать отличным от 0, 1 и 2 числом, куда предполагается ход, для его независимой оценки, ну раз такое ограничение у всех, то посмотрим, как будут себя вести другие боты. ВСЕМ УДАЧИ, надеюсь участников будет не меньше, чем в прошлый раз. з.з.ы. Orange, что-то не участвует, странно. |
|||
МикроШахматы VIP урок - Бестолковый интеллект | + 11 | ||
Рандом ИИ для Шахмат =) найти время Не стал реализовывать все доп. задания из-за отсутствия времени, оно уходит на решение внешних задач, рандомайзера удалось победить быстро, он с первого шага открыл короля, пришлось убрать пару пешек и поставить мат королевой. |
|||
МикроШахматы VIP урок - Минное поле | + 11 | ||
Повторил пройденное найти время Прикольная идея, сразу видно, куда лучше не соваться =) |
|||
МикроШахматы ФИНАЛЬНЫЙ УРОК | + 1 | ||
Повторил пройденное найти время Замечательный курс, превзошёл все вместе взятые курсы по шахматам на js. Спасибо огромное Евгению "Игромистру" Витольдовичу за это незабываемое приключение. Добавил свои наработки по превращению пешки в фигуры рангом выше. Приятного просмотра. |
|||
МикроШахматы Ладейный паркур | + 10 | ||
Повторил пройденное найти время Ура, вот и реализовали все правила игры в классические шахматы, осталось за малым =) пройти VIP уроки и добавить своих фишек =) |
|||
МикроШахматы Рокировка на все времена | + 10 | ||
Повторил пройденное найти время Отличный урок, показано как использовать ранее подготовленный функционал для реализации коротких проверок. |
|||
МикроШахматы Белолевая рокировка | + 11 | ||
Повторил пройденное найти время Отличный рефакторинг, но нет предела совершенству =) |
|||
МикроШахматы Рокировка под шахом | + 11 | ||
Повторил пройденное найти время Отлично, если король под шахом, рокировка запрещена! |
|||
МикроШахматы Король всемогущий | + 11 | ||
Повторил пройденное найти время Ну вот король уже может ходить в сторону ладьи, осталось ладью научить реагировать на это =) |
|||
МикроШахматы Флаг над замком | + 12 | ||
Повторил пройденное найти время Отличный урок, маркеры отображают возможности, но не текущую возможность =) |
|||
МикроШахматы Правила рокировки | + 12 | ||
Повторил пройденное найти время Комбинирование программирования с рисованием схем очень полезная штука =) |
|||
МикроШахматы ФИНИШНАЯ ПРЯМАЯ | + 13 | ||
Повторил пройденное найти время Правила на картинке, финиш не за горами. |
|||
МикроШахматы Подвиг безымянной пешки | + 13 | ||
Повторил пройденное найти время Прикольный мультфильм, отличный урок, идём дальше. |
|||
МикроШахматы Информационная панель | + 13 | ||
Повторил пройденное найти время Отличный урок, информация о ситуации на поле всегда полезна. |
|||
МикроШахматы Шах вперёд - шаг назад | + 13 | ||
Повторил пройденное найти время Отличный рефакторинг, идём дальше. |
|||
МикроШахматы Служба безопасности короля | + 13 | ||
Повторил пройденное найти время Отличный урок, сложность короля как раз на 5 из 6, так как 6 у пешки =) |
|||
МикроШахматы Король в розыске | + 13 | ||
Повторил пройденное найти время К нестандартным ситуация отношусь нормально, они отлично закаливают. |
|||
МикроШахматы Возврат хода | + 12 | ||
Повторил пройденное найти время Отличный урок и идея. |
|||
МикроШахматы Случайный шах | + 18 | ||
Повторил пройденное найти время Не все ходы доступны, потому что функция is_check() возвращает ШАХ в 20% случаях для каждой клетки по которой может ходить выбранная фигура =) |
|||
МикроШахматы ТРЕТИЙ ЧЕТВЕРТЬФИНАЛЬНЫЙ УРОК | + 19 | ||
Повторил пройденное найти время Добавил немного объёмности выбираемым фигурам, в которую можно превратить пешку на финише =) думаю так красивее. |
|||
МикроШахматы Волшебное превращение пешки | + 20 | ||
Повторил пройденное найти время Отличный урок, но я реализовал всё же свою версию выбора фигуры, когда пешка дошла до финиша =) з.ы. по центру экрана появляется список фигур, доступных для выбора, в кого превратить пешку, при этом это не мешает переключаться между закладками =) и выглядит приятнее. Во время выбора фигуры, ни один игрок не может ходить своими фигурами. После выбора пешка меняется на выбранную фигуру и ход передаётся противнику. |
|||
МикроШахматы Пешкина мечта | + 20 | ||
Повторил пройденное найти время Отличное завершение эпопеи пешек-спецназа =) з.ы. по поводу мультфильма, жизненный. |
|||
МикроШахматы Афроамериканская пешка | + 20 | ||
Повторил пройденное найти время Урок как всегда на высоте, данный способ объединения похожих функций в одну оправдан тем, что в нашем случае, различаются они незначительно, поэтому проще передать параметр направления в общую функцию. |
|||
МикроШахматы Радар для быстрых пешек | + 20 | ||
Повторил пройденное найти время Ну вот, теперь все пешки изучили секреты перехвата со смещением =) |
|||
МикроШахматы Взятие на проходе шустрых пешек | + 20 | ||
Повторил пройденное найти время Пока тест, далее заменим константы на автоматическое определение координат перехвата. |
|||
МикроШахматы Пешка в сапогах | + 20 | ||
Повторил пройденное найти время Отличный урок, начинаем приручать пешки =) |
|||
МикроШахматы Пешка на охоте | + 20 | ||
Повторил пройденное найти время Отличный начало серии уроков для реализации самой сложной фигуры: ПЕШКА =) |
|||
МикроШахматы Судьба пешки | + 20 | ||
Повторил пройденное найти время Отличный урок, доп. практика рисования схем. |
|||
C# Четыре в ряд - Соревнование Пять в Ряд - Соревнование | + 20 | ||
Повторил пройденное найти время Реализовать бота через создания класса в папке Bots, дать ему имя, чтобы он отличался от других и проверить его работу, сразившись с ним в игре. |
|||
МикроШахматы Пешкины законы | + 20 | ||
Повторил пройденное найти время - Никогда не сдавайтесь, ведь любая пешка может дойти до конца доски и стать королевой. - Или лошадью - все от макияжа зависит. |
|||
МикроШахматы ПОЛУФИНАЛЬНЫЙ УРОК | + 20 | ||
Закрепил js найти время За вторую часть курса реализовали правила движения почти всех фигур, теперь игра стала более играбельна, осталось добавить логику самой сложной фигуры: пешки, так же надо будет доработать короля, чтобы он мог делать рокировку как минимум и его не могли слопать, была счётчик ходов, выбор фигуры, когда пешка дошла до конца доски и т.д., в общем есть ещё чем заняться =) |
|||
МикроШахматы Мелочь пузатая | + 20 | ||
Повторил пройденное найти время Замечательная оптимизация кода не менее замечательной второй части курса. |
|||
МикроШахматы Дорогу Королеве! | + 21 | ||
Повторил пройденное найти время Гори-гори моя звезда =) |
|||
МикроШахматы Слоновья тропа | + 20 | ||
Повторил пройденное найти время "Слоновий" поход =) |
|||
МикроШахматы Не стой на пути! | + 20 | ||
Повторил пройденное найти время Отличный урок, как всегда, вернули ладью на землю обетованную, чтобы следовала она великим заветам =) |
|||
МикроШахматы Горизонтальная вертикаль | + 20 | ||
Повторил пройденное найти время Ладья на воздушной подушке =) |
|||
МикроШахматы Королевские шаги | + 20 | ||
Повторил пройденное найти время Объяснили королю, кто он есть на самом деле =) |
|||
МикроШахматы Лошадью ходи! | + 20 | ||
Повторил пройденное найти время Я бы упростил алгоритмы, но это мы сделаем в будущем =) |
|||
МикроШахматы Кто есть кто? | + 20 | ||
Повторил пройденное найти время Отличный урок, можно было бы использовать switch, но в данном случае, определения типа фигуры будет использовать не только тут, поэтому такой вариант лучше. По поводу сложности фигур: 1 - конь 2 - король 3 - ферзь 4,5 - ладья и слон =) 6 - пешка |
|||
Простой WPF WPF. Аудиотреннинг | + 20 | ||
Созданию приложения на WPF найти время Запустил CoolEdit, записал первое предложение, сохранил в формате mp3, всё супер. |
|||
МикроШахматы Шахматная бюрократия | + 21 | ||
Повторил пройденное найти время Отличный урок, но я упростил последнюю проверку в функции can_move() см. скриншот. |
|||
МикроШахматы ЧЕТВЕРТЬФИНАЛЬНЫЙ УРОК | + 20 | ||
Закрепил пройденное и научился обновлению ситуации на поле найти время Отличный курс, вобрал в себя полезные знания по использованию js для динамического обновления ситуации на страничке в браузере. |
|||
МикроШахматы Завершение хода | + 20 | ||
Закрепил пройденное найти время Отличный урок, замечательное завершение четвертьфинала. Уже можно играть вдвоём на одном ПК по аналогии игры на обычной доске =) |
|||
МикроШахматы Шахматные выборы | + 21 | ||
Подсветке клеток куда можно пойти найти время Отличный урок, JavaScript оживляет =) |
|||
МикроШахматы Фигурная перекличка | + 20 | ||
Перебору поля для определения, какими фигурами можно ходить найти время Отличный урок, коротко и ясно, ничего лишнего. |
|||
МикроШахматы Светофор для фигур | + 1 | ||
Повторил пройденное найти время Красота, видеть куда можно пойти очень экономит время при игре =) |
|||
МикроШахматы Фигуры на доске | + 20 | ||
Повторил пройденное найти время Да, визуальное отображение фигур намного приятнее глазу, чем буковки, конечному пользователю явно этот вариант представления информации больше понравится =) |
|||
МикроШахматы Шахматные буквы | + 20 | ||
Повторил пройденное найти время Отличный урок, использование стилей всегда благоприятно сказывается на внешнем виде =) |
|||
МикроШахматы Координатное поле | + 21 | ||
Повторил пройденное найти время Отличный урок, идём дальше |
|||
МикроШахматы В начале было поле | + 20 | ||
Повторил пройденное найти время Предвкушаю отличный результат в конце курса =) |
|||
Хранитель экрана Создаём графику | + 20 | ||
Повторил пройденное найти время Так как эллипс размером 16, то сделал смещение в половину (8), чтобы круг рисовался вокруг кончика курсора. |
|||
Java Book ФИНАЛЬНЫЙ УРОК | |||
Повторил пройденное найти время Отличный курс от начала и до конца задействованы все необходимые инструменты и технологии для реализации консольных баз данных по любому направлению, подобное ПО в супермаркетах вижу часто на мониторах кассовых аппаратов. Использование сериализации/десериализации показывает яркий пример самого простого способа хранения ранее введённой информации без использования сторонних библиотек или технологий, по сути портативная программа получается, можно её вместе с файлом базы переносить куда угодно и она будет открываться и работать как надо. Спасибо Евгению Игромистру Витольдовичку за этот замечательный курс!!! з.ы. Когда проходил курс и формировал описание, у финального описание было и я его просто недоглядел, тем самым не сделав сразу, но проверяя отчёты удивился, увидев отчёт по курсу, который я думал уже прошёл на 100% =) |
|||
Игры со Спрайтами Домино. Правила игры | + 20 | ||
Повторил пройденное найти время Интригующее начало, дойдут руки - займусь этим курсом. |
|||
Игры со Спрайтами Аполлон. Плавное прилунение | + 21 | ||
Повторил пройденное Остановиться дорабатывать Надо было просто повторить за учителем, а я как всегда красоту навожу, основное время на фотошоп и ушло =) |
|||
Игры со Спрайтами Аполлон. Законы физики | + 20 | ||
Повторил пройденное найти время Основное время ушло на создание текстур в стиле спектрума =) Отличный урок, идём дальше. |
|||
Игры со Спрайтами Аполлон. Главные герои | + 20 | ||
Ничему найти время Дочка изъявила желание нарисовать это дело, приложил скан её набросков за пару минут. |
|||
Игры со Спрайтами Спрайт. Класс для графики | + 20 | ||
Созданию своего класса отрисовки графики найти время Отличный урок, очень полезно создание своих классов для тех или иных задач. |
|||
Игры со Спрайтами Спрайт. Структура для линии | + 20 | ||
Повторил пройденное найти время Отличный урок, явно намного удобное представление объектов и последующей их отрисовки на экране. |
|||
Игры со Спрайтами Спрайт. Первая форма | + 20 | ||
Повторил пройденное найти время Отличное начало, идём дальше. Дольше иконку фотошопил =) |
|||
Java Book Сериализация - Восстановление базы | + 20 | ||
Десериализации файла найти время Реализовал метод doShowPoints() в классе Menu. Модернизировал метод showInfo() класса Stedent для более информативного вывода карточки студента. Так же при попытке записи студента на несуществующую лекцию выводятся соответствующие сообщения. |
|||
Java Book Сериализация - Сохранение базы | + 20 | ||
Сериализации объектов найти время Так же добавил возможность вводить имя файла базы данных как аргумент для приложения, чтобы можно было манипулировать разными базами данных =) Отличный урок, очень полезный метод хранения данных, пока база не будет весить гигабайты =) |
|||
Java Book Сериализация - Статическое напряжение | + 20 | ||
Убирать у класса static найти время Сериализация это процесс перевода какого-либо объекта в последовательность бит. Десериализация это процесс восстановления объекта из последовательность бит. |
|||
Java Book Меню - Работа с оценками | + 20 | ||
Повторил пройденное найти время Реализовал все пункты и даже больше, см. скриншот консоли. Так же добавил скриншот UML схемы, так как очень многое там пришлось подправить и добавить, например: в классе Book мы избавились уже давно от Конструктора, создав вместо него метод clear(), но так до сих пор это не отразили на схеме. Так же на схему добавил свои доп. методы, которые реализовал для решения доп. задач (удаление студента/лекции и т.д.) |
|||
Java Book Меню - Запись студента на курс | + 20 | ||
Повторил пройденное найти время Переделал отображение карточки студента, чтобы отображалось в рамке. Добавил возможность удаления студента/лекции. |
|||
Java Book Меню - Работа с лекциями | + 20 | ||
Повторил пройденное найти время Ещё с прошлых уроков реализовывал логи выполнения тех или иных методов с использованием имён студентов, названий лекций и т.д. чтобы было более информативно. Так же модернизировал методы добавления записей, чтобы сообщать и при ошибке добавления. |
|||
Java Book Меню - Работа со студентами | + 20 | ||
Повторил пройденное найти время Поставил на паузу видео и сразу реализовал список студентов с их айди в БД, так как этот айди потом можно будет использовать для работы с конкретным студентом (запись на лекции и выставление оценок). |
|||
Java Book Меню - Интерактив | + 20 | ||
Закрепил работу с UML, повторил пройденное найти время Добавил наработки по генерации рамки для отображения меню. |
|||
Java Book Меню - Планирование | + 20 | ||
Закрепил проектирование при помощи UML найти время Забыли добавить тип Scanner для приватной переменной scanner =) в остальном увидим при реализации. Так же отсортировал методы по типу. Плюс отрефакторил всю схему для компактности. |
|||
Игры на JavaScript Сколько мне дней | + 20 | ||
Повторил пройденное найти время Отлисчный урок по js. |
|||
Сокобан Сокобан - Завершение | + 20 | ||
Ничему найти время Файлы уровней в ресурсы не добавлял, так как в пункте меню присутствует редактор карт. Позже планирую переписать систему хранения уровней, после чего можно будет реализовать передачу уровней от сервера к клиенту, чтобы можно было играть в уникальные карты и пополнять свой набор карт играя по сети с другими. Режим одиночной игры и не убирал, с каждым уроком только добавлял новые режимы, чтобы работали предыдущие. Поиск маршрута так же работает как в одиночке, так и по сети, всё это реализовал на прошлых уроках. Играть вдвоём на одном ПК тоже на прошлых уроках как добавил, так и не убирал, так же в нём работает поиск пути для обоих игроков, реализовал возможность управления мышью любого из них. Курс, где создаём своё портфолио ещё не проходил, поэтому данный пункт сделать не могу, но обязательно выполню, когда пройду данный курс и у меня будет своё портфолио =) Значительно улучшил сетевой режим, так же добавил возможность переподлючения при потери связи, теперь клиент получает текущий уровень на сервере после того как подключился. Добавил индикатор ходов, если игра на двоих, то он суммирует ходы обоих, чтобы было видно, сколько же ходов сделали, чтобы пройти уровень. |
|||
Java Book ПОЛУФИНАЛЬНЫЙ УРОК | + 20 | ||
Проектированию при помощи UML. найти время В первой части курса научился проектированию создаваемого ПО при помощи универсального языка UML. Так же закрепил ООП в связке с языком Java. Огромное спасибо Евгению Витольдовичу ака "Игромистр" за интересные идеи для новых курсов по изучению тех или иных технологий разработки конечных продуктов. |
|||
Java Book База - Список оценок | + 20 | ||
Повторил пройденное найти время Да, ООП иногда не оптимальные решения предлагает, но на то это и ООП! Весь этом и заключается весь цимус!!! |
|||
Java Book База - Список лекций | + 20 | ||
Повторил пройденное найти время Суть 4 вопроса ясна, даже при том, что перепутали что где используется, в Book использовали ArrayList, потому что изучение одной и той же лекции может быть не несколько параллельно или последовательно не важно. а вот для Студента храним уникальные Лекции, чтобы не ошибиться в том, за какую именно лекцию он получил оценки, так как если он запишется повторно на лекцию по тому же предмету, то и оценки будут уже за новую лекцию, чтобы не перепутать (это если добавить в лекциям дату, например, чтобы они отличались уникальностью, но были одинаковые по названию). |
|||
Сокобан Сокобан - Игра - На двоих по сети | + 20 | ||
Обмену пакетами по сети (Сервер-Клиент) найти время В класс Phone добавил метод Stop() для завершения сетевой активности и разрыва связи, если выйти в игровое меню для выбора повторной сессии или поиграть одному/вдвоём на одном ПК. В меню настроек добавил чекбоксы для настройки режима игры (радиобаттон не использовал, так как хватило 3 чекбоксов и 2 окна для ввода порта и адреса сервера). В тайтле информация о том, в каком режиме запущенна игра: Одиночный, На двоих, По сети (Сервер), По сети (Клиент). Модернизировал отрисовку игрового поля, чтобы оно рисовалось быстрее и по центру формы. Так же добавил отступы со всех сторон игрового поля, эдакий бордюр аля ZX-Spectrum (идею по его использованию отложил для финального видео-отчёта). При смене уровня, ресайзе формы и т.д. динамический изменяется и само игровое поле не нарушая пропорции и центровку. Запуск режимов игры реализовал по своей, логическое продолжение наработок с прошлых уроков (не создавал доп. конструкторы). При передаче пакетов о смене уровня, сервер ожидает ответа от клиента о успешном завершении данного деяния, чтобы отправить пакет о сбросе уровня, малоли, вдруг клиент успел уже побегать, чтобы устранить рассинхрон. В связи со своими наработками так же и управление по сети реализовано по своему, дабы минимизировать изменение кода для поддержки всех игровых режимов. Добавлена проверка при отправку/получение на предмет ПРАВ: менять уровни и делать сброс может только сервер. Незначительно изменив код, активировал поддержку управления персонажами при помощи мыши с возможностью автоходов по сети (каждый игрок автоматически управлять только своим персонажем при помощи мыши). Для получения/обработки пакетов особой сложности (типо смена уровня и т.д.) реализовал с использованием буфера из которого полученные пакеты достаются в порядке добавления. |
|||
Java Book База - Статический класс | + 20 | ||
Закрепил проектирование UML схем найти время Отличное продолжение курса. С каждым уроком привыкаешь к UML, как будто всю жизнь им пользовался и без него уже никуда, очень удобно для создания набросков на основе конкретных задач. Причём стиль написания методов может быть любым, в основном используется синтаксис языка, на котором будет реализовано то, что проектируется в формате UML. |
|||
Java Book База - Список студентов | + 20 | ||
Закрепил пройденное найти время Так как использовали ArrayList, то метод getStudent(int index) реализовал по другому, без try/catch |
|||
Java Book Вступление - Примеры UML схем | + 20 | ||
Созданию и генерации UML схем. найти время По поводу программ для генерации UML из кода Java, есть куча плагинов для различных IDE. Жаль тут нет добавления картинок, я бы добавил пару версий. з.ы. На первом скриншоте пример генерации из исходников ООФрукты в схему UML при помощи плагина: simpleUML для IntelliJ IDEA. На втором скриншоте пример генерации из исходников ООФрукты в схему UML при помощи приложения с исходным кодом: Code 2 UML. |
|||
JD. Коллекции LIST - Одинаковые кошки | + 20 | ||
Настройке своих правил уникальности добавляемых объектов в HashSet найти время Отличный урок, очень полезное знание для тюнинга HashSet множеств на базе кастомных объектов. |
|||
Сокобан Сокобан - Телефон - TCP/IP протокол | + 20 | ||
Созданию Client-Server приложения найти время Запустил сервер и клиент на разных ПК (см. скриншот). Как видно из скриншота, добавил установку адрес/порта для настройки подключения. |
|||
Java Book Отладка - Пошаговый проход | + 20 | ||
Повторил пройденное найти время И без дебага понял как это работает, на прошлом уроке сразу понял, что у вас ни одной оценки не добавилось, потому что не записали студентов на лекции. Фильтрацию оценок по предметам тоже реализовал сам, потом на видео отпустил паузу =) з.ы. на втором скрине провёл исследование по поводу конкатенации строк при .append(), это ещё мелкие значения склеивались, но уже разница 1,5 раза, серьёзная. |
|||
Java Book Создание - Класс Point | + 20 | ||
Повторил пройденное найти время Отличный урок, но по поводу конкатенации строк внутри аппенда стрингбилдера это не есть гуд, лучше разделять каждый кусок на отдельный аппенды, см. скриншот. |
|||
Java Book Создание - Класс Student | + 20 | ||
Повторение пройденного найти время Записал студента на лекцию и вывел на какие лекции студент записан. |
|||
Java Book Создание - Класс Lesson | + 20 | ||
Повторил пройденное найти время На скриншоте видно, что у меня два монитора, на одном кодю, на другом схему видно. Поэтому распечатывать не обязательно =) |
|||
Java Book Проектирование - Выяснение отношений | + 20 | ||
Работе со стрелочками и именованию их. найти время Отличный урок, идём дальше. з.ы. Распечатал, конечно не А3, а А4, но всё же =) |
|||
Java Book Проектирование - Классные диаграмы | + 20 | ||
Стилю формирования структуры классов. найти время Отличный урок, но некоторые вещи всё же были не в едином стиле, подправил у себя, в любом случае, в этом стиле не хватает подсветки синтаксиса =) |
|||
Java Book Проектирование - Три класса | + 20 | ||
Рисованию UML при помощи ресурса draw.io найти время Тоже никогда ранее не приходилось проектировать ПО при помощи UML схем. |
|||
JD. Коллекции LIST - Множество | + 21 | ||
Повторил пройденное найти время Отличный урок, HashSet ещё в C# во время прохождения курса "Сапёр на С#" понравился, очень удобный и быстрый для своих задач. Особенно если нужно, чтобы были уникальный объекты, то не нужно тратить время на проверку, есть ли уже этот объект перед добавлением. |
|||
JD. Коллекции LIST - ArrayList против LinkedList | + 20 | ||
Что бывают разные списки, каждый для своих задач удобнее. найти время Отличный урок, очень полезные практические знания, всегда полезно знать, что лучше в тех или иных задачах. |
|||
JD. Коллекции LIST - Типа коллекция | + 20 | ||
Повторил пройденное найти время Отличный урок, показывающий практическое применение списков. Пока добавление, надеюсь удаление и т.д. будет затронуто, ведь это целая тема получается. |
|||
JD. Коллекции LIST - Просто коллекция | + 20 | ||
Повторил пройденное найти время Отличный урок, динамические массивы очень хорошая штука для оптимизации использования памяти. |
|||
JC. Явные графоциклы FOR2D - Тройной цикл | + 20 | ||
Повторил пройденное найти время Свето-дискотека продолжается =) |
|||
JC. Явные графоциклы FOR2D - Квадратная радуга | + 20 | ||
Повторил пройденное найти время Интересное цветовое шоу =) |
|||
Java Book Вступление - Язык UML | + 20 | ||
UML - это стандартный язык для разработки "чертежей" программного обеспечения. |
|||
Сокобан Сокобан - Игра - На двоих | + 20 | ||
Повторил пройденное найти время Игра запускается в режиме на двоих (в будущем в меню появится пункт выбора режима игры). В зависимости от того, в каком режиме игра запустилась, тот файл с уровнями она и подгружает. Управление реализовано как на клавиатуре, так и при помощи мыши (вначале выбираю кем ходить, потом говорю что ему делать как и ранее, двойной по ящику или обычный куда идти). Второй игрок так же поворачивается в сторону движения. Как видно на скриншоте, реализован реально два слоя объектов (человечек ходит поверх травки и ящики тоже могут на травке лежать). |
|||
Сокобан Сокобан - Редактор - На двоих | + 20 | ||
Повторил пройденное найти время Самостоятельно добавил второго игрока. Внёс необходимые изменения везде где упоминается работа с первым игроком. Добавил иконку второго игрока рядом с первым. Добавил счётчик/выбор количества игроков роликом мыши или вручную введя число (огрничил лимитами от 1 до 2). При смене количества игроков, автоматически подгружается нужный файл уровней (не поднялась рука удалить уровни для одиночной игры). При сохранении уровня проверяется в каком режиме редактор (на двоих или нет) и на основе этого делаются проверки на второго игрока или нет. Так же уровни для одного и для двоих теперь хранятся в отдельных файлах (загрузка/сохранение происходит относительно того, в каком режиме редактор). |
|||
Сокобан Сокобан - Игра - Автоходы | + 20 | ||
Автоматизации ходов найти время Отличный урок, реализовал недокументированные изменения в данном уроке, так же внёс свои оптимизации в движение носильщика на базе массива. Так же помимо исследования направления движения с ящиком, убрал проверку стоящего носильщика на пути, такое может быть если хотим передвинуть ящик куда-то, а на пути в данный момент стоит наш персонаж, но в момент движения его ведь там не будет. Сетка теперь только в редакторе, в самой игре убрана, чтобы было посложнее и красивее =) Поменял цвет точки куда надо ставить ящики, чтобы она просвечивалась сквозь щели ящика, а не сливалась из-за одинакового цвета с ящиком, который стоит на ней. |
|||
JC. Явные графоциклы FOR2D - Вложенный цикл | + 20 | ||
Повторил пройденное найти время Благодаря пройденному ранее курсу "Слова в Сетке" проблем не вызвало выполнение данного задания. |
|||
JC. Явные графоциклы FOR2D - Тройные фары | + 20 | ||
Повторил пройденное найти время Каждый квадрат слева и справа имеет отступы. Круги не наезжают на грани квадрата. Квадраты рисуются чёрным, круги фиолетовым, чтобы можно было отличить их друг от друга. Отличный урок, идём дальше. |
|||
JC. Явные графоциклы FOR2D - Синусоида | + 20 | ||
Рисовать графики функций найти время Получился небольшой объём =) |
|||
JC. Явные графоциклы FOR2D - Разноцветные лучи | + 20 | ||
Повторил пройденное найти время Отличный урок, ранее уже подобное рисовали в квадратике по координатам, теперь с применением циклов =) |
|||
JC. Явные графоциклы FOR2D - Вертикали и Горизонтали | + 20 | ||
Повторил пройденное найти время Отличный урок рефакторинга. Отрисовка по диагонали двумя циклами, первый рисует пока не упрётся по высоте, второй отрисовывает оставшийся угол. |
|||
Сокобан Сокобан - Решалка - Оптимизация | + 20 | ||
Повторил пройденное найти время Изначально я переписал уровень 32х32 с видео, повторил его символ в символ, чтобы проверить скорость на нём, но это было так долго, что я просто не дождался и взял один из своих уровней, модифицировал его и оставил только 1 ящик и 1 место куда его поставить надо, результаты на скриншоте и они внушительны (4 метода, Dictionary по скорости почти как HashSet). |
|||
Сокобан Сокобан - Решалка - Яблоко | + 20 | ||
Поиску пути для мышки с яблоком до норки. найти время На скриншоте видно, что яблок 5, мышка 1, найден путь для ближайшего ящика |
|||
Сокобан Сокобан - Решалка - Мышка | + 20 | ||
Повторил пройденное найти время Уже делали такое в курсе "Комбинаторика" на этом проекте, на уроке "Динамика. Выход из Лабиринта" |
|||
JC. Явные графоциклы FOR2D - Цикловата | + 20 | ||
Повторил пройденное найти время Да, циклы для этого и придуманы, чтобы экономить не только место, но и время =) |
|||
JC. Явные графоциклы FOR2D - Рисование по координатам | + 20 | ||
Повторил пройденное найти время Было и такое дело, рисовали в тетрадях в клетку, записывая координаты, после чего рисовали так же в бейсике. |
|||
JC. Явные графоциклы FOR2D - Солнечный круг | + 20 | ||
Закрепил drawOval() найти время Последний раз так активно рисовал линиями и кружками на БК-0010 и ZX-Spectrum =) |
|||
JC. Явные графоциклы FOR2D - Линия и Круг | + 1 | ||
Рисовать различные линии/кривые в java найти время Прикрепил два скриншота, то, что надо было и с использованием доп. 5 фигур =) |
|||
JA. Классные пакеты CLASS - VIP - Крутятся пластинки | + 20 | ||
Повторил пройденное Не делать полноценный консольный проигрыватель =) Реализована загрузка мелодий по введённому имени файла (см. видео). Файлы ищет в папке sound. Если файл был найден, сообщает при успешной загрузке в консоль. Добавлены команды play/stop для базового управления плеером. При вводе команды play, если мелодия не играет, она запускается. При вводе команды stop аналогичная ситуация, но наоборот, если мелодия играет, то она останавливается. Если ввели имя файла и играла мелодия, она вначале останавливается, потом загружается новая мелодия. з.ы. ещё мелкие нюансы, о которых забыл написать, приятного просмотра =) |
|||
J9. Массивы ARRAY - Макси в Мини | + 20 | ||
Повторил пройденное найти время Наконец дождался, когда урок стал доступным =) |
|||
JA. Классные пакеты CLASS2 - Песец Членистоногий | + 20 | ||
Повторил пройденное остановиться добавлять новые ветви. Начал с простейших, поэтому их добавил не мало, разделил уровни групп отступами. Надо будет найти время и составить весь список от и до, так как там есть переплетения, когда я наткнулся на тот факт, что некоторые простейшие в итоге выходят на моллюски и т.д. понял, что эта тема многограннее чем кажется =) |
|||
JA. Классные пакеты CLASS2 - Европейская Прибалтика | + 20 | ||
Закрепил переплетения абстрактных наследований найти время "Балтийский Гамбит" =) |
|||
JA. Классные пакеты CLASS2 - Напиток Наследника | + 1 | ||
Закрепил наследование и овверайда toString() найти время Отличный урок, хорошая аналогия для наследований и понятия абстракций. |
|||
JA. Классные пакеты CLASS2 - Человекостудент | |||
Повторил пройденное найти время На первом выполнено основное задание - убрать лишнее наследование. На втором скрине реализовал работу классов внутри класса Program, убрав статик =) |
|||
JA. Классные пакеты CLASS - Зачётная задача № 2 | + 20 | ||
Закрепил пройденное найти время Не стал реализовывать загрузку и выгрузку в файл, стараюсь быстрее делать уроки и так я тут марафет навёл (номинатор и доминатор центрируются по правому краю друг друга) Отличные задания, но видео на самом деле не полное, больше вопросов было, чем ответов, сложно не уйти в сторону процедурного программирования, обычно так делают, когда не понимают куда ООПить. |
|||
JA. Классные пакеты CLASS - Зачётная задача № 1 | + 20 | ||
Решению дробей через ООП. найти время Решил упрощение реализовать как отдельный вызов, т.е. при вычислении выводится обычная дробь, а чтобы упростить её, запрашиваем соответствующий метод, если дробь можно упростить, он выводит ответ, если нельзя, ничего не выводит, чтобы не дублировать ранее выданный ответ. Можно было объединить это всё, чтобы выдавало сразу упрощённый вариант, если это возможно иначе обычный, но для наглядности решил оставить так. |
|||
JA. Классные пакеты CLASS - Подготовка к зачёту - Вспомним дроби | + 20 | ||
Вспомнил дроби найти время Хороший мозговой штурм, если учесть, что последний раз подобные примеры решал в школе много лет назад. Нам понадобятся как минимум методы для работы с дробями: сложить, вычесть, перемножить или поделить. Так же нам понадобятся переменные для хранения начальных данных (числитель, знаменатель и целое, если оно дано). |
|||
JA. Классные пакеты CLASS - Модификаторы доступа | + 20 | ||
Повторил пройденное найти время Отличный урок, коротко и ясно, на скриншоте исчерпывающая информация по поводу модификаторов и их доступности. |
|||
JA. Классные пакеты CLASS - Общий голос | + 20 | ||
Ничему ничего Голос ещё на прошлом уроке добавил, вроде как в видео об этом говорилось, а на этом уроке уже голос без имени, не стал ничего удалять, просто повторю скриншот из прошлого урока. |
|||
JA. Классные пакеты CLASS - Три заветных слова | + 20 | ||
Повторил пройденное найти время Наследование (extends) это создание класса на основе другого с добавлением своих особенностей, на пример: кошки тоже бывают разные, чёрные или белые, поэтому сам класс кошки можно тоже унаследовать при описании классов каждого из разновидностей кошек (сиамские, персидские, русская голубая...), но у каждой из них есть общее, 4 лапы, 2 уха и т.д. |
|||
JA. Классные пакеты CLASS - Звериное наследство | + 20 | ||
Повторил пройденное найти время Вначале думал, будем продолжать прошлые уроки, но вижу, начали с нуля по другому. Поглядим, что из этого выйдет =) |
|||
JA. Классные пакеты CLASS - Зоопарк | + 20 | ||
Закрепил создание/использование пакетов найти время Отличный урок, хорошо демонстрирует особенности использования пакетов на разном уровне доступности от основного. |
|||
JA. Классные пакеты CLASS - Красная книга | + 20 | ||
Повторил пройденное найти время Создал батники для создания jar файла и его запуска (см. скриншот). Отличный урок, идём дальше. |
|||
JA. Классные пакеты CLASS - Пакеты для зверей | + 20 | ||
Создавать и использовать пакеты найти время Отличный урок, очень удобная штука для сортировки файлов. |
|||
JA. Классные пакеты CLASS - Кошкин дом | + 20 | ||
Повторил пройденное найти время Всё ок, идём дальше. |
|||
JA. Классные пакеты CLASS - Каждой тваре по файлу | + 20 | ||
Повторил пройденное найти время Сделал это на прошлом уроке, а потом понял, что поторопился и вернул всё в один файл, на это разделили по файлам =) |
|||
JA. Классные пакеты CLASS - Кошка и Собака | + 20 | ||
Повторил пройденное найти время Отличный урок, идём дальше. |
|||
J9. Массивы ARRAY - Максима Массива | + 20 | ||
Повторил пройденное найти время Хорошая штука, массивы, многие задачи быстрее всего решать используя именно их =) |
|||
J9. Массивы ARRAY - Целый массив | + 20 | ||
Повторил пройденное найти время Я думаю эту серию уроков (с 50 по 52) можно смело обозвать ARRAY, чтобы было во общем стиле, а то у всех есть приставки, а эти два прям беспризорники =) |
|||
J8. Циклопы LOOP - Счастливые билеты | + 20 | ||
Повторил пройденное найти время Так как уже давно прошёл курс по C# "Комбинаторика" на этом проекте, то проблем с этим заданием не возникло, всего лишь портировал наработки с C#, немного адаптировав код. Так же 3 на 3 слишком быстро, поэтому решил сравнивать 5 на 5, чтобы было подольше и хорошо видна разница в скорости методов =) |
|||
J8. Циклопы LOOP - Сумма и Произведение | + 20 | ||
Повторил пройденное найти время Отличный урок, полезные знания. Оформил отчёт как обычно. |
|||
J8. Циклопы LOOP - Блок-схема цикла FOR | + 20 | ||
Повторил пройденное найти время Отличный урок, всё ясно и понятно, идём дальше. |
|||
J8. Циклопы LOOP - Пока четыре цикла | + 20 | ||
Повторил пройденное найти время Как обычно оформил в табличке. Добавил ещё вариант решения задачи с увеличением значения прямо в условии цикла. з.ы. У вас в Loop2 на картинке ошибка: number = 0, а надо 1, а то он отображает от 0 до 9. |
|||
J8. Циклопы LOOP - Мужской / женский цикл | + 20 | ||
Повторил пройденное найти время Решил продолжать красоту наводить и модернизировать свой генератор таблички (добавил пару новых перегрузок для использования значений по умолчанию и тем самым упрощению записи) =) |
|||
J7. Экзамен EGZ - Зачётная задача - Треугольник | + 20 | ||
Рисовать треугольники на JPanel имея только длины сторон, вызывая из консольного приложения JFrame, передавая туда нужные параметры. найти время и выполнить задание с тремя звёздочками. Ну Евгений Витольдович, ну Игромистр с большой буквы =) знает, что я не пройду мимо трёх звёздочек, да даже одной и даже если не знаю сразу как, найду и выполню задание. Пока искал лучший метод решения доп. задания с тремя звёздочками, нашёл неимоверное множество вариантов рисования линий, но всё же остановится именно на построении треугольника из линий (аналогично рисовал буквы в php) самым сложным было составить этапы, так же пришлось вспоминать школьную программу по вычислению углов между сторонами, зная их длину. Гениальный урок и гениален он именно заданием с тремя звёздочками. з.ы. как видно на скриншоте, я опять создал файл с данными и мусор приложение игнорирует, в консоли выводит только информацию по корректным данным, формирует список правильных треугольников и передаёт этот список для на форму для рисования =) Использовал перебор цветов для очередного треугольника из списка. Ну кнопочку ещё добавил, для того, чтобы можно было нарисовать треугольники по её нажатию =) это так, для проверки, ошибка до рисования или во время =) Все нюансы учёл, все проверки сделал, во время тестирования ошибки не выявлены. |
|||
J7. Экзамен EGZ - Зачётная задача - Максима | + 21 | ||
Повторил пройденное Прекратить наводить марафет. Реализовал вводи данных через параметры командной строки и по вручную (см. скриншот). |
|||
J7. Экзамен EGZ - Шаблон решения | + 20 | ||
Я написал более гибкое решение, так сказать учёл нюансы, которые тут приводят к эксепшену. |
|||
J7. Экзамен EGZ - Подготовка к зачёту | + 20 | ||
Повторил пройденное найти время Решил реализовать проверку каждого введённого значение отдельно и дать второй шанс ввести недостающее значение (первое, второе или оба) и только потом, выводить предупреждение или вычислять, если всё же получены нужные данные. |
|||
Сокобан Сокобан - Решалка - Тестер | + 20 | ||
Движению объекта по заданному пути, влияя на движимые объекты. найти время Отличный урок, но это видимо только обкатка работа на основе заранее известного маршрута, далее будем писать алгоритм поиска всех возможных маршрутов для решения задачи. |
|||
ООФрукты Подготовка - База фруктов | + 20 | ||
фишкам в enum найти время Реализовал на основе дней недели (решил модернизировать прошлый урок на основе фишек этого и добавил свои). Добавил поддержку ввода дней недели в любом регистре как на английском, так и на русском языке. Добавил метод спряжений написания слов (а то глаза режет). Добавлена поддержка если введённый день недели не является таковым. Добавил подробную статистику: 1 - сколько прошло дней после последнего введённого дня недели до текущего введённого. 2 - сколько всего прошло дней, по окончании ввода дней недели. 3 - сколько уникальных дней недели было использовано при вводе. 4 - сколько раз один и тот же день недели использовался при вводе. Создал батники для генерации и запуска jar файла. Создал текстовый файл с днями недели, чтобы не вводить постоянно в консоли =) з.ы. Отличнейший урок, очень полезные знания по поводу enum в java, ОГРОМНОЕ спасибо за наводку =) |
|||
Слова в Сетке VIP Implementation | + 20 | ||
Повторил пройденное найти время Отличный урок, добавил отрисовку слова другим цветом, подправил тень. Спасибо за урок, алгоритм так и представлял. |
|||
ООФрукты Подготовка - Фрукты по списку | + 21 | ||
Повторил пройденное найти время Заметил, что появились ещё пару уроков в этом курсе, поэтому решил выполнить, так как они в самом начале, а значит должны быть простенькие. Добавил день недели UNKNOWN, для значения по умолчанию, если вдруг будет введено слово не относящееся к дню недели и переменной не будет присвоено новое значение. Удобнее. Выполнил доп. задание со звёздочкой, как видно на скриншотах. |
|||
J6. Условия IF - Времена года | + 20 | ||
Ничему ничего Я был немного ошарашен, когда увидел задание, всё что нужно сделать, уже было сделано на прошлом уроке и времена года сделал на прошлом, как дополнение, а теперь на этом нечего делать, кроме как продублировать скриншоты с прошлого урока. Не надо было на прошлом уроке в конце видео говорить о временах года и днях недели. Конфуз получился =) |
|||
J6. Условия IF - Оператор выбора | + 20 | ||
Повторил пройденное найти время Отличный урок, сделал поддержку определения дня недели через много дней, так же определения времени года спустя много месяцев. (см. скриншоты) |
|||
Слова в Сетке ФИНАЛЬНЫЙ УРОК | + 20 | ||
Курс очень понравился, интересная матрёшка получилась, чем то даже рекурсивный метод напоминает с лимитом погружения. А если ещё ответвления сделать, то уже целая грибница получится. Работа со шрифтами, сохранением итогового файла, случайная генерация объектов, осталось добавить событие клика мышки, подгрузить текстовый файл со словами и можно играть в филворд =) Ещё раз огромное спасибо за эти уроки, они показывают возможности и варианты направления движения в изучении языков. |
|||
Слова в Сетке Сохранение картинки | + 20 | ||
Сохранению картинки в файл. найти время Вынес размеры клеток и поля за пределы панели, теперь они передаются в панель при создании её экземпляра. Уроки отличные, пригодятся. Вначале закончу начатые курсы. |
|||
Слова в Сетке Матрица Боксиков | + 20 | ||
Повторение пройденного найти время Смещение клеток сделал по своему, вроде красиво выглядит =) |
|||
Слова в Сетке Центр Бокса | + 20 | ||
Центровке шрифта относительно его ТТХ =) найти время Нарисовал буковки с тенью =) Нашёл в сети такую схему (см. скриншот) где показано как называются линии вертикалей буков по стандарту, если шрифт не придерживается этих правил, то эти данные бесполезны. Нашёл одноимённые названия, а именно нужен .getFontMetrics().getAscent() |
|||
Слова в Сетке Своя Картинка | + 20 | ||
Созданию кастомного класса картинки и дальнейшей работе с ним. найти время По поводу того, что Frame не обрамил Panel и справа/снизу виднелся белый фон Frame, это потому что pack() не туда засунули, я об этом говорил на прошлом уроке, в этом уточнить хочу, потому же так вышло, потом что pack() должен быть ДО метода: setLocationRelativeTo() - чтобы окно Frame центрировалось корректно. ПОСЛЕ метода: setResizable(false) - чтобы как раз ровно упаковывало объекты на поле Frame. з.ы. На скриншоте показал где должен находиться метод pack(). |
|||
Слова в Сетке Буква на Панели | + 20 | ||
Рисованию текста на панели не стандартным шрифтом и цветом с авто-смещением по центру формы. найти время Метод pack() относится к классу Frame, а не Panel, я бы посоветовал его добавить именно туда, куда надо (см. скриншот). з.ы. Чтобы было понятно, что он делает, приведу аналогию с бильярдными шарами, их в начале игры собирают вместе в виде треугольника (классический) и чтобы они стояли ровненько, используют треугольник, так вот этот треугольник и есть pack(), который использовали 1 раз в конце, когда разместили рядом все шары. Не надо треугольников ровнять каждый добавленный шар =) |
|||
Слова в Сетке Кот Фрейма | + 20 | ||
Повторил пройденное найти время Добавил класс Panel. Разместил экземпляр класса Panel на поле Frame. Перенёс определение размера 600х400 в класс Panel. Добавил Panel во Frame. Подогнал размер Frame под размеры Panel. |
|||
Слова в Сетке Объектная Матрёшка | + 20 | ||
Повторил пройденное найти время Сразу же увидел слово UFO (у левого края, чуть выше центра) и больше ничего искать не стал, очень много ностальгии связано с этим слово. |
|||
ООФрукты Создатель | + 20 | ||
Повторил пройденное найти время Раз добавили видео после того как я прошёл курс, решил в этом видео сравнить вариант предложенный в видео и вариант которые использовал сам (см. скриншот). Как видим из скриншота, вариант из видео медленнее примерно на 10% и чтобы он корректно работал, необходимо добавить перегрузку в класс обработки данных переданных через командную строчку. Мой же вариант никаких дополнительных изменений в коде не требует. з.ы. Как видим из скриншота, я использовал максимально возможно длинную строчку командной строки (8кб) этого было мало для теста, поэтому решил ещё каждый из вариантов запустить по 10000 раз итого: 10000 * 1113 (подарков как видно из скриншота) = 11 миллионов 130 тысяч подарков. |
|||
Сокобан Сокобан - Игра - Управление | + 20 | ||
Логике сдвигания объектов персонажем найти время Старался делать вначале сам, потом снимал видео с паузы, по поводу того, как советовал Orange увеличивать доступный для прохождения уровень, я так же сделал, потом смотрел видео. Добавил вначале поворот человечка в направлении движения, для того, чтобы он как будто бы пытался толкать то, что не может, стены или ещё что. Добавил отображение сообщения с поздравлениями о всех пройденных уровнях. Отображение объектов на игровом поле реализовал по своему, как и ранее в других играх, при этом объекты из матрицы top реально находятся поверх объектов из матрицы map, так под ногами человечка видно то, по чему он ходит =) |
|||
ООФрукты Комплименты Деду Морозу | + 21 | ||
Созданию полезного консольного кросс-платформенного ПО найти время Отличнейший курс, то, что было создано на этом курсе, это просто неописуемо словами, теперь можно реализовать великое множество аналогичных приложений по получению данных и выводу их куда угодно и в чём угодно. Подобные приложения активно используются везде, от простой консоли до сервисов на серверах для различных нужд. Огромное спасибо за этот курс, просто отличная практика для изучения языка java, идеальная демонстрация ООП. з.ы. Давно уже было желание оптимизировать скорость обработки подарков, но ждал, может это будет реализовано, в итоге нет, вот решил оптимизировать сам, так как изменения минимальные и давно уже висели у меня в голове, наконец я их реализовал и теперь можно спать спокойно, а то такая крутая софтинка и так долго считает количество уникальных или определённых подарков. После оптимизации скорость работы мгновенная (см. скриншот) при этом изменения были минимальны, логика приложения не пострадала, всё работает так как и задумывалось, просто оптимизировано хранение объектов. Теперь можно считать что угодно и как угодно в доль и поперёк =) з.з.ы. На скриншоте видно две версии ПО, оптимизированная (27 урок) и до оптимизации (26 урок), убрал бесполезные медленные способы подсчёта, так как теперь единственный верный остался, добавил для демонстрации пару новых задач: подсчёт лимонов и теста, в любом случае, скорость не то чтобы отличается в разы, после оптимизации всегда 0мс и это при обработке 9 миллионов подарков =) |
|||
ООФрукты Задедомороженный Архив | + 20 | ||
Повторил пройденное найти время Ошибок у меня небыло, ещё на прошлом уроке заметил эту ошибку у вас в этом методе, но решение проблемы глубже, зачем возвращать convertable если она и так глобальная для класса ParamFactory. Создал несколько батников для демонстрации работы jar (см. скриншот). |
|||
ООФрукты Документация Деда Мороза | + 20 | ||
Повторил пройденное найти время Везде добавил комментарии, для своих доп. методов тоже. Создал батник для генерации документации (предварительно очищая папку в которой они создаются). Проверил, создаётся документация только для публичных классов/енумов/интерфейсов и т.д. з.ы. У вас в классе ParamFactory в методе getConvert не нужно возвращать ничего, просто поставить надо void, а последнюю строчку: "return null;" заменить на: "else convertable = new ConvertRaw();" |
|||
ООФрукты Буфера в стрингах | + 20 | ||
Повторил пройденное найти время Сразу использовал StringBuilder (а не StringBuffer), когда начали использовать подобные склеивания. Мини методы в ParamFactory были реализованы ещё в прошлом уроке. По убирал ненужны public по всему коду, где надо поставить private, так как protected не вижу смысла. |
|||
ООФрукты Фабрика параметров | + 20 | ||
Повторил пройденное найти время Создал мини методы для работы с файлом, строкой данных и выбором формата отображения (см. скриншот). |
|||
ООФрукты Конвертабельность | + 20 | ||
Повторил пройденное найти время Всё это реализовал сам, но видео просмотрел =) |
|||
ООФрукты Как шагает Дед Мороз | + 20 | ||
Повторение пройденного найти время Ошибки связанные со сравнением строк не исправлял, так как у меня их небыло, по причине отсутствия урока на котором реализовали метод create(). Реализовал его по своему, так же реализовал поддержку -format (см. скриншоты). |
|||
ООФрукты Параметрический Созидатель | + 20 | ||
Повторил пройденное найти время Не стал ничего делать, интересно посмотреть что из этого выйдет, но я уже понял смысл, он более универсальный, когда его реализуем, можно будет запускать программу передавая параметры в любом порядке, примеры: -format json -scan -scan -format xml и т.д. отличная идея! |
|||
ООФрукты Параметр Формата | + 20 | ||
Повторил пройденное найти время Реализовал систему парсинга параметра -format. Добавил систему поиска точки отсчёта параметров загрузки данных, чтобы если ввели -format -scan корректно был найден -scan (см. скриншот). Вначале думал, времени нет, всё равно будем это делать на след уроке, но всё же не смог удержаться, решил реализовать, тем-более, что это было не сложно и даже интересно =) |
|||
ООФрукты Конвертабельные классы | + 20 | ||
Закрепил работы с интерфейсом найти время С тех пор как добавили вывод данных в формате JSON хотелось, чтобы числовые данные были без двойных кавычек, вот решил на этом уроке это реализовать (см. скриншоты) так формат более корректный. По поводу того, что такое интерфейс на прошлом уроке изложил свои мысли, с тех пор они не изменились, все сотрудники прошли курсы по конвертации но каждый в итоге придумал свой уникальный метод, хотя и делают они технически одно и тоже, просто итог разный =) |
|||
ООФрукты Коллекция HashMap | + 20 | ||
Формированию словаря HashMap найти время Минимум изменений, свой метод для вывода Деда-Мороза даже корректировать не надо было, но на прошлом уроке я его оптимизировал, теперь метод принимает на вход динамическое количество строк, обрабатывает их и выводит. Что такое интерфейс после этого урока я понял для себя так: Это очень напоминает навыки, если кто-либо инплементит себе тот или иной навык, он обязан описать его так, как он его реализует для себя, даже если разные классы имплементят один и тот же навык, это не значит, что их реализации данных навыков будут 1х1 совпадать, совпадают они лишь типами ввода/вывода данных, а как они будут обрабатывать их, это уже дело каждого класса, как говорится, взять в руки клавиатуру может каждый, но все будут владеть ею по разному, кто-то кодить, кто-то в игрушки играть, а кто-то бояться трогать =))))))) |
|||
ООФрукты Профессиональный Интерфейс | + 20 | ||
Созданию интерфейса найти время О HashMap, отлично, ещё на прошлом уроке подумал про него, но чтобы оптимизировать скорость работы со списком подарков, поглядим для чего создаём интерфейс =) |
|||
ООФрукты Форматы JSON и XML | + 20 | ||
Повторил пройденное найти время На скриншотах видно JSON и XML форматы, так же добавил теги потраченного времени на получение данных по тому или иному тегу. |
|||
ООФрукты Список задач | + 20 | ||
Повторение пройденного найти время Судя по скриншотам, надо оптимизировать поиск подарка, который чаще всего дарили. По поводу отображения результатов, ну у меня своя версия =) а так да, надо добавить выбор в каком формате отображать, может кому-то надо компактно, без картинки деда-мороза =) |
|||
ООФрукты Размер множества | + 20 | ||
Подсчёту количества элементов массива/списка разными способами найти время Я провёл доп. исследования и добавил ещё один способ подсчёта количества уникальных объектов (см. скриншоты). Как видно из скриншотов, этот метод начинает показывать себя с большими объёмами данных, с более мелкими он не такой шустрый как другие два, но кто мешает использовать их вкупе =) |
|||
ООФрукты Логические задачи | + 20 | ||
Collections.frequency найти время В методе getCount просто вернул размер списка, зачем там лишние переменные. В методе getPresentCount использовал Collections.frequency, намного быстрее (см. скриншот) з.ы. Провёл полный рефакторинг, заменил везде слово Fruit на Present, а то глаза мозолит =) Благо в IntelliJ IDEA это можно сделать в пару кликов. |
|||
ООФрукты Массивная строка | + 20 | ||
Arrays.copyOfRange найти время Arrays.copyOfRange - тут мы не отнимали -1 в от длинны массива, потому что это происходит автоматически, как в C# при использовании Random.Next Перенёс ранее созданную функцию на базе StringBuilder, так же убрал ненужное добавление в самом конце, так как этот момент уже не критичен. |
|||
ООФрукты Пошаговый проход | |||
Узнал, что в catch не присваивается нужное значение переменной. найти время По поводу того, что в catch не присваивается нужное нам значение, это прям подстава, хорошо что есть дебаг. Добавил значение null перед тем как пытаемся читать из br, теперь нет надобности присваивать это в catch (всё равно ему веры нет). Добавлена проверка на null, по поводу того, что вначале проверяется первое условие, и если оно ложно он не проверяет следующие знал уже давно, ещё с C#, там так же. Наконец убрали эти ненужные пустые строки в файле и вообще, давно ждал, как же это будет реализовано, сам ничего не делал, так как уже не мало изменений внёс =) |
|||
ООФрукты Рефакторинг аргументов | + 21 | ||
Повторил пройденное найти время Всё же проверять вначале на предмет отсутствия параметров следует, не стоит обобщать проблемы, я придерживаюсь всегда к точки зрения: "Конечного пользователя надо тыкать носом, чтобы он понял где его ошибка, а не посылать курить мануалы (выдавать описание) из-за, возможно, банальной проблемы, можно же указать конкретно и ниже выдать мануал." По поводу распарсивания списка подарков, реализовал ещё на прошлом уроке, на этом уроке переделал под StringBuilder. По поводу того, что не нужно для парсинга аргументов создавать доп класс, ну как минимум потому, что эти аргументы приходят в основной класс программы, для их обработки достаточно добавить метод/функцию, так как в нашем случае это не что-то сложное, всё что было сложным (FruitReader*) уже вынесли в отдельные Классы. |
|||
ООФрукты Какие ваши аргументы? | + 20 | ||
Повторил пройденное найти время При запуске с параметром -file ../../../presents.txt отрабатывает корректно, в IntelliJ IDEA вон он аж где, относительно скомпилированных файлов *.class Добавил метод генерации строчки подарков из массива аргументов, см. скриншот. Добавил методы генерации красоты в консоли =) использовал псевдографику. |
|||
ООФрукты Новые игрушки | + 20 | ||
Повторил пройденное найти время По поводу статичных перечислений полностью поддерживаю, только так и надо было изначально делать, только назвать надо будет енум не Fruit, а както более абстрактно: Present или Gift з.ы. по поводу динамических перечислений чере БД, не обязательно, можно так же в файле хранить эти самые перечисления, чтобы не перекомпилировать заново программу, просто менять контент файла, а программа будет его при каждом запуске кэшировать и использовать как статику. Можно даже через параметр использовать нужный файл с перечислениями, таким образом использовать группы перечислений в связи с теми или иными случаями (Новый год, Хэлоуин и т.д.) з.ы. конфиг файл тоже никто не отменял, если не хочется использовать параметры запуска, хотя они удобные. |
|||
ООФрукты Фруктовые комментарии | + 20 | ||
Закрепил использование javadoc найти время Отличный и очень полезный урок, документация очень нужна, особенно когда работаешь в команде. |
|||
ООФрукты Волшебные конструкторы | + 20 | ||
Выносить наследование в отдельные файлы. найти время Отличный урок, по поводу null согласен полностью, по поводу того, что надо при это возвращать список, естественно, потому что даже если он пустой, метод должен вернуть в том типе пустоту, в котором возвращает когда что-либо есть. |
|||
ООФрукты Фрукты из строки | + 20 | ||
Повторил пройденное найти время Ещё на прошлом уроке хотел спросить, почему использовали protected, а не private в файле FruitReader для метода с циклом перебора. Это потому что теперь мы его наследуем? На скриншоте я показал свою реализацию, чтобы небыло конфликта в перегрузке, просто для чтения из файла передают тип File, а строка String, при этом перегрузка остаётся целенькой =) |
|||
ООФрукты Фрукточтец | + 20 | ||
Повторил пройденное найти время Ну как минимум первое что нужно, это добавить проверку на наличие файла. Ещё по поводу того, что в конце файла надо оставлять 2 пустых строчки для корректной работы, может лучше добавить проверку на EOF в цикле, если идёт парсинг файла, а не с клавиатуры. Можно добавить выбор откуда брать данные, из файла или вручную вносить, если файла нет, создавать новый и сразу предлагать вносить вручную. Так же можно при вносе вручную, добавлять всё вносимое в конец файла. |
|||
Сокобан Сокобан - Игра - Интерфейс | + 20 | ||
Повторил пройденное найти время На основном меню добавлено 3 пункта: 1 - Редактор (при клике открывается созданный ранее редактор карт, см. скриншот). 2 - Играть (при клике открывается форма с началом игры, см. скриншот). 3 - Выход (при наведении иконка двери как бы открывается, при клике выход из меню и закрытие приложения). При наведении мыши на пункты меню, они подсвечиваются инверсированно аля спекки. Так же можно выбирать пункты меню при помощи стрелок на клавиатуре и клавиши Enter для активации пункта. При движении стрелками в какую либо из сторон, курсор выбора пунктов меню бегает по кругу. |
|||
ООФрукты Яблоки на снегу | + 20 | ||
созданию методов в enum найти время Ещё очень много лет назад, столкнувшись с try/catch, спустя какое-то время понял одну истину: "переменными надо объявлять заранее, давая им значение по умолчанию, а уже в теле try/catch пытаться присваивать необходимые значения, если это не вышло, то значение остаётся тем, что было присвоено ДО!!!". Тем самым мы можем один раз возвратить в конце значение переменной, не дублируя строки кода. |
|||
Сокобан Сокобан - Создаём свои уровни | + 20 | ||
Ничему новому найти время Сделал пока 14 уровней, все рисовал сам, честно!!! А вот придумывал не все сам =) |
|||
Сокобан Сокобан - Редактор - Улучшение | + 21 | ||
Событию MouseWheel найти время Разделил установку ширины и высоты уровня по разным TextBox, при установке вручную размеров и нажатии на Enter обновляется размер поля, если же размер поля уже таковой, обновления поля не будет, смысла нет =) При наведения на окошки ширины и высоты уровня курсора мыши, можно роликом мышки устанавливаться размеры (уменьшая/увеличивая) учитываются лимиты =) Если количество ящиков и мест для них не равны друг другу, они подсвечиваются красным. Алгоритм заливки поля выбранным объектом сделал по своему, потом посмотрел реализацию на видео и понял, что моя версия веселее =) Подсчёт ящиков и мест для них тоже реализовал по своему, использовав ранее созданный CountItems(), после чего посмотрел далее видео и понял, что про этот метод забыли видимо =) Заменил событие подгонки размера поля уровня только при отпускании мыши после изменения размеров формы. При обновлении количества ящиков и мест для них так же проверяется уровень на корректность, если имеется ошибка, она отображается в статусбаре. |
|||
ООФрукты Постановка задачи | + 20 | ||
Повторил пройденное найти время Как минимум можно вынести ридер в отдельный метод, подобное уже делал в уроке: Буферный чтец. Так же можно вынести в отдельный метод бесконечный цикл. Массив сделать глобальным, чтобы можно было получать доступ из других методов, которые могут быть созданы в будущем. з.ы. ничего стараюсь не менять, чтобы идти в ногу с уроками =) |
|||
Сокобан Сокобан - Редактор - Сохранение | + 22 | ||
Закрепил пройденное найти время Сделал и добавил все необходимые картинки для сохранения уровня, переключения между уровнями и кнопка ресайза уровня. так же добавил статусбар, где сообщает всё ок или какие либо ошибки, которые были найдены после загрузки уровня или при попытке его сохранить. Добавил проверку, чтобы добавлялся только один новый файл в конец файла уровней, пока он не будет без ошибок, следующий новый уровень добавить нельзя. |
|||
Сокобан Сокобан - Редактор - Редактирование | + 22 | ||
Закрепил пройденное найти время Отличный урок, стараюсь пока особо не модифицировать код, будет ещё такая возможность =) |
|||
Сокобан Сокобан - Редактор - Интерфейс | + 1 | ||
ToolStrip впервые использовал найти время, стараться не внедрять свои фишки, чтобы было чем заняться на след. уроках. Отличный урок, добавил заготовки для кнопок загрузки/сохранения и переключение уровней влево/вправо, пока без текстур. |
|||
J6. Условия IF - Барный фейс-контроль | + 1 | ||
Повторил пройденное найти время, а потом прекратить рисовать =) Подобный урок уже был ранее, но проще, тут повторили его но уже с более сложным чередованием условий. Решил добавить красивости =) |
|||
Сокобан Сокобан - Редактор - Загрузка | + 20 | ||
Повторил пройденное найти время Как видно на скриншоте, строки в уровнях разной длинны для оптимизации размера файла. Добавил проверку в цикле загрузки уровней для поддержки строк разной длинны. |
|||
Сокобан Сокобан - Подготовка - Картинки и лабиринт | + 21 | ||
Ничему новому найти время Состряпал пока что абстрактные картинки начального меню и окна поздравления, в будущем будет изменено (добавлены новые элементы). Подготовил текстуры игровых объектов 32х32 (для персонажа их несколько на каждое направления движения). Уровень нарисовал самый первый, но в своём стиле символов. |
|||
Сокобан Сокобан - Вступление | + 20 | ||
Ничего нового найти время Нашёл сайт, на котором можно онлайн играть в игры ZX Spectrum, даже TRD формат 5,25'' дискетки (TR-DOS 128kb) |
|||
J6. Условия IF - Безальтернативное условие | + 20 | ||
Повторил пройденное найти время и прекратить наводить марафет =) Отличный урок, заставил заняться красотой поздравления. Доработал специально для этого урока возможность генерации цельных окон, не разделяемых пополам линиями. Добавил проверку на оставшиеся дни до юбилея. |
|||
JB. Шахматные классы CHESS - Шахматный конструктор | |||
Повторил пройденное найти время Последовательность абстракций напоминает мне теорию относительности, очень радует такая конструкция. Спасибо. |
|||
JB. Шахматные классы CHESS - Чудеса Абстракционизма | + 20 | ||
Династии абстракционизма =) найти время Прикольная матрёшка получается, абстракционизм ещё удобнее, чем я думал изначально. Спасибо. |
|||
JB. Шахматные классы CHESS - Перебор фигур | + 20 | ||
Повторил пройденное найти время Отличный урок, наследование очень удобная штука, идём дальше. |
|||
Без конкуренции VIP - Главный алгоритм | + 20 | ||
Закрепил пройденое найти время Обошёлся без try/catch, работает отлично. Спасибо за мини VIP курс по этому MiniExcel с возможностью Drag&Drop событиями, очень полезная вещь, обязательно пригодится в жизни =) |
|||
Без конкуренции VIP - Парсинг файла в сетку. | + 20 | ||
Повторил пройденное найти время Отличный урок, порефакторил чуток, вынес повторяющиеся задачи в отдельные методы/функции. Так же выделение данных в двойных кавычках сделал по своему, без выборки нечётных данных из массива. Что дало использовать в случае генерации шапки цикл foreach. |
|||
Без конкуренции VIP - Потяни и отпусти | + 20 | ||
Событиям Drag&Drop найти время Отличный урок, возможность перетаскивать файл на форму очень полезно в современном мире =) |
|||
JB. Шахматные классы CHESS - Фигурное катание | + 20 | ||
Что в абстрактном классе может быть абстрактный метод для будущей реализации у наследников. найти время Отличный урок, всё понятно, идём дальше. |
|||
JB. Шахматные классы CHESS - Координаты фигур | + 20 | ||
Повторил пройденное найти время Отличный урок, фигуры из пошаговой игры отлично вписываются в пошаговые уроки =) |
|||
Game Xonix Матрица Мира | + 20 | ||
Повторил пройденное найти время Добавил функционал проверки есть ли рядом с координатами такой же объект мира как и пытаемся установить, если есть, ищем другое место, если нет, ставим, теперь все 10 ставятся на море, не касаются земли, не касаются друг друга. Отличный урок, идём дальше. |
|||
Game Xonix Земля и Вода | + 20 | ||
Повторил пройденное найти время Отличный урок, сотворили землю и воду, двигаемся дальше к сотворению мира Xonix =) |
|||
JB. Шахматные классы CHESS - Классные фигуры | + 20 | ||
Повторил пройденное найти время Если первым уроком создаются шахматные фигуры, то интрига только нарастает =) |
|||
J6. Условия IF - Альтернатива | + 21 | ||
Повторил пройденное найти время Полтора часа это я марафет наводил. Надо же было сделать всё динамически генерируемое =) |
|||
J6. Условия IF - Тетрамакс | + 21 | ||
Закрепил пройденное найти время Хорошая практика, двигаемся дальше. |
|||
Боты Сапёра VIP - Жизнь у Сапёра | + 21 | ||
Повторил пройденное найти время Потраченное время в основном ушло на создание, подготовку и обработку видео в редакторе, так как что игру Жизнь, что Жизнь на поле Сапёра реализовал ранее. |
|||
PHP Driver Отлов ошибок | + 21 | ||
Закрепление пройденного найти время На первом скриншоте видно, что закомментирована проверочная строчка, т.е. тест обработки без параметров. Внизу в консоли видно, что будет выдано в окне браузера. На втором скриншоте видно, что я совместил проверки воедино. |
|||
PHP Driver Создание схемы базы данных | + 20 | ||
Повторил пройденное найти время Полезно вначале создать наброски БД, на скриншоте представил финальную на текущий момент версию БД. |
|||
PHP Driver Запускаемый класс | + 21 | ||
Повторение пройденного найти время Отличный урок, спасибо! Идём дальше. |
|||
PHP Driver Первый байт проекта | + 20 | ||
Повторение пройденного найти время Отличный урок, RewriteEngine отличная штука для использования красивых ссылок. |
|||
PHP Driver Создание базы данных в HeidiSQL | + 20 | ||
Повторение пройденного найти время Структуру таблиц показал на прошлом уроке, на этом судя по скринам видно, что таблицы добавлены, а на втором скрине показан демо контент. |
|||
PHP Driver Установка MySQL, Smarty и Bootstrap | + 20 | ||
Повторил пройденное найти время Отличный урок, MySQL у меня уже был настроен ранее, остальное было сделано ещё во время записи урока на вебинаре, по поводу HeidiSQL, я скачал Portable версию, но использую уже более 13 лет Navicat, скриншот из него (как то он мне ближе по интерфейсу) |
|||
PHP Driver Настройка PHP-отладчика xDebug в PHPStorm | + 20 | ||
Повторил пройденное найти время Отличный урок получился, пригодится всем веб-разработчикам, идём дальше. |
|||
PHP Driver Установка PhpStorm | + 20 | ||
Повторил пройденное найти время Решил всё же выполнить последнее задание, но через консоль PhpStorm =) |
|||
PHP Driver Установка и настройка Apache + PHP | + 20 | ||
Повторил пройденное найти время Полезный урок, для крупных серверов есть сисадмины, а настраивать свой локальный, для удобства разработки, обязан уметь каждый, уважающий себя, программист. |
|||
PHP Driver Техническое задание | + 20 | ||
Повторил пройденное найти время Отличный курс, очень интересные технологии затрагивает, начало положено =) |
|||
Game Xonix Упаковка панели в окно | + 20 | ||
Повторил пройденное найти время Ну вот теперь можно не переживать за совместимость с другими ОС или стилями рабочего стола =) |
|||
Game Xonix Базовое наследство | + 20 | ||
Повторение пройденного найти время Отлично, три урока вместо одного смотрятся намного лучше =) |
|||
Game Xonix Снова рефакторинг | + 20 | ||
Закрепил пройденное найти время Отлично, идём дальше =) |
|||
J6. Условия IF - Минимакс | + 20 | ||
Повторил пройденное найти время Сложностей не возникло, идём дальше =) |
|||
J5. Операции OPER - Операции 12-13 | + 20 | ||
Ничему новому найти время Отличный урок, двигаемся дальше. |
|||
J5. Операции OPER - Операции 7-11 | + 20 | ||
Закрепил побитовую логику найти время Отличный урок, всё коротко и ясно, спасибо |
|||
J5. Операции OPER - Операции 5-6 | + 20 | ||
Закрепил операторы сравнения найти время Отличный урок, не стал сравнивать строки, так как ранее уже это делали. |
|||
J5. Операции OPER - Операции 4 | + 20 | ||
Побитовый сдвиг успеть до полуночи =) Отличный урок, интересная фишка. |
|||
J5. Операции OPER - Операции 3 | + 20 | ||
Закрепил материал найти время Отличный урок, интересные особенности конкатенации разных типов данных в зависимости от того, с какой стороны стоит строковый тип =) |
|||
Семантика Я решил всю Семантику! | + 20 | ||
Многое повторил, но и очень много узнал нового найти время Замечательный курс для начинающих, чтобы при прохождении уже более сложных Видео-курсов не возникало лишних (глупых) вопросов - "Must be completed"! Следующий курс по логике будет тоже консольный: Алгоритмика. Думаю там тоже почерпну не мало нового для себя, Спасибо за эти замечательный уроки и проект в целом. Удачи в развитии. |
|||
J5. Операции OPER - Операции 2 | + 20 | ||
Повторил пройденное найти время Отличный урок, на скриншоте показал, что java умная, сама приводит в нужный тип, если хоть одно число вещественное. Если же нужно, чтобы оно было определённого типа, используем касты. |
|||
J5. Операции OPER - Операции 1 | + 20 | ||
Побитовой инверсии ~, остальное закрепил найти время Отличный урок, много полезной информации, особенно в работе с битами. |
|||
J4. Типы TYPE - Непримитивный тип String | + 20 | ||
Работе с объектом String в Java найти время Отличный урок, узнал много интересного при работе со строковыми объектами, спасибо. |
|||
J4. Типы TYPE - Логический и Символьный примитивные типы | + 21 | ||
Закрепление материала найти время Модернизировал метод формирования таблиц: добавил генерацию промежуточного разделения. |
|||
Game Xonix Чудеса полиморфизма | + 21 | ||
Повторение пройденного найти время Термотетрисная реакция =) |
|||
Game Xonix Размножение шариков | + 20 | ||
Повторение пройденного найти время Полировка объектов до округлой формы - срезаем углы =) |
|||
Game Xonix Броуновское движение | + 20 | ||
Повторение пройденного найти время Уже идея родилась по поводу реализации визуальной составляющей на основе этой игры, надо будет выбрать время и воплотить для финального видео-обзора =) |
|||
Game Xonix Абстрактный субъект | + 20 | ||
Повторение пройденного найти время Урок можно было разбить на 3 урока поменьше: 1 - выносим onMap() 2 - создаём абстрактный класс 3 - удаляем дубликаты и добавляем экстендед к кубику и шарику было бы и со скриншотами компактнее, а то покрывало получилось, плюс из-за телодвижений с дубликатами строк сурсконтрол софт сума сходит, пришлось фотошопить дифф, чтобы он был адекватный =) |
|||
Game Xonix Живой шарик | + 20 | ||
Повторение пройденного найти время Кружатся в ритме "Коко Джамбо" =) |
|||
Game Xonix Классный шарик | + 3 | ||
Повторил пройденное найти время Кубик штурмует неприступный шарик =) |
|||
Game Xonix Точное прикосновение | + 6 | ||
Повторение пройденного найти время Так как на прошлом уроке решил проблемы размеров игрового поля, то отступы по сути не нужны, но будем идти по курсу не сворачивая, отложил внедрение "деменшен" до следующего вебинара =) |
|||
Game Xonix Граница на замке | + 7 | ||
Повторение пройденного найти время На втором скриншоте частично видна мысль оптимизация для идеальной подгонки размеров окна под игровое поле. На любой ОС проблем не будет. Нужно будет использовать Dimension, который я уже предлагал в курсе Явный Сапёр, нужно эту фишку и тут использовать. з.ы. Надо будет внедрить это на первом уроке следующего вебинара по этому курсу =) |
|||
Game Xonix Живой кубик | + 7 | ||
Повторил пройденное найти время Вперёд, в бесконечность =) |
|||
Game Xonix Перемещение кубика | + 7 | ||
Повторил пройденное найти время Жизнь это движение =) |
|||
Game Xonix Классный кубик | + 8 | ||
Повторение пройденного найти время Отличная оптимизация, короче код, приятнее читать =) |
|||
Game Xonix Координатный кубик | + 8 | ||
Повторение пройденного найти время Неторопливо идём к цели, смакуя каждую строчку =) |
|||
Game Xonix Панельный Canvas-класс | + 9 | ||
Повторение пройденного найти время Хорошо идём =) |
|||
Game Xonix Использование констант | + 10 | ||
Повторение пройденного найти время Коротко и ясно =) |
|||
Game Xonix Окно проекта | + 10 | ||
Повторение пройденного найти время Отличный урок, идём дальше. |
|||
Game Xonix Установка Eclipse | + 11 | ||
Повторил пройденное найти время Был опыт работы с Eclipse, интересная среда, но после перехода на IntelliJ IDEA понял, что IDE для Java может работать быстрее =) з.ы. На скриншоте продемонстрировал, что в IntelliJ IDEA тоже можно увидеть список методов для удобства. |
|||
Game Xonix 5 ошибок обучающих курсов. Java + Xonix | + 20 | ||
Узнал о частых ошибках обучающих курсов найти время Полностью согласен с ошибками видео-курсов, цитируют книжки, просто берут количеством, "забивая головы". |
|||
Game Xonix Свои правила | + 20 | ||
Ничему новому найти время Поэкспериментировал с константами, русифицировал статус бар, увеличил размеры поля до стандарта HD, поигрался с интервалом отображения игровых циклов, всё супер =) з.ы. цвета заменил на ZX Spectrum аналоги |
|||
Game Xonix Поиграем? | + 20 | ||
Повторение пройденного найти время Одна из первых игр, которые игрался и создавал на одних из первых ПК (СПЕКТР-001 и ZX Spectrum) так как есть опыт игры, дошёл до 5 уровня без проблем =) |
|||
Боты Сапёра VIP - Хакерский подход | + 20 | ||
Работать с процессом напрямую через память найти время Замечательное завершение не менее замечательного курса, спасибо огромное. |
|||
Боты Сапёра ФИНАЛЬНЫЙ УРОК | + 1 | ||
Ничему новому найти время Добавил интерактивную легенду найденных уникальных объектов игрового поля при парсинге эталонного скриншота. остальные нововведения, которые добавлялись в процессе разработок на каждом уроке см. видео =) з.ы. плюс недокументированные изменения и оптимизации. |
|||
J4. Типы TYPE - Вещественные примитивные типы | + 20 | ||
Разнице между float и double найти время Отличный урок, познавательный, идём дальше =) |
|||
J4. Типы TYPE - Целые примитивные типы | + 20 | ||
Что при записи 0xFFFF_FFFFL в конце надо тоже добавлять L, иначе получится тип int найти время и прекратить исследования Когда начал исследовать конвертацию в BigInteger, понял что увлёкся =) но это интересно, знать какие диапазоны у каких типов. |
|||
Боты Сапёра БОТ - Всё открыто! | + 21 | ||
Повторение пройденного найти время Добавил проигрывание мелодии во время работы бота =) Остальные фишки работают априори, так как реализованы ранее (анимация движения курсора и т.д.) всё покажу в видео-обзоре =) |
|||
Боты Сапёра БОТ - Неуправляемый Интеллект | + 20 | ||
Повторил пройденное найти время Адаптировал алгоритм бота, проблема зацикливания бота была решена очень давно, поэтому с ней не столкнулся. При запуске любой задачи окно игры сапёра становится вначале активным, если оно свёрнуто, разворачивается и только потом идёт работа с ним. |
|||
Боты Сапёра БОТ - Выход на финишную прямую | + 20 | ||
Закрепление полученного ранее найти время Перенёс необходимые файлы в проект из игры сапёра, подготовился к след уроку =) з.ы. как видно из скриншота, теперь отображается последний используемый скриншот, необходимый как точка отсчёта для действий. В данном случае отображает то, что было до последних телодвижений БОТа. |
|||
Боты Сапёра БОТ - Сканер минного поля | + 20 | ||
Повторил множества, MD5, массивы, матрицы, работу с графикой, файлами... найти время Начал исследования уже давно, но именно по поиску объектов по одному пикселю с 18 числа 7 утра, на уроке использовался слишком простой алгоритм, я вначале применил рекурсию, чтобы перебрать все комбинации пикселей, процесс не быстрый, потом решил применить анализ всех уникальных плашек на основе множеств и исключить дубликаты, намного шустрее процесс, почти моментальный, но оказалось, что уникальные пикселы имеют все объекты, кроме закрытой и открытой плашки, если не использовать флажки и вопросики, то закрытая плашка имеет уникальные пикселы, а открытая определяется методом исключения, но для работы бота нужна плашка с флажком, поэтому такой метод не подходит. А так как я ранее уже реализовал определение плашек в 1,5 пикселя, вариант с двумя пикселами я конечно тоже реализовал для общего развития, но меня он не очень радует, поэтому я решил реализовать систему автоматического анализа эталонного скриншота на предмет уникальных объектов. Данный метод полностью устраняет ручной перенос полученных координат для дальнейшего использования при работе бота. Получается что система полностью автономна, проверяет вначале наличие уникальных объектов (используются множества) и если их нет, вначале анализирует эталонный файл, формируя список, далее уже занимается анализом поля. При этом 100% определяется любое количество уникальных объектов на поле, если бы их было более 12, универсальная система =) з.ы. метод +-1 для определения объектов реализовал, но для того, чтобы было, сам метод не используется так как надобности нет и проблем с цветами тоже не наблюдается, но идея интересная, может пригодится когда нибудь. |
|||
J3. Ввод READ - Буферный чтец | + 20 | ||
Использованию FileReader и InputStreamReader вместе с BufferedReader. найти время и остановиться внедрять то, что скорее всего будем проходить дальше =) Отличный урок, спасибо, чем дальше, тем интереснее =) |
|||
J3. Ввод READ - Любая формула | + 20 | ||
Вспомнил как в ворде составлять формулы =) найти время Для решения данного урока использовал единственную доступную для меня формулу, другие были закрыты и просили выполнить задачи которые идут ранее, а так как я решил там только первые 5 заданий, то был очень рад, что хотя-бы одна формула была доступна, не знаю почему, но догадываюсь =) |
|||
J3. Ввод READ - Сканер пива | + 21 | ||
Закрепление работы с java.util.Scanner найти время Решил приукрасить немного, вспомнил как эти было во времена доса =) |
|||
J3. Ввод READ - Сканер | + 21 | ||
Использованию java.util.Scanner найти время Да, намного удобнее чем System.in.read(), спасибо за урок, идём дальше. |
|||
J3. Ввод READ - Ввод трёхзначного числа | + 21 | ||
Использованию System.in.read() найти время Полезный метод, спасибо за урок, идём дальше =) |
|||
Боты Сапёра БОТ - Гадание по фото | + 21 | ||
анализировать графические файлы найти время и остановиться оптимизировать Отличный урок, вебинар ещё круче, как видно из скриншотов, с правой стороны проанализировано поле из графического файла (справа от окна приложения отобразил его для наглядности), а в правом окне приложения отобразились все комбинации координат (пока без вопросика, если идея по доработке алгоритма сравнения, пока чтобы не тратить время, сделал базовый). з.ы. Добавил функционал автоматического поиска уникальных объектов на поле (в графическом файле). |
|||
Боты Сапёра БОТ - Совместное фото | + 21 | ||
делать скриншот выделенной области на экране найти время Новичок: 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. |
|||
J3. Ввод READ - Чтение символа | + 20 | ||
узнал два варианта установки IOException в Java найти время Ранее всегда использовал try/catch, но вижу, что можно добавлять к методу thrown IOException (что по сути переводится именно так, как и работает). Немного приукрасил приложение, всё супер, идём дальше. |
|||
J3. Ввод READ - Конкатенация аргументов | + 20 | ||
Объединению строк через concat() в Java найти время Интересный урок, интересный метод, намного быстрее работает чем через оператор "+" =) |
|||
J3. Ввод READ - Сложение аргументов | + 20 | ||
try/catch и парсингу чисел из строки в языке Java найти время Отличный урок, всё просто и понятно, идём дальше |
|||
J2. Печать WRITE - Окно JFrame | + 20 | ||
Повторение пройденного найти время Внезапный урок, вклинившийся между пройденными =) приятный сюрприз. |
|||
J3. Ввод READ - Консольные аргументы | + 20 | ||
Повторение пройденного найти время Отлично, идём дальше |
|||
ASP.NET и GMaps Запуск ASP.NET MVC | + 20 | ||
Создавать ASP.NET MVC базовый проект найти время Отличное начало, установил 2015 студию по этому случаю, на удивление установилась быстро и работает быстро. |
|||
Инфобизнес Подключение к системе GitHub | + 21 | ||
Работе в SmartGit найти время уже много лет использую оригинальную консоль git, для работы с github, решил попробовать SmartGit, интересная GUI, надеюсь она мне понравится, пока что то, что было сделано, быстрее было бы сделать в консоли, но я вижу перспективу удобства работы с кучей гепозиториев не бегая по папкам =) |
|||
J3. Ввод READ - Сколько мне дней | + 21 | ||
Возрасту в днях =) найти время Отличный урок, осталось узнать, сколько тебе часов и будет аналогия S.M.A.R.T. для человека =) |
|||
J2. Печать WRITE - Квадратные условия | + 1 | ||
Повторение пройденного найти время Создал отдельно три функции/метода, которые по очереди выводят квадраты. Первые два квадрата выводятся друг за другом, третий квадрат это наложение первых двух с эффектом инверсии. |
|||
J1. Запуск START - Десять запусков | + 21 | ||
Повторение пройденного найти время Поначалу писал приложение красиво, с отступами и т.д., время удалось снизить до 45 сек, последние попытки решил сократить имя класса и файла до одного символа, что сократило написание той же логики уже за 35 сек, аж 10 сек (22,2%). экономии =) |
|||
J1. Запуск START - Запуск Java | + 21 | ||
Повторение пройденного найти время На втором скриншоте набрал более хардкорно =) понастольгировал по досу, всё супер! Идём дальше. |
|||
J1. Запуск START - Переменная окружения | + 21 | ||
Повторение пройденного найти время Ещё на вебинаре "Дружба с компилятором" проходили это, как раз поставил себе новую версию |
|||
Инфобизнес Подготовка Visual Studio ASP.NET | + 20 | ||
Созданию проекта ASP.NET MVC ничего Отлично, идём дальше. |
|||
ASP.NET и GMaps Презентация | + 21 | ||
пока ничему =) пока ничего =) Идей много, одна из первых, которая родилась сразу, это создание игры: "Формулисты ГО". Краткое ТЗ: На карте отображаются формулисты в разных городах, где-то сбоку или сверху по центу кнопочка, начать игру. Сложность 1: Точки остаются на месте, а всплывающие окошки покажутся 1 раз на пару секунд и прячась, перемешиваются, далее, наводя на точки, показывается аватарка, нужно схватить её и перенести на ту точку, где должна быть эта аватарка. Сложность 2: Помимо оригинальный точек, ещё генерируются со случайными координатами фейковые точки. Нужно навод на точки и видя аватарки определять, оригинал это или фейк =) |
|||
J8. Циклопы LOOP - Три части Forа | + 1 | ||
Повторение старого найти время Приходится проходить курс хаотично, по другому доступа нет =) |
|||
J2. Печать WRITE - Комментарии | + 21 | ||
Использованию javadoc найти время Отличная утилита, пригодится =) |
|||
Tinklavimas Второй подход к эскизу | + 22 | ||
ничему новому найти время Так как дизайн уже есть, моя задача его оптимизировать, локализовать на русский язык и написать движок под ключ. Разработка для представительства на территории Российской Федерации. |
|||
Tinklavimas Каким будет мой сайт | + 20 | ||
ничему найти время Тема экологических продуктов. Название по на обсуждении. Сайт на заказ. |
|||
Tinklavimas Знакомство | + 20 | ||
ничему ничего Интересный курс, сборная солянка начальных знаний, надо глянуть, может что новое узнаю, плюс он на неведомом мне языке местами =) |
|||
Демо игры VIP. Устный счёт | + 20 | ||
Повторение пройденного найти время Создал в фотошопе иконку для форм и бинарника. Добавлен пункт настроек: "Простые операции" (используется только одна операция и при вычитании ответ никогда не будет меньше нуля). Добавлен пункт настроек: "Несколько операций" (при генерации примеров используются две одинаковых операции). Косметика визуального представления операций умножения и вычитания. Фокусировка на последней нажатой кнопке "начала игры" после победы. Фокусировка на поле ввода ответа после начала игры. Используется минимальное значение равное 0 там где это логично (для разнообразия генерации примеров). Добавлен счётчик потраченного времени. Добавлен счётчик неверных ответов (используется для определения итоговой оценки). При неверном ответе, поле ответа очищается, отображается подсказка с верным ответом и увеличивается счётчик неверных ответов (цвет счётчика меняется в зависимости от итоговой оценки). Следующий пример не сгенерируется, пока не будет верно решён текущий. После того как решил все примеры и ползунок дошёл до 100%, отображается сообщение с итоговой оценкой. Добавлен пункт настроек: "Случайные операции" (при генерации примеров используются случайные операции, совместно с "Несколько операций" может сгенерировать разные две операции). Если активен пункт "Случайные операции", то на всех кнопках отображается надпись "Начать" (так как каждый следующий пример будет со случайной операцией). Доработана самая крутая сложность (использованы методы Комбинаторики и Рекурсии). На данный момент существует 8 видов сложностей (что легко посчитать исходя из вариантов установки галочек, все комбинации проработаны и протестированы). |
|||
J1. Запуск START - Платформа Java | + 20 | ||
повторение пройденного найти время Повторил пройденный материал, отличное начало, только хотелось бы уточнить, что на винде у вас скорее всего JDK новее стоит, чем на линуксе, поэтому и не запустился скомпилированный файл с винды на линуксе, а более ранняя версия с линукса запустилась без проблем в винду, надо было скопировать исходник на линукс и пересобрать его уже там, тогда точно запустилось бы =) |
|||
Боты Сапёра БОТ - Пиксельный металлоискатель | + 21 | ||
Повторение пройденного найти время Создал в фотошопе иконку для форм и бинарника. Добавил метод определения цвета пикселя на экране. Метод определения наличия запущенного процесса игры Сапёр вынесен в отдельную функцию (так как надо не только для начала работы, но и для проверки наличия процесса окна игры Сапёр в циклах бота). Добавлен метод определения объектов на игровом поле игры Сапёр. Добавлен progressBar для визуализации процесса выполнения циклов. Внедрена игра Жизнь для демонстрации на игровом поле Сапёра. Добавлена кнопка запуска с данными о скорости циклов и времени между ними для игры Жизнь. Добавлены trackBars для настройки скорости и времени между циклами игры Жизнь. При изменении скорость и времени циклов, информация о текущих значениях отображается на кнопке запуска игры Жизнь. Теперь бот заглядывает в меню игры для проверки: установлена возможность ставить Вопросики или нет. Если нужно нарисовать картинку, то бот проверяет возможность устанавливать Вопросики, если данная возможность отключена, он её включает. Если запущена игра Жизнь, бот проверяет возможность установки Вопросиков, если возможность активна, то он её отключает. Если в процессе анализа и подготовки игрового поля Сапёр, для запуска игры Жизнь, бот находит Вопросики, он их убирает. Теперь размеры рисунка относительны размеров игрового поля Сапёр, чтобы ромбик вписывался и был всегда по центру. Добавлены textBoxes для сбора данных об игровых объектах на поле Сапёра. Добавлена анимация заполнения textBoxes. Игра жизнь использует динамическое программирование (не зря выпит литр кофе в своё время). з.ы. Что меня с подвигло на сие деяние? Пунктик с тремя звёздочками в задании к этому уроку =) Я, понимая, что это тривиальная задача, не мог не решить её, оставалось за малым, найти время, в течении дня несколько раз отвлекался по делам, но всё же успел доделать к концу дня. |
|||
Боты Сапёра БОТ - Отмычка сапёра | + 21 | ||
рисовать флажками и вопросиками пиксель-арт на поле Сапёра =) найти время Отличный урок, намного интереснее писать кликер на C#, чем на ActionScript, хотя на нём много чего удобно делать =) |
|||
Демо игры ФИНАЛЬНЫЙ УРОК | + 2 | ||
Повторение пройденного найти время Отличный видео-курс, даёт немало базовых знаний, которые помогут в будущих курсах лучше понимать код и добавлять что-то своё. Вообще весь сайт очень интересно реализован, радуют курсы своей простотой подачи материала, ничего лишнего, много практики. Огроное спасибо Евгению "Игромистру" Витольдовичу за этот проект!!! Следующий курс "Демо-софт". С наилучшими пожеланиями, Иван Воронин. |
|||
Демо игры Камень ножницы бумага | + 21 | ||
повторение пройденного найти время Отличный урок, спасибо, есть над чем поработать =) |
|||
Демо игры Бот для Быстрощёлка | + 1 | ||
Повторение пройденного ничего Добавил функцию верного окончания для слова "кликов". Добавил чекбоксы для выбора какими клавишами мыши кликать. Добавлено предупреждение о том, что не выбрана ни одна клавиша мыши для кликов. см. скриншоты для подробностей =) |
|||
Демо игры Игра Быстрощёлк | + 20 | ||
использованию TimeSpan ничего на первом скриншоте скорость левой клавишей мыши, на втором обеими =) |
|||
Секундомер Секундомер - Написание кода | + 20 | ||
повторение пройденного найти время отличная программа для фиксации траты времени на задачи, чтобы после использовать эти данные для поля ПОТРАЧЕНО ВРЕМЕНИ в отчётах как минимум =) |
|||
Секундомер Секундомер - Настройка формы | + 22 | ||
повторение пройденного ничего всё сделал по пунктам, только шрифт свой поставил и иконку создал в фотошопе как обычно =) |
|||
Боты Сапёра ВТОРОЙ ТРЕТЬФИНАЛЬНЫЙ УРОК | + 22 | ||
замедлять процесс работы циклов при этом чтобы видна была текущая стадия каждой итерации =) ничего При открытии окна "О игре" теперь чередуются 3 трека (“about3.mp3” переименовал в “bot.mp3”, а “about4.mp3” соответственно в “about3.mp3”). “bot.mp3” добавлен как мелодия(индикатор) работы бота. Теперь во время работы бота видно, как он открывает поле и ставит/снимает флажки. з.ы. самый прикольный момент это установка/снятие флажков, как будто бот не уверен в этом, имитация ИИ, не стал убирать у него эту “не уверенность”, выглядит как фишка =) |
|||
Боты Сапёра ИИ - Открыть всё! | + 21 | ||
повторение пройденного ничего Добавил проверку первого клика перед сохранением игры (чтобы не сохранялись пустые поля). Обновлено условие проверки "побит рекорд или нет". Обновлена система генерации окна поздравления с Рекордом в текущей сложности. В тайтле помимо названия игры и текущего времени игры, теперь отображается текущая сложность. Старый алгоритм сохранил в функции: StartBot1() и деативировал. Новый алгоритм бота добавлен в функции: StartBot2() и активирован. Проверка победы/проигрыша добавлена после завершения работы бота (ранее проверка была в процессе его работы). |
|||
Боты Сапёра ИИ - Ботовый алгоритм InterMines | + 21 | ||
повторение пройденного ничего отличный урок, так же добавил проверку в виде всплывающего окошка, где для наглядности отобразил итоговое содержимое групп A, B и C. |
|||
Боты Сапёра ИИ - Множественное тестирование | + 21 | ||
повторение пройденного ничего Данное тестирование выявило ошибки при копипасте, при спешке такое бывает =) |
|||
Боты Сапёра ИИ - Операции со множествами | + 21 | ||
повторение пройденного ничего отличная идея реализовать данный алгоритм вручную для наглядности, а реализовать при помощи методов HashSet можно будет потом, как домашнее задание =) |
|||
НаноШахматы PHP - Запуск скрипта | + 21 | ||
повторил пройденное ничего Очень важные уроки (это и прошлый) правильно сделали, что их добавили, курс стал более полноценным для новичков |
|||
НаноШахматы PHP - Установка EasyPHP | + 21 | ||
повторил пройденное ничего данный урок был выполнен ещё при прохождении курса "Интернет-магазин" |
|||
Боты Сапёра ИИ - Вспомнить всё | + 21 | ||
повторение пройденного найти время Очень интересный курс, спасибо за продолжение =) |
|||
БД - Книжка оценок Проектирование БД «Книжка оценок» | + 22 | ||
работать с базами ms access ничего создал таблицы по своему, для лучшего понимания и закрепления материала =) |
|||
Сетевые технологии Вопросы и ответы | + 21 | ||
ничему ничего Вопросов нет, всё ясно как день =) суть курса понял, добавил его в очередь на изучение в будущем. |
|||
Сетевые технологии Главные секреты интернет-страниц | + 21 | ||
получать исходный код и куки загруженной странички ничего Перенёс отображение тайтла странички сайта в тайтл формы. остальное по уроку, всё супер, идём дальше. з.ы. Куки это список переменных со значениями, хранящихся на стороне клиента, для использования при последующих посещениях сайта (к примеру, можно хранить информацию о том, на каком языке отображать сайт, или данные для автоматической авторизации и т.д.) |
|||
Явный Сапёр Условие победы! | + 22 | ||
работать со звуком в Java найти время Добавлен звук тиканья таймера. Добавлен звук подрыва на мине. Текстуры перенесены в папку gfx. Звуковые эффекты перенесены в папку snd. Мин уменьшено с 99 до 40, для удобства тестирования. з.ы. так как задания текущего урока я выполнил в прошлом уроке, пришлось добавить в игру звук и порефакторить, чтобы не заливать пару скринов и писать, что всё это сделал ещё на прошлом уроке =) |
|||
Явный Сапёр Волшебный метод | + 20 | ||
повторению пройденного остановиться допиливать игрушку =) Добавлен рекурсивный метод открывания соседних пустых клеток. Добавлено описание фаз игры. Добавлен метод открывания всех мин и отображение ложных мин при подрыве. Если подорвался на мине, под ней появляется красный фон, открываются все мины, открываются ложные мины и игра переключается в фазу поражения. Если открыты все пустые ячейки, игра переключается в фазу победы и помечаются все мины флажками. Добавлена заготовка типа сложности, но пока только Профессионал. Рефактор инициализации игрового поля перед началом игры. Добавлен метод startGame(), вызывается если проиграл или выиграл. Добавлен метод updateTitle() для обновления информации в тайтле. Добавлен метод cellClickCheck() для проверки фазы игры (если проиграл/выиграл начать игру с нуля). Пока идёт игра, обрабатываются нажатия левой и правой клавиш мыши, как только нарвался на мину или победил, обрабатывается только средняя клавиша мыши, запускающая игру с начала. Теперь в тайтле отображается сообщение о победе/поражении и информация о том, как начать сначала. Добавлен счётчика времени, активируется при первом клике по закрытому полю, останавливается при победе/поражении. В тайтле отображается сообщение о победе/поражении и информация о том, как начать сначала. Так же в тайтле отображается затраченного времени до победы/поражения, пока игра не начата заново. |
|||
Явный Сапёр Открывашка | + 20 | ||
повторил портирования с одного языка на другой найти время добавил счётчик мин и флажков для отображения в статусбаре добавлена заготовка игровых фаз (игра, проигрыш, победа) генерация мин на поле происходит после первого клика первый клик никогда не попадает на мину createMap() переименовал в placeMines(), добавил необходимые параметры рефакторинг метода placeMines(), так же добавил комментарии addOne() переименовал в placeCounter() добавил метод onMap() добавлен метод обработки клика левой клавиши мыши методы rightButton() и leftButton() сделал приватными для открывания игрового поля добавлены 2 новых метода: changeTop() и changeMap() с необходимыми параметрами добавлен метод openCellsAround() для анализа и открытия клеток вокруг добавлен подсчёт неверно установленных флагов, при открытии отображается ложная мина рефакторинг обработки нажатий добавлена проверка, все ли пустые клетки открыты (в будущем для обработки победы) |
|||
Явный Сапёр Правый флаг | + 20 | ||
повторение пройденного найти время в ротацию правой клавиши добавил вопросик обновление статусбара перенёс в отдельный метод в статусбаре видно размер поля и сколько установлено флажков из доступных (доступные это количество мин на поле) как обычно, если флажки кончились, то ставятся только вопросики =) |
|||
Явный Сапёр Мышечный адаптер | + 20 | ||
повторение пройденного ничего урок понравился тем, что не использовали для формирования поля боксики как было на C#, а сразу напрямую рисуем на панели, что ускоряет работу приложения в разы, идём дальше |
|||
Явный Сапёр Мины на панели | + 22 | ||
ничего нового ничего код был готов ещё до вебинара, поэтому просмотрел видео на скорости х2 и залил отчёт =) жаль что не удалось состыковаться и провести этот урок, много чего рассказать хотелось, поэтому пишут вкратце тут: решил я изучить вопрос с панелью после того, как на вебинаре Магистр пытался использовать paintComponent, но не вышло и использовали paint, а позже в одном из отчётов кто-то заметил, что игровым полем замазали statusBar и его стало не видно, попытавшись увеличить размер формы, ничего не вышло и я решил немного изучить вопрос, ушло на это не много времени, но зато узнал, что как и в C#, тут есть тоже панель, как раз то, что надо, провёл пару тестов и вуаля, и марджины не нужны и статусбар видно и метод pack помогает подогнать размеры формы, отличный урок получился. Спасибо, Евгений Витольдович! з.ы. pack сработал, потому что setResizable должен быть раньше под коду, когда перенесли его выше, сразу сработало как надо |
|||
Боты Сапёра ИИ - Жучкин алгоритм | + 20 | ||
повторил пройденный материал ничего При переключении между режимами игры, пауза не ставится, если была найдено и успешно загружено сохранение. При активации паузы через окно "О игре" игры переносится в режим "Особые...", в этом режиме уже не попасть в таблицу Чемпионов. Добавлена логика игры для реализации "Подсказки" - аналогия Бота, который открывает и помечает поле если уверен на 100% Активация "Подсказки" осуществляется через пункт меню: "Справка - Подсказка", либо нажатием на горячую клавишу: F9 |
|||
Боты Сапёра ИИ - Элементарные алгоритмы | + 20 | ||
закрепил пройденный материал ничего отличное начало реализации помощника для игры "Сапёр" =) идём дальше |
|||
Боты Сапёра ИИ - Класс группы | + 20 | ||
закрепление пройденного материала ничего назвал табуляторы ячейками, а вместо SortedSet использовал HashSet, идём дальше |
|||
Боты Сапёра ИИ - Пересечение множеств | + 20 | ||
поиску мин путём пересекающихся множеств найти время на втором скриншоте прошёл Любителя, из прошлого урока, данным методом =) |
|||
Боты Сапёра ИИ - Очевидные шаги | + 21 | ||
закрепление пройденного материала ничего вроде больше нет 100%, проверил несколько раз =) з.ы. в углу единичка, это я по углам кликал, пока не наткнулся на угол, в котором открылось больше клеток и подходил очевидный алгоритм |
|||
Боты Сапёра ИИ - Как пройти игру | + 21 | ||
повторение пройденного материала найти время по поводу внутри игрового алгоритма: пробегать по всему полю в поиске цифр, если нашли клетку с цифрой, то считаем сколько вокруг неё флажков и не открытых клеток, потом отнимаем от этой цифры количество флажков и если это равно 0, то кликаем по цифре, если же не равно 0, смотрим сравниваем полученное число с количеством не открытых клеток, если оно совпало, то ставим флажки на неоткрытых клетках вокруг цифры и так до тех пор, пока не кончатся клетки для обработки подобным образом. по поводу считывания данных с чужого сапёра, вариантов несколько, самый простой это анализ клеток поля по цвету который присутствует в них. обычно в сапёрах цифры разноцветные, если же такой способ сложен, можно использовать матрицы пикселов для сравнения типо топологии клеток, подобный способ проблем обычно не имеет, есть ещё один способ, написать хук код, чтобы внедрится в код приложения и получить доступ к массиву данных а там уже дело техники =) |
|||
Боты Сапёра ТРЕТЬФИНАЛЬНЫЙ УРОК | |||
закрепил полученные ранее знания перестать добавлять фишки (идеи ещё есть) ну и найти время на всё это =) Список нововведений относительно базовой версии из курса “Сапёр на C#”: Как обычно создал уникальную иконку для бинарника и форм. Нарисовал текстуры в цветовой палитре ZX Spectrum. Добавлена возможность выбора сложности игры. При выборе сложности, динамически изменяется размер поля. Отображается галочка напротив выбранной сложности. Добавлены ограничения по количеству мин относительно размеров поля. Ограничение клеток по высоте и ширине, для удобства восприятия. Добавлена форма настроек “Особой...” игры. Количество мин трёхзначное. Ограничение по минимальной высоте и ширине поля в зависимости от размера поля. Добавлена форма отображения “Чемпионов” и соответствующий пункт меню. Добавлен счётчик игрового времени независимый для каждой сложности. “Чемпионы” хранятся в отдельном файле. Добавлена система сохранения текущей игры в соответствующий файл. Если при выборе сложности найдено сохранение для неё, то загружается карта поля и можно продолжить игру, если же файл не найден, повреждён или параметры отличаются от выбранных, файл удаляется, а игровое поле генерируется с нуля. Добавлена возможность сохранять текущие параметры игры. При закрытии и открытии игра запускается с последними выбранными параметрами и загружает сохранение игры если оно найдено и корректно. В начале игры или при загрузке сохранения игра становится на паузу до первого клика, в тайтле отображается текущее время, потраченное на данную карту. Как только игра закончена (победили/проиграли), то сохранение текущей игры удаляется. Добавлена форма ввода “Имени рекордсмена” для сохранения в списке “Чемпионов”. Добавлена поддержка формата mp3. Добавлены 4 мелодии формата ZX Spectrum с оригинальных дискет для окна «О игре». При открытии окна «О игре», треки чередуются по очереди (музыка играет по кругу пока не закрыть окно, при этом сама игра становится на паузу, таким образом можно подумать над очередным ходом под ностальгические мелодии). Добавлены звуки: тиканье таймера и взрыв бомбы. В папке “data” файлы расположены по типу: “save” и “sound”. Если побит рекорд, открывается окно ввода “Имени рекордсмена”, после чего открывается список “Чемпионов”. Оптимизирован размер сохранений игры (теперь они весят в 4 раза меньше). Добавлено отображение версии и билда игры в окне «О игре». |
|||
Явный Сапёр Философия сапёра | + 20 | ||
ничего новому ничего То, что жеребёнок рождается и почти сразу начинает ходить, а человек рождается и по сути ничего пока не может, по той же причине рыбки после рождения сразу умеют дышать под водой, чего не может ни жеребёнок ни человек. Суть простая - в каждый объект мироздания закладывается не только "операционка" дос, виндоус, мак ось или *никс, но и уже присутствуют самые 2 важные вещи: начальная аппаратная комплектация и биос. от этого и зависит то, что в последствии потянет данная система, какой объём памяти и скорость процессора, какие средства ввода/вывода. Многие животные имеют шерсть, чтобы не замёрзнуть, когти и бивни как оружие, жабры для возможности дышать под водой, крылья чтобы парить в небесах, человеку же дан разум, чтобы придумать акваланг для дыхания под водой, самолёт для полётов в небе, корабль для плавания по воде и т.д. и т.п. поэтому сравнивать разные объекты бесполезно, каждый выполняет свою задачу, а вместе они создают баланс бесконечности =) |
|||
J8. Циклопы LOOP - Развёртка цикла | + 20 | ||
сравнительному анализу работы алгоритмов для последующей оптимизации кода на языке Java ничего Отличный урок, очень полезное знание! з.ы. на первом скриншоте последнее сравнение из урока, на втором скриншоте ускорил в 2 раза скорость работы фазы 1 |
|||
J8. Циклопы LOOP - Цикл for/each | + 20 | ||
аналогу foreach найти время подобная ситуация с переполнение лимита типа переменной у меня было лет 16 назад на занятиях по Паскалю, в цикле шаг был не 1, а больше и типа переменной для шага был byte, при запуске приложения рисовалось в консоли что-то звёздочками, уже не помню что, так вот, первая половина рисовалась норм, а дальше начиналась свистопляска, после некоторого времени понял, что тип надо сменить на word =) с тех пор с циклами и типами переменных очень внимателен |
|||
J8. Циклопы LOOP - Цикл for | + 20 | ||
особенностям цикла for в Java найти время на скриншоте показана оптимизация сдвоенных циклов единой переменной index з.ы. больше всех понравилось тем, что можно определить переменную, вначале использовать её в одном цикле, после чего что-либо с ней сделать и использовать дальше по кому либо в других циклах либо ещё где, и в конце узнать сколько было итераций с переменной index =) |
|||
J8. Циклопы LOOP - Вся коллекция циклов | + 20 | ||
цикл помогает организовывать обработку динамических очередей(массивов), при этом код выглядит компактно и читабельно |
|||
Интернет-магазин ФИНАЛЬНЫЙ УРОК | + 21 | ||
повторил старое ничего Повторил php + NySQL, курс оказался очень коротким, нужно добавить ещё уроков 75 =) чтобы получился полноценный мини магазинчик, в целом курсом доволен, даёт важные знания как начать создавать онлайн проекты с нуля, но продолжение сезона напрашивается само собой =) |
|||
Интернет-магазин Запись имени файла в базу | + 1 | ||
повторение старого ничего так как ранее была реализована система удаления на сонове задержки в 15 минут, в базе остаются помеченные как удалённый записи, теперь при добавлении товара вначале используются помеченные записи и обновляются данные, если же их нет, тогда добавляется новая запись в БД на скриншоте пошагово показано: 1 - добавили товар, но не прикрепили фото (сообщение) 2 - показано, что товар добавлен, но фото нет 3 - окно редактирования товара, прикреплено фото 4 - сообщения о процессе привязки фото и обновлению товара в БД 5 - в списке товаров уже видно фото у товара з.ы. если фото не прикрепили, то остаётся старое фото (если оно было) провёл косметику дизайна и кода |
|||
Интернет-магазин Сохранение файла | + 1 | ||
повторение старого найти время добавил папку fonts с файлом шрифта внутри для использования при наложении водяного знака поверх заливаемых фото добавил функции обработки/проверки добавляемых фото с наложением водяных знаков (создал её много лет назад, пришлось немного модернизировать под текущие нужды) множество проверок при добавлении фото (если всё ок, будет положительный лог на экране, спустя 2 сек редирект к списку) добавил иконки для логов ошибок (зелёная галочка или красный кирпичик соответственно) |
|||
Интернет-магазин Отправка файла | + 21 | ||
повторение старого найти время я уже чуть не написал систему обработки загружаемых картинок, но потом хорошо подумал и понял, что тут надо показать дамп массива _FILES, всё супер, идём дальше |
|||
Боты Сапёра ИГРА - Бомбовые алгоритмы | + 20 | ||
повторение старого ничего заменил gameOver на gamePhase, так как 3 игровых фазы и bool было маловато неверно проставленные флажки превращаются в ложные мины (перечёркнутые) при подрыве на настоящей в тайтле приложения после начала игры отображается статистика: сколько осталось открыть безопасных клеток до победы и сколько осталось флажков, если флажки кончились, вместо них ставятся только вопросики (если флажки ещё есть, можно перебирать вопросик или флажок) добавил сообщение о победе/проигрыше, после чего игра начинается с нуля рефакторинг кода (повторяющиеся действия вынес в общий метод/функцию) |
|||
Боты Сапёра ИГРА - Алгоритмический подход | + 20 | ||
повторение старого найти время добавил метод отображения всех мин, если подорвался на одной |
|||
Боты Сапёра ИГРА - Зелёный флаг | + 21 | ||
повторение старого найти время при клике правой клавишей мыши добавил возможность ставить вопросик если там мина, то открывается взорвавшаяся (на красном фоне) |
|||
Боты Сапёра ИГРА - Карта минного поля | + 21 | ||
повторение пройденного найти время для отображения данных из map[,] использовал .BackgroundImage, а для top[,] использовал .Image, для этого добавил в ShowBox() доп параметр (соответственно в делегат тоже) и разделил ShowPicture() на ShowMap() и ShowTop() з.ы. ну и все сопутствующие изменения в коде для работоспособности данного метода формирования картинки поля =) всё супер, идём дальше =) |
|||
Боты Сапёра ИГРА - Матрица картинок | + 20 | ||
динамически размещать панель, а на ней объекты так же ничего панель и боксики на панели добавляются динамически добавил метод ресайза при максимайзе формы, при возврате из максимайза обратно ресайз при изменении размера формы происходит в конце ресайза (т.е. тянешь форму, ничего не происходит, отпустил мышь, ресайзунлось) |
|||
Боты Сапёра ИГРА - Классные мины | + 20 | ||
повторение пройденного ничего Отлично, идём дальше |
|||
Боты Сапёра ИГРА - Минная картотека | + 20 | ||
повторил старое найти время всё супер, идём дальше |
|||
Без конкуренции VIP урок. Бесплатная польза | + 20 | ||
закрепление полученных знаний ничего Один из подобных случаев случился весной 2016 года, а началось всё в декабре 2015, обратились ко мне по поводу уникального проекта, но чтобы его реализовать, управлять и пустить в массы, необходима соц. сеть, кто-то посоветовал им купить спец. движок по аналогии с ютубом, поглядел его я сообщил, что он закрытый на 99%, т.е. дописать его или модифицировать не получится. Сказали, что нужен открытый код, чтобы могли в будущем его модернизировать и то что он закрытый наводит сомнения, а вдруг автор добавил туда код, чтобы можно было получить доступ и продать его третьим лицам. Предложил бесплатные альтернативные движки по аналогии с ютубом, на каждый потратил не менее 2 недель, чтобы создать базовый функционал и продемонстрировать движок в действии. В каждом из них что-либо не нравилось. В процессе дискуссий оказалось, что им нужна именно классическая соц. сеть, а не видео-хостинг. Начали перебирать бесплатные движки. На каждый из них потратили не менее 2-3 недель. После того как очередной движок чем-то не устроил, я предложил вариант написания соц. сети с нуля под ключ и нужды, без лишнего мусора, заточенный под поставленные задачи и в любой момент можно было добавлять необходимый функционал, на том и порешили. Ранее встречались в интернет-клубе, там звонили в тех. поддержку провайдера по поводу Премиум SSL сертификата, заняло это не мало времени, хоть у провайдера и была русскоговорящая тех. поддержка, но без переводчика в итоге не обошлось, так как обсуждалась юридическая терминология, то последние переговоры уже проходили без моего участия. Выбрали дизайн, спустя месяц движок был готов, внедрял функционал. Под конец работа человек уже приезжал ко мне домой и мы минимум по 12 часов уделяли разработке, он был моральной поддержкой. Обсуждали что и как лучше сделать, он записал начальные видео для рекламы проекта. Я создал логотип и обработал все видео, добавил логотип и название сайта. Общей сложности потрачено было 4,5 месяца. Заметив что с оплатой затягивает, решил поинтересоваться и получил ответ, который поставил точку в нашем сотрудничестве. Но за всё это время я получил колоссальный опыт, создал себе новый сервер на базе линукс, модернизировал все ранее созданные сайты под последнюю версию php, что позволило ускорить работу сайтов в разы и перешерстить свой старый сервер. з.ы. задумка человека мне понравилась, но если бы он сразу сказал, что денег нет и т.д. и т.п. не придумывая спонсоров, я бы помог, но выделяя свободное время не откладывая дела, которые за это время накопились и пришлось разгребать их в усиленном темпе. С тех пор не начинаю новый проект, пока не перечислят предоплату. Но я всегда открыт для интересных проектов, в которых могу принимать участие по мере свободного времени. |
|||
Боты Сапёра ИГРА - Счастливый сапёр | + 20 | ||
провторение старого ничего отличная игра, замечательный курс, позитивное видео, идём дальше... |
|||
Без конкуренции ФИНАЛЬНЫЙ УРОК | + 2 | ||
ничему новому ничего результат встречи: создание сайта визитки, приложение подготовки готовой отчётности для отправки по почте (оптимизация размера) з.ы. спасибо за бесценный опыт и отличное приложение |
|||
Без конкуренции Подводим итоги | + 20 | ||
DataGridView и всем что с этим связано ничего провёл косметику таблицы для редактирования доступна колонка "Количество", при её изменении автоматически пересчитываются нужные ячейки и Общее количество |
|||
Без конкуренции Анализ текстового файла | + 20 | ||
повторение старого ничего косметика центровки ячеек заменил хак ".Replace('.', ',')" на ", CultureInfo.InvariantCulture" (использовал его в других проектах, но на вебинаре надо было быстро решить проблему, не всегда быстрое решение лучшее) |
|||
Без конкуренции Регулярная декомпозиция | + 20 | ||
повторение старого ничего косметика начальных значений ячеек в шапке выравнивание значений в ячейках при добавлении новых данных цвет фона ячеек/строк чередуется по правилам чётное/нечётное |
|||
Без конкуренции Главный Анализатор | + 20 | ||
повторение старого ничего поигрался с установкой цвета фона для ячеек или таблицы в целом установил цвет фона по-умолчанию устанавливается каждая нечётная ячейка в шапке другим цветом изменил стиль отображения текста в шапке добавил обнуление ВСЕХ переменных (некоторые были пропущены, учёл) добавил формирование шапки выше добавления списка файлов, чтобы не убегало вниз если список будет очень большим |
|||
Без конкуренции Настройка таблицы | + 20 | ||
повторение старого ничего все названия на русском языке добавил функцию Clear() всё супер, идём дальше |
|||
Без конкуренции Правильный ответ и форма | + 21 | ||
закрепление старого ничего как обычно, создал многослойную иконку в фотошопе, идём дальше |
|||
Сетевые технологии Мой собственный браузер | + 22 | ||
работе с webBrowser ничего как видно из скриншота, домашняя страничка хранится в файле jgpBrowser.exe.config, редактировать можно как вручную, так и через Properties->Settings, можно добавить одноимённую переменную с адресом, как было сделано для ya.ru в самом уроке, можно кастомный формат хранения настроек браузера, перечислять можно долго, смысл не меняется, где-то хранить, откуда потом можно достать =) з.ы. как видно на скриншоте, добавил адресную строку, при вводе адреса и нажатии на Enter, загружается введённая страничка, если она существует (добавлена проверка, при которой добавляется http:// вначале или нет, зависит от введённого адреса) |
|||
Сетевые технологии Презентация курса | + 20 | ||
ничему ничего в 2016 году слышать фразу ДИСКЕТА как-то непривычно, кто-то их ещё использует? нет, у меня они есть, в силу надобности, но я думаю уже давно все перешли на флешки, даже болванки уже не актуальны з.ы. от этого курса, как и любого другого - жду новых знаний =) |
|||
Интернет-магазин Интерактивный список | + 21 | ||
ничему новому ничего 1 и 2 пункты сделал на прошлом уроке, как домашнее задание. добавил кнопку и функционал для удаления товара с возможностью отменить удаление в течении 15 минут =) идём дальше... |
|||
Без конкуренции Ручное выполнение задачи | + 20 | ||
294758.5 мм или 294.7585 метров з.ы. доработал консольное приложение, которые было написано перед началом следующего урока, см. ссылка на скриншот: https://yadi.sk/i/5Fg7jDY7ueX45 |
|||
Без конкуренции Реклама VIRI | + 20 | ||
Название фирмы: UAB "VIRI Technologija" Фирма занимается проектированием и производством металлических конструкций (ЛСТК) для различного рода сооружений. Предоставляет саморезы для сборки металлических конструкций (ЛСТК). Сборка и монтаж каркаса из металлических конструкций (ЛСТК) по подготовленным компанией монтажным чертежам. Тепло- и звукоизоляция металлических конструкций (ЛСТК). |
|||
Без конкуренции Как избежать конкуренции? | + 21 | ||
после вебинара уже выполнил работы для: Александра, Сергея. в ближайшее время ожидается встреча с: Владимиром, Анатолием, Евгением. до вебинара начал разрабатывать проекты для: Льва, Анджелы и Вадима. |
|||
Явный Сапёр Карта местности | + 21 | ||
ничему новому найти время нужно создать второй массив для хранения данных о том, открыта клетка или нет, этот вариант предлагал на вебинаре и его же использовали в версии на C#, так что моё мнение не изменилось, а только подкрепилось =) |
|||
Явный Сапёр Радуга картинок | + 21 | ||
создавать кастомные панели, в которых можно рисовать ничего создал кастомный класс панели, перенёс туда цикл рисования текстур боксиков добавил панель в форму тем самым нет необходимости в отступах и лэйбл отображается корректно внизу экрана =) з.ы. не мог, чтобы не сделать так, как планировалось! супер урок, идём дальше... |
|||
Явный Сапёр Окно проекта | + 21 | ||
использовать IntelliJ IDEA для разработки, создание базовой формы ничего Отличное IDE, есть опыт использования Eclipse и Android Studio |
|||
Явный Сапёр Блок-схема | + 21 | ||
ничему новому найти время разделил схему на 3 части, в каждой части основные моменты |
|||
Интернет-магазин Редирект на список | + 1 | ||
ничему новому ничего добавил функцию редиректа (в ней 3 вида редиректов, использован редирект со временем в 2 секунды, чтобы было видно сообщение о добавлении/обновлении записи в БД или ошибке, малоли) добавил несколько стилей для отображения "Списка товаров" (+ наследование осталось) добавил чередование фона товаров в списке добавил кнопочки "Изменить" которые ведут на редактирование товара, напротив которого её нажали добавлена кнопка "Добавить" вверху-справа, чтобы открылась пустая форма для добавления нового товара перенёс файл dbase.php в папку "include" и туда же добавил функцию редиректа в файле functions.php |
|||
Явный Сапёр Вступление | + 20 | ||
ничему новому ничего Отличный вебинар был =) |
|||
Интернет-магазин Нет картинки | + 21 | ||
ничему новому ничего полезная фишка, с прошлого урока вернул обратно HTML код картинки, в переменной теперь хранится имя файла, идём дальше |
|||
Интернет-магазин Значения по умолчанию | + 20 | ||
ничему новому ничего по-умолчанию используемые переменные сделал пустыми, а в поля формы добавил placeholder, он отображается если ничего не ввели, как только ввели данные, его не видно, эдакая подсказка, какое поле для чего, так же если картинки нет, даже у существующего товара, то не будет отображаться квадратик "не найденной картинки" =) |
|||
Интернет-магазин Сохранение изменений | + 21 | ||
ничему новому ничего Если установлен GET, то SELECT запрос произвожу в любом случае. Если нет POST запроса, то используется для отображения текущего товара в форме, если же POST запрос был, то проверяется есть ли товар с таким айди в БД или нет, если есть, то данные о товаре обновляют, если нет, то добавляется новая запись. з.ы. см. скриншот. |
|||
Интернет-магазин UPDATE товара | + 20 | ||
ничему новому ничего выполнил задания со звёздочками, см. скриншот |
|||
Интернет-магазин Товар на форме | + 20 | ||
ничему новому ничего пункты 2, 3 и 4 ещё на пролом уроке сделал, поэтому просто выполнил пункт 1, добавил картинку цветных шариков и обновил в БД данные по имени файла и скриншот =) |
|||
Карточки памяти Отображение карточек | + 21 | ||
подключать mp3 файлы, повторение старого найти кадры ко всем персонажам (для троих пришлось запускать игры Dizzy на эмуляторе, чтобы найти новые кадры для анимации) разработана уникальная иконка для формы и банарника (как обычно в фотошопе) так же был создан в фотошопе игровой фон, стилизованный под ZX Spectrum подготовлены в одинаковом стиле текстуры персонажей и створок для окошек добавлен счётчик времени прохождения игры (начало подсчёта после первого клика) добавлен счётчик количества кликов до окончания игры (в конце отображается статистика времени и кликов) добавлена анимация открывания шторок, за которыми виднеется персонаж добавлены звуки открывания/закрывания шторок добавлены мелодии: до начала игра (первый клик), Правила игры, О игре, Победа и Дискотека перед сбросом и началом новой игровой сессии добавлена анимация персонажей, если удалось найти двойника (радуются этому) из-за добавления анимации шторок, выявился баг, который был устранён шторки открываются асинхронно, т.е. можно не ждать завершения анимации, кликать с любой скоростью по шторкам звуковые файлы решил не добавлять в ресурсы бинарника, создал отдельную папку data и конвертировал их в форма mp3, чтобы меньше занимали места =) название status мне тоже не очень понравилось, согласен с Магистром, поэтому переименовал в phase в пункт меню Игра был добавлен новый пункт Звук, с его помощью можно включать/выключать звуковые эффекты (индикатор Галочка если звук есть) и ещё куча недокументированных правок =) з.ы. нагляднее в видео |
|||
Карточки памяти Подготовка формы | + 21 | ||
ничему новому ничего Отличный урок, как всегда всё ясно и понятно. Добавил в эту игру всё тех-же героев Dizzy, которых уже видели в игре "Скорость Реакции", подготовил в фотошопе все необходимые текстуры, подготовил форму, переходим ко второй части =) |
|||
Интернет-магазин SELECT из РНР | + 20 | ||
ничему новому ничего перенёс pre между тегами body из-за того, что плыл дизайн итоговой странички =) з.ы. теги title и link переносились body, теперь всё ок |
|||
Интернет-магазин INSERT из РНР | + 20 | ||
ничему новому ничего перенёс подключение к БД в отдельный файл dbase.php, а то что это он у нас бесхозно валяется =) так же добавил проверки коннекта к БД/Серверу, если они успешны настраиваются параметры языка и кодировки (люблю я utf8) в прошлых уроках держался, в этом уже не выдержал, хотелось добавить товары на Русском языке =) |
|||
Демо софт Вам телеграмма! | + 20 | ||
Ничему новому ничего Хорошая идея, распараллеливать задачи общения между разными программами =) с друзьями так же делаем |
|||
Интернет-магазин Форма Товара | + 20 | ||
ничему новому ничего С виду вроде простой урок, но когда увидел задание со звёздочкой, понял, что времени займёт побольше домашнее задание =) |
|||
Интернет-магазин Таблица с Картинками | + 20 | ||
ничему новому ничего Коротко и ясно =) то что надо для урока фото-курса, ясная мысль и ничего лишнего з.ы. обработал в фотошопе все картинки, а то уж очень руки чесались, так как ширину сделали 100, то картинки сделал 200х200 из-за того, что при ресайзе они чётче смотрятся, не такие замыленные, если бы делал 100х100 качество в браузере было бы хуже, проверено временем =) з.з.ы. как видно их скриншота, занимаемое место картинка уменьшилось почти в 300 раз, это очень важно для сайта, быстрее будут грузиться на стороне клиента и трафика меньше на сервере расходуется в пустую, если сделать картинки 100х100 то можно ещё в 2+ раза уменьшить картинки, но это уже не критично |
|||
Интернет-магазин Картинки для товаров | + 21 | ||
ничему новому ничего Картинки подобрал, видимо в след уроках будем их приводить к единому размеру =) |
|||
Интернет-магазин Товары в таблице | + 21 | ||
ничему новому ничего Всё отлично, идём дальше =) |
|||
Интернет-магазин Подружить PHP с MySQL | + 20 | ||
ничему новому ничего хорошая последовательность уроков, отличная проверка на стальные нервы =) |
|||
Интернет-магазин Всё готово для работы | + 20 | ||
ничего нового ничего предвкушаю продолжение интерсного курса =) |
|||
Интернет-магазин Запуск РНР | + 20 | ||
ничему новому ничего залил на свой старенький сервачёк, пока что и версии php 5.1 хватает, если не будет хватать, перенесу на новый и продолжу там реализацию =) |
|||
Интернет-магазин SELECT запросы | + 20 | ||
ничему новому ничего Общая сумма всего товара SELECT SUM(`price`) FROM `ware`; |
|||
Интернет-магазин phpMyAdmin | + 22 | ||
ничему новому найти время так как в этом уроке нужен phpMyAdmin, решил скачать последнюю версию в zip-архиве с оф. сайта, распаковал на стареньком сервере, не запустился, не понравилось, что старая версия php, ок, залил по ftp на новый сервер, настроил, подключаюсь, ругается что MySQL старая версия, естественно, она у меня давно не обновлялась и версии 5.1.59, пока для нужд хватало, ну ладно, решил скачать 5.5.51, минимальная версия которая нужна для последней версии phpMyAdmin, поставил, перенёс БД, настроил конфиг по аналогии со старой версией, кое что новое в конфиге пришлось до настроить, так как не хотелось работать с моими, годами отточенными, настройками, поэтому изучил мануалы новой версии, настроил так, как мне надо и новые параметры, после чего удалось залить дамп БД с версии 5.1.59 в версию 5.5.51, после чего авторизовался через phpMyAdmin и добавил 10 записей, конечно можно было быстро это сделать через Navicat, но зачем нам лёгкие пути? phpMyAdmin - это бесплатная панель управления БД которая есть на каждом хостинге, поэтому обязательная вещь для изучения, я хоть её и знаю, но решил поставить, чтобы поглядеть, что нового в последних версиях, а то на хостингах обычно старьё. з.ы. кстати, заметил, в этом уроке на скриншоте поля price и info поменяны местами, хотя задачи таковой небыло пока что, к чему бы это =) |
|||
Интернет-магазин Добавление товаров | + 21 | ||
ничему новому ничего так как опыт использования MySQL с 2003 года, решил использовать методы добавления записей способом, который считаю наиболее верным, даже если в будущем надо будет добавить колонки или менять какие-то местами, этот запрос будет работать, а значит минимум работы по исправлению ошибок, урок как и курс очень полезный, может быть открою в нём для себя что-то новое =) |
|||
Интернет-магазин Запуск базы данных | + 21 | ||
ничему новому ничего специально для курса поднял отдельную БД, нестандартный порт =) ничего, придётся чуток дописывать параметры коннекта, не критично, идём дальше... |
|||
Интернет-магазин Установка EasyPHP | + 21 | ||
ничему новому ничего на скриншоте софт, который я когдато позаимствовал для удобства мониторинга и перезагрузки сервера апач на своём первом сервере с виндой, так же есть второй сервер на лине, там свежее php, если этого будет не хватать, перенесу на линь проект, но думаю и его хватит, поэтому EasyPHP комплект не стал качать, так как всё необходимое уже имеется, настроено и работает уже многие годы, идём дальше |
|||
Оригами Хлопушка | + 1 | ||
ничему новому ничего было дело, когда-то в школе делали такие, саму хлопушку сделал уже давно по этому уроку, показал дочке, но вот добавить результат всё не было времени, хлопушка жива и как новая, поэтому решил всё же закончить начатое, пока она в руках |
|||
Мат Конём и Слоном Белая и чёрная очередь | + 21 | ||
ничему новому найти время присказка закончилась, началась сказка =) |
|||
Мат Конём и Слоном Псевдо-алгоритм перебора | + 21 | ||
ничему новому найти время да, пришлось повозиться с рисованием блок-схемы, конечно можно оптимизировать и довести до идеала, но времени это может занять ещё больше =) |
|||
Мат Конём и Слоном Чистый ход | + 21 | ||
ничему новому найти время решил разделить на 2 части функцию бишопа, см. скриншот з.ы. спасибо, очень радует этот курс, чем дальше, тем интереснее |
|||
Мат Конём и Слоном Рефакторинг кода | + 21 | ||
ничему новому найти время на обоих скринах видно функцию onKing, на том, где комбинаций в консоли 232 верная функция, а на втором скрине где комбинаций 732 опечатка во второй строчке проверки расстояния между координатами (king2.y отнимается сам от себя) |
|||
Мат Конём и Слоном Две структуры | + 22 | ||
ничего нового найти время немного порефакторил, но чувствую, что на след уроке уже будет нечем заняться, поэтому решил отложить до след урока =) |
|||
Мат Конём и Слоном Ворошиловский слон | + 20 | ||
ничему новому найти время способов хранения информации великое множество, отличаются они удобством и размером хранимой информации из-за методов хранения, но бинарный вариант самый оптимальный, хотя и не самый простой |
|||
Мат Конём и Слоном Нотация Форсайта - Эдвардса | + 20 | ||
ничему новому найти время первый скрин с вариантами мата двумя конями второй скрин уже одна из 232 матовых комбинаций конём и слоном з.ы. есть над чем поработать (кстати, с двумя конями комбинации дублируются из-за того, что они меняются местами) |
|||
Мат Конём и Слоном Конь ходит буквой Гэ | + 20 | ||
ничего нового найти время найдены все позиции с королём и двумя конями, выведено в формате FEN см. скриншоты |
|||
Мат Конём и Слоном Королевское правило | + 20 | ||
ничему новому найти время 232 комбинации с учётом короля, коня и слона |
|||
Мат Конём и Слоном Перебор всех комбинаций | + 21 | ||
ничему новому найти время 6830292 комбинации при условии, что короли не стоят рядом и только белопольный/чёрнопольный слон! |
|||
Мат Конём и Слоном Постановка задачи | + 20 | ||
ничему новому найти время начало положено, идём дальше |
|||
Нано-игры ФИНАЛЬНЫЙ УРОК | + 1 | ||
ничему новому найти время доделал игрушку "Скорость реакции", стилизировал все игровые моменты, так же заменил месседжбоксы на внутриигровые окошки в стиле Диззи на Спекки, добавил больше анимаций окружения, подробнее на видео =) |
|||
Нано-игры Бот для Цифр | + 20 | ||
писать автокликеры на C# ничего просто бомбовый урок, ранее я писал подобное, но на ЭкшенСкрипт, C# приятнее! спасибо огромное, можно будет применить для выполнения однотипной монотонной работы, где нужно кликать только мышью, ТУДА-СЮДА, ТУДА-СЮДА... супер |
|||
Нано-игры Игра Цифры | + 20 | ||
использованию MenuStrip ничего добавил счётчик ошибочных кликов, счётчик потраченного времени на выполнение задачи, в конце отображается итоговая статистика с данными параметрами, отличный урок, узнал про менюстрип, полезная вещь |
|||
Нано-игры Скорость реакции. Алгоритм и рекорд | + 20 | ||
ничему новому ничего с огромным удовольствием доделал игрушку, можно было конечно ещё её улучшить с нескольких сторон, но я думаю уже не плохо получилось, подробнее в видео-отчёте, надеюсь вам понравится =) з.ы. Огромное спасибо за этот проект, Евгений Витольдович, очень стимулирует качественная проработка заданий и видео уроков, по сути применяю то, что было пройдено в прошлых уроках, поэтому начинаю всё сильнее уходить от обычного копирования задачи к своим модификациям |
|||
Нано-игры Скорость реакции. Три картинки по таймеру | + 20 | ||
ничему новому ничего выполнял этот урок играючи, просто мне напомнило игру на спектруме: "Поймай Диззи", вот решил реализовать что-то в этом стиле, уж очень мне Спекки дорог, надо отдать ему дань, поэтому подобрал картинки, обработал и подготовил всё в фотошопе, на скриншоте не видно того, что уже готово, всё увидите в окончательном варианте, но уже анимируется пламя факела и открываются двери, откуда выглядывают персонажи |
|||
Нано-игры Скорость реакции. Блок-схема | + 20 | ||
ничему новому ничего блок схему переделывал раза 3, придумал ещё один вариант, но уже времени нет переделывать ещё раз, в целом алгоритм понятен, по поводу картинок которые я выбрал, пусть это будет интрига =) сложно их прикрепить, так как я выбрал не 3 картинки, а много, из которых потом будет генерироваться итоговая картинка в самой программе, поэтому решил мозайку не показывать =) покажу уже итоговый вариант |
|||
Нано-игры Арканоид - Шарик и кирпичики | + 20 | ||
ничему новому ничего отличный урок по замечательной игре, спасибо огромное, получил массу положительных эмоций при реализации =) добавил информацию по количеству попыток (мячей) и количеству кирпичей на поле, так же 2 исхода событий основанные на оставшемся количестве попыток, более наглядно приложенном видео |
|||
Нано-игры Арканоид - Уровень и ракетка | + 20 | ||
управлению объектами с клавиатуры ничего проверку границ поля вначале написал сам, а потом досмотрел видео, я думаю разницы в производительности не особо будет видно, но решил использовать то, что ранее было сохранено з.ы. спасибо, интересный урок, великой классики, это первая игра, которую я написал сам ещё на спектруме, называлась она Бэтти, о названии Арканоид я узнал спустя ооочень много лет, но для меня эта игра всегда будет Бэтти =) |
|||
Комбинаторика VIP. Простые числа. Оптимизация алгоритма | + 20 | ||
делегатам и реализации сравнения работы функций ничего очень интересный урок, много полезного узнал, спасибо огромное =) |
|||
Комбинаторика ФИНАЛЬНЫЙ УРОК | + 23 | ||
ничему новому найти время подробнее в видео |
|||
Комбинаторика Динамика. Выход из Лабиринта | + 20 | ||
поиску в ширину и работе с очередями ничего отличный урок, конечно же сразу вспомнился урок по заливке области, но тут движение во все стороны намного больше похоже на растекании жидкости, спасибо и за урок работы с очередями, очень полезный, приходилось когда-то реализовывать аналогичное с добавлением в список и забирать первый, пока есть записи, а тут встроенная функция имеется для данных целей, отлично =) |
|||
Игры со словами Игры со словами | |||
обновлению элементов форм при их изменении для наглядности ничего очень интересный урок, реализовал свою версию игры, гдето между Постым Эрудитом и Сложным, но в неё играли в дестве, так же реализован алгоритм игры в Города, подробнее на видео |
|||
Комбинаторика Динамика. Счастливые билеты 20 | + 20 | ||
оптимизации вычислений при помощи динамического программирования ничего отличное завершение данное задачи, при замене long на ulong можно вычислить 22-значные билеты, вот и кончился лимит в 64 бит... когда-то казалось что 64 бит непреодолимая цифра, никогда не закончится, но не для таких задач =) з.ы. ждём 128 битную ось =) ну или хотя-бы 128 битную поддержку переменных (хотя можно самим реализовать подобное, когда-то мы таким эмитированием баловались, давно это было...) |
|||
Комбинаторика Динамика. Поле дураков | + 20 | ||
поиску оптимального пути при помощи динамического программирования ничего интересный урок, на курсе Бинарная жизнь было похожее в игре Жизнь =) |
|||
Комбинаторика Полуфинальный урок. Ответы на вопросы | + 20 | ||
ничему новому =) приложить фото =) 1 - все алгоритмы были интересные, но особенно: Заливка области, Спираль, Треугольник Серпинского, Кривая Гильберта, Счастливые билеты N, Много ферзей, Математические операции 2 - да, очень интересный курс, комбинированные задания заставили потратить не мало времени, было интересно 3 - замечаний нет, а вот пожелание: "удачи проекту, продолжайте в том же духе, отличный подход к формированию заданий" 4 - этот курс добавил новых знаний, а это самое ценное! 5 - зовут меня Воронин Иван Анатольевич, фото прилагается |
|||
Комбинаторика Комбинаторика. Математические операции | + 20 | ||
вспомнил рисование блок-схем алгоритмов, вычисление формул записанных в строчку ничего отличный урок, 9 версию блок-схемы прикрепил к работе, думал перерисовать её цветными карандашами, чтобы выделить каждую переменную своим цветом, но потом подумал, так хардкорнее =) спасибо за замечательный урок, немного модифицировал код |
|||
Комбинаторика Комбинаторика. Сложение букв | + 20 | ||
работать с кириллистическими переменными ничего кириллистические переменные как-то не привычно выглядят, да и переключаться между раскладками постоянно не удобно, сделали бы уже полностью кириллистические всё абсолютно, в 1С тавно такая поддержка, на любом языке коди, какой нравится больше, а по теме, очень интересные уроки, повторение мать учения =) |
|||
Комбинаторика Комбинаторика. Много ферзей. Демонстрация | + 20 | ||
визуализация алгорита в консоли ничего отличный урок, пришлось потратить несколько часов, но воссоздал алгоритм, подробнее на приложенном видео |
|||
Комбинаторика Комбинаторика. 4 x 4. Ладья x Ферзь | + 20 | ||
поиску комбинаций расстановки фигур на доске так, чтобы они не били друг-друга ничего интересные уроки, пригодится в процессе доработки шахматной эпопеи =) |
|||
Комбинаторика Комбинаторика. Счастливые билеты N | + 20 | ||
поиску более эффективного алгоритма для уже созданного ранее найти идеальный алгоритм нашёл, но уже после того, как выполнил задание в консоли робота Шарпа, очень интересный урок и не менее интересный курс, скачал книжку, прочитал, надо будет найти полное издание на досуге |
|||
Комбинаторика Комбинаторика. Счастливые билеты 6 | + 20 | ||
оптимизации алгоритмов сравнения со вложенными циклами ничего оптимизированный вариант выглядит не очевидно, ощущение, что в этом случае просто совпадение по итоговому количеству, для проверки был добавлен параллельный вывод счастливых чисел и стало всё ясно, мысленно всё ещё перебирались единицы, а на деле перебираются максимум десятки, а единица уже как остаток, который если в пределах 0..9 то является верным, логика это сила =) |
|||
Комбинаторика Рекурсия. Фракталы. Кривая Гильберта | + 20 | ||
рисовать Кривую Гильберта при помощи косвенной рекурсии ничего чтобы была красивая картинка, решил симметрично в каждой из 4 функций увеличить шаг по середине в 2 раза, что вышло, видно на 2 скриншоте =) |
|||
НаноШахматы VIP. PHP - Рисуем буквы | + 20 | ||
ничему новому ничего в прошлом уроки приходилось мысленно представлять координаты и формировать координаты инициалов относительно размеров картинки, тут же после того как в пейнте сформировали список координат, очень легко и быстро скопипастить статичные данные, этот урок вторая часть, а урок в пейнте первая =) они дополняют друг-друга идеально з.ы. спасибо за уроки, очень интересные, даже если ранее уже это знал. всё равно приятно напомнить самому себе о том, что давно не использовал |
|||
НаноШахматы VIP. PAINT - Координаты отрезков | + 20 | ||
отображать сетку и линейки побокам ничего прикольный урок, пейнтом почти не пользуюсь с тех пор, как начал пользоваться фотошопом ещё лет 16 назад минимум, поэтому даже не знал или из-за того, что это было давно, не помню чтобы была возможность отображать сетку и линейки. полезные вещи =) з.ы. много времени ушло на прицеливание, чтобы координаты были красивые =) |
|||
НаноШахматы VIP. PHP - Создание картинки | + 20 | ||
повторение мать учения ничего хех, прикольный урок, давно я линиями ничего не рисовал со времён ZX-Spectrum и БК-0010 =) спасибо, поностальгировал |
|||
НаноШахматы ФИНАЛЬНЫЙ УРОК | + 2 | ||
работе с нодами, чилдренами и иже с ними при событиях перетаскивания объектов найти идеальное решение с переносом съеденых фигур в коробку да, пришлось повозиться с формированием идеальной структуры элемента перед тем как положить его в коробку, то пустышки лезли, изза того, что пустые клетки на поле, всё же имеют ноды, просто они пустые, пришлось дописать доп. проверки для того, чтобы в коробку добавлялись теги только в том случае, если они имеют данные з.ы замечательный курс, много полезного для себя изучил, спасибо огромное, Евгений Витольдович, ко всем урокам подходите легко играючи =) |
|||
Комбинаторика Рекурсия. Фракталы. Треугольник Серпинского | + 20 | ||
рисовать Треугольник Серпинского рекурсивным методом ничего интересный урок, спасибо, изучил оба метода генерации Треугольника Серпинского, как обычный, но он перерисовывает повторно линии, так и перевёртыша, который понравился больше, только базовый треугольник нарисовать надо, так сказать точку отсчёта =) |
|||
Комбинаторика Рекурсия. Фракталы. Спираль | + 20 | ||
фракталам в рекурсии ничего очень интересный урок, можно вечно эксперименты проводить, напомнило 3Д игры на спектруме =) хотя там линий было поменьше |
|||
Комбинаторика Рекурсия. Обратный отсчёт | + 20 | ||
рекурсии ввода данных ничего очень похоже на алгоритм в уроке заливки, спасибо, позновательно |
|||
Комбинаторика Рекурсия. Общий делитель | + 20 | ||
нахождению наибольшего общего делителя двух чисел при помощи рекурсии ничего очень интересный урок, спасибо з.ы. каждый урок всё лучше и лучше показывает смысл рекурсии |
|||
Комбинаторика Рекурсия. Числа Фибоначчи | + 20 | ||
вычислять Число Фибоначчи при помощи рекурсии ничего нагляднее показано использование рекурсии, спасибо |
|||
Комбинаторика Рекурсия. Факториал | + 20 | ||
вычислению факториала при помощи рекурсии ничего коротко и ясно, спасибо |
|||
НаноШахматы JavaScript - Я тебя съем! | + 20 | ||
работать с дочерними нодами (проверять наличие, удалять, добавлять) ничего очень полезное знание, спасибо за урок |
|||
НаноШахматы JavaScript - Завершение хода | + 20 | ||
работе с событем ondrop ничего не думал, что всё настолько просто, видимо уже многое делается автоматически, остаётся лишь указать пуль |
|||
НаноШахматы JavaScript - Посадку давай! | + 21 | ||
работе с событием ondragover ничего обычным способом курсор не захватывался, пришлось снять на видео, потом нужный кадр сохранить в файл и перенести курсор в фотошопе куда надо, получилось не фонтан, но нагляднее, чем без курсора, а я так понял, что в этом уроке именно это означает, что посадка разрешена... |
|||
НаноШахматы JavaScript - Тронул? Коди! | + 20 | ||
обработке события ondragstart ничего отлично, идём дальше |
|||
НаноШахматы HTML5 - Поднятие фигур | + 20 | ||
атрибуту draggable в теге span ничего полезная вещь, с каждым уроком интрига только растёт =) |
|||
НаноШахматы PHP - Превращение букв | + 20 | ||
ничего нового ничего в прошлом уроке сразу подумал о switch, но решил просто подменить массивы, так как задача была вывести вместо буков иконки фигур, но лучше конечно так, чтобы в массиве хранились FEN коды, а визуализация была более наглядная, на будущее пригодится при работе с FEN кодами |
|||
НаноШахматы PHP - Массив для фигур | + 20 | ||
повторение массивов ничего отличный урок, подменил один одни массивы другими и вуаля =) |
|||
НаноШахматы PHP - Циклы для клеток | + 20 | ||
узнал о функции ord() ничего спасибо, очень интересная функция, пригодится в будущем, ранее не попадались задачи для этой функции, а я всё изучаю по мере надобности так как времени нет штудировать всё подрят, спасибо ещё раз, идём дальше |
|||
НаноШахматы HTML - Фигуры на Доске | + 20 | ||
ничему новому ничего красота =) |
|||
НаноШахматы CSS - Шахматная доска | + 20 | ||
повторение div-вёрстки ничего спасибо за урок, интрига растёт |
|||
НаноШахматы HTML - Шахматные фигуры | + 20 | ||
использовать айди уникод символов в теле html ничего Спасибо, начало уже радует, ведь символы меньше весят, чем грузить текстурки даже если через CSS |
|||
Бинарная жизнь VIP урок. Игра Жизнь | + 20 | ||
динамическому программированию на примере игры жизнь доработать фyнкцию around2 c иcпользовaнием динамичeскoго программирования. просто БОМБОВЫЙ урок, спасибо огромное, не мало я времени провёл, больше всего отняло время функция на основе динамического программирования, до утра просидел но довёл до конца, мысленно всё было реализовано, надо было отточить и обкатать, в итоге что классическая функция, что на основе динамик. программирования работают идеально при этом поле теперь единое целое, без границ, что очень хорошо видно на видео приложенном к данному заданию з.ы. ничего нигде не подглядывал, сам сидел всю ночь до утра и пилил, выпито: 1 литр кофе сделал иконку в фотошопе, так же сделал гифку(которую запрещено прикреплять, печаль, прикрепил 1 кадр в жпеге) для показа пошагово как рисовал на поле клеточку в фотошопе |
|||
Игры на JavaScript Пасьянс | + 20 | ||
закрепление полученных знаний ничего сократил код, добавлением функции did(id) из прошлых уроков, решил головоломку довольно быстро, очень интересный курс, побольше бы таких, коротко и ясно =) з.ы. очень простая игра, 4 клика и победа, ранее в неё не играл, но прошлая игра была сложнее, так как была двумерная |
|||
Бинарная жизнь ФИНАЛЬНЫЙ УРОК | + 20 | ||
писать мысли кратко сформулировать мысль Необходимо двигаться, экспериментировать, познавать новое, уходить от монотонности, тогда жизнь будет ярче =) з.ы. не тот утонет, кто упал в лужу, а тот, кто остаётся в ней лежать... |
|||
Бинарная жизнь Смысл жизни | + 21 | ||
Смыслу жизни =) ничего Очень интересная подача информации, спасибо огромное |
|||
Бинарная жизнь Новое поколение | + 20 | ||
работе с краями: int cat = 4 * (arr[(j - 1 + size) % size] ? 1 : 0) + 2 * (arr[(j) ] ? 1 : 0) + 1 * (arr[(j + 1) % size ] ? 1 : 0); ничего спасибо за урок, очень полезные знания для себя почерпнул =) |
|||
Бинарная жизнь Конструктор организма | + 20 | ||
избавлению от static, более быстрой работой в построении строки через StringBuilder ничего Спасибо за ваши уроки, даже если ничего сложного, всегда узнаешь что-то для себя новое =) |
|||
Бинарная жизнь Правила игры | + 20 | ||
Вспомнил Excel ничего всё так же относительно как и взаимосвязано, любые изменения в одном месте повлекут за собой изменения в других сферах с которыми тесто связано, даже если это не очевидно. под лежачий камень, вода не течёт... з.ы. как видно из видео, я случайно ввёл программу и начальные данные которые привели к окончанию 0000000000 на последнем этапе =) |
|||
Демо игры Лабиринт 2D - игра | |||
работа с событиями объектов форм взаимодействие форм между собой ничего очень порадовала задача, будем её дорабатывать, надо будет добавить редактор уровней, дочке понравилась игра, хочет рисовать уровни для неё =) первые два уровня стандартные третий уровень с 3 ключами разного цвета, но по сути их надо просто собрать все, чтобы открылась дверь к финишу если прошёл уровень без единой ошибки, играет музыка из Марио, если хотябы одна ошибка, просто рыбка в воду нырнула. Все важные объекты появляются на поле спустя 1 секунду после начала уровня (дабы устранить баги и случайное прохождение/проигрыш уровня, которые были замечены в процессе тестирования) |
|||
Демо игры Лабиринт 2D - меню | + 20 | ||
using System.Media, работой со звуками ничего иконка в своём стиле обработал в звуковом редакторе звуковые файлы (добавил пасхалку на будущее) собрал картинку для меню из нескольких картинок в фотошопе, чтобы было веселее =) очень интересная серия уроков, пригодится =) |
|||
Комбинаторика Рекурсия. Главный секрет | + 20 | ||
Кривой Гильберта Вспомнить как чертить на бумаге, а не на экране =) Очень познавательно, спасибо |
|||
Комбинаторика Рекурсия. Вступление | + 20 | ||
повторение мать учения =) найти "интересные" картинки рекурсия это когда функция в какойто момент может обратиться к самой себе, эдакая матрёшка при этом размер этой функции-матрёшки зависит от её самой |
|||
Комбинаторика Рекурсия. Заливка области | + 20 | ||
рекурсии ничего решил добавить перетасовку последовательности проверки пути при каждой рекурсии движения, количество запросов в целом не изменилось, но само по себе движение стало хаотично аля Броуновское =) |
|||
Демо игры Картинка с секретом | + 20 | ||
работа с формами, ранее писал только консольные приложения Ничего обработаны в фотошопе картинки для фона +секретная добавлена иконка приложения (создана в фотошопе на основе собственного шаблона для иконок под iPhone) реализован алгоритм отображения секретной картинки: 1 - кникнуть правой клавишей мыши по фону 2 - провести мышью в левом-верхнем углу фона (между кнопкой Тропинка и краем окна приложения) 3 - нажать кнопки в последовательности: Домик->Водопад->Тропинка->Водопад будет отображена секретная картинка (если всё сделали верно) з.ы. на видео-уроке была использована 2013 студия, у меня она тоже есть, чаще всего пользовался 2010, но 2012 и 2013 поставил для изучения новых фишек и перехода на передовые технологии, хотя 2010 хватает для своих задач |
|||
Демо софт Вступительное слово | + 21 | ||
Базовому пользованию интерфейсом данного сайта Ничего если последнее приложение вообще, то это была обучалка рисованию на Андроид, а если для 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-код? | |||
|