Programming Mentor
3.5K subscribers
165 photos
1 video
13 files
356 links
Ти живеш, поки вчишся
Download Telegram
Ось вам реальна історія як AI починає забирати професії, не пов’язані з IT

Мені терміново знадобилося зробити формальне фото - так вийшло, що останній раз подібну фотосесію робив давно, ще без бороди і старі фото ніяк не підходять.
Через професійного портретного фотографа це питання швидко не вирішується, особливо, якщо виникло пізно увечорі, а результат треба на завтра на ранок.

І тут сильно виручив AI, ділюся досвідом.

Використав сервіс leap.ai, завантажив в нього півтора десятка фото зі своїм обличчям (фото дуже різні, просто сімейні, з відпочинку, з якихось конференцій - жодної не було в костюмі). Треба квадратні, від чотирьох штук, бажано 1000x1000 пікселів, можна менші, просто навирізав їх), натиснув кнопочку щоб натренувати на них нейронну модельку (це десь 30 хвилин).

Потім з неї згенерив потрібне фото і ще кілька штук вдалих на майбутнє. Готові запити вже є в системі, можна підтюнити промпт під себе. Невдалих більшість, відсотків 80-90, то не лякайтеся, якщо відразу не виходить.
Але загалом на все про все - можна вкластися в годину часу.

Надалі моделька в мене вже є - можу генерувати фото за лічені хвилини.

Так, це не безкоштовно, щоб натренити свою модельку довелося оформити підписку за $9, але це смішні гроші у порівнянні з ціною послуг професійного портретного фотографа, який повинен мати купу обладнання та софта, тримати студію і витрачати багато часу на процес, у тому числі постобробку. На місці фотографів я би сильно задумався.

Звичайно, що на професії в IT воно теж вплине, але в загальних масштабах я би говорив про подальше розширення галузі. І зараз багато компаній почали "прикручувати" AI до своїх сервісів, чим власне розробники і займаються.
Навіть далеко ходити не треба - у leap.ai є репка на гітхабі, яка імплементує цей процес як сервіс. Стек сучасний: TS, NextJS, supabase, tailwindcss, stripe.
Ось лінка, enjoy :) https://github.com/leap-ai/headshots-starter
👍61🔥142
А чи знали, що в JS можна використовувати C++?
😁133🔥4👏3
Привіт! В жовтні проходить хактоберфест, кому цікаво поконтриб'ютити в локальний open-source, приходьте на онлайн-подію прямо зараз https://discord.gg/wVwKGHCT
NextJS 14: Let’s make web dev great again

Позавчора вийшов NextJS 14, на презентації засвітився ось цей код і наробив багато шуму.

Хто не слідкує за NextJS, то на ньому показується реалізація React-компонента з Server Actions - кодом, який виконується на бекенді, для цього є спеціальна директива “use server” на початку функції. Відразу з’явилося багато хейту, почали згадувати PHP, sql-ін’єкції, принципи чистого коду, розподіл обов’язків та всі інші відомі слова з софтверної інженерії.

Але на моє переконання, те що ми бачимо на слайді - це прогрес, а не регрес. Звичайно, це все-таки концепт, і ніхто не примушує писати код саме так, треба перевірити аутентифікацію, права, замість вбудованого sql-коду можна використати якусь ORM і т.п. Найважливіше, що нам тепер не треба двох окремих девелоперів щоб зробити якусь дію на фронтенді і покласти дані в базу - і це прекрасно. Ця фіча була доступна ще з попередньої версії, просто там вона була у тестовому режимі, але я сам з задоволенням нею користувався.

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

Але чи це правильно і в чому причина? Звісно, що неправильно, а причина в тому, що рішення стали складними, всі почали будувати SPA, для них використовують фреймворки і інструменти, які вирішують одні проблеми, але створюють інші. Бо веб - це не просто машина для виконання JS, і для SEO треба щоб був контент, який індексується, що з SPA не є просто. Відповідно почали реалізовувати всілякі трюки з server side rendering, deep linking, hydration і т.п. Крім того, у SPA виникли проблеми зі швидкістю, бо його браузер має завантажити, потім запустити. Почали робити code splitting, lazy loading і тому подібні речі. І це все лише мала частина реальності сучасного веб деву.

