Как стать автором
Обновить
6
0
Alexander Kardapolov @akardapolov

Пользователь

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

Скринкасты терминала. Запись действий в консоли Linux

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

Копипаст из чужой консоли

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

Существуют специализированные инструменты именно для консольных скринкастов. Для этого они задействуют встроенный псевдотерминал Linux, то есть PTY. Самые продвинутые добавляют спецэффекты типа подсветки нажатий клавиш и, самое главное, позволяют выделить мышкой и скопировать текст прямо из «видео».
Читать дальше →

Публикуем проект с помощью Gradle и Sonatype в Maven Central без рук

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

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

Публикация проекта в Maven Central, имеено об этом я расскажу в этой статье. Как настроить Gradle, чтобы потом без труда настроить CI.

Читать далее ->

Микросервисы для чайников: как на них перейти с монолита с нуля

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

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

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

Читать далее

Когда и зачем нужен CI/CD

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

Скорость сборки продукта — важное конкурентное преимущество в разработке программного обеспечения. То, что раньше делалось месяцами, сегодня выполняется за считанные дни без потери качества. Путь к ускорению релизов лежит через автоматизацию и внедрение CI/CD.

В статье разберём, когда и зачем нужен CI/CD, но перед этим, расскажем, как устроена методология и почему эффективнее внедрить её, чем деплоить вручную.

Читать далее

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

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

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

Читать далее

Вредные советы при построении Аналитики (Data Lake / DWH / BI) – чего стоит избегать

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

Всем привет! На связи Артемий, со-автор и преподаватель курсов Data Engineer, DWH Analyst.

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

Появилось желание в формате “вредных советов” обратить внимание на набор практик и подходов, которые могут обернуться весьма неприятными последствиями, а порой и вовсе дорого обойтись Вашей компании.

В публикации Вас ожидает:

- Использование select * – всё и сразу

- Употребление чрезмерного количество CTEs (common table expressions)

- NOT DRY (Don’t repeat yourself) – повторение и калейдоскопический характер расчетов

Читать далее

Да что это такое, ваше качество кода?

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

Салют, коллеги.

Лично я, очень люблю поговорить про качество, поддерживаемость и выразительность кода (эти умные слова, часто звучат на код ревью)

К сожалению, такие разговоры часто и быстро скатываются в холивар. Но, кажется, я нашел способ "вести разговоры о высоком без боли".

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

Читать далее

Пишите плохой код и не стыдитесь этого

Время на прочтение4 мин
Количество просмотров11K
Писать хороший код я умею. Обычно это предполагает, что нужно потратить немного больше времени здесь и сейчас во имя некоего более совершенного миропорядка в будущем. Но здесь мы исходим из предпосылки, что нам известно, чего ждать от будущего. А в разработке будущее обычно прогнозируется с трудом.

Неопределенность может порождаться тем, что нам не всё известно о технологии, о бизнесе, о пользователе, объеме данных в системе, продолжительности жизни кода, а также другими неизвестностями, о которых мы даже не подозреваем (за расширенным списком примеров обратитесь к 2020 году).

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

Любые препятствия плохо влияют на продолжительность цикла. Они лишают меня возможности превращать неопределенность в определенность – а в этом и состоит суть обучения. Быстрое обучение формирует наиболее устойчивую ценность, оно выступает своего рода коэффициентом, на который умножается качество кода и архитектуры впоследствии. Есть такая поговорка «Писать значит переписывать», перелагая ее на код, можно сказать: «Писать код – значит проводить рефакторинг».

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

Что такое качество. Разбираемся в иерархии терминов «QA», «QC» и «тестирование»

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

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

Читать далее

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

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

Привет! Я Алексей, Java-разработчик. В статье поделился опытом внедрения подхода Contract-First в backend. 

Под катом подробности:

— что такое Code-First и зачем переходить на Contract-First,

— как перестать писать API-объекты руками и сэкономить 12 человеко-недель в спринт,

— как поддерживать однотипный код и API, если у вас 100+ микросервисов и 60 бэкендеров.

Читать о внедрении Contract-First

Реверс-инжинирим структуру БД PostgreSQL по плану запроса к ней

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

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

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

А ведь она уже и так находится "под ногами" в момент анализа плана запроса - надо только лишь удобно увидеть ее!

Читать далее

Лучшие практики тестирования микросервисов

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

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

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

Читать далее

Экспорт UI дизайн-интерфейсов из Figma в Xcode iOS/Android Studio, в виде .xib/xml

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

Экспорт UI дизайн-интерфейсов из Figma в Xcode iOS/Android Studio, в виде .xib/xml

FigmaConvertXib это инструмент для экспорта элементов дизайна из проекта Figma, в среду разработки, с точностью 90%. В результате конвертации будут созданы файлы xib / xml, и уже с помощью интерфейс редактора Xcode/Android Studio, можно будет манипулировать всеми элементами у себя коде. Если дизайн вашего проекта разрабатывается в Figma, и вы не реализуете дизайн программно, то это для вас. Для того чтобы не тратить огромное время на реализацию всех UI элементов.

Читать далее

Мониторинг веб-приложения на Rust с использованием Prometheus и Grafana

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

В статье показано как настроить мониторинг веб-приложения на Rust. Приложение выставляет наружу Prometheus метрики, которые визуализируются с помощью Grafana. Мониторинг осуществляется для проекта mongodb-redis demo, детально рассмотренного здесь. В итоге получена следующая архитектура:


architecture

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

Что нужно знать, чтобы быть синьором?

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

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

Ну-ка, ну-ка...

JTBD: почему любимая работа вызывает отвращение?

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

Однажды для знакомства с новым и многообещающим проектом федерального значения меня отправили на стажировку разгребать инциденты на первой линии. Рядом со мной работали молодые ребята, вчерашние студенты. С первого взгляда было видно, что ребята какие-то зашуганные, с постоянной тоской в глазах. Я решил подбодрить одну из своих коллег и начал издалека. На мой вопрос о том, чего она хочет от этой работы, моя визави честно ответила: «Я хотела бы не думать каждый вечер о том, чтобы уволиться».  

Читать далее

Изобретем велосипед снова или построим график комбинаций бинарных переменных

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

Про пакет ComplexUpset в R.

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

Читать далее

Тревожно писать и публиковать статьи (и не только)? Пройдите по чужим граблям

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

Так случилось, что моей первой работой был мой же вуз — без особого труда ровно 1 сентября года защиты диплома я вышла на работу, в собственный кабинет, с приятными обязанностями и интересными, давно знакомыми задачами. Коллеги — мои преподаватели и администрация, которых я знала 5 с лишним лет, стены помогают, друзья забегают между парами. Dolce vita! Но за 7500 — даже в 2007 это было так себе (никак). Не очень счастливый случай заставил меня двигаться на первую настоящую работу — и тут рвануло по всем направлениям: игры кончились, а ребёнку не сообщили. Интеллектуальные, ментальные, коммуникативные трудности приводили к виражам стресса. Работать головой и держать себя в руках казалось невероятным, конфликты и ошибки буквально выбивали из седла. Спустя три года "настоящей" работы я закрепилась в том самом седле почище любого ковбоя, но определённые проблемы пришлось побороть. Одна из них — первые шаги на Хабре в качестве профессионального автора. Необходимость написать статью каждый раз вызывала дикое беспокойство. Знаю, что таких авторов немало — даже среди тех, кто пишет "для себя". Поэтому делюсь своим личным опытом борьбы с рабочей тревожностью — зря что ли столько времени отведено на праздники.

Читать далее

Как мы избавились от 80% своего кода, повысив скорость разработки и уменьшив количество ошибок

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


Оптимизация кода и развитие микросервисной архитектуры занимает значительную часть жизни команды разработчиков МВидео-Эльдорадо. Тем любопытней изучить опыт коллег за рубежом. Предлагаем вашему вниманию очередной пост на тему: «А как там у них».
Читать дальше →

Информация

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