Frontend | Иван Усынин – Telegram
Frontend | Иван Усынин
149 subscribers
35 photos
5 videos
20 links
👨🏻‍💻 TechLead Frontend в Альфа-Банк. Запускал проекты в production до того, как это стало мейнстримом.

💡 На канале: рабочие заметки, решение возникающих проблем, полезные материалы про Frontend

Связаться: @usyninis
Download Telegram
🧑‍💻 Взяли в работу реализацию загрузки и отображения документов.

Достаточно популярный функционал, но в процессе рализации может возникнуть множество специфичных кейсов:
▫️ работа с элементом input type=«file»
▫️валидация размера/разширения файла на стороне браузера
▫️методы и ограничения загрузки документа на сервер
▫️реализация прогресс-бара при загрузке на сервер и ограничения сервера
▫️корректные http-заголовки для скачивания на клиенте

Ранее уже приходилось все это реализовывать, поэтому надеемся управиться быстро 🙂

#workflow@usyninis_dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👏31
Как прокачать софт-скиллы интроверту, чтобы продвигаться в IT?

Ты крутой специалист, но…
— Тебя не замечают на работе, а интересные проекты достаются другим?
— Ты знаешь, как улучшить процесс, но боишься сказать?
— Хочешь повышения, но не умеешь продавать свои успехи?

В IT часто считают, что навыки говорят сами за себя. Но мир не работает так. Чтобы тебя заметили, повысили и ценили, нужно уметь общаться и проявляться.

🌟 3 шага, чтобы переступить через себя и заявить о себе:

🟢 1. Выходи в зону видимости постепенно

Ты не должен сразу выступать на митингах или ходить на конференции. Начни с малого:
— Говори на митингах не только «сделал - делаю - буду делать», а хотя бы 1 мысль о том, что можно улучшить.
— Пиши короткие сообщения в рабочие чаты, если есть идеи, но страшно говорить вслух.
— Участвуй в код-ревью и задавай вопросы, чтобы быть замеченным.

🟢 2. «Продавай» свою работу

Если ты не говоришь, что сделал классную вещь — никто этого не узнает.
— Вместо «я исправил баг» — «я решил проблему, из-за которой пользователи теряли X% данных».
— Вместо «я просто написал код» — «я оптимизировал алгоритм, теперь он работает быстрее на X%».

🟢 3. Публичность без боли

Встречи и презентации — ад для интроверта, но можно подготовиться:
— Перед митингом запиши себе 3 мысли, которые хочешь сказать. Это снизит стресс.
— Представь, что ты просто объясняешь другу — так проще.
— Попробуй говорить последним. Пока другие говорят, ты адаптируешь свою мысль.

💬 Вывод:

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

Если интересно, как преодолеть подобные страхи и проработать мышление — Женя подробно рассказывает на своем канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥2
Завершили переезд react router 7 🔥

На прошлой неделе во всех наших проектах обновили react-router до 7 версии . Самое полезное что теперь можно использовать:

🔜 loader + Await для подготовки данных в маршрутах. Поможет для отдельных маршрутов получать данные из api или, например, проверять поддержку какого-либо браузерного api.

createBrowserRouter([
{
path: "/teams/:teamId",
loader: async ({ params }) => {
let team = await fetchTeam(params.teamId);
return { name: team.name };
},
Component: Team,
},
]);

function Team() {
let data = useLoaderData();
return <h1>{data.name}</h1>;
}


🔜 useBlocker для реализации блокировки ухода со страницы. Например, при заполнении формы до ее сохранения через данный хук можно реализовать подтверждение "Вы действительно хотите покинуть страницу?"

const Component = () => {
const [isBlocked, setIsBlocked] = useState(false);

useBlocker(() => isBlocked ? !confirm('Leave page?') : false);

return (
<React.Fragment>
<button onClick={() => setIsBlocked(true)}>block page</button>
<button onClick={() => setIsBlocked(false)}>unblock page</button>
</React.Fragment>
);
};


🔜 bonus: react-router-dom теперь не нужен! Весь необходимый функционал лежит в пакете react-router. Минус одна зависимость 🙂

Больше фишек в официальной доке: https://reactrouter.com/home

#workflow@usyninis_dev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Работающий туннель с https для локального сервера

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

Пробовал разные решения, какие-то удалось запустить, но с лагами, в итоге остановился на VK Tunnel (импортозамещение в деле!). Пока все усраивает)

Инструкция по настройке:

1. ставим vk-tunnel

npm install @vkontakte/vk-tunnel -g


2. запускаем ваше приложение на локальном сервере (например на http://localhost:3000)

3. запускаем туннель:

vk-tunnel --insecure=1 --http-protocol=http --ws-protocol=ws --host=localhost --port=3000 --timeout=5000


4. при первом запуске VK Tunnel покажет URL вида `https://oauth.vk.com/code_auth?stage=check&code=..` , надо будет пройти авторизацию через VK. В последующем - сразу будет стартовать туннель и покажет публичный URL вашего приложения 👍.


Полный гайд:
https://dev.vk.com/ru/libraries/tunnel

Статья-обзор про туннели:
https://habr.com/ru/articles/868970/

#tools@usyninis_dev
👍7🙏4
Что такое Telegram Mini Apps?

Некоторое время назад я заинтересовался тем, как устроены Telegram Mini Apps (TMA). Мне кажется у них достаточно большой потенциал и при помощи TMA можно реализовать достаточно интересные пользовательские кейсы и бизнес задачи.

Если еще не знакомы с этой технологией, то TMA - это небольшие веб-приложения, созданные специально для интеграции с Telegram. Они работают быстро и плавно благодаря встроенным инструментам платформы. Эти мини-приложения позволяют пользователям совершать покупки, играть в игры, оплачивать услуги и многое другое непосредственно в чате или канале.

Преимущества Telegram Mini Apps:

- 📱 Удобство пользователя: юзеры остаются в одном приложении, не переключаясь между разными сервисами.
- ⚡️ Скорость работы: Приложения загружаются мгновенно, не требуют установки и занимают минимум места.
- Безопасность: Все транзакции защищены системой безопасности Telegram.
- 🌐 Интеграция с ботом: Это позволяет отправлять различные нотификации/сообщения, тем самым улучшая пользовательский опыт

Как создать Telegram Mini App?

Мне, как frontend-разработчику стало интересно погрузиться в создание TMA, это оказалось не очень сложно - гайдов по этой теме достаточно много, а официальная документация достаточно хорошо описана.

Из интересных dev-плюшек: встроенная авторизация, css-переменные для верстки/стилей, интеграция через SDK с нативными элементами, поддержка темизации. Таким образом на стороне разработчика - в основном реализация бизнес функционала, главное найти сервак/хостинг и развернуть там приложение с базой данных и настроить CI (в этом плане тут полная свобода).

Уже набросал свое тестовое Mini App, если руки дойдут - обязательно поделюсь 👨‍💻

p.s: множество готовых TMA можно посмотреть/попробовать в Telegram Apps Center @tapps_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍92
👨‍💻 Кто такой frontend-разработчик?

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

Если кликнуть правой кнопкой мыши на любой веб-странице и выбрать команду «Просмотр кода элемента», перед вами откроется HTML/CSS-код, созданный именно frontend-разработчиком
 
Frontend-разработчик создает страницу сайта по макету дизайнера. Он располагает блоки с информацией, добавляет контент, встраивает анимацию и интерактивные кнопки, на которые пользователь может нажимать, чтобы перемещаться по страницам или совершать действия.

Направления деятельности frontend-разработчика:

🟢1. Оптимизация производительности: Обеспечивает быструю загрузку и плавность работы сайта.

🟢2. Поддержка кроссбраузерности и адаптивности: Гарантирует правильное отображение интерфейса во всех современных браузерах и на любых устройствах (компьютеры, смартфоны, планшеты).

🟢3. Интеграция с данными (бэкендом): Отвечает за получение, обработку и отправку данных между сервером и клиентом.

🟢4. Тестирование и качество: Создает автоматизированные тесты для выявления ошибок и повышения стабильности кода.

🟢5. Проектирование архитектуры приложения: Разрабатывает оптимальную архитектуру проекта, применяя лучшие практики программирования и проектирования.

---

Таким образом, frontend-разработчики выполняют важные задачи, влияющие не только на эстетику и удобство пользования продуктом, но также на производительность, безопасность и надежность веб-приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Выступил с докладом для студентов в Колледже информационных и креативных технологий IThub.

Тема выступления: Задачи frontend-разработчика на реальных проектах.

Постарался студентам максимально рассказать о том, какими задачами занимается frontend-разработчик на различных проектах, чтобы это помогло им выбрать будущую ветку обучения 🎓
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍4👏1
Я помогаю развитию бизнеса в России

Когда я выбирал работу в 2019 году, одной из приоритетных сфер я выбирал для себя финтех. Работа в банке казалась для меня максимально ответственной и полезной с точки зрения проектов и пользователей.

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

👨‍💻 Сейчас я работаю в ИТ Департаменте Малого и Микробизнеса и на одном из ИТ мероприятий топ менеджер раскрыл мысль, которая двигала мной при устройстве тогда, и позволяет с большим энтузиазмом браться за новые и сложные задачи сейчас: мы помогаем развитию бизнеса в России.

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

Помощь бизнесу — это помощь стране 🇷🇺 и осознание этого наполняет работу особым смыслом и вдохновением.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
Выступил с техническим докладом по frontend-архитектуре нашего проекта на внутрибанковском Tech Demo.

🎓 Поделился решениями по разработке и поддержке front-приложений с учетом архитектуры микрофронтов и особенностями встраивания их в различные системы.
👍7🔥1
Рабочее место на сегодня 🌳👨🏻‍💻
🔥5👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Разработали новый компонент распознавания паспортных данных

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

Компонент независим от контекста использования, т.е его можно встроить в любую форму, где может потребоваться работа с паспортом и его данными. Для пользователя это значит, что не надо вручную вводить данные, достаточно «скормить» документ форме - и она заполнится автоматически.

👨‍💻 С точки зрения бизнес функциональности можно так же считать документ невалидным в зависимости от результатов распознования (например, плохое качество изображения).

p.s: на записи все данные вымышлены :)

#workflow@usyninis_dev #js #javanoscript #frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Хочу порекомендовать сервис, которым регулярно пользуюсь: ндфлка.ру

Сервис помогает получить налоговый вычет по всем возможным расходам: покупка жилья, инвестиции, здоровье и т.д.

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

Получай вычет без головной боли) а еще, небольшой бонус при регистрации по ссылке: https://ndflka.ru/ref/b2e2d 🙂
3
🔥 На прошлой неделе в нашем департаменте прошел AI Хакатон по промт-инженерии. 415 инженеров соревновались в написании промтов и создании работающего web-приложения с помощью искусственного интеллекта 🤖

⭐️ Я участвовал в качестве эксперта жюри по компетенции JS, оценивая промты участников по множеству критериев. Было очень даже не просто, узнал множество нюансов по взаимодействию с AI и написанию промтов.

По итогам хакатона еще раз убедился в том, что важно не только наличие инструмента, но и то, как ты им пользуешься 🙂

Что касается меня: использую AI уже давненько, но в основном взаимодействую с чатами. До этапа когда за меня AI пишет код или делает задачи пока не дошел 😅

#ии #AI #хакатон #tech #chatgpt #frontend #js #react #typenoscript #prompts #workflow@usyninis_dev
👍3🔥31