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

Чат: @web_overflow_chat
Співпраця: @web_overflow_support
Автори: @lluchkaa & @anastasiia_tarasenko
加入频道
Пятница, конец недели, скоро отдых. Уже появляются люди, которые сдались и первыми убирают елку. Еще кто-то доедает последнюю тарелку оливье, другие строят планы, садятся на диету, начинают писать на своем уже чистом листе.

Раньше у меня в это время года была еще привычка чистить полностью систему из-за множества хлама (материалы для сессии).

Так как в веб-разработке без javascript никуда, придется ставить себе на компьютер node. На официальном сайте две красивых кнопки - скачать LTS версию либо последнюю (ну-ка напишите в коменты разницу между ними).

И тут я посоветую вам не спешить и поставить себе уже не новую, но полезную утилиту nvm, что в переводе - менеджер версий node. Очень простая установка и использование, любая версия nodejs в любое время.

Также дам ответ на вопрос зачем:
- в случае обновления все происходит очень просто;
- бывает такое, что к вам попадает проект на старой версии node, а еще хуже, у вас одновременно будет два или больше проектов на разных версиях.

Репозиторий nvm
Репозиторий nvm для Windows (да да, для вас отдельная)

#tips #советы
👍21🔥1🤩1
ГРАМОТНОСТЬ - ЭТО ОЧЕНЬ ВАЖНО.

Да, это пишу я, которая может в одном предложении сделать больше ошибок, чем само предложение.

Если вы программист, техничный человек - это вас не освобождает от грамотности (а жаль). Вы общаетесь с коллегами, заказчиками и пишите по сотню строк кода в день. Если вы делаете много ошибок в словах - это выглядит непрофессионально, согласитесь. Вит, привет твоему specimAn.

Поэтому мы с Юрой всегда ставим расширения для проверки орфографии. Ловите:

Для VS Code - открыть ссылку
Для Chrome - открыть ссылку

#tips #советы
👍42🤩1
Можно ли мутировать объект?

Поговорим немного о мутациях. Не о черепашках ниндзя, а о мутациях объектов в JS. Сам язык дает нам довольно много возможностей, одна из них - работа с объектами через ссылки на них. Ребята, которые работали на C++, немного больше понимают как это работает, но это сейчас не главное. Имея ссылку, мы можем делать почти все что угодно с данными, и главный вопрос - стоит ли перестать мутировать объекты, чтобы обезопасить себя от неожиданных “мутантов”?

Ниже я дам еще ссылку на статью, где вы сможете почитать о разных мнениях, но пока ловите мое.

Скорее всего вы работаете с библиотекой или фреймворком. Если да - слушайте тех, кто создавал их. Например, в React почти всегда лучше не мутировать данные. Redux также должен получать новый объект стейта (о Redux Toolkit читайте выше). А Svelte, например, будет ререндерить компоненту после нового присваивания и иногда можно увидеть такую интересную конструкцию:
someObject = someObject

Если хотите мутировать что-то, убедитесь, что данные локальные. Не мутируйте параметр функции, если уже надо что-то поменять - возвращайте новый объект, как результат функции.

Тут можете почитать статью, НО почитайте заодно и комментарии к ней. Статья только для того, чтобы было еще над чем подумать.

Читать статью
Читать вопрос к статье

#interview #собеседование
👍3🔥21
Что из следующего НЕ является допустимой единицей длины CSS?
Anonymous Quiz
39%
dm
25%
cm
11%
em
26%
mm
😱5🔥4👍3👏1🤯1
#todo Проголосовать за следующий полезный ответ на StackOverflow
👍21🥰1
Formik

На прошлой недели очень много работала с формами. И если бы не Formik - работала б до сих пор.

Formik - это библиотека, которая позволяет легко создавать формы в React.

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

Но когда-то я допиливала проект после одного “синьйора”, которому бы не помешали знания об этой библиотеке. Для каждого поля в форме он использовал отдельную переменную, потом отдельную переменную для ошибки и еще для чего того. Короче, для простой формы у него вышло ну прям очеееень мнооого переменных и было очень трудно там что-то исправлять.

Formik - это не единственная хорошая библиотека для форм. Поэтому будет интересно узнать, а как вы обрабатываете формы ⬇️

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

#library
🤔2🤩2
На днях мне пришел емейл о том что Serverless Framework запустил бету 3 версии. З самим serverless я познакомился больше года назад, и потом надолго забыл о нем. Так вот, что такое этот Serverless и с чем его едят?

Обычный сервер запущен постоянно, ждет ваших запросов, обрабатывает и отвечает. Одна из проблем - вам не всегда нужно много ресурсов на стороне сервера, или наоборот - в час пик хотелось бы побольше мощности.

Serverless’у от вас нужен только код, набор функций, которые запускать на определенные запросы. И не нужно играть с всякими настройками сервера. Такой сервис дают вам все тех-гиганты (Amazon, Google, Microsoft). Пример - Firebase (о котором мы писали раньше) Cloud Functions - представитель serverless.

Еще коротко о том, что это такое можно посмотреть по ссылке ниже ⬇️
Также можете почитать, что такое Serverless Framework

Смотреть видео
Открыть сайт

#article #статья
🔥3👍2
Всем привет!

Сегодня понедельник - самый тяжелый день недели (ну для нас уж точно). Поэтому мы решили вас особо не напрягать (и самим не напрягаться :) ) и кинуть экстеншн с котиками для VS Code 😼

Ловите - https://marketplace.visualstudio.com/items?itemName=tonybaloney.vscode-pets

Хорошей и продуктивной вам недели 💛
7
Привет! Сегодня разберём вопрос, который, я лично, не понимаю, почему так любят на собеседованиях. И это - какая разница между call и apply?

Начнем с того, что же это такое. Как мы все знаем, в JavaScript функция тоже является объектом – объектом Function и тоже имеет прототип, свойства, методы, в том числе мощные методы call() и apply(). Эти методы позволяют вызывать функцию так, будто она является методом некоторого объекта. Первый аргумент методов call() и apply() – это объект, для которого выполняется функция. Этот аргумент становится значением ключевого слова this в теле функции.

Так какая же у них разница? Единственная разница между call и apply заключается в том, что call требует, чтобы аргументы передавались один за другим, а apply принимает аргументы в виде массива.

func.call(context, arg1, arg2, ...);
func.apply(context, [arg1, arg2, ...]);

Вот и все!)

Подробнее о данных методах можете почитать здесь - читать статью .

#interview #собеседование
👍6😱21
🔥7🤯41👍1😁1🤔1
👍43
Хотим поделится интересным сайтом OverApi, где можете найти небольшую шпаргалку по многим вещам из мира айти.

Открыть ссылку

#tips #советы
🔥32
История на подумать.

Я сейчас в пассивном (прям очееень пассивном) поиске какой-нибудь халтуры (по-модному - 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