Online обучение c#

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

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

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

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

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

Дата Видеоурок Результат
2022-01-04 22:22 Новогодний python Подарки: рефакторинг и перемещение без рисования + 5 40 мин.
5:43 - без оператора turtle.pendown() в строке 22 прямоугольник тоже отрисовывается
Применили передачу аргументов в метод. Повторение получается более осмысленным, это радует

2022-01-04 20:22 Новогодний python Подарки: цвет коробки с подарком + 4 21 мин.
метод color ожидаемо красит линию и заполнение в зависимости от имен переданных аргументов
Вместо скобок джавы, пайтон использует табуляцию для определения строк кода в цикле.
С прошлых подходов это выглядит диковато, но привыкаешь без труда
В одиннадцатой строке кода (иллюстрация номер ноль) успел накуролесить на пустом месте. При вызове метода эндфилл забыл указать скобки и не мог понять, почему цветом не заливает.
2022-01-04 15:56 Новогодний python Подарки: вызов черепашки + 4 15 мин.
черепаха ходит как прикажут.
Вызовы методов для объекта в виде черепахи возвращают рисунок движения на расстояние переданное в форвард и повороты в градусах

2022-01-04 13:03 Новогодний python Подарки: создание проекта + 3 53 мин.
оператор print возвращает в консоли текст внутри двойных кавычек
F5 и экранная кнопка успешно запускает дебаггер

2022-01-04 12:05 Новогодний python О курсе и инструменты + 3 8 мин.
С новым годом, товарищи!
Установил python и IDE на старый пыльный лаптоп с операционной системой Windows 7 Starter. По этой причине свежий релиз пайтона не запустился, однако версия 3.8.6 встала и работает без нареканий.
VisualStudioCode оказался менее привередлив к операционке. Этот инсталлировал самый свежий на текущий момент ver. 1.63.2
Перестать лениться.
2021-12-25 18:59 Дневник успеха 2020-11-01 : Много спать – дело не знать. + 5 1 мин.
За эту неделю:

− Я не проверил ни одного отчёта :))

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

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

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

− Я не выполнил ни одного видеоурока :))

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


2021-11-10 14:36 Дневник успеха 2020-10-25 : Земелька черная, а белый хлеб родит. + 6 3 мин.
Периодически заглядываю на сайт посмотреть на развитие проекта.
Вижу среди  участников ни одного KF.
Отменили эту фичу или у них закрытый клуб в ином месте?
Но тренажер слепого набора как и прежде прекрасен.
За эту неделю:

− Я не проверил ни одного отчёта :)))

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

− Я не набрал ни одного текста :)))

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

− Я не выполнил ни одного видеоурока :)))

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

2021-10-31 11:36 Дневник успеха 2021-01-31 : Живет на горке, а хлеба ни корки. + 6 3 мин.
Размять пальцы - это ещё привлекает. Остальное застыло в граните здесь.
Даже дядя Валера забросил свой курс по Доске объявлений, хотя он был перспективным.

За эту неделю:

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

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

+ Я набрал 1 текст:
    1 => «Java - Вывод данных / Калькулятор», 1 ошибка

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

− Я не выполнил ни одного видеоурока :)

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

2021-08-04 09:09 Дневник успеха 2020-10-18 : Труд человека кормит, а лень портит. + 7 2 мин.
За эту неделю:

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

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

+ Я набрал 1 текст:
    1 => «C# набор / Первая программа», без ошибок

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

− Я не выполнил ни одного видеоурока :)

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

"Дивлюсь я на небо"
Украинская народная песня

Музыка В.Заремба Слова М. Петренко

Дивлюсь я на небо та й думку гадаю:
Чому я не сокіл, чому не літаю,
Чому мені, Боже, ти крилець не дав?-
Я б землю покинув і в небо злітав!

Далеко за хмари, подалі від світу,
Шукать собі долі, на горе - привіту,
І ласки у зірок, у сонця просить,
У світі їх яснім все горе втопить.

Бо долі ще змалку здаюсь я не любий,-
Я наймит у неї, хлопцюга приблудний;
Чужий я у долі, чужий у людей!
Хіба ж хто кохає нерідних дітей?..

Кохаюся лихом і щастя не знаю.
І гірко без долі свій вік коротаю;
Й у горі спізнав я, що тільки одна -
Далекеє небо - моя сторона...
Й у горі спізнав я, що тільки одна -
Далекеє небо - моя сторона...


2021-06-30 11:21 Дневник успеха 2020-10-11 : Кто любит труд, того люди чтут. + 6 3 мин.
За эту неделю:

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

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

+ Я набрал 1 текст:
    1 => «Java - Запуск / Скоростная Java», 1 ошибка

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

+ Я выполнил 1 видеоурок:
    1 => «Дневник успеха / 2020-10-04 : На чужой работе и солнце не движется.» за 10 мин.
Какая отличная поговорка! Наблюдал коллег, жаловавшихся на тянущееся на работе время. А тут и поговорка в тему прилетела. Не знал о ней. Век живи - век учись. Не перепутай )
− Я не собрал ни одного Мегахеша :)
На прошлой неделе знакомился с английской разговорной речью, на следующей продолжу в том же духе.

2021-06-30 11:14 Дневник успеха 2020-10-04 : На чужой работе и солнце не движется. + 5 10 мин.
За эту неделю:
+ Я проверил 9 отчётов у 5 формулистов.
− Я не написал ни одного сообщения :)
+ Я набрал 1 текст:
    1 => «Java - Запуск / Скоростная Java», 1 ошибка
− Я не решил ни одной задачи :)
− Я не выполнил ни одного видеоурока :)
− Я не собрал ни одного Мегахеша :)
Любопытно, эти Мегахеши ещё кто-нибудь майнит?

2021-04-19 13:07 Дневник успеха 2020-09-27 : Лучше тихо да вперед, чем скоро да потом назад. + 4 3 мин.
За эту неделю:

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

+ Я написал 2 сообщения 2 формулистам общим объёмом 1 килобуква

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

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

− Я не выполнил ни одного видеоурока :)))))

− Я не собрал ни одного Мегахеша, Биткоина,  Этериума,  Лайткоина, Дэша, Зэткэша,  Верткоина, Битшары, Риппла, и прочая, и прочая, и прочая и несть им числа :)))

2021-03-01 10:20 Дневник успеха 2021-02-28 : Уменье и труд все перетрут. + 6 1 мин.
https://www.youtube.com/watch?v=c6_iI_3ea-o

За эти тридцать лет:

− Я не проверил ни одного отчёта :o(

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

− Я не набрал ни одного текста :o(

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

− Я не выполнил ни одного видеоурока :o(

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

2021-02-08 16:12 Дневник успеха 2020-09-20 : Цыплят по осени считают. + 5 1 мин.
С любопытством наблюдаю со стороны, практика слепого набора до сих пор привлекает на сайт. Всем успехов!

За эту неделю:

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

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

+ Я набрал 1 текст:
    1 => «C# набор / Звездочки», 1 ошибка

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

− Я не выполнил ни одного видеоурока :)

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

2021-01-25 07:35 Дневник успеха 2021-01-24 : Без дела слабеет сила. + 6 1 мин.
Потренировался в слепом наборе - руки помнят Марафон. Спасибо отцу-основателю мегапроекта.
За эту неделю:

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

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

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

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

− Я не выполнил ни одного видеоурока :)

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

2020-10-31 18:34 Дневник успеха 2020-09-13 : Дай земле, то и она тебе даст. + 9 10 мин.
Хороший заголовок у урока, грех не вспомнить навыки )
Недельный счетчик баллов всех курсантов проекта дотянет ли до одной тысячи, вот вопрос. Бывало под десятку тысяч шкала набегала, то-то движуха здесь была. Иван Воронин метал молнии в проштрафившихся студентов )), Валерий жёг глаголом, Гена Кравченко из Луганска радовал буйством красок в отчетах. Роботика Джава, трансформировавшаяся в робота Шарпа подкидывала заковыристые вопросы, накрыв клавиатуры полотенчиками, курсанты почти в прямом эфире демонстрировали чудеса владения клавиатурой. Молодежь дерзила старшим, те в свою очередь делились знаниями, океан учебы бурлил. Не знаю, так ли сейчас, посмотрю отчеты, может там и живенько, судил по количеству баллов в недельной таблице, может и неверные выводы сделал.
Вот побил по клавишам, вспомнил как это делается, дабы не забывать.
Всем успехов в учёбе и здоровья!

За эту неделю:

− Я не проверил ни одного отчёта :)

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

+ Я набрал 2 текста:
    1 => «Java - Запуск / Главное заклинание», 4 ошибки
    2 => «Java - Вывод данных / Калькулятор», 6 ошибок

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

− Я не выполнил ни одного видеоурока :)

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

2020-10-14 10:58 Дневник успеха 2020-09-06 : Старание и труд к счастью ведут. + 5 12 мин.
Сенсей Валерий фотокарточкой в осеннем пензенском лесу напомнил о видеошарпе и его плюшках. Попрактиковался десятипальцевым набором в тренажере, на удивление даже выбил пару баллов.  С удивлением увидел турнирную таблицу, Анатолий не на первом месте в недельном зачете, сдал первую позицию, вай )
В Кирове зверствует корона, в магазины без маски не зайти, точнее зайти можно, но на кассе упорно требуют надеть на уши аксессуар. Холодает, на неделе обещают первый снег. Пока снега не видели с весны. Сегодня сухо и солнечно, пахнет морем. Откуда, непонятно, до ближайшего моря тысячи километров, а от нашей мелководной Вятки морским духом пока не пахло.
С деревьев опадают последние желтые листья. Листвы в эту осень очень много. Говорят обильная листва к обильному снегу. Проверим, верно ли говорят.
Что здесь нового? Затишье или бурная жизнь кипит где-то под ковром?
Всем успешного обучения! Будьте здоровы.
За эту неделю:

− Я не проверил ни одного отчёта :)

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

+ Я набрал 1 текст:
    1 => «C# набор / Ввод элементов матрицы», 3 ошибки

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

− Я не выполнил ни одного видеоурока :)

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

2020-08-31 19:55 Дневник успеха 2020-08-30 : Не все те повора, у кого ножи длинные. + 7 2 мин.
Однажды один фотограф обедал в гостях у одной очень милой супружеской пары.
Те, желая сделать комплимент, сказали - Ваши фотографии очень красивые. У вас, наверное, очень дорогой фотоаппарат.
Фотограф только мило улыбнулся в ответ и после обеда он подошел к хозяйке и тоже похвалил ее за обед.
- Обед был очень вкусным. У вас, наверное, очень дорогие кастрюли.


2020-08-23 00:48 Дневник успеха 2020-08-16 : Землю красит солнце, а человека труд. + 6 2 мин.
За что ценю этот ресурс, так это за разбуженные мозги и прививку к учебе. Ну и за слепой десятипальцевый метод набора русского и английского текста - однозначно! Слава Евгению!

За эту неделю:

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

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

+ Я набрал 3 текста:
    1 => «YESOLO on the Keyboard / 5 lesson», без ошибок
    2 => «Java - Запуск / Static», без ошибок
    3 => «Java - Запуск / Main», 1 ошибка

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

+ Я выполнил 2 видеоурока:
    1 => «Дневник успеха / 2020-08-23 : Под лежачий камень и вода не течет.» за 1 мин.
    2 => «Дневник успеха / 2020-08-09 : С курами ложись, с петухом вставай.» за 1 мин.

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

2020-08-23 00:45 Дневник успеха 2020-08-09 : С курами ложись, с петухом вставай. + 6 1 мин.
Вставать надо рано, но не с петухом )

За эту неделю:

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

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

+ Я набрал 3 текста:
    1 => «YESOLO on the Keyboard / 5 lesson», без ошибок
    2 => «Java - Запуск / Static», без ошибок
    3 => «Java - Запуск / Main», 1 ошибка

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

+ Я выполнил 1 видеоурок:
    1 => «Дневник успеха / 2020-08-23 : Под лежачий камень и вода не течет.» за 1 мин.

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

2020-08-23 00:43 Дневник успеха 2020-08-23 : Под лежачий камень и вода не течет. + 5 1 мин.
Если я в десятке, то есть о чем подумать, не так ли Кэп?

За эту неделю:

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

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

+ Я набрал 3 текста:
    1 => «YESOLO on the Keyboard / 5 lesson», без ошибок
    2 => «Java - Запуск / Static», без ошибок
    3 => «Java - Запуск / Main», 1 ошибка

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

− Я не выполнил ни одного видеоурока :)

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

2020-08-02 16:26 Дневник успеха 2020-08-02 : Сей овес в грязь — будет овес князь, а рожь хоть в золу, да в пору. + 6 2 мин.
В Неваде тучки и горы и хорошие дороги. Трава почти везде выцвела - стояла жара.
За эту неделю:

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

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

− Я не набрал ни одного текста :)

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

+ Я выполнил 1 видеоурок:
    1 => «Дневник успеха / 2020-07-26 : Без труда не выловишь рыбку из пруда.» за 1 мин.

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

2020-08-02 16:24 Дневник успеха 2020-07-26 : Без труда не выловишь рыбку из пруда. + 6 1 мин.
За эту неделю:

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

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

− Я не набрал ни одного текста :)

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

− Я не выполнил ни одного видеоурока :)

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

2020-07-19 12:55 Дневник успеха 2020-07-19 : За двумя зайцами погонишься - ни одного не поймаешь. + 3 13 мин.
Каждый сам себе – глухие двери,
сам себе преступник и судья,
сам себе и Моцарт и Сальери,
сам себе и желудь и свинья.

За эту неделю:

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

+ Я написал 3 сообщения 2 формулистам общим объёмом несколько макбуков.

− Я не набрал ни одного текста :)

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

+ Я выполнил 2 видеоурока:
    1 => «Дневник успеха / 2020-07-12 : Торопливый дважды одно дело делает.» за 10 мин.
    2 => «Дневник успеха / 2020-07-05 : Ест за вола, а работает за комара.» за 2 мин.

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

2020-07-18 11:13 Дневник успеха 2020-07-12 : Торопливый дважды одно дело делает. + 3 10 мин.
  Окончилась неделя адской жары, когда от перерева смартфон отключался в анабиоз. Слежу за делами на Видеошарпе - вижу, подтянулись котики. Вот что жара животворящая делает. Я снова в десятке, что немало удивляет.
  За аккумуляторы ноутов узнал следующее - боятся они холода. После зимы и хранения на морозе аккумулятор стал держать как тот комар из предыдущей поговорки, а есть продолжает за вола. Держит не более часа, а заряжается часов пять. Вот тебе и мак про. Снова надо менять, но тут я уже буду его оберегать от замораживания. В машине на морозе не надо ноут бросать, если аккум дорог. Такой урок вынес.
Попрактиковался в слепом наборе десятипальцевым хотя бы здесь. Уже практика.
  На следующей неделе продолжу наблюдать за сонным Видеошарпом, может дождусь пробуждения. Валерий может новый курс выдать на гора, что все встрепенутся, а то и новый марафон увлекательный подтянется. Не все же мне бездельнику в десятке быть. Видели и другие времена здесь )
Всем удачи!!

За эту неделю:

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

+ Я написал 3 сообщения 2 формулистам общим объёмом несколько буков.

− Я не набрал ни одного текста :)

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

+ Я выполнил 1 видеоурок:
    1 => «Дневник успеха / 2020-07-05 : Ест за вола, а работает за комара.» за 2 мин.

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

2020-07-14 08:14 Дневник успеха 2020-07-05 : Ест за вола, а работает за комара. + 7 2 мин.
Покатался по стране, постучал молотком, вернулся посмотреть, как дела на интеллектуальном фронте.
За эту неделю:

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

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

− Я не набрал ни одного текста :)

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

− Я не выполнил ни одного видеоурока :)

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

2020-06-28 12:30 Дневник успеха 2020-06-28 : Дуб – железо селянина. + 4 2 мин.
Если я в десятке, то есть о чём задуматься товарищу прапорщику.

За эту неделю:

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

+ Я написал 4 сообщения 2 формулистам общим объёмом 1 килобуква

− Я не набрал ни одного текста :)

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

− Я не выполнил ни одного видеоурока :)

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

2020-06-21 15:27 Дневник успеха 2020-06-21 : Одна пчела мало меда нанесет. + 7 2 мин.
За эту неделю бетонировал отмостку загородного дома:

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

+ Я написал 1 сообщение 1 формулисту общим объёмом несколько буков.

− Я не набрал ни одного текста :o(

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

− Я не выполнил ни одного видеоурока :o(

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

На следующей неделе буду продолжать играть с клинкером, гравием и водой в бетономешалке )

2020-06-14 15:23 Дневник успеха 2020-06-14 : Пашню пашут, руками не машут. + 6 1 мин.
За эту неделю:

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

+ Я написал 1 сообщение 1 формулисту общим объёмом несколько буков.

− Я не набрал ни одного текста :)

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

− Я не выполнил ни одного видеоурока :)

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

2020-06-07 15:48 Дневник успеха 2020-06-07 : Без труда нет плода. + 7 3 мин.
За эту неделю:

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

+ Я написал 2 сообщения 1 формулисту общим объёмом несколько буков.

− Я не набрал ни одного текста :)

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

− Я не выполнил ни одного видеоурока :)

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

2020-05-31 11:03 Дневник успеха 2020-05-31 : Делу время, потехе час. + 3 26 мин.
  2020 год заставил переформатировать и эту поговорку из заголовка урока. Потехе у нас был отнюдь не час, и не день и не неделя и даже не месяц. Потеха началась в марте, а у кого и раньше, и заканчивается (?) 1 июня прогулками по расписанию в намордниках и без. И финал ли это, неясно. Между тем, окно дало больше времени на занятия, джаваскрипт еэс шестой всё более понятен, хотя и осознание величины изучаемого предмета дает понимание, как глубока кроличья нора.
  За эту весну успел отойти от бабушконабора на клавиатуре и заставил-таки себя клацать глядя исключительно на экран. Лишь пароли тыкаю смотря на клаву - это ещё один барьер, что надо преодолеть. Скорость невысока, но удовольствие от набора слепым методом пришло наконец. Уже не через силу. За эту весну был отремонтирован мак, клава на нем больше не куролесит, можно кодить без затруднений. Разобрался заодно и со сбоем тачпада - через время он переставал прожиматься. Оказывается, там есть регулировочный винт, отвечающий за глубину прожатия кнопки ЛКМ и ПКМ. Помимо его регулировки и подклеивания во избежание раскручивания, выяснилось, что основной причиной был не он, а раздувшийся умирающий аккумулятор - его тушка упиралась с внутренней стороны в тачпад и не давала клацнуть. Пришлось подрезать пластик, подложить любимой синей изоленты )))) и тач снова клацает, как у молодого.
  За эту весну понял разницу между фронтом и бэком, кто что разруливает. Прежде чем идти на глубину, стоит оценить всю шахматную доску, чтобы понимать зачем то или иное делается. Здесь дается много практики, но с теорией надо разбираться самостоятельно. Если это игнорировать, ни о каком профессиональном росте можно и не мечтать. Одной практикой сыт не будешь. И основное, до чего эта весна привела - фулстек девелопер не может быть суперэкспертом во всех областях - или фронт или бэк просядут. Объемы и постоянное обновление технологий не оставят времени на остальную жизнь, если их все изучать, либо приоритет будет отдан одному. Или больше во фронт или в серверную сторону.
  Скакать с курса на курс, если они в разных непересекающихся плоскостях нецелесообразно. Если курс про гитхаб пойдет всем, то мешать джаву с сишарпом годно лишь для общего саморазвития. Один язык мультиплатформенный и хорош на немайкрософтовских осях, а шарп на маке не даст полной отдачи - даже Visual Studio там встает урезанная. Тем интереснее.

За эту неделю:

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

+ Я написал 1 сообщение 1 формулисту общим объёмом несколько буков.

− Я не набрал ни одного текста :)

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

− Я не выполнил ни одного видеоурока :)

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

2020-05-24 11:12 Дневник успеха 2020-05-24 : Не хвались наперед, погляди в конец: каков делу конец будет. + 5 5 мин.
Если не терять время в машине, можно получить сертификат об окончании курсов https://vk.com/wall343388328_1821
В sololearn узнал, что не стоит отказываться от бросаемых там тебе вызовов - это как поединок со случайным курсантом, кто победит в нескольких раундах, тот получает поставленные на кон байты. Время ограничено - приходится напрягать извилины по РНР или JS резче. Нет времени тупить ) Там же познакомился с React, оказалось это разработка парней из Фейсбука.

За эту неделю:

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

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

− Я не набрал ни одного текста :o)

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

− Я не выполнил ни одного видеоурока :o)

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

2020-05-17 09:10 Дневник успеха 2020-05-17 : Кто раньше встает, тот грибки соберет, а сонливый да ленивый идут после за крапивой. + 3 4 мин.
Заменил наконец-таки клавиатуру на макбуке про 13 с русифицированной неисправной (глюки на кавычках и правой верхней части клавиатуры) на новую английскую. Пишу с нее и латиницей и по-русски. Опасения, что не будет русского текста оказались напрасны - только расположение клавиш надо помнить. А это помнится, благодаря Марафону по СОЛО. Теперь могу полноценно работать с кодом и на этом компе.
На неделе грыз JavaScript на следующей будет то же самое )
За эту неделю:

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

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

+ Я набрал 1 текст:
    1 => «C# набор / Вывод элементов массива», 9 ошибок

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

− Я не выполнил ни одного видеоурока :o)

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

2020-05-10 13:01 Дневник успеха 2020-05-10 : Кто ни чего не делает, тот ни когда не имеет времени. + 2 12 мин.
Забавная поговорка. Если к ней применить булево отрицание, получается ещё смешнее - кто всё делает, тот всегда имеет время ) Что-то практика такое не подтверждает.
Помнится, ничего и никогда слитно пишутся.
Сейчас шел к рабочему месту по Кирову и вспоминал детское " Как вы отдыхаете? - А я не напрягаюсь". Если сидеть на мамкиной шее  и тянуть из нее карманные - так не напрягаться, конечно получится. А вот если дело делать, время куда-то исчезает. Смотрю на эти поговорки и не все они так однозначно верны. Ну и безграмотность рулит миром, это не отнимешь. Потому, учиться, учиться и ещё раз. И от бабушкиного набора глядя на клавиатуру надо отвыкать, не супер это, клацать, как первоход )))
На неделе грыз JavaScript с удовольствием и ходил на собеседование. После решения начальника 12 числа могут и взять.
За эту неделю:

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

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

+ Я набрал 1 текст:
    1 => «C# набор / Определение массива», 7 ошибок

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

− Я не выполнил ни одного видеоурока :o)

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

2020-05-03 12:51 Дневник успеха 2020-05-03 : Мало хотеть, надо уметь. + 4 8 мин.
На прошлой неделе решал задачки по JavaScript и бил себя по рукам при возникновении рецидивов попытки набора на клавиатуре двумя пальцами с подглядыванием на клаву. Только пароли пока набираю по-старому. Из задачек узнал для себя, что в джаваскрипте Set  - это уже знакомый HashSet из Java. Названия чуть отличаются, суть примерно одна - не допустить в наборе (типа массива) повторяющихся айтемов. Единица намбером и единица стрингом пролезут, а одного типа повторы - хренушки )
Спасибо курсу ЕВ по джаве )

Следующая неделя - задачки по джаваскрипту к решению, очень уж они сочные, как пельмешки)

За эту неделю:

+ Я проверил 151 отчёт у 22 формулистов F1 на старте.

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

− Я не набрал ни одного текста :)

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

− Я не выполнил ни одного видеоурока :)

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

2020-04-26 14:32 Дневник успеха 2020-04-26 : Всякая работа мастера хвалит. + 7 6 мин.
Решение прогалов между плашками на сайте (как здесь, к примеру -> https://www.videosharp.info/video/techno=web ) оказалось проще, чем предполагал. Знание - сила. Да и забираться в консоль браузера, как выяснилось, лишает джавобоязненности и открывает многая тонны информации о том, как же работает веб. Победа над ленью и оседлание технологии, которая понравится, дает удивительные плоды. Если инфа не заходит - смените курс или инструменты. Даже с английским языком рекомендуют, если появилось ощущение борьбы, сделайте перерыв, учеба может приносить даже удовольствие, если в меру и в нужном русле.
За эту неделю:

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

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

− Я не набрал ни одного текста :o)

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

− Я не выполнил ни одного видеоурока :o)

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

2020-04-19 11:52 Дневник успеха 2020-04-19 : Кто в слове скор, тот в деле редко спор. + 7 5 мин.
Решаю с азартом задачки по JS.
Принуждаю себя отказаться от набора с клавиатуры бабушкиным двупальцевым методом в пользу десятипальцевого набора со взглядом на экран монитора. Удовольствие от отказа взора вниз на клаву стоит того.
Клава на ноуте перестала(?) глючить отчего появилась надежда на полноценный набор текста.
Test -> +_»|{}***
Пока не сбоит - посмотрим что будет дальше, я так-то в саморемонт оборудования не верю )
За эту неделю:

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

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

+ Я набрал 1 текст:
    1 => «Java - Запуск / Class!», 1 ошибка

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

− Я не выполнил ни одного видеоурока :o)

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

2020-04-12 17:35 Дневник успеха 2020-03-08 : Что пожнешь, то и сколотишь, что сколотишь, то и в амбар положишь. + 7 1 мин.
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 10 видеоуроков:
    1 => «Дневник успеха / 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом.» за 9 мин.
    2 => «Дневник успеха / 2020-03-01 : На работу он сзади последних, а на еду — впереди первых.» за 2 мин.
    3 => «Дневник успеха / 2020-02-23 : За много дел не берись, а в одном отличись.» за 1 мин.
    4 => «Дневник успеха / 2020-02-16 : Умелец да рукодельник и себе и людям радость приносит.» за 1 мин.
    5 => «Дневник успеха / 2020-02-09 : Жизнь дана на добрые дела.» за 1 мин.
    6 => «Дневник успеха / 2020-02-02 : Один с сошкой, а семеро с ложкой.» за 1 мин.
    7 => «Дневник успеха / 2020-01-26 : С охотой можно и в камень гвоздь забить.» за 2 мин.
    8 => «Дневник успеха / 2020-01-19 : Конец – всему делу венец.» за 1 мин.
    9 => «Дневник успеха / 2020-01-12 : Не откладывай на завтра то, что можно сделать сегодня.» за 1 мин.
    10 => «Дневник успеха / 2020-01-05 : Семь дел в одни руки не берут.» за 1 мин.

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

2020-04-12 17:33 Дневник успеха 2020-03-01 : На работу он сзади последних, а на еду — впереди первых. + 6 2 мин.
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 9 видеоуроков:
    1 => «Дневник успеха / 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом.» за 9 мин.
    2 => «Дневник успеха / 2020-02-23 : За много дел не берись, а в одном отличись.» за 1 мин.
    3 => «Дневник успеха / 2020-02-16 : Умелец да рукодельник и себе и людям радость приносит.» за 1 мин.
    4 => «Дневник успеха / 2020-02-09 : Жизнь дана на добрые дела.» за 1 мин.
    5 => «Дневник успеха / 2020-02-02 : Один с сошкой, а семеро с ложкой.» за 1 мин.
    6 => «Дневник успеха / 2020-01-26 : С охотой можно и в камень гвоздь забить.» за 2 мин.
    7 => «Дневник успеха / 2020-01-19 : Конец – всему делу венец.» за 1 мин.
    8 => «Дневник успеха / 2020-01-12 : Не откладывай на завтра то, что можно сделать сегодня.» за 1 мин.
    9 => «Дневник успеха / 2020-01-05 : Семь дел в одни руки не берут.» за 1 мин.

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

2020-04-12 17:30 Дневник успеха 2020-02-23 : За много дел не берись, а в одном отличись. + 6 1 мин.
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 8 видеоуроков:
    1 => «Дневник успеха / 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом.» за 9 мин.
    2 => «Дневник успеха / 2020-02-16 : Умелец да рукодельник и себе и людям радость приносит.» за 1 мин.
    3 => «Дневник успеха / 2020-02-09 : Жизнь дана на добрые дела.» за 1 мин.
    4 => «Дневник успеха / 2020-02-02 : Один с сошкой, а семеро с ложкой.» за 1 мин.
    5 => «Дневник успеха / 2020-01-26 : С охотой можно и в камень гвоздь забить.» за 2 мин.
    6 => «Дневник успеха / 2020-01-19 : Конец – всему делу венец.» за 1 мин.
    7 => «Дневник успеха / 2020-01-12 : Не откладывай на завтра то, что можно сделать сегодня.» за 1 мин.
    8 => «Дневник успеха / 2020-01-05 : Семь дел в одни руки не берут.» за 1 мин.

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

2020-04-12 17:28 Дневник успеха 2020-02-16 : Умелец да рукодельник и себе и людям радость приносит. + 6 1 мин.
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 7 видеоуроков:
    1 => «Дневник успеха / 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом.» за 9 мин.
    2 => «Дневник успеха / 2020-02-09 : Жизнь дана на добрые дела.» за 1 мин.
    3 => «Дневник успеха / 2020-02-02 : Один с сошкой, а семеро с ложкой.» за 1 мин.
    4 => «Дневник успеха / 2020-01-26 : С охотой можно и в камень гвоздь забить.» за 2 мин.
    5 => «Дневник успеха / 2020-01-19 : Конец – всему делу венец.» за 1 мин.
    6 => «Дневник успеха / 2020-01-12 : Не откладывай на завтра то, что можно сделать сегодня.» за 1 мин.
    7 => «Дневник успеха / 2020-01-05 : Семь дел в одни руки не берут.» за 1 мин.

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

2020-04-12 17:26 Дневник успеха 2020-02-09 : Жизнь дана на добрые дела. + 6 1 мин.
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 6 видеоуроков:
    1 => «Дневник успеха / 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом.» за 9 мин.
    2 => «Дневник успеха / 2020-02-02 : Один с сошкой, а семеро с ложкой.» за 1 мин.
    3 => «Дневник успеха / 2020-01-26 : С охотой можно и в камень гвоздь забить.» за 2 мин.
    4 => «Дневник успеха / 2020-01-19 : Конец – всему делу венец.» за 1 мин.
    5 => «Дневник успеха / 2020-01-12 : Не откладывай на завтра то, что можно сделать сегодня.» за 1 мин.
    6 => «Дневник успеха / 2020-01-05 : Семь дел в одни руки не берут.» за 1 мин.

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

2020-04-12 17:24 Дневник успеха 2020-02-02 : Один с сошкой, а семеро с ложкой. + 5 1 мин.
Тема про разделение труда )
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 5 видеоуроков:
    1 => «Дневник успеха / 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом.» за 9 мин.
    2 => «Дневник успеха / 2020-01-26 : С охотой можно и в камень гвоздь забить.» за 2 мин.
    3 => «Дневник успеха / 2020-01-19 : Конец – всему делу венец.» за 1 мин.
    4 => «Дневник успеха / 2020-01-12 : Не откладывай на завтра то, что можно сделать сегодня.» за 1 мин.
    5 => «Дневник успеха / 2020-01-05 : Семь дел в одни руки не берут.» за 1 мин.

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

2020-04-12 17:23 Дневник успеха 2020-01-26 : С охотой можно и в камень гвоздь забить. + 5 2 мин.
Гвоздь в камень это круто )
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 4 видеоурока:
    1 => «Дневник успеха / 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом.» за 9 мин.
    2 => «Дневник успеха / 2020-01-19 : Конец – всему делу венец.» за 1 мин.
    3 => «Дневник успеха / 2020-01-12 : Не откладывай на завтра то, что можно сделать сегодня.» за 1 мин.
    4 => «Дневник успеха / 2020-01-05 : Семь дел в одни руки не берут.» за 1 мин.

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

2020-04-12 17:19 Дневник успеха 2020-01-19 : Конец – всему делу венец. + 5 1 мин.
Code is the Law.
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 3 видеоурока:
    1 => «Дневник успеха / 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом.» за 9 мин.
    2 => «Дневник успеха / 2020-01-12 : Не откладывай на завтра то, что можно сделать сегодня.» за 1 мин.
    3 => «Дневник успеха / 2020-01-05 : Семь дел в одни руки не берут.» за 1 мин.

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

2020-04-12 17:18 Дневник успеха 2020-01-12 : Не откладывай на завтра то, что можно сделать сегодня. + 5 1 мин.
Долой хвосты!
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 2 видеоурока:
    1 => «Дневник успеха / 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом.» за 9 мин.
    2 => «Дневник успеха / 2020-01-05 : Семь дел в одни руки не берут.» за 1 мин.

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

2020-04-12 17:17 Дневник успеха 2020-01-05 : Семь дел в одни руки не берут. + 5 1 мин.
Хвосты долой )
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 1 видеоурок:
    1 => «Дневник успеха / 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом.» за 9 мин.

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

2020-04-12 17:12 Дневник успеха 2020-04-12 : Не хлеб за брюхом ходит, а брюхо за хлебом. + 6 9 мин.
За эту неделю:

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

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

+ Я не набрал ни одного текста :)

+ Я не решил ни одной задачи :)

+ Я не выполнил ни одного видеоурока :)

+ Я не собрал ни одного Мегахеша :)

Собирая проект "Доска объявлений" на ПК без подключения к Интернету, подключил успешно RBAC без композера (ему нужен Инет для закачивания фичи) и убедился в его работоспособности.
С гитхаба скачал зип и положил его разархивировав в папку vendor\yii2mod\yii2-rbac затем подключение и использование в коде как в уроке и инструкции по ридми на гитхабе.
А с виджетом календарика в "Расширенном поиске" advsearch этот же фокус не прокатил - не видит класс DatePicker и баста.
Курю Интернет в поисках и этого вопроса.

2020-04-05 13:39 Дневник успеха 2020-04-05 : Белые руки чужие труды любят. + 5 1 мин.
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

− Я не выполнил ни одного видеоурока :o(

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

2020-03-29 23:10 Дневник успеха 2020-03-29 : Срубил дерево - посади два. + 4 1 мин.
За эту неделю:

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

+ Я написал 2 сообщения 2 формулистам общим объёмом 1 килобуква

− Я не набрал ни одного текста :o(

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

− Я не выполнил ни одного видеоурока :o(

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

2020-03-22 18:24 Дневник успеха 2020-03-22 : Запас человека не портит. + 7 5 мин.
За эту неделю:
+ Я проверил 113 отчётов у 22 формулистов.
+ Я написал 4 сообщения 2 формулистам общим объёмом 2 килобуквы
− Я не набрал ни одного текста :o(
− Я не решил ни одной задачи :o(
− Я не выполнил ни одного видеоурока :o(
− Я не собрал ни одного Мегахеша :o(
На неделе заметил, что фотографии на доске объявлений с хостинга в формате jpg отображаются лишь в браузере с ПК. При открытии сайта на планшете, живее оказываются картинки в формате png
Джипег отчего-то не грузится. Получается, png-формат предпочтительнее для оформления сайта.

2020-03-15 18:44 Дневник успеха 2020-03-15 : С мастерством люди не родятся, а добытым ремеслом гордятся. + 5 1 мин.
За эту неделю:

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

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

− Я не набрал ни одного текста :o(

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

+ Я выполнил 2 видеоурока:
    1 => «Доска объявлений / Пользователи и роли  - роли через RBAC - вносим действия в план» за 24 мин.
    2 => «Доска объявлений / Пользователи и роли  - роли через RBAC - реализация плана» за 1 день 36 мин.

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

2020-03-11 13:54 Доска объявлений Пользователи и роли - роли через RBAC - реализация плана + 4 1 день 36 мин.
таблицы создаются при запуске файла в браузере успешно.
Аргументы передаются по очереди, первый кому присваивается роль, второй аргумент - какая роль присваивается.
Роль может присваиваться именем другой роли, в этом случае все права указанной роли наследуются целиком.
При сохранении проекта на гитхабе отчего-то не сохраняется папка vendor
Вчера проект просто не стартовал, не понял почему, сегодня сверил содержимое проекта с архивным и нашел, что снова отсутствует в проекте папка vendor, подложил её и всё взлетело с первого раза.
Взял вопрос на контроль, то ли по моему упущению она не загружена была на гитхаб, то ли есть иные причины, мне неизвестные пока
Победить и эту багу было приятно.
Валерию творческих успехов, всем бобра и качественных мопедов )))
2020-03-10 12:47 Доска объявлений Пользователи и роли - роли через RBAC - вносим действия в план + 7 24 мин.
от простого к сложному
Любой пользователь без регистрации может знакомиться с контентом сайта
Зарегистрировавшись можно создавать, публиковать, редактировать и снимать с публикации ТОЛЬКО СВОИ объявления про мопед
Модератору добавлены права на редактирование и публикацию всех объявлений
Админ может дополнительно удалять объявления и рулить темами
Суперюзеру добавлен доступ напрямую в БД


2020-02-12 15:36 Доска объявлений Пользователи и роли - роли через RBAC - тесты и практика + 6 1 час. 22 мин.
создали новое представление - в контроллере новую функцию плюс файл РНР в представлениях и по ссылке можно уже открывать вьюшку
В \controllers\SiteController.php создали экземпляр объекта authManager
В этом экземпляре присвоили права, создали пару тестовых ролей и привязали их к двум пользователям (учетным записям из БД)

Понять, что для выполнения скрипта надо не просто обновлять страницу проекта, а именно http://bull.local/site/authinit обновлять и запускать скрипт тем самым ))
Не сразу дошло
2020-02-11 18:04 Доска объявлений Пользователи и роли - роли через RBAC - теория, установка и миграции + 9 3 час. 19 мин.
Миграция прошла успешно на втором ноуте, тютелька в тютельку
Композитор не кривлялся, скачал нужные библиотеки и установка прошла на ура.
Таблицы созданы.
В былые годы Игромистр рекомендовал сбыть на просторы старые ноуты и купить один на все вырученные сольдо. А тут старый ноут оказался  целесообразнее новых двух. Вот и думай )
Отчего на соньке вайо не грузится компоузером сомпонента RBAC остается пока неясным. Вернусь домой попробую снова и опубликую скрин с ошибкой. Любопытно же понять, что не так.
2020-02-02 12:26 juqery пользовательский интерфейс Полезные виджеты - строка прогресса и слайдер + 8 36 мин.
для функции .progressbar( доступен параметр {value:77}) который отвечает за текущее состояние полосы прогрессбара, а его анимацией занимается джаваскрипт
Для слайдера в параметрах доступен параметр шага (step:любое цифровое значение до 100) отвечающее за разовое перемещение ползунка по шкале
Окончание курса пришло так неожиданно, но отношусь к этому с пониманием - цель была показать технологию джиквери, вводный курс более чем понятен, дальше читаем техдокументацию и пробуем на практике. Не всё же в клювике от преподавателя в уютном гнёздышке получать знания, надо и самостоятельно развивать тему.
Автору спасибо за свежий курс по незнакомой технологии и удачи в творческом росте!
Курсантам - легкого прохождения и новых знаний!
Курс несложный, всё работает и крутится как надо.

2020-02-02 11:45 juqery пользовательский интерфейс Полезные виджеты - диалоговое окно - свойства + 6 26 мин.
autoOpen: true в параметрах .dialog() заменяет $("#dialog").show(); И так и так окно будет выведено в видимый стиль
Высота и ширина диалогового окна указывается в пикселах без явного прописывания px

2020-02-02 09:25 juqery пользовательский интерфейс Полезные виджеты - диалоговое окно - инициация + 6 23 мин.
модальное окно в отличие от диалогового окна не позволяет вернуться в родительское (в котором это окно было вызвано)
Помимо создания окна потребовалось поменять ему стиль дисплея с нан на шоу, иначе окно создавалось, но не демонстрировалось

2020-02-01 13:43 juqery пользовательский интерфейс Полезные виджеты - аккордеон + 6 29 мин.
$("#accordion").accordion({ в джаваСкрипте создает анимированные строки, открывающиеся по клику мышью
Параметры для аккордеона пробовали такие:
collapsible=True - не сработал, почитал в сети, рекомендуют при ошибках задавать жестко размеры панелей в px (не пробовал)
active:1, - здесь устанавливается открывающаяся панель при обновлении страницы браузера
animate:1000, - время в миллисекундах на открытие панели за 1 секунду
Слишком большое значение не сработает, но даже 20000 у Валерия начало отрабатывать(на видео видно в 8:49 панель начала сползать потихоньку как и задано за 20 секунд)

2020-01-31 20:49 juqery пользовательский интерфейс Полезные виджеты - вкладки + 12 21 мин.
(li>a)*3 + Tab  при запущенном Эммете даст три заготовки для закладок
если по идентификатору обращение то диез или решетка, если по классу - то точкой начинай
div*3 + Tab Эммет создаст три заготовки для блоков див
Если что-то не работает - проверь, не стоит ли инициализация объекта после задания его параметров - сначала объявление, затем строки с деталями, иначе не сработает

2020-01-31 19:45 juqery пользовательский интерфейс Полезные виджеты - календарь + 11 35 мин.
$("#dtr").datepicker(); без параметров при нажатии на окно с идентификатором dtr возвращает целый календарь!
массив monthNames в параметрах позволяет заменить дефолтные имена месяцев
dayNamesMin меняет дни недели
firstDay решает проблему разницы первого дня недели в разных странах
в dateFormat указываем нужный нам формат вывода даты
Для SQL, к примеру, актуален вид даты yyyy-mm-dd

2020-01-31 19:06 juqery пользовательский интерфейс Параметры перемещения + 11 31 мин.
параметр cursor:"grab" для функци draggable меняет стрелку курсора на руку с пальцем
axis:"y" ограничивает зону действия по вертикали, икс - по горизонтали
helper:"clone" создает под нажатой ЛКМ дубликат обЪекта
helper: позволяет порождать и выполнение function с параметрами (event){ где можно указывать свойства объекта при возникновении события в скобках

2020-01-31 18:28 juqery пользовательский интерфейс Перемещение блока + 8 30 мин.
$ - в РНР с этого начинается переменная
$ - в джаваскрипте с этого начинается код jQuery
Диез # в каскадных таблицах стилей обращается по идентификатору id

Не сразу догадался, что таскать надо не за кнопку, а за поле справа от неё
2020-01-31 17:56 juqery пользовательский интерфейс Подключение jquery и jquery_ui + 7 2 час. 41 мин.
анимации и эффектов, а также набор виджетов подключаются с помощью скрипта jquery-ui.min.js
Стили как нетрудно догадаться подтягиваются линком на jquery-ui.css
Скачать с первого раза архив с официального сайта, возвращал ошибку на сервере и просил пробовать качать через фью минитс

2020-01-31 15:10 juqery пользовательский интерфейс Программа на javascript + 7 1 час. 22 мин.
папка  js с файлом main.js внутри оной, должны располагаться в папке проекта (если это не соблюдено, скрипт не будет найден в том виде как мы его указали)
У браузера не должны быть в настройках заблокированы всплывающие окна - пришлось с этим повозиться
И главное - вызывать надо функцию, не переменную в ней (поскольку имена похожи у функции и переменной у меня была путаница, с которой пришлось разобраться как повар с картошкой)

2020-01-31 13:42 juqery пользовательский интерфейс Создание проекта + 9 16 мин.
Старину Эммета нашел без затруднений, брэкетс скачался и встал как литой )
Отображение изменений происходит лишь после контрол + S
Помню, с помощью Brackets нам удавалось создавать прелестнейшие сайты, оттого и не затягивал с прохождением урока!
Спасибо за новый стартап и удачи в написании новой сотни уроков!

2020-01-26 18:56 Доска объявлений Пользователи и роли - фильтры контроля доступа ACF - фильтруем всё + 7 4 час. 49 мин.
функция behaviours через указание имен функций этого же класса позволяет перекрывать или предоставлять доступ по ролям
Собака - зарегистрированные пользователи, знак вопроса - все прохожие
По аналогии продолжил перекрывать доступ в контроллерах, начиная с фотоконтроллера

2020-01-26 14:06 Доска объявлений Пользователи и роли - фильтры контроля доступа ACF - теория и эксперименты + 10 19 мин.
роли, помеченные @ - это зарегистрированные пользователи, помеченные знаком вопроса ? относятся ко всем юзерам поголовно
behaviours - как я помню на заморском языке не что иное как поведения, задают эти поведения правила работы сайта с пользователем
Добавив через запятую в 28-ой и 31-ой строках иллюстрации номер ноль строковую ссылку на расширенный поиск мы получаем переадресацию незарегистрированного пользователя на форму залогинивания после нажатия выпадающего меню "Расширенный поиск"

2020-01-26 13:46 Доска объявлений Пользователи и роли - планирование ролевой модели + 9 20 мин.
как вариант, можно предусмотреть роль забаненного пользователя
Продолжить рассмотрение темы можно с учетом активности как подтвержденных продавцов, так и учеток, замеченных в мошеннических операциях

2020-01-26 13:21 Доска объявлений Работа с документацией Yii2 + 8 2 час. 54 мин.
добавил хеширование пароля пользователя bcrypt через функцию crypt для генерации и проверки пароля
Пишут, что алгоритмы md5 или sha1 уже недостаточно защищённые, что требует дополнительных мер безопасности
Дополнительно подправил отображение карточки объявления (там где картинка накладывается на текст справа) - надо освежить в памяти бутстрап, жестко привязывать размер изображения в угоду лишь своему монитору - это половинчатое недорешение

2020-01-26 10:22 Доска объявлений Расширенный поиск - генератор поиска - показать, что нужно + 9 47 мин.
для актуализации состояния радиокнопки после возвращения результата расширенного поиска применили дополнительную переменную, которая принимает текущее состояние оператором в свичкейсе, это состояние и присваивается радиокнопке в представлении для пользователя, дабы не вводить его в заблужение
В представлении \views\site\advsearch.php применили тернарный оператор для выбора состояния радиокнопки
Запись ($adv->radio_=="1" ? true : false) читаем как "если поле радио в переменной адэвэ эквивалентно единице то ИСТИНА (кнопка активна)
По аналогии добавили правила установки активной кнопки в контроллере \controllers\SiteController.php которые затем визуализировали пользователю в представлении \views\site\advsearch.php


2020-01-25 19:53 Доска объявлений Обратная связь - свой сайт объявлений + 7 55 мин.
1. Как Вы назовете свой сайт объявлений?
Название пока напрашивается для сайта "Чижик" в память о бывшей барахолке в Чижах (район города Кирова) во времена СССР. Сейчас никаких барахолок там давно уже нет, естественно ибо времена и нравы изменились. Если центральный рынок и сохранился, то такие как барахолка в Чижах, она лишь в памяти народной.
2. Какое доменное имя в сети у него будет?
На первое время для работы в режиме тестирования и дальнейшего углубления в тему доменное имя будет как можно более кратким. В бытность мою сисадмином в одном банке с названием из тринадцати букв у меня был почтовый адрес, который мне крайне нравился своей краткостью. За давностью лет, думаю никакой тайны не открою и прежних инструкций не нарушу, если назову его без домена первого уровня. Адрес был такой da@wscb. и так далее. Прелесть короткого доменного имени в простоте запоминания. Просто в телефонном разговоре передать собеседнику имя из двух литер вместо нагромождения из "как доллар", низкое подчеркивание, йот как кочерга и прочих сложностей. Чем проще имя, тем легче запоминание. Вэка точка ком или fb.com лучшие тому подтверждения. В идеале я возьму доменное имя da.ru
Но, понятно, что это дорого и пока нереально )  Посмотрел этот самый http://da.ru/ на предмет занятости - там уже продаваны доменных имен сидят )))

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

2020-01-25 16:33 Доска объявлений Расширенный поиск - генератор поиска - три вида цены и один POST + 7 34 мин.
Если нужна новая переменная, инициализируй (объявляй её), записывай в рулез, и лишь затем используй
Радиокнопки прописаны здесь - \views\site\advsearch.php
В ветвлении свич-кейс не забываем ставить брейки, иначе помимо нужного, будет выполнено и дальее по строкам ниже


2020-01-25 15:53 Доска объявлений Расширенный поиск - генератор поиска - ограничивающие даты + 6 37 мин.
карточка объявления создается здесь - \views\site\bulletin.php
Конкатенация в РНР не плюс равно, а точка - не забывай особенности персонал хоум пейджа
Хочешь посмотреть, что возвращает сиквел-запрос, подправь имя переменной, чтобы вернулась ошибка - там и найдешь текст запроса для контроля его правильности создания

2020-01-20 13:41 Доска объявлений Расширенный поиск - генератор поиска - возвращение к SQL-запросу + 7 34 мин.
findBySql() позволяет возвращать выборку по правилам SQL

.= или точка и равно - это оператор конкатенации добавляющий к переменной то, что справа от знака равно

Создание запроса выполнено конкатенацией условий поиска в сиквел-запрос в случае если поле окажется не пустым

2020-01-20 13:03 Доска объявлений Расширенный поиск - результаты выборки - частичное представление + 5 47 мин.
<?=$this->render('выведет любую вьюшку имеющуюся в проекте по имени
Запись
<?php for ($x=1; $x<4; $x++) { ?>
    <?=$this->render('test',['x'=>$x]) ?>
<? } ?>
вернет циклом три строки с содержимым вьюшки с именем тест и конкатенирует к её содержимому переменную х три раза по возрастанию



2020-01-19 15:06 Доска объявлений Расширенный поиск - дата публикации - виджет извне + 9 49 мин.
впервые понюхал композер )
Сие есть установщик пакетов для РНР и фреймворков
Плясать надо от файла в нетбинсе D:\OSPanel\domains\bulletin\composer.json
В раздел "require" через запятую добавляем ссылку на наш новый виджет
Следующим шагом - в консоль проекта и вводим команду  composer update - будет закачка обновлений и установка нового, если указал


2020-01-19 13:51 Доска объявлений Расширенный поиск - цена - невидимые поля + 10 42 мин.
добавив поля в инициализацию переменных не забудь дописать их и в рулез
Великая сила скрыта в стилях и классах - задал по имени класса display:none;  и после обновления страницы элементы этого класса есть, но их не видно, как сусликов
.ready функция отрабатывает по загрузке страницы
.on('click' функция выполняется по клику ЛКМ

2020-01-19 13:05 Доска объявлений Расширенный поиск - цена - выбор варианта + 6 21 мин.
переключение подсветки текущей кнопки (аналог действия радиобатон) выполнили через джаваскрипт
Класс прайсселект по кликувыполняет два оператора:
первый удаляет класс Эктив у всех носителей класса прайсселект
второй присваивает текущему прайсселекту класс Эктив
Всё просто до безобразия )
Знание - сила!


2020-01-19 12:24 Доска объявлений Расширенный поиск - дизайн текстовых полей и кнопки + 6 41 мин.
при клике на меню Расширенный поиск работает функция actionAdvsearch() сайтКонтроллера где создается в переменную $advSearch новая форма отсюда D:\OSPanel\domains\bulletin\models\AdvsearchForm.php
Затем в рендер через запятую добавили эту переменную в виде ассоциированного массива ключом adv и значением в виде нашей новой переменной, получающей форму ($advSearch)
Кнопку создали хелперами Html::submitButton
После этого посмотрел код объекта кнопка (иллюстрация номер 0) хелперы создают тот же батон типа сабмит только своими средствами. а в итоге приводят туда же

2020-01-19 11:33 Доска объявлений Расширенный поиск - стили и форма + 6 43 мин.
Валерий дал хинт: если есть косяк со стилями (цвет не тот, размер иль шрифт) беги снова по F12 курсором в виде стрелки (вверху есть в стилях) к тому объекту, который требует вмешательства, смотри его идентификатор(по классу, id) копируй или записывай и бегом в файл стилей \bulletin\web\css\site.css и там прописывай желаемый стиль для этого объекта хоть отдельным, хоть через запятую добавь к уже имеющимся
Создали форму для расширенного поиска, там проинициализировали переменные и функцию описывающую типы полей и их месаджи

2020-01-18 15:20 Доска объявлений Расширенный поиск - заготовки и план + 6 34 мин.
план создал прямо в файле РНР потренировавшись в разметке HTML
Не так и сложно тегами разбивать на строки, куда сложнее разбираться в переплетениях РНР кода и разметки, вот тогда внимательность не помешает, чтобы не прозевать открытые и закрытые конструкции в правильной структуре

2020-01-18 14:41 Доска объявлений Расширенный поиск - группировка пунктов главного меню + 5 38 мин.
менюхи на главной странице выполнены в виде виджета навбар через ассоциированные массивы ярлык(лейбл) => Название менюхи
на пятой минуте видео очень жаль, что подсказки по поиску лишней скобки не принимаются ))) Но процесс творческий сложнее ученического, просто смотрим и учимся, как же на самом деле ищут ошибки, как идут не всегда верным путем, и тот кто не сдается ошибку находит
На восьмой минуте лишняя скобка обнаружена и аннигилирована! Проблема крылась в копировании готового оператора- захватили лишний знак при копипасте
Внимательность - наше всё.



2020-01-18 13:53 Доска объявлений Глобальный поиск - ищем глобально + 4 30 мин.
при наличии в Представлении ссылки на отсутствующий Контроллер, переход по такой ссылке вернёт привычный код 404
'AND' это логическое умножение(булевское) принимает ИСТИНА если верно и первое значение операнда и второе одновременно
'OR' - булево сложение, тут для ИСТИНЫ достаточно хотя бы одного из операндов


2020-01-18 12:48 Доска объявлений Глобальный поиск - поле поиска в меню + 5 1 час. 9 мин.
видишь ошибку - чеши в F12 браузера и смотри стили - в имени класса ищи адрес, толкай его в файл стилей (у нас это D:\OSPanel\domains\bulletin\web\css\site.css) и задавай этому классу те свойства, что считаешь правильными

Открывая ActiveForm() бегином не забывай и закрывать оную эндом
Параметры открытия указывай в круглых скобках не забыв ещё и квадратные


2020-01-18 11:30 Доска объявлений Связи объявлений и тем - темы, которых не будет + 6 39 мин.
добавил в представлении addtheme гиперссылку href="/bulletins/deletetheme... - иди в контроллер делать активацию работы этой гиперссылки
Контроллер выбери BulletinController и там добавляй одноименное действие (функцию) с предшествующим словом экшн в названии
Контроллер таким образом оживляет вьюшку приказывая системе что предпринять при нажатии пользователя на эту гиперссылку
В функции контроллера ищем тему по идентификатору, обязательно одну, не массивом, применяем к ней функцию удаления и редиректим на ту же страницу с текущей темой
Конкатенация в РНР указывается точкой - не забывай тчк между строкой и переменной



2020-01-17 13:02 Доска объявлений Связи объявлений и тем - темы, которых не было + 7 29 мин.
удаление из выпадающего меню уже добавленных тем к текущему объявлению выполнили так:
В модели в функции получения листа тем в переменную записали все темы, у которых идентификатор приходит из параметров функции

Если не нужны все поля, а только одно, то применяется селект
Если требуется псевдоним или алиас, поле можно переименовывать через AS так: 'themes_id as id'

Выборка по ->where(['in','id',$tb]) применяет три параметра через запятую - "включительно", "по какому полю", "имя переменной-источника"
Обратное включительному будет "not in"


2020-01-17 12:19 Доска объявлений Связи объявлений и тем - добавление новой темы + 6 1 час. 2 мин.
После создания модели с рулезами и атрибутами не забываем создать экземпляр этой модели в контроллере
В контроллере в функции добавления темы создали экземпляр того файла и передали его в рендер для представления пользователю

Ошибка Class 'app\models\Bulletins' not found говорит о том, что в модели \models\ThemesbulletinsRecord.php неверно указаны в рулезах целевые классы



2020-01-16 12:50 Доска объявлений Связи объявлений и тем - заготовка + 8 30 мин.
открывая теги не забывай их закрывать (я отключил автозаполнение в нетбинсе, и за этим приходится следить самому)
Добавив кнопку в представление, идем делать модель с правилами для этой кнопки
Заодно в контроллере \controllers\BulletinsController.php создаем функцию по обработке нажатия кнопки "Темы"

Invalid argument supplied for foreach() - такая ошибка возвращается, если в фориче накалякал
<?php foreach ($currBulletins->themesbulletins as $tb)
вместо
<?php foreach ($currBulletin->themesbulletins as $tb)

2020-01-16 12:14 Доска объявлений Разделы (темы) - администрирование - рефакторинг и валидация + 7 21 мин.
перенося операторы в другой файл обращайся к ним через название функции, в которую их там поместил
Оператор либо сразу возвращай ритёрном, либо помещай в переменную, которую не забудь в конце функции вернуть
Проверка на обязательное заполнение добавлена в модели ThemesForm.php в функции rules()


2020-01-16 11:25 Доска объявлений Разделы (темы) - администрирование - сохранение темы + 5 51 мин.
сохранение новой добавленной темы выполняется в ThemesController функции actionAdd
В указанной функции после двух проверок(на метод пост и на валидность ввода) выполняются четыре оператора:
в переменную инициализируется новый объект ThemesRecord
туда же записывается текущий ввод темы
сохраняется
и редиректится на новый экран

Поскольку в модели ThemesRecord ещё не было функции setNewRecord - добавили и её
Редактирование темы выполняется там же, в actionAdd


2020-01-15 21:06 Доска объявлений Разделы (темы) - администрирование - волшебный выпадающий список + 5 22 мин.
через переменную $items загрузили в выпадающее меню поля id и title из ThemesRecord
ArrayHelper мапит в переменную $items содержимое всех записей из модели ThemesRecord

ЗЫ Утром в газете - вечером в куплете. Только сегодня читая "РНР7 в подлиннике" про селекты и опшны, вечером это же вижу в уроке!
Теория подкрепляется практикой. Спасибо!

2020-01-15 12:55 Доска объявлений Разделы (темы) - администрирование - "темное" представление + 8 27 мин.
заголовок в форме добавления и редактирования тем выполнили бутстрапом и хлебными крошками
Чтобы использовать переменные в представлении, не забудь передать их из контроллера \controllers\ThemesController.php
Передача полей делается в функции function actionAdd контроллера тем (иллюстрация номер ноль)

Заметил что CTRL+S сохраняет лишь в открытом окне, нажатие же на дискетку сохраняет изменения во всех окнах нетбинса



2020-01-15 12:24 Доска объявлений Разделы (темы) - исправление подсчета и отображение текущей темы + 7 26 мин.
Степан и Ефим - самые активные курсанты на курсе "Доска объявлений"
Степан обнаружил ошибку, Ефим локализовал
Суть ошибки - при отключении просмотра объявления (перевод его в статус редактируемого черновика без публикации) в кнопке темы это объявление не минусуется
Получается, пользователю сообщают о всех объявлениях, показывая не все из них

Подсчет вызывается здесь \models\ThemesRecord.php
Победили проблему вызвав функцию счета для другого метода, где темы с опубликованными топиками (getBullCurrTheme()) - иллюстрация номер ноль

Попрощались с "Добрый день, tolya34!" в банере в угоду функциональности - вывели на его месте название выбранной темы
Банер удалили здесь - \views\layouts\main.php
Новый вывод создали флешкой в контроллере сайта (иллюстрация 1)

2020-01-15 11:55 Доска объявлений Разделы (темы) - администрирование - Обычный ThemesForm + 5 38 мин.
в представлении domains\bulletin\views\layouts\main.php если из оператора 'url'=>['/themes/index'], убрать квадратные скобки, то серая подсветка активного раздела деактивируется
http://bull.local/themes/add возвращает 404, такой страницы ещё не создавали, надо вьюшку, контроллер и модель

Контроллер в файле \controllers\BulletinsController.php - это новая функция actionAdd
Представление - это будет \bulletin\views\themes\add.php для вывода на экран
После создания двух вышеописанных объектов уде можно открывать страничку добавления темы (иллюстрация номер 0)

Дальнейшее движение - создание правил для добавления темы (создаем модель с правилами - \models\ThemesForm.php )
В модели прописали правила (рулез) и атрибуты
В спешке вместо фигурных скобок открывая и закрывая функцию, поставил квадратные - поправил сначала на круглые, снова не то ))
Лишь увидев от меня фигурные скобки, Нетбинс угомонился
2020-01-14 19:49 Доска объявлений Разделы (темы) - администрирование - удаление разделов и чистка связей + 5 24 мин.
при удалении на сайте темы, не забывай удалять кроме экранных форм ещё и связи с таблицей
setDeleteThemesBullRecord() удаляет тему в БД
$theme->delete(); удаляет экранные формы сайта

2020-01-14 13:08 Доска объявлений Разделы (темы) - администрирование - подтверждение удаления + 6 36 мин.
ссылки от представления ведут в Контроллер - там этим ссылкам соответствуют одноименные функции с предваряющим словом action в названии
Если действие в контроллере выполняется над одной записью, то не забываем в эту функцию передать аргументом переменную с идентификатором
Чтобы добраться до предыдущей страницы сайта используй конструкцию \Yii::$app->request->referrer; помещая её в переменную


2020-01-14 12:24 Доска объявлений Разделы (темы) - администрирование - все темы в таблицу + 6 29 мин.
Валерий Владимирович увеличил шрифт - стало удобнее считывать ввод с экрана
Список тем для представления предоставляет ThemesController.php
Полученный список в виде переменной (которые у нас без доллара не указываются ни при каких обстоятельствах) передается в рендер следующим аргументом, после индекса в квадратных скобках в виде поле =>имя переменной
Указав тейбл-хавер через даблъю - думаю, чего это у меня полет над строками не подсвечивается - посмотрел, исправил на латинскую ви - вуаля, полет нормальный!

2020-01-14 11:42 Доска объявлений Разделы (темы) - администрирование - теория и заготовки + 4 1 час. 17 мин.
администрирование сайта предоставляется пользователям по ролям, простой зарегистрированный пользователь не должен иметь доступа ко всему функционалу на сайте
Создав во вьюшке новую кнопку не забудь создать для нее свой Контроллер

Ошибка Class 'app\controllers\Controller' not found говорит об отсутствии подключения библиотек (use Yii и так далее) - иллюстрация 0



2020-01-13 19:47 Доска объявлений Разделы (темы) - полезные переходы + 7 23 мин.
в гиперссылку кнопки передается переменная $prev_url
Переменная создается в контроллере базовыми функциями Yii::$app->request->referrer;
Кнопки тем переделали из кнопок баттон в блок а с добавлением гиперссылки на адрес /site/index?id=<?=$thb->themes->id?>

2020-01-13 19:20 Доска объявлений Разделы (темы) - тематические выборки + 7 6 час. 38 мин.
гиперссылка представления должна обращаться к контроллеру
в URL после знака вопроса указываются параметры
Присвоение = один знак равно
Эквивалентность == два знака равно
array_push() - функция добавления элемента массива
Лидирующий слеш обязан быть в составном URL

2020-01-12 20:27 Доска объявлений Разделы (темы) - меню тематик + 7 27 мин.
в роли коровы для темы Детям у меня оказался кошак - он ближе по сущности к животным
Функция getThemesBullCount() из модели вызывается успешно и счетчик при добавлении связей в таблицу themesbulletins успешно инкрементируется

2020-01-12 19:44 Доска объявлений Разделы (темы) - вывод тем в объявлении + 7 1 час. 8 мин.
<h2>Темы</h2> задает средний заголовок с текстом Темы
В админке не надо второй раз кликать вперед )) Иначе запись добавляется дважды и кнопок с темой становится по количеству кликов - можно хоть весь экран кнопками замостить. Не сразу понял, отчего сначала кнопка с темой не появлялась, причина была в том, что старому объявлению делал связь, не тому на которое смотрел, а затем найдя нужное кликал по два раза - смотрю - кнопок с темой две.
Решение - просто удалить повторную запись в админке

2020-01-12 18:21 Доска объявлений Обратная связь - мозговой штурм - внештатные ситуации + 7 1 час. 2 мин.
создав архив папки D:\OSPanel\domains\bulletin\ ты не сохранишь тем самым БД - она хранится не там
d:/ospanel/userdata/php_upload/ - место по умолчанию куда упадет дамп БД, но лишь после принудительного экспорта, ИЛИ куда укажешь в диалоге сохранения (результат у нас получился под именем bulletinsdb.sql )
SQLSTATE[HY000] [1049] Unknown database 'bulletinsdb' - такое увидишь, если полетела БД
Для восстановления БД создай пустую базу под тем же именем и импортируй в неё таблицы из предварительно сохраненного дампа

1) ...проблемы при просмотре главной страницы и объявлений
Аватар не сохраняет пропорции высоты к ширине, причем, те, что взяты из интернета ведут себя по разному - кошак обрезан, но не исказился, а девушка с коляской сжата по горизонтали, фото моего авто взятое с экшн-камеры также сжато по горизонтали. Причины пока не нашел
(иллюстрация номер ноль) Когда делал скриншот, увеличил масштаб до 125% - коляска исправилась в пропорциях, а фото автомобиля нет

2) ...проблемы при добавлении объявлений? ...корректно ли... объявление, если ... будет HTML-код или JS скрипт? а если в тексте объявления будет php-код?
Объявления добавил три штуки с внесением между привет и медвед кода HTML,  JS, PHP.
Добавление и публикация без проблем,  вкрапления джаваскрипт и HTML попали в текст объявления, РНР код вообще никак не повлиял на текст объявления, но делая скриншот уменьшил масштаб - объявления идут неровно, есть пустые участки страницы между ними - выглядит неаппетитно (иллюстрация номер ноль)

3) ... о загрузке файлов изображений - сбоев не возникло
4) ...SQL-инъекции - экранирования слешей мы не делали, следовательно защиты у нас пока нет
5) ...еще ошибки - в детализации объявления (иллюстрация номер один) фото накладывается на таблицу с описанием товара к примеру здесь http://bull.local/site/view-bulletin?id=3

2020-01-12 17:08 Доска объявлений Разделы (темы) - миграции с внешними ключами + 6 47 мин.
http://bull.local/gii/model - автогенератор моделей
Результат можно проверить в нетбинсе или иной IDE
Аналогично, ни в какую не хотела проявляться в дереве нетбинса ThemesRecord.php
Менюшек для рефреша не нашел, так же перезапустил нетбинс - после этого модель подхватилась

2020-01-12 13:21 Доска объявлений Разделы (темы) - немного теории + 7 27 мин.
организуя связи между таблицами выделяют главную или родительскую таблицу (primary key table / master table) и зависимую, дочернюю таблицу
Дочерняя таблица зависит от родительской
Внешний ключ - это один или несколько столбцов из одной таблицы, являющийся ключом из другой таблицы
Поле themes-id таблицы Themesbulletins будет ключеваться с полем id таблицы Themes
А поле bulletins-id таблицы Themesbulletins будет связано с полем id таблицы Bulletins

2020-01-12 12:47 Доска объявлений Главная страница - оформление - оповещения через баннер + 5 39 мин.
банеры нужны для принудительного предоставления информации пользователям
Та информация, которой они интересуются находится ими методом серфинга по сайту, а вот то, чего они знать не могли, но мы хотим им донести - вот для этого и будет нужен банер.
Это как банеры вдоль дороги - мы едем себе по своим делам, нам Толи и Васи с их днями рождения и свадьбами неинтересны, но мы про эти события узнаем из банеров.
Не злоупотребляйте банерами, коллеги! Не становитесь спамерами )))
А вот банер, который сообщает о ремонтных работах на проезжей части лучше не игнорировать - это вопрос Вашей же безопасности.
...\views\layouts\main.php - орудуй здесь, если хочешь, чтобы виджет был виден на всех страницах сайта.


2020-01-12 11:51 Доска объявлений Главная страница - оформление - стильный логотип + 5 43 мин.
http://v1.iconsearch.ru/ - масса готовых пиктограмм (иконок)
D:\OSPanel\domains\bulletin\web\favicon.ico - источник пиктограммы в закладке браузера
D:\OSPanel\domains\bulletin\views\layouts\main.php - путь к пиктограмме уже в окне браузера, не в закладке
7:10 видео - "...и у нас куда-то делось название" (Я вместо ctrl+F5 сделал обновление страницы просто через F5 и увидел иную картину (скриншот номер ноль) - видимо название у Валерия тоже съехало вниз из-за добавления пиктограммы) Пишу это ещё не досмотрев видео до конца, интрига сериала продолжается...
Логотип также как у Степана отражается лишь на главной, на внутренних страничках вместо доски также слово home
Может вопрос во времени обновления всего сайта, комп тормозит, бывает не с первого обновления вижу изменения
Посмотрю, как дальше будет вести себя эта иконка. Вкладка "Статистика и отчеты" помогает хорошо - видишь кто с чем сталкивался.

2020-01-11 19:31 Доска объявлений Главная страница - оформление - смотрим все изображения + 8 34 мин.
ночами лучше работается - урок записан Валерием в половину третьего ночи 9 октября!
Вот кто рано встаёт...
РНР код разрывается, если внутри нужна HTML-разметка так <?php........здесь код пиашпи {?> тут разметка страницы <? }?> - так закрыли блок
Ховер прекрасен - обновляется картинка даже если окно неактивно (лежит под другим как на иллюстрации за номером 1)

2020-01-11 18:52 Доска объявлений Главная страница - оформление - ловим цвет пикселя + 7 15 мин.
цвета по палитре
#FFF - черный
#000 - белый
пипетка онлайн гуглится
Если не годится встроенная в Мозиллу пипетка, можно воспользоваться онлайн анализаторами цвета, тоже прекрасно работают
Понять, зачем в разделе "Самостоятельная работа" пункты 
3.
4.
5.
ведь они пустые!
2020-01-11 16:23 Доска объявлений Главная страница - оформление - дизайн элементов базовой страницы + 6 1 час. 13 мин.
D:\OSPanel\domains\bulletin\views\layouts\main.php - основная вьюха, отвечающая за хидер и футер
NavBar::begin - хелпер, создающий строку в меню
navbar-inverse дает черный фон с белым текстом
D:\OSPanel\domains\bulletin\assets\AppAsset.php - базовые параметры, откуда грузится проект, где подтягиваются стили и где лежит джаваскрипт
Каскадные таблицы стилей требуют, чтобы стиль по идентификатору начинался с диеза #bulltopmenu
Стили по классам начинаем с точки


2020-01-11 14:50 Доска объявлений Главная страница - оформление - дизайн объявления + 5 32 мин.
после перенесения блока информации <?=$bulletin->info?> в отдельный див убрали у него блок параграфа за ненадобностью
<span class="badge"> дает на странице прекрасный овал фоном
В таблице обязаны быть  <tr> - тейблроуы) То есть строки и тейблдаты - <td> в которые уже и помещаем информацию таблицы

2020-01-11 13:28 Доска объявлений Главная страница - подробности - расширяя информацию + 4 1 час. 5 мин.
функция safeDown() в теле миграции нужня для отката неудачного изменения обратно либо просто информирования об ошибке
Второй фильтр на длину пояснения к объявлению стоял здесь D:\OSPanel\domains\bulletin\models\BulletinsRecord.php
В методе рулез грохнули этот оператор , 'max' => 255 ибо он ограничивал длину текста даже для ЛОНГТЕКСТА не более 255 символов
$this->info=    nl2br($bull->info); исправляет форматирование абзаца текста


2020-01-11 12:17 Доска объявлений Главная страница - подробности - больше подробностей + 4 44 мин.
тег источника картинки не требует обязательного закрытия, судя по финалу видео
<img src= у Валерия в конце видео без закрывающего > отрабатывает на ура
У себя закрыл этот тег, на скриншотах видно, и тоже отрабатывает без вопросов
Видимо не всякий тег требует непременного закрывающего >


2020-01-10 12:27 Доска объявлений Главная страница - подробности - ссылки и заготовка представлени + 7 27 мин.
из представления D:\OSPanel\domains\bulletin\views\site\index.php сделали ссылку на контроллер для оживления нашего ховера "Подробнее"
Применяй в гиперссылке на индексе дефис между словами, которые в Контроллере у тебя с большой буквы в названии вызываемой функции

2020-01-10 11:51 Доска объявлений Изображение - удаление - удаление файла и записи + 6 1 час. 13 мин.
создав в аяксе url:"setdelete", не забывай в фотоконтроллере сделать функцию экшнСетделет
В который раз пишу для себя - следи за именами классов и переменных, не забывай давать доллары долларовладельцам, а переменным в РНР - значки доллара!
Иначе ничего у тебя, дружище, работать просто не будет!
Проверено электроникой )

Многострочный комментарий в нетбинсе начинай с /* и заканчивай так */

Следующая забава, возможно подстерегающая не только меня, заключается в моменте видеоурока 9 минута 35 секунд - когда мы алертом получаем путь до переменной возвращая $photoRec->link;
В браузере Мозилла Файрфокс возвращается ошибка, а в ГуглХроме - прекрасно возвращается путь, как у Валерия! (иллюстрация к уроку номер 0)

Если кликнуть по трилистнику в браузере внизу справа, то открывается окно дебага http://bull.local/debug/default/index
Тут вся подноготная -читай да анализируй на славу

2020-01-09 13:30 Доска объявлений Изображение - удаление - ни шагу без подтверждения! + 7 24 мин.
реализовали проверку удаления с алертами сообщающими о выборе

2020-01-09 13:03 Доска объявлений Изображение - аватарка - как стать главной + 6 45 мин.
удалили из проекта повторяющиеся фото - искать проще по добавленному времени создания в миллисекундах которое - выбираем из одинаковых начинающихся названий фото то, у которого время миллисекунд меньше - фото было добавлено раньше и грохаем его

Кнопке "Сделать главной" добавили в свойства класс, идентификатор фото и идентификатор текущего объявления
Вызов функции в джаваскрипте выполняем по классу - имя класса указываем с лидирующей точкой

2020-01-09 12:15 Доска объявлений Изображение - аватарка - работа над ошибками связей + 6 26 мин.
в ФотоКонтроллер добавили проверку на авторизацию пользователя и если не регистрировался - изволь, заполняй формуляр)

2020-01-09 11:47 Доска объявлений Изображение - аватарка - вывод на главной странице + 6 34 мин.
чтобы отобразить аватар объявления на главной странице
- поставили тестом тройку идентификатор фото в поле аватар таблицы объявлений в строке о продаже авто
- добавили в модели объявлений в метод рулз поле аватар
- в лейблы также добавили отсутсвующий аватар

Вызов метода(функции) отличается от вызова поля наличием круглых скобок после имени метода(функции)


2020-01-09 11:11 Доска объявлений Изображение - JS - извлечение методом ajax + 4 23 мин.
перезагрузка страницы оператором $('body').load('/photo/index')
приводит к отключению функционала кнопки записи комментария в базу
замена его на оператор location.reload(); приводит к автоматическому обновлению страницы

2020-01-09 10:44 Доска объявлений Изображение - JS - сохранение информации в базу + 4 51 мин.
ctrl+F5 - обновление страницы с подчисткой кэша
Значения переменных в массивах указываются через двоеточие
Видишь двоеточие в массиве - после него значение той переменной, имя которой указано до двоеточия
В сотый раз себе напишу - перед именами переменных РНР не забывай доллары вписывать, а то переменные работать без долларов отказываются

2020-01-08 17:22 Доска объявлений Изображение - JS - глобализация + 4 1 час. 10 мин.
писал-писал весь урок комментарии, нажал эф5 и всё коту под хвост
по уроку всё прошло успешно

2020-01-08 15:58 Доска объявлений Изображение - JS - немного теории и пижонства + 4 39 мин.
изначально javaScript писался для браузера NetScape
Сервис -> Параметры -> Редактор -> "Автозавершение кода" и "Подсказки" - место для посмотреть, если достали нетбинсовские подсказки вечно всплывающие и накидывающие не то что надо
Блок джаваскрипта внутрь блока РНР вставляем через такое обозначение:
$script = <<< JS
...
JS;

При указании обращения к объекту по идентификатору не забывай перед именем указать диез #


2020-01-08 15:02 Доска объявлений Изображение - управление картинками + 5 29 мин.
отбутстрапили форму добавления фото (я всё прилично выражаюсь)))
<div> - контейнер для размещения объектов на странице поблочно
data-toggle - атрибут переключающий данные, к примеру выпадающее меню получится, если присвоить ему значение дропдаун
<span> очень похож на элемент <div>, но <div> является блочным элементом, в то время как <span> является строчным
<ul>  - маркированный список, у которого каждый элемент должен начинаться с тега <li>. Если к тегу <ul> применяется таблица стилей, то элементы <li> наследуют эти свойства
<li> - отдельный элемент списка
<a> - предназначен для создания ссылок

2020-01-08 13:56 Доска объявлений Изображение - сохранение пути в базу + 5 51 мин.
грохнули добавленные на позапрошлом уроке фото из проекта здесь D:\OSPanel\domains\bulletin\web\images\DSC06577_1578419736.jpg и т.д
Для отображения аватара добавленной картинки требуется лидирующий слеш в указании источника картинки <img src="/<?=$photo_->link?>" alt="no_photo" >
Помимо добавления фото на сайте и в проекте, записи о добавленных фото заносятся в БД bulletins

2020-01-08 12:28 Доска объявлений ПРОМЕЖУТОЧНЫЙ ВИДЕО ОБЗОР + 8 1 час. 13 мин.
работа на разных компах приводит к неожиданным результатам
Чему научился за отчётный период имею доложить следующее:
Код РНР встраивается в документ HTML и наоборот.
О границах: начало кода РНР можно распознать по слитному сочетанию пяти знаков
<?php то есть меньше, знак вопроса и три малые литеры php
Окончание кода РНР может отсутствовать, но если начинается блок HTML-разметки, то обязательно встретится слитное (без пробелов) сочетание двух знаков "вопроса" и "больше" вот так: ?>
YII(yes it is) использует концепцию MVC
Модель рулит правилами
View - видит пользователь в браузере
Контроллер передает правила от Модели к Представлению

Работа крайне аккуратно должна выполняться - один лишний пробел или незакрытая скобка, не тот регистр в имени переменной или класса и всё - код нерабочий, страница не отображается
Но есть плюшка - встроенный дебаггер, подсказывающий в каком файле искать и на какую строку обратить внимание, выводимый вместо сбойной страницы после обновления
Нравится краткость видеоуроков, при их продолжительности удобнее подбирать время для занятий
Сейчас выходные, но они не вечны и скоро краткость Валерия будет на вес золота с приходом будней, когда звонит звонок и надо всё бросить и лететь куда скажут )
В проект хочу добавить хостинг и покупку домена, в прошлом году такое делал, надо повторить и поиграть с боевым сайтом, составить конкуренцию Авито ))) Догнать и перегнать, как учила нас партия)))
Продолжение такого яркого курса конечно же нужно, интересно посмотреть на реализацию способностей коллег
Всем удачи и сбычи мечт в области интеллектуального роста!
Звук пришлось накладывать в ютубе - ноут, что делает сейчас работы по курсу с виндой 32 бита, микрофон в системе отсутствует, записал на нём видеоряд, аудио наложил в редакторе ютуба
Мак, где со звуком всё в порядке, пока не заборол миграции, оттого видео не с него
2020-01-07 21:02 Доска объявлений Изображение - загрузка файла на сайт + 8 1 час. 11 мин.
научили класс PhotoForm загружать в проект картинку
time() возвращает текущее количество миллисекунд от создания ОС Юникс
Ошибка добавления фото на 10-ой минуте добивается до победы в 16:24, помимо подсказки Степана, она тоже помогла и обнадежила, последней гранатой в окоп врага, простите, ошибки кода, было удаление слеша перед images/ в переменной 'imagePath' в файле конфига D:\OSPanel\domains\bulletin\config\params.php



2020-01-07 19:49 Доска объявлений Изображение - загрузочное представление + 7 36 мин.
чтобы контроллер мог оперировать моделью фотоФорм и фотоРекорд - пишем юзинги про них в контроллере
Выбор картинки реализовали блоком РНР
fileInput() - определяет файл с изображением
textarea() - создает текстовое поле для комментария к изображению
submitButton() с аргументами рисует кнопку подтверждения добавляемой картинки

2020-01-07 18:46 Доска объявлений Изображения - модель формы + 6 43 мин.
юзинги указываются после неймспейса(пространства имен)
Если при создании РНР-файла в контексте выбирать не просто файл РНР, а РНР-класс, в заготовке сразу появляется шапка из пространства имен и шаблон класса
Для картинок будут использоваться три поля - имя $file, путь $link и пояснение $info

2020-01-07 17:51 Доска объявлений Изображения - где живут картинки + 5 35 мин.
определили папку для фотоиллюстраций к объявлениям D:\OSPanel\domains\bulletin\web\images
Место для хранения глобальных параметров здесь: D:\OSPanel\domains\bulletin\config\params.php
В контроллере создали переменные, принимающие данные о пути и имени картинки из параметров и передали их модели через рендер
В индексе после этого в блоке РНР путь стал таким - '<?=$path.$no_photo?>'
Коротко и удобно

2020-01-07 16:43 Доска объявлений Работаем над ошибками - YII2 в помощь + 5 36 мин.
отладчик ошибок включается здесь D:\OSPanel\domains\bulletin\web\index.php
А)
syntax error, unexpected '->' (T_OBJECT_OPERATOR) такое сообщение с указанием на имя файла возвращается когда перед this забудешь поставить знак $
Перед переменной $this не пропустишь знак начала имени переменной, в РНР это знак доллара и ошибка устранена (нулевая иллюстрация - эта ошибка и возврат фреймворка о ней
Б)
В следующей иллюстрации мы видим ошибку закравшегося пробела в строке 13
<? php - если между знаком вопроса и тремя литерами php окажется пробел - код не парсится и возвращается ошибка
Решение - не допускать пробел при открытии блока РНР, вот так правильно - <?php


скриншот одной из ошибок и ее анализ (что за ошибка, в какой строке видна, из-за чего она, как исправили)

2020-01-07 16:03 Доска объявлений Изображения - работа с моделью + 5 46 мин.
['bull_id'=>'id']
эта запись значит, что ассоциированный ключ 'bull_id' принимает значение => этого аргумента 'id'


2020-01-07 15:13 Доска объявлений Изображения - снова MVC + 6 26 мин.
модель создаем с помощью браузерного мастера новых моделей /gii/model
В результате его работы создается файл models\PhotoRecord.php

Важно: один-ко-многим == одно объявление может включать много фото
Но, одно фото не может принадлежать многим объявлениям!
Реализация в коде выглядит так: $this->hasMany(PhotoRecord::classname, ['bull_id','id']);

Для перехода по ссылке в проекте должен быть в наличии соответствующий контроллер
$this->render('index');

А представление(вьюшка) уже займется выведением всего вышесозданного в браузер


2020-01-07 13:25 Доска объявлений Изображения - микс из миграций + 5 31 мин.
миграцией создали новую таблицу
--fields=avatar:integer в качестве параметра консоли для команды миграции создает заготовку добавления поля в имеющейся таблице
yii migrate без дополнительных параметров стартует ранее подготовленные миграции в работу


2020-01-07 12:48 Доска объявлений Объявление: запрос - в функцию & кнопка для изображений + 7 40 мин.
если в сигнатуре функции аргумент уже указан со значением по умолчанию, то при вызове этой функции для случая значения по умолчанию, аргумент в круглые скобки не пиши - излишне
Выполняя действия над данными в функции, не забывай присваивать результат обработки какой-либо переменной и в конце возвращай её из функции, иначе результат обработки повиснет в воздухе
Можно и сразу возвращать ритёрном, без переменной, если не ошибаюсь, по аналогии с Джавой


2020-01-07 12:02 Доска объявлений Объявление - рефакторинг редактирования + 6 35 мин.
способ отключения функции по умолчанию - присвоить переменной отрицательное значение(из разряда невозможных в нормальной работе кода)- вариант -1 равнозначен отключению по умолчанию при этом значении работы функции до присвоения ей принудительно действительно актуального значения идентификатора
Добавили ветвление в функцию actionAddbulletin - в зависимости от статуса и идентификатора выполняются разные действия над выбранным объявлением

2020-01-07 11:24 Доска объявлений Объявление - статусный рефакторинг + 6 21 мин.
рефакторинг актуален и в РНР
Выбор варианта выполнили ветвлением ифами-элзами с передачей ключевого аргумента в метод(указали его вторым аргументом в сигнатуре)
Теперь вместо повторяющегося кода в функциях экшенов всего лишь меняли статус выбирая объект по идентификатору и применяя ему значение в одинарных апострофах
setStatus($id, 'public'); - вызываемому методу передаются здесь два аргумента в скобках, а именно переменная(в РНР они пишутся со знака доллара обязательно) и значение(значения указываются в одинарных кавычках или апострофах)

2020-01-06 11:36 Доска объявлений Объявление - скрыть нельзя удалить + 7 25 мин.
D:\OSPanel\domains\bulletin\views\bulletins\index.php - представление со списком объявлений для публикации, редактирования и удаления
Добавили функционал удаления и восстановления объявлений

2020-01-06 11:02 Доска объявлений Объявление - публикация на главной странице + 7 41 мин.
D:\OSPanel\domains\bulletin\views\site\index.php - это представление стартовой страницы
col-sm-6 это колСмолл6(база равна двенадцати, значит если стоит такой класс для смолл устройства(планшетики), то колонок будет у них две)

col-md-4 - при базе 12 будет три колонки для средних устройств типа небольших мониторов

col-lg-3 - для лардж скринов (самые большие мониторы) 12\3=4колонки
Всё вышеописанное про колэсэм, эмдэ, и элгэ - это про Бутстрап для резиновости страниц
<p>Информация</p> - пэ это параграф
https://placeholder.com/ - сервис предоставляющий готовые заглушки изображений на сайт


2020-01-05 16:23 Доска объявлений Объявление - всё на публику + 5 25 мин.
для публикации находится одна запись по id, выполняются функции setPublic(); и save(); а затем перекидывает на /bulletins/index

2020-01-05 15:55 Доска объявлений Объявление - список + 3 57 мин.
сохранение в БД != наличию записи на сайте, об этом надо позаботиться отдельно
Гостю не дозволено будет добавлять объявления, в этом случае перенаправляем его на страницу авторизации
<?php { ?> затем может быть куча строк с  html-разметкой а затем где-то ниже будет так
<? } ?>
С непривычки дико выглядит и сначала сбивает с толку


2020-01-05 14:56 Доска объявлений Объявление - сохранение в черновик + 4 24 мин.
в контроллере объявлений добавили проверку на метод отправки нового объявления post
Запись в БД про дом Гусляра добавилась - счастье в сердце почувствовал ))

2020-01-05 14:18 Доска объявлений Объявление - форма добавления объявлений + 4 1 час. 42 мин.
Format в контекстном меню выравнивает весь открытый файл по правилам форматирования разметки для удобства чтения
В контейнеры див передаётся переменная форм как поле с атрибутами модели и её поля с выводом в текстовое окно ввода

2020-01-05 12:33 Доска объявлений Объявление - поля для пользовательских форм + 3 24 мин.
массивами задали новые поля в форме создания объявления
главное - не запутаться в квадратных скобках и открывая их, не забывать закрывать
2020-01-05 12:05 Доска объявлений Объявление - ограничение доступа + 3 27 мин.
чтобы неавторизованный пользователь не создавал объявлений сделали в контроллере оператор редиректа на страницу авторизации для юзеров которые isGuest
tr == table row строка таблицы
td == table data данные таблицы


2020-01-05 11:36 Доска объявлений Объявление - функциональный дизайн страницы + 4 32 мин.
статусы объявлений предусмотрены в трех видах - черновик, опубликованное и удаленное
Оператор hover позволяет применять к объекту вебдизайна свойство(какое привяжешь) которое активируется при наведении на него указателя мыши (ховеркрафт - по великобритански это вертолёт, как бы мышь пролетает над тем объектом и отрабатывает действие, которое ты привязал к этому событию ховера)

2020-01-04 13:03 Доска объявлений Объявления - контроллер, представление и много записей + 4 36 мин.
один пользователь может создать много объявлений, но одно объявление может создать лишь один пользователь, не двое и не трое
Один ко многим делается в D:\OSPanel\domains\bulletin\models\UserRecord.php методом хэзМэни
Снова запнулся за регистры при наименовании методов - public function actionIndex() - не так регистры при том же имени и вуаля - пейдж нот фаунд к Вашим услугам!


2020-01-04 12:20 Доска объявлений Объявления - создание базы и модели + 4 21 мин.
миграции отработали, в генераторе модели создали новую модель, проверили её наличие в нетбинс
Миграция создает пхп файл в нетбинсе, его правим как надо и после запуска результат виден в БД через phpMyAdmin

2020-01-04 11:40 Доска объявлений Что доступно Юпитеру? + 3 45 мин.
начали использовать созданную прежде авторизацию на сайте - разграничили области видимости базового представления (менюшки Контакты)
Расположение для редактирования - D:\OSPanel\domains\bulletin\views\layouts\main.php
Восклицательный знак перед оператором привычно означает логическое отрицание

2020-01-04 10:52 Доска объявлений Красивая аутентификация на сайте + 3 1 час. 8 мин.
русифицировали страницу входа на сайт с помощью функции attributeLabels() взяв часть полей по образцу юзерФорм
Часть настроек была выполнена в файле D:\OSPanel\domains\bulletin\views\site\login.php

2020-01-03 19:25 Доска объявлений Новый пользователь - сохранение нового пользователя + 7 3 час. 33 мин.
путь к экземпляру \app\models\ можно прописать в юзингах сверху, тогда указание на этот экземпляр доступно в краткой форме
Too few arguments to function app\models\UserRecord::createUser() == Слишком мало аргументов для функции app \ models \ UserRecord :: createUser ()
Маловато предоставили - вот и ругается

Добавление после передачи аргумента в createUser($newUser); упёрлось в ошибку
Искал причину и не находил. Отправил отчет с ошибкой и помощь пришла.
Была вероятность, что отчет будет сминусован с невменяемыми и безответными комментариями и отправка его окажется мартышкиным трудом. Но, к счастью, отчет попался на глаза коллегам, которые увидели мою оплошность и указали мне на неё. Вот здесь я и снова прочувствовал пользу от прохождения курса коллективно - ошибка оказалась в написании имени переменной с ошибкой, а я видимо замыленным глазом смотрел и не видел, ведь пересматривал же я этот участок кода и бесполезно.
Поправил регистр одной лишь буквы и всё сработало!
Спасибо, это было поучительно!
2020-01-03 15:44 Доска объявлений Новый пользователь - дизайн формы: поля и колонки + 4 24 мин.
как хорошо, когда ты уже проходил уроки Валерия по бутстрапу! Хотя бы тут нет вопросов )
Только написал вышеприведенную строку и давай пробовать как там бутстрап отработал - не отработал смотрю, нет двух колонок (нулевая иллюстрация)
Ы-ы-ы, думаю, делил шкуру непойманного, только похвалился и вот те на - облом )
Потом вспомнил, что смотрел не на полный экран, а ведь бутстрап, он же про резиновую вёрстку, дай посмотрю на полный экран - вуаля! (первая иллюстрация - всё прекрасно делится на два поля

2020-01-03 14:29 Доска объявлений Новый пользователь - дизайн формы начало + 4 53 мин.
ошибка в одной букве - и всё, нет отображения твоих изменений
Хлебные крошки в коде написал как бредкрамПс вместо бреадкрамБс - искал, чего это у меня нет менюшек
Будь внимателен, пиашпишник )
Наличие одного лишь пробела между стартом строки <? и знаком равно приводит к неинтерпретируемому коду РНР - нулевая иллюстрация(неверный код с пробелом) и первая(годный код и пробел удален)

2020-01-03 13:24 Доска объявлений Новый пользователь - модель для формы + 4 31 мин.
alt+shift+F - форматирование кода в нетбинс по правилам(хоткИ или "горячая клавиша" для причёсывания того, что наваял
Начали создавать форму для заведения нового пользователя(форма регистрации)
Поля сделали обязательными для заполнения, при обратном будет выведено сообщение

2020-01-03 12:42 Доска объявлений Новый пользователь - заготовка и меню + 3 32 мин.
информация по пользователю выводится на основании номера идентификатора, взятого из текущей сессии
Двойное двоеточие :: это оператор разрешения области видимости ("Paamayim Nekudotayim"). Эта лексема, разрешает обращаться к
статическим свойствам,
константам,
переопределенным свойствам,
методам класса.

views - layouts - main - это хидер(навбар) и футер, то что не меняется вслед за изменением контента страницы в центре

2020-01-03 11:41 Доска объявлений Пользователь - кто зарегистрирован сейчас? + 3 47 мин.
кнопка "Статистика и отчеты" к уроку - Ваш кладезь мудрости впередиидущих курсантов
Столкнулся с проблемой вызова нестатического метода, возникла ошибка(иллюстрация номер ноль)
Просмотрел, перенабрал - не помогло.
Почитал комментарии с иллюстрации с ошибкой - причины в силу малоопытности не понял
Стал смотреть отчеты впередиидущих - и о чудо, Степан уже в это упирался и даже при его заявленной неопытности в заморских языках, он нашел что метод(здесь они функциями называются) не имеет экземпляра и его просто можно в сигнатуре указать статическим и всё взлетит
Так и сделал(следующая иллюстрация) - и всё взлетело.
Остались два вопроса:
- как Степан при том, что пишет в языках не силён, нашел ответ про сделать метод статиком
- как у Валерия без статика всё сработало.
Загадок две, ответа пока не нашел.

2020-01-03 10:48 Доска объявлений MVC - информация о пользователе + 3 48 мин.
$currUser - в коде РНР не забывай, что переменные (имена) указываются начиная с символа доллара
Видишь символ доллара в начале имени в РНР - это переменная
Краткая форма вкрапления РНР кода в HTML разметку отделяется по краям так <?                    ?>
Переменную $currUser получили из модели UserController методом find по номеру идентификатора 2, взяли одну запись
Спасибо подсказкам - наз на хэз поменял )))
2020-01-02 18:19 Доска объявлений MVC - немного теории + 9 26 мин.
представления - это странички сайта, которые вызываются из модели контроллером

2020-01-02 17:44 Доска объявлений Информация о пользователе + 9 56 мин.
миграции работают - но тут много чести нет, просто поднял всё на окнах
UserRecord создал, связь с UserinfoRecord тоже добавил

2019-12-31 23:44 MVC шаблон MVC - PhoneBook - ViewList + 9 10 час. 45 мин.
соорудили дочернее окно для добавления записей
Временно вывели его вместо родительского для теста
В нём три объекта - текстовое поле, окно JList<String> для записей и кнопка закидывания в БД приготовленной в этом окне записи
До встречи в следующем десятилетии, товарищи!

2019-12-31 12:51 MVC шаблон MVC - PhoneBook - User Struct + 11 1 час. 1 мин.
модель и представление не должны зависеть друг от друга по концепции MVC
Как передать в одном аргументе сразу три поля из карточки телефонной книжки? - Ответ прост - создай структуру или класс и помещай в него всё что объявишь. А экземпляр этого класса уже и передавай как один аргумент
Если хочешь перекрыть доступ к редактированию поля textID.setEditable(false); - вот такой сетЭдитабл с фолзом применяй смело в Джаве!
Observer - это слушатель, который оповещается об изменениях


2019-12-30 20:51 MVC шаблон MVC - PhoneBook - ViewCard + 11 43 мин.
операторы выполняются компилятором сверху вниз и слева направо
Это стоит учитывать, когда располагаете свои строки с операторами, если вывод на экран сделать раньше инициализации элементов, их просто не будет видно и пользователи Вашей программы будут дико ржать над незадачливым автором кода )
В уроке эта ситуация рассматривается на примере перемещения оператора setVisible(true); по строкам кода

2019-12-30 18:19 MVC шаблон MVC - PhoneBook - Вступление + 10 39 мин.
узнал о существовании аналога https://www.draw.io в виде вебсервиса https://app.moqups.com/sign-up
Сделал свой набросок в дроуИо, поскольку там не требовалась регистрация

2019-12-29 14:06 Дневник успеха 2019-12-29 : Чтоб в почете быть, надо труд свой полюбить. + 4 21 мин.
Подходит к концу год, десятилетие, подписка полугодовая и день за окном. На удивление, всё перечисленное, было проведено недаром, с пользой и удовольствием. Не в последнюю очередь благодаря коллективу ВидеоШарпа, его основателю Евгению Витольдовичу, славному сыну Советской Прибалтики, как её перечисляли в прогнозе погоды программы "Время" в моём детстве, благодаря яркому жителю города Пенза, Валерию Владимировичу, показавшему горизонты веб-программирования и занятного языка Пайтон. Благодаря ему познакомился с талантливыми парнями из Британии, ставшими музами для создателей ЯП Пайтон. Много других толковых парней и девчонок хотелось бы поздравить с этим новым рубежом годовой развилки.
Где наш экс-журналист и полиглот Виктор Тютюн из солнечного Киева? Где толковый Геннадий Кравцов, радовавший палитрой красок в своих отчетах? Где строптивая Анастасия орудовавшая здесь под ником ДоминэйшнАгенда? Где севастопольский Дмитрий выдававший на гора отличные отчёты? Кого куда раскидал год, отчего ушли в туман?
Всех с Новым годом и новым десятилетием! Здоровья и творческого роста! Ибо ходить на работу для того, чтобы ждать конца рабочего дня - суть каторга для Человека.
За отчетный период посещения https://www.videosharp.info/ имею доложить:
- познакомился с сишарпом, джавой, пайтоном, джаваскриптом, сиэсэс, вёрсткой, бутстрапом, гитом, средами разработки в этих культурах )))
- лишь здесь благодаря Марафону начал набирать с удовольствием слепым методом - мерси Шахиджаняну и Видеошарпу
- перестал бояться открывать новый урок и педалить код
- познакомился с массой творческих и интересных людей
- стал начинать утро будней с физзарядки
И вся эта движуха лишь поэтому - стены и цепи излишни когда тюрьма в голове определяет размеры свободы...
Не возводишь стены и не вешаешь цепей - жизнь продуктивнее.
С новым годом, товарищи!

За эту неделю:

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

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

+ Я набрал 1 текст:
    1 => «СОЛО на клавиатуре / 100 упражнений», без ошибок

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

+ Я выполнил 14 видеоуроков:
    1 => «Facade / Facade - Motivator - Program» за 3 час. 21 мин.
    2 => «Facade / Facade - Motivator - Plan» за 2 час. 7 мин.
    3 => «Facade / Facade - Motivator - Methods» за 2 час. 11 мин.
    4 => «Facade / Facade - Motivator - Image» за 3 час. 25 мин.
    5 => «Facade / Facade - Motivator - Back Paint» за 10 час. 9 мин.
    6 => «Facade / Facade - Motivator - Picture Border» за 37 мин.
    7 => «Facade / Facade - Motivator - Text Center» за 3 час. 52 мин.
    8 => «Facade / ФИНАЛЬНЫЙ УРОК» за 10 мин.
    9 => «MVC шаблон / MVC - Counter - ViewFrame» за 32 мин.
    10 => «MVC шаблон / MVC - Counter - ModelPlus» за 2 час. 25 мин.
    11 => «MVC шаблон / MVC - Counter - ControllerPlusFrame» за 57 мин.
    12 => «MVC шаблон / MVC - Counter - ControllerPlusConsole» за 1 час. 4 мин.
    13 => «MVC шаблон / MVC - Counter - ModelDuplex» за 41 мин.
    14 => «MVC шаблон / MVC - Counter - ControllerDuplex» за 1 час. 4 мин.

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

2019-12-29 13:38 MVC шаблон MVC - Counter - ControllerDuplex + 4 1 час. 4 мин.
Модель описывает бизнес-логику ( к примеру спекулянтскую, она проще для понимания - покупаем рога и копыта оптом по рублю, торгуем этим же в розницу с накруткой 80 пр0центов, кричим всем про громадные пятидесятипроцентные скидки, акции, розыгрыши и прочий шум, живем на 30 процентов маржи)
Представление - это то, что видит покупатель
Контроллер - это наш механизм обработки рогов и копыт по извлечению маржи для ведения предпринимательской деятельности, имеющей целью извлечение прибыли, то есть работу контроллера
Рога с копытами никак не связаны с покупателями, а связующее звено - это и есть контроллер, то есть контора "Рога и Копыта"
Решением по первичному выведению стартового значения в фрейм и консоль было удаление конструктора в модели и замена его на метод инит, присваивающий счётчику стартовое значение и оповещающий об этом контроллер
В видеовставке немного юмора, надеюсь на предновогодние улыбки да и воскресенье на дворе )
2019-12-29 11:57 MVC шаблон MVC - Counter - ModelDuplex + 5 41 мин.
создание контроллера:
- объявить поле модели
- объявить поле представления

создать конструктор, принимающий аргументами вышеобъявленные поля
- присвоить текущим экземплярам полей значения аргументов "thisами"
- текущему экземпляру модели добавить addObserver с передачей аргументом текущего экземпляра представления
- текущему экземпляру представления добавить addListener или слушателя с передачей ему аргументом текущего экземпляра

метод экшнПерформд запускает у модели метод дуплекс
(вышеописанное проиллюстрировано на картинке за номером нуль)
Про непередачу аргумента в notifyObservers(multi); класса ModelDuplex (нижняя иллюстрация справа внизу этот класс) заметил ещё в момент написания класса и был удивлён этой ошибке, которая возвращала null после компиляции (шестая минута видеоурока)
Вот ведь! Школа не прошла даром )

2019-12-28 14:57 MVC шаблон MVC - Counter - ControllerPlusConsole + 4 1 час. 4 мин.
при создании разных контроллеров при одной модели, работа их в программе происходит синхронно - и счет в цикле выполняется и там и там одинаково, и кнопка по окончании работы цикла приводит к увеличению показаний счетчика и на экранной форме и в окне консоли
Заметил ещё одну особенность при создании скриншотов. В былое время, работая на ноуте Вайо под управлением ОС Windows, чтобы отработал скриншот, ось ждала окончания работы цикла, и лишь потом делала скриншот, здесь же, ось мака ХайСиерра 10.13.6 позволяет делать скриншот прямо в момент выполнения цикла, не дожидаясь его окончания. Это вспомнилось, когда играл с циклом в этом уроке
А синхронность работы программы объясняется тем, что поле private int counter; хранится в Модели, а она у нас одна и для представления Консоли и для представления Фрейма, и в ней прописано оповещать всех Слушателей об изменениях

2019-12-28 13:24 MVC шаблон MVC - Counter - ControllerPlusFrame + 4 57 мин.
контроллер == связующая нить (НЕ КАНАТ) между Моделью(MODEL) и Представлением(VIEW)
Контроллер связывает функционал одного Представления и одной Модели, чем проще, тем целесообразнее, не надо усложнять нить до состояния причального каната межконтинентального лайнера
Вариант вывести ноль со старта программы - мой фантазийный вариант - методом, выполняющим однократно инкремент до единицы и тут же декремент до нуля однократно - тогда при запуске будет выведен ноль сразу

2019-12-27 17:38 MVC шаблон MVC - Counter - ModelPlus + 7 2 час. 25 мин.
задействовали библиотеки java.util.Observable; и java.util.Observer; тем самым установив оповещение консоли и экранной формы классом ModelPlus.java который умеет хранить значение счётчика и увеличивать его методом plus()

2019-12-27 15:10 MVC шаблон MVC - Counter - ViewFrame + 5 32 мин.
по традиции оформили JFrame и потестили приём им аргументов
java.util.Observable и java.util.Observer Эклипс уже помечает как устаревшие (предлагает пометить Suppress Warnings("deprecation") - Подавить предупреждения («устаревание») ), но работе программы это не мешает

2019-12-26 17:49 Facade ФИНАЛЬНЫЙ УРОК + 9 10 мин.
за десять уроков по 5-10 минут соорудили программу, создающую с помощью встроенной джавовской двадэ графики готовый мотиватор или демотиватор, в зависимости от фантазии художника
Уроки короткие, Эклипс не капризничала, картинок и цитат в сети вагоны - всё шло как по маслу
Основная забота теперь - знакомиться с библиотеками системными джавы, брать на вооружение её классы и помнить, какой что умеет и как может преобразовывать твои объекты
Фасад - создай простой класс с минимумом функционала( в идеале один метод) и прикрути к нему, как под капотом всё необходимое
Подозреваю, что psvm в сути своей тоже является неким фасадом любой программы джава или сишарпа

2019-12-26 13:46 Facade Facade - Motivator - Text Center + 6 3 час. 52 мин.
для хорошего текстового комментария надо написать как минимум 5 операторов
Font font = new Font ("Tahoma", Font.PLAIN, 30); - создали экземпляр шрифта с названием font, которому передали аргументы: в кавычках строковое название шрифта, тип шрифта и размер

graph.setFont(font); - для объекта graph применили метод сетФонт с передачей ему аргументом вышесозданный экземпляр

int text_width = graph.getFontMetrics().stringWidth(text); -
int text_height = graph.getFontMetrics().getHeight(); - создали пару переменных целочисленных для вычисления ширины и высоты текста

graph.drawString(text, (width - text_width)/2, PADDING + IMAGE_HEIGHT + (TEXT_HEIGHT - text_height)/2 + text_height); - на объект графа указали нарисовать строку с тремя аргументами: сам текст, ширина и высота

2019-12-25 20:26 Facade Facade - Motivator - Picture Border + 8 37 мин.
новый класс для меня из библиотеки java.awt.BasicStroke.BasicStroke
Создает сплошной линией BasicStroke с указанной шириной и значениями по умолчанию для верхних и нижних стилей.
Параметры, которые можно указать: ширина BasicStroke
Бросает ошибки: IllegalArgumentException - если ширина отрицательна

Загрузка фото прошла без запинок

2019-12-25 19:32 Facade Facade - Motivator - Back Paint + 7 10 час. 9 мин.
new ProcessBuilder(IMAGE_APPLICATION, resultFilename).start(); запускает процесс (приложение, указанное нулевым аргументом) и передает в этот процесс следующий аргумент
В нашем случае запускается программа для просмотра картинок и ей передается наш мотиватор

error=13, Permission denied - пробовал и скопировать в каталог проекта запускной файл и поменять права - в системном каталоге отказ в доступе, хоть и под админом работаю и пароль рута вводил. Защиту пока не сломал, открывал вручную успешно и в /Applications/Preview.app
и в /Applications/Google Chrome.app, а из кода валит иксепшн Cannot run program "/Applications/Google Chrome.app": error=13, Permission denied
2019-12-24 16:49 Facade Facade - Motivator - Image + 9 3 час. 25 мин.
область видимости полей и методов, да и любых сущностей ограничивается фигурными скобками
Это стоит помнить в момент объявления полей - если надо их использовать за пределами метода, значит объявлять их надо никак не в самом методе, а выше - в классе


2019-12-24 12:36 Facade Facade - Motivator - Methods + 9 2 час. 11 мин.
написанное вчера на русском языке перевели на язык java
По пунктам описывающим действия алгоритма создали методы (один пункт алгоритма == один метод)
Добавили константы для хранения размеров картинки, отступов и текстового поля

2019-12-23 16:26 Facade Facade - Motivator - Plan + 5 2 час. 7 мин.
алгоритм действий будет такой:
1 - создаём рисунок img
2 - заполняем цветом фон #abcdef
3- загружаем картинку 640 х 480 из файла image.jpg
4 - разместить картинку от 20, 20
5 - нарисовать рамку 20, 20 640+20, 480+20
6 - вывести текст под картинкой
7 - сохранить результат в файл motivator.jpg
8 - отобразить результат на экране
Попотеть придётся, полагаю над всеми пунктами, чтобы не вкривь да вкось, чтобы текст приятным шрифтом подобрать
Думаю ни один из пунктов не будет реализован "одной левой" ))

2019-12-23 13:58 Facade Facade - Motivator - Program + 8 3 час. 21 мин.
шаблон Фасад - это кнопка, которую так искал Урри
За одним рубильником в нашем проекте будет скрываться целый комплекс по производству мотиваторов и демотиваторов
Создали новый проект ( в Эклипсе они все в дереве каталогов слева - очень удобно) и добавили в него класс с точкой входа

2019-12-22 14:00 Дневник успеха 2019-12-22 : Не учи безделью, а учи рукоделью. + 9 12 мин.
На этой неделе соблазнился курсом Валерия Владимировича, даже что-то преодолел. Вспомнил о редакторе нано, о команде судо для того, чтобы этот редактор вошел в режим доступа к записи на диск, нашел для себя сабститьют OpenServer в виде МАМР. Не без задиров, но продвигался до вчерашнего дня. Миграцию ниасилил - терминал или консоль команды не принимала, пока не понял что не так. Плюс вчера добавилась проблема доступа к phpMyAdminу - при наличии пароля к учетку root не пускал еситизовский gii-генератор ActiveRecordа, когда же грохнул пароль к phpMyAdminовской учетке root - пустил и даже сформировал требуемый по уроку ActiveRecord, но заткнув дыру в одном месте, получил пробоину в другом - теперь phpMyAdmin не пускает войти. Правки файлов конфига на пустой пароль или обратно на пароль рут оживить вход в админку phpMyAdmin не помогли на сегодня. Думаю, надо прекращать выпендриваться и начать курс на другом ноуте с седьмой виндой, а на маке при всей его мощи аккумулятора(можно в машине заниматься в будни) пилить уже вдогонку виндовому прохождению курса.
Раздел Джава спасает - ежедневную норму добиваю на нём. Спасибо Евгению Витольдовичу за краткие и ясные уроки.
Как говорил капитан Тиг, хранитель пиратского кодекса,
Code is the Law!
Всем удачи в поисках подарков на НГ )
За эту неделю:

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

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

+ Я набрал 2 текста:
    1 => «СОЛО на клавиатуре / 100 упражнений», без ошибок
    2 => «Java - Запуск / Class!», без ошибок

+ Я решил 7 задач:
    1 => «Любимые циклы / Фибоначчи» на 100%
    2 => «Любимые циклы / Тройная степень» на 100%
    3 => «Любимые циклы / Метод Горнера» на 100%
    4 => «По цифрам / Числа по цифрам» на 100%
    5 => «По цифрам / Три цифры» на 100%
    6 => «По цифрам / Цифры по возрастанию» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 14 видеоуроков:
    1 => «Factory / Factory - Storage - Файл и Сканер» за 27 мин.
    2 => «Factory / Factory - Storage - Запуск» за 18 мин.
    3 => «Factory / Factory - Storage - Фабрика» за 1 час. 31 мин.
    4 => «Factory / Factory - Storage - Фабричные цеха» за 2 час. 5 мин.
    5 => «Factory / ФИНАЛЬНЫЙ УРОК» за 4 час. 9 мин.
    6 => «Доска объявлений / О проекте и про инструменты» за 4 час. 26 мин.
    7 => «Доска объявлений / Создание проекта YII2» за 5 час. 50 мин.
    8 => «Доска объявлений / Комфортная конфигурация» за 28 мин.
    9 => «Доска объявлений / Схема базы данных» за 2 час. 45 мин.
    10 => «Доска объявлений / Подключение к базе данных пользователя и миграция пользователей» за 2 час. 31 мин.
    11 => «Доска объявлений / Аутентификация - захешированный пользователь из БД» за 3 час. 36 мин.
    12 => «Facade / Facade - Computer - Program» за 22 мин.
    13 => «Facade / Facade - Computer - Devices» за 14 мин.
    14 => «Facade / Facade - Computer - Power» за 48 мин.

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

2019-12-22 13:36 Facade Facade - Computer - Power + 6 48 мин.
один класс концентрирует в себе организацию запусков агрегатов подкапотного пространства - это и есть шаблон проектирования Фасад
Дополнительное задание сделал, благо оно несложное и особо репу чесать не пришлось - больше писанины (тренировка слепого метода набора с клавиатуры) плюс наблюдение, как по мере создания (реализации) прописанных методов, пропадали подчеркивания Эклипса об ошибках в этих методах
При всей простоте, полезный урок для понимания взаимосвязи методов в разных классах

2019-12-22 10:09 Facade Facade - Computer - Devices + 8 14 мин.
классы созданы
Цель - сборка подкапотного пространства запуска компьютера

2019-12-21 20:12 Доска объявлений Аутентификация - захешированный пользователь из БД + 8 3 час. 36 мин.
генератор ActiveRecord не пускал ругаясь на наличие пароля у пользователя root - первый заслон
Это преодолел, поменяв пароль этого пользователя в phpMyAdmin  на отсутствующий, и о чудо, в генератор http://localhost:8888/gii/model зайти и создать новую модель удалось
Но после этого phpMyAdmin остался недоволен моими правками пароля пользователя root и ждет решения.
в config.inc.php замена
$cfg['Servers'][$i]['password']      = 'root';
на
$cfg['Servers'][$i]['password']      = '';
войти в админку phpMyAdmin не помогла, пишет в ответ
MySQL said:Documentation
Cannot connect: invalid settings.
Но вход в phpMyAdmin - проблема частная, не думаю, что не удастся забороть )

2019-12-21 16:21 Доска объявлений Подключение к базе данных пользователя и миграция пользователей + 11 2 час. 31 мин.
таблица user с пятью полями в базе данных bulletinsdb создана успешно, но лишь в самом PHPMyAdmin
Консоль с миграцией дружить не захотела, по ходу пьесы буду разбираться с этим вопросом
Либо консоль не ту запускал, либо в другом каталоге орудовал, хотя переключение в каталог bulletinsdb в строке консоли отражалось, что вселяло надежду на успех
Однако, финальная цель была достигнута, пусть и другим путем

2019-12-20 21:10 Доска объявлений Схема базы данных + 8 2 час. 45 мин.
собрали план битвы для создания запросов SQL по первичному сооружению БД
Приятно, когда получается!
Тут песен просили - добавил в отчет )

Понять, что локальный сервер запустить на макОси не так уж и сложно при нынешней легкости доступа к информации
2019-12-20 17:59 Доска объявлений Комфортная конфигурация + 7 28 мин.
локальный сервер поднял с помощью МАМР, преттиЮРЛ и заголовок "Доска объявлений" кириллицей установил
.htaccess отвечает за базовые настройки сервера
RewriteRule . index.php [L] обрезает index.php  в адресной строке
RewriteCond %{REQUEST_FILENAME} !-d урезает путь до директории
RewriteCond %{REQUEST_FILENAME} !-f урезает путь до файла
Мак сдался и запустил локальный сервер на МАМР - тот же пиашпиМайАдмин посмотрел, там доступен
Буду пилить сайт дальше!
2019-12-19 19:15 Доска объявлений Создание проекта YII2 + 15 5 час. 50 мин.
Apache NetBeans IDE 11.2 подключил к YII, не с первой попытки, но всё же
Ключ cookieValidationKey внёс внутри апострофов, сохранил
Осталось решить вопрос с локальным сервером
Нашел статьи на хабре и не только - это будет не ОпенСервер, но суть локального сервера будет

2019-12-19 16:48 Facade Facade - Computer - Program + 10 22 мин.
шаблон проектирования Фасад - суть реализация инкапсуляции - создать панель управления сложным процессом, дав пользователю простые органы управления, без необходимости каждый раз ему лезть под капот
Фасад годится в управлении транспортом - дай водителю кнопку старта, чтобы он не лазил под капот с отверткой и не замыкал втягивающее реле на стартере, не запускал вручную бензонасос, не подключал цепи электропитания - это всё сложно и ненужно
Нажми на кнопку - получишь результат )

2019-12-18 22:07 Доска объявлений О проекте и про инструменты + 14 4 час. 26 мин.
среду поставил без особых затруднений, поругался на безопасность, но это было преодолено без труда
Среда на сегодня скачивается эта:
Product Version: Apache NetBeans IDE 11.2
Updates: Updates available
Java: 12.0.2; Java HotSpot(TM) 64-Bit Server VM 12.0.2+10
Runtime: Java(TM) SE Runtime Environment 12.0.2+10
System: Mac OS X version 10.13.6 running on x86_64; UTF-8; ru_RU (nb)
User directory: /Users/dmitrysinitsin/Library/Application Support/NetBeans/11.2
Cache directory: /Users/dmitrysinitsin/Library/Caches/NetBeans/11.2

А вот с опенсервером не подружимся на маке, как я понял, он заточен лишь на винду
Надо что-то будет придумывать. Не занимался этим на макОси, но орешек знаний твёрд и всё же мы не привыкли отступать )
Советы по локальному серверу на макОси приветствуются!

2019-12-18 17:25 Factory ФИНАЛЬНЫЙ УРОК + 10 4 час. 9 мин.
курс несложен для понимания и по времени (продолжительности видеоуроков) ненапрягающий ни разу
То, что давалось в общей программе, как сам понял, рассказал без особых затруднений
Жаль, что дополнительное задание не осилил, будет день - посмотрим новым взглядом и может быть посмеемся над собственной желторотостью )
Как бы то ни было, курс пройден чуть ли не на одном дыхании, стал себе позволять два урока в день
В идеале курсы хорошо проходить компанией, когда есть с кем обсудить новый материал и увидеть его под новым углом
Курсы Валерия этим привлекают - там народ тусит )
Помнится, Видеошарп таким запросом и был найден - гуглил «где тусуются C#», или что-то близкое к этому
Следующим курсантам - успехов и новых вершин!

2019-12-17 16:49 Factory Factory - Storage - Фабричные цеха + 10 2 час. 5 мин.
по рутине всё хорошо, ошибок не нарисовал самостоятельно
Предложение перенести криэйтРидев в класс Фабрики завалил (нижняя иллюстрация)
Пользуясь подсказками Эклипса так и эдак прилаживал, почти уже думал победил - но нет, не взлетело
То статик ошибкой, то оверрайд убери, пока не понял, как это правильно дополнительное задание сделать чтобы код стал рабочим
Оставлю иллюстрацию с моими тестами в этом отчете на будущее, может позже удастся свежим взглядом понять что было не так

2019-12-17 13:58 Factory Factory - Storage - Фабрика + 9 1 час. 31 мин.
отсутствие обработки ридерсканера в классе Фабрики методом init решили следующим образом:
в Фабрике создается экземпляр ридерсканера, затем ему приказывается обработаться методом init и только после этого из Фабрики возвращается экземпляр ридерсканера
1. создай экземпляр
2. обработай его нужным методом
3. верни готовый экземпляр

2019-12-16 16:26 Factory Factory - Storage - Запуск + 9 18 мин.
впервые создал текстовый файл из Эклипса, без применения файл-менеджеров
Для использования класса ReaderFile пришлось передавать в файлРидер аргументом название файла, созданного по пути FactoryStorage/
В ином случае операнды вводились с клавиатуры, дополнительных аргументов не требовалось

2019-12-16 15:24 Factory Factory - Storage - Файл и Сканер + 10 27 мин.
считыватель из файла использует последовательно класс считывателя и класс буферизированного считывателя
Результат их работы передается в строковую переменную, а затем парсится в целочисленный инт
Метод инит не переносим в абстрактный класс из-за разной сигнатуры этих методов в классах чтения с клавиатуры и из файла

2019-12-15 13:12 Дневник успеха 2019-12-15 : Через силу и конь не везет. + 8 13 мин.
9 декабря 2019 года истёк срок действия моих прав на машину, поменял на новые снова на срок 10 лет. В поликлинике оставил 1045 рублей и 25 минут своего времени (обязательная медсправка на три года) и в ГИБДД оставил 2045 рублей + около часа времени. Но это рулетка, очереди бывают и покруче, не все так гладко бывает.  Медики намеряли высокое давление, перестал жрать от этой новости мясо, соль сахар, колбасы и всякое жиросодержащее. Есть нельзя практически ничего кроме веганского ))) Так от возраста становишься жалким вегетарианцем. Давка за неделю ушла повышенная, заниматься легче, могу сидеть часами, чего не позволял себе в банковские времена, когда ломила спина и шея. Вот что воздержание животворящее делает. Как же хорошо было молодым пияницей гулять ночи напролёт...
Сегодня попробовал поменять клавиатуру у ноута на новую - остановился на знакомом откручивании аккумулятора у мака - дальше не всё очевидно надо пересмотреть видеоинструкцию снова. Жамкаю пока по старой клаве, но вслепую ))) Благо кириллица работает без сбоев.
Новая неделя принесет морозы в Киров, судя по прогнозу, посмотрим, как это отразится на успеваемости. Тут ещё и предновогодний ажиотаж начнётся...
В пятницу вечером сходили на Джуманджи в триДэ, впервые напялил на себя очки поляризационные. Если бы плотно поел перед этим, был бы конфуз ))) Эффект объема увидел, но фанатом его не стал. Дуэйн Джонсон и Джек Блэк прекрасны, как и прежде. Ухало, бахало, все у Голливуда получается на 5 баллов. Программисты там свой хлеб едят недаром, эффекты впечатляют.
Всем удачной новой недели!
За эту неделю:

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

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

+ Я набрал 2 текста:
    1 => «СОЛО на клавиатуре / 100 упражнений», без ошибок
    2 => «C# набор / Формирование массива», без ошибок

+ Я решил 8 задач:
    1 => «Математика / Формула» на 100%
    2 => «Математика / Дробная таблица» на 100%
    3 => «Математика / Таблица» на 100%
    4 => «Математика / Параметрическая функция» на 100%
    5 => «Любимые циклы / Барабанная дробь» на 100%
    6 => «Любимые циклы / Гармония» на 100%
    7 => «Любимые циклы / Двойной факториал» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 14 видеоуроков:
    1 => «Factory / Factory - Shapes - Три фигуры» за 22 мин.
    2 => «Factory / Factory - Shapes - Абстракция» за 29 мин.
    3 => «Factory / Factory - Shapes - Созидатель» за 24 мин.
    4 => «Factory / Factory - Shapes - Список» за 23 мин.
    5 => «Factory / Factory - Shapes - Interfactory» за 33 мин.
    6 => «Factory / Factory - Storage - Читатель» за 20 мин.
    7 => «Strategy / Strategy - Person - Program» за 1 час. 19 мин.
    8 => «Strategy / Strategy - Person - Format - Context» за 36 мин.
    9 => «Strategy / Strategy - Person - Format - Strategy» за 1 час. 6 мин.
    10 => «Strategy / Strategy - Person - Save - Context» за 23 мин.
    11 => «Strategy / Strategy - Person - Save - Strategy» за 19 мин.
    12 => «Strategy / ФИНАЛЬНЫЙ УРОК» за 57 мин.
    13 => «Strategy / VIP - Strategy - Person - UML» за 30 мин.
    14 => «Strategy / VIP - Strategy - Person - Enum» за 21 мин.

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

2019-12-15 12:58 Factory Factory - Storage - Читатель + 8 20 мин.
Обсуждаемое в предыдущем отчете реализовали в этом - поскольку не только методы общИ для данных в программе, выбрали не интерфейс, а абстрактный класс, чтобы затолкать туда и переменные
Далее будет выполнены создания методов в классе работы с вводом клавиатуры и классе считывания из файла

2019-12-15 12:04 Factory Factory - Shapes - Interfactory + 9 33 мин.
в закладке с названием класса Эклипс наличие звездочки говорит о внесении изменений в код
После сохранения звездочка исчезает
Интерфейс годен для обработки однотипных действий над данными
Если нужны ещё и однотипные поля (переменные) - выбирай абстрактный класс, он даст больше функциональности

2019-12-14 17:04 Factory Factory - Shapes - Список + 5 23 мин.
судя по моим представлениям, шаблон порождающий, а значит годится в той или иной степени в любой программе, ибо код подразумевает создание сущностей в любом случае, а значит Фабрика может быть использована повсеместно
Если неправ- поправьте, буду признателен выяснить, где этот порождающий шаблон неприменим или нецелесообразен

2019-12-14 16:05 Factory Factory - Shapes - Созидатель + 3 24 мин.
суть фабрики - класс заточенный под исполнение определенных действий, возвращающий готовый результат по запросу пользователя
На нулевой иллюстрации фабрика - это метод createShape (String text) в основном классе public static void main, на первой иллюстрации - перенесенный в отдельный класс для Фабрики
Вижу в этом инкапсуляцию - в класс Фабрики отправляется команда на создание некоей фигуры в текстовом виде, класс Фабрика возвращает готовую фигуру, однако как он её сделал, пользователь может и не знать

2019-12-13 12:02 Factory Factory - Shapes - Абстракция + 6 29 мин.
абстрактный класс не несет в себе реализации полей и методов, лишь объявляя их
@Override - модификатор, указывающий на перегружаемый метод, контролирующий корректность сигнатуры с объявлением этого же метода в родительском классе



2019-12-13 11:17 Factory Factory - Shapes - Три фигуры + 7 22 мин.
могу предположить, что наши экземпляры надо скомпоновать в одном конструкторе, задача которому и будет возвращать требуемую конфигурацию фигур

2019-12-12 13:38 Strategy VIP - Strategy - Person - Enum + 9 21 мин.
использование энумератора сродни указанию маски для обработки данных - после рефакторинга с его использованием, метод выбора вводимого пользователем ограничен элементами, перечисленными через запятую в классе Тайп - ничего иного не будет пропущено через эту мясорyбку )

2019-12-12 13:04 Strategy VIP - Strategy - Person - UML + 8 30 мин.
class visualizer скачивается без проблем, даже поколдовав с системными настройками безопасности удаётся запустить из архива clsvis.jar
Приложение запускается и выводится диаграмма по умолчанию с легендой и расшифровками
Доступны менюхи для создания нового проекта и для открытия имеющихся
Файловая система компьютера тоже доступна и по каталогам скачем смело
Для запуска файлов с нашим проектом с байт-кодом, те что имеют расширение точка класс, надо выбрать в выпадающем меню вариант открываемых файлов all files
Открытие сопровождается сообщением об ошибке (вторая иллюстрация)
Мак прекрасен своим долгоиграющим аккумулятором, но эти заморочки отличия от работы в маздае местами утомляют


2019-12-11 12:30 Strategy ФИНАЛЬНЫЙ УРОК + 10 57 мин.
Стратегия смотрит на контекст и выбирает нужный класс из шеренги подобных - так рождается алгоритм работы программы по этому шаблону
На курсе уже написаны три программы, от самой простой, математической, до интерактивной ожидающей решения пользователя по маске именования файла «восемь-три».
На экваторе курса делали склеивание эррэйЛиста через буфер и без него, было занятно.
Курс несложный, если внимательно смотреть за происходящим, то более чем понятный.
Возникавшие ошибки были сопряжены с невнимательностью и слабым знанием предметной области, благо предыдущие уроки были доступны - находил свои ошибки без длительных поисков. Хотя пару раз попотеть в листании пришлось )
ЗЫ На верхней иллюстрации богатырь смотрит на камень
На камне написано то, что на нижней иллюстрации )))
Взяться и сделать )
2019-12-10 14:12 Strategy Strategy - Person - Save - Strategy + 9 19 мин.
при записи файла на диск НЕ ЗАБЫВАЙТЕ закрывать программно записываемый файл оператором writer.close();
Иначе размер нулевой, как и эффект записи
Второй вариант - помещать создание райтера в аргумент трай кеча в круглые скобки - в этом случае оператор закрытия неактуален

2019-12-10 12:24 Strategy Strategy - Person - Save - Context + 8 23 мин.
снова накосячил, в классе контекстСейв набрал оператор условия неверно и искал, чего ж это не выводятся данные персональныя...
if (filename == null || filename.equals (""))  набрал сначала неверно вот так -> if (filename == null || filename == "")
Исправив на иквалз всё взетело

2019-12-09 15:05 Strategy Strategy - Person - Format - Strategy + 9 1 час. 6 мин.
метод lastIndexOf («txt») разыскивает то, что расположено в круглых скобках у того экземпляра, к которому применяем этот метод
В моём примере в круглых скобках расположено слово тээкстэ в кавычках
Искать будет слово БЕЗ КАВЫЧЕК
Искать будет ПОСЛЕДНЕЕ совпадение, то есть вернёт индекс крайнего слева направо или ничего не вернет, если нет совпадения
В финале урока пришлось подебажить ).
Выводился результат лишь в текстовом формате - ошибки искал дебагом, не нашел, кроме того, что в дуформате не идёт дальше тхт, в другие ифы не хочет идти.
Вспомнил, что в предыдущем уроке вместо апострофов использовал кавычки, заменил.
Не помогло.
Затем лишь вспомнил, что для парсинга требуется наличие точки, а я лепил сразу просто имя формата.
Взлетело.
2019-12-09 12:10 Strategy Strategy - Person - Format - Context + 6 36 мин.
выбор стратегии реализован на ветвлении иф-элз
Ошибки в видео подчеркиваются только после запуска программы, еще вариант - выполнить сохранение в каждом классе отдельно - проверил, так у меня работает

2019-12-09 11:22 Strategy Strategy - Person - Program + 5 1 час. 19 мин.
наведя указатель мыши на подчеркнутый красным участок кода можно получить подсказку о сути ошибки и способах устранения оной
Не все варианты решения на сто процентов целесообразны - машина неспособна предугадать все варианты хода мысли программиста, потому пользоваться помошью Эклипс надо аккуратно
Если ошибка продолжает подчеркиваться - пробуем выполнить сохранение в изменяемом классе - один из вариантов, она исчезнет после сохранения вносимых изменений

2019-12-08 12:17 Дневник успеха 2019-12-08 : Муравей не велик, а горы копает. + 4 4 мин.
Стратегия перекликается с Синглтоном, в ход пошли энумераторы вместо иф-элз проверки на уникальность - старый забытый материал подсвечивается под новым углом и обретает объемные очертания.
Следующая неделя - на штурм раздела джава + пазлИнглиш с видеопаззлами - там даже МонтиПайтон встречается.
Хит ми бейби ванмортайм, как оказалось, не ударь меня, а всего лишь позвони мне еще раз )
За эту неделю:

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

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

+ Я набрал 2 текста:
    1 => «СОЛО на клавиатуре / 100 упражнений», без ошибок
    2 => «Java - Запуск / Компиляция», без ошибок

+ Я решил 8 задач:
    1 => «Последовательность / Больше суммы всех предыдущих» на 100%
    2 => «Последовательность / Между соседями» на 100%
    3 => «Математика / Модуль» на 100%
    4 => «Математика / Косинусы» на 100%
    5 => «Математика / Корни» на 100%
    6 => «Математика / Гиперкуб» на 100%
    7 => «Математика / Тригонометрия» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 11 видеоуроков:
    1 => «Strategy / Strategy - Intro» за 14 мин.
    2 => «Strategy / Strategy - Operation - Context» за 1 час. 14 мин.
    3 => «Strategy / Strategy - Operation - Program» за 32 мин.
    4 => «Strategy / Strategy - Join - ArrayList» за 19 мин.
    5 => «Strategy / Strategy - Join - Context» за 15 мин.
    6 => «Strategy / Strategy - Join - String/Buffer» за 23 мин.
    7 => «Strategy / Strategy - Join - Log/Timer» за 47 мин.
    8 => «Strategy / Strategy - Person - Schema» за 42 мин.
    9 => «State / State - Целый калькулятор - 16 кнопок» за 5 час. 19 мин.
    10 => «State / State - Целый калькулятор - Fix Bugs» за 1 час. 29 мин.
    11 => «State / ФИНАЛЬНЫЙ УРОК» за 57 мин.

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

2019-12-08 12:11 Strategy Strategy - Person - Schema + 4 42 мин.
карточка клиента будет выбирать в каком формате быть сохранённой - текстовик ( по умолчанию или принудительно), иксемел или джейсон
Вторая стратегия будет развилкой для определения пути вывода карточки клиента - на печать или сохранение в файл
Установил себе забытый на время саблайм - поставил подсветку синтаксиса джава - результат в иллюстрации к отчету

2019-12-08 11:03 Strategy Strategy - Join - Log/Timer + 4 47 мин.
на больших объемах добавления в массив ArrayList с помощью buffer.append целесообразно выполнять отдельные аппенды для отдельных элементов
При нагромождении конкатенированных аргументов в один оператор buffer.append работоспособность кода сохраняется, но редуцируется его производительность, что наглядно было показано при помощи таймера, замерявшего скорость с конкатенированием аргументов и с разнесением их же по отдельным операторам buffer.append
При соблюдении правила унарности аргумента производительность кода вырастала
Резюме: проще аргумент buffer.append == быстрее программа добавления элементов в ArrayList

2019-12-07 17:06 Strategy Strategy - Join - String/Buffer + 5 23 мин.
StringBuffer работает с объектами оптом, стринговый += конкатенирует объекты в розницу
Когда объектов мало - разница незаметна, при больших массивах данных буферизиованная обработка предпочтительнее

2019-12-07 16:27 Strategy Strategy - Join - Context + 5 15 мин.
как я и предполагал, Стратегия похожа в реализации на ветвление ифЭлз - это и сделали на уроке
В случае размера ArrayListа меньше пяти - выбираем один метод, иначе - метод другой с буферизацией
Класс компактен, легкочитаем, незнакомые программисты не произносят вотафаки - значит писан чистый код

2019-12-06 18:03 Strategy Strategy - Join - ArrayList + 7 19 мин.
home + home + TAB+ARROW-DOWN - хоткей для резкого размножения строки
Спасибо за хинт )
Заготовку соорудил - результат на иллюстрациях

2019-12-06 11:06 Strategy Strategy - Operation - Program + 4 32 мин.
в результате определения стратегии вычисления в программе отрабатывает один из вызываемых классов
Подозреваю, что ветвление ифэлз и кейссвич работают на аналогичной платформе кода
Нравится многооконность интерфейса Эклипса - видно всё сразу и оттого понятнее, что происходит в программе
Пример работы Стратегии - любое ветвление, будь то хоть выбор меню в столовой - выбрал борщ - получай борщ )

2019-12-05 16:25 Strategy Strategy - Operation - Context + 6 1 час. 14 мин.
соорудили «рыбу»:
Context.java - «светофор»
Strategy.java - что умеет программа после того, как светофор разрешит движение
OperationPlus.java, OperationMinus.java, OperationMulti.java - классы непосредственных действий
Шаблон Стратегия годен когда возникает распутье - надо выполнить задачу, НО есть не один способ это сделать
Похоже на ветвление if-else или на switch-case
В зависимости от целесообразности выбираем нужный вариант действий
К примеру, выбор логистики в зависимости от направления или времени года с целью поиска наиболее дешевого пути или наиболее краткого по времени
Вариантов масса

2019-12-05 13:51 Strategy Strategy - Intro + 7 14 мин.
решил взять курс с похожим шаблоном проектирования на шаблон Состояние
Стратегия похожа, но менее гибкА в отличие от Состояния
Первая иллюстрация в помощь - картина Васнецова (нашего вятскАга живописца)
Как выберешь дорогу, так и чеши
Вариант обработки данных выбирается на основе класса контекста, после чего выполняется без шараханий в стороны - вот принцип Стратегии

2019-12-04 14:14 State ФИНАЛЬНЫЙ УРОК + 5 57 мин.
в начале ролика видео с Дикаприо, когда он летел в Россию и мотор загорелся - тоже про состояния полёта и реакцию паксов )
Курс достаточно ясно излагает смысл стейтпаттерна, кода немного, в финале - красивая экранная форма с калькулятором.
Возможность для развития программы - к кнопкам можно прикрутить иной, нужный по ТЗ функционал, а интерфейс + классы состояний позволяют сделать разноплановый отклик на одни и те же запросы пользователя в зависимости от контекста.
Почву под ногами этот курс почувствовать позволяет более чем.
Спасибо за уроки!

2019-12-03 14:19 State State - Целый калькулятор - Fix Bugs + 6 1 час. 29 мин.
ошибки видел, но исправить не брался, радуясь уже тому, что курс удается повторить без ошибок фатального характера, как это было в Комбинаторике, где нужный класс отрабатывал не так, как в видео. Подозревал тому причиной различия в хардвере, студия под ПК и студия под Мак выглядят даже интерфейсом по-разному, что говорить о функциональности, естественно, она должна варьироваться.
Ошибки совершал свои лично, их пока удается нейтрализовать, что уже радует

2019-12-02 14:44 State State - Целый калькулятор - 16 кнопок + 7 5 час. 19 мин.
чтобы оживить кнопки от джифрейма, им надо применить метод addActionListener, который потребует имплементации экшнЛиснера, а также наличия метода void actionPerformed(ActionEvent e), отвечающего за событие нажатия кнопки
Действительно, программулина получилась душевная и годная для переделки под различные задачи - в зависимости от Состояния приложение обрабатывает одинаковую команду (метод) по-разному. Вот здесь весь оверрайд и кстати!

2019-12-01 13:42 Дневник успеха 2019-12-01 : Авось да как-нибудь до добра не доведут. + 4 4 мин.
Паттерн Состояния достаточно ясно иллюстрируется в курсе по Java, калькулятор скоро будет готов
На следующей неделе хочу добавить к ежедневной норме курсана ещё и принудительный мораторий на неслепой набор текста - привычку тыкать по-старинке надо ломать
Нашел сайт пазлинглиш - игровое изучение английского, попробовал потыкать - довольно занятно ) Узнаю новые слова, несмотря на свой уровень ни разу не бигиннера
За эту неделю:

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

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

+ Я набрал 1 текст:
    1 => «СОЛО на клавиатуре / 100 упражнений», без ошибок

+ Я решил 8 задач:
    1 => «Узник цикла IF / Делитель» на 100%
    2 => «Узник цикла IF / Сумма делителей» на 100%
    3 => «Узник цикла IF / Плюс-минус» на 100%
    4 => «Последовательность / Минимальное и максимальное число» на 100%
    5 => «Последовательность / Новая последовательность» на 100%
    6 => «Последовательность / Максимальный элемент» на 100%
    7 => «Последовательность / Больше суммы предыдущих» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «State / VIP - State - КНБ - JFrame» за 43 мин.
    2 => «State / VIP - State - КНБ - JButtons» за 1 час. 2 мин.
    3 => «State / ПОЛУФИНАЛЬНЫЙ УРОК» за 33 мин.
    4 => «State / State - Целый калькулятор - States» за 3 час. 29 мин.
    5 => «State / State - Целый калькулятор - Context» за 1 час. 26 мин.
    6 => «State / State - Целый калькулятор - Press key» за 1 час. 9 мин.
    7 => «State / State - Целый калькулятор - Logic» за 41 мин.

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

2019-12-01 13:30 State State - Целый калькулятор - Logic + 3 41 мин.
в конструкте свичкейс нашел ошибки - вычистил. Они видны в прошлом отчете, если кто смотрел иллюстрации, там где я нашлёпал лишних, но ещё и неверных операторов
Попробовал сброс ввода литерой с - не сбрасывает
Искал недолго - стояла русская раскладка клавиатуры, переключив на латиницу сброс работал успешно без перезапуска приложения


2019-11-30 13:55 State State - Целый калькулятор - Press key + 2 1 час. 9 мин.
в конструкте switch-case наваял для каждого кейса повторяющиеся методы в каждой строке, и лишь по видео вспомнил, что повторы можно не писать, а указать лишь последний
Но работает и так с излишностями )
В тестировании снова чудил - проверял как добавить умножение на 10 вводя двузначное число десять, забыв про цифровой ввод - со второй попытки дошло, что вводить надо просто ноль )


2019-11-29 16:10 State State - Целый калькулятор - Context + 7 1 час. 26 мин.
в икс будет передаваться первый операнд, в игрек - второй, строковая переменная оп будет хранить знак операции, тип Стейт будет отвечать за текущее состояние калькулятора
Для каждого из состояний создали класс, имлементирующий Состояние

2019-11-28 17:41 State State - Целый калькулятор - States + 5 3 час. 29 мин.
число плюс равно даст в результате на калькуляторе удвоенное число введенное до плюса
Получив задание наваять граф по функционалу калькулятора, вспомнил о draw.io
Результат изысканий на иллюстрации номер 0
Попробовал поиграть с графическими шаблонами, доступными на draw.io

2019-11-27 14:38 State ПОЛУФИНАЛЬНЫЙ УРОК + 8 33 мин.
шаблон Состояние хорошо подходит для написания интернет-магазина в части Корзина-Покупка.
В зависимости от состояния покупки, до какой стадии добрался посетитель сайта, ему должны становиться доступны различные возможности и естественно, отключаться ненужные.
К примеру, правка содержимого корзины должна становиться недоступной с момента перехода к оплате корзины, иначе неясно за что оплачено, за что нет.
До оплаты должны быть доступны варианты платежа, после транзакции, это должно стать информацией о совершенном покупателем выборе.
В рассмотренной игре КАМЕНЬ-НОЖНИЦЫ-БУМАГА состояния были реализованы классами
StateKam.java
StateNoz.java
State Bum.java
В каждом из этих классов предусмотрели три игровых метода, для каждого из вариантов, выбрасываемых игроком.
Для выброшенного камня ответы не сходились с классом, разработанным для состояния «выброшены ножницы», и аналогично с состоянием «выброшена бумага».
Курс прекрасен отличным аудиорядом - никаких проблем с громкостью здесь не наблюдалось.
Уроки краткие, с выделением времени на выполнение таких уроков не возникает проблем.
И да, как же хорошо не смотреть на клавиши ноута при наборе текста! Ошибаюсь до сих пор, но уже начал получать удовольствие от такого набора текста. Спасибо за Марафон!
Понять, насколько облегчается понимание кода, если давать ПРАВИЛЬНЫЕ И СООТВЕТСТВУЮЩИЕ функционалу имена полям и методам
2019-11-26 14:07 State VIP - State - КНБ - JButtons + 5 1 час. 2 мин.
пробовал вчера добавить остальные кнопки - также получил отображение лишь последней по коду кнопки Бумага
Оператор setLayout (new GridLayout (5, 1)); создающий сетку для размещения кнопок вчера не нашел
Счетчик приделал - благо задел уже был из консольной версии, жаль + "\n» не переводит строку, как хотелось - надо еще разобраться с этим

2019-11-25 12:58 State VIP - State - КНБ - JFrame + 4 43 мин.
адаптация методов из войда в возвращающие строковый тип снова дала ошибку анричбл код - не затормозил и сделал скриншот (иллюстрация номер ноль)
Очень показательно, если метод уже вернул требуемое значение, то дальнейшие строки уже не читаются компилятором и находятся вне зоны доступа
Решение простое - недоступные строки перенеси ДО ритёрна
JFrame - библиотека джавы, ответственная за графические объекты, позволяет создавать экранные формы в отличие от консольных программ

2019-11-24 18:28 Дневник успеха 2019-11-24 : Доброе начало полдела откачало. + 7 3 мин.
Начал морщить мозг на простых задачах и клепать что-то самостоятельно.
Багаж знаний невелик, но кое-что уже могу настрочить, сие радует.
Следующая неделя - на продолжение курса «Шаблон проектирования State» и далее по разделу.
За эту неделю:

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

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

+ Я набрал 5 текстов:
    1 => «СОЛО на клавиатуре / 100 упражнений», без ошибок
    2 => «Java - Запуск / Class!», без ошибок
    3 => «Java - Запуск / Static», без ошибок
    4 => «Java - Запуск / void», без ошибок
    5 => «Java - Запуск / Main», без ошибок

+ Я решил 8 задач:
    1 => «Точка и плоскость / Ромб» на 100%
    2 => «Точка и плоскость / Круг» на 100%
    3 => «Точка и плоскость / Часть круга» на 100%
    4 => «Точка и плоскость / Квадрат» на 100%
    5 => «Узник цикла IF / Девять чисел» на 100%
    6 => «Узник цикла IF / Нули» на 100%
    7 => «Узник цикла IF / Три тройки» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Iterator / Iterator - BlackJack - Random» за 1 час. 7 мин.
    2 => «Iterator / Iterator - BlackJack - Stages» за 2 час. 25 мин.
    3 => «Iterator / Iterator - BlackJack - Play game» за 4 час. 58 мин.
    4 => «Iterator / ФИНАЛЬНЫЙ УРОК» за 38 мин.
    5 => «State / State - Вступление» за 7 час. 10 мин.
    6 => «State / State - КНБ - States» за 3 час. 37 мин.
    7 => «State / State - КНБ - Play» за 57 мин.

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

2019-11-24 18:12 State State - КНБ - Play + 5 57 мин.
Java from 7th version allow to use String argument in switch-case construction
Чуть-чуть наморщил мозг и счётчик добавил через статические переменные в классе пр0грам )

2019-11-23 15:50 State State - КНБ - States + 6 3 час. 37 мин.
метод context.show(); становится перегружаемым из класса State.java
В классе состояния камня на второй иллюстрации тестово поменяли камень на бумагу и вывели результат на экран
В среднем окне видно, что один и тот же оператор context.show(); выводит разные значения в консоль после изменения состояния в классе Камня
Прикрутив к этой конструкции рандомайзер получим отличную игру

2019-11-22 18:57 State State - Вступление + 8 7 час. 10 мин.
поведенческий шаблон проектирования Состояние очень напоминает перегружаемые методы
В зависимости от контекста один и тот же интерфейс, как я понял из вводной, способен по-разному выполнять свои задачи
Простейший пример - старый плёночный магнитофон, в зависимости от того,  в каком он состоянии (в каком режиме работает), от него получают разный результат (музыка играет или наоборот что-то записывается в этот момент), и доступны разные функции.
К примеру, когда идет запись, невозможно включить перемотку
Отличие шаблона Состояние от шаблона Стратегия в бОльшей гибкости, если Стратегия выбирается и шаг вправо, шаг влево - запрет, то Состояние не имеет этих ограничений
Вспомнилась старая песня Толкуновой о женской жизни от младых ногтей, до старости - не Стратегия, ибо возможны девиации
Как раз ближе к Состоянию - в разные периоды у дам разные задачи и цели и переходы из одного в другое состояние возможны вариативно

2019-11-21 15:22 Iterator ФИНАЛЬНЫЙ УРОК + 4 38 мин.
вот и новый курс за плечами, количество говорят должно перерасти в качество, жаль небыстрый это процесс
Итератор несложен и для новичка удобен к пониманию и осмыслению
Два принципа в основе - проверить наличие следующего элемента для обработки И обработать как требуется
Это база - булевский метод hasNext проверит есть ли куда двигаться,
а метод next, возвращающий обрабатываемый элемент занимается его изменением как того требует ТЗ
Всё остальное - уже надстройка
В нашей игре итератор реализован в Cards.java

2019-11-20 17:00 Iterator Iterator - BlackJack - Play game + 5 4 час. 58 мин.
выиграть у Дилера, как оказалось, несложно ))) Но это без ставок. С оными, картина мира меняется и люди готовы снять последнюю сами-знаете-что ))
Разделяй и властвуй - хороший принцип алгоритмизации жизни, применённый в разработке игры, помог разделить игру на три этапа, в коде это был просто свич-кейс, в каждой из Сцен (STAGE) применили свои наборы правил и проверку условий.
Обошлись ифэлзами, присвоением, суммированием, оператором НЕ (!), и оператором БОЛЬШЕ (>)
С этим небогатым инструментарием игра взлетела и играет как надо
Можно завтра делать видео по курсу
Код несложный, думаю рассказать и показать не составит труда
Осознать, что подсветка клавиатуры в тёмном салоне машины уже не так актуальна ибо смотрю на экран, а не на клавиатуру.
Спасибо Евгению Витольдовичу за прошлогодний марафон по СОЛО!
2019-11-19 18:55 Iterator Iterator - BlackJack - Stages + 7 2 час. 25 мин.
свич-кейс приходит на помощь, когда не хватает ифэлза
Игра в черного Джека состоит из трех стадий, не считая победы Дилера или Игрока
1) У Дилера видна карта
2) Игрок набирает себе сколько ему вздумается
3) Дилер набирает себе
4 - Победа того или другого
Свич сделали на эти стадии, остался последний урок с деталями раздачи
Интрига!

2019-11-18 16:04 Iterator Iterator - BlackJack - Random + 7 1 час. 7 мин.
вариант тасовки карт такой придумал я)
Выполнять проверку на соседство номеров карт и если они отличаются не более, чем на 1, то менять их местами
Для этого придется использовать промежуточные переменные, но в итоге сам массив будет уже содержать тасованные карты

2019-11-17 12:05 Дневник успеха 2019-11-17 : Не поклонюсь богачу, коль своей ржи намолочу. + 6 1 мин.
Какая глубокая мысль заложена в заглавии к уроку!
Мысль освобождения труда!
Мир Вашему дому, коллеги.

За эту неделю:

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

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

+ Я набрал 3 текста:
    1 => «СОЛО на клавиатуре / 100 упражнений», без ошибок
    2 => «C# набор / Заполнение массива», без ошибок
    3 => «C# набор / Формирование массива», без ошибок

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

+ Я выполнил 7 видеоуроков:
    1 => «Iterator / Iterator - Numbers - Inner class» за 12 мин.
    2 => «Iterator / Iterator - Numbers - System» за 1 час. 36 мин.
    3 => «Iterator / Iterator - Random» за 1 час. 47 мин.
    4 => «Iterator / Iterator - Digits» за 4 час. 13 мин.
    5 => «Iterator / Iterator - BlackJack - Introduction» за 3 час. 39 мин.
    6 => «Iterator / Iterator - BlackJack - Card» за 41 мин.
    7 => «Iterator / Iterator - BlackJack - Deck of Cards» за 23 мин.

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

2019-11-17 12:01 Iterator Iterator - BlackJack - Deck of Cards + 6 23 мин.
массив карт одномерный
каждая карта будет иметь свой номер хранимый в переменной каунт
заполнение массива карт - через вложенные циклы
проверка хезнекста - пока счетчик больше нуля после заполнения массива карт до 51 (52 - 1)
Итератор работает декрементом и выводом элемента массива карт

2019-11-16 16:27 Iterator Iterator - BlackJack - Card + 7 41 мин.
узнал названия мастей на английской мове
Spades, //пики
Diamonds, // буби
Hearts, // черви
Clubs // трефы
Метод ordinal() возвращает порядковый номер элемента перечисления enum
Дождаться, когда девять из илевена будет поправлено в найн )))
2019-11-15 13:46 Iterator Iterator - BlackJack - Introduction + 5 3 час. 39 мин.
познакомлюсь на на пятом десятке с карточной игрой, не всё порхать в неведении, хоть знать буду правила для начала
Если у игрока после взятия новой карты сумма очков превысит 21, то такая ситуация называется «перебор»
Дилер произносит «много» и снимает ставку игрока в пользу казино
Если у дилера в первых двух картах набирается 21 очко (BlackJack), то все игроки (кроме тех, у кого тоже BlackJack), проигрывают
Помимо PSVM в классе Program, будут в нашей игре ещё пара классов, класс Кард с перечислением карт и перечислением мастей, с методом подсчета «веса» карт.
Класс КардЗззз будет имплементировать (реализовывать) интерфейс Итерабл, а дочерний ему класс КардззззИтератор будет реализовывать интерфейс Итератор с классическими методами проверки следующего члена ряда и обработки текущего с переходом далее

2019-11-14 15:00 Iterator Iterator - Digits + 9 4 час. 13 мин.
суть итератора остаётся неизменной при всех ухищрениях наследования, перегрузки и удочерения классами классов - проверь наличие следующего элемента для обработки и вторым методом обработай его как требуется не забыв тут же инкрементировать, что бы перейти к следующему элементу
Набросали три класса, один из которых пээсвээм, оставшиеся - находятся в родственной связи (один в другом)
Пр0грам запускает цикл для перебора последовательности и возвращает на экран результат работы
Родственники заняты иным
Диджитс имплементит Итерабл и присваивает намберу значение аргумента на входе в конструкторе
Дочерний ДиджитсИтератор имплементит уже Итератор и содержит базовые методы проверки следующего элемента и второй метод, занятый возвращением остатка от деления на 10 и целочисленным делением для «откусывания» хвоста числа с целью перехода к следующей цифре слева направо

2019-11-13 15:23 Iterator Iterator - Random + 8 1 час. 47 мин.
поля родительского класса видны из дочернего класса без каких-либо дополнительных ухищрений - область видимости класса-родителя включает и область видимости дочернего класса
Вариант остановки работы программы - если возвращено совпадение с округленным числом Пи

2019-11-12 14:01 Iterator Iterator - Numbers - System + 7 1 час. 36 мин.
перебор элементов с целью их анализа или обработки - фундаментальный шаблон проектирования дающий ключи к широкому спектру успешно решенных задач
Можно наваять самостоятельно интерфейс итератора - требуется проверка на наличие очередного элемента ряда и требуется метод обработки с инкрементированием - переходом к следующему элементу, наличие которого проверяется предыдущим методом Итератора
Удалив самостоятельно написанные интерфейсы мы использовали системные библиотеки Джавы - функционал был сохранён

2019-11-11 15:56 Iterator Iterator - Numbers - Inner class + 8 12 мин.
при перемещении класса из отдельного файла внутрь другого класса не забывай удалить  из сигнатуры перемещаемого класса модификатор доступа паблик - внутри класса он уже не нужен
Класс с модификатором доступа паблик в отдельном файле и класс внутри класса использующего это класс эквивалентны по доступности
Видеть снег и слякоть за окном наступающих сумерек в без малого четыре часа дня...
2019-11-10 16:00 Дневник успеха 2019-11-10 : Худому делу – худой конец. + 7 10 мин.
Итератор являет собой базовый функционал, инициализирующий стартовое значение для перебора, проверяющий наличие следующего элемента, выполняющий действие над элементом перебираемого множества и модифицирующий его инкрементом для следующего шага цикла.
Это уяснил из начатого курса Java Iterator.
На этой же неделе закрыл курс по книге оценок студентов без сбоев и ошибок.
Следующая неделя - на выполнение нормы курсанта и продолжение Java Iterator в ожидании создания игры BlackJack, после чего можно будет играть с Дилером один на один )))))

За эту неделю:

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

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

+ Я набрал 3 текста:
    1 => «СОЛО на клавиатуре / 100 упражнений», без ошибок
    2 => «СОЛО на клавиатуре / Видео экзамен», без ошибок
    3 => «C# набор / Служебные слова», без ошибок

+ Я решил 8 задач:
    1 => «Вечность / Знаки зодиака» на 100%
    2 => «Do-рацикл / Сумма последовательности» на 100%
    3 => «Do-рацикл / Меньше ε» на 100%
    4 => «Do-рацикл / Снова меньше ε» на 100%
    5 => «Do-рацикл / По модулю меньше ε» на 100%
    6 => «Обман цикла / Делим без остатка» на 100%
    7 => «Обман цикла / Без пятерок» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Iterator / Iterator - Numbers - Introduction» за 1 час. 0 мин.
    2 => «Iterator / Iterator - Numbers - 12345» за 13 мин.
    3 => «Iterator / Iterator - Numbers - Iterable» за 18 мин.
    4 => «Iterator / Iterator - Numbers - Running» за 20 мин.
    5 => «Java Book / Сериализация - Сохранение базы» за 46 мин.
    6 => «Java Book / Сериализация - Восстановление базы» за 1 час. 5 мин.
    7 => «Java Book / ФИНАЛЬНЫЙ УРОК» за 1 час. 11 мин.

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

2019-11-10 15:36 Iterator Iterator - Numbers - Running + 7 20 мин.
создали класс Numbers, который имплементирует (реализует) интерфейс Iterable  и применили его при пересчете до пяти
Класс Iterator экземпляр под именем numbers = присвоить новый экземпляр new  класса Numbers(). и применить в нём метод iterator ();
А метод итератор имеет одну строку с оператором return new NumbersIterator ();
А уже в намберситераторе расписана все правила счета от единицы до пяти с проверкой наличия следующего для счета элемента и с инкрементом для перехода далее


2019-11-09 12:31 Iterator Iterator - Numbers - Iterable + 5 18 мин.
при переборе в цикле вайл numbers возвращаются объекты, поэтому, если нужно выполнять над возвращаемыми объектами математические действия, эти возвращаемые объекты надо приводить к типу Integer , это делается указанием интеджера в скобках перед объектом
Интерфейс Итерабл требуется для организации общего доступа к его функционалу из любого места программы, как я понял

2019-11-08 18:12 Iterator Iterator - Numbers - 12345 + 9 13 мин.
краткие уроки более удобоваримые юниты для постижения
Создали класс для игр с пересчетом до пяти, имплементировали им интерфейс Итератор ручной сборки (не джавовский из библиотеки, а свой, собственноручно сваянный )

2019-11-07 15:01 Iterator Iterator - Numbers - Introduction + 5 1 час. 0 мин.
итерация == вызов и обработка однотипных предметов в рамках поставленной задачи, к примеру пересчета
boolean hasNext (); - правда или ложь, что есть следующий объект для обработки - такова задача этого метода
Object next (); - метод обработки имеющегося в наличии и проверенного вышеуказанным методом объекта, возвращается этим методом ОБЪЕКТ


2019-11-06 17:46 Java Book ФИНАЛЬНЫЙ УРОК + 9 1 час. 11 мин.
ЯП Java может многое, важно понять его механизмы действия и знать функционал встроенных библиотек и тогда можно горы свернуть
В курсе были рассмотрены и применены на практике:
+ UML- диаграммы - инструмент для наброска детализированного эскиза будущего проекта
+ draw.io - сайт для бесплатного проектирования наших задумок
+ перегруженные методы - это такие функции, которые отличаются в сигнатуре лишь содержимым внутри круглых скобок(то есть аргументами)
+ ArrayList  отличается от хешсета упорядоченным хранением элементов (можно вызывать по индексу)
+ Хешсет хорош, когда надо, чтобы во множестве элементы хранились в единственном числе - чтобы не было повторений
+ unreachable code - если видишь такую ошибку, ищи где ограничил границы доступа к подсвеченному оператору - или фигурная скобка выше затесалась, или код завершает работу раньше по команде - что-то такое надо найти
+ разные версии Эклипса могут по разному возвращать в консоль или в окно дебага значения переменных - или текст или код символов
+ при работе с графическим интерфейсом удобнее дотнет - у сишарпа в ВижлСтудии встроен функционал для рисования форм - в Java  с этим сложнее
+ области видимости ограничиваются фигурными скобками - если чего не видно - смотри на эти границы и ломай их пабликами или правь сами границы
+ переименование полей или методов безопаснее  делать через меню Рефакторинг - есть меньше вероятности где-то пропустить вызов переименовываемого и не переименовать по оплошности
+ сериализация - это запись БД на диск
+ десериализация - восстановление БД с диска

2019-11-05 17:07 Java Book Сериализация - Восстановление базы + 6 1 час. 5 мин.
действительно, если в классе бук добавить поле, сохранения не происходит и база данных затирается новой чистой
Считывание из файла производит объект класса FileInputStream
Он в свою очередь передается объекту класса ObjectInputStream, который уже обрабатывается методом readObject()
В итоге получается объект, требующий приведения типов к классу Book
По окончании чтения (сериализации) не забываем закрывать методом клоуз новосозданные и упомянутые выше объекты
Все это обернуто в трайкеч на случай возникновения ошибок.
При ошибке в базу (в файл) записывается чистая заготовка БД (происходит затирание) - в бою таким лучше не баловаться )
Завтра финальник, надо запилить видео.
После этого хотелось бы практики на игровом поле программирования
Когда тестишь анимированные коды смотрится живее
Надо что-то такое поискать

2019-11-04 12:38 Java Book Сериализация - Сохранение базы + 5 46 мин.
при использовании глобальной переменной БДИ! где она создается, по аналогии в уроке вот это место:    book = new Book();
Если в методе не только создать переменную, но и проинициализировать её же, то новосозданная переменная будет иметь область видимости в пределах фигурных скобок, а именно не дальше этого метода, где она проинициализирована И создана!!!
Важно ГДЕ описана ИНИЦИАЛИЗАЦИЯ, в той области видимость и будет у переменной

Выполненная сериализация с выводом на экран - длинная строка в консоли внизу нулевой иллюстрации к Вашему вниманию
Иллюстрация с индексом 1 - результат вывода БД в файл book.ser  на винт компа

2019-11-03 18:15 Дневник успеха 2019-11-03 : Скоро сказка сказывается, да не скоро дело делается. + 3 7 мин.
Птичка по зернышку клюет, мы по уроку постигаем обширнейшую тематику
Тексты набираю каждый день, но не всегда предложенные по умолчанию - клава так и глючит, знаки препинания в латинице возвращает не те, приходится искать задания без знаков препинания.
Книга оценок студентов близится к финалу, похоже будем ее записывать на винт - круто!
Следующая неделя - курс на завершение начатого раздела, что дальше поглядим. Очень интересен курс Валерия Владимировича - красочный сайт получается, такой же аккуратный, как привычный Авито. С любопытством наблюдаю за отчетами коллег по цеху )
За эту неделю:

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

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

+ Я набрал 3 текста:
    1 => «C# набор / 40 Ангелов», без ошибок
    2 => «Java - Запуск / Компиляция», без ошибок
    3 => «Java - Вывод данных / Java Keywords», без ошибок

+ Я решил 9 задач:
    1 => «Пока-цикл / Сумма квадратов» на 100%
    2 => «Пока-цикл / Трехзначные квадраты» на 100%
    3 => «Пока-цикл / Сумма ряда» на 100%
    4 => «Пока-цикл / Мой век» на 100%
    5 => «Вечность / Неделька» на 100%
    6 => «Вечность / 12 месяцев» на 100%
    7 => «Вечность / Отрывной календарь» на 100%
    8 => «Вечность / Високосное свидание» на 100%
    9 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Java Book / Меню - Планирование» за 36 мин.
    2 => «Java Book / Меню - Интерактив» за 49 мин.
    3 => «Java Book / Меню - Работа со студентами» за 5 час. 12 мин.
    4 => «Java Book / Меню - Работа с лекциями» за 2 час. 11 мин.
    5 => «Java Book / Меню - Запись студента на курс» за 3 час. 58 мин.
    6 => «Java Book / Меню - Работа с оценками» за 1 час. 7 мин.
    7 => «Java Book / Сериализация - Статическое напряжение» за 33 мин.

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

2019-11-03 18:01 Java Book Сериализация - Статическое напряжение + 4 33 мин.
сериализация == слепок с текущего состояния БД и запись этого образа на носитель для хранения и последующего использования
Десериализация == получение данных с носителя обратно в программу
С большой буквы мы обращались к статическому классу, где один-единственный экземпляр (на то он и статический)
С малой литеры мы уже обращаемся к экземпляру класса (нестатическому), то есть этих экземпляров может быть более одного

2019-11-02 11:52 Java Book Меню - Работа с оценками + 5 1 час. 7 мин.
добились перегруженными методами, чтобы при добавлении оценки студенту выводились варианты уроков лишь тех, на которые студент уже записан
Для этого дописали перегруженный метод private Lesson inputLesson(Student student) который получает агрументом Студента и возвращает список уроков лишь по нему
Урок изобилует переделками, ошибками и поиском решения этих ошибок, к чести преподавателя - успешным поиском
Урок полезен тем курсантам, которые просят облегчения подачи материала, пеняют на недостатки в освещении тем уроков - здесь записан урок не как по нотам, а с естественным в практической работе поиском ошибок
Гладко было на бумаге, да забыли про овраги - не про этот урок
Здесь по оврагам успешно прошлись и вышли на столбовую дорогу )

2019-11-01 17:10 Java Book Меню - Запись студента на курс + 9 3 час. 58 мин.
классы (а также поля и методы) с модификатором доступа private  недоступны для вызова из других классов, то есть за пределами видимости, ограниченной ФИГУРНЫМИ СКОБКАМИ
Рефакторинг в Эклипс доступен как вручную с клавиатуры, так и с помощью контекстного меню для выделенного участка кода (иллюстрация номер 0)

2019-10-31 21:07 Java Book Меню - Работа с лекциями + 6 2 час. 11 мин.
переименовывая методы или поля не забывай делать это через рефактор, ибо переименовав в одном месте, ты можешь не переименовать все его упоминания - отсюда будут ошибки
Простота кода - залог здоровья и уважения программиста. Кодинговый паркур хорош на конкурсах и при саботаже, если ты не враг сам себе и коллегам по оружию, не надо городить вавилонские столпы из хитрого кода. Чем код понятнее, тем больше к тебе плюшек прилетит. Чем код вычурнее, тем больше синяков да шишек в будущем.

2019-10-30 16:28 Java Book Меню - Работа со студентами + 8 5 час. 12 мин.
для корректности считывания имени студента требуется лишний символ ввода строки получаемый кодом scanner.nextLine();
Без него имя студента получается со значением null
Для целостности БД крайне не рекомендуется устраивать независимые друг от друга счетчики индексов взаимосвязанных полей - при редактировании, удалении, добавлении и т.д. возможны ошибки!


2019-10-29 21:33 Java Book Меню - Интерактив + 6 49 мин.
область видимости переменных ограничена фигурными скобками, внутри которых они объявлены
Если хочешь видимости переменной за пределами скобок - объявляй эту переменную за пределами тех скобок
Иначе к переменной нельзя будет обратиться
Это как с погранцами - хочешь ездить за кордон - делай загран-аусвайсс

2019-10-28 19:50 Java Book Меню - Планирование + 4 36 мин.
Java не имеет IDE с графическими редакторами форм, аналогичных VisualStudio
Для создания меню в проекте обратились к цифровому меню в командной строке
Поиск студента и поиск урока будет организован по индексам

2019-10-27 10:50 Дневник успеха 2019-10-27 : Не печь кормит, а поле. + 7 6 мин.
Неделя последнего тепла в Кирове, со вторника уже минуса и там до марта-апреля не жди поблажек. Мороз будет, это не юга )
Курс по книге оценок студентов идет без запинок, что радует. Норма выполняется, там где клавиатура ставит палки в колеса, беру предыдущие задания без знаков препинания и выполняю их. Перебрать ноут для замены клавы пока не собрался, хотя новая клава давно лежит.
План на следующую неделю - встретить первые снега и топать по дорожке стабильной учебы.
Если будет марафон по слепому набору - записаться. Любопытно пройти снова и сравнить результаты.
За эту неделю:

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

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

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

+ Я решил 8 задач:
    1 => «For-to-чки / Факториал» на 100%
    2 => «For-to-чки / Сумма фактов» на 100%
    3 => «For-to-чки / Кратные» на 100%
    4 => «For-to-чки / Двухзначный столбик» на 100%
    5 => «For-to-чки / Среднее арифметическое» на 100%
    6 => «Пока-цикл / Сумма цифр» на 100%
    7 => «Пока-цикл / Все цифры» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Java Book / Создание - Класс Point» за 4 час. 6 мин.
    2 => «Java Book / Отладка - Пошаговый проход» за 1 час. 7 мин.
    3 => «Java Book / База - Статический класс» за 1 час. 17 мин.
    4 => «Java Book / База - Список студентов» за 2 час. 31 мин.
    5 => «Java Book / База - Список лекций» за 3 час. 57 мин.
    6 => «Java Book / База - Список оценок» за 40 мин.
    7 => «Java Book / ПОЛУФИНАЛЬНЫЙ УРОК» за 25 мин.

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

2019-10-27 10:36 Java Book ПОЛУФИНАЛЬНЫЙ УРОК + 7 25 мин.
курс держит мозги в тонусе
- вспомнил про draw.io - онлайн редактор UML- диаграмм, позволяющий набросать план битвы с задачей
- усилил понимание перегруженных методов, имеющих одинаковые сигнатуры с отличием лишь в аргументах
- понял, что статик нужен, когда экземпляр класса или поле ЕДИНСТВЕННЫЙ(-ОЕ) для всех
- по множествам: юзай хешсет, когда не нужно дублирование, а ЭррейЛист, когда нужен поиск по индексам
- познал ошибку "unreachable code» - сия пакость учиняется, если ты наваял метод, завершающий работу, не добравшись до строк с этими операторами - вот они и будут анричаблами - до них никак не добраться и компилятор тебе об этом мирно сообщит
- дебаггинг в разных версиях Эклипса кажет разное - где-то будут удобочитаемые литеры, а где-то коды символов

По сути заданных в этом уроке вопросов имею доложить следующее:
Форма подачи материала более чем нравится ибо проект работает и взлетает, а когда не взлетает у преподавателя - он находит ошибку и указывает на нее, тем самым демонстрируя, что ошибки бывают у всех и не надо паниковать
Преимущества курса в простоте изложения материала, доступного для понимания даже внимательной кухарке, все ошибки либо от невнимательности, либо от разницы версий софта, что решаемо
Недостатки курса, они же его преимущества, - это малая доля теоретического подкрепления, но это не блюдечко с голубой каемочкой, интернет с Гуглом у нас пока не по талонам, мешать найти книжки в свободном доступе может только Ее Величество Лень.
А это уже проблема курсанта.
Можно подвести ишака к воде, но пить его не заставит даже шайтан.
Авгиевы конюшни темноты и безграмотности должны быть расчищены.
Спасибо Игромистру за инструментарий!
Сложно было решиться и расчистить гараж от хлама, копившегося в нем с детства. Вчера взял бензопилу и перчатки, пять часов и гараж готов принять Крыма на зимнюю квартиру. Глаза боятся - руки делают )

2019-10-26 20:52 Java Book База - Список оценок + 6 40 мин.
перегруженные методы - методы, сигнатура которых разнится лишь тем, что внутри круглых скобок
В зависимости от того, что прийдет в метод в виде аргументов, будет выбран подходящий из них и выполнен его код
Удобно, как с ключами и замочной скважиной - какой ключ подойдет, та дверь и будет открыта!

2019-10-25 13:35 Java Book База - Список лекций + 10 3 час. 57 мин.
Book.getStudent(0).addLesson(Book.getLesson(0)); означает
получить студента из Book за индексом нори и присвоить ему урок также за индексом нори
что эквивалентно трем строкам кода, где создается экземпляр студента из Book с индексом из скобок,
создается экземпляр урока из того же Book также с индексом из скобок
и в третьей строке студенту методом адэдэЛессон передается агрументом созданный выше экземпляр урока


2019-10-24 13:36 Java Book База - Список студентов + 6 2 час. 31 мин.
класс Book призванный стать БД для студенческой книжки реализован статическими эррэйлистами студентов, лекций и оценок
Эррэйлист позволяет дубликаты, в отличие от хешсэта
В методе поиска студента по индексу применили трайкеч на случай некорректного индекса при запросе - в этом случае возвращается налл

2019-10-23 13:03 Java Book База - Статический класс + 8 1 час. 17 мин.
снова воспользовались преимуществом модификатора static в классе Book для организации доступа к БД без необходимости создания экземпляров этой книги - она у нас одна на всех
перегружаемый getPoints в зависимости от того, ЧТО приходит в него в виде аргументов, возвращает либо все оценки, либо оценки по предмету, либо оценки по указанному студенту
Велика же сила аргументов, коли так смело рулят они методами )

2019-10-22 10:57 Java Book Отладка - Пошаговый проход + 8 1 час. 7 мин.
конструктор берет значение из аргументов, указанных в сигнатуре и присваивает, в соответствии с нашей инструкцией, значение из аргументов текущему объекту (создаваемому этим самым конструктором)
В этом цель и задача конструктора
Вторая иллюстрация - прошу внимания.
Если в уроке, в видео значения в массив представлены удобочитаемыми буквами и «Миша» который студент читается просто, то в моей версии Эклипс литеры обозначались кодами, пришлось сличать и поискать в гугле)
К примеру, равно, равно, равно у меня обозначено кодом 61. Это видно повторами на второй иллюстрации.
HTML-код &#61; или &#x3d; - нагуглил про знак равно
А в видео, на 11 минуте 15 секунде значения в Переменных читаются самими буквами и знаками - так удобнее, я считаю.
Вот тебе и обновленная версия Эклипс, усложнили удобочитаемость

2019-10-21 18:53 Java Book Создание - Класс Point + 6 4 час. 6 мин.
unreachable code - строки, до которых в методе не добраться компилятору
Получилось у меня такое чудо-юдо по причине заталкивания строк кода ПОСЛЕ строки с ритерном )))
Метод уже сделал в этом случае возврат требуемого от него, а дальше еще строки обнаруживаются - и до них никак не добраться.
Подсказка Эклипса плюс знание басурманского языка туманного альбиона сделали свое дело, допер и исправил )


2019-10-20 13:31 Дневник успеха 2019-10-20 : Орать — не в дуду играть. + 5 6 мин.
За эту неделю:

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

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

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

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

+ Я решил 9 задач:
    1 => «For-to-чки / Улыбки» на 100%
    2 => «For-to-чки / Псевдо-квадраты» на 100%
    3 => «For-to-чки / Палочки» на 100%
    4 => «For-to-чки / Много палочек» на 100%
    5 => «For-to-чки / Алфавит» на 100%
    6 => «For-to-чки / Тивафла» на 100%
    7 => «For-to-чки / DY-Алфавит» на 100%
    8 => «For-to-чки / Степень» на 100%
    9 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Java Book / Вступление - Примеры UML схем» за 4 час. 20 мин.
    2 => «Java Book / Проектирование - Три класса» за 31 мин.
    3 => «Java Book / Проектирование - Классные диаграмы» за 48 мин.
    4 => «Java Book / Проектирование - Выяснение отношений» за 7 час. 35 мин.
    5 => «Java Book / Создание - Класс Lesson» за 37 мин.
    6 => «Java Book / Создание - Класс Student» за 29 мин.
    7 => «Явный Сапёр / Условие победы!» за 1 час. 51 мин.

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


2019-10-20 12:59 Java Book Создание - Класс Student + 5 29 мин.
хешсет хорош тем, что дубликаты запрещены и при повторах значения одинаковые не дублируются, а остаются в единственном числе
Из минусов хешсета - беспорядочные последовательности элементов, каждый раз элементы могут тасоваться в любом порядке



2019-10-19 20:26 Java Book Создание - Класс Lesson + 8 37 мин.
избавились от статика в точке входа в программу методом создания экземпляра
Если не использовать класс гетнейм для объекта, то возвращен будет не нейм, а хешкод! Бди!

2019-10-18 16:24 Java Book Проектирование - Выяснение отношений + 10 7 час. 35 мин.
если при позиционировании стрелки взаимосвязи добиться зеленой подсветки объекта, на который указывает устанавливаемая стрелка, то окончание стрелки окажется в привязке к этому объекту
Из недостатков я лишь заметил дублирование
связи Student "получил оценку» Point и
связи Point "поставлена оценка" Student

2019-10-17 21:28 Java Book Проектирование - Классные диаграмы + 10 48 мин.
перегруженные методы отличаются друг от друга аргументами, имея при этом ОДИНАКОВЫЕ названия методов
Плюсом обозначай паблик
Минусом обозначай приватики
Диезом (решеточкой) обозначай протекторат

2019-10-16 17:51 Java Book Проектирование - Три класса + 14 31 мин.
моделирование проекта средствами UML сокращает издержки по созданию программы вследствие простоты редактирования графического проекта в отличие от самого кода программы

скреативить поля и деяния классов )
2019-10-15 20:02 Java Book Вступление - Примеры UML схем + 9 4 час. 20 мин.
наследование - доступ к полям и методам в родительском классе для дочерних объектов
Ассоциация - связь между экземплярами класса у которых прослеживается систематизируемый функционал
Бинарная ассоциация - один экземпляр владельца ассоциируемого имеет также один экземпляр (к примеру, один человек ассоциируется с одним номером ИНН)
N-арная ассоциация  - у одного родителя много детей, где N -  число детей ))
Агрегация - объединение экземпляров по одинаковым атрибутам (отделы на предприятии, владельцы айфонов и владельцы андроидофонов)
Композиция - букет свойств, существующих в привязке к некоему объекту, без объекта набор свойств теряет смысл
Поиски бесплатных UML-редакторов свелись в моем кейсе к знакомству с аналогами Microsoft Visio

2019-10-14 18:37 Явный Сапёр Условие победы! + 10 1 час. 51 мин.
сообщение о победе или проигрыше реализовано тернарным оператором
Проверки условия для развития игры выполнено на основе анализа содержимого ячеек массивов map и top (нижний и верхний этажи соответственно)
Верхний этаж (top) имеет свойство открываться, показывая текущее состояние массива map
В массиве map хранятся мины либо пустые ячейки

2019-10-13 13:51 Дневник успеха 2019-10-13 : Делано наспех — и сделано насмех. + 7 4 мин.
Явный сапер в эту неделю пробудил идеи по созданию ведомости учета согласований в моей работе, не связанной с кодингом, что было явным же прорывом в прикладном плане знаний, полученный от учебы.
Дело стало за реализацией замысла.
Следующую неделю потратить на продолжение уроков в разделе Java
За эту неделю:

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

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

+ Я набрал 3 текста:
    1 => «C# набор / Служебные слова», без ошибок
    2 => «C# набор / Заполнение массива», без ошибок
    3 => «C# набор / Формирование массива», без ошибок

+ Я решил 7 задач:
    1 => «For-to-чки / Созвездие» на 100%
    2 => «For-to-чки / Сто квадратов» на 100%
    3 => «For-to-чки / Отрицательные» на 100%
    4 => «For-to-чки / Тройка» на 100%
    5 => «For-to-чки / Семёрка» на 100%
    6 => «For-to-чки / Туз» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 9 видеоуроков:
    1 => «Java Book / Вступление - Язык UML» за 24 мин.
    2 => «Явный Сапёр / Радуга картинок» за 2 час. 0 мин.
    3 => «Явный Сапёр / Карта местности» за 42 мин.
    4 => «Явный Сапёр / Философия сапёра» за 1 час. 20 мин.
    5 => «Явный Сапёр / Мины на панели» за 1 час. 23 мин.
    6 => «Явный Сапёр / Мышечный адаптер» за 3 час. 17 мин.
    7 => «Явный Сапёр / Правый флаг» за 49 мин.
    8 => «Явный Сапёр / Открывашка» за 58 мин.
    9 => «Явный Сапёр / Волшебный метод» за 1 час. 16 мин.

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

2019-10-13 13:40 Явный Сапёр Волшебный метод + 5 1 час. 16 мин.
рекурсия начинается с операторов прекращения рекурсии, затем в цикле перебирает ячейки справа и слева на единичку, в подцикле ячейки сверху и снизу по одной, если не вышли за пределы игрового поля, то открывает ячейки, вызывая саму себя со сдвигом на единицу снова.
Так и открывает, пока не сработает останов, прописанный в начале метода
Если его не прописать, этот останов, то конца и края работе рекурсивной функции не будет никогда )
Понять, почему при увеличении переменной N_MINES не растет ожидаемо количество мин на игровом поле.
Вопрос все еще открытый, советы приветствуются.
2019-10-12 20:31 Java Book Вступление - Язык UML + 8 24 мин.
Язык UML - взгляд на проект с высоты птичьего полета
Не вдаваясь в подробности, показать суть происходящего на поле боя - вот задача UML
Увидеть лес за деревьями не всегда однозначно простая задача, потому и возникает необходимость абстракций
Что-то опускаем малозначительное, выводим лишь поля и методы классов и их взаимосвязи - вот задача UML- диаграммы

2019-10-11 17:16 Явный Сапёр Открывашка + 8 58 мин.
при соответствии количества флагов около клетки номеру (цифре) клетки - открываем рядом стоящие клетки
Реализовали пересчетом в цикле окружающих клеток и суммированием в переменную count
Найти причину малого количества мин на игровом поле
2019-10-10 21:03 Явный Сапёр Правый флаг + 5 49 мин.
cчетчик мин плюсует и минусует успешно, вплоть до того, что смело и без ошибок уходит в минуса )
Массив отвечающий за второй слой подвергается проверке ветвлением ифэлзом, в зависимости от открытости ставит флаг либо его убирает
Маус бат0н три == это правая клавиша мыши или тачпада

2019-10-09 13:22 Явный Сапёр Мышечный адаптер + 4 3 час. 17 мин.
после добавления привязки к панели в операторе panel.addMouseListener(new MinesAdapter()); ушла ошибка нажатия клавиши мыши в пределах лейбла в подвале окна игры
MouseEvent.BUTTON1 - событие нажатия ЛКМ
Батон2 - ПКМ )
Возможность ставить отметки на ячейках наводит на мысли, как переделать игру в подобие ведомости по пройденным шагам в моей подработке, где множество объектов требует координации и учета, но это так, задел на будущее. Однако, в своей учебе я начал нащупывать привязку к нуждам в реальной жизни, что приободряет )
e.getButton()== MouseEvent.BUTTON3 - это сила!

2019-10-08 14:52 Явный Сапёр Мины на панели + 7 1 час. 23 мин.
класс созданный внутри класса имеет доступ к полям и методам родительского без дополнительных модификаторов доступа сразу
Метод pack(); при расчёте размера окна учитывает лишь ранее добавленные элементы и элементы добавленные строками ниже им не учитываются

2019-10-08 13:23 Явный Сапёр Философия сапёра + 5 1 час. 20 мин.
не важно, что ты скажешь собеседнику, важно что он услышит и тем более поймет

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

Главный тормоз на пути развития Человека - его лень. Действительно, проще делать привычные манипуляции руками, чем попробовать сформировать новую картину мироздания и оседлать эту действительность. Кто в здравом уме, по времена Ивана Великого мог подумать, что граждане массово станут летать по небу и ездить в туристические маршруты на Северный полюс? За одни слова такие полагалось отлучение от всего чего возможно и всяческие ай-яй-яи. А тут дожили до того, что от большого ума уже от самолетов призывают отказываться)
Океан, врут небось, изучен на 5 процентов всей своей площади под водой - это сколько еще не открыто и не понято.
Потенциал огромен, но лень, но мракобесие и призывы поворачивать назад.
А тащить себя к знаниям, как тот барон Мюнхаузен - это человека должна тема зацепить, войти как говорят младые, и воодушевить. Тогда прорыв возможен, но не гарантирован.
Смотрю за «прогрессом» мобильников последние годы - ничего принципиально нового, одни украшательства и точение воды в ступе.
Та же песня с автомобилями - из года в год перерисовывают мордахи, прикручивают ненужные опции, реагируют на конъюнктуру усыхающегося рынка, а о принципиально новых решениях - ни-ни.
Те же машинки Тесла, как пишут, под днищем таскают тысячу - другую батареек 18650, как у меня в фонарике. Туда бы ядерный двигун с ежегодной заменой безопасных ТВЭЛов - вот бы прорыв...
Стены и цепи излишни, когда тюрьма в голове определяет границы допустимого.
А возможно действительно, если не все, то многое, что и не приснится )))
2019-10-07 16:16 Явный Сапёр Карта местности + 7 42 мин.
по памяти от курса майнсвипера, функционал игры был разделен на «этажи», на надводный слой, видимый всегда и на подводный слой, где могли быть мины
Заполнение минами сейчас сделали рандомом, вокруг них в цикле обходятся все клетки и в них добавляется по единичке, единицы суммируются, если мины рядом

2019-10-07 15:13 Явный Сапёр Радуга картинок + 6 2 час. 0 мин.
https://prog-cpp.ru/miner/ - картинки доступны здесь
Прозрачностью они уже не наделены, потому можно просто посмотреть на борьбу Евгения Витольдовича с непослушными транспарентными картинками )
Вывод на форму картинок по вертикали начинается с края формы, оттого требуется дополнительный марджин либо паддинг
Вывод на форму осуществляется методом drawImage графики Graphics g

2019-10-06 12:09 Дневник успеха 2019-10-06 : Лиха беда - начало. + 7 10 мин.
Попробовал по окончании курса игры Зоникс поиграть с Сишарпом - Дотнет дал по рукам ) При составлении алгоритма рекурсии в VisualStudio отказался отрабатывать класс, отвечающий за позиционирование курсора. Привести в чувство этот механизм оказались у меня ручонки коротки, решил вернуться снова к Джаве. Благо, ни Эклипс, ни Идея пока не преподносили сюрпризов. Кросплатформенность Джавы в моем случае может оказаться подспорьем - надо в таком разе возделывать эту ниву. Дотнет пока пусть ошвартуется в тихой гавани до лучших времен )
Явный Сапёр - курс на следующую неделю.

За эту неделю:

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

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

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

+ Я решил 7 задач:
    1 => «START - Запуск / Привет, Java!» на 100%
    2 => «For-to-чки / Трёхзначные числа» на 100%
    3 => «For-to-чки / Двухзначные числа» на 100%
    4 => «For-to-чки / Отрицательно» на 100%
    5 => «For-to-чки / Улица» на 100%
    6 => «For-to-чки / Радуга» на 100%
    7 => «WRITE - Вывод данных / Калькулятор» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Комбинаторика / Рекурсия. Главный секрет» за 1 час. 52 мин.
    2 => «Комбинаторика / Рекурсия. Заливка области» за 2 час. 24 мин.
    3 => «Game Xonix / Конец игры» за 6 час. 42 мин.
    4 => «Game Xonix / ФИНАЛЬНЫЙ УРОК» за 11 мин.
    5 => «Явный Сапёр / Вступление» за 14 мин.
    6 => «Явный Сапёр / Блок-схема» за 25 мин.
    7 => «Явный Сапёр / Окно проекта» за 46 мин.

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

2019-10-06 11:05 Явный Сапёр Окно проекта + 7 46 мин.
в Java есть 2 основных пакета для создания графических интерфейсов (Graphics User Interface):
Abstract Windows Toolkit (AWT, использует виджеты операционной системы)
и Swing.
Для группировки компонент интерфейса используются контейнеры (Container)
Для создания основного контейнера для приложения наиболее распространенный контейнер - это JFrame (есть еще JWindows и JApplet)
Результат работы JFrame - на иллюстрациях к отчету

2019-10-05 19:58 Явный Сапёр Блок-схема + 8 25 мин.
paint в Java перерисовывает всю палитру, а не отдельные элементы, как в дотнет
Блок-схема позволяет абстрагироваться от деталей и сформировать общую картину требуемого от программы
draw.io - суперресурс для блок-схем, если нужно что-то приличнее каракулей от руки )

2019-10-04 14:47 Явный Сапёр Вступление + 9 14 мин.
InellijIdea найдена в курсе, как IDE для выполнения уроков - надеюсь здесь не будет сюрпризов, как вчера, когда класс локализации курсора не отрабатывал как в уроке
Со второго раза удалось открыть поле и не подорваться

2019-10-03 16:36 Комбинаторика Рекурсия. Заливка области + 8 2 час. 24 мин.
static в уроке применяется для того, чтобы не связываться с созданием экземпляров
Рекурсия вызывает сама себя с перегрузкой аргументов
Останов происходит по указанному условию
Если останов прописан криво - рекурсия способна зациклиться

//Console.SetCursorPosition(x, y);
При незаремаренной строке с этим оператором вываливается стековерфлоу.
Если этот оператор закомментировать - компилируется успешно, но все символы в строку ))
Поиграл с границами цикла - не помогло, юзинги добавил как в уроке - тоже не то.
Оставлю здесь пока до лучших времен - надо попробовать на PC, будет ли там такая же катавасия, даже любопытно
2019-10-02 17:02 Комбинаторика Рекурсия. Главный секрет + 8 1 час. 52 мин.
автор крас0т Робота Шарпа - некий Алексей
Рекурсия имеет неудобства - медленно работает и способна к зацикливанию при некорректном описании завершения
Кривую Гильберта начертил
Кривые Гильберта названы в честь немецкого математика Давида Гильберта. Впервые они были описаны в 1891 году

2019-10-01 15:04 Game Xonix ФИНАЛЬНЫЙ УРОК + 6 11 мин.
лично для меня в этом курсе было прорывом увидеть воочию действие рекурсии на примере работы метода по закраске оттяпанной Зониксом территории у воды.
Не сказать, чтобы я про ту рекурсию впервые слышал, попадалась она и прежде, но чтобы понять - вот здесь уже заслуга этого курса. Сам для себя отметил, что вижу рекурсию, понимаю когда она останавливается, понимаю что происходит при ее перегрузке с помощью аргументов.
В общем, то был восторг, когда дошло и понял.
Допиливать игруху можно долго и с удовольствием, можно добавить музыку фоном, анимировать события звуками столкновений.
Курс живой и интересный.

2019-09-30 21:02 Game Xonix Конец игры + 7 6 час. 42 мин.
метод кэтчд возвращает булево значение ИСТИНА если разность по модулю координаты фигуры и координаты Зоникса не превышает единицу
В ином случае - метод возвращает ЛОЖЬ
доделать урок с перерывами в рабочем графике
2019-09-29 19:12 Комбинаторика Рекурсия. Вступление + 5 19 мин.
- рекурсия своими словами (спасибо курсу Игра Зоникс)
Смотрим иллюстрацию номер один. Не вторую, а именно первую )))
Метод прекращает свое выполнение по условию - if (getMap (x, y) != Cell.WATER) что в переводе на русский значит, если ячейка икс игрек не равна значению WATER - заканчиваем
Далее - устанавливаем ячею с координатами икс игрек в значение ячея ЮЗЕД setMap (x, y, Cell.USED);
А затем дается направление выполнения предыдущей инструкции -
иди налево,
иди направо,
иди вверх,
иди вниз
или (на языке Java)
fillUsed(x - 1, y);
fillUsed(x + 1, y);
fillUsed(x, y - 1);
fillUsed(x, y + 1);

Эти четыре строки и есть рекурсия ибо метод так и называется fillUsed, а аргументами он переопределяется на разные четыре стороны.
Вот и вся наука. Игрушки - суперсредство для понимания основ мироздания )))

В курсе Игра Зоникс https://www.videosharp.info/video/xonix раздела Java я нащупал твердь земную и начал понимать и осознавать что есть рекурсия в одном из уроков не в теории, а на практике.
Сие событие снова внесло вместо привычной рутинной сумятицы будней, глоток свежего воздуха ПОНИМАНИЯ происходящего.
В том же курсе был рекомендован курс "Комбинаторика" и решение созрело само собой - идти по тверди земной и прощаться с хлюпающей слизью недопонимания и лености.
После двух дней выходных, потраченных на разгром садового домика, требующего сноса, выдался свободный вечер воскресного дня - смотрю на предмет, что делать после завершения Зоникса, благо этот момент не за горами.
Комбинаторика - вот курс!
Отдать швартовые концы.
Малый газ назад.
Лево руля.
Товсь!

2019-09-29 12:04 Дневник успеха 2019-09-29 : Клади картошку в окрошку, а любовь в дело. + 7 2 мин.
Обязанность без любви делает человека раздражительным.

Ответственность без любви делает человека бесцеремонным.

Справедливость без любви делает человека жестоким.

Правда без любви делает человека критиканом.

Воспитание без любви делает человека двуликим.

Приветливость без любви делает человека лицемерным.

Ум без любви делает человека хитрым.

Компетентность без любви делает человека неуступчивым.

Честь без любви делает человека высокомерным.

Власть без любви делает человека насильником.

Богатство без любви делает человека жадным.

Вера без любви делает человека фанатиком.
За эту неделю:

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

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

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

+ Я решил 8 задач:
    1 => «Условный оператор / Возрастание» на 100%
    2 => «Условный оператор / В промежутке» на 100%
    3 => «Условный оператор / Минимальное неотрицательное» на 100%
    4 => «Условный оператор / Наибольшее при условии» на 100%
    5 => «For-to-чки / Созвездие» на 100%
    6 => «For-to-чки / Сумма» на 100%
    7 => «For-to-чки / Сумма квадратов» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 9 видеоуроков:
    1 => «Game Xonix / Среда обитания» за 2 час. 28 мин.
    2 => «Game Xonix / Главный герой» за 36 мин.
    3 => «Game Xonix / Клавиши подсознания» за 1 час. 17 мин.
    4 => «Game Xonix / Прыжок в воду» за 1 час. 16 мин.
    5 => «Game Xonix / Прогулки по воде» за 1 час. 33 мин.
    6 => «Game Xonix / Заштриховка области» за 1 час. 49 мин.
    7 => «Game Xonix / Живая Легенда» за 28 мин.
    8 => «Game Xonix / Процент Земли» за 35 мин.
    9 => «Game Xonix / Следующий уровень» за 45 мин.

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

2019-09-29 11:57 Game Xonix Следующий уровень + 7 45 мин.
начали с создания глобальной интовой переменной отвечающей за номер уровня
добавили ускорение игры, увеличение участников по чету и нечету, в легенду дописали текущий уровень.
Делать урок в тисках времени
Поехал на барщину к садистам )))
2019-09-28 09:38 Game Xonix Процент Земли + 5 35 мин.
вызов свеженаписанного метода располагай в точке входа, если он нужен сразу, либо в том методе, в процессе выполнения которого все готово для запуска
Где поставишь инструкцию - тогда он и будет запущен
Код выполняется строка за строкой сверху вниз, исключая случаи вызова методов, расположенных в других местах
По окончании выполнение продолжается далее вниз с места, после которого был осуществлен вызов стороннего метода

2019-09-27 21:19 Game Xonix Живая Легенда + 7 28 мин.
на третьей минуте урока добавляется инструкция про шрифт - он у автора уже проимпортирован, надо лишь добавить самостоятельно импорт, если такого еще не делалось ) Несложно



2019-09-26 16:34 Game Xonix Заштриховка области + 12 1 час. 49 мин.
рекурсия в заполнении заканчивается в случае выхода за пределы WATER
Следующая инструкция дает команду ячейку икс игрек пометить как ПОТРАЧЕНО )
А заканчивается рекурсивка четырьмя инструкциями КУДА идти с требуемыми метками ячеек - НА ВСЕ ЧЕТЫРЕ СТОРОНЫ )))
Затем, когда четыре стороны упираются в вышеуказанную НЕ ВОДУ - все, финита ла комедиа, рекурсия прекращается.
Конгениально!

2019-09-25 20:46 Game Xonix Прогулки по воде + 8 1 час. 33 мин.
передача аргументов в метод - наше все )
field.replace           (Cell.PATH, Cell.WATER);
                                      |                    |
public void replace( Cell find,    Cell with) {
for (int y = 0; y < MAP_HEIGHT; y++)
for (int x = 0; x < MAP_WIDTH; x++)
{
if (map [x][y] == find)
map [x][y] = with;
}
}

В переводе на русский так: циклом проверим все клетки и если клетка икуалз первому аргументу ( а он у нас Cell.PATH), то заменить его на значение второго аргумента (Cell.WATER)

2019-09-24 17:06 Game Xonix Прыжок в воду + 10 1 час. 16 мин.
рисуется одна ячейка пути по той причине, что в методе мувЛэнд кейс для встречи воды так и приказывает "нарисовать одну клетку пути"
case WATER: onWater = true;
field.setMap(x, y, Cell.PATH);
Другого пока кодом не предусмотрено, цикла не прикручено (как я предполагаю), оттого и одна-одинешенька эта серая клетка пути

2019-09-24 15:25 Game Xonix Клавиши подсознания + 10 1 час. 17 мин.
применили библиотеки java.awt.event.KeyListener и java.awt.event.KeyEvent;
Парочка багов была допущена мной за этот урок, то метод в названии обидел на литеру, то аргументы передавал х и у вместо dx и dy
Внимательное перекуривание кода дало свои плоды - Зоникс прислушался к шепоту клавиш и пошел в требуемом направлении

2019-09-23 16:02 Game Xonix Главный герой + 12 36 мин.
чтобы иметь доступ к единому объекту Зоникса, добавление его на игровое поле выполнили иначе, нежели кубик и шарик.
Сначала в корневом классе игры объявили Зоникса, затем уже в общей куче создали объект Зоникса новый, а уже потом добавили его в items

2019-09-23 15:00 Game Xonix Среда обитания + 12 2 час. 28 мин.
в шаблон Субъект добавили поле (характеристику шаблона-класса) area типа  Cell

Чтобы кубики жили на земле в конструкторе кубика вызываем конструктор из суперкласса Субъект с передачей аргумента (Cell.LAND);

Для актуализации новых правил для субъектов дописали метод rotate, отвечающий за поведение игровой фигуры в момент появления у границ
Уследить в режиме дебага за созданием объектов
2019-09-22 09:50 Дневник успеха 2019-09-22 : Держись плуга плотней, будет прибыльней. + 8 11 мин.
Как же хорошо владеть слепым методом набора текста! Спасибо прошлогоднему марафону от Евгения Витольдовича и Владимира Владимировича! Как много нас там было, и как много курсантов ушло в туман, и столько же новых лиц появилось.
Не слышно ли про новые марафоны?
Неделя началась с соплей и кашля, понедельник и вторник лежал тюленем дома, оттого стал позволять себе делать по паре уроков за день.
Затем, в среду лежать дома надоело, хворь отступила и вернувшись в строй я продолжил проходить по паре уроков за день, кроме пятницы.
Пятница выбилась из графика.
Зоникс рисовался успешно, возникающие ошибки наутро исправлялись.  Есть вероятность, что курс будет успешно и плодотворно завершен и в черепе останется здравое зерно, способное к всходам.
Следующую неделю ожидает замена клавиатуры на ноуте - глючит периодически верхний правый край, отчего страдает набор текста, касаемый спецсимволов. Доставка клавы пишет, что она уже в Кирове, дело станет за малым - перебрать ноут его не поломав ))
Всем удачи на коде и в компиляции!

За эту неделю:

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

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

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

+ Я решил 8 задач:
    1 => «Условный оператор / Сумма или произведение» на 100%
    2 => «Условный оператор / Чет / нечет» на 100%
    3 => «Условный оператор / Отрицательный куб» на 100%
    4 => «Условный оператор / Три Максима» на 100%
    5 => «Условный оператор / Сумма положительных» на 100%
    6 => «Условный оператор / Минимальное расстояние» на 100%
    7 => «Условный оператор / Минимальное произведение» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 12 видеоуроков:
    1 => «Game Xonix / Живой шарик» за 12 мин.
    2 => «Game Xonix / Снова рефакторинг» за 19 мин.
    3 => «Game Xonix / Абстрактный субъект» за 12 мин.
    4 => «Game Xonix / Базовое наследство» за 8 мин.
    5 => «Game Xonix / Броуновское движение» за 1 час. 1 мин.
    6 => «Game Xonix / Размножение шариков» за 57 мин.
    7 => «Game Xonix / Чудеса полиморфизма» за 1 час. 25 мин.
    8 => «Game Xonix / Упаковка панели в окно» за 20 мин.
    9 => «Game Xonix / Земля и Вода» за 6 час. 8 мин.
    10 => «Game Xonix / Матрица Мира» за 52 мин.
    11 => «Game Xonix / Цветовая дифференциация» за 3 час. 54 мин.
    12 => «Game Xonix / Острова, острова» за 38 мин.

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

2019-09-22 09:19 Game Xonix Острова, острова + 8 38 мин.
геттер принимает координату ячейки и смотрит, если на карте - то возвращает элемент массива map
сеттер координату ячейки с ее типом и снова, если на карте, то устанавливает ее значение

2019-09-21 20:43 Game Xonix Цветовая дифференциация + 11 3 час. 54 мин.
объекты enum в языке Java являются объектами класса и шаблона Singleton
Заменили интовые игровые элементы на перечисление
Урок писался после длительного перерыва - интересное обстоятельство, почти экскурс в историю ВидеоШарпа увидел )

2019-09-21 13:50 Game Xonix Матрица Мира + 12 52 мин.
random.nextInt(MAP_HEIGHT)  генерирует случайное число от нуля до MAP_HEIGHT
Все добавленные методы, если надо чтобы они шли в бой, должны быть вызваны, иначе будут лежать в коде балластом

2019-09-20 21:41 Game Xonix Земля и Вода + 10 6 час. 8 мин.
в классе Филд присобачил лишнюю закрывающую фигурную скобку - программный код покрылся ошибками - с удовольствием обнаружил ошибку и компиляция прошла успешно.
Понять, отчего не отрисовывается правая часть игрового поля. Код просмотрел - ошибок пока не нашел. То ли еще будет.

2019-09-19 20:56 Game Xonix Упаковка панели в окно + 7 20 мин.
отказались от пикселного задания игрового поля и стали плясать от количества шагов по нему
Коэффициентами жестко расписали размер нового построения игрового поля
Метод  pack() вывел готовый вариант игры на экран

2019-09-19 13:43 Game Xonix Чудеса полиморфизма + 8 1 час. 25 мин.
Сабджект породил Куба, куб породил движение
Сабджект породил Шарика, Шарик породил движение
Другими словами class Ball extends Subject
и class Cube extends Subject
Отсюда при создании Сабджекта мы смело вызываем методы подклассов и получаем в одном массиве и Шарики и Боксики
Профит! )

2019-09-18 16:33 Game Xonix Размножение шариков + 9 57 мин.
шарики размножил циклом )
Класс Боллз подтягивает шарики из АррэйЛиста
Есть конструктор, создающий новый АррэйЛист
Класс умеет
добавлять шарик
перемещать шарик
отрисовывать этот же шарик

2019-09-18 15:23 Game Xonix Броуновское движение + 7 1 час. 1 мин.
random.nextInt(MAP_WIDTH); возвращает случайное целое число от нуля до аргумента в скобках

В силу неведомых причин в какой-то момент пропал двигающийся шарик, кинулся искать проблему - нашел неведомо откуда продублировавшийся аргумент MAP_WIDTH здесь:
x = random.nextInt(MAP_WIDTH);
y = random.nextInt(MAP_HEIGHT);

Исправил - снова шарик летает вместе с боксиком

Объявили random
Проинициализировали (создали экземпляр) random
Использовали random

2019-09-17 10:51 Game Xonix Базовое наследство + 6 8 мин.
ключевое слово extends Имя_класса позволяет подключить к классу, в сигнатуре которого указан этот икстендз, функционал того класса, имя которого приведено после икстендз
Удобно, чесслово )

2019-09-17 10:09 Game Xonix Абстрактный субъект + 6 12 мин.
абстрактный класс НЕ МОЖЕТ иметь экземпляра
При написании абстрактного класса не ставь круглые скобки - класс это не метод, скобки надо ТОЛЬКО фигурные
Поля protected доступны внутри самого класса и для наследников


2019-09-16 09:37 Game Xonix Снова рефакторинг + 8 19 мин.
рефакторинг - оптимизация кода без изменения функционала программы
в дереве класса следующая легенда:
треугольник пустотелый - переменная или поле класса
треугольник закрашенный - метод, функция или набор инструкций что может делать экземпляр класса
треугольник закрашенный с литерой С - конструктор экземпляра класса (этакий тридэпринтер)

2019-09-16 09:02 Game Xonix Живой шарик + 9 12 мин.
шарик начал двигаться после добавления в его класс идентичных инструкций
движения
разворота
и отслеживания ненарушения границ канваса.
После указания в точке входа в программу инструкции шарику двигаться - он взлетел
Ошибка недобега до границ игрового поля была в несоблюдении целочисленности деления размера игрового поля на размер шарика и боксика

2019-09-15 11:51 Дневник успеха 2019-09-15 : Не говори, что делал, а говори, что сделал. + 7 8 мин.
После 872-летнего дня города Москвы, вызвавшего день пропуска вернулся в строй и нарастил бонусы с единицы до пяти за трудовую неделю.
Со скрипом стал заставлять себя в спокойной обстановке печатать, глядя на экран, а не как бабушка - тыкая по кнопочке смотря на клавиатуру.
В этом есть свой кайф.
В Кирове была последняя теплая неделя, пришли холода. Скоро белые мухи прилетят.
Согреваюсь курсом Зоникс, похоже на ДемоИгры, деланные полтора года назад, но тут чуть больше понимания, есть надежда, что пойдет в коня корм)
Всех с праздником! 256!
За эту неделю:

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

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

+ Я набрал 1 текст:
    1 => «C# набор / Ввод элементов матрицы», без ошибок

+ Я решил 7 задач:
    1 => «Логика / Мигалка» на 100%
    2 => «Условный оператор / Максимум» на 100%
    3 => «Условный оператор / Большая разница» на 100%
    4 => «Условный оператор / Меньше, равно, больше» на 100%
    5 => «Условный оператор / Три числа» на 100%
    6 => «Условный оператор / Модуль» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Game Xonix / Координатный кубик» за 3 час. 36 мин.
    2 => «Game Xonix / Классный кубик» за 2 час. 0 мин.
    3 => «Game Xonix / Перемещение кубика» за 55 мин.
    4 => «Game Xonix / Живой кубик» за 17 мин.
    5 => «Game Xonix / Граница на замке» за 30 мин.
    6 => «Game Xonix / Точное прикосновение» за 1 час. 39 мин.
    7 => «Game Xonix / Классный шарик» за 23 мин.

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


2019-09-15 11:32 Game Xonix Классный шарик + 7 23 мин.
cоздали класс для шарика, где прописали его размер и цвета
В основном классе объявили шарик и в методе создающем канвас создали экземпляр шарика
Классу Канвас, наследующему ДжиПанел наказали строго-настрого для экземпляра нашего шарика использовать метод (инструкцию) пэйнт
Увидели шарик на канвасе
Пока не движется )

2019-09-14 18:06 Game Xonix Точное прикосновение + 7 1 час. 39 мин.
видимое игровое поле не равно канвасу, отсюда необходимость корректировать диапазон движения боксика

2019-09-14 11:45 Game Xonix Граница на замке + 3 30 мин.
не сразу понял как "очевидно" вычисляется мап хейт и мап видтх )
Делится высота и ширина поля на размер боксика. Чуток почесал репу и дошло, что речь идет о количестве допустимых прыжков по канвасу нашего боксика. Дедукция, однако. А с чистого листа сам бы не догадался, как это вычислить.
Метод rotate проверяет значение следующего шага боксика с привлечением метода onMap, если возвращается ложное значение - знак следующего шага меняется на противоположный.
В тупиковой ситуации боксик ставится в депо на позицию ноль ноль )

2019-09-13 21:10 Game Xonix Живой кубик + 7 17 мин.
пользоваться вечным циклом )))
JVM  не хранит в памяти предыдущие картинки и отрабатывает метод Paint  с чистого листа

2019-09-12 17:00 Game Xonix Перемещение кубика + 5 55 мин.
canvas.repaint (); перерисовывает игровое поле
Вызов метода, дорисованного тобой, не забывай прописывать от точки входа в программу (метод майн)

2019-09-11 17:17 Game Xonix Классный кубик + 10 2 час. 0 мин.
Как и предполагал, вынесение констант, отвечающих за цвет суши и воды, рассмотрели в следующем уроке

Перед вызовом метода из другого класса СОЗДАЙ ЭКЗЕМПЛЯР!

Почему приватная переменная икс допускает свое изменение? Мой вариант - в том же классе создается экземпляр этой переменной, причина доступа в этом. Не промазал?

2019-09-10 15:55 Game Xonix Координатный кубик + 9 3 час. 36 мин.
применение констант и переменных, вместо прописывания значений  в инструкциях, организует код в более удобоваримый вид

Проще и гибче становится редактирование, поиск разделов и внесение правок

2019-09-08 17:47 Дневник успеха 2019-09-08 : Ленивому всегда праздник. + 6 9 мин.
проверил 133 отчёта у 24 формулистов.

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

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

+ Я решил 7 задач:
    1 => «Логика / A или не-B» на 100%
    2 => «Логика / Побитовое НЕ» на 100%
    3 => «Логика / Побитовое И» на 100%
    4 => «Логика / Побитовое ИЛИ» на 100%
    5 => «Логика / Исключающее ИЛИ» на 100%
    6 => «Логика / Сдвиг вправо» на 100%
    7 => «Логика / Сдвиг влево» на 100%

+ Я выполнил 5 видеоуроков:
    1 => «Game Xonix / Свои правила» за 12 мин.
    2 => «Game Xonix / Установка Eclipse» за 28 мин.
    3 => «Game Xonix / Окно проекта» за 20 мин.
    4 => «Game Xonix / Использование констант» за 18 мин.
    5 => «Game Xonix / Панельный Canvas-класс» за 24 мин.


2019-09-06 11:59 Game Xonix Панельный Canvas-класс + 10 24 мин.
создали вложенный класс, рисующий квадрат на панели игры

Вызов родительского класса в Java осуществляется ключевым словом super.

awt - abstract window toolkit

2019-09-05 15:49 Game Xonix Использование констант + 7 18 мин.
наименование констант пиши КАПСОМ, чтобы не отклоняться от линии партии
Константы именованные не одним словом разделяй в названии НИЗКИМ_ПОДЧЕРКИВАНИЕМ

Применение констант позволяет упростить поиск атрибутов, если располагать их в начале класса.
Заодно, константа будет сопротивляться попыткам изменить ее значение - дополнительная защита.

2019-09-04 12:31 Game Xonix Окно проекта + 5 20 мин.
маленьким удобствам )
ctrl + увеличивает шрифт
ctrl -  уменьшает шрифт

Знать горячие клавиши полезно - не всегда же мышкой елозить как офисный клерк будешь )

При отсутствии в коде инструкции setDefaultCloseOperation(EXIT_ON_CLOSE); закрытие окна JFrame не влечет за собой автоматического завершения работы программы.

2019-09-03 11:04 Game Xonix Установка Eclipse + 7 28 мин.
Eclipse, скачанный в 2019 году
(Eclipse IDE for Java Developers
Version: 2019-06 (4.12.0)
Build id: 20190614-1200)
затребовал в отличие от старой версии, как в уроке, обязательно указать пэкэдж.
Дописал ему пэкэдж, привязку попросил к проекту и после этого ошибка ушла.

2019-09-02 17:49 Game Xonix Свои правила + 4 12 мин.
final int PERCENT_OF_WATER_CAPTURE = 1;  // почти режим IDDQD из DOOMa)))
Стало легче перескакивать на следующий уровень, вот такое читерство получилось.

2019-09-01 15:41 Дневник успеха 2019-09-01 : Дело мастера боится. + 4 5 мин.
За эту неделю:

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

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

+ Я набрал 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», без ошибок

+ Я решил 8 задач:
    1 => «Типы данных / Длина окружности» на 100%
    2 => «Типы данных / Формат целого числа» на 100%
    3 => «Логика / Плюс и минус» на 100%
    4 => «Логика / Инкремент и декремент» на 100%
    5 => «Логика / Разберемся в отношениях» на 100%
    6 => «Логика / Логическое НЕ» на 100%
    7 => «Логика / Логическое И» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «ООФрукты / Фабрика параметров» за 33 мин.
    2 => «ООФрукты / Буфера в стрингах» за 1 час. 2 мин.
    3 => «ООФрукты / Документация Деда Мороза» за 55 мин.
    4 => «ООФрукты / Задедомороженный Архив» за 6 час. 22 мин.
    5 => «ООФрукты / Комплименты Деду Морозу» за 19 мин.
    6 => «Game Xonix / 5 ошибок обучающих курсов. Java + Xonix » за 25 мин.
    7 => «Game Xonix / Поиграем?» за 45 мин.

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

Неделя выдалась суматошная, но я не бросил выполнение нормы курсанта, хотя перед сном занятия были с деревянной головой, что явно мешало))
Взял на следующую неделю курс с игрой Зоникс от израильских военных, написавших гаму видимо от скуки во время службы в ЦАХАЛ в 1984 году, когда я был еще второклассником )
Хочу выйти из этого курса не просто переписывальщиком  за учителем, а почуявшим почву под ногами джуном )
Планы амбициозные, но День Знаний обязывает.
Ибо плох тот солдат, что не хочет стать генералом )
Всем удачи на коде, катайтесь, не ломайтесь и набирайте правильные скиллы!
Я календарь переверну... ))))

2019-09-01 15:30 Game Xonix Поиграем? + 3 45 мин.
public модификатор пришлось добавить в class GameXonix extends JFrame {
Иначе в Эклипсе гама не стартовала - давала ошибку (вторая иллюстрация) UPD - попробовал удалить паблик модификатор - гама уже и без него стартует.
Причину пока не понял, как первая инициализация требовала паблика что ли...
Гама занятная, не всяка птица долетит до середины Днепра, и не всяк гамер дотыкает до пятого уровня )


2019-08-31 09:28 Game Xonix 5 ошибок обучающих курсов. Java + Xonix + 4 25 мин.
Xonix - игруха занимательная, написана впервые когда я во второй класс пошел ))
Любопытно прокачать имеющиеся негустые навыки и получить действующую гаму написанную своими усилиями.
В бой!

2019-08-30 18:13 ООФрукты Комплименты Деду Морозу + 8 19 мин.
Еще одна ступенька к вершине горы Фудзи.
Как она далека... Как далеко и подножие этой громадины. Я уже отчетливо вижу одиноких путников, делающих первые шаги вверх, я с неменьшим интересом наблюдаю и верхние уступы н склоне, где видны друзья из Пензы, Севастополя и Подмосковья.
Курс знакомит с организацией полноценного проекта по калькуляции подарков какого-то деда, у кого Мороза, у кого Санты Клауса, к кого Йолло Пукки, всех не перечесть.
В процессе прохождения уроков код создается, правится, рефакторится и сопровождается созданием документации.
После внесения изменений программа запускается и тестируется под нагрузкой возможных входных данных.
Вся разработка ведется в IDE Eclipse от монстров Майкрософта, часть работ выполняется в командной строке.
При достаточном внимании и наличии времени и желания сей курс осилит даже девочка с рисепшена )
Дорогу осиливает идущий.
Всем курсантам - терпения и внимания к деталям.
Зачастую проблема кроется в вышеуказанном или в отличающейся версии софта - они там тоже не почивают на лаврах, пишут разное и, что работает под одной версией, то может стать колом под другой.
Не раз обжигался, считаю нужным упомянуть.
Автору курса спасибо за труд!

2019-08-29 17:35 ООФрукты Задедомороженный Архив + 5 6 час. 22 мин.
исправили возвращаемый методом getConvert аргумент - null без исправления оставался бы nullом всегда
Создали jar-архив программы, являющий собой единый файл, способный к запуску на любой машине, где установлена JVM
Создать архив не в консоли можно через меню Eclipse: File - Export - Java - Jar

2019-08-28 17:45 ООФрукты Документация Деда Мороза + 7 55 мин.
Дописали комментарии, результаты выводятся в браузер

2019-08-27 19:03 ООФрукты Буфера в стрингах + 3 1 час. 2 мин.
String  каждый раз создает новый объект. Во избежание потерь времени и ресурсов используй StringBuffer

2019-08-26 17:58 ООФрукты Фабрика параметров + 5 33 мин.
создание параметров вывели в отдельный класс и все взлетело без проблем, что радует

опробовали рефакторинг - множественное переименование - тоже работает на ура

2019-08-25 08:47 Дневник успеха 2019-08-25 : С горы и сани бегут, а на гору и воз не идет. + 5 6 мин.
За эту неделю:

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

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

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

+ Я решил 8 задач:
    1 => «Алгоритмика / Подпрограммы» на 100%
    2 => «Алгоритмика / Строки» на 100%
    3 => «Алгоритмика / Матрицы» на 100%
    4 => «Алгоритмика / Регулярные выражения» на 100%
    5 => «Типы данных / Байты и числа» на 100%
    6 => «Типы данных / Системы счисления: вывод» на 100%
    7 => «Типы данных / Системы счисления: ввод» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «ООФрукты / Коллекция HashMap» за 31 мин.
    2 => «ООФрукты / Конвертабельные классы» за 47 мин.
    3 => «ООФрукты / Параметр Формата» за 5 час. 6 мин.
    4 => «ООФрукты / Параметрический Созидатель» за 2 час. 5 мин.
    5 => «ООФрукты / Создатель» за 40 мин.
    6 => «ООФрукты / Как шагает Дед Мороз» за 35 мин.
    7 => «ООФрукты / Конвертабельность» за 25 мин.

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

В понедельник был некий сбой - уроки первые(которые обычно за ноль байтов) были по полтиннику, в картинке в понедельник я якобы ничего не сделал, но собрал как бы 5 байт за мегахеши - а в текстовом отчете формируется "− Я не собрал ни одного Мегахеша :o("
Что-то база чудит)
Фрукты конвертируются, норма выполняется. Скоро новый учебный год. На следующей неделе продолжим грызть ООП и Java в курсе "Фрукты".
Всем успехов в поднятии себя над собой!

2019-08-25 08:34 ООФрукты Конвертабельность + 5 25 мин.
если количество параметров ровно два и второй из них эквивалентен типу вывода - создаем экземпляр соответствующего конвертера
набирать отчет с лежащим на ноуте котиком
2019-08-24 09:20 ООФрукты Как шагает Дед Мороз + 3 35 мин.
при сравнении на эквивалентность со строковым аргументом НЕ ПРИМЕНЯЙ ==

Правильно использовать метод .equals
Не сразу понял, отчего минус help у меня обрабатывается минус отдельно, хелп отдельно

Оказалось, я между ними пробел учинил, чего делать категорически не стоило ))
2019-08-23 16:58 ООФрукты Создатель + 7 40 мин.
если есть проблема с созданием (несозданием) экземпляра переменой - для начала просто допиши у нее модификатор static


2019-08-22 20:00 ООФрукты Параметрический Созидатель + 10 2 час. 5 мин.
создали заготовку для парсера вариантов ввода из командной строки

2019-08-21 17:08 ООФрукты Параметр Формата + 5 5 час. 6 мин.
добавили второй аргумент при запуске программы для выбора формата вывода результата работы программы

Теперь формат будет выбираться не залезая в код программы с ее перекомпиляцией, а простым указанием второго аргумента при запуске программки )

NOTA BENE! В квадратных скобках указывай НЕОБЯЗАТЕЛЬНЫЙ аргумент

2019-08-20 07:30 ООФрукты Конвертабельные классы + 9 47 мин.
раскидали функционал конвертабл по классам, удалив методы в лоджике

Наследование из лоджика также удалили, ибо оно там не нужно - наследование переехало по новосозданным классам

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

2019-08-19 17:00 ООФрукты Коллекция HashMap + 11 31 мин.
интерфейс - класс без реализации функционала преследующий своей целью описание возможностей
Создали хешмап - вывод идет в случайном порядке

2019-08-18 13:01 Дневник успеха 2019-08-18 : К чему душа лежит, к тому и руки приложатся. + 8 8 мин.
За эту неделю:

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

Следующая неделя будет посвящена фруктовому курсу и выполнению нормы курсанта.

Всем удачи и настойчивости в росте!

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

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

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

+ Я решил 8 задач:
    1 => «Алгоритмика / Узник цикла IF» на 100%
    2 => «Алгоритмика / Последовательность» на 100%
    3 => «Алгоритмика / Математика» на 100%
    4 => «Алгоритмика / Любимые циклы» на 100%
    5 => «Алгоритмика / По цифрам» на 100%
    6 => «Алгоритмика / Матрёшки» на 100%
    7 => «Алгоритмика / Простые массивы.» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «ООФрукты / Пошаговый проход» за 3 час. 4 мин.
    2 => «ООФрукты / Массивная строка» за 2 час. 58 мин.
    3 => «ООФрукты / Логические задачи» за 39 мин.
    4 => «ООФрукты / Размер множества» за 5 час. 22 мин.
    5 => «ООФрукты / Список задач» за 33 мин.
    6 => «ООФрукты / Форматы JSON и XML» за 1 час. 4 мин.
    7 => «ООФрукты / Профессиональный Интерфейс» за 23 мин.

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

2019-08-18 12:44 ООФрукты Профессиональный Интерфейс + 6 23 мин.
интерфейс - класс перечисления возможностей БЕЗ их реализации внутри этого класса

Множественное наследование в Java  доступно лишь через интерфейс

Называя интерфейс называй его с окончанием able

Все методы в классе интерфейса ПУБЛИЧНЫЕ

Дальше в конвЕртабл переедут методы перевода результата в иксемел, джейсон и роу, как я догадываюсь )

2019-08-17 12:23 ООФрукты Форматы JSON и XML + 8 1 час. 4 мин.
парсить XML, RAW, JSON  успешно.
Из рефакторинга идея отделить каждому парсеру по классу, чтобы заниматься допиливанием каждого формата в отдельном его классе

2019-08-16 21:21 ООФрукты Список задач + 6 33 мин.
перенесли функционал по подсчетам в класс Logic

2019-08-15 21:23 ООФрукты Размер множества + 12 5 час. 22 мин.
hashSet хорош тем, что при повторе добавления идентичного элемента - это добавление игнорируется.
Помню из прошлых курсов. Тут пригодилось.
Различающиеся элементы хешсет принимает для добавления, если такой уже есть - второго в хешсете не появится.
Железное правило.

2019-08-14 21:13 ООФрукты Логические задачи + 10 39 мин.
циклом фор-ич перебирается список и в переменную макс забивается количество, а в переменную фрутМакс - имя наиболее часто встречаемого фрукта.
Если не путаться в синтаксисе - ничего сложного )

2019-08-13 21:04 ООФрукты Массивная строка + 10 2 час. 58 мин.
если прога матерится на отсутствие экземпляра - первое твое решение - пиши в сигнатуру СТАТИК - он не требует экземпляра, а уже дальше чеши репку и думай над оптимизацией


2019-08-12 20:43 ООФрукты Пошаговый проход + 7 3 час. 4 мин.
если при считывании из буферизированного читателя добавить проверку на исключение при значении null или пусто - то при одном аргументе (одно яблоко к примеру) программа не ломается

2019-08-11 11:52 Дневник успеха 2019-08-11 : Не начавши - думай, а начавши - делай. + 6 3 мин.
+ Я проверил 146 отчётов у 25 формулистов.

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

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

+ Я решил 8 задач:
    1 => «Алгоритмика / Типы данных» на 100%
    2 => «Алгоритмика / Логика» на 100%
    3 => «Алгоритмика / Условный оператор» на 100%
    4 => «Алгоритмика / For-то-чки» на 100%
    5 => «Алгоритмика / Пока цикл» на 100%
    6 => «Алгоритмика / Обман цикла» на 100%
    7 => «Алгоритмика / Точка и плоскость» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 6 видеоуроков:
    1 => «ООФрукты / Фрукты из строки» за 32 мин.
    2 => «ООФрукты / Волшебные конструкторы» за 33 мин.
    3 => «ООФрукты / Фруктовые комментарии» за 5 час. 2 мин.
    4 => «ООФрукты / Новые игрушки» за 20 мин.
    5 => «ООФрукты / Какие ваши аргументы?» за 10 час. 41 мин.
    6 => «ООФрукты / Рефакторинг аргументов» за 44 мин.

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

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

2019-08-10 12:29 ООФрукты Рефакторинг аргументов + 6 44 мин.
Проверка аргументов не относится к основной задаче программы и является лишь реализацией ветвления варианта ввода данных

Отдельного класса эта часть кода недостойна

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

2019-08-09 21:10 ООФрукты Какие ваши аргументы? + 9 10 час. 41 мин.
аргументы из сигнатуры метода не для красоты пишутся - они могут быть использованы при выборе ввода данных для обработки программой

2019-08-08 14:53 ООФрукты Новые игрушки + 3 20 мин.
поскольку класс  enum является сборником констант, не предполагаемых для корректировки в процессе работы программы, его дублирование и переключение между дубликатами нецелесообразно

Верным решением при необходимости изменений, является помещение всех констант в едином перечислении enum

2019-08-07 21:35 ООФрукты Фруктовые комментарии + 10 5 час. 2 мин.
комментарии пиши над описываемым объектом (строкой выше)
начинай с /** и заканчивай */

2019-08-06 22:03 ООФрукты Волшебные конструкторы + 8 33 мин.
ключевое слово final в сигнатуре метода не позволяет наследникам вносить изменения в алгоритм работы кода этого метода

2019-08-05 21:50 ООФрукты Фрукты из строки + 3 32 мин.
перегруженные методы имеют одинаковые названия и ОБЯЗАТЕЛЬНО ОТЛИЧАЮТСЯ типами или количеством принимаемых параметров в сигнатуре метода

2019-08-04 12:29 Дневник успеха 2019-08-04 : Не одежда красит человека, а добрые дела. + 4 13 мин.
За эту неделю праздника Войск Дяди Васи:

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

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

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

+ Я решил 8 задач:
    1 => «Цифры / Штирлиц» на 100%
    2 => «Цифры / Серединка» на 100%
    3 => «Цифры / Зебра» на 100%
    4 => «Цифры / Любовь к цифрам» на 100%
    5 => «Цифры / Чётность цифр» на 100%
    6 => «Календарь / Час и День» на 100%
    7 => «Календарь / Первый и последний день» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 6 видеоуроков:
    1 => «ООФрукты / Подготовка - Фрукты по списку» за 7 час. 0 мин.
    2 => «ООФрукты / Подготовка - База фруктов» за 1 час. 13 мин.
    3 => «ООФрукты / Постановка задачи» за 28 мин.
    4 => «ООФрукты / Яблоки на снегу» за 34 мин.
    5 => «ООФрукты / Фрукточтец» за 38 мин.
    6 => «Тестирование / JUnit - Powerable» за 8 час. 18 мин.

− Я не собрал ни одного Мегахеша :o(
Фрукты считаются,  Эклипс перестал подводить, главное следить за версиями софта. Клавиатура в ноуте иногда барахлит - чую под замену. Как раз можно будет поставить лишь английскую, чтобы кириллицу по памяти набирать через не хочу )
Нормы курсанта мало для учебы - надо почитывать и на стороне. Требуется уметь находить ответы на вопросы не заглядывая в рот Сенсею, а самостоятельно шукать. Сейчас столкнулся с задачей в консоли про минимальную и максимальную дату - на была уже решена на другом компе. Поправил на этом - не проходит. Причем, ничего принципиально не менял в коде - а затык) Пошел по ссылкам - не помогло. Поискал на локализацию ру - сработало. Приятно, когда забарываешь проблему.
Всем удачной недели!

2019-08-03 21:43 ООФрукты Фрукточтец + 6 38 мин.
для считывания ввода с клавиатуры и из файла используются перегруженные методы принимающие на входе разные варианты источника данных, НО возвращающие одинаковый тип информации

2019-08-02 21:37 ООФрукты Яблоки на снегу + 6 34 мин.
При переносе строк начинай новую строку с логического оператора и смещай перенос на две табуляции

Мораль урока - функция (метод) должна решать одну простую задачу и не надо валить весь функционал в одну кучу

Арбуз == watermelon
Имея список фруктов можно составить прейскурант к примеру
2019-08-01 18:35 ООФрукты Постановка задачи + 2 28 мин.
само собой напрашивается выделение в отдельную функцию или метод строки про инициализацию буфферизированного ридера

Вывод результата тоже в отдельный блок просится

2019-07-31 21:13 ООФрукты Подготовка - База фруктов + 4 1 час. 13 мин.
элементы в перечислении эквивалентны экземплярам класса с присвоенными по порядку целочисленными значениями

Все элементы в перечислении enum являются  public static final int


2019-07-30 21:07 ООФрукты Подготовка - Фрукты по списку + 7 7 час. 0 мин.
enum позволяет ограничить зону отбора значений в рамках перечисления через запятую требуемых сущностей

2019-07-29 21:42 Тестирование JUnit - Powerable + 7 8 час. 18 мин.
тесты полезны для повышения отказоустойчивости кода

Необходимы в промышленном программировании

Тестировщик - по квалификации не уступает программисту, ибо его задача проверить работоспособность кода на различных нагрузках и вариациях ввода

JUnit знать и понимать как GIT и многое другое must have
вспомнить логарифмы )
2019-07-28 18:53 Дневник успеха 2019-07-28 : Кто не ходит, тот и не падает. + 6 3 мин.
За эту неделю:

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

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

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

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

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

+ Я выполнил 7 видеоуроков:
    1 => «SQL: ничего лишнего / Модификация таблицы» за 30 мин.
    2 => «SQL: ничего лишнего / Группировки и функции» за 5 час. 3 мин.
    3 => «Тестирование / JUnit - Система тестирования» за 2 час. 58 мин.
    4 => «Тестирование / JUnit - Numbers» за 22 мин.
    5 => «Тестирование / JUnit - Intellij IDEA» за 2 час. 47 мин.
    6 => «Тестирование / JUnit - Testing» за 1 час. 20 мин.
    7 => «Тестирование / JUnit - Exceptions» за 44 мин.

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

Следующая неделя - завершить курс Тестирование и выбрать новый курс по зубам моим компам и мозгам )
По одежке протягивай ножки, но и расти стремись и не забывай. Я так думаю!

2019-07-28 18:45 Тестирование JUnit - Exceptions + 6 44 мин.
тестовый класс отрабатывает параллельно с работой программы и не пересекается с ней никак, кроме тестовой проверки

Неправильно использовать тестовый класс для обработки данный в самой программе - это не сработает
СЛЕДИТЕ ЗА ВЕРСИЕЙ ПОДГРУЖАЕМОГО JUnit (иллюстрация номер 1) При иной версии поведение будет отличаться от приведенного в уроке
2019-07-27 11:30 Тестирование JUnit - Testing + 5 1 час. 20 мин.
снова борьба с версиями
assertEquals(expected, actual) - сличение ожидаемого результата с полученным актуально

Боролся с ошибкой The type org.junit.Assert is not accessible - ее заборол с подсказкой на сайте (см. Иллюстрация номер 1)

Window - ShowView - Other - Java - JUnit - OK - ЕСЛИ НЕТ ОКНА    JUnit

2019-07-26 21:08 Тестирование JUnit - Intellij IDEA + 10 2 час. 47 мин.
pom.xml - файл с информацией о проекте MAVEN

по пути main\java хранятся исходные коды проекта

по пути test\java хранятся коды ТЕСТОВ проекта

На третьей минуте при сборке проекта ошибка (иллюстрация 2)

Могу предположить разницу версий пока что...

Information:javac 8 was used to compile java sources

Компиляция 8 версией поставила палки в колеса

Ищу где поправить, все подсказки приветствуются

2019-07-25 22:00 Тестирование JUnit - Numbers + 6 22 мин.
в цикле суммирования стартуй с нуля, в цикле умножения или степеней НИКОГДА НЕ СТАРТУЙ С НУЛЯ, если тебе дорог результат )
Умножение на ноль до добра не доведет
найти варианты ошибок. Первое что приходит в голову - переполнение интового типа данных в степенях
2019-07-24 19:39 Тестирование JUnit - Система тестирования + 10 2 час. 58 мин.
JUnit проверяет на различные нагрузки классы и методы по отдельности каждый

По завершению проверки выводится отчет по выполненным проверкам

Тесты пишут до написания программы

2019-07-23 21:22 SQL: ничего лишнего Группировки и функции + 7 5 час. 3 мин.
mysql> SELECT themes_id, COUNT(book) FROM books AS CBook GROUP BY (themes_id);
возвращает
Current database: biblio

+-----------+-------------+
| themes_id | COUNT(book) |
+-----------+-------------+
|        0 |          1 |
|        1 |          2 |
|        2 |          1 |
+-----------+-------------+
3 rows in set (0.10 sec)

а
mysql> SELECT themes_id, COUNT(book) AS CBook FROM books GROUP BY (themes_id);
возвращает
Current database: biblio

+-----------+-------+
| themes_id | CBook |
+-----------+-------+
|        0 |    1 |
|        1 |    2 |
|        2 |    1 |
+-----------+-------+
3 rows in set (0.09 sec)

Порядок написания инструкций ВАЖЕН, если AS написать после FROM - он не будет исполнен

Прелесть курсов Валерия Владимировича - в их достижимости для понимания даже кухаркой, коей я и являюсь на данный момент в сфере кодинга. Он даёт базу, которую может повторить любой имеющий глаза, уши и компьютер. А далее дело за самим курсантом - за уши его в программисты никто, кроме него самого, не протащит. Да и работать программером не каждый сможет, иначе бы всем раздали по ноуту и дали ТЗ с дедлайном )
Спасибо Валерий за свет в конце IDEешного тоннеля, надеюсь время потраченное Вами на создание этого курса и других, будет понято, освоено и поставлено на службу людям!
Понять, что кое-что в голове таки остаётся и можно на память создать БД, таблицы, запулить туда данные, поджойнить между ними.
2019-07-22 20:35 SQL: ничего лишнего Модификация таблицы + 5 30 мин.
DESCRIBE books; - возвращает описание таблицы

ALTER TABLE books ADD (kolvo int(10)); - добавляет в указанную таблицу новое поле

MODIFY - правит поле

DROP COLUMN - удаляет указанное поле

UPDATE books SET  - присваивает значения записям по условию (ID)
самое сложное было - дождаться этого видеоурока в котором звук СЛЫШНО
Традиционно ноут вечерами давал столь слабый звуковой ряд, что приходилось ставить на паузу, пока домашние включали на кухне воду или кипятили чайник.
Спасибо Валерию за урок который слышно. Или это ноут заговорил громче? Может я не там замечал причину тихого аудио? Задумался...
2019-07-21 10:42 Дневник успеха 2019-07-21 : Усердная мышь и доску прогрызет. + 5 5 мин.
За эту неделю:

Был завершен курс "Наношахматы", продолжил по фарватеру курсов Валерия Владимировича, нашего гуру из славного града Пензы, вспомнил про изучавшийся в нулевые в ВятГУ SQL, идет легко, что обнадёживает.
Следующая неделя - сохранять эшелон, обходить грозовые скопления, вести курс в направлении вершины Фудзиямы.

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

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

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

+ Я решил 8 задач:
    1 => «Целые задачи / Периметр» на 100%
    2 => «Целые задачи / Площадь» на 100%
    3 => «Целые задачи / Дискриминант» на 100%
    4 => «Целые задачи / Вторая дробная» на 100%
    5 => «Целые задачи / Арифметика 2» на 100%
    6 => «Целые задачи / Уравнение 2» на 100%
    7 => «Целые задачи / Куры и яйца» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «НаноШахматы / VIP. PHP - Рисуем буквы» за 22 мин.
    2 => «SQL: ничего лишнего / План базы данных и создание таблиц» за 1 час. 49 мин.
    3 => «SQL: ничего лишнего / Добавление книг и тем» за 32 мин.
    4 => «SQL: ничего лишнего / Select начало» за 22 мин.
    5 => «SQL: ничего лишнего / SELECT математика текст и NOT» за 19 мин.
    6 => «SQL: ничего лишнего / Могучий JOIN» за 22 мин.
    7 => «SQL: ничего лишнего / Редактирование и удаление» за 20 мин.

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

2019-07-21 10:26 SQL: ничего лишнего Редактирование и удаление + 5 20 мин.
если не указывать ГДЕ надо провести редактирование оператором WHERE, жди изменений ВО ВСЕХ ЗАПИСЯХ! Не зевай ))


2019-07-20 11:28 SQL: ничего лишнего Могучий JOIN + 5 22 мин.
при JOIN левой таблицей считается первая в написании запроса

Правая таблица - та, что после указания JOIN

Псевдонимы полей можно указывать без AS просто внутри апострофов

2019-07-19 21:19 SQL: ничего лишнего SELECT математика текст и NOT + 8 19 мин.
оператор SQL AS используется для именования результирующих столбцов при выборке элементов

CONCAT позволяет конкатенировать (тупо прилеплять значения) разных полей(столбцов) - НЕ ПУТАТЬ С МАТЕМАТИКОЙ - конкатенация 2+2 дает в результате 22 а не четыре :)

2019-07-18 20:40 SQL: ничего лишнего Select начало + 6 22 мин.
SQL язык достаточно понятен и логичен, вопрос лишь в запоминании формулировок для получения желаемой выборки из таблиц
заметил, что айдишники коннектов инкрементируются при каждом переподключении и выводятся консолью на экран
2019-07-17 21:40 SQL: ничего лишнего Добавление книг и тем + 8 32 мин.
Простой сиквел, но тоже на коленке не напишешь - требует внимания к деталям
Приятно, когда преподаватель знает русскую классику
очень быстро отчего-то теряется коннект к БД )
2019-07-16 21:05 SQL: ничего лишнего План базы данных и создание таблиц + 9 1 час. 49 мин.
снова точность и только точность в написании операторов инструкций, иначе дело труба )

2019-07-15 21:17 НаноШахматы VIP. PHP - Рисуем буквы + 10 22 мин.
снова пересматривал строки пытаясь понять отчего ошибка на первой иллюстрации )))

Ответ на второй иллюстрации, он как всегда до постыдного прост ))

А то ведь я строку, на которую ругался интерпретатор, и перенабрал, и пересмотрел вдоль и поперек, а ошибка была выше
Найти баг, созданный своими руками
2019-07-14 10:40 Дневник успеха 2019-07-14 : Пока железо в работе, его и ржа не берет. + 8 7 мин.
За эту неделю:
Менял в прошлую субботу тормозные колодки спереди на своем немецком скакуне, наблюдал подтверждение поговорки из темы урока. Там, где фрикционные накладки трутся о тормозной диск, металл чистейший, а по окружности, где диск контактирует лишь с воздухом - там ржавчина хороша )

Неделя посвящена наношахматам на PHP, получается успешно, пусть и не с первого запуска - внимательность к деталям даёт сбои, но отладчик браузера выручает.

Следующая неделя посвящается норме курсанта и продолжению в веб-разделе.

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

+ Я написал 16 сообщений 10 формулистам общим объёмом 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 => «Целые задачи / N уроков» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 8 видеоуроков:
    1 => «Дневник успеха / 2019-04-21 : Сей хлеб — не спи: будешь жать — некогда будет дремать.» за 1 мин.
    2 => «Дневник успеха / 2019-04-14 : Есть терпенье, будет и уменье.» за 3 мин.
    3 => «Дневник успеха / 2019-04-07 : Куй железо, пока горячо.» за 3 мин.
    4 => «НаноШахматы / JavaScript - Завершение хода» за 13 мин.
    5 => «НаноШахматы / JavaScript - Я тебя съем!» за 21 мин.
    6 => «НаноШахматы / ФИНАЛЬНЫЙ УРОК» за 20 мин.
    7 => «НаноШахматы / VIP. PHP - Создание картинки» за 17 мин.
    8 => «НаноШахматы / VIP. PAINT - Координаты отрезков» за 27 мин.

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

2019-07-14 10:26 НаноШахматы VIP. PAINT - Координаты отрезков + 8 27 мин.

//D
100, 75 - 222, 75
222, 75 - 256, 95
256, 95 - 271, 121
271, 121 - 271, 312
271, 312 - 256, 345
256, 345 - 227, 365
227, 365 - 100, 365
100, 365 - 100, 75
//A
410, 365 - 535, 75
535, 75 - 657, 365
447, 283 - 622, 283

2019-07-13 20:23 НаноШахматы VIP. PHP - Создание картинки + 4 17 мин.
запустился с пятой попытки, то пиашпи не закрыл, то точка с запятой не там, то опечатка - всё по отладчику легко правится

2019-07-12 21:44 Дневник успеха 2019-04-07 : Куй железо, пока горячо. + 8 3 мин.
За эту неделю:

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

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

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

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

+ Я решил 5 задач:
    1 => «Геометрия / Площадь круга» на 100%
    2 => «Геометрия / Синус радиана» на 100%
    3 => «Геометрия / Вектор» на 100%
    4 => «Целые задачи / Арифметика» на 100%
    5 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 5 видеоуроков:
    1 => «Дневник успеха / 2019-04-21 : Сей хлеб — не спи: будешь жать — некогда будет дремать.» за 1 мин.
    2 => «Дневник успеха / 2019-04-14 : Есть терпенье, будет и уменье.» за 3 мин.
    3 => «НаноШахматы / JavaScript - Завершение хода» за 13 мин.
    4 => «НаноШахматы / JavaScript - Я тебя съем!» за 21 мин.
    5 => «НаноШахматы / ФИНАЛЬНЫЙ УРОК» за 20 мин.

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

2019-07-11 20:20 НаноШахматы ФИНАЛЬНЫЙ УРОК + 10 20 мин.
курс хорош своими краткими изменениями в коде, наглядно представленными в иллюстрациях
Поскольку с DevServerом уже прежде (здесь же) сталкивался, особых проблем с поднятием локального сайта не возникло
Курс хорош как база, а за подробностями надо нырять, это за курсанта никто не сделает и за ручку не отведёт
Благо, что энциклопедии замещены гуглением - особо напрягаться бегая в библиотеку уже нет необходимости
Краткий мат в 4 хода вспомнил из прежнего курса, мат белому королю с его ритуальным съедением - на видео
Следующий курс из раздела веб, я так думаю!
понять, что шахматы можно поместить в 70 строк кода (не считая CSS)
2019-07-10 21:25 Дневник успеха 2019-04-14 : Есть терпенье, будет и уменье. + 8 3 мин.
За эту неделю:
Я стал замечать, что машина от интенсивной эксплуатации начала резвее реагировать на педаль акселератора. Прежде тупила, теперь не сказать, что ахалтекинец, но резче едет.  Пища для ума, однако.
Второе дыхание пока не замечено, но позитив от побед уже за плечами. Посмотрим, на что мой разум способен. Ибо не всяк птах долетит до середины Днепра, и не каждый эникейщик станет профессиональным программером. Но стремиться необходимо, ибо не пробовавший отсекает себе вообще все шансы)
Всем удачного кода!

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

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

+ Я набрал 2 текста:
    1 => «C# набор / Обмен элементов», без ошибок
    2 => «C# набор / Разделить строку на слова», без ошибок

+ Я решил 3 задачи:
    1 => «Геометрия / Площадь круга» на 100%
    2 => «Геометрия / Синус радиана» на 100%
    3 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 3 видеоурока:
    1 => «Дневник успеха / 2019-04-21 : Сей хлеб — не спи: будешь жать — некогда будет дремать.» за 1 мин.
    2 => «НаноШахматы / JavaScript - Завершение хода» за 13 мин.
    3 => «НаноШахматы / JavaScript - Я тебя съем!» за 21 мин.

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

2019-07-10 21:12 НаноШахматы JavaScript - Я тебя съем! + 6 21 мин.
добавили проверку на наличие в клетке, где ЛКМ отпускается, стоящей там шахматной фигуры
Отрабатывает иф, меняющий стоящую там фигуру на ноль
Впервые (!) увидеть в видеоуроке линк и окно на видео с ютуба, которого нет
Прежде видел уроки без видео, это привычно
Видел уроки с видео - это тоже
Но чтобы линк вёл на недоступное видео - это впервые
2019-07-09 21:29 Дневник успеха 2019-04-21 : Сей хлеб — не спи: будешь жать — некогда будет дремать. + 10 1 мин.
За эту неделю:
Позволил себе однодневый перерыв - снова скатился до 1 байта бонусов. Непорядок. Надо исправляться.

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

+ Я написал 2 сообщения 1 формулисту общим объёмом 1 килобуква

+ Я набрал 1 текст:
    1 => «C# набор / Обмен элементов», без ошибок

+ Я решил 2 задачи:
    1 => «Геометрия / Площадь круга» на 100%
    2 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 1 видеоурок:
    1 => «НаноШахматы / JavaScript - Завершение хода» за 13 мин.

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

2019-07-09 21:21 НаноШахматы JavaScript - Завершение хода + 9 13 мин.
event - ход или событие
Сначала отключаются действия браузера по умолчанию для собственных идей
Затем getData присваивает переменной id значение фигуры с клетки откуда ходили
appendChild присваивает клетке где отпустили ЛКМ значение шахматной фигуры с клетки где ЛКМ была зажата
https://www.youtube.com/watch?v=T5WdpSPeQUE
2019-07-07 18:31 Дневник успеха 2019-07-07 : Любишь кататься - люби и саночки возить. + 5 5 мин.
За эту неделю:

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

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

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

+ Я решил 7 задач:
    1 => «Геометрия / Прямоугольник» на 100%
    2 => «Целые задачи / Уравнение» на 100%
    3 => «Целые задачи / N уроков» на 100%
    4 => «Целые задачи / Площадь» на 100%
    5 => «Целые задачи / Дискриминант» на 100%
    6 => «START - Запуск / Привет, Java!» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 13 видеоуроков:
    1 => «Дневник успеха / 2019-05-19 : Пчелка маленькая, а и та работает.» за 2 мин.
    2 => «Дневник успеха / 2019-05-12 : Птицу узнают в полете, а человека в работе.» за 2 мин.
    3 => «Дневник успеха / 2019-05-05 : Господской работы не переработаешь.» за 2 мин.
    4 => «Дневник успеха / 2019-04-28 : Нужно наклониться, чтоб из ручья напиться.» за 1 мин.
    5 => «Дневник успеха / 2019-03-31 : Сколько ни говорить, а с разговору сыт не будешь.» за 1 мин.
    6 => «Дневник успеха / 2019-03-24 : Зубами того гвоздя не вытянуть.» за 1 мин.
    7 => «НаноШахматы / PHP - Запуск скрипта» за 12 мин.
    8 => «НаноШахматы / PHP - Циклы для клеток» за 6 час. 16 мин.
    9 => «НаноШахматы / PHP - Массив для фигур» за 14 мин.
    10 => «НаноШахматы / PHP - Превращение букв» за 22 мин.
    11 => «НаноШахматы / HTML5 - Поднятие фигур» за 14 мин.
    12 => «НаноШахматы / JavaScript - Тронул? Коди!» за 12 мин.
    13 => «НаноШахматы / JavaScript - Посадку давай!» за 30 мин.

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

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

2019-07-07 18:13 НаноШахматы JavaScript - Посадку давай! + 4 30 мин.
стандартные события автоматически влекут за собой предустановленное действие браузера

Клик по ссылке инициирует переход на новый URL

Нажатие на кнопку «отправить» в форме – отсылку ее на сервер

Двойной клик на тексте – инициирует его выделение

А для отмены (вторая иллюстрация) стандартного действия браузера применяется метод event.preventDefault()

2019-07-06 19:45 Дневник успеха 2019-04-28 : Нужно наклониться, чтоб из ручья напиться. + 6 1 мин.
За эту неделю:

Колодки поменял - не так всё и сложно оказалось.

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

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

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

+ Я решил 6 задач:
    1 => «Геометрия / Прямоугольник» на 100%
    2 => «Целые задачи / Уравнение» на 100%
    3 => «Целые задачи / N уроков» на 100%
    4 => «Целые задачи / Площадь» на 100%
    5 => «START - Запуск / Привет, Java!» на 100%
    6 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 11 видеоуроков:
    1 => «Дневник успеха / 2019-05-19 : Пчелка маленькая, а и та работает.» за 2 мин.
    2 => «Дневник успеха / 2019-05-12 : Птицу узнают в полете, а человека в работе.» за 2 мин.
    3 => «Дневник успеха / 2019-05-05 : Господской работы не переработаешь.» за 2 мин.
    4 => «Дневник успеха / 2019-03-31 : Сколько ни говорить, а с разговору сыт не будеш.» за 1 мин.
    5 => «Дневник успеха / 2019-03-24 : Зубами того гвоздя не вытянуть.» за 1 мин.
    6 => «НаноШахматы / PHP - Запуск скрипта» за 12 мин.
    7 => «НаноШахматы / PHP - Циклы для клеток» за 6 час. 16 мин.
    8 => «НаноШахматы / PHP - Массив для фигур» за 14 мин.
    9 => «НаноШахматы / PHP - Превращение букв» за 22 мин.
    10 => «НаноШахматы / HTML5 - Поднятие фигур» за 14 мин.
    11 => «НаноШахматы / JavaScript - Тронул? Коди!» за 12 мин.

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

2019-07-06 19:36 НаноШахматы JavaScript - Тронул? Коди! + 4 12 мин.
при снятии комментария с тестового алерта, сдвинутая мышью фигура возвращает свою позицию ОТКУДА она пошла

2019-07-05 20:49 Дневник успеха 2019-05-05 : Господской работы не переработаешь. + 6 2 мин.
За эту неделю:

Я стесал тормозные колодки до металла(судя по звуку) - пора менять, далее тянуть некуда. Работы отложить, машину отремонтировать.

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

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

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

+ Я решил 5 задач:
    1 => «Геометрия / Прямоугольник» на 100%
    2 => «Целые задачи / Уравнение» на 100%
    3 => «Целые задачи / N уроков» на 100%
    4 => «START - Запуск / Привет, Java!» на 100%
    5 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 9 видеоуроков:
    1 => «Дневник успеха / 2019-05-19 : Пчелка маленькая, а и та работает.» за 2 мин.
    2 => «Дневник успеха / 2019-05-12 : Птицу узнают в полете, а человека в работе.» за 2 мин.
    3 => «Дневник успеха / 2019-03-31 : Сколько ни говорить, а с разговору сыт не будеш.» за 1 мин.
    4 => «Дневник успеха / 2019-03-24 : Зубами того гвоздя не вытянуть.» за 1 мин.
    5 => «НаноШахматы / PHP - Запуск скрипта» за 12 мин.
    6 => «НаноШахматы / PHP - Циклы для клеток» за 6 час. 16 мин.
    7 => «НаноШахматы / PHP - Массив для фигур» за 14 мин.
    8 => «НаноШахматы / PHP - Превращение букв» за 22 мин.
    9 => «НаноШахматы / HTML5 - Поднятие фигур» за 14 мин.

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

2019-07-05 20:33 НаноШахматы HTML5 - Поднятие фигур + 5 14 мин.
Тег <span> предназначен для определения строчных элементов документа

В отличие от блочных элементов, таких как <table>, <p> или <div>, с помощью тега <span> можно выделить часть информации внутри других тегов и установить для нее свой стиль

Поник мышкой захватывается и тащится куда прикажешь (см. иллюстрацию номер два)

2019-07-04 10:00 Дневник успеха 2019-05-12 : Птицу узнают в полете, а человека в работе. + 8 2 мин.
Как же хорошо учиться на свежую голову, кто бы знал! С удивлением и уважением смотрю на отчёты курсантов от вечерних и ночных часов сдачи - как у них это получается? Снимаю шляпу.
За эту неделю:

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

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

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

+ Я решил 4 задачи:
    1 => «Геометрия / Прямоугольник» на 100%
    2 => «Целые задачи / Уравнение» на 100%
    3 => «START - Запуск / Привет, Java!» на 100%
    4 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Дневник успеха / 2019-05-19 : Пчелка маленькая, а и та работает.» за 2 мин.
    2 => «Дневник успеха / 2019-03-31 : Сколько ни говорить, а с разговору сыт не будеш.» за 1 мин.
    3 => «Дневник успеха / 2019-03-24 : Зубами того гвоздя не вытянуть.» за 1 мин.
    4 => «НаноШахматы / PHP - Запуск скрипта» за 12 мин.
    5 => «НаноШахматы / PHP - Циклы для клеток» за 6 час. 16 мин.
    6 => «НаноШахматы / PHP - Массив для фигур» за 14 мин.
    7 => «НаноШахматы / PHP - Превращение букв» за 22 мин.

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

2019-07-04 09:52 НаноШахматы PHP - Превращение букв + 7 22 мин.
простой вариант отрисовки шахматных фигур на доске использует свич-кейс, второй вариант использует код первой фигуры как базу и плюсует номер искомой фигуры к базовой

2019-07-03 21:31 Дневник успеха 2019-05-19 : Пчелка маленькая, а и та работает. + 12 2 мин.
Продолжаем ретроспективу. Это было, было - была такая телепередача во времена, когда не было интернета и на смартфоны не молились, как это делают ныне (их просто ещё не придумали)))
За эту неделю:

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

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

+ Я набрал 3 текста:
    1 => «Java - Запуск / Компиляция», без ошибок
    2 => «Java - Вывод данных / Java Keywords», без ошибок
    3 => «Java - Вывод данных / Целые типы», без ошибок

+ Я решил 3 задачи:
    1 => «Целые задачи / Уравнение» на 100%
    2 => «START - Запуск / Привет, Java!» на 100%
    3 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 5 видеоуроков:
    1 => «Дневник успеха / 2019-03-31 : Сколько ни говорить, а с разговору сыт не будеш.» за 1 мин.
    2 => «Дневник успеха / 2019-03-24 : Зубами того гвоздя не вытянуть.» за 1 мин.
    3 => «НаноШахматы / PHP - Запуск скрипта» за 12 мин.
    4 => «НаноШахматы / PHP - Циклы для клеток» за 6 час. 16 мин.
    5 => «НаноШахматы / PHP - Массив для фигур» за 14 мин.

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

2019-07-03 21:24 НаноШахматы PHP - Массив для фигур + 10 14 мин.
И снова - один знак прозеваешь - уже криво работает.
Внимательность - наше всё.

2019-07-02 21:16 Дневник успеха 2019-03-31 : Сколько ни говорить, а с разговору сыт не будеш. + 15 1 мин.
За эту неделю медитации в семействе роботов продолжим закрывать старые долги как и положено ленивым студентам:

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

+ Я написал 4 сообщения 2 формулистам общим объёмом 2 килобуквы

+ Я набрал 2 текста:
    1 => «Java - Запуск / Компиляция», без ошибок
    2 => «Java - Вывод данных / Java Keywords», без ошибок

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

+ Я выполнил 3 видеоурока:
    1 => «Дневник успеха / 2019-03-24 : Зубами того гвоздя не вытянуть.» за 1 мин.
    2 => «НаноШахматы / PHP - Запуск скрипта» за 12 мин.
    3 => «НаноШахматы / PHP - Циклы для клеток» за 6 час. 16 мин.

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

2019-07-02 21:11 НаноШахматы PHP - Циклы для клеток + 12 6 час. 16 мин.
один символ мимо или сверх необходимого - и отображается абракадабра

2019-07-01 22:20 Дневник успеха 2019-03-24 : Зубами того гвоздя не вытянуть. + 11 1 мин.
Закрою старые долги, раз уж роботика Джава, простите, Робот Шарп, медитирует:
За эту неделю:

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

+ Я написал 2 сообщения 1 формулисту общим объёмом 1 килобуква

+ Я набрал 1 текст:
    1 => «Java - Вывод данных / Java Keywords», без ошибок

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

+ Я выполнил 1 видеоурок:
    1 => «НаноШахматы / PHP - Запуск скрипта» за 12 мин.

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

2019-07-01 22:15 НаноШахматы PHP - Запуск скрипта + 9 12 мин.
localhost набрав безо всяких портов через двоеточие лишь добился демонстрации своего пиашпи-творения

2019-06-30 11:59 Дневник успеха 2019-06-30 : Не диво дело начать — диво кончить. + 8 4 мин.
За эту неделю:

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

+ Я написал 14 сообщений 5 формулистам общим объёмом 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», без ошибок

+ Я решил 7 задач:
    1 => «Геометрия / Куб» на 100%
    2 => «Геометрия / Длина отрезка» на 100%
    3 => «Геометрия / Площадь круга» на 100%
    4 => «Геометрия / Синус радиана» на 100%
    5 => «Геометрия / Вектор» на 100%
    6 => «Целые задачи / Арифметика» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «НаноШахматы / HTML - Шахматные фигуры» за 29 мин.
    2 => «НаноШахматы / CSS - Шахматная доска» за 15 час. 33 мин.
    3 => «НаноШахматы / HTML - Фигуры на Доске» за 9 мин.
    4 => «НаноШахматы / PHP - Установка EasyPHP» за 16 мин.
    5 => «МикроШахматы / Белолевая рокировка» за 23 мин.
    6 => «МикроШахматы / Рокировка на все времена» за 4 час. 10 мин.
    7 => «МикроШахматы / Ладейный паркур» за 6 час. 6 мин.

− Я не собрал ни одного Мегахеша :o(
Урок, коряво сделанный в пятницу и исправленный в субботу в отчете отразился как лишь начатый, вот такой казус приключился. Зато разобрался в теме и победил задание.
Следующая неделя будет положена на постижение курса "Наношахматы" и повтор в полевых условиях курса "Микрошахматы". Баги там все не пойманы - буду ловить и к ногтю их.
Всех курсантов с началом второго месяца лета и удачи на коде!

2019-06-30 11:28 НаноШахматы PHP - Установка EasyPHP + 6 16 мин.
который раз лечу Москва - Одесса...
По старой памяти (вспомнилось с прошлой инсталляции), после установки дашборд не открывался - лечится перезагрузкой ОС Windows

2019-06-29 12:31 НаноШахматы HTML - Фигуры на Доске + 9 9 мин.
Занятия на свежую голову и поддержка опытных курсантов творят чудеса!

2019-06-29 12:20 НаноШахматы CSS - Шахматная доска + 9 15 час. 33 мин.
цээсэс создал, но доска не отобразилась. Новая бага )
UPD 20190629 - с доской разобрался благодаря хорошему человеку с Ближнего Востока. Ефим, спасибо!

2019-06-27 11:44 НаноШахматы HTML - Шахматные фигуры + 6 29 мин.
начнем шахматы сначала, раз с первого раза не все гладко
Фигуры мелкие, новые вопросы...
2019-06-26 22:10 МикроШахматы Ладейный паркур + 10 6 час. 6 мин.
снова баги. Курс требует второго подхода, не иначе. Разберемся )

2019-06-25 21:23 МикроШахматы Рокировка на все времена + 8 4 час. 10 мин.
баги уничтожаются, король начал видеть свои допустимые клетки для рокировки.

2019-06-24 22:32 МикроШахматы Белолевая рокировка + 9 23 мин.
порефакторил до нового бага. Есть о чем подумать с утра

2019-06-23 10:48 Дневник успеха 2019-06-23 : Наездом хлеба не напашешь. + 8 4 мин.
За эту неделю:

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

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

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

+ Я решил 6 задач:
    1 => «Символы / Пятёрочка» на 100%
    2 => «Геометрия / Куб» на 100%
    3 => «Геометрия / Окружность» на 100%
    4 => «Геометрия / Геометрическое» на 100%
    5 => «Геометрия / Прямоугольник» на 100%
    6 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «МикроШахматы / Информационная панель» за 31 мин.
    2 => «МикроШахматы / Подвиг безымянной пешки» за 31 мин.
    3 => «МикроШахматы / ФИНИШНАЯ ПРЯМАЯ» за 15 мин.
    4 => «МикроШахматы / Правила рокировки» за 12 мин.
    5 => «МикроШахматы / Флаг над замком» за 7 час. 56 мин.
    6 => «МикроШахматы / Король всемогущий» за 26 мин.
    7 => «МикроШахматы / Рокировка под шахом» за 27 мин.

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

На неделе стал снова заниматься урывками в дневное время - пошел курс Микрошахматы с начала.
Цель - довести хардвер до способности занятий в машине в свободные минуты днем ибо вечером уже башка несвежа )
С королем багов пока не словил, а пешечки оказались крепкими как сами знаете что - из-за них курс повторю, выловить баг надо
Следующую неделю в том же ключе
Всем удачи!

2019-06-23 10:31 МикроШахматы Рокировка под шахом + 8 27 мин.
реализовали невозможность рокировки при шахе. Если шах - королю доступен лишь побег в дамском платье )

2019-06-22 22:02 МикроШахматы Король всемогущий + 8 26 мин.
С королем всё прошло успешно. За пешки разбираюсь - иду курс заново на другом компе, понял, что спешка и занятость на других работах в понимании ни разу не подмога. Но разобраться надо. Ибо кайф от пойманного бага я уже вкусил и в курсе как это приятно, когда код начинает делать то что надо, а не то, что ему вздумается от твоей личной программистской ошибочки. По невнимательности, не непрофессионализму или по некомпетентности - дело второе. Важно, что код должен быть правильным. А это на автомате не происходит. Однако )

2019-06-21 19:43 МикроШахматы Флаг над замком + 7 7 час. 56 мин.
снова поймал бага, ходы выполняются неверно, надо пересматривать код

2019-06-20 21:32 МикроШахматы Правила рокировки + 9 12 мин.
начинай рокровку перемещением короля - он не может ходить в обычном ходе как в рокировке, значит невозможна двоякая трактовка твоих действий

Той же рукой перемещай ладью (туру), той же рукой жми часики (если они есть)

2019-06-19 21:50 МикроШахматы ФИНИШНАЯ ПРЯМАЯ + 6 15 мин.
рокировка возможна:
если ладья под боем

если ладья, стоящая на ферзевом фланге, при рокировке проходит через битое поле (таковыми могут оказаться поля b1 и b8, где в начале игры у обоих игроков стоят кони)

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


Рокировку делать нельзя:

если король делал ходы (включая рокировку)

если ладья уже ходила

с ладьёй, полученной превращением из пешки

если поле, пройденное королём во время рокировки, находится под боем противника

если король перед началом рокировки находится под шахом, или после её осуществления попадает под шах

если между королём и ладьей для рокировки, находится какая-либо любая фигура

2019-06-18 22:26 МикроШахматы Подвиг безымянной пешки + 7 31 мин.
что-то прозевал - не взлетело
Буду смотреть утром.

2019-06-17 22:11 МикроШахматы Информационная панель + 10 31 мин.
info отображает чей ход, наличие мата, пата, шаха

В функцию, оказывается, можно передавать тернарный оператор, не знал

2019-06-16 20:37 Дневник успеха 2019-06-16 : Кто не работает, тот не ошибается. + 6 6 мин.
За эту неделю:

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

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

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

+ Я решил 8 задач:
    1 => «Формулы / Формула 0110» на 100%
    2 => «Формулы / Формула 0111» на 100%
    3 => «Формулы / Формула 1000» на 100%
    4 => «Символы / Видео-Шарп» на 100%
    5 => «Символы / Висагинас» на 100%
    6 => «Символы / Коды букв» на 100%
    7 => «Символы / Буквы кодов» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 10 видеоуроков:
    1 => «МикроШахматы / Радар для быстрых пешек» за 33 мин.
    2 => «МикроШахматы / Афроамериканская пешка» за 19 мин.
    3 => «МикроШахматы / Пешкина мечта» за 19 мин.
    4 => «МикроШахматы / Волшебное превращение пешки» за 10 час. 48 мин.
    5 => «МикроШахматы / ТРЕТИЙ ЧЕТВЕРТЬФИНАЛЬНЫЙ УРОК» за 11 мин.
    6 => «МикроШахматы / Случайный шах» за 18 мин.
    7 => «МикроШахматы / Возврат хода» за 28 мин.
    8 => «МикроШахматы / Король в розыске» за 20 мин.
    9 => «МикроШахматы / Служба безопасности короля» за 43 мин.
    10 => «МикроШахматы / Шах вперёд - шаг назад» за 11 час. 49 мин.

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

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

2019-06-16 20:25 МикроШахматы Шах вперёд - шаг назад + 4 11 час. 49 мин.
is_check() не позволяет выполнить ход противнику в случае шаха, любой, кроме обеспечивающего нейтрализацию шаха королю (находящемуся под шахом)

2019-06-15 11:17 МикроШахматы Служба безопасности короля + 4 43 мин.
turn_move() функция меняет очередность хода, адаптируя функцию is_correct_move() на время перебора фигур противника. Затем ход возвращается обратно

Условие в цикле может быть множественным через && или ||
В прошлом уроке прозевал указать map в инструкции (первый скриншот в центре выделил) - карта не отрисовывалась.
Утро оказалось мудренее вечера - сегодня нашел в чём ошибка. Исправил - всё взлетело, король под шах не идёт.
Внимательность - наше всё ))
2019-06-14 20:17 МикроШахматы Король в розыске + 3 20 мин.
неформальная обстановка на уроке  помогает понять суть происходящего

2019-06-13 21:24 МикроШахматы Возврат хода + 8 28 мин.
функция отката хода берет значение откуда ходили из переменной from_figure
Клетка куда ходили заполняется из переменной to_figure

2019-06-12 10:49 МикроШахматы Случайный шах + 7 18 мин.
проверка на шах подразумевает определение фигур противника способных следующим ходом сходить на клетку, где стоит король
Защита от шаха включает в себя способы:
а) уйти
б) закрыться
в) срубить наглеца, поставившего шах Его Величеству

2019-06-12 10:19 МикроШахматы ТРЕТИЙ ЧЕТВЕРТЬФИНАЛЬНЫЙ УРОК + 7 11 мин.
оказывается кодить и видеть результат можно не только в IDEшке, но и в простом браузере.
F12 спасает, если накуролесил в инструкциях и то-то пошло не так как ожидалось.
Если инструкция работает криво в отображении - браузер покажет либо полную чистоту экрана, либо коряво отработает измененные строки.
Вместо методов сишарпа в JavaScript это же называем функциями, доступны те же ветвления, циклы, переменные, комментарии.
Внимательность к деталям - наше всё.
Супербюрократичность программирования явлена в курсе в полной мере - скрипт отработает ровно так, как ты ему напишешь. И никак иначе. Если что-то выполняется не так - оно выполняется именно так, как ты и написал.
Ныряем в код и смотрим, что за чем отрабатывает и что куда записывает.
Дело Мастера боится. Лишь бы Мастер не убоялся дела )
Авторам спасибо за усилия, курсантам - терпения и холодного разума.

2019-06-11 21:28 МикроШахматы Волшебное превращение пешки + 9 10 час. 48 мин.
надо пересмотреть урок.
Поймал баг, видно на скринах, не понял откуда пока.
Утро вечера мудренее
2019-06-11 10:33 МикроШахматы Пешкина мечта + 7 19 мин.
проверка удаления взятой на проходе пешки выполняется ифэлзом с проверкой цвета фигуры

2019-06-10 23:07 МикроШахматы Афроамериканская пешка + 8 19 мин.
черные тоже люди!
Учиться ближе к полуночи - не лучший выбор. Надо искать время утром.
2019-06-10 22:41 МикроШахматы Радар для быстрых пешек + 8 33 мин.
взятие на проходе удалось провести!

2019-06-09 19:40 Дневник успеха 2019-06-09 : Какова пашня, таково и брашно. + 9 8 мин.
За эту неделю:

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

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

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

+ Я решил 8 задач:
    1 => «Целые числа / Максима» на 100%
    2 => «Формулы / Математика» на 100%
    3 => «Формулы / Формула 0001» на 100%
    4 => «Формулы / Формула 0010» на 100%
    5 => «Формулы / Формула 0011» на 100%
    6 => «Формулы / Формула 0100» на 100%
    7 => «Формулы / Формула 0101» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 13 видеоуроков:
    1 => «МикроШахматы / Лошадью ходи!» за 24 мин.
    2 => «МикроШахматы / Королевские шаги» за 19 мин.
    3 => «МикроШахматы / Горизонтальная вертикаль» за 1 час. 42 мин.
    4 => «МикроШахматы / Не стой на пути!» за 3 час. 18 мин.
    5 => «МикроШахматы / Слоновья тропа» за 40 мин.
    6 => «МикроШахматы / Дорогу Королеве!» за 48 мин.
    7 => «МикроШахматы / Мелочь пузатая» за 1 час. 0 мин.
    8 => «МикроШахматы / ПОЛУФИНАЛЬНЫЙ УРОК» за 12 мин.
    9 => «МикроШахматы / Пешкины законы» за 53 мин.
    10 => «МикроШахматы / Судьба пешки» за 47 мин.
    11 => «МикроШахматы / Пешка на охоте» за 27 мин.
    12 => «МикроШахматы / Пешка в сапогах» за 17 мин.
    13 => «МикроШахматы / Взятие на проходе шустрых пешек» за 34 мин.

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

    Продолжил курс "Микрошахматы", что-то даже рефакторил из головы, а не по видео. Отметил для себя сложность умственного труда, когда не идёшь в фарватере флагмана Игромистра, а чешешь репку и пытаешься выполнить задание на основе своих личных знаний, тараясь не накосячить и получить исправный код. Зато в финале, когда заборол задачу - такое брашно, что за себя и за Учителя гордость появляется.
    Следующую неделю потрачу на продолжение курса "Микрошахматы", на выполнение ежедневной нормы курсанта, благо я не дядя Саша из Перми, который уже всё перерешал - есть ещё что делать здесь впервые ))) Параллельно надо разобраться с причиной богатой смеси от мехинжектора Ауди - все свечи в нагаре, ездить нельзя. Плюс отпуск нарисовался - с 10 июня по Закону РФ, мы можем выходить на Вятку под мотором. Таптун получил по весне электронное зажигание - надо тестить на воде.
Всем удачи на воде и в коде! Катайтесь - не ломайтесь, создавайте правильные вещи )

2019-06-09 19:17 МикроШахматы Взятие на проходе шустрых пешек + 9 34 мин.
pawn_attack_x && pawn_attack_y предположительно должны устанавливаться для каждой пешки, которая предприняла ход на две клетки

Только в этом случае актуально взятие на проходе и в случае хода на две клетки целесообразно отслеживать, а не вздумает ли кто срубить пешечку en passant

2019-06-08 11:36 МикроШахматы Пешка в сапогах + 14 17 мин.
проверке первого и последующих ходов

2019-06-08 11:04 МикроШахматы Пешка на охоте + 13 27 мин.
стала понятнее роль диаграмм при создании кода
Предварительно построив графическое изображение жизненного цикла будущей программы, проще кодить

Визуальное представление программы даёт подмогу в момент написания инструкций - не надо держать в голове множество подробностей, они уже на виду

Меньше возможностей для ошибки и пропуска инструкций

Диаграмма разделяет работу на две меньшие по нагрузке части

2019-06-07 15:09 МикроШахматы Судьба пешки + 11 47 мин.
https://www.draw.io/ - вещь!

2019-06-07 14:09 МикроШахматы Пешкины законы + 9 53 мин.
пешка самая мудрёная единица, фигурой называть её избегать
Зависимость от цвета в правилах хода - это преррогатива компьютерного подхода
Для игроков ходит она одинаково, ведь доску можно перевернуть для удобства, чего не сделаешь в программе (точнее излишне это делать)
Первый ход может быть на две клетки, после - только на одну вперед
Рубит только вперед на диагональ
En passant
На линиях 0 и 7 может меняться на свою фигуру, кроме короля
My dog destroyed my chess set. I tried to replace the missing pieces...
but the pawn shop was closed.
2019-06-06 15:01 МикроШахматы ПОЛУФИНАЛЬНЫЙ УРОК + 9 12 мин.
впервые сам без ментора наваял рефакторинг, который ещё и работает!
У Игромистра вариант с тремя функциями был реализован иначе, любопытно, что он скажет о моём варианте, если заметит, конечно предыдущий отчёт

Курс прекрасен дополнением к видео - скриншотами с кодом в каждом уроке - можно отсмотреть видео, намотать на ус, а затем править строки, как предлагается

За эту часть курса чуть яснее стало перечисление входящих в сигнатуру функции параметров

ЗАЧЕМ ОНИ - эти данные входят в функцию как в мясорубку на входе для обработки

ВАЖЕН ЛИ ПОРЯДОК ПЕРЕЧИСЛЕНИЯ ЧЕРЕЗ ЗАПЯТУЮ? - нет, главное перечислить те, которые необходимы

return - то, что вывалится из функции после обработки (как фарш из мясорубки)))

2019-06-06 14:43 МикроШахматы Мелочь пузатая + 7 1 час. 0 мин.
Предложенный вариант рефакторинга Игромистра отличается от моих удачных опытов из прошлого отчёта, тем лучше - увидел, что правильный путь не один, реализации одного и того же возможны разными путями

2019-06-05 14:20 МикроШахматы Дорогу Королеве! + 11 48 мин.
свой вариант выделения общего алгоритма из эти трёх функций - is_correct_move_queen/bishop/rook ->
Базовая function is_correct_queen_move (sx, sy, dx, dy) целиком.
Расширяется ифом для слона и ладьи.
Попробовал сам реализовать свой вариант - труа фиаско.
Даже отправил с нерабочим кодом своего предложения отчёт.
Затем сел думать снова над кодом и тут меня допёрло - я же в вызов функции is_correct_queen_move(sx, sy, dx, dy НЕ ДОПИСАЛ ВОТ ЭТО, ЧТОБЫ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ ПОДТЯГИВАЛИСЬ -> , delta_x, delta_y);
Добавил это:  , delta_x, delta_y И ВСЁ ВЗЛЕТЕЛО!
Я счастлив.
Решиться махать крыльями самостоятельно. Но школа Евгения Витольдовича творит чудеса - я наклепал что-то сам!
Учитель, спасибо! Это удивительное осознание, когда чего-то сам состряпал, пусть и малую часть.
2019-06-05 13:23 МикроШахматы Слоновья тропа + 9 40 мин.
функция is_empty (x, y) проверяет невыход за пределы игровой доски (с помощью функции on_map) - возвращает FALSE, если выход "за флажки", и возвращает значение ПРОБЕЛ элементу массива map с координатами полученными на входе функции

2019-06-04 16:55 МикроШахматы Не стой на пути! + 15 3 час. 18 мин.
начало проверки на наличие препятствий для ладьи до запуска цикла - изменение координаты на единицу - чтобы не вернулся результат "УПЕРСЯ САМ В СЕБЯ"

Реализовали через do while ))

Цикл работает до совпадения стартовых координат с финишными хода фигуры

sx и sy инкрементируются каждый цикл, и при значении в массиве map ПРОБЕЛ - эта клетка считается годной для хода и цикл повторяется

Функция on_map проверяет координаты x и y на соответствие диапазону от нуля до семи

Класс Math.sign возвращает
NaN,
ноль,
1 или -1
при:
не числе,
нуле,
любом положительном числе или любом отрицательном числе

2019-06-04 13:20 МикроШахматы Горизонтальная вертикаль + 10 1 час. 42 мин.
rook - ладья
sx - стартовая координата  фигуры по горизонтали
sy - стартовая координата  фигуры по вертикали

dx - координата клетки назначения фигуры по горизонтали
dy - координата клетки назначения фигуры по вертикали

Применили промежуточные переменные, принимающие значения +1 или -1 в зависимости от направления движения туры

Для исключения движения ладьи по диагонали складывали модули промежуточных переменных осей абсцисс и ординат

Отксорили, если не ошибаюсь

2019-06-03 13:47 МикроШахматы Королевские шаги + 11 19 мин.
ошибка в одном символе - бац, ничего не работает
JavaScript, он такой!

Алгоритм проверки хода короля в допуске смещения по оси абсцисс и по оси ординат не более единицы

2019-06-03 12:59 МикроШахматы Лошадью ходи! + 11 24 мин.
оказалось, что самый предсказуемый - это Эквус, по современному конь )
Реализация хода коня в паре проверок смещения (по иксу на единицу + по игреку на два) и наоборот

2019-06-02 12:21 Дневник успеха 2019-06-02 : На необработанной земле лишь бурьян растет. + 5 11 мин.
За эту неделю:

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

+ Я написал 22 сообщения 8 формулистам общим объёмом 12 килобукв

+ Я набрал 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%

+ Я выполнил 12 видеоуроков:
    1 => «Весёлая семейка Web-Мастера / Финальный урок» за 2 мин.
    2 => «МикроШахматы / В начале было поле» за 52 мин.
    3 => «МикроШахматы / Координатное поле» за 39 мин.
    4 => «МикроШахматы / Шахматные буквы» за 1 час. 11 мин.
    5 => «МикроШахматы / Фигуры на доске» за 34 мин.
    6 => «МикроШахматы / Светофор для фигур» за 1 час. 18 мин.
    7 => «МикроШахматы / Фигурная перекличка» за 2 час. 49 мин.
    8 => «МикроШахматы / Шахматные выборы» за 1 час. 49 мин.
    9 => «МикроШахматы / Завершение хода» за 1 час. 34 мин.
    10 => «МикроШахматы / ЧЕТВЕРТЬФИНАЛЬНЫЙ УРОК» за 1 час. 31 мин.
    11 => «МикроШахматы / Шахматная бюрократия» за 28 мин.
    12 => «МикроШахматы / Кто есть кто?» за 35 мин.

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

Веселая семейка Web-Мастера была финализирована с удовольствием, счётчик считал, записи в базе сохранялись, разные браузеры показывали одно и то же исходя из данных в БД. OSPanel - суперинструмент, получаешь удовольствие от готовых решений, не надо бежать в тырнет, качать, инсталлить - всё под рукой. Курс прекрасен.
Запрыгнул в следующую электричку, тут в шахматы играют. Путь неблизкий, но приятно, что сначала можно просмотреть видео, затем на пол-экрана открываешь код с изменениями (WIN+Left) ((Спасибо Валерию Владимировичу г.Пенза за полезнейшую информацию по размещению окон винды по бокам с помощью хоткеев, пользуюсь часто)), и саблайм и правишь свои строки. Результат не всегда с первого раза правильный, но F12 выручает, проблемы исправляются.
Некствик виль би фор кантинью майкрочесс, простите, на следующей неделе будем продолжать играть в микрошахматы)
Всем хорошего лета!

2019-06-02 11:59 МикроШахматы Кто есть кто? + 6 35 мин.
по сложности на взгляд неспециалиста:
1 - король самый простой (ходит на одну клетку, всех боится, живет до первого тупика)
2 - ферзь (линейное движение)
3 - слон (пол-ферзя)
4 - тура (похожа на урезанного ферзя с другой стороны)
5 - конь (что за выдумка с ходом Г, вот загадка)
6 - пешка самая сложная (ходит вперед, рубит диагональю, может стать ферзём, прохождение опять же надо реализовать)

2019-06-01 20:55 МикроШахматы Шахматная бюрократия + 8 28 мин.
is correct_move должна свич-кейсом подбирать для фигуры доступные поля, куда она может сходить

2019-05-31 15:39 МикроШахматы ЧЕТВЕРТЬФИНАЛЬНЫЙ УРОК + 12 1 час. 31 мин.
Весь документ пасётся на двух дивблоках, определяемых про идентификаторам

Определены пара массивов: с фигурами и с полем доступных ходов

Переменная move_color отвечает за то, чей сейчас ход - белых или красных ))

Используются переменные для координат по икс и игрек ОТКУДА ходит кликнутая фигура

Функция init_inf занимается лишь тем, что обнуляет массив поля доступных ходов, присваивая каждой из шестидесяти четырёх клеток значение пробела " "

Функция mark_moves_from обнуляет массив ходов и перебрав во вложенных циклах все 64 клетки проверяет их функцией can_move_from(x, y) с передачей в него в аргументы икса и игрека, на предмет ДОПУСТИМОСТИ хода, и там где допустимо помечает единицей "1" (метит фигуры игрока, чей сейчас ход)

Функция mark_moves_to действует почти аналогично предыдущей mark_moves_from, но уже помечает двойкой "2" те клетки, КУДА можно сходить (требует доработки), проверка условия выполняется функцией can_move_to(x, y) с передачей в него в аргументы икса и игрека

get_color (x, y) отвечает за цвет отображения фигуры

click_box (x, y) в зависимости от индекса в клетке поля ходов вызывают функцию хода откуда или хода куда

click_box_from (x, y) помещает координаты откуда сходила фигура

figure_to_html (figure) меняет литералы фигур на картинки

click_box_to (x, y) перемещает фигуру (делает ход)

turn_move () переводит право хода

init_map () расставляет фигуры для новой игры

show_map () рисует доску, рисует клетки, закрашивает их, вызывает функцию замены литералов на картинки фигур, отрабатывает клики по фигурам - ЭТО САМАЯ НАГРУЖЕННАЯ ИНСТРУКЦИЯМИ ФУНКЦИЯ

start () вызывает функции начала игры, установки стартовой позиции фигур и отрисовки доски

2019-05-31 13:21 МикроШахматы Завершение хода + 6 1 час. 34 мин.
ход фигуры выполняется методом копирования  элемента массива map с координатами по х и у и, последующим затиранием клетки ОТКУДА сходили пробелом

Чей ход определяет функция turn_move простой заменой переменной move_color белого на черный и обратно

Функция mark_moves_from "закрывает" режим хода и показывает поле снова с возможными для хода клетками

2019-05-30 16:17 МикроШахматы Шахматные выборы + 12 1 час. 49 мин.
занялись функционалом выбора фигуры для выполнения хода

Переменные
move_from_x
move_from_y нужны для запоминания координаты ОТКУДА ходит фигура
Не сразу дошло, отчего кликая по фигурам противника не получал аналогичной картины, как для своих фигур - второй раз пересмотрел урок, ошибок не выявил, и лишь затем допёр, что надо поменять текущие фигуры в переменной с white на black )))
2019-05-30 13:48 МикроШахматы Фигурная перекличка + 8 2 час. 49 мин.
цвет по умолчанию move_color - белый

Функция mark_moves_from (откуда можно ходить) перебирает все клетки поиском в циклах

Функция can_move_from определяет можно ли ходить с клетки ДА или НЕТ

Если ДА - клетка помечается 1 (единицей)

2019-05-29 14:07 МикроШахматы Светофор для фигур + 9 1 час. 18 мин.
занялись лоцией на шахматном фарватере
Был объявлен и создан массив для хранения доступных для хождения клеток

Массив лоции был задействован в функции show_map в ветвлении if-else с проверкой на значение 1(стоит фигура) и 2(куда может идти)

Красивый вариант доступных ходов - мигающие клетки
Боролся со знаками "равно".

На первой иллюстрации - прозевал знак присвоения при создании массива в init_inf -> долго думал, откуда ошибка в браузере

Затем в ветвлении if-else вместо знака "эквивалентно" == присобачил присвоение и никак не мог понять, почему поля не раскрашиваются как надо

Всё заб0рото, всем спасибо.

Катайтесь - не ломайтесь, создавайте правильные стейтменты ))
2019-05-29 12:08 МикроШахматы Фигуры на доске + 9 34 мин.
заменили вывод фигур из массива map, когда они возвращались в виде букв, на графические представления шахмат из готовых кодов HTML-Unicode

Конвертация литералов в графику реализовано свич-кейсом

2019-05-28 17:24 МикроШахматы Шахматные буквы + 10 1 час. 11 мин.
фигуры:
rook - ладья
knight - конь
bishop - слон
queen - ферзь
king - король

Объявлять переменную необходимо перед ее использованием.

Переменная создается (объявляется) с помощью ключевого слова var, за которым следует имя переменной, например, var map;.

2019-05-28 13:28 МикроШахматы Координатное поле + 9 39 мин.
&nbsp -неразрывный пробел (non-breaking space) — элемент компьютерной кодировки текстов, отображающийся внутри строки подобно обычному пробелу, но не позволяющий программам отображения и печати разорвать в этом месте строку

2019-05-27 13:43 МикроШахматы В начале было поле + 15 52 мин.
здесь есть курс "Наношахматы", посмотреть позднее
В аргументах функции добавил переменную размера, которую задействовал в тегах width и height - доска подросла в размерах

2019-05-27 12:28 Весёлая семейка Web-Мастера Финальный урок + 13 2 мин.
Создали простой Web-сайт со счётчиком нажатий экранной кнопки и хранением количества нажатий в памяти браузера, в сессии, на сервере и в базе данных.

Применили оформление экранных форм с помощью каскадных таблиц стилей CSS как внутри HTML, так и в отдельном файле .css

Нажатия кнопки обрабатывали JavaScript-ом, отправкой формы, GET- и POST-запросом

Создали БД с помощью MySQL (встроена в OpenServer), использовали таблицу с единственной записью (для простоты) как сетевое хранилище счётчика нажатий

Применили PHP Data Objects (PDO) для подключения к БД - свежая библиотека работы с БД, заменившая mysql, mysqli

2019-05-26 20:34 Дневник успеха 2019-05-26 : Не тряси яблоко пока зелено: созреет - само упадет. + 10 8 мин.
За эту неделю:

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

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

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

+ Я решил 7 задач:
    1 => «Лирика / Банкиры» на 100%
    2 => «Лирика / Трамвай» на 100%
    3 => «Лирика / Огород» на 100%
    4 => «Лирика / Коты» на 100%
    5 => «Лирика / Студент Вася» на 100%
    6 => «Лирика / Полторы куры» на 100%
    7 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 12 видеоуроков:
    1 => «Весёлая семейка Web-Мастера / CSS» за 3 час. 11 мин.
    2 => «Весёлая семейка Web-Мастера / JavaScript» за 8 час. 37 мин.
    3 => «Весёлая семейка Web-Мастера / Server» за 39 мин.
    4 => «Весёлая семейка Web-Мастера / PHP» за 1 час. 8 мин.
    5 => «Весёлая семейка Web-Мастера / Session» за 26 мин.
    6 => «Весёлая семейка Web-Мастера / MySQL» за 25 мин.
    7 => «Весёлая семейка Web-Мастера / PDO» за 7 час. 53 мин.
    8 => «Весёлая семейка Web-Мастера / VIP. Parent» за 44 мин.
    9 => «Пошаговый JavaScript / Introduction» за 1 час. 1 мин.
    10 => «Пошаговый JavaScript / Where To» за 37 мин.
    11 => «Пошаговый JavaScript / Output» за 2 час. 11 мин.
    12 => «Пошаговый JavaScript / Statements» за 1 час. 49 мин.

− Я не собрал ни одного Мегахеша :o(
Неделя подъёма на перископную глубину прошла с удовольствием, но и курс был выбран не суперсложный, понимаю.
Однако, сложно требовать от медведя мгновенного овладевания премудростями велосипеда. Так и молодого курсанта не посадишь сразу за штурвал эмбрайера. Сначала ЯК-52, а уже затем более увесистые птички.
План на следующую неделю - сохранить эшелон, не опускаться ниже предоставленной диспетчером высоты и плавно обходить грозовые облака.
Коридор предоставлен, время есть, вебкурсы к изучению. Ну и на Java посмотреть свежим взглядом, может поддастся.
Всем теплого лета и стабильного учебного ритма!

2019-05-26 20:24 Весёлая семейка Web-Мастера VIP. Parent + 10 44 мин.
реализовали обработку счётчика через внешний файл plus.php, его фрейм сделали скрытым, чтоб не отвлекал

Функционалом внешнего файла стало увеличение счётчика при нажатии экранной кнопки и возвращение значения в родительскую форму

Тем самым достигнута полная синхронизация счётчиков, открываемых разными браузерами - нигде не будет отдельных веток подсчёта - при каждом нажатии возвращается актуальный счётчик

2019-05-26 19:29 Весёлая семейка Web-Мастера PDO + 12 7 час. 53 мин.
у PHP существуют три расширения для работы с базой MySQL: mysql, mysqli и PDO

PHP PDO (PHP Data Objects) включено в PHP 5.1 и выше

Функции для работы с базой данных mysql_ не рекомендуют к использованию, так как разработка php_mysql остановилась на поддержке функционала MySQL 4.1.3. и не поддерживает транзакции, объектный интерфейс и подвержено уязвимостям при подстановке значений в запрос

После mysql_ появилось расширение mysqli (MySQL Improved в 5 версии)

Все эти библиотеки используют стандартную клиентскую библиотеку MySQL (libmysql)

Самое свежее расширение – PDO

fetch - это замена XMLHttpRequest (поиск по базе данных с целью выборки с условием, которое Вам нужно)

$dsn - data source name (КУДА ПОДКЛЮЧАЕМСЯ)
Счётчик плюсуется при обновлении страницы. Где причина - пока не понял
2019-05-25 10:59 Весёлая семейка Web-Мастера MySQL + 8 25 мин.
обращение к БД осуществляется скриптами PHP

Команды к базе данных формируются языком структурированных запросов SQL

HeidiSQL встроена в пакет OpenServer, ничего искать и инсталлировать не пришлось, всё под рукой

2019-05-25 10:13 Весёлая семейка Web-Мастера Session + 8 26 мин.
значение переменной счётчика в предыдущих версиях возвращалось на основе содержимого текстового окна

Под сессией понимаем участок памяти на Сервере для хранения промежуточных данных

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

2019-05-24 15:51 Весёлая семейка Web-Мастера PHP + 9 1 час. 8 мин.
реализовали обработку нажатия кнопки через Сервер, вместо локального счётчика внутри браузера

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

Забирать с Сервера значение переменной можно с помощью $_GET["имя желаемой переменной"];

Метод POST у формы убирает информацию о передаваемом значении из адресной строки

2019-05-24 11:38 Весёлая семейка Web-Мастера Server + 11 39 мин.
сервер - мощнецкий  комп в сети, обслуживающий запросы извне и существующий лишь для того, чтобы служить сетевым юзерам

Выхлопом от работы PHP интерпретатора является готовый код HTML, который способен переварить и вывести на экран браузер у пользователя в сети

OpenServer - эмуляция (замена) удаленного Сервера, устанавливаемая на локальном компе, и имитирующая работу с Сервером. Используется для локальной отладки сайтов с указанием сетевого адреса 127.0.0.1

2019-05-23 22:50 Весёлая семейка Web-Мастера JavaScript + 10 8 час. 37 мин.
getElementById как хороший пёс находит по запаху идентификатора объект в документе и приносит Хозяину
Функцию написал, в отдельный файл вынес

2019-05-23 13:14 Весёлая семейка Web-Мастера CSS + 12 3 час. 11 мин.
стили применяются: а) в строке стейтмента объекта, б)в теге стайл в хеде, в) в отдельном файле
padding - отступы внутри объекта
margin - отступы снаружи объекта

ТОЧКА - стиль класса

просто наименование адресует к тегу
добавил точку - уже к имени класса

2019-05-22 16:31 Пошаговый JavaScript Statements + 14 1 час. 49 мин.
statement - оператор, сообщение, инструкция
values - значения
Operators - операции над некими объектами
Expressions - выражения
Keywords - ключевые слова
Comments - комментарии

Окончание инструкции в JS обозначается точкой с запятой;

Необязательно указывать ;
- на конце строки,
- перед закрывающей фигурной скобкой,
- в конце программы

Пробелы, табуляции, перенос строки - игнорируются JS и используются лишь для удобства чтения кода

Однако, с текстовыми элементами история иная: перенос сток, к примеру, выполняется тегами <br>

Блок кода выделяется фигурными скобками {}

2019-05-22 14:29 Пошаговый JavaScript Output + 11 2 час. 11 мин.
innerHTML - часть Document Object Model (DOM), для строкового изменения сайта Javascript-кодом
Можно читать и заменять все в пределах данного элемента DOM (HTML-тег)
КАК НАЙТИ ЧТО МЕНЯТЬ  СОБРАЛСЯ -> document.getElementById(id)
КАК ПОМЕНЯТЬ НАЙДЕННОЕ -> .innerHTML = ТО ЧТО ХОТЕЛ УСТАНОВИТЬ НОВЫМ ЗНАЧЕНИЕМ

outerHTML, в отличие от innerHTML, изменяет всю строку, а не лишь значение

document.write - дописывает текст в текущее место HTML ещё до того, как браузер построит из него DOM

document.write работает только пока HTML-страница находится в процессе загрузки

Если же активировать document.write ПОСЛЕ загрузки страницы - всё будет удалено и выполнен вывод из document.write

window.alert - всплывающее окно

console.log - запись режима отладки(смотреть через F12 или CTRL+SHIFT+J)

Если в слагаемых присутствует хоть одна строка - всё будет конкатенироваться, а не математически вычисляться



2019-05-21 17:43 Пошаговый JavaScript Where To + 7 37 мин.
под функцией в JavaScript понимают именованный блок кода, исполняемый по вызову(по событию)

JavaScript ищи или пиши в HTML документе внутри (неожиданно:) тега <script></script> хоть в <head>, хоть в <body>

Другой вариант - в отдельном файле с расширением .js

Строки документа HTML исполняются обработчиком по порядку сверху вниз, как дочитает до строки скрипта, так он и запустится, не ранее

Обработка скриптов замедляет загрузку страницы, отсюда выбор расположения скрипта как можно ниже в теге <body> способствует увеличению скорости загрузки сайта

2019-05-21 17:03 Пошаговый JavaScript Introduction + 8 1 час. 1 мин.
getElementById - альтернатива прямой навигации от родителя к потомку годной, если элементы рядом. If искомый элемент неблизко в коде, применяют поиск по  id

ВАЖНО! значение id должно быть уникально, иначе поведение кода не будет предсказуемо

innerHTML == содержимое элемента (потомки, комментарии, текст), хранится строкой. Доступно чтение и запись

Если текст содержит "&", "<" или ">", то  innerHTML конвертит в "&amp;", "&lt;" и "&gt;"

За пределами скриптов одинарные и двойные кавычки - требуют внимания, не путать пары меж собой

Принцип работы прост. По некоему событию определяется элемент в документе HTML и ему присваивается новое желаемое значение атрибута (ЧТО У НЕГО ЕСТЬ) или стиля (КАК ВЫГЛЯДИТ)

2019-03-20 15:19 Observer Observer - Sensor - Cat File + 8 47 мин.
новый класс Кот создаёт файл ТОЛЬКО если температура == 18 градусам

Для этого создаётся экземпляр класса File

Затем для этого экземпляра применяется метод createNewFile()

Точно расставив фигурные скобки избавился от ошибок в коде и получил кота делающего файл и заскребающего его при определенных температурах

2019-03-20 13:59 Observer Observer - Sensor - Person + 6 1 час. 47 мин.
создали классы получателя оповещений с интерфейсом java.util.Observer

Из аргументов получаем температуру с приведением значения к типу Integer

2019-03-19 14:02 Observer Observer - Sensor - Visaginas + 9 1 час. 0 мин.
в новом проекте начали с создания класса Sensor наследуемого от системной библиотеки java.util.Observable

Метод информирования Наблюдателей содержит инструкции:
- установить наличие изменений
- оповестить Наблюдателей (с аргументом из метода возвращаемого методом этого же класса getTemperature)

2019-03-19 12:52 Observer Observer - School Bell - Study and Break + 7 3 час. 4 мин.
добавили аргументы в метод update класса Obell

Для дифференциации звонков добавили перечисление BellMode

Перечисляй через запятую, в конце - точка с запятой

Применили свичкейс для аргумента из класса BellMode

Нашел в сети новый звук, прикрутил и его в Obell.java через свичкейс

Урок демонстрирует возможность допилить метод до работающего с аргументами, указываемыми в сигнатуре и обращающимся к разным звуковым файлам в разных контекстах происходящего - на урок один звонок, с урока другой

2019-03-18 14:04 Observer Observer - School Bell - java.util.Observable + 6 2 час. 4 мин.
Observable интерфейс в системных библиотеках переведён(расширен/преобразован) в класс, поскольку методы универсальны и не требуют множества одинаковых реализаций(имплементаций):
===================================
void addObserver(Observer o)

protected void clearChanged()

int countObserver()

void deleteObserver(Observer o)

void deleteObservers()

boolean hasChanged()

void notifyObservers()

void notifyObservers(Object arg)

protected void setChanged()
===================================

Удалили самопальный интерфейс Observable, включавший в себя три метода add, delete и notify

ВАЖНО! Не забыть implements (реализует) заменить на extends (расширяет)

После подключения библиотечного java.util.Observable все методы, кроме doBreak() стали излишними и полетели со свистом в треш

2019-03-18 11:00 Observer Observer - School Bell - java.util.Observer + 11 1 час. 44 мин.
Observer представлен в системных библиотеках Java

В интерфейсе Observer реализован метод update с аргументами (звонок, кто звонит)

Object Sender - кто звонит (от какого объекта прилетело событие)
EventArgs - как звонит (доп. инфа об обработке события)

Обработка события "щелч0к ПКМ" реализованный через делегат == методу update

Add unimplemented methods - добавить нереализованные методы

После удаления самолепного Observer
-а) импортировали системный java.util.Observer во все классы, которые его имплементируют (используют/расширяют)
-б) дописали в сигнатуру метода update аргументы Observable o и  Object args

Если аргументов нет - указали null

На этом уроке мы избавились от самодельной реализации и применили то же самое, сделанное разработчиками ЯП Java

Причина для этого - использование проверенного ресурса вместо самопального кода

2019-03-17 11:35 Дневник успеха 2019-03-17 : Кончил дело — гуляй смело. + 6 4 мин.
За эту неделю:

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

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

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

+ Я решил 15 задач:
    1 => «Алгоритмика / Матрёшки» на 100%
    2 => «For-to-чки / Сто квадратов» на 100%
    3 => «Обман цикла / Цифра три» на 100%
    4 => «Узник цикла IF / Делитель» на 100%
    5 => «Математика / Косинусы» на 100%
    6 => «Матрёшки / Звездный квадрат» на 100%
    7 => «Олимпиада / Случайная задача» на 100%
    8 => «Комбинаторика / Счастливые билеты 6» на 100%
    9 => «110. Функции / Минимум и максимум» на 100%
    10 => «110. Функции / Треугольники» на 100%
    11 => «110. Функции / Звезда» на 100%
    12 => «110. Функции / Степень» на 100%
    13 => «110. Функции / Факториал» на 100%
    14 => «110. Функции / Числа Фибоначчи» на 100%
    15 => «110. Функции / Общий делитель» на 75%

+ Я выполнил 17 видеоуроков:
    1 => «Python3: математика / Число прописью » за 47 мин.
    2 => «Python3: математика / Автора - в кортеж» за 22 мин.
    3 => «Python3: математика / Любое число прописью - новая программа и теория цикла for» за 22 мин.
    4 => «Python3: математика / Любое число прописью - всё строится на цикле» за 34 мин.
    5 => «Active Record / Active Record - UML» за 48 мин.
    6 => «Active Record / Active Record - User - Imitation» за 1 час. 36 мин.
    7 => «Active Record / Active Record - User - Create» за 41 мин.
    8 => «Active Record / Active Record - User - Select» за 1 час. 26 мин.
    9 => «Active Record / Active Record - User - Delete» за 31 мин.
    10 => «Active Record / Active Record - User - Randoms» за 3 час. 1 мин.
    11 => «Active Record / Active Record - User - Select all» за 1 час. 39 мин.
    12 => «Active Record / Active Record - User - Update all» за 55 мин.
    13 => «Active Record / ФИНАЛЬНЫЙ УРОК» за 17 мин.
    14 => «Observer / Observer - Теория» за 55 мин.
    15 => «Observer / Observer - School Bell - Student» за 58 мин.
    16 => «Observer / Observer - School Bell - Sound Bell» за 1 час. 13 мин.
    17 => «Observer / Observer - School Bell - Porter» за 1 час. 43 мин.

− Я не собрал ни одного Мегахеша :o(
Джава с аппетитом постигается в будни, в выходные с удовольствием наслаждаюсь питоньей математикой.
Следующая неделя будет посвящена движению по обсерватории паттерна Обсервер. Звонок звенит, студенты орут Yeee!
Текашнику удачного отпуска среди жарких арабских красот(ок)))

2019-03-17 11:29 Python3: математика Любое число прописью - всё строится на цикле + 5 34 мин.
методы редактирования списков
list.append(x) Добавляет элемент в конец списка

list.extend(L) Расширяет список list, добавляя в конец все элементы списка L

list.insert(i, x) Вставляет на i-ый элемент значение x

Длина списка возвращается методом len(имя_списка)
Найти фото Текашника в ОАЭ )))
2019-03-17 10:48 Python3: математика Любое число прописью - новая программа и теория цикла for + 5 22 мин.
возведение в квадрат **3
возведение в куб **3

Цикл for делается оригинально for i in range(стартовое значение включительно, окончание исполнения не включительно, шаг):инструкция

2019-03-16 10:55 Python3: математика Автора - в кортеж + 12 22 мин.
урок записывался в 6:30 утра - Валерий Владимирович спит ли когда? ))

TUPLE Кортеж(список констант) объявляй в круглых скобках()

Список объявляй в квадратных скобках[]

Разница [списка] и (кортежа) в том, что к [списку] впоследствии можно добавлять элементы с помощью .append, а к кортежу после его создания ничего не присобачишь - он непокобелим!

имя.__sizeof__() кажет нам размер кортежа или размер списка

Кортеж в этом разрезе выглядит аскетичнее

Мораль: динамичность не даётся даром и за неё платят б0льшим размером объекта

Используй кортеж там, где не нужны последующие изменения элементов

2019-03-16 10:27 Python3: математика Число прописью + 11 47 мин.
соорудили функцию возвращающую строковое представление числа

Поставил # - дальше строка закомментирована и не исполняется как инструкция

Функция обрабатывает входной аргумент коллекцией строковых значений и возвращает прописной вариант введенного числа

2019-03-15 15:19 Observer Observer - School Bell - Porter + 13 1 час. 43 мин.
оповещение Наблюдателей осуществляется оптом, не в розницу

Наблюдатели хранятся в ArrayList<>();

Реагируют на событие лишь те наблюдатели, что добавлены

Удаленный объект звонок как это ни удивительно, не звонит, но трое вечерних студентов рады и без звукового сопровождения (вторая иллюстрация)

2019-03-15 11:32 Observer Observer - School Bell - Sound Bell + 10 1 час. 13 мин.
Если при создании класса OBell в интерфейсы указывается дефолтный Observer (не ObserverSchool/src) - то добавляются импорты и аргументы в методе update

Чтобы звонок бренчал ваяем метод sound со строковым аргументом имени воспроизводимого файла

Метод sound состоит из следующих инструкций:
- создание экземпляра с аргументом имени файла
- получение звукового потока из экземпляра выше
- создание клипа
- открытие звукового потока
- запуск звукового потока
в рамках трайкеча

2019-03-14 12:22 Observer Observer - School Bell - Student + 9 58 мин.
1:35 - цитата" Рассказывают, что Эклипс работает медленно даже на быстрых компьютерах". Оказывается не в железе дело ))

Не поставил галку "Добавить абстрактные методы" от интерфейса. Посмотрим, выплывет ли это расхождение

Создали интерфейс, дочерний класс студента и точку входа в программу

2019-03-14 11:05 Observer Observer - Теория + 8 55 мин.
схема Наблюдателя:
- объект рассылает сообщения
- количество Получателей может варьироваться
- связь между Отправителем(Отправителями) и Получателем(Получателями) слабая

Суперкласс Observer - способен принимать входящие сообщения (обрабатывать события)

Дочерние классы реализуют деяния, связанные с событием, о котором информируется суперкласс

Класс Observable (или Subject)  отвечает за регистрацию обработчиков событий, удаление и оповещение оных

Класс информатора (в примере - Porter) создает список оповещаемых, добавляет/удаляет в него элементы списка, инициирует оповещение слушателей в цикле перебирая всех

Шаблон наблюдатель полезен в роли стартового пистолета на соревнованиях

Вместо вахтёра в спорте стартёр — человек, который даёт старт соревнованию

2019-03-13 16:34 Active Record ФИНАЛЬНЫЙ УРОК + 16 17 мин.
суть Active Record в том, что ОДНА таблица базы данных превращается в ОДИН класс, а  ОДНА строка таблицы в ОДИН экземпляр этого класса

ActiveRecord устанавливает методы взаимодействия с данными каждой строки таблицы

Создаётся шлюз для работы с требуемой БД и необходимым функционалом, настраиваемым в коде по техническому заданию потребителя услуг

Курс вводит в тему, знакомит с основами шаблона на примере манипуляций с импровизированной БД на основе файловой системы, где одна учётная запись - это один текстовый файл

2019-03-13 15:20 Active Record Active Record - User - Update all + 16 55 мин.
dapoki готов трудиться за 500 евро

Метод getMinSalaryUser возвращает экземпляр класса User

В теле метода создается экземпляр с именем min из значением при инициации null

В цикле, перебирающем все объекты ArrayListа userов с проверкой на значение null или зарплаты меньшей уже найденной, находится учетка с наименьшей зарплатой

Последняя инструкция метода getMinSalaryUser возвращает экземпляр User min

Похожим алгоритмом нашли самого молодого

После удаления альтруистов, жаждущих менее одной тысячи евро, база сократилась на 700 учетных записей и самым альтруистичным стал работником стал fymi
НА СТАРОЙ ТЕХНИКЕ ЭКЛИПС ТОРМОЗИТ, НЕ СТАВЬТЕ ЭТО ЧУДО БЕЗ НЕОБХОДИМОСТИ))
2019-03-13 13:25 Active Record Active Record - User - Select all + 15 1 час. 39 мин.
класс folder включает метод listFiles() возвращающий массив всех файлов

Проверка найденного объекта на эквиватентность файлу возможна методом isFile()

Моим самым молодым богатеем оказался...
jozy balu pecu с ежемесячным заработком в размере 7440EUR!

Мои поздравления молодому таланту!

2019-03-12 15:00 Active Record Active Record - User - Randoms + 15 3 час. 1 мин.
random.nextDouble генерирует число от нуля до единицы

charAt -
Возвращает значение char по указанному индексу.
Индекс находится в диапазоне от 0 до length () - 1.
Первое значение последовательности в индексе находится в индексе 0, следующее в индексе 1...

2019-03-12 11:37 Active Record Active Record - User - Delete + 15 31 мин.
без реализации метода update() изменения касаются лишь переменной, не затрагивая содержимого БД

При данной импровизированной базе данных на основе файловой системы, метод обновления идентичен методу создания файла

После реализации метода update() зарплата Джона выросла беспрецедентно!

2019-03-11 16:00 Active Record Active Record - User - Select + 15 1 час. 26 мин.
toString()позволяет возвращать  строковое представление объекта

20

br.read считывает побайтно, символ за символом и возвращает их код

2019-03-11 14:14 Active Record Active Record - User - Create + 15 41 мин.
Active Record требует создания полей в классе соответствующих полям в таблице БД и методов, необходимых для манипуляции данными БД

2019-03-11 11:35 Active Record Active Record - User - Imitation + 14 1 час. 36 мин.
в проекте роль таблицы отведена каталогу (директории) в операционной системе

Роль строки в импровизированной таблице отведена текстовому файлу

CREATE == создание файла
READ   == открытие с чтением
UPDATE == сохранение изменений
DELETE == удаление файла

2019-03-11 09:39 Active Record Active Record - UML + 15 48 мин.
active record создаёт класс, дублирующий содержимое БД (экземпляр этого класса отражает значение ОДНОЙ строки из БД

Create
Read
Update
Delete
==
CRUD

https://www.draw.io - онлайн UML редактор

Доступно чтение из базы, редактирование, возвращение данных

При обновлении (создание/чтение/удаление) экземпляра класса, обновляется(создаётся/читается/удаляется) и строка в БД - синхронизация налицо

2019-03-10 10:51 Дневник успеха 2019-03-10 : Маленькое дело лучше большого безделья. + 15 8 мин.
За эту неделю:

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

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

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

+ Я решил 13 задач:
    1 => «Строки / CompareTo» на 100%
    2 => «Условный оператор / Минимальное расстояние» на 100%
    3 => «For-to-чки / Сумма квадратов» на 100%
    4 => «Вечность / 12 месяцев» на 100%
    5 => «Точка и плоскость / Часть круга» на 100%
    6 => «По цифрам / Четные цифры» на 100%
    7 => «Олимпиада / Случайная задача» на 100%
    8 => «101. Математика / Корни» на 100%
    9 => «101. Математика / Удивительные корни» на 100%
    10 => «101. Математика / Тригонометрия» на 100%
    11 => «101. Математика / Параметрическая функция» на 100%
    12 => «101. Математика / Минимум и максимум» на 100%
    13 => «101. Математика / Площадь круга» на 100%

+ Я выполнил 15 видеоуроков:
    1 => «Python3: математика / Обработка исключений в основной программе» за 41 мин.
    2 => «Python3: математика / Проверка иных условий» за 26 мин.
    3 => «Python3: математика / Списки - немного теории» за 30 мин.
    4 => «Python3: математика / Списки - в программу!» за 1 час. 24 мин.
    5 => «Python3: математика / Бесконечный while» за 18 мин.
    6 => «Python3: математика / Словарь сотен» за 23 мин.
    7 => «Tinklavimas / Контрольная работа» за 29 мин.
    8 => «Template method / Template Method - Girl - Macho Boy» за 50 мин.
    9 => «Template method / Template Method - Girl - Program» за 40 мин.
    10 => «Template method / Template Method - Web Parser» за 56 мин.
    11 => «Template method / Template Method - Web Parser - Abstract» за 52 мин.
    12 => «Template method / Template Method - Web Parser - Time» за 34 мин.
    13 => «Template method / Template Method - Web Parser - Loader» за 1 час. 9 мин.
    14 => «Template method / Template Method - Web Parser - Currency» за 2 час. 10 мин.
    15 => «Template method / ФИНАЛЬНЫЙ УРОК» за 50 мин.

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

Над нами солнце светит - не жизнь, а благодать!
Джава джавится, Пайтон питонится, весенние ручьи ещё не появились, но с крыш уже закапало.
Дорога на вершину Фудзи длинна и извилиста, но вариантов, кроме как отталкиваться ножками от земли, помогая себе батогом и держась фарватера достойных сенсеев из Прибалтии и Приволжской возвышенности, вариантов немного. Потому ножками топ-топ, и урок за уроком, что-то да останется в голове.
Всем успешного обучения!

2019-03-10 10:40 Python3: математика Словарь сотен + 15 23 мин.
создание словаря в фигурных скобках, через запятую пары "ключ:значение"

Возвращается словарь указанием индекса элемента в квадратных скобках

2019-03-10 10:10 Python3: математика Бесконечный while + 15 18 мин.
while True: в Python указывается БЕЗ СКОБОК, но с двоеточием

except KeyboardInterrupt: break так реализуется принудительный останов программы по CTRL+C

Занятно, что для успешной отработки CTRL+C необходимо, чтобы была активна английская раскладка. Если давать контролЦ при активной русской раскладке - останова программы не происходит


2019-03-09 13:08 Python3: математика Списки - в программу! + 14 1 час. 24 мин.
# в Python = это начало строчного комментария

CTRL+X  - скопировать в буфер с удалением в исходном месте

Поставив каретку в конце строки присвоения переменной и нажав TAB получаем выпадающее меню доступных функций, типов и резервированных операторов

2019-03-09 10:20 Python3: математика Списки - немного теории + 14 30 мин.
создание списка -> имя_списка=[]

Вывод в консоли - простым указанием имени списка

Аналог адэдэ -> имя_спискаТЧКappend[добавляемое_значение_в_список]

имя_листаТЧКextend(имя_списка_что_хотим_добавить) == сшивка имеющегося списка с другим

Списки индексируются с нуля, при использовании имя.insert(номер_индекса, 'значение_которое_вставляем') учесть, что вставка будет выполнена после четвертого по счёту элемента списка

2019-03-08 11:25 Python3: математика Проверка иных условий + 11 26 мин.
после сигнатуры функции пиши двоеточие

после иф, после элз, после элиф с условиями - также не забывай двоеточие

Логическое ИЛИ в Пайтоне пишется англословом ОР (or)
Женский состав курсантов с праздником! Ура!
2019-03-08 10:26 Python3: математика Обработка исключений в основной программе + 11 41 мин.
не забывать про отступы - 4(четыре) пробела или один табуляции символ - для выделения строк инструкций тела функции

Код чётко отрабатывает трехзначные числа, и возвращает ошибку из переменной result в случае, если введено не число

В случае, если ввод был не числа с тремя разрядами, то количество сотен указывается также верно, растёт лишь разрядность возвращаемого количества сотен

2019-03-07 12:21 Template method ФИНАЛЬНЫЙ УРОК + 12 50 мин.
Если есть скелет, рыба или общее представление о том, как должна работать программа, то Шаблонный метод - это наш выбор.
Создаётся суперкласс, в котором описывается абстракция поведения кода, а конкретику мы описываем в классах наследниках. Поскольку при создании классов-наследников IDE уже автоматически заготавливает методы, которые требуют реализации, процесс создания программы упрощается, разбиваясь на два этапа: создание общего описания КАК ДОЛЖНА РАБОТАТЬ программа, и реализация мелких подробностей в наследниках.
Курс знакомит неподготовленного курсанта с шаблоном, давая первые представления, доступные к пониманию с чистого листа. Развитие темы - преррогатива учащегося.
Особо порадовал раздел по созданию парсинга реального сайта в интернете. Прежде лишь краем уха слышал о такой фиче, теперь знаю, что парсить надо выцепляя адрес сайта, найдя в коде сайта уникальный якорь, отсчитывать от него требуемый диапазон для последующего анализа, загонять этот диапазон в массив, разбивая по имеющимся в коде сайта знакам препинания и с последующим возвратом в переменную искомого значения, как элемента массива. Несложно.
Курс смело рекомендую начинающим пытливым умам.
Всем удачи и приятных праздников!
Заниматься в двух метрах от праздничного стола с мандаринами и шампанским.
2019-03-07 08:45 Tinklavimas Контрольная работа + 18 29 мин.
1
HTML
hypertext markup language - язык гипертекстовой разметки веб-страниц, применяется для создания сайтов. Отвечает за то, как выглядит страница в статичном состоянии. Веб-страница описывается в текстовом формате с расширением .html
Структурируется блоками html, head, body, описывается тегами, заключаемыми в угловые скобки. Поддерживает каскадные таблицы стилей, как в теле самого файла, так и подключаемыми извне.
Вывод пользователю - через браузеры.

CSS
каскадные таблицы стилей cascade stylesheet, текстовое описание форматирования, размерности, шрифтов, цветовой схемы сайта, применяемые к странице, описанной на HTML. Описывают элементы сайта, выделяемым по классам, идентификаторам. Может быть частью HTML-страницы, либо отдельным файлом подключаемым через тег link.

JavaScript
язык программирования веб-страниц, отвечающий за поведение сайта. Не имеет строгой типизации, исполняется на стороне клиента в браузере. К языку программирования Java отношения не имеет. Структурируется функциями, применяется в HTML коде с тегами <script></script>. Чтобы на странице тыкалось, кликалось, бахало, моргало, листалось, реагировало на действия пользователя - применяем скрипты JavaScript.

PHP
язык программирования, написанный на языке программирования Си, предназначенный для придания функциональности веб-страницам. Работает на стороне сервера, интерпретируется там же в HTML-код и после этого отправляется клиенту в браузер. Строгой типизации не имеет. Методы называются функциями. Переменные именуются со знака $.

2019-03-06 14:56 Template method Template Method - Web Parser - Currency + 5 2 час. 10 мин.
принцип парсинга с сайта:
ищешь уникальную запись
привязываешься к ней как к якорю
от этого индекса отсчитываешь через сколько начать парсить
отсчитываешь на каком индексе закончить выдергивание информации

Метод getURL возвращает полный адрес целевой страницы, откуда будем стягивать инфу

Метод findInfo ищет якорь, стартовый индекс от якоря, финальный индекс от якоря и в переменную записывает найденное

В валютном парсере реализовали поиск выделением подстроки от якоря до плюс 200 индексов с разделением как в иксельке по знакам "кавычка", не забыв её экранировать

Метод, в сигнатуре которого ты указал булевый тип возвращаемых данных, не забывай завершать ритёрном тру или фолза, иначе ашыпка

С первого запуска код вернул NO DATA! (иллюстрация номер 1)

Попробовал парсить ЦБ России - успех (вторая иллюстрация)
Не нашел поиска в коде веб-страницы, открываемый через F12
Изучаю проблему
2019-03-06 11:29 Template method Template Method - Web Parser - Loader + 8 1 час. 9 мин.
для обработки содержимого веб-страницы использовали экземпляр StringBuffer

InputStreamReader читает весь код страницы

BufferedReader читает построчно

Чтение кода в бесконечном цикле выполняется до строки равной null

append == добавлять,присоединять,прилагать,
конкатенировать, привешивать, прибавлять, добавлять в конец

При адаптации класса WebTime.java для иных сайтов, кроме time100.ru можно выдергивать требуемую информацию из-под капота сайта, а он и не узнает ))

2019-03-05 13:56 Template method Template Method - Web Parser - Time + 11 34 мин.
создали поиск текущего времени по маске в коде страницы сайта %H%:%i%:%s

Выделение подстроки с 19 по 27 индекс - высчитано прямо из кода сайта сначала неточно, не была указана стартовая позиция, хранящаяся в переменной pos (первая иллюстрация)

После указания стартового индекса считывание из метода loadPage проходит успешно

2019-03-05 11:55 Template method Template Method - Web Parser - Abstract + 13 52 мин.
абстрактный метод getURL возвращает строковое поле в переменную url

загрузка сайта реализована приватным методом loadPage

Поиск информации - абстрактный метод возвращающий булево значение

2019-03-05 10:53 Template method Template Method - Web Parser + 11 56 мин.
F12 или CTRL+SHIFT+I - код страницы

а) открыть сайт
б) открыть код сайта
в) найти строку
г) найти информацию
д) вернуть искомое значение

2019-03-04 12:53 Template method Template Method - Girl - Program + 10 40 мин.
клиент создаёт экземпляр абстрактного класса

Единственный доступный метод - познакомиться, остальные закрыты

Далее по шаблону отрабатывает каждый экземпляр со своими вариациями

2019-03-04 12:04 Template method Template Method - Girl - Macho Boy + 10 50 мин.
создали абстрактный класс с кириллическим именем

Проблемы при создании класса не произошло, однако проверить кодировку не повредит:
Window - Preferences - General - Workspace - Text file encoding

У меня стояло Default (Cp1251) и не ругнулось на кириллицу в сигнатуре

Поправил на Other - UTF-8, после применения имя класса исказилось, ошибки в коде. Удалил класс, пересоздал заново успешно

2019-03-03 12:06 Дневник успеха 2019-03-03 : Не говори "гоп", пока не перепрыгнешь. + 11 6 мин.
За эту неделю:

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

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

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

+ Я решил 8 задач:
    1 => «Условный оператор / Отрицательный куб» на 100%
    2 => «For-to-чки / Сумма квадратов» на 100%
    3 => «Точка и плоскость / Четверть плоскости» на 100%
    4 => «Узник цикла IF / Нули» на 100%
    5 => «Узник цикла IF / Плюс-минус» на 100%
    6 => «Матрёшки / Звездный квадрат» на 100%
    7 => «Строки / Длинное слово» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 14 видеоуроков:
    1 => «JS Восточный гороскоп / Данные - на страницу» за 28 мин.
    2 => «JS Восточный гороскоп / ФИНАЛЬНЫЙ УРОК» за 15 мин.
    3 => «Singleton / Singleton - Config - Cant extend» за 1 час. 8 мин.
    4 => «Singleton / Singleton - Config - Super child» за 27 мин.
    5 => «Singleton / Singleton - Timer - Pattern Design» за 33 мин.
    6 => «Singleton / Singleton - Timer - Start / Click» за 1 час. 0 мин.
    7 => «Singleton / Singleton - Timer - Program» за 38 мин.
    8 => «Singleton / Singleton - Timer - String vs Buffer Speed» за 1 час. 32 мин.
    9 => «Singleton / Singleton - Timer - Experiment» за 44 мин.
    10 => «Singleton / Singleton - Timer - Log class» за 42 мин.
    11 => «Singleton / ФИНАЛЬНЫЙ УРОК» за 1 час. 3 мин.
    12 => «Singleton / VIP - Singleton - Timer - Enum» за 47 мин.
    13 => «Template method / Template Method - Introduction» за 20 мин.
    14 => «Template method / Template Method - Girl - Abstract» за 31 мин.

− Я не собрал ни одного Мегахеша :o(
Одиночка финализирован и понят. Понят и освоен. Освоен и взят на вооружение. Вооружён и очень безопасен )
Java раздел подкинул курс по знакомству с девушками. Забавно, но девушки мне в машину сами садятся, периодически даже с детьми, в половине случаев в детское кресло для малышей. Бывает занятно наблюдать их общение между собой. В Кирове много красивых и душевных девушек.
План на следующую неделю - продолжить курс по знакомству с девушками в рамках Template Method ))


2019-03-03 11:56 Template method Template Method - Girl - Abstract + 11 31 мин.
абстрактный класс содержит:
+неизменяемый метод, одинаково применимый ко всем наследникам

+переопределяемые методы, учитывающие особенности реализации конкретных наследников

Саблайм не подсвечивал синтаксис. Нашел где включить(иллюстрация номер 1)

2019-03-03 11:23 Template method Template Method - Introduction + 14 20 мин.
абстрактный класс хранит в себе неизменяемый алгоритм действий, применяемый в массовом порядке
Клиент обращается к абстрактному классу, а тот в свою очередь делегирует выполнение определённого алгоритма конкретным классам, обращающимся к абстрактному за инструкциями.

Ежегодно у меня в рамках профессиональных обязанностей приходится обновлять корневые сертификаты всех пунктов моего региона. Их 600. И это 600 однотипных прохождений одного и того же. Залогиниться, десяток одинаковых, с малыми вариациями, кликов ПКМ, указание файла откуда взять обновку, проверка успешности обновления и выход. И так 600 раз. Если этого не делать - танцы с бубном, здравствуйте! Если это делать - немного тупеешь на время однообразного тыкания. Со временем скорость маслания мышью растёт, но идея автоматизации процесса всё равно витает в воздухе. Любопытно, поможет ли этот курс найти решение для подобной рутины.

2019-03-02 21:56 JS Восточный гороскоп ФИНАЛЬНЫЙ УРОК + 15 15 мин.
Создали несложное веб-приложение подтягивающее из свича данные о годе по китайскому календарю.

Лишний раз зарубил себе на носу, что класс в каскадных таблицах стилей надо описывать с точки. По недостатку практики, это вечно забывается и идет поиск, как таки запомнить простые вещи.

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

Хочу найти свою тему и начать с нуля, как это делает Валерий с помощью друга Эммета, свой проект некоего лабаза или исследовательского ресурса. Но поскольку за окном не кони в вакууме плаваютЪ, наверное надо магазин ваять

По будням - традиционно грызём Java, по выходным - что-то на отвлечённые темы.

2019-03-02 21:38 JS Восточный гороскоп Данные - на страницу + 13 28 мин.
в стилях имя класса описывай с точечулечки (так запомнить можно?)

2019-03-01 12:25 Singleton VIP - Singleton - Timer - Enum + 7 47 мин.
при изменении класса на перечисление, обращение к перечислению происходит не по имени метода, а по имени экземпляра перечисления

getLog() уходит в небытие, а вместо него пишем имя как в перечислении писали, в нашем случае LOG

Весь код Одиночки стал не нужен, и был заменен одним экземпляром перечисления

Если экземпляр перечисления не вызывается в коде, то и запуска конструктора не происходит

2019-03-01 11:02 Singleton ФИНАЛЬНЫЙ УРОК + 8 1 час. 3 мин.
вся суть Одиночки в том, чтобы экземпляр класса был один и тчк

Реализация задумки проста - есть такая баская штука как пустота

Эта пустота называется у программистов нАллом (null)

При объявлении экземпляра Одиночки, он инициализируется этой самой пустотой

А при обращении из программы к Одиночке выполняется проверка на эквивалентность экземпляра пустоте, и если Одиночка ещё равен пустоте, то создаётся первый, он же последний экземпляр Одиночки

Если же при обращении к услугам Одиночки, выясняется, что экземпляр уже не равен пустоте(которой он был инициализирован), то методом возвращается тот же самый первый, он же последний экземпляр Singletona

Наследовать от Одиночки не получится

Если требуется монопольный доступ к Одиночке, для предотвращения одновременного доступа пишите synchronized  в сигнатуру getInstance()

Курс знакомит с основами шаблона, при достаточном усердии способен дать толчок для развития, при слабой мотивации позволяет выполнить задания на удовлетворительно и идти дальше

Каждый выберет себе степень погружения в тему

2019-02-28 12:13 Singleton Singleton - Timer - Log class + 15 42 мин.
создали класс SingleTimer

утащили из класса Timer синглтон таймера

+ инициализацию nullом
+ getInstance, который у нас getTimer
+ конструктор экземпляра SingleTimerа, вызывающий родительский конструктор

Одиночку целесообразно использовать в основном классе, откатили изменения назад

git checkout Log.java
git checkout Program.java
git checkout StringSpeed.java
git checkout Timer.java

rm SingleLog.java == удаление файлов не добавленных в индекс
rm SingleTimer.java
целесообразно применять Singleton если нужен уникальный доступ к ресурсам и если код не усложняется с дублированием методов или полей
2019-02-28 10:27 Singleton Singleton - Timer - Experiment + 15 44 мин.
создали отдельным классом ведение логов, в классе Одиночкой завели экземпляр log

Как и требует букварь,
+ инициализация статического приватного экземпляра с присвоением значения null

+ статический публичный метод getInstance возвращающий экземпляр класса :
а) новый экземпляр - если null
б) уже созданный - если не null

git add Log.java
git commit -a -m "Add Log"

2019-02-27 13:19 Singleton Singleton - Timer - String vs Buffer Speed + 7 1 час. 32 мин.
создали два метода (со строковой и буфферизированной строковой переменными) принимающие на входе целочисленный аргумент количества повторений

На аргументе 168 можно добиться близости к равенству времени обработки (иллюстрация 1), но повторы выполнения дают девиации, и не меняя код можно увидеть знатную волатильность

Изменения аргументов в сторону увеличения показали рост эффективности буфферизированной строковой переменной

git add новосозданному файлу
git commit -a -m "соревнование строки и буфферизированной строки"

2019-02-27 10:56 Singleton Singleton - Timer - Program + 13 38 мин.
Math.sqrt == квадратный корень
Math.cbrt == кубический корень

Оптимизация Java может опускать исполнение инструкции, если очевидна её неприменимость, поэтому замыкайте тестовые нагрузки какой либо реализацией

git add Program.java == добавили новосозданный файл в индекс

git commit -a -m "some comment" == отправили в репозиторий (локальный) текущее состояние индекса

2019-02-26 12:27 Singleton Singleton - Timer - Start / Click + 9 1 час. 0 мин.
продолжили
+ метод старта секундомера публичный, ничего не возвращает, ничего не принимает

+ метод снятия показаний секундомера, ничего не возвращает, принимает на вход строковую переменную text

git commit -m == Создание коммита

git commit -a -m == закоммитить файлы, которые были изменены и удалены, но новые файлы, о которых вы не сообщили Gitу, не будут затронуты.

git log == Просмотр коммитов в репозитории

git log --oneline == Просмотр коммитов в репозитории с сокращенным выводом информации
Понять, что здесь git log --oneline
надо писать онелине, а не онлине
Это к вопросу о внимательности к мелочам и про "я набираю как в видео, а не работает"
Было смешно, когда понял, что пропускал литеру "е"
2019-02-26 11:14 Singleton Singleton - Timer - Pattern Design + 9 33 мин.
создали новый проект под реализацию секундомера через Одиночку

надо:
+ экземпляр таймера статичный приватный проинициализированный значением null

+ приватный конструктор с методом, засекающим время старта

+ статичный публичный метод getInstance создающий единожды экземпляр Таймера(Одиночки)

В папке src запустили СКВ Гита

git init - стартануть новый пустой репозиторий

git add Timer.java - добавить в индекс (начать отслеживать изменения) файл Timer.java

git commit -m "some commentarij" - создать новый коммит (слепок состояния кода)

2019-02-25 13:44 Singleton Singleton - Config - Super child + 5 27 мин.
унаследовали класс с Синглтоном от Config, создание Одиночки перенесли туда

Обращение к Синглтону подправили в классе Process

Загрузка из текстовика оставлена в классе Config, вызов его решен методом super() - вызов метода из суперкласса

2019-02-25 12:44 Singleton Singleton - Config - Cant extend + 7 1 час. 8 мин.
попробовали прикрутить к классу Config наследование от Singleton

В Синглтоне используются статические методы, а они не наследуются

git checkout Config.java - откатили Config.java до крайнего коммита

git checkout Process.java - откатили Process.java до крайнего коммита

git log - посмотреть историю коммитов

2019-02-24 17:15 Дневник успеха 2019-02-24 : Была бы охота — будет ладиться работа. + 8 2 мин.

За эту неделю:

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

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

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

+ Я решил 8 задач:
    1 => «Логика / Плюс и минус» на 100%
    2 => «Условный оператор / Наибольшее при условии» на 100%
    3 => «Do-рацикл / По модулю меньше ε» на 100%
    4 => «Обман цикла / Делитель Мина» на 100%
    5 => «Последовательность / Новая последовательность» на 100%
    6 => «По цифрам / Простые цифры» на 100%
    7 => «Подпрограммы / Йестердэй» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 17 видеоуроков:
    1 => «JS Восточный гороскоп / Создание сцены» за 20 мин.
    2 => «JS Восточный гороскоп / Первые функции» за 28 мин.
    3 => «JS Восточный гороскоп / Символ года» за 20 мин.
    4 => «JS Восточный гороскоп / Цвет и стихия года» за 24 мин.
    5 => «Клиент-серверный сокет / VIP. Мультики на сервере» за 16 час. 15 мин.
    6 => «Клиент-серверный сокет / VIP. Динамичная многопоточность» за 2 час. 20 мин.
    7 => «Singleton / Singleton - Config - Final» за 56 мин.
    8 => «Singleton / Singleton - Config - Git init» за 21 мин.
    9 => «Singleton / Singleton - Config - Static» за 30 мин.
    10 => «Singleton / Singleton - Config - Git add» за 21 мин.
    11 => «Singleton / Singleton - Config - Class» за 32 мин.
    12 => «Singleton / Singleton - Config - Git commit» за 24 мин.
    13 => «Singleton / Singleton - Config - FileReader» за 1 час. 25 мин.
    14 => «Singleton / Singleton - Config - Git default» за 38 мин.
    15 => «Singleton / Singleton - Config - Static field» за 51 мин.
    16 => «Singleton / Singleton - Config - Static class» за 1 час. 13 мин.
    17 => «Singleton / Singleton - Config - Using pattern» за 2 час. 28 мин.

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

2019-02-24 09:40 JS Восточный гороскоп Цвет и стихия года + 15 24 мин.
выбор возвращаемого атрибута из свитча реализовали через ифэлз:
if(info==0)    return color_;
    else return st;

2019-02-24 09:14 JS Восточный гороскоп Символ года + 15 20 мин.
оказывается, определение года выполняется остатком от деления на 12
12 животных пришедших к Будде вошли в историю Нового Года!
switch case нам пришёл на помощь!
Урок отличный, рекомендую смело.

2019-02-23 12:25 JS Восточный гороскоп Первые функции + 10 28 мин.
один пропущенный апостроф - и алерт не выведется))

набрать input и нажать табуляцию - заготовка автоматом

Приведение типа к числовому - Number(переменная которую надо сделать числом из строковой)

2019-02-23 11:54 JS Восточный гороскоп Создание сцены + 8 20 мин.
Восклицательный знак + табуляция == Эмметом создаётся заготовка HTML документа


2019-02-22 12:34 Singleton Singleton - Config - Using pattern + 8 2 час. 28 мин.
Одиночка - это
Приватный конструктор (извне экземпляр объекта не создать)
Экземпляр объекта хранится внутри объекта (коробка в коробке)
Статичный метод getInstance():Singlton используемый для доступа к единственному экземпляру

======================

-В классе Config.java удалили все статики за ненадобностью

-Удалили конструктор, запускающий метод load

----------------------
+Объявили экземпляр класса с названием instance
Инициализировали его значением null cо static

+Создали приватный конструктор, запускающий метод load

+Создали статический метод возвращающий экземпляр объекта getInstance И СОЗДАЮЩИЙ ЕДИНОЖДЫ НОВЫЙ ЭКЗЕМПЛЯР КЛАССА CONFIG ЛИШЬ В СЛУЧАЕ ЕСЛИ ЭКЗЕМПЛЯР КЛАССА CONFIG == NULL

В классе Config единственным доступным статическим методом стал Config.getInstance()



2019-02-22 09:53 Singleton Singleton - Config - Static class + 14 1 час. 13 мин.
Java не позволяет делать классы статичными
C# не имеет такого ограничения

Поля и методы в классе Config сделали статичными

Конструктор Config вызывающий метод load загружающий config.txt пробовали удалить

Если методы статичные - обращение к ним просто по имени класса

Вызов метода load загружающий данные из config.txt  установили в PSVM

В варианте со статиками в классе Config загрузка данных всё равно производится, хотя и единожды

Статикой стоит увлекаться, если имеем в работе просто набор методов

При наличии полей/атрибутов/переменных - статика неуместна

Статичные классы не наследуются, методы не переопределяются, ограничений много

2019-02-21 13:02 Singleton Singleton - Config - Static field + 11 51 мин.
вынесли из методов создание экземпляра класса Config  в тело класса Program, добавили модификатор static и передали экземпляр config аргументом в вызов метода demo

При варианте инициализации config в теле класса Process с использованием конструктора, не забываем, что передачу config аргументом в метод надо убрать, а этот же аргумент передать в создаваемый экземпляр класса


2019-02-21 11:49 Singleton Singleton - Config - Git default + 10 38 мин.
для загрузки в репозиторий переименовали конфигурационный файл в config.default.txt

+ я перетащил его в подкаталог src (НЕ ЗАБЫТЬ!)

git add config.default.txt - добавили в индекс (STAGE AREA)

git commit -a -m "somecomment" -залить в локальный репозиторий все измененные файлы

git diff 0023 - первые цифры(литеры) из идентификатора коммита который сравнивается

КРАСНЫМ - то что удалено
ЗЕЛЕНЫМ - то что стало
СЕРЫМ - нетронутое

2019-02-20 11:37 Singleton Singleton - Config - FileReader + 13 1 час. 25 мин.
рабочая директория программы при запуске - корень проекта, а не bin или src

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

При считывании числа, чтобы оно не осталось строкой, его обрабатывают классом Integer методом parseInt, передавая в него аргументом считываемую строку

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

Статик не годится, когда придётся менять значение переменных (к примеру при считывании их значений из конфигурационного файла)

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

2019-02-20 08:17 Singleton Singleton - Config - Git commit + 15 24 мин.
git status == посмотреть текущее состояние дел в отслеживаемом каталоге

git commit -a -m "some comment for this commit" == перенести отслеживаемые файлы из отслеживаемой директории(Working Area), минуя индекса(Staging Area), сразу в локальный репозиторий Repository (БЕЗ НОВОПОЯВИВШИХСЯ ФАЙЛОВ И ПОТОМУ НЕОТСЛЕЖИВАЕМЫХ)

git diff == производит сравнение между разными состояниями одного файла

2019-02-19 16:04 Singleton Singleton - Config - Class + 9 32 мин.
у Java нет глобального пространства имён

Переменные видны в каком-то определённом классе

Для доступа к переменной УКАЖИ имя класса или название экземпляра

Модификатор static позволяет обращаться к переменной из любого класса

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

Доступ к статическим переменным неавторизованный - как в вагон метро входит и считывает внутреннее убранство кто хочет и когда хочет
найти где в Эклипс увеличить шрифт.
Спрятано здесь: контекст (ПКМ) - General - Appearance - Colors and Fonts - Java Editor Text Font - Edit
Спрятано на пять баллов, без навыков гугления, я найти эти дебри на смог
2019-02-19 15:04 Singleton Singleton - Config - Git add + 8 21 мин.
git status == покажет появившиеся новые в проекте файлы и измененные имеющиеся под надзором Системы Контроля Версий

git add Process.java == добавим под присмотр новый файл-класс

git commit -a == закоммитить изменения в отслеживаемых файлах, без добавления нетрекингуемых новых файлов

git log == журнал активности СКВ

2019-02-19 14:38 Singleton Singleton - Config - Static + 8 30 мин.
доступ к статической переменной из другого класса выполняется указанием имени класса + точка + имя переменной

ALT + SHIFT + R - хоткей для переименования переменной(константы) во всех местах её доступности одновременно из одного места

Статические переменные невозможно редактировать и нельзя установить извне

Преимущество группировки данных в отдельном конфигурационном файле в лёгкости замены конфигурации - сменил файл-класс = разом сменилась конфигурация

2019-02-19 11:27 Singleton Singleton - Config - Git init + 9 21 мин.
второй подход к штанге git
Mokytojas == Учитель

В папке создали репозиторий git

git init - инициализация репозитория (контроль версий начат)

git status - текущее состояние репозитория

git add Program.java - начать отслеживать изменения в указанном файле

git commit -m "Final consts" - записать в репозиторий (ЛОКАЛЬНЫЙ) первое состояние отслеживаемого файла

git log - журнал событий

После этих действий появилась скрытая папка git  - это локальный репозиторий, где будут падать все коммиты (Ваши записи о текущем состоянии файлов и кода в них на момент коммита)

2019-02-19 10:20 Singleton Singleton - Config - Final + 13 56 мин.
класс Одиночка создаёт единожды (getInstance()) свой экземпляр и возвращает при повторных запусках (getInstance()) тот же текущий экземляр, а не новые

и не позволяет повторить это же действие извне (Cat cat = new Cat();- так не прокатит с Синглтоном)

final - такую константу изменить нельзя

Не нашел методом тыка, как в Eclipse из sysout получить system.out.println

Погуглил. Нашел решение - CTRL+SPACE

Из статичного метода нельзя обращаться к нестатичному контенту

2019-02-18 15:55 Клиент-серверный сокет VIP. Динамичная многопоточность + 11 2 час. 20 мин.
в предыдущем уроке количество копий программы параметризировалось числом из аргументов при запуске сервера, и эти копии ожидали подключений как кассы с кассирами во всеоружии в супермеркато

Сокеты в прошлом уроке копировались (создавались копии программы) в количестве из аргумента запуска сервера

10 минута видео - гвоздь программы при создании лямбда оператора )))
"Здесь мы пишем вот такую вот фигулинку..."

%time:~6,2% выбрать (взять) с шестого индекса два символа
%time:~9,2% выбрать (взять) с девятого индекса два символа

Динамическое создание сокетов выглядит интереснее своей гибкостью.

2019-02-18 11:47 Клиент-серверный сокет VIP. Мультики на сервере + 11 16 час. 15 мин.
при добавлении метода sleep необходимо позаботиться о трайкече с InterruptedException

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

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

Порт для всех один, двое сразу не подключатся.

Второй phone на тот же порт зацепить не получится - порт уже занят!

Реализовали в Phone конструктором создание каждому клиенту своего серверного сокета - ЭТО ПЕРЕШЛИ К МНОГОПОТОЧНОМУ ВАРИАНТУ

ALT + INSERT - создание конструктора в контексте

При созданных разных потоках у каждого клиента, обработка математическихЪ примеровЪ пошла по принципу - все на батьку!

2019-02-17 21:28 Дневник успеха 2019-02-17 : Один в поле не воин. + 11 1 мин.
За эту неделю:

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

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

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

+ Я решил 12 задач:
    1 => «Символы / Коды букв» на 100%
    2 => «Алгоритмика / Последовательность» на 100%
    3 => «Условный оператор / Минимальное произведение» на 100%
    4 => «For-to-чки / Трёхзначные числа» на 100%
    5 => «For-to-чки / Среднее арифметическое» на 100%
    6 => «Обман цикла / Делитель Макса» на 100%
    7 => «Подпрограммы / МиниМакс» на 100%
    8 => «Олимпиада / Случайная задача» на 100%
    9 => «100. Массивы / Обмен» на 100%
    10 => «100. Массивы / Баранки» на 100%
    11 => «101. Математика / Квадратное уравнение» на 66%
    12 => «101. Математика / Формула» на 100%

+ Я выполнил 12 видеоуроков:
    1 => «Клиент-серверный сокет / Как хорошо уметь читать!» за 1 час. 58 мин.
    2 => «Клиент-серверный сокет / Клиент-серверный диалог» за 1 час. 13 мин.
    3 => «Клиент-серверный сокет / Экспериментальный сервачок» за 2 час. 0 мин.
    4 => «Клиент-серверный сокет / Техническое задание» за 1 час. 36 мин.
    5 => «Клиент-серверный сокет / Основной алгоритм» за 1 час. 37 мин.
    6 => «Клиент-серверный сокет / Скелет телефона» за 35 мин.
    7 => «Клиент-серверный сокет / Универсальный сокет» за 1 час. 27 мин.
    8 => «Клиент-серверный сокет / ФИНАЛЬНЫЙ УРОК» за 1 час. 58 мин.
    9 => «Клиент-серверный сокет / VIP. Многопоточность» за 34 мин.
    10 => «Клиент-серверный сокет / VIP. Два потока» за 2 час. 29 мин.
    11 => «Клиент-серверный сокет / VIP. Синхрофазатрон» за 32 мин.
    12 => «Клиент-серверный сокет / VIP. Функциональное потокообразование» за 25 мин.

− Я не собрал ни одного Мегахеша :o(
Чуть не забыл отчет отправить играя с версиями Джавы.

2019-02-16 20:26 Клиент-серверный сокет VIP. Функциональное потокообразование + 10 25 мин.
Лямбда == набор инструкций выделяемых в отдельную переменную и затем многократно вызываемую в различных местах

Лямбда-оператор это стрелка ->

Оператор разделяет лямбда-выражение на две части:

левая - список параметров выражения

правая это тело лямбда-выражения, где выполняются все действия

2019-02-16 19:55 Клиент-серверный сокет VIP. Синхрофазатрон + 8 32 мин.
volatile - применяется для моментального чтения переменных, минуя кеширование

synchronized - добавляем в сигнатуру метода, когда надо, чтобы к нему в один момент времени имел доступ один процесс, а не более одного!

Пауза обусловлена уникальным доступом к методу слип для всех пяти потоков, как я понял

2019-02-15 14:10 Клиент-серверный сокет VIP. Два потока + 16 2 час. 29 мин.
для создания потока
а) наследуем от Thread (extends Thread)
или
б) имплементируем Runnable (implements Runnable)

Метод run запускает отдельный поток

sleep(), wait() снижают нагрузку на процессор, создавая паузы выполнения инструкций в коде

Для создания нового отдельного потока создаётся новый экземпляр класса Thread с передачей ему аргументом экземпляра first из класса Workerа имплементированного от Runnable

Чтобы ограничить доступ к методам, и позволить только одному потоку менять данные там в какой-либо момент времени, мы используем ключевое слово synchronized.

Synchronized  позволяет заблокировать доступ к методу или части кода, если его уже использует другой поток.

2019-02-15 11:23 Клиент-серверный сокет VIP. Многопоточность + 15 34 мин.
два примера многопоточности - эффективный и нет:
бортпроводники в салоне самолета за работой - эффективно

Более двух пилотов в кабине самолета - неэффективно (КВС и второго пилота более чем достаточно для успешного полёта, дополнительные ПИЛОТЫ не добавляют функциональности авиасудну)

Многопоточность неактуальна в случае перевозки одного пассажира. Для перевозки одного пассажира требуется одно транспортное средство. Если предоставить пассажиру более одного ТС, ему от этого легче не станет - на двух поездах одновременно не уедешь

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

Многопоточный доступ к серверу полезен при организации модемного пула - чем больше модемов готовых к входящим подключениям и не встречающих звонки сигналами BUSY BUSY!!! повышает доступность сервера и радует клиентов

Модем один - а клиентов тьма (обратная картина) - один обслуживается, для остальных при попытке дозвониться - ЗАНЯТО - неэффективно, недовольны все, кроме первого подключившегося

2019-02-14 15:15 Клиент-серверный сокет ФИНАЛЬНЫЙ УРОК + 15 1 час. 58 мин.
Клиентский метод .getInputStream().read() читает один символ, тогда как класс-обёртка для чтения данных - InputStreamReader способен читать уже строку.

Применили цепочку из создания объектов, на вершине которой классы BufferedReader и BufferedWriter, способные к чтению и созданию полных строк, которые передавались через сетевой протокол между клиентом и сервером.

Приложение для обмена, обработки Сервером полученного, и выведения на экран результата отправки-обработки-приёма реализовывалось как в рамках одного класса (это при том, что запуск доступен в двух ролях Сервера или Клиента), так и в двух классах.

Первый класс Socketor имеет точку входа в программу, отвечает за выбор роли, в которой запускается сокет (сервером или клиентом).

При каждом запуске создаёт новый экземпляр класса и в зависимости ОТ КОЛИЧЕСТВА принятых от пользователя аргументов запускает:
метод runServer в роли Сервера
или
метод runClient в роли Клиента.

===============
Метод runServer создает СОКЕТ - новый экземпляр класса Phone принимая аргументом номер порта для работы.

В бесконечном цикле запускается метод приёма входящих пакетов извне.

В первой полученной строке записывает строковую переменную a.

Во второй полученной строке записывает строковую переменную b.

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

О полученном решении создаётся строковая переменная, которая:
- выводится на экран в консоли Сервера методом System.out.println
- передаётся Клиенту для вывода на экран методом phone.writeLine

После вывода на экран соединение с Клиентом закрывается и Сервер возвращается циклом к ожиданию нового входящего соединения.

В этом же цикле реализована проверка деления на ноль.
================
Метод калькуляции парсит в целые числа полученные строковые аргументы, и в зависимости от типа операции возвращает целочисленные результат расчётов.

================
Метод runClient принимает строковые аргументы:
- сетевой адрес
- номер порта
- а и b - числа для математической операции.

Создаётся экземпляр сокета с двумя аргументами (адрес и порт).

Сокет Клиента построчно отправляет а и b - числа для математической операции.

Затем с помощью метода readLine() Клиент получает результат вычислений и выводит его в консоль на экран.

################
Второй класс Phone занимается реализацией сокетов Сервера и Клиента.

Здесь же составлена матрёшка экземпляров классов, способных обрабатывать строковые символы и целые строки из сетевого трафика.

Во всех методах класса Phone применен отлов ошибок try-catch

2019-02-14 11:02 Клиент-серверный сокет Универсальный сокет + 13 1 час. 27 мин.
объявили в классе Phone сервер и клиент, буферизированный приёмник данных reader и передатчик writer

Первый конструктор Phone (тот, у которого лишь один аргумент - порт) -  создаёт серверный сокет. При создании экземпляра серверного сокета в аргументы передаётся порт в виде строки, поэтому его парсим в целое число методом Integer.parseInt()

ALT + ENTER - добавили трайкеч для отлова ошибок

Конструктор клиентского экземпляра сокета принимает уже два аргумента - сетевой адрес и номер порта

IntellijIDEA позволяет добавлять аргументы при запуске программы через пункт Edit Configuration - выпадающее меню у кнопки запуска с названием класса

Необходимости в добавлении \r в моём случае не было. Как в видео - в одну строку у меня не выводило при отсутствии \r и указанной лишь \n
И так и эдак перенос строки выполнялся успешно

CTRL + C - остановка Сервера в командной строке

Звездочка, используемая в качестве аргумента "умножение" должна быть заключена в скобки, иначе она воспринимается командной строкой как знак "ВСЕ"

2019-02-13 14:16 Клиент-серверный сокет Скелет телефона + 7 35 мин.
ALT + Enter - варианты решения проблемы в выпадающем меню

Работа над ошибками:
1. Самостоятельно создав метод calculate в аргументах не указал тип данных у operation - ошибка не уходила, пока не увидел в этом уроке ответ на свою ошибку

2. Не распарсил в Integer переменные a и b

3. Пытался в дефолтный кейс вбить case default - так не надо делать - там просто дефолт пишется, без кейса

ALT+ENTER выпадающим меню позволяет создавать не созданные ещё, но уже указанные в коде, КЛАССЫ, МЕТОДЫ, КОНСТРУКТОРЫ!

2019-02-13 11:51 Клиент-серверный сокет Основной алгоритм + 11 1 час. 37 мин.
реализовали проверку количества аргументов

По первому аргументу определяем в какой роли запустится приложение (Сервером или Клиентом)

Встав кареткой (курсором) на нереализованный ещё метод и нажав ALT+ ENTER возвращается меню где можно выбрать создание сигнатуры метода

СЕРВЕР в бесконечном цикле
- принимает входящие "звонки",
- записывает в переменные ввод со строк,
- считает математику по аргументам
- записывает результат в строку
- завершает сеанс связи

КЛИЕНТский конструктор phone запускается с двумя аргументами (адрес в сети и номер порта)
- Записывает первое число
- Записывает второе число
- Считывает ответ от СЕРВЕРА
- Завершает сеанс связи


2019-02-12 15:16 Клиент-серверный сокет Техническое задание + 8 1 час. 36 мин.
составили техническое задание для создаваемого приложения.

1. Приложение консольное

2. Запуск из командной строки

3. Аргументы из командной строки (консоль)

4. Единая программа с выбором режима из двух вариантов: Сервер или Клиент

5. Программа работает с арифметическими операциями в зависимости от режима запущенного на Сервере
набрал код Айдара - работает. Записал видео дабы разобраться в организации приложения. В общем и целом всё понятно, но сам из головы бы не написал - в этом проблема, которая как решается пока не понимаю. Может если продолжить учиться, когда-то да появится твердь вместо болота в башке?
2019-02-12 11:21 Клиент-серверный сокет Экспериментальный сервачок + 13 2 час. 0 мин.
throws Exception == бросает исключение
Это один из вариантов обработки возможных ошибок при работе кода.
Второй вариант - трайкеч

СЕРВЕРНЫЙ сокет привязывается к указанному в его аргументах порту и ждёт входящих подключений методом .accept()

Если подключений предполагается более одного - организуем бесконечный цикл с помощью while(true)

КЛИЕНТСКИЙ сокет создаётся конструктором Socket с аргументами сетевого адреса СЕРВЕРА и порта для подключения НА СЕРВЕРЕ

Для ОТПРАВЛЕНИЯ сообщений в поток применяется метод .getOutputStream() помещенный в класс-обёртку OutputStreamWriter, который в свою очередь помещён в класс-обёртку BufferedWriter
Эти матрёшки нужны для того, чтобы получить доступ к передаче не только отдельных символов, но и целых строк текста

Для ПРИЁМА (чтения) сообщений создаётся отдельная матрёшка READER, аналогичная описанной выше

1. КЛИЕНТ шлёт запрос Серверу строкой заканчивающейся \n
2. СЕРВЕР читает входящее сообщение методом .readLine() - ВАЖНО, чтобы Клиент отправил строку с \n
3. СЕРВЕР записывает входящий пакет (строку) в переменную, обрабатывает её, добавляя подсчёт длины прилетевшей строки
4. Обработанную строку в переменной response СЕРВЕР отправляет через сокет в путь методом .flush() у экземпляра класса writer предварительно подготовленную в законченную строку методами .write() и .newLine()
5. КЛИЕНТ используя reader.readLine() записывает в строковую переменную response полученный ответ Сервера, и выводит его в консоль
6. Закрываются читатель, писатель и КЛИЕНТСКИЙ сокет их связывавший, чтобы не висели вечно в памяти

Одиннадцатая Java позволяет запускать код без компиляции из командной строки если весь код в одном файле
Когда дело дошло до игрищ в командной строке, СЕРВЕР стартовать не желал возвращая ошибку (Иллюстрация номер раз)
Решением стало прописать пусть до каталога bin джавы одиннадцатой в переменных средЫ операционной системы.
Перезапуск компа и Server started в кармане! Всем удачи на коде, катайтесь - не ломайтесь, приобретайте правильные навыки.
2019-02-11 16:57 Клиент-серверный сокет Клиент-серверный диалог + 15 1 час. 13 мин.
Клиент:
1. Создает запрос Серверу
2. Отправляет запрос

Сервер:
1. Прочитать входящий запрос
2. Отправить ответ

В конце сеанса связи читатель(reader) и отправитель(writer) закрываются

\n - перевод курсора на новую строку
Разная длина сообщения считается из за разницы подхода разных браузеров и приложений к чтению сообщения, как я понял

2019-02-11 11:56 Клиент-серверный сокет Как хорошо уметь читать! + 5 1 час. 58 мин.
для сокета клиента уже актуален и сетевой адрес Сервера, куда подключаться, и порт подключения

Не забываем добавлять обработку ошибок (Add exception to method signature) в сигнатуру метода в самом конце перед открывающей тело метода фигурной скобкой

Клиентский метод .getInputStream().read(); читает один символ

sout + ENTER - автосоздание System.out.println();

Код 72 - H (латиницей эйч) в ASCII

Класс-обёртка для чтения данных - InputStreamReader ВЫВОДИТ ЛИШЬ ПЕРВУЮ СТРОКУ!!! Проверил опытным путём

2019-02-10 12:27 Дневник успеха 2019-02-10 : Поле труд любит. + 12 10 мин.
За эту неделю:

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

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

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

+ Я решил 26 задач:
    1 => «Геометрия / Окружность» на 100%
    2 => «Геометрия / Прямоугольник» на 100%
    3 => «Геометрия / Площадь круга» на 100%
    4 => «Целые задачи / Уравнение» на 100%
    5 => «Условный оператор / В промежутке» на 100%
    6 => «For-to-чки / Сумма» на 100%
    7 => «For-to-чки / Степень» на 100%
    8 => «Обман цикла / Множитель» на 100%
    9 => «Календарь / День года» на 100%
    10 => «Олимпиада / Случайная задача» на 100%
    11 => «010. Условия / Четное двузначное число» на 100%
    12 => «010. Условия / Неделька» на 100%
    13 => «011. Циклы / Улыбки» на 100%
    14 => «011. Циклы / Без остатка» на 100%
    15 => «011. Циклы / Делитель Макса» на 100%
    16 => «011. Циклы / Количество цифр» на 100%
    17 => «011. Циклы / Среднее арифметическое» на 100%
    18 => «011. Циклы / Сумма цифр» на 100%
    19 => «011. Циклы / Степень» на 100%
    20 => «011. Циклы / Сумма ряда» на 100%
    21 => «100. Массивы / Единичный массив» на 100%
    22 => «100. Массивы / Первый и последний» на 100%
    23 => «100. Массивы / Порядок» на 100%
    24 => «100. Массивы / Инкремент» на 100%
    25 => «100. Массивы / Мульти возведение» на 100%
    26 => «100. Массивы / Мини-максимум» на 100%

+ Я выполнил 17 видеоуроков:
    1 => «JD. Коллекции / LIST - Типа коллекция» за 2 час. 24 мин.
    2 => «JD. Коллекции / LIST - ArrayList против LinkedList» за 3 час. 56 мин.
    3 => «JD. Коллекции / LIST - Множество» за 50 мин.
    4 => «JD. Коллекции / LIST - Одинаковые кошки» за 1 час. 1 мин.
    5 => «Слова в Сетке / Объектная Матрёшка» за 3 час. 55 мин.
    6 => «Слова в Сетке / Кот Фрейма» за 20 мин.
    7 => «Слова в Сетке / Буква на Панели» за 3 час. 47 мин.
    8 => «Слова в Сетке / Своя Картинка» за 39 мин.
    9 => «Слова в Сетке / Центр Бокса» за 1 час. 21 мин.
    10 => «Слова в Сетке / Матрица Боксиков» за 54 мин.
    11 => «Слова в Сетке / Сохранение картинки» за 57 мин.
    12 => «Слова в Сетке / ФИНАЛЬНЫЙ УРОК» за 16 мин.
    13 => «Слова в Сетке / VIP Implementation» за 51 мин.
    14 => «Клиент-серверный сокет / Что такое сокет» за 45 мин.
    15 => «Клиент-серверный сокет / Простейший сервер» за 43 мин.
    16 => «Клиент-серверный сокет / Автоответчик» за 40 мин.
    17 => «Клиент-серверный сокет / Правильный заголовок» за 39 мин.

− Я не собрал ни одного Мегахеша :o(, но не свернул с пути постижения Java. В свободное время будней с удовольствием прохожу "Миллион задач" в разделе Консоль. На этой неделе узнал, что перенос фигурной скобки после сигнатуры метода не приветствуется, а отсутствие указания пэкэджа - первый признак недокода )
На следующей неделе ямщикам на почте подадут жалование, будем продлевать подписку и далее по пути Java со всеми остановками, вплоть до Голутвина.
Вчера у ахалтекинца подкачал колёса до нормы в два очка - машина поехала! А я-то думал, чего она нэ йидэ... )
В Кирове снега навалило пол-метра (сужу по крышам), сложно представить сколько снега в лесах и полях.
А в Севастополе - ни снежинки!
Всем тепла и скорой весны!

2019-02-10 12:14 Клиент-серверный сокет Правильный заголовок + 10 39 мин.
\r\n отрабатывает в телнет, в ГуглХроме не принимается
Убрав \r получаем работоспособный в браузере обмен

Из итории телетайпов: \n использовался для перемещения каретки вниз, а \r использовался для перемещения каретки назад в левую часть страницы

2019-02-10 11:21 Клиент-серверный сокет Автоответчик + 10 40 мин.
getInputStream() - для получения данных
getOutputStream() - для отправки данных
В оси не был подключён компонент Телнет. Включается так:
Пуск - Панель управления - Программы и компоненты - Включение или отключение компонентов windows - Клиент Telnet (ставим галочку)
2019-02-09 15:51 Клиент-серверный сокет Простейший сервер + 10 43 мин.
CTRL+P - подсказки по доступным аргументам
В серверном сокете адрес не используется по ненадобности: соединяются С сервером, а не он куда-то стучится для соединения
telnet не запустился из cmd отчего-то.
2019-02-09 15:05 Клиент-серверный сокет Что такое сокет + 9 45 мин.
1. Что такое клиент-серверное приложение?
- софт для связи и совместной работы с другими компьютерами по сети по протоколу TCP\IP гарантирующим доставку пакетов от отправителя получателю.


2. Что такое серверный сокет?
- это программный метод принимающий входящие запросы на подключение к доступному порту на ожидающем соединения компьютере в роли Сервера


3. Что такое (клиентский) сокет?
- это экземпляр класса Socket способный использовать потоки output и input для соединения с серверным сокетом.


4. Зачем нужны IP, порт, сокет и чем они отличаются?
IP - Internet Protocol - нужен для упорядоченной транспортировки пакетов между чётко указанными адресами этого самого IP-протокола
Адрес IP версии 4 не превышает значений 256.256.266.256
Потери пакетов не допускаются, если есть коллизии либо утрата пакетов - это не остаётся незамеченным.

Порт - числовой код, закрепляемый за нужной программой для адресации нужного пакета данных из сети именно этой программе, а не всей коммуналке в бараке. Чтобы не кричать на всю площадь, "Иванов, к тебе милиция" спокойно набирают в домофоне порт (номер квартирки Иванова)  спокойно сообщают ему о визите органов.

Сокет - программный комплекс из метода способного коммуницировать с внешними соединениями и сетевой компоненты в виде порта для правильной адресации пересылаемых пакетов между компьютерами

2019-02-08 14:22 Слова в Сетке VIP Implementation + 11 51 мин.
Курс супер, девч0нки сочные, квас найден ))
Уследить за проверками условий
2019-02-08 13:23 Слова в Сетке ФИНАЛЬНЫЙ УРОК + 12 16 мин.
Курс познакомит программиста с классами JFrame, JPanel, Buffered Image.

Продемонстрирован способ избавиться от статика в коде.

Каждая из вложенных "матрёшек"-классов имеет свой уникальный функционал, программа задумана для демонстрации объектов программы и их наследования. Группировки инструкций объединяются в соответствии с их применяемостью.

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

Вишенкой на торте Тирамису является последний урок, где показано як зберегти результат роботи програми в графічний файл.

Курс несложный, рекомендации лучших джаверов и сишарперов прилагаются.

2019-02-08 11:09 Слова в Сетке Сохранение картинки + 15 57 мин.
сохранению результата работы программы в файл Portable Network Graphics

Метод создаёт новый файл, подключается import java.io.File;

Класс ImageIO вызывает метод write (аргументы: пикча, формат png в двойных кавычках, файл)

Следующий курс: Клиент-серверный сокет

2019-02-07 15:32 Слова в Сетке Матрица Боксиков + 14 54 мин.
/** и Enter в Эклипсе в строке над сигнатурой метода - автосоздание многострочного комментария с заготовкой пояснений о принимаемых аргументах

Боксики рисуются в двух циклах из двухмерного массива, буквы генерируются методом выделения подстроки из статической строковой константы с алфавитом

2019-02-07 11:23 Слова в Сетке Центр Бокса + 15 1 час. 21 мин.
порядок исполнения инструкций имеет значение

Отрисовку квадратиков реализовали через четыре линии g.drawLine()

Затем через ctrl + 7 закомментировали эти игры с линиями оптом

Определение ширины шрифта сделали через g.getFontMetrics().stringWidth(letter); - передавая в эту функцию букву леттер выясняем габариты

Высота проще - гетхайт работает без передачи буквы в эту функцию





разобраться с координатами линий.  Глаза боялись на 5 баллов )
2019-02-06 14:32 Слова в Сетке Своя Картинка + 14 39 мин.
создали 4 матрёшку Picture, перенесли туда отрисовку текста и фона.

Рисуем с помощью BufferedImage

2019-02-06 13:44 Слова в Сетке Буква на Панели + 13 3 час. 47 мин.
dimention - неправильно
dimension - правильно

@Override - для проверки кода компилятором на возможные ошибки

@Override указывает на переписывание метода из базового класса

@Override покажет ошибку, если было упущено указание о наследовании класса от базового и тем самым не была соблюдена цепь передачи функционала базового класса к исполняемой инструкции

2019-02-05 16:45 Слова в Сетке Кот Фрейма + 10 20 мин.
вместо создания экземпляра фрейма в классе Program вынесли создание и параметризацию фрейма в отдельный класс Frame наследуемый от JFrame

В конструкторе этого класса создали и установили параметры фрейма

2019-02-05 15:51 Слова в Сетке Объектная Матрёшка + 7 3 час. 55 мин.
Frame неудобен для отрисовки графики из-за панели заголовка, перекрывающей полосы сверху

Panel лишена этого неудобства - сверху обязательная полоса заголовка отсутствует, рисуем по всей площади

Избавляются от статика простым созданием экземпляра статического класса

Последний столбец по вертикали - есть слово CREW (команда, экипаж)

2019-02-05 11:50 JD. Коллекции LIST - Одинаковые кошки + 8 1 час. 1 мин.
оборудовав класс Cat методом строкового типа, возвращающим name, можно наслаждаться выводом не хеш котика, а уже его имени

instanceof - проверка является ли объект экземпляром класса

2019-02-04 16:33 JD. Коллекции LIST - Множество + 9 50 мин.
поскольку интерфейс Множество (Set<E>) наследник интерфейса Collection<E>, то методы Collection<E> доступны в Set<E>

Во Множество нельзя добавлять идентичные элементы более одного раза (дубликаты ИСКЛЮЧЕНЫ! - удобство)

Множество полезно, если стоит задача узнать количество уникальных элементов

Идентификация элементов во Множестве выполняется по хеш-коду. Если он совпадает, элемент помещается в ссылку(overflow entries) на второй и более элемент под этим хеш-кодом

2019-02-04 15:33 JD. Коллекции LIST - ArrayList против LinkedList + 14 3 час. 56 мин.
ArrayList - массив элементов с доступом по индексу

LinkedList - элементы идут друг за другом (перескочить через элемент запрещено, перебор по порядку)

LinkedList работает ГОРАЗДО быстрее ArrayLista при добавлении элемента в нулевую или любую другую позицию

ArrayList эффективнее при поиске элемента по его индексу

2019-02-04 11:31 JD. Коллекции LIST - Типа коллекция + 9 2 час. 24 мин.
для хранения двух типов данных в строго типизированном списке пользуются дополнительным классом

ArrayList описывается как коллекция объектов этого класса
Если видишь такое:

No enclosing instance of type Program is accessible. Must qualify the allocation with an enclosing instance of type Program (e.g. x.new A() where x is an instance of Program).

... значит ты, как и я затолкал класс Fruit ВНУТРЬ класса Program
Вынеси класс за пределы класса Program  и будет тебе счастье )
2019-02-03 12:40 Дневник успеха 2019-02-03 : Тот ничего не сделал, кто ничего не начал. + 6 10 мин.
За эту неделю:

+ Я проверил 376 отчётов у 68 формулистов. Сколько появляется, столько и проверяю. Если в теме не соображаю - просто плюсую, если есть опилки в голове - спрошу по теме или порадуюсь гармонии цветов (как у цветовых дел Мастера из ЛНР, к примеру) или почешу репу над изысками С++ у Chip, да много всякого любопытного выкладывают.

+ Я написал 28 сообщений 15 формулистам общим объёмом 10 килобукв. Занятно, когда что новое узнаешь. Терра инкогнита завсегда манит )

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

+ Я решил 9 задач(легкие уже из головы, посложнее - с ментором):
    1 => «Целые задачи / Площадь» на 100%
    2 => «Условный оператор / Сумма или произведение» на 100%
    3 => «Условный оператор / Сумма положительных» на 100%
    4 => «For-to-чки / Сто квадратов» на 100%
    5 => «For-to-чки / Отрицательные» на 100%
    6 => «For-to-чки / Улыбки» на 100%
    7 => «Простые массивы / Единичный массив» на 100%
    8 => «Олимпиада / Случайная задача» на 100%
    9 => «010. Условия / Возрастание» на 100%

+ Я выполнил 20 видеоуроков(мотоцикл "Ява" дрын-дын-дын-дын!):
    1 => «JA. Классные пакеты / CLASS2 - Напиток Наследника» за 42 мин.
    2 => «JA. Классные пакеты / CLASS2 - Песец Членистоногий» за 53 мин.
    3 => «JB. Шахматные классы / CHESS - Классные фигуры» за 27 мин.
    4 => «JB. Шахматные классы / CHESS - Координаты фигур» за 18 мин.
    5 => «JB. Шахматные классы / CHESS - Фигурное катание» за 35 мин.
    6 => «JB. Шахматные классы / CHESS - Перебор фигур» за 44 мин.
    7 => «JB. Шахматные классы / CHESS - Чудеса Абстракционизма» за 23 мин.
    8 => «JB. Шахматные классы / CHESS - Шахматный конструктор» за 1 час. 19 мин.
    9 => «JC. Явные графоциклы / FOR2D - Линия и Круг » за 1 час. 55 мин.
    10 => «JC. Явные графоциклы / FOR2D - Солнечный круг» за 37 мин.
    11 => «JC. Явные графоциклы / FOR2D - Рисование по координатам» за 3 час. 51 мин.
    12 => «JC. Явные графоциклы / FOR2D - Цикловата» за 30 мин.
    13 => «JC. Явные графоциклы / FOR2D - Вертикали и Горизонтали» за 1 час. 24 мин.
    14 => «JC. Явные графоциклы / FOR2D - Разноцветные лучи» за 41 мин.
    15 => «JC. Явные графоциклы / FOR2D - Синусоида» за 1 час. 17 мин.
    16 => «JC. Явные графоциклы / FOR2D - Тройные фары» за 1 час. 45 мин.
    17 => «JC. Явные графоциклы / FOR2D - Вложенный цикл» за 43 мин.
    18 => «JC. Явные графоциклы / FOR2D - Квадратная радуга» за 16 мин.
    19 => «JC. Явные графоциклы / FOR2D - Тройной цикл» за 23 мин.
    20 => «JD. Коллекции / LIST - Просто коллекция» за 2 час. 16 мин.

− Я не собрал ни одного Мегахеша, зато отремонтировал-таки сам с женой(помогала прокачивать) сцепление у немецкого ахалтекинца Хорьх А6 Quattro Avant, прекратившего переключать передачи 30 декабря 2018 года. ГЦС был куплен за 500 рублей на разборке. Бэу, но оригинал. Поглядим насколько его хватит. Тормозная жидкость литр 300 рублей, и месяц по выходным в гараже. Пока нашел, пока прикрутил под педальками (пришлось впервые сиденье снимать), пока прокачивали впервые систему сцепления. Вчера выехал - едет.

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

2019-02-03 12:27 JD. Коллекции LIST - Просто коллекция + 7 2 час. 16 мин.
Java работает с тремя видами коллекций: СПИСОК (ArrayList), МНОЖЕСТВО, ОЧЕРЕДЬ
СПИСОК (ArrayList) - массив с изменяемым размером динамически(размер не фиксирован), элемент массива хранит в себе ссылку на объект, тип данных в списке объектов допустим разный.

Размер ArrayList при инициализации = 10 объектов (от нуля до девятого индекса)

Увеличивается ArrayList путем создания нового ArrayList кратностью "старый ArrayList умножить на 1,5"

ArrayList способен хранить лишь ЭКЗЕМПЛЯРЫ ОБЪЕКТОВ, этим и объясняется необходимость конвертации data type в object


2019-02-03 10:08 JC. Явные графоциклы FOR2D - Тройной цикл + 8 23 мин.
метод void java.awt.Graphics2D.setPaint (Paint paint)

Устанавливает атрибут Paint для контекста Graphics2D.
Вызов этого метода с нулевым объектом Paint не оказывает никакого влияния на текущий атрибут Paint этого Graphics2D.
Параметры:
paint - объект Paint, который будет использоваться для генерации цвета в процессе рендеринга, или null

2019-02-02 20:28 JC. Явные графоциклы FOR2D - Квадратная радуга + 9 16 мин.
начал почитывать выпадающие документации на функции, оказывается полезная информация залегает не так глубоко:
функция java.awt.Color.Color (int r, int g, int b, int a)
@ConstructorProperties (value = {"red", "green", "blue", "alpha"})
@ConstructorProperties (значение = { "красный", "зеленый", "синий", "альфа"})
Цвет (int r,
          int g,
          int b,
          int a)
Создает цвет sRGB с указанными значениями красного, зеленого, синего и альфа в диапазоне (0 - 255).
Параметры:
r - красный компонент
g - зеленый компонент
b - синий компонент
a - альфа-компонент

2019-02-02 20:05 JC. Явные графоциклы FOR2D - Вложенный цикл + 10 43 мин.
void java.awt.Graphics2D.drawString (String str, int x, int y)
Метод публичный абстрактный void drawString (String str,  int x,  Int y)

Визуализирует текст указанной строки, используя текущее состояние атрибута текста в контексте Graphics2D.

Базовая линия первого символа находится в позиции (x, y) в пространстве пользователя.

Применяемые атрибуты рендеринга включают в себя атрибуты Clip, Transform, Paint, Font и Composite.

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

Параметры:
str - строка для визуализации
x -координата x, где должна быть отображена строка
y -координата y, где должна быть отображена строка

2019-02-01 15:08 JC. Явные графоциклы FOR2D - Тройные фары + 8 1 час. 45 мин.
drawRect рисует прямоугольники  принимая  аргументами
"х" левого верхнего угла, "у" левого верхнего угла, ширину и высоту

drawOval рисует окружность вписанную в прямоугольник с аргументами
"х, у" левого верхнего угла,                              "х, у" правого нижнего угла
Организовать аккуратные штабеля оцилиндровки для транзакции в Чехословакию )
2019-02-01 12:03 JC. Явные графоциклы FOR2D - Синусоида + 14 1 час. 17 мин.
тригонометрия прекрасна

2019-01-31 13:45 JC. Явные графоциклы FOR2D - Разноцветные лучи + 13 41 мин.
азъ буки въдi
Причесывание разума почуял в момент адаптации заготовок циклов под ТЗ.
00---Ш0
|    X    |
0В---ШВ

Легенда:
0 - ноль
В - высота
Ш - ширина
|, -, Х сие есть ничего не значащие символы приведенные для псевдографики изображения палитры

2019-01-31 11:36 JC. Явные графоциклы FOR2D - Вертикали и Горизонтали + 12 1 час. 24 мин.
в методы рисования Draw прежде передавался аргумент Graphics g
После вынесения получения размеров BOARD и создания 2d-графики в переопределяемый метод paintComponent, аргумент Graphics g в метод Draw передавать стало не нужно.
serialVersionUID - защита от ошибки при десериализации
Сериализируемый класс  объявляет НОМЕР ВЕРСИИ как поле с именем serialVersionUID с типом long, конечным (final) и статическим.
2019-01-30 14:58 JC. Явные графоциклы FOR2D - Цикловата + 10 30 мин.
последовательно без перерыва делать уроки легче - в памяти не вытерлось сделанное в прошлом уроке.
Выбираем в череде строк изменяющийся параметр, вместо него ставим переменную цикла, правим шаг, и вуаля!
Всегда бы так легко)

2019-01-30 11:12 JC. Явные графоциклы FOR2D - Рисование по координатам + 8 3 час. 51 мин.
Начало линии(координата по горизонтали х, координата по вертикали у), окончание линии(координата по горизонтали х, координата по вертикали у).
При указании точных координат возможны неожиданности при масштабировании фрейма

2019-01-29 16:43 JC. Явные графоциклы FOR2D - Солнечный круг + 7 37 мин.
логическое умножение "И" && в условии рисует окружности не позволяя им разрываться с выходом за пределы палитры BOARD

условие логического сложения "ИЛИ" || даёт возможность выхода за пределы палитры по оси абсцисс или по оси ординат, в зависимости от фрейма

Для получения наглядности пришлось в условии применить половины ширины и половины высоты, набрав условие цикла, как в фото к уроку, различия рисования не получил

2019-01-29 11:40 JC. Явные графоциклы FOR2D - Линия и Круг + 11 1 час. 55 мин.
без строчки jframe.add(new Board()); на экран выводится пустой фрейм с заголовком и правильными размерами

библиотека для рисования awt - abstract window toolkit

JFrame выводит на экран форму в виде одного лишь заголовка(если не заданы её размеры)

Board кладется поверх JFrame, как палитра кладется на удобную поверхность

стандартный метод paintComponent из состава класса Panel отвечает за отрисовку нужных фигур на борде (в случае многооконности - восстанавливает нарисованное, после перекрытия другими окнами)

paintComponent в качестве аргумента получает на входе графику

blue.brighter(); - когда надо поярче
blue.darker(); - когда надо потемнее

овал рисуется вписанным в прямоугольник с указанием верха справа и низа слева

2019-01-29 09:18 JB. Шахматные классы CHESS - Шахматный конструктор + 11 1 час. 19 мин.
конструктор - аз есмь метод для создания нового объекта(ЭКЗЕМПЛЯРА КЛАССА), одноименный с названием класса(ДЛЯ УДОБСТВА ЕГО НАХОЖДЕНИЯ В КОДЕ) и не имеющий возвращаемого значения (ВОЗВРАЩАЕТСЯ НОВЫЙ ЭКЗЕМПЛЯР, СВЕРХ ЭТОГО НЕ НАТОЛКАЕШЬ)

this.x = x; эквивалентно записи "ВЗЯТЬ ЗНАЧЕНИЕ ИКС ИЗ АРГУМЕНТОВ КОНСТРУКТОРА И ЗАПИХАТЬ ЭТО ЗНАЧЕНИЕ В ОДНОИМЕННУЮ ПЕРЕМЕННУЮ В ЭТОМ САМОМ КЛАССЕ"

На первой иллюстрации (хвала Эклипсу) я поместил каретку на this.x, автоматически была подсвечена переменная, соответствующая инициализация int x
Удобно для поиска и осознания!

super (x, y);  - первой строкой в конструкторе класса-наследника вызывается конструктор фигуры в суперклассе

2019-01-28 17:10 JB. Шахматные классы CHESS - Чудеса Абстракционизма + 9 23 мин.
процедурный метод - проверять пешки при каждом ходе с помощью метода
boolean isWhite;

ООП метод - не городить проверки пешек на цвет, а создать вообще разные классы для белых и для черных пешек.

НЕ ЗАБЫВАЙ - создал абстрактный метод в классе - делай абстрактным и сам класс!!

2019-01-28 15:51 JB. Шахматные классы CHESS - Перебор фигур + 9 44 мин.
создали список фигур с помощью нового объекта ArrayList

организовали перемещение фигур циклом для ArrayList

в режиме отладки Step Into (F5) - продолжить со входом в функции

2019-01-28 14:51 JB. Шахматные классы CHESS - Фигурное катание + 11 35 мин.
абстрактный метод в базовом классе подразумевает его обязательное определение в классе-наследнике

Если в классе Вы создали хоть один абстрактный метод - будьте любезны абстрактным объявить и класс, где появился абстрактный метод

в описании абстрактного метода воздержитесь от использования фигурных скобок - они не нужны

после названия абстрактного МЕТОДА и круглых скобок ставьте смело точку с запятой

Полиморфизм чудит так:
класс-наследник может запускать методы суперкласса, но если этот же самый метод переопределяется в самом классе-наследнике - запустится уже метод из класса-наследника

И Обратно - удалили в наследнике метод, который есть и в суперклассе - при обращении к методу, отработает уже тот что в суперклассе (ведь переопределения в наследничке нетути)

2019-01-28 14:14 JB. Шахматные классы CHESS - Координаты фигур + 10 18 мин.
rook(ладья) стоит 5 пешек
knight(конь)стоит 3 пешки
bishop(слон)стоит 3 пешки
queen(ферзь)стоит 9 пешек
король бесценен )

повторяющиеся поля конфигурации положения фигуры можно вынести в класс Config к примеру

2019-01-28 13:30 JB. Шахматные классы CHESS - Классные фигуры + 13 27 мин.
rook == ладья, тура
knight == конь, лошадь
bishop == слон
queen == ферзь, королева
king == король
pawn == пешка

Взаимосвязь классов - одна и та же клетка не может одновременно быть занятой, более чем одной фигурой

Методы потребуются для создания правил их перемещения


2019-01-28 11:24 JA. Классные пакеты CLASS2 - Песец Членистоногий + 11 53 мин.
у абстрактного класса нельзя создать объект

Если нужен объект класса - не далай этот класс абстрактным

И наоборот )

2019-01-28 09:13 JA. Классные пакеты CLASS2 - Напиток Наследника + 15 42 мин.
объявление класса абстрактным предполагает запрет создания экземпляров этого класса

В отличие от интерфейса, абстрактный класс МОЖЕТ иметь методы или свойства

2019-01-27 13:09 Дневник успеха 2019-01-27 : Хочешь жить - умей вертеться! + 9 6 мин.
За эту неделю:

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

+ Я написал 31 сообщение 14 формулистам общим объёмом 18 килобукв

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

+ Я решил 11 задач:
    1 => «Строки / ToLower/Upper» на 100%
    2 => «Строки / Trim/Start/End» на 100%
    3 => «Лирика / Классики» на 100%
    4 => «Геометрия / Длина отрезка» на 100%
    5 => «Условный оператор / Меньше, равно, больше» на 100%
    6 => «For-to-чки / Тройка» на 100%
    7 => «For-to-чки / Степень» на 100%
    8 => «Олимпиада / Случайная задача» на 100%
    9 => «010. Условия / Модуль» на 100%
    10 => «010. Условия / Сумма положительных» на 100%
    11 => «010. Условия / Минимальное расстояние» на 100%

+ Я выполнил 24 видеоурока:
    1 => «Весёлая семейка Web-Мастера / HTML» за 29 мин.
    2 => «Python3: математика / Погружение в python3» за 1 час. 7 мин.
    3 => «Python3: математика / Математические операции в python3» за 15 мин.
    4 => «Python3: математика / Число - на составные части» за 31 мин.
    5 => «Python3: математика / Рефакторинг - ввод и функция» за 17 мин.
    6 => «Python3: математика / Обработка исключений - немного теории» за 1 час. 6 мин.
    7 => «Начало здесь / День №6. Обучательное тестирование» за 11 мин.
    8 => «J9. Массивы / ARRAY - Макси в Мини» за 2 час. 41 мин.
    9 => «JA. Классные пакеты / CLASS - Кошка и Собака» за 34 мин.
    10 => «JA. Классные пакеты / CLASS - Каждой тваре по файлу» за 53 мин.
    11 => «JA. Классные пакеты / CLASS - Кошкин дом» за 25 мин.
    12 => «JA. Классные пакеты / CLASS - Пакеты для зверей» за 33 мин.
    13 => «JA. Классные пакеты / CLASS - Красная книга» за 47 мин.
    14 => «JA. Классные пакеты / CLASS - Зоопарк» за 1 час. 9 мин.
    15 => «JA. Классные пакеты / CLASS - Звериное наследство» за 55 мин.
    16 => «JA. Классные пакеты / CLASS - Три заветных слова» за 59 мин.
    17 => «JA. Классные пакеты / CLASS - Общий голос» за 14 мин.
    18 => «JA. Классные пакеты / CLASS - Модификаторы доступа» за 29 мин.
    19 => «JA. Классные пакеты / CLASS - Подготовка к зачёту - Вспомним дроби» за 23 мин.
    20 => «JA. Классные пакеты / CLASS - Зачётная задача № 1» за 1 час. 41 мин.
    21 => «JA. Классные пакеты / CLASS - Зачётная задача № 2» за 1 день 21 час. 22 мин.
    22 => «JA. Классные пакеты / CLASS - VIP - Крутятся пластинки» за 45 мин.
    23 => «JA. Классные пакеты / CLASS2 - Человекостудент» за 31 мин.
    24 => «JA. Классные пакеты / CLASS2 - Европейская Прибалтика» за 56 мин.
Java курс в четверг взметнулся ввысь по экспоненте сложности и потребовал включения форсажа в мыслительной деятельности. Поскольку к этому добавился аврал на худосочной работе, график был сорван и 5 байт улетели в неизвестном направлении. Надеюсь в тёплые края, пусть хоть они погреются.
Простые задачи из консоли решаются даже самостоятельно, что делать с прочими - режим повторюшки наше всё - пока неясно.
Следующую неделю предполагаю посвятить продолжению барахтаний в сосуде с Java-молоком в надежде взбить содержимое в масло и увидеть свет, выбравшись со дна кувшина )
Всем удачи в интеллектуальном росте!

2019-01-27 13:01 JA. Классные пакеты CLASS2 - Европейская Прибалтика + 12 56 мин.
суперкласс указывается после ключевого слова extends

Ключевой класс должен быть доступным и не иметь модификатора final

Поля или методы суперкласса не могут отсутствовать в классе-потомке

Наследуются все поля и методы, даже те, что объявлены с модификатором видимости private
Рассматривал карту Балтии, оказывается Латвия соседствует с островом Готланд, остров Буян из сказок, если не путаю. «Вальдемар Аттердаг собирает дань c жителей Висбю» Карла Густава Хелльквиста - прекрасное полотно позапрошлого столетия. Не так давно по историческим меркам.
2019-01-27 11:55 JA. Классные пакеты CLASS2 - Человекостудент + 11 31 мин.
создавая классы внутри класса, делай внутренние классы статическими
Если класс помечен как final, то  данный класс не может быть унаследован другим классом.

2019-01-26 15:44 JA. Классные пакеты CLASS - VIP - Крутятся пластинки + 15 45 мин.
System.in.read(); - в этом месте программа ожидает нажатия клавиши ENTER
Закрытие проигрываемого файла здесь в коде не автоматизировано, надо потрудиться, чтобы файл закрылся и проигрывание перешло к следующему.

2019-01-26 14:24 JA. Классные пакеты CLASS - Зачётная задача № 2 + 15 1 день 21 час. 22 мин.
разрывы между некоторыми уроками требуют возврата для переосмысления.
Решив служить дверьми не хлопай,
Бранишь запой - тони в трудах.
Нельзя одной и той же жопой
Сидеть на разных поездах.
Понимания сути классового наследования мало, нужны и знания о подробностях синтаксиса написания инструкций.
Пришлось вооружиться тихой кухней и двумя ноутами, пересмотром уроков и поиском формулировок в отчетах курсантов.
Урок этот не из тех, что делается на коленке. А кто сделает его на коленке - перед тем снимаю шляпу.

2019-01-25 14:08 Весёлая семейка Web-Мастера HTML + 14 29 мин.
атрибут тега <input>, определяющий вид элемента — type.
type определит элементы формы:
текстовое поле (text),

поле с паролем (password),

переключатель (radio),

флажок (checkbox),

скрытое поле (hidden),

кнопка (button),

кнопка для отправки формы (submit),

кнопка для очистки формы (reset),

поле для отправки файла (file),

кнопка с изображением (image)

2019-01-25 10:34 Python3: математика Обработка исключений - немного теории + 17 1 час. 6 мин.
привычно except Exception as ex: - обработка ошибок с помещением значения ошибки в переменную (в данном случае с именем ex

finally: - после двоеточия инструкции выполнить в любом случае

2019-01-24 17:24 Начало здесь День №6. Обучательное тестирование + 11 11 мин.
сложно соображать в режиме ошпаренной кошки. А как Вы справляетесь с такими днями?
ЗЫ За четвергом обязательно приходит пятница.

2019-01-23 17:20 Python3: математика Рефакторинг - ввод и функция + 14 17 мин.
def - объявление функции

После объявления функции ставится двоеточие

вместо фигурных скобок применяется 4 пробела или 1 табуляция

2019-01-23 17:01 Python3: математика Число - на составные части + 14 31 мин.
// - целочисленное деление. Не перепутать бы!

2019-01-23 16:26 Python3: математика Математические операции в python3 + 14 15 мин.
в отличие от привычных языков, Python деление нацело выполняет двумя //

Одинарный знак деления / здесь дает результат нецелочисленного деления
Непривычно.

2019-01-23 16:01 Python3: математика Погружение в python3 + 13 1 час. 7 мин.
погуглил про Монти Пайтон, слышал это словосочетание, но что это, в курсе не был

ЯП Puthon назван в честь группы комиков. Начало интригующее

Дистрибутив python-3.7.2-amd64.exe весит менее 25 Мегабайт

При инсталляции Валерий Владимирович не стал добавлять Python в свои переменные среды. Видимо не нужно

2019-01-23 14:46 JA. Классные пакеты CLASS - Зачётная задача № 1 + 13 1 час. 41 мин.
класс без методов - это структура (есть лишь поля(переменные)

Структура, в которую добавили методы (функции) - это уже класс

Конструктор == функция, которая не имеет результата и вызывается при создании объекта (экземпляра класса)

КОНСТРУКТОР ИМЕНУЕТСЯ АНАЛОГИЧНО ИМЕНИ КЛАССА

Отличительная особенность конструктора - ни void, int, string - никаких типов конструктор не возвращает, оттого и в его заголовке это не найти. Если нашел - это не конструктор

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

Переменные, как штампики Trodat, одному объекту напечатают одну дату, другому объекту (поменяв значение) шлёпнут другую дату к примеру.

А конструктор и организует штемпелевание создаваемого объекта одними и теми же переменными, но с разными значениями в них, соответственно кому какие нужны.

Дошло, зачем этот конструктор нужен


2019-01-23 11:57 JA. Классные пакеты CLASS - Подготовка к зачёту - Вспомним дроби + 15 23 мин.
нужны как минимум 2 переменные для числителя, 2 переменные для знаменателя
Метод сложения(положительных и отрицательных переменных), метод умножения (деление сводится к умножению перевернутых дробей)
Пришлось воспользоваться методичкой, 26 лет после школы пролетело как корова слизала )
2019-01-23 11:25 JA. Классные пакеты CLASS - Модификаторы доступа + 15 29 мин.
private - частный (закрытый доступ)

protected - защищённый (доступ ограничен)
К редактированию значений имеют доступ классы-наследники

public - публичный (открытый доступ)

Классы-наследники автоматически получают все ресурсы (с теми же модификаторами доступа) Суперкласса КРОМЕ PRIVATE

Если модификатор не указан явно, то автоматом присваивается package

package дает область видимости внутри пакета(файла)

2019-01-22 16:29 JA. Классные пакеты CLASS - Общий голос + 15 14 мин.
прикрутив наследование к своим неким классам, можно создать общий класс, которые определяет характеристики, общие для набора связанных элементов

подкласс - это специализированная версия суперкласса, которая наследует все члены суперкласса и добавляет свои собственные

2019-01-22 16:09 JA. Классные пакеты CLASS - Три заветных слова + 14 59 мин.
Наследование прикручивает классу-потомку весь функционал Суперкласса (за исключением конструкторов)

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

Конструктор == функция (или метод) с названием как у класса. Конструктор не возвращает никакого значения.
Конструктор нужен для инициализации нового объекта.

В конструкторе вы вольны в фигурных скобках присваивать полям(переменным) всякие значения, относящиеся к конструируемому объекту (в уроке собаке присваивается способ общения тявкать, а кисе способ коммуницировать с миром посредством мявка)

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

abstract class Thing {} - экземпляр такого класса НЕ МОЖЕТ БЫТЬ СОЗДАН!

abstract void SomeThing (); - абстрактная функция без определения

2019-01-22 14:45 JA. Классные пакеты CLASS - Звериное наследство + 14 55 мин.
класс-наследник имеет в кармане от класса-родителя все поля и методы, КРОМЕ КОНСТРУКТОРОВ

Однако, поля и методы, помеченные "private" недоступны

Наследник имеет право добавлять свои поля и методы, переопределять  методы в Суперклассе

У наследничка может быть лишь ОДИН Cуперкласс

Никаких Фигаро тут, Фигаро там с двумя и более кандидатами на Суперклассы

2019-01-22 11:34 JA. Классные пакеты CLASS - Зоопарк + 15 1 час. 9 мин.
импорты подпакетов(вложенных папок) указывай через точку
вспомнить строку создания jar-архива
jar cfe Zoo.jar Zoo Zoo.class animal/*.class bird/poultry/*.class bird/prey/*.class fish/*.class
2019-01-21 16:31 JA. Классные пакеты CLASS - Красная книга + 14 47 мин.
jar архив содержит в себе те же классы и пакеты нашего проекта, лишь оформленные в единый файл архива.
Открывается архиватором для просмотра без проблем.
Видел это в кнопочных мобильниках, закачивая игры в былые годы.

JAR-файл == это Java-архив (Java ARchive).  ZIP-архив с кодом на языке Java.

Если JAR исполняемый, он содержит файл MANIFEST.MF в каталоге META-INF, где указан главный класс программы (метод main)

cfe - create file executable



2019-01-21 15:29 JA. Классные пакеты CLASS - Пакеты для зверей + 14 33 мин.
библиотека является набором файлов с классами

Директива package должна находиться в первой незакоментированной строке файла.

Пакет(package) == библиотечный модуль, содержит группу классов, объединённых в одном пространстве имён

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

вот так:
import животинка.Кот_обормот
import животинка.Пёс_барбос

Код ниже таких "импортов (подключений классов)" может смело работать с содержимым пса и кота, они смогут мяучить и лаять по Вашей команде

2019-01-21 14:45 JA. Классные пакеты CLASS - Кошкин дом + 11 25 мин.
при компиляции класса, дополнительно компилируются сторонние классы, упомянутые в коде компилируемого файла

Инструкции по вызову действия имеют вид ИДЕНТИФИКАТОР_ЭКЗЕМПЛЯРА.(ТОЧКА) ИМЯ_МЕТОДА(КРУГЛЫЕ СКОБКИ);точка с запятой в конце
кратко:
bobik.voice ();

2019-01-21 14:08 JA. Классные пакеты CLASS - Каждой тваре по файлу + 12 53 мин.
Напутал с голосовыми сообщениями, возвращаемыми животинками, первый раз откомпилировал с мурявкающими и кисами и собакенами.
Исправил, чтобы собака говорила собачьим голосом, сохранил, откомпилировал Dog.java

Предполагал, что после этого надо перекомпилировать и класс с точкой входа (Animals.java - > Animal.class)
но перед этим попробовал запустить неперекомпилированный Animal.class

Оказалось, обновление кода подхватилось и без перекомпиляции Animal.java

Достаточно было ребилда Dog.java

dir /b *.class - содержимое директории с фильтром на расширение файлов

2019-01-21 11:39 JA. Классные пакеты CLASS - Кошка и Собака + 13 34 мин.
В рамках одного файла допустимо создавать один, и более одного класс(ов)

Родительский класс имеет доступ к дочерним классам и методам внутри них

Каждый класс при компиляции создаёт свой собственный файл байт-кода с расширением .class
A family of mice were surprised by a big cat.
Father Mouse jumped and said, "Bow-wow!"
The cat run away.
"What was that, Father?" asked Baby Mouse.
"Well, son, that's why it's important to learn a second language."
2019-01-21 10:57 J9. Массивы ARRAY - Макси в Мини + 14 2 час. 41 мин.
Для обмена значениями двух переменных применяется временная третья переменная. Её роль - буфер хранения на время перезаписи значений обмениваемых переменных.

Masyvo dydis - Размер массива
masyvo elementas - массив элементов
Maximalus ir minimalus elementai pasikeiciamos vietomis - Максимальный и минимальный элементы меняются местами
2019-01-20 12:14 Дневник успеха 2019-01-20 : Уменье и труд все перетрут. + 19 6 мин.
За эту неделю:

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

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

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

+ Я решил 40 задач:
    1 => «Семантика / Привет, Мир!» на 100%
    2 => «Семантика / Калькулятор» на 100%
    3 => «Семантика / Считалка» на 100%
    4 => «Семантика / Дядюшка Эхо» на 100%
    5 => «Семантика / Дедушка Эхо» на 100%
    6 => «Семантика / Китайская стена» на 100%
    7 => «Целые числа / Максима» на 100%
    8 => «Целые числа / Чтение» на 100%
    9 => «Целые числа / Два числа» на 100%
    10 => «Целые числа / Деление» на 100%
    11 => «Целые числа / Пять чисел» на 100%
    12 => «Целые числа / Пирамида» на 100%
    13 => «Целые числа / Отзыв» на 100%
    14 => «Строки / Length» на 100%
    15 => «Строки / CompareTo» на 100%
    16 => «Строки / Copy» на 100%
    17 => «Строки / Split» на 100%
    18 => «Строки / Contains» на 100%
    19 => «Условный оператор / Максимум» на 100%
    20 => «Олимпиада / Случайная задача» на 100%
    21 => «LOOP - Циклы / Пятизначные числа» на 100%
    22 => «Методы / Степень» на 100%
    23 => «000. Строки / Эхо» на 100%
    24 => «000. Строки / Длина» на 100%
    25 => «000. Строки / Слова» на 100%
    26 => «000. Строки / Сравнение» на 100%
    27 => «000. Строки / Подстрока» на 100%
    28 => «000. Строки / Длинное слово» на 80%
    29 => «000. Строки / Новое слово» на 100%
    30 => «000. Строки / Пробелы» на 100%
    31 => «001. Числа / Чтение» на 100%
    32 => «001. Числа / Цифробайты» на 100%
    33 => «001. Числа / Границы» на 100%
    34 => «001. Числа / Операции» на 60%
    35 => «001. Числа / Формат» на 100%
    36 => «001. Числа / Инкремент» на 100%
    37 => «001. Числа / Логика» на 100%
    38 => «001. Числа / Сдвиг» на 100%
    39 => «010. Условия / Максимум» на 100%
    40 => «010. Условия / Три числа» на 100%

+ Я выполнил 17 видеоуроков:
    1 => «J7. Экзамен / EGZ - Подготовка к зачёту» за 1 час. 0 мин.
    2 => «J7. Экзамен / EGZ - Шаблон решения» за 41 мин.
    3 => «J7. Экзамен / EGZ - Зачётная задача - Максима» за 1 час. 6 мин.
    4 => «J7. Экзамен / EGZ - Зачётная задача - Евро» за 2 час. 38 мин.
    5 => «J7. Экзамен / EGZ - Зачётная задача - Треугольник» за 2 час. 10 мин.
    6 => «J8. Циклопы / LOOP - Мужской / женский цикл» за 2 час. 23 мин.
    7 => «J8. Циклопы / LOOP - Пока четыре цикла» за 27 мин.
    8 => «J8. Циклопы / LOOP - Блок-схема цикла FOR» за 49 мин.
    9 => «J8. Циклопы / LOOP - Три части Forа» за 28 мин.
    10 => «J8. Циклопы / LOOP - Сумма и Произведение» за 2 час. 14 мин.
    11 => «J8. Циклопы / LOOP - Вся коллекция циклов» за 4 час. 19 мин.
    12 => «J8. Циклопы / LOOP - Цикл for» за 1 час. 51 мин.
    13 => «J8. Циклопы / LOOP - Счастливые билеты» за 52 мин.
    14 => «J8. Циклопы / LOOP - Цикл for/each» за 2 час. 44 мин.
    15 => «J8. Циклопы / LOOP - Развёртка цикла» за 55 мин.
    16 => «J9. Массивы / ARRAY - Целый массив» за 12 мин.
    17 => «J9. Массивы / ARRAY - Максима Массива» за 18 мин.

− Я не собрал ни одного Мегахеша :o(
За эту неделю как пробка вылетел из десятки, наблюдаю за переходящим на сверхзвук Славой, и его форсажем в решении консольных задач. Снимаю шляпу перед такой трудоспособностью.
Консольные задачи, действительно, архиполезны для понимания сути происходящего под капотом у программного обеспечения. Роботу Шарпу, как и забытой Роботике Джаве должны стоять памятники за пользу, принесенную в освоении просторов программирования. Но до этого дожить бы ))
Следующую неделю хотелось бы посвятить продолжению освоения раздела Джава, чтобы оседлать впоследствии не только этот язык, как родной, но и сесть в седло мотоцикла Jawa, и пазгать по Кировской области с ветерком!
Всем удачи на воде и на суше! Катайтесь, не ломайтесь, приобретайте правильные навыки.

2019-01-20 12:06 J9. Массивы ARRAY - Максима Массива + 15 18 мин.
Массив == именованное множество переменных одного типа.

Переменная в массиве == элемент массива.

Найти определённый элемент в массиве можно зная имя массива + целое значение(индекс)

Индекс == позиция конкретного элемента относительно начала массива
Прикрутить главный цилиндр сцепления под педалями на место.
2019-01-20 11:44 J8. Циклопы LOOP - Развёртка цикла + 15 55 мин.
цикл замедляет работу программы, развертка цикла до простых инструкций даёт прирост скорости выполнения кода.

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

Прирост производительности при условии задействованной переменной, обрабатываемой в цикле, получается в два-три раза.

При компиляции кода из второй иллюстрации так и не дождался окончания выполнения. Хотя ошибок не увидел и компиляцию выполнил успешно.

2019-01-19 22:15 J9. Массивы ARRAY - Целый массив + 13 12 мин.
Массив представляет набор однотипных значений. Объявление массива похоже на объявление обычной переменной.

2019-01-19 22:00 J8. Циклопы LOOP - Цикл for/each + 14 2 час. 44 мин.
Alt + Enter добавит импорты

Набрал - не работает. Думал версия jdk не подходит. Вспомнил, про альтЭнтер, щёлк и все взлетело!


2019-01-18 14:07 J8. Циклопы LOOP - Счастливые билеты + 14 52 мин.
Циклы можно вкладывать один в другой. При этом число повторов наружного и вложенных циклов умножается. Если внешний должен выполняться 5 раз и внутренний – 5, всего цикл будет выполнен 25 раз.

2019-01-18 11:39 J8. Циклопы LOOP - Цикл for + 11 1 час. 51 мин.
ctrl + F2 остановка исполнения программы в IntelliJ IDEA

Цикл for применяй когда известно начальное и конечное значение переменой цикла

Самый любопытный пример - когда стало возможно проскочить окончание цикла for(int i = 1; i != 10; i+= 2)

2019-01-17 14:42 J8. Циклопы LOOP - Вся коллекция циклов + 15 4 час. 19 мин.
java циклы и грабли

for(;;); - бесконечный цикл

while(true); - бесконечный цикл мальчиков

do
while(true); - бесконечный цикл девочек

break; - прекращение выполнения ЦИКЛА

continue; - прекращение выполнения инструкций цикла и возврат к его началу

return; - выход ИЗ ЦИКЛА и ИЗ ТЕКУЩЕГО МЕТОДА!

for(int x : arr) - перебрать все элементы массива arr[] с присваиванием их переменной int x (доступно c пятой версии Java)

Если в цикле ОДИН оператор - фигурные скобки необязательны. Следующий оператор уже не относится к циклу, если нет объединения скобками. Два раза прокалывался на этой фишке при тестировании в
http://java.meritcampus.com/core-java-questions/If-else-condition--with-multiple-statements

2019-01-17 10:15 J8. Циклопы LOOP - Сумма и Произведение + 12 2 час. 14 мин.
начальное значение при нахождении суммы = 0
начальное значение при нахождении произведения = 1
простые вещи, но не задумывался

Описав переменную ВНУТРИ цикла, ЗА его пределами не используешь. Бди!

2019-01-16 16:57 J8. Циклопы LOOP - Три части Forа + 11 28 мин.
каждую часть параметризации цикла for можно реализовать за пределами скобок
Нашел, как снимать скриншот, не убив процесс в DOS - надо окно с выполнением процесса сделать неактивным, тогда процесс не прекратится.
Снял кино со своего старичка - любой лишний процесс явно замедляет выполнение - на цикле было наглядно заметно.

2019-01-16 15:25 J8. Циклопы LOOP - Блок-схема цикла FOR + 10 49 мин.
for(;;) - бесконечный цикл (работоспособен)

int i; - инициализация переменной цикла
i > 10; - проверка условия цикла
i++ - изменение переменной цикла (пример)

ВАЖНО! Если переменной, инициализированной в цикле for нужно воспользоваться вне цикла (за фигурными скобками) - ИНИЦИАЛИЗИРУЙ её до цикла.
!!!(правило видимости переменных в границах фигурных скобок)

Бди! Если сдуру поставить точку с запятой после заголовка цикла (после скобок) - телом цикла станет эта самая точка с запятой

Если внутри цикла for указан лишь один оператор - фигурные скобки необязательны
Добиться компилируемого кода в бесконечном цикле (вторая иллюстрация)
2019-01-16 14:05 J8. Циклопы LOOP - Пока четыре цикла + 10 27 мин.
Ошибка в Loop2
Инициализация number нулем, в цикле не больше десяти выводится сначала инициализированная переменная, а затем она инкрементируется.
Но выводится-то со значением 0 (ноль), что противоречит ТЗ.
Варианты решения - инициализировать сразу единицей, или инкремент выполнять до выведения (++ не после переменной, а ДО неё).

2019-01-16 11:07 J8. Циклопы LOOP - Мужской / женский цикл + 16 2 час. 23 мин.
Мужик while сначала думает, потом делает
Дамский дувайлик сначала сделает, потом может быть подумает

Массивы нумеруются с нуля, не забывать учитывать

Внутри фигурных скобок указать изменение параметра (j++)

При неуказании изменения параметра и истинности условия получаем БЕСКОНЕЧНЫЙ цикл

Если проверка условия (while или do-while) результирует ЛОЖЬ - мужик не выполнится ни разу, дама пустит к себе ОДИН раз

return осуществляет выход из метода (функции), а не лишь из текущего блока инструкций

break выходит из цикла

do{}while(false); позволяет внедрять проверку условия if с выходом по break из фигурных скобок

2019-01-15 15:48 J7. Экзамен EGZ - Зачётная задача - Треугольник + 7 2 час. 10 мин.
ошибки при компиляции были по причине невнимательности к мелочам, забыл указать расширение файла при компиляции, забыл импортировать java.util.*

2019-01-15 13:18 J7. Экзамен EGZ - Зачётная задача - Евро + 12 2 час. 38 мин.
много кода - непривычно.
Для гринхорна много, понимаю, для профессионала - это была бы лишь разминка.

2019-01-14 16:23 J7. Экзамен EGZ - Зачётная задача - Максима + 14 1 час. 6 мин.
Кириллицу в консоли не победил пока, пришлось от локализации отказаться в угоду латинице.

2019-01-14 14:08 J7. Экзамен EGZ - Шаблон решения + 11 41 мин.
отлил для себя в граните: область видимости переменных ограничена {фигурными скобками}.

FAIL 1. Переменные нужно описать в начале программы.
Описал и инициировал как раз внутри фигурных скобок блока if

DONE 2. Ввод данных разделён на две части.
Если аргументов два - работает блок if. Иначе парсим.

DONE 3. ...начальные данные из строкового массива args.    ...аргументы в целое число -> Integer.parseInt().

DONE 4. ...данные с клавиатуры, сканер, приглашение.
FAIL 4a - сканер позволяет получать целые числа без дополнительной конвертации. Я применил парсинг с конвертацией, что было ненужно.

DONE 5. Вывод на экран полученных данных.

FAIL 6. Продублировал вычисление.

DONE 7. Вывод результата на экран.

DONE 8.  ...глобальный блок try/catch добавил.

2019-01-14 11:34 J7. Экзамен EGZ - Подготовка к зачёту + 11 1 час. 0 мин.
тернарный оператор годится лишь для двух вариантов. Если вариантов больше двух - он неприменим.

2019-01-13 11:51 Дневник успеха 2019-01-13 : Ученый без дела, как туча без дождя. + 12 6 мин.
За эту неделю:

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

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

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

+ Я решил 9 задач:
    1 => «Строки / ToLower/Upper» на 100%
    2 => «Лирика / Коты» на 100%
    3 => «Типы данных / Длина окружности» на 100%
    4 => «Логика / Плюс и минус» на 100%
    5 => «Логика / Сдвиг вправо» на 100%
    6 => «Логика / Сдвиг влево» на 100%
    7 => «Условный оператор / Максимум» на 100%
    8 => «Календарь / Два миллиона минут» на 100%
    9 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 17 видеоуроков:
    1 => «J3. Ввод / READ - Любая формула» за 25 мин.
    2 => «J3. Ввод / READ - Буферный чтец» за 33 мин.
    3 => «J5. Операции / OPER - Операции 1» за 36 мин.
    4 => «J5. Операции / OPER - Операции 2» за 30 мин.
    5 => «J5. Операции / OPER - Операции 3» за 53 мин.
    6 => «J5. Операции / OPER - Операции 4» за 55 мин.
    7 => «J5. Операции / OPER - Операции 5-6» за 7 час. 40 мин.
    8 => «J5. Операции / OPER - Операции 7-11» за 24 мин.
    9 => «J5. Операции / OPER - Операции 12-13» за 37 мин.
    10 => «J6. Условия / IF - Минимакс» за 1 час. 5 мин.
    11 => «J6. Условия / IF - Тетрамакс» за 18 мин.
    12 => «J6. Условия / IF - Альтернатива» за 1 час. 1 мин.
    13 => «J6. Условия / IF - Безальтернативное условие» за 1 час. 15 мин.
    14 => «J6. Условия / IF - Барный фейс-контроль» за 1 час. 42 мин.
    15 => «J6. Условия / IF - Quiz» за 57 мин.
    16 => «J6. Условия / IF - Оператор выбора» за 36 мин.
    17 => «J6. Условия / IF - Времена года» за 29 мин.

− Я не собрал ни одного Мегахеша :o(
Неделя прошла в лоне курсов по разделу Java, сходство с C# облегчает знакомство с темой. Уроки короткие и понятные. IDE попробовал разные: NetBeans, Eclipse, IntelliJ IDEA.
NetBeans привлёк меньше остальных.
Продолжу постижение ЯП Java, курсы по нему такие вкусные и разнообразные, а главное - понятные и я их успешно перевариваю.
Вчера купил своему ахалтекинцу Рабочий Цилиндр Сцепления (оригинальный), пойду поменяю. После третьего эпизода провалившейся педали сцепления, покупать неоригинальные запчасти более не заманчиво.

2019-01-13 11:43 J6. Условия IF - Времена года + 13 29 мин.
as a greenhorn I like switch\case construction

2019-01-13 11:10 J6. Условия IF - Оператор выбора + 14 36 мин.
switch может принимать для проверки условия следующие переменные
- целочисленная
- String
- enum

НЕЛЬЗЯ в проверку условия switch указать вещественную переменную (из-за её условной точности)

Сравнение идёт переменной в условии с переменной в case ИСКЛЮЧИТЕЛЬНО "переменная равно или не равно переменная" БЕЗ дополнительных операторов, меняющих значение переменной

Для каждого case после блока операторов нужен break; Иначе будет выполнен следующий case

Иначе, перечисляем требуемые case для одного и того же блока операторов

default исполняется если ни один из кейсов не совпал

2019-01-12 19:59 J6. Условия IF - Quiz + 14 57 мин.
прокололся на первом же тесте, не посмотрев внимательно, что последний else не имеет отношения к нижней строке и она является независимой от этого else инструкцией.
Стыдно )

curly braces {} - фигурные скобки

Булевские переменные можно логически складывать в проверке условия (X&&y)

(x||y) булевские с противоположными значениями дадут в результате true

Эти математические тесты показали что переменные, это действительно переменные - значение, что было у икса или игрека при инициализации забудь, после того, как к ним был применен инкремент или декремент - они уже другие! Супертесты!

А вот тут не понял отчего мне ошибку нарисовали:


What will be the output of the following program?

class DemoOnCompare {
    public static void main(String args[]) {
        int first = 10, second;
        if (first < 10)
            second = 1;
        if (first >= 10)
            second = 2;
        System.out.println("y is " + second);
    }
}

Я выбрал ответ y is 2
а он указан как неверный и правильный вот этот:
Compilation Error or Runtime Error

Что не так, кроме разве что (String args[]) разве что, неясно.
Кто видит ошибку - отзовись!

2019-01-12 18:32 J6. Условия IF - Барный фейс-контроль + 15 1 час. 42 мин.
вместо return пытался break впихнуть - не прокатило.
Пиво прекрасно, но не так как у нас им увлекаются.
"Наш квас0к бьёт в нос0к" (С.)

2019-01-11 15:59 J6. Условия IF - Безальтернативное условие + 9 1 час. 15 мин.
нашел в IDE установку размера шрифта - писать стало удобнее

2019-01-11 14:16 J6. Условия IF - Альтернатива + 10 1 час. 1 мин.
условие - это выражение, которое может быть истинным или ложным

после зарезервированного слова if пиши условие ОБЯЗАТЕЛЬНО В СКОБКАХ

В ЯП Pascal вместо else применяется слово then (немедленно вспомнилась МОСШ №3 г. Белоярский ХМАО Тюменской области, СССР, где нам преподавали предмет информатика в 1991 году и давали теорию ЯП Basic на пузатых ЭЛТ мониторах ещё советского производства, а через 5 лет я уже купил себе Pentium-75 под Windows-95 и с монитором Samsung SyncMaster 3Ne (CQB4147L) /1024x768))) Грехи прошлого имеют длинные тени. Вот ведь, помню марку первого монитора). Эвона какой клубок зарезервированное слово then размотало ))

Если после проверки условия пишется более одного оператора, то блок операторов ЗАКЛЮЧАЕТСЯ В СКОБКИ

Блок операторов отделяй от if/else табуляцией

ПОСЛЕ СКОБОК С ПРОВЕРКОЙ УСЛОВИЯ НЕ СТАВЬ ТОЧКУ С ЗАПЯТОЙ (ни за мешок печенья, ни за бочку варенья)

Допустим вариант использования if без ветки else

Вариант применения else без If - это применить логическое отрицание так if !(a>b) ... else

Тернарный оператор == укороченный эквивалент if/else (ИСКЛЮЧИТЕЛЬНО В СЛУЧАЕ ДЕЙСТВИЙ НАД ОДНОЙ И ТОЙ ЖЕ ПЕРЕМЕННОЙ В if И else)

if(...) else if (...) else if (...) - цепной условный оператор, позволяет эшелонировать проверки поэтапно

В случае добавления оператора return после блока за if, указание else нецелесообразно (дублирование функционала)

2019-01-11 11:59 J6. Условия IF - Тетрамакс + 11 18 мин.
код отрабатывает в консоли и в IntelliJ IDEA
Лишь не разобрался пока как корректно Main класс переименовать в тот же Max4. Рефактором файл Main переименовывал - ошибка компиляции даже при одноименном класса. В чём ещё затык пока не понял. Если в IDE вернуть в Main наименование - компилируется без проблем.

2019-01-11 10:56 J6. Условия IF - Минимакс + 15 1 час. 5 мин.
действительно, тернарный оператор прекрасно работает и без скобок в проверке условия по причине разного ранга операторов.
Знание == сила.
НХНЧ!

2019-01-10 17:36 J5. Операции OPER - Операции 12-13 + 10 37 мин.
12 ранг операторов (предпоследний перед присвоением)
?: - тернарный оператор
    a > b ?      a :        b
если a > b ? (то) а : (иначе) b

13 ранг оператора ПРИСВАИВАНИЕ =
Допустимо следующее присваивание:
int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z;
z = y = x = w = v = u = t = s = r = q = p = o = n = m = l = k = j = i = h = g = f = e = d = c = b = a = 418;

2019-01-10 16:47 J5. Операции OPER - Операции 7-11 + 10 24 мин.
& конъюнкция (И/AND) знак "амперсанд".

^ исключающая дизъюнкция (ЛИБО-ЛИБО/XOR) знак "циркумфлекс". Сложение по модулю 2.

| дизъюнкция (ИЛИ/OR) знак "вертикальная черта". OR

аргументы boolean

Если аргументы ДЕСЯТИЧНЫЕ - они переводятся в двоичную форму и затем ВЫПОЛНЯЮТСЯ ПОБИТОВЫЕ ДЕЙСТВИЯ

2019-01-10 15:45 J5. Операции OPER - Операции 5-6 + 11 7 час. 40 мин.
5-ый ранг операций (после инкремента/декремента, смены знака, инвертирования числа, логического отрицания, приведения типа, всех арифметических и бинарного сдвига):
ОПЕРАЦИИ СРАВНЕНИЯ

меньше <

меньше или равно <=

больше >

больше или равно >=

аргументы - целые или дробные числа (со строчными переменными не компилируется)

результат - логическое выражение (true или false)

Учитывай особенности отрицания: !(a>=b) даст в результате a<b


6-ой ранг операций

равно ==

не равно !=

НЕ ПУТАТЬ С ПРИСВОЕНИЕМ! (=)

if (0 == a) -> правило хорошего тона при написании сравнения(обратная последовательность), при забытом втором "=" не компилируется, не давая ошибке затеряться.

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

Вариант орудования вещественными числами - присваивать их константам и работать уже с константами.

При сравнении объектов или строк, проверка идёт "на один и тот же объект ссылка?" Одинаковое значение объектов не даст эквивалентности, ибо экземпляры в разных местах, а значит не равны.

2019-01-09 13:53 J5. Операции OPER - Операции 4 + 12 55 мин.
Операторы сдвига работают с целыми числами.
Преимущество в б0льшей скорости исполнения(если необходимо ускорить исполнение программы)

В Java все примитивные целочисленные типы имеют знак + или -

При сдвиге отрицательного числа старший разряд (отвечающий за знак) не меняет своего значения

сдвиг влево << двоичного числа ЭКВИВАЛЕНТЕН УМНОЖЕНИЮ НА ДВА
Сдвиг влево << смещает ВСЕ биты влево на указанное количество позиций
Самый старший бит смещается за пределы допустимого значения и теряется, а справа дописывается нуль.
У операнда типа int биты теряются, если они сдвигаются за пределы 31 позиции.
У типа long, биты теряются после сдвига за пределы 63 позиции.


СДВИГ ДВОИЧНОГО ЧИСЛА ВПРАВО >> эквивалентен делению на два
Cдвиг вправо >> смещает ВСЕ биты значения вправо на указанное количество позиций
Крайние биты при сдвиге просто теряются.

СДВИГ ВПРАВО >>> игнорирует неприкосновенность знакового бита, сдвигая и его на общих правилах

OR (|)
Результирующий бит равен 1, если бит в любом из операндов равен 1.

AND (&)
Значение бита равно 1, если биты в операндах равны 1. Иначе результат 0.

XOR (^)
Результат равен 1, если бит ТОЛЬКО В ОДНОМ из операндов равен 1. Иначе 0.

NOT (~)
(Не), ~, называемый побитовым дополнением, инвертирует все биты операнда.

2019-01-09 11:05 J5. Операции OPER - Операции 3 + 15 53 мин.
šalutinis poveikis

+ (плюс) оператор конкатенации, аналог точки в РНР, аналог concat в Pascale

ВАЖНО! Если хоть один из операндов в выражении будет строчным, ответ будет строкой и оператор "+" отработает не как сложение, а как КОНКАТЕНАЦИЯ!!!

Если в выражении есть скобки (а строчный операнд не внутри скобок) - ВНУТРЬ СКОБОК КОНКАТЕНАЦИЯ НЕ ПРОРВЁТСЯ и там плюс выполнится математически.

Смешение типов даёт занятый результат:
"" + 2.5 + 7 = "2.57"

2019-01-08 17:06 J5. Операции OPER - Операции 2 + 10 30 мин.
the operation has arguments and results.

Operations are performed in rank from 1 to 13

In order of execution:
1)
++ (increment)
- (decrement)
+ (unary plus sign change),
- (change sign unary minus),
~ (tilde invert bits for integers),
! (invert the value of the logical variable),
(type) (explicit or forced conversion to type, type conversion)

=======
2)
* (multiplication) IMPORTANT !!! (2.0 * 3 - this does not compile) if one of the operands is fractional, then

the result is fractional,
/ (integer division results in an exceptionally integer number), IMPORTANT !!! if needed

non-integer result, one of the operands must be fractional
% remainder of the division
=======
3)
+ addition (the result is real if one operand is real),
- subtraction
+ (concat)
=======
4) <<, >>, >>>
=======
5) <, <=,>, =>
=======
6) ==,! =
=======
7) &
=======
8) ^
=======
9) |
=======
10) &&
=======
11) ||
=======
12) ?:
=======
13) = (assignment)

2019-01-08 16:26 J5. Операции OPER - Операции 1 + 10 36 мин.
the operation has arguments and results.

Operations are performed in rank from 1 to 13

In order of execution:
1)
++ (increment)
- (decrement)
+ (unary plus sign change),
- (change sign unary minus),
~ (tilde invert bits for integers),
! (invert the value of the logical variable),
(type) (explicit or forced conversion to type, type conversion)

=======
2) *, /,%
=======
3) +, -, + (concat)
=======
4) <<, >>, >>>
=======
5) <, <=,>, =>
=======
6) ==,! =
=======
7) &
=======
8) ^
=======
9) |
=======
ten) &&
=======
11) ||
=======
12) ?:
=======
13) = (assignment)

2019-01-07 14:21 J3. Ввод READ - Буферный чтец + 11 33 мин.
The InputStream class represents classes that receive data from various sources:
- byte array

- string (String)

- file

- canal (pipe): data is placed at one end and retrieved from the other

- a sequence of different streams that can be combined into one stream

- other sources (eg internet connection)

2019-01-07 13:30 J3. Ввод READ - Любая формула + 8 25 мин.
link changed. Instead of the installed, these same Formulas I found as the fifth section of this link: https://www.videosharp.info/console/jawa

If the mathematical operations are familiar, the task is reduced to care when writing a sequence of operators.

First perform the actions in brackets, multiplication and division take precedence over addition and subtraction, actions from left to right.

The task made this: https://www.videosharp.info/console/task/level=1339

The system scanner reads a and x from the console, and assignment statements place the read data into memory locations (variables a and x).

Then the solution in one line using the class Math.

Output in format "%.6f%n"

2019-01-06 18:16 Дневник успеха 2019-01-06 : Какие труды, такие и плоды. + 7 3 мин.
За эту неделю:

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

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

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

+ Я решил 8 задач:
    1 => «Условный оператор / Три Максима» на 100%
    2 => «For-to-чки / Туз» на 100%
    3 => «Цифры / Крайние» на 100%
    4 => «Математика / Косинусы» на 100%
    5 => «Календарь / Сколько времени» на 100%
    6 => «Календарь / Конец месяца» на 100%
    7 => «Простые массивы / Копипаст» на 100%
    8 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 12 видеоуроков:
    1 => «J1. Запуск / START - Десять запусков» за 46 мин.
    2 => «J2. Печать / WRITE - Комментарии» за 37 мин.
    3 => «J2. Печать / WRITE - Квадратные условия» за 3 час. 13 мин.
    4 => «J2. Печать / WRITE - Окно JFrame» за 58 мин.
    5 => «J3. Ввод / READ - Консольные аргументы» за 1 час. 10 мин.
    6 => «J3. Ввод / READ - Сложение аргументов» за 28 мин.
    7 => «J3. Ввод / READ - Конкатенация аргументов» за 56 мин.
    8 => «J3. Ввод / READ - Чтение символа» за 25 мин.
    9 => «J3. Ввод / READ - Ввод трёхзначного числа» за 23 мин.
    10 => «J3. Ввод / READ - Сканер» за 26 мин.
    11 => «J3. Ввод / READ - Сканер пива» за 47 мин.
    12 => «J3. Ввод / READ - Сколько мне дней» за 1 час. 30 мин.

− Я не собрал ни одного Мегахеша :o(
Учиться, не отвлекаясь - приятно. Даже чего-то сам стал способен сваять.
На следующую неделю план занести монет и продолжить вкушать Java раздел.

2019-01-06 18:09 J3. Ввод READ - Сколько мне дней + 8 1 час. 30 мин.
I'm 15567 days old ))
The default constructor uses the time pattern and the default character format for the current localization. That is, for Russian localization, the standard patterned time is the pattern "dd.mm.yyy HH: mm".

The SimpleDateFormat constructor (String pattern) accepts a date format ().

The SimpleDateFormat constructor ("dd MMMM", myDateFormatSymbols) is similar to the previous exception, which is returned by the myDateFormatSymbols variable.

The SimpleDateFormat constructor ("dd MMMM", Locale.ENGLISH) is similar to the SimpleDateFormat constructor (String pattern), but uses the specified localization. In our case, this is the English localization Locale.ENGLISH

2019-01-06 15:27 J3. Ввод READ - Сканер пива + 9 47 мин.
lines of code are executed from top to bottom one by one.

The scanner processes the incoming information and, with the help of assignment operators, saves the input in the specified variables.

The conditional check operator IF - ELSE allows you to fork the program execution depending on the specified conditions.
https://www.youtube.com/watch?v=q0e9-ctyKaM
2019-01-05 19:38 J3. Ввод READ - Сканер + 9 26 мин.
After Viktor from Mother of russian cityes, I'll try to comment my reports in language of foggy Islands where so love to ride bikes.

java.util.Scanner reads data from the source that you specify for it (for example, from a string, from a file, from the console).

Further, it recognizes this information and processes it as needed.

There is one more method that you must necessarily pay attention - close ().

Like any object that works with I/O streams, the scanner must be closed at the end of its work in order not to consume any more resources from our computer.

Never forget the close () method!

2019-01-04 15:00 J3. Ввод READ - Ввод трёхзначного числа + 11 23 мин.
последовательно указанные операторы System.in.read (); способны читать и присваивать последовательно получаемые с консоли символы.
Использовать это надо с опаской ибо что хорошо для цифровых выражений, может привести к неожиданным результатам с буквенными.

2019-01-04 14:23 J3. Ввод READ - Чтение символа + 11 25 мин.
System.in.read() читает первый и единственный символ, вводимый пользователем.
System.out.println () возвращает прочитанный в предыдущей строке символ в кодировке ASCII

2019-01-04 13:24 J3. Ввод READ - Конкатенация аргументов + 11 56 мин.
помимо сшивания элементов в единую последовательность с помощью конкатенации (отличие от математического сложения в том, что 2+2 при конкатенации даёт не 4, а 22), разобрался наконец-таки для себя, как работает ритёрн.
При отсутствии return операторы исполняются далее построчно.
Если же в коде встречается return, то операторы после него не выполняются.
На второй иллюстрации красным выделено исполнение программы без return (строки с ним на момент компиляции не было)
Зеленым выделена работа программы с return(прервать код) в том виде, как он приведен в SubLime

2019-01-03 20:10 J3. Ввод READ - Сложение аргументов + 11 28 мин.
блок try - catch напоминает русский биллиард.
try - удачный удар, шар в лузе, продолжение серии успешных ударов. В коде - попытаемся выполнить операторы в фигурных скобках после указания "try". А вот если промазал (а в коде - возникли ошибки при выполнении операторов в фигурных скобках), то...
catch - шар в лузу не попал, отработал резиновый борт стола и шар летит отраженный от борта. В коде - будет выполнен набор операторов в фигурных скобках после указания catch.
Вот до каких аналогий новогодняя ночь-2019 довела )

2019-01-03 10:39 J3. Ввод READ - Консольные аргументы + 7 1 час. 10 мин.
прикрутил подсказку пользователю, о возможности ввести параметры с клавиатуры.

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

Бутылочное горлышко для передачи входящих данных в эту лампу Алладина и есть круглые (не фигурные!!!) скобки после названия метода.

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

Если в лампу ничего не упало на входе, лампа не прекращает своей работы, но на выходе даёт конфетку без примеси того, что могло упасть во входящие параметры.
Отака сказка получилась.

2019-01-02 20:11 J2. Печать WRITE - Окно JFrame + 16 58 мин.
1. При деактивациии строки //JFrame frame = new JFrame("Hello, Java!");
получаем неинициализированный фрейм и невозможность компиляции нижеследующего кода.

2. Деактивация строки //JLabel label = new JLabel("Welcome!",JLabel.CENTER);
аналогично возвращает ошибку компиляции (не находит инициализаци переменной label

3. Закомментированная строка //frame.add(label);//размещаем метку на форме
не создаёт проблем в компиляции и запуске программы, но выводит пустой фрейм (см. 1 иллюстрацию)

4. Отключение строки //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
приводит к вечно висящей программе, даже после закрытия фрейма (альтэксом, контрол Зэтом неоднократными повторениями в командной строке убил-таки работу программы. До таск-менеджера дело не дошло)))

5. Отключение установки размера фрейма //frame.setSize(250,100);//размеры фрейма в пикселях
выводит его по минимуму

6. Закомментированная установка видимости //frame.setVisible(true);//отображение фрейма на экране
запускает программу без ошибки, сразу закрывает программу, на экране ничего не появляется, в панели задач программа также не обнаруживается даже на миг.

убить процесс java.exe не прибегая к услугам менеджера задач при закомментированной строке //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
2019-01-02 17:40 J2. Печать WRITE - Квадратные условия + 13 3 час. 13 мин.
1. Имя файла и имя класса ПИШИ ОДИНАКОВО С ТОЧНОСТЬЮ ДО ЗНАКА!!!
2. Не делай public static void main (String[] args) приватным - не взлетит

Поиграл с sinусами - получилось фортепиано на второй иллюстрации

Попасть в лузу и не насмешить кота => https://vk.com/id343388328
2019-01-01 17:56 J2. Печать WRITE - Комментарии + 14 37 мин.
javadoc Program.java - генерирует html документ с удобочитаемым представлением комментариев в коде

start Program.html - откроет в браузере информацию по методам и комментариям, приведенным в коде через /** любой комментарий хоть в одну строку, хоть на нескольких строках */

2018-12-31 11:29 J1. Запуск START - Десять запусков + 12 46 мин.
опечаток избегать! Не компилируется - открывай заново блокнот и смотри на код. Не забывай переходить в директорию, от пропуска этого пункта также жди проблем при компиляции.
тыкать в нужные клавиши, когда кругом бегают младые мадамы и выбирают какие штаны одеть на праздник вдалеке от дома, ибо пригласили в загородный дом, а сами они городские и от водопровода с зеркалом далеко отходить себе не позволяли до сих пор ))
2018-12-30 16:10 Дневник успеха 2018-12-30 : Думай ввечеру, что делать поутру. + 10 15 мин.
За эту неделю:

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

+ Я написал 33 сообщения 12 суперформулистам общим объёмом 15 килобукванек

+ Я набрал 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», без ошибок

+ Я решил 19 задач:
    1 => «Лирика / Яблоки» на 100%
    2 => «Символы / Коды букв» на 100%
    3 => «START - Запуск / Привет, Java!» на 100%
    4 => «Алгоритмика / Регулярные выражения» на 100%
    5 => «Типы данных / Системы счисления: ввод» на 100%
    6 => «Типы данных / Формат целого числа» на 100%
    7 => «Логика / Побитовое НЕ» на 100%
    8 => «Логика / Исключающее ИЛИ» на 100%
    9 => «Логика / Сдвиг вправо» на 100%
    10 => «Логика / Мигалка» на 100%
    11 => «Условный оператор / Большая разница» на 100%
    12 => «Условный оператор / Чет / нечет» на 100%
    13 => «Условный оператор / Возрастание» на 100%
    14 => «Цифры / Ноль-ноль» на 100%
    15 => «Олимпиада / Случайная задача» на 100%
    16 => «IF - Условия / Модуль» на 100%
    17 => «Массивы / Единичный массив» на 100%
    18 => «14981 - DimanDOS / Чат-бот» на 100%
    19 => «14981 - DimanDOS / Избавление от static» на 100%

+ Я выполнил 14 видеоуроков:
    1 => «Дневник успеха / Рефлексия уходящего года» за 9 мин.
    2 => «Демо игры / С# Новым годом!» за 2 час. 5 мин.
    3 => «J1. Запуск / START - Платформа Java» за 10 час. 49 мин.
    4 => «J1. Запуск / START - Переменная окружения» за 41 мин.
    5 => «J1. Запуск / START - Запуск Java» за 45 мин.
    6 => «J4. Типы / TYPE - Целые примитивные типы» за 2 час. 9 мин.
    7 => «J4. Типы / TYPE - Вещественные примитивные типы» за 2 час. 11 мин.
    8 => «J4. Типы / TYPE - Логический и Символьный примитивные типы» за 2 час. 27 мин.
    9 => «J4. Типы / TYPE - Непримитивный тип String» за 1 час. 25 мин.
    10 => «Итератор / Итератор. Создание пустого итератора.» за 1 час. 33 мин.
    11 => «Итератор / Итератор. Перебор чисел в итераторе.» за 42 мин.
    12 => «Итератор / Итератор. Перебор простых чисел.» за 1 час. 2 мин.
    13 => «Итератор / Итератор. Зачем нужно два класса» за 2 час. 26 мин.
    14 => «Итератор / Итератор. Волшебное слово yield.» за 1 час. 2 мин.

− Я не собрал ни одного Мегахеша :o(
  Неделя была прорывной. Впервые я купил себе очки "на винтах", всем коллегам с дальнорукостью и близоглазостью смело рекомендую Polaroid 8063 C  - изделие изящное и с поликарбонатными линзами являет собой супераксессуар, позволяющий видеть мир орлиным взором.
  После массы интересных уроков и задач, я через новые очки увидел раздел JAVA, заметил в нём стартовые курсы и понял, что дом строится с фундамента в правильном котловане и решил пойти путём стартовых курсов в направлении роста индексов курсов. Благо, в разделе JAVA курсы обозначены даже цифровыми индексами, что помогает с выбором последовательности изучения.
  План на следующую неделю:
1. Ежедневная норма Видеошарповского стрелка к исполнению по максимуму
2. Раздел https://www.videosharp.info/video/techno=java к вдумчивому освоению
3. Баня
4. Лодка
5. Гармонь
6. Рыба карась
7. Фото в стёклах по просьбе Вебмистра

2018-12-30 12:08 J1. Запуск START - Запуск Java + 10 45 мин.
Программы на Java транслируются в байт-код Java, выполняемый виртуальной машиной Java (JVM), обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.
Полная независимость байт-кода от операционной системы и оборудования позволяет выполнять Java-приложения на любом устройстве, на котором есть соответствующая виртуальная машина (JVM).

2018-12-29 11:08 J1. Запуск START - Переменная окружения + 11 41 мин.
лкм == левая клавиша мыши

Переменная окружения == место где расположены исполняемые файлы jdk

For Win7 -> Панель управления -> Все элементы панели управления -> Система -> Дополнительные параметры системы -> Переменные среды -> Системные переменные -> Path -> Изменить ->>>
здесь ведите полный путь до каталога bin, где расположены исполняемые файлы jdk.

Hеправильно: «с переменными срЕдами» ("с переменными окружениями")
Правильно:     «с переменными средЫ» ("с переменными окружения").

Переменная средЫ (англ. environment variable) — текстовая переменная ОС, хранящая данные о настройках системы.

Переменные средЫ пользователя — путь до пользовательских каталогов.
Системные переменные — хранят данные о каталогах ОС и конфигурации ПК.

2018-12-28 20:20 J1. Запуск START - Платформа Java + 18 10 час. 49 мин.
Jawa - это отличный мотоцикл прошлого века
Java - ЯП на ООП

Java используется в Android

java jdk download - погуглим

jdk - Java Developement Kit - для разработчика

jre - Java RunTime Environment - виртуальная машина для запуска готовых программ

jdk в уроке использовали версии 8u60

C:\Program Files\Java\jdk1.8.0_60\ - путь к jdk по умолчанию (пригодится при установке PATH)

Любая программа на Java требует наличия класса

public static void main (String[] args) - точка входа в программу

public - открыт доступ из других классов

static - обращение к функции без создания экземпляра класса

void - метод не возвращает значений

main - имя метода

(String[] args) - параметры допустимые к передаче в этот метод (функцию) могут быть строкового типа и в массиве

javac Program.java без указания путей работать не будет

Решение 1:
избавиться от пробелов в пути к файлу:
c:\java>c:\Progra~1\java\jdk1.8.0_60\bin\javac Program.java

Решение 2:
указать путь к компилятору в двойных кавычках:
c:\java>"c:\Program Files\java\jdk1.8.0_60\bin\javac" Program.java

Результатом компиляции будет файл с расширением .class (байт-код, который можно запустить с помощью jre)

2018-12-28 16:24 Итератор Итератор. Волшебное слово yield. + 13 1 час. 2 мин.
yield (синтаксический сахар) упрощает создание класса IEnumerator

yield return  - это карданный вал между вызывающим методом и методом обрабатывающим очередной элемент последовательности помогающий продолжить исполнение метода с запросом следующего по очереди элемента.

2018-12-27 17:17 Итератор Итератор. Зачем нужно два класса + 15 2 час. 26 мин.
интерфейс IEnumerable создаёт IEnumerator

Никакого другого функционала у интерфейса IEnumerable в данном приложении нет

Класс Primes создаёт новые итераторы для предотвращения смешивания при неоднократном вызове итераторов В РАЗНЫХ  ЦИКЛАХ (УНИКАЛЬНЫХ ПЕРЕБОРАХ РАЗНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ)

2018-12-27 11:41 J4. Типы TYPE - Непримитивный тип String + 11 1 час. 25 мин.
тип String не относится к примитивным

Присваиваемое значение заключается в "двойные кавычки"

'Апострофы' применяй в JAVA для присвоения одиночных символов.
"Кавычки  " применяй в JAVA для присвоения неодиночных символов, строк текстов.

Пустая строка допускается

Допустимы экранирование спецсимволов ' " \

Переменные типа String не редактируются (не меняются, а копируются с изменениями) в месте их хранения в памяти
При редактировании переменной типа String создаётся новая копия с изменениями

Отсюда потенциальная проблема - при обработке String в цикле, множество копий больших переменных нагружают память и тормозят работу

Проблему тормозов решает класс StringBuilder, умело редактирующий string с оптимизацией расходования памяти

При использовании знака сложения текста и чисел работает конкатенация, учитывай! Скобки помогают отключить конкатенацию:
"ответ: " + 5 + 7 возвратит "ответ: 57"
"ответ: " + (5+7) возвратит "ответ: 12"

Сравнение разных переменных String С ОДИНАКОВЫМ ЗНАЧЕНИЕМ возвратит true
Сравнение разных переменных String С ОДИНАКОВЫМ ЗНАЧЕНИЕМ возвратит false ЕСЛИ ПРЕДПРИНИМАЛОСЬ РЕДАКТИРОВАНИЕ

2018-12-26 22:40 Дневник успеха Рефлексия уходящего года + 12 9 мин.
За эту неделю (хороша же неделька выдалась - 495 уроков освоил :)))

+ Я проверил с интересом 13142 отчёта у 515 формулистов.

+ Я написал более чем двумя пальцами 1143 сообщения 152 формулистам общим объёмом 450 килобукв

+ Я набрал затаив дыхание 134 текста:

+ Я решил почёсывая репу 405 задач:

+ Я выполнил с удовольствием 495 видеоуроков:

− Баланс Мегахешей: собрано 27 Mh

Цель в следующем году взять позицию Джуниора в веб, дотнет или Java - эти направления любопытны более остальных.

Наша страна переживала разные периоды жесточайшего голода в области вычислительной техники.

Не хватало машин для баз данных.

Не было машин для всемирной паутины.

Интернет, вспомните, начинался с писка диалапного модема "выключи свою пищалку, мне нужен телефон!"

Помните такое? ))) У меня первый модем был Hayes 03328-a Accura 56k External. Ностальгия-с!

Не было машин для 3D графики.

Не было той элементарной технической базы, без чего немыслимо прорывное преобразование страны.

Были только отдельные предпосылки для создания такой базы.

Надо было создать первоклассную индустрию обучения с нуля.

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

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

Другого пути для изживания голода в области информатики не было.

Так учил нас дед Магистр, и мы шли в этом деле по стопам Евгения Витольдовича.

Вычислительная техника без людей, овладевших техникой, мертва.

Вычислительная техника во главе с людьми, овладевшими техникой, может и должна дать чудеса.

Если бы на наших первоклассных заводах и фабриках, в наших ТРЦ и ИВЦ, в нашей ещё непростроенной "кремниевой долине" имелось достаточное количество кадров, способных оседлать эту технику, страна наша получила бы эффекта втрое и вчетверо больше, чем она теперь имеет.

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

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

В этом теперь главное.

А год и выдался прорывной.

Много людей занялось учёбой взамен листанию соцсетей.

И за это спасибо деду Игромистру!

2018-12-26 17:25 Итератор Итератор. Перебор простых чисел. + 11 1 час. 2 мин.
прикрутили метод поиска простых чисел.

Как работает this:

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

Если у метода или конструктора аргумент с именем совпадающим с именем какого-то поля класса целесообразен this

Если используем this как ссылку на объект, не в рамках одного метода, а для передачи в какой-то другой метод в качестве аргумента.

Ещё применение ключевого слова this — это использование его для вызова одного конструктора класса другим.

2018-12-26 14:20 J4. Типы TYPE - Логический и Символьный примитивные типы + 11 2 час. 27 мин.
тип char требует 2 байта
Тип char относится к классу Character

ASCII - ограниченный набор символов, Unicode - тотальный справочник символов

char символы пиши в 'одиночных кавычках' ('апострофах')

Внутри одиночных кавычек НЕ ДОЛЖНО БЫТЬ ПУСТО! Хотя бы пробел или другой знак препинания КРОМЕ самой одиночной кавычки(апострофа)

Если припёрло поставить внутрь апострофов апостроф в качестве знака char - тогда используй экранирование перед желаемым символом поставь обратный слэш \

Неправильно '''
Правильно  '\''

Экранирование применимо лишь к трём символам:

\'
\"
\\

\t - символ табуляции in char
\n - символ ENTER/возврат каретки С переходом на новую строку in char
\r - возврат каретки БЕЗ перехода на новую строку in char
\b - возврат каретки/переход на новую строку in char

Если видишь такую последовательность \u
значит после неё будет последовательность символов из таблицы Unicode в шестнадцатиричном представлении

Диапазон от \u0000 до \uFFFF

К примеру символу Hammer and Sickle принадлежит номер в Юникоде U+262D соответствующий HTML-коду &#9773;
================================================

Тип boolean живёт двумя значениями true или false
Требуется 1 бит, но резервируется 8 бит (1 байт)

2018-12-25 16:54 Итератор Итератор. Перебор чисел в итераторе. + 15 42 мин.
добавили ограничение итератора, упор поставили в 10000.


2018-12-25 15:31 J4. Типы TYPE - Вещественные примитивные типы + 10 2 час. 11 мин.
есть всего два типа данных, которые относят к вещественным.

Если натуральные числа возникли в процессе счёта, рациональные — из потребности оперировать частями целого, то вещественные числа предназначены для измерения непрерывных величин.

Вещественное, или действительное число (от лат. realis — действительный) — математический объект, возникший из потребности измерения геометрических и физических величин окружающего мира, а также проведения таких вычислительных операций, как извлечение корня, вычисление логарифмов, решение алгебраических уравнений, исследование поведения функций.

Для вещественных типов действует спецификация IEEE754

Знак числа (0 - положительное, 1 - отрицательное)
Порядок числа - позиция разделителя целой и дробной частей
Мантисса - значение числа

Тип float  занимает 4 байта (32 бита): 1 бит - знак, 8  бит - порядок, 23 бита - мантисса
Тип double занимает 8 байта (64 бита): 1 бит - знак, 11 бит - порядок, 52 бита - мантисса

1.35 * 10 в девятой степени == 1.35E9
2.5 * 10 в минус 6 степени  == 2.5Е-6

Допустим знак "низкое подчёркивание _" ИСКЛЮЧИТЕЛЬНО МЕЖДУ ЦИФРАМИ МАНТИССЫ

Тип указывается либо в круглых скобках перед числом, либо литерой f или d в конце числа (справа)

Java возвращает число в виде 0.001 если число больше х*10 в минус третьей степени
Числа меньше 1.1000 выводятся в виде 1Е-4

Float.Positive(Negative)Infinity - возвращается в случае нехватки памяти, выделяемой типом данных
NaN - not a number - возвращается, если результат не является числом

2018-12-24 16:13 Итератор Итератор. Создание пустого итератора. + 10 1 час. 33 мин.
итератор - метод, оператор или аксессор(get (для получения данных) и set (для записи)) для перебора коллекций объектов.
Когда требуется создать класс, содержащий объекты, перечисляемые в  foreach, то нужны интерфейсы IEnumerator и IEnumerable.

bool MoveNext(); // перемещение на одну позицию вперед в контейнере элементов
Последовательность не закончилась == true.
Последовательность закончилась == false.

object Current {get;}  // текущий элемент в контейнере

void Reset(); // перемещение в начало контейнера (сбрасывает указатель позиции)

F12 is go to definition.
Ctrl + F12 is go to declaration.

      F12 встав кареткой (курсор на нужном элементе) - перейдём к определению этого объекта.
Ctrl + F12 встав кареткой (курсор на нужном элементе) - перейдём к объявлению этого объекта.

implement - выполнять
does not implement - не фурычит (не выполняет, не реализует)

F10 → Выполнит следующую строку кода, но пропустит вызовы функций.

F11 → Выполнит один оператор за один раз, с запуском функций.

2018-12-24 11:42 J4. Типы TYPE - Целые примитивные типы + 11 2 час. 9 мин.
в Java всё является классом за исключением типов данных для ускорения работы с переменными.
Примитивные типы данных тоже могут быть выражены классами.
Имея дело с классом вы работаете не со значениями, а с ссылками на значения.
Применяя типы данных мы исключаем лишнее звено обращения по ссылкам.
Целочисленные:
byte  займёт 1 байт,
short займёт 2 байт,
int  займёт 4 байт,
long  займёт 8 байт,

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

b = (byte)s;
Хочу значение переменной s типа short присвоить переменной b которая у меня типа byte

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

При записи числа в Java внутри цифр допустим знак "низкое_подчёркивание" для удобства восприятия самого числа. На значение этого числа знак "низкое_подчёркивание" не влияет.
ЗАПРЕЩЕНО указывать знак "низкое_подчёркивание" В НАЧАЛЕ ЧИСЛА ИЛИ В КОНЦЕ ЧИСЛА.

Если в начале записи числа присутствует ноль - число записано в восьмеричной системе счисления.

0xFFFF - шестнадцатиричная запись начни с 0x...
0b0001 - двоичную запись начни с 0b...
(long)2_000_000_000_000 или
2000000000000L - тип long укажи в скобках в начале или литерой L в конце числа

2018-12-23 19:06 Дневник успеха 2018-12-23 : Живет на горке, а хлеба ни корки. + 9 13 мин.
За эту неделю:

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

+ Я написал 32 сообщения 18 формулистам общим объёмом 13 килолитер.

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

+ Я решил 29 задач:
    1 => «Семантика / Привет, Мир!» на 100%
    2 => «Семантика / Калькулятор» на 100%
    3 => «Семантика / Считалка» на 100%
    4 => «Семантика / Дядюшка Эхо» на 100%
    5 => «Семантика / Дедушка Эхо» на 100%
    6 => «Семантика / Китайская стена» на 100%
    7 => «Целые числа / Максима» на 100%
    8 => «Целые числа / Чтение» на 100%
    9 => «Целые числа / Два числа» на 100%
    10 => «Целые числа / Деление» на 100%
    11 => «Целые числа / Пять чисел» на 100%
    12 => «Целые числа / Пирамида» на 100%
    13 => «Целые числа / Отзыв» на 100%
    14 => «Строки / Length» на 100%
    15 => «Геометрия / Куб» на 100%
    16 => «Алгоритмика / Типы данных» на 100%
    17 => «Алгоритмика / Логика» на 100%
    18 => «Алгоритмика / Условный оператор» на 100%
    19 => «Алгоритмика / For-то-чки» на 100%
    20 => «Алгоритмика / Вечность» на 100%
    21 => «Алгоритмика / Строки» на 100%
    22 => «Логика / Логическое И» на 100%
    23 => «Логика / Побитовое И» на 100%
    24 => «Логика / Побитовое ИЛИ» на 100%
    25 => «Логика / Сдвиг влево» на 100%
    26 => «Условный оператор / Модуль» на 100%
    27 => «For-to-чки / Отрицательно» на 100%
    28 => «По цифрам / Числа по цифрам» на 100%
    29 => «Олимпиада / Случайная задача» на 100%

+ Я выполнил 18 видеоуроков:
    1 => «Начало здесь / День №5. Создание игровых и прикладных Программ.» за 17 мин.
    2 => «Система Git / win final» за 1 час. 34 мин.
    3 => «Система Git / ФИНАЛЬНЫЙ КУРС» за 35 мин.
    4 => «Игры на JavaScript / Угадай число» за 40 мин.
    5 => «Игры на JavaScript / Пасьянс» за 1 час. 8 мин.
    6 => «Игры на JavaScript / Очисти поле - Чекбоксы» за 8 час. 26 мин.
    7 => «Игры на JavaScript / Очисти поле - Функция хода» за 1 час. 30 мин.
    8 => «Игры на JavaScript / Сколько мне дней» за 47 мин.
    9 => «Игры на JavaScript / Гонка - Герои на канвасе» за 52 мин.
    10 => «Игры на JavaScript / Гонка - Массив боксиков» за 2 час. 42 мин.
    11 => «Игры на JavaScript / Гонка - Запуск таймера» за 42 мин.
    12 => «Игры на JavaScript / Гонка - Рулевое управление» за 1 час. 30 мин.
    13 => «Игры на JavaScript / Гонка - Быстрые рекорды» за 2 час. 59 мин.
    14 => «API поиска работы / Полная информация» за 45 мин.
    15 => «API поиска работы / ПРОМЕЖУТОЧНЫЙ ВИДЕО ОБЗОР» за 35 мин.
    16 => «API поиска работы / Переходим на профессиональный уровень» за 1 час. 10 мин.
    17 => «API поиска работы / Функционал главного меню» за 45 мин.
    18 => «API поиска работы / Функционал тестового стенда» за 50 мин.

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

Я научился на 43-ом году жизни писать правильно -тся и ться! УРА! Лучше поздно, чем никогда.
Там правило простое, грех не научиться к пенсии. А я успел.

Чтобы определить — писать глагол с -тся или -ться, спросите себя, на какой вопрос отвечает этот глагол — «что делать?» или «что делает?». Если в вопросе есть мягкий знак, значит он есть и в глаголе.

На следующей неделе хочу пройти к шведскому столу, где разложены курсы по JavaScript. На ура прошел курс Игры на JavaScript, гоночки ездили и на Windows и на RunTu, порекомендованный Валерием Владимировичем к установке на старый ноут HP Compaq 6110. Линуксовый интерфейс малознаком, но Brackets там уже поставил, время настроил, заставки и скринсейверы поотключал, тренируюсь в Мозилле ФайрЛисе.)) Гоночки поехали и там. Поставить что-то сложнее - пока неясен результат. Что встанет, что не встанет - практики маловато.

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

Так находите же свои двери! Катайтесь, не ломайтесь и приобретайте правильные вещи.
Заходите ко мне в песочницу  http://dima.pro43.ru/  и делитесь мыслями. Всем рад.

2018-12-23 18:15 API поиска работы Функционал тестового стенда + 7 50 мин.
библиотека dll подключает функционал к экранным формам (наполняет пустой муравейник жителями, способными выполнять некие действия, чем оживить пустой дом).

VS2017 позволяет это сделать через контекстное меню "Подключить ссылку"(Add -> Reference). Найдя нужную dll и подтвердив выбор, не забудь...

...Подключить в пространствах имён (namespaces) Using HHLibrary; или другую библиотеку, какая у кого используется.

2018-12-23 17:16 API поиска работы Функционал главного меню + 7 45 мин.
для открытия в WPF-приложении нового окна по событию (к примеру клик мышкой) создай новый объект и запусти его методом ___.ShowDialog() или ___.Dialog()

WPF поддерживает возможность создания модальных диалоговых окон.

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

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

Диалоговые (модальные) окна позволяют пользователю принять или отменить задачу, для которого они были показаны.

2018-12-23 13:41 API поиска работы Переходим на профессиональный уровень + 8 1 час. 10 мин.
F4 - properties of current object hotkey

Set as StartUp Project - в контекстном меню пункт, если не хочется каждый раз выбирать в выпадающем меню рядом с кнопкой Start

XAML применили для создания меню на форме приложения.
С помощью XAML описывается пользовательский интерфейс. Логика приложения управляется процедурным кодом (С#, VB, JavaScript). XAML может использоваться как для web-приложений, так и для desktop приложений.

VerticalAlignment - вертикальное выравнивание.

id указывается в XAML так -> x:Name="имя_объекта"


2018-12-23 11:54 API поиска работы ПРОМЕЖУТОЧНЫЙ ВИДЕО ОБЗОР + 9 35 мин.
созданное приложение способно распарсить(считать и передать в приложение для дальнейшего применения) JSON (JavaScript Object Notation — текстовый формат обмена данными, основанный на JavaScript) в динамический объект, выводимый в экранную форму с возможностью вызова веб-страницы с опубликованной вакансией.
Преимущество приложения - без необходимости поиска в традиционном браузере находить определенную информацию в соответствии с задаваемыми критериями поиска.
Браузер - не единственный способ поиска в сети.
Всё API работает по протоколу HTTPS.
Авторизация осуществляется по протоколу OAuth2.
Все данные доступны только в формате JSON.
Базовый URL — https://api.hh.ru/
Возможны запросы к данным любого сайта группы компаний HeadHunter
Даты форматируются в соответствии с ISO 8601: YYYY-MM-DDThh:mm:ss±hhmm.
В уроках Валерия нравится способность автора найти решение проблемы в прямом эфире с привлечением справочной информации из сети.
Я бы прикрутил к приложению автоматический парсинг с периодом раз в сутки и алертом на email или в СМС по указанной вакансии.
Продолжению курсов Валерия Владимировича всегда рад, веб-дизайн выглядит красочно и нравится больше других направлений.
В идеях вертится функционал, позволяющий отследить рост курсантов не на основе количества часов, а в разрезе лет обучения (работал в такой-то сфере == жил на 20 тугриков в месяц, после года обучения нашел новую должность в такой-то сфере == живу на 30 тугриков в месяц).
Для того, чтобы заставить себя учиться, я расстался с ремонтом банкоматов за 30 тугриков в месяц и на почте служу ямщиком за 20, но учусь, чего себе не позволял в банковские времена.
Идей масса, надо учить матчасть дальше.

2018-12-22 12:23 Начало здесь День №5. Создание игровых и прикладных Программ. + 18 17 мин.
посмотрел на сентябрьского Игромистра. Постройнел в сравнении с молодыми годами.
Отчёты все проверил до донышка, комментарий наваял здесь: https://www.videosharp.info/progress/messages
Видеоурок сделал по "API поиска работы" здесь: https://www.videosharp.info/17947/checking/hhbot1=2295
За сегодня прилетело 40 байт.
JavaScript порадовал гоночками, есть желание продолжить: https://www.youtube.com/watch?v=sD6iqmlbuJw
Елочки не забываем домой доставить, товарищи! Мои уже наряжают )))

2018-12-22 12:01 API поиска работы Полная информация + 13 45 мин.
принудительное преобразование типов(если невозможно неявное приведение) указывай в круглых скобках перед объектом, требующим привЕдения(преобразования).

Process.Start() - запускает новое окно браузера с адресом сайта из скобок

Exception ex - перехватывает ошибки исполнения программы и позволяет вывести пользователю результат перехвата для ознакомления.

2018-12-21 14:34 Игры на JavaScript Гонка - Быстрые рекорды + 11 2 час. 59 мин.
если переменная создана глобальной, передавать её в функцию нет необходимости

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

Если в функции(методе) не нужны никакие параметры -  скобки пишем просто пустыми.

Игр не касался с 2000 года, когда гамил в WarCraft и ГЭГ. С тех давних пор к компьютерным играм охладел, а здесь даже порулил с удовольствием мышемашинкой.
Автору спасибо за суперкурс!

2018-12-21 10:52 Игры на JavaScript Гонка - Рулевое управление + 11 1 час. 30 мин.
clearInterval (идентификатор или название того интервала, который надо остановить) - остановка работы таймера

document.addEventListener ('mousemove', имя_функции_которая_будет_отрабатывать_маусмув, false); - добавление обработчика события

canvas.getBoundingClientRect () - функция определения координат от канваса(холста), а не от браузера

2018-12-20 16:27 Игры на JavaScript Гонка - Запуск таймера + 10 42 мин.
setInterval(имя_функции_которую_треба_запускать, промежуток_в_миллисекундах_через_который_делать_перезапуск_той_функции);
Math.random == число от нуля до единицы

box.splice (j, 1); == объект_бокс ТЧК удалить_методом_splice (с объекта j, сколько удалить_1_в примере);

Если после второй запятой в скобках splice дописать в одинарных кавычках новый элемент, он будет добавлен взамен удалённого.

Как же приятно печатать, глядя на моник. Спасибо, Евгений Витольдович, за те марафоны!

2018-12-20 13:56 Игры на JavaScript Гонка - Массив боксиков + 9 2 час. 42 мин.
глобальные переменные - те, что объявлены в классе, за пределами методов.

box.push([x,y]); - записать координаты икс и игрек в двухмерный массив бокс

CTRL+SHIFT+J - вызов окна отладчика в браузере Google Chrome для ознакомления с возможными ошибками

Координата х=0 у=0 в канвасе расположена в левом верхнем углу (ЗАПОМНИТЬ)

context.clearRect (0, 0, canvas.width, canvas.height); - метод контекста для очистки с экрана элемента "прямоугольник"

2018-12-19 16:59 Игры на JavaScript Гонка - Герои на канвасе + 9 52 мин.
<canvas> — это HTML элемент, использующийся для рисования графики JavaScript.
JS прекрасен. Ошибка в один знак == нерабочий код страницы. Никаких подсказок, кроме режима отладки (F12), там есть подробности.
А страница просто не отобразится.

2018-12-19 15:10 Игры на JavaScript Сколько мне дней + 8 47 мин.
F12 в Windows или Ctrl+Shift+I в Пингвине - вызов отладки.
2018-12-19
1976-5-25
My age are 15549days.
Зайти на сайт из Firefox на старой машине.
2018-12-19 11:52 Игры на JavaScript Очисти поле - Функция хода + 13 1 час. 30 мин.
напоминает игру "Жизнь" в упрощённом варианте.
Принципы организации работы методов, циклов, переменных и операторов напоминает и C# и Java.

2018-12-18 17:15 Игры на JavaScript Очисти поле - Чекбоксы + 11 8 час. 26 мин.
document.getElementById("b2019") - найти в строках кода некий элемент, помеченный идентификатором id="b2019" и выполнить с ним некие действия.
==============
Вызов функции пиши ниже строк, создающих объекты, используемые в этой функции. Иначе не взлетит.

То, что выглядело как лёгкая прогулка у моря, получилось поиском багов на ровном месте.
Набирал в Саблайме - после прикручивания цикла работать отказывалось. Пробовал в Пингвине - тоже не работало.
Взлетело лишь после третьего набора операторов в Brackets.
В чем root of all evil пока не понял. Найду - отпишу здесь же.
UPD 20181218171100(мск) Поставил с ГитХаба Brackets 12 версии на RunTu - сначала тоже капризы - пока скобки не поставил в онклике при вызове метода level1()
- работать тоже отказывался скрипт. Увидел-таки, добавил требуемые скобки - и оно взлетело!
Валерию снова спасибо за подсказку какой релиз Пингвина взять. Ковыряю помалу. Летать ноут не стал после Винды ХР, но и отторжения Пингвин не вызывает.
2018-12-17 16:13 Система Git ФИНАЛЬНЫЙ КУРС + 17 35 мин.
Я знаю карате, джиу-джитсу, кун-фу и ещё много разных страшных слов. Х)
Здесь же история другая. Придя с просторов Интернета к Евгению на Видеошарп, через пол-года ежедневных занятий, ты начинаешь печатать глядя на монитор, а не бойко бацая по клавиатуре, чтоб все слышали, какой ты скорописец двумя пальчиками. Переспав с AJAX начинаешь ориентироваться в веб-программировании, поиграв в кубики и кружочки начинаешь понимать основы ООП. Много курсов есть, даже прикрутили к ним указатели об их уровне сложности, так что стенать о том, что как-то тут всё по-детски не получается. У меня, по крайней мере. Для тех, кому Демо-игры выглядят простоватыми, есть мега-курс "Шахматы on-line" https://www.videosharp.info/video/chess3
Уж там-то про лёгкость не особо слышно ))
Курс Git Hub начал не особо представляя тему, практически с чистого листа. С Линуксом не знаком близко, контроль версий изредка делал "в лоб" архивируя каталог с проектом, при необходимости.
К финалу курса проникся лёгкостью командной строки Гита в сравнении с аналогичным вариантом снятия контрольных точек с помощью файловых менеджеров операционной системы.
Git это круто и удобно, если ваяешь что-то сложнее "Привет, мира".
Проблем с пониманием не возникало, задание, выполняемое в командной строке, затем повторно демонстрировалось и с помощью файл-менеджера Total Commander либо окон Windows Explorer.
Осталось дело за запоминанием и применением в работе.
Курс отличный, прошел легко и с удовольствием.
Автору спасибо за грамотно подобранный материал!
Появился интерес поставить на старый ноут Пингвина. Debian вроде бы Celeron-1,4GHz должен потянуть...
2018-12-17 14:35 Игры на JavaScript Пасьянс + 11 1 час. 8 мин.
Переменные можно объявлять в любом месте.
Ключевое слово var задает переменную в текущей области видимости.
Если его не написать, то переменная попадет в глобальный объект window.
Возможны неожиданные пересечения с другими переменными окна, конфликты и глюки.
Заданная через var переменная видна везде в области видимости, даже до оператора var.

2018-12-17 11:56 Игры на JavaScript Угадай число + 11 40 мин.
13 попыток.
JavaScript создавался для оживления web-страниц, добавления интерактивности, действий и отклика на активность пользователя.
Программы на этом языке называются скриптами.
В браузере они подключаются напрямую к HTML.
Загружается сайт –  выполняется script.
Программы на JavaScript – обычный текст скрипта, встроенный в HTML загружаемого сайта.

2018-12-17 10:58 Система Git win final + 11 1 час. 34 мин.
Чтобы хранить директорию (каталог) под контролем версий Вам надо создать репозиторий. С Гитом Вы инициализируете репозиторий в корневой папке одного проекта.
Используйте для этого команду git init
После инициализации репозитория создаётся скрытая подпапка .git для хранения метаданных о работе Системы Контроля Версий.
==================

Working Directory содержит последние скачанные из репозитория версии вместе со всеми изменениями, которые ещё предстоит закоммитить (отправить архивом в репозиторий на Вашем локальном диске). В процессе работы над кодом Вашего проекта все изменения делаются именно в Working Directory.
Вы можете просматривать какие именно файлы подвергались изменениям после крайнего коммита в репозиторий.
Для этого применяйте команду git status
Ответ на эту команду называется "статус рабочего дерева"(working tree status)
Все файлы являются "неотслеживаемыми" Гитом, пока не задано обратное.
==================

Чтобы сохранить (или закоммитить) файлы в репозиторий Гита, Вам сначала придётся добавить их в Staging Area. Есть три пространства: рабочая директория, сцена и собственно репозиторий.
Пользователи перемещают, иначе "продвигают", изменения из рабочего каталога(Working Directory) в промежуточную область(Staging Area), прежде чем вносить их в репозиторий.
Один из ключевых подходов в Git заключается в том, что коммиты являются целенаправленными, небольшими и частыми. Промежуточная область(Staging Area) помогает поддерживать этот рабочий процесс, позволяя продвигать только определенные файлы за раз вместо всех изменений в вашем рабочем каталоге.
git add имя_файла_с_расширением - этой командой добавляем файл в промежуточную область(Staging Area).
==================

git status покажет состояние и рабочего каталога(Working Directory), и промежуточную область(Staging Area) в любой момент.
==================

Как только файл был добавлен в промежуточную область, его необходимо зафиксировать в хранилище.
Команда git commit -m 'commit message' помещает файлы из промежуточной области(Staging Area) в репозиторий и записывает время\дату, автора и комментарий.
При этой операции будут зафиксированы только изменения, добавленные в область подготовки(Staging Area), любые файлы в рабочем каталоге(Working Directory), которые не были подготовлены, не будут включены.
==================

Иногда есть определенные файлы или каталоги, которые вы никогда не захотите отслеживать, например, локальная конфигурация разработки. Чтобы игнорировать эти файлы, вы создаете файл .gitignore в корне хранилища.

Файл .gitignore позволяет вам определять символы подстановки для файлов, которые вы хотите игнорировать, например * .tmp будет игнорировать все файлы с расширением .tmp.

Любые файлы, соответствующие определенному шаблону, не будут отображаться в выводе состояния git и будут игнорироваться при попытке выполнить команду git add.

2018-12-16 19:54 Дневник успеха 2018-12-16 : Без дела слабеет сила. + 9 4 мин.
За эту неделю:

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

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

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

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

+ Я выполнил 15 видеоуроков:
    1 => «Bootstrap-4 первые шаги / Отзывы - стили» за 38 мин.
    2 => «Bootstrap-4 первые шаги / Отзывы: карты - в сетку» за 41 мин.
    3 => «Bootstrap-4 первые шаги / Обратная связь - создание формы» за 50 мин.
    4 => «Bootstrap-4 первые шаги / Обратная связь - стильная форма» за 1 час. 23 мин.
    5 => «Bootstrap-4 первые шаги / JS-навигация» за 4 час. 17 мин.
    6 => «Пошаговый JavaScript / Home : Знакомство» за 8 мин.
    7 => «Система Git / hippo git fetch pull» за 1 час. 18 мин.
    8 => «Система Git / git branch lion» за 2 час. 58 мин.
    9 => «Система Git / git branch giraffe» за 48 мин.
    10 => «Система Git / git merge giraffe lion» за 47 мин.
    11 => «Система Git / win merge» за 46 мин.
    12 => «Система Git / pingwin» за 1 час. 13 мин.
    13 => «Система Git / remote merge» за 1 час. 58 мин.
    14 => «Игры на JavaScript / Запуск JavaScripta» за 27 мин.
    15 => «Теория ООП / Интерфейс. VIP. Тяжёлая дружба кругов и квадратов.» за 1 час. 46 мин.

− Я не собрал ни одного Мегахеша, не поднял самолёта в небо и тучи не развёл руками. Но я учусь! :o(
Курсы подтягиваются всё вкуснее и понятнее, может дело в том, что полгода проведенные на проекте чему-то научили?
Добил-таки ООП с кружочками и боксиками. Кружочки были прекрасны.
Лифлет карты в песочнице поднял лишь сегодня - получилось, не отображались прежде потому, что не применял токена, типа апи-ключа Яндекса или Гугла.
На следующей неделе с удовольствием продолжу в направлении JS и прикручу-таки на свою игрушку http://dima.pro43.ru/ карты от LeafLet.

2018-12-16 11:39 Игры на JavaScript Запуск JavaScripta + 8 27 мин.
CTRL+SHIFT+J == F12
В JavaScript при создании цикла не надо указывать тип переменной цикла - укажешь - будет ошибка. "Остановитесь!"(С.)
Мой ГуглХром F12 отрабатывает, а предложенную комбинацию клавиш есть отказался - на экране было пусто. Пища для размышлений.
2018-12-15 20:31 Теория ООП Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. + 9 1 час. 46 мин.
интерфейс - класс, методы которого созданы абстрактными и могут быть реализованы в классе, наследующем этот интерфейс
15 минута видео (в чате):
Neverwinter@All: о, госпади... люди, зачем мы это попросили??
Тот вебинар, судя по комментариям, продолжался уже 6 (ШЕСТОЙ) час!
Это какая-то Спарта от сишарпа...
2018-12-14 16:32 Пошаговый JavaScript Home + 12 8 мин.
лидирующую позицию JavaScript занял в связи с развитием AJAX, поскольку браузер стал превалирующей системой доставки приложений.

2018-12-14 13:15 Система Git remote merge + 11 1 час. 58 мин.
git push из подветки вернёт ошибку о том, что текущая ветка (current branch) не является веткой для загрузки (upstream branch).

git push --set-upstream origin pingwin решает эту проблему и позволяет пуш для текущей подветки с установкой этой подветки "веткой для загрузки (upstream branch)".

Если в удалённом репозитории на ГитХабе есть изменения в коде, которых нет в локальном репозитории, то при попытке git push будет возвращена ошибка об этом с предложением сначала сделать pull и сначала забрать себе те новые строки кода для синхронизации работы с удалёнными коллегами, а затем уже пушить свои вирши на ГитХаб.

git merge --abort - отменяет начатое неудачно слияние.

git branch -a -покажет все ветки.

Выход из неудачного слияния - правка конфликтного файла, адэдэ, гиткоммит минус мЭ с адекватным комментарием о коммите.

2018-12-14 11:04 Система Git pingwin + 11 1 час. 13 мин.
git checkout -- Zoo.java -  вернуть изменения относительно неверно созданного файла.

Создавая новые сущности не ленись создавать новые ветки (git branch new_pingwin)

git checkout XXX - команда переключения на ХХХ ветку и команда синхронизации с Индексом этой же ветки, если уже на ней.
Осознать, что неделя пролетела.
2018-12-13 16:06 Bootstrap-4 первые шаги JS-навигация + 9 4 час. 17 мин.
Когда возникает забота оживить нарисованные на сайте кнопки и меню рисуют  код javascript в отдельном файле или сразу здесь.
Если файл со скриптом внешний его надо подключить в той строке от которой он может пригодиться и ниже.
Подключение делаем так:
<script src="JS/main.js" type="text/javascript" ><script>

Если видишь в скриптовом коде знак $ - это не про зеленую бумагу, это обозначение jQuery равносильное если бы так и написали jQuery.
Коротко: $ == jQuery

$(document).ready(function()) - обрабатывается document когда он ready выполнить function(c параметрами в скобках ()-скобки пустые, если параметров нет, но скобки вынь да положь!)

{В фигурных скобках - описание функции}

navbar-fixed-top - при прокрутке лендинга исчезнет вверх
            fixed-top - при прокрутке лендинга  НЕ исчезнет

решетка для jQuery - это идентификатор id

scrollTop - функция прокрутки вверх

2018-12-12 16:25 Bootstrap-4 первые шаги Обратная связь - стильная форма + 9 1 час. 23 мин.
HTML-формы == элементы управления для сбора информации от посетителей веб-сайта.

Состоят из текстовых полей, кнопок, списков. Технически формы передают данные от пользователя Серверу.

Для получения и обработки данных форм используются PHP, Perl.

До появления HTML5 веб-формы представляли собой набор нескольких элементов
<input type="text">,
<input type="password">, завершающихся кнопкой <input type="submit">.

Для стилизации форм в разных браузерах приходилось попотеть.
Формы требовали применения JavaScript для проверки введенных данных, были лишены специфических типов полей ввода для указания повседневной информации типа дат, адресов электронной почты и URL-адресов.

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

2018-12-12 14:23 Bootstrap-4 первые шаги Обратная связь - создание формы + 12 50 мин.
placeholder - псевдоэлемент, с помощью которого задаётся стилевое оформление подсказывающего текста. Можно использовать свойства для изменения вида текста, задать шрифт и цвет.
Пример: placeholder { color: #ffd595; }


2018-12-12 10:24 Bootstrap-4 первые шаги Отзывы: карты - в сетку + 15 41 мин.
Для одного элемента допустимо перечислять классы через пробел, указывая более одного.

margin - внешний отступ
padding - внутренний отступ

fonts.google.com - склад шрифтов от Гугла

Делай раз: в style.css повыше пропиши импорт шрифта с адресом его складирования на сайте Гугла.
Делай два: ниже в идентификаторе пропиши его в фонт-фЭмили в одинарные кавычки.
Делай три: наслаждайся красотой, спасшей твой сайт.
Жить в невежестве до этого урока не зная разницы между margin и padding. Но я справился.
2018-12-11 16:42 Система Git win merge + 11 46 мин.
cd .. - выйти на каталог выше. Не использовал, бил всегда сразу в корень ))
Компилировать в Stage Area можно лишь в лабораторных условиях видеоурока.
Синхронизация средствами ОС нагляднее, но ближе к ручной работе.
Синхронизация средствами Git автоматизированнее.

2018-12-11 14:08 Система Git git merge giraffe lion + 11 47 мин.
git merge master - объединить текущую ветку(на неё указывает стрелка HEAD -> ...) с веткой master

Already up to date - объединять нечего, всё ноздря в ноздрю.

Fast-forward - объединение простым добавлением недостающих строк в целевой ветке.

Merge conflict in - указание файла, где есть конфликты для объединения веток.

Если прозевал при коммите "минус эм" - вывалится окно текстового редактора vi (Первая версия была написана Биллом Джоем в 1976 году) с сообщением о Ваших деяниях и правильных путях выхода из сложившейся ситуации.
Выход из vi - двоеточие + икс + Энтер
Узнал новое для себя.
1976 год прошлого двадцатого века...
В то время наиболее распространённым был редактор ed.
Поскольку он был довольно сложным для «простого смертного», George Coulouris разработал редактор em (editor for mortals — редактор для смертных).
Билл Джой модифицировал редактор em и назвал его en, а позднее — он получил название ex, на котором и основан vi.
Редактор писался для терминала ADM-3A, имевшего ограниченную клавиатуру: на ней не было клавиш-стрелок, а из модификаторов доступны только ⇧ Shift и Ctrl.
Эти обстоятельства повлияли на выбор используемых в редакторе клавиш.
2018-12-11 11:44 Система Git git branch giraffe + 14 48 мин.
создали Giraffe.java

git status-ом проверили появление нового файла.

добавили конструктор Жирафа в Зоопарк, откомпилировали, со всеми поздоровались.

git add  для Жирафа и git add для Зоопарка - утолкали их в Индекс (он же Сцена, он же Stage Area).

В git status после аДэДэ новомодифицированнные файлы позеленели от счастья. Пока они были в каталоге не под присмотром Индекса, ходили они в красном.

Гит коммит минус Эм Гираффе - заархивировали свою работу в локальный репозиторий для ответственного хранения.

Гит лог минус минус грапх минус минус олл минус минус декорэйт минус минус онелине - сие начало рисовать псевдографикой разветвление веток, чего прежде не видел.

copy-to-stage.bat == действие этого файла равноценно вызову команды git add

2018-12-11 10:32 Bootstrap-4 первые шаги Отзывы - стили + 16 38 мин.
margin даст отступы
box-shadow - даст объемное выделение элемента
Единицу измерения после коэффициента в стилях пиши без пробела, иначе она не будет работать.
Правильно: 1em;
Неправильно: 1 em;

hover - при движении мышки над объектом будет применяться указанный в фигурных скобках эффект

cursor: pointer - даст изображение простёртой длани с указательным перстом вверх вместо стрелки курсора.

2018-12-10 16:02 Система Git git branch lion + 15 2 час. 58 мин.
index == staging area

commit == подписать код (лети, наш орёл!)

push = послать широковещательное сообщение, любой способный - принимай и читай!

git branch lion - создание новой ветки (бранчА) с именем Лайон (Лёва)

git branch - показать все имеющиеся ветки

git checkout lion - переключиться на ветку Лёва
Иными словами, чекаутом слить содержимое Индекса(Stage Area) c именем lion в текущую WorkArea.

Если ветки возвращённые командой git log перечислены через запятую, то они идентичны.

git log --graph --all -decorate --online - краткая форма вывода лога

git checkout lion && git checkout master - каталог меняется как по волшебству в режиме реального времени.


2018-12-10 10:58 Система Git hippo git fetch pull + 14 1 час. 18 мин.
git push не отправит файлы из Workdir. Отправка действует лишь из локального репозитория в удалённый на Сервере ГитХаба.
Everything up-to-date == нечего передавать.

Your branch is ahead of 'origin\master' by 1 commit == ваша ветка имеет на один коммит больше, чем ветка мастер в репозитории Сервера.

git push - так кратко допустимо, если репозиторий не был здесь создан, а загружен с Сервера.

origin == https://github.com/DmitrySinitsin/Zoo.git

git fetch - забрать файлы с Сервера ГитХаба в локальный репозиторий remote.

git branch -a == показать все ветки

git pull - синхронизировать Workdir c remote репозиторием (локальным) то есть стянуть оттуда все изменения.

10:54 - "те изменения, которые делал удалённый Бегемот" ))

2018-12-09 19:57 Дневник успеха 2018-12-09 : У хорошего мастера всякая пила хорошая. + 14 5 мин.
За эту неделю:

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

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

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

+ Я решил 2 задачи:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Футбольная База / Автоголь» на 100%
Решал и ежедневные, но они видимо не в счёт.

+ Я выполнил 12 видеоуроков:
    1 => «Bootstrap-4 первые шаги / Об авторе - отступы, цвета, закругления» за 38 мин.
    2 => «Bootstrap-4 первые шаги / Товар лицом» за 1 час. 21 мин.
    3 => «Bootstrap-4 первые шаги / Отзывы - размещение карточек» за 1 час. 24 мин.
    4 => «Система Git / git init» за 57 мин.
    5 => «Система Git / git add checkout» за 1 час. 52 мин.
    6 => «Система Git / git commit reset diff» за 1 час. 29 мин.
    7 => «Система Git / git commit zebra» за 36 мин.
    8 => «Система Git / git ignore» за 1 час. 51 мин.
    9 => «Система Git / git push clone» за 5 час. 7 мин.
    10 => «SQL: ничего лишнего / Запуск mysql-консоли и создание базы данных» за 33 мин.
    11 => «Теория ООП / Интерфейс. VIP. Квадратики тоже хотят играть.» за 1 час. 33 мин.
    12 => «Теория ООП / Интерфейс. VIP. Пересечение прямоугольников.» за 1 час. 9 мин.

− Я не собрал ни одного Мегахеша :o(
Неделя прошла в знакомстве с Гитом и ГитХабом, различие теперь знаю, на мякине не проведешь))
Следующую неделю хочу применить на благо финализирования курса Гита и запилить на свою страницу окно с картами от LeafLet.
Пила у меня Husqvarna 345, старушка, но холостые держит, цепь заточена, масло цепи залито, заводится и шумит ого-го )

2018-12-09 19:49 Теория ООП Интерфейс. VIP. Пересечение прямоугольников. + 13 1 час. 9 мин.
определение столкновения боксиков реализовано через сравнение их величин Right, Left, Top, Bottom.
Боксики с шариками живут в разных вселенных и отсюда их параллельное броуновское движение.

2018-12-08 18:43 Теория ООП Интерфейс. VIP. Квадратики тоже хотят играть. + 15 1 час. 33 мин.
В Классе Arena в методе public void Show (Box box) по ошибке оставил drawEllipse - запустил, а там овалы бегают.
Искал недолго, но с интересом свою ошибки. На первой иллюстрации - уже исправлено.
Тропические квадратики тоже хотят играть!

2018-12-07 14:24 SQL: ничего лишнего Запуск mysql-консоли и создание базы данных + 11 33 мин.
mysql -u root -p - запуск MySQL пользователем root, пароль ввести сейчас. Если пароль не задан - жми Ввод, Макс!

show databases; - показать имеющиеся БД

C:\OPENSERVER\USERDATA\MYSQL-5.5\ - тут лежат сами БД физически попапочно.

CREATE DATABASE test1_1; - создание БД test1_1
Проверка места физического расположения БД показала, что у меня активна версия MySQL 5.6
Поэтому новосозданную базу нашел поиском альт+эФ7 в папке c:\OSPanel\userdata\MySQL-5.6\
Будет ли это проблемой, переделать или оставить как есть - покажет дальнейшее прохождение курса, а здесь лишь зарубку сделаем на память, что могут быть разночтения.
2018-12-07 11:36 Bootstrap-4 первые шаги Отзывы - размещение карточек + 12 1 час. 24 мин.
C Emmet работать - одно удовольствие. Массу рутинной работы берет на себя.
Card – это компонент Bootstrap 4, который позволяет оформить контент в виде карточки.
Карточка может использоваться:
с заголовком (футером) или без него;
с использованием картинки (её можно расположить в верхней или нижней части) или без неё;
с произвольным количеством элементов и их расположением в основной части.

2018-12-07 09:23 Bootstrap-4 первые шаги Товар лицом + 18 1 час. 21 мин.
<div class="col-sm">
- если в классе колонки не указан числовой параметр, то колонки создаются одинаковой ширины. Новшество Бутстрапа 4.

https://via.placeholder.com/150 - готовые заглушки для будущих изображений

2018-12-06 16:12 Система Git git push clone + 11 5 час. 7 мин.
git remote add origin https://github.com/DmitrySinitsin/Zoo.git
- добавить алиас origin к проекту DmitrySinitsin/Zoo.git

git remote rm origin -  удалить ненужный алиас.

git push -u orgin master - отправить действующий репозиторий (на локальном компе) на ГитХаб в своё хранилище

origin - алиас(псевдоним)

git clone https://github.com/DmitrySinitsin/Zoo.git - слить с ГитХаба с созданием подкаталога

git clone https://github.com/DmitrySinitsin/Zoo.git . -
без создания подкаталога, в корень отслеживаемой папки

2018-12-05 15:39 Система Git git ignore + 15 1 час. 51 мин.
Поправил в панели управления Windows переменные среды Path на мой правильный путь до джаваЦэ так:
C:\Windows\System32;C:\Program Files\Java\jdk1.8.0_172\bin
и компиляция в ГитБаше взлетела.

git rm --cached Zoo.class - удалить со Сцены (STAGE)

echo *.class > .gitignore - все файлы с расширением class поместить в игнорируемый файл

git add .gitignore - не забываем добавить файл игнорируемых в трекинг для отслеживания его актуального состояния

copy *.java ..\stage в батник - и файлы будут копироваться лишь с расширением java


2018-12-05 09:46 Система Git git commit zebra + 15 36 мин.
git add <название новосозданного файла>
Новые файлы перед переносом в репозиторий требуется добавлять на сцену командой аДэДэ.
Закоммитить (перенести в репозиторий с архивированием) без этого обязательного добавления не удастся.
git commit -a -m Zebra
-a  значит все модифицированные файлы в директории необходимо добавить.

2018-12-04 15:08 Система Git git commit reset diff + 16 1 час. 29 мин.
git diff - если пусто, значит содержимое Workdir (1 этаж) равно содержимому Stage area (2 этаж)

git commit -m Welcome - закинуть свой стейдж в Репозиторий под комментарием ( названием) Welcome

При первом коммите ошибка гарантирована - не ввёл адрес электропочты и имя

Подсказка есть и в видео, и в самом Git Bash, разобраться несложно.

Второй git commit -m Welcome отработал на ура.

Занятно, если набрать git при активном окне ютуба - кино складывается в миниокошко. Сначала не понял, что за фокус, затем снова не понял зачем эта фича. Узнал случайно, как применять, пока не придумал.

==============
Если багу добавили в Workdir - откати командой ЧЕКАУТ
А вот если ты багу пропустил уже на второй этаж(ошибочно дав добро на git add Zoo.java), в STAGE, то спасаться будешь из репозитория.

git diff - сравнение ПЕРВОГО(Workdir) И ВТОРОГО (STAGE area) этажа

git diff HEAD - сравнение ПЕРВОГО(Workdir) и ТРЕТЬЕГО(REPOSITORY) этажа

git reset HEAD Zoo.java - взять исходник из архива (с ТРЕТЬЕГО этажа) и поместить содержимое на STAGE (2 этаж)

2018-12-04 11:44 Система Git git add checkout + 16 1 час. 52 мин.
git add Zoo.java - добавить файл на сцену для отслеживания изменений оного. Неподконтрольный прежде файл становится в новое состояние "под колпаком у Мюллера" и любое его изменение - трекится. Помните вороток трекинга у видеомагнитофонов?

git checkout Zoo.java - восстановить файл взяв из Stage

2018-12-03 15:07 Система Git git init + 11 57 мин.
git status - текущее положение дел.
git init - инициализация пустого репозитория в текущей папке.
on branch master - ваше текущее положение - на ветке мастер.
СКВ - это уже не "свободно конвертируемая валюта" )), а Система Контроля Версий.
ЦСКВ - централизованная СКВ - один сервер, он же репозиторий. Минус такого варианта: если накроется сервак - всем капут.
РСКВ - распределённые СКВ. Каждый клиент тянет себе не только снимок файлов, но и весь репозиторий. Выход из строя сервака некритичен.

Git — инструмент распределенной СКВ.
GitHub — сервис (площадка) для проектов, использующих Git.

2018-12-03 11:49 Bootstrap-4 первые шаги Об авторе - отступы, цвета, закругления + 11 38 мин.
допустимы применения стилей для подразделов, элементов классов примерно так: .about .about_me h3
В классе есть подкласс, так в нём ещё и выделим нужный элемент и установим ему желаемый стиль.
Удобство зашкаливает, осталось лишь овладеть техникой.

2018-12-02 21:05 Дневник успеха 2018-12-02 : Больше дела – меньше слов. + 10 3 мин.
За эту неделю:

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

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

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

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

+ Я выполнил 9 видеоуроков:
    1 => «API поиска работы / Переезжаем на WPF» за 3 дня 27 мин.
    2 => «Bootstrap-4 первые шаги / Погружение в проект» за 31 мин.
    3 => «Bootstrap-4 первые шаги / Основа и фреймворк» за 1 час. 1 мин.
    4 => «Bootstrap-4 первые шаги / Верная навигация» за 36 мин.
    5 => «Bootstrap-4 первые шаги / Заголовок header - красивая основа» за 46 мин.
    6 => «Bootstrap-4 первые шаги / Заголовок header - оверлей, надпись и кнопка» за 55 мин.
    7 => «Bootstrap-4 первые шаги / Об авторе - блоки и HTML» за 46 мин.
    8 => «Bootstrap-4 первые шаги / Об авторе - отступы и дополнения» за 36 мин.
    9 => «Система Git / Добро пожаловать в Зоопарк!» за 2 час. 28 мин.

− Я не собрал ни одного Мегахеша, Биткоина и т.д. :o(
Тесты по T-SQL показали слабость знаний в JOINах, стало интересно покопать эту тему.
Читаю книгу, смотрю видео. Матчасть - учить.

2018-12-02 12:44 Bootstrap-4 первые шаги Об авторе - отступы и дополнения + 12 36 мин.
em - 1em – текущий размер шрифта.

Можно брать любые пропорции от текущего шрифта: 2em, 0.5em и т.п.

Размеры в em – относительные, они определяются по текущему контексту.

<h3> - Устанавливает заголовок третьего уровня.

<span> - запрет переносов, элемент объединения колонок
.about h1{color: #f97300} - допустимы объединения указателей - класс About, подзаголовок h1, к примеру.

2018-12-01 11:58 Bootstrap-4 первые шаги Об авторе - блоки и HTML + 14 46 мин.
<!--комментарий--> - здесь в HTML пишем комментарии в коде
Сетка Бутстрапа делена на 12 полей.
<img src="images/my.jpg" alt="no-image" class="img-fluid"> - вставить изображение, альт - если заданной картинки не оказалось, класс - обтекающее изображение

2018-11-30 11:03 Bootstrap-4 первые шаги Заголовок header - оверлей, надпись и кнопка + 15 55 мин.
удалив последнюю версию Brackets ver. sprint13
build 1.13.0-17696 release 49d29a8bc Thu Jun 14 2018 08:13:54 GMT+001
и скачав с офсайта предыдущую 12 версию - получил лайвПревью отображающее изменения в коде на лету.
Рекомендации лучших собаководов. Смотрю сейчас видео урока и присматриваюсь к интерфейсу Брэкетса у Валерия - вижу в середине его экрана под значком коннекта LivePreview зеленую пиктограмму в виде коробки перевязанной ленточкой - если навести на неё даётся предложение скачать и установить глючившую у меня последнюю версию Брэкетса 13 версии. Всем, кому охота камасутры с сырым продуктом - качать незамедлительно!
<h1> - крупный заголовок
<p> - параграф
Вторая иллюстрация - с информацией о работоспособной версии Brackets

2018-11-29 12:00 Система Git Добро пожаловать в Зоопарк! + 12 2 час. 28 мин.
как и прежде, с чистого листа.

2018-11-28 14:19 Bootstrap-4 первые шаги Заголовок header - красивая основа + 15 46 мин.
чтобы Live Preview работало - очищай порты.
В моем случае к этому уроку предпросмотр вообще отказался открывать гуглхром страницу возвращая ошибку и предложение поискать решения на гитхабе.
Почитал - не нашел своего случая. Перезапуск компа не помог, очистка кэша не помогла. Решением стало отключение дельфинчика в трее (MySQL висел на потру 3306).
Как послал дельфинчика отдохнуть - так и Live Preview перестал капризничать и картинки красиво нарисовались на сайте.
Браво, Валерий! Даёшь стране угля!

2018-11-28 11:47 Bootstrap-4 первые шаги Верная навигация + 10 36 мин.
a.navbar-brand - титульник
collapse - сжимаемый элемент страницы
(li.nav-item>a.nav-link)*4 == повтори четыре раза создание в скобках, друг Эммет.

2018-11-28 10:57 Bootstrap-4 первые шаги Основа и фреймворк + 11 1 час. 1 мин.
Восклицательный знак + табуляция == заготовка html, head и body. Фича Emmeta сие есть.
Отображение на лету у меня отчего-то недоступно, даже хинт выскакивает - для отображения Сохраните.

2018-11-27 17:24 Bootstrap-4 первые шаги Погружение в проект + 12 31 мин.
Эммет есть, Брэкетс присутствует, картинки засолены. Будет интересно!

2018-11-26 21:55 API поиска работы Переезжаем на WPF + 15 3 дня 27 мин.
похоже WPF не прощает удаления грида - кнопка не сохранилась, придётся переделать. Создавая новые объекты на форме - предыдущие пропадали. У меня инглиш вершн, у Валерия - русская.
UPD 20181126
Виноват Валерий. С его лёгкой руки обновил своё резюме на хедхантере, вышли на связь кировские работодатели, предложили вакансии. Сначала заинтересовался позицией разработчика C#, однако, посмотрев задание для соискателя понял, что кишка тонкА. Однако, предложения поступали. Позиция Business Intelligence привлекла знакомым SQL, вроде уж тут-то я не лыком шитый )). T-SQL оказался понятным, но с JOIN пока на Вы. Отсюда девиации в сторону от видеоуроков. Даже если не попаду на новую должность, любопытно добить задание. Валерий, Ваши уроки дают путёвки в жизнь )

2018-11-25 20:04 Дневник успеха 2018-11-25 : Кто поет, у того работа скоро заканчивается. + 10 2 мин.
За эту неделю:

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

+ Я написал 30 сообщений 16 формулистам общим объёмом 10 килобуквочек

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

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

+ Я выполнил 11 видеоуроков:
    1 => «API поиска работы / Начало работы с HeadHunter API» за 48 мин.
    2 => «API поиска работы / Все запросы - через приложение» за 2 час. 13 мин.
    3 => «API поиска работы / Из JSON всё по полочкам» за 1 час. 35 мин.
    4 => «API поиска работы / Свободный поиск по вакансиям» за 1 час. 4 мин.
    5 => «API поиска работы / Меняем внешний вид» за 28 мин.
    6 => «API поиска работы / Структура вакансии» за 28 мин.
    7 => «API поиска работы / Предложения - в таблицу» за 1 час. 2 мин.
    8 => «API поиска работы / Пошаговая отладка » за 19 час. 37 мин.
    9 => «Базовый ASP.ект / VIP. Авторизация на сайте» за 3 час. 25 мин.
    10 => «Базовый ASP.ект / VIP. Модерация записей» за 5 час. 30 мин.
    11 => «Базовый ASP.ект / VIP. Установка домена» за 7 час. 11 мин.

− Я не собрал ни одного Мегахеша :o(
На повестке дня задача на MS SQL по выборкам запросами на T-SQL. Посмотрим, что осталось в памяти от Вятского Политеха.

2018-11-24 15:28 API поиска работы Пошаговая отладка + 12 19 час. 37 мин.
F9 - поставить точку брякпойнта в текущей строке
UPD - заменил вторую иллюстрацию на более информативную

2018-11-23 19:16 API поиска работы Предложения - в таблицу + 12 1 час. 2 мин.
пришлось заняться дебагом в public Vacancy (dynamic obj) - вместо точек в части полей понаставил низкие подчёркивания - поля не парсились.
Нашел. Исправил.Победил.

2018-11-23 16:40 API поиска работы Структура вакансии + 11 28 мин.
воспользовались ифэлзом и тернарным оператором для проверки получаемых данных.

2018-11-23 15:56 API поиска работы Меняем внешний вид + 8 28 мин.
перепахали экранную форму приложения, удалили textBox и кнопки, использовали DataGridView и новую кнопку поиска.

2018-11-23 15:14 API поиска работы Свободный поиск по вакансиям + 9 1 час. 4 мин.
с замиранием сердца следил за поисками Валерия причины ошибки вызова прежнего метода при уже написанном новом.
Урок супер! Рекомендую.
Поскольку парсили не одну запись, воспользовались циклом foreach (dynamic item in obj.items)

2018-11-22 16:46 API поиска работы Из JSON всё по полочкам + 13 1 час. 35 мин.
парсинг - берете несколько кусков чужого кода, смотрите то что вам нужно оттуда, ищете закономерности, вложенности, признаки, символы отделяющие нужные значения.
Привязываясь к этим обнаруженным правилам используете готовый шаблон вроде NewtonSoft либо написав самостоятельно, выдергиваете нужные значения и применяете в своих переменных и далее со всеми остановками вплоть до Голутвина )

2018-11-22 13:35 API поиска работы Все запросы - через приложение + 13 2 час. 13 мин.
.NET Framework 4.6.1 при создании приложения. Может и на воду дую, но подсмотрел что у Валерия в видео, то и себе в проекте поставил, во избежание разночтений.
... и на 5 минуте видео прозвучала рекомендация указывать этот фреймворк ))
Три слэша и ENTER == блок комментариев

2018-11-22 10:19 API поиска работы Начало работы с HeadHunter API + 16 48 мин.
JSON - JavaScript Object Notation
Залезли под капот сайта и чуть посмотрели что откуда берется.
Преимущества JSON:
- Он компактен.
- Предложения легко читаются и составляются как человеком, так и компьютером.
- Легко преобразовать в структуру данных для большинства ЯП (числа, строки, логические переменные, массивы и так далее)
- Многие языки программирования имеют функции и библиотеки для чтения и создания структур JSON.

2018-11-21 16:31 Базовый ASP.ект VIP. Установка домена + 16 7 час. 11 мин.
http://dima.pro43.ru/
Купил, хостинг прописывался лишь через письмо, нашел где лежит hosts (оказывается скачками по папкам эту файлу не увидать, над ручками путь прописать к папке etc тогда покажет!!!), пинг увидал, а сайт пока не кажет. Может на работе хитрый сысадмЕн пакостит как-нибудь? Дома проверю позже...
Дождаться оживления http://dima.pro43.ru/
Вы общаетесь с Алексей К.
Алексей К.: Добрый день. Минуту.
Алексей К.: https://www.ihead.ru/users/domains/
нажмите параметры у домена, далее "открыть редактор зоны"
Алексей К.: там можете удалить существующие A-записи и добавить свои
Дмитрий: Список доменов
Вам не присвоен номер в биллинговой системе.

Обратитесь в службу поддержки пользователей.

Зарегистрировать новый домен
Алексей К.: минуту
Дмитрий: что-то не то видимо у меня на экране )
Алексей К.: обновите страницу
Дмитрий: Вах! Спасибо! )))
Дмитрий: Пытаюсь добавить запись NS с таким хостингом NS1.SITE4NOW.NET в ответ неверный формат имени
Дмитрий: не подскажете в чем мб дело?
Алексей К.: изменение NS-серверов для доменов в зоне pro43.ru через личный кабинет не доступно. если вам неподходит вариант размещение зоны на наших серверах и использование нашего редактора DNS-зоны, напишите письмо на info@ihead.ru: прошу делегировать домен dima.pro43.ru на NS: NS1.SITE4NOW.NET, ...
Алексей К.: тут вместо ... укажите все NS-серверы, на которые нужно делегировать домен
Дмитрий: Спасибо!Исполняю.
Дмитрий: Отправил письмо на info@ihead.ru
Алексей К.: Сделано. Теперь вам нужно добавить поддержку домена на этих серверах

Последний пункт лишь сейчас и увидел...
2018-11-20 16:02 Базовый ASP.ект VIP. Модерация записей + 13 5 час. 30 мин.
как Игромистр стукнул по столу (57 минута видео - рекомендую к прослушиванию вместо "Спокойной ночи, программисты"), так я понял, что ошибки будут исправлены. У меня в этот момент выскочила информация о негодном моем коде в чекере. Но вняв громогласному заявлению, что я это доделал (хотя на тот момент предвкушал длительные блуждания в поисках ошибки), я вчитался в подсказку на экране с сообщением об ошибке, там оказалась всего лишь пропущенная скобка в конце ифэлза. Дописал и всё взлетело.
Вах! Евгений и Валерий - глыбы кодинга! Снимаю шляпу.

2018-11-19 13:59 Базовый ASP.ект VIP. Авторизация на сайте + 12 3 час. 25 мин.
исправили добавление истории (эх, раньше бы про это знать ))
Материализовали проверку логина+пароля в форме входа на сайт.

2018-11-18 19:28 MVC шаблон MVC - Counter - ViewConsole + 11 1 час. 8 мин.
Создать класс ViewConsole implements Observer не удалось за неимением возможности подгрузить в создаваемый класс паттерн Наблюдатель.
Ищу  решения. То ли это делалось в процессе инсталляции Эклипса, то ли иным способом, но Гугл пока ответа не дал.
Советы приветствуются.

2018-11-18 15:26 Дневник успеха 2018-11-18 : Начинать начинай, да смотри же — заканчивай! + 12 10 мин.
За эту неделю:

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

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

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

+ Я решил 14 задач:
    1 => «Точка и плоскость / Круг» на 100%
    2 => «Точка и плоскость / Часть круга» на 100%
    3 => «Любимые циклы / Фибоначчи» на 100%
    4 => «Календарь / Послезавтра» на 100%
    5 => «Календарь / По возрасту равняйсь!» на 100%
    6 => «Подпрограммы / НОК» на 100%
    7 => «Олимпиада / Котик Елены» на 100%
    8 => «Олимпиада / Случайная задача» на 100%
    9 => «Комбинаторика / Счастливые билеты N» на 100%
    10 => «Комбинаторика / Три цифры и знаки» на 100%
    11 => «Комбинаторика / Цифры и знаки» на 100%
    12 => «VIP задачи / Палиндром» на 100%
    13 => «VIP задачи / Бинарник» на 100%
    14 => «VIP задачи / Тю» на 100%

+ Я выполнил 10 видеоуроков:
    1 => «Теория ООП / Интерфейс. Кружочки гоняются друг за другом.» за 38 мин.
    2 => «Теория ООП / Интерфейс. Изменяем правила игры.» за 39 мин.
    3 => «Теория ООП / Интерфейс. Создаём новую игру.» за 31 мин.
    4 => «Теория ООП / Интерфейс. ФИНАЛЬНЫЙ УРОК.» за 52 мин.
    5 => «Базовый ASP.ект / Валидация данных» за 2 час. 0 мин.
    6 => «Базовый ASP.ект / Оформление сайта» за 5 час. 6 мин.
    7 => «Базовый ASP.ект / Размещение проекта в Интернете» за 5 час. 39 мин.
    8 => «Базовый ASP.ект / Отказ от статика» за 5 час. 47 мин.
    9 => «Базовый ASP.ект / ФИНАЛЬНЫЙ УРОК. Презентация» за 27 мин.
    10 => «MVC шаблон / MVC - Суть шаблона» за 40 мин.

− Я не собрал ни одного Мегахеша :o(
Впервые что-то опубликовал на хостинге в телекоммуникационной сети Интернет своё. Огородик требует ухода и исправления, но начало положено.
Предполагаю, нужно больше концентрации в одном направлении, осталось нащупать наиболее интересное.
Сгоревшие байты по истечении срока подписки KF расхолаживают, набранные за неделю в полночь на понедельник не сохраняются, смысл набирать их теряется.
Получил гифтовые 10 дней незаслуженной подписки - снова в бой, снова всё вкусное ) Но и за забором было чем заняться, приводя в порядок полученные знания.
Береги байты, Сеня! ))

2018-11-18 15:09 MVC шаблон MVC - Суть шаблона + 9 40 мин.
Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя своё состояние. Начинка Вашего Программного продукта, имеющая свою заточку на выполнение неких задач разработанным Вами способом == это и есть Модель. По аналогии со столовой, микшером или автомобилем, Модель там кухня, печатная плата с элементами и агрегаты с трансмиссией, соответственно.

Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели. Коротко - это интерфейс. Экран монитора, статус-бары, прогресс-бары, любые показометры, всё что отвечает за информирование человека о состоянии и изменениях ПО или иной сущности в его рамках доступности.

Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.  Методы обработки входящей информации и адаптации её для передачи на обработку Модели. Аналогия: раздача в столовой, либо приборная панель с комплексом управления, для внесения изменений в процессы.

2018-11-17 20:26 Теория ООП Интерфейс. ФИНАЛЬНЫЙ УРОК. + 9 52 мин.
Выделив участок кода и нажав Alt, можно стрелками двигать этот выделенный участок кода вира и майна.
Случайно два кружка получили нулевые перемещения по оси абсцисс, и игруха залипла навеки. Пришлось записать видео на память )

2018-11-17 19:31 Теория ООП Интерфейс. Создаём новую игру. + 10 31 мин.
SetNewVirus(Игрок) - поместить игрока в private List<Игрок> virused;
FindNewVirus() - проверить на совпадение координат.

2018-11-17 18:42 Теория ООП Интерфейс. Изменяем правила игры. + 13 39 мин.
Реализовали обратный отсчёт от момента передачи Голи до момента, когда можно снова голить (обратно или другого кружка).
Когда два кружка ехали рядом в одном направлении занятно наблюдать как раз в секунду их цвета менялись между собой.
Новая игра. Называется "Передайте за проезд". Набиваем полный автобус пассажиров и ставим задачу оплатить проезд. Маршрут передачи за проезд - в случайном порядке ))). Победа присуждается тому, чья монета первой достигнет водителя. Интрига в том, что каждый игрок обязан осуществить передачу монеты, но не обязан контролировать направление её движения.
ЗЫ не забывать что это игра, а не натуральная маршрутка на Голутвин ))
2018-11-17 14:41 Теория ООП Интерфейс. Кружочки гоняются друг за другом. + 9 38 мин.
В классе Arena добавили случайные изменения по осям абсцисс и ординат, на форму прикрутили таймер, в классе FormGame прописали метод для исполнения шагов кружками.

2018-11-17 13:15 Базовый ASP.ект ФИНАЛЬНЫЙ УРОК. Презентация + 11 27 мин.
впервые что-то опубликовал в глобальной сети, оформленное в свой огородик. Не видео, не пустопорожнюю болтовню, коей сеть переполнена, а некий участок, где можно рулить и гармонизировать и далее. Планов масса, способности растут не так быстро, как амбиции )
Научился взаимодействовать с хостингом, прежде это наблюдал лишь со стороны. Впервые воспользовался личной учёткой на забугорном FTP, впервые что-то вменяемое туда залил и увидел закачанный в одном месте и на одном компе результат в другом компьютере, подключившись к тому же хостингу, на основе учётных данных в почтовом ящике.
Понравилась красота на экране, после обработки представлений Бутстрапом.
Добавить хочу иллюстрации, ибо на данный момент весь контент слева, а справа место пустует - непорядок.
Следующий курс - в сторону вебдизайна любопытен, хотя и прочие направления вкусны и разнообразны.
Висагинасу и Пензе в ножки поклон за достойных мужей, сынов своих городов, выдавших на гора такие душевные видеоуроки, отвлекающие от осенней рутины.

2018-11-16 15:26 Базовый ASP.ект Отказ от статика + 13 5 час. 47 мин.
удалили определение static в следующих местах:
static public class MySQL
static private MySqlConnection con;
static public string error { get; private set; }
static public string query { get; private set; }
static MySQL ()
static public DataTable Select (string myquery)
static public DataTable Insert (string myquery)
static public bool IsError ()
static public string addslashes (string text)

создали деструктор коннекшена `MySQL()

В storyController.cs создали внутреннюю переменную MySQL с именем sql
Проинициализировали её в конструкторе public storyController ()
Поправили вызовы статичного класса MySQL на вызовы экземпляра sql нестатичного класса MySQL

2018-11-15 16:56 Базовый ASP.ект Размещение проекта в Интернете + 9 5 час. 39 мин.
Не надо заливать на FTP эти каталоги:
Controllers
Models,
obj (?) - однако после дисконнекта его таки запулили на Сервер в видеоуроке,
App_Data,
App_Start
Результат здесь:
http://korchemkino-001-site1.ctempurl.com/

2018-11-14 14:44 Базовый ASP.ект Оформление сайта + 7 5 час. 6 мин.
@RenderBody() - приёмопередатчик наших ваяний в представлениях.
Указание что открывать при старте располагается в Views/_ViewStart.schtml
<ul></ul> - unsorted list
<li></li> - Каждый элемент списка должен начинаться с тега <li>. Если к тегу <ul> применяется таблица стилей, то элементы <li> наследуют эти свойства. Внешний тег <ul> или <ol> устанавливает тип списка — маркированный или нумерованный.
Сетка браузера по умолчанию состоит из ДВЕНАДЦАТИ столбцов.
Content/Site.css - здесь лежат каскадные таблицы стилей, ЦЭЭСЭСЫ наши (CSS).

2018-11-13 10:27 Базовый ASP.ект Валидация данных + 15 2 час. 0 мин.
переменные title, story, email в модели Story заполняются после отправки формы.
Их надо проверить на корректность заполнения.
Добавили using System.ComponentModel.DataAnnotations
Полям добавили Required с сообщением об ошибке.
В представлении add.cshtml дописали параграф @Html.ValidationSummary()
Поправили контроллер ифом на случай кривых данных ритёрном View(post).
Применили @Html.ValidationMessage() для каждого поля.
Тег mark метит желтым цветом.
Применили в Модели Story контроль за вводом адреса с помощью [RegularExpression()] с маской имейла (все допустимые символы.

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

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

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

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

+ Я решил 157 задач:
    1 => «Логика / A или не-B» на 100%
    2 => «Логика / Побитовое НЕ» на 100%
    3 => «Логика / Побитовое И» на 100%
    4 => «Логика / Побитовое ИЛИ» на 100%
    5 => «Логика / Исключающее ИЛИ» на 100%
    6 => «Логика / Сдвиг вправо» на 100%
    7 => «Логика / Сдвиг влево» на 100%
    8 => «Логика / Мигалка» на 100%
    9 => «Условный оператор / Максимум» на 100%
    10 => «Условный оператор / Большая разница» на 100%
    11 => «Условный оператор / Меньше, равно, больше» на 100%
    12 => «Условный оператор / Три числа» на 100%
    13 => «Условный оператор / Модуль» на 100%
    14 => «Условный оператор / Сумма или произведение» на 100%
    15 => «Условный оператор / Чет / нечет» на 100%
    16 => «Условный оператор / Отрицательный куб» на 100%
    17 => «Условный оператор / Три Максима» на 100%
    18 => «Условный оператор / Сумма положительных» на 100%
    19 => «Условный оператор / Минимальное расстояние» на 100%
    20 => «Условный оператор / Минимальное произведение» на 100%
    21 => «Условный оператор / Возрастание» на 100%
    22 => «Условный оператор / В промежутке» на 100%
    23 => «Условный оператор / Минимальное неотрицательное» на 100%
    24 => «Условный оператор / Наибольшее при условии» на 100%
    25 => «For-to-чки / Созвездие» на 100%
    26 => «For-to-чки / Сумма» на 100%
    27 => «For-to-чки / Сумма квадратов» на 100%
    28 => «For-to-чки / Трёхзначные числа» на 100%
    29 => «For-to-чки / Двухзначные числа» на 100%
    30 => «For-to-чки / Отрицательно» на 100%
    31 => «For-to-чки / Улица» на 100%
    32 => «For-to-чки / Радуга» на 100%
    33 => «For-to-чки / Сто квадратов» на 100%
    34 => «For-to-чки / Отрицательные» на 100%
    35 => «For-to-чки / Тройка» на 100%
    36 => «For-to-чки / Семёрка» на 100%
    37 => «For-to-чки / Туз» на 100%
    38 => «For-to-чки / Улыбки» на 100%
    39 => «For-to-чки / Псевдо-квадраты» на 100%
    40 => «For-to-чки / Палочки» на 100%
    41 => «For-to-чки / Много палочек» на 100%
    42 => «For-to-чки / Алфавит» на 100%
    43 => «For-to-чки / Тивафла» на 100%
    44 => «For-to-чки / DY-Алфавит» на 100%
    45 => «For-to-чки / Степень» на 100%
    46 => «For-to-чки / Факториал» на 100%
    47 => «For-to-чки / Сумма фактов» на 100%
    48 => «For-to-чки / Кратные» на 100%
    49 => «For-to-чки / Двухзначный столбик» на 100%
    50 => «For-to-чки / Среднее арифметическое» на 100%
    51 => «Пока-цикл / Сумма цифр» на 100%
    52 => «Пока-цикл / Все цифры» на 100%
    53 => «Пока-цикл / Сумма квадратов» на 100%
    54 => «Пока-цикл / Трехзначные квадраты» на 100%
    55 => «Пока-цикл / Сумма ряда» на 100%
    56 => «Пока-цикл / Мой век» на 100%
    57 => «Вечность / Неделька» на 100%
    58 => «Вечность / 12 месяцев» на 100%
    59 => «Вечность / Отрывной календарь» на 100%
    60 => «Вечность / Високосное свидание» на 100%
    61 => «Вечность / Знаки зодиака» на 100%
    62 => «Обман цикла / Делитель Макса» на 100%
    63 => «Обман цикла / Делитель Мина» на 100%
    64 => «Обман цикла / Цифра три» на 100%
    65 => «Обман цикла / Вечное ожидание» на 100%
    66 => «Точка и плоскость / Четверть плоскости» на 100%
    67 => «Точка и плоскость / Прямоугольник» на 100%
    68 => «Точка и плоскость / Ромб» на 100%
    69 => «Точка и плоскость / Круг» на 60%
    70 => «Точка и плоскость / Часть круга» на 85%
    71 => «Точка и плоскость / Квадрат» на 100%
    72 => «Узник цикла IF / Три тройки» на 100%
    73 => «Узник цикла IF / Делитель» на 100%
    74 => «Узник цикла IF / Сумма делителей» на 100%
    75 => «Узник цикла IF / Плюс-минус» на 100%
    76 => «Последовательность / Максимальный элемент» на 100%
    77 => «Последовательность / Больше суммы предыдущих» на 100%
    78 => «Последовательность / Больше суммы всех предыдущих» на 100%
    79 => «Последовательность / Между соседями» на 100%
    80 => «Математика / Модуль» на 100%
    81 => «Математика / Косинусы» на 100%
    82 => «Математика / Корни» на 100%
    83 => «Математика / Гиперкуб» на 100%
    84 => «Математика / Тригонометрия» на 100%
    85 => «Математика / Формула» на 100%
    86 => «Математика / Дробная таблица» на 100%
    87 => «Математика / Таблица» на 100%
    88 => «Математика / Параметрическая функция» на 100%
    89 => «Любимые циклы / Барабанная дробь» на 100%
    90 => «Любимые циклы / Гармония» на 100%
    91 => «Любимые циклы / Двойной факториал» на 100%
    92 => «Любимые циклы / Фибоначчи» на 85%
    93 => «Любимые циклы / Тройная степень» на 100%
    94 => «Любимые циклы / Метод Горнера» на 100%
    95 => «По цифрам / Числа по цифрам» на 100%
    96 => «По цифрам / Три цифры» на 100%
    97 => «По цифрам / Цифры по возрастанию» на 100%
    98 => «По цифрам / Разные цифры» на 100%
    99 => «По цифрам / Палиндромы» на 100%
    100 => «По цифрам / Счастливый билет» на 100%
    101 => «По цифрам / Простые цифры» на 100%
    102 => «По цифрам / Четные цифры» на 100%
    103 => «Матрёшки / Числовой треугольник» на 100%
    104 => «Матрёшки / Звездный квадрат» на 100%
    105 => «Матрёшки / Единичная матрица» на 100%
    106 => «Матрёшки / Пятизначные числа» на 100%
    107 => «Матрёшки / Шестизначные числа» на 100%
    108 => «Матрёшки / Семизначные числа» на 100%
    109 => «Матрёшки / Двоичные числа» на 100%
    110 => «Матрёшки / Сумма шести» на 100%
    111 => «Матрёшки / Админ сети» на 100%
    112 => «Простые массивы / Единичный массив» на 100%
    113 => «Простые массивы / Первый и последний» на 100%
    114 => «Простые массивы / Копипаст» на 100%
    115 => «Простые массивы / Инкремент» на 100%
    116 => «Простые массивы / Мульти возведение» на 100%
    117 => «Простые массивы / Мини-максимум» на 100%
    118 => «Простые массивы / Обмен» на 100%
    119 => «Простые массивы / Квадрат многочлена» на 100%
    120 => «Подпрограммы / Минималка» на 100%
    121 => «Подпрограммы / МиниМакс» на 100%
    122 => «Подпрограммы / Плюс плюс» на 100%
    123 => «Подпрограммы / Минус минус» на 100%
    124 => «Подпрограммы / Степень» на 100%
    125 => «Подпрограммы / НОД» на 100%
    126 => «Подпрограммы / НОК» на 90%
    127 => «Подпрограммы / Звезда» на 100%
    128 => «Подпрограммы / Молодой» на 100%
    129 => «Подпрограммы / Старшой» на 100%
    130 => «Подпрограммы / Йестердэй» на 100%
    131 => «Подпрограммы / Палиндромы» на 100%
    132 => «Подпрограммы / Треугольники» на 100%
    133 => «Подпрограммы / Семь сегментов» на 100%
    134 => «Строки / Звездочки» на 100%
    135 => «Строки / Сколько слов» на 100%
    136 => «Строки / Длинное слово» на 100%
    137 => «Строки / Снова многоточие» на 100%
    138 => «Строки / Ноль или один» на 100%
    139 => «Строки / Список» на 100%
    140 => «Матрицы / Максимумы» на 100%
    141 => «Матрицы / Заштрихованная часть» на 100%
    142 => «Матрицы / Произведение» на 100%
    143 => «Матрицы / Квадранты матрицы» на 100%
    144 => «Олимпиада / Случайная задача» на 100%
    145 => «Рекурсия / Факториал» на 100%
    146 => «Рекурсия / Числа Фибоначчи» на 100%
    147 => «Рекурсия / Общий делитель» на 100%
    148 => «Рекурсия / Обратный отсчёт» на 100%
    149 => «Динамика / Поле дураков» на 100%
    150 => «Динамика / Счастливые билеты 20» на 100%
    151 => «Динамика / Лабиринт» на 100%
    152 => «Комбинаторика / Счастливые билеты 6» на 100%
    153 => «Комбинаторика / Счастливые билеты N» на 80%
    154 => «Комбинаторика / Четыре ладьи» на 100%
    155 => «Комбинаторика / Четыре ферзя» на 100%
    156 => «Комбинаторика / Много ферзей» на 100%
    157 => «Комбинаторика / Шрам ы Марш» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Демо софт / VIP. Бесплатная консультация» за 11 мин.
    2 => «Итератор / Итератор. Разложение числа на простые множители.» за 37 мин.
    3 => «Бинарная жизнь / Новое поколение» за 19 час. 57 мин.
    4 => «Бинарная жизнь / Смысл жизни» за 23 час. 7 мин.
    5 => «Бинарная жизнь / ФИНАЛЬНЫЙ УРОК» за 11 мин.
    6 => «Бинарная жизнь / Максималка» за 4 час. 33 мин.
    7 => «Бинарная жизнь / VIP урок. Игра Жизнь» за 20 час. 27 мин.

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

Начал анализировать консольные задачи в Visual Studio, к чему хочу сместить акценты.

2018-11-11 15:58 Демо софт VIP. Бесплатная консультация + 10 11 мин.
на консультации не был

Умей дождаться. Жалобой и плачем
не сетуй на задержку непогоды:
когда судьба беременна удачей,
опасны преждевременные роды.

https://www.youtube.com/watch?v=bSQGBaSqQCQ

2018-11-09 21:17 Итератор Итератор. Разложение числа на простые множители. + 12 37 мин.
вспоминаю математику. Школа была окончена в далёком 1993 году, собирать давно забытое приходится по кирпичикам. Хорошо, когда учитель знает своё дело.
Простые множители (простые делители) положительного целого числа — это простые числа, которые делят это число нацело (без остатка).

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

2018-11-08 17:24 Бинарная жизнь VIP урок. Игра Жизнь + 15 20 час. 27 мин.
Снимаю шляпу перед математическими способностями Игромистра.
Алгоритм расчёта количества организмов справа и внизу слушал разинув рот.
Вроде простые вещи, но донести до незнающего - великое дело.
Бактерии дохнут, если их мало.

2018-11-07 16:21 Бинарная жизнь Максималка + 15 4 час. 33 мин.
местами пальцы промахиваются мимо клавиш.
Проходил Максималку-2. Много думал)

2018-11-07 11:41 Бинарная жизнь ФИНАЛЬНЫЙ УРОК + 18 11 мин.
учись не беспокоиться и достигнешь цели своей жизни.
Переживания - твои якоря. Если в гавани отлично - стой на швартовых.
Когда придёт пора - руби канаты и иди. Про шлюпку не забудь.  НХНЧ!

2018-11-07 11:24 Бинарная жизнь Смысл жизни + 18 23 час. 7 мин.
12 апреля прошлого 2017 года я был на работе, вечером дома.
В жизни многое предопределено, но субъект способен влиять на происходящее.
Даже сам факт изучения субъекта отличается от изучения объекта.
Объект на внимание к себе не реагирует, субъект от изучения его самого уже рефлексирует, чем меняет и вызывает девиации в поведении.

Лишь перед смертью человек
соображает, кончив путь,
что слишком короток наш век,
чтобы спешить куда-нибудь.
Свернуть с прот0ренной дорожки.
2018-11-06 11:53 Бинарная жизнь Новое поколение + 15 19 час. 57 мин.
Создали правило для новой строки (нового поколения).

2018-11-04 12:06 Дневник успеха 2018-11-04 : Мала пчелка, да и та работает. + 14 8 мин.
За эту неделю:

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

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

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

+ Я решил 2 задачи:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «4004 - Елена Вставская / Простые множители» на 100%
остальные прорешал.

+ Я выполнил 10 видеоуроков:
    1 => «Демо софт / Квадратный калейдоскоп» за 1 день 3 час. 39 мин.
    2 => «Демо софт / Вам телеграмма!» за 14 мин.
    3 => «Теория ООП / Интерфейс. Кружок готов к игре!» за 1 час. 0 мин.
    4 => «Базовый ASP.ект / Запуск модели Story» за 3 час. 9 мин.
    5 => «Базовый ASP.ект / Что такое SQL-инъекция» за 4 час. 48 мин.
    6 => «Базовый ASP.ект / Рефакторинг модели Story» за 2 час. 4 мин.
    7 => «Базовый ASP.ект / Работа со списком историй» за 3 час. 50 мин.
    8 => «Базовый ASP.ект / Добавление истории» за 17 час. 28 мин.
    9 => «Бинарная жизнь / Правила игры» за 1 час. 27 мин.
    10 => «Бинарная жизнь / Конструктор организма» за 1 час. 12 мин.

− Я не собрал ни одного Мегахеша, не прочитал "Капитал" Маркса, не написал ни одной лирической строки и не посадил ни одного дерева :o(
Вовлекаясь во множество дел, Не мечись, как по джунглям ботаник, Не горюй, что не всюду успел, Может, ты опоздал на «Титаник».

На следующей неделе помимо нормы курсанта предполагаю отрефакторить то, что успел изучить здесь с апреля и прийти к решению, куда копать далее.
Всех с наступающей 101 годовщиной Великого Октября!
День Седьмого ноября —
Красный день календаря.
Погляди в свое окно:
Все на улице красно!

Вьются флаги у ворот,
Пламенем пылая.
Видишь, музыка идет
Там, где шли трамваи.

Весь народ — и млад и стар —
Празднует свободу.
И летит мой красный шар
Прямо к небосводу!

2018-11-04 11:43 Бинарная жизнь Конструктор организма + 15 1 час. 12 мин.
"избавились от статика" созданием экземпляра Program и вызовом из него метода start и понеслась.
В конце урока получили да варианта вывода "переживаний" - однократно в середине строки либо множество в случайном порядке.
Просматривая информацию по теме, вспомнил, что сие мы изучали в 2001 году в ВятГУ.

2018-11-03 20:08 Бинарная жизнь Правила игры + 15 1 час. 27 мин.
При составлении правил от фонаря, их приходятся подправлять. Переделывал
Текстильный конус прекрасен. Знает метафизику сущего и носит на панцире основополагающие мотивы.
Кто с ним спорит - того отключит.

2018-11-03 17:06 Демо софт Вам телеграмма! + 17 14 мин.
Древнее видео, почувствовал себя археологом на раскопках.
Занятно выглядела турнирная таблица без Текашника на вершине.
В видео говорится много разных слов, интересных с точки зрения "как было и как  уже нет".
ЗЫ Меню у сайта было занятным - были даже именные пункты )

2018-11-02 21:41 Демо софт Квадратный калейдоскоп + 17 1 день 3 час. 39 мин.
Взять выдержку из дизайнера Form в свой код - узнал новый способ проектирования.

2018-11-01 14:24 Базовый ASP.ект Добавление истории + 9 17 час. 28 мин.
добавили привязку к Модели в представлении Views - story - add.cshtml
Добавили поля(хелперы) для ввода пользователем своей истории для загрузки на сайт.
Контроллер передаёт данные в Представление(что именно надо отобразить), для выполнения этого в storyController.cs в методе ActionResult add в return View() в скобки дописали story
В Story.cs отредактировали доступ до публичного для строковых title, story, email
В storyController.cs в методе ActionResult add добавили полям title, story, email значения по умолчанию.
Добавили кнопку Сабмит за пределами хелперов.
При нажатии в браузере менюхи "Добавить историю" отрабатывает метод GET, заполняющий поля значениями по умолчанию, хранящимися в ActionResult add, а при нажатии кнопки СОХРАНИТЬ отрабатывает метод POST.
Продублировали метод add для ГЕТ и для ПОСТ.
Добавили метод Insert возвращающий номер записи в типе лонг.
Написали редирект для защиты от повторной отправки одной и той же истории.
Отредактировали указание электропочты в истории, на случай, если нет @
Модифицировали сообщения об ошибках из булевого в строковый тип.

2018-10-31 16:16 Базовый ASP.ект Работа со списком историй + 14 3 час. 50 мин.
Index.cshtml в представлениях дополнили привязкой к Модели.Story
Туда же в цикл форич добавили размещение истории на Главную страницу.
Дополнили pageController.cs вызовом метода генерации листа историй.
Автоматом сделали для него заглушку в Story.cs
В Story.cs объявили публичный список всех историй в виде массива Story[] list
В Story.cs создали метод GenerateList() - запрос на получение списка историй

Метод GenerateList() находящийся в Story.cs принимает в себя аргумент limit
из вызова этого метода находящегося в pageController.cs в методе ActionResult.
Там установили эту переменную в значение 10 (историй).

В GenerateList(string mylimit) добавили трайкеч во имя парсинга из строковой переменной в целочисленную.
Создали массив историй list с размером равным количеству строк таблицы в БД.

Функцией ExtractRow с передачей в неё таблицы и номера элемента таблицы, в цикле от нуля до list.Length
заполнили массив историй list.

Обнаружили багу в представлении автора истории - енейм брался не с нулевой позиции, а с первой, второй, третьей по энэр. Fixed.

2018-10-31 09:21 Базовый ASP.ект Рефакторинг модели Story + 16 2 час. 4 мин.
повторяющиеся строки == запахи кода.
Избавляемся от ароматов сбором симметричного кода в один метод и ссылками на этот метод из места, откуда повторяющийся код изъяли.
Напоминает эволюцию денег. Вместо таскания с собой обрубков серебра, выпустим бумажки, на которых напишем - это Рубль серебра. Таскать макулатуру удобнее, а серебро лежит в Грановитой Палате под присмотром стрельцов.
Профит!

2018-10-30 12:01 Базовый ASP.ект Что такое SQL-инъекция + 16 4 час. 48 мин.
mysqldump -u root -p STORY > c:\safe\story418.sql - бекап БД
drop table story; - удалить таблицу story
mysql -u root -p story < c:\csharp\story3.sql - восстановить таблицу story из файла бэкапа

Начали крушить.
В адресной строке вызова истории по номеру после цифры номера истории добавив следующее
'; DELETE FROM story; SELECT 'a
грохнули все записи таблицы story

В адресной строке вызова истории по номеру после цифры номера истории добавив следующее
'; DROP TABLE story; SELECT 'a
грохнули саму таблицу story
Добавили метод адэдэслешс во имя экранирования апострофов, "восстановили" первый раз ЗАТЕРЕВ бэкап (боязно было), но был второй файл - он спас.
Бэкап - наше всё.
Инъекция - зло.

2018-10-29 20:35 Теория ООП Интерфейс. Кружок готов к игре! + 12 1 час. 0 мин.
для запуска игры потребуется вдохнуть таймер (тикер).
Здесь реализовали проверку на коллизию методом сравнения радиусов Лидера (Голи) он же Зыс, и кружка-жервы, оказавшегося рядом волею судеб.

2018-10-29 10:24 Базовый ASP.ект Запуск модели Story + 14 3 час. 9 мин.
В классе Story.cs переименовали методы применив заглавные буквы в начале названия в угоду традициям C#.
Создали метод Number для вывода истории по номеру.
Добавили объявления всех полей таблицы БД в класс Story.cs
В контроллере storyController.cs в методе number добавили обращение к полю id в App_Start/RouteConfig.cs с конвертацией его в строковую переменную.
Запустили - взлетели.

В представление number.cshtml добавили остальные поля таблицы для вывода на экран.
Запуск - не взлетели.
Добавили "тернарник"(?)
В C# двойной вопрос означает (??) - если выражение верно,выполняется слева от двух вопросов, если иначе - справа.

Поправили отлов ошибки пустого запроса применив трайкеч.

Для отлова ошибок несвязанных с SQL добавили в storyController.cs if адресацию на метод отлова таковых.
Для обращения к экземпляру story в новом методе вынесли инициализацию и конструктор story из методов вверх класса storyController.

IsError метод был добавлен у класс Story.cs

PS Поговорка от Валерия: Жить легко очень трудно.

2018-10-28 10:45 Дневник успеха 2018-10-28 : У ленивой пряхи и для себя нет рубахи. + 13 11 мин.
Стены и цепи излишни, когда тюрьма в голове определяет границы свободы.

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

+ Я написал 23 сообщения 13 формулистам общим объёмом 11 килобуквиц

+ Я набрал 15 текстов:
    1 => «СОЛО на клавиатуре / 70 упражнений», без ошибок
    2 => «СОЛО на клавиатуре / 75 упражнений», без ошибок
    3 => «СОЛО на клавиатуре / 80 упражнений», без ошибок
    4 => «СОЛО на клавиатуре / 85 упражнений», без ошибок
    5 => «СОЛО на клавиатуре / 90 упражнений», без ошибок
    6 => «СОЛО на клавиатуре / 95 упражнений», без ошибок
    7 => «СОЛО на клавиатуре / 100 упражнений», без ошибок
    8 => «C# набор / 50 Ангелов», без ошибок
    9 => «Java - Запуск / public private», без ошибок
    10 => «Java - Запуск / Main», без ошибок
    11 => «Java - Запуск / Скобки», без ошибок
    12 => «Java - Запуск / String[] args», без ошибок
    13 => «Java - Запуск / System.out», без ошибок
    14 => «Java - Запуск / Главное заклинание», без ошибок
    15 => «Java - Циклы / Java For Loops», без ошибок

+ Я решил 3 задачи:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Футбольная База / Схема базы» на 100%
    3 => «Футбольная База / Стадионы» на 100%

+ Я выполнил 7 видеоуроков:
    1 => «Теория ООП / Интерфейс. Площадка для игры.» за 31 мин.
    2 => «Теория ООП / Интерфейс. Кружок на площадке.» за 35 мин.
    3 => «Теория ООП / Интерфейс. Запускаем кружки на площадку!» за 33 мин.
    4 => «Теория ООП / Интерфейс. Кружок хочет играть.» за 25 мин.
    5 => «Базовый ASP.ект / Создание SQL-запросов» за 42 мин.
    6 => «Базовый ASP.ект / Подключение к базе данных» за 1 час. 13 мин.
    7 => «Базовый ASP.ект / Работа над ошибками» за 4 час. 42 мин.

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

СОЛО на русском языке Владимира Владимировича было финализировано, сертификат в копилку. Видео с полотенечком и тестовым набором впереди. На тапок снимать желания нет, пока не придумал сценария и места для эпического видео ))
Воскресный световой день потрачу на снятие мотора с лодки, пора ему на ТО, а поскольку топтун у меня не румпельный(https://www.youtube.com/watch?v=i9kHF1wUutA), придётся повозиться с отключением дистанции и рулевого управления. Да и переть 50 кг от воды до машины - не дирижерской палочкой махать. Повеселимся, бывало))
Уроки проходятся веселее те, что на C# и позаковыристее те что на веб-разработке. Последние имеют мины в виде различия версий в уроке и доступных на момент скачивания курсантом с того же сайта. Учитывайте, что если нет желания попасть в непонятное - ставьте ту же версию, что и прозвучала в уроке.

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

2018-10-28 10:32 Теория ООП Интерфейс. Кружок хочет играть. + 10 25 мин.
метод Беги будет реализован через цикл изменения координаты по sx, sy
Метод Поймал - проверка на касание (совпадение координат с радиусом) с другим кружком.

2018-10-27 21:14 Теория ООП Интерфейс. Запускаем кружки на площадку! + 18 33 мин.
колдунство с передачей аргументов в методы начинает в башне обретать некие очертания.
Но это до сих пор остаётся колдунством криптоосознаваемым.

2018-10-26 14:57 Базовый ASP.ект Работа над ошибками + 14 4 час. 42 мин.
Создали представление View - Error для информирования о возможных ошибках. Вывод сообщений об ошибках реализован в виде HTML страницы.

Применили структуру(переменную) @ViewBag, поместили его в теги параграфа <p></p>

В storyController создали метод проверки на наличие ошибок и запуска вывода сообщения об ошибке.

В методе обработки запроса пользователя public ActionResult Index() добавили ветку на вывод страницы с информацией об ошибке в случае её возникновения.

В метод обработки ошибок добавили ссылку на представление Error.schtml с указанием полного пути к файлу

Перешли к реализации отлова ошибок.

В классе MySQL создали статические строковые переменные error и query с публичным доступом к чтению и приватным редактирование.

Создали булевый метод возвращающий значение ошибки лишь при её наличии

В классе MySQL добавили трай-кеч для материализации ошибок при их возникновении в методы MySQL и Select.

Перенесли тестовый запрос в классе Story.sc из метода Story в метод random


Запустили тест без вызова в контроллере storyController метода random из класса Story.cs - не взлетели

Добавили вызов - взлетели.

Пошли крушить код:
в Селекте обратились к несуществующей таблице - компиляция успешна, вызов Случайная - ошибка с пояснением.
(себе добавил дебага - вместо cshtml сначала ввёл schtml расширение файла представления - увидел ошибку обращения к несуществующему файлу. Пояснение было на экране - найти корень проблемы не составило труда).

В ВебКонфиге порушили пароль подключения к БД - снова ошибка на экране.

Поставили брякпойнт в методе random класса storyController и через F11 смотрим с открытием выпадающих меню.

ЗЫ в финале видео услышал пожелание Игромистра к курсантам "нарабатывать свои 10 000 часов, чтобы стать..."
0пачки!

2018-10-25 21:20 Теория ООП Интерфейс. Кружок на площадке. + 8 35 мин.
для рисования эллипса (и круга соответственно) указывается не точка центра и радиус, как было бы логично, а координаты правого верхнего угла и левого нижнего угла.

допилить сегодня, 25 октября 2018 года, на сто первом году Великой Октябрьской Социалистической революции, сто уроков у Владимира Владимировича и узреть свой результат.
2018-10-24 21:15 Теория ООП Интерфейс. Площадка для игры. + 9 31 мин.
Arena класс требуется для организации площадки для игры во избежание разбегания кружков-снеговиков за пределы экранной формы в бесконечность.

2018-10-23 18:10 Базовый ASP.ект Подключение к базе данных + 16 1 час. 13 мин.
ПОМНИ! Если не хочешь блуждать ежиком в тумане - ставь версии как в уроке!
Пока не поставил коннектора 6.9.8 - ничего не вытанцовывалось

2018-10-22 17:45 Базовый ASP.ект Создание SQL-запросов + 13 42 мин.
DELETE FROM story; грохнет все данные, но не сбросит автоинкремент.
TRUNCATE TABLE story; - чистит и индексы, а не только данные таблицы.

2018-10-21 21:48 Дневник успеха 2018-10-21 : Глазам страшно, а руки сделают. + 12 9 мин.
За эту неделю:

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

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

+ Я набрал 13 текстов:
    1 => «СОЛО на клавиатуре / 40 упражнений», без ошибок
    2 => «СОЛО на клавиатуре / 45 упражнений», без ошибок
    3 => «СОЛО на клавиатуре / 50 упражнений», без ошибок
    4 => «СОЛО на клавиатуре / 55 упражнений», без ошибок
    5 => «СОЛО на клавиатуре / 60 упражнений», без ошибок
    6 => «СОЛО на клавиатуре / 65 упражнений», без ошибок
    7 => «C# набор / Вывод элементов матрицы», без ошибок
    8 => «C# набор / Вывод числа по разрядам», без ошибок
    9 => «C# набор / Выделение подстроки», без ошибок
    10 => «C# набор / Максимальный элемент массива», без ошибок
    11 => «Java - Запуск / Class!», без ошибок
    12 => «Java - Запуск / Static», без ошибок
    13 => «Java - Запуск / void», без ошибок

+ Я решил 1 задачу:
    1 => «Олимпиада / Случайная задача» на 100%
Остальные не попали в отчет почему-то, я решал их как в том фан-видео, где перед экспертом стояла задача нарисовать семь красных перпендикулярных линий синим цветом, судя по всему.

+ Я выполнил 10 видеоуроков:
    1 => «Теория ООП / ПОЛУФИНАЛЬНЫЙ УРОК.» за 25 мин.
    2 => «Теория ООП / Интерфейс. Зачем он нужен.» за 43 мин.
    3 => «Теория ООП / Интерфейс. Правила игры.» за 41 мин.
    4 => «Теория ООП / Интерфейс. Алгоритм игры.» за 23 мин.
    5 => «Теория ООП / Интерфейс. Создаём кружок.» за 19 мин.
    6 => «Базовый ASP.ект / Создание пустых страниц» за 38 мин.
    7 => «Базовый ASP.ект / Создание модели Story» за 48 мин.
    8 => «Базовый ASP.ект / Формирование меню» за 41 мин.
    9 => «Базовый ASP.ект / Установка сервера MySQL» за 1 час. 2 мин.
    10 => «Базовый ASP.ект / Схема базы данных» за 30 мин.

− Я не собрал ни одного Мегахеша :o(
Ежедневная норма выполняется, на работе в свободное время прохожу Базовый ASP.ект, дома по вечерам либо в выходные - Теория ООП.
СОЛО набирается до боли в мышцах ладоней, что немало удивляло. Прежде подобное было лишь в Кировском Политехе, когда от авторучки пальцы болели. Ощущения новые, занятно.
Сеттимана проссима абьямо:
1. Продолжить ASP.Net курс
2. Завершить СОЛО Русский Язык.
3. Обратить внимание на раздел PHP.

2018-10-21 18:50 Теория ООП Интерфейс. Создаём кружок. + 12 19 мин.
создали конструктор для кружка, но пока не вывели его на форму.
Дальше будет создание палитры graph и реализация метода Draw.
Я так думаю!

2018-10-21 12:30 Теория ООП Интерфейс. Алгоритм игры. + 10 23 мин.
на форме надо создать палитру и объекты, которые и станут игроками. Для перемещения надо задействовать Таймер, как я предполагаю.

2018-10-21 11:21 Теория ООП Интерфейс. Правила игры. + 13 41 мин.
private void FindNewLeader() - проверка на касание игроков, отметка Лидера(Голи) присваивается второму из коснувшихся.
private void SetNewLeader(Игрок gamer) - присваивание метки Голя новому игроку.

2018-10-20 12:35 Теория ООП Интерфейс. Зачем он нужен. + 12 43 мин.
Интерфейс - прокрустово ложе возможных действий лица, имеющего доступ к этому Интерфейсу.
За пределы прописанного в Интерфейсе не выскочишь. Похоже на enum.

2018-10-20 11:46 Теория ООП ПОЛУФИНАЛЬНЫЙ УРОК. + 12 25 мин.
1. Курс пролил свет на создание классов, создание методов с передачей в них параметров. Практиковались в создании объектов и размещении их на палитре в экранной форме. В процессе разработки перемещали симметричный код в отдельные методы, а то и классы, избавляясь тем самым от избыточности и повторений. Переопределяли методы, закрывали и открывали по необходимости доступ к классам или методам. Снеговики рисовались и перемещались.
Нравится здесь необъяснимая способность Игромистра заствить учиться человека даже в 42 годика. А это оказалось нелегко, но возможно. Особенно выпукло наблюдаю эту борьбу на курсе СОЛО, к которому так и не подошел бы без пендаля от Игромистра.
2. Аз есмь Синицын Дмитрий Андреевич из города Кирова. Он же Хлынов, он же Вятка, он же Крутогорск из произведений Михаила Евграфовича Салтыкова-Щедрина, он же город Глупов из "Истории одного города" (местами очень забавное творение о жизни в дореволюционной России).

2018-10-19 16:24 Базовый ASP.ект Схема базы данных + 15 30 мин.
SHOW DATABASES; - показать имеющиеся БД
CREATE DATABASE STORY; - создать БД Стори
use STORY; - использовать эту БД
CREATE TABLE story (.....); - создать таблицу
show tables; - показать таблицы
explain story; - детализация таблицы
show create table story; - вывести строку создания таблицы

2018-10-18 17:24 Базовый ASP.ект Установка сервера MySQL + 15 1 час. 2 мин.
поставил MySQL той же версии, что и в уроке, ибо в процессе скачивания почитал отчёты курсантов с предостережением о проблемах с последней версией.
Перезакачал из старых и не нарвался на затыки. Успех радует.

2018-10-17 17:21 Базовый ASP.ект Формирование меню + 13 41 мин.
_Layout.cshtml - макет базовой страницы
@Html.ActionLink создаёт ссылку и имеет три строковых параметра:
Application name - текст надписи являющейся гиперссылкой
Index - имя метода
Home - имя контроллера
Для превращения Представления созданного без Модели в представление связанное с Моделью в файл Представления в начале добавляется строка вида
@model DjMoney5.Models.Story где DjMoney5 - это название Модели

2018-10-16 17:19 Базовый ASP.ект Создание модели Story + 9 48 мин.
Модель содержит основной функционал, модель подключается к БД, модель  - ядро логики проекта.
Создали переменные для хранения заголовка и самого текста истории.
Создали конструктор без подключения к БД с инициализацией переменных и заготовкой текстовки.
Организовали доступ к переменным со свободным получением и закрытым редактированием.
Создали ссылку на модель в контроллере story.
Создали экземпляр класса Story в методе ActionResult number()
Добавили в storyController юзинг (подключили) нашей модели(в моем случае Kirov1934.Models у Игромистра - DjMoney.Models).

Пересоздали представление к методу ActionResult number() для появления в методе ссылки на новосозданную Модель. return View (); => return View(story);

Контроллер - связующее звено между Моделью и Представлением.
Пересоздали Вид number.cshtml удалив имеющийся и создав новый Empty с выбором в опциях нашей Модели(в моем случае Kirov1934.Models у Игромистра - DjMoney.Models).

В заголовке <h2>...</h2> запросили заголовок из Модели, в параграфе <p>...</p> вызвали саму историю.

Курсор расположив в методе ActionResult number() контроллера storyController жмём F5 и задерживаем дыхание. У кого ноуты старые, могут начинать дышать до завершения запуска ибо запускается небыстро.

2018-10-15 17:05 Базовый ASP.ект Создание пустых страниц + 17 38 мин.
создали pageController и storyController. Добавили методы для страниц сайта и создали в них представления по одному для каждой страницы.

2018-10-14 17:54 Дневник успеха 2018-10-14 : Поспешишь – людей насмешишь. + 12 7 мин.
За эту неделю:

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

+ Я написал 23 сообщения 9 формулистам общим объёмом 13 килобуквиц.

+ Я набрал 19 текстов:
    1 => «YESOLO on the Keyboard / 75 lesson», без ошибок
    2 => «YESOLO on the Keyboard / 80 lesson», без ошибок
    3 => «YESOLO on the Keyboard / 85 lesson», без ошибок
    4 => «YESOLO on the Keyboard / 90 lesson», без ошибок
    5 => «СОЛО на клавиатуре / Начинаем русское соло.», без ошибок
    6 => «СОЛО на клавиатуре / 5 упражнений», без ошибок
    7 => «СОЛО на клавиатуре / 10 упражнений», без ошибок
    8 => «СОЛО на клавиатуре / 15 упражнений», без ошибок
    9 => «СОЛО на клавиатуре / 20 упражнений», без ошибок
    10 => «СОЛО на клавиатуре / 25 упражнений», без ошибок
    11 => «СОЛО на клавиатуре / 30 упражнений», без ошибок
    12 => «СОЛО на клавиатуре / 35 упражнений», без ошибок
    13 => «C# набор / Звездочки», без ошибок
    14 => «C# набор / Обмен элементов», без ошибок
    15 => «C# набор / Разделить строку на слова», без ошибок
    16 => «C# набор / Заполнение массива», без ошибок
    17 => «C# набор / Формирование массива», без ошибок
    18 => «C# набор / Вывод элементов массива», без ошибок
    19 => «C# набор / Ввод элементов матрицы», без ошибок

+ Я решил 2 задачи:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Футбольная База / Схема базы» на 100%

+ Я выполнил 9 видеоуроков:
    1 => «Соло на клавиатуре / 80 уроков» за 5 мин.
    2 => «Теория ООП / Спрайт для Снеговика» за 37 мин.
    3 => «Теория ООП / Перемещение круга» за 32 мин.
    4 => «Теория ООП / Перемещение других фигур» за 1 час. 6 мин.
    5 => «Теория ООП / Перемещение Снеговиков» за 41 мин.
    6 => «On-line игра / 2. Рефакторинг. Перечисление субъектов» за 24 мин.
    7 => «Базовый ASP.ект / Мы начинаем ASP.NET с MVC» за 1 час. 30 мин.
    8 => «Базовый ASP.ект / Выбор темы для проекта» за 43 мин.
    9 => «Базовый ASP.ект / Создание схемы проекта» за 28 мин.

− Я не собрал ни одного Мегахеша :o( Ибо, если начать на моём железе охоту на хеши, копм встаёт колом, как при активности супермегаантивируса дяди Жени Касперского. С учетом того, что свободные минуты тратятся на СОЛО Владимира Владимировича, а там эти лаги сбивают с ритма набора тестов - вообще не вариант. Удивляюсь и снимаю шляпу перед успешно хеширующими курсантами. То ли железо мощнее у них, то ли секретными настройками владеют, то ли лаги не беспокоят. Ребус.
В субботу мастерски увернулся от топляка на 695 километре реки Вятка на полном ходу, чему несказанно рад.
Следующую неделю посвятить хотелось бы СОЛО на русском языке + ASPекту базовому.
418

2018-10-14 10:49 Теория ООП Перемещение Снеговиков + 15 41 мин.
организовали тандем методов override public void Move (Pixel position) класса Sprite.cs и virtual public void Move (Pixel position) класса Shape.cs для перемещения снеговиков.

F11 - пошаговое исполнение в режиме отладки.
Красную точку ставь левее номера строки.

Суть полиморфизма - это способность объекта использовать методы производного класса, который не существует на момент создания базового.
Методы, которые требуют переопределения - абстрактные.
Объект абстрактного класса невозможно создать.

Метод, переопределяемый в производном классе - виртуальный.
В базовом абстрактном классе об этом методе нет никакой информации.

2018-10-13 10:46 Теория ООП Перемещение других фигур + 15 1 час. 6 мин.
1.
В классе Form1 объявили два объекта: box класса Box и line класса Line.
В методе Demo сконструировали new линию line класса Line по координатам.
Вызвали метод SetGraphics для новосозданной линии.
Нарисовали линию методом circle.Draw();
Запустили - не работает.
Добавили перемещение линии методом Мув line.Move(new Pixel(100, 100));
Запустили - не работает.
В классе Line отредактировали метод Draw добавив дельту position по икс и игрек так:
graph.DrawLine(pen,
                begin.x + position.x, begin.y + position.y,
                ended.x + position.x, ended.y + position.y);
Запустили - не работает.
Поправили рисование линии методом circle.Draw(); на line.Draw();
Линия нарисована!
2.
В методе Demo сконструировали new бокс box класса Box по координатам.
Вызвали метод SetGraphics для установления палитры.
Создали точку Pixel P = new Pixel(100, 100); забрав координаты из вызова метода circle.Move(P);
Отредактировали вызов перемещения линии, бокса и окружности убрав там создания точек, заменив это на созданную выше точку Р.
Вызвали метод рисования бокса box.Draw();
Исправили метод рисования добавив перемещения:
graph.DrawRectangle(pen,
                corner1.x + position.x, corner1.y + position.y,
                width, height);
Чупа-чупс нарисован.

3 Отредактировали метод buttonMoveMe_Click для перемещения всего набора фигур:
Конструктор координаты вынесли в начало метода Pixel P = new Pixel(150, 200);
Добавили вызовы метода перемещения и вызовы метода рисования для каждой фигуры.
Чупа-чупс летает!

2018-10-12 16:37 Базовый ASP.ект Создание схемы проекта + 12 28 мин.
не буду отклоняться от линии Евгения и Валерия, и начну с сайта историй. А дальше, если силы пребудут с нами, прикрутим к этому и фото с видеоматериалами.
Благо, их вдоволь.
История для старта: Когда у вас появляются деньги – у вас появляются женщины. Когда у вас появляются женщины – у вас пропадают деньги. Когда у вас пропадают деньги – у вас пропадают женщины. Когда у вас пропадают женщины – у вас появляются деньги. Если вы сможете вырвать из этого порочного круга женщин - вы будите чертовски богатым мужчиной!
2018-10-11 15:13 Базовый ASP.ект Выбор темы для проекта + 10 43 мин.
/ - главная страница проекта Kirov 1934.
/kirov/database - полный список фото- и видеоматериалов
/kirov/best - туристические достопримечательности
/search - поиск по адресам
/faq - частые запросы пользователей
/about - о сайте
Работал в банке с названием в 13 букв в нулевых годах. Запускал в работу POS-терминалы. С одной точкой возня была неожиданно тупиковая - не видел его сервер Процессинга в Кардцентре г. Тюмени. Ну никак. И с права заходил, и слева. И техподдержку напряг и связистов. Нет коннекта и хоть ты тресни. В очередной день начал стучаться терминалом в КЦ, тишина. И тут по чату выходит на связь из головного коллега и говорит: Дима, там твой терминал не пускают в бой - мне говорят стучится какой-то неутомимый хакер!
Посмеялись тогда от души. Лет прошло немало, но история запомнилась.
2018-10-10 14:31 Базовый ASP.ект Мы начинаем ASP.NET с MVC + 9 1 час. 30 мин.
MVC
Model - ядро
Controller - связь ядра с отображением
View - интерфейс пользователя.

localhost:1062/Home/About == имя сервера:порт/Имя контроллера/Имя вызываемого метода в контроллере

2018-10-10 13:52 Соло на клавиатуре 80 уроков + 8 5 мин.
Занимаюсь в перерывах между работой и вечером. Клавиатуры предпочел с низкими клавишами - удобнее перебрасывать пальцы. Занимаюсь с того момента, как был объявлен первый марафон, в срок не уложился, не особо напирал да и пару дней в Москве провел без практики.
По результату. Скорости никакой, но слепым методом печатать научился. Чтобы нарастить скорость, видимо надо пройти те семь раз, что я слышал не раз. Или быть моложе\умелее\прилежнее (нужное подчеркнуть).
СОЛО работает, это подтверждаю. И даже затягивает, как сигареты и сочные девушки )

2018-10-10 11:37 On-line игра 2. Рефакторинг. Перечисление субъектов + 12 24 мин.
В пространство имен LibraryGame добавили класс Subject для добавления в программу перечисления enum.
nulls - ничего не передано
space - пустое пространство
block - стенка, куда ходить никак нельзя
user1 - юзверь
money - золотое руно.
Цель - ограничить варианты передачи в метод указанной маской.

2018-10-09 21:35 Теория ООП Перемещение круга + 18 32 мин.
Move (Pixel position) создали в базовом классе и обращаемся к этому методу из дочерних.
Если начальные координаты отличные от нуля, то при изменении position дельта складывается с начальным значением. Учесть!

2018-10-08 20:51 Теория ООП Спрайт для Снеговика + 16 37 мин.
при использовании КОЛЛЕКЦИИ (в отличие от массивов), группа объектов в классе может динамически возрастать и сокращаться в соответствии с потребностями приложения.

2018-10-07 17:25 Дневник успеха 2018-10-07 : Не тот хорош, кто лицом пригож, а тот хорош, кто на дело гож. + 15 7 мин.
Чтобы привести технику в движение и использовать ее до дна, нужны люди, овладевшие техникой, нужны кадры, способные освоить и использовать эту технику по всем правилам искусства.
Техника без людей, овладевших техникой, мертва. Техника во главе с людьми, овладевшими техникой, может и должна дать чудеса.
За эту неделю:

+ Я проверил 382 отчёта у 58 формулистов. - добиваю до нуля, не так сложно посмотреть отчеты курсантов

+ Я написал 30 сообщений 14 формулистам общим объёмом 14 килобукв. - В чужой монастырь с поучениями не лезу, безграмотностью в орфографии сверкать желания нет, писал по минимуму.

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

+ Я решил 1 задачу:
    1 => «Олимпиада / Случайная задача» на 100%
- вроде бы одну в день делал, хз, почему так посчитал Робот Шарп Иванович.

+ Я выполнил 7 видеоуроков:
    1 => «Теория ООП / Второй Снеговик» за 46 мин.
    2 => «Теория ООП / Богатое наследство» за 32 мин.
    3 => «Теория ООП / Фигуральный базовый класс» за 12 час. 29 мин.
    4 => «Теория ООП / Приведение с мотором» за 36 мин.
    5 => «Теория ООП / Переезд метода Draw» за 40 мин.
    6 => «Теория ООП / Переезд graph в базовый класс» за 1 час. 26 мин.
    7 => «Теория ООП / Мощь полиморфизма» за 42 мин.
- снова минимум, выполняемый по вечерам, ибо свободное время отдаётся СОЛО.

− Я не собрал ни одного Мегахеша :o(
- комп тормозит, даже самый жутко сильный, работать сносно можно, но вот СОЛО набирать - цирк натуральный. Лаги такие, что не знаешь где остановился.


2018-10-07 11:40 Теория ООП Мощь полиморфизма + 14 42 мин.
override - модификатор для переопределения виртуальных методов (virtual), свойств и событий базового класса.
virtual - ключевое слово, применяемое к методам, свойствам и событиям, которые могут быть переопределены (override) в производных классах.
Если класс абстрактный, то в нём НЕЛЬЗЯ СОЗДАТЬ ЭКЗЕМПЛЯР КЛАССА.

2018-10-06 12:46 Теория ООП Переезд graph в базовый класс + 14 1 час. 26 мин.
1. Объявления protected Graphics graph; и protected Pen pen; перенесли из класса Циркл в класс Шейп

для организации доступа к инициализации палитры и карандаша из любого класса
2. Инициализирующие методы public void SetGraphics (Graphics graph) и public void SetPen (Pen

pen) также переместили из Circle в Shape
3. Снова добавили using System.Drawing; для получения доступа к добавленному.
4. private void Draw(Box box) перенесли из класса Form1 в класс Box
5. Опубликовали этот метод заменив private на public
6. Убрали передачу параметров в метод Draw
7. Изменили метод Draw в классе Form1 для вызова Draw из класса Box.
8. Инициализацию палитры  карандаша сделали циклом.

9. Аналогично изменили рисование Line
10. Перенесли инициализацию карандаша в класс Shape с присвоением цвета по умолчанию Черный.
11. Убрали метод SetPen

Итог: перенесли методы рисования элементов по классам.
1. Da dichiarazioni protected Graphics graph; и protected Pen pen; trasferito dalla classe del Circle alla classe Form1
per organizzare l'accesso all'inizializzazione della tavolozza e della matita di qualsiasi classe
2. Metodi di inizializzazione public void SetGraphics (Graphics graph) e public void SetPen (Pen pen) anche spostato da Circle a Shape
3. Aggiunto di nuovo usando System.Drawing; per accedere all'aggiunta.
4. private void Draw (Box box) è stato trasferito dalla classe Form1 alla classe Box
5. Ha pubblicato questo metodo sostituendo privato con pubblico
6. Rimosso i parametri di passaggio al metodo Draw.
7. Modificato il metodo Draw nella classe Form1 per chiamare Draw dalla classe Box.
8. L'inizializzazione della tavolozza delle matite ha fatto un ciclo.
9. Allo stesso modo ha cambiato la linea di disegno.
10. Trasferisci l'inizializzazione della matita alla classe Shape con l'assegnazione del colore predefinita Nero.
11. Rimosso il metodo SetPen

Bottom line: spostato i metodi di disegno degli elementi per classe.
2018-10-05 20:15 Теория ООП Переезд метода Draw + 15 40 мин.
1. spostato il metodo di disegno Disegna dalla classe Form.cs alla classe Circle.cs e cancellato i riferimenti all'oggetto, poiché è lo stesso del nome della classe.
Il nome dell'oggetto è uguale al nome della classe - non specificare!
2. Aggiunto tavolozze di annunci e matita protette.
3. Aggiunto usando System.Drawing;
4. Creato un metodo per l'installazione (inizializzazione) della grafica.
5. Rimosso dal programma principale il metodo di Draas.
6. Aggiunta una chiamata al metodo Draw dalla classe Circle nella classe Form.

2018-10-04 19:32 Теория ООП Приведение с мотором + 14 36 мин.
Draw ((Line)shape); == la variabile shape viene convertita nel tipo Line.
L'interruttore non è adatto, poiché l'interruttore è di tipo Type, non utilizzato nell'interruttore.

Pixel position; - È a chilometro zero nel sistema di movimento del pupazzo di neve.
Con gratitudine e amore per prendere la lezione che mi ha insegnato Maxim Lapshinov. Redid, come promesso il codice del programma in serata. È vero, la lezione precedente era già stata accettata dai cadetti con il voto, le modifiche sono state applicate in questo rapporto.
Tutto felice giorno dell'insegnante!
2018-10-04 08:05 Теория ООП Фигуральный базовый класс + 18 12 час. 29 мин.
ha creato una classe vuota e ha aggiunto un'eredità da essa, come dalla classe base, a tutte le classi che disegnano un pupazzo di neve.
class Box : Shape
class Circle : Shape
class Line : Shape
Le classi di matite colorate non devono essere modificate perché sono gli eredi degli eredi elencati sopra.

Come disegnare non lo so ancora.
2018-10-02 20:16 Теория ООП Богатое наследство + 16 32 мин.
: Circle дописанное к названию класса равно присобачиванию описываемому классу всего кода,

прописанного в классе Circle.
Удобно!
: base (center, radius) - вызов базового класса с передачей ему параметров center и radius.
Наследование - есть неявное присутствие в классе наследнике кода класса родителя.
Чикнул двоеточие и название класса Родителя - считай приделал весь код парой движений.

2018-10-01 19:27 Теория ООП Второй Снеговик + 14 46 мин.
а) перемещать снеговика - delta+\- x & delta+\- y;
б) поворачивать снеговика - принять некую точку за центр вращения и рассчитывать изменение по х и изменение по у;
в) изменять размер снеговика - delta*\ x & delta*\ y;
поворачивать снеговика
2018-09-30 13:00 Теория ООП Рисуем Снеговика + 15 1 час. 6 мин.
Sprite è una figura composta da sotto-figure.

2018-09-29 12:05 Теория ООП Цветные карандаши + 13 1 час. 30 мин.
ogni costruttore di una classe deve avere un nome di classe.
In ogni designer di colori aggiunto:
annuncio a matita colorata,
Aggiunta di driver di sistema
cancellato inutilizzato
In ogni costruttore, il colore viene aggiunto ai parametri
Un costruttore di matite colorate è stato aggiunto al metodo di inscatolamento.
Nella classe del modulo è stata aggiunta la creazione di una seconda casella.
Difetti corretto, scatola disegnata!

2018-09-28 20:48 Теория ООП Расстояние между пикселями + 14 53 мин.
в структуре Pixel добавили метод расчёта радиуса distance и использовали его в классе Circle
Io so gli odori dei mestiery.
2018-09-27 22:02 Теория ООП Пиксели для классов + 15 40 мин.
добавили структуру Pixel в каждый класс вместо координат x и y.

2018-09-26 09:48 Соло на клавиатуре 60 уроков + 16 6 мин.
1. Как молоды мы были.
2. Как далека дорога на вершину Фудзи.
3. Как дорого любое созидательное начинание.
4. Как велик разрыв между подростковым "Хы, щас шапками закидаю" и матёрым "Штурвал на себя и тангаж не выше 11 градусов".
5. И таки Io so gli odori dei mestieri!

2018-09-25 21:50 Теория ООП Структура vs Класс + 18 26 мин.
при использовании структуры в метод передается копия объекта, при использовании класса в метод передается линк на кучу, где хранятся значения параметров.

2018-09-24 21:52 Теория ООП Структура пикселя + 16 5 час. 1 мин.
переделали привязку на местности с координат в классе формы на построение фигуры через структуру Pixel.
Структура - это урезанный в свойствах класс.

2018-09-21 10:56 Начало здесь День №4. Развитие Алгоритмического мышления. + 18 19 мин.
отчеты проверил все до последнего, комментарий написал, текст набрал, задачу решил.
Байтов набрал 35, в Египте спустил весь капитал байтов до нуля и не жалею. Опыт азарта получен в тепличных условиях, от азарта в боевых условиях предпочитаю воздерживаться.
В субботу уеду в театр Сатиры, предполагаю 1 день пропуска в занятиях.

2018-09-20 09:28 Начало здесь День №3. Безошибочное владение Клавиатурой. + 14 16 мин.
0:17 - Игромистр не пользуется эргоклавиатурой.

5 подходов,
187 символов в минуту,
5 байт.

По СОЛО.
Открыто:  50 уроков
Скорость:  181 зн/м
Время:  04:40:52
Прогресс: 21.25%

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

2018-09-19 10:30 Соло на клавиатуре 40 уроков + 16 1 час. 17 мин.
считал прежде не уроки, а задания и насчитал 60 раньше чем надо )
Сегодня добил 40-ой. Перестал гнаться за скоростью, налегаю на безошибочность.
Анекдоты английского юмора прекрасны. Каннибал после Оксфорда прокачал свои навыки, и мы подтянемся )

2018-09-18 11:50 Соло на клавиатуре Мы начинаем СОЛО Марафон + 20 8 мин.
пройден 60 урок, заметил, что курсанты шлют отчеты по прохождению, решил подтягиваться к лидерам. Прежде про СОЛО лишь слышал, но не прикасался. Ныне временами пальцы болят, на обеде гуляя по городу разминаю мизинцы, понял, что в инглише фингерс не равно тамбсам, рассказываю домашним английские анекдоты, но набор текста пока как был двумя пальцами в пределах 150 символов в минуту, так и остался.
Подтягиваю хвосты. Любопытен результат в финале.

2018-09-17 14:20 PHP Driver Настройка PHP-отладчика xDebug в PHPStorm + 15 57 мин.
++

2018-09-16 11:07 Теория ООП Круглый класс + 15 33 мин.
DrawEllipse risuet figuru po kordinatam ot levogo verkhnego ugla do pravogo nizhnego ugla.
x1, y1 - leviy verh
circle.width & circle. height - opredelyayut niz praviy niz.

2018-09-15 12:45 Теория ООП Второй класс + 17 2 час. 42 мин.
Наследование целесообразно, допустимо и приветствуется лишь в случае, если "наследник" ЯВЛЯЕТСЯ и "родителем".
"Наследник" AUDU A6 QUATTRO ACE 140HP является и "родителем" автомобилем.
"Наследник" TISSOT VINTAGE 18K GOLD  является и "родителем" швейцарские часы.

И обратно, "каска" не является наследником "головы", ибо каска не является головой и не гарантирует её наличие.

2018-09-14 09:51 PHP Driver Установка PhpStorm + 15 17 мин.
Штормим уже не впервой, скачал и установил прежде.

2018-09-13 16:54 PHP Driver Установка и настройка Apache + PHP + 14 2 час. 22 мин.
ищу причину ошибки с кодом 3384 (скриншот нумер раз). Причина ошибки была в разных разрядностях PHP и Apache.
UPD через 1 час(скриншот нумер два): Перезакачал исходники, удостоверившись в том, что оба x86, пересоздал каталоги и заново (снова-да-лад0м) внес правки через саблайм - игрушка заиграла )
Всем НХНЧ!

2018-09-13 11:23 PHP Driver Техническое задание + 18 1 час. 36 мин.
водители в БД учитываются по табельному номеру (id), имеют данные ФИО, паспорт, путевые листы, расход ГСМ.


2018-09-12 15:55 ASP.NET и GMaps Карта на сайте + 16 34 мин.
Карта выводится.

2018-09-12 15:04 ASP.NET и GMaps Золотой ключик api + 15 21 мин.
А ключик-то позолотился натурально, а не вербально с 16 июля 2018 года.

2018-09-11 17:41 ASP.NET и GMaps Координаты адреса + 15 1 час. 23 мин.
Первому созданному координаты присвоились, прочим нули. Откуда баг - пока не нашел. Любопытная картина.

2018-09-11 14:37 ASP.NET и GMaps Подключение Entity Framework + 16 1 час. 15 мин.
CodeFirst - создавай сначала свои классы, а затем EntityFramework создаст базу данных.
Затык начался с первой минуты видео - не было пункта(иллюстрация №1) меню tools -> NuGet Package Manager -> Manage NuGet Package for Solution...
Полез в инсталлер VS - он попросился на обновление самого себя. После этих обновлений стал искать недостающий "Manage NuGet Package for Solution" в
инсталлере - не нашел.
В тоске полез обратно в VisualStudio и о чудо, пункт явился! Как он всплыл, кроме как от обновления инсталлера - чудеса.
Далее пошел урок ноздря в ноздрю.

2018-09-11 11:50 Лендинг на YII2 Создание лендинг-страницы - анимация логотипа + 16 22 мин.
первое приближение к анимации сайта
public $jsOptions =['position'=>\yii\web\View::POS_HEAD]; - подключение JS скриптов в AppAsset.php
Урок выполнен 11 сентября 2018 года и на этот момент является крайним. Есть предположение, что это не навсегда.
Автору спасибо за труд и удачных новых работ!

2018-09-11 10:49 Лендинг на YII2 Создание лендинг-страницы - структура лендинга и дизайн заголовка + 17 1 час. 25 мин.
в CSS классы пиши с точки,
ай-ди пиши с решетки
Свои файлы CSS не забудь прописать в assets\AppAsset.php в классе AssetBundle

Если изменение не видно после F5, жми CTRL+F5

2018-09-10 13:46 Лендинг на YII2 Создание лендинг-страницы - дизайн базового представления + 15 59 мин.
базовое представление здесь: landingCMS\views\layouts\main.php
Гиперссылки работают через landingCMS\controllers\SiteController.php

2018-09-10 11:13 Лендинг на YII2 Настройка ссылок + 15 20 мин.
форму ссылок типа http://land.local/index.php?r=site%2Fabout
преобразовали к виду http://land.local/site/about
путем настройки config\web.php и .htaccess

2018-09-09 12:37 Лендинг на YII2 Создание пустого сайта на YII2 + 15 29 мин.
ввел абракадабру в значение cookieValidationKey в config\web.php получил вместо ошибки сайт-конфетку.

2018-09-08 11:57 Лендинг на YII2 Тема и структура лендинг-страницы + 13 1 час. 6 мин.
вспомнили про Model из MVC.

2018-09-07 15:39 Лендинг на YII2 О лендингах и фреймворке + 15 35 мин.
OpenServer и PhpStorm установлены, кони бьют копытом землю в ожидании новых американских горок создания багов и их отлова )

2018-09-07 10:49 Портфолио на Bootstrap Делаем главную страницу + 15 2 час. 1 мин.
снова первое знакомство с предметом.
Результат красив и убедителен, но требует внимания к деталюшечкам. Поставил лишнюю v после дива - всё расползлось. Что такое? Начинаешь откатывать на предыдущий работоспособный вариант - он, находишь этот баг. Брысь его - и всё снова красиво.
Валерию спасибо за насыщенную эмоциями неделю. Борьба с модальными окнами была просто восхитительна.
Научился следить за скролбаром справа - зеленый значок вверху - царствуй лёжа на печи, оранжевый - приготовиться, красный - иди ищи ошибки)

2018-09-06 16:02 Портфолио на Bootstrap Оформляем footer + 15 2 час. 31 мин.
fontawesome обновился, с io переадресует уже на com, класс
<i class="fa fa-vk"></i>
изменен на
<i class="fab fa-vk"></i>
https://fontawesome.com/icons/vk?style=brands
Много что изменилось за 2 года с момента создания видеоурока, но разобраться можно.
Урок отличный.

2018-09-06 11:34 Начало здесь День №2. Общение с Единомышленниками. + 15 18 мин.
Я не поэт, сказал стихами ))
https://www.videosharp.info/17255/checking/start=2195

2018-09-06 11:11 Портфолио на Bootstrap Работа над ошибками + 15 20 мин.
Сетка Bootstrap 3 поставляется в 4 уровнях ("контрольных точках"):
Extra small (для смартфонов .col-xs-)

Маленький (для планшетов .col-sm-)

Средний (для ноутбуков .col-md-)

Большой (для ноутбуков/настольных компьютеров .col-lg-).

Эти размеры сетки позволяют контролировать поведение сетки по разной ширине.

Пример: в сетке с 12 столбцами col-sm-3 имеет ширину 3 из 12 колонок (25%) при ширине экрана > 768 пикселей.

2018-09-05 16:09 Портфолио на Bootstrap Подробности в модальное окно + 15 1 день 1 час. 1 мин.
это было натуральное Ватерлоо.
Одно модальное открывалось, при попытке сделать второе, третье и т.д. экран покрывался серым фоном и браузер оживлялся лишь перезагрузкой страницы.
Научился за эти сутки:
Справа в NetBeans отыскивать места с ошибками в строках.
Искать и находить пропущенные <  или >.
Находить происхождение самой заковыристой ошибки, звучавшей так: End tag for "body" seen but there were unclosed elements.
Оказалось, пропустил один закрывающий </div>
Натурально, это был не урок, а битва с ошибками.
Спасибо за урок, Валерий! Это было что-то ))))

2018-09-05 11:10 Начало здесь День №1. Создание микро-Привычки. + 10 12 мин.
Проверил 5 отчетов, получил 5 байтов.

2018-09-04 11:00 Портфолио на Bootstrap Размещение работ портфолио + 19 1 час. 47 мин.
Bootstrap accordion - это компонент, который организует контент в сворачиваемых элементах.
Bootstrap accordion позволяет одновременно показывать только один свернутый элемент.
Пункты Bootstrap accordion могут переключаться через несколько текстовых блоков одним щелчком мыши, что значительно увеличивает читабельность вашего проекта.
Примеры использования Bootstrap accordion:
- FAQ (Часто задаваемые вопросы),
- Представление нескольких позиций,
- Таблицы данных.

2018-09-03 16:20 Портфолио на Bootstrap Рефакторинг страницы + 16 58 мин.
на курсе Tinklavimas смотрел отчеты тов. Глушкова (привет лидеру!) и любовался на красивые шрифты. Пробовал подтянуть подобные к себе в проект, да тямы не хватило. Валерий в этом уроке разжевал что к чему в использовании шрифтов Гугла - ныне красота доступна и мне.
Спасибо за новые горизонты!

2018-09-03 14:46 Портфолио на Bootstrap Подготовка картинок для портфолио + 16 1 час. 33 мин.
XnView установил, скриншоты наваял.

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

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

− Я не написал ни одного сообщения в НКПС :o(

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

+ Я решил 14 задач:
    1 => «Do-рацикл / Сумма последовательности» на 100%
    2 => «Do-рацикл / Меньше ε» на 100%
    3 => «Do-рацикл / Снова меньше ε» на 100%
    4 => «Do-рацикл / По модулю меньше ε» на 75%
    5 => «Узник цикла IF / Девять чисел» на 100%
    6 => «Узник цикла IF / Нули» на 100%
    7 => «Последовательность / Минимальное и максимальное число» на 100%
    8 => «Последовательность / Новая последовательность» на 100%
    9 => «Олимпиада / Случайная задача» на 100%
    10 => «24 - Муза Оля / Дядюшка Эхо» на 100%
    11 => «4004 - Елена Вставская / Повторяющиеся цифры» на 100%
    12 => «Задачи / Палиндром» на 100%
    13 => «Задачи / Бинарник» на 100%
    14 => «Задачи / Тю» на 100%

+ Я выполнил 14 видеоуроков:
    1 => «PHP парсинг XML / Волшебная ссылка» за 1 час. 5 мин.
    2 => «PHP парсинг XML / Редактируем и сохраняем» за 3 час. 37 мин.
    3 => «PHP парсинг XML / ФИНАЛЬНЫЙ УРОК» за 10 мин.
    4 => « Мультиязычное меню на JS / Запрос и JSON - ответ» за 49 мин.
    5 => « Мультиязычное меню на JS / Страница и стиль» за 56 мин.
    6 => « Мультиязычное меню на JS / Динамическое меню» за 40 мин.
    7 => « Мультиязычное меню на JS / Результаты запросов средствами JS» за 20 мин.
    8 => « Мультиязычное меню на JS / Параметры - в функцию» за 1 час. 22 мин.
    9 => « Мультиязычное меню на JS / Выбор языка на сайте» за 43 мин.
    10 => « Мультиязычное меню на JS / ФИНАЛЬНЫЙ УРОК» за 15 мин.
    11 => «Портфолио на Bootstrap / Начало - подключение bootstrap» за 52 мин.
    12 => «Портфолио на Bootstrap / Структура сайта и сетка» за 1 час. 15 мин.
    13 => «Портфолио на Bootstrap / Навигационное меню» за 34 мин.
    14 => «Портфолио на Bootstrap / Фиксированная панель и субменю» за 1 час. 9 мин.

− Я не собрал ни одного Мегахеша :o( за что мне стыдно как тому коту, что был застукан в холодильнике с палкой колбасы.
На следующей неделе предполагаю продолжить знакомство с курсами в разделе Веб и взять к январю позицию веб-дизайнера одного регионального банка. Вилами по воде, но цель поставить кто ж мне помешает )) Всем удачного учебного года!

2018-09-02 21:17 Портфолио на Bootstrap Фиксированная панель и субменю + 18 1 час. 9 мин.
Разделитель divider появился лишь со второй попытки, просто перенабрал. Хотя перед этим сличал - всё знак в знак. Вот такое колдунство наблюдал вечером воскресенья.

2018-09-01 12:22 Портфолио на Bootstrap Навигационное меню + 19 34 мин.
Троекратное <span class="icon-bar"></span> рисует на кнопке три черты горизонтальные. Где-то я это видел )) В версии videosharp.info на смартфоне - вот где эти кнопки!
Урок отличный!

2018-08-31 10:29 Портфолио на Bootstrap Структура сайта и сетка + 19 1 час. 15 мин.
лишний раз повторили - правила для CSS
тегу пиши название сразу
идентификаторы (id) пиши с решетки #
классы пиши с точки.
Отличие атрибута id от атрибута class:

id - присваивается уникальному элементу.
Элемент может иметь только один ID.
При иcпользованиее одинаковых ID более, чем один раз - валидации кода страницы не видать, как своих ушей царя Мидаса.

класс - это агрегатор свойств, применяемый к группе элементов.
Допустимы одинаковые классы для разных элементов.

2018-08-30 11:50 Портфолио на Bootstrap Начало - подключение bootstrap + 19 52 мин.
впервые глазами увидел NetBeans, скачал Bootstrap ver. 3.3.7
ФайрФокса не оказалось, открывал и начинал инсталлировать в ГуглХроме, к финалу урока пришлось установить и Мозиллу.
Das WunderBar!

2018-08-29 17:03 Мультиязычное меню на JS ФИНАЛЬНЫЙ УРОК + 21 15 мин.
Созданию комплекса HTML, CSS, JavaScript, JSON для обуздания API-сервиса Яндекс-переводчика.
Автору спасибо за труд.

2018-08-29 14:18 Мультиязычное меню на JS Выбор языка на сайте + 19 43 мин.
innerHTML позволяет получить HTML-содержимое элемента в виде строки. В innerHTML можно и читать и писать.
Вывели выбор языков выпадающим меню в экранную форму, создали функцию setMenu отрабатывающую смену языка пунктов меню по событию выбора пункта в списке языков.

2018-08-29 13:20 Мультиязычное меню на JS Параметры - в функцию + 19 1 час. 22 мин.
параметры text и lang передавай не в переменную, а в функцию.
Не забывай закрывать ВСЕ открытые кавычки, иначе получится брак в работе.
В Brackets подсветка синтаксиса очень выручает - исправишь один метод - подсветится связанный с ним. Здесь (в этом уроке) заметил такой механизм. Наглядно.

2018-08-29 09:59 Мультиязычное меню на JS Результаты запросов средствами JS + 19 20 мин.
Добавили в див main первый скрипт, перевод и тестовая ошибка возвращаются без затруднений. Не то что давеча )))

2018-08-28 17:38 Мультиязычное меню на JS Динамическое меню + 23 40 мин.
О, это был натуральный катарсис, когда этот скрипт заработал!!!
Все глаза просмотрел в мониторы, - не работает. Под финал попробовал в жесткую цикл меньше пяти поставить - ожил!!!
Затем вернул на эррэй лентх))) и так тоже живет. Чего ему недоставало прежде... Там правда после скобок докьюментврайт была точка с запятой, но и после её удаления не сразу полегчало.
Интрига-с!
ЗЫ в финале пошалил про Вятский Квас, ибо урок дался нелегко )))

2018-08-28 16:30 Мультиязычное меню на JS Страница и стиль + 20 56 мин.
Emmet - восклицательный знак + Табуляция == заготовка HTML
Emmet - div#main + Табуляция == <div id="main"></div>
(li>a{$})*3 + Табуляция == заготовка троекратно <li><a href="">1</a></li>

2018-08-28 14:23 Мультиязычное меню на JS Запрос и JSON - ответ + 20 49 мин.
Пообщался с сервером Яндекса на тему итальянской лирики через адресную строку браузера. Множество диалектов предполагает различное звучание знакомых стихов. Итальянцы прекрасны.
Поскольку параметры вводятся через адрес в браузере, это открывает широчайшие возможности для злоумышленников во взломе сайтов.

2018-08-28 11:38 PHP парсинг XML ФИНАЛЬНЫЙ УРОК + 16 10 мин.
Доввел полный ассортимент продукции кировского завода "Вятич", попрактиковался в раздельной записи видеоряда и аудиотрека для видеоотчета. Получилось красочно. Валерию спасибо за сочный курс!

2018-08-27 14:12 PHP парсинг XML Редактируем и сохраняем + 18 3 час. 37 мин.
Налажена двусторонняя связь между xml-источником данных и веб-формой для редактирования позиций прайслиста.

2018-08-27 10:19 PHP парсинг XML Волшебная ссылка + 19 1 час. 5 мин.
Переменная $id передаваемая в строковом формате не позволяет передавать содержимое массива.
Для передачи содержимого $shop требуется приведение $id в целочисленный тип.

2018-08-26 11:41 Дневник успеха 2018-08-26 Вот и лето прошло... + 16 7 мин.
За эту неделю:

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

− Я не написал ни одного сообщения в НКВД :o(

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

+ Я решил 43 задачи:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «IF - Условия / Меньше, равно, больше» на 100%
    3 => «IF - Условия / Три числа» на 100%
    4 => «IF - Условия / Модуль» на 100%
    5 => «IF - Условия / Сумма или произведение» на 100%
    6 => «IF - Условия / Чет / нечет» на 100%
    7 => «IF - Условия / Отрицательный куб» на 100%
    8 => «IF - Условия / Последняя цифра» на 100%
    9 => «IF - Условия / Три Максима» на 100%
    10 => «IF - Условия / Сумма положительных» на 100%
    11 => «IF - Условия / Минимальное расстояние» на 100%
    12 => «IF - Условия / Минимальное произведение» на 100%
    13 => «IF - Условия / Возрастание» на 100%
    14 => «IF - Условия / В промежутке» на 100%
    15 => «IF - Условия / Минимальное неотрицательное» на 100%
    16 => «IF - Условия / Наибольшее при условии» на 100%
    17 => «IF - Условия / Неделька» на 100%
    18 => «Сумматоры / Пятнашка» на 100%
    19 => «Сумматоры / Пять!» на 100%
    20 => «Сумматоры / Фифти-фифти» на 100%
    21 => «Сумматоры / Факториал» на 100%
    22 => «Сумматоры / Квадратики» на 100%
    23 => «Сумматоры / Кубики» на 100%
    24 => «Сумматоры / Степень» на 100%
    25 => «Сумматоры / Гармоника» на 100%
    26 => «LOOP - Циклы / while 0-9» на 100%
    27 => «LOOP - Циклы / while 9-0» на 100%
    28 => «LOOP - Циклы / do 0-9» на 100%
    29 => «LOOP - Циклы / do 9-0» на 100%
    30 => «LOOP - Циклы / Атомный ноль» на 100%
    31 => «LOOP - Циклы / Количество цифр» на 100%
    32 => «LOOP - Циклы / Сумма цифр» на 100%
    33 => «LOOP - Циклы / Произведение цифр» на 100%
    34 => «Потоки / Количество» на 100%
    35 => «Потоки / Средний байт» на 100%
    36 => «Потоки / Минимакс потока» на 100%
    37 => «Потоки / Повторение рекорда» на 100%
    38 => «Потоки / Пустозвон» на 100%
    39 => «Потоки / Лесенка» на 100%
    40 => «Потоки / Сумма троек» на 100%
    41 => «Потоки / Средний сосед» на 100%
    42 => «Коллекции / Классики» на 100%
    43 => «Коллекции / Апрельские дни» на 100%
ОТДЕЛЬНОЕ СПАСИБО chokayes за подсказку, что делить на ноль чревато ))

+ Я выполнил 14 видеоуроков:
    1 => «PHP парсинг XML / Создание XML-файла» за 40 мин.
    2 => «PHP парсинг XML / Чтение из XML-файла» за 25 мин.
    3 => «PHP парсинг XML / Функциональный функционал - в функции» за 1 час. 9 мин.
    4 => «PHP парсинг XML /  Изменяемый XML» за 46 мин.
    5 => «PHP парсинг XML / Универсальный рефакторинг» за 39 мин.
    6 => «PHP парсинг XML / Хаос - в таблицу» за 31 мин.
    7 => «PHP парсинг XML / Готовим форму» за 29 мин.
    8 => «Интернет-магазин / Нет картинки» за 34 мин.
    9 => «Интернет-магазин / Редирект на список» за 38 мин.
    10 => «Интернет-магазин / Интерактивный список» за 14 мин.
    11 => «Интернет-магазин / Отправка файла» за 29 мин.
    12 => «Интернет-магазин / Сохранение файла» за 24 мин.
    13 => «Интернет-магазин / Запись имени файла в базу» за 18 мин.
    14 => «Интернет-магазин / ФИНАЛЬНЫЙ УРОК» за 5 дней 21 час. 47 мин.

− Я не собрал ни одного Мегахеша :o( В чем каюсь и не теряю надежды обновить парк ноутов до приличных экземпляров, способных между делом захешировать в день хотя бы один мегахеш.
На следующей неделе доведу до финала курс XMLparsing и продолжу постижение раздела Perconal Home Page.
И кроме всего прочего я считаю, что Карфаген должен быть разрушен.
А здесь лирика для пытливых умов: https://www.youtube.com/watch?v=bSQGBaSqQCQ

2018-08-26 11:25 Интернет-магазин ФИНАЛЬНЫЙ УРОК + 20 5 дней 21 час. 47 мин.
UPD 20180826 Добавил видеоотчет в фотокурс, не догадавшись это сделать сразу, ошибочно предполагая, что в фотокурсе финальному уроку видео не требовалось
Этот марш-бросок вызывал и оторопь и восторг от успехов, и необходимость напрягать мозги, и гуглить как ошпаренная кошка.
Курсант не имеющий представления о PHP получит первые навыки, люди опытные разомнут извилины, всяк своё найдёт.
Полного освоения Personal Home Page Tools этот курс не даст, но знакомство с темой, дошедшему до финала обеспечено.
Желать большего количества подсказок == лишать курсантов счастья погуглить по теме. Ищущий всяко обрящет.
Сетовать на отсутствие видеопояснений тоже глупо - посмотришь другие курсы, одному не нравится что слишком разжевывают, другому - мало объяснений.
На всех не угодишь. Спасибо за курс, такой какой есть.
В следующей серии вы увидите
YII
الله عظيم

2018-08-26 10:23 PHP парсинг XML Готовим форму + 16 29 мин.
div-ами и input type-ами создали админку для редактирования пунктов нашего прейскуранта.

2018-08-25 08:42 PHP парсинг XML Хаос - в таблицу + 15 31 мин.
tr - table row
th - table head
td - table data
Расшифровки до сих пор не знал внятно ) Спасибо, Валерий!

2018-08-24 10:09 PHP парсинг XML Универсальный рефакторинг + 16 39 мин.
Вынесли изменение каждой из характеристик пункта товара в функцию setElement.

2018-08-23 10:05 PHP парсинг XML Изменяемый XML + 16 46 мин.
dom_import_simplexml —  функция берет узел $shop класса SimpleXML и превращает его в узел DOMElement.
Новый объект может быть использован как собственный узел DOMElement.
$dom->save(filename: 'new_shop.xml'); - создает новый файл иксмл с обновленным кодом текущей функции содержимым.

2018-08-22 11:05 PHP парсинг XML Функциональный функционал - в функции + 17 1 час. 9 мин.
В PHP, если глобальная переменная будет использоваться внутри функции, она должна быть объявлена глобальной внутри определения функции.

2018-08-21 10:27 PHP парсинг XML Чтение из XML-файла + 16 25 мин.
добавление к текстовой строке в PHP идёт через точку.
Вывод через echo.
Цикл foreach ($shop->product as $tovar) перебирает массив, задаваемый с помощью $shop->product (переменная -> тег). На каждой итерации значение текущего элемента присваивается переменной $tovar и внутренний указатель массива увеличивается на единицу

2018-08-21 09:46 PHP парсинг XML Создание XML-файла + 17 40 мин.
XML - язык с простым формальным синтаксисом для создания и обработки документов программами, удобный для чтения и создания документов человеком.

2018-08-20 13:36 Интернет-магазин Запись имени файла в базу + 19 18 мин.
Допилили http://localhost/edit.php до возможности править фото товара имеющегося уже в прейскуранте.

2018-08-20 13:17 Интернет-магазин Сохранение файла + 18 24 мин.
$filename = $_FILES ["image"] ["name"];
- из системной переменной графический файл помещён в переменную $filename

2018-08-20 11:39 Интернет-магазин Отправка файла + 19 29 мин.
$_FILES - переменная для пересылки файлов через HTTP.

2018-08-20 11:04 Интернет-магазин Интерактивный список + 18 14 мин.
Значение в поле ID стало гиперссылкой и переводит на страницу соответствующую ID -> http://localhost/edit.php?id=1

2018-08-20 10:43 Интернет-магазин Редирект на список + 18 38 мин.
переадресация на wares.php

2018-08-20 09:59 Интернет-магазин Нет картинки + 18 34 мин.
Причесали форму edit.php

2018-08-19 16:50 Интернет-магазин Значения по умолчанию + 18 34 мин.
Добавили заглушку при отсутствии ввода методом if-else.
Найти как грохнуть пустую рамку без картинки (onerror="this.style.display='none';")
2018-08-19 16:12 Дневник успеха 2018-08-19 Отчёт за неделю + 18 7 мин.
الله عظيم
За эту неделю:

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

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

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

+ Я решил 50 задач:
    1 => «Календарь / День недели» на 100%
    2 => «Календарь / День года» на 100%
    3 => «Календарь / Високосный год» на 100%
    4 => «Календарь / Сколько времени» на 100%
    5 => «Календарь / Секундомер» на 100%
    6 => «Календарь / Конец месяца» на 100%
    7 => «Календарь / Кто старше» на 100%
    8 => «Календарь / Послезавтра» на 85%
    9 => «Календарь / Дидлайн» на 100%
    10 => «Календарь / Два миллиона минут» на 100%
    11 => «Календарь / По возрасту равняйсь!» на 83%
    12 => «Календарь / Двойной день рождения» на 100%
    13 => «Календарь / День программиста» на 100%
    14 => «Календарь / VIP урок. Календарь 1752 года» на 100%
    15 => «WRITE - Вывод данных / Калькулятор» на 100%
    16 => «WRITE - Вывод данных / Треугольник Паскаля» на 100%
    17 => «WRITE - Вывод данных / Особые символы» на 100%
    18 => «WRITE - Вывод данных / Формула в юникоде» на 100%
    19 => «WRITE - Вывод данных / Визитка робота» на 100%
    20 => «WRITE - Вывод данных / Константы» на 100%
    21 => «WRITE - Вывод данных / Системы счисления» на 100%
    22 => «WRITE - Вывод данных / Присваивание» на 100%
    23 => «WRITE - Вывод данных / Дискриминант» на 100%
    24 => «WRITE - Вывод данных / Китайская стена» на 100%
    25 => «WRITE - Вывод данных / Комментарии» на 100%
    26 => «READ - Ввод данных / Ввод символа» на 100%
    27 => «READ - Ввод данных / Ввод строки» на 100%
    28 => «READ - Ввод данных / Ввод числа» на 100%
    29 => «READ - Ввод данных / Ввод пяти чисел» на 100%
    30 => «READ - Ввод данных / Скажи пять слов» на 100%
    31 => «READ - Ввод данных / Таблица учеников» на 100%
    32 => «READ - Ввод данных / С днём рождения!» на 100%
    33 => «READ - Ввод данных / Обмен данных» на 100%
    34 => «READ - Ввод данных / Квадрат» на 100%
    35 => «READ - Ввод данных / Три числа» на 100%
    36 => «TYPE - Шесть типов / Целые числа» на 100%
    37 => «TYPE - Шесть типов / Знаки операций» на 100%
    38 => «TYPE - Шесть типов / Плюс плюс» на 100%
    39 => «TYPE - Шесть типов / Знак числа» на 100%
    40 => «TYPE - Шесть типов / Системы счисления» на 100%
    41 => «TYPE - Шесть типов / Вещественные числа» на 100%
    42 => «TYPE - Шесть типов / Форматирование» на 100%
    43 => «Олимпиада / Случайная задача» на 100%
    44 => «OPER - Формулы / Математика» на 100%
    45 => «OPER - Формулы / Формула 0001» на 100%
    46 => «OPER - Формулы / Формула 0010» на 100%
    47 => «OPER - Формулы / Формула 0100» на 100%
    48 => «OPER - Формулы / Формула 1000» на 100%
    49 => «IF - Условия / Максимум» на 100%
    50 => «IF - Условия / Большая разница» на 100%

+ Я выполнил 9 видеоуроков:
    1 => «Карточки памяти / ФИНАЛЬНЫЙ УРОК» за 17 мин.
    2 => «Интернет-магазин / Картинки для товаров» за 1 час. 23 мин.
    3 => «Интернет-магазин / Таблица с Картинками» за 24 мин.
    4 => «Интернет-магазин / Форма Товара» за 38 мин.
    5 => «Интернет-магазин / INSERT из РНР» за 2 час. 5 мин.
    6 => «Интернет-магазин / SELECT из РНР» за 43 мин.
    7 => «Интернет-магазин / Товар на форме» за 1 час. 13 мин.
    8 => «Интернет-магазин / UPDATE товара» за 36 мин.
    9 => «Интернет-магазин / Сохранение изменений» за 21 мин.

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

1. Познакомиться с Yii. - Не познакомился, один урок в день, открывающийся после растраты байтов в понедельник, не позволял делать и по уроку из курса "Интернет-магазин" и ещё дополнительный видеоурок. Оттого и сегодня сначала делаю отчетный, чтобы не остаться без байтов ещё на неделю. Лень и счёт около нуля до добра не доведут. Это надо исправлять.
2. Продолжить раздел Web. - Интернет-магазин делается, и надеюсь, близок к финалу для перехода к еситизу.
3. Выбирать задачи с учётом уровня сложности (заметил такой параметр в описании курсов). - Done.

2018-08-18 08:28 Интернет-магазин Сохранение изменений + 17 21 мин.
добавили if / else развилку.

2018-08-17 09:38 Интернет-магазин UPDATE товара + 17 36 мин.
UPDATE - внести изменения в информацию в таблице
WHERE - условие, куда применить изменение в определенные WHERE колонки.
Если не будет условия WHERE изменения затронут все столбцы.
LIMIT - для ограничения количества рядов для изменений.

2018-08-16 10:18 Интернет-магазин Товар на форме + 16 1 час. 13 мин.
В методе post вместо жестко указанного id: 1  ввели PHP переменную $id.
В методе post вместо жестко указанного value="Велосипед" ввели PHP переменную массива $row[ware].
В методе post вместо жестко указанного текстового поля <b>Детский велосипед</b> ввели PHP переменную массива $row[info].
В методе post вместо жестко указанного value="1999" ввели PHP переменную массива $row[price].
Добавили ссылку на изображение товара из переменной $row ["image"]
Не кожна пташка летить до середини Дніпра.

2018-08-15 09:58 Интернет-магазин SELECT из РНР + 16 43 мин.
Ассоциативный массив параметров о продаваемом товаре поместили в переменную $row и передали скриптом через URL
(Uniform Resource Locator, единообразный локатор (определитель местонахождения) ресурса).
Не самый защищённый способ, ибо передача параметра происходит явно в адресной строке браузера.
Закомментировав последнюю команду die ($id); получил в браузере вывод экранной формы.

2018-08-14 11:11 Интернет-магазин INSERT из РНР + 16 2 час. 5 мин.
string addslashes ( string str )
Возвращает сроку, где перед каждым спецсимволом добавлен обратный слэш (\).
Экранируются одиночная кавычка ('), двойная кавычка ("), обратный слэш (\) и NUL (байт NULL).
Сам символ \ в базу данных записан не будет.

Записи в базу корректно вносились лишь в латинице. Вместо кириллических знаков возвращались знаки вопроса. Пришлось вспомнить правила написания запроса DELETE. Немного поборолся. Поскольку в запросе не прописано поле image, все новые записи имеют значение NULL в поле image.

2018-08-13 13:31 Интернет-магазин Форма Товара + 17 38 мин.
POST - запрос, веб-сервер принимает данные, заключённые в тело сообщения, для хранения.
Используется для загрузки файла или представления заполненной веб-формы.
GET предназначен для получения информации от сервера.

2018-08-13 11:57 Интернет-магазин Таблица с Картинками + 17 24 мин.
SELECT прирос запросом на поле image.
В таблице тегом <th> добавили поле Picture.
Через переменную $row ["image"] в последнее поле добавили изображения товаров.

2018-08-13 11:23 Интернет-магазин Картинки для товаров + 17 1 час. 23 мин.
Создал, вывел, нашел, сохранил, сделал - видны. И ДПСника нашел для порядка )

2018-08-13 09:41 Карточки памяти ФИНАЛЬНЫЙ УРОК + 18 17 мин.
15 апреля 2018 начинал курс, 8 мая уже знакомился с Unity.
Знакомство вышло неровное, были запинки на версии фреймворка, решение было в удалении лишних using System.
Старт курса был на Windows 7 32-bit, невозможность установить свежую  версию Unity подвела к решению начать эксплуатацию 64-битной версии операционной системы.
До этого курса в принципе не понимал, зачем мне на старом железе ось под 64 бита. Были сомнения, что на 2 гигабайтах ОЗУ это всё заиграет, но заиграло и работает с мая успешно.
Игры, предполагаю летать не будут, но прикладное ПО работает, учиться позволяет.
Курс "Карточки памяти" сработал в роли мотиватора к обновлению hard- & software в процессе учебы.

2018-08-12 11:34 Дневник успеха 2018-08-12 Отчёт за неделю + 17 11 мин.
1. Выйти из минуса. // Выход из минуса предположительно в 00:00 13.08.2018(мск)
2. Продолжить раздел Web. // С удовольствием продолжается, и кушал бы большой ложкой, да видит око - зуб неймёт. Байты = рубли, коих недостача.
3. Продолжить раздел PHP. // Продолжаю с удовольствием.
4. Сохранить эшелон, по возможности нарастить. 5 месяц, полёт нормальный. // Работа позволяет сохранять темп учёбы, это плюс. Платят как воробушку - это минус. Диалектика-с.
1. Познакомиться с Yii.
2. Продолжить раздел Web.
3. Выбирать задачи с учётом уровня сложности (заметил такой параметр в описании курсов).
2018-08-12 11:19 Теория ООП Первый класс + 17 38 мин.
Применение классов и выделение унифицированных методов повышает гибкость кода для масштабирования программы, применения её частей в библиотеках для стороннего софта.
Не напороться на топляк в темноте после заката.
2018-08-11 11:25 Теория ООП Урок рисования + 16 34 мин.
DrawLine(Pen, x1(Int32), y1(Int32), x2(Int32), y2(Int32)) - Проводит линию, соединяющую две точки, задаваемые парами координат.
DrawRectangle(Pen, x(Int32), y(Int32), ширина(Int32), высота(Int32)) - Рисует прямоугольник, определяемый парой координат, шириной и высотой.
Координаты начинаются от верхнего левого угла и растут вниз и вправо.

2018-08-10 10:17 Интернет-магазин Товары в таблице + 17 29 мин.
mysqli_fetch_assoc
- возвращает ассоциативный массив,
соответствующий выбранной строке
или NULL, если строк больше нет.
Если два или более столбца результата
имеют одинаковые имена полей,
последний столбец будет иметь приоритет.
Имена полей, возвращаемые этой функцией, регистро-зависимы.

2018-08-09 10:39 Интернет-магазин Подружить PHP с MySQL + 20 1 час. 8 мин.
SQL SELECT NOW() возвращает текущую дату и текущее время компьютера.
Если надо только дату - SELECT CURRENT_DATE();

2018-08-08 09:11 Интернет-магазин Всё готово для работы + 19 22 мин.
LAMP сборка под Win - это WinAMP дистрибутивы, сконфигурированные в один пакет компонентов (Apache, MySQL и PHP) web сервера скомпилированных для работы на Windows.
Можно установить все эти компоненты по отдельности на свой комп самому, но удобнее пользоваться готовыми сборками, где уже все компоненты настроены между собой.

2018-08-07 10:48 Интернет-магазин Запуск РНР + 19 56 мин.
Принцип организации циклов не отличается от C#, переменные лишь начинаются со знака $.
&nbsp - пробел
<br>  - возврат каретки
<pre> - текст отображается моноширинным шрифтом и со всеми пробелами между словами.
<pre> позволяет обойти правило HTML, когда по умолчанию, любое количество пробелов идущих в коде подряд, на веб-странице показывается как один.

2018-08-06 13:41 Интернет-магазин SELECT запросы + 19 1 час. 36 мин.
SELECT – «проекция» (выбор столбцов).
FROM – отвечает за операцию «декартово произведение». Если указана одна таблица - значит «взять как есть».
Если несколько через запятую, то результат FROM-a будет их декартово произведение.
Декартово произведение - перебор кортежей первого отношения с каждым кортежем второго отношения.
WHERE – «селекция» (выборка строк). Будет выбрана та строка, которая удовлетворяет данному условию.

2018-08-05 11:13 Дневник успеха 2018-08-05 Отчёт за неделю + 19 18 мин.
1. В связи с приобретённым в полнолуние членством в Клубе, ознакомиться с открывшимся меню и не ошалеть от разнообразия. / Меню изучено, привлекает раздел Веб, привлекает PHP, и прочие разделы вкусны. Не везде железо отвечает минимальным требованиям (Virtualization откладывается до приобретения Core i3 как минимум), где-то уровень подготовки хочу подтянуть прежде, чем браться(к примеру Шахматы по сети).
2. Завершить Tinklavimas. / Оштукатуривание завершено, аппетит проснулся, продолжаю закидывать в то же место, где только что плескалось )
3. Грызть слепой метод набора. / Клавиатура перед носом ежедневно, однако прорыва пока не заметил.
4. Установить топовый и ходовые огни и выйти в ночь. / DONE -> https://www.youtube.com/watch?v=VO4lMTiWREI
1. Выйти из минуса.
2. Продолжить раздел Web.
3. Продолжить раздел PHP.
4. Сохранить эшелон, по возможности нарастить. 5 месяц, полёт нормальный.
2018-08-04 09:44 Коллекция графов ArrayList + 18 28 мин.
Вывел размер ArrayList в переменную rsfsr с помощью Count.

2018-08-03 13:12 ASP.NET и GMaps Запуск ASP.NET MVC + 21 3 час. 8 мин.
Запуск проекта ASP.NET сопровождался иллюстрацией номер 1, обновил Internet Explorer до 11 версии, затем урок был выполнен без затруднений.
Код для ASP.NET пишется с использованием ЯП, входящих в комплект .NET Framework (C#, Visual Basic.NET, J# и JScript .NET).
ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями.

2018-08-03 09:36 Интернет-магазин phpMyAdmin + 20 54 мин.
phpMyAdmin — СУБД на языке PHP - веб-интерфейс для администрирования СУБД MySQL.
Функции:
администрирование сервера MySQL,
запуск команд SQL,
просмотр содержимого таблиц и баз данных.

2018-08-02 17:02 ASP.NET и GMaps Презентация + 18 10 мин.
Когда-то Валерий был на втором месте! )) Видео подтверждает.
Хочу реализовать карту Кировской области с её достопримечательностями. Местный туризм в сонном виде, хотя есть и ископаемые динозавров под Котельничем и "Вятская Швейцария" в Советском районе и плавающие острова и ещё много любопытного.
Если это окажется не по зубам, могу реализовать отметки на местности, где сняты мои видео, благо по Кировской области за 11 лет накатался знатно.

2018-08-02 16:41 Singleton Singleton - Intro + 18 1 час. 13 мин.
Singlton(Одиночку) в здравом уме и твердой памяти не использовал.
Уместен этот шаблон когда в программе нужен глобальный объект с доступом из любого класса да ещё и с возможностью регулировать время его жизни.
Статический класс хорош для описания, к примеру, неизменных математических функций.
Singlton актуален для единственного процесса в программе, с гарантией запрета появления его дубликата.
getInstance() при первом обращении создает экземпляр и его возвращает
При последующих обращениях возвращает текущий объект.
Статические методы ГОРАЗДО быстрее синглтона.
Синглтон годен для наследования и полиморфизма (в отличие от статики).

2018-08-02 14:56 Демо софт Текстовый процессор + 19 3 час. 24 мин.
Unicode Transformation Format, 8-bit — формат преобразования Юникода, 8-бит.
UTF-8 сейчас является доминирующей в веб-пространстве.
23 августа 2018 года видеоуроку стукнет 4 годика. Можно праздновать )

2018-08-02 10:30 Мультиязычное меню на JS Документы и ключ + 19 25 мин.
API key секретный код, который идентифицирует вашу учетную запись.
API key это безопасный способ дать доступ к вашим данным программам и веб-сайтам.


2018-08-02 09:53 Интернет-магазин Добавление товаров + 20 1 час. 26 мин.
USE Volosatov сработало и без точки с запятой в конце.
INSERT вставляет новые строки в существующую таблицу.
Форма данной команды INSERT ... VALUES вставляет строки в соответствии с точно указанными в команде значениями.
Форма INSERT ... SELECT вставляет строки, выбранные из другой таблицы или таблиц.

2018-08-01 10:42 Интернет-магазин Запуск базы данных + 19 22 мин.
-u root -p
Получив доступ ко всем файлам системы, вы можете производить любые манипуляции связанные с вашим устройством, вплоть до удаления системных файлов.
По ключам:
-p, —password — Пароль пользователя, для соединения с сервером MySQL.
Не должно быть пробела между -p и паролем.
-u, —user - Имя пользователя для соединения с сервером MySQL.
Необязательно, по умолчанию используется такое же, как ваш логин.
Используется, если логин отличается от имени пользователя для соединения с сервером MySQL.

2018-07-31 13:31 Портфолио на Bootstrap Презентация курса + 17 18 мин.
Аккордеон, модальное окно, бейджи, динамические кнопки, glyphicons, font awesome - всё в новинку.
Оттого интереснее.

2018-07-31 12:00 Теория ООП Инкапсуляция мечты + 17 41 мин.
Инкапсуляция - "защита от дурака". Поскольку пользователю не везде надо давать сунуть свой нос, часть функционала этой самой инкапсуляцией перекрывается от глаз и ручек пользователя.
Сохранность неизменными свойств объекта - цель инкапсуляции.
Если в кабину пилота будет заходить любой желающий, самолет далеко не улетит.

2018-07-31 10:29 Интернет-магазин Установка EasyPHP + 18 1 час. 11 мин.
Чтобы запустить Dashboard после инсталляции пришлось перезагрузить ОС Win7 x64. До перезагрузки порт 1111 не открывался и второго скриншота не мог сделать. Перезапуск операционки помог. До полной перезагрузки работала лишь часть функционала (запуск и остановка вебсервера откликалась и проверялась страницей с адресом на первом скриншоте).
EasyPHP — сборка для PHP-разработчиков.
Возможна установка пользователем Portable версии на USB-накопитель.
Поддержка модулей-расширений таких как
WordPress (Блог),
SPIP (англ.),
Drupal,
Joomla (CMS-системы),
Prestashop (интернет-магазин),
phpBB.

2018-07-30 17:18 Tinklavimas Платформа LP + 19 11 мин.
Лендинг может может быть восхитительным. Инструментарий ушел так далеко, насколько хватает фантазии и кругозора. Чем дальше, тем интереснее тема веб-дизайна. Надо взять лево руля в эту сторону.
Наваял, впервые взявшись так: http://xza57u4o.plp7.ru/
PS Стены и цепи излишни, когда тюрьма в голове определяет границы свободы.
Примерно так.
В один ненастный день,
В тоске нечеловечьей,
Не вынеся тягот,
Под скрежет якорей,
Мы всходим на корабль —
И происходит встреча.
Безмерности мечты
С предельностью морей.
2018-07-30 15:08 Tinklavimas JS - Квадратные условия + 18 1 час. 40 мин.
1) Контейнер <tt> отображает текст моноширинным текстом.
2) Math.Floor округляет вниз по направлению к отрицательной бесконечности.
2а)Math.Ceiling округляет вверх по направлению к положительной бесконечности.
2б)Math.Truncate округляет вниз или вверх по направлению к нулю.
Синусоида понравилась, двух квадратов показалось мало, сбацал аксетичную таблицу ради вывода в удобной для скриншота форме четырёх квадратов. Тригонометрия, как и прежде, впечатляет.

2018-07-30 10:56 Tinklavimas 7. Show/Hide Message + 18 49 мин.
style.display='none' удаляет объект из веб-документа и не сохраняет под него область в памяти. Документ создается как будто элемента (описанного таким свойством) и нет в помине.
Скриптом можно вернуть видимость объекту.

2018-07-29 09:40 Дневник успеха 2018-07-29 Отчёт за неделю + 17 9 мин.
1. Tinklavimas всё интереснее. - Выполняется даже с удовольствием (на сегодня 90 % выполнено).
2. Найти время и тихое место для записи видеообзора. - Место найдено, белки и ежи расшуганы, видео записано.
3. Познакомиться с Соло на клавиатуре. - Первые шаги.
1. В связи с приобретённым в полнолуние членством в Клубе, ознакомиться с открывшимся меню и не ошалеть от разнообразия.
2. Завершить Tinklavimas.
3. Грызть слепой метод набора.
4. Установить топовый и ходовые огни и выйти в ночь.
2018-07-29 09:26 PHP графика ФИНАЛЬНЫЙ УРОК + 19 10 мин.
систематизации полученных прежде навыков.
Спасибо Валерию Владимировичу за то, что взял меня за ручку и ввёл в мир PHP. До этого терра сия была более чем инкогнита.
Гуру не стал, но первые понимания в кармане. Курс прекрасен своей краткостью уроков - удобно выкраивать время между ежедневной рутиной и тянуть себя вверх к макушке горы Фудзи.
Найти тихое место для записи видео.
2018-07-28 10:30 Tinklavimas 5. Меню с Колонками + 17 1 час. 50 мин.
left (зеркально подходит и для right) - определяет расстояние от левого края родительского элемента, не включая
отступ,
поле,
ширину рамки, до левого края дочернего элемента.
Отсчет координат зависит от значения свойства position.
Если оно равно absolute, в качестве родителя выступает окно браузера.
Может иметь значение меньше нуля.

2018-07-27 11:59 Tinklavimas 4. Две колонки + 18 13 мин.
margin-right(left) определяет правый отступ для элемента.
Значения меньше нуля разрешены.
auto -браузер рассчитывает правый отступ.
418 - отступ в пикселях или других единицах измерения CSS.
% - отступ в % отношении.
inherit - значение должно быть унаследовано от элемента-родителя.

2018-07-27 09:12 Tinklavimas 3. День Космонавтики + 19 49 мин.
Расположить объекты по пиксельной сетке несложно. Сложно оказалось реализовать движение объектов по сайту, приведенное в отчете тов. Глушкова. F12 показал код со скриптом и автоматическое изменение позиций его ракет летающих по экрану. Но что включает (запускает) исполнение скрипта пока не понял. А так, получается красиво.

2018-07-26 10:32 Tinklavimas 2. Красивое меню + 20 24 мин.
Тег <li> определяет отдельный элемент списка. Внешний тег <ul> или <ol> устанавливает тип списка — маркированный или нумерованный.

2018-07-25 18:15 Tinklavimas 1. DIV + CSS = Структура страницы + 19 5 мин.
<div> предназначен для выделения фрагмента документа с целью изменения вида содержимого. Cтиль выносят во внешнюю таблицу стилей, а для тега добавляют атрибут class или id с именем

2018-07-25 14:19 Tinklavimas 5. Калькулятор + 19 1 час. 7 мин.
click – происходит, когда кликнули на элемент левой кнопкой мыши
contextmenu – происходит, когда кликнули на элемент правой кнопкой мыши
mouseover – возникает, когда на элемент наводится мышь
mousedown и mouseup – когда кнопку мыши нажали или отжали
mousemove – при движении мыши

2018-07-25 10:38 Tinklavimas 3. яКартинка + 18 1 час. 0 мин.
Событие mouseover происходит, когда мышь появляется над элементом, а mouseout – когда уходит из него.

2018-07-25 09:19 Tinklavimas 2. Ввод данных + 20 47 мин.
JavaScript и Java имеют C-подобный синтаксис,
являются объектно-ориентированными и как правило широко используются в клиентских веб-приложениях.
Из важных различий можно отметить:
Java реализует ООП подход, основанный на классах, JavaScript — на прототипах;
Java имеет статическую типизацию, JavaScript — динамическую типизацию;
Java загружается из скомпилированного байт-кода; JavaScript интерпретируется напрямую из файла

2018-07-24 15:39 Tinklavimas 1. Запуск JavaScript + 20 20 мин.
Кодим не в IDE,а в текстовом редакторе, кодим не для компиляции в file.exe, а для DOMа с представлением в браузер.
Творить можно чего душе угодно, ограничение лишь экраном, квалификацией веб-программиста и его фантазией.
Непаханное поле.

2018-07-24 11:20 Tinklavimas 8. Landing page + 20 23 мин.
Браузер конвертирует HTML и CSS в DOM (англ. Document Object Model). DOM представляет документ в память компьютера и применяет к содержимому стили.
Браузер отображает содержимое DOM.

2018-07-23 14:50 Tinklavimas 7. Tinklalapio kūrimo etapai + 20 14 мин.
Формат CSS — обычный текстовый файл. В файле .css не содержится ничего, кроме перечня правил CSS и комментариев
Можно все стили и классы влепить в саму страницу, можно вынести в отдельный файл с расширением .css

2018-07-23 11:14 Tinklavimas 6. Raidės iš Varneliu + 19 35 мин.
В случае использования переключателей (radiobutton), может быть отмечен только один элемент группы, для флажков (checkbox) допустимо пометить хоть все элементы.
Попрактиковался в применении классов (которые в html являются хранилищами настроек). Получается душевно.
Узнал чуть больше про Чехословакию. Непонятно, какими путями при переводе Брно трансформировалось в Varneliu.
Отопление многих домов города Брно котлами для сжигания твердого топлива значительно влияет на уровень загрязнения. На территории атомной станции Дукованы, которая находится всего в 16 км к юго-западу от Брно, находится хранилище радиоактивных веществ (сотни тонн высокорадиоактивного урана и плутония)
2018-07-22 12:35 Дневник успеха 2018-07-22 Отчёт за неделю + 19 4 мин.
1. Tinklavimas продолжить. - курс продолжается, Brackets прекрасен.
2. PHP графику закончить.  - остался к выполнению финальный видеообзор.
3. SQLничего лишнего начать. - без движения
4. Слепой метод точить далее. - мало
1. Tinklavimas всё интереснее.
2. Найти время и тихое место для записи видеообзора.
3. Познакомиться с Соло на клавиатуре.
2018-07-22 12:22 Демо игры Лабиринт 2D - меню + 19 57 дней 15 час. 41 мин.
Создание метода static означает, что вы можете вызывать метод вне класса без предварительного создания экземпляра этого класса.

2018-07-21 11:34 Tinklavimas 5. Kurortavimas + 20 34 мин.
Радиокнопки, текстариа, сабмиты, селекты - всё это в теории изучалось и прежде, но применял впервые. Благодаря Валерию Владимировичу выполнил последний пункт (Загрузить работу на сервер). В моем случае сервер оказался локальным, но от этого сервером он быть не перестал.

2018-07-20 10:14 Tinklavimas 8. Табличный аттестат + 17 1 час. 19 мин.
Понял суть классов (хранилища настроек), роуспан == строки в одну ячейку, но не забудь удалить сдвинутые от твоей работы локтями.
Колспан - та же история, но с колонками, также если объединяешь - расползутся вширь, не забудь удалить лишние.

2018-07-19 15:31 Tinklavimas 7. Союз столбцов и строк + 18 5 час. 25 мин.
colspan == объединяем колонки
rowspan == объединяем строки

2018-07-18 17:45 Футбольная база Вы хорошо сохранились? + 18 35 мин.
Дамп и восстановление из pgAdmin успешно, в консоли препятствием стал запрет доступа. Причину ищу.

2018-07-18 17:06 Футбольная база Массивные игроки + 18 51 мин.
Игроки попадают в базу через буфер успешно. Возникли некие сложности при прямом наборе запроса INSERT в консоли. Но Sublime выручил

2018-07-18 14:06 On-line игра Игра в библиотеке + 18 47 мин.
Устроил себе минибурю в стакане при создании библиотеки. Увидал у Игромистра версию фреймворка 4.7, дай думаю, также подниму из имеющейся версии проекта 4.6.1 до 4.7.1 (такая была в выпадающем меню в наличии).
Всё создалось отлично, только при запуске игры ошибка выскочила. Почитал, благо в английском не как свинья в апельсинах )), понял что сам себе умножил проблемы. Диагноз стал понятен. Теперь, думаю, классы удалены, эта библиотека в верхней версии, как же мне добиться 4.6.1, чтоб работало? Думал придётся пересоздавать классы, снова чинить из них LibraryGame уже в версии 4.6.1, снова в ресурсы, и так далее со всеми остановками вплоть до Голутвина)))
Оказалось всё гораздо проще. Контекстное меню Properties у библиотеки, в окне фреймворка выпадающее меню - ткни в нужную версию, контрол+Эс, унд в бой!
VisualStudio  - сила!

2018-07-18 11:52 On-line игра Видный интерфейс + 17 27 мин.
Представление == каталог, оглавление, нити марионеток, но не сами элементы, книги или марионетки.
Удобный способ обращения к инкапсулированным методам со схожими предназначениями.
Создать доп. представление. Не пришло в голову что можно использовать.
2018-07-18 11:16 On-line игра Цветной телевизор + 17 25 мин.
Выделение функционала == разделение труда. Гибче конструкция на выходе, легче  изменения и адаптации.
Переименование класса не привело к ошибкам, но и не сменило названия в прочих классах, как это в видео видно. Программа между тем компилировалась и гудела как надо. Заморочки версии, что ли. Так, микронепонятки реализации интерфейса IDE.
Названия представлений давать по алфавиту - облегчить себе переключения, так думаю.

2018-07-17 17:33 On-line игра Контроллер не спешит + 17 48 мин.
В случае отсутствия возможности интерактивной связи между Моделью и Представлением используется MVC с промежуточным Controllerом.
Если же ПО крутится на локальной рабочей станции MVC зациклена.

2018-07-17 16:20 On-line игра Модель игры + 17 1 час. 6 мин.
Мухи отдельно, котлеты отдельно.
Все параметры по умолчанию передаются в методы по значению, то есть, проще говоря, копируются.
При передаче по значению метод получает не саму переменную, а ее копию.
При передаче параметра по ссылке метод получает адрес переменной в памяти.

2018-07-17 14:48 On-line игра Представление выделяется + 18 23 мин.
это как туман с рассветом рассеивается.
            View                                view =            new                              View                            ();
Класса View экземпляр назовём view = сделай новый экземпляр класса View (без приходящих в него параметров);
Может кейсы можно неким образом сократить?
2018-07-17 14:04 On-line игра Марионетка + 18 1 час. 6 мин.
Перечисление ConsoleKey знает все клавиши на клавиатуре, сопоставляет возвращаемое клавой с прописанными в коде вариантами и исполняет то, что написано после двоеточия. Бряк прерывает дальнейшее исполнение инструкций выбранного по нажатой клавише кейса.

2018-07-17 10:35 On-line игра 1. Консольная игра. Добро пожаловать! + 17 1 час. 20 мин.
РидКи одинаково успешно отрабатывает как в дочернем методе, так и в родительском.

2018-07-17 09:54 PHP графика VIP Самостоятельная работа + 17 5 мин.
Картинки подтягиваются в базу, текст берется из браузера, реализовано добавление, редактирование и удаление.
Параметризация шрифта и расположения надписи над изображением реализованы в коде, можно вывести дополнительные экранные формы для удобства, но на данном этапе не готов к исполнению - не хватает опыта.
Имеющийся вариант - первое приближение к графическому редактору.

2018-07-16 14:26 PHP графика Загрузка фоновых изображений + 16 3 час. 3 мин.
bool move_uploaded_file ( string $filename , string $destination )
Эта функция проверяет, является ли файл filename загруженным на сервер (переданным по протоколу HTTP POST).
Если файл действительно загружен на сервер, он будет перемещён в место, указанное в аргументе destination.

2018-07-15 13:19 Дневник успеха 2018-07-15 Отчёт за неделю + 17 6 мин.
1.Продолжить курс Tinklavimas. / Курс выполняется.
2.Решать консоль без подсказки / Первые проблески самописания замечены.
3.Слепой метод набора / Стамина практикуется не каждый день - надо будильник что ли поставить, чтобы не забывать клацать.
1. Tinklavimas продолжить.
2. PHP графику закончить.
3. SQLничего лишнего начать.
4. Слепой метод точить далее.
Всех с годовщиной Уралмаша!
2018-07-15 12:45 PHP графика Просмотр полученных изображений + 17 56 мин.
Иногда возникает необходимость разместить текст на изображении. Реализовали экранные формы для размещения надписей поверх картинки с возможностью добавления, редактирования и удаления. Паззл сложился.

2018-07-14 12:05 SQL: ничего лишнего Инструменты и доступ + 16 19 мин.
OpenServer - замечательная штука. Инсталляции не требуется, перенос копированием радует безмерно.

2018-07-14 11:42 PHP графика Сохранение записей и изменений + 16 47 мин.
if (isset($_POST["Save"]))
isset — Определяет, была ли установлена переменная значением, отличным от NULL
Если переменная была удалена с помощью unset(), то она больше не считается установленной. isset() вернет FALSE, если проверяемая переменная имеет значение NULL. Следует помнить, что null-байт ("\0") не является эквивалентом константе PHP NULL.

Если были переданы несколько параметров, то isset() вернет TRUE только в том случае, если все параметры определены. Проверка происходит слева направо и заканчивается, как только будет встречена неопределенная переменная.

2018-07-13 15:36 PHP графика И добавлять, и редактировать + 17 31 мин.
Гиперссылка на файл edit.php для добавления записи c идентификатором несуществующей записи создана.
HREF (Hyper REFerence) - атрибут тега A, указывающий браузеру, какое действие надо выполнить при клике на ссылку.


2018-07-13 14:08 PHP графика Редактирование - данные на форму + 17 1 час. 2 мин.
$_GET запрос на формe!  Надо почитать теорию, ибо много нового.

2018-07-13 11:25 PHP графика Редактирование - получение данных + 17 1 час. 37 мин.
Сначала не передавался идентификатор записи в кнопку "Редактировать". Не работало. Стал рыть в файле edit.php
Ничего не нашел, не работает. Присмотрелся к подвалу браузера - при наведении курсора мыши на "Удалить" id присваивается, при том же действии с "Редактировать" ссылка уже без номера записи.
Час искал между делом поглядывая в ноут - пока не нашел в index.php пропущенный знак равно ))))))))
То-то было радости.

2018-07-12 14:59 PHP графика Удаление записи + 17 37 мин.
Получение переменной и ее значения через POST почти не отличается от GET.
F12 - сила!

2018-07-12 13:31 PHP графика Таблица записей в index + 17 1 час. 52 мин.
mysqli_fetch_assoc() — Извлекает результирующий ряд в виде ассоциативного массива
mysqli_fetch_array() - Выбирает одну строку из результирующего набора и помещает ее в ассоциативный массив, обычный массив или в оба
mysqli_fetch_row() - Получение строки результирующей таблицы в виде массива
mysqli_fetch_object() - Возвращает текущую строку результирующего набора в виде объекта
mysqli_query() - Выполняет запрос к базе данных
mysqli_data_seek() - Перемещает указатель результата на выбранную строку

2018-07-11 18:10 PHP графика Добавление данных в БД + 18 39 мин.
pik_link - и поле не заполнялось.
user 'robot' вместо root - и нет коннекта )
Точность необходима.
Поправил - заиграло!

2018-07-11 15:24 Простой WPF WPF. Конвертер валюты. Курс валют в JSON. + 19 46 мин.
API key - это секретный код, который идентифицирует вашу учетную запись. В сочетании с вашим user ID пользователя, этот ключ позволяет сторонним программам и веб-сайтам получить доступ к информации.

Формат JSON считается независимым от языка JavaScript и может использоваться практически с любым языком программирования. Для многих языков существует готовый код для создания и обработки данных в формате JSON.

Юзинги начали поддаваться. Не так как в первый раз)))

2018-07-11 13:49 Футбольная база Добавляем всё! + 19 1 день 4 час. 7 мин.
Пересоздал представление, удалял и заново забил все группы в таблицу commands. В видео говорится, что перед занесением данных в консоли надо выполнить \encoding WIN866; чего я не сделал и получил кривокосые кракозябры вместо наименования стран. Удалял, перезабил. Лишняя практика не лишняя.
Функция unnest, из массива делает строки с данными.
unnest() всегда создает один базовый элемент для каждой строки.

2018-07-10 17:43 Футбольная база Представление имеем и ... используем + 21 8 час. 5 мин.
pg_fetch_all - Выбирает все строки из результата в виде массива.

2018-07-10 09:33 Простой WPF WPF. Конвертер валюты. Класс конвертации. + 20 24 мин.
Практиковался с приведениями типов. Познавательно, хоть вроде и не в первый раз.
Иконка другая, нежели в предыдущем отчете - делал на другом компе.

2018-07-09 20:05 Простой WPF WPF. Конвертер валюты. Макет программы + 19 48 мин.
Простые программы делаем, но если не держал в руках, откуда узнать с какой стороны подходить?
Windows Presentation Foundation (WPF) (произносится - "даб-пи-эф") — система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе .NET Framework (начиная с версии 3.0), использующая язык XAML.

2018-07-09 17:40 Футбольная база Команды - в массив + 18 2 дня 8 час. 18 мин.
JOIN — оператор соединения языка SQL. В схему таблицы-результата входят столбцы обеих исходных таблиц (таблиц-операндов), то есть схема результата является «сцеплением» схем операндов; каждая строка таблицы-результата является «сцеплением» строки из одной таблицы-операнда со строкой второй таблицы-операнда.

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

2018-07-09 16:27 Tinklavimas 6. Стильные Буквы + 18 49 мин.
Благодаря отчету Tekashnik-a узнал о таком суперудобном редакторе как Brakets. С его помощью и ваял эпическое полотно с зажигающимися неоновыми огоньками. Спасибо за науку.

2018-07-09 11:47 Tinklavimas 5. Морской бой + 17 5 мин.
Елозить мышкой и копипастить уменьшенные шириной столбцы. Делал столбцы на глаз равными строкам, когда же стал выделять семь-на-семь, узрел несоответствие размеров. Гугл показал, что размерность строк и столбцов в икселе задается в разных единицах. Новость, однако!

2018-07-09 11:06 Tinklavimas 4. Валидатор + 17 23 час. 25 мин.
Раз пять переделывал. В итоге на пятый раз "снова-да-лад0м" валидатор сменил гнев на милость. Тема вообще незнакомая, а тут ещё и видеоурока нема )

2018-07-08 12:29 Дневник успеха 2018-07-08 Отчёт за неделю + 17 12 мин.
1.Продолжить курс "ФУТБОЛЬНЫЙ Postgresql:Турнирная таблица". - Курс с удовольствием продолжаю.
2."Tinklavimas" - курс выполняется. Открываю для себя много нового.
3. oCam заработал на моем железе - видеоотчёт по Сапёру записан на 64-битной оси. Курс завершён с удовольствием. Это такая восхитительная картина на Java, масса информации, опыта и любопытных решений. Смело рекомендую начинающим курсантам. Уроки записаны короткими слайдами, легко выделить время на выполнение урока в день.
1.Продолжить курс Tinklavimas.
2.Решать консоль без подсказки
3.Слепой метод набора, ибо подглядывать в экран при печати на скорость начинает напрягать.
2018-07-07 18:21 Tinklavimas 3. Вкусная таблица + 16 1 мин.
Разметка это любопытно.

2018-07-07 10:50 Tinklavimas 2. Таблица умножения + 16 1 час. 8 мин.
Задумываешься о пользе циклов при написании такой повторяющейся разметки.

2018-07-06 17:55 Java Sweeper Финальный аккорд + 18 4 дня 7 час. 3 мин.
Курс прекрасный. Игрой "Сапёр" никогда не интересовался, однако в процессе создания проникся всей глубиной проработки этого действа. Насколько много надо подготовить и сложить в стопочку, чтобы игра заработала, и насколько надо покорпеть над предложенными слайдами, чтобы это всё было ясно даже школьнику! Моё почтение, Евгений Витольдович! Этот курс - супер!
Гуру от него не станешь, но твердь под ногами уже нащупаешь в кодинге.
PS. oCam заработал на 64 битной версии семерки!

2018-07-06 10:21 Tinklavimas 1. Расписание уроков + 17 59 мин.
рисовать таблицы на HTML.

2018-07-05 17:45 Tinklavimas Красивые стихи + 17 1 час. 0 мин.
Вспомнил многие нетленки, применил теги к тексту. Литература у нас мощнейшая.

2018-07-05 16:36 Tinklavimas Термины сайтостроения + 17 58 мин.
JavaScript - язык программирования для веб-страниц без применения компиляции. Позволяет применять команды к разметке страницы без перезагрузки этой самой страницы. JavaScript исполняется на клиентской машине, не на сервере.
PHP - скриптовый язык для создания веб-страниц со слабой типизацией, большой свободой для выбора средств веб-разработчиком. Объектно-ориентированное программирование прикрутили к нему в последних версиях, однако языком программирования не является.

2018-07-05 15:09 Tinklavimas Знакомство + 17 4 дня 1 час. 53 мин.
Научился с апреля здесь многому. В код смотрю уже не как баран на новые ворота. Верю в силу систематических занятий и возможность доползти до вершины Фудзиямы.
(Фудзия́ма, Фу́дзи (яп. 富士山 Фудзисан (инф.)) — действующий стратовулкан на японском острове Хонсю в 90 километрах к юго-западу от Токио. Высота вулкана — 3776 м (самая высокая точка в Японии). В настоящее время вулкан считается слабо активным, последнее извержение было в 1707—1708 году.)
UPD 5 июля 2018. 9913. vip не устроило видео - удалил.
Самым сложным было смотреть на экран своего ноута, когда подключенный Игромистр за 15 секунд решил ошибку, с которой я боролся 15 часов безуспешно )))
2018-07-05 15:06 Дневник успеха 2018-07-01 Отчёт за неделю + 17 4 дня 2 час. 42 мин.
1. Продолжить и финализировать Сапёра.// Выполнего 52 из 53 уроков, обнаружен и исправлен баг с невозможностью применения бомбы на сером фоне.
2. Продолжить C#Андроид.//Здесь анабиоз либо до обновления версии BIOS(если это возможно), либо до обновления аппаратного обсепечения методом приобретения ноута с процессором не меньше Core i3.
3. Мигироровать наработки C# и Java с 32-битной Windows 7 на 64-bit.//Миграция с 32-битной операционки завершена, 32 бита остались в памяти и на старых ноутах в амбаре (разложил по сусекам).

Улитка доползла до 86 места в табели о рангах. https://www.videosharp.info/17947/winners
86 - цифра региона, где потрачено 25 лет жизни. Срок, однако.
86/2 = регион, куда вернулся.
Конец лирики.
9913. vip не устроило видео - удалил.
1. Во славу пензенского футбола продолжить курс "ФУТБОЛЬНЫЙ Postgresql:Турнирная таблица".
2. Никогда не бывал в Прибалтике, но уже знаю Viso Gero! А значит пришла пора для курса "Tinklavimas".
2018-07-05 14:57 Tinklavimas Простейшая HTML страница + 17 2 час. 59 мин.
Две минуты, две секунды. Курс "Секундомер", снова здоров0! ))

2018-07-04 14:31 Tinklavimas Второй подход к эскизу + 17 3 час. 52 мин.
Ох и попыхтел елозя мышкой...

2018-07-03 11:34 Футбольная база Подключение php к postgresql + 17 2 дня 33 мин.
Коннект есть. Спасибо за урок, Валерий Владимирович!

2018-07-03 09:31 Футбольная база Остальные таблицы и замена на поле + 17 1 день 22 час. 33 мин.
Старый добрый SQL и убаюкивающий голос преподавателя... Белая акация, цветы эмиграции, как давно это было в Вятском Политехе )

2018-07-02 17:57 Футбольная база Таблица Players - игроки из pgAdmin + 18 1 день 7 час. 0 мин.
Экранные формы радуют выпадающими меню.

2018-07-02 17:32 Футбольная база Таблица Commands - пас кодировками + 18 1 день 6 час. 38 мин.
WIN866 спасает от кракозябр. Если не знаешь как, читай мануал, благо он в сети доступен.

2018-07-02 14:28 Tinklavimas Каким будет мой сайт + 18 5 час. 18 мин.
Тема: Гидрография реки Вятка
Название: http://www.rekavyatka.su
Для кого сайт: для водномоторников Кирова и области.
Состояние дна реки с начала девяностых годов систематически не мониторится. Выше порта Киров (по факту одно название от некогда работающего предприятия лесосплава и пассажирских перевозок) навигации нет вообще. Кроме нас, лодочников, там никто не ходит. А в былые времена был рейс г.Вятка - Чепца - г.Слободской.
Как в "Голубом океане" - непаханное поле для исследований.
Эхолот Lowrance Mark 4 CHIRP до введения против России санкций замечательно подгружал треки с глубинами по Вятке в СШАшный сайт, но по приходу Барака Обамова эту лавочку для пользователей РФ прикрыли. Зайти на сайт могу, новые треки подгружать - no way!

"Insight Genesis cannot process the sonar log file: "Chart 29_05_2016 [0].sl2" due to restrictions in the geographic location contained in this log. Please visit the Questions and Answers tab to see where Insight Genesis is currently available.

We apologize for the inconvenience."

Железо простаивает, давно была мысль самому организовать привязку треков с глубинами к картам реки.
Поскольку Вятка не относится к промышленно судоходным рекам (привет от невидимой руки рынка), конкуренции не наблюдается. Надо попробовать свои силы.
Найти старые треки и учётки от Insight Genesis, заброшенные в дальний ящик после введения ограничений на загрузку.
2018-07-01 12:16 Java Sweeper Цифровой помощник сапёра + 17 49 мин.
Цифра в клетке равна количеству флажков вокруг? - Открыть!
Но поскольку открываем методом openBox, а там есть case BOMB, то проигрыш при использовании ЦПС не исключается.
Товарищ, бди!

2018-06-30 12:13 Java Sweeper Открываем карты + 18 1 час. 20 мин.
Реализовали открытие клеток с бомбами ниже ватерлинии и с флажками над клетками.

2018-06-29 16:42 Java Sweeper Первая ошибка сапёра + 17 25 мин.
Прекращение игры на подрыве и рестарт реализованы.

2018-06-29 15:56 Java Sweeper День Победы! + 17 32 мин.
Действительно, если система методов продумана и грамотно названа, писать методы приятно.

2018-06-29 14:45 Java Sweeper Телеграмма о флажках + 17 33 мин.
Инкапсуляция наживо)))
public int getTotalBombs ()
    {
        return bomb.getTotalBombs();
    }

    public int getTotalFlaged ()
    {
        return flag.getTotalFlaged();
    }
Геттер обращается к геттеру. Марафон передачи значений.

2018-06-29 13:58 Java Sweeper Учёт зарытых флагов + 17 19 мин.
if totalClosed == totalBombs = You Winner!


2018-06-29 11:53 Java Sweeper Нулевая рекурсия + 17 44 мин.
Рекурсивная функция состоит из:
- Условие остановки или же Базовый случай,
- Условие продолжения или Шаг рекурсии.
Один из вариантов увидеть рекурсию – это навести включенную Web-камеру на экран монитора компьютера.
Вызов функции самой же функцией продолжается до тех пор, пока не происходит условие остановки.

2018-06-29 10:52 Java Sweeper Выбор из выбора + 17 34 мин.
Адекватно именованный switch делает код ясным как море в штиль.
Оператор switch — проверяет переменную на равенство в отношении списка значений. Каждое значение называется case, и переменная переключаясь проверяется для каждого case.

2018-06-28 17:36 Java Sweeper Алгоритм открывашки + 17 22 мин.
Бутылочное горлышко игры приходится на pressLeftButton (coord);

2018-06-28 16:46 Java Sweeper Актуальное информирование + 17 39 мин.
private String getMessage ()
    {
        switch (game.getState())
-> взяв значение кейса из метода гетстейт класса Гейм вывести соответствующее сообщение. Элегантно-с!

2018-06-28 15:15 Java Sweeper Недетские состояния + 16 42 мин.
Перечисление - это список именованных констант.
Перечисления создаются с использованием ключевого слова enum.
При создании перечисления компилятор генерирует соответствующий класс.
Этот класс автоматически наследует от класса java.lang.Enum.
Элементы enum это статически доступные экземпляры enum-класса.

2018-06-28 14:02 Java Sweeper Добро пожаловать! + 17 40 мин.
Создается экземпляр с названием label = new класса JLabel("Welcome!");//создание нового экземпляра с текстом по умолчанию вилькаммензибитте.

Создать экземпляр класса Font с названием font = new экземпляр класса Font(шрифтом "Tahoma",  полужирный Font.BOLD, размер применить 20);//создание шрифта.

Экземпляру label. установить шрифт setFont такого экземпляра шрифта -> (font);//применение шрифта к лейблу
Прикрутить ярлык к форме add (label, BorderLayout.SOUTH);//добавление лейбла на форму в бордер на ЮГ


2018-06-28 10:42 Java Sweeper Смена флагов + 17 24 мин.
Alt+Enter снова пригодился для автосоздания метода.
Оператор switch — проверяет переменную на равенство в отношении списка значений. Каждое значение называется case, и переменная переключаясь проверяется для каждого case.
Переменные, которые используются в операторе switch, могут быть только целые числа, конвертированные в целые числа (byte, short, char), строки и перечисления.
Вы можете иметь любое количество операторов case в рамках одного switch. За каждым case следует сравниваемое значение, а затем идёт двоеточие.
Значение case должен быть того же типа данных как и переменная в switch, и она должна быть константой или литерал.
Когда переменная switch на равна оператору case, операторы следующие за case будут выполняться до тех пор, пока не будет достигнут оператор break.
При достижении оператора break, switch завершается, и поток управления переходит к следующей строке после оператора switch.
Не каждый case должен содержать break. Если отсутствует break, поток управления попадет на следующие case, до тех пор пока break не будет достигнут.
В Java оператор switch может иметь дополнительный default case, который должен находиться в конце switch. Default case может быть использован для выполнения задачи, когда ни один из case является правильным.
Break не требуется в default case.
Нарисовать флажками звездочку )
2018-06-27 15:24 Java Sweeper Схема правой педали + 17 34 мин.
case Opened - return;
case Flaged - закрыть бокс в начальное положение неисследованного участка игрового поля, убрать с бокса флаг, счетчик бомб --;
case Closed - поставить на бокс флажок, счетчик бомб ++;

2018-06-27 14:11 Java Sweeper Мышечный адаптер + 17 32 мин.
К событиям мыши применяются классы-адаптеры
MouseAdapter и MouseMotionAdapter.

Первый применяет следующие методы:

mouseClicked кнопкой мыши щелкнули,
mousePressed кнопка мыши была нажата,
mouseReleased  кнопка мыши была отпущена,
mouseEntered мышь входит в компонент,
mouseExited мышь выходит из компонента.

2018-06-27 12:54 Java Sweeper Клавишные инструменты + 17 1 час. 9 мин.
Alt+Enter - контекст для создания метода автоматом
Нема public в методе - не проси его в другом классе. Наглядно тут увидел.

2018-06-26 13:45 Java Sweeper Королевская траншея + 17 53 мин.
Матрица это прямоугольная таблица, состоящая из строк и столбцов  на  пересечении которых находятся её элементы. Количество строк и столбцов матрицы задают ее размер.
Каждый элемент матрицы имеет свой индекс, где первая цифра обозначает номер строки на которой находится элемент, а вторая — номер столбца.
Для доступа к элементам двумерного массива необходимо использовать 2 индекса: первый для строки, второй – для столбца. Как и в случае с одномерными массивами, индексы также начинаются с нуля.
Flag - класс содержимого выше ватерлинии.
Bomb - класс содержимого под водой.

2018-06-26 11:16 Футбольная база Таблица Groups: коварный id + 18 36 мин.
Имеются специальные средства для работы с персональными номерами, называемыми идентификационными.
Имя поля в таблице, которое содержит такой номер — по традиции id.
В PostgreSQL имеется особый тип для таких номеров — SERIAL.
В основе лежит тип INTEGER, однако значением по умолчанию для величин этого типа является не NULL, а следующее целое число.
Если добавлять записи в таблицу, не указывая для полей типа SERIAL, эти значения будут присваиваться автоматически как порядковые целые числа.
На значения типа SERIAL накладывается ещё одно ограничение — они не могут быть NULL.
Тип SERIAL в PostgreSQL реализуется с помощью специального механизма — последовательностей.
Для каждого поля этого типа создаётся таблица, которая содержит, помимо прочего, текущее число из последовательности.
При извлечении очередного номера из последовательности текущее число увеличивается.

2018-06-25 15:46 Java Sweeper Флаг над классом + 17 39 мин.
int getCountOfFlagedBoxesAround (Coord coord) - метод возвращает число установленных флажков вокруг клетки.
Применяется для автоматического открывания заведомо безопасных клеток с учётом анализа значений окружающих флагов и цифровых значений клеток.

2018-06-25 11:28 Футбольная база Создание базы данных + 17 2 час. 43 мин.
\c football; - подключение к базе football
pgAdmin3 LTS - регистрация, управление серверами

2018-06-25 11:05 Футбольная база Установка Postgresql + 17 2 час. 21 мин.
1.qwas - дефолтный пароль для postgres.
2. Инсталл прошел без кривляний ноута, всё шло почти ноздря в ноздрю с видеотреком Валерия Владимировича.
Валерию здоровья! Утром субботы птички поют у него за кадром и нос течёт ))

2018-06-25 09:46 Футбольная база Структура турнирной таблицы + 18 1 час. 8 мин.
UML - сила. В таблицу игроков можно добавить поле для запасных, но может это и лишнее. Они ведь непостоянны.

2018-06-24 13:37 C# Android Установка и запуск HAXM эмулятора Android + 16 2 час. 11 мин.
Упёрся в отказ инсталляции c Intel Virtualization Tecnology (VT-x). Разбираюсь с вопросом, аппаратно не поддерживается или софтовый глюк.

2018-06-24 12:34 Дневник успеха 2018-06-24 Отчёт за неделю + 16 9 мин.
1. Продолжить курс jQuery
Курс окончен, отсутствие финального урока несколько обескуражило. В копилку, как бы то ни было.
2. Продолжить курс JavaSweeper.
Курс продолжен, миновали экватор, код заставляет напрягать извилины, тренировка отличнейшая.
3. Спустить Крым на Вятку, запустить ПЛМ Нептун-23 после расконсервации.
Крым спущен, мотор зиму пережил успешно, чему рад более чем. Загар получен - лето пришло.
Второе фото, точка перед островом - моя якорная стоянка во время авиашоу 23 июня 2018.
1. Продолжить и финализировать Сапёра.
2. Продолжить C#Андроид.
3. Мигироровать наработки C# и Java с 32-битной Windows 7 на 64-bit.
2018-06-23 23:01 C# Android Установка Xamarin для Visual Studio + 15 7 час. 2 мин.
Xamarin - свадьба ноута и смартфона. Приложения, разработаные тобой на десктопе ты увидишь перед носом уткнувшихся в молитвенники ХХI века молодежи. Это ли не счастье? Инструмент мощнейший, обязателен к овладеванию.
ЗЫ Сие первый отчет с новокупленного Sony Vaio VGN CR-41-SR
Дождаться свободного часа для выполнения минимума. Из помех 23 июня 2018 года в Кирове можно привести следующие:
- Русские Витязи в Кирове 23 июня 2018 (гуглится),
- сады фанатичных садоводов старшего поколения,
- ограниченность суток двадцатью четырьмя часами.
Футбол не учитывать, хорошей игре рад, между тем фанатом не являюсь.
2018-06-22 15:59 Java Sweeper Дважды в одну воронку + 15 38 мин.
Урок бодрит. Экватор радует. Витязи летают.
int loop = 100;
while (loop --> 0) цикл исполняется до достижения нуля с уменьшением на единицу в каждом цикле.
--> это не стрелочка, а минус минус больше. Сминусовать и проверить не равно ли нулю.

2018-06-21 16:37 Java Sweeper Следующая цифра + 15 29 мин.
Box.values()[this.ordinal() + 1] как из текущего бокса сделать следующий? Прибавить единицу.

2018-06-21 13:58 Знакомство с jQuery jQuery - AJAX - Load + 15 3 час. 43 мин.
http://test.local/timer.html успешно отрабатывал клик по кнопке многократно в браузере Гугл Хром,этот же файл в эксплорере клик по кнопке

обрабатывал лишь раз, и время более не обновлял.
Узнал, то можно спать с AJAX.
AJAX - асинхронные запросы Джаваскриптом и XML данных.
Применяется для загрузки данных в фоновом режиме и отображения их на веб-странице без перезагрузки веб-страницы целиком.
В браузере встроен XMLHTTPRequest объект, отвечающий за запросы данных с веб-сервера.
JavaScript и HTML DOM отвечают за отображение и применение данных.
Понять успех обновления времени в Google Chrome и однократный вывод времени в Internet Explorer.
2018-06-20 16:38 Java Sweeper Ограда из единиц + 15 39 мин.
static ArrayList<Coord> getCoordsAround (Coord coord) двумя циклами перебирает координаты клеток и дает набор координат для постановки флажков "Единица". Остальные клетки будут с нулями, предполагаю. Перечитывал пейджер, много думал. Вроде и кода написали чут0к, а вникать оказалось нелегко. Урок отличный, спасибо!

2018-06-20 15:50 Java Sweeper Сравнение координат + 15 18 мин.
Hотация @Override указывает, что далее мы собираемся переопределять метод базового класса.
Override информирует компилятор о том, что метод перегружает метод в суперклассе.
Если не использовать аннотацию @Override, то "неправильная" программа скомпилируется без ошибок, а сам проблемный участок кода станет нереально сложно найти.
Использование аннотации @Override заставляет компилятор сразу проверять перегружает ли метод аналогичный в суперклассе.

2018-06-20 14:39 Знакомство с jQuery jQuery - AJAX = IFrame + 20 3 час. 17 мин.
Ctrl+Shift+J - посмотреть код ошибки
Перенос времени через локальный сервер удалось оживить лишь благодаря наработкам от Валерия. Иначе бы пришлось с нуля поднимать OpenServer со всеми остановками. Бди, товарищ!

2018-06-19 16:57 Знакомство с jQuery jQuery - DOM - Set + 25 58 мин.
.text - вернёт простой текст,
.html - вернёт текст с разметкой(форматированием),
.val - установит содержимое объекта (с учетом ввода пользователя?).
<b>здесь будет напечатано жирным шрифтом</b>
При указании атрибутов не забудь кавычки и перечисление через запятую.

.html("&lt;b&gt;texttexttettexttext&lt;/b&gt;"); == <b>texttexttettexttext</b>
lt == less then == меньше
gt == greater then == больше

2018-06-19 14:48 Java Sweeper Случайные бомборазмещения + 24 32 мин.
Таким незамысловатым циклом разбрасываются бомбы в Джаве:
for (int j = 0; j < totalBombs; j++)//цикл для размещения бомб не больше чем тоталБомб
            placeBomb();
Юзинги в Джаве зовутся импортами.

2018-06-19 11:58 Знакомство с jQuery jQuery - DOM - Get + 25 1 час. 21 мин.
$("#test").text()) - вернуть текст без форматирования.
$("#test").html()) - вернуть текст C форматированием.
$("#test").val()) - вернуть текущее значение объекта с учетом ввода пользователя веб-страницы.
alert($("#w3s").attr("href")); - вернуть указанный в скобках атрибут объекта.

2018-06-18 16:55 Java Sweeper Тестовая бомба + 18 40 мин.
Контекст - Generate (Alt+Insert) - Constructor - малая механизация по созданию конструктора от IntelliJ IDEA, если нет желания писать с клавиатуры.

2018-06-18 14:52 Знакомство с jQuery Функции обратного вызова + 18 41 мин.
jQuery Callback - гарантия соблюдения последовательности исполнения команд, если это критично.
Без колбэка последующая строка может начать исполняться не дождавшись полного завершения предыдущей.
jQuery Chaining - упрощает код, исключая повторы множественного указания одного и того же селектора для набора методов, к нему применяемых.
Выяснил, что последовательно устроить мигалку цветами в чейнинге не прокатит. Сразу подхватывает лишь последний указанный css цвет.

2018-06-17 12:49 Дневник успеха 2018-06-17 Отчёт за неделю + 25 24 мин.
2018-06-17 выполнялся курс jquery Знакомство с jQuery 11 из 16 на 69%
2018-06-16 выполнялся курс javasweeper Java Sweeper 28 из 53%
Консоль.
2018-06-17 выполнялся курс solo C# набор 29 из 17 на 171%
2018-06-17 выполнялся курс olimp Олимпиада 1 из 40 на 3%
2018-06-16 выполнялся курс solo на 89%, из них Java - База на 1 %.
О планах прошлой недели.
1. Взять jQuery. - Уроки продолжают выполняться, финал ещё не на горизонте.
2. Закончить Сапёра. - Сапер был закрыт на проверках, после открытия доступа вернулся и к работе со взрывчаткой. Стараюсь не ошибиться.
3. Купить ноут для 64-битной оси... - Ноут куплен, винт оказался с бэдами, скандиск лечит. Верю в силу ремеди от майкрософт. Если винт на выброс - хдд заменю, тогда добавится этап установки 64-битной семерки.
1. Продолжить курс jQuery
2. Продолжить курс JavaSweeper.
3. Спустить Крым на Вятку, запустить ПЛМ Нептун-23 после расконсервации.
2018-06-17 12:14 Знакомство с jQuery Остановка анимации + 25 1 час. 9 мин.
Стоп функция позволяет срезать траекторию, по которой бегает логотип. На видео наглядно продемонстрировано. Почему возникает бага с неудаленным исполнением 10,10 - 10, 300 - недоведенный до ума функционал jQuery Stop Animations. Логично было бы удалять из очереди все строки, чего не происходит.

2018-06-16 20:59 Java Sweeper Бомбанутый класс + 23 16 мин.
Класс Bomb создан в применении инкапсуляции. Внутри устройство количества и расположения бомб на поле, внешний актор, может обращаться к содержимому через геттеры, не видя и не нарушая устройства внутренностей класса. Этакий черный ящик, работающий как часы и взаимодействующий с внешней средой через узкие горлышки геттеров.
Вернуться к прохождению урока после перерыва.
2018-06-16 19:38 Знакомство с jQuery Домашнее задание: анимация Zorro + 24 9 час. 59 мин.
В прошлом уроке подсмотрел в отчетах, как можно реализовать сию скачку логотипа, понял не всё но заработало и остался доволен уже тем. Реализация в этом уроке отличалась от того, что заработало на прошлом, но прослушав урок разобрался с координатами, в строке указывается точка, КУДА следует уплыть объекту. Зацикливание callback выглядит прекрасно после приведения простых неправильных решений для той же задачи. Ошибки были, в функции zorro забыл указать объект ($("img")), запускаю страничку и не фурычит. Глаза помогли, проблему решил.

2018-06-15 15:43 Знакомство с jQuery Эффекты анимации, продолжение + 25 2 час. 29 мин.
jQuery поставляется съ функціей очереди для анимаціи.
Это означаетъ, что если вы пишете нѣсколько вызововъ animate () другъ за другомъ, jQuery создаетъ «внутреннюю» очередь съ этими вызовами методовъ. Затѣмъ онъ запускаетъ ​одинарныя​ вызовы по одному.

2018-06-14 14:38 Знакомство с jQuery Эффекты скольжения и базовая анимация + 23 1 час. 7 мин.
absolute
Указывает, что элемент абсолютно позиционирован, при этом другие элементы отображаются на веб-странице словно абсолютно позиционированного элемента и нет. Положение элемента задается свойствами left, top, right и bottom, также на положение влияет значение свойства position родительского элемента. Так, если у родителя значение position установлено как static или родителя нет, то отсчет координат ведется от края окна браузера. Если у родителя значение position задано как fixed, relative или absolute, то отсчет координат ведется от края родительского элемента.
fixed
По своему действию это значение близко к absolute, но в отличие от него привязывается к указанной свойствами left, top, right и bottom точке на экране и не меняет своего положения при прокрутке веб-страницы. Браузер Firefox вообще не отображает полосы прокрутки, если положение элемента задано фиксированным, и оно не помещается целиком в окно браузера. В браузере Opera хотя и показываются полосы прокрутки, но они никак не влияют на позицию элемента.
relative
Положение элемента устанавливается относительно его исходного места. Добавление свойств left, top, right и bottom изменяет позицию элемента и сдвигает его в ту или иную сторону от первоначального расположения.

2018-06-13 14:25 Знакомство с jQuery Эффекты появления и исчезновения + 22 1 час. 4 мин.
fade to - инструмент для параметризированного превращения объекта в невидимку без освобождения жилплощади на сайте.
fade in - плавный проявитель(помимо призрачного появления, объекту выторговывает место под солнцем на веб-страничке).
fade out - плавный удалитель(помимо придания прозрачности объекту, ещё и освобождает место им занятое).
fade toggle - Едут ДПСники, один другому: - Серега, посмотри - мигалка работает? Тот высовывается в окошко: - Работает, не работает, работает...

2018-06-12 14:22 Знакомство с jQuery Эффекты скрытия и отображения + 16 1 час. 15 мин.
function hide (item)
    {
    item.style.display = 'none';
    }
Функция ожила со второй попытки. Пришлось перенабрать код дважды для успеха. Но разницы в набранном в первой и второй попытке не заметил.

2018-06-11 16:59 Знакомство с jQuery События и их методы + 18 1 час. 41 мин.
fires/fired - событие случилось
submit - форма отправлена
change - форма изменена
focus - фокус навёл
blur - фокус потерял
hover - существительное 1. парение 2. свободный полет; глагол 1. зависать 2. колебаться
<br/> - возврат каретки
Отчего-то фокусы с фокусом не приводили к изменению цвета рамки или фона текстовиков, а применение hover сработало. В чём цимус неработоспособности события фокус, пока не понял. Остальное срабатывает на славу.
2018-06-10 17:07 Дневник успеха 2018-06-10 Отчёт за неделю + 16 34 мин.
1. 2018-06-09 Постигал премудрости jquery на курсе "Знакомство с jQuery". Выполнил 4 из 16 на 25 %,
2. 2018-06-08 Делал видеоуроки "Сапера"на курсе "Java Sweeper", прошел 27 уроков, пока не прекратились открываться последующие, после выполнения предыдущего.Выполнил 27 из 53 на 36 %,
3. 2018-06-09 Набивал на клавиатуре solo C# набор, выполнил 29 заданий (показывает 171 %),
4. 2018-06-08 Выполнял solo HTML - тексты, сделал 10 из 14 на 72 %,
5. 2018-06-05 Проходил solo HTML - таблицы, сделал 1 из 5 на 20 %.
Самая восхитительная задача - Алфавит в HTML. Напомнила Максималку-2. Но я её сделал. Нет такой крепости, которую бы не взяли большевики.

1. Взять jQuery.
2. Закончить Сапёра.
3. Купить ещё ноут для 64-битной оси и начать курс "C# Android" с установки Xamarin для Visual Studio.
Всем мирного неба над головой!
2018-06-09 16:19 Знакомство с jQuery Понятие селектора и примеры + 15 56 мин.
Селектор - инструмент для прицеливания в браузере. Прицеливаемся по идентификатору или по классу.
В арсенале не менее дюжины отъюстированных прицелов. Веселее всех бахает звёздочка - клик, и экран чист как белый лист.
function )
2018-06-09 13:45 Знакомство с jQuery Эксперименты и кнопки + 17 57 мин.
.click() вызывает обработчик JavaScript события click (щелчок - последовательно нажата и отпущена кнопка мыши на одном и том же участке экрана) для всех элементов набора jQuery.
Именовать кнопки рекомендуется адекватно их назначению.

2018-06-09 12:19 Знакомство с jQuery Синтаксис и простейший пример + 21 38 мин.
Работаешь локально - скачай jQuery с офсайта. Работаешь в глобале подключай CDN.
$(selector).action() = возьми то не знаю что, сделай так не знаю как )


2018-06-09 11:20 Знакомство с jQuery Суть библиотеки jQuery + 25 1 час. 48 мин.
1. Done
2.  Знакомство с чистого листа.
3. Напрягся лайнер, слышен визг турбин...
4. Done.
5. Done.

2018-06-09 09:14 PHP графика Форма Edit + 25 2 час. 1 мин.
POST используется для отправки данных на сервер для создания / обновления ресурса.
POST - один из наиболее распространенных методов HTTP.
Запросы POST никогда не кэшируются
Запросы POST не сохраняются в истории браузера
Запросы POST не могут быть отмечены закладкой
Запросы POST не имеют ограничений на длину данных

array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
array_intersect() - Вычисляет схождение массивов
array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
Важна последовательность набора кода, как оказалось. Удивляет сие.

2018-06-08 14:54 Java Sweeper За гранью видимого + 25 53 мин.
Наименование полей (переменных, содержащихся в классе) всегда пишется с маленькой буквы ( int number, String name, и т.д.).
Наименование геттеров и сеттеров - в формате "get" + имя переменной с большой буквы (например, getColor, getName).
Метод-геттер возвращает значение переменной (поля).
Сеттер имеет модификатор void и параметр, для изменения значения поля.
Причина использования геттеров и сеттеров вместо public методов в возможности доступа к части переменных без доступа к прочему коду. Инкапсуляция, однако?
2018-06-08 10:07 Java Sweeper Матрица мира + 25 36 мин.
Матрица это прямоугольная таблица, состоящая из строк и столбцов  на  пересечении которых находятся её элементы. Количество строк и столбцов матрицы задают ее размер. Каждый элемент матрицы имеет свой индекс, где первая цифра обозначает номер строки на которой находится элемент, а вторая — номер столбца.
Массивом называется именованное множество переменных одного типа. Каждая переменная в данном массиве называется элементом массива. Чтобы сослаться на определенный элемент в массиве нужно знать имя массива в соединении с целым значением, называемым индексом. Индекс указывает на позицию конкретного элемента относительно начала массива. Обратите внимание, что первый элемент будет иметь индекс 0, второй имеет индекс 1, третий - индекс 2.
2018-06-07 17:04 Java Sweeper Игровая координата + 25 25 мин.
Механизм расстановки элементов игрового поля вынесли в класс Game методом getBox .

2018-06-07 15:18 Java Sweeper Фасадный класс + 25 13 мин.
Фасад = User Interface. Код, обрабатывающий действия пользователя мышью и клавиатурой и применяющий их к алгоритму игры.
Класс Game = каркас дома, скелет игры, мостик корабля, с которого юзер рулит по игре.

2018-06-07 14:30 Java Sweeper Радуга картинок + 25 26 мин.
Для установки иконки есть метод setIcon, в качестве параметра передается ссылка на Icon.
Можно воспользоваться классом ImageIcon для загрузки своих собственных изображений. ImageIcon реализует интерфейс Icon, поэтому как только ImageIcon создан, можно смело передавать его методу setIcon.
ImageIcon может использоваться для GIF, JPEG и PNG изображений.
При создании объекта ImageIcon в качестве параметра конструктору необходимо передать путь к рисунку.
Путь к рисунку может быть абсолютный или относительный. В нашем случае иконка была готовая в ресурсах.

2018-06-07 13:44 Java Sweeper Полный список + 25 41 мин.
ArrayList - автоматически расширяемый массив. Вы можете работать с массивом, но при этом не использовать квадратные скобки.
в Java массивы имеют фиксированную длину, и после того как массив создан, он не может расти или уменьшаться. ArrayList может менять свой размер во время исполнения программы, при этом не обязательно указывать размерность при создании объекта. Элементы ArrayList могут быть абсолютно любых типов в том числе и null.

2018-06-07 08:50 Java Sweeper Установка размеров + 25 47 мин.
Заменили получение размеров игрового поля из констант на получение этих размеров из класса Ranges, через метод getSize.
Геттер - метод, позволяющий выцарапать из объекта не всю информацию класса, а лишь нужные данные.
Сеттер - манипулятор, меняющий нужные параметры, не затрагивая все остальные.
Верно ли сформулировал?
2018-06-06 17:13 Java Sweeper Статичная граница + 26 35 мин.
- static Coord size - количество столбцов и количество строк (основное поле) экземпляр координат.
- static List<Coord> allCoords - список всех координат игрового поля (для удобства).
- static Random random - генератор случайных чисел.
===========

~ static setSize (Coord size) - устанавливает размер границ Ranges (вызывается из внутреннего класса).

+ static Coord getSize () - узнать размер.

+ static List<Coord> getAllCoords () - получение всех координат(массив).

~ static List<Coord> getCoordsAround (Coord coord) - перебор всех клеток вокруг заданной клетки.

~ static Coord getRandomCoord () - получение случайной координаты.

~ static boolean inRange (Coord coord) - не вышли ли за пределы поля.

2018-06-06 16:12 Java Sweeper Наши координаты + 26 37 мин.
Coord coord = new Coord(box.ordinal(),0);//
Данная строчка нам говорит о том, что в памяти создан экземпляр объекта Coord, а переменная coord типа Coord (такого же, как и наш объект) указывает на то место в памяти, где был этот объект создан.
Переменную coord теперь можно использовать для вызова методов класса Coord.
Coord и coord - различны. Класс и объект.
box.ordinal() - координаты у нас без IMAGE_SIZE, это координаты на поле.
Метод ordinal()
У перечислений есть этот удобный метод.
Можно получить значение, которое указывает позицию константы в списке констант перечисления (порядковое значение или ordinal value), с помощью метода ordinal().
Порядковые значения начинаются с нуля.
2018-06-06 15:16 Java Sweeper Карта классных сокровищ + 26 48 мин.
Передача координат из метода в метод - class Coord (int x, int y).
Статичный класс описывающий общие для всех размеры поля - class Ranges (static Coord size, static List<Coord> allCoords, static Random random).
Класс Matrix - двумерный массив для бомб  или открыто\закрыто
Класс Bomb - для бомб(нижняя палуба).
Класс Flag - матрица всех элементов поля (верхняя палуба).
Состояние игры - enum GameState.
Фасадный класс Game - интерфейс пользователя.
Знак «-» означает, что атрибут является приватным (private).
Знак «+» означает, что атрибут является публичным (public).
Знак «#» означает, что атрибут является защищенным(protected).
2018-06-06 10:46 Java Sweeper Запускаемый jархив + 26 13 мин.
JAR-файл представляет собой обычный ZIP-файл с некоторыми дополнениями. Основная задача этого архива — хранить файлы с классами.

Каталог META-INF. В нем содержится файл MANIFEST.MF. Файл позволяет расширить функциональность — кроме обычного набора классов, JAR-файл может выполнять функции электронной подписи, поддержки версионности, подключения библиотек к самому архиву, определение класса для запуска (который содержит метод main).
2018-06-06 08:21 Java Sweeper Источник ресурсов + 26 1 час. 7 мин.
ImageIcon icon = new ImageIcon(getClass().getResource(filename)); - Находит ресурс с заданным именем.
Сей метод делегирует вызов его загрузчику классов после внесения этих изменений в имя ресурса: если имя ресурса начинается с "/", оно не изменяется; в противном случае имя пакета добавляется к имени ресурса после преобразования ".". на "/". Если этот объект был загружен загрузчиком загрузки, вызов делегируется ClassLoader.getSystemResource.

2018-06-05 17:28 Java Sweeper Картинка в кубике + 25 28 мин.
Заменили передачу объектов через Image передачей через Object, расширив тем самым себе свободу выбора.
В Java есть специальный суперкласс Object и все классы являются его подклассами. Поэтому ссылочная переменная класса Object может ссылаться на объект любого другого класса. Так как массивы являются тоже классами, то переменная класса Object может ссылаться и на любой массив.
2018-06-05 16:58 Java Sweeper Первый цикл + 25 20 мин.
С помощью метода ordinal() получают значение, которое указывает позицию константы в списке констант перечисления (порядковое значение или ordinal value). Порядковые значения начинаются с нуля.
Метод ordinal() возвращает значение int, определяющее порядок объявления экземпляров перечисления начиная с нуля.
2018-06-05 16:25 Java Sweeper Перечисление кубиков + 25 16 мин.
Тип enum — это тип, поля которого состоят из набора некоторых констант. Простой пример — стороны света, такой объект будет содержать 4 константы: NORTH, SOUTH, EAST, и WEST. Переменные объявлены большими буквами, потому что это константы.
Enum тип необходимо использовать, если нужно определить некоторое количество констант, значения которых известны заранее.
2018-06-05 16:05 Java Sweeper Константные размеры + 25 22 мин.
private + final = “Нельзя изменить”
final - говорит о том, что значение поля можно установить только однажды.

Совокупность модификаторов private final для поля накладывает запрет на изменение (определить данное поле возможно либо в конструкторе, либо в месте объявления за счет final) и видимость данного поля ограничивается методами данного класса (за счет private).
2018-06-05 14:10 Java Sweeper Угловая бомба + 25 18 мин.
Shift+F10 - старт приложения
private Image getImage ()//возвращает картинку указанную в теле метода
private Image getImage (String name)//возвращает картинку по принимаемому параметру name
Было жестко привязано ImageIcon icon = new ImageIcon("res/img/bomb.png");
Стало гибко открыто через name так ImageIcon icon = new ImageIcon("res/img/" + name + ".png");

2018-06-05 11:47 Java Sweeper Загрузка и отображение + 25 48 мин.
ImageIcon icon = new ImageIcon - создание экземпляра класса
return icon.getImage - выцарапывание этого экземпляра из класса
observer: this - следить за актуальностью объекта. Наблюдатель — это поведенческий паттерн, который позволяет объектам оповещать другие объекты об изменениях своего состояния.
В каких случаях используется Наблюдатель?

Если один объект должен передавать сообщения другим объектам, но при этом он не может или не должен знать об их внутреннем устройстве;
В случае если при изменении одного объекта необходимо изменять другие объекты;
Для предотвращения сильных связей между объектами системы;
Для наблюдения за состоянием определенных объектов системы;
2018-06-04 17:31 Java Sweeper Импорт картинок + 26 11 мин.
Добавили ресурсы методом драг-н-дроп.

2018-06-04 17:14 Java Sweeper Метод рисования + 26 17 мин.
@Override - аннотация-маркер, которая может применяться только к методам. Метод, аннотированный как @Override, должен переопределять метод супер класса. @Override — проверяет, переопределён ли метод. Вызывает ошибку компиляции / интерпретации, если метод не найден в родительском классе или интерфейсе.
В случае отсутствия данной аннотации и не совпадении сигнатур (в результате ошибки) с методом, который мы собирались переопределять - случится страшное - очень трудноуловимая ошибка, когда вы думаете, что должно бы переопределяться, а по факту имеете отдельный независимый метод, который скорее всего вообще не выполняется. При этом компилятор считает, что с его точки зрения все в порядке - хотите собственный метод в классе-наследнике - нет проблем. И молчит.
2018-06-04 16:40 Java Sweeper Раздельная инициализация + 26 15 мин.
Впервые осознанно выполнил рефакторинг в Java. Новорожденный котенок приоткрывает глаза. Впечатления эти же.


2018-06-04 16:06 Java Sweeper Пустая панель + 26 19 мин.
Метод pack() устанавливает такой минимальный размер контейнера, который достаточен для отображения всех компонентов.

2018-06-04 15:17 Java Sweeper Полёт над классом + 27 27 мин.
Класс JavaSweeper:
JPanel panel - поле, на котором рисуется и выполняется игра,
JLabel label - ярлык оповещения игрока о новом статусе игры,
Game game - контроллер игры, нажатия клавиш мыши, статусы игры, кол-во бомб, флагов,
Константы.
final int IMAGE_SIZE - размер игрового поля,
final int ROWS - количество строк,
final int COLS - количество столбцов,
final int BOMBS - количество бомб.
====================
stati void main(String[] args) - точка входа в программу,
JavaSweeper() - конструктор, инициализирующий игру,
void initLabel() - метод инициализации ярлыка,
void initPanel() - метод инициализации панели с установкой размеров, регистрации адаптера мыши, создаст компонент, рисующий интерфейс,
void initFrame() - первичная инициализация,
void setImages() - установка картинок на панель,
Image getImage (String name) - вспомогательная функция загружающая картинку по имени файла и представляющая изображение на форме игры (самый любопытный метод, ибо в нем предполагается передача параметров),
String getMessage() - запись сообщения пользователю в лейбл(ярлык) о статусе игры,

2018-06-04 14:41 Java Sweeper Закрытие на выходе + 26 16 мин.
Параметризация формы в Java осуществляется через код, в то время как VisualStudio предлагает userFrienfly интерфейс с обилием кнопок и драг-н-дропов.

2018-06-04 14:06 Java Sweeper Простое окно + 26 36 мин.
psvm + Enter = public static void Main(String[] args) удобно-с!


2018-06-04 11:56 Java Sweeper Легендарная игра + 26 12 мин.
Он сказал поехали!

2018-06-03 13:36 PHP графика Несколько SQL-запросов + 26 4 час. 0 мин.
Сиквел на обучение в кировском политехе во всех смыслах. Начинали изучать сие под руководством Сысоева Виктора Уновича в 1999 году, что-то сдавали, дипломы получали, а применение увидел лишь в 2018 году. Срок, однако!
Валерию спасибо за ночные труды! (время в трее видеоурока сегодня пол-второго ночи!!!)
Спать ночью.
2018-06-03 11:11 PHP графика Правильные шрифты + 26 1 час. 35 мин.
imagettftext() - это сила, брат! )
Покормить кота.
2018-06-03 08:21 Дневник успеха 2018-06-03 Отчёт за неделю + 26 29 мин.
Консольный раздел.
2018-06-02 solo Java - Запуск сдал все 13 на 100 %
2018-06-02 task2 Алгоритмика сдал 19 из 20 на 95 %
2018-06-01 solo HTML - тексты сдал 4 из 14 на 29 %
2018-06-01 solo Java - Вывод данных  сдал все 7 на 100 %
2018-06-01 solo Java - База сдал 9 из 9 на 100%
2018-05-31 jawa START - Запуск сдал все 1 на 100 %
2018-05-31 solo Java - Ввод данных сдал все 6 на 100 %
2018-05-31 solo Java - Условия сдал все 7 на 100 %
2018-05-31 solo Java - Циклы сдал все 2 на 100 %
2018-05-30 solo       C# набор сдал 29 из 17 на 171 %
Видеокурсы.
2018-05-30 task5 Секундомер сдал 17 из 16 на 107 %
2018-05-28 soft0 Демо софт сдал 4 из 7 на 58 %
Нашел ещё любопытные курсы, проходил и их. Инфобизнес, PHP Повелитель дат, PHP графика, PHP парсинг XML. Начал тренировать слепой набор. Смотреть на клавиатуру более не считаю удобным.
Самым сложным на этой неделе было не околеть с холоду.
Лето-2018 началось по сценарию анекдота об отчете негритянского студента на родину. Студент пишет о жизни в России предкам в родную Африку "та, которая зеленая еще ничего, но вот белая вообще кошмар!"

2018-06-02 17:59 PHP Повелитель дат Дату - в массив + 25 3 час. 32 мин.
Выведение в браузер информации о дате и времени через массив. Подача информации тренером доступная для новичков. Язык интересен, среда разработчика дружелюбна, любопытно продолжить обучение. Спасибо!

2018-06-02 17:31 PHP Повелитель дат Туда, сюда, обратно... + 25 3 час. 5 мин.
strtotime позволяет возвращать указанную дату отталкиваясь от текущей.

2018-06-02 17:00 PHP Повелитель дат Произвольная дата + 25 2 час. 36 мин.
Ctrl+S - это сила!
F5 ещё удобнее.
strtotime - приведение текстового типа в тип возврата времени

2018-06-02 16:24 PHP Повелитель дат Неделя по-русски + 25 2 час. 2 мин.
Выведение в окно браузера значений из функции с массивами.
Обходной путь возвратить кириллический день недели при неспособности это сделать базовыми функциями PHP.

2018-06-02 15:33 PHP Повелитель дат Разбор форматов + 25 1 час. 15 мин.
Win + Right Arrow - отдать пол-экрана справа окну активной программы
Win + Left Arrow - отдать пол-экрана слева окну активной программы
Форматы дат растолкованы доступно, спасибо!

2018-06-02 13:36 PHP графика Рефакторинг & connect + 25 44 мин.
Создали функцию для определения параметров вывода на экран картинки и текста.
Подключились к базе данных с помощью функции mysqli_connect.
Проверили работу логина и пароля при подключении к БД.

2018-06-02 10:21 PHP парсинг XML Создание проекта + 25 11 час. 24 мин.
XML (/ˌeks em ˈel/ англ. eXtensible Markup Language) — расширяемый язык разметки.
У Валерия Владимировича версия OpenServer 5.2.2, у меня (поглядел) та же.
<meta charset="UTF-8" /> - спасение от кракозябр в браузере.
Узнати, як продовжити курс.
2018-06-01 21:52 PHP графика Создание базы данных + 25 5 час. 1 мин.
HeidiSQL - полезный и надежный инструмент, предназначенный для веб-разработчиков с использованием популярного MySQL-сервера, баз данных Microsoft SQL и PostgreSQL. Он позволяет просматривать и редактировать данные, создавать и редактировать таблицы, представления, процедуры, триггеры и запланированные события. Кроме того, вы можете экспортировать структуру и данные либо в файл SQL, буфер обмена, либо на другие серверы.
Спасибо Валерию Владимировичу за открытие новых горизонтов.
2018-06-01 20:45 PHP графика Открытку в студию + 25 3 час. 55 мин.
PNG - portable network graphics
Пока не поставишь название файла с картинкой в '        '  одинарные кавычки толку не будет.

2018-06-01 19:58 PHP графика Надпись - в картинку + 26 3 час. 9 мин.
Выводится картинка, текст возможен в моём случае лишь латиницей, как корректно отображать кириллицу, пока не нашел.
Размер шрифта в браузере независим от параметра 10. Тоже предстоит понять почему. Работать в шторм прекрасно. Его подсказки упрощают понимание вводимого. Спасибо за урок!

2018-06-01 19:22 PHP графика Где находится библиотека + 27 3 час. 16 мин.
Есть ли у нас библиотека GD?
GD Support enabled
GD Version bundled (2.1.0 compatible)

2018-06-01 13:59 Инфобизнес Иерархия учебных материалов + 25 40 мин.
Сектор - Вебинары, Консоль, Видеоуроки, Английский язык, Итальянский язык...
Курс - набор уроков по одной теме.
Модуль - уроки по подтемам (подкаталог Курса) с жестко определенной последовательностью доступа к урокам.
Урок - комплекс заданий доступный в разных курсах.
Шаг - составная часть урока (минимальный элемент действий курсанта).
В каждом уроке любопытной была бы следующая feature. Есть некий финал обучения в рамках www.videosharp.info. Если по окончании урока курсант будет видеть статус бар, показывающий его динамику продвижения к финалу курса, сектора, видеошколы, это добавит динамичности процессу обучения.
С удовольствием займусь переводом интерфейса на итальянский, если возникнет необходимость.

2018-05-31 17:33 PHP Повелитель дат Текущее время проекта + 25 20 мин.
Впервые понюхал PHP. Выглядит внушающе. Тренер обстоятельно рассказывает, интересно продолжить.
Качать долго, но можно.
2018-05-31 10:56 Инфобизнес Базовые принципы проекта + 25 28 мин.
На проекте зарегистрировано без малого под 20 000 курсантов. Есть начинающие, есть Гуру. Если прикрутить к их табели о рангах ещё и достижения за пределами www.videosharp.info, было бы просто замечательно. Таблица динамики развития курсанта в плане применения полученных знаний в жизни за пределами школы Евгения Витольдовича. Годы идут, люди растут, можно предоставить им возможность сообщить о своих успехах в разные годы. Наглядная картина успеха от учёбы идущих впереди мотивирует новичков.

2018-05-30 16:17 Инфобизнес Подключение к системе GitHub + 27 1 час. 45 мин.
Уcтaновить SmartGit удалось поплясав с бубенцами вокруг глубокоуважаемой Windows 7 32bit. Чем дальше, тем яснее, что х86 версия семерки - либо для мазохистов, либо для слоупоков, которым с софтом возиться не надо, а требуется иксель и ворд с вконтактиком.

2018-05-30 14:18 Инфобизнес Подготовка Visual Studio ASP.NET + 26 1 час. 8 мин.
Обновил Internet Explorer до 11 версии. Проект ASP.NET MVC запустился лишь после обновлений.
Скачать и установить windows6.1-kb2533623-x86.msu windows6.1-kb2670838-x86.msu windows6.1-kb2731771-x86.msu windows6.1-kb2786081-x86.msu windows6.1-kb2834140-v2-x86.msu IE11-Setup-Full-32bit.exe
2018-05-30 11:43 Секундомер VIP. Секрет мастерства + 26 40 мин.
Что-то уже автоматом, но повторять надо ещё много раз.
Когда открывал филиал Ганинской гармонной фабрики у себя на кухне и собирал гармошки, выяснил, что наши релизы не открываются в среде Windows XP. Даже для запуска под семеркой на неподготовленном компе требуется инсталляция дотнета. Потому секундомер запустился лишь на нетбуке, а на старом НР не пошёл.
2018-05-29 10:11 Секундомер VIP. Биоритмы + 27 1 час. 57 мин.
Не сразу дошло, откуда изначально берется значение length.
Покурил код, дошло.
Понять, откуда берется length.
2016-04-29 - время записи видеоурока
2018-05-29 - время выполнения видеоурока.
Сложно было понять, как так дата совпала, и шкала выглядит одинаково.
2018-05-28 22:44 Секундомер Играй гармонь! + 26 6 час. 8 мин.
Аналогично Максималке-2, главное не бросить на пол-пути. В финале есть шанс узнать κάθαρσις. Но не каждая улитка доползет до финала )
Всем удачи!
Ловить верный изгиб.
2018-05-28 14:50 Демо софт Менеджер паролей + 25 4 час. 2 мин.
(string) - взять значение переменной типа стринг
string.Parse - взять значение и привести его в тип стринг.
Вишня на торте - сендер.

2018-05-27 21:10 Дневник успеха 2018-05-27 План на следующую неделю + 25 10 час. 30 мин.
1. Консольный раздел. "Алгоритмика" 13 из 20 (65 %)
2. Консольный раздел. "C# набор" 27 из 17 (159 %)
3. Видеокурсы. "База SQLite" все 5 (100 %)
5. Видеокурсы. "Демо софт" 3 из 7(43 %)
6. Видеокурсы. "Секундомер" 14 из 16 (88 %)
Ежедневная норма выполняется, не такая она и неподъемная. Покусился даже на долги старых курсов, сделал Календарь, Английские карточки. Простые программы, но кое-какие места оказались вновинку. Узнал, к примеру, как прикрутить Windows Media Player.
Через два месяца занятий на проекте попал в список Форбс Евгения Волосатова на 250 место: https://www.videosharp.info/progress/winners
В пятницу в телеграмме обсуждались физкультурные предпочтения участников проекта, вспомнил в субботу о своих пылящихся в гараже велосипедах, поехал, осмотрел один, подкачал колеса, приделал на фаркоп прицеп и в путь. Открыл сезон.
Секундомер - это суперпростое и суперсложное занятие. Повторяй, да повторяй за тренером и разиков всего-то 10, а не пятьсот, как в Максималке-2, но кому-то эти повторения могут и показаться самым сложным. Максималку-2 я прошел один раз, но с половины пути пошли ошибки и подход даже не был засчитан. Есть над чем работать. Посмеялся над комментарием Виктора с его предложением удалить эту стайерскую дистанцию с пути курсантов. НичвА, и это одолеем!
Каждый день что-то новое, всем удачи!
1. Решать консольные задачи.
2. Продолжить курс "Демо софт".
2018-05-27 18:46 Секундомер ФИНАЛЬНЫЙ УРОК + 25 2 час. 0 мин.
Научился находить и уничтожать в коде ошибки, допущенные по причине гонки времени. Три ошибки, не дописал одну у в маске года, не выключал таймер в методе и не возвращал Enabled в текстовое окно - эти три бага вызывали сбой. Ошибки компиляции не возвращалось, оттого было ещё менее понятно, где искать причину неработоспособности программы.
Увидеть время написания всей программы, оказавшееся больше 20 минут.
2018-05-26 11:54 Секундомер 5 часть. Видеофиксация + 28 32 мин.
Время на выполнение с проверкой: 6:39. Оказалось, форма осталаь без якорей. Что-то из кода уже всплывало в сознании и набирал без участия шпоры. И это лишь десятое повторение. Неудивительно, что КВС становятся лишь после сотен часов налёта на определенном виде судна. "Господь жесток, зеленых неучей, нас превращает в жёлтых он." Сколько же надо кодить, чтобы писать автоматично, аки Игромистр? Загадка.
На слух не смог понять, что за хоткей "контрол кээн", в случае вызова "Быстрые действия и рефакторинг" в русской версии. Сейчас посмотрел, удосужился, - оказалось Ctrl + ,
2018-05-25 22:48 Демо софт Английские карточки + 30 1 день 6 час. 17 мин.
Массивы мультимедиа загоняются кодом в обучающий софт. WinMediaPlayer в рамках проекта языкового тренера доступен для Visual Studio. Научился чему-то новому - день не зря.

2018-05-25 17:04 Секундомер 5 часть. Пункты 240 – 273 + 31 5 час. 8 мин.
Грид уже копипастил, правя лишь имена столбцов.
Дерготня по телефону отвлекала.
2018-05-24 11:02 Секундомер 4 часть. Видеофиксация + 26 55 мин.
Время на выполнение 5 минут 15 секунд.
Набор без ошибок.
2018-05-24 09:17 Демо софт Двенадцать месяцев + 29 17 час. 25 мин.
MonthCalendar - незнакомый прежде инструмент.
Возвращаться к уроку после звонков и сообщений в чате. Суета мешает.
2018-05-23 11:52 Секундомер 4 часть. Пункты 200 – 239 + 22 2 час. 6 мин.
В выводимом на экран списке переменная DateTime  именована как clock
Переписал себе, иду по списку, а в видеоуроке эта же переменная именуется как start. Пока понял в чем дело, время тикало ).
Быстрее 4:16 поднялся.
Печатать без ошибок. Слепой метод требует постижения, не иначе.
2018-05-22 14:31 Секундомер 3 часть. Видеофиксация + 22 31 мин.
2 минуты 35 секунд. Автопилот заметен. Уже примерно знаешь, куда дальше идти, что вбивать и к чему это приведёт.
Елозить мышкой. Рассмотрел, после такого позорного результата времени, что за мышью пользуюсь.  SmartTrack STM-302-S/K
Маловат зверёк и не особо удобен в руке. Возить её с собой удобно (мала), но скорость показать - не то.
2018-05-21 15:07 База SQLite SQLite - Самостоятельная работа + 25 35 мин.
База под одним именем, таблица может быть под другим. Не перепутай, Склихософский! Такое себе капсом написал. До этого бился, как муксун на сплаве, в непонимании, отчего это простые запросы не работают? Точка с запятой, опять же, где надо, где не надо - и это давало попотеть.
Свой запрос: вывести имена студентов с оценками по возрастанию.
SELECT student, point FROM points  GROUP BY student
ORDER BY point ASC;
Долго не мог понять, чего это из Java не добавляются записи в таблицу. Оказалось дважды было прописано Connection co. После того, как в методе убрал второе упоминание Connection перед co - записи полились рекой в таблицу базы. Как и прежде слабое знание синтаксиса - бич эпохи.
2018-05-21 11:50 Секундомер 3 часть. Пункты 150 – 172 + 24 52 мин.
Портативная мышь на три пальца и малый экран - не помощники в работе на скорость.
Больше всего времени уходит на поиск нужного пункта меню и перелистывание списков. Когда это всё сразу на экране скорость конвейера можно нарастить ещё больше.
2018-05-20 08:29 Дневник успеха 2018-05-20 Отчёт за неделю + 25 15 мин.
Курс "Секундомер" тренирует концентрацию и выявляет отвлекающие факторы.
Курс "База SQLLite" привел к инсталляции Eclipse и редактора https://www.sublimetext.com/. Ни с чем из этого до сих пор не работал.
В Консоли начал экспериментировать с кодом. Прежде лишь исправно переписывал и комментировал для понимания строки.
Кэмелкейс в коде Java.
2018-05-19 10:26 Секундомер 2 часть. Видеофиксация + 25 48 мин.
Первая попытка - перепутал свойства. Вторая попытка - не включил запись видео. Третья попытка "папа, можно я возьму ноут?".
Записал за 3 минуты с четвертой попытки, закрыв двери и попросив не входить 5 минут. Дома работать - курам на смех. Три кошки, пять человек и одна рыбка. Натурально, для серьёзных дел надо уходить или в библиотеку или снимать офис.
Добиться тишины.
2018-05-18 15:08 База SQLite SQLite - Select + 26 58 мин.
"jdbc:sqlite:c:\\sqlite\\users.db" - здесь нужно указать полный путь к файлу.
Найти причину соединения и невывода запроса из базы.
2018-05-18 13:29 База SQLite SQLite - Insert + 26 23 час. 27 мин.
Установил eclipse-java-neon-1-win32.zip
Компиляция не происходила до тех пор пока не познакомился с верблюдом. Здесь: https://stackoverflow.com/questions/37316259/the-method-nextline-is-undefined-for-the-type-scanner нашел решение, отчего у меня компиляция завершалась ошибкой "the method nextline() is undefined for the type java.util.scanner".
Оказывается, кэмелстайл, который ты упустил при написании nextLine (эль большая должна быть) может стать причиной неудачи компиляции кода.
Прочитал "it is nextLine() in camel case actually – m.antkowicz May 19 '16 at 7:12" и допёрло, что надо попробовать поправить l на L. Сделал - откомпилировалось. Евгений научил, чего не знаешь, спроси в интернете.
Урок супер. Башка работать приучается со скрипом, но непреложно.
У Эклипса, кстати при запуске картинка суперская.
the method nextline() is undefined for the type java.util.scanner
А ведь в тексте ошибки и есть подсказка, её нужно лишь увидеть. Кто ж знал, что кэмелкейс такой важный зверь?
2018-05-18 10:25 Секундомер 2 часть. Пункты 120 – 145 + 26 1 час. 20 мин.
Переписал пункты себе на лит бумаги А4, делал по нему. Конвейер с нарастающей к финалу урока скоростью.
Прокручивать лист свойств объектов в поиске нужного. Малый экран требует экспансии ) Привет Дмитрию с его широченным монитором!
2018-05-17 11:54 Секундомер 1 часть. Видеофиксация + 28 24 мин.
ПО уже было установлено с прежних уроков. OCam на Win7x86SP1 c Sony VGN-CR31SR так и не пошла. Ошибка стрима, потому делал на HyperCam 2. Время на выполнение, после просмотра видео, составило 1 минуту 47 секунд на запись кинофильма и 5 минут на загрузку Youtube.
Осознать в последний момент, что делал запись без запущенного секундомера. Заставят переделывать или нет, вот в чём вопрос.
2018-05-16 13:52 Секундомер 1 часть. Пункты 100 – 113 + 28 35 мин.
Хороший тренер делает с курсантами вместе. Тогда и отставать стыдно становится.
Не сбиться с верного пути.
2018-05-15 21:18 База SQLite SQLite - Подключение из Java + 23 7 час. 22 мин.
Грамотно подложенный баг в коде не дает расслабляться контингенту.
Найти недостающую букву.
2018-05-15 11:40 Секундомер Написание кода + 25 3 час. 13 мин.
Создание заглушки метода: Контекстное меню на названии подчеркнутом -> Generate -> Method Stub
for, затем резко дважды по Tab -> заготовка для цикла.
if, затем резко дважды по Tab -> заготовка для проверки условия.
Organize Usings ->Remove Unused Usings = Удалить и сортировать директивы using -> Ctrl + R, Ctrl + G (русифицированная студия).
"Вдохнуть в неё жизнь" - есть этом что-то экзистенциально-творческое. Из глубин океана времени.

2018-05-14 16:07 База SQLite SQLite - Знакомство + 22 54 мин.
1999 - 2004 ВятГУ и всё это в теории. А тут через без малого 20 лет дорос мальчик и до практики. Долго же шёл.
.open users.db - открыть\создать базу данных
.help - аналог F1
.quit - меня всё достало, пора пить Херши
PRIMARY KEY - задать ключевое поле
AUTOINCREMENT - автодобавление строк
.tables - возвращает список доступных таблиц
.schema users - возвращает содержимое таблицы
INSERT INTO users (name, phone) VALUES ('Isav', '+7951349888') - добавить запись в таблицу
SELECT * FROM users - возвращает все записи таблицы
.mode line - развернуть представление записей
.mode column - записи по столбцам
.headers on - названия столбцов
width 2 4 8 - задать размер столбцов
Видео с предельно ясной подачей материала. Звонок на фоне добавляет школьного духа )

2018-05-14 13:31 Секундомер Настройка формы + 23 26 мин.
Впервые не поставил видео на паузу ни разу.

2018-05-14 10:05 Судоку Вступление + 22 13 час. 26 мин.
Играть в судоку рекомендуется медленно, так как это расслабляющая игра.
Найти фотоаппарат. Был найден сканер.
2018-05-13 11:03 Секундомер Моральная подготовка + 23 32 мин.
Написано (под диктовку Евгения или Елены) на C# программ:  20.
Последняя программа: Графические циклы (Спирограф).
Время на создание Графоциклов: Неделя.
Зачем: помимо банального заработка не позорных 20 000 рублей в месяц от "Почты России" или не менее позорных 30 000 рублей в месяц от "Вятка-банка", а чуть больших денег, причина проста. Человек есть творец. Если изымается творческая составляющая, человек превращается в животное с алгоритмом "Есть-спать-есть-спать".
Мешает: незнание матчасти.
Способ преодоления: изучение способов работы с ЯП,

Найти Рахманинова.
2018-05-13 09:46 Дневник успеха 2018-05-13 Отчёт за неделю + 23 18 мин.
Это была трудная одна пятьдесят вторая года. Начинавшаяся, как лёгкая прогулка в солнечный денёк, она прошла через параллели борьбы с юзингами  и невнимательностью, через пропавшие элементы панели инструментов и сложности тригонометрии. Пересечение меридианов праздничных дней внесло свои коррективы. Возникали свободные часы для занятий, и они преподносили всё больше гранита науки, коий не поддавался с первого укуса. Спирограф впервые заставил попотеть перед компьютером. Вечером девятого мая, по возвращении с Салюта Победы, искал решения через запросы в интернете. Кириллические запросы не давали результата, однако если спросить у сети по-английски, вываливались масса решений, даже с офсайта Майкрософта. Слепил что-то криво-косое, ушел спать. Утром продолжил борьбу со спирографом, и так и сяк пробовал, пока не докопал до урока Елены Вставской, которая всё разжевала, но в режиме галопом. Отметил, что если уроки Евгения приходится ставить на паузу, чтобы успеть ткнуть куда надо и понять что сделал, то с её уроками пришлось бы паузой пользоваться гораздо чаще - скорость изложения материала у неё гораздо выше. На валенков не рассчитана.
Не расслабляться и вперед!
Взять и сделать.
2018-05-12 21:21 Пробный Java экзамен Формулировка задания + 25 1 день 7 час. 35 мин.
Создать базу данных "Школьные оценки" на языке Java.
Функционал: просмотр оценок в разрезе по курсам, регистрация студентов, ввод оценок, свод оценок в разрезе по курсам.
Реализовать:
- доступ к базе через консольное приложение
- вывести основное меню при запуске консольного приложения
- вывести комментарии доступных действий пользователя в каждом из статусов
- вывести информацию о возникших ошибках ввода\вывода
Требования:
ОС: Линукс
Хранилище данных: GIT
Компилятор: JDK 1,8
Документация: Eclipse
База: MySQL
Подключение: JDBC driver for MySQL
WorkBench
Запросы размещать в файле mysql.txt
Ввести тестовые записи в базу "SCHOOL"
Код оформить по требованиям Java
Классы и методы создать в формате JavaDoc.

2018-05-12 13:33 Графические циклы VIP. Спирограф от Елены + 27 1 час. 25 мин.
Спирограф таки начал рисовать нечто вменяемое. Но полного понимания тригонометрии не добился. Буду думать.
https://prog-cpp.ru/ - сайт Елены Вставской из Челябинска. Очень грамотный человек в математике. Снимаю шляпу.
Завершить приложение с опциями сохранения картинки и замены цвета ручки не удалось. Панель инструментов после игр с деинсталляциями дотнет фреймворка разных версий пришла в состояние недоступной. Все элементы видны, но подсвечены серым. Видимо дело к обновлению оси подойдёт.
2018-05-12 11:29 Графические циклы VIP. Спирограф + 27 22 час. 32 мин.
Тригонометрия требует дальнейшего изучения и понимания.
Чую, не раз ещё придётся вернуться к этой теме, чтобы её переварить.
Но тема интересная. Предыдущему уроку записал видео - натурально картинка деления клетки.
Я про это: https://www.youtube.com/watch?v=u7kvK7TfpbQ
Понять что чем рулит.
2018-05-10 16:01 Графические циклы VIP. Узоры на окружности + 33 2 час. 36 мин.
ArcLine(n * 2, n * 2 * coeff); // - das Wunderbar!
При int coeff = 6; // получается заготовка для эмблемы XII Всемирного фестиваля молодёжи и студентов (WFYS).

Понять механизм формирования точек между которыми рисуются линии.
2018-05-09 21:27 Графические циклы VIP - Квадрат Гарри Поттера + 23 1 час. 16 мин.
Весь мир подчиняется математике, и это круто, если понять и взять матчасть на вооружение.
Моё эпическое полотно "Сеятель, разбрасывающий облигации выигрышного займа":  x >= 4.9 * Math.Sin(y / 1.9 + 6.6) + 17 || x == 10
17:  y >= 6 * Math.Sin(x / 4.0 + 6.0) + 17
24:  x == y || x + y == 24
2: x == y
3:  y == 24 - x
5: y == x / 2
Тригонометрия.
2018-05-08 20:48 Карточки памяти Неуловимая птичка + 27 1 час. 21 мин.
Assets - Scripts - ImportNewAsset - MemoryLibrary.dll
При пересборке библиотеки с версиями ниже 4, возвращается ошибка с первой иллюстрации
Успешно пересобрать удается лишь с версией 4, ребилд без ошибок, при подкладывании новособранной библиотеки версии 4, Unity  возвращает ошибку со второй иллюстрации (справа внизу на экране).
Как это поженить, кроме инсталляции версии Unity 2017, а там прицепиком и 32-битная винда не устроит, пока не ясно.

Вместо NETFramework,Version=v4.6.1 соорудить  библиотеку версии 3,5.
Вопрос возник в процессе написания отчета. Если вся проблема в создании библиотеки версии 3.5, может кто-то поделится уже созданной MemoryLibrary.dll созданной с версией .NET Framework 3.5?

2018-05-08 19:16 Карточки памяти Открытие по щелчку + 27 55 мин.
Assets - Scripts - drag-n-drop -> Add Component - добавление скрипта драг-н-дропом.
button - onClick - drag-n-drop MainCamera to NONE(Object) -> No Function/Program - > OnClick


2018-05-08 16:40 Карточки памяти Горизонтальное и Вертикальное + 26 35 мин.
Horizontal Layout Panel -> Child Conrol Size
Padding - отступы по краям
Spacing  - отступы между элементами
F2 - rename

Забыл грохнуть текст у кнопки до копирования - удалял у каждой.
2018-05-08 16:01 Карточки памяти Авоська картинок + 27 34 мин.
Render Mode -> Screen Space - Camera
Main Camera -> Render Camera
Source Image -> UISprite -> drag-n-drop Picture here.
Add Component -> Layout -> Grid Layout Group
Constraint -> Fixed Column Count -> 4
CTRL+S (d0 n0t f0rget) the more often the better
Держать коня в упряжи.
2018-05-08 14:47 Карточки памяти Запуск Unity с картинками + 29 26 мин.
Впервые 8 мая 2018 года в 14 часов 40 минут по московскому времени запустил Unity. Китайцы расползлись по размеру. Всё видит движок. Надо будет поправить картинки.
Дождаться продолжения.
2018-05-08 12:05 Карточки памяти Персональные картинки + 25 43 мин.
Установлен Unity, кони роют копытами землю, запустить его в работу.
Подобрать картинки, гугл не открывается, заблокировали его что ли? Пришлось порыться через яндекс, а у него параметризации поиска картинок по размеру не обнаружил. Плохо искал или его там не прикрутили до сих пор?
2018-05-08 10:05 Графические циклы ФИНАЛЬНЫЙ УРОК + 26 49 мин.
Задачи отличные, Евгению спасибо за создание благоприятной для обучения обстановки. Основной навык - умение применить pen (ручка по-русски, не карандаш) на пикчебоксе. Использование циклов дает любопытные результаты, а с применением тригонометрических функций картины получаются залипательные. В финале поэкспериментировал с углами, получаются неожиданные результаты. Следующий курс - "Секундомер".
Уяснить систему координат пикчербокса, синусы, косинусы и радианы. Давно это было и нелюбопытно, здесь же впервые некий интерес даже проснулся от вековой дрёмы.
2018-05-07 16:15 Карточки памяти Класс в Библиотеке + 27 36 мин.
Создать проект - библиотека классов, перетащи код, методы паблик. Ссылки - добавить ссылку на библиотеку. Добавить using.
Девушка, а как пройти в библиотеку?
Делать сие в первый раз.
2018-05-07 15:09 Карточки памяти Классовая независимость + 26 1 час. 51 мин.
ctrl+X - вырезать. Прежде таким удобнейшим хоткеем не пользовался. Кидайте в меня камни ))))
Переименовал методы, и это сработало. Ctrl+R и переименование будет по всему коду.
Применили метод "разделяй и властвуй" на языке C#.
Осознать смысл предпринимаемых действий.
2018-05-07 11:58 Графические циклы Спираль Архимеда + 26 2 час. 55 мин.
Синусам и косинусам для блондинки. Это проходили в школе, но по традиции, теория не вылилась в практику до знакомства с Евгением. Обязательно дожить до сорока годиков, чтобы заинтересоваться школьными знаниями? Удивляюсь.
g.DrawLine(pen, 150, 150,//координаты центра 150 и 150
                    150 + (float)Math.Cos(alfa / 180.0 * Math.PI) * 150,//координаты Х
                    150 - (float)Math.Sin(alfa / 180.0 * Math.PI) * 150);//координаты У
Расшевелить приложение после задания for (int s = НОЛЬ; s < 180; s += 30), после чего спас лишь CTRL+ALT+DEL )))
2018-05-06 17:24 Графические циклы Трёхмерные циклы + 20 2 час. 1 мин.
g.DrawEllipse(pen,
                                x + 3 + xx - 3, //координата центра по оси Х
                                y + 3 + yy - 3, //координата цетра эллипса по оси У
                                6, 6); //размер эллипса
Prt Sc отрабатывает по окончании действия цикла. Пробовал сделать скриншот во время рисования эллипсов - нет промежуточной картинки экрана - она делается лишь когда закончится выполнение цикла. Та же история с завершением программы на лету. Пока не дорисует, программу не закрыть, кроме как убить процесс в трее. Новость.
Привязать параметры кода к местности пикчербокса.
2018-05-06 15:12 Дневник успеха 2018-05-06 Отчёт за неделю + 22 36 мин.
С детских лет нравилась Дорога и длительные путешествия. Выматывает, конечно, но меняющиеся пейзажи и многотысячные перегоны не дают скучать. Складывается впечатление, что кодить - это занятие похожее на дальнюю дорогу. Отлично, когда в пути есть такой собеседник, как Евгений. С ним отдыхаешь, несмотря на то, что работаешь головой. Такой парадокс.
Метрика на сегодня такова: Звание: Гаммациклоп. Накопленный опыт: 74 часа. Баланс Мегахешей: собрано 6 Mh, потрачено 0 Mh. Баланс Байтов: 637 байтов.
Установил Unity на Windows 7 тридцатидвухбитную свою, встала не сразу, пришлось обновить DirectX и видеодрайвера.
От Дмитрия(4814) узнал о существовании 25-дюймовых мониторов на вменяемую цену на рынке. Впечатлил его скриншот с соотношением почти 1 к 2. Вот это чудо техники: https://www.dns-shop.ru/product/d8ca50de01d53330/25-monitor-lg-25um58-p-25um58-paruz/        Удобный монитор.
Раздел "Консоль" помогает прокачивать знание синтаксиса, видеоуроки сейчас делаются в разделе "Графические циклы".  Всего так много и всё такое вкусное, а желудок у котёнка не больше напёрстка ) ).
Всех с Днем Победы! За Родину! За Сталина!
Делегаты. Принцип понятен, сложность в правильности применения.
2018-05-05 21:08 Демо игры Картинка с секретом + 24 2 час. 20 мин.
Событие if (e.X < buttonShow1.Location.X &&
                e.Y < buttonShow1.Location.Y).
Ctrl + E в mspaint - вот где задается размер картинки!
Учиться! Учиться! Учиться! Всех с 200-летней годовщиной со дня рождения Карла Гейнриховича!
Понять, откуда люди берутся. На сайте )))
Я смотрел прежде этот урок, но отчего-то не делал. Решил доделать невыполненное. Благо фотки подоспели с ледокола.
2018-05-05 15:17 Графические циклы Внутренние условия + 23 57 мин.
Исключить рисование в выбранной области: if ((x == 120 || x == 150) && (y == 120 || y == 150)) continue;
break - выйти из цикла.
Исключить центральные квадратики для 16 кнопки.
2018-05-04 22:02 Шахматы по сети Доска. Установка Unity 3D + 27 5 мин.
Unity  на 32 битах в MS Windows 7 всё-таки вертится! Ошибка при запуске решается обновлением видеодрайверов и инсталляцией DirectX
131 сим/мин
2018-05-04 19:27 Демо софт Вступительное слово + 27 33 мин.
Ehglish languige - our all. Evgeny is a boatman on the river of programming.
Understand how I got here.
2018-05-04 16:21 Графические циклы Вложенные циклы + 26 1 час. 5 мин.
g.DrawRectangle(pen, 3, 3, 24, 24);//координаты левого верхнего угла 3,3. Ширина 24, высота 24
ЗЫ. Я таки запустил Юнити на своем дремучем ноуте! Техподдержка Юнити ответила на запрос по ошибке запуска, доустановил DirectX, драйвера видеокарты и вуаля!
Глядеть в окно и видеть солнечный день и холодный ветер. В Кирове около 10 градусов по Цельсию.
2018-05-03 15:50 Карточки памяти Независимый класс + 24 2 час. 7 мин.
Ctrl+точка - переименование метода повсеместно в коде.
Отследить механизм межклассовой взаимосвязи методов. Чайная ложка вылизана. До половника пока не дотянулся. )
2018-05-03 13:16 Графические циклы Пучок лучей + 24 2 час. 19 мин.
Уяснил наконец-таки систему координат.
X0_Y0-------------------X------------------X300_Y0
|                                                                     |
|                                                                     |
|                                                                     |
Y                                                                    Y
|                                                                     |
|                                                                     |
|                                                                     |
X0_Y300-------------X-----------------X300_Y300
Насладиться красотой линий.
2018-05-02 14:44 Шахматы по сети План Шахматного проекта + 26 11 мин.
Опыт С# - только здесь. SQL изучал в рамках курса "Информационные системы в экономике" ВятГУ 1999-2004г.г., игра шахматы знакома с детства. Интерес большой, опыта минимум. Однако, учитывая широчайшие возможности проекта VideoSharp.info и то, как растолковывается здесь любой сложный вопрос, имею предположить, что любой пошедший вместе с Евгением, достигнет цели. Всем удачи!

2018-05-02 13:37 Графические циклы Диагональные линии + 28 48 мин.
Метод DrawLine(чем рисует(карандаш)_цвет_ширина_стиль_линии,    х1_икс_координата_первой_точки,
  у1_игрек_кордината_первой_точки,    х2_икс_координата_второй_точки,    у2_игрек_кордината_второй_точки)

2018-05-01 18:18 Микроигры Игра 15 - Кнопки + 27 47 мин.
int position = Convert.ToInt16(((Button)sender).Tag);//взять тег кнопки через опцию "sender" в переменную "position", конвертировав значение в тип "short"

2018-05-01 16:55 Графические циклы Горизонтали и вертикали + 28 43 мин.
for (int y = 0; y <= 300; y += 30)//не запятые, а точки с запятой!!!

2018-04-30 11:13 Графические циклы Подготовка графики + 24 43 мин.
Чтобы что-то начать использовать, это что-то нужно сначала создать.
Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);//создание нового битмапа с размером точно в пикчербокс
pictureBox1.Image = bmp;//записать битмап в пикчербокс
g = Graphics.FromImage(pictureBox1.Image);//создание графики статическим методом Graphics
pen = new Pen(Color.DarkRed);//создание красного карандаша

2018-04-29 18:56 Дневник успеха 2018-04-29 Отчёт за неделю + 25 14 мин.
Разобрался (думаю так) с навигацией на сайте. Выстроил некую систему ежедневной работы, понял какие плюшки за системность учебы и какие кнуты за пропуски по дням.
Звание: Микробитер. Накопленный опыт: 46 часов. Баланс Мегахешей: собрано 5 Mh, потрачено 0 Mh.Баланс Байтов: 343 байта. Курс "Нанософт" завершен, накоплен наноопыт (понимаю, что мал мала меньше), но и этому рад. Сегодняшний видеоурок про WinAPI и автоуничтожитель программ впервые принес больше удовольствия, чем напряжения. Спасибо Евгению Витольдовичу.

2018-04-29 16:53 Нанософт VIP урок. Работа с WinAPI + 24 2 час. 10 мин.
DllImport - контекст - рефакторинг (быстрые действия) - using System.RunTime.InteropServices;
WM_CLOSE = 0x0010; = Сим-сим, закройся!
Ctrl+Shift+Esc - горячие для диспетчера задач. Не знал ))
Сложно было не ржать, аки конь ахалтекинский, над несчастной программулиной, окно лицензии которой нещадно улетало )
Спасибо Игромистру, получил массу удовольствия от времени, потраченного на видеоурок.
WinAPI - вещь!
2018-04-28 18:46 Нанософт ФИНАЛЬНЫЙ УРОК + 25 3 час. 42 мин.
Самоорганизации, написанию сценария, подготовке плана видео.
Записать приличный звук, чтоб слышно было и не фонило. Ноут древний, вебка вообще не дышит, микрофон слышит динамики, тач не работал никогда при мне. Грех жаловаться, ноут Sony Vaio был куплен на Авито за 3000 рублей ))
2018-04-27 14:44 Нанософт Средняя оценка + 21 1 час. 27 мин.
Новое - ToolTip - инструмент для содания всплывающих подсказок.
Делегаты не то чтобы непонятны, скорее непривычны. Грызём-с.
2018-04-26 15:44 Нанософт Делегаты на кубиках + 22 1 час. 46 мин.
public delegate void DelegateShow(int a, int b); - это же пример инкапсуляции?
Научился-таки ставить точку останова вновь. 14 лет назад умел, а тут тыкался - не получалось. Оказалось тыкать левее надо было.
Подобрать картинки.
2018-04-25 11:55 Нанософт Скорость на клавиатуре + 23 3 час. 45 мин.
1 секунда = 10 000 000 тиков. При вводе новых операторов не забывай о namespace.
Способ считать из файла label_text.Text = File.ReadAllText("solo.txt");
Занятно тарахтел микрофон у автора в момент рекордного набора.
Сложно подрасти с сотни символов в минуту до полутысячи. Но ведь возможно!
2018-04-24 09:43 Нанософт Расписание уроков + 22 18 час. 48 мин.
string filename = "schedule.txt";  - объявляй в классе, а не за пределами скобок.
В попыхах, объявил файл до скобок, открывающих класс. Потребовалось "утро вечера мудренее", чтобы найти эту ошибку. Отладка по традиции заводила не в те дебри, как и прежде. Не умеет отладчик фиксировать подобные косяки, как показывает практика.
Черепа, не ошибающиеся в синтаксисе! Как Вам это удается??? ))
2018-04-22 19:17 Дневник успеха 2018-04-22 Отчёт за неделю + 24 7 мин.
Подрастил скорость машинописи, яснее стала навигация по сайту.  Набор текста воодушевил младшую (8 лет) - тоже тычет за меня периодически. Там, где статистика из ряда вон плоха, может её попытка и была. Знакомство с кодом каждый день привело к более ясному пониманию синтаксических оборотов. Впервые за многие годы поиграл в игруху. 2048, как оказалось, знакома детям, тыкались уже в своих смартфонах, увидели меня за этой гамой - узнали, показали свои рекорды. За несколько дней там выше 30 тысяч набивали. Успехи, однако )
Сложно не путаться в коде. Потому пишу себе комментарии.
2018-04-22 19:04 Нанософт Прохождение теста + 24 2 час. 49 мин.
Считывать данные из внешнего файла в массив, ввод и вывод из массивов. Чуть больше стал понятен синтаксис языка C#.
Организация перемешивания вопросов потребовала особого внимания.
2018-04-21 21:53 Карточки памяти Алгоритм игры + 22 59 мин.
Дописал комментарии построчно для понимания.
Как и прежде - синтаксис.
2018-04-21 19:24 Нано-игры VIP урок. Игра 2048 + 24 35 мин.
С игрушками расстался в 2000 году, последние были WarCraft и ГЭГ, занимательная стратегия. В 2018 году играю в 2048. До чего ещё дойдем с Евгением Витольдовичем? ) Самокат у него электрический просто замечательный!
Добиться отображения игрухи, у меня флешплеер был под запретом в операционке.
Game Over! Score 3080 Try again.
2018-04-20 15:09 Нанософт Шахматные часы + 22 4 час. 7 мин.
Обуздали системное время, узнал событие MouseEnter в действии.
Как и прежде синтаксис C#.
2018-04-19 17:19 Нанософт Баскетбольное табло + 23 2 час. 21 мин.
Шрифты должны помещаться в формы. Передача данных между формами, методы public и private были знакомы прежде в теории. Финт ушами с масштабированием шрифта - отличная технология.
Отношения с синтаксисом языка C# пока на "Вы". Внимательность - наше всё.
2018-04-18 17:15 Нанософт Твоё портфолио + 22 6 час. 24 мин.
TabControl - новый инструмент, на знал. Show - открыть, ShowDialog - открыть дочернее, чтобы не плодить неразберихи.
Новая концепция создания портфолио, автору большое спасибо.
Поспевать за видеоинструкцией, но это проблемы роста, надеюсь моя скорость не вечно будет улиткиной )
2018-04-17 11:48 Карточки памяти Отображение карточек + 21 1 день 2 час. 43 мин.
Для массивов пиши квадратные скобки, а после for в конце строки не пиши точку с запятой.
Найти свои опечатки и получить работоспособный софт. Больше дня ушло на то, чтобы вернуться к сбойному месту кода и найти лишнюю точку с запятой, поправить круглые скобки на квадратные, необходимые массиву.
1 затык этот: for (int j = 0; j < cards.Length; j++) сюда дорисовал ещё и ;
2 затык здесь был, вместо квадратных скобок круглые впилил:  opens[j] = false;
2018-04-15 18:07 Дневник успеха 2018-04-15 Отчёт за неделю + 19 10 мин.
Созданы, пусть и под диктовку и с постановкой на паузу видеоуроков, несколько игрушек. Попрактиковался в машинописи кода за роботом. Нашел с помощью гуру Воронина неприятный баг в таблицах Шультье, выплывший лишь при разработке автокликера на следующем уроке. Чуток помайнил хешей, просмотрел массу работ курсантов Евгения Витольдовича. Интересно, насколько окажутся по силам последующие учебные дни.
Сложно разбирать синтаксис языка. Многое непонятно, приходится обращаться к справочным источникам. Сложно находить баги в коде, но здесь радует участие более опытных участников проекта. oCam на моем ноуте так и не пишет видео с экрана. Ошибка при старте записи, и тут ПО писано не мной, решение лишь в поиске альтернативы.
2018-04-15 12:38 Карточки памяти Подготовка формы + 20 1 час. 52 мин.
Повторение - мать учения. Выполнил знакомые операции, лишний раз отложилось что где лежит, и как применяется.
Пришлось побороться с кавычками. У автора кавычки различаются, у меня кавычки внутри MessageBox воспринимались как резервированные системой, отчего возвращалась ошибка. Кавычки пришлось заменить.
2018-04-14 19:25 Нано-игры Бот для Цифр + 22 1 день 12 час. 26 мин.
Научился азам поиска багов в предыдущих программах. С подачи Ивана Воронина перелистал события привязанные к объекту TableLayoutPanel, там обнаружил лишнее событие маусклик. После удаления оного и перекомпиляции, ошибка в работе таблицы Шультье исчезла. Спасибо за подсказку.
Из нового для себя: Переключение свойств объектов TRUE/FALSE дабл-кликом, поиск методов гуглом, поиску прежде не обнаруженных багов в предыдущих программах.
Разобрался с ошибкой: "При спаривании игры с ботом Автокликер возникла новость. Если после закрывания всех кнопок ткнуть по форме, возвращается ошибка "System.InvalidCastException: "Не удалось привести тип объекта "System.Windows.Forms.TableLayoutPanel" к типу "System.Windows.Forms.Button".""
Поскольку бот тыкает множество раз, возникают условия для реализации этого бага. "
2018-04-14 14:00 Нано-игры ФИНАЛЬНЫЙ УРОК + 22 2 час. 28 мин.
Писать видеоотчеты, прежде такого не практиковал. Впервые протестировал видеозахват с экрана.
Найти работоспособный программный продукт захвата с экрана для своего немолодого ноута. Отчего-то oCam отказался выполнять запись, с выведением диалога ошибки вызова стрима Windows. Поиск замены привел на софт, выдающий задержку видеоряда при сносном качестве записи звука.
2018-04-13 21:16 Дневник успеха Полезные права и обязанности в Клубе формулистов + 22 37 мин.
Не знал о группе в скайпе. Не знал о необходимости еженедельных отчетов. Навигация по сайту до сих пор заставляет задумываться. Не всё понятно, что откуда растет и что за чем следует.
Сложно майнить мегахеши на слабом железе )
2018-04-13 20:29 Демо игры C# чего начать программировать + 22 15 мин.
Есть желание довести до логического завершения учебный процесс, начатый в 1999 году студентом Вятского Государственного Университета и снова поймать волну драйва, которую помню по лекциям Виктора Уновича Сысоева, преподавателя ВятГУ. Придя учиться сопливым мальчиком, относился к предмету "Информатика" в политехе как к чему-то наилегчайшему для себя, пока не попал на его пары, где Виктор Унович рассказывал нам, младым повесам, о машинной математике, о булевой алгебре, о логической математике, если не путаю. Много лет прошло, а глубина и необъятность информации не забыта. Теорию читал и прежде, здесь в практическом ключе занимательнее и увлекательнее.  Всем успехов!

2018-04-12 14:46 Нано-игры Игра Цифры + 25 7 час. 32 мин.
Преобразованию типов, организации меню формы, функции перемешивания swap. Новым оказался элемент формы TableLayoutPanel - удобно расставлять множество элементов. Про таблицы Шульте прежде не слышал вообще. Опять же новое узнал.
Switch - Case - наглядная конструкция, легкая для восприятия.
Сложно было понять принцип перемешивания названий кнопок. Таблица Шульте подразумевает, что игрок смотрит исключительно в центр картинки с цифрами. Это у кого-то получается в компьютерном варианте?
2018-04-11 14:29 Нано-игры Скорость реакции. Алгоритм и рекорд + 25 7 час. 18 мин.
Циклам с подсчетом среднего времени ожидания реакции пользователя, применению таймера, рандомайзера. Скрывать объект методом вызова несуществующего -занятная фича.
Побить рекорд 0.46
Сложности при переводе интерфейса VisualStudio. У Евгения Витольдовича английская версия, у меня русская. Приходится переводить на лету.
2018-04-10 10:38 Нано-игры Скорость реакции. Три картинки по таймеру + 20 2 час. 3 мин.
Внимательности. Не все обороты синтаксиса знакомы, приходится перепроверять написанное. Добавить картинку в форму через треугольничек - что-то новое, прежде смутно помню, было иначе реализовано. Таймер - незнакомый элемент, занимательная штука.
Сложно понять суть тернарной операции в связке с синтаксисом. Но это решается через буквари.
«Если p, то q, иначе r» перевести на язык программы - непривычно.
2018-04-09 11:47 Нано-игры Скорость реакции. Блок-схема + 19 3 час. 18 мин.
Вспомнил о блок-схемах, изучавшихся в ВятГУ, поставил на ноут Pencil Evolus, копипасту в Ирфан редакторе, алгоритмизации процесса задуманной программы.
Выбор необходимых компонентов для работоспособности игры.
2018-04-08 20:47 Нано-игры Арканоид - Шарик и кирпичики + 19 9 час. 32 мин.
Оживил игру, выбиваются кирпичики, дети в восторге, Вика прётся из-за плеча.
44:33 - не сразу отследил момент
2018-04-07 16:50 Нано-игры Арканоид - Уровень и ракетка + 21 51 мин.
Создание форм, форм-наследователей, использование элементов Label в роли стенок и кирпичиков игры, использование элемента Button в роли двигающейся ракетки, привязка событий к элементам форм, привязка иконок в программе, обработка событий нажатия клавиш.
Сложно было заставить ракетку передвигаться. Обработчик события в первый раз был создан неверно, в привязке не к форме игры, а к кнопке. После переименования в коде метода, снова не помогло. Ракетка стала двигаться после пересоздания метода от формы заново.
  Демо игры Лабиринт 2D - игра   Открыто


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


  Комбинаторика Рекурсия. Факториал   Открыто


  Морской флот Вступление   Открыто


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


  Новые технологии Модульное тестирование   Открыто


  Итератор Итератор. Список простых чисел.   Открыто


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


  Entity Framework Введение в EF   Открыто


  Шифрование Перестановочный шифр   Открыто


  Оригами Хлопушка   Открыто


  Без конкуренции Как избежать конкуренции?   Открыто


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


  ASP.NET и GMaps Маркеры на карте   Открыто


  PHP Driver Установка MySQL, Smarty и Bootstrap   Открыто


  МикроШахматы ФИНАЛЬНЫЙ УРОК   Открыто


  MVC шаблон MVC - PhoneBook - UserList Struct   Открыто


  MVC и JavaFX View - Установка Scene Builder   Открыто


  С++ Графика - обрезка изображений Презентация курса   Открыто


  Yii2 Soft - Вступление и подготовка   Открыто


  PHP фреймворк Yii2 - вторая часть Welcome - Вступление   Открыто


  Невидимка Кто такая C# Невидимка?   Открыто


  Простой WPF WPF. Конвертер валюты. Ньютон против Паскаля.   Открыто


  Шахматы по сети Доска. Фигуры   Открыто


  Web API Создание Web API проекта   Открыто


  Карточки памяти VIP-загрузка на Android   Открыто


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


  Начало здесь День №7. Регулярный и Последовательный подход.   Открыто


  Соло на клавиатуре FINAL VIDEO EXAM   Открыто


  On-line игра Показ героя на экране   Открыто


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


  Bootstrap-4 первые шаги ФИНАЛЬНЫЙ УРОК   Открыто


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


  Python3: математика Любое число прописью - список в строку   Открыто


  PHP CLI без мата Инструментарий курса   Открыто


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


  Доска объявлений Пользователи и роли - ACF+RBAC - ограничим доступ к темам   Открыто


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





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

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

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

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


Научился: ищу причину ошибки с кодом 3384 (скриншот нумер раз). Причина ошибки была в разных разрядностях PHP и Apache. UPD через 1 час(скриншот нумер два): Перезакачал исходники, удостоверившись в том, что оба x86, пересоздал каталоги и заново (снова-да-лад0м) внес правки через саблайм - игрушка заиграла ) Всем НХНЧ!



Научился: document.getElementById("b2019") - найти в строках кода некий элемент, помеченный идентификатором id="b2019" и выполнить с ним некие действия. ============== Вызов функции пиши ниже строк, создающих объекты, используемые в этой функции. Иначе не взлетит.
Трудности: То, что выглядело как лёгкая прогулка у моря, получилось поиском багов на ровном месте. Набирал в Саблайме - после прикручивания цикла работать отказывалось. Пробовал в Пингвине - тоже не работало. Взлетело лишь после третьего набора операторов в Brackets. В чем root of all evil пока не понял. Найду - отпишу здесь же. UPD 20181218171100(мск) Поставил с ГитХаба Brackets 12 версии на RunTu - сначала тоже капризы - пока скобки не поставил в онклике при вызове метода level1() - работать тоже отказывался скрипт. Увидел-таки, добавил требуемые скобки - и оно взлетело! Валерию снова спасибо за подсказку какой релиз Пингвина взять. Ковыряю помалу. Летать ноут не стал после Винды ХР, но и отторжения Пингвин не вызывает.