Pull to refresh
1
0
Send message

Автоматизация Для Самых Маленьких. Заметки. RESTful API

Reading time14 min
Views98K
Эта статья — одна из обещанных коротких заметок по ходу цикла статей Автоматизация Для Самых Маленьких.
Поскольку основным способом взаимодействия с IPAM-системой будет RESTful API, я решил рассказать о нём отдельно.



Воздаю хвалы архитекторам современного мира — у нас есть стандартизированные интерфейсы. Да их много — это минус, но они есть — это плюс.

Эти интерфейсы взаимодействия обрели имя API — Application Programming Interface.

Одним из таких интерфейсов является RESTful API, который и используется для работы с NetBox.



Если очень просто, то API даёт клиенту набор инструментов, через которые тот может управлять сервером. А клиентом может выступать по сути что угодно: веб-браузер, командная консоль, разработанное производителем приложение, или вообще любое другое приложение, у которого есть доступ к API.

Например, в случае NetBox, добавить новое устройство в него можно следующими способами: через веб-браузер, отправив curl'ом запрос в консоли, использовать Postman, обратиться к библиотеке requests в питоне, воспользоваться SDK pynetbox или перейти в Swagger.

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

Микросервисы со Spring Boot. Часть 1. Начало работы

Reading time7 min
Views68K
Это первая часть серии статей по основам микросервисных архитектур.

В ней вы познакомитеь с концепцией микросервисов и узнаете, как создавать микросервисы с помощью Spring Boot и Spring Cloud.

Это руководство поможет вам изучить основы микросервисных архитектур. Мы также начнем рассматривать базовую реализацию микросервиса со Spring Boot.

Мы создадим пару микросервисов и заставим их общаться друг с другом с помощью сервера имен Eureka (Eureka Naming Server) и Ribbon для балансировки нагрузки на стороне клиента.

Это статья входит в серию статей «Микросервисы со Spring Boot»:


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

10 причин НЕ заказывать юзабилити-аудит интернет-магазина

Reading time9 min
Views6.3K
Перед тем как надумаете заказать юзабилити-аудит интернет-магазина, убедитесь что проблема именно в сайте, а не в куче других факторов, которые способны опустить конверсию продаж до нуля.

Кому полезно cделать юзабилити-аудит интернет-магазина


  • Вы только запустили интернет-магазин, у вас 0-50 посетителей в день и нет продаж. совсем нет.
  • У вас 100-500 посетителей в день, но мало продаж, конверсия ниже 0,5%
  • Продажи были стабильными, 10-50 шт/день, вы ничего не меняли на сайте и в рекламе, но конверсия продаж все падает и падает.

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

  1. Цены выше конкурентов
  2. На ваш рынок пришли маркетплейсы
  3. Отсутствие рекламы, потока посетителей
  4. Проблемы в качестве рекламы
  5. Дорогая, долгая доставка
  6. Отсутствие товара в магазине/на складе
  7. К вашему магазину нет доверия
  8. Вы или менеджеры “сливаете” заказы по телефону
  9. Сезонность, акции, распродажи
  10. Снижение покупательского спроса

Заказывать аудит юзабилити интернет-магазина в такой ситуации мягко говоря неразумно.
Читать дальше →

Управляя коллективом, нарушьте все правила

Reading time23 min
Views41K

В искусстве управления много противоречивых рецептов, и лучшие в мире менеджеры придерживаются своих собственных правил. Правы ли они и почему процесс найма в лидирующих на рынке компаниях устроен так, а не иначе? Нужно ли всеми силами пытаться преодолеть свои недостатки? Почему самоуправляемые команды часто не работают? На кого нужно тратить больше времени менеджеру — на лучших или худших сотрудников? Что за странные вопросы на собеседованиях Google? Прав ли начальник, когда указывает, как мне делать мою работу? Как вообще оценить, насколько я хорош как менеджер?

Если ответы на эти вопросы вас интересуют, то вам стоит почитать книгу Маркуса Бакингема и Курта Коффмана «Сначала нарушьте все правила: Что лучшие в мире менеджеры делают по-другому». Эта книга могла бы стать для меня настольной, но перечитывать нет времени, поэтому я сделал выжимку, которой и хочу с вами поделиться.
Читать дальше →

Spring Boot vs Spring MVC vs Spring — Как они сравниваются?

Reading time7 min
Views48K

Spring Boot vs Spring MVC vs Spring — Как они сравниваются?


image

