Как стать автором
Обновить
18
0
Петр @p_gusarov

java-разработчик

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

Как начать писать на Java в VSCode

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

Давайте признаемся: подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно интегрируется с Spring Framework и знает его особенности.

Тогда зачем пробовать что‑то другое?

Привет, Хабр! Меня зовут Константин Шибков, я Java‑разработчик в CDEK.

В какой‑то мере все Java‑разработчики стали заложниками IDEA. Она так привычна, что нет желания пробовать другое. Ведь всё такое удобное и знакомое за столько лет использования.

Но если у вас есть трудности с доступом к Ultimate версии, а Community вариант не достаточно функционален — самое время попробовать современную альтернативу — Visual Studio Code.

В статье делюсь опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».

Перейти на VSCode
Всего голосов 63: ↑65 и ↓-2+67
Комментарии50

REST API на котиках

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

Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.

С какой стороны IT вы бы не пытались войти — в какой‑то момент столкнётесь с понятием REST API. Эта статья создана, чтобы смягчить данное столкновение. Новые темы всегда легче воспринимаются на простых примерах, ну а если это примеры с котиками, то варианта не разобраться просто нет. Хочется обойтись без сложных научных определений, а рассказать самым простым языком. Поэтому, если вы любите сухие и точные формулировки, то вам нужна другая статья :)

Читать далее
Всего голосов 63: ↑62 и ↓1+61
Комментарии26

Наполняем до краев: влияние порядка столбцов в таблицах на размеры баз данных PostgresQL

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

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

И что же там прячется?
Всего голосов 59: ↑58 и ↓1+57
Комментарии19

От хаоса к порядку. Как мы внедряем стандарты в CDEK

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

Привет, Хабр! Меня зовут Олег Бондарь, я архитектор решений в CDEK. В этой статье расскажу о стандартах — сводах правил и требований, которые позволяют всем участникам процесса быть в общем контексте, действовать единообразно и совершать меньше ошибок. Кроме того делают взаимодействие между людьми и системами немного проще.

Статья будет полезна менеджерам проектов, разработчикам, тестировщикам, аналитикам и другим IT‑специалистам. Поговорим о способах выработки и применении стандартов, их влиянии на проектирование, разработку, тестирование и стабильность системы в целом. Для примера возьмем ERP CDEK, которая ежедневно обеспечивает работу десятков тысяч пользователей, нескольких сотен тысяч клиентов и позволяет нам обрабатывать до полумиллиона заказов в день.

Читать далее
Всего голосов 51: ↑48 и ↓3+45
Комментарии28

Юнит-тесты: чек-лист методик проектирования

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

Привет, Хабр! Меня зовут Василий Косарев, я Java‑разработчик в CDEK. Много раз мы слышали о необходимости писать модульные тесты, о том, что весь код должен быть ими покрыт. При этом мне не встречалось списка: какие именно методики лучше использовать при тестировании кода.

Я задумался: есть ли чек‑лист/ руководство, который облегчил бы генерацию тестовых сценариев и помог выявлять серьёзные ошибки? Чтобы вдумчиво подходить к тестированию и не тратить ресурсы впустую, сводя к минимуму количество необходимых тестов.

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

Читать далее
Всего голосов 42: ↑41 и ↓1+40
Комментарии12

Как мы с помощью ML вылечили проблему, не дававшую перейти на автомаршрутизацию курьеров

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

Привет, Хабр! Меня зовут Наталья Макарова, я ведущий разработчик команды геоданных в CDEK. В этой статье расскажу, как мы с помощью ML решили проблему, не дававшую нашей компании перейти на автоматическую маршрутизацию курьеров.

Мы умеем отслеживать прохождение грузом всей транспортной цепочки, включая промежуточные склады. Но посылку нужно ставить на конкретный маршрут до того, как весь груз придет на склад доставки. И даже до того, как он попадет в ERP‑систему СDEK (посылки оформят в офисах). То есть задача такая: определить, на какой маршрут поставить конкретный заказ до того, как появился сам маршрут!

Читать далее
Всего голосов 37: ↑36 и ↓1+35
Комментарии22

У нас были курьеры, десятки посылок и час на доставку: кейс со своевременностью доставки 92% в Москве

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

Привет, Хабр! Я Нина Горохова, руководитель гиперлокальной логистики в СДЭК.

Вместе с моим Java-разработчиком Алексеем Паршиковым мы расскажем о том, как работали с метрикой своевременности на последней миле и научились успевать доставлять в часовой интервал.

Читать далее
Всего голосов 26: ↑23 и ↓3+20
Комментарии11

Spring Cloud OpenFeign и авторизация

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

В статье я хочу показать, каким образом можно реализовать отправку запросов с авторизацией при использовании Spring Cloud OpenFeign клиента для работы с АПИ.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии2

Хороший, плохой, никакой: почему важно проектировать дизайн и как это делать?

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

Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В этой статье я хочу рассказать о том, как мы пришли к проектированию и review плана разработки до начала реализации задачи, что это дало и как повлияло на скорость и качество разработки. Также поделюсь практическим руководством: как проектировать и проверять технический дизайн, чтобы это было быстро и удобно. Статья будет полезна разработчикам любой квалификации, но особенно тимлидам и менеджерам для внедрения практики в командах.

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии2

Как спектральный анализ улучшает оценку задач и снижает стресс в команде разработки

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

