Web Overflow 🇺🇦
4.42K subscribers
380 photos
40 videos
3 files
518 links
Затишний блог про веб-розробку і не тільки 💛

Чат: @web_overflow_chat
Співпраця: @web_overflow_support
Автори: @lluchkaa & @anastasiia_tarasenko
加入频道
Class Variance Authority ✍️

Коли ми створюємо власний UI kit, то стикаємось з тим, що потрібно робити різні варіації стилів для однієї компоненти, наприклад, small-medium, primary-secondary, contained-outlined і тд. І зазвичай, це все перетворюється у великий обʼєкт чи switch, що повертають імена класів.

cva - це проєкт, який має на меті допомогти вирішити проблему багатьох варіантів стилів. На його створення надихнули інші бібліотеки, які вирішують схожу проблему, але через CCS-in-JS. В даному випадку ви можете використовувати просто текстові імена класів (або ж TailwindCSS).

Спробувати ми ще не встигли, але виглядає справді цікаво!

👉 Відкрити посилання

#library
5👍5🔥1
В якій команді ви б хотіли працювати? 🙌
Anonymous Poll
33%
Велика (більше 10 людей)
55%
Мала (до 10 людей)
12%
Сам (не люблю людей)
🤔9👍32
Як підготуватися до технічного інтерв’ю 💻

Натрапили на хорошу статтю, де автори підготували підбірку порад, які допоможуть знизити рівень тривоги й не просто пройти співбесіду, а й отримати оффер. Читайте та зберігайте 💛

👉 Відкрити посилання

#interview
👍103🤓1
👍8🤔52😁1
Задача про дві скляних кульки чи два яйця 🐣 🍳

Яйцями кидатись веселіше (янукович підтвердить), тому візьмемо їх.

Нехай в нас є 100-поверховий будинок. Також в нас є 2 абсолютно однакових яйця. Проте ми не знаємо якої вони міцності і вони можуть розбитись при падінні як і з 1 поверху, так і з 100. Нам потрібно зʼясувати максимальний номер поверху, з якого яйця витримають падіння. Ну і звісно постаратись зробити це за мінімальну кількість кроків.

#todo написати функцію на будь-якій мові програмування, яка приймає масив значень типу boolean розміру N, де кожен індекс масиву - це порядковий номер поверху, а значення за цим індексом - true, якщо яйце розібʼється з цього поверху, інакше - false. Масив гарантовано посортований, тобто спочатку буде M значень false, після - N - M значень true, де M ∈ [0, N].

PS: а в кого в Європі зʼявилась ідея рахувати поверхи з 0?
👍8🤔41🤯1
Коли і як ІТ-спеціалісту говорити про підвищення зарплати? 💰

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

Почнемо з першого питання - коли потрібно говорити про підвищення зарплати?

1. Ви маєте сильне внутрішнє відчуття того, що ви гідні отримувати більше і вважаєте необхідністю, щоб вас підвищили. Ви взяли на себе багато відповідальності, багато чого навчились та зробили для компанії. Не потрібно плутати з банальним "хочу більше грошей". Це бажання має бути підкріплене вашим ростом як спеціаліста.

2. Не менш важливо підібрати правильний час для обговорення. Це може бути успішне завершення проєкту, вирішення важливої проблеми або збільшення робочого навантаження, з яким ви добре справляєтесь (тут важливо не затягувати, щоб не отримати вигорання).

Наступне питання - як підготуватись до розмови?

1. Ви повинні підготувати аргументи на свою користь - чого ви досягли за цей період, чого навчились, за що взяли відповідальність, скільки користі компанії ви принесли. Якщо коротко, нахвалюйте себе, але в міру 😅

2. Проаналізуйте ринок. Поцікавтеся, які зарплати отримують спеціалісти вашого профілю в інших компаніях. Можете використати статистику зарплат Djinni.

3. Називайте точну цифру. Так простіше. Всім.

4. Добре підготуйтесь перед обговоренням. Не чекайте, що під час розмови у вашій голові з’являться усі вагомі аргументи. Підготуйте їх заздалегідь. Наприклад, яка буде ваша реакція, якщо вам запропонують меншу суму або взагалі відмовлять.

Якщо ви залишились незадоволені від результатів обговорення, обов'язково узгодьте наступний перегляд і що ви повинні до цього часу зробити та навчитись. Чітко окресліть всі вимоги і працюйте над собою.

Якщо все дуже погано, ви можете завжди отримати контроффер і будувати розмову по-іншому. Не знаю, як зараз це працює, але раніше - це було дуже популярно. Але ми не рекомендуємо!

#experience
👍103🔥1
Welcome!

Let's practice our English! So...

👉 What is your favorite computer game ever and why?

Have a nice #english_friday 💛
👍52🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
#how_to створити анімацію для borders 🤌

Виконаний лише з допомогою HTML та CSS!