Spring, Spring Boot, Spring MVC, везде есть слово “spring”! Давайте пройдемся где и когда вы можете применять каждый из этих инструментов


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

Что за основная проблема, которую этот Spring Framework решает?


Долго и упорно подумайте. Какова проблема, решаемая Spring Framework?

Почему это важно? Потому что, когда DI или IOC правильно используются, мы можем разрабатывать слабо связанные приложения. А слабо связанные приложения могут быть легко протестированы юнит-тестами.

Давайте рассмотрим простой пример.

Пример без внедрения зависимостей


Рассмотрим пример ниже: WelcomeController зависит от WelcomeService, чтобы получить приветственное сообщение. Что он делает, чтобы получить экземпляр WelcomeService?

WelcomeService service = new WelcomeService();

Эта строка создает экземпляр данного сервиса. А это значит что они сильно связаны. Например, если я создаю мок для WelcomeService в юнит-тесте для WelcomeController, как мне заставить WelcomeController использовать мок? Не легко!

@RestController
public class WelcomeController {   private WelcomeService service = new WelcomeService();   @RequestMapping("/welcome")
   public String welcome() {
       return service.retrieveWelcomeMessage();
   }
}
Читать дальше →

Собеседуем кандидата на должность Senior Software Developer

Reading time7 min
Views54K
Я провел не одну сотню собеседований как с одной стороны, так и с другой. В этой статье я хотел бы поделиться своими опытом, наблюдениями и интересными моментами. Возможно, кого-то это убережет от ошибок, неверных выводов и потерянного времени.
Читать дальше →

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду

Reading time14 min
Views54K


Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo.

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

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

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

Ускоренная разработка с помощью Spring Boot DevTools

Reading time8 min
Views40K
Как ускорить разработку на Spring Boot с DevTools и сделать этот процесс более приятным и продуктивным?

Настройка


Как обычно при разработке на Spring Boot, настройка достаточно проста. Все, что вам нужно сделать, это добавить правильную зависимость, и готово. Spring Boot находит ее и автоматически настраивает DevTools соответственно.
Читать дальше →

Как проверить паспорт на действительность

Reading time6 min
Views218K


Реквизиты паспорта — не просто набор цифр, в них закодирован вагон информации. Если правильно расшифровывать и сопоставлять реквизиты, подозрительные документы мгновенно всплывут на поверхность. Продукты HFLabs уже 14 лет проверяют клиентские данные в банках, страховых, телекомах и другом крупном бизнесе. Расскажу, как мы распознаем ошибки в российских паспортах.
Читать дальше →

Definition of Ready — то, о чем нам забыли рассказать

Reading time8 min
Views147K

Введение
Что такое DoR
Зачем нужен DoR
Где применять DoR
Когда применять DoR
INVEST модель
Заключение
Список литературы




Введение


Наверняка вы не раз слышали, скорее даже использовали с командой артефакт Scrum — Definition of Done далее по тексту — DoD. Возможно, используете его, даже не осознавая этого. О DoD написано много русскоязычных статей. О нём говорят на конференциях, и тренингах. Разобраться для чего нужен этот артефакт, и найти примеры не трудно. DoD определяет критерии, по которой каждый член команды понимает, что задача закрыта. Глубинная цель — синхронизировать понятие Done, между каждым членом команды. Над этими критериями, часто, команда трудится во время ретроспективы. Существует похожий артефакт, о котором почему-то нет упоминания в русскоязычных ресурсах о Scrum, а там где этот артефакт упоминается, не даётся никаких разъяснений что это, зачем нужен, и как использовать.


Скорее всего, в вашей команде звучали фразы наподобие: «Мы завалили цель, потому что неправильно оценили задачу», или «Наш PO опять пришёл с задачей без должного описания». В моей команде, подобные “сигналы” появлялись не один раз, и я долго искал способ, чтобы решить эту проблему.

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

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

Reading time7 min
Views274K


Дерьмовое утро удалёнщика всегда начинается одинаково. Если детский плач не смог вытащить меня из кровати, то нытье жены сделает это с гарантией. Сумасшедшие девять утра, через час дейли-синк-ап, а за вчера, как всегда, сделано нихрена. Быстро варю кофе и за комп. За пять минут до созвона пулл реквест с кодом энтерпрайзного качества увесисто встал в очередь на билд. Иду курить, но по дороге телефон заорал — я зачем-то установил на него скайп, и теперь работа может добраться до меня где угодно. Курение откладывается, я готовлюсь возмущаться, что мне позвонили раньше положенного. Напялил наушники, принял вызов. Вместо привычной девушки менеджера созвон начал какой-то незнакомый мне чел. «Всем привет, Аня заболела, я буду её замещать». Окей, кому какое дело, с таким же успехом они могли бы прислать нам в качестве менеджера собаку — ничего бы не изменилось.
Читать дальше →