То ми просто бачимо, що NextJS взяв курс щоб повернути професію “веб розробника”, і це прекрасно я вважаю.
37👍11🔥2
Джун приходить на роботу і в перший день зносить базу в проді, за що його звільняють. Хто винен? Ваші варіанти :)
😁213👏1
Якщо думаєте куди інвестувати 500 гривень, то є варіант отримати чудовий макбучок з класним гравіюванням
9
Forwarded from DOU
Media is too big
VIEW IN TELEGRAM
Вже цього тижня розіграємо Macbook Air, кастомізований гравіюванням з Шарками 🥹

Приєднуйтесь донатами до збору 5 млн грн 4 Mini Shark для ЦСО «А» СБУ («Альфа») і беріть участь у розіграші.

Правила прості:
😎 Задонатити від 500 грн.
😎 Більше донатів — більше шансів!

Донати можна надсилати двома способами:
🚀 на монобанку KOLO;
🚀 на сторінку цільового збору KOLO.

Не відкладайте! Час спливає 😉
28
Працюй, наче востаннє

Зараз інтернети шумлять звільненням Сема Альтмана з посади CEO OpenAI. Але Сем, якого знає весь світ, не пропаде, можливо це йому піде лише на користь, як колись пішло Стіву Джобсу після вигнання з Apple у 1985.

А я хотів би поговорити про більш “звичайних” людей і їх готовності до такої події.

Є така мотиваційна фраза - живи кожен день, наче останній. То я би її доповнив: працюй теж кожен день, наче останній.

Щоб це значило? А те, що жоден найманий робітник не застрахований від такої ситуації, в якій опинився Сем Альтман, і тому завжди до нього треба бути готовим.

А що значить “не бути готовим”? Це коли ти, по-перше, не маєш фінансових ресурсів протриматися достатній час в процесі пошуку нової роботи, а по-друге - не готовий до нової роботи, бо не маєш актуальних знань/навичок, які зараз потрібні на ринку.

Про фінансові ресурси.

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

І в цей час один з його співробітників-сеньйорів, який отримував сеньйорну зарплату вище середнього по ринку та їздив на преміальному авто, що коштує дорожче за авто власника компанії, звернувся за матеріальною допомогою у вигляді кількох своїх місячних зарплат, бо він вирішив виїхати з міста, а заощаджень в нього немає, бо “всі гроші пішли на авто плюс ще за нього треба кредит сплачувати”. Звичайно, що співробітник з таким запитом цілком очікувано був посланий куди подалі з пропозицією вирішити свої фінансові питання шляхом продажу авто.

Купувати предмети розкоші в кредит і при цьому не мати якоїсь фінансової подушки - це ну прям дуже безглуздо. Якщо вам пощастило отримувати пристойну зарплату, то перше, що треба зробити, це пам’ятати, що “так буде не завжди” (є про це народна мудрість, колись мені дуже розумна людина розповіла) і подумати про якусь заначку на чорний день, пасивний дохід і тому подібне.
👍647
Про навички

Тут ще більш важливо - якщо ви не можете забезпечити собі життя без роботи, то треба пам’ятати, що важливо знати/вміти те, що зараз потрібно ринку. І немає значення якими ви знаннями/навичками/технологіями володієте, якщо вони зараз не актуальні.

Я бачив багато “несправжніх” сеньйорів, що отримували звання лише за вислугою років і просто автоматично набутого досвіду в результаті роботи з якимись технологіями. Але якщо говорити про IT, то тут тренди змінюються швидко, і, наприклад, у 2014 році на фронтенді AngularJS “переміг всі фреймворки”, і тих, хто почав користуватися в той час React інакше як фріками не вважали. Але все змінилося буквально за два роки, коли Angular 2 виявився занадто складним і повільним, то більшість нових проєктів почали робити на реакті, і це вже не було чимось дивним. Зараз здається що реакт всіх переміг, але “так буде не завжди”, і років за два все може змінитися, бо зараз з’являється багато нових цікавих фреймворків, які навіть ідейно близькі до реакту, але дозволяють більш елегантно вирішувати задачі, що в ньому робляться трохи дивним чином, бо так склалося історично.

Можливо ви здивуєтеся, але до сих пір є люди, що сидять на проєктах з AngularJS і навіть jQuery, і не знають ніякого реакту, але при цьому числяться сеньйорами і отримують сеньйорні зарплати. Питання в тому, чи зможуть вони знайти роботу, якщо раптово проєкти закриються? Певен, що більшість не зможуть цього зробити достатньо швидко, бо справжній сеньйор, по-перше, мав би вивчати реакт, навіть якщо працює з ангуляром, а по-друге - мав би сам давно перевезти проєкт на сучасні технології, або самому з’їхати з такого проєкту.

Тут можу пригадати як у 2016 я ще працював з AngularJS, але досить швиденько вивчив новий Angular, а разом з ним TypeScript та RxJS, які “зайшли” без особливих проблем і навіть дуже сподобалися, бо ідейно були досить близькі до C#/.NET, на якому я писав раніше. А потім проводив тренінги та воркшопи для розробників, серед яких траплялися ті “несправжні сеньйори” - це люди, які мали 3-5 років досвіду, і нормально знали перший ангуляр, але крім JS зазвичай з жодною іншою мовою не працювали, і вкласти собі в голову TS, Observables та інші речі їм було ну дуже складно, іноді навіть складніше, ніж людям, що вивчали все це з нуля без якогось упередження. До речі, запис воркшопчику по TypeScript у 2016 був першим відео на моєму україномовному ютуб-каналі. Пам’ятаю тоді після нього підходили люди і з подивом запитували навіщо все ускладнювати з тим TS, якщо можна просто писати код без нього і не паритися.

А от коли пам’ятаю вирішив вивчити реакт, то просто на вечір засів за якийсь онлайн-туторіал, почитав доки, зробив демку і здивувався, що “скільки там того реакту”, бо насправді реакт як бібліотека що рендерить елементи DOM відносно невелика сама по собі. І це на мій погляд більше погано, ніж добре, оскільки для повноцінного проєкту потрібно “добирати” залежності з інших бібліотек. І саме тому мені подобається NextJS та інші повноцінні фреймворки, бо там це питання вирішене.

Але тримати актуальними знання і навички - це не лише про модні фреймворки, це і питання розширяти свій кругозір на якісь суміжні технології, а також прокачувати свої навички з алгоритмів, структур даних і тому подібного. Причому важливо не просто “ознайомлюватися теоретично” - лише щось слухати/дивитися/читати, важливо щось робити - проходити онлайн-курсики, здавати сертифікації, прокачувати профіль на кодворсі чи літкоді, робити свої пет проджекти чи намагатися контриб’ютити в чужі. Варіантів багато, тут важливо бути готовим до всього нового, що може трапитися, бо так як є, буде не завжди.
👍7910🔥4👏3
Навчальний курс - це шлях, який треба пройти, щоб стати кращим.


https://sj42.programmingmentor.com/
🔥191
То чистий, чи ні?

В твіттері почалася чергова хвиля кенселлінгу Clean Code.

Таке трапляється періодично, наприклад, в 2020 Ден Абрамов теж на цій темі хайпонув. До речі, в його прикладах особисто мене заділо некоректне використання let. Не знаю, навіщо він то зробив, він людина популярна і хтось може подумати що той код ок, але він не ок, бо там всюди коректніше використати const. Власне для того в сучасному JS два ключових слова для декларації змінних і є: і якщо ви пишете let, то ви не просто говорите “це буде змінна”, ви говорите “це буде змінна, яка буде тимчасово мати певне значення, але далі в коді я обов’язково присвою інше”. Якщо ви не присвоїли інше значення - значить потрібно було використати const, інакше ви просто вводите в оману тих, хто цей код буде читати згодом.

Але повернемося до Clean Code - на мою думку це точно не перша книжка, яку варто читати з програмування, але є однією з перших, яку прочитати варто, після того як ти навчився хоч якось писати код. Звичайно, не слід всьому слідувати бездумно, але загалом для починаючого розробника слід мати якийсь орієнтир “добре/погано”. І лише коли ти вже станеш достатньо досвідченим, тоді зможеш аргументувати чому ти щось робиш по-іншому.

Ну і моя особиста рекомендація - книжка Code Complete від Стіва МакКоннела.
👍39👏3
До речі, сьогодні день народження ChatGPT

Хоча маю підписку на Copilot, все одно користуюся ChatGPT кожен день, вже маю навіть певні рутинні задачі, які даю йому регулярно.

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

Раніше він видавав весь файл у якості результату, а зараз лише зміни, а весь інший код пропонував дописати мені самому. І як я не намагався виправити запит - це не допомагало - відмовлявся видавати готовий файл і все. Довелося самому зміни вносити.

Як виявилося - я не один такий, багато скарг з'явилося, що він дещо ледачий став після останнього апдейту.

Чисто для себе вважаю що то не дуже добре зав'язуватися на один сервіс. Поставив собі LM Studio, там можна скачувати LLM-моделі і запускати локально. Вони загалом у якості поступаються ChatGPT, але цілком норм для певних задач.

Є ще хтось, хто ніяк в роботі не користується LLM?
Ну а, якщо користуєтеся, то як?
👍12🔥9
В інтернеті не так багато якісного контенту з програмування українською мовою то думаю що доречно рекомендувати вам якісні ресурси.

Мені особисто подобається ютуб канал Максима Рудного

Ми поспілкувалися трохи з Максимом, він розказав, що займається комерційною веб розробкою понад 10 років, має досвід фронтенду та бекенду, а також менторства та викладання. Його мета - навчати українською, щоб сприяти розвитку вітчизняної IT галузі. Я в цьому з ним абсолютно погоджуюся, бо для найкращого розуміння контент варто сприймати рідною мовою.

Отже, детальніше про канал - Максим створив його 3 роки тому, коли україномовних каналів на ютубі з програмування було зовсім мало, і веде досить регулярно, кількість відео наближається до восьмого десятку.

Зараз на каналі:
- Безкоштовні курси по найсучасніших інструментах веброзробки: React, GraphQL, Next.js.
- Найкращі практики написання чистого коду та тестування.
- Поради з оформленням резюме для пошуку роботи у сфері ІТ, базуючись на досвіді проведення співбесід
- Поради початківцям що вчити та на що звернути увагу.
- Тренди та новини у сфері front-end розробки.

Також у Максима є телеграм-канал, там можна поспілкуватися і питання задати https://t.me/maksymrudnyi
👍36🔥196
400+ питань по фронтенду

Сьогодні на ДОУ вийшла публікація з переліком питань для фронтенду, як і три роки тому, коли такий список робили вперше, я був в колективі авторів та редактором загального списку.

Цікаво, що я чув відгуки від кандидатів по минулому набору питань, що їм на інтерв’ю задавали питання один-в-один і прямо по черзі з того списку, і хто по них готувався в того і складнощів з проходженням не вийшло 🙂

Ну а для інтерв’юерів хочу порадити списком користуватися орієнтовно і складати свій власний до кожного інтерв’ю, модифікуючі питання з урахуванням власних вимог, бо вони можуть бути різні. І буває так, що на інтерв’ю людину ганяють по дуже далеких від реальних задач проєкту питаннях, а перевірити чи вміє вона робити саме те що потрібно виходить не завжди.

Оскільки питання пропонували різні люди, то звісно вийшло все досить різношерстим. І якби я складав все сам, то робив би дещо по-іншому. Але в тому й сенс колективної роботи, що є різноманітність поглядів, і ці питання варто проглянути будь-кому з розробників щоб побачити для себе щось нове/незнайоме і відповідно щось почитати/сробувати для власного розвитку.

Ну як і минулого разу в коментах з’явилися тролі, зі стандартною темою “навіщо це питати, ось я скільки працюю - таке взагалі не зустрічав”, то я раджу на такі коменти не зважати, бо хвалитися краще тим, що ти знаєш, а не тим, чого не знаєш. І якщо ти знаєш/вмієш більше, то й продати себе як фахівець можеш дорожче, особливо зараз, коли ринок турбулентний.

