Как стать автором
Обновить
27
0
Павел @Paveldpv

Семоучка

Отправить сообщение

Как создать мини-приложение в Telegram

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров12K

С каждым днем в Telegram появляется всё больше и больше мини-приложений, или mini apps, которые так или иначе влияют на развитие этой среды. Кто-то реализует в Mini App простые игры, кто-то удобные инструменты для той или иной задачи, а кто-то решения для бизнеса.

В этой статье мы рассмотрим, как создать свое Mini-App-приложение с frontend- и backend-частью, а также запустим его на сервере.

Читать далее

Ramda.js — библиотека, которая избавит вас от reduce и map-каши

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.3K

Привет, Хабр!

Если вас когда-либо раздражало, что Array.prototype.map нельзя использовать для объектов или reduce постоянно требует передавать начальное значение, Ramda.js решает эти проблемы, делая код чище, декларативнее и удобнее.

Ramda — это библиотека для функционального программирования в JavaScript, которая по умолчанию не мутирует данные и поддерживает каррирование. В отличие от Lodash, где функциональность чаще заточена под удобство, Ramda больше ориентирована на чистоту кода и прогнозируемость работы функций.

Читать далее

Как сделать красивое резюме используя JSON

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров11K

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

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

Буду рад услышать ваши идеи в комментариях к статье.

Читать далее

Дизайн-системы в 2025 году: 6 актуальных трендов

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7K

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

Мы стараемся придерживаться трендов в архитектурных принципах построения дизайн-систем и хотим поделиться актуальными решениями, которые улучшили опыт работы с ДС. В этой статье собрали шесть наиболее актуальных (на наш взгляд) трендов.

Читать далее

Как перестать «гореть» в операционке: мои 10 системных решений для предпринимателей

Время на прочтение4 мин
Количество просмотров2K

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

Я, как и многие, раньше по утрам видел только сотни уведомлений: «Подпишите документ», «Оплатите счёт», «Клиенту срочно нужна консультация». Однажды я понял: так не должно быть. Если ты постоянно тушишь пожары, значит, системы нет. А бизнес без системы — это хаос с доходами.

Читать далее

Как собрать первое портфолио: 5 настоящих историй

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.4K

Привет, Хабр! На связи Friflex. Мы занимаемся разработкой мобильных приложений и веб-сервисов.

Во многих вакансиях работодатели просят прикрепить портфолио, чтобы оценить код, архитектуру проектов и направления, в которых работал кандидат. А что делать, если опыта работы еще нет? Роза Шархмуллина (Flutter-разработчик), Роман Галиновский (Flutter developer), Сергей Кочетков (Flutter Team Lead), Эрик Хадиков (Backend-разработчик) и Юрий Волковский (Frontend-разработчик) — о том, что они включили в первое портфолио и как бы действовали сейчас, случись им перенестись в прошлое.

Читать далее

Как сделать NeoVim самым удобным текстовым редактором: туториал по настройке

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров75K

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

Почему именно NeoVim? Всё просто: этот текстовый редактор сохраняет совместимость с Vim, но также предлагает дополнительные возможности и улучшенный интерфейс. Он позволяет более эффективно работать с кодом, а главное — настраивать редактор под свои нужды.

Читать далее

Я пытался устроиться айтишником, но что-то пошло не так…

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров30K

Привет Хабр. Это очередная статья где абсолютно не знакомый парень будет рассказывать вам про то, с какими трудностями вам придется столкнуться при попытке устроиться на работу программистом (в моему случае на позицию Java Backend Developer (джун)). Сразу скажу что когда я говорю о программисте, я имею ввиду вполне квалифицированного и ответственного человека, а не вкатуна который вчера закончил курсы (хотя справедливости ради скажу что оттуда выходят адекватные специалисты).

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

Читать далее

Zustand в React

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.9K

Управление состоянием в React — один из самых важных моментов при разработке приложений. Многие начинают с useState и useReducer, но со временем понимают, что для глобального состояния нужно что-то более мощное. Здесь хорошо подойдут Redux, MobX, Recoil и, конечно, Zustand.

Zustand (читается «цуштанд», в переводе с немецкого — «состояние») — это простая и мощная библиотека для управления состоянием в React, которая решает проблемы существующих решений.

Читать далее

Пять нужных кастом-хуков для React

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров7.8K

React предоставляет программисту прекрасный базовый набор хуков и с каждой версией их количество и функционал увеличивается.

Трудно представить код современного React-приложения без таких функций как useState, useEffect, useRef и так далее.

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

Создание кастом-хуков это прекрасная возможность выделить часто переиспользуемый код в отдельные сущности.

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

Ниже мы рассмотрим примеры некоторых из них.  

Читать далее

Самая важная компания китайского автопрома (и это не BYD)

Время на прочтение7 мин
Количество просмотров32K