Привет! Меня зовут Илья, я руководитель команды индивидуальных интеграций CDEK. В рамках этой статьи хочу поговорить о спектральном анализе — инструменте для аналитики и прогнозирования задач команд разработки. По итогу мы с вами разберемся, когда стоит его применять, почему он делает оценку задач прозрачнее и как с его помощью улучшить не только доставку фич, но и атмосферу в команде.

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

Читать далее
Всего голосов 20: ↑17 и ↓3+14
Комментарии7

Жук, нумерология, хеш или ничо? Оптимизация работы с путями

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

Привет, Хабр! Меня зовут Евгений Кузьмин, я Java‑разработчик в CDEK. Надеюсь, все знают, что это за компания и чем занимается. Давайте представим, что вам нужно отправить посылку с гостинцами родственнику в Москву из Новосибирска. Вы приходите в ближайший пункт приёма посылок и оформляете услугу доставки. Что же происходит дальше? Казалось бы, всё очевидно: посылка сразу летит или едет из Новосибирска в Москву. Но всё не так просто...

Думаю, все согласятся, что не рационально гнать отдельную фуру с одной коробочкой для каждого заказа. Наша задача выстроить логистику таким образом, чтобы по пути загрузить и выгрузить как можно больше посылок и поехать дальше. В этой статье я поделюсь с своим опытом оптимизации задачи по редактированию и поддержке в актуальном состоянии огромного количества данных типа «куда направить товар». Классическая задача программирования на практике логистики. При этом мы не будем выходить за рамки стандартного стека Java Springboot и Postgres. Статья будет полезна разработчикам (от джуна до сеньора), которым интересно погрузиться в трудовые будни разработчика в сфере транспортной логистики.

Читать далее
Всего голосов 26: ↑25 и ↓1+24
Комментарии17

Простые шаги к эффективному code review

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

Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В нашей компании работает 500+ IT-специалистов, именно мы создаём продукты и сервисы, из которых и состоит СДЭК. Моя команда разрабатывает сервисы для автоматизации процессов продаж и запуска новых продуктов.

Однажды мы столкнулись с тем, что процесс проверки кода начал задерживать выполнение задач и требовал слишком много усилий от участников. На ретро мы договорились повысить приоритет этого процесса и сделать доклад с best practices. В этой статье я решил поделиться главными выводами и лучшими практиками, которые помогли нам существенно упростить проверку кода.

Читать далее
Всего голосов 26: ↑24 и ↓2+22
Комментарии4

Внутренний мир: Project Reactor

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

У многих из нас, при использовании какого-либо инструмента программирования, возникал вопрос: “Как? Как это работает?”. Часто при возникновении подобных вопросов я обращаюсь к гуглу, который популярным образом рассказывает общие принципы работы того или иного механизма. Но наверняка среди читателей есть те, которые, прочитав несколько статей, подумали: "Да, это интересно и, вроде, понятно. Но все таки, как оно работает?".

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии13

Настройка авторизации через ssl сертификат на уровне nginx

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

Привет уважаемые, хабровчане!

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

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии11

А давайте убьем все фреймворки?

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

Общая тенденция развития технологий характеризуется рывками и спадами. Рассмотрим, например, массовое перемещение человеческих тел. Изначально применялись лошади и повозки, которые постепенно стали сложными, и эта технология превратилась в отдельную индустрию. Затем внезапно появились поезда. Про лошадей быстро забыли, и фокус сместился на новое направление. Пар стал объектом исследований и превратился в сложную науку. Параллельно развивались дизель и электричество. В определенный момент паровые двигатели ушли в прошлое, и все перешли на дизель и электричество. Аналогично сейчас происходит переход на электромашины, требующие значительно меньшего количества жидкостей.

Технологии эволюционируют и функционируют, а новые технологии их полностью заменяют. Считаю, что сейчас наступает эпоха, когда технологии фреймворков и Электрона могут быть вытеснены генеративными AI. Рассмотрим несколько примеров.

Нажимайте вот эту вот кнопотуленку
Всего голосов 134: ↑108 и ↓26+82
Комментарии274

Самый плохой программист, которого я знаю

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

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

Несколько лет назад я написал в Twitter/X заметку о лучшем программисте, которого я знаю, её стоит переписать в виде поста в блоге. Мне кажется справедливым, чтобы я рассказал и о самом плохом. Его зовут Тим Маккиннон. Я хочу, чтобы мир знал, насколько он измеряемо непродуктивен.

Читать далее
Всего голосов 174: ↑170 и ↓4+166
Комментарии112

Альтер эго. Как создать виртуальную личность и распознать фейк

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


Я люблю общаться с ботами и владельцами фейковых аккаунтов в социальных сетях. В большинстве случаев они довольно милые и относительно безобидные. Порой даже интересно угадывать, что именно они попытаются впарить мне в очередной раз: тотализаторы, БАДы, лохотрон с криптой или недвижимость в Дубае? На днях я несколько часов обстоятельно общался с одной обаятельной девушкой, пока по ряду характерных признаков не убедился в том, что этот аккаунт — тоже фейковый. Признаюсь, раскусить подделку в этот раз было непросто: создатели липовых учёток научились придавать им определённую правдоподобность. Любопытства ради я захотел разузнать, как сейчас создаются виртуальные личности, какой софт и технологии для этого используются и существуют ли способы с ходу определить, что перед тобой не живой человек, а подделка?
Читать дальше →
Всего голосов 67: ↑65 и ↓2+63
Комментарии23

Информация

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

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

Backend Developer
Senior
От 1 ₽
Java
Java Spring Framework
Spring Boot
Apache Maven
PostgreSQL
SQL
Git
Nginx
Docker