ІТ спільнота targer.dev 👨‍💻👩🏼‍💻 – Telegram
ІТ спільнота targer.dev 👨‍💻👩🏼‍💻
511 subscribers
146 photos
22 videos
10 files
86 links
🇺🇦 Targer - спільнота розробників (TypeScript, mostly). Корисна інфа по веб девелопменту, новини платформи і саморозвиток 💯
https://targer.dev
Download Telegram
12🔥72🤨1
Крутий туторіал по ембедед девелопменту ❤️‍🔥 ❤️‍🔥
Використовує Cortex-M4 STM32 процесор, який вважається наступним рівнем, більш професійним серед ембедерів ніж ардуіно.

Автор:
→ програмує мікроконтролер на C
→ пише свій бутлоадер 😱
→ пише свій протокол для серійної комунікації UART
→ пояснює які є і чому існують периферії (GPIO, system ticks, flash memory etc)
→ datasheet and reference manual for hardware
→ і багато інших штук
→ і взагалі пояснює що це все таке і як воно взаємодіє в цілісному флоу

Я продивився понад 10 год цього туторіала і рекомендую зокрема бо:
→ автор дуже добре пояснює хардвер на лоу левелі
→ свіжий, сучасний туторіал (останнє відео було опубліковане 12 днів назад і може ще нові будуть скоро)
→ автор відповідає в коментарях і має свій активний діскорд канал
→ окрім хардвера це ще й хороший туторіал по C language 💯
→ юзає VS Code 👩‍💻 і навіть написав частину коду на TypeScript for NodeJs щоб апгрейдити софтвер на хардвері через UART протокол

Тепер ви знаєте як провести ці вихідні з користю.

p.s. класно що можна дивитись відео на ютюб на 1.5 швидкості 😃

#tutorial #hardware #c #baremetalprogramming #embedded

https://youtu.be/uQQsDWLRDuI
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍21🤩1
1М секунд = 12 днів
1В секунд = 32 роки

Наглядна різниця масштабів 😯
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7😱3🔥1
NestJs вирішив підтримати zod 🦾

Світле майбутнє цієї ліби для валідації стало ще яскравіше 💡

Хто вже перейшов на цю лібу - на правильному шляху 🫵🏻
👍181
Bun 1.0 🔥

https://youtu.be/BsnCpESUEqM

Годна тулза для пет проєктів.
На вихідних вже можна тестувати 🦾
А презентація яка гарна 😻
🔥21
Щоб не писати !important (а його писати це ознака поганого коду) треба правильно розуміти specificity селекторів CSS 🧠
(читається “спесіфісіті”)

1. Обговорюєте конвенцію на проєкті
2. Слідуєте їй
3. Стилі будуть належним чином застосовані на елементах 🏆

Хороший приклад зробив TailwindCSS розділивши свої класи на 3 ієрархічні шари:
base <- components <- utilities

Таким чином що стилі ютілів оверрайдять стилі компонентів які сильніші за стилі бази.

А для наглядного розуміння як рахується специфічність є гарненька онлайн тулза - https://specificity.keegan.st/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍822
Знаєте що джавістам важко зрозуміти?

Різницю null vs undefined 🙂

Тому що в джаві не існує такого типу undefined, як в джаваскрипті.

А в реальності відсутній філд та філд зі значенням null - це різні речі.

Різницю можна легко побачити в JSON - саме тим форматом яким фронтенд і спілкується з джавою.

Тут важливі 2 моменти:
1️⃣ Треба правильно описувати інтерфейси, щоб знати можливі типи філдів і правильно їх використовувати.

2️⃣ null філд має свій ефект, особливо на прикладі PATCH ендпоінтів.
Відсутні філди в патчі не змінять ніяк філди.
А null філд зробить видалення філда (повʼязаної ентіті через цей філд).

Тому просіть джавістів (і всіх інших бекендщиків) хай правильно описують в свагері де опшинал філд а де може бути null 😉

