До списку уроків
11 клас · Урок 14 з 14

Demo Day: регресія, пітч, зворотний звʼязок

виконано0%
Крок 1

Останній урок: показуємо те, що будували чотирнадцять уроків

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

За тринадцять уроків у твоєму ~/www/ накопичилося більше десятка файлів. Кожен із них колись працював. Ключове слово тут — колись.

Останні два уроки ти правив спільні стилі, переносив файли й переписував головну сторінку. Частина того, що працювало у вересні, зараз лежить зламана. І ти про це не дізнаєшся, поки не перевіриш.

Після уроку ти вмієш

Слова регресія, пітч і Demo Day поки нічого не означають — розберемо кожне тоді, коли воно знадобиться.

Хід уроку

ЧастинаХвЩо робишЧим закінчується
Регресія25проганяєш перевірки уроків 1–7 разом і лагодиш червоневердикт «готовий до показу»
Аудит перед виступом15360 px, alt, <label>, контраст, title, description, og:imageлендинг не соромно відкрити з проєктора
Demo Day50пітчиш 3 хв, відповідаєш на питання 2 хв, слухаєш іншихkb/demo-day.md — картка результатів
Зворотний звʼязок20пишеш два структуровані відгуки чужим командамkb/feedback-given.md
Підсумок модуля10дивишся, з чого почав і чим закінчивпосилання в портфоліо
Половина сьогоднішньої оцінки — не про твій проєкт Файл kb/feedback-given.md важить стільки ж, скільки власний лендинг. Уміння сказати чужій команді щось корисне — окрема навичка. На роботі вона знадобиться раніше, ніж уміння верстати. Тому за відгук «класно, все сподобалось» бал сьогодні поки не поставлять: у ньому немає нічого, з чим інша команда могла б щось зробити. Допиши до нього конкретику — і він зарахується.
Що показують очно, а що лежить на сервері На сервер і сьогодні їде тільки легкий текст: index.html, kb/demo-day.md, kb/feedback-given.md. Усе важке для виступу лишається на твоєму компʼютері й показується з екрана: скріншоти, згенеровані ілюстрації, запис демонстрації. Це те саме правило, що діяло всі чотирнадцять уроків.
Крок 2

Регресія: коли нова правка ламає стару роботу

Перевірка не того, що ти щойно зробив, а того, що ти зробив раніше і вважаєш готовим

Регресія — це коли те, що працювало, перестало працювати після зміни в іншому місці. Регресійна перевірка — повторний прогін старих перевірок після нових змін. Вона не шукає помилок у сьогоднішній роботі: для цього є звичайна перевірка. Вона питає одне — чи не зачепив я ліктем те, що стояло поруч.

Слово «гниття» тут не для настрою. У програмуванні є усталений термін software rot. Код лежить незмінний, а працювати перестає. Бо змінюється все навколо нього: сусідні файли, шляхи, версії, дані.

Твій проєкт псується так само. Три способи зробити це ти вже випробував особисто.

