Найти в Дзене
Про технические (frontend) собеседования
Не популярное мнение того, кто побывал с обеих сторон в больших количествах. Технические собеседования на позицию фронтенд разработчика, что с ними не так и как это исправить. Обычно, тех. интервью состоит из двух этапов: теория и “лайф-кодинг”. Давайте по порядку: Важно понимать кого и на какую позицию вы собеседуете. Одно дело начинающего, и совсем другое старшего разработчика или вообще тех. лида. Но и в том и другом случае, это должно быть именно СО-беседование, т.е. двух-стороннее общение, а не допрос или экзамен как это обычно бывает. И да, схемы типа “мы тебя сейчас поспрашиваем, а потом в конце ты задашь свои вопросы” не тянут на общение...
1 год назад
Автоматическая генерация TypeScript типов API, помогает или нет?
Рано или поздно, на проекте может возникнуть предложение генерировать типы API автоматически, например из свагера. При этом, обычно приводятся следующие плюсы: На практике же, обычно это превращается в следующее: В итоге вместо экономии времени и соответствия типов между фронтом и беком, получаем ровно противоположный эффект. Мало того, что вы потратите время на настройку и внедрение этой системы, так ещё придётся периодически её донастраивать и решать появляющиеся проблемы. При этом, ни кто не говорит что типы нужно писать руками, есть куда более простые решения не...
1 год назад
Разделение кода (на чанки) в Webpack
Не так давно я писал зачем нужно разделять код на чанки, а теперь давайте рассмотрим некоторые нюансы настройки Webpack, связанные с этим вопросом. Для начала, создадим папку src и добавим туда три файла, index.js и два других (предположим foo.js и baz.js), динамически импортируемых в первый. Затем добавим минимальный файл конфигурации: // webpack.config.js module.exports = { entry: './src/index.js', output: { // про contenthash как нибудь в другой раз filename: '[name].[contenthash].js', }, }; Кстати, когда речь идёт о долгосрочном проекте, рекомендую всегда самим настраивать сборку, а не использовать готовые решения...
288 читали · 1 год назад
Пример улучшения функции сортировки в JavaScript / TypeScript
Сортировка — довольно распространённый вид операции с данными в JavaScript / TypeScript. Например, в одном из рабочих проектов .sort встречается 97 раз в 65 файлах. При этом важно, чтобы этот код был максимально читаемым и компактным. Обратите внимание, что некоторые примеры, для упрощения восприятия, будут без типизации. В конце будет ссылка на рабочий TypeScript код целиком. Рассмотрим следующий пример: const MAP_TYPE_TO_ORDER: Record<FeatureType, number> = { [FeatureType.Default]: 0, [FeatureType.Local]: 1, [FeatureType.Unknown]: 2, }; function sortFeaturesByTypeAndTitle(features: Feature[]): Feature[] { return [...
1 год назад
Типичная ошибка использования метода .sort() в Javascript/Typescript
Даже опытные разработчики могут не увидеть ошибку в следующем коде: function sortItems<T>(items: T[]): T[] { return items.sort(/* some sort function */); } А она заключается в том, что метод sort не создаёт нового массива, а изменяет текущий. И это не очевидное поведение может привезти к появлению ошибок. Решается это довольно просто: function sortItems<T>(items: T[]): T[] { return [...items].sort(/* some sort function */); } Видимо это всех настолько “утомило”, что в спецификацию добавили метод toSorted...
1 год назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала