maxwell coding
208 subscribers
27 photos
1 video
89 links
Frontend разработка: новости, полезная информация, работа, практика, и многое многое другое.

Чат: @front_room
Download Telegram
👩‍💻 StackOverflow - опрос 2024.

🗓 В мае 2024 года более 65 000 разработчиков ответили на вопросы ежегодного опроса от StackOverflow, касательно разработки, технологий и инструментов, которые они используют и хотят изучить, искусственного интеллекта и опыта разработки на работе.

Вот некоторые результаты за последний год:

- 65 437 разработчиков из 185 стран участвовали в опросе;
- 62.3% из них использовали 👩‍💻 JavaScript;
- 48 019 из них поделились информацией о своих зарплатах;
- Согласно 82% ответов, онлайн-ресурсы являются главным выбором разработчиков для изучения кодинга;
- Erlang разработчики занимают первое место по самой высокой медианной зарплате 💰, далее тройку замыкают Elixir и Clojure. JavaScript даже и рядом не стоит 😭.

🔝 Топ стран:
1. США 🇺🇸
2. Германия 🇩🇪
3. Индия 🇮🇳
4. Великобритания 🇬🇧
...

🔗Ознакомиться с полной информацией можно тут - ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍4💯43
🤟 Кейс сейчас на проекте - отправка несколько картинок с формы в БД. Обработка каждой картинки и отправка это асинхронная операция. Для оптимизации надо все это обработать параллельно.

Какой из следующих методов лучше всего подойдет?
Anonymous Quiz
53%
Promise.all()
35%
Promise.allSettled()
4%
Promise.any()
8%
Promise.race()
2🔥11
▶️ Го на стрим!

😎 Буду кодить коммерческий FullStack проект - Админ панель.

🖥 Стек технологий:
- React
- TypeScript
- React Admin
- Firebase

🗓 Завтра, 29 августа, в 19:00 по МСК.

🙊 Расскажу про проект в техническом плане. У вас будет возможность вживую увидеть процесс работы и сможете задать вопросы.

🔗 Ссылка на стрим.
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍6🔥3😍1
▶️ Вторник/3 сентября/19:00 по МСК. Провожу стрим!

😎 Буду кодить тот же самый коммерческий FullStack проект - Админ панель.

🖥 Стек технологий:
- React
- TypeScript
- React Admin
- Firebase

💼 Будут реальные боевые задачи, рефакторинг, и т.д. и т.п.
🙊 Буду читать чат и отвечать на вопросы.

🔗 Ссылка на стрим.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍52😍11
☕️ Что думаете?

Я обычно интересовался у рекрутеров о формате собеса: общие вопросы будут и (или) технические тоже. Вроде всегда отвечали честно и я готовился к тому, что ожидал.

Но я никогда не спрашивал конкретно о чем могут спросить на тех. собесе, вот как на скриншоте. У вас такое было? Норм вообще так спрашивать?
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍4😍1👀1
☕️ Когда чашка кофе с утра выпита, но хочется еще - приходит на помощь декаф.
Please open Telegram to view this post
VIEW IN TELEGRAM
1💯633👍1
🌚Дополнение к моему посту ранее о рефакторинге (Ссылка):

- Зачем разработчику рефакторинг? (Видео)
- Зачем бизнесу рефакторинг? (Видео)

📖 Далее продолжу делиться полезной инфой по мере чтения книжки.

🛑Подпишись, чтобы не пропустить.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏1👌1
👩‍💻 Атомарные коммиты - маленькие шаги в разработке

☕️ Такие коммиты представляют из себя минимально возможные изменения, которые мы можем зафиксировать.

⭐️ Преимущества:

🛑С их помощью мы можем развивать и менять кодовую базу, держа её при этом валидной в каждый момент времени. Т.е. каждый такой коммит представляет из себя такое состояние проекта, которое запускается и работает без багов;
🛑Когда код валиден в каждом из коммитов, мы можем «путешествовать во времени» по репозиторию, переключаясь между разными коммитами;
🛑Маленькие шаги побуждают декомпозировать задачи на более простые;
🛑Возможность частой интеграции (Continuous Integration) - маленькие изменения часто сливаются в основную ветку, позволяя команде чаще синхронизировать изменения в коде между собой;
🛑Если это рефакторинг, то в любой момент можно его отложить и переключиться на более срочную задачу типа фикса багов на продакшене;
🛑И напоследок, маленькие шаги проще описывать в сообщениях к коммитам. Скоуп таких изменений укладывается в одно-два предложения, поэтому легче описать их смысл коротко и точно.

