Функціональне програмування дозволяє створювати код, який простіше підтримувати, і до того ж містить менше дефектів. Водночас для багатьох воно є достатньо складним і незвичним. У цьому скрінкасті я пропоную три прості практики, які дозволять істотно підвищити якість коду на JavaScript.
https://youtu.be/ZiFGrMf79xU
https://youtu.be/ZiFGrMf79xU
YouTube
Три прості техніки з функціонального програмування для використання в JavaScript
Функціональне програмування дозволяє створювати код, який простіше підтримувати, і до того ж містить менше дефектів. Водночас для багатьох воно є достатньо складним і незвичним. У цьому скрінкасті я пропоную три прості практики, які дозволять істотно підвищити…
Цікавий аналіз вартості послуг на розробку сайту від засновника проекту Weblium - Девіда Брауна. Weblum - це такий собі візуальний конструктор сайтів, який дозволяє створювати лендінги, візитки і подібні сайти без програмування. Він з командою спробував замовити простенький сайт і отримав вартість від $175 до $120000 - непогана така собі виделка цін 😊Це підстава замислитися про те, чи вміємо ми продавати свої послуги. Бо якщо такі ціни на ринку є, то це означає, що є і попит. Додам також невеличкий дісклеймер - Девід людина зацікавлена у промоції свого сервісу, тому в його аналізі є деякі неточності, наприклад, ціни за хостинг сайту завищені, насправді на GoDaddy в зоні .com буде не $25, а порядка $15, також SSL сертифікат не треба купувати за $69.99, бо letsencrypt.org їх безкоштовно видає, ну і власний хостинг стартує десь з $30 дол./рік на vultr.com, тому мінімальна вартість хостингу сайту на рік буде порядка $45 дол., як задатися метою, то можна ще здешевити, наприклад використати firebase hosting - він буде безкоштовний до певного ліміту, залишиться лише вартість домену, а якщо є бажання зекономити, то й без нього можна обійтися, у результаті хостинг в режимі "економ" буде взагалі нічого не коштувати, і це без втрати по якості, сервісу, з тим у firebase все дуже добре 😊
https://ain.ua/2019/05/16/ckolko-realno-stoit-sajt-issledovanie-weblium/
https://ain.ua/2019/05/16/ckolko-realno-stoit-sajt-issledovanie-weblium/
AIN.UA
Cколько может стоить разработка сайта у студий и фрилансеров (исследование Weblium)
Как думаете, $120 000 — это справедливая цена для сайта? Я заметил, что в индустрии сайтостроения нет стандарта, как McDonald’s среди бургеров. У бизнесменов, не связанных с технологиями, низкая степень осознанности: они не знают о трендах в веб-дизайне,…
Сьогодні виступаю в Києві на iForum, будемо говорити про майбутнє фронтенд розробки. Учасників події запрошую о 16:10 (потік Інтернет-технологій), ну і нетворкаємося само собою :) #iforum
Вчора на iforum було драйвово. Надсилаю лінк на свої слайди, за якийсь час обіцяють відеозапис, теж поділюся ним. https://1drv.ms/p/s!AiGncsal_x-9mV58e6nc-UhHYmDq
Live
iforum-2019-future-of-front-end.pptx
Microsoft PowerPoint Presentation
Todd Motto, відомий фронтендщик з ухилом в ангуляр, запустив безкоштовний онлайн-курс по JavaScript, я зареєструвався, проглянув кілька відео - виглядає просто бомбово, мені подобається структура та форма подачі матеріалу - не просто суха теорія, а конкретні прикладі питання - іммутабельність, клонування та злиття об'єктів, дуже раджу
https://ultimatecourses.com/learn/javascript-basics
https://ultimatecourses.com/learn/javascript-basics
Ultimatecourses
Learn JavaScript language basics the right way | JavaScript Basics | Ultimate Courses™
The missing JavaScript course. Learn JavaScript from the absolute beginning and master the core essentials of what a JavaScript developer needs to know. This is your complete guide.
iForum опублікував запис мого виступу про майбутнє фронтенду, який я робив 23-го травня в Києві (там же, до речі, наш новий Президент розказував про те, що треба йти до дронів і тому подібне), рекомендую подивитися тим, хто не зміг побачити особисто https://www.youtube.com/watch?v=tzAnYbijAkY
YouTube
В'ячеслав Колдовський, SoftServe, iForum-2019
Доповідь: Майбутнє Front End Web розробки
Напрям: Інтернет-технології
Напрям: Інтернет-технології
Нещодавно DOU.UA викатив черговий аналіз ринку. Із цікавого - зарплати продовжують зростати, це говорить про те що попит на розробників перевищує пропозицію і говорити про насищення ринку ще не на часі.
Для початківців - це черговий мотиваційний стимул для того, щоб серйозно взятися до роботи, для досвідчених - можливо пора говорити про перегляд зарплати. Якщо говорити про популярні технології, то JavaScript як завжди в тренді, але схоже, що абсолютний максимум по зарплатам отримують пайтоністи: https://dou.ua/lenta/articles/salary-report-devs-june-2019
Для початківців - це черговий мотиваційний стимул для того, щоб серйозно взятися до роботи, для досвідчених - можливо пора говорити про перегляд зарплати. Якщо говорити про популярні технології, то JavaScript як завжди в тренді, але схоже, що абсолютний максимум по зарплатам отримують пайтоністи: https://dou.ua/lenta/articles/salary-report-devs-june-2019
DOU
Зарплати українських розробників — червень 2019
У цій статті розглядаємо зарплати розробників. З 3 червня по 3 липня ми проводили чергове зарплатне опитування, у якому взяли участь 11 439 респондентів, із них 5 940 девелоперів.
Code Review - це така штука, яку більшість намагаються робити, але мало хто робить правильно.
Іноді хтось сприймає це як умовну формальність, яку можна проігнорити, відповідно від такого процесу результату стільки, скільки й без нього.
Інша протилежність, це коли процес перетворюється на конфлікти та взаємні образи, що призводить до ще гірших наслідків - всі перелаялися один з одним, і краще б такого рев'ю не було :)
То це насправді не лише технічна задача, а процес, що включає багато чинників, як технічних, так і міжособистостних, зокрема нюансів людської психології.
Ось дуже гарне відео українською про те, як робити Code Review правильно: https://youtu.be/z9jQZ6r9dmk
Іноді хтось сприймає це як умовну формальність, яку можна проігнорити, відповідно від такого процесу результату стільки, скільки й без нього.
Інша протилежність, це коли процес перетворюється на конфлікти та взаємні образи, що призводить до ще гірших наслідків - всі перелаялися один з одним, і краще б такого рев'ю не було :)
То це насправді не лише технічна задача, а процес, що включає багато чинників, як технічних, так і міжособистостних, зокрема нюансів людської психології.
Ось дуже гарне відео українською про те, як робити Code Review правильно: https://youtu.be/z9jQZ6r9dmk
YouTube
Code Review in Commercial Projects by Kostiantyn Bilyk (Ukr)
Useful list of tips and trick on how to make your Code Review Process: effective, simple and pleasant
Сьогодні в мене особливий день - я запускаю в світ найкраще з того, що коли-небудь робив - це унікальний курс для вивчення JavaScript в онлайн-форматі повного занурення - рівно 42 дні практики - це такий інтенсивний марафон для того, щоб сформувати навик програмування.
Початок вересня - найкращий час, щоб почати навчання, протягом тижня діє максимальна знижка.
https://sj42.programmingmentor.com
Лендінг для курсу зробив на Weblium, для того є окрема історія варта окремого посту. :)
Початок вересня - найкращий час, щоб почати навчання, протягом тижня діє максимальна знижка.
https://sj42.programmingmentor.com
Лендінг для курсу зробив на Weblium, для того є окрема історія варта окремого посту. :)
Прийшов вересень - пора вчитися.
Сьогодні опублікував відео про замикання в JavaScript на прикладі пакування цукерок в коробочки https://www.youtube.com/watch?v=XJdzZgzLc08
Це відео з курсу ScriptJedi42 (https://sj42.programmingmentor.com), курс починається завтра - сьогодні останній день реєстрації, залишається кілька вільних місць.
Сьогодні опублікував відео про замикання в JavaScript на прикладі пакування цукерок в коробочки https://www.youtube.com/watch?v=XJdzZgzLc08
Це відео з курсу ScriptJedi42 (https://sj42.programmingmentor.com), курс починається завтра - сьогодні останній день реєстрації, залишається кілька вільних місць.
YouTube
Замикання (closures) в JavaScript на прикладі солодощів
Замикання (closures) в JavaScript - це одна з найбільш непростих тем для новачків.
Розбираємо її на прикладі пакування солодощів в коробочки.
Це відео з курсу ScriptJedi42 - https://sj42.programmingmentor.com
Розбираємо її на прикладі пакування солодощів в коробочки.
Це відео з курсу ScriptJedi42 - https://sj42.programmingmentor.com
👻 Далеко не всі розробники усвідомлюють, що програмний код - це не більше ніж думка програміста, яка зафіксована мовою, що одночасно зрозуміла йому та комп'ютеру.
👻 Оскільки люди різні, і думки в них різні теж, то і код вони пишуть по-різному, іноді настільки сильно по-різному, що одномому стає не зрозумілим, що мав на увазі інший.
👻 Саме тому дуже важливою практикою є Code Review - коли написаний код переглядається командою, його або погоджують і приймають до проекту, або відхиляють та відправляють на доопрацювання.
👻 Але робити Code Review правильно так же нетривіально, як і "просто писати якісний код" - погано організований Code Review може нанести більше шкоди, ніж поганий код.
👻 Саме тому варті уваги процеси Code Review, які використовують успішні компанії.
👻 Ловіть свіжі стандарти Code Review від Google (CL - це change list): https://google.github.io/eng-practices/review/reviewer/
👻 І окремо гайд для розробників як краще писати код, щоб він проходив Code Review, а також як реагувати на коменти рев'ювера: https://google.github.io/eng-practices/review/developer/
👻 Оскільки люди різні, і думки в них різні теж, то і код вони пишуть по-різному, іноді настільки сильно по-різному, що одномому стає не зрозумілим, що мав на увазі інший.
👻 Саме тому дуже важливою практикою є Code Review - коли написаний код переглядається командою, його або погоджують і приймають до проекту, або відхиляють та відправляють на доопрацювання.
👻 Але робити Code Review правильно так же нетривіально, як і "просто писати якісний код" - погано організований Code Review може нанести більше шкоди, ніж поганий код.
👻 Саме тому варті уваги процеси Code Review, які використовують успішні компанії.
👻 Ловіть свіжі стандарти Code Review від Google (CL - це change list): https://google.github.io/eng-practices/review/reviewer/
👻 І окремо гайд для розробників як краще писати код, щоб він проходив Code Review, а також як реагувати на коменти рев'ювера: https://google.github.io/eng-practices/review/developer/
eng-practices
How to do a code review
Google’s Engineering Practices documentation
Мене дуже часто запитують, скільки часу треба приділяти навчанню, щоб отримати професію розробника? ОК, давайте поговоримо про це :)
https://youtu.be/YJvjJEvXK3o
https://youtu.be/YJvjJEvXK3o
YouTube
Скільки часу треба виділяти на навчання, щоб отримати професію розробника?
Мене дуже часто запитують, скільки часу треба приділяти навчанню, щоб отримати професію розробника? ОК, давайте поговоримо про це :)
Один з найважливіших принципів у програмуванні - це важливість відповідних назв ідентифікаторів: змінних, функцій, класів і тому подібне. Писати код потрібно так, щоб читати його можна було як книжку, використовуючи іменники та дієслова, а не так, як це робить сам комп'ютер, прокручуючи в голові кожен рядок коду.
Особливість JS в тому, що це мова з динамічною типізацією. Це означає, що будь-яка змінна може мати будь-який тип на відміну від мов зі статичною типізацією, наприклад Java чи C#. Там ти якщо задекларував стрінгу, то завжди будеш мати стрінгу, ніколи в ній не може бути масиву - якщо хочеш масив, то вимушений робити нову змінну. Але в JS за цим треба слідкувати розробнику, якщо ти пишеш код, назвав змінну str, а потім в неї записав масив, то зробив дуже погано, бо хтось інший (або ти сам через деякий час) потім буде вважати що там стрінга, бо змінна називається str.
Ось дуже гарна стаття про те, як варто давати імена ідентифікаторам.
https://hackernoon.com/the-art-of-naming-variables-52f44de00aad
Ну і окремо зазначу, що на курсі ScriptJedi42 я особисто рев'юваю кожен рядок коду, який ви будете писати, за 42 дні ви обов'язково навчитеся давати гарні імена ідентифікаторам. Welcome на курс, щойно стартував набір на нову групу, стартуємо з 25-го листопада: https://sj42.programmingmentor.com/
Особливість JS в тому, що це мова з динамічною типізацією. Це означає, що будь-яка змінна може мати будь-який тип на відміну від мов зі статичною типізацією, наприклад Java чи C#. Там ти якщо задекларував стрінгу, то завжди будеш мати стрінгу, ніколи в ній не може бути масиву - якщо хочеш масив, то вимушений робити нову змінну. Але в JS за цим треба слідкувати розробнику, якщо ти пишеш код, назвав змінну str, а потім в неї записав масив, то зробив дуже погано, бо хтось інший (або ти сам через деякий час) потім буде вважати що там стрінга, бо змінна називається str.
Ось дуже гарна стаття про те, як варто давати імена ідентифікаторам.
https://hackernoon.com/the-art-of-naming-variables-52f44de00aad
Ну і окремо зазначу, що на курсі ScriptJedi42 я особисто рев'юваю кожен рядок коду, який ви будете писати, за 42 дні ви обов'язково навчитеся давати гарні імена ідентифікаторам. Welcome на курс, щойно стартував набір на нову групу, стартуємо з 25-го листопада: https://sj42.programmingmentor.com/
Hackernoon
The art of naming variables
Naming things can indeed be difficult, but the pay off for naming things properly is well worth the effort. Have you ever seen code that looks like this?
Сьогодні вранці повернувся з конференції UP2IT, яка проходила в м. Суми. В суботу розповідав про стан веб-розробки в 2019, а в неділю проводив workshop по Google Cloud. Прямо в дорозі поряд з залізничним вокзалом Львова записав відео з власною думкою з деяких питань, стосовно яких вдалося подискутувати на конференції:
- чи робить тебе програмістом знання мови програмування?
- чим 20-річний сіньйор відрізняється від 30-річного?
- чи автоматично ти сіньйорієш з віком?
- чи варто відвідувати мітапчики та конференції?
- чи не зазорно писати код, коли тобі за 30 чи навіть за 40?
https://youtu.be/QPy-hfyNklk
- чи робить тебе програмістом знання мови програмування?
- чим 20-річний сіньйор відрізняється від 30-річного?
- чи автоматично ти сіньйорієш з віком?
- чи варто відвідувати мітапчики та конференції?
- чи не зазорно писати код, коли тобі за 30 чи навіть за 40?
https://youtu.be/QPy-hfyNklk
YouTube
Чи робить тебе програмістом знання мови програмування?
Сьогодні вранці повернувся з конференції UP2IT, яка проходила в м. Суми. В суботу розповідав про стан веб-розробки в 2019, а в неділю проводив workshop по Google Cloud. Прямо в дорозі поряд з залізничним вокзалом Львова записав відео з власною думкою з деяких…
Піший кур'єр.
Замовив на днях в Розетці подарунок для доньки, доставили досить оперативно, але мене вразило - як саме.
Його приніс "піший кур'єр" (як він сам себе назвав по телефону) - такий собі дядечко з рюкзаком за спиною.
Рюкзак, до речі, досить габаритний - літрів на 60 - це вам зовсім не ті маленькі міські рюкзачки під ноутбуки, і йде він трохи пригинаючись, мабуть ноша нелегка. Ця картина мене прямо шокувала - це ж якийсь сюр - замовляєш через інтернет зі смартфону, а приносить товар людина, пішки, і це в XXI сторіччі!
Я навіть сфотографувати того дядечка хотів, але незручно було, та й мабуть неправильно це - у нього з собою мабуть електроніки всякої немало, небезпечно бути упізнаваним.
Але сам факт, що таке існує, мені спокою не дає - це фактично ілюстрація того, що чекає людство в найближчі роки - комп'ютерна система дає команду людині щось віднести, і вона це робить на своїх двох як Homo Erectus майже два мільйони (!!!) років тому.
Власне люди починають ділитися на дві групи - ті, хто ті програми створює та дає команди комп'ютерам, та ті - хто їх виконує.
А відділяє перших від других - вміють вони програмувати, чи ні. Мабуть якщо хтось роздумує над навчанням, то зараз саме пора :)
Замовив на днях в Розетці подарунок для доньки, доставили досить оперативно, але мене вразило - як саме.
Його приніс "піший кур'єр" (як він сам себе назвав по телефону) - такий собі дядечко з рюкзаком за спиною.
Рюкзак, до речі, досить габаритний - літрів на 60 - це вам зовсім не ті маленькі міські рюкзачки під ноутбуки, і йде він трохи пригинаючись, мабуть ноша нелегка. Ця картина мене прямо шокувала - це ж якийсь сюр - замовляєш через інтернет зі смартфону, а приносить товар людина, пішки, і це в XXI сторіччі!
Я навіть сфотографувати того дядечка хотів, але незручно було, та й мабуть неправильно це - у нього з собою мабуть електроніки всякої немало, небезпечно бути упізнаваним.
Але сам факт, що таке існує, мені спокою не дає - це фактично ілюстрація того, що чекає людство в найближчі роки - комп'ютерна система дає команду людині щось віднести, і вона це робить на своїх двох як Homo Erectus майже два мільйони (!!!) років тому.
Власне люди починають ділитися на дві групи - ті, хто ті програми створює та дає команди комп'ютерам, та ті - хто їх виконує.
А відділяє перших від других - вміють вони програмувати, чи ні. Мабуть якщо хтось роздумує над навчанням, то зараз саме пора :)
На дворі кінець 2019 року, свій ноутбук Dell XPS 15 я купував на початку 2016-го, виготовлений він взагалі в листопаді 2015, потихеньку приглядаюся до нових моделей. Звісно є XPS 15 2019-го року, але корисно подивитися по сторонам, можливо ще щось з'явилося цікаве. В полі мого зору - баланс потужності і компактності, щоб машинка була максимально продуктивною для роботи, і в той же час не була занадто громіздкою для транспортування кожен день.
💻
Зачепилося око за новий MacBook Pro 16 2019-го року. Цікавий апарат - при екрані 16 дюймів навіть трішки легший за мій XPS, потужний, нарешті нормальна клавіатура (пробував якось сучасні макбуки - щось у них з клавою не те) - всім гарний, навіть Windows можна встановити за бажанням.
💻
Але стало мені цікаво стосовно апгрейду комплектуючих - все-таки машина для професіоналів, мала б це передбачати. Але виявляється - ніт, нічого подібного. Жоден з компонентів не є "user accessible", мало того - оперативна пам'ять та SSD взагалі розпаяні і не підлягають заміні: "if you think you need more memory in the future - consider upgrading at the time of purchase". Оце тобі новина - після того як купив, вже жодних апргейдів, а як треба, то бери новий девайс. Щось не дуже еко-френдлі, не говорячи вже про бюджет.
💻
Коли брав свій XPS, то брав його у топовій комплектації - пам'яті було 16Гб, більше просто не існувало, але пізніше вийшла нова модель - там 32. Коли зрозумів, що мені малувато, то поставив собі 32 легко, навіть 64 для експерименту ставив - працює, просто мені стільки не треба зараз. Далі в мене зносився акумулятор - вони всі деградають з часом, то я не просто поміняв його сам, а проапгрейдив на більш потужний, замість оригінального на 84 Вт*год у новіших моделях з'явився на 97 Вт*год - майже як у нового макбука 2019, і це була не просто заміна, а справжній апгрейд - в результаті плюс до години часу автономності, приємний бонус. Ще можна легко поміняти SSD, але мені поки вистачає терабайту. Ну і дехто міняє WiFi адаптер, він теж легко апгрейдиться, якщо треба.
💻
Ось так я кілька років "осучаснював" свою Windows-машинку, навіть не віриться, що їй зараз вже чотири роки з дати випуску. А от макбуки так не вміють, і вочевидь не тому, що це неможливо технічно - просто підхід до бізнесу такий. Щось бачу в черговий раз не судилося стати маководом :)
💻
Зачепилося око за новий MacBook Pro 16 2019-го року. Цікавий апарат - при екрані 16 дюймів навіть трішки легший за мій XPS, потужний, нарешті нормальна клавіатура (пробував якось сучасні макбуки - щось у них з клавою не те) - всім гарний, навіть Windows можна встановити за бажанням.
💻
Але стало мені цікаво стосовно апгрейду комплектуючих - все-таки машина для професіоналів, мала б це передбачати. Але виявляється - ніт, нічого подібного. Жоден з компонентів не є "user accessible", мало того - оперативна пам'ять та SSD взагалі розпаяні і не підлягають заміні: "if you think you need more memory in the future - consider upgrading at the time of purchase". Оце тобі новина - після того як купив, вже жодних апргейдів, а як треба, то бери новий девайс. Щось не дуже еко-френдлі, не говорячи вже про бюджет.
💻
Коли брав свій XPS, то брав його у топовій комплектації - пам'яті було 16Гб, більше просто не існувало, але пізніше вийшла нова модель - там 32. Коли зрозумів, що мені малувато, то поставив собі 32 легко, навіть 64 для експерименту ставив - працює, просто мені стільки не треба зараз. Далі в мене зносився акумулятор - вони всі деградають з часом, то я не просто поміняв його сам, а проапгрейдив на більш потужний, замість оригінального на 84 Вт*год у новіших моделях з'явився на 97 Вт*год - майже як у нового макбука 2019, і це була не просто заміна, а справжній апгрейд - в результаті плюс до години часу автономності, приємний бонус. Ще можна легко поміняти SSD, але мені поки вистачає терабайту. Ну і дехто міняє WiFi адаптер, він теж легко апгрейдиться, якщо треба.
💻
Ось так я кілька років "осучаснював" свою Windows-машинку, навіть не віриться, що їй зараз вже чотири роки з дати випуску. А от макбуки так не вміють, і вочевидь не тому, що це неможливо технічно - просто підхід до бізнесу такий. Щось бачу в черговий раз не судилося стати маководом :)