Мой коллега Vitalii Ruban, с которым мы вместе были в программном комитете JSFest, делает Free React Course For Beginners. Подробности в канале @reactbeginners.
👍26❤1👎1
Завтра в 15:00 буду у Сергея Немчинского на стриме. Поговорим об Cloud Native.
Посмотреть онлайн или в записи можно тут https://www.youtube.com/watch?v=RyAz1bLAvNk
Посмотреть онлайн или в записи можно тут https://www.youtube.com/watch?v=RyAz1bLAvNk
YouTube
Байки про разработку в облаках (Cloud native) c Никитой Галкиным
Вы можете стать спонсором этого канала и получать плюшки от меня - https://www.youtube.com/channel/UCVbz7l0COUdLupcY4YtYH0w/join
Никита Галкин, Cloud Architect.
15 лет опыта в разработке. С 2018 работает со стартапами в Кремниевой Долине. Регулярный докладчик…
Никита Галкин, Cloud Architect.
15 лет опыта в разработке. С 2018 работает со стартапами в Кремниевой Долине. Регулярный докладчик…
👍29🔥3🥰2👎1🤩1
NIX MultiConf вже у ці вихідні!
Долучайся до наймасштабнішої в Україні IT-конференції!
Стійкість України надихає весь світ. Натхненне цією силою і наше IT-ком’юніті.
Уже цього тижня, 21-22 травня, топові зарубіжні та українські IT-експерти, підприємці та лідери думок об'єднаються на NIX MultiConf, щоб нагадати світові: Україна — надійне місце для розвитку бізнесу.
Долучайся до спільноти NIX MultiConf!
У програмі:
🔹 Виступи зарубіжних та українських бізнес-лідерів
Вперше на NIX MultiConf — окрема панель для підприємців та всіх, хто цікавиться IT-бізнесом.
🔹 Лекції для IT-спеціалістів від фахівців NIX
Новинки технологій, реальні кейси і корисні інструменти для роботи розберемо за такими напрямками: Java, JS, .NET, DATA, QA, PHP, PM, Python та ін.
🔹 Збір донатів на перемогу
Сьогодні кожен тримає свій фронт. Ми боронимо IT-сферу, а наші захисники — Україну. Тому під час трансляції ти можеш долучитися до збору коштів на потреби ЗСУ та волонтерів.
Стати ближче до світових спікерів дуже просто — ставиш їм питання у чаті трансляції й одразу отримуєш відповідь. Так на NIX MultiConf ти вже будеш на одній хвилі з топовими експертами ;).
А поки переходь за посиланням, дізнавайся повну програму конференції та обирай цікаві тобі лекції.
Коли і де: 21-22 травня, онлайн на YouTube-каналі NIX
Чекаємо тебе на NIXMultiConf!
Все буде Україна! Все буде NIX!
Долучайся до наймасштабнішої в Україні IT-конференції!
Стійкість України надихає весь світ. Натхненне цією силою і наше IT-ком’юніті.
Уже цього тижня, 21-22 травня, топові зарубіжні та українські IT-експерти, підприємці та лідери думок об'єднаються на NIX MultiConf, щоб нагадати світові: Україна — надійне місце для розвитку бізнесу.
Долучайся до спільноти NIX MultiConf!
У програмі:
🔹 Виступи зарубіжних та українських бізнес-лідерів
Вперше на NIX MultiConf — окрема панель для підприємців та всіх, хто цікавиться IT-бізнесом.
🔹 Лекції для IT-спеціалістів від фахівців NIX
Новинки технологій, реальні кейси і корисні інструменти для роботи розберемо за такими напрямками: Java, JS, .NET, DATA, QA, PHP, PM, Python та ін.
🔹 Збір донатів на перемогу
Сьогодні кожен тримає свій фронт. Ми боронимо IT-сферу, а наші захисники — Україну. Тому під час трансляції ти можеш долучитися до збору коштів на потреби ЗСУ та волонтерів.
Стати ближче до світових спікерів дуже просто — ставиш їм питання у чаті трансляції й одразу отримуєш відповідь. Так на NIX MultiConf ти вже будеш на одній хвилі з топовими експертами ;).
А поки переходь за посиланням, дізнавайся повну програму конференції та обирай цікаві тобі лекції.
Коли і де: 21-22 травня, онлайн на YouTube-каналі NIX
Чекаємо тебе на NIXMultiConf!
Все буде Україна! Все буде NIX!
👍8🔥3💩1
Forwarded from ДевОпс Інженер 🇺🇦 (Oleg Mykolaichenko)
Друзі, DevOps Days Kyiv зібрав €100000 і залучив Келсі Хайтауера!
Точніше, наразі результат такий: €101,300 raised of the €100,000 goal
Хочу поділитись з вами великою радістю і гордістю - DevOps Days Kyiv досяг бажаного результату і залучив кошти, які розподілить між 6 перевіреними фондами (детальніше - на сайті). Особливістю є те, що кошти не перерозподілені всередині країни - івент був націлений на міжнародну DevOps аудиторію, відповідно в більшості випадків донатили великі компанії та міжнародні спільноти, які мають відношення до DevOps. Тобто я це бачу як пряме залучення коштів, що є, безсумнівно, прекрасним результатом.
Багато хто брав участь у івенті, але для тих хто пропустив - додаю посилання на 2 дні конференції:
👉 https://www.youtube.com/playlist?list=PL_O8YSX8ckfccTEvjp26fBXiaYzijUPD2
👉 https://www.youtube.com/playlist?list=PL_O8YSX8ckfcoRds7TEjsP_T6EFe69vuu
Цікаво, що всі без винятку слайди та доповіді мали на меті показати підтримку, прихильність, або досвід України та цей вектор червоною ниткою пройшов через всю адженду конференції - DevOps in crysis. Символічно зробила Lena Hall з AWS - в неї не було жодних інших кольорів на слайдах, окрім синього і жовтого.
Також, вперше на українському івенті ми побачили недосяжного Келсі Хайтауера! Виправте якщо це не так і він ще десь у нас брав участь, але, принаймні я - більше ніде не зустрічав, хоча мільйон разів чув що всі без винятку хотіли б його бачити.
Окей. Звичайно, результат 100к не може бути реалізований без найсильнішої команди. Тому, якби у конференції могли б бути титри - нехай вони будуть тут (порядок довільний):
⭐️ Mykola Marzhan
⭐️ Yurii Rochniak
⭐️ Olha Truten
⭐️ Margaret Valtierra
⭐️ Sasha Rosenbaum
⭐️ Viсtoria Korobkina
⭐️ Julia Olefir
⭐️ Diana Tereshchenko
Ці прекрасні люди займались всім, що приховано, але є величезною роботою - роботою з компаніями, спонсорами, інтеграціями, підбором і залученням спікерів, відкриття рахунків, підбором фондів, і ще багато-багато речей і процесів, без яких цього результату не було. Велика подяка!
Українські девопс-козаки, які готували доповідь англійською (!), були готові підтримати і поділитись досвідом з міжнародною DevOps спільнотою:
💪 Volodymyr Tsap
💪 Vsevolod Poliakov
💪 Andii Bilous
💪 Anton Babenko
І окремо адміни опенспейс кімнат, які запалювали теми, слідкували за порядком і задавали тренд:
🎯 Vlad Voloshyn
🎯 Vlad Panchenko
🎯 Roman Tkach
🎯 Serhii Mikhno
🎯 Maxym Vlasov
(+ ті самі люди зі списків вище)
Ледь не забув інформаційних партнерів (підписуйтесь на ці канали):
@catops
@xpinjection_channel
@oleg_log
@full_of_hatred
@sysadmin_tools
@devops_easy
Serhii Mariiekha - повертай свій канал
@deadopsclub
@ddosKotyky
@KharkOps
@UkropsDigest
Десятки мітингів підготовки, сотні імейлів, тисячі відвідувачів і €101,300 залучено станом на зараз.
Завершити хотілося б словами інженера на ім'я Дункан з Ірландії, який прийшов в кімнату опенспейсу зі словами:
- “До конференції кинув донат, а зараз захотів послухати про що ви тут говорите. Але в мене там бабця і жіночка з України - я їх захостив, то зараз уже піду подивлюсь, що і як вони там.”
“Ооооо мееен!” - відповіли всі одночасно з цієї кімнати.
Точніше, наразі результат такий: €101,300 raised of the €100,000 goal
Хочу поділитись з вами великою радістю і гордістю - DevOps Days Kyiv досяг бажаного результату і залучив кошти, які розподілить між 6 перевіреними фондами (детальніше - на сайті). Особливістю є те, що кошти не перерозподілені всередині країни - івент був націлений на міжнародну DevOps аудиторію, відповідно в більшості випадків донатили великі компанії та міжнародні спільноти, які мають відношення до DevOps. Тобто я це бачу як пряме залучення коштів, що є, безсумнівно, прекрасним результатом.
Багато хто брав участь у івенті, але для тих хто пропустив - додаю посилання на 2 дні конференції:
👉 https://www.youtube.com/playlist?list=PL_O8YSX8ckfccTEvjp26fBXiaYzijUPD2
👉 https://www.youtube.com/playlist?list=PL_O8YSX8ckfcoRds7TEjsP_T6EFe69vuu
Цікаво, що всі без винятку слайди та доповіді мали на меті показати підтримку, прихильність, або досвід України та цей вектор червоною ниткою пройшов через всю адженду конференції - DevOps in crysis. Символічно зробила Lena Hall з AWS - в неї не було жодних інших кольорів на слайдах, окрім синього і жовтого.
Також, вперше на українському івенті ми побачили недосяжного Келсі Хайтауера! Виправте якщо це не так і він ще десь у нас брав участь, але, принаймні я - більше ніде не зустрічав, хоча мільйон разів чув що всі без винятку хотіли б його бачити.
Окей. Звичайно, результат 100к не може бути реалізований без найсильнішої команди. Тому, якби у конференції могли б бути титри - нехай вони будуть тут (порядок довільний):
⭐️ Mykola Marzhan
⭐️ Yurii Rochniak
⭐️ Olha Truten
⭐️ Margaret Valtierra
⭐️ Sasha Rosenbaum
⭐️ Viсtoria Korobkina
⭐️ Julia Olefir
⭐️ Diana Tereshchenko
Ці прекрасні люди займались всім, що приховано, але є величезною роботою - роботою з компаніями, спонсорами, інтеграціями, підбором і залученням спікерів, відкриття рахунків, підбором фондів, і ще багато-багато речей і процесів, без яких цього результату не було. Велика подяка!
Українські девопс-козаки, які готували доповідь англійською (!), були готові підтримати і поділитись досвідом з міжнародною DevOps спільнотою:
💪 Volodymyr Tsap
💪 Vsevolod Poliakov
💪 Andii Bilous
💪 Anton Babenko
І окремо адміни опенспейс кімнат, які запалювали теми, слідкували за порядком і задавали тренд:
🎯 Vlad Voloshyn
🎯 Vlad Panchenko
🎯 Roman Tkach
🎯 Serhii Mikhno
🎯 Maxym Vlasov
(+ ті самі люди зі списків вище)
Ледь не забув інформаційних партнерів (підписуйтесь на ці канали):
@catops
@xpinjection_channel
@oleg_log
@full_of_hatred
@sysadmin_tools
@devops_easy
Serhii Mariiekha - повертай свій канал
@deadopsclub
@ddosKotyky
@KharkOps
@UkropsDigest
Десятки мітингів підготовки, сотні імейлів, тисячі відвідувачів і €101,300 залучено станом на зараз.
Завершити хотілося б словами інженера на ім'я Дункан з Ірландії, який прийшов в кімнату опенспейсу зі словами:
- “До конференції кинув донат, а зараз захотів послухати про що ви тут говорите. Але в мене там бабця і жіночка з України - я їх захостив, то зараз уже піду подивлюсь, що і як вони там.”
“Ооооо мееен!” - відповіли всі одночасно з цієї кімнати.
🔥21👍12👎1
Forwarded from JavaScript.Ninja News (Illya Klymov 🇺🇦)
Друзі, сьогодні о 6 вечора пан Артем Захарченко, людина яка 10 років проводила KharkivJS прийде на благодійний подкаст з Сашею Соловйовим, де буде обговорювати волонтерство і айтішечку. Я певен що у Артема безліч історій і про волонтерство (навіть ті що я знаю) і про namecheap.com, де він працює
Приєднуйтесь, буде цікаво. Ну і оскільки стрім благодійний є мета - зібрати на дрон для підрозділу Кракен. Я вже підтримав і закликаю вас зробити також
https://www.youtube.com/watch?v=1k_HYTPN4Ao
Приєднуйтесь, буде цікаво. Ну і оскільки стрім благодійний є мета - зібрати на дрон для підрозділу Кракен. Я вже підтримав і закликаю вас зробити також
https://www.youtube.com/watch?v=1k_HYTPN4Ao
YouTube
Благодійний стрім з Артемом Захарченко. Збираємо 600 000 грн на потужний коптер для ЗСУ.
Благодійний стрім з Артемом Захарченко - організатором конференції KharkivJS та Solution Architect / Head JavaScript в Namecheap. В рамках подкасту Fwdays Tech Talks.
Наша ціль зібрати 600 000 грн на потужний коптер DJI Matrice 300 RTK для ЗСУ.
Дізнатись…
Наша ціль зібрати 600 000 грн на потужний коптер DJI Matrice 300 RTK для ЗСУ.
Дізнатись…
❤10👍7👎1
Я відновлю регулярні публікації про Node.js у червні. Якою мовою?
I will resume regular posting about Node.js in June. In what language? Я возобновлю регулярные публикации об Node.js в июне. На каком языке?
I will resume regular posting about Node.js in June. In what language? Я возобновлю регулярные публикации об Node.js в июне. На каком языке?
Final Results
59%
Українською мовою
42%
English
28%
Я против РФ, но читать мне быстрее на русском
👍8😁2👎1
6-10 червня запрошуємо долучитися до тижня онлай-мітапів Grammarly Tech Week #StandWithUkraine!
Усі події Grammarly, як завжди, безкоштовні. Ми будемо вдячні учасникам за будь-який внесок до фонду чи організації (кілька варіантів можна знайти за посиланням https://gram.ly/GTWUkraine), які підтримують Україну. 🇺🇦
📢Протягом тижня щовечора експерти з інженерних та продуктових команд ділитимуться досвідом і розповідатимуть більше про підходи до розробки та тестування у Grammarly!
Реєструйтесь і долучайтесь до подій:
🗓7 червня: The Story of Declarative React at Grammarly - Як команді Grammarly Editor вдалося побудувати архітектуру з імплементацією Declarative React компонентів, з якими технічними викликами вона зіткнулася під час реалізації та яким чином сформувала нову UI бібліотеку “Embrace”. Усе це обговоримо на зустрічі з Grammarly Software Engineer Олександром Сугаком.
Реєстрація: https://gram.ly/3LyPYAI
🗓9 червня: How We Test at Grammarly: General Processes and Reactive Code Testing - Grammarly Software Engineers Олексій Левжинський та Денис Кашковський розкажуть про те, як ми тестуємо в Grammarly, для чого потрібні Marble-тести і як вони покращують якість тестування.
Реєстрація: https://gram.ly/3Nu3FlH
Мова доповідей: англійська.
Більше івентів Grammarly Tech Week шукайте за посиланням: https://gram.ly/3wZGCsl.
До зустрічі!
Усі події Grammarly, як завжди, безкоштовні. Ми будемо вдячні учасникам за будь-який внесок до фонду чи організації (кілька варіантів можна знайти за посиланням https://gram.ly/GTWUkraine), які підтримують Україну. 🇺🇦
📢Протягом тижня щовечора експерти з інженерних та продуктових команд ділитимуться досвідом і розповідатимуть більше про підходи до розробки та тестування у Grammarly!
Реєструйтесь і долучайтесь до подій:
🗓7 червня: The Story of Declarative React at Grammarly - Як команді Grammarly Editor вдалося побудувати архітектуру з імплементацією Declarative React компонентів, з якими технічними викликами вона зіткнулася під час реалізації та яким чином сформувала нову UI бібліотеку “Embrace”. Усе це обговоримо на зустрічі з Grammarly Software Engineer Олександром Сугаком.
Реєстрація: https://gram.ly/3LyPYAI
🗓9 червня: How We Test at Grammarly: General Processes and Reactive Code Testing - Grammarly Software Engineers Олексій Левжинський та Денис Кашковський розкажуть про те, як ми тестуємо в Grammarly, для чого потрібні Marble-тести і як вони покращують якість тестування.
Реєстрація: https://gram.ly/3Nu3FlH
Мова доповідей: англійська.
Більше івентів Grammarly Tech Week шукайте за посиланням: https://gram.ly/3wZGCsl.
До зустрічі!
👍18
TL;DR; Помилка у
Я вже розповідав про Floating Promise. Вони створють Unhandled Promise Rejection. Щоб знаходити такі проблеми я використовую
–
–
– додати до цього promise chain
– додати до цього promise chain
Я вважав, що
Для мене це виглядає, як бага у
PS Велика подяка Віктору та Олексію за коментарі.
await someAsyncFn().catch() створює Unhandled Promise Rejection, тобто аргумент у catch() є обов'язковим.Я вже розповідав про Floating Promise. Вони створють Unhandled Promise Rejection. Щоб знаходити такі проблеми я використовую
@typenoscript-eslint/no-floating-promises. Це правило говорить, щоб не було Floating Promise треба зробити одне з: –
await цього promise-а–
return цього promise-а– додати до цього promise chain
.then() з двома аргументами– додати до цього promise chain
.catch() з одним аргументомЯ вважав, що
try catch та catch у promise chain працюють однаково. Тому для мене було несподіванкою, що await someAsyncFn().catch() не перехоплює помилку, що створює Unhandled Promise Rejection. Так само станеться якщо аргумент у catch буде null або undefined. Catch це синтаксичний цукор then(undefined, cb). Змінюючи цей cb ми контролюємо поведінку promise chain, тому cb не є обов'язковим.Для мене це виглядає, як бага у
@typenoscript-eslint/no-floating-promises. Як тимчасове рішення я додав таке правило:'no-restricted-syntax': [ 'error', { selector: "CallExpression[callee.property.name='catch'][arguments.length!=1]", message: 'Catch should have exactly one argument' }],PS Велика подяка Віктору та Олексію за коментарі.
👍44🤔3
Я тільки вчора додався у waitlist, а сьогодні вже прилетіло запрошення на бета-тест. У кінці місяця поділюся враженнями.
GitHub Copilot це плагін для IDE (WebStorm/VSCode/etc) який за допомогою AI перетворю англомовні коментарі у код. Більше інформації та реєстрація на бета-тест за посиланням
👉 https://copilot.github.com/
GitHub Copilot це плагін для IDE (WebStorm/VSCode/etc) який за допомогою AI перетворю англомовні коментарі у код. Більше інформації та реєстрація на бета-тест за посиланням
👉 https://copilot.github.com/
🔥25🤔7👎2👍1
Сьогодні порекомендую чудовий інструмент для візуалізації процесів. Називається BPMN (Business Process Model and Notation). Можна використовувати як для опису бізнес-процесів, так і flow в мікросервісній архітектурі. Добре допомагає побачити проблемні місця – не правильне місце виконання, послідовність тощо.
посилання:
– https://bpmn.io/
– https://www.bpmn.org/
– https://github.com/bpmn-io/bpmn-js
посилання:
– https://bpmn.io/
– https://www.bpmn.org/
– https://github.com/bpmn-io/bpmn-js
👍30❤8
Node.js development in 2022: trends and techniques
#worth_seeing
Команда Fwdays викладають у публічний доступ відео з грудневої конференції. Серед них і моя доповідь про "Розробка на Node.js у 2022: тренди та прийоми". Я роблю такі доповіді щороку після релізу нової версії, щоб розповісти:
⚙️ нові фічі Node.js v16,
⚙️ нові мовні конструкції JavaScript/TypeScript
⚙️ фреймворки та підходи
Але головне в цьому огляді це відповіді на питання, як, коли і головне навіщо використовувати ці новинки.
Мова виступу російська
👀відео
📕Слайди
#worth_seeing
Команда Fwdays викладають у публічний доступ відео з грудневої конференції. Серед них і моя доповідь про "Розробка на Node.js у 2022: тренди та прийоми". Я роблю такі доповіді щороку після релізу нової версії, щоб розповісти:
⚙️ нові фічі Node.js v16,
⚙️ нові мовні конструкції JavaScript/TypeScript
⚙️ фреймворки та підходи
Але головне в цьому огляді це відповіді на питання, як, коли і головне навіщо використовувати ці новинки.
Мова виступу російська
👀відео
📕Слайди
🔥48👍14
Конференції цього тижня:
#conferences
– OpenJs World конференція від Linux Foundation. Пройде 7-8 червня. Багато доповідей різного рівня та тематики. Вважається найважливішою оффлайн тусовкою серед Core Node.js Contributers.
– MongoDB World вендор конференція. Пройде 7-9 червня. Для конференції, присвяченої одному вендору, кількість контенту просто лякає.
– WWDC 2022 конференція для розробників від Apple. Пройде 6-10 червня. Актуальність контенту для Backend розробників низька, але конференція в цілком важлива для індустрії.
#conferences
– OpenJs World конференція від Linux Foundation. Пройде 7-8 червня. Багато доповідей різного рівня та тематики. Вважається найважливішою оффлайн тусовкою серед Core Node.js Contributers.
– MongoDB World вендор конференція. Пройде 7-9 червня. Для конференції, присвяченої одному вендору, кількість контенту просто лякає.
– WWDC 2022 конференція для розробників від Apple. Пройде 6-10 червня. Актуальність контенту для Backend розробників низька, але конференція в цілком важлива для індустрії.
👍14🔥8
Сьогоднішній рецепт присвячений #npm noscripts
Щоб побачити їхній список треба запустити
А ось скрипти, які я рекомендую мати у кожному проєкті:
-
-
-
-
-
Багато скриптів не потрібні, якщо знати про
замість debug, я використовую
рецепті Тонкости работы с npm noscripts
Щоб побачити їхній список треба запустити
npm run. Так, без вказівки імені скрипту. Це дуже зручно у новому проєкт, коли ти ще не пам'ятаєш усіх скриптів.А ось скрипти, які я рекомендую мати у кожному проєкті:
-
watch чи start – запускає додаток для розробника, тобто зміни у коді рестартуют додаток-
format – виправлення помилок код-стайла за допомогаю prettier та eslint-
lint – перевірка код-стайлу за допомогаю prettier та eslint-
typing – перевірка за допомогаю typenoscript-
build – створює artifact (bundle у SPA)Багато скриптів не потрібні, якщо знати про
-- -argument. Наприклад, замість debug, я використовую
npm run watch -- -debug. Докладніше у рецепті Тонкости работы с npm noscripts
👍30🔥10
Attention 📢 9 липня Fwdays проводитиме онлайн конференцію— JS + React fwdays'22 😍
Тому, вони активно шукають доповіді з JavaScript на основний день конференції🙌🏻
Якщо ви розробник(-ця), хочете виступити, щоб поділитися своїми знаннями і досвідом, а також прокачати свій speaking skill, заповнюйте форму до 13 червня 👉 https://bit.ly/3PVS695
Якщо ви знаєте кому це буде цікаво, будь ласка, поділіться цим дописом😌
Також, окрім основного дня конференції, вони проведуть стрім, де будуть збирати донейти на ЗСУ. 10% від вартості квитка перераховують на гуманітарну допомогу українцям та на ЗСУ, щоб наблизити день нашої перемоги💙💛
Тому, вони активно шукають доповіді з JavaScript на основний день конференції🙌🏻
Якщо ви розробник(-ця), хочете виступити, щоб поділитися своїми знаннями і досвідом, а також прокачати свій speaking skill, заповнюйте форму до 13 червня 👉 https://bit.ly/3PVS695
Якщо ви знаєте кому це буде цікаво, будь ласка, поділіться цим дописом😌
Також, окрім основного дня конференції, вони проведуть стрім, де будуть збирати донейти на ЗСУ. 10% від вартості квитка перераховують на гуманітарну допомогу українцям та на ЗСУ, щоб наблизити день нашої перемоги💙💛
👍10❤2
В рамках JS + React fwdays'22 яку з моїх тем вам було б найцікавіше послухати?
Final Results
33%
Protocols comparison for React App: Rest, GraphQL, WS, SSE, Binary
20%
How Design System can speedup delivery?
36%
Monorepo structure for Node.js + React app
10%
TypeScript for React Developers
👍7
Що таке Parameterized query у PostgreSQL?
#database
Використання template string під час створення SQL запитів може стати причиною SQL ін'єкції. Нехай у нас є такий код:
Наприклад, порівняйте результати його виконання з
та
Звичайно, валідація вхідних даних може запобігти ін'єкції SQL. Однак правильно не використовувати у запитах JS змінні, а параметри.
Виправлений код виглядає так:
Усі query builders генерують такі запити, а DB клієнти вміють із ними працювати.
#database
Використання template string під час створення SQL запитів може стати причиною SQL ін'єкції. Нехай у нас є такий код:
client.query(`INSERT INTO users(name, email) VALUES('${name}', '${email}') RETURNING *`);Наприклад, порівняйте результати його виконання з
const name = 'Homer';const email = 'homer@simpson.com';та
const name = 'Hacker';const email = "hacker@simpson.com'); DELETE FROM users --";Звичайно, валідація вхідних даних може запобігти ін'єкції SQL. Однак правильно не використовувати у запитах JS змінні, а параметри.
Виправлений код виглядає так:
client.query('INSERT INTO users(name, email) VALUES($1, $2) RETURNING *', [name, email]);Усі query builders генерують такі запити, а DB клієнти вміють із ними працювати.
👍40💯4
Друзі, раді вам повідомити, що 9 липня команда Fwdays проведе онлайн-конференцію JS+React fwdays’22! 🤩
🤓 В основний день конференції (9 липня, субота) на вас чекають доповіді не тільки з React, але ще й з JavaScript, ознайомитись з програмою івента можна за посиланням 👉 https://bit.ly/3bG6GC5
Програма з головними спікерами:
🔹Наталія Теплухіна розповість про “Local state and server cache: finding a balance”
🔹Володимир Агафонкін говоритиме про “Життєвий JavaScript: вирішення побутових задач візуалізацією даних”
🔹Роман Шевчук виступить з доповіддю “Use Component Drivers to Control Components in Tests”
🔹Інна Іващук розкаже про ”Use the Force and automate React app checks”
🔹Віктор Турський розповість про “Автоматизовані тести для React фронтенду”
🔹Chen Hui Jing — “Building layouts the way the web intended” та не лише.
Види участі:
✅ FREE ONLINE (перегляд доповідей у всіх треках конференції 9 липня)
✅ ONLINE FULL (перегляд доповідей у всіх треках 9 липня та додаткових форматах, доступ до записів всіх ефірів після івенту та ін)
Який обирати — вирішувати тільки вам. Реєструйтесь безкоштовно або використайте промокод 04D3B0D2A1 та отримайте знижку 5%. Деталі за посиланням 👉 https://bit.ly/3bG6GC5
Також, 8 липня о 17:00, відбудеться благодійний стрім з експертами-айтівцями, які поділяться своїм досвідом роботи під час війни в Україні. Основна мета стріму — зібрати 300 000 грн на коптер для ЗСУ. Зібрані кошти будуть передані у благодійний фонд KOLO.
Приєднуйтесь! Слава Україні! 💙💛
🤓 В основний день конференції (9 липня, субота) на вас чекають доповіді не тільки з React, але ще й з JavaScript, ознайомитись з програмою івента можна за посиланням 👉 https://bit.ly/3bG6GC5
Програма з головними спікерами:
🔹Наталія Теплухіна розповість про “Local state and server cache: finding a balance”
🔹Володимир Агафонкін говоритиме про “Життєвий JavaScript: вирішення побутових задач візуалізацією даних”
🔹Роман Шевчук виступить з доповіддю “Use Component Drivers to Control Components in Tests”
🔹Інна Іващук розкаже про ”Use the Force and automate React app checks”
🔹Віктор Турський розповість про “Автоматизовані тести для React фронтенду”
🔹Chen Hui Jing — “Building layouts the way the web intended” та не лише.
Види участі:
✅ FREE ONLINE (перегляд доповідей у всіх треках конференції 9 липня)
✅ ONLINE FULL (перегляд доповідей у всіх треках 9 липня та додаткових форматах, доступ до записів всіх ефірів після івенту та ін)
Який обирати — вирішувати тільки вам. Реєструйтесь безкоштовно або використайте промокод 04D3B0D2A1 та отримайте знижку 5%. Деталі за посиланням 👉 https://bit.ly/3bG6GC5
Також, 8 липня о 17:00, відбудеться благодійний стрім з експертами-айтівцями, які поділяться своїм досвідом роботи під час війни в Україні. Основна мета стріму — зібрати 300 000 грн на коптер для ЗСУ. Зібрані кошти будуть передані у благодійний фонд KOLO.
Приєднуйтесь! Слава Україні! 💙💛
👍11
Can You Change the Behavior of a Running Node.js Process From the Outside?
#worth_seeing
Доповідач Vladimir de Turckheim показує як за допомогою дебаг протоколу змінити поведінку Node.js процесу. Так це hacking. Саме тому, деякі компанії для продакшену компілюють Node.js без модуля inspector.
👀відео
#worth_seeing
Доповідач Vladimir de Turckheim показує як за допомогою дебаг протоколу змінити поведінку Node.js процесу. Так це hacking. Саме тому, деякі компанії для продакшену компілюють Node.js без модуля inspector.
👀відео
🔥10👍1
#list
Сьогодні у рекомендаціях добірка посилань You don't (may not) need. Якщо у вас на проєкті ще використовується moment.js, то я рекомендую почати з You don't (may not) need Moment.js. Для React розробників буде цікаво прочитати, чому їм може бути не потрібні Redux та React Router. Для Node.js розробників як завжди я рекомендую краще знати CLI.
Сьогодні у рекомендаціях добірка посилань You don't (may not) need. Якщо у вас на проєкті ще використовується moment.js, то я рекомендую почати з You don't (may not) need Moment.js. Для React розробників буде цікаво прочитати, чому їм може бути не потрібні Redux та React Router. Для Node.js розробників як завжди я рекомендую краще знати CLI.
🔥10👍9❤3
Навіщо потрібне infer у TypeScript
#typenoscript
Ключове слово
наприклад, так можна отримати тип першого аргументу функції:
Зверніть увагу, що описати це тільки через генерики неможливо.
#typenoscript
Ключове слово
infer — це потужний інструмент, який дозволяє розгортати та зберігати типи під час роботи з чужим TypeScript кодом. Воно не може використовуватися без Conditional Types та поза пропозицією extends. Infer дозволяє визначити змінну в межах нашого обмеження, на яку буде посилатися або повертати.наприклад, так можна отримати тип першого аргументу функції:
type GetFirstArgumentOfAnyFunction<T> = T extends ( first: infer FirstArgument, ...args: any[]) => any ? FirstArgument : neverЗверніть увагу, що описати це тільки через генерики неможливо.
👍23🤔12
Як виправити npm ERR! ERESOLVE could not resolve?
#npm
При встановленні залежностей можна часто побачити помилку:
Відновлення залежностей не завжди варіант. Тому до Node.js 16.14 рекомендований спосіб був прописати
Рецепти на тему:
– Що таке .npmrc і чому його варто додати?
– Як виправити код у node_modules?
– Тонкощі роботи з npm noscripts
#npm
При встановленні залежностей можна часто побачити помилку:
npm ERR! code ERESOLVEnpm ERR! ERESOLVE could not resolve...npm ERR! Fix the upstream dependency conflict, or retrynpm ERR! this command with --force, or --legacy-peer-depsnpm ERR! to accept an incorrect (and potentially broken) dependency resolution.Відновлення залежностей не завжди варіант. Тому до Node.js 16.14 рекомендований спосіб був прописати
legacy-peer-deps=true у .npmrc проекту або використовувати yarn resolutions. У Node.js 16.14 йде npm 8.3. Цей апдейт додав overrides, аналог yarn resolutions. Приклад використання в package.json для одного проекту React:"dependencies": { "react": "^18.1.0", "react-dom": "^18.1.0", "react-json-view": "^1.21.3"},"overrides": { "react-json-view": { "react": "18.1.0", "react-dom": "18.1.0" }}Рецепти на тему:
– Що таке .npmrc і чому його варто додати?
– Як виправити код у node_modules?
– Тонкощі роботи з npm noscripts
👍27