На стековерфлоу є кілька робочих варіантів як це зробити.

#coding #json
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍43
А ви б що обрали - сайнін чи логін?
😄🤦🏻‍♂️
😁7🤣1
Щойно помітив фічу YouTube Music - синхронізований текст пісні.

Дуже зручно:
1️⃣ Конкретний рядок тексту підсвічується відповідно до моменту що грає 😌
2️⃣ Тапаєш на рядок і музика грає саме з цього моменту 🎉

Спочатку подумав що це АІ гугла парсить пісню і проставляє таймкоди.

Але виявилось простіше - такий формат тексту приходить від сервісів типу Musixmatch та LyricFind.
Там юзери самі проставляють таймінги + їх перевіряють модератори.
👍102
Be a never nester.

Хороше відео з прикладом рефакторинга щоб уникати глибоко вкладений (нестед) код.

Нестінг:
- сильно погіршує читабельність коду
- сприяє появі багів
- ускладнює розширення коду новими умовами та поведінками (ще раз підсилюючи попередній пункт про баги)

Два методи боротьби з цим:
- extraction
- inversion (aka early return)

І просте правило - максимальний рівень нестінга 3️⃣.
Все що глибше - треба рефакторити.

Давно практикую ці підходи і вам рекомендую.

https://youtu.be/CFRhGnuXG-4?si=prDddpvwEA-Kkc9f
Please open Telegram to view this post
VIEW IN TELEGRAM
7
Суперпроста функція хешування на прикладі 3Д координати (object with x, y, z properties).

Суть алгоритму проста використовуючи прості числа (prime numbers):
- беремо кожен філд обʼєкта (3Д координати в даному кейсі)
- множимо на окреме просте число
- сумуємо результат щоб отримати єдине число

В кінці ще робиться модуль (sum % maxAmountOfCoordinates) щоб хеш завжди був в межах якогось діапазону (максимальній кількості 3Д координат в програмі, наприклад).

Щоб зрозуміти алгоритм треба зрозуміти такі поїнти:
- хеш повинен вертати єдине ціле число (інтеджер) тому робиться сума всіх компонентів в одне число
- результат має бути близьким до унікального, щоб уникати колізії (однакові хеші різних значень)
- щоб уникати колізії треба уникати паттерни, повторення
- повторення виникають коли починаємо розкладати числа на множники
- наприклад 2 є множником для всіх чисел що закінчуються на 0, 2, 4, 6, 8
- відповідно треба вибирати числа в яких мінімум множників

Тут у гру вступають прості числа - бо діляться без остачі лише на 1 та на себе 💡

Вибираємо достатньо великі прості числа і подальші операції з ними теж будуть мати мінімум колізій.

p.s. базовано на коді який симулює фізику рідин (ютюб відео)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
Розбийте задачі на підзадачі, а тоді на мікрозадачі і зрештою нанозадачі.
І ось вже більше не існує ніяких задач, ніби ніколи і не існувало.
На цьому субатомному рівні квантова механіка сама все зробить, адже там твориться магія і темпоральна запутаність яка досі незрозуміла науці.
🤣20😁3👍2
Old but gold 👑
🤣112😁2🤝1
ІТ спільнота targer.dev 👨‍💻👩🏼‍💻
Old but gold 👑
Особливо це стосується випадків коли девелопиш свій перший стартап 😄

Наприклад в мене була історія в Харкові зі стартапом - мобільною апкою для замовлення їжі в ресторанах.

Зайшов в апку, вибрав ресторан, вибрав їжу, оплатив, прийшов поїв, задоволений пішов.

Не чекаєш офіціанта, не чекаєш меню, не чекаєш чек оплати. Все в пару кліків. 🔝 🔥
Особливо дуже зручно коли хочеш прийти на ланч - все треба дуже швидко поки обідня перерва.

