Programming Mentor
3.49K subscribers
165 photos
1 video
13 files
357 links
Ти живеш, поки вчишся
Download Telegram
В суботу на Google Assistant Meetup закодив ботика з VUI (писав про те), поки робив його, записав весь процес на відео, закинув на свій канал.
Ось тут детальніше, можна подивитися в дії: https://programmingmentor.com/post/dialogflow-bot/
Дозволяє повернути поточну ціну біткойна і загальну кількість біткойнів.
Було цікаво, напрям для мене новий, але боти і VUI зараз досить гаряча тема.
З появою ключового слова "class" в ES2015 здається, що JavaScript нарешті має звичайні класи, що й інші мови програмування. Але насправді не все так просто, ось гарна стаття на тему: https://medium.com/@parsyval/javascript-prototype-vs-class-a7015d5473b
Є така дуже цікава платформа для навчальних курсів - Scrimba. Цікава вона тим, що подає заняття в моєму улюбленому форматі скрінкастів. Але відрізняється від традиційних скрінкастів тим, що на екрані показується не відеопотік, а редактор коду, причому код з нього можна копіювати і навіть змінювати та дивитися на результат у вікні браузера. Це просто фантастично зручно, можна сказати - новий рівень в скрінкастах для фронтенду. Ось для прикладу курс по Bootstrap 4: https://scrimba.com/g/gbootstrap4
Маю чудову новину - до 10-го квітня безкоштовно доступні всі скрінкасти Гаррі Бернхарта, автора відомого відео "WAT JS". Гарі один з найбільш шанованих ентузіастів у світі програмування, його скрінкасти охоплють купу тем: від роботи з git до розробки власного компілятора. Ось лінк на каталог https://www.destroyallsoftware.com/screencasts/catalog. А це лінк на WAT, якщо ще є люди, що його не бачили: https://www.destroyallsoftware.com/talks/wat
Тема статичних сайтів є вельми гарячою зараз. Вони швидкі, надійні, позбавлені багатьох недоліків використання CMS. Однак іноді для їх побудови використовуються не зовсім простий набір технологій. На Smashing Magazine вийшла цікава стаття про побудову статичного сайту з використанням доволі простого для освоєння шаблонізатора Nunjucks: https://www.smashingmagazine.com/2018/03/static-site-with-nunjucks/
Схоже у веб-розробці спостерігається черговий "Next Big Thing" - на заміну Responsive Web Design починається рух у напрямку Intrinsic Web Design. Якщо простими словами, то це подальший розвиток responsive, але більше орієнтований на подачу контенту у максимально зручний спосіб, що стали можливим в першу чергу завдяки CSS Grid. Ось кілька лінків по темі:
https://www.helixeducation.com/resources/blog/move-responsive-web-design/
https://css-tricks.com/new-css-features-are-enhancing-everything-you-know-about-web-design/
https://adactio.com/journal/13671
Дуже цікава річ - крупні IT компанії України зробили узагальнений документ з вимогами до джуніорів. Є різні напрямки - Front-End, Java, .Net, QC. Зазначено не лише hard skills, а й soft skills https://drive.google.com/file/d/1WGoWQaD3eCVn68zmMgQy2upwGQ7jkUXu/view
Якщо ви часто робите CSS-верстку, то маєте знати про таке розширення для Chrome - http://pesticide.io, воно дозволяє обвести кольоровою рамкою кожен елемент сторінки.
Цікаво, що у відомого розробника з Google Addy Osmani на гітхабі є сторіночка, де зібрані варіанти коду, що роблять те саме і займають лише кілька десятків байт, достатньо скопіювати і запустити в консольці: https://gist.github.com/addyosmani/fd3999ea7fce242756b1
Цікавий запис подкасту російською мовою з одеситом Олексієм Скутаренко, який зараз працює розробником в Google 🕶: https://soundcloud.com/podlodka/podlodka-6-voyti-v-it-s-alekseem-skutarenko
Олексій відомий тим, що створив досить популярні безкоштовні російськомовні онлайн-курси по розробці для iOS. 📱
Подкаст буде актуальним не лише для початківців, а і для розробників з досвідом, причому незалежно від стеку технологій.
Олексій цікаво розказує про:
⌨️ те, як правильно навчатися
⌨️ як розвивати свої навики
⌨️ чому інженеру немає значення, на якій мові програмувати
⌨️ як знайти роботу за кордоном
⌨️ яким має бути резюме
⌨️ відмінності в софт-скілах, і як їх правильно прокачувати
Дуже цікава статистика стосовно того, яким чином джуни в Україні знаходять роботу. Виявляється через навчальні центри IT-компаній роботу знаходять 50% людей, а в деяких крупних компаніях через них йдуть 80-100% джунів. Звідси важливий висновок, для тих, хто шукає пряму дорогу - вона є, треба нею йти :)
https://dou.ua/lenta/articles/juniors-2017/
Задумайтесь, наскільки влучною є фраза про те, що людину визначає її образ життя. 😱
Ми щось постійно дивимося і слухаємо, і якщо це якийсь неконтрольований потік інформації, то він так же некотрольовано осідає в нас. Ще гірше, коли ми самі занурюємо себе в "неправильне" середовище, і замість чогось корисного свідомо заливаємо в себе інформаційне сміття. 🙈
Однак для того, щоб успішно навчатися і розвиватися, слід зануритися у корисне і продуктивне середовище, і зробити це нескладно: підбираємо корисні канали на ютубі, подкасти чи аудіокнижки, і стараємося вмикати їх завжди, коли виявляється вільна хвилина, чи нас ззовні починають засипати інформаційним сміттям десь у транспорті. Навіть якщо воно буде десь у фоні, то підсвідомість завжди зможе вихопити щось корисне.
Ось вам кілька корисних ресурсів, спеціально даю англійською мовою, бо без англійської розробнику ніяк, тому відразу йде прокачка 2-в-1. 😜
Почнемо з відео:
🎥 Fun Fun Function - словами самого автора: "це не туторіали і не курс - це шоу" - розказує дуже весело про складні теми, дуже подобається, як він це робить, запросто по цим відео можна вчити JavaScript;
🎥 DevTips - хоча канал існував давно, але з 20-го квітня цього року він перейшов до власників попереднього (їх два насправді) і позиціонується як канал для початківців;
🎥 Комп'ютерофілія - це пізнавальний канал, щось типу Діскавері, але для IT;
🎥 The Coding Train - незважаючи на не надто серйозну подачу матеріалу, веде канал цілий професор, який навчає складним темам в програмуванні у досить достіпній формі.
Тепер кілька аудіоподкастів:
🎧 The Full Stack Radio - подкаст для full-стек веб-розробників
🎧 The Changelog - подкаст про світ програмування open source, розмови з відомими в програмуванні людьми;
🎧 Start Here - подкаст орієнтований на початківців і фрілансерів, розглядається багато питань стосовно проходження інтерв'ю, правильного розвитку і навчання
Свої улюблені канали і подкасти додавайте в коментарі - цікаво
Сьогодні дізнався цікаву інформацію - випускник мого місячного курсу HTML/CSS/JS Fundamentals, який знайшов роботу відразу на наступний день після закінчення курсу, пропрацював лише місяць розробником, після чого полишив роботу в IT, бо вона йому здавалася нудною, і висиджувати вісім годин в офісі в нього не вистачало сил. 🙈
Це примусило задуматися над такою неочікуваною проблемою, над якою рідко думають люди, коли навчаються, щоб стати розробником.
Можу сказати, що є варіант не лише в аутсорсі працювати, можна в продуктовій компанії, але треба постаратися "заразитися" тим продуктом, щоб цікаво було. Бо як дійсно нудно і нецікаво - то не варте воно того.
Також для тих, хто фізично не витримує цілий день сидячи - є столи, які дозволяють перемикати режими і частину часу працювати стоячи, в самого такий, дуже зручно.
Також свою роботу можна урізноманітнити, наприклад, брати ноутбук кудись в кафешку, бібліотеку, або частину роботи виконувати вдома. Таким чином можна робочий день на одному місці можна скоротити з восьми до чотирьох годин - тоді вже навіть не помічаєш як пролітає час.
Наприклад в мене робота часто займає годин 10-12 на добу, але я виконую її в різних умовах і місцях, облаштував собі комфортне робоче місце вдома, багато часу проводжу на різних локаціях, важливо мати зручний портативний лептоп з гарним акумулятором.
На своєму робочому місці, яке також достатньо комфортне, однак не завжди тихе, я проводжу зовсім небагато часу. На робочому телефоні налаштовано редирект на мобільний - люди, які працюють зі мною часто поняття не мають де я знаходжуся.
Наприклад, зовсім недавно вирішував робоче питання по телефону, під час розмови коллега сказала, що хотіла б зустрітися, передати деякі документи - я відповів, що можна просто залишити в мене на столі, я подивлюся як повернуся, вона навіть не зрозуміла, що я працюю взагалі з іншої країни. 😜
На завершення напишу, що колись зустрічав гарну фразу - все може бути цікавим, якщо йому приділити достатньо уваги 💪
Готуюсь до свого виступу в четвер на цій події - Front-end Developer Club 😎
І відкопав дещо цікаве - перший веб-сайт, який коли-небудь був зроблений. ❗️
Ось його адреса: http://info.cern.ch/hypertext/WWW/TheProject.html
Але в вашому браузері він навряд чи буде виглядати аутентично.
Більшість відвідувачів на початку дев'яностих його бачили так
Ну і найцікавіше - це заглянути в код і зустріти для себе багато нового 🤓
Запрошую на подію - буде цікаво, поговоримо про сучасні тренди в фронтенді і про те, як його то все вивчати 😜
Під час виступу на події Front-end Developer Club я згадував про Trampoline (батут) - дуже цікава техніка в програмуванні, яка дозволяє використовувати рекурсію без ризику переповнення стеку.
Знайшов відео на ютубі від Kyle Simpson (відомого своєю серією книжок You Don't Know JavaScript з поясненням техніки, ось посилання на відео: Trampolines.
Окремо даю лінк на детальне пояснення зі StackOverflow
Із серії - Відповіді на коментарі
Власне вчора у відповідь на питання в ФБ підкину лінк на пояснення ООП в JavaScript.
Відразу виникло питання - навіщо воно в веб-розробці?.
Ось моя відповідь:
ООП як концепція розроблено для спрощення реалізації великих проектів, бо підходи, які існували раніше, просто не справлялися з цим, складність проектів зростала настільки, що в якийсь момент продовжувати розробляти або супортити ставало економічно недоцільно.
Зараз це домінуюча парадигма програмування, тобто вже питання не стоїть у такому плані "використовуємо ООП" чи "не використовуємо ООП" - по дефолту завжди перша відповідь (звісно якщо не брати до уваги проекти, що робляться на функціональних мовах, там інший світ).
А тепер до веб-розробки: зовсім недавно на своєму виступі в Front End Developer Club я показував як еволюціонувала веб-розробка з 1991 року і те, що її складність постійно збільшується. Під "складністю" мається на увазі не просто складність написання коду для розробнику, вона як раз завжди знаходиться приблизно на одному рівні, а складність інструментів і технологій, кількість задіяного всього в проекті. Логіка всі більше переходить на фронтенд, вона або дублює бекенд, або взагалі підміняє його там, де це можна зробити.
Відповідно треба використовувати ООП, а для того, щоб його використовувати - треба розуміти. Насправді розібратися з тим усім зовсім не так складно, як здається на перший погляд :)
Звісно, якщо ми клепаємо черговий лендинг, де з усієї логіки - відправка форми на бекенд, то можна тим не перейматися. Але якщо хочемо зростати професійно, ще код JS для ноди писати, то без того вже ніяк :)
Варто розібратися з тими прототипами, заглядувати в сорс-код бібліотек, там багато цікавого.
Думаю багатьом знайома ситуація, коли по туторіалам все вдається, а по факту - наявності реальних знань і навиків не відчувається. 😨
Цікава стаття про те, як вибратися з полону туторіалів.
Основна ідея - треба вийти з зони комфорту і почати робити проекти без покрокових інструкцій, бо туторіал - це все-таки зона комфорту, де тебе ведуть протоптаним шляхом, тут складно робити помилки, а вчимося ми в першу чергу з помилок (це вже окрема нотатка від мене) 😜
На початку червня в Берліні пройшла конференція JSConf EU 2018. Багато цікавих спікерів, але мене особливо зацікавила доповідь Раяна Даля (Ryan Dahl) - автора Node.JS з вельми гучним заголовком 10 Things I Regret About Node.js.
Раян проливає світло на деякі рішення, прийняті під час створення Node.JS, а також пояснює, чому зараз вони здаються йому невдалими.
В це складно повірити, але багато з того, що ми знаємо про Node.JS його автор зараз вважає не дуже вдалими ідеями, зокрема:
використання системи збірки GYP для node;
використання коллбеків для асинхронного вводу-виводу (була можливість з самого початку використати промізи, але її довелося відкинути);
використання функції require() для підключення модулів без зазначення точного імені модуля і його розширення;
локальне збереження модулів;
використання файлу package.json для резолюції модулів;
поставка npm в комплекті з node та його репозиторію пакетів;
відсутнісь вбудованого механізму security, що обмежує доступ node до файлової системи чи мережі;
одне з найбільш цікавих: використання мови з динамічною типізацією (JavaScript).
Зараз Раян працює над новим проектом Deno, який фактично є альтернативою до Node.JS, використовує TypeScript як мову програмування (до речі, Раян багато позитивного говорить саме про TypeScript).
Персональний висновок від мене: часто буває так, щоб щось зробити успішним, його треба зробити швидко, якщо дуже довго продумувати деталі, то воно може не взлетіти. 🤓