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

Чат: @web_overflow_chat
Співпраця: @web_overflow_support
Автори: @lluchkaa & @anastasiia_tarasenko
加入频道
История на подумать.

Я сейчас в пассивном (прям очееень пассивном) поиске какой-нибудь халтуры (по-модному - part-time work). И вот на днях Юре написал один рекрутер (по совместительству основатель компании), что у них на фирме запускается очень хороший проект и может ли он к ним присоединится. Так как у Юры и так уже есть и основная, и парт-тайм работа, он посоветовал меня и ещё одного нашего друга. Вчера у меня было интервью (если его можно так назвать), мне просто задали три задачки и вопросы по ним. Мне это совсем не понравилось, но все же. И ещё сказали сделать тестовое. «Там работы на 4 часа, если ты конечно хороший программист». Ну типа… Конечно, я знаю, что программисты зажрались, ничего не хотят бесплатно делать и тд. Но я, если честно, не хочу тратить своё время на тестовое и ещё не понятно, возьмут ли меня. С другой стороны, проект очень лёгкий (ну прям очень) и платить вроде собираются хорошо (но как мы все знаем, это дело относительное).

Так вот, вопрос на подумать, как вы относитесь к тестовым заданиям?

Вот мое, не очень уверенное мнение: если это твоя первая компания и ты только начинаешь - это супер. Потому что ты в плюсе в любом случае - практикуешься, делаешь реальный проект + тебя ещё проревьювлят, а потом может и возьмусь в компанию. А если нет - у тебя уже есть неплохой проект в портфолио. Что греха таить, в первую свою компанию я тоже делала тестовое, и сделала его не за месяц, как нужно было, а намного дольше. Но сейчас, когда у меня за спиной много коммерческих проектов и понятно, что код писать я умею, я не вижу смысла в тестовом + я бы ещё поняла, если я хотела устроиться на основную работу, но когда люди знают, что у меня она есть и это просто халтурка, ну хз… (нормального мнения не получилось, татададам 😂)
5🔥2
Всех с началом новой недели. Так как сегодня день влюбленных, не будем занимать ни у себя, ни у вас много времени. И в честь праздника, вот вам ссылка на VSinder - Тиндер для VSCode. Вместо фотки будет код, но в случае совпадения, хотя бы будете уверены в том, что ваша половинка пишет нормальный код.

Ссылка на extension
Ссылка для IOS
Ссылка для Android
🔥43
Сегодня вторник, а что это значит? Это значит, что пора разбирать следующий часто задаваемый вопрос на собеседованиях. И это - как работает this в JavaScript?

Сразу говорю, тема непростая и запутанная. Говоря максимально простым языком, значение this зависит от того, как вызывается функция. Применяются следующие правила:

1. Если ключевое слово new используется при вызове функции, this внутри функции является совершенно новым объектом.

2. Если для вызова/создания функции используются apply, call или bind, то this внутри функции — это объект, который передается в качестве аргумента.

3. Если функция вызывается как метод, например, obj.method(), то this — это объект, к которому принадлежит функция.

4. Если функция вызывается без контекста, то есть она вызывается без условий, описанных в пунктах выше, то this является глобальным объектом. В браузере это объект window. В строгом режиме (’use strict’), this будет undefined вместо глобального объекта.

5. Если применяются несколько из вышеперечисленных правил, то правило, которое выше выигрывает и устанавливает значение this.

6. Если функция является стрелочной функцией, то она игнорирует все вышеописанные правила и получает значение this из лексического окружения во время ее создания.

Сразу говорим, правила сочиняли не мы, а нашли в очень крутой статье, которая максимально просто описывает этот вопрос.

Читать статью

#interview #собеседование
👍5🔥32
Какой output у этого кода?
Anonymous Quiz
20%
I love JS.
58%
I love TS.
4%
I love language.
19%
I love undefined.
🔥5😁52
Как проходят ваши рабочие будни? Надеемся, что продуктивно и вы уже построили крутые планы на выходные.

Все знают, что программистам важен английский язык. Ловите интересный сайт, на котором можете искать конкретную фразу в рандомных видео. Наш преподаватель по английскому иногда нам его включает, когда мы коверкаем слова (а мы любим такое дело). Так действительно лучше запоминается!

Открыть сайт
2👍2🔥2
Loader

Сегодня хотим поделиться своей идеей - как делать лоадер?

На всех проектах, на которые я попадала, был глобальный лоадер, записаный в redux, который мог принимать true или false. Если true - отображался компонент лоадера, который закрывал весь контент, когда false - пропадал. Вроде бы идея неплохая. НО, а если у вас 2 или больше actions, первый то action отработает и поставит loader=false. А другие то actions ещё работают. Хм.. проблема.

На своём новом проекте, который я настраивала с нуля, я сделала хитрее. Глобальный лоадер я оставила, только он у меня не boolean, а массив (массив actions). Когда запускаются actions, я добавляю их тип в этот массив. Если массив не пустой - значит loader должен делать своё дело. Когда action закончил своё дело или произошла ошибка - я удалая его тип с массива. Если массив пуст - лоадер пропадает. Вот и все!

