GeekHub-2020.js icon indicating copy to clipboard operation
GeekHub-2020.js copied to clipboard

Домашняя работа №1 - события и функции

Open redexp opened this issue 4 years ago • 72 comments

Видео: https://youtu.be/w3UZxWdJ-Vs

Задача:

  1. Скопировать папку functions себе в репозиторий. Имя папки оставить functions и html файл должен остаться index.html. По ним я буду проверять вашу домашку. Всё остальное можете менять, добавлять, по своему желанию.
  2. Сделать чтобы когда я ввожу в #condition какое-то условие (например a1 < b2) и если оно равно true, то свойство background-color инпута #result должно поменяться на #B6D7A8 в остальных ситуациях это свойство должно быть #FFFFFF

Проверка домашки

С этого момента, в начале каждого дня, аж до субботы, робот будет проверять вашу домашку на условие описанное выше. Как только ваша домашка будет удовлетворять всем условиям, то робот от моего имени оставит в вашем репозитории issue с заглавием Домашняя работа №1 - события и функции и текстом Домашнее задание сделано успешно. Если домашка будет не удовлетворять каким-либо условиям, то робот в конце дня напишет каким именно. После этого вы можете продолжать как-то улучшать вашу домашку, если хотите. Мой робот всё равно будет проверять ваш репозиторий и делать скриншоты сделанной вами страницы. В конце курса, если у меня будут проблемы с выбором, кому дать сертификат, то я буду опираться на эти скриншоты, чтобы понять, кто работал больше и лучше.

Дополнительные материалы для изучения

redexp avatar Oct 25 '20 06:10 redexp

@redexp вопрос по п.4 и проверке: робот проверяет только ветку master или название ветки не имеет значения?

nedopaka avatar Oct 26 '20 14:10 nedopaka

@ANScorp робот проверяет только ветку master, если вы хотите чтобы он проверял другую ветку, то предложите по какому алгоритму он должен выбирать ветку

redexp avatar Oct 26 '20 14:10 redexp

Як зрозуміти чи дз не виконано? - #9

redexp avatar Oct 26 '20 14:10 redexp

@redexp пускай проверяет master - этого вполне достаточно, а алгоритм изменять нет необходимости.

nedopaka avatar Oct 26 '20 15:10 nedopaka

Скопировать папку functions себе в репозиторий. Имя папки оставить functions и html файл должен остаться index.html. По ним я буду проверять вашу домашку. Всё остальное можете менять, добавлять, по своему желанию.

@redexp по поводу папки functions в корне - может стоит структурировать все домашки по порядковым номерам лекций (например HW1, HW2 и т.д.)? Или мы с папкой functions будем работать на протяжении курса?

nedopaka avatar Oct 26 '20 15:10 nedopaka

@ANScorp её надо было наверное назвать excel но есть как есть. Мне больше нравятся названия папок которые описывают что у них внутри.

redexp avatar Oct 26 '20 15:10 redexp

@ANScorp её надо было наверное назвать excel но есть как есть. Мне больше нравятся названия папок которые описывают что у них внутри.

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

nedopaka avatar Oct 26 '20 15:10 nedopaka

svn export https://github.com/user/repo/path/to/folder Этой командой скачать папку себе в репозиторий?

Catmur2020 avatar Oct 26 '20 19:10 Catmur2020

@Catmur2020 нет, svn это вы вообще не в ту степь зашли.

git clone https://github.com/Catmur2020/geekhub-2021

работа с git

redexp avatar Oct 26 '20 21:10 redexp

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

redexp avatar Oct 26 '20 21:10 redexp

а как часто бот будет делать проверку?

BogdanSav avatar Oct 26 '20 22:10 BogdanSav

а как часто бот будет делать проверку?

написано в первом сообщении ("в конце каждого дня")

andrewvoinarovskyi avatar Oct 26 '20 23:10 andrewvoinarovskyi

@BogdanSav @AndrewVoinarovskyi я поменял логику, робот будет проверять в начале каждого дня. Робот запускается с моего ноута, я не хочу держать его включённым до полуночи.

redexp avatar Oct 27 '20 05:10 redexp

К слову, немного статистики на сегодняшнее утро:

  • всего 36 человек создали репозитории
  • 14 из них - сдали домашку
  • 7 - пустой репозиторий

redexp avatar Oct 27 '20 05:10 redexp

Немного не в тему, но очень интересно взглянуть на бота 😲

BJIAST avatar Oct 27 '20 05:10 BJIAST

Немного не в тему, но очень интересно взглянуть на бота

зная как проверяет робот, можно попробовать его обмануть, но вкратце код выглядит вот так

await updateRepos(list);

var testHomework = require('./hm/01-excel');

for (var i = 0; i < list.length; i++) {
	var item = list[i];

	try {
		await testHomework(item);
	}
	catch (error) {
		await addIssue(item, {
			label: 'homework-1',
			title: 'Домашняя работа №1 - события и функции',
			body: error.message,
		});

		console.log(item.path, error.message);
		
		continue;
	}

	await addIssue(item, {
		label: 'homework-1',
		title: 'Домашняя работа №1 - события и функции',
		body: 'Домашнее задание сделано успешно',
		done: true,
	});

	await saveScreenshot(item, '01-excel');

	console.log(item.path, 'SUCCESS');
}

redexp avatar Oct 27 '20 06:10 redexp

Добрый день, Сергей. Вы можете объяснить или кинуть ресурс, где об этом можно почитать var calculator = new Function('a1, b1, a2, b2', 'return ' + formula.value + ';'); почему 'return ' с пробелом и formula.value без ''?

maksimonz avatar Oct 27 '20 13:10 maksimonz

@maksimonz ты видео смотрел? вот эта строка 'return ' + formula.value + ';' формирует код будущей функции, попробуй написать return без пробела, увидишь какой код получается..

redexp avatar Oct 27 '20 13:10 redexp

да, несколько раз смотрел. Я пробовал без пробела) Сама конструкция понятна, не понятно почему разрыв в строке 'return ' потом + formula.value + и опять строка ';' какой синтаксис был бы этой записи в виде обычной функции?

maksimonz avatar Oct 27 '20 14:10 maksimonz

@maksimonz предположим что formula.value === "a1 + b2", тогда 'return ' + formula.value + ';' будет равно

return a1 + b2;

а код new Function('a1, b1, a2, b2', 'return ' + formula.value + ';'); по итогу вернёт функцию

function (a1, b1, a2, b2) {
  return a1 + b2;
}

если всё ещё что-то не понятно, то попробуй спросить у людей в чате. У тебя ещё есть практически неделя чтобы понять как работает код. Закрыли тему.

redexp avatar Oct 27 '20 14:10 redexp

да, несколько раз смотрел. Я пробовал без пробела) Сама конструкция понятна, не понятно почему разрыв в строке 'return ' потом + formula.value + и опять строка ';' какой синтаксис был бы этой записи в виде обычной функции?

це називається конкатенація або сумування строк https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwj24JrK-dTsAhVC_SoKHU3lC60QwqsBMAN6BAgNEAM&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DOWwDDAVM44I&usg=AOvVaw3mKLuybdJKLUqV93_CVdYm

BogdanSav avatar Oct 27 '20 14:10 BogdanSav

спасибо за помощь!

maksimonz avatar Oct 27 '20 14:10 maksimonz

  • 57 репозиториев
  • 25 успешно сделанных домашек
  • 14 пустых репозиториев

redexp avatar Oct 28 '20 06:10 redexp

@redexp Повторно issue на репозитории не создается ботом, если домашка уже была сделана успешно ранее?

MaksymSu avatar Oct 28 '20 07:10 MaksymSu

@MaksymSu каждое утро бот перепроверяет все репозитории, если домашка была сдана успешно и в ней не появились ошибки, то бот ничего не постит в issue. Только если в домашке снова появятся ошибки, то бот уберёт лейбл done и добавит комментарий с текстом ошибки. Плюс как я уже писал, бот продолжает делать скриншоты, если домашка сделана успешно, это на случай если вы меняете css

redexp avatar Oct 28 '20 08:10 redexp

@redexp Подскажите почему Boolean неправильно считывается (базовый код первой домашки)? сверху 4 строки консоли, снизу соответствующий код. 333

MaksymSelenkov avatar Oct 28 '20 15:10 MaksymSelenkov

@redexp Подскажите почему Boolean неправильно считывается? сверху 4 строки консоли, снизу соответствующий код. 333

а какой тип переменних?

BogdanSav avatar Oct 28 '20 16:10 BogdanSav

код с первой домашки, input

MaksymSelenkov avatar Oct 28 '20 18:10 MaksymSelenkov

@redexp Подскажите почему Boolean неправильно считывается? сверху 4 строки консоли, снизу соответствующий код. 333

а какой тип переменних?

код с первой домашки, input

по суті як я розумію, зараз значення змінної є просто строка "a1>a2", а не код тому при перетворені пише true бо як би строка існує. і змінні а1 і а2, скоріше всього як строки.

BogdanSav avatar Oct 28 '20 18:10 BogdanSav

@MaksymSelenkov если condition.value == "a1 > a2" тогда Boolean(condition.value) == Boolean("a1 > a2") т.е. вы хотите превратить в булеан строку? Вы же понимаете что для браузреа это просто строка, в ней может быть и ваше имя и всё что угодно. Для того чтобы строка стала исполняемым кодом, и нужен конструктор Function вот почитайте как им пользоваться https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/Function

redexp avatar Oct 28 '20 18:10 redexp

  • 70 репозиториев
  • 39 успешно сделанных домашек
  • 11 пустых репозиториев

redexp avatar Oct 29 '20 05:10 redexp

Добрый день! Бот показывает ошибку - Неправильный background-color (#FFFFFF). После ввода чисел и true условия должно быть #B6D7A8 У меня стоит код изменения background-color result.style.backgroundColor = "#b6d7a8"; Визуально в браузере цвет менятся при true, т.е. все работает правильно. При просмотре кода в браузере - background-color: rgb(182, 215, 168); Вопрос - возможно из-за этого бот показывает ошибку ?

KonstantinFaleev avatar Oct 29 '20 08:10 KonstantinFaleev

Маю таку ж саму помилку як і в @KonstantinFaleev . Бот потребує назву кольору в маленькому регістрі: esult.style.backgroundColor = "#b6d7a8"; і він не бачить колір

ArtemSlotin avatar Oct 29 '20 09:10 ArtemSlotin

@KonstantinFaleev @ArtemSlotin в коде я сделал приведение цвета из любого формата в hex формат, в теории то о чём вы пишете не должно быть проблемой, но я перепроверю

redexp avatar Oct 29 '20 09:10 redexp

@KonstantinFaleev @ArtemSlotin у вас популярная ошибка - #result должен менять цвет сразу как я ввожу условие в #condition, а у вас оно будет меняться только после изменения a1 и т.п.

redexp avatar Oct 29 '20 09:10 redexp

@redexp Добавил в домашку возможность удалять и добавлять новые активные ячейки в последнем комьите. Изменять index.html допустимо?
image

MaksymSu avatar Oct 29 '20 09:10 MaksymSu

@MaksymSu допустимо, самое главное чтобы были инпуты a1, b1, a2, b2

redexp avatar Oct 29 '20 09:10 redexp

предлагаю всем сделать приватный репозиторий geekhub2020 а оттуда делать ветки ( branch ) с домашними заданиями напр. 1 домашка будет branch tables и тогда будет все прекрасно видно .. как вам ?

KontoraB avatar Oct 29 '20 12:10 KontoraB

var calculator = new Function('a1, b1, a2, b2', 'return ' + formula.value + ';'); Не совсем понятно зачем после formula.value добавлять точку с запятой? Что она делает? Код вроде работает и без нее, в справочниках тоже строка функции указывается в виде 'return a + b'.

kononyukii avatar Oct 29 '20 16:10 kononyukii

@kononyukii в js по умолчанию разрешено не использовать точку с запятой, но вы её ставить всё равно можете. Если включён строгий режим то точка с запятой - обязательна. Я лично привык всегда писать точку с запятой и вам советую.

redexp avatar Oct 29 '20 16:10 redexp

var calculator = new Function('a1, b1, a2, b2', 'return ' + formula.value + ';'); Не совсем понятно зачем после formula.value добавлять точку с запятой? Что она делает? Код вроде работает и без нее, в справочниках тоже строка функции указывается в виде 'return a + b'.

це стандарти програмування пішло ще з C/C++(може й раніше), розділяє команди, в сішці наприклад, без крапок з комою програма не зкомпілюється і видасть помилку. і без крапки з комою вилетить помилка, якщо декілька інструкцій написати в одному рядку.

BogdanSav avatar Oct 29 '20 16:10 BogdanSav

@redexp Так #b6d7a8 и #fff (было раньше) нужно менять на #B6D7A8 и #FFFFFF ?

MaksymSu avatar Oct 29 '20 16:10 MaksymSu

@MaksymSu это одни и теже цвета, записанные по разному, мой бот приведёт цвет к нужному формату, не бойтесь

redexp avatar Oct 29 '20 16:10 redexp

@kononyukii в js за замовчуванням дозволено не використовувати крапку з комою, але ви її ставити все одно можете. Якщо включений строгий режим то крапка з комою - обов'язкова. Я особисто звик завжди писати крапку з комою і вам раджу.

В 'use strict' еще и выдает ошибку Uncaught SyntaxError: Unexpected token ';'
И в Sources подчеркивает эту точку с запятой.

P.S. вопрос именно об formula.value + ';' <- этой точке с запятой. Зачем нужна после инструкций я знаю.

Извините за флуд, правда не могу понять. Но готов поверить на слово и дальше так и делать несмотря на ошибку в отладчике. Все равно же работает код.

kononyukii avatar Oct 29 '20 16:10 kononyukii

сделал домашку но залил в свой приватный репозиторий без создания папки functions ... ваш бот разберется что к чему ?

KontoraB avatar Oct 29 '20 21:10 KontoraB

  • 77 репозиториев
  • 53 успешно сделанных домашек
  • 9 пустых репозиториев

redexp avatar Oct 30 '20 05:10 redexp

@KontoraB завтра утром бот последний раз проверит домашки, если домашка не будет сделана, то бот больше не будет проверять все твои последующие домашки.

redexp avatar Oct 30 '20 05:10 redexp

а где посмотреть - зачет по работе или нет ? P S изначально папку functions не создавал так как не было требования

KontoraB avatar Oct 30 '20 08:10 KontoraB

а где посмотреть - зачет по работе или нет ? P S изначально папку functions не создавал так как не было требования

@KontoraB Перевірити стан домашки можна на вкладці issues твого репозиторію. Папка functions обов'язкова, про це говорили з самого початку, додай її для успішної здачі роботи.

Daniel-developer5 avatar Oct 30 '20 08:10 Daniel-developer5

  • 7 репозиториев
  • 4 успешно сделанных домашек
  • 2 пустых репозиториев

redexp avatar Oct 31 '20 05:10 redexp

а где посмотреть - зачет по работе или нет ? P S изначально папку functions не создавал так как не было требования

мабуть неуважно прочитав пункт 4: "Скопировать папку functions себе в репозиторий. Имя папки оставить functions и html файл должен остаться index.html. По ним я буду проверять вашу домашку. Всё остальное можете менять, добавлять, по своему желанию."

andrewvoinarovskyi avatar Oct 31 '20 06:10 andrewvoinarovskyi

Решил уточнить что бы наверняка. Если input a1: 5, когда мы вводим в condition a1, result должен измениться на зеленый или нет?

AndreyKondakov avatar Oct 31 '20 10:10 AndreyKondakov

Решил уточнить что бы наверняка. Если input a1: 5, когда мы вводим в condition a1, result должен измениться на зеленый или нет?

@AndreyKondakov Боту на це все одно, для себе мож переробити. Так відбувається тому, що ти перевіряєш if (condition), а так як Boolean(5) == true, бек змінюється.

Daniel-developer5 avatar Oct 31 '20 10:10 Daniel-developer5

Там робот не нашел папку functions и файл index.html, потому что я звернул папку functions в папку geekhub1 Screenshot_2

Я удалил папку geekhub1 и вытащил оттуда functions.

vadimkalaida avatar Oct 31 '20 12:10 vadimkalaida

как узнать, приняли ли домашку. нет ответа ни в issues, ни на почте

kravchuk-st avatar Oct 31 '20 17:10 kravchuk-st

как узнать, приняли ли домашку. нет ответа ни в issues, ни на почте

бот перевіряє 1 раз зранку, якщо тільки зробив, результат завтра зранку отримаєш

BogdanSav avatar Oct 31 '20 17:10 BogdanSav

как узнать, приняли ли домашку. нет ответа ни в issues, ни на почте

бот перевіряє 1 раз зранку, якщо тільки зробив, результат завтра зранку отримаєш

залил вчера вечером

kravchuk-st avatar Oct 31 '20 17:10 kravchuk-st

как узнать, приняли ли домашку. нет ответа ни в issues, ни на почте

бот перевіряє 1 раз зранку, якщо тільки зробив, результат завтра зранку отримаєш

залил вчера вечером

а ці пункти: Добавить мой аккаунт redexp как участника вашего приватного репозитория Setting -> Manage access -> Invite a collaborator Заполнить форму, чтобы у меня был список ваших репозиториев https://forms.gle/2BYNS14jfmKawr1j8

BogdanSav avatar Oct 31 '20 17:10 BogdanSav

как узнать, приняли ли домашку. нет ответа ни в issues, ни на почте

бот перевіряє 1 раз зранку, якщо тільки зробив, результат завтра зранку отримаєш

залил вчера вечером

а ці пункти: Добавить мой аккаунт redexp как участника вашего приватного репозитория Setting -> Manage access -> Invite a collaborator Заполнить форму, чтобы у меня был список ваших репозиториев https://forms.gle/2BYNS14jfmKawr1j8

и это тоже

kravchuk-st avatar Oct 31 '20 19:10 kravchuk-st

@kravchuk-st на тот момент когда бот проверял домашку, ты не добавил меня как участника твоего репозитория, бот не мог ничего тебе сообщить, сейчас всё вроде ок, но правильная ли у тебя домашка - узнаем завтра утром

redexp avatar Oct 31 '20 20:10 redexp

  • 107 репозиториев
  • 89 успешно сделанных домашек
  • 7 пустых репозиториев

redexp avatar Nov 01 '20 06:11 redexp

Самая, по моему мнению, красиво оформленная домашка у @dr0n508 2020-11-01

redexp avatar Nov 01 '20 06:11 redexp

@redexp касательно комментария выше: нужно ли уделять особое внимание красоте оформления и есть да - какая шкала оценивания этого параметра? Что необходимо реализовать для максимального к-ва балов?

nedopaka avatar Nov 01 '20 10:11 nedopaka

@ANScorp вы разочаровываете меня своей невнимательностью

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

redexp avatar Nov 01 '20 10:11 redexp

@redexp я очень внимательно прочитал описание, но "как-то улучшать" - это очень расплывчатая формулировка. Поэтому я и задал вопрос выше. Что конкретно имеется ввиду под этой фразой? Изменение интерфейса на свой вкус?:) К тому же, насколько я понял, робот проверяет каждое отдельное задание (текущее) только в течении недели. То есть каждую неделю после очередной лекции робот прекращает проверку предыдущего задания. Так я услышал на последней лекции. Или же все домашки можно модифицировать для проверки вплоть до окончания курса?

nedopaka avatar Nov 01 '20 11:11 nedopaka

@ANScorp например @MaksymSu добавил кнопки добавления колонок и строк, при том что формула воспринимала значения из новых ячеек. Отлично, по моему. Человек сам для себя придумал интересную задачу и реализовал её, скилонулся. Большинство просто добавляли css стиля. Нету никаких балов, просто, к концу курса я не знаю какая будет конкуренция, может все получат сертификаты, может будет очень сложный выбор. Да и не в сертификате дело, а в интересных задачах, которые хочется решить. Закрыли тему

redexp avatar Nov 01 '20 11:11 redexp

@redexp мои вопросы выше про общие правила выполнения заданий. Я их задаю для четкого понимания процесса. Задаю их в чате, который специально для этого создан. Мне не задавать эти вопросы? Прежде чем закрывать тему, можно получить ответ на этот вопрос:

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

nedopaka avatar Nov 01 '20 12:11 nedopaka

@redexp мои вопросы выше про общие правила выполнения заданий. Я их задаю для четкого понимания процесса. Задаю их в чате, который специально для этого создан. Мне не задавать эти вопросы? Прежде чем закрывать тему, можно получить ответ на этот вопрос:

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

В первую очередь вы учитесь для себя. Оценок Вам никто ставить не будет. А если так уж хотите сертификат просто делайте больше сами для себя в каждой домашке

BJIAST avatar Nov 01 '20 12:11 BJIAST

Есть ещё возможнотсь заполнить форму? Дз сделал, раньше не мог, небыло ноута..

Vasik404 avatar Nov 01 '20 14:11 Vasik404

Самая, по моему мнению, красиво оформленная домашка у @dr0n508 2020-11-01

Чи можна познайомитись з реалізацією? Для загального розвитку. Взагалі було б чудово мати можливість знайомитись з реалізацією найкраще виконаних, з вашої точки зору, завдань. Приклад, мотивація, розвиток. Ще хотілося б бачити, так би мовити, "еталонну" реалізацію завдання домашки від вас, щоб було на що рівнятися і вдосконалюватись в написанні функціонального і лаконічного коду.

Kharchenko-Petro avatar Nov 01 '20 17:11 Kharchenko-Petro

@Vasik404 нет, надо было предупреждать.

redexp avatar Nov 01 '20 18:11 redexp

@Kharchenko-Petro я подумаю, найду время, выложу куда-то

redexp avatar Nov 01 '20 18:11 redexp