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

Чат: @web_overflow_chat
Співпраця: @web_overflow_support
Автори: @lluchkaa & @anastasiia_tarasenko
加入频道
Почему не стоит использовать moment.js?

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

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

Но, вернемся к нашему вопросу - почему все таки не стоит использовать moment.js?

Moment.js создает собственный объект для работы с датами. Это немного усложняет работу и приводит к многим багам, особенно, если вам принципиально, чтобы на входе и на выходе был объект Date.

Изменяемость (mutable) — еще одна трудность, с которой можно столкнуться при работе с moment.js. Например, иногда значения даты могут неожиданно изменяться, поскольку объекты даты moment.js меняют свое собственное состояние.

Отличной альтернативой moment.js есть библиотека date-fns. В своем нынешнем проекте я ее использую и пока что (аминь) проблем не было, в отличии от moment.js, который я использовала раньше. Также могу заметить, что date-fns намного быстрее, он использует объект Date, а не создает свой, и самое главное - он иммутабельный (то есть, не будет неожиданно изменять ваши объекты, а будет создавать новые).

Больше о сравнении moment.js и date-fns можно почитать здесь - читать статью

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

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

#interview #собеседование
👍4🔥3🤩3
Так какого же цвета будет текст?
Anonymous Quiz
14%
red
24%
blue
19%
green
42%
yellow
👍72🤩2
#todo Зарегистрироваться на Stack Overflow
👍2🎉21
Я ОЧЕНЬ УПРЯМАЯ!

Если я уже нашла для себя удобную библиотеку, инструмент, среду разработки, фреймворк и многое другое - я буду его использовать ВСЕГДА и очень редко буду смотреть альтернативы, потому что, во первых, привыкла, во вторых, уверенна, что лучше не найду. Это мой огромный баг, как программиста. Но сори, мы все не идеальные.

Мне очень повезло, что у меня практически все друзья программисты, от которых я могу услышать что-то новое и заинтересоваться, может все таки стоит посмотреть к той или иной библиотеке, и самое главное - у меня есть Юра, который даже может заставить меня попробовать использовать что-то другое. Так, я познакомилась с Redux Toolkit, начала использовать Formik и мне стыдно об этом говорить, но, наконец-то, Настя начала использовать grid (это модуль CSS, который определяет систему макета на основе двумерной сетки, оптимизированную для дизайна пользовательского интерфейса - так говорит google).

Всегда я использовала flexbox. Для всего. Даже если было очевидно, что нужно в этом случае использовать grid. Придумывала много интересных лайфхаков, с которых Юра еще до сих пор смеется. Короче, делала все, что бы не использовать grid.

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

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

И если вы, как и я, не очень знаете grid - вот вам игра, для того, чтобы его выучить. Ловите - https://cssgridgarden.com/

#experience #опыт
🔥32🤩1
Много лет назад, когда я был на стажировке и получил свое первое задание - я поплыл где-то на 2 строке, которая гласила, что нужно использовать платформу Firebase. Именно тогда я впервые узнал, что это такое.

А сегодня я постараюсь вкратце объяснить, как вы можете его использовать. Представим, что мы хотим написать сайт-приложение, где будем коллекционировать покемонов. Фронденд часть написать мы можем, а с бекендом и не дружим, и не знаем, стоит ли его тут писать.

Для начала хорошо бы сохранять информацию о суперсилах. Вот берем и используем Firebase database (там на самом деле их два типа, но сейчас не об этом). И никакого бекенда, просто база данных с фронта. Если знаете, что такое JSON, тогда уже примерно понимаете, как сохраняются данные в базе.

Данные сохранили, но как же картиночки? Тут поможет Storage, куда можно сохранять файлы, ну и получать их позже так же без всякого бекенда.

А чтобы какой-нибудь школьник не украл у вас вашего покемона - добавим авторизацию. Можно через Google, телефон или email.

Вроде замечательный сайт получился, осталось только открыть для всех. Просто воспользуемся Hosting, и даже Билл Гейтс сможет коллекционировать ваших покемонов.

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

А еще я заработал 10$ на Upwork, когда помог другому программисту с Firebase 😉

Регистрируйтесь и создавайте свои приложения по ссылке ниже ⬇️

Открыть Firebase

#article #статья
👍3🔥2🤩1
Как изучать программирование?

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

В свое время, нас с Юрой пригласили попробовать свои силы в одну компанию, но перед этим нам скинули материалы, которые нужно было изучить. Так вот:

