Порадьте якусь класну технічну книгу. Що читали й сподобалося?
👍8✍1🐳1
"One React mistake that's slowing you down"
Натрапив на цікавий пост про проектування API компнентів. Часто бувають ситуації, коли необхідні дані для компонента знаходяться десь вгорі по ієрархії компонентів. Й для того, щоб передати щось вниз, дані мають пройти декілька слоїв. Що з цим роботи?
Давайте здалеку.
Це одна із проблем, яка виникає, коли ви працюєте з React. Насправді, така проблема виникає в принципі в програмуванні. Наприклад, коли нам необхідно передати колбек в функцію, й нам потрібен доступ до стейту(змінних), то нам допомогають замикання. Якщо ж замикання не підтримуються мовою (Java чи інше), то ми тут можна обрати інше рішення:
1. Міняти API колбека, щоб він приймав стейт зовні й передавати його від викликаючої функції. В React це схоже на випадок, коли ми передаєм пропси через дерево компонентів.
2. Зберігати стейт в глобальних змінних. В React це схоже на випадок з контекстом.
3. Інкапсулювати стейт в ООП-ному об'єкті й передавати об'єкт з внутрішнім стейтом й зробити метод call/execute/run/handle/whatever. Й це буде аналог замикання. Навіть є такий патерн - "команда", або функтори (ті, що callable objects) в Python. В React це схоже на передачу children.
4. Інше
Що обрати? Як кажуть - "it depends". Автор статті радить передавати children й, в контексті його прикладу з лейаутом, я з ним згоден. Але завжди зважуйте на свій конкретний випадок.
Загальна ідея, коли ви проектуєте API React компонента така сама, як й проектування будь-якого іншого API. API компонента залежить від його відповідальності. Припустимо, що у нас є TweetsFeed й всередені є дві колонки твітів. Ієрархія може виглядята так:
TweetsFeed => RightContent => TweetDetails
Це не відповідальність RightContent зібрати дані для якогось TweetDetails, який ми вирішили розмістити з правого боку, але й можливо це й не відповідальність TweetDetails збирати дані (оскільки він тільки візуалізує). Тоді можна зробити врапер навколо TweetDetails, який вятигне дані, але можливо взагалі відповідальність всього TweetsFeed тільки в візуалізації й ніхто в TweetsFeed не має тягнути дані зовні самостійно. Всі ці "можливо" це про відповідальність компонента й коли ми проектуємо, ми спочатку думаємо про відповідальність компонента, а потім вже думаємо про API й як передати дані.
СТАТТЯ: https://epicreact.dev/one-react-mistake-thats-slowing-you-down/
Натрапив на цікавий пост про проектування API компнентів. Часто бувають ситуації, коли необхідні дані для компонента знаходяться десь вгорі по ієрархії компонентів. Й для того, щоб передати щось вниз, дані мають пройти декілька слоїв. Що з цим роботи?
Давайте здалеку.
Це одна із проблем, яка виникає, коли ви працюєте з React. Насправді, така проблема виникає в принципі в програмуванні. Наприклад, коли нам необхідно передати колбек в функцію, й нам потрібен доступ до стейту(змінних), то нам допомогають замикання. Якщо ж замикання не підтримуються мовою (Java чи інше), то ми тут можна обрати інше рішення:
1. Міняти API колбека, щоб він приймав стейт зовні й передавати його від викликаючої функції. В React це схоже на випадок, коли ми передаєм пропси через дерево компонентів.
2. Зберігати стейт в глобальних змінних. В React це схоже на випадок з контекстом.
3. Інкапсулювати стейт в ООП-ному об'єкті й передавати об'єкт з внутрішнім стейтом й зробити метод call/execute/run/handle/whatever. Й це буде аналог замикання. Навіть є такий патерн - "команда", або функтори (ті, що callable objects) в Python. В React це схоже на передачу children.
4. Інше
Що обрати? Як кажуть - "it depends". Автор статті радить передавати children й, в контексті його прикладу з лейаутом, я з ним згоден. Але завжди зважуйте на свій конкретний випадок.
Загальна ідея, коли ви проектуєте API React компонента така сама, як й проектування будь-якого іншого API. API компонента залежить від його відповідальності. Припустимо, що у нас є TweetsFeed й всередені є дві колонки твітів. Ієрархія може виглядята так:
TweetsFeed => RightContent => TweetDetails
Це не відповідальність RightContent зібрати дані для якогось TweetDetails, який ми вирішили розмістити з правого боку, але й можливо це й не відповідальність TweetDetails збирати дані (оскільки він тільки візуалізує). Тоді можна зробити врапер навколо TweetDetails, який вятигне дані, але можливо взагалі відповідальність всього TweetsFeed тільки в візуалізації й ніхто в TweetsFeed не має тягнути дані зовні самостійно. Всі ці "можливо" це про відповідальність компонента й коли ми проектуємо, ми спочатку думаємо про відповідальність компонента, а потім вже думаємо про API й як передати дані.
СТАТТЯ: https://epicreact.dev/one-react-mistake-thats-slowing-you-down/
Epic React
One React mistake that's slowing you down
Simplify and speed up your app development using React composition
👍32
Цей день настав 😉
Нарешті я запустив ютуб канал й записав перше відео.
У мене була ідея робити велики відео (по 1-2 години) з зануренням в деталі, але зрозумів, що зараз на це не знайду часу, тому вирішив, що краще почну з чогось коротшого й з тим, що не вимагає монтажу. Вже є контент план на найближчі місяці - буду потрохи записувати й викладати.
ВІДЕО: https://www.youtube.com/watch?v=wYkiKaT8whY
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео.
Як вам перше відео?
Нарешті я запустив ютуб канал й записав перше відео.
У мене була ідея робити велики відео (по 1-2 години) з зануренням в деталі, але зрозумів, що зараз на це не знайду часу, тому вирішив, що краще почну з чогось коротшого й з тим, що не вимагає монтажу. Вже є контент план на найближчі місяці - буду потрохи записувати й викладати.
ВІДЕО: https://www.youtube.com/watch?v=wYkiKaT8whY
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео.
Як вам перше відео?
YouTube
3 речі, які роблять програміста кращим
Які 3 речі дозволять стати тобі кращим програмістом? Спробуємо не говорити штуки типу софт-скіллз, а про щось більше конкретне.
Книги про DDD, які згадував у відео :
1. "Domain-Driven Design: Tackling Complexity in the Heart of Software", Eric Evans
2.…
Книги про DDD, які згадував у відео :
1. "Domain-Driven Design: Tackling Complexity in the Heart of Software", Eric Evans
2.…
👍62🔥28⚡3
Що з гарного програміста може зробити поганого?
В минулий раз були 3 речі, які роблять програміста краще. Зараз 3 речі, які роблять програміста гірше.
ВІДЕО: https://www.youtube.com/watch?v=_j8ACibMJ0s
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео.
PS: На підході відео про Code Review 😉
В минулий раз були 3 речі, які роблять програміста краще. Зараз 3 речі, які роблять програміста гірше.
ВІДЕО: https://www.youtube.com/watch?v=_j8ACibMJ0s
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео.
PS: На підході відео про Code Review 😉
YouTube
3 речі, що псують програміста
Які 3 речі не дадуть тобі стати кращим програмістом?
Відео про TDD, яке згадував у відео :
"Is TDD Dead" - https://www.youtube.com/watch?v=z9quxZsLcfo
Станьте спонсором цього каналу: https://www.youtube.com/channel/UChhNJ3SmzX_d7kMpSEMDfzg/join
Допоможіть…
Відео про TDD, яке згадував у відео :
"Is TDD Dead" - https://www.youtube.com/watch?v=z9quxZsLcfo
Станьте спонсором цього каналу: https://www.youtube.com/channel/UChhNJ3SmzX_d7kMpSEMDfzg/join
Допоможіть…
👍33⚡4🔥3
Кожного місяця ми переказуємо прибуток компанії на рахунок ЗСУ. Щомісячний звіт - https://xn--r1a.website/webbylab/147 (перевалили за 10 млн грн) 🇺🇦💪❤️
Telegram
WebbyLab - вакансії
Кожного місяця від початку повномасштабного вторгнення ми виходили до вас зі звітом про переказ коштів на офіційний рахунок ЗСУ від НБУ. Напередодні Нового Року ми зробили останній в цьому році грошовий переказ нашій армії.
Дякуємо захисникам і захисницям…
Дякуємо захисникам і захисницям…
🔥58❤12⚡3
Жабаскрипт не працює
Сьогодні тестував пошук по "Жабаскрипт" та "JabaScript" на ютубі й виявилося, що ютуб нічого не знаходить.
1. Коли шукаю по "JabaScript", то показує примітку: "Показано результати по JavaScript, якщо хочете шукати саме по JabaScript, то натисніть сюди".
2. Якщо шукати по "Жабаскрипт", то взагалі видає тільки про Javascript, навіть без примітки.
Тобто виходить, що така гра слів на юутуб каналі це пагано, оскільки ютуб вважає це опечаткою при пошуку.
В той самий час, коли шукаю по "Фундаментально про програмування", то канал знаходиться відразу.
Ось думаю тепер, як перейменувати канал. Поки ідея залишити тільки "Фундаментельно про програмування". Що думуєте? Є ще варіанти?
PS: Доречі опублікував нове відео на каналі сьогодня про Code Review
Сьогодні тестував пошук по "Жабаскрипт" та "JabaScript" на ютубі й виявилося, що ютуб нічого не знаходить.
1. Коли шукаю по "JabaScript", то показує примітку: "Показано результати по JavaScript, якщо хочете шукати саме по JabaScript, то натисніть сюди".
2. Якщо шукати по "Жабаскрипт", то взагалі видає тільки про Javascript, навіть без примітки.
Тобто виходить, що така гра слів на юутуб каналі це пагано, оскільки ютуб вважає це опечаткою при пошуку.
В той самий час, коли шукаю по "Фундаментально про програмування", то канал знаходиться відразу.
Ось думаю тепер, як перейменувати канал. Поки ідея залишити тільки "Фундаментельно про програмування". Що думуєте? Є ще варіанти?
PS: Доречі опублікував нове відео на каналі сьогодня про Code Review
👍51🔥2
Як покращити Code Review? Як працює Code Review в Google?
ВІДЕО: https://youtu.be/Xv92EsebyvU
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео 😉
ВІДЕО: https://youtu.be/Xv92EsebyvU
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео 😉
🔥28👍2🎄1
Ну що? Готові до 2023 без русні? 🙂
А так буде - рашка розвалиться, а Україна переможе! Всіх з наступаючим новим роком! Миру, щастя, здоров'я всім вам й близьким! 🇺🇦💪
А так буде - рашка розвалиться, а Україна переможе! Всіх з наступаючим новим роком! Миру, щастя, здоров'я всім вам й близьким! 🇺🇦💪
🔥171❤44👍9🤔1
Жабаскрипт (веде Віктор Турський) pinned «Цей день настав 😉 Нарешті я запустив ютуб канал й записав перше відео. У мене була ідея робити велики відео (по 1-2 години) з зануренням в деталі, але зрозумів, що зараз на це не знайду часу, тому вирішив, що краще почну з чогось коротшого й з тим, що не…»
Книга "The Staff Engineer's Path" by Tanya Reilly, 2022
Хоч я її ще не дочитав, але готовий вже рекомендувати 🙂
Позиція Staff Software Engineer це щось нове й не завжди зрозуміле, окрім того у тебе ймовірно не буде старшого staff-а, який тобі пояснить, що це те таке, оскільки у стафф інженерів зазвичай немає підлеглих.
Staff Software Engineering це можливість зростати технічно й не ставати менеджером. Хоч у вас й не буде прямих підлеглих, ви матимете вплив на команди й від вас очікують лідерства.
Ця книга про Staff+ розвиток й буде корисна не тільки сеніорам, а й починаючим CTO, які в невиликих компаніях часто одноосібно закривають ці функції. Також, можливо, у когось виникало питання де ж software architects в FAANG, то ця функція також закривається стафф інженерами.
Цікаво, що Principal Engineer й Director в FAANG це часто один й той самий рівень й можливий перехід з однієї вертикалі в іншу. Тобто це два варіанти розвитку, які йдуть поруч.
Якщо цікавилися, що робить Staff Software Engineer, то книга дає структуровану відповідь на це питання
Хоч я її ще не дочитав, але готовий вже рекомендувати 🙂
Позиція Staff Software Engineer це щось нове й не завжди зрозуміле, окрім того у тебе ймовірно не буде старшого staff-а, який тобі пояснить, що це те таке, оскільки у стафф інженерів зазвичай немає підлеглих.
Staff Software Engineering це можливість зростати технічно й не ставати менеджером. Хоч у вас й не буде прямих підлеглих, ви матимете вплив на команди й від вас очікують лідерства.
Ця книга про Staff+ розвиток й буде корисна не тільки сеніорам, а й починаючим CTO, які в невиликих компаніях часто одноосібно закривають ці функції. Також, можливо, у когось виникало питання де ж software architects в FAANG, то ця функція також закривається стафф інженерами.
Цікаво, що Principal Engineer й Director в FAANG це часто один й той самий рівень й можливий перехід з однієї вертикалі в іншу. Тобто це два варіанти розвитку, які йдуть поруч.
Якщо цікавилися, що робить Staff Software Engineer, то книга дає структуровану відповідь на це питання
👍38🔥5
Накидайте україномовних ютуб каналів по програмуванню
👍29⚡4
Навіщо глибоко розбиратися в речах й як менше забувати те, що вивчили?
Я вже розповідав про глибину знань й десь в коментарях писав про те, чому знання можуть накопичуватися, а можуть й не накопичуватися.
Вирішив, що варто цю думку розкрити в окремому відео
ВІДЕО ВЖЕ НА ЮТУБІ - https://youtu.be/vunaSc37B5o
Я вже розповідав про глибину знань й десь в коментарях писав про те, чому знання можуть накопичуватися, а можуть й не накопичуватися.
Вирішив, що варто цю думку розкрити в окремому відео
ВІДЕО ВЖЕ НА ЮТУБІ - https://youtu.be/vunaSc37B5o
YouTube
Навіщо глибоко розбиратися в речах й як менше забувати те, що вивчили?
Часто у програмістів стає питання про те, навіщо глибоко розбиратися в технологіях, якщо можно просто ними користуватися. В цьому відео я спробував розкриту цю тему й розповісти, як я сам підхожу до вивчення нового.
Мультик "Mongo DB is Web Scale" - ht…
Мультик "Mongo DB is Web Scale" - ht…
👍44❤4🔥1
Нове відео про мікросервіси 😉
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео
https://youtu.be/MCFMQR6Yvd0
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео
https://youtu.be/MCFMQR6Yvd0
YouTube
Головна проблема мікросервісів, яку часто недооцінюють
Мікросервіси чи моноліт? Я бачив не одну команду, яка намагалася побудувати мікросервісну архітектуру, але провалила це. В відео я ділюся головною проблемою мікросервісів, яку часто недооцінюють
Посилання до відео:
* Доповідь Роберта Мартіна про архітектуру…
Посилання до відео:
* Доповідь Роберта Мартіна про архітектуру…
👍42⚡2
Жабаскрипт (веде Віктор Турський)
Нове відео про мікросервіси 😉 Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео https://youtu.be/MCFMQR6Yvd0
В доповнення - https://twitter.com/kelseyhightower/status/1621186415353806849 🙂
Twitter
I recommend keeping your business logic as modular as possible, you can break it up across multiple repos and packages if you really want, but packaging those components as a monolith offers a serious reduction in complexity and a simplified deployment and…
👍14
Чому алгоритми важливі?
Записав нове відео, у якому спробував пояснити:
✅ Що таке алгоритмічна складність на реальних прикладах.
✅ Чому алгоритмічна складність й швидкість виконнання це різні речі.
✅ Як працюють індекси в базах даних.
Це моє перше відео в форматі скрінкасту. Як вам такий формат, коли розбираємо тему на прикладі реального коду?
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео
https://youtu.be/9Gtwj0Eo8IY
Записав нове відео, у якому спробував пояснити:
✅ Що таке алгоритмічна складність на реальних прикладах.
✅ Чому алгоритмічна складність й швидкість виконнання це різні речі.
✅ Як працюють індекси в базах даних.
Це моє перше відео в форматі скрінкасту. Як вам такий формат, коли розбираємо тему на прикладі реального коду?
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео
https://youtu.be/9Gtwj0Eo8IY
YouTube
Чому алгоритми важливі? Розберемо на прикладі
Як зробити код швидшим?
Чому індекси прискорюють базу даних?
Що таке алгоритмічна складність?
Про це все з прикладами коду.
Приклади коду з відео - https://github.com/koorchik/jabascript-materials/tree/main/why-algorithms-important
Станьте спонсором цього…
Чому індекси прискорюють базу даних?
Що таке алгоритмічна складність?
Про це все з прикладами коду.
Приклади коду з відео - https://github.com/koorchik/jabascript-materials/tree/main/why-algorithms-important
Станьте спонсором цього…
👍47🔥6⚡2
Навіщо потрібні індекси в базі даних? Розберемо на прикладі
Запланував серію відео про бази даних. Почнемо з простого🙂:
✅Чому ваші база працює повільно?
✅10 млн рядків в базі, чи це багато?
✅Навіщо потрібні індекси в базах даних?
✅Як працюють індекси в базах даних?
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео
https://youtu.be/YF8xDeYlG9w
Запланував серію відео про бази даних. Почнемо з простого🙂:
✅Чому ваші база працює повільно?
✅10 млн рядків в базі, чи це багато?
✅Навіщо потрібні індекси в базах даних?
✅Як працюють індекси в базах даних?
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео
https://youtu.be/YF8xDeYlG9w
👍43🔥11
Чи варто зараз додати Patreon для підримки Ютуб каналу?
Anonymous Poll
9%
Так. Буду відразу патроном
49%
Так. Можливо потім стану патроном
42%
Ні. Можливо пізніше, коли канал стане більшим
Ціль 3 тис підписників 😎
Дякую всім, хто проголосував. Більше половини за додавання патріону, а що дуже приємно, що є люди, які вже готові стати патронами 🙏. Але майже половина за те, що варто почекати поки канал стане більшим. Тому вирішив, що додам патріон, коли буде більше 3тис підписників (зараз майже 1тис).
Як допомогти каналу без патріону:
✅ Ділиться посиланням на канал з друзями
✅ Залишайте лайкі й коментарі під відео
✅ Діліться ідеями відносно покращення каналу
Всім дякую за підтримку!
Дякую всім, хто проголосував. Більше половини за додавання патріону, а що дуже приємно, що є люди, які вже готові стати патронами 🙏. Але майже половина за те, що варто почекати поки канал стане більшим. Тому вирішив, що додам патріон, коли буде більше 3тис підписників (зараз майже 1тис).
Як допомогти каналу без патріону:
✅ Ділиться посиланням на канал з друзями
✅ Залишайте лайкі й коментарі під відео
✅ Діліться ідеями відносно покращення каналу
Всім дякую за підтримку!
❤33👍11🔥4