Ещё я использую redux toolkit. Это вообще бомба. У меня эта логика заняла не больше, чем 10 строк!!

Надеюсь, вам было интересно. А нам ещё интересней узнать, как вы делаете лоадер (такую вроде бы простую, но хитрую штуку) ⬇️

#tips #советы
👍53🔥2👎1
Всем привет!
Ребята, мы взяли небольшой отпуск и поэтому пропадём на недельку. Но мы обещаем вернуться!!

Желаем вам продуктивной недели, но при этом, не забывать об отдыхе 💛
👍7🔥7👎3🎉31🥰1😢1
Виключайте світло. Цікавого контенту не буде.

Зараз ми не можемо ні працювати, ні спокійно спати і звичайно вести цей блог ми також не можемо.

Ми хочемо миру. Ми хочемо мирне небо над нашими головами. Ми хочемо бути поруч з рідними і друзями.

Якщо ви підтримуєте дії путіна - допобачення! Бажаємо вам пережити те, що зараз переживає кожен українець.

Ми вистоїм. За нами правда.

🇺🇦 Слава Україні!
39👎14👍11👏1
Друзі, ви навіть не уявляєте, як ми скучили за вами. Ми віримо, що ви та ваші рідні у безпеці 🙏

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

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

Також хочемо нагадати, що ми все здолаємо і дуже скоро!
Все буде Україна 💙💛
👍119🥰4👎2
В чому різниця Spread і Rest операторів?

Доволі часто можна зустріти таке питання на співбесідах. І його особливість в тому, що по суті, ми використовуємо ці оператори майже кожен день, але не всі знають, хто як обзивається. Наприклад, я на одному з перший інтерв'ю, коли в мене запитали це питання, говорила: “иии, ну цей, три точки, три точки”. Це максимум, що я могла з себе видавити. Тому давайте запам’ятовуємо раз і назавжди.

Давайте по простому, на прикладі масивів: Rest збирає дані в масив, spread, навпаки, розділяє дані масиву.

const [a, b, …rest] = [1, 2, 3, 4]; // a: 1, b: 2, rest: [3, 4]

В цьому випадку, ми зібрали 3, 4 в змінну rest і отримали масив.

const arr = [1,2,3];
const newArr = [...arr, 4]; // newArr: [1, 2, 3, 4]

А в цьому випадку масив arr розібрали на 1,2,3.

Тай таке.

Детальніше про ці два оператори, можете почитати тут: читати статтю

Там є дуужее багато прикладів, тому сподіваємось, буде наглядно і корисно 😉

#interview
🔥52🤔2
GitHub Copilot

Ми вже десь вище писали за GitHub Copilot (а точніше тут).
Кароче, нам обом дали доступ!

І в нас є чудова новина: вони зараз почали активно відкривати доступи і тому ви також можете підписатись і швидко (амінь) поставити цей екстеншин. Посилання тут:

Відкрити сайт

Якщо коротко про наші враження, то Юрі він дуже зайшов і всім нашим знайомим. Починаєш щось писати - на тобі зразу готовий функціонал. Час дуже економить. Дійсно, розумна штука. Аж страшно!

А ось я як завжди. В мене зараз два активних проекта і в кожному я використовую Tailwind CSS (про мої враження від нього я напишу пізніше) + я працюю в Web Storm. І коли я включаю Copilot в мене середовище перестає підказувати tailwind і взагалі виключаються всі звичайні підказки (можливо якась фігня з версією Web Storm, як завжди). Тому я поки з ним не дуже подружилась. А шкода.

А ну да, Юрі ще досі цікаво, чи він не вчиться на нашому коді і чи не буде він його потім красти (наче комусь нада мій гавнокод).

Тому дуже чекаємо на ваші відгуки про цю круту штуку!

#experience
😁6👍2🤩21👎1🔥1
Всім привіт!

Нещодавно мені прилетіла задача, винюхати щось таке, на чому можна було б почати новий проект. Взагалі вибір був з двох - Next.js та Remix. Якщо хтось їх ще не зустрічав - це фреймворки для написання React додатків. Вони дозволяють рендерити сторінки на сервері, що робить сайт швидшим, та мають ще ряд переваг. Так як з Next.js я вже знайомий, головна ціль була зрозуміти чи буде Remix кращим вибором.

Сам фреймворк створений розробниками react-router. Також він дуже швидко білдиться, так як не використовує бандлерів, по типу, webpack чи rollup. Взагалі його творці повернулись до основ web-додатків. Самі запити відбуваються на стороні сервера, а клієнт робить їх за допомогою старих добрих форм. Якщо слідувати всім принципам фреймворку, то на клієнті можна обійтись і без підтримки Javascript. Але в свою чергу, це змушує вас робити все незручним (на мою думку) способом.

Моя думка сходиться з думкою автора відео нижче - Remix більше підходить для додатків з відображенням даних, наприклад, певної аналітики. Тому зараз моїм вибором став Next.js. В додачу виходу нової версії React, думаю, фреймворки теж отримають значні покращення.

В будь-якому випадку буде цікаво почути і вашу думку!

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

Читати документацію

#article
👍72