А ми намудрили там…)
- і фічу відгуків, рейтингів, вебсокети для ріалтайма прикрутили
- команда людей 6
- одразу мікросервіси для джави, брокер rabbitMQ
- git submodules
- реакт нейтів щоб білдити андроід та іос в маркети
- клауд інфра на ажурі
В результаті процес йшов дуууууже повільно і дуже багато ресурсів забрав і не підійшов для укр ринку, ринок був не готовий до такого. А потім ще й ковід як нагрянув, всі ресторани позакривали свої зали і глово взлетів до небес.

Ми думали буде просто, а замість простоти тішили себе ілюзіями що сходу мільйон юзерів як нагрузить систему і треба бути готовим до цього, треба писати масштабування на всю Україну 🥲

Хорошим рішенням тут було б використати щось маленьке навіть безкоштовне по типу Firebase. Таке розуміння приходить з досвідом.

Не треба думати що ваш стартап це єдинорог за 1 місяць і що всі будуть в захваті розказувати своїм друзям і тому аудиторія сарафанним радіо експоненційно безкоштовно виросте, увесь світ дізнається про вас.

Спочатку зробіть прототип, дуже простий но функціональний.
Провалідуйте ідею, подивіться що юзери користуються і вже тоді розширяйте функціонал, дизайни, інфраструктуру.

p.s. ця історія трапилась ще до того як глово став популярним
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
🥲 Мільярди доларів втрат через багу в одному рядку коду:
- пуш в продакшн без тестінга “бо малий чендж”
- 9 год мережа була мертва

141 лям доларів 2023 року це 60 лямів 🍋 1990 і це лише корекція інфляції.

Але як підкреслив автор в ті часи інфраструктура була малопопулярною, дуже мало девайсів порівнянно з сучасними масштабами.

Тому еквівалентна інфраструктура і збитки на сьогодні це лярди 💵

Єдине що додам в сучасних умовах таке навряд повториться бо зараз:
- інфраструктура мультикластерна, мультихмарова і гібридна (разом з дедікейтед серверами)
- авто тести
- ізольовані кластери та регіони серверів з розподілом трафіка на робочі сервери де б вони не були (load balancer)
- гігантські продукти покладаються на кубернетіс
- кубернетіс релізить ченджі поступово, контейнер за контейнером
- якщо нові контейнери починають крашитись чи взагалі не стартують то настає автоматичний ролбек системи на попередню працюючу версію

Тобто сучасні великі системи автоматично вміють себе лікувати (self healing ❤️‍🩹) і моніторять себе самі щоб видаляти неробочий код з інфраструктури.

https://youtu.be/0lS8U6Rq6EY?si=iCRQaf0RkNGfi7nz
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍2😱1
Intro to Large Language Models від Andrej Karpathy
Неймовірно круте відео про те, що таке Large Language Model (ChatGPT й інші). Відео не вимагає ніяких спеціалізованих знань по AI чи програмуванню. Дуже рекомендую, щоб трохи почати краще розуміти LLM, їх можливості, їх майбутнє, як їх зламують та інше.
Рекомендую!

ВІДЕО
: https://www.youtube.com/watch?v=zjkBMFhNj_g
👍92
Це вам не Siri.

Мобільна апка ChatGPT має круту обнову в безкоштовній версії GPT 3.5 - спілкування голосом.
Комфортна розмова, хороша якість аудіо відповіді, плавна.

Рекомендую спробувати. (українську поки не вміє, спілкуюсь інглішом).

Ще зовсім трошки і АІ пройде тест тюринга.
👍6🔥3😁1
Нова версія тейлвінда 3.4 🎉

Додали різні зручності яких не вистачало (svh, dvh, children selectors etc) а також заохочують юзати модернову фічу грідів - сабгріди 😮

Для розуміння сабгрідів рекомендую ось цей ютюб туторіал та MDN статтю.

Блог теілвінда - https://tailwindcss.com/blog/tailwindcss-v3-4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥41