Programming Mentor
3.49K subscribers
165 photos
1 video
13 files
357 links
Ти живеш, поки вчишся
Download Telegram
Сьогодні знайшов справжній скарб - репозиторій на гітхабі "Today I Learned", де веб-розробник з Чікаго просто з маніакальною скурпулезністю майже щоденно протягом п'яти років (!) вів конспект всього вивченого і структурував по категоріям - багато по фронтенду всього, понад 900 TIL. Репозиторій не просто цінний сам по собі як джерело інформації, а й як приклад правильного підходу до навчання. Enjoy.
https://github.com/jbranchaud/til
Цікавий ресурс - Frontend Mentor - багато фронтендівських завдань та розв'язків від цінших людей, можна взяти собі завдання, попрактикуватися, а потім подивитися розв'язки інших чи скинути на рев'ю своє власне. Також можна залишити свої коментарі до робіт інших людей.
Ще там зібрано багато посилань на якісні ресурси. Enjoy.
На фоні шуму навколо вірусу сплила тут цікава айтішна тема: виявляється в штатах у держустановах, зокрема в тих, що працюють з системами для обліку і нарахування допомоги безробітнім, дуже популярна мова програмування COBOL, створена 60+ років тому, яку давно не вивчають у вузах, відповідно й середній вік розробника на ній 55 років.

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

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

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

Коротко про історію COBOL я згадував в своєму пості в телеграм-каналі від 8 березня цього року. Цю мову створили щоб замінити сотні інших мов, які вже використовувалися в 1950-х в США. Вона цікава тим, що її синтаксис наближений до англійської мови, у тому числі й завдяки словарному запасу - понад 300 зарезервованих слів. Для порівняння - сучасні мови програмування зазвичай мають кілька десятків таких слів. Лідер лаконічності - мова Go, що має всього-навсього 25 ключових слів.

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

То власне, чи дійсно це так страшно, що мова розроблена аж в 1959, і це прямо такий динозавр з яким не можна зв’язуватися? Насправді виглядає все зовсім не так погано. По-перше, COBOL продовжує підтримуватися і розвиватися. Скажімо ООП в ній з’явилося в 2002 році, а останній стандарт мови випущений у 2014. Звісно, з того часу минуло шість років, але навіть у найпопулярнішої мови на сьогодні JS була пауза в 10 років між випуском версій стандарту. По-друге, COBOL дійсно елегантна мова, і той факт, що на ній написано величезну купу коду саме цим і пояснюється, якби на ній розробникам не подобалося писати, то давно вже знайшли б заміну.

До речі, якщо говорити про найпопулярнішу зараз у світі мову - JavaScript, то в її основу покладений діалект мови Lisp, що вийшла у 1958 році - за рік до появи COBOL. То хто тут справжній динозавр? :)

Продовження тут -»»
May the 4th be with you! Сьогодні четверте травня, день Star Wars. Не можна пропустити таке свято, з яким я вас і вітаю :)
Рівно за тиждень стартуємо з черговою групою джедаїв з курсом ScriptJedi42. Відповідно заглянув у статистику для сайту курсу (https://sj42.programmingmentor.com/) і побачив веселу інформацію з Analytics Insights - люди, у яких в браузері стоїть російська мова затримуються найменше на сайті, бо він українською. Тупо відкривають, лякаються і закривають. 🙈
Звісно, люди з українською локаллю затримуються найдовше, але є багато тих, в кого в браузері мова англійська чи якась інша стоїть - і всі вони на сайті затримуються довше, ніж з російською (це якщо не рахувати зовсім випадкових відвідувачів з екзотичними мовами). 😋
Коли курс запускав, то від декого чув побажання російською робити, щоб більше людей зібрати, але я це роблю саме так, бо хочу генерувати україномовний контент. Навчатися на курсі можна і українською не говорити - то не заборонено звісно. Але хоча б розуміти треба, бо відписую я українською, та говорю теж. Також на своємо новому сайті (https://programmingmentor.com.ua/) статті теж виключно українською роблю. То розвивайте солов'їну - бачте як вона декого відлякує 😂
PS. Для тих, хто дочитав до кінця - даю купон зі знижкою 1 тис. грн. на курс, діє на всі варіанти, включаючи JEDI та SOLO, але активний лише одну добу - до кінця дня завтра, вводити під чач оплати на сайті в полі "промокод", код купону MAYTHEFOURTH
​​Недавно говорили про старі технології, то варто поговорити й про нові, особливо коли хтось говорить, що дуже багато всього нового з'являється і за всім не встигаєш. А хочете іншу сторону медалі? От я особисто щось давно не бачив чогось такого проривного в програмуванні, щоб прям хотілося б сказати "вау" чи щось таке. Ми користуємося концепціями винайденими десятки років тому. ООП, автоматичне керування пам'яттю, патерн MVC - тому всьому вже чотири десятки років і більше. Функціональний підхід, всі ті map/filter/reduce, FRP - то все понад двадцять років як вроваджується. В основі JS лежить Scheme, що в свою чергу походить від Lisp, що в свою чергу є другою в світі мовою програмування високого рівня після Фортрану, який був створений у 1957. Прототипне наслідування у JS пішло від мови Self з 1980-х. Сучасні фронтенд-фреймворки передирають друг у друга якісь концепції, і це сприймається за нове лише тоді, коли твій кругозір дуже вузько обмежений. Найчастіше двері можливостей для нових фреймворків відкриваються тоді, коли старі починають набухати від купи функціональності і застарілих фіч, що тягнуться з минулого. Для прикладу, AngularJS був беззастережним лідером у 2014, але його авторам дуже закортіло все переписати, зокрема використати ідею компонентів з React, однак породивши Angular 2, виявилося що по дорозі втратили купу користувачів, бо ніби й зробили все красиво, але напихали забагато всього додаткового, що ускладнило вивчення і зробило бандли занадто важкими. Далі React кілька років тримає лідерство, але авторам не сидиться на місці і кортить додати якихось "іновацій", то з недавнього - додали хуки. По суті - нічого прям революційного, але змінили фокус з компонентів у вигляді класів на функції, чим внесли суматоху, ускладнили вивчення, бо елементарно більше всього стало для новачків. Це стало вікном можливостей для Vue, який в свою чергу в значній мірі злизаний з давно забутого Reactive, просто його автори не скористалися можливостями. З відносно свіженького в програмуванні мене хіба блокчейни з криптовалютою вразили своєю геніальністю, але щось тему до кінця не розвинули ще ту. В області штучного інтелекту якось все занадто повільно рухається. В залізі більше прогресу насправді, але часто за рахунок закона Мура розвиток йде, якому вже хтозна скільки років. Мережі більш-менш непогано розвинулися, бездротові зокрема. Хмари як концепція теж далеко не нові, просто в синергії все разом почало працювати злагоджено. Але це знову більше про залізо. От здивуйте мене чимось по-справжньому новим і геніальним :)
Навряд чи я когось здивую прогнозом, що пандемія і глобальний карантин суттєво вплинуть на світ, яким ми його знали раніше. Звична реальність постраждає, однак це дасть можливість розвиватися світу іншому, віртуальному.
Запрошую прочитати мій лонг рід на тему https://programmingmentor.com.ua/vr/
Є одна тема, яку розробники часто уникають - це модульні (юніт) тести.
Взагалі не пригадую випадку, щоб хтось говорив, що любить писати тести більше ніж код. І це можна зрозуміти, бо тести задачу не вирішують, їх вирішує код.
Але тут є нюанс. Якщо ти пишеш код разом з тестами, чи навіть навпаки - спочатку тести, а потім код, то результат буде кращий - ти будеш писати лаконічніше, а головне - більш впевнено будеш почувати себе в тому, що ти зробив.
Проте часто люди не пишуть тести не тому, що не хочуть це робити, а просто не знають чи не вміють як. Однак насправді це зовсім нескладно.
Завтра я проведу практичний workshop, де ми почнемо писати тести в JavaScript за допомогою популярного тестового фреймворку jest, що по замовчуванню використовується в react.
Якщо ви хоч трішки знаєте основи JavaScript і можете написати найпростішу функцію, але не знаєте, з чого почати тестування, то завтра на практиці ми з цим розберемося. Почнемо з того як встановити та налаштувати jest, потім зробимо кілька тестів, розглядаючи практичні сценарії використання jest, на практиці вивчаючи його можливості.
Особисто від мене промокод на знижку 15%, доступний лише на перші п'ять реєстрацій, використовуйте цей код: JEST
Лінк на workshop: https://www.facebook.com/events/654570761984232/
По матеріалам воркшопу, який я проводив по модульному тестуванню з Jest, зробив статтю, де покроково знайомимося з фреймворком, починаючи з його інсталяції та мінімального налаштування https://programmingmentor.com.ua/jest-intro/
В футері статті є лінк на репозиторій з кодом.
You are welcome :)
Forwarded from Angular Stream
Тут будуть відео з лайфстріму на фейсбуці, тому майте на увазі;)

Functional JS using Folktale and Ramda - https://www.facebook.com/TechMagic.co/videos/2327174850903283/
How to run your Angular app inside the biggest CRM. First steps with Chrome extension and Angular Elements - https://www.facebook.com/TechMagic.co/videos/2502539656424056/

Serverless:
Building serverless applications with reusable Serverless Components - https://www.facebook.com/TechMagic.co/videos/2193246187564326/
Serverless Workflow Management with AWS Step Functions - https://www.facebook.com/TechMagic.co/videos/2193112974244314/
Getting started with Serverless on AWS - https://www.facebook.com/TechMagic.co/videos/2193130147575930/

Запис виклaдено за підтримки TechMagic #serverless #angular #functional_programming #advanced
На ДОУ зарядили звіт в новому форматі з веселою інфографікою.
Багато цікавих речей. Зокрема Львів знову додав у відсотках загальної кількості IT-фахівців - з 12% то 15%.
Частка продуктових компаній досить велика - 28%. В той же час аутсорс плюс аутстаф - 54%. Тобто з трьох розробників один в продуктовій, і це дуже непогано насправді, це позитивно впливає на ринок праці загалом.
Ще така інфа цікава: кожен третій розробник має плани щодо власного проекту, а кожен четвертий уже реалізував задумане. Це насправді досить мало, бо щоб розвиватися, треба постійно пиляти якісь свої pet-проджекти.
Ну і нарешті ще таке - з профільною освітою 56% людей. Тобто майже кожен другий - це свічер, чи той хто зайшов в IT через курси без традиційної вузівської освіти. І для вузів це насправді поганий знак - бо все більше людей розуміє, що є інші способи для того щоб йти працювати, не втрачаючи п'ять років життя невідомо на що.
https://dou.ua/lenta/articles/portrait-2019/
Просто бімба, а не стаття!
Колишній депутат ВР розказує про свій досвід входження в IT у якості розробника.
Подолав шлях з нуля менш ніж за рік, і це все у віці 40+ та в оточенні, що не розуміло, навіщо йому то треба.
Детально описано шлях, багато речей цілковито збігаються з тим, як я сам раджу навчатися, розвиватися та ставитися до професії.
Деякі фрази ну прям 1-в-1 збігаються з тим, що говорю я - і про те, що треба стукати в усі двері, і те, що рано чи пізно шлях подолаєш, головне по ньому йти крок за кроком, але робити це досить інтенсивно, під тиском. І те, що найприємніше в цій роботі - це отримувати задоволення від того, що знайшов рішення.
Буду показувати всім, хто у віці 30 років починає розказувати, що вже пізно. Той випадок, коли щоб стати, треба захотіти, але захотіти по-справжньому.
https://dou.ua/lenta/interviews/sobolev-from-politics-to-it
На ДОУ вийшла моя чергова стаття, цього разу про онлайн-навчання в IT.
Дуже раджу прочитати її, свої відгуки можна залишити в коментарях, цікава ваша думка. Там неслабо почало пригорати у декого, все-таки тема всім близька :)
То власне стаття та в значній мірі транслює моє бачення того, як має виглядати сучасна онлайн-освіта в IT (а оскільки так виглядає, що поступово освіта йде в онлайн, то можна говорити про освіту найближчого майбутнього загалом).
Деякі ключові твердження:
1. Щоб отримати роботу не треба роками вчитися у виші, має вистачити часу до одного року інтенсивного навчання. Але для цього потрібно, щоб навчання формувало навички, які можна використати в роботі, те що зараз називається "job ready skills".
2. Після отримання першої роботи справжнє навчання лише починається, але саме тоді, маючи роботу і застосовуючи знання на практиці, людина буде максимально ефективно прогресувати.
3. Автор курсу має відмовитися від самостійної розробки всіх матеріалів, йому слід постаратися використати найкращі матеріали, доступні онлайн. Тоді він перестане бути слабкою ланкою, а навпаки зможе з'єднати разом сильні.
4. Ментор має встановити персоналізований зв'язок зі своїми підопічними і не просто вчити їх, а скеровувати, надаючи підтримку будь-якими можливими способами. Бо навчання це лише складова професійного розвитку, треба розглядати питання максимально широко.
5. Велике значення в навчанні має спільнота. Люди - істоти соціальні, приналежність до групи зі спільними інтересами дає особливу цінність.
6. Виші мають трансформуватися кардинально, або помруть. Бо навчати так швидко, як розвивається IT вони просто не здатні, це видно чим далі, тим більше. Але потенціал у них дуже великий, тут швидше мова про те, які з них виявляться успішнішими за інших.
https://dou.ua/lenta/articles/online-education-in-it/
​​Сьогодні о 18:00 запрошую на вебінарчик, де визначимося з найкращою мовою програмування. Проводити буду я, реєстрації не треба, під'єднуйтеся прямо по лінку в зум (лінк на кнопочці).
💻Вже кілька років JavaScript є незмінним лідером серед мов програмування на гітхабі, і я особисто тривалий час рекомендую його як першу мову для вивчення.
💻Сучасний JavaScript - це красива і елегантна мова, яка відрізняється особливою гнучкістю. В цьому є переваги й недоліки. Переваги в тому, що з неї дуже просто почати, особливо якщо ти не програмував до цього ніколи взагалі. Але є і інша сторона - завдяки гнучкості код можна писати по-різному, не розуміючи до кінця деталей реалізації дуже просто вистрілити собі в ногу.
💻 Майже рік як я проводжу свій авторський курс ScriptJedi42, де у невеликих групах в онлайн-форматі за 42 дні ми вивчаємо весь сучасний JavaScrtipt як мову програмування, і не просто теоретично, а формуємо навик, пишучи багато коду, кожен рядок з якого я особисто переглядаю і даю свої коментарі. Також всі завдання перевіряються автоматично на коректність, а теорія доступна у формі коротких відео, які можна проходити у довільному темпі.
💻За цей час курс встигло завершити досить багато людей, і успішно використати здобуті знання та навички на практиці.
💻Курс проходить раз на кілька місяців, чергова група стартує вже найближчого понеділка, 20-го липня, залишаються лічені дні.
💻Для своїх підписників я даю купон на знижку 1 тис. грн від поточної ціни на сайті для варіанту курсу "ДЖЕДАЙ", яка теж зі знижкою. Купон буде діяти обмежений час, не відкладайте.
💻Код купону, використовувати під час оплати через сайт: JSFORCE
💻І хай прибуде з вами Сила!
Сайт курсу: https://sj42.programmingmentor.com/
Привіт-привіт! Чи чули ви про експертів з Lean Web? Сьогодні на Smashing Magazine вийшов черговий подкаст за участі саме такого експерта - Кріса Фердінанді, де він розказує про недоліки сучасної веб-розробки, куди вона рухається і як це пофіксити.
Цікаво, що я особисто ще у 2018 році почав серію виступів на тему "Make Web Great Again", де саме про це і говорив. То слід дописати собі Lean Web Expert теж.
Сьогодні, менш ніж за пару годин, а якщо точніше, то о 19:30 за Києвом буду проводити вебінарчик для початківців про стан веб розробки у 2020, приходьте, буде цікаво :)
Прямий лінк на трансляцію: https://youtu.be/w0oVOMfNYMU
Лінк на подкаст, який я згадував: https://www.smashingmagazine.com/2020/07/smashing-podcast-episode-21/
Стосовно подій в Білорусі та IT. Оскаженілий бацька не зрозумів, що не можна в 2020 році публічно ламати кінцівки і розбивати голови своїм громадянам. І головна причина не в тому, що людство стало якось гуманніше, а тому, що завдяки досягненням IT тепер кожен може все це зафільмувати та поширити назагал. Бо одна справа - це вбивати та знущатися десь по-тихому, а інша - коли бачить весь світ.
Невідомо, чим ця ситуація завершиться, але якщо диктатору якось вдастся втримати владу, то це грозить катастрофою для цілого народу. Гарантовані санкції, ізоляція і тому подібне. Є шанс збудувати Північну Корею прямо в Європі.

У цій всій історії мене особливо хвилює доля білоруського IT - з першими заворушеннями і перебоями роботи мережі відразу почалися проблеми з клієнтами, які небезпідставно почали хвилюватися.
Це все нагадує події в Україні у 2014-2015 роках, коли клієнти в паніці відкликали проекти, і не лише з Криму, який опинився під санкціями, а навіть з тих міст, де все було спокійно, хоча тоді об'єктивних причин особливо не було, як мінімум, інтернет на рівні країни не вимикали.

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

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

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

Ну і оскільки я сам мав досвід релокації в критичній ситуації, то можу порадити приймати рішення швидко і не чекати поки ситуація вирішиться остаточно, бо сценарій виїхати, а потім повернутися, кращий за той, коли виїхати стає нереально взагалі.
Залишилося менше години до представлення першого досягнення чергового проекта Ілона Маска - ікони сучасного хай-тек бізнесу.
Самокеровані електромобілі, ракети, що повертаються на земплю, супутники для швидкого інтернету, підземний тунель для транспорту та гіперлуп - кожен з його проектів сам по собі тягне на фантастику. Але мене особисто не залишає у спокої один конкретний проект, про який говорять не так часто - це Neuralink.
По ідеї сьогодні мають представити пристрій для повернення людині органів відчуття.
Але то лише перший крок. Надалі має бути цікавіше, і слід очікувати якісь можливості не просто для відновлення втрачених можливостей організму, а для розширення існуючих. Наприклад, розширення пам'яті, пряме підключення в інтернет і тому подібне. Якщо навчитися передавати інформацію з зовнішніх датчиків, то робота з усім іншим - то вже чисто техніка.
І тут філософське питання - що буде далі, як воно буде поширюватися серед людей? Я особисто не в захваті від імплантів в мозок, але ситуація виглядає таким чином, що процес цей не спинити - якщо це даватиме якісь переваги у навчанні, в роботі, в кар'єрі, в оплаті праці і т.п. - то люди почнуть їх ставити, і це буде лише питання часу, коли такі "модифіковані" люди опиняться в більшості, а "звичайні" - в меншості.
Надалі ще можна розвити тему в такому руслі, що ті імпланти будуть давати різні можливості в залежності від того, скільки він буде коштувати.
Це лінк на стрім, ця ніч обіцяє не бути нудною: https://youtu.be/DVvmgjBL74w
Для тих, хто не встиг подивитися презентацію Neuralink - показали дійсно вражаючі речі:
- практично готовий для використання компактний пристрій, що інвазивно імплантується через отвір у черепі прямо у людський мозок;
- пристрій має розміри 23 на 8 мм та буде майже невидимий після інсталяції;
- має 1024 канали, що десь в 10 разів більше за розробки конкурентів, передає інформацію та заряджається бездротово;
- інсталюється за допомогою спеціально створеного для цього робота менш ніж за годину;
- робота пристрою була продемонстрована на свині, яке вже носить той імплант два місяці;
- наступний крок - тестування на людях, яке почнеться дуже скоро.
І так, Маск підтвердив, що то лише перші кроки, вони полягають у відновленні втрачених можливостей, але далі дійсно буде робота над розширенням здібностей людини: зовнішня пам'ять, додаткові сенсори, і т.д. і т.п. Повністю переглянути презентацію можна в записі по лінку в моєму попередньому повідомленні.
Бувайте, останнє покоління немодифікованих людей.