Окремо додам, що питання по JavaScript та додатково по TypeScript на рівень джуна (і навіть вище) цілком і повністю закриває мій джедайський курс. Недавно відкрився набір на першу групу в наступному році, там будуть цікаві оновлення курсу, про них напишу пізніше, ближче до старту. Старт курсу буде в лютому, але він побудований таким чином, що навчатися можна відразу після реєстрації.
👍43🔥73
Використовуємо генеративний ШІ для кодогенерації

Вчора проводив інтерактивний воркшопчик для SoftServe Academy про інструменти для створення аплікацій генеративним ШІ. Спочатку трохи теорії як воно працює простими словами, а потім - практика з різними тулзами - repl it, Vercel V0, makereal, GPT-4V, Google Bard Gemini. Було весело, ловіть запис :)
https://youtu.be/4UHHS6vgShg
👍31🔥13
Кіберпанк, якого ми не чекали

Якщо слідкуєте за тим, що відбувається в AI-галузі, то там конкуренція переходить у справжню війну без правил.
Два дні тому Google презентувала свою нову модель Gemini - демка і мене вразила. Але не я один - акції компанії одразу підскочили на 5%.

Але тут виявилося, що відео фейк - ніякої взаємодії в реальному часі не було, вони робили скріншоти і віддавали їх моделі з текстовими запитами, точно також, як це можна робити з Chat GPT4. А дехто після презентації від Google підписку на ChatGPT відмінив :)

Сам поганяв трохи нову модель Google і насправді не був вражений, а з деякими завданнями - наприклад, генерацією коду, вона справляється відверто гірше за Chat GPT4. До речі, вчора на події, запис якої я виклав попереднім повідомленням, ми теж її тестували. То я за конкуренцію, але чесну.

Google взагалі щось розчаровує останнім часом. В докору їм додам, що мій улюблений Google Podcasts закривають і взагалі довіри до їхніх сервісів нема з урахуванням того, як легко вони їх прибивають - ось зайдіть подивіться, скільки вони лише за 2023 закрили, і вже на наступний рік плани є.

Але продовжимо тему - відразу після презентації Google французький стартап Mistral AI опублікував у своєму твіттері link на торрент, який веде на гігантську за обсягом LLM-модель у 87 Гб. І відразу після цього повідомлення з’явилося інше - про те, що стартап отримує 400 млн євро інвестицій.

А стосовно відритих/закритих моделей і торентів - оскільки всі сервіси з моделями по підписці зарегульовані і примусити їх робити щось потрібне тобі не завжди вдається, то передбачаю “альтернативний” ринок “чорних” моделей, які будуть ганяти по торентах будуть без обмежень і під якісь “особливі” задачі. Ну а щоб запустити їх треба залізо мати неслабеньке, не кожному по кишені. Відповідно будуть ті, хто крутитиме їх на власному залізі, а доступ до них буде тільки для “перевірених” людей через крипту і VPN.
Справжній кіберпанк, якого ми не чекали :)

PS. Картинку ChatGPT нафантазував, мабуть щось знає.
👍1210
Кіберпанк ближче, ніж здається

Ну ось, не пройшло і два дні, як трапилося те, про що я писав в останньому повідомленні - відкрита модель від Mistral обходить ChatGPT 3.5 і в ній немає обмежень :)
👍29
Христос народився! Щойно запустив дуже фанове відео на своєму ютубчику про запуск локальних моделей, там не лише текстові, а й моделі з vision показую як запустити. Також як підняти локальну апішку і до неї звертатися зі свого коду, репка з прикладом коду додається. Відео не редагував, все як є, у тому числі з фейлами моделей. Всім веселого перегляду.
https://youtu.be/WcIghZD9QhI
👍59🔥122🥰1
З Новим Рочком всіх!
А я ще пам'ятаю часи, коли ніякого фронтенду не було і все програмування для вебу робилося виключно на бекенді. Ну а в JS могли максимум картинки підміняти на ховері мишки щоб кнопочки красивіше виглядали.
І я з цією картинкою повністю згоден, кудись воно все зайшло трохи не туди і пора вже спрощувати :)
44😁36👍1