Programming Mentor
3.49K subscribers
165 photos
1 video
13 files
357 links
Ти живеш, поки вчишся
Download Telegram
Функціональне програмування дозволяє створювати код, який простіше підтримувати, і до того ж містить менше дефектів. Водночас для багатьох воно є достатньо складним і незвичним. У цьому скрінкасті я пропоную три прості практики, які дозволять істотно підвищити якість коду на JavaScript.
https://youtu.be/ZiFGrMf79xU
Цікавий аналіз вартості послуг на розробку сайту від засновника проекту 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/
Сьогодні виступаю в Києві на iForum, будемо говорити про майбутнє фронтенд розробки. Учасників події запрошую о 16:10 (потік Інтернет-технологій), ну і нетворкаємося само собою :) #iforum
Вчора на iforum було драйвово. Надсилаю лінк на свої слайди, за якийсь час обіцяють відеозапис, теж поділюся ним. https://1drv.ms/p/s!AiGncsal_x-9mV58e6nc-UhHYmDq
Todd Motto, відомий фронтендщик з ухилом в ангуляр, запустив безкоштовний онлайн-курс по JavaScript, я зареєструвався, проглянув кілька відео - виглядає просто бомбово, мені подобається структура та форма подачі матеріалу - не просто суха теорія, а конкретні прикладі питання - іммутабельність, клонування та злиття об'єктів, дуже раджу
https://ultimatecourses.com/learn/javascript-basics
iForum опублікував запис мого виступу про майбутнє фронтенду, який я робив 23-го травня в Києві (там же, до речі, наш новий Президент розказував про те, що треба йти до дронів і тому подібне), рекомендую подивитися тим, хто не зміг побачити особисто https://www.youtube.com/watch?v=tzAnYbijAkY
Нещодавно DOU.UA викатив черговий аналіз ринку. Із цікавого - зарплати продовжують зростати, це говорить про те що попит на розробників перевищує пропозицію і говорити про насищення ринку ще не на часі.
Для початківців - це черговий мотиваційний стимул для того, щоб серйозно взятися до роботи, для досвідчених - можливо пора говорити про перегляд зарплати. Якщо говорити про популярні технології, то JavaScript як завжди в тренді, але схоже, що абсолютний максимум по зарплатам отримують пайтоністи: https://dou.ua/lenta/articles/salary-report-devs-june-2019
Code Review - це така штука, яку більшість намагаються робити, але мало хто робить правильно.
Іноді хтось сприймає це як умовну формальність, яку можна проігнорити, відповідно від такого процесу результату стільки, скільки й без нього.
Інша протилежність, це коли процес перетворюється на конфлікти та взаємні образи, що призводить до ще гірших наслідків - всі перелаялися один з одним, і краще б такого рев'ю не було :)
То це насправді не лише технічна задача, а процес, що включає багато чинників, як технічних, так і міжособистостних, зокрема нюансів людської психології.
Ось дуже гарне відео українською про те, як робити Code Review правильно: https://youtu.be/z9jQZ6r9dmk
Сьогодні в мене особливий день - я запускаю в світ найкраще з того, що коли-небудь робив - це унікальний курс для вивчення JavaScript в онлайн-форматі повного занурення - рівно 42 дні практики - це такий інтенсивний марафон для того, щоб сформувати навик програмування.
Початок вересня - найкращий час, щоб почати навчання, протягом тижня діє максимальна знижка.
https://sj42.programmingmentor.com
Лендінг для курсу зробив на Weblium, для того є окрема історія варта окремого посту. :)
Прийшов вересень - пора вчитися.
Сьогодні опублікував відео про замикання в JavaScript на прикладі пакування цукерок в коробочки https://www.youtube.com/watch?v=XJdzZgzLc08
Це відео з курсу 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/
Один з найважливіших принципів у програмуванні - це важливість відповідних назв ідентифікаторів: змінних, функцій, класів і тому подібне. Писати код потрібно так, щоб читати його можна було як книжку, використовуючи іменники та дієслова, а не так, як це робить сам комп'ютер, прокручуючи в голові кожен рядок коду.
Особливість JS в тому, що це мова з динамічною типізацією. Це означає, що будь-яка змінна може мати будь-який тип на відміну від мов зі статичною типізацією, наприклад Java чи C#. Там ти якщо задекларував стрінгу, то завжди будеш мати стрінгу, ніколи в ній не може бути масиву - якщо хочеш масив, то вимушений робити нову змінну. Але в JS за цим треба слідкувати розробнику, якщо ти пишеш код, назвав змінну str, а потім в неї записав масив, то зробив дуже погано, бо хтось інший (або ти сам через деякий час) потім буде вважати що там стрінга, бо змінна називається str.
Ось дуже гарна стаття про те, як варто давати імена ідентифікаторам.
https://hackernoon.com/the-art-of-naming-variables-52f44de00aad
Ну і окремо зазначу, що на курсі ScriptJedi42 я особисто рев'юваю кожен рядок коду, який ви будете писати, за 42 дні ви обов'язково навчитеся давати гарні імена ідентифікаторам. Welcome на курс, щойно стартував набір на нову групу, стартуємо з 25-го листопада: https://sj42.programmingmentor.com/
В минулому пості посиланнячко було бите, поправив його