👉 Відкрити посилання
👍124🔥4
Pkl 🥒

Apple представила Pkl (pickle) - мова для опису конфігурації. Її мета - зменшення дублювання коду та перевірка самої конфігурації.

Pkl дозволяє генерувати різні формати файлів - JSON, YAML та plist. Також Pkl має власні бібліотеки для деяких мов програмування - Java, Kotlin, Swift та Go. Але враховуючи те, що тепер це проєкт з відкритим кодом (Apple ❤️ OSS), пізніше він може отримати набагато ширший перелік бібліотек. Варто зазначити, що IntelliJ, VS Code та Neovim також мають плагіни потрібні для розробки.

👉 Відкрити посилання

👉 Дивитись відео від Theo
👉 Дивитись відео від ThePrimeagen

#news
👍72🔥1👻1
👍43🤔3😁2
👍82🔥2😁2🤔1
👍14🤔32🔥1😢1🌚1
#post_from @MatiGreen

#todo написати функцію на будь-якій мові програмування, яка приймає натуральне число та повертає рядок тексту - число конвертоване у римську систему числення.

Наприклад:
3 => III
14 => XIV
192 => CXCII


* завдання з зірочкою - написати функцію, яка виконує зворотню конвертацію.
6👍3🔥2🤔2
Winston & Axiom 📝

Зі своїми програмами треба вести себе як строгий наглядач - необхідно, щоб вони доповідали про кожен свій крок. А доповідати вони мають за допомогою логів. І чим більше логів, тим краще (допоки це не порушує конфіденційність, але сьогодні не про це). Рано чи пізно це дозволить вам відстежити критичні помилки в застосунку.

Якщо перше, що ви подумаєте, коли почуєте "Winston" - це сигарети, тоді ви ще не пробували цю бібліотеку для логування в Node.js. Тут ви зможете налаштувати різні рівні логування, формати виводу і (акцентуємо увагу сьогодні тут) різні транспорти, або ж те, куди будуть ці логи виводитись. Тобто ваш застосунок може виводити лише попередження та помилки в консоль, а весь список логів можна буде побачити, наприклад, у файлі.

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

Тому, радимо вам ознайомитись з Axiom - сервісом, якому ви можете надсилати свої логи і, найголовніше, працювати з ними. За допомогою Streams ви можете переглядати все в реальному часі. А от Datasets дозволять вам формувати складні запити для пошуку потрібних логів.

А ще, в Axiom є реалізований транспорт для Winston, отже, вам потрібно лише кілька рядків коду для інтеграції цього сервісу і можете продовжувати логувати все як і раніше.

👉 Читати документацію Winston
👉 Відкрити посилання на Axiom

#library
👍102🔥1
Welcome!

Let's practice our English! So...

👉 How did you spend Valentine's Day? 💓

Have a nice #english_friday 💛
4👍2💋1
This media is not supported in your browser
VIEW IN TELEGRAM
#how_to створити Hamburger CSS Animations 🍔

Виконаний лише з допомогою HTML, SCSS та JavaScript!

👉 Відкрити посилання
👍104🔥4😁1
#post_from @Taraskin777

Допоки React Compiler ще не готовий, варто дбати про оптимізацію своїх React-застосунків власноруч. Тому, якщо вам потрібно вдосконалити продуктивність вашого React-сайту, вам допоможе стаття на сайті DOU.

👉 Читати статтю
👍103🔥2🥰1🎉1
<meta name="viewport" content="width=device-width, initial-scale=1" /> 🔍

Всі це додають, але не всі знають, для чого оцей мета-тег майже на кожній веб-сторінці. А ця історія тягнеться ще з виходу першого iPhone в 2007 році.

Тому, якщо вам цікаво, що зламається, коли ви заберете цей тег, перегляньте коротке відео нижче.

👉 Дивитись відео

#shorts
👍162😱2🔥1
Zed і Theo Browne 👷

Менше місяця тому команда Zed відкрила доступ до свого репозиторію. Це певним чином додало інтересу з боку розробників до цього редактора. І от Theo Browne робив огляд на нього на своєму Youtube-каналі.

Якимось чином застосунок написаний на Rust при скролі поводився гірше ніж VS Code, який написаний на JS. Не найкраща реклама.

То ж що зробила команда Zed? В той час вони перебували в одному місті, що і Theo, тому завітали до нього в гості і прямо в нього на кухні на його ноутбуці виправили помилку. Виявилось, що на MacBook з ProMotion рендеринг поводився не так, як вони очікували.

Здається, це дуже класний приклад того, як потрібно ставитись до свого продукту та його користувачів.

User: "it doesn't work on my machine"
Most developers: "not sure how to reproduce this so oh well"
Zed: knocks on door


👉 Відкрити посилання на Zed
👉 Дивитися відео

#news
👍12🔥821
😁8👍52