1. Создайте план изучения материалов.

Нам скинули одну доку в которой просто были ссылки на разные сайты. НО, они были структурированные по очереди: сначала HTML, CSS, потом JS, TS и потом уже некоторые углубленные темы. И это было очень удобно. Мы по очереди все учили и не бросались с одной темы на другую.

2. Практика и еще раз практика.

Мне очень легко все заучить. Но, к сожалению, это не помогает в программировании, а даже наоборот. Если вы не закрепляете пройденный материал практикой, через пару дней вы уже все забудете. Поэтому не ленитесь открывать редактор, пробовать что-то писать, разбираться, почему ваш код работает или нет, углубляться и закреплять материал.

3. Давайте себе отдыхать.

Это было ужасное время. Целый день я проводила в университете, вечер за лабораторными, а ночью пыталась учить материал. И не удивительно, что мне все быстро надоедало и я могла забросить изучение на неделю, а то и на две. Поэтому грамотно распределяйте время на работу и отдых, что бы не перегорать и что бы вы кайфовали от того, что делаете. И это касается не только программирование.

4. Не расстраивайтесь, если вы сразу все не понимаете.

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

5. Найдите себе товарища “по несчастью”.

Нам очень повезло, что мы учились параллельно. Мы могли спрашивать друг друга: “А на какой ты теме? Ого, я еще на этой. Ускорюсь значит немного. А ту тему ты понял? Ааха, я тоже нифига не поняла. Тогда можна пока забить”. Если бы мы не учились одновременно, я бы давно закинула всю эту затею. И поэтому, советую и вам найти товарищей и учиться вместе, чтобы помогать друг другу и если уже один решал сдаться, другой бы не давал ему это сделать.

Интересно, может у вас есть какие-то кейсы, которые помогли вам в изучении программирования? ⬇️

#experience #опыт
5👍3🔥2😱1💯1
#todo Подписаться на 3 друзей в Github
👍2🔥2
Что такое GraphQL?

Примерно полгода назад, когда я активно искала новую компанию и проходила много собеседований, мне на каждом (и я не шучу) попадался этот вопрос. Спрашивала у Юры, он сказал, что у него это спрашивали через раз. Я никогда специально не изучала этот вопрос, но на моем старом проекте был очень крутой тимлид, который однажды предложил попробовать перейти на GraphQL, потому что это было бы отличным решением наших проблем на том проекте. Он показал документацию, как оно все работает и я в общих чертах поняла, что это собой представляет, поэтому знала, что ответить на собеседованиях. Если что, мы так и не использовали GraphQL.

Так вот, GraphQL - это язык запросов для API для получения данных. Это альтернатива REST API. Он позволяет клиенту точно указать, какие данные ему нужны. То есть, когда вы кидаете запрос, вы можете точно указать, что вы хотите получить. Например, на том проекте, о котором я говорила раньше, мне приходила кучу ненужных и сложных данных. Если бы мы юзали GraphQL, я бы могла просто точно указать, что мне нужно.

Если разбираться на покемонах, то на главной странице вам нужна только картинка и имя покемона. При запросе вы это указываете. А вот когда вы на персональной страницы покемона, тогда вам нужно сделать запрос, в котором вы будет указывать все детали.

Нашла вам хорошую статью, где вы сможете поподробнее почитать о GraphQL. Залетайте.

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

#interview #собеседование
👍32
2🔥2👍1
#todo Найти и скачать себе полезную книгу по программированию (можно отсюда)
👍2🤩2
Всем привет, Юра на связи.

Уже многим известно, что сейчас у меня есть активный проект на Svelte. Лично мое мнение о фреймворке я уже описывал выше, и пока что, оно не изменилось.

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

Интересно еще то, что создатель Svelte - Rich Harris присоединился к Vercel (компания-создатель Next.js) чтобы “делать web”. Так что есть большие шансы, что скоро увидим еще что-то интересное.

Все же, на данный момент, React остается топ-1 инструментом для создания web-приложений, так что, я думаю, среди нас тут немало тех, кто с ним знаком. И сегодня я хочу чтобы вы использовали свои знания для того чтобы понять Svelte-код. На Medium вышла статья (только первая часть), в которой автор показал главные концепты React и их реализацию в Svelte. Как по мне, то получилось довольно информативно и понятно.

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

Для тех, кто хочет попробовать Svelte - Svelte Tutorial

#article #статья
🔥32