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

Семоучка

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Zustand в React

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

React Context

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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


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


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

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

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

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

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

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

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

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

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

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

updateDate(user, "date");

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

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

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

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

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

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

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


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

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

Как найти хорошую работу в IT? Лучшие каналы и практики поиска в 2024 году

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

Последнее время всё чаще, когда речь заходит о карьере, говорят о том как правильно составить CV, презентовать себя, написать сопроводительное. Это безусловно база, без этого никак. 

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

Посмотрим глазами нанимающего, как это работает.

Читать далее

Разворачиваем приложение Next.js с базой данных PostgreSQL и задачей Cron на облачном сервере Ubuntu Linux

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


Привет, друзья!


Предположим, что у нас есть приложение Next.js, данные которого хранятся в Postgres, и мы хотим запустить его в продакшн, но не хотим использовать готовую инфраструктуру Vercel. Что делать? Создать собственную инфраструктуру. К счастью, сделать это не так уж и сложно.


Основные элементы нашей системы:


  • приложение, демонстрирующее несколько мощных возможностей Next.js 15
  • база данных Postgres для хранения списка задач, создаваемых/удаляемых в приложении
  • задача Cron для удаления из БД всех задач каждые 10 мин
  • приложение, БД и задача Cron функционируют в контейнерах Docker
  • контейнеры запускаются с помощью Docker Compose на облачном сервере Ubuntu
  • сервер Nginx для перенаправления запросов HTTP (обратного проксирования)
  • домен, привязанный к серверу
  • Certbot для получения сертификата SSL из Let's Encrypt и его установки для домена

Демо приложения.


Интересно? Тогда прошу под кат.

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

В чем польза мок-собеседований?

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

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

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

Читать далее

Разбираемся с FSD — самой надёжной архитектурой для фронтенда

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

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

Вот почему в этой статье мы хотим рассказать вам об архитектуре FSD (Feature-Sliced Design, дословно «послойное проектирование фич»), одной из самых современных, надёжных и спроектированной специально для фронтенд-проектов. Она подходит почти для любых бизнес-условий, позволяет решать повседневные проблемы и интуитивно понятна разработчикам-новичкам.

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

8 инструментов для разработчиков, которые стоит попробовать

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

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

Читать далее

Создание простой CRM на Next.js и Prisma для B2B

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

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

На рынке представлено не так много распространённых CRM-систем для управления продажами, и в большинстве компаний мне приходилось работать именно с ними. В некоторых случаях я сталкивался с кастомными решениями, которые значительно упрощали жизнь пользователю благодаря удобному интерфейсу и гибкости. Поэтому на собеседованиях я часто задавал вопрос о CRM-системе компании. Разочарование наступало, когда выяснялось, что в компании используют "шаблонные" решения, которые не всегда соответствовали требованиям пользователей.

Ещё до того, как я начал заниматься разработкой, мне пришла идея поучаствовать в создании собственной CRM-системы и глубже погрузиться в процесс её разработки. Спустя несколько лет я начал заниматься веб-разработкой, и в какой-то момент понял, что даже небольшому бизнесу, где я работал, нужна CRM. Я пробовал использовать таблицы в Google Docs, тестировал триальные версии популярных CRM, но они были перегружены ненужной информацией и казались неудобными. Так что я решил создать что-то простое, что будет удобно мне и, возможно, другим.

В своей CRM я использую Next.js. Эта система не претендует на то, чтобы обслуживать тысячи пользователей, но она точно может решить задачи 1-2 небольших отделов продаж. У меня есть репозиторий на GitHub, и если кому-то это решение покажется интересным, его можно взять и доработать под свои задачи. В этой статье я постараюсь кратко описать текущий функционал, с какими трудностями я столкнулся и что удалось внедрить в качестве новых гипотез.

Читать далее
1

Информация

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

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

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