Що ти зробивЩо зламалосяКоли це помітно
підправив колір у brand.css під новий heroверстка brief.html: він бере той самий токен і став нечитабельнимніколи — ти не відкривав бриф два тижні
переніс нотатку в підтеку kb/market/вікі-посилання [[competitors]] у трьох інших нотатках стали битимиколи вчитель клікає посилання на захисті
переписав report.tpl.html під новий виглядreport.sh не знаходить плейсхолдер і генерує звіт із порожніми числамичерез добу, після наступного запуску cron
склав дані «щоб було під рукою» в ~/www/data/responses.csv з іменами людей віддається по HTTP кожному охочомуу найгірший момент
Сім артефактів проєкту і те, від чого кожен залежить джерела даних і токени сторінки проєкту фінальний лендинг data/market.csv ~/data/responses.csv tasks.json kb/*.md brand.css урок 3 урок 11 урок 9 урок 7 урок 5 analytics.html report.html roadmap.html kb/index.html brief.html · pitch.html урок 4 урок 12 урок 10 урок 8 уроки 2 і 6 index.html фінальний лендинг 7 секцій, живі дані посилання на всі сторінки проєкту правка токенів під новий hero — і стара сторінка стала нечитабельною Кожна стрілка — це залежність, яку ти створив сам. Стрілок більше, ніж артефактів, тому ламається завжди не там, де ти правив. Чим пізніше ти дізнаєшся про поломку, тим дорожче вона коштує: дізнатися про неї під час пітчу — найдорожче.
Пʼять джерел ліворуч, пʼять сторінок посередині, лендинг праворуч — сім артефактів, які має бути видно на захисті. Зламати щось у лівій колонці легко: файли переносять, перейменовують і правлять, а сторінка праворуч дізнається про це остання.
Питання

Учора під новий hero ти поміняв --brand-bg у brand.css зі світлого на темний. Лендинг виглядає чудово. Що найімовірніше вже зламано, хоча ти цього ще не бачив?

Крок 3

Чому регресію ганяють перед показом, а не після

Тому що під час виступу ти не можеш полагодити нічого, а після виступу лагодити вже пізно

Логіка тут дуже проста. Поломка існує з учорашнього вечора незалежно від того, знаєш ти про неї чи ні. Питання лише в тому, хто побачить її першим — ти за сорок хвилин до показу чи журі на екрані проєктора. У першому випадку в тебе є двадцять хвилин і термінал. У другому — тридцять секунд і сто очей.

Одна й та сама поломка, два сценарії БЕЗ РЕГРЕСІЇ 11:2012:00 12:0212:04 залив правкуу brand.css виходиш пітчитиусе виглядає добре журі клікає kb/сторінка віддає 404 «у мене вдомавоно працювало» З РЕГРЕСІЄЮ 11:2011:22 11:2511:52 12:00 залив правкуу brand.css check11 8:3 червоні пункти лагодиш25 хвилин прогін №2:усе зелене пітчиш на ціломупродукті Різниця між рядками — сорок хвилин, витрачених до показу. Поломка в обох випадках однакова: вона вже сталася вчора ввечері. Регресія не робить проєкт кращим. Вона лише вирішує, хто дізнається про поломку першим — ти чи глядачі.
Час на прогін — приблизно дві хвилини, час на лагодження — скільки знайдеться. Тому регресію ставлять якнайраніше в день показу, а не «як буде хвилинка».
Питання

До твого виступу пʼятнадцять хвилин. Прогін показав два червоні пункти: kb/index.html має три биті посилання і og:image віддає 404. Полагодити встигаєш одне. Що робиш?

Червона перевірка — це не покарання

У справжніх командах ніхто не сприймає червону перевірку як особисту образу. Червоне означає рівно одне: зламане знайшли раніше, ніж його побачив користувач.

У великих проєктах роблять так само, тільки без кнопки. Зміну там не накопичують тижнями, а заливають маленькими порціями — по кілька рядків за раз.

Після кожної такої порції машина сама повторює всі старі перевірки, а не тільки нову. Такий автоматичний прогін зветься безперервною інтеграцією. Твоя кнопка «Перевірити мою роботу» — та сама ідея, тільки натискаєш її ти.

Логіка та сама, що з бекапом. Бекап не означає, що ти поганий адміністратор. Він означає, що диски виходять з ладу.

Так само й регресія. Вона не про те, що ти поганий розробник. Вона про те, що між файлами є звʼязки, і людина не тримає всі їх у голові. Твої сім файлів повʼязані щонайменше девʼятьма стрілками — і це ще маленький проєкт.

Правило, яке варто забрати з цього уроку Перевірку ганяють перед тим, як показати роботу комусь: учителю, клієнту, журі, користувачу. Не після. І не «коли буде час» — часу перед показом не буває ніколи, його виділяють заздалегідь у розкладі, як окремий пункт.
Питання

Однокласник каже: «Нащо ганяти перевірки уроків 1–7? Я їх уже здав на зелене, оцінки стоять». Що з цим не так?

Крок 4

Пульт регресії: дванадцять перевірок за весь модуль

Так виглядає прогін check11 8 — фінальної перевірки, яка повторює все, що ти здавав із першого уроку

Кожен рядок — окрема перевірка з окремим доказом. Доказ — це не думка системи, а конкретний вивід: код відповіді, кількість знайдених рядків, порахований коефіцієнт.

Червоний рядок каже дві речі. Що саме зламалося і на якому уроці цей файл робився. Шукати причину треба там, а не в сьогоднішньому лендингу.

Натисни «Прогнати все». Чотири пункти впадуть — так буває майже в кожного, хто два уроки поспіль правив спільні файли. Полагодь кожен і прожени повторно: внизу зʼявиться вердикт.

check11 8 · регресія тем 1–7 + фінальний аудит
перевірки ще не запускалися

Демонстраційний режим: доказами тут служать типові виводи команд, складені для уроку. На сервері ці самі дванадцять пунктів рахує check11 8 від твого імені й пише результат у ~/.progress/11-8.json. Стан пульта зберігається у браузері — сторінку можна закрити.

Ті самі перевірки руками

Пульт нічого магічного не робить. Кожен його рядок — це одна команда, яку ти можеш виконати сам у своїй SSH-сесії ще до прогону.

термінал · швидка самоперевірка
$ for f in index.html brief.html analytics.html pitch.html roadmap.html report.html kb/ team.html; do printf "%-16s " "$f"; curl -o /dev/null -s -w "%{http_code}\n" http://91.219.61.4/s/<логін>/$f; done index.html 200 brief.html 200 analytics.html 200 pitch.html 200 roadmap.html 200 report.html 200 kb/ 404 ← ось воно team.html 200
Дві команди, які знаходять найчастіші поломки Биті вікі-посилання: grep -oh "\[\[[^]]*\]\]" ~/www/kb/*.md | sort -u і звірка списку з реальними іменами файлів. Витік приватних даних: curl -o /dev/null -s -w "%{http_code}\n" http://91.219.61.4/s/<логін>/data/responses.csv — тут правильна відповідь 404, а не 200. Якщо 200 — файл із іменами людей лежить у веб-корені, і це найгірший пункт із усіх дванадцяти.
Питання

Пульт показав червоний пункт «контраст тексту до тла 4,22:1». Ти цей brand.css робив на уроці 5 і тоді все було зелене. Де шукати причину?

Крок 5

Demo Day: три хвилини на команду і дві на питання

Регламент однаковий для всіх, таймер на екрані, після третьої хвилини зупиняють на півслові

Зупиняють не через суворість. Інакше перші три команди зʼїдають урок, а останні виступають у порожньому класі. Рівний регламент — це чесність до тих, хто виступає останнім.

Звідси практичний висновок. Перше речення має бути найважливішим, бо останнього може й не бути.

Три хвилини пітчу і дві хвилини питань 0:000:30 1:002:00 2:303:00 12 34 56 питання журі 2 хвилини 1 · 0:00–0:30 — проблема: хто страждає і як сильно. Без «привіт, ми команда номер три». 2 · 0:30–1:00 — для кого саме ви це робите. Один конкретний користувач, не «усі учні країни». 3 · 1:00–2:00 — рішення і жива демонстрація: один сценарій від початку до кінця, не екскурсія по меню. 4 · 2:00–2:30 — числа: обсяг ринку, юніт-економіка, скільки відгуків зібрали і що вони показали. 5 · 2:30–2:50 — що не спрацювало і що ви з цим зробили. Найсильніші 20 секунд усього пітчу. 6 · 2:50–3:00 — запит: що вам потрібно далі. Адреса продукту на екрані. Найдовший блок — демонстрація, найдорожчий — перший. Якщо за 30 секунд не зрозуміло, чия це проблема, решту слухають упіввуха.
Розкадровка на три хвилини. Прогони її вдома з секундоміром двічі: перший раз майже завжди виходить пʼять хвилин, і різницю доводиться вирізати не з демонстрації, а з довгих вступів.

Хто говорить, якщо ви вдвох

Найгірша конфігурація — обидва говорять по черзі «щоб порівну». Слухач витрачає увагу на перемикання між голосами замість змісту. Робочий розподіл виглядає так:

РольЩо робить під час пітчуЩо робить на питаннях
Голосговорить усі три хвилини, дивиться на людей, а не на екранвідповідає першим, коротко
Рукиклікає, відкриває вкладки, тримає таймер у полі зору — і мовчитьпоказує потрібну сторінку, доповнює тільки фактами й числами
Якщо ти один — усе це робиш сам, тому вкладки відкриваються заздалегідь, а не під час виступу.
Перше речення пишуть і вчать напамʼять Єдина фраза за весь пітч, яку варто вивчити дослівно. Далі можна говорити своїми словами, але старт має бути твердим: саме на першому реченні голос тремтить найбільше. Формат: «Кожен третій учень нашої школи щодня стоїть у черзі в їдальні по 12 хвилин і часто йде без обіду» — а не «Ми хочемо розповісти про наш проєкт».
Питання

На репетиції пітч виходить 4 хвилини 20 секунд. Треба вкластися у три. Що правильно вирізати?

Крок 6

Що показувати живим, а що на слайді

Жива демонстрація — найсильніший і найризикованіший інструмент виступу одночасно

Живе завжди переконливіше за скріншот: скріншот можна намалювати, а працюючу сторінку — ні. Але саме в цю хвилину проти тебе працює все одразу.

Мережа класу тримає тридцять пристроїв. Проєктор має іншу роздільну здатність. Потрібна вкладка не відкрита. А сервер відповідає повільніше, ніж удома.

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

Скажімо, твоє твердження — «дані на лендингу справжні й оновлюються самі». Тоді живим має бути саме це. Відкрив сторінку, показав число, додав відгук через форму, перезавантажив — число змінилося. А меню, кольори й підвал показувати живими не потрібно.

ЖивимНа слайді (скріншот у deck.html)
відкриття лендинга з мережі за реальною адресоюпроцес верстки, кодова база, структура тек
один наскрізний сценарій користувача до кінцяусе, що вимагає більше трьох кліків
число, яке підтягується з market.csvтаблиця з 40 рядками — її ніхто не прочитає з проєктора
сторінка звіту, згенерована сьогодні вночісам скрипт і crontab — про них розповідають словами
усе, що ти жодного разу не пробував на цьому проєкторі

Запасний план на чотири рівні

Запасний план — не ознака невпевненості, а частина підготовки. Виглядає він так, від найдешевшого до найдорожчого:

  1. Вкладки відкриті заздалегідь. Лендинг, звіт і база знань уже завантажені у трьох вкладках до початку виступу. Це рятує від 90 % проблем: сторінка вже в браузері, навіть якщо мережа впала.
  2. Скріншоти в deck.html. Пʼять кадрів того самого сценарію, зроблені вдома на спокійно працюючій сторінці. Дек лежить на сервері й теж відкритий у вкладці.
  3. Локальна копія ~/www/. Та сама папка на твоєму ноутбуці: відкривається з файла й працює без інтернету. Живі дані не підтягнуться — і про це чесно кажуть уголос.
  4. Слова. Двадцять секунд опису сценарію без екрана взагалі. Звучить так: «Зараз показати не вийде, тож коротко: користувач відкриває сторінку, бачить меню на сьогодні, обирає обід, отримує код видачі. Адресу дам після виступу — перевірите самі».
Що робити, якщо впало посеред демонстрації Не мовчати, не лагодити на очах у залу і не бити по F5 вісім разів. Одна фраза — «схоже, мережа; переходжу на кадри» — і далі за планом. Тридцять секунд мовчазного клацання коштують дорожче за саму поломку: зал запамʼятовує не помилку, а розгубленість. Помилка з нормальною реакцією читається як досвід.
Питання

Твоє головне твердження: «звіт генерується сам щоночі, числа справжні». Мережа в класі ледь жива. Що показуєш живим?

Крок 7

Дві хвилини питань: коротко, чесно, зі своїми даними

Питання ставлять не щоб завалити, а щоб перевірити, чи стоїть за словами робота

Питання після пітчу — це не іспит на ерудицію. Журі перевіряє одне: чи ти сам робив те, про що розповідаєш. Тому найкращі відповіді однакові за формою — факт із твого проєкту плюс місце, де його можна перевірити. Три речення, не більше.

ПитанняСлабка відповідьСильна відповідь
Звідки це число? «Ми приблизно порахували» «З data/market.csv: 42 відповіді, зібрані з 3 до 10 жовтня. Ось сторінка аналітики, число рахується на льоту»
Чому саме ви це зробите? «Ми дуже мотивовані» «За два місяці ми вже опитали 42 людини, зібрали робочу форму й звіт. Ми не плануємо — воно вже працює за цією адресою»
Хто ваш конкурент? «У нас немає конкурентів» «Найсильніший конкурент — звичка нічого не робити: люди просто стоять у черзі. Із сервісів — шкільний чат, там теж домовляються»
Скільки це коштує? «Ну, сервер недорогий» «Постійні витрати 5,87 $ на місяць, за маржі 2 $ це 3 продажі, щоб вийти в нуль. Число з калькулятора уроку 1, лежить у analytics.html»
Що у вас не вийшло? «Та все вийшло» «Перша форма мала 11 полів — її заповнили двоє з двадцяти. Скоротили до 4, дійшло 14 відповідей»
Питання, відповіді на яке ти не знаєш вигадати на місці «Не знаю. Перевірю за responses.csv і скажу до кінця дня»

Числа у стовпці «сильна відповідь» — приклад формату, а не твої дані. У тебе будуть свої, з твого market.csv і твого калькулятора.

«Не знаю» — законна відповідь Але тільки в повній формі: не знаю + як саме зʼясую + коли скажу. Обірване «не знаю» читається як «не робив». Вигадана на місці цифра гірша за обидва варіанти: її перевіряють наступним питанням, і тоді під сумнів потрапляє вже все, що ти сказав до цього.
Питання

Журі: «Ви кажете, що вашою формою скористалися 14 людей. Скільки з них — не ваші однокласники?» Ти цього не рахував. Найкраща відповідь?

Крок 8

Чому «у нас усе вийшло» — найслабша відповідь дня

Проєкт без жодної невдачі означає одне з трьох: не пробували, не помітили або приховують

Коли команда каже «у нас усе вийшло», досвідчений слухач чує не успіх, а відсутність перевірки. Будь-яка гіпотеза про людей — «їм це потрібно», «вони заповнять форму», «вони зрозуміють кнопку» — розбивається об реальність щонайменше раз. Якщо не розбилася жодного разу, гіпотез просто не перевіряли.

Розповідь про невдачу — це не самокритика і не вибачення. Це доказ, що ти працював із реальністю, а не з уявою. Тому формулюють її не як зізнання, а як ланцюг із чотирьох ланок:

  1. Що припускали. «Ми думали, що люди охоче заповнять анкету на 11 питань».
  2. Що зробили. «Дали форму двадцяти однокласникам».
  3. Що виявилося. «Дійшли до кінця двоє. Решта кинули на четвертому питанні».
  4. Що змінили. «Скоротили до чотирьох питань, прибрали відкриті поля. Наступного разу відповіли 14 із 20».
Звучить якЩо чує журі
«У нас усе вийшло»нічого не перевіряли на живих людях
«Нам не вистачило часу»не планували; часу не вистачає всім
«Ідея класна, просто люди не зрозуміли»звинувачують користувача — виправляти нічого не будуть
«Форма на 11 питань не працює: дійшли 2 з 20. Скоротили до 4 — стало 14 з 20»команда вміє помічати провал і переробляти
Одна невдача, не список Три хвилини не витримають перелік усіх проблем. Обери одну — ту, після якої ти справді щось змінив у продукті, — і розкажи її ланцюгом із чотирьох ланок за двадцять секунд. Невдача без четвертої ланки («що змінили») перетворюється на скаргу.
Питання

Ти хочеш вставити в пітч блок про невдачу. Який із варіантів спрацює найкраще?

Крок 9

Як говорити про чужу роботу, щоб із цього був толк

Відгук — це не оцінка. Це інформація, з якою автор може щось зробити завтра вранці

Перевірка проста: чи може автор після твоїх слів зробити конкретну дію. «Класно, мені все сподобалось» — дії немає.

А тепер інший відгук. «У секції numbers число підтягується з CSV — я оновив дані у себе й побачив, як воно змінилося». Тут дія є. Автор тепер знає, що ця частина працює, і не викине її під час наступної правки.

Різниця між двома цими відгуками зводиться до трьох речей. Ось вони — за ними ж перевіряй і власний текст, перш ніж надсилати.

  1. Конкретно: називай місце. Не «сайт», а «секція roadmap»; не «дизайн», а «контраст підпису під діаграмою». Якщо не можеш назвати місце — ти говориш про враження, а не про роботу.
  2. Про роботу, а не про людину. «Ти неуважний» не має жодного застосування: неуважність не можна виправити до завтра. «У трьох <img> порожній alt» — можна, за пʼять хвилин.
  3. Питання замість вироку. «Роадмап порожній» — вирок, і часто неправильний. «Чому в роадмапі три задачі без виконавця — це навмисно?» — питання, на яке автор або пояснить задум, або скаже «ой».
Що сподобалось — теж інформація, і не менш цінна Автор не знає, що саме в його роботі працює. Якщо ніхто не скаже, що жива таблиця з market.csv — найсильніше місце пітчу, наступного разу він її спокійно спростить «щоб не морочитись». Похвала без назви місця («молодці, круто») цієї роботи не робить — вона нічого не зберігає.
Один відгук, дві форми ПРАЦЮЄ — автор знає, що робити НЕ ПРАЦЮЄ — автор не знає, що робити СИЛЬНЕ «Секція numbers тягне число з market.csv — я змінив дані й побачив, що воно оновилось» ПИТАННЯ «Чому в roadmap три задачі без виконавця — це навмисно чи ще не дійшли руки?» ПРОПОЗИЦІЯ «У 360 px hero їде вправо. Спробуй прибрати фіксовану ширину в .hero img» «Класно, все сподобалось» «Мені якось не зайшло» «Ти неуважний, стільки помилок» «А чому не на React?» нічого не можна повторити й нічого зберегти оцінка без предмета: невідомо, що саме не зайшло про людину, а не про роботу — виправити нічого не по суті: про смак, а не про задачу продукту Перевірка одна: чи може автор завтра вранці зробити конкретну дію після твоїх слів. Якщо ні — це були емоції, а не відгук.
Ліворуч — формула «сильне — питання — пропозиція», за якою сьогодні оцінюють kb/feedback-given.md. Праворуч — чотири найпоширеніші способи витратити чужі дві хвилини даремно.
Питання

Команда показала лендинг, де вся аналітика — картинка, вставлена замість живих даних. Ти це помітив. Як сказати?

Крок 10

Як приймати відгук: не захищатися, зрозуміти, записати

Найдорожча помилка автора — витратити дві хвилини зворотного звʼязку на пояснення, чому так вийшло

Перше бажання, коли чуєш зауваження, — пояснити. «У нас не було часу», «це тимчасово», «ти не так зрозумів». Виглядає це безневинно, а робить одразу дві погані речі.

Перша: воно зʼїдає час, який тобі виділили на слухання. Друга: воно показує людині, що говорити далі немає сенсу. Другого зауваження від неї ти вже не почуєш — а воно могло бути найціннішим.

КрокЩо робишФраза
1дослухуєш до кінця, не перебиваєш
2перепитуєш, якщо не зрозумів, про що саме йдеться«Правильно розумію: ти про підпис під діаграмою, а не про саму діаграму?»
3записуєш дослівно, не переформульовуючи
4дякуєш і йдеш далі, не сперечаючись«Дякую, записав»
5потім, уже без глядачів, вирішуєш, що з цим робити

Ключове — пункт 5. Ти не зобовʼязаний виконувати кожен відгук: частина порад суперечить одна одній, частина — про смак, частина просто помилкова. Ти зобовʼязаний тільки зрозуміти й записати. Рішення лишається за тобою, і «подумав і не роблю, ось чому» — цілком нормальна відповідь.

Правило двох однакових Якщо двоє людей незалежно сказали те саме — це вже не смак і не прискіпливість. Один може помилятися, двоє випадково не збігаються. Такі зауваження йдуть у роботу першими, навіть якщо ти з ними внутрішньо не згоден.
Шлях зауваження: від почутого до виправленого 1 · почув 2 · уточнив 3 · записав 4 · вирішив 5 · зробив дослухав до кінця «правильно розумію…» дослівно, у нотатку роблю / не роблю або пояснив, чому ні «ні, ти не зрозумів, у нас так задумано» кивнув, подякував і не записав людина замовкає — другого зауваження, найціннішого, ти вже не почуєш через десять хвилин і три виступи від зауваження лишиться відчуття Обидва обриви трапляються в перші пʼять секунд після зауваження — саме тоді, коли найбільше хочеться відповісти. Крок 4 навмисно окремий: рішення ухвалюють не при людях і не одразу, а після Demo Day, з нотаткою в руках.
Записувати треба під час виступів, а не «потім усе згадаю». Нотатки з Demo Day лягають у kb/demo-day.md — це той самий формат Markdown із front-matter, що й решта твоєї бази знань.
Питання

Тобі кажуть: «Кнопка “Залишити відгук” губиться, я її не знайшов». Ти впевнений, що кнопка на видноті — просто людина неуважна. Що робиш у цю секунду?

Крок 11

Тренажер: чотири чужі проєкти

Спершу вибираєш, що сказати, з чотирьох варіантів — потім пишеш свій і перевіряєш його на конкретність

Кожен випадок — реальна ситуація Demo Day. Прочитай опис, обери репліку. Після вибору відкриються всі чотири з розбором. Ти побачиш, який із них конкретний, який загальний, який образливий і який просто не по суті. Правильний варіант завжди один, але помилки тут корисніші за влучання.

Тренажер відгуку · 4 випадки
Питання

Ти вже сказав команді, що в них їде верстка на телефоні. Друга команда після тебе каже те саме. Автор відповідає: «та ні, у мене на телефоні все нормально». Що це означає для автора?

Тепер свій відгук

Пиши так, ніби автор прочитає це завтра без тебе поруч. Бо так і буде: kb/feedback-given.md лишається в базі знань.

Сторінка перевірить три речі. Чи названо конкретне місце. Чи є справжнє питання. І чи немає оцінних ярликів. Коли зберуться два відгуки, вона складе готовий файл.

Твій відгук · сильне — питання — пропозиція

      Перевірка конкретності тут груба: сторінка шукає назву місця, знак питання й оцінні ярлики. Вона не вміє оцінити, чи відгук розумний — це зробить людина, якій ти його даси. Стан обох тренажерів зберігається у браузері.

      Файл кладуть у базу знань, а не в корінь kb/feedback-given.md має front-matter із title, tags і date — рівно як нотатки уроку 7, інакше kb/index.html його не підхопить, а перевірка бази знань почервоніє. Файл текстовий, кладеться по FTP у ~/www/kb/ і зберігається в UTF-8.
      Крок 12

      Практика: регресія, виступ, відгуки

      Виконуй по черзі. Галочки зберігаються — сторінку можна закрити й повернутися після виступу.

      Що робиться на компʼютері, а що їде по FTP Лагодиш регресію, готуєш пітч, робиш скріншоти й локальну копію — у себе на машині. По FTP у ~/www/ їдуть три текстові файли: фінальний index.html, kb/demo-day.md і kb/feedback-given.md. Скріншоти й записи демонстрації на сервер не заливаються — учитель дивиться їх з твого екрана.
      Крок 13

      Автоперевірка check11 8, друга частина

      Ті самі дванадцять пунктів, що в пульті, згорнуті у вісім критеріїв оцінки. Спроби не обмежені — але останній прогін має бути до твого виступу.

      Команда та сама, що й на уроці 13: перевірка check11 8 одна на два уроки. Там вона дивилася на лендинг і team.html — це була перша частина. Сьогодні до неї додається регресія тем 1–7: перевірка обходить усе, що ти здавав раніше.

      Демонстраційний режим: результат згенеровано для показу. На сервері ця кнопка запускає check11 8 від імені учня і читає ~/.progress/11-8.json.

      Два обовʼязкові критерії regression_1_7 і наскрізний no_media блокують оцінку. Перший — тому що «лендинг гарний, а бриф лежить» не є готовим продуктом. Другий діє з першого уроку: у ~/www/ і ~/upload/ не має бути .mp4 .mov .avi .mkv .webm .mp3 .wav .flac і файлів понад 2 МБ.

      Що вчитель дивиться на екрані під час виступу

      Питання

      Прогін показав: 11 пунктів зелені, червоний один — brief.html віддає 500 після твоїх учорашніх правок. Лендинг при цьому бездоганний. Яка оцінка виходить за логікою check11 8?

      Крок 14

      Шкала виконання

      Це те, що бачить учитель, коли виставляє оцінку.

      СкладникВагаРезультат
      Виконано
      0%
      Рекомендований бал за 12-бальною

      Чотирнадцять уроків тому

      Від порожньої теки до продукту в мережі УРОК 1 перший вхід по SSH порожня тека www/ «а що таке 755?» СЬОГОДНІ продукт за власною адресою: дані, аналітика, база знань, автозвіт 12 34 56 78 1 · сервер, Linux і власний акаунт 5 · база знань: Markdown, вікі-лінки, MOC 2 · хмара, спільна робота, бриф 6 · дошки, беклог, канбан на даних 3 · дані: чистка таблиці й формули 7 · форма, обробник, звіт за розкладом 4 · дизайн, айдентика, пітч і презентація 8 · професії, лендинг і Demo Day Вісім тем, чотирнадцять уроків, один продукт. Кожен урок додавав рівно один файл — і жоден із них не був вправою «в стіл».
      Той самий index.html, який ти створив на першому уроці порожнім, сьогодні відкривають із проєктора.

      На першому уроці ти вперше набрав ssh і побачив рядок запрошення, який нічого не пояснював. Питання тоді були приблизно такі. Чому папка називається www? Чому Index.html — це не той самий файл, що index.html? І навіщо комусь три цифри в правах доступу?

      Сьогодні за цією адресою працює твій продукт. Ось із чого він складається.

      Лендинг, де числа тягнуться з файлів, а не вписані руками. Сторінка аналітики з маржею й точкою беззбитковості. Айдентика, зібрана на токенах brand.css.

      База знань із нотаток, повʼязаних між собою. Форма, яка приймає відгуки від живих людей. І звіт, який щоночі переписує себе сам, за розкладом cron. Плюс дванадцять перевірок, які скажуть тобі, що саме з цього зламалося.

      Було на уроці 1Є на уроці 14
      порожня тека ~/www/сімнадцять повʼязаних файлів, кожен із них хтось відкриє
      «сайт» — це коли красивосайт — це адреса, код відповіді, дані й людина, яка ним користується
      числа беруться з головичисла беруться з market.csv і перевіряються
      помилку шукають очимапомилку шукає перевірка, а ти читаєш доказ
      «я зробив, здав, забув»«я зробив, і воно досі працює — я щойно перевірив»

      Найважливіше тут — не список технологій. Найважливіші дві звички. Перша: прогнати перевірки до того, як роботу побачать інші. Друга: сказати про чужу роботу щось конкретніше за «класно».

      Інструменти за кілька років зміняться. Ці дві звички лишаться при тобі. А адресу свого продукту клади в портфоліо — сторінка працює й після уроку.

      Домашнє завдання

      1. Протягом тижня показати лендинг двом людям поза школою і зібрати їхні відгуки через свою ж форму — не усно.
      2. Додати посилання на проєкт у власне портфоліо (профіль, резюме, закріплений допис — де завгодно, аби посилання жило).
      3. Через тиждень прогнати check11 8 ще раз і додати рядок у CHANGELOG.md: що зогнило за тиждень і що ти з цим зробив. Проєкт, який ніхто не чіпає, теж гниє — просто повільніше.
      Що далі Твій сабдомен лишається за тобою до кінця навчального року. Усе, що ти сьогодні показував, можна показувати й далі — на олімпіаді, у заявці на курси, на співбесіді на першу роботу. Різниця між «я вчив вебтехнології» і «ось адреса, відкрийте» — приблизно вся.
      Джерела

      Звідки взяті факти й вимоги

      Усе, що можна перевірити, має посилання. Решта підписана як приклад або як правило нашого курсу.

      Коефіцієнт контрасту 4,22:1 у пульті регресії порахований автором сторінки за формулою WCAG для пари #6E7A86 на #101418 — це приклад того, як «трохи світліший сірий» виводить сторінку за межу 4,5:1. Усі виводи команд у пульті, числа відгуків, суми витрат і назви команд — навчальні приклади, складені для цього уроку: на твоєму акаунті вони будуть свої. Регламент «3 хвилини пітчу + 2 хвилини питань», ваги оцінки і формула відгуку «сильне — питання — пропозиція» — правила нашого курсу, а не галузевий стандарт. Повний список джерел із поясненнями — у файлі urok-14-джерела.md поруч із цією сторінкою.