Про помилки. Точно також, які він може помилятися в питаннях політики, він може помилятися у будь-яких питаннях взагалі, і про це потрібно постійно пам’ятати, не сприймати видачу ChatGPT за чисту монету. Своє відео я записав за один дубль і нічого не вирізав/не монтував - мені пощастило що всі відповіді були коректні. Проте так буває далеко не завжди, і чим складнішими є питання, тим більше ймовірність помилки. Пам’ятати про це ми маємо не лише з ChatGPT, а при роботі з будь-якою інформацією. І навіть на StackOverflow дуже багато некоректних відповідей, проте там є механізм рейтингу і саме він допомагає фільтрувати інформацію. Небезпека ChatGPT в тому, що відповіді виглядають дуже правдоподібно і ніяк не маркуються як ті, що можуть бути некоректні. Вам треба ставитися до них критично і все уважно перевіряти на достовірних джерелах, таких як, наприклад, стандарти, офіційна документація, рецензовані підручники, наукові статті від поважних авторів та в поважних виданнях і т.п.
Про використання в навчанні. Будь-який інструмент можна використовувати правильно і неправильно. Неправильне використання ChatGPT в навчанні - це просто давати йому завдання з домашок, які задав викладач, і бездумно копіпастити відповіді. Звичайно що так ви нічого корисного не навчитеся, а швидше - навпаки - деградуєте і втратите можливість працювати самостійно. Тому перш ніж вирішувати завдання напряму можна попросити ChatGPT пояснити теорію, перевірити ваше розуміння, спробувати дати йому своє рішення на оцінку, проаналізувати різні варіанти, пояснити що краще/гірше і тому подібне. А при цьому ще важливо критично аналізувати та перевіряти його відповіді.
Про використання в навчанні. Будь-який інструмент можна використовувати правильно і неправильно. Неправильне використання ChatGPT в навчанні - це просто давати йому завдання з домашок, які задав викладач, і бездумно копіпастити відповіді. Звичайно що так ви нічого корисного не навчитеся, а швидше - навпаки - деградуєте і втратите можливість працювати самостійно. Тому перш ніж вирішувати завдання напряму можна попросити ChatGPT пояснити теорію, перевірити ваше розуміння, спробувати дати йому своє рішення на оцінку, проаналізувати різні варіанти, пояснити що краще/гірше і тому подібне. А при цьому ще важливо критично аналізувати та перевіряти його відповіді.
❤50👍7
Завтра на 19:00 запрошую у голосовий чат на ДОУ, будемо спілкуватися про ChatGPT, можете питань в коментах накидати https://dou.ua/calendar/46283/
DOU
DOU voice chat “Усе про ChatGPT”, 21 лютого 2023
📅 21 лютого о 19:00 у телеграм-каналі DOU на вас чекає войсчат про ChatGPT. Погвооримо про AI-боти з обробки мови загалом та про особливості ChatGPT, і чи надовго він з нами — пограємось і забудемо чи не зможемо уявити своє життя без нього? Приготували ба
👍22🔥5❤1
Тут від ДОУ цікава аналітика під'їхала - на JavaScript плюс його типізованій модифікації TypeScript пишуть третину всіх проєктів (!) і це при тому, що в світі взагалі десь до сотні достатньо популярних мов програмування.
Згадую момент, коли вирішив свічнутися на JS після того як Microsoft закрила Silverlight, я тоді багато розмірковував куди податися, приємно, що не прогадав, думаю далі JS+TS будуть лише завойовувати світ. Пора додати TS до джедайського курсу, це насправді було задумано ще в момент запуску його першої ітерації, просто вирішив життя студентам не ускладнювати, але походу час прийшов :)
https://dou.ua/lenta/articles/language-rating-2023/
Згадую момент, коли вирішив свічнутися на JS після того як Microsoft закрила Silverlight, я тоді багато розмірковував куди податися, приємно, що не прогадав, думаю далі JS+TS будуть лише завойовувати світ. Пора додати TS до джедайського курсу, це насправді було задумано ще в момент запуску його першої ітерації, просто вирішив життя студентам не ускладнювати, але походу час прийшов :)
https://dou.ua/lenta/articles/language-rating-2023/
DOU
Рейтинг мов програмування 2023. JavaScript/TypeScript завойовують світ, Python увійшов у топ-3, Salesforce Apex випередив 1C
У JavaScript і TypeScript вже третина ринку. Java пʼятий рік поспіль втрачає популярність. Python після кількарічної негативної динаміки цього року набрав оберти. Представляємо результати щорічного опитування щодо мов програмування. Цього разу зібрали 9060…
🔥23❤1
Про скорочення в IT та зарплату в $16,5 тис.
На зображенні поточні скорочення в IT в порівнянні з скороченнями часів ковід.
Трохи лякає, але треба розуміти, що IT як галузь буде розвиватися, бо роботи стає більше, просто регулярно бувають корекції - минулого року луснула піраміда NFT, зараз в трендах ШІ, хтось має тим займатися, не говорячи про стабільно високий попит на веб-розробку. Ще й є думка, що зарплати хочуть в Долині позбивати, бо вони там вже за межами адекватності, але аутсорсу то лише на руку.
На днях на ДОУ вийшла стаття-апдейт про девопса, що пішов на $15 тис. та ангулярщика, що заробляв двадцятку на чотирьох проєктах. Звісно, що у останнього здоров’я на все не вистачило, а ось досвід першого рекомендую - готовий гайд як треба вчитися і шукати роботу, в зарплаті підріс на 10%, тому в заголовку така сума.
Висновок: незважаючи на обставини, якщо в тебе є що продати (скіли) і ти також навчишся продавати себе, то роботу знайдеш, бо її і грошей в IT на всіх вистачить. Наприклад, зараз один з моїх падаванів без комерційного досвіду отримав 4 офери за місяць і має проблему - який з них обрати 🙂
Не шукайте виправдання, а прокачуйтеся і шукайте можливості, вони завжди є.
На зображенні поточні скорочення в IT в порівнянні з скороченнями часів ковід.
Трохи лякає, але треба розуміти, що IT як галузь буде розвиватися, бо роботи стає більше, просто регулярно бувають корекції - минулого року луснула піраміда NFT, зараз в трендах ШІ, хтось має тим займатися, не говорячи про стабільно високий попит на веб-розробку. Ще й є думка, що зарплати хочуть в Долині позбивати, бо вони там вже за межами адекватності, але аутсорсу то лише на руку.
На днях на ДОУ вийшла стаття-апдейт про девопса, що пішов на $15 тис. та ангулярщика, що заробляв двадцятку на чотирьох проєктах. Звісно, що у останнього здоров’я на все не вистачило, а ось досвід першого рекомендую - готовий гайд як треба вчитися і шукати роботу, в зарплаті підріс на 10%, тому в заголовку така сума.
Висновок: незважаючи на обставини, якщо в тебе є що продати (скіли) і ти також навчишся продавати себе, то роботу знайдеш, бо її і грошей в IT на всіх вистачить. Наприклад, зараз один з моїх падаванів без комерційного досвіду отримав 4 офери за місяць і має проблему - який з них обрати 🙂
Не шукайте виправдання, а прокачуйтеся і шукайте можливості, вони завжди є.
🔥40👍18
Щойно вийшов GPT-4, вже спілкуємося :)
Ось стрім для розробників, починається за 5 хвилин
https://www.youtube.com/watch?v=outcGtbnMuQ
Ось стрім для розробників, починається за 5 хвилин
https://www.youtube.com/watch?v=outcGtbnMuQ
❤20👍14🔥2
Від ідеї до прототипу за 10 хвилин
Найбільше з презентації GPT-4 мене вразила генерація коду сайту з фотографії малюнку на папері.
Поділюся власним досвідом. Є в мене задача: чотири рази на рік генерувати сертифікати випускникам джедайсього курсу JS. Робота рутинна, робив її вручну, і це не зовсім по-програмістьскі.
Було б гарно автоматизувати. Нічого складного, але треба подосліджувати. Ідея в тому щоб список студентів накласти по черзі на шаблончик і зберегти в PDF кожен файл окремо. Але в PDF давно не писав, то треба дивитися що там по лібкам, плюс продумати інші питання. Оцінити скільки на все треба часу досить складно, але до дня треба повозитися.
Проте генерація вручну не займала багато часу - до години, не більше. І витратити день на розробку автоматизованого рішення щоб зберегти максимум півдня на рік - то сумнівні інвестиції.
Але не з ChatGPT. Поспілкувався з ним кілька хвилин поки він не згенерував прототип рішення, що зливає дані з json з html-шаблончиком і зберігає в pdf за допомогою puppeteer. Його код завівся з першого разу і видав на виході pdf-файли. Рішення не було ідеальним, але як перше наближення працювало, і на все це пішло до 10 хвилин.
Я просто вражений, наскільки шлях від ідеї до прототипу пройшов легко і швидко. Мені не довелося гуглити і порівнювати якісь лібки і взагалі розглядати різні варіанти рішення. Далі зайнявся шаблончиком - на картинку наклав текст в потрібні місця, розклав елементи з CSS. Підправив код під свої потреби. Звичайно, не все було зовсім гладко з “допилюванням”, наприклад, довелося зашити зображення прямо в шаблон за допомогою base64 і підкладати його як img, а не фон, бо картинку беру з файлу, а не по HTTP, і то все треба розуміти як робити. Це до питання чи ChatGPT заміняє тебе як розробника.
Але загалом на працюче рішення, що видає сертифікат, який має потрібний мені вигляд, пішло трохи більше години часу - співрозмірно з тим щоб робити це вручну. І це вже не фантастика - прямо зараз можна братися за ідеї, до яких просто не доходили руки.
Найбільше з презентації GPT-4 мене вразила генерація коду сайту з фотографії малюнку на папері.
Поділюся власним досвідом. Є в мене задача: чотири рази на рік генерувати сертифікати випускникам джедайсього курсу JS. Робота рутинна, робив її вручну, і це не зовсім по-програмістьскі.
Було б гарно автоматизувати. Нічого складного, але треба подосліджувати. Ідея в тому щоб список студентів накласти по черзі на шаблончик і зберегти в PDF кожен файл окремо. Але в PDF давно не писав, то треба дивитися що там по лібкам, плюс продумати інші питання. Оцінити скільки на все треба часу досить складно, але до дня треба повозитися.
Проте генерація вручну не займала багато часу - до години, не більше. І витратити день на розробку автоматизованого рішення щоб зберегти максимум півдня на рік - то сумнівні інвестиції.
Але не з ChatGPT. Поспілкувався з ним кілька хвилин поки він не згенерував прототип рішення, що зливає дані з json з html-шаблончиком і зберігає в pdf за допомогою puppeteer. Його код завівся з першого разу і видав на виході pdf-файли. Рішення не було ідеальним, але як перше наближення працювало, і на все це пішло до 10 хвилин.
Я просто вражений, наскільки шлях від ідеї до прототипу пройшов легко і швидко. Мені не довелося гуглити і порівнювати якісь лібки і взагалі розглядати різні варіанти рішення. Далі зайнявся шаблончиком - на картинку наклав текст в потрібні місця, розклав елементи з CSS. Підправив код під свої потреби. Звичайно, не все було зовсім гладко з “допилюванням”, наприклад, довелося зашити зображення прямо в шаблон за допомогою base64 і підкладати його як img, а не фон, бо картинку беру з файлу, а не по HTTP, і то все треба розуміти як робити. Це до питання чи ChatGPT заміняє тебе як розробника.
Але загалом на працюче рішення, що видає сертифікат, який має потрібний мені вигляд, пішло трохи більше години часу - співрозмірно з тим щоб робити це вручну. І це вже не фантастика - прямо зараз можна братися за ідеї, до яких просто не доходили руки.
🔥46👍24👏3😁1
Нові доки і революція в реакті
Тут є цікава новина - нарешті зарелізили доки до по реакту, ще й на новому домені react.dev
Новина примітна хоча б тим, що нарешті в доках по замовчуванню приклади коду з хуками, а вони з’явилися в реакті 16.8 у грудні 2019 - недавно як чотири рочки стукнуло :)
Але доки примітні не лише переходом на хуки, а й ще кількома важливими моментами.
Найбільш серйозна зміна в тому, що тепер в розділі з інсталяцією реакту наведено приклад не з Create React App (CRA), а з NextJS, Remix, Gatsby та Expo. CRA взагалі, схоже, випиляли з доків, і можна очікувати що проєкт як такий втратить сенс, його замінять згадані мною фреймворки.
Така собі революція з серйозними наслідками у екосистемі реакту, що раніше страждала від проблеми “зоопарку” різноманітних бібліотек, з яких компонувалися готові рішення.
Тепер реакт по факту рекомендується використовувати з готовими фреймворками типу NextJS/Remix, відповідно рішення будуть більш типовими, підтримувати їх буде простіше. Мало того, прогнозую що сам реакт в рамках подібних фреймворків може стати взаємозамінним елементом і бути замінений на інші JSX-сумісні бібліотеки типу SolidJS/Qwik, які встигають впроваджувати цікаві інновації швидше за реакт. Наприклад, у них використовувається концепція сигналу, які в реакт ще не завезли.
Також NextJS вдало інкорпорував серверні компоненти, що з’явилися у 18 реакті і думаю що саме цей фреймворк задасть основний тренд в реакт екосистемі на найближчий час.
А найбільш важлива новина для новачків - доки містять не лише структуровані навчальні треки з купою інтерактивних прикладів, які можна в один клік перенсти на codesanbox і там з ними погратися, а й практичні завдання (challenges) з прикладами еталонного рішення.
І якщо ви закрили для себе питання з JS, то ці доки по факту можна використовувати як повноцінний курс, по якому можна вивчати реакт крок за кроком, що не може не радувати.
Тут є цікава новина - нарешті зарелізили доки до по реакту, ще й на новому домені react.dev
Новина примітна хоча б тим, що нарешті в доках по замовчуванню приклади коду з хуками, а вони з’явилися в реакті 16.8 у грудні 2019 - недавно як чотири рочки стукнуло :)
Але доки примітні не лише переходом на хуки, а й ще кількома важливими моментами.
Найбільш серйозна зміна в тому, що тепер в розділі з інсталяцією реакту наведено приклад не з Create React App (CRA), а з NextJS, Remix, Gatsby та Expo. CRA взагалі, схоже, випиляли з доків, і можна очікувати що проєкт як такий втратить сенс, його замінять згадані мною фреймворки.
Така собі революція з серйозними наслідками у екосистемі реакту, що раніше страждала від проблеми “зоопарку” різноманітних бібліотек, з яких компонувалися готові рішення.
Тепер реакт по факту рекомендується використовувати з готовими фреймворками типу NextJS/Remix, відповідно рішення будуть більш типовими, підтримувати їх буде простіше. Мало того, прогнозую що сам реакт в рамках подібних фреймворків може стати взаємозамінним елементом і бути замінений на інші JSX-сумісні бібліотеки типу SolidJS/Qwik, які встигають впроваджувати цікаві інновації швидше за реакт. Наприклад, у них використовувається концепція сигналу, які в реакт ще не завезли.
Також NextJS вдало інкорпорував серверні компоненти, що з’явилися у 18 реакті і думаю що саме цей фреймворк задасть основний тренд в реакт екосистемі на найближчий час.
А найбільш важлива новина для новачків - доки містять не лише структуровані навчальні треки з купою інтерактивних прикладів, які можна в один клік перенсти на codesanbox і там з ними погратися, а й практичні завдання (challenges) з прикладами еталонного рішення.
І якщо ви закрили для себе питання з JS, то ці доки по факту можна використовувати як повноцінний курс, по якому можна вивчати реакт крок за кроком, що не може не радувати.
react.dev
React is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine components written by independent people, teams, and organizations.
❤46🔥21👍7
Сьогодні дізнаєтеся щось дивне.
Знайомтеся з Chaos Monkey, ось її сайт https://netflix.github.io/chaosmonkey/
У неї дуже цікава робота - випадковим чином виключати серваки в продакшині. Так, це не помилка і ви не прочитали неправильно. Вона саме це і робить - заважає працювати продакшину.
Це продукт від Netflix і вони використовують його в проді для тестування стійкості (resilience).
А сама техніка називається Chaos Engineering - її крім Netflix практикують ще Amazon, Google та багато інших компаній, у яких велика кількість серверів (вузлів системи, якихось мікросервісних інстансів), що працюють одночасно.
Хардкорна техніка, однак у випадку великих систем вона дозволяє підготувати до різного роду катаклізмів. Якщо у вас система поменше, але питанням стійкості займаєтеся, то можна пробувати вимикати вузли вручну, і спочатку варто почати зі спеціального середовища, а не продакшину. 🙂
Знайомтеся з Chaos Monkey, ось її сайт https://netflix.github.io/chaosmonkey/
У неї дуже цікава робота - випадковим чином виключати серваки в продакшині. Так, це не помилка і ви не прочитали неправильно. Вона саме це і робить - заважає працювати продакшину.
Це продукт від Netflix і вони використовують його в проді для тестування стійкості (resilience).
А сама техніка називається Chaos Engineering - її крім Netflix практикують ще Amazon, Google та багато інших компаній, у яких велика кількість серверів (вузлів системи, якихось мікросервісних інстансів), що працюють одночасно.
Хардкорна техніка, однак у випадку великих систем вона дозволяє підготувати до різного роду катаклізмів. Якщо у вас система поменше, але питанням стійкості займаєтеся, то можна пробувати вимикати вузли вручну, і спочатку варто почати зі спеціального середовища, а не продакшину. 🙂
👍29😁9❤1🔥1
Прямо зараз я в прямому ефірі на ДОУ, обговорюємо як навчатися сенйьорам
Лінк на запис: https://dou.ua/goto/9rnL
Лінк на запис: https://dou.ua/goto/9rnL
DOU
DOU Tech Voice Chat: про навчання Senior-ів
Поговорили про навчання та розвиток, зокрема Senior фахівців! Розібрали джерела і пошук контенту, ефективні методи навчання, поговорили про пошук та підбір менторів та роль спільноти.
<iframe width="100%" height="166" scrolling="no" frameborder="no" al
<iframe width="100%" height="166" scrolling="no" frameborder="no" al
👍17
ChatGPT (і ШІ на основі LLM загалом) - це настільки ж проривна технологія, як і IBM PC у 1981 чи WWW у 1991. І здається мені, що увійде в наше життя воно набагато швидше, ніж згадані ПК чи веб.
На каналі Марафону креативної практики вийшло моє відео про використання ChatGPT для роботи та навчання і IT.
Оскільки аудиторія марафону дуже різношерстна і це переважно люди, які ще не працюють в IT-галузі, то свою розповідь побудував таким чином, щоб пояснити особливості галузі та показати як можна навчатися повним початківцям на прикладі роадмепи у фронтенді. Безпосередньо приклади і живі запити починаються з 17-ї хвилини.
https://youtu.be/XrkEnm4VdUg
На каналі Марафону креативної практики вийшло моє відео про використання ChatGPT для роботи та навчання і IT.
Оскільки аудиторія марафону дуже різношерстна і це переважно люди, які ще не працюють в IT-галузі, то свою розповідь побудував таким чином, щоб пояснити особливості галузі та показати як можна навчатися повним початківцям на прикладі роадмепи у фронтенді. Безпосередньо приклади і живі запити починаються з 17-ї хвилини.
https://youtu.be/XrkEnm4VdUg
YouTube
ChatGPT для навчання та роботи в IT | Марафон Креативної Практики
В'ячеслав Колдовський, керівник компетентностей в SoftServe Academy, розповів у своїй лекції, як використовувати бот ChatGPT для навчання та роботи в IT-галузі. Зокрема з лекції можна дізнатися, які є можливі сценарії використання ChatGPT для програмування…
👍46❤6
І знову про Chat GPT :) https://career.softserveinc.com/uk-ua/stories/using-chatgpt-in-education-and-work-in-it-practical-tips-from-our-own-experience
До речі, до питання замінить/не замінить програміста, тут найбільш ймовірний сценарій полягає в тому, що найближчим часом навички використання ШІ будуть вимагати і перевіряти на інтерв'ю.
До речі, до питання замінить/не замінить програміста, тут найбільш ймовірний сценарій полягає в тому, що найближчим часом навички використання ШІ будуть вимагати і перевіряти на інтерв'ю.
🔥17👍10❤1
В першому та другому рядках зліва число у десятковій системі числення, а справа - у вісімковій. Але вони рівні.
В третьому рядку з обох сторін у десяткій, бо JS сприймає числа у вісімковій лише якщо всі цифри в діапазоні 1-7.
В четвертому рядку зліва у десятковій, а справа - у вісімковій. І це різні числа.
В п'ятому аналогічно четвертому, але тепер вони рівні :)
В третьому рядку з обох сторін у десяткій, бо JS сприймає числа у вісімковій лише якщо всі цифри в діапазоні 1-7.
В четвертому рядку зліва у десятковій, а справа - у вісімковій. І це різні числа.
В п'ятому аналогічно четвертому, але тепер вони рівні :)
❤35🔥5👍4
Знову про застосування ChatGPT та неолуддитів
В п’ятницю успішно перездав сертифікацію Google Cloud Architect Professional, яка вважається топовою серед всіх IT-сертифікацій.
Оскільки я вже цю сертифікацію проходив раніше, то нічого особливого для мене в підтвердженні немає, за виключенням того, що готувався до неї по-новому, з ChatGPT. Якщо вперше на підготовку до сертифікації мені знадобилося кілька місяців, то зараз активна підготовка зайняла лише тиждень, може трохи більше. Звичайно, це не було навчання з нуля, потрібно було просто освіжити знання, однак готувався цього разу зовсім по-іншому, і вважаю, що саме з ШІ мені її вдалося провести дуже ефективно і в максимально стислі терміни.
Раніше працював з доками та туторіалами і в процесі вів електронний конспект - давня звичка ще з універу. Зазвичай просто роблю гугл доку та заношу туди нотатки, копіпаст різної інфи, накидую скріншоти. Також мейнд мепи робив іноді. Проте ніколи не був в захваті від того процесу, постійно думав над удосконаленням.
І цього разу обійшовся без конспекту, його замінив ChatGPT. Я з ним просто “спілкувався” по темах іспиту, просив генерити питання, і відповідав на них, також пояснювати щось, порівнювати і т.д. Звичайно, він подекуди помилявся, були неточності, але то не було проблемою, а навпаки, допомагало критично оцінювати та перевіряти інформацію.
Принципова відмінність в тому, що в такому форматі підготовка є активним, а не пасивним процесом. Бо коли просто читаєш доки, то дуже легко втратити фокус, щось важливе пропустити, мати ілюзорне відчуття що розібрався з темою. В “активному” процесі ти залучений значно більше і відразу відчуєш, якщо з якоюсь темою не розібрався і її потрібно серйозніше вивчити. Справжній next level я би сказав.
І це зайвий раз підкреслює, що ChatGPT така ж проривна технологія, як і книгодрукарство в свій час. І проривна не просто тому, що робить щось таке, чого не було раніше, а в першу чергу доступністю для широких мас. Саме тоді відкриваються нові можливості, коли старі лідери йдуть і з’являються нові.
І звичайно мені дуже неприємно бачити новини про спроби його заборонити чи обмежити - в Італії взагалі закрити доступ під сумнівним приводом, а в США купа вчених та бізнесменів разом з Ілоном Маском та Стівом Возняком петицію підписали про зупинку розвитку ШІ на півроку. Будь-хто знайомий з принципами побудови ШІ прекрасно розуміє, що у LLM-моделей, на основі яких побудований ChatGPT є свої ліміти, що принципово не дозволяють їм стати розумною істотою і захопити світ. І якщо з Маском все зрозуміло - він банально прорахувався, спустивши колосальні кошті на Твіттер, в той час як MS профінансувала OpenAI, то Возняка, схоже, просто використовують у цій хитрій грі, даремно він в це вписався.
Якщо хочете почути/почитати думку авторитетної людини стосовно цієї проблеми, то раджу звернутися до Стівена Вольфрама, засновника проєкта Wolfram Alpha. Ось його цікава стаття на цю тему. А тут він розказує про те, яким має бути найближче майбутнє ШІ.
Символічно, що і забороняти та обмежувати його почали точно також як книгодрукарство в свій час - сам процес вже не спинити, просто доступ буде не для всіх. Бо “Quod licet Iovi (Jovi) non licet bovi” - що дозволено Юпітеру, то не дозволено бику.
В п’ятницю успішно перездав сертифікацію Google Cloud Architect Professional, яка вважається топовою серед всіх IT-сертифікацій.
Оскільки я вже цю сертифікацію проходив раніше, то нічого особливого для мене в підтвердженні немає, за виключенням того, що готувався до неї по-новому, з ChatGPT. Якщо вперше на підготовку до сертифікації мені знадобилося кілька місяців, то зараз активна підготовка зайняла лише тиждень, може трохи більше. Звичайно, це не було навчання з нуля, потрібно було просто освіжити знання, однак готувався цього разу зовсім по-іншому, і вважаю, що саме з ШІ мені її вдалося провести дуже ефективно і в максимально стислі терміни.
Раніше працював з доками та туторіалами і в процесі вів електронний конспект - давня звичка ще з універу. Зазвичай просто роблю гугл доку та заношу туди нотатки, копіпаст різної інфи, накидую скріншоти. Також мейнд мепи робив іноді. Проте ніколи не був в захваті від того процесу, постійно думав над удосконаленням.
І цього разу обійшовся без конспекту, його замінив ChatGPT. Я з ним просто “спілкувався” по темах іспиту, просив генерити питання, і відповідав на них, також пояснювати щось, порівнювати і т.д. Звичайно, він подекуди помилявся, були неточності, але то не було проблемою, а навпаки, допомагало критично оцінювати та перевіряти інформацію.
Принципова відмінність в тому, що в такому форматі підготовка є активним, а не пасивним процесом. Бо коли просто читаєш доки, то дуже легко втратити фокус, щось важливе пропустити, мати ілюзорне відчуття що розібрався з темою. В “активному” процесі ти залучений значно більше і відразу відчуєш, якщо з якоюсь темою не розібрався і її потрібно серйозніше вивчити. Справжній next level я би сказав.
І це зайвий раз підкреслює, що ChatGPT така ж проривна технологія, як і книгодрукарство в свій час. І проривна не просто тому, що робить щось таке, чого не було раніше, а в першу чергу доступністю для широких мас. Саме тоді відкриваються нові можливості, коли старі лідери йдуть і з’являються нові.
І звичайно мені дуже неприємно бачити новини про спроби його заборонити чи обмежити - в Італії взагалі закрити доступ під сумнівним приводом, а в США купа вчених та бізнесменів разом з Ілоном Маском та Стівом Возняком петицію підписали про зупинку розвитку ШІ на півроку. Будь-хто знайомий з принципами побудови ШІ прекрасно розуміє, що у LLM-моделей, на основі яких побудований ChatGPT є свої ліміти, що принципово не дозволяють їм стати розумною істотою і захопити світ. І якщо з Маском все зрозуміло - він банально прорахувався, спустивши колосальні кошті на Твіттер, в той час як MS профінансувала OpenAI, то Возняка, схоже, просто використовують у цій хитрій грі, даремно він в це вписався.
Якщо хочете почути/почитати думку авторитетної людини стосовно цієї проблеми, то раджу звернутися до Стівена Вольфрама, засновника проєкта Wolfram Alpha. Ось його цікава стаття на цю тему. А тут він розказує про те, яким має бути найближче майбутнє ШІ.
Символічно, що і забороняти та обмежувати його почали точно також як книгодрукарство в свій час - сам процес вже не спинити, просто доступ буде не для всіх. Бо “Quod licet Iovi (Jovi) non licet bovi” - що дозволено Юпітеру, то не дозволено бику.
👍44❤22
Цей день настав
Чи знаєте ви, чому джедайський курс JavaScript називається “ScriptJedi42”, а не “JavaScriptJedi42” чи щось подібне?
Відповідь знаю я, бо ще з моменту його першого запуску у 2019 передбачалося, що він буде не лише по JavaScript, а також і по TypeScript, але згодом, коли мова набере достатньо поширення.
Свій перший код на TypeScript я написав років 10 тому, лиш тільки ця мова з’явилася на публіці, і мова мені дуже сподобалася. Менів вона була цікава концептуально, бо вона ідейно близька до C#, на якому я в той час активно займався комерційною розробкою. А ще у них обох один батько - Андерс Гейлсберґ, з роботою якого я був добре знайомий по Turbo Pascal / Delphi.
Хто нічого не знає про TypeScript, то простими словами це надбудова над JavaScript, яка в першу чергу додає можливість зазначати в коді типи даних і захищає від дуже поширених помилок, що виникають в результаті некоректного використання типів. Наприклад, коли передається текст, а очікується число, чи в об’єкті відсутній ключ з певною назвою. Звичайний JavaScript про такі помилки нічого не знає, і ви їх зустрінете вже коли проєкт буде працювати, а TypeScript - видасть помилку на етапі компіляції, і дасть змогу її відразу виправити. Важливо розуміти, що TypeScript не є окремою мовою, під час компіляції він трансформується в JavaScript, і всі нюанси останнього треба розуміти дуже добре.
Але якийсь час про TypeScript мало хто знав, і лише з виходом Angular 2 у вересні 2016 про мову почали говорити активно. І вже за два місяці я проводив свій перший воркшоп для розробників, ось навіть запис зберігся https://youtu.be/_UxchN7O1Ws . Цікаво, що за 6+ років з того часу в TypeScript з’являлися нові фічі і актуальна версія на сьогодні вже 5.0, однак практично все що було на тому воркшопі залишаєтсья актуальним, можете переглянути (практична частина там починається з 10-ї хвилини, і звук стає стабільний, бо то запис зі сцени, мікрофон був на столі, також лінк на код є).
Але популярність мова TypeScript набувала поступово, частково завдяки тому, що на перші ролі вийшов React, де традиційно без неї обходилися. І в 2019 році, коли я запускав ScriptJedi42, то просто вирішив почекати поки TypeScript набере достатньої популярності.
І так, цей день настав. У 2023 році приблизно кожен другий проєкт під фронтенд чи фулстек з NodeJS/NextJS/Remix стартує з TypeScript, і якщо ви в додачу до JS знаєте TS, то елементарно подвоюєте свої шанси на ринку.
Отже, тепер TypeScript є стандартною частиною курсу ScriptJedi42. Відразу стартуємо з його новою п’ятою версією. Для нього відводиться додатковий тиждень - таким чином тривалість курсу тепер становить 7 тижнів (49 днів). Цей тиждень виглядає аналогічно іншим тижням курсу - є теоретичні матеріали та набір практичних задач з автоматичною перевіркою на кожен день, які потрібно виконати і здати код на перевірку, я проводжу рев’ю і даю свої коментарі до коду. І звичайно що на ретроспективі розбираємо правильні способи зробити завдання. Модуль ми відтестували ще з групою, яка стартувала в січні, для них був незапланований бонус. 🙂
Також для бажаючих є можливість почати TypeScript з першого дня курсу і писати код задач відразу двома мовами. Початківцям то може бути складно, то варто зосередитися спочатку виключно на JavaScript. Але для людей, що мають певну базу це може бути гарною можливістю вивчати дві мови паралельно, набуваючи практичний досвід написання коду.
По ціні курсу - на найближчий потік, що стартує 17-го квітня вона не змінюється, але для майбутніх потоків швидше за все вимушений буду ціну підняти.
Також всі, хто завершили джедайський курс в минулому, мають можливість отримати доступ до модуля TypeScript в рамках нашої закритої джедайської спільноти, лише сконтактуйте зі мною.
Чи знаєте ви, чому джедайський курс JavaScript називається “ScriptJedi42”, а не “JavaScriptJedi42” чи щось подібне?
Відповідь знаю я, бо ще з моменту його першого запуску у 2019 передбачалося, що він буде не лише по JavaScript, а також і по TypeScript, але згодом, коли мова набере достатньо поширення.
Свій перший код на TypeScript я написав років 10 тому, лиш тільки ця мова з’явилася на публіці, і мова мені дуже сподобалася. Менів вона була цікава концептуально, бо вона ідейно близька до C#, на якому я в той час активно займався комерційною розробкою. А ще у них обох один батько - Андерс Гейлсберґ, з роботою якого я був добре знайомий по Turbo Pascal / Delphi.
Хто нічого не знає про TypeScript, то простими словами це надбудова над JavaScript, яка в першу чергу додає можливість зазначати в коді типи даних і захищає від дуже поширених помилок, що виникають в результаті некоректного використання типів. Наприклад, коли передається текст, а очікується число, чи в об’єкті відсутній ключ з певною назвою. Звичайний JavaScript про такі помилки нічого не знає, і ви їх зустрінете вже коли проєкт буде працювати, а TypeScript - видасть помилку на етапі компіляції, і дасть змогу її відразу виправити. Важливо розуміти, що TypeScript не є окремою мовою, під час компіляції він трансформується в JavaScript, і всі нюанси останнього треба розуміти дуже добре.
Але якийсь час про TypeScript мало хто знав, і лише з виходом Angular 2 у вересні 2016 про мову почали говорити активно. І вже за два місяці я проводив свій перший воркшоп для розробників, ось навіть запис зберігся https://youtu.be/_UxchN7O1Ws . Цікаво, що за 6+ років з того часу в TypeScript з’являлися нові фічі і актуальна версія на сьогодні вже 5.0, однак практично все що було на тому воркшопі залишаєтсья актуальним, можете переглянути (практична частина там починається з 10-ї хвилини, і звук стає стабільний, бо то запис зі сцени, мікрофон був на столі, також лінк на код є).
Але популярність мова TypeScript набувала поступово, частково завдяки тому, що на перші ролі вийшов React, де традиційно без неї обходилися. І в 2019 році, коли я запускав ScriptJedi42, то просто вирішив почекати поки TypeScript набере достатньої популярності.
І так, цей день настав. У 2023 році приблизно кожен другий проєкт під фронтенд чи фулстек з NodeJS/NextJS/Remix стартує з TypeScript, і якщо ви в додачу до JS знаєте TS, то елементарно подвоюєте свої шанси на ринку.
Отже, тепер TypeScript є стандартною частиною курсу ScriptJedi42. Відразу стартуємо з його новою п’ятою версією. Для нього відводиться додатковий тиждень - таким чином тривалість курсу тепер становить 7 тижнів (49 днів). Цей тиждень виглядає аналогічно іншим тижням курсу - є теоретичні матеріали та набір практичних задач з автоматичною перевіркою на кожен день, які потрібно виконати і здати код на перевірку, я проводжу рев’ю і даю свої коментарі до коду. І звичайно що на ретроспективі розбираємо правильні способи зробити завдання. Модуль ми відтестували ще з групою, яка стартувала в січні, для них був незапланований бонус. 🙂
Також для бажаючих є можливість почати TypeScript з першого дня курсу і писати код задач відразу двома мовами. Початківцям то може бути складно, то варто зосередитися спочатку виключно на JavaScript. Але для людей, що мають певну базу це може бути гарною можливістю вивчати дві мови паралельно, набуваючи практичний досвід написання коду.
По ціні курсу - на найближчий потік, що стартує 17-го квітня вона не змінюється, але для майбутніх потоків швидше за все вимушений буду ціну підняти.
Також всі, хто завершили джедайський курс в минулому, мають можливість отримати доступ до модуля TypeScript в рамках нашої закритої джедайської спільноти, лише сконтактуйте зі мною.
👍29❤6🔥6
Тут в блозі на StackOverflow вийшла цікава стаття.
Виявилося, що зараз вже понад 70% розробників зазначають як своє основне джерело знань не формальну університетську освіту, а онлайн-джерела.
Якщо добре розуміти як працює університетська освіта, то тут нічого дивного немає - її основна мета полягає в підготовці науковців та дослідників, ну а те що виходить ще готувати інженерів - то більше побічний продукт 🙂
І чим далі, тим та прірва буде зростати, завершивши університет ти зазвичай все одно не застрибнеш на роботу без додаткової підготовки.
Тому меседж для студентів: знімайте рожеві окуляри, сподіваючись, що універ всьому навчить, і що “відмінно” в заліковій книжці означає, що візьмуть на роботу автоматом.
І я говорю не лише про нашу країну, наприклад в штатах зараз вища школа переживає серйозні проблеми, якщо коротко, то все менше бажаючих туди йти. Причина в тому, що така освіта коштує захмарних грошей, проте навіть там не гарантує працевлаштування, і більш конкурентними на ринку є ті, хто навчаються додатково чи не навчаються в універах взагалі, а всі свої зусилля скеровують на інші ресурси, зокрема короткі сфокусовані курси.
Мало того, в університетах, навіть в самих топових у світі, не заморочуються відпрацюванням навичок, а для роботи в першу чергу потрібні навички, а не просто знання. Якщо хтось не розуміє суть навички, то це коли ти вмієш робити щось швидко, без особливих зусиль, що можливо лише тому що ти тренувався повторюючи дії багато разів раніше, як у спорті.
Також додам що для подальшої кар’єри, коли ти хочеш копнути більше, то університетські знання будуть потрібні, але оптимальніше їх здобувати в режимі lifelong learning. Ну і дуальна освіта в цьому контексті має сенс, якщо вона правильно організована, звісно.
Виявилося, що зараз вже понад 70% розробників зазначають як своє основне джерело знань не формальну університетську освіту, а онлайн-джерела.
Якщо добре розуміти як працює університетська освіта, то тут нічого дивного немає - її основна мета полягає в підготовці науковців та дослідників, ну а те що виходить ще готувати інженерів - то більше побічний продукт 🙂
І чим далі, тим та прірва буде зростати, завершивши університет ти зазвичай все одно не застрибнеш на роботу без додаткової підготовки.
Тому меседж для студентів: знімайте рожеві окуляри, сподіваючись, що універ всьому навчить, і що “відмінно” в заліковій книжці означає, що візьмуть на роботу автоматом.
І я говорю не лише про нашу країну, наприклад в штатах зараз вища школа переживає серйозні проблеми, якщо коротко, то все менше бажаючих туди йти. Причина в тому, що така освіта коштує захмарних грошей, проте навіть там не гарантує працевлаштування, і більш конкурентними на ринку є ті, хто навчаються додатково чи не навчаються в універах взагалі, а всі свої зусилля скеровують на інші ресурси, зокрема короткі сфокусовані курси.
Мало того, в університетах, навіть в самих топових у світі, не заморочуються відпрацюванням навичок, а для роботи в першу чергу потрібні навички, а не просто знання. Якщо хтось не розуміє суть навички, то це коли ти вмієш робити щось швидко, без особливих зусиль, що можливо лише тому що ти тренувався повторюючи дії багато разів раніше, як у спорті.
Також додам що для подальшої кар’єри, коли ти хочеш копнути більше, то університетські знання будуть потрібні, але оптимальніше їх здобувати в режимі lifelong learning. Ну і дуальна освіта в цьому контексті має сенс, якщо вона правильно організована, звісно.
❤22👍14🔥7
Сьогодні чистий четвер - день чистого коду, то маю для вас щось цікавеньке по темі🙂
Тут недавно в інтернетах-твітерах розгорілася цікава дискусія про “Чистий код проти швидкості”.
Один ютубер засняв відосик, де щедро накинув на ідеї чистого коду і наглядно показав де їх порушення може призвести до зростання швидкості програми. Досвідчених людей ті приклади не переконають, і тому він завбачливо закрив коменти до відео. Але неокріпший розум воно може вразити - це факт.
Відосик набрав сотні тисяч переглядів, викликав купу баталій, навіть до Дядько Боб підключився, він створив репозиторій з поясненнями та прикладами.
Насправді втрата швидкості з-за додаткових абстракцій в коді - то поведінка by default. Без абстракцій працює машинний код і робить це максимально швидко, жонглюючи нуликами та одиничками в регістрах процесора та закидуючи їх в ділянки пам’яті. Абстракції, такі як функція, об’єкт, наслідування, поліморфізм і т.д. - є штучними і їх використання призводить до втрати швидкості по відношенню до машинного коду. Але вони потрібні нам в першу чергу для того щоб спростити розробку і підтримку рішення.
Іноді абстракції нам даються досить дешево з точки зору продуктивності, є навіть поняття “zero cost abstraction” - це коли якісь абстракції, наприкад, система статичної типізації, здійснюються в момент компіляції і зникають під час виконання коду. З іншого боку є ну прям дуже дорогі - наприклад, автоматичне керування пам’яттю зі збірником сміття. Але ми розуміємо навіщо платимо - помилки в керуванні пам’яттю обходяться дуже дорого.
То чим погано купа switch/if - тим що в коді з’являється багато можливих шляхів виконання, це ускладнює тестування, бо на кожен шлях треба мінімум один юніт-тест. Є таке поняття “цикломатична складність” - її важливо зменшувати. Поліморфізм в ООП дозволяє позбутися розгалужень і потрібну поведінку ми отримуємо за рахунок наслідування, а не розгалужень в коді, і цикломатична складність при цьому не зростає.
Наступне питання - приховування деталей реалізації. Тут важливо розуміти, що “чорна скринька” в програмній інженерії дуже важлива концепція, що взагалі дозволяє робити складні системи. Домовившись про інтерфейси, вхід/вихід ми далі можемо пропустити деталі реалізації, поглянувши на систему з верхнього рівня. Також можливість зміни “нутрощів”, зберігаючи інтерфейси - то взагалі “кіллер фіча” в розробці, дозволяє рефакторити/оптимізовувати окремі компоненти, зменшуючи ризики поламати всю систему.
Далі стосовно того, що треба робити маленькі функції, функція повинна робити “one thing”, але незрозуміло що це таке. Насправді визначити те, чи достатньо маленька функція дуже просто - це коли вже її не можна розбити на інші функції, це і буде той “one thing”. Навіщо нам це робити? Дуже просто - принцип поділу на малі частини один із фундаментальних в програмуванні, бо їх простіше реалізувати, тестувати, перевикористовувати. Тут взагалі якісь контраргументи складно приводити - менше і простіше завжди краще ніж більше і складніше.
Ну і останнє, що там згадали - це DRY - Do Not Repeat Yourself. Тут навіть обговорювати нічого - дублювання коду є великим злом. Цікаво, що колись мав досвід спілкування зі співробітником Microsoft, який працює у своєрідній “внутрішній поліції”, робота якої полягає в тому, щоб шукати в проєктах речі, що дублюються і випилювати їх, попутно роздаючи “антипеченьок”, щоб не робили так знову. Можете собі уявити масштаб проблеми, якщо вони для того цілий підрозділ тримають?
Ну то висновок з того простий - фільтруйте ютуберів, читайте якісні джерела. Прогляньте коментарі від Дядка Боба. Майте чистий код.
Тут недавно в інтернетах-твітерах розгорілася цікава дискусія про “Чистий код проти швидкості”.
Один ютубер засняв відосик, де щедро накинув на ідеї чистого коду і наглядно показав де їх порушення може призвести до зростання швидкості програми. Досвідчених людей ті приклади не переконають, і тому він завбачливо закрив коменти до відео. Але неокріпший розум воно може вразити - це факт.
Відосик набрав сотні тисяч переглядів, викликав купу баталій, навіть до Дядько Боб підключився, він створив репозиторій з поясненнями та прикладами.
Насправді втрата швидкості з-за додаткових абстракцій в коді - то поведінка by default. Без абстракцій працює машинний код і робить це максимально швидко, жонглюючи нуликами та одиничками в регістрах процесора та закидуючи їх в ділянки пам’яті. Абстракції, такі як функція, об’єкт, наслідування, поліморфізм і т.д. - є штучними і їх використання призводить до втрати швидкості по відношенню до машинного коду. Але вони потрібні нам в першу чергу для того щоб спростити розробку і підтримку рішення.
Іноді абстракції нам даються досить дешево з точки зору продуктивності, є навіть поняття “zero cost abstraction” - це коли якісь абстракції, наприкад, система статичної типізації, здійснюються в момент компіляції і зникають під час виконання коду. З іншого боку є ну прям дуже дорогі - наприклад, автоматичне керування пам’яттю зі збірником сміття. Але ми розуміємо навіщо платимо - помилки в керуванні пам’яттю обходяться дуже дорого.
То чим погано купа switch/if - тим що в коді з’являється багато можливих шляхів виконання, це ускладнює тестування, бо на кожен шлях треба мінімум один юніт-тест. Є таке поняття “цикломатична складність” - її важливо зменшувати. Поліморфізм в ООП дозволяє позбутися розгалужень і потрібну поведінку ми отримуємо за рахунок наслідування, а не розгалужень в коді, і цикломатична складність при цьому не зростає.
Наступне питання - приховування деталей реалізації. Тут важливо розуміти, що “чорна скринька” в програмній інженерії дуже важлива концепція, що взагалі дозволяє робити складні системи. Домовившись про інтерфейси, вхід/вихід ми далі можемо пропустити деталі реалізації, поглянувши на систему з верхнього рівня. Також можливість зміни “нутрощів”, зберігаючи інтерфейси - то взагалі “кіллер фіча” в розробці, дозволяє рефакторити/оптимізовувати окремі компоненти, зменшуючи ризики поламати всю систему.
Далі стосовно того, що треба робити маленькі функції, функція повинна робити “one thing”, але незрозуміло що це таке. Насправді визначити те, чи достатньо маленька функція дуже просто - це коли вже її не можна розбити на інші функції, це і буде той “one thing”. Навіщо нам це робити? Дуже просто - принцип поділу на малі частини один із фундаментальних в програмуванні, бо їх простіше реалізувати, тестувати, перевикористовувати. Тут взагалі якісь контраргументи складно приводити - менше і простіше завжди краще ніж більше і складніше.
Ну і останнє, що там згадали - це DRY - Do Not Repeat Yourself. Тут навіть обговорювати нічого - дублювання коду є великим злом. Цікаво, що колись мав досвід спілкування зі співробітником Microsoft, який працює у своєрідній “внутрішній поліції”, робота якої полягає в тому, щоб шукати в проєктах речі, що дублюються і випилювати їх, попутно роздаючи “антипеченьок”, щоб не робили так знову. Можете собі уявити масштаб проблеми, якщо вони для того цілий підрозділ тримають?
Ну то висновок з того простий - фільтруйте ютуберів, читайте якісні джерела. Прогляньте коментарі від Дядка Боба. Майте чистий код.
YouTube
"Clean" Code, Horrible Performance
Bonus material from the Performance-Aware Programming Series: https://www.computerenhance.com/p/clean-code-horrible-performance
👍37❤5
Христос Воскрес! Сьогодні Пасха, значить поговоримо про пасхалочки в коді.
В 1986 році під час портування іграшки для приставки Nintendo розробник вбудував код, який активував чіти після натискання послідовності клавіш.
Згодом ту послідовність почали вбудовувати в іграшки компанії Konami, за що й отримала назву “Код Konami”.
Можливо ви цього не знаєте, але код став свого роду культом і його зустріти можна далеко за межами іграшок, на купі різних серйозних сайтів.
Є купа готовий імплементацій у вигляді бібліотек, ось наприклад, для реакту: https://www.npmjs.com/package/react-konami-code
Звичайно, що пасхалочки тільки такою комбінацією не обмежуються, і навіть складно уявити скільки їх є в тих сервісах, якими користуємося щодня.
Я сам таке люблю і в деяких проєктах пасхалочки додавав, не про все можна розказувати :)
А ви робили пасхалочки?
В 1986 році під час портування іграшки для приставки Nintendo розробник вбудував код, який активував чіти після натискання послідовності клавіш.
Згодом ту послідовність почали вбудовувати в іграшки компанії Konami, за що й отримала назву “Код Konami”.
Можливо ви цього не знаєте, але код став свого роду культом і його зустріти можна далеко за межами іграшок, на купі різних серйозних сайтів.
Є купа готовий імплементацій у вигляді бібліотек, ось наприклад, для реакту: https://www.npmjs.com/package/react-konami-code
Звичайно, що пасхалочки тільки такою комбінацією не обмежуються, і навіть складно уявити скільки їх є в тих сервісах, якими користуємося щодня.
Я сам таке люблю і в деяких проєктах пасхалочки додавав, не про все можна розказувати :)
А ви робили пасхалочки?
👍35😁8🥰2