👍 Как я коммичу на примере функции:
🛑Написал функцию - коммит;
🛑Вызвал эту функцию в нужных местах - коммит;
🛑Изменил логику функции - коммит;
🛑Отформатировал код (eslint, prettier) - коммит.

🙅‍♂️ Как не стоит делать:
🛑Смешивать изменения логики функции с форматированием кода. Это совершенно разные по смыслу задачи;
🛑Создал функцию, вызвал её где нужно, и в том файле тоже параллельно сделал какие-то изменения.

📖 Далее продолжу делиться полезной инфой по мере чтения книжки.

🛑Подпишись, чтобы не пропустить.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍6🔥221
▶ Ночной лайтовый стрим сегодня в 19:30 по МСК! Продолжу работать над импортом таблиц. Порефакторю код. Отвечу на вопросы.

⌨️ Прошлый стрим был очень интересный: задавали вопросы, я решал интересные задачки, и впервые меня одновременно смотрели 20+ человек.

🔗 Ссылка на стрим.
Please open Telegram to view this post
VIEW IN TELEGRAM
255👀21
📖 Давно собрал список конкретных тем с ссылками на документацию, которые необходимо знать, чтобы приступить к освоению React.

💼 Каждую из этих тем я разбирал, когда еще преподавал. И не одна десятка моих студентов через них прошла и в итоге устроилась на работу.

🔗 Список тут - ссылка.

📱 Для тех, кому комфортнее видеоуроки:
- Верстка - видео
- JavaScript - видео

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

🛑Ну и конечно же подпишитесь на канал, чтобы не пропускать полезную инфу.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5🔥2
📖 Возможности встроенных API (цитирую из книги)

Кроме возможностей языка полезно помнить о функциях стандартной библиотеки и доступных встроенных API. Правильно подобранная функция или структура данных поможет сделать код эффективнее, чище и короче.

Например, во фрагменте ниже мы можем упростить самописную сериализацию формы с помощью FormData :


// Многословный ручной обход всех полей со значениями:
const username = form.querySelector('[name="username"]').value;
const password = form.querySelector('[name="password"]').value;

const data = { username, password };

// Мы можем заменить на вызов стандартного API:
const data = Object.fromEntries(new FormData(form));


Количество кода после изменений уменьшилось, а сам код стал устойчивее к изменениям и расширению функциональности. Например, после рефакторинга нам не потребуется вручную обновлять сериализацию при добавлении нового поля в форму:


// Раньше нам бы пришлось обновлять объект руками:
const email = form.querySelector('[name="email"]').value;
const data = { username, email, password };

// Сейчас же FormData дополнит данные самостоятельно,
// обновлять код вручную не потребуется.
Please open Telegram to view this post
VIEW IN TELEGRAM
132👀11
📖 Одинаковые имена у разных сущностей

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

// Здесь `user` - это объект с данными пользователя:
function isOldEnough(user, minAge) {
return user.age >= minAge;
}

// А тут — имя:
function findUser(user, users) {
return users.find(({ name }) => name === user);
}


С первого взгляда их сложно различить, потому что имена «намекают», будто переменные значат одно и то же. Это может вводить в заблуждение; нам придётся помнить, что внутри функции findUser переменная user относится не к объекту пользователя, а к имени.

// Лучше выразить смысл переменной точнее прямо через имя:
function findUser(userName, users) {
return users.find(({ name }) => name === userName);
}


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

🛑Подпишись, чтобы не пропустить полезную инфу.
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥3👍222
📚 Вышло 2-е издание книги Грокаем Алгоритмы. А мне бы сперва 1-е дочитать. 👀

🖥 Подробнее на Хабре
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥32
▶ Стрим сегодня вечером в 19:00 по МСК.

⌨️ Поработаем над функционалом по сжатию картинок, чтобы подгружать их на сервак в оригинальном и сжатом форматах. Все это делается для оптимизации прорисовки в приложении.

🔧 Чекнем какие есть готовые либы для решения данной задачи.

🙊 Буду читать чат и отвечать на вопросы.

🔗 Ссылка на стрим.
Please open Telegram to view this post
VIEW IN TELEGRAM
🫡1