Самостоятельная диагностика жестких дисков и восстановление данных

Reading time22 min
Views256K
В данной статье описываются методы самостоятельной диагностики различных неисправностей жестких дисков по симптомам их проявления, а также способы относительно безопасного клонирования жестких дисков с незначительными проблемами.

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

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


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

Как сделать правильную раскраску кода на «Хабре» и почему это так сложно

Reading time5 min
Views6.2K


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

В моем случае сохранить разметку было особенно важно, поскольку статья представляла собой описание работы над кодом. Чтобы решить проблему, я создал инструмент, позволяющий перенести подсветку кода в выбранной схеме из IDEA в статью на «Хабре». Я расскажу о процессе создания инструмента и об особенностях его использования.
Читать дальше →

Как мы пишем микросервисы и почему не делаем этого быстро

Reading time5 min
Views12K


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


У нас в RBK.money тоже микросервисы. Но пришли мы к ним немного не так, как большинство. У нас все было даже хуже монолита — у нас на старте просто все было хреново.


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

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

SonarQube и IntelliJ IDEA: правильная интеграция

Reading time7 min
Views46K

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


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


Однако беда в том, что удобный Web-интерфейс не означает удобство по устранению найденных замечаний в коде проекта. Для того, чтобы внести исправление, приходится сначала смотреть, в каком именно файле это замечание обнаружено, потом открывать этот файл и только затем вносить исправление. Также это приводит к тому, что разработчик узнает о проблеме с очень большим отставанием (иногда анализ в SonarQube может занимать десятки минут), что не способствует поддержанию чистоты кода.


Для того, чтобы облегчить жизнь разработчикам нашей компании, использующим IntelliJ IDEA, я составил инструкцию. А в дальнейшем понял, что она может быть полезной более широкому кругу специалистов, и решил выложить её в публичный доступ.

Осторожно, много скриншотов

Как проводить Code Review по версии Google

Reading time5 min
Views134K
Вопросы код-ревью меня интересуют очень давно. Много раз возникали те или иные проблемы то с качеством кода, то с климатом в коллективе. И действительно, code review — это если не единственное, то одно из самых главных мест для возникновения конфликтов в коллективе разработчиков.

И вот недавно при подготовке к очередному выпуску подкаста "Цинковый прод" я узнаю, что Google опубликовал свод правил по проведению Code Review, битком набитый ценными мыслями. Весь материал довольно объемный и не влезет в одну статью, поэтому я постараюсь выделить наиболее интересные (мне) мысли.


Итак, поехали

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

Как проводить код-ревью

Reading time18 min
Views55K
Из документации Google's Engineering Practices

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


См. также Руководство автора CL, в котором даются подробные советы разработчикам, чьи коммиты проходят ревью.
Читать дальше →

Вывод Jira из состояния помойки, с чего начать

Reading time7 min
Views21K
Вдруг мы понимаем, что Jira превратилась в помойку. Каждый второй РП настраивал Jira как ему было удобнее бесконтрольно. А когда проект начал гореть, начал тушить пожары вручную, оставляя задачи в трекере в каком-то состоянии, далеком от завершения. Если в проекте создан полноценный CI/CD, то большая часть задач на разработку будет в правильном финальном статусе, но остальные…

Часть проектов заморозилась, часть отвалилась, РП выгнали, но задачи в Jira не почистили. У вас на руках 10-20 идущих “проектов” и нужно быстро понять где больше болит.

Сопоставив опыт участников посиделок КиФБ (клуб имени Фрэнсиса Бекона) в решении этой задачи, мы представили этот опыт в записанном виде (за что спасибо всем участникам).
Читать дальше →

Сервисы-сироты: обратная сторона (микро)сервисной архитектуры

Reading time11 min
Views5.1K
Директор по эксплуатации портала Banki.ru Андрей Никольский рассказал на прошлогодней конференции DevOpsDays Moscow про сервисы-сироты: как опознать сироту в инфраструктуре, чем плохи сервисы-сироты, что с ними делать, и как быть, если ничего не помогает.

Под катом текстовая версия доклада.

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

Information

Rating
Does not participate
Registered
Activity