Рассказ фронтендера

Description
Пишу про frontend (JS/TS/React), задачки с собесов с разбором и теория, советую книжки и многое другое ?

Contact: @atrapeznikov
Advertising
We recommend to visit
Roxman
Roxman
11,914,133 @roxman

Sharing my thoughts, discussing my projects, and traveling the world.

Contact: @borz

Last updated 1 week, 2 days ago

HAYZON
HAYZON
6,364,963 @hayzonn

💼 How to create capital and increase it using cryptocurrency

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
⭐️ 𝐎𝐧𝐞 𝐋𝐨𝐯𝐞: @major
🍀 𝐌𝐲 𝐜𝐡𝐚𝐧𝐧𝐞𝐥𝐬: @kriptofo @tonfo
@geekstonmedia

Купить рекламу: https://telega.in/c/hayzonn

Last updated 7 hours ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 1 week ago

1 month, 2 weeks ago

Хочу поделиться подборкой IT-каналов коллег из Сбера

В ней есть каналы, связанные с разработкой, аналитикой, нашим любимым AI ? и даже лайфстайл-контентом.

Скорее добавляй себе и наслаждайся чтением ?

Telegram

Sber IT

Nastya Smelova invites you to add the folder “Sber IT”, which includes 21 chats.

1 month, 3 weeks ago
2 months ago
4 months, 1 week ago
4 months, 1 week ago

? Интернализация приложения с i18next ?****

i18next - это фреймворк интернационализации приложения, написанный на JavaScript и для JavaScript. Использует подкапотом Intl API, который описан в посте выше.

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

*☑️ *Интерполяция

Интерполяция - одна из наиболее часто используемых функций в I18N. Она позволяет вставить динамические значения в наши переводы.

```
{
"key": "{{what}} is {{how}}"
}

i18next.t('key', { what: 'i18next', how: 'great' });
// -> "i18next is great"
```

*☑️ *Форматирование

Мы можем отформатировать значения (строковые и числовые), которые вставляем в нашу строку.

```
{
"intlNumber": "Some {{val, number}}",
"intlNumberWithOptions": "Some {{val, number(minimumFractionDigits: 2)}}"
}

i18next.t('intlNumber', { val: 1000 });
// --> Some 1,000

i18next.t('intlNumber', { val: 1000.1, minimumFractionDigits: 3 });
// --> Some 1,000.100

i18next.t('intlNumber', { val: 1000.1, formatParams: { val: { minimumFractionDigits: 3 } } });
// --> Some 1,000.100

i18next.t('intlNumberWithOptions', { val: 2000 });
// --> Some 2,000.00

i18next.t('intlNumberWithOptions', { val: 2000, minimumFractionDigits: 3 });
// --> Some 2,000.000
```

*☑️*Множественное число

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

```
{
"key_one": "item",
"key_other": "items",
"keyWithCount_one": "{{count}} item",
"keyWithCount_other": "{{count}} items"
}

i18next.t('key', {count: 0}); // -> "items"
i18next.t('key', {count: 1}); // -> "item"
i18next.t('key', {count: 5}); // -> "items"
i18next.t('key', {count: 100}); // -> "items"
i18next.t('keyWithCount', {count: 0}); // -> "0 items"
i18next.t('keyWithCount', {count: 1}); // -> "1 item"
i18next.t('keyWithCount', {count: 5}); // -> "5 items"
i18next.t('keyWithCount', {count: 100}); // -> "100 item
```

*☑️ *Контекст

Контекст в i18next позволяет указать дополнительную информацию о том, где и как используется определенный перевод.

```
{
"friend": "A friend",
"friend_male": "A boyfriend",
"friend_female": "A girlfriend"
}

i18next.t('friend'); // -> "A friend"
i18next.t('friend', { context: 'male' }); // -> "A boyfriend"
i18next.t('friend', { context: 'female' }); // -> "A girlfriend"|>
```

? Доку можно посмотреть здесь

4 months, 3 weeks ago
6 months, 1 week ago

В следующем посте покажу, как мы можем оптимизировать наш код зная вот это все ?

6 months, 1 week ago

‼️Ребята, нам нужен middle frontend разработчик ‼️

В команду занимающуюся разработкой системы сквозной аналитики для маркетинга КИБ Сбербанка , ищем frontend-разработчика.

Позиция: Frontend-разработчик
Занятость: полная
Формат: Москва, Офис\Гибрид

Обязанности:
? Знание HTML5 и CSS3;

? Знания JavaScript ES6+ и
TypeScript (понимание основных конструкций)

? Понимание принципов работы с бэкендом (REST)

? Опыт разработки на базе React (в связке с TypeScript)

? Опыт работы с библиотеками управления состоянием (предпочтительно Redux, Redux Toolkit) и любой из ui библиотек
Git, npm

? Умение разбираться в чужом коде (очень важно)

Будет плюсом:
Опыт работы с препроцессорами стилей Sass

Опыт написания Unit-тестов (Jest)

Опыт командной разработки (с использованием Confluence, Jira)

Умение работать с webpack

Иметь представление о CI/CD

Наличие открытых
репозиториев GitHub / Bitbucket

Понимание Flux-архитектуры

Условия
Льготные условия кредитования и ипотеки;

Скидки на продукты компаний-партнеров;

Бесплатная подписка СберПрайм+;

Обучение за счет Компании: онлайн курсы в Виртуальной школе Сбера и неограниченный доступ к библиотеке, обучение в Корпоративном университете, Тренинги, митапы и возможность получить новую квалификацию.

Вопросики и резюме: @krasnovm ?

6 months, 1 week ago

? Решение задачи

Много кто ответил, что значение b это undefined, но нет. Кто выбрал 33 либо ошибку можно сказать правы. Но есть нюанс. Давайте разберемся.

?Присваивание b = 33 без уточнения var, let или const интерпретируется как присваивание значения уже существующему имени из более высоких областей видимости. Если же имя не существует ни в одной из областей видимости, как в этом случае, поведение отличается в зависимости от того, исполняется ли данный код в strict mode.

?Если strict mode включен (т.е. объявлен "use strict" в этой функции или в более высокой области видимости, или если используется система модулей es6, и т.д.), то попытка присваивания несуществующему имени вызовет исключение ReferenceError: assignment to undeclared variable b.
?Если же strict mode отключен, то присваивание создаст новое имя в наивысшей области видимости. В случае браузеров ей является window, поэтому появится новый аттрибут window.b === 33, а в случае node.js высшей областью видимости является global, поэтому появится новый аттрибут global.b === 3.

Как то так ?

8 months ago
***?*****Promise API. Часть 1**

?Promise API. Часть 1

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

let promise = Promise.all(iterable);

Метод Promise.all принимает массив промисов (может принимать любой перебираемый объект, но обычно используется массив) и возвращает новый промис.

Новый промис завершится, когда завершится весь переданный список промисов, и его результатом будет массив их результатов.
_____
❗️Важно!
Если любой из промисов завершится с ошибкой, то промис, возвращённый Promise.all, немедленно завершается с этой ошибкой. В случае ошибки, остальные результаты игнорируются.

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

? Ну и примерчики:

```
const promise1 = new Promise((resolve) => setTimeout(resolve, 1000, 'Hello'));
const promise2 = new Promise((resolve) => setTimeout(resolve, 2000, 'World'));
const promise3 = new Promise((resolve) => setTimeout(resolve, 1500, '!'));

Promise.all([promise1, promise2, promise3])
.then((values) => {
console.log(values); // Output: ['Hello', 'World', '!']
})
.catch((error) => {
console.error(error);
});
```

```
const values = ['Hello', 'World', '!'];

const promises = values.map((value) =>
new Promise((resolve) => setTimeout(resolve, 1000, value)));

Promise.all(promises)
.then((results) => {
console.log(results); // Output: ['Hello', 'World', '!']
})
.catch((error) => {
console.error(error);
});
```

We recommend to visit
Roxman
Roxman
11,914,133 @roxman

Sharing my thoughts, discussing my projects, and traveling the world.

Contact: @borz

Last updated 1 week, 2 days ago

HAYZON
HAYZON
6,364,963 @hayzonn

💼 How to create capital and increase it using cryptocurrency

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
⭐️ 𝐎𝐧𝐞 𝐋𝐨𝐯𝐞: @major
🍀 𝐌𝐲 𝐜𝐡𝐚𝐧𝐧𝐞𝐥𝐬: @kriptofo @tonfo
@geekstonmedia

Купить рекламу: https://telega.in/c/hayzonn

Last updated 7 hours ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 1 week ago