Можно ли мутировать объект?
Поговорим немного о мутациях. Не о черепашках ниндзя, а о мутациях объектов в JS. Сам язык дает нам довольно много возможностей, одна из них - работа с объектами через ссылки на них. Ребята, которые работали на C++, немного больше понимают как это работает, но это сейчас не главное. Имея ссылку, мы можем делать почти все что угодно с данными, и главный вопрос - стоит ли перестать мутировать объекты, чтобы обезопасить себя от неожиданных “мутантов”?
Ниже я дам еще ссылку на статью, где вы сможете почитать о разных мнениях, но пока ловите мое.
Скорее всего вы работаете с библиотекой или фреймворком. Если да - слушайте тех, кто создавал их. Например, в React почти всегда лучше не мутировать данные. Redux также должен получать новый объект стейта (о Redux Toolkit читайте выше). А Svelte, например, будет ререндерить компоненту после нового присваивания и иногда можно увидеть такую интересную конструкцию:
Тут можете почитать статью, НО почитайте заодно и комментарии к ней. Статья только для того, чтобы было еще над чем подумать.
Читать статью
Читать вопрос к статье
#interview #собеседование
Поговорим немного о мутациях. Не о черепашках ниндзя, а о мутациях объектов в JS. Сам язык дает нам довольно много возможностей, одна из них - работа с объектами через ссылки на них. Ребята, которые работали на C++, немного больше понимают как это работает, но это сейчас не главное. Имея ссылку, мы можем делать почти все что угодно с данными, и главный вопрос - стоит ли перестать мутировать объекты, чтобы обезопасить себя от неожиданных “мутантов”?
Ниже я дам еще ссылку на статью, где вы сможете почитать о разных мнениях, но пока ловите мое.
Скорее всего вы работаете с библиотекой или фреймворком. Если да - слушайте тех, кто создавал их. Например, в React почти всегда лучше не мутировать данные. Redux также должен получать новый объект стейта (о Redux Toolkit читайте выше). А Svelte, например, будет ререндерить компоненту после нового присваивания и иногда можно увидеть такую интересную конструкцию:
someObject = someObject
Если хотите мутировать что-то, убедитесь, что данные локальные. Не мутируйте параметр функции, если уже надо что-то поменять - возвращайте новый объект, как результат функции. Тут можете почитать статью, НО почитайте заодно и комментарии к ней. Статья только для того, чтобы было еще над чем подумать.
Читать статью
Читать вопрос к статье
#interview #собеседование
👍3🔥2❤1
Что из следующего НЕ является допустимой единицей длины CSS?
Anonymous Quiz
39%
dm
25%
cm
11%
em
26%
mm
😱5🔥4👍3👏1🤯1
Formik
На прошлой недели очень много работала с формами. И если бы не Formik - работала б до сих пор.
Formik - это библиотека, которая позволяет легко создавать формы в React.
Да, мы заметили, что у нас тут есть много людей, которые пишут на реакт. И я прям уверенна, что многие о ней слышали и используют.
Но когда-то я допиливала проект после одного “синьйора”, которому бы не помешали знания об этой библиотеке. Для каждого поля в форме он использовал отдельную переменную, потом отдельную переменную для ошибки и еще для чего того. Короче, для простой формы у него вышло ну прям очеееень мнооого переменных и было очень трудно там что-то исправлять.
Formik - это не единственная хорошая библиотека для форм. Поэтому будет интересно узнать, а как вы обрабатываете формы ⬇️
Читать документацию
#library
На прошлой недели очень много работала с формами. И если бы не Formik - работала б до сих пор.
Formik - это библиотека, которая позволяет легко создавать формы в React.
Да, мы заметили, что у нас тут есть много людей, которые пишут на реакт. И я прям уверенна, что многие о ней слышали и используют.
Но когда-то я допиливала проект после одного “синьйора”, которому бы не помешали знания об этой библиотеке. Для каждого поля в форме он использовал отдельную переменную, потом отдельную переменную для ошибки и еще для чего того. Короче, для простой формы у него вышло ну прям очеееень мнооого переменных и было очень трудно там что-то исправлять.
Formik - это не единственная хорошая библиотека для форм. Поэтому будет интересно узнать, а как вы обрабатываете формы ⬇️
Читать документацию
#library
🤔2🤩2
На днях мне пришел емейл о том что Serverless Framework запустил бету 3 версии. З самим serverless я познакомился больше года назад, и потом надолго забыл о нем. Так вот, что такое этот Serverless и с чем его едят?
Обычный сервер запущен постоянно, ждет ваших запросов, обрабатывает и отвечает. Одна из проблем - вам не всегда нужно много ресурсов на стороне сервера, или наоборот - в час пик хотелось бы побольше мощности.
Serverless’у от вас нужен только код, набор функций, которые запускать на определенные запросы. И не нужно играть с всякими настройками сервера. Такой сервис дают вам все тех-гиганты (Amazon, Google, Microsoft). Пример - Firebase (о котором мы писали раньше) Cloud Functions - представитель serverless.
Еще коротко о том, что это такое можно посмотреть по ссылке ниже ⬇️
Также можете почитать, что такое Serverless Framework
Смотреть видео
Открыть сайт
#article #статья
Обычный сервер запущен постоянно, ждет ваших запросов, обрабатывает и отвечает. Одна из проблем - вам не всегда нужно много ресурсов на стороне сервера, или наоборот - в час пик хотелось бы побольше мощности.
Serverless’у от вас нужен только код, набор функций, которые запускать на определенные запросы. И не нужно играть с всякими настройками сервера. Такой сервис дают вам все тех-гиганты (Amazon, Google, Microsoft). Пример - Firebase (о котором мы писали раньше) Cloud Functions - представитель serverless.
Еще коротко о том, что это такое можно посмотреть по ссылке ниже ⬇️
Также можете почитать, что такое Serverless Framework
Смотреть видео
Открыть сайт
#article #статья
🔥3👍2
Всем привет!
Сегодня понедельник - самый тяжелый день недели (ну для нас уж точно). Поэтому мы решили вас особо не напрягать (и самим не напрягаться :) ) и кинуть экстеншн с котиками для VS Code 😼
Ловите - https://marketplace.visualstudio.com/items?itemName=tonybaloney.vscode-pets
Хорошей и продуктивной вам недели 💛
Сегодня понедельник - самый тяжелый день недели (ну для нас уж точно). Поэтому мы решили вас особо не напрягать (и самим не напрягаться :) ) и кинуть экстеншн с котиками для 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 принимает аргументы в виде массива.
Подробнее о данных методах можете почитать здесь - читать статью .
#interview #собеседование
Начнем с того, что же это такое. Как мы все знаем, в JavaScript функция тоже является объектом – объектом Function и тоже имеет прототип, свойства, методы, в том числе мощные методы call() и apply(). Эти методы позволяют вызывать функцию так, будто она является методом некоторого объекта. Первый аргумент методов call() и apply() – это объект, для которого выполняется функция. Этот аргумент становится значением ключевого слова this в теле функции.
Так какая же у них разница? Единственная разница между call и apply заключается в том, что call требует, чтобы аргументы передавались один за другим, а apply принимает аргументы в виде массива.
func.call(context, arg1, arg2, ...);
func.apply(context, [arg1, arg2, ...]);
Вот и все!)Подробнее о данных методах можете почитать здесь - читать статью .
#interview #собеседование
👍6😱2❤1
Какой output у этого кода?
Anonymous Quiz
19%
ReferenceError: NaN is not defined
38%
Enter correct age, please
15%
I think you are 18 years old
29%
I think you are NaN years old
🔥7🤯4❤1👍1😁1🤔1
Хотим поделится интересным сайтом OverApi, где можете найти небольшую шпаргалку по многим вещам из мира айти.
Открыть ссылку
#tips #советы
Открыть ссылку
#tips #советы
🔥3❤2
История на подумать.
Я сейчас в пассивном (прям очееень пассивном) поиске какой-нибудь халтуры (по-модному - part-time work). И вот на днях Юре написал один рекрутер (по совместительству основатель компании), что у них на фирме запускается очень хороший проект и может ли он к ним присоединится. Так как у Юры и так уже есть и основная, и парт-тайм работа, он посоветовал меня и ещё одного нашего друга. Вчера у меня было интервью (если его можно так назвать), мне просто задали три задачки и вопросы по ним. Мне это совсем не понравилось, но все же. И ещё сказали сделать тестовое. «Там работы на 4 часа, если ты конечно хороший программист». Ну типа… Конечно, я знаю, что программисты зажрались, ничего не хотят бесплатно делать и тд. Но я, если честно, не хочу тратить своё время на тестовое и ещё не понятно, возьмут ли меня. С другой стороны, проект очень лёгкий (ну прям очень) и платить вроде собираются хорошо (но как мы все знаем, это дело относительное).
Так вот, вопрос на подумать, как вы относитесь к тестовым заданиям?
Вот мое, не очень уверенное мнение: если это твоя первая компания и ты только начинаешь - это супер. Потому что ты в плюсе в любом случае - практикуешься, делаешь реальный проект + тебя ещё проревьювлят, а потом может и возьмусь в компанию. А если нет - у тебя уже есть неплохой проект в портфолио. Что греха таить, в первую свою компанию я тоже делала тестовое, и сделала его не за месяц, как нужно было, а намного дольше. Но сейчас, когда у меня за спиной много коммерческих проектов и понятно, что код писать я умею, я не вижу смысла в тестовом + я бы ещё поняла, если я хотела устроиться на основную работу, но когда люди знают, что у меня она есть и это просто халтурка, ну хз… (нормального мнения не получилось, татададам 😂)
Я сейчас в пассивном (прям очееень пассивном) поиске какой-нибудь халтуры (по-модному - part-time work). И вот на днях Юре написал один рекрутер (по совместительству основатель компании), что у них на фирме запускается очень хороший проект и может ли он к ним присоединится. Так как у Юры и так уже есть и основная, и парт-тайм работа, он посоветовал меня и ещё одного нашего друга. Вчера у меня было интервью (если его можно так назвать), мне просто задали три задачки и вопросы по ним. Мне это совсем не понравилось, но все же. И ещё сказали сделать тестовое. «Там работы на 4 часа, если ты конечно хороший программист». Ну типа… Конечно, я знаю, что программисты зажрались, ничего не хотят бесплатно делать и тд. Но я, если честно, не хочу тратить своё время на тестовое и ещё не понятно, возьмут ли меня. С другой стороны, проект очень лёгкий (ну прям очень) и платить вроде собираются хорошо (но как мы все знаем, это дело относительное).
Так вот, вопрос на подумать, как вы относитесь к тестовым заданиям?
Вот мое, не очень уверенное мнение: если это твоя первая компания и ты только начинаешь - это супер. Потому что ты в плюсе в любом случае - практикуешься, делаешь реальный проект + тебя ещё проревьювлят, а потом может и возьмусь в компанию. А если нет - у тебя уже есть неплохой проект в портфолио. Что греха таить, в первую свою компанию я тоже делала тестовое, и сделала его не за месяц, как нужно было, а намного дольше. Но сейчас, когда у меня за спиной много коммерческих проектов и понятно, что код писать я умею, я не вижу смысла в тестовом + я бы ещё поняла, если я хотела устроиться на основную работу, но когда люди знают, что у меня она есть и это просто халтурка, ну хз… (нормального мнения не получилось, татададам 😂)
❤5🔥2
Всех с началом новой недели. Так как сегодня день влюбленных, не будем занимать ни у себя, ни у вас много времени. И в честь праздника, вот вам ссылка на VSinder - Тиндер для VSCode. Вместо фотки будет код, но в случае совпадения, хотя бы будете уверены в том, что ваша половинка пишет нормальный код.
Ссылка на extension
Ссылка для IOS
Ссылка для Android
Ссылка на extension
Ссылка для IOS
Ссылка для Android
🔥4❤3
Сегодня вторник, а что это значит? Это значит, что пора разбирать следующий часто задаваемый вопрос на собеседованиях. И это - как работает this в JavaScript?
Сразу говорю, тема непростая и запутанная. Говоря максимально простым языком, значение this зависит от того, как вызывается функция. Применяются следующие правила:
1. Если ключевое слово
2. Если для вызова/создания функции используются
3. Если функция вызывается как метод, например,
4. Если функция вызывается без контекста, то есть она вызывается без условий, описанных в пунктах выше, то
5. Если применяются несколько из вышеперечисленных правил, то правило, которое выше выигрывает и устанавливает значение
6. Если функция является стрелочной функцией, то она игнорирует все вышеописанные правила и получает значение
Сразу говорим, правила сочиняли не мы, а нашли в очень крутой статье, которая максимально просто описывает этот вопрос.
Читать статью
#interview #собеседование
Сразу говорю, тема непростая и запутанная. Говоря максимально простым языком, значение 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🔥3❤2
Какой output у этого кода?
Anonymous Quiz
20%
I love JS.
58%
I love TS.
4%
I love language.
19%
I love undefined.
🔥5😁5❤2
Как проходят ваши рабочие будни? Надеемся, что продуктивно и вы уже построили крутые планы на выходные.
Все знают, что программистам важен английский язык. Ловите интересный сайт, на котором можете искать конкретную фразу в рандомных видео. Наш преподаватель по английскому иногда нам его включает, когда мы коверкаем слова (а мы любим такое дело). Так действительно лучше запоминается!
Открыть сайт
Все знают, что программистам важен английский язык. Ловите интересный сайт, на котором можете искать конкретную фразу в рандомных видео. Наш преподаватель по английскому иногда нам его включает, когда мы коверкаем слова (а мы любим такое дело). Так действительно лучше запоминается!
Открыть сайт
❤2👍2🔥2
Loader
Сегодня хотим поделиться своей идеей - как делать лоадер?
На всех проектах, на которые я попадала, был глобальный лоадер, записаный в redux, который мог принимать true или false. Если true - отображался компонент лоадера, который закрывал весь контент, когда false - пропадал. Вроде бы идея неплохая. НО, а если у вас 2 или больше actions, первый то action отработает и поставит loader=false. А другие то actions ещё работают. Хм.. проблема.
На своём новом проекте, который я настраивала с нуля, я сделала хитрее. Глобальный лоадер я оставила, только он у меня не boolean, а массив (массив actions). Когда запускаются actions, я добавляю их тип в этот массив. Если массив не пустой - значит loader должен делать своё дело. Когда action закончил своё дело или произошла ошибка - я удалая его тип с массива. Если массив пуст - лоадер пропадает. Вот и все!
Ещё я использую redux toolkit. Это вообще бомба. У меня эта логика заняла не больше, чем 10 строк!!
Надеюсь, вам было интересно. А нам ещё интересней узнать, как вы делаете лоадер (такую вроде бы простую, но хитрую штуку) ⬇️
#tips #советы
Сегодня хотим поделиться своей идеей - как делать лоадер?
На всех проектах, на которые я попадала, был глобальный лоадер, записаный в redux, который мог принимать true или false. Если true - отображался компонент лоадера, который закрывал весь контент, когда false - пропадал. Вроде бы идея неплохая. НО, а если у вас 2 или больше actions, первый то action отработает и поставит loader=false. А другие то actions ещё работают. Хм.. проблема.
На своём новом проекте, который я настраивала с нуля, я сделала хитрее. Глобальный лоадер я оставила, только он у меня не boolean, а массив (массив actions). Когда запускаются actions, я добавляю их тип в этот массив. Если массив не пустой - значит loader должен делать своё дело. Когда action закончил своё дело или произошла ошибка - я удалая его тип с массива. Если массив пуст - лоадер пропадает. Вот и все!
Ещё я использую redux toolkit. Это вообще бомба. У меня эта логика заняла не больше, чем 10 строк!!
Надеюсь, вам было интересно. А нам ещё интересней узнать, как вы делаете лоадер (такую вроде бы простую, но хитрую штуку) ⬇️
#tips #советы
👍5❤3🔥2👎1
Всем привет!
Ребята, мы взяли небольшой отпуск и поэтому пропадём на недельку. Но мы обещаем вернуться!!
Желаем вам продуктивной недели, но при этом, не забывать об отдыхе 💛
Ребята, мы взяли небольшой отпуск и поэтому пропадём на недельку. Но мы обещаем вернуться!!
Желаем вам продуктивной недели, но при этом, не забывать об отдыхе 💛
👍7🔥7👎3🎉3❤1🥰1😢1