GeekHub-2020.js
GeekHub-2020.js copied to clipboard
Домашняя работа №1 - события и функции
Видео: https://youtu.be/w3UZxWdJ-Vs
Задача:
- Скопировать папку functions себе в репозиторий. Имя папки оставить
functions
и html файл должен остатьсяindex.html
. По ним я буду проверять вашу домашку. Всё остальное можете менять, добавлять, по своему желанию. - Сделать чтобы когда я ввожу в
#condition
какое-то условие (напримерa1 < b2
) и если оно равноtrue
, то свойствоbackground-color
инпута#result
должно поменяться на#B6D7A8
в остальных ситуациях это свойство должно быть#FFFFFF
Проверка домашки
С этого момента, в начале каждого дня, аж до субботы, робот будет проверять вашу домашку на условие описанное выше. Как только ваша домашка будет удовлетворять всем условиям, то робот от моего имени оставит в вашем репозитории issue с заглавием Домашняя работа №1 - события и функции
и текстом Домашнее задание сделано успешно
. Если домашка будет не удовлетворять каким-либо условиям, то робот в конце дня напишет каким именно. После этого вы можете продолжать как-то улучшать вашу домашку, если хотите. Мой робот всё равно будет проверять ваш репозиторий и делать скриншоты сделанной вами страницы. В конце курса, если у меня будут проблемы с выбором, кому дать сертификат, то я буду опираться на эти скриншоты, чтобы понять, кто работал больше и лучше.
Дополнительные материалы для изучения
- Интерактивный курс работы с git
- Самоучитель по html
- Самоучитель по css
-
Руководство по DOM, как работать с
document.querySelector
и т.п.
@redexp вопрос по п.4 и проверке: робот проверяет только ветку master или название ветки не имеет значения?
@ANScorp робот проверяет только ветку master
, если вы хотите чтобы он проверял другую ветку, то предложите по какому алгоритму он должен выбирать ветку
Як зрозуміти чи дз не виконано?
- #9
@redexp пускай проверяет master
- этого вполне достаточно, а алгоритм изменять нет необходимости.
Скопировать папку functions себе в репозиторий. Имя папки оставить functions и html файл должен остаться index.html. По ним я буду проверять вашу домашку. Всё остальное можете менять, добавлять, по своему желанию.
@redexp по поводу папки functions в корне - может стоит структурировать все домашки по порядковым номерам лекций (например HW1, HW2 и т.д.)?
Или мы с папкой functions
будем работать на протяжении курса?
@ANScorp её надо было наверное назвать excel
но есть как есть. Мне больше нравятся названия папок которые описывают что у них внутри.
@ANScorp её надо было наверное назвать
excel
но есть как есть. Мне больше нравятся названия папок которые описывают что у них внутри.
согласен, то есть пока оставляем как есть. Просто в следующей домашке будем использовать более конкретное название для описания самого задания.
svn export https://github.com/user/repo/path/to/folder Этой командой скачать папку себе в репозиторий?
@Catmur2020 нет, svn
это вы вообще не в ту степь зашли.
git clone https://github.com/Catmur2020/geekhub-2021
Только что первый раз запустил робота, возможно будут какие-то баги в работе
а как часто бот будет делать проверку?
а как часто бот будет делать проверку?
написано в первом сообщении ("в конце каждого дня")
@BogdanSav @AndrewVoinarovskyi я поменял логику, робот будет проверять в начале каждого дня. Робот запускается с моего ноута, я не хочу держать его включённым до полуночи.
К слову, немного статистики на сегодняшнее утро:
- всего 36 человек создали репозитории
- 14 из них - сдали домашку
- 7 - пустой репозиторий
Немного не в тему, но очень интересно взглянуть на бота 😲
Немного не в тему, но очень интересно взглянуть на бота
зная как проверяет робот, можно попробовать его обмануть, но вкратце код выглядит вот так
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');
}
Добрый день, Сергей.
Вы можете объяснить или кинуть ресурс, где об этом можно почитать
var calculator = new Function('a1, b1, a2, b2', 'return ' + formula.value + ';');
почему 'return ' с пробелом и formula.value без ''?
@maksimonz ты видео смотрел? вот эта строка 'return ' + formula.value + ';'
формирует код будущей функции, попробуй написать return без пробела, увидишь какой код получается..
да, несколько раз смотрел. Я пробовал без пробела) Сама конструкция понятна, не понятно почему разрыв в строке 'return ' потом + formula.value + и опять строка ';' какой синтаксис был бы этой записи в виде обычной функции?
@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;
}
если всё ещё что-то не понятно, то попробуй спросить у людей в чате. У тебя ещё есть практически неделя чтобы понять как работает код. Закрыли тему.
да, несколько раз смотрел. Я пробовал без пробела) Сама конструкция понятна, не понятно почему разрыв в строке '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
спасибо за помощь!
- 57 репозиториев
- 25 успешно сделанных домашек
- 14 пустых репозиториев
@redexp Повторно issue на репозитории не создается ботом, если домашка уже была сделана успешно ранее?
@MaksymSu каждое утро бот перепроверяет все репозитории, если домашка была сдана успешно и в ней не появились ошибки, то бот ничего не постит в issue. Только если в домашке снова появятся ошибки, то бот уберёт лейбл done
и добавит комментарий с текстом ошибки. Плюс как я уже писал, бот продолжает делать скриншоты, если домашка сделана успешно, это на случай если вы меняете css
@redexp Подскажите почему Boolean неправильно считывается (базовый код первой домашки)? сверху 4 строки консоли, снизу соответствующий код.
@redexp Подскажите почему Boolean неправильно считывается? сверху 4 строки консоли, снизу соответствующий код.
а какой тип переменних?
код с первой домашки, input
@redexp Подскажите почему Boolean неправильно считывается? сверху 4 строки консоли, снизу соответствующий код.
а какой тип переменних?
код с первой домашки, input
по суті як я розумію, зараз значення змінної є просто строка "a1>a2", а не код тому при перетворені пише true бо як би строка існує. і змінні а1 і а2, скоріше всього як строки.
@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
- 70 репозиториев
- 39 успешно сделанных домашек
- 11 пустых репозиториев
Добрый день!
Бот показывает ошибку - Неправильный background-color (#FFFFFF). После ввода чисел и true условия должно быть #B6D7A8
У меня стоит код изменения background-color result.style.backgroundColor = "#b6d7a8";
Визуально в браузере цвет менятся при true, т.е. все работает правильно. При просмотре кода в браузере - background-color: rgb(182, 215, 168);
Вопрос - возможно из-за этого бот показывает ошибку ?
Маю таку ж саму помилку як і в @KonstantinFaleev . Бот потребує назву кольору в маленькому регістрі: esult.style.backgroundColor = "#b6d7a8"; і він не бачить колір
@KonstantinFaleev @ArtemSlotin в коде я сделал приведение цвета из любого формата в hex формат, в теории то о чём вы пишете не должно быть проблемой, но я перепроверю
@KonstantinFaleev @ArtemSlotin у вас популярная ошибка - #result
должен менять цвет сразу как я ввожу условие в #condition
, а у вас оно будет меняться только после изменения a1 и т.п.
@redexp Добавил в домашку возможность удалять и добавлять новые активные ячейки в последнем комьите. Изменять index.html допустимо?
@MaksymSu допустимо, самое главное чтобы были инпуты a1, b1, a2, b2
предлагаю всем сделать приватный репозиторий geekhub2020 а оттуда делать ветки ( branch ) с домашними заданиями напр. 1 домашка будет branch tables и тогда будет все прекрасно видно .. как вам ?
var calculator = new Function('a1, b1, a2, b2', 'return ' + formula.value + ';'); Не совсем понятно зачем после formula.value добавлять точку с запятой? Что она делает? Код вроде работает и без нее, в справочниках тоже строка функции указывается в виде 'return a + b'.
@kononyukii в js по умолчанию разрешено не использовать точку с запятой, но вы её ставить всё равно можете. Если включён строгий режим то точка с запятой - обязательна. Я лично привык всегда писать точку с запятой и вам советую.
var calculator = new Function('a1, b1, a2, b2', 'return ' + formula.value + ';'); Не совсем понятно зачем после formula.value добавлять точку с запятой? Что она делает? Код вроде работает и без нее, в справочниках тоже строка функции указывается в виде 'return a + b'.
це стандарти програмування пішло ще з C/C++(може й раніше), розділяє команди, в сішці наприклад, без крапок з комою програма не зкомпілюється і видасть помилку. і без крапки з комою вилетить помилка, якщо декілька інструкцій написати в одному рядку.
@redexp Так #b6d7a8 и #fff (было раньше) нужно менять на #B6D7A8 и #FFFFFF ?
@MaksymSu это одни и теже цвета, записанные по разному, мой бот приведёт цвет к нужному формату, не бойтесь
@kononyukii в js за замовчуванням дозволено не використовувати крапку з комою, але ви її ставити все одно можете. Якщо включений строгий режим то крапка з комою - обов'язкова. Я особисто звик завжди писати крапку з комою і вам раджу.
В 'use strict' еще и выдает ошибку Uncaught SyntaxError: Unexpected token ';'
И в Sources подчеркивает эту точку с запятой.
P.S. вопрос именно об formula.value + ';' <- этой точке с запятой. Зачем нужна после инструкций я знаю.
Извините за флуд, правда не могу понять. Но готов поверить на слово и дальше так и делать несмотря на ошибку в отладчике. Все равно же работает код.
сделал домашку но залил в свой приватный репозиторий без создания папки functions ... ваш бот разберется что к чему ?
- 77 репозиториев
- 53 успешно сделанных домашек
- 9 пустых репозиториев
@KontoraB завтра утром бот последний раз проверит домашки, если домашка не будет сделана, то бот больше не будет проверять все твои последующие домашки.
а где посмотреть - зачет по работе или нет ? P S изначально папку functions не создавал так как не было требования
а где посмотреть - зачет по работе или нет ? P S изначально папку functions не создавал так как не было требования
@KontoraB Перевірити стан домашки можна на вкладці issues твого репозиторію. Папка functions обов'язкова, про це говорили з самого початку, додай її для успішної здачі роботи.
- 7 репозиториев
- 4 успешно сделанных домашек
- 2 пустых репозиториев
а где посмотреть - зачет по работе или нет ? P S изначально папку functions не создавал так как не было требования
мабуть неуважно прочитав пункт 4: "Скопировать папку functions себе в репозиторий. Имя папки оставить functions и html файл должен остаться index.html. По ним я буду проверять вашу домашку. Всё остальное можете менять, добавлять, по своему желанию."
Решил уточнить что бы наверняка. Если input a1: 5
, когда мы вводим в condition a1
, result
должен измениться на зеленый или нет?
Решил уточнить что бы наверняка. Если
input a1: 5
, когда мы вводим в conditiona1
,result
должен измениться на зеленый или нет?
@AndreyKondakov Боту на це все одно, для себе мож переробити. Так відбувається тому, що ти перевіряєш if (condition)
, а так як Boolean(5) == true
, бек змінюється.
Там робот не нашел папку functions и файл index.html, потому что я звернул папку functions в папку geekhub1

Я удалил папку geekhub1 и вытащил оттуда functions.
как узнать, приняли ли домашку. нет ответа ни в issues, ни на почте
как узнать, приняли ли домашку. нет ответа ни в issues, ни на почте
бот перевіряє 1 раз зранку, якщо тільки зробив, результат завтра зранку отримаєш
как узнать, приняли ли домашку. нет ответа ни в issues, ни на почте
бот перевіряє 1 раз зранку, якщо тільки зробив, результат завтра зранку отримаєш
залил вчера вечером
как узнать, приняли ли домашку. нет ответа ни в issues, ни на почте
бот перевіряє 1 раз зранку, якщо тільки зробив, результат завтра зранку отримаєш
залил вчера вечером
а ці пункти: Добавить мой аккаунт redexp как участника вашего приватного репозитория Setting -> Manage access -> Invite a collaborator Заполнить форму, чтобы у меня был список ваших репозиториев https://forms.gle/2BYNS14jfmKawr1j8
как узнать, приняли ли домашку. нет ответа ни в issues, ни на почте
бот перевіряє 1 раз зранку, якщо тільки зробив, результат завтра зранку отримаєш
залил вчера вечером
а ці пункти: Добавить мой аккаунт redexp как участника вашего приватного репозитория Setting -> Manage access -> Invite a collaborator Заполнить форму, чтобы у меня был список ваших репозиториев https://forms.gle/2BYNS14jfmKawr1j8
и это тоже
@kravchuk-st на тот момент когда бот проверял домашку, ты не добавил меня как участника твоего репозитория, бот не мог ничего тебе сообщить, сейчас всё вроде ок, но правильная ли у тебя домашка - узнаем завтра утром
- 107 репозиториев
- 89 успешно сделанных домашек
- 7 пустых репозиториев
Самая, по моему мнению, красиво оформленная домашка у @dr0n508
@redexp касательно комментария выше: нужно ли уделять особое внимание красоте оформления и есть да - какая шкала оценивания этого параметра? Что необходимо реализовать для максимального к-ва балов?
@ANScorp вы разочаровываете меня своей невнимательностью
После этого вы можете продолжать как-то улучшать вашу домашку, если хотите. Мой робот всё равно будет проверять ваш репозиторий и делать скриншоты сделанной вами страницы. В конце курса, если у меня будут проблемы с выбором, кому дать сертификат, то я буду опираться на эти скриншоты, чтобы понять, кто работал больше и лучше.
@redexp я очень внимательно прочитал описание, но "как-то улучшать" - это очень расплывчатая формулировка. Поэтому я и задал вопрос выше. Что конкретно имеется ввиду под этой фразой? Изменение интерфейса на свой вкус?:) К тому же, насколько я понял, робот проверяет каждое отдельное задание (текущее) только в течении недели. То есть каждую неделю после очередной лекции робот прекращает проверку предыдущего задания. Так я услышал на последней лекции. Или же все домашки можно модифицировать для проверки вплоть до окончания курса?
@ANScorp например @MaksymSu добавил кнопки добавления колонок и строк, при том что формула воспринимала значения из новых ячеек. Отлично, по моему. Человек сам для себя придумал интересную задачу и реализовал её, скилонулся. Большинство просто добавляли css стиля. Нету никаких балов, просто, к концу курса я не знаю какая будет конкуренция, может все получат сертификаты, может будет очень сложный выбор. Да и не в сертификате дело, а в интересных задачах, которые хочется решить. Закрыли тему
@redexp мои вопросы выше про общие правила выполнения заданий. Я их задаю для четкого понимания процесса. Задаю их в чате, который специально для этого создан. Мне не задавать эти вопросы? Прежде чем закрывать тему, можно получить ответ на этот вопрос:
К тому же, насколько я понял, робот проверяет каждое отдельное задание (текущее) только в течении недели. То есть каждую неделю после очередной лекции робот прекращает проверку предыдущего задания. Так я услышал на последней лекции. Или же все домашки можно модифицировать для проверки вплоть до окончания курса?
@redexp мои вопросы выше про общие правила выполнения заданий. Я их задаю для четкого понимания процесса. Задаю их в чате, который специально для этого создан. Мне не задавать эти вопросы? Прежде чем закрывать тему, можно получить ответ на этот вопрос:
К тому же, насколько я понял, робот проверяет каждое отдельное задание (текущее) только в течении недели. То есть каждую неделю после очередной лекции робот прекращает проверку предыдущего задания. Так я услышал на последней лекции. Или же все домашки можно модифицировать для проверки вплоть до окончания курса?
В первую очередь вы учитесь для себя. Оценок Вам никто ставить не будет. А если так уж хотите сертификат просто делайте больше сами для себя в каждой домашке
Есть ещё возможнотсь заполнить форму? Дз сделал, раньше не мог, небыло ноута..
Самая, по моему мнению, красиво оформленная домашка у @dr0n508
Чи можна познайомитись з реалізацією? Для загального розвитку. Взагалі було б чудово мати можливість знайомитись з реалізацією найкраще виконаних, з вашої точки зору, завдань. Приклад, мотивація, розвиток. Ще хотілося б бачити, так би мовити, "еталонну" реалізацію завдання домашки від вас, щоб було на що рівнятися і вдосконалюватись в написанні функціонального і лаконічного коду.
@Vasik404 нет, надо было предупреждать.
@Kharchenko-Petro я подумаю, найду время, выложу куда-то