Когда речь заходит про китайский автопром, обыватели вспоминают Geely, Chery, Haval, GAC, Zeekr, Li Xiang и другие чайнамарки, популярные на наших дорогах. Кто шарит чуть лучше - вспомнит про NIO, XPeng, Aito а также классическую китайскую "Большую четверку" (Dongfeng, FAW, SAIC и Changan). Совсем эксперты расскажут про Denza, Wuling, Deepal, YangWang и Leopard. Но про реального "серого кардинала" китайского автопрома не вспомнит почти никто. Хотя без него не было бы никакого китайского автомобильного чуда.

Эта компания называется CATL. Она делает батареи для львиной доли электромобилей и гибридов в Китае и за его пределами. В этой статье расскажу, как CATL прошёл путь от небольшого исследовательского бюро до стратегически-важного промышленного гиганта.

Читать далее

Проводим идеальное собеседование разработчика. Советы от практика с тысячей собеседований за спиной

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров31K

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

Тестовое задание

Перед собеседованием можно добавить этап выполнения тестового задания. Хорошее тестовое задание должно быть максимально приближено к реальным задачам. Чтобы оценить навыки, можно предложить что-то объёмное, например, разработку небольшого, но полнофункционального сервиса. Важно, чтобы кандидат сделал всё самостоятельно и в кратчайшие сроки — это покажет, насколько он заинтересован в позиции. Если человек отказывается от тестового задания, это говорит о недостаточной вовлечённости.

Собеседование

Сколько человек должно проводить собеседование? Оптимально 3-5. Один интервьюер может что-то упустить, а вот группа сможет задать вопросы с разных точек зрения.

Читать далее

Одна React-задача, демонстрирующая ключевые навыки на собеседовании

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров27K

Как всего одна небольшая React-задача помогает глубже понять уровень кандидата на собеседовании? Разбираем нюансы работы с хуками, асинхронностью, состоянием гонки и сайд-эффектами. На первый взгляд задача кажется простой - всего лишь компонент, загружающий данные по username. Но в процессе решения выявляются ключевые моменты: правильно ли кандидат управляет состоянием, учитывает ли смену пропсов, обрабатывает ошибки и предотвращает race conditions. Этот вопрос помогает не просто проверить знания, а увидеть, как кандидат рассуждает и принимает технические решения.

Читать далее

React Context

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.1K

Всем привет! Меня зовут Андрей, я Frontend разработчик. На данный момент работаю на фрилансе. Имею достаточно хороший опыт работы с React.

Хочу рассказать, что такое React Context и как это можно использовать в проектах.
Попробую всё рассказать как можно проще.

Читать далее

Как организовать библиотеку книг в Obsidian

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров28K

Делюсь своим опытом организации цифровой библиотеки книг в Obsidian с фильтрацией по жанрам, авторам и статусу прочтения.

Читать далее

Прототипы в JS и малоизвестные факты

Время на прочтение7 мин
Количество просмотров56K

Лирическое вступление 


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


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

Читать дальше →

Рецепты TypeScript: перевод ключей объекта в camelCase

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров5.6K

Всем привет! С вами снова Костя Логиновских — ведущий разработчик из Cloud.ru. Я уже делился TypeScript-рецептами в предыдущих статьях — вот первая и вторая — и теперь хочу рассказать про еще один. Наши рецепты — это готовый код, который можно применить в конкретных ситуациях, а в некоторых случаях и подогнать ситуацию под код.

Сегодня в меню — функция на обычном TypeScript, которая преобразует тип объекта так, чтобы все ключи внутри него из snake_case стали camelCase. Жду всех под катом!

Смотреть рецепт

Типизация свойства объекта в виде строки

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2K

Все так или иначе сталкивались с функцией или методом, который принимает объект и свойства в виде строки с которым нужно что-то сделать. Пример:

updateDate(user, "date");

И когда изменяется свойства объекта (user.dateuser.birthday), компилятор его нормально скомпилирует и мы лишаемся возможности отловить баг на стадий разработки.

Решить проблему

Книга: «Рецепты TypeScript»

Время на прочтение6 мин
Количество просмотров5.1K
image Привет, Хаброжители!

«Рецепты TypeScript» Стефана Баумгартнера – книга из серии «книг рецептов» O’Reilly. Такое название серии объясняется структурой этих книг: вместо бесконечных теоретических выкладок, сквозь которые продираться не то что нелегко, а попросту скучно, авторы предлагают погружаться в материал через «рецепты» – примеры реальных задач, которые сопровождаются лаконичными и понятными решениями и их подробным обсуждением – того, как автор к ним пришёл и почему они являются действенными. В этот ряд «поваренных книг» вписывается и та, о которой мы поговорим сегодня.
Читать дальше →

Неизвестно полезный CSS. Часть 6

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров8.1K


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.

Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Сасово, Рязанская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Frontend Developer, Fullstack Developer
JavaScript
React
TypeScript
Redux
CSS
Adaptive layout
BEM
SCSS
SASS
Express