Как стать автором
Обновить
4
0
Алексей @Allliksey4

DevOps, Go Developer

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

Локальная разработка в Kubernetes с помощью werf 1.2 и minikube

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

В этой статье на примере простого приложения будут описаны подготовка и развертывание инфраструктуры для локальной разработки с Kubernetes и последующий запуск проекта в этом окружении.

Зачем это может понадобиться? Предоставляя услуги поддержки инфраструктуры нашим клиентам, нам часто приходится искать баланс между эффективностью и затраченными ресурсами. Когда есть потребность в нескольких рабочих окружениях для разработчиков (stage, dev, test, review и т.п.), как правило, ограничивающим фактором в их реализации являются деньги. Поэтому для решения такой задачи — в дополнение к динамическим окружениям (или вместо них) — задействуются локальные окружения прямо на рабочих местах разработчиков, о которых и пойдет речь далее.

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

В поисках полезного турнира scrum-команд

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

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

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

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

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

Как убедить людей присоединиться к вашему стартапу

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

Далтон Колдуэлл, глава приемной комиссии YCombinator, основатель imeem и App.net

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

Итак, как же убедить себя и что это значит?

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

Я всегда призываю людей работать над тем, чем они одержимы и что вызывает у них восторг. Даже ценой идеи, на которую, казалось бы, проще найти средства, которая, возможно, была бы более коммерчески жизнеспособна, или которая могла бы впечатлить больше людей.
Всего голосов 8: ↑4 и ↓4+1
Комментарии1

Профилирование и оптимизация веб-приложений на Go

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

enter image description here


Привет, меня зовут Павел Мурзаков, я – разработчик в команде Features в Badoo. Нам важно, чтобы наши сервисы потребляли как можно меньше ресурсов, поскольку каждый дополнительный сервер стоит денег. Поэтому мы часто профилируем и оптимизируем код. Часть наших демонов написана на Go, с оптимизацией кода на котором мне пришлось работать в последнее время. Благо в стандартной библиотеке Go есть множество готовых инструментов для этого.


Недавно мне попалась эта статья, в которой собрана информация о многих инструментах и на конкретном примере показано, как начать ими пользоваться. Кроме того, в ней есть несколько хороших рецептов по написанию эффективного кода. Эта информация будет полезна любому начинающему Go-разработчику (более продвинутые тоже смогут найти что-то для себя), поэтому я сделал для вас перевод. Enjoy!

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

Лучшие практики Kubernetes. Создание небольших контейнеров

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


Первый шаг развертывания в Kubernetes – это размещение вашего приложения в контейнере. В этой серии мы рассмотрим, как можно создать образ небольшого и безопасного контейнера.
Благодаря Docker, создание образов контейнеров никогда еще не было настолько простым. Укажите базовый образ, добавьте свои изменения и создайте контейнер.



Несмотря на то, что данный прием отлично подходит для начала работы, использование базовых образов по умолчанию может привести к небезопасной работе с большими образами, полными уязвимостей.
Всего голосов 16: ↑13 и ↓3+18
Комментарии12

Шаблон backend сервера на Golang — часть 2 (REST API)

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

UPD. Ссылка на новый репозиторий проекта с поддержкой развертывания в Kubernetes


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


Первая часть шаблона посвящена HTTP серверу:


  • настройка HTTP сервера через командную строку и конфигурационный файл
  • настройка параметров TLS HTTP сервера
  • настройка роутера и регистрация HTTP и prof-обработчиков
  • настройка логирования HTTP трафика, логирования ошибок в HTTP
  • HTTP Basic и MS AD аутентификация, JSON Web Token
  • запуск сервера с ожиданием возврата в канал ошибок
  • использование контекста для корректной остановки сервера и связанных сервисов
  • настройка кастомной обработки ошибок и кастомного логирования
  • сборка кода с внедрением версии, даты сборки и commit

Вторая часть шаблона посвящена прототипированию REST API.
Ссылка на репозиторий проекта осталась прежней.


Третья часть посвящена развертыванию шаблона в Docker, Docker Compose, Kubernetes (kustomize).


Пятая часть посвящена оптимизации Worker pool и особенностям его работы в составе микросервиса, развернутого в Kubernetes.


Архитектура шаблона REST API


В ходе тестирования шаблона на стенде были получены следующие результаты.

Читать дальше →
Всего голосов 8: ↑7 и ↓1+8
Комментарии2

Пользовательские правила iptables для docker на примере zabbix

Время на прочтение3 мин
Количество просмотров31K
Задача: Закрыть все входящие соединение, кроме определенных ip адресов.

Имеется тестовая среда, состоящий из linux и трех windows c статическими ip адресами. На linux установлен docker образами zabbix, redmine. А на двух windows машинах установлены и настроены агенты от zabbix, на третьем нужно организовать возможность просмотра zabbix. Нужно ограничить других пользователей от zabbix сервера, но не ограничивая от redmine.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии3

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

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

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

Сопоставив опыт участников посиделок КиФБ (клуб имени Фрэнсиса Бекона) в решении этой задачи, мы представили этот опыт в записанном виде (за что спасибо всем участникам).
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии11

Поделки из нерабочих HDD — мини-помпа

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


Понадобилась мне как-то для будущих самоделок водяная помпа. Да не простая — с ограничениями по габаритам — толщина до 25мм, ширина до 50мм (длина — уже можно варьировать). Из желаемых характеристик — напор 1м и расход 100л/ч. Не найдя в продажах желаемого (в основном — по габаритам), по своей упоротойупорной натуре приступил к реализации своего решения данного вопроса!

Внимание — много фото!
Всего голосов 89: ↑88 и ↓1+87
Комментарии103

Сериал «Чернобыль»: смотреть и думать

Время на прочтение9 мин
Количество просмотров200K
Горький опыт сериалов, которые хорошо начинаются и разочаровывающе заканчиваются, удерживал меня от написания восторженного обзора на сериал «Чернобыль» до этой недели. И сейчас, когда вышла последняя, пятая серия, к сожалению, я вынужден сказать, что это отличный сериал, это прекрасный повод узнать больше о чернобыльской катастрофе, его обязательно стоит посмотреть, если вы еще не, но, если первые три серии, на мой взгляд, поднимаются до уровня моего самого любимого фильма «Аполлон-13», то две последние, опять же, по моему мнению, оказываются заметно похуже.


Кадр из сериала

Под катом спойлеры, как бы странно это не звучало для базирующегося на реальной истории сериала.
Всего голосов 189: ↑164 и ↓25+139
Комментарии797

Что не нужно делать, если у вас украли телефон

Время на прочтение7 мин
Количество просмотров235K
Ранее каждый раз, когда я видел сообщения о том, что у человека украли телефон, то всегда задавался вопросом: а зачем? Ну, серьезно, зачем воруют смартфоны если:

  • его можно отследить по IMEI, а смена IMEI явно не бесплатна;
  • на телефоне могут быть установлены блокировки, снять которые так же не бесплатно;
  • есть приложения с режимом «Антивор», которые передают фото, видео и аудио;
  • даже встроенные возможности Android (и, полагаю, iOS) имеют функцию геолокации пропавшего устройства;
  • устройство может иметь особые приметы, которые довольно сложно устранить «бесплатно»;
  • наверняка где-то рядом есть камеры видеонаблюдения, свидетели и т.п.;
  • при продаже краденного за него сложно будет выручить большую сумму денег.

Осознавая все это, я действительно не понимал, для чего же воруют телефоны, если, по сути, их легко найти, а денег на этом не заработать? Не понимал до 8 февраля 2019 года, пока у меня у самого не украли телефон.
Читать дальше →
Всего голосов 286: ↑259 и ↓27+232
Комментарии638

You are supposed to be here! 22 года релизу легендарной игры Duke Nukem 3D

Время на прочтение7 мин
Количество просмотров16K
«Фактура Дольфа Лундгрена, харизма Шварценегера и чувство юмора Брюса Уиллиса». Сочетание, конечно, убойное. Можно даже сказать — ядерное. Впрочем, нашего героя так и зовут — Ядерный Герцог. Он же — Дюк Нюкем. Брутальный блондин с мощными кулаками, исправно спасающий Землю от разных злобных тварей, большой ценитель женской красоты и автор «пацанских» изречений, уместных почти в любой жизненной ситуации. Особенно критической. В общем, личность примечательная.


Неудивительно, что одноименная компьютерная игра, посвящённая Дюку, — одна из культовых в индустрии. Это не просто классика и легенда, это — целый культурный пласт. Игра Duke Nukem растащена на образы и цитаты, которые «проросли» в самых неожиданных местах — от популярных песен (вспомните хотя бы «Орбит без сахара» Сплина) до модных подиумов (тренд на пергидрольный блонд вы думаете откуда?). Ну а о популярности среди геймеров можно даже и не говорить отдельно: все и так понятно.

В преддверии DukeCon — однодневного фестиваля, посвящённого игре Duke Nukem, — мы вспоминаем о том, как закалялась сталь. Точнее — как развивалась и менялась со временем эта игровая серия и что она подарила миру.
Читать дальше →
Всего голосов 45: ↑43 и ↓2+41
Комментарии24

Советские мечты о будущем

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


Помните очаровательного котика, которые чихал в заставке советского мультфильма? Мы помним, и нашли его — вместе с ворохом другой рисованной фантастики. В детстве она пугала и обескураживала, поскольку поднимала серьезные, взрослые темы. Настала пора пересмотреть старые мультфильмы, чтобы узнать, о каком будущем мечтали в той стране.
Всего голосов 138: ↑136 и ↓2+134
Комментарии144

Стажёр Вася и его истории об идемпотентности API

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

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


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

Читать дальше →
Всего голосов 219: ↑216 и ↓3+213
Комментарии163

Введение в машинное обучение

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

1.1 Введение


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

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

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

Благодаря машинному обучению компьютеры учатся распознавать на фотографиях и рисунках не только лица, но и пейзажи, предметы, текст и цифры. Что касается текста, то и здесь не обойтись без машинного обучения: функция проверки грамматики сейчас присутствует в любом текстовом редакторе и даже в телефонах. Причем учитывается не только написание слов, но и контекст, оттенки смысла и другие тонкие лингвистические аспекты. Более того, уже существует программное обеспечение, способное без участия человека писать новостные статьи (на тему экономики и, к примеру, спорта).
Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии6

Девушка под водопадом

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

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

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

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

В комментариях велели картинку для привлечения внимания вставить. Исполняю.



Сейчас она работает директором проектного департамента одного из крупнейших и известнейших предприятий Челябинска. А я сижу и пишу про нее статью.
Читать дальше →
Всего голосов 52: ↑39 и ↓13+26
Комментарии22

Самоконтроль времени на самообразование и время на чтение книг

Время на прочтение4 мин
Количество просмотров13K
Работа программистом предполагает постоянное обязательное самообучение. Самообучение включает в себя, во-первых, углубление знаний в уже знакомых сферах, и, во-вторых, получение навыков в неизвестных и пропущенных областях. Это всё, конечно, красиво звучит на бумаге, но по факту мы ещё имеем приступы лени, застревания в стеке технологий и выгорание от рутины. Новые ощущения помогают в борьбе с тёмной стороной разработки. Вот только ощущения должны быть действительно новыми: разбираться в десятый раз с нюансами «новых» api от очередной социалки быстро становится завуалированной рутиной.


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

В статье я описываю свой подход, который помогает мне результативнее заполнять пробелы в знаниях, а также с большим удовольствием заниматься геймдевом в качестве хобби.
Читать дальше →
Всего голосов 14: ↑8 и ↓6+2
Комментарии33

Что такое методология DevOps и кому она нужна

Время на прочтение6 мин
Количество просмотров21K
Разбираемся, в чём суть методологии и кому она может принести пользу.

Также поговорим о DevOps-специалистах: их задачах, зарплатах и навыках.

Читать дальше →
Всего голосов 26: ↑17 и ↓9+8
Комментарии17

Радиолюбительская технология: производство печатной платы прототипа на китайской фабрике

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

Цель публикации: рассказать, как с минимальными затратами времени и денег изготовить несложную печатную плату.


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


В этой статье описано: как подготовить и выгрузить из CAD Eagle 7.7.0 задание в формате Gerber RS274X для CAM, расположенной в КНР; как оформить заказ на изготовление печатной платы и её доставку в РФ.

Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии37

Клинический анализ мочи дома на тест-полосках: плюсы и минусы

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


Рассказать сегодня хотелось бы о многом. И уж точно не превращать этот пост в обзор банки с полосками.

Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии13
1
23 ...

Информация

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

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

Backend Developer, DevOps
Linux
Golang
Kubernetes