Жабаскрипт (веде Віктор Турський)
4.57K subscribers
21 photos
2 videos
270 links
Авторський контент для JavaScript розробників, але не завжди про JS:). Пишу про архітектуру, best practices, продуктивність, безпеку, інструментарій.

Viktor Turskyi (@koorchik), Cofounder at Webbylab, SWE at Google

Рекламу не розміщую!
Download Telegram
Зараз всі почали гратися з OpenAI GPT3 й як не зміг це пропустити. Мій перший запит до чатбота.
Закінчення топ - "The software engineers became known as the "power engineers," and they were hailed as heroes for their ability to keep the city running, even in the darkest of times." 😁😁😁
😁41👍10
Open AI GPT3 чат-бот вміє й українською 😜
🔥27😁112
Чат бот пише компоненти на React й відповідає на питання з співбесід краще ніж я. Вже треба міняти спеціальність на іншу чи й там штучний інтелект нас витіснить? :)
19🤯13👍3😱3
Порадьте якусь класну технічну книгу. Що читали й сподобалося?
👍81🐳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/
👍32
Цей день настав 😉
Нарешті я запустив ютуб канал й записав перше відео.
У мене була ідея робити велики відео (по 1-2 години) з зануренням в деталі, але зрозумів, що зараз на це не знайду часу, тому вирішив, що краще почну з чогось коротшого й з тим, що не вимагає монтажу. Вже є контент план на найближчі місяці - буду потрохи записувати й викладати.

ВІДЕО: https://www.youtube.com/watch?v=wYkiKaT8whY
Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео.

Як вам перше відео?
👍62🔥283
Що з гарного програміста може зробити поганого?

В минулий раз були 3 речі, які роблять програміста краще. Зараз 3 речі, які роблять програміста гірше.

ВІДЕО:
https://www.youtube.com/watch?v=_j8ACibMJ0s

Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео.

PS: На підході відео про Code Review 😉
👍334🔥3
Жабаскрипт не працює
Сьогодні тестував пошук по "Жабаскрипт" та "JabaScript" на ютубі й виявилося, що ютуб нічого не знаходить.
1. Коли шукаю по "JabaScript", то показує примітку: "Показано результати по JavaScript, якщо хочете шукати саме по JabaScript, то натисніть сюди".
2. Якщо шукати по "Жабаскрипт", то взагалі видає тільки про Javascript, навіть без примітки.

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

В той самий час, коли шукаю по "Фундаментально про програмування", то канал знаходиться відразу.

Ось думаю тепер, як перейменувати канал. Поки ідея залишити тільки "Фундаментельно про програмування". Що думуєте? Є ще варіанти?

PS: Доречі опублікував нове відео на каналі сьогодня про Code Review
👍51🔥2
Як покращити Code Review? Як працює Code Review в Google?

ВІДЕО: https://youtu.be/Xv92EsebyvU

Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео 😉
🔥28👍2🎄1
Ну що? Готові до 2023 без русні? 🙂
А так буде - рашка розвалиться, а Україна переможе! Всіх з наступаючим новим роком! Миру, щастя, здоров'я всім вам й близьким! 🇺🇦💪
🔥17144👍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, то книга дає структуровану відповідь на це питання
👍38🔥5
Накидайте україномовних ютуб каналів по програмуванню
👍294
Навіщо глибоко розбиратися в речах й як менше забувати те, що вивчили?
Я вже розповідав про глибину знань й десь в коментарях писав про те, чому знання можуть накопичуватися, а можуть й не накопичуватися.
Вирішив, що варто цю думку розкрити в окремому відео

ВІДЕО ВЖЕ НА ЮТУБІ
- https://youtu.be/vunaSc37B5o
👍444🔥1
Чому алгоритми важливі?
Записав нове відео, у якому спробував пояснити:
Що таке алгоритмічна складність на реальних прикладах.
Чому алгоритмічна складність й швидкість виконнання це різні речі.
Як працюють індекси в базах даних.

Це моє перше відео в форматі скрінкасту. Як вам такий формат, коли розбираємо тему на прикладі реального коду?

Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео
https://youtu.be/9Gtwj0Eo8IY
👍47🔥62
Навіщо потрібні індекси в базі даних? Розберемо на прикладі
Запланував серію відео про бази даних. Почнемо з простого🙂:
Чому ваші база працює повільно?
10 млн рядків в базі, чи це багато?
Навіщо потрібні індекси в базах даних?
Як працюють індекси в базах даних?

Підписуйтесь! По темі відео залишайте коментарі на ютубі під відео
https://youtu.be/YF8xDeYlG9w
👍43🔥11
Ціль 3 тис підписників 😎
Дякую всім, хто проголосував. Більше половини за додавання патріону, а що дуже приємно, що є люди, які вже готові стати патронами 🙏. Але майже половина за те, що варто почекати поки канал стане більшим. Тому вирішив, що додам патріон, коли буде більше 3тис підписників (зараз майже 1тис).
Як допомогти каналу без патріону:
Ділиться посиланням на канал з друзями
Залишайте лайкі й коментарі під відео
Діліться ідеями відносно покращення каналу
Всім дякую за підтримку!
33👍11🔥4