Pull to refresh
13
0
Алексей Соломонов @asolomonoff

Разработчик

Send message

Go и Protocol Buffers, ускорение

Reading time4 min
Views23K
Некое продолжение статьи Go и Protocol Buffers толика практики (или быстрый старт, для тех кто ещё не знаком). Процессы кодирования/декодирования в определённые форматы в Go тесно связяны с рефлексией. А как мы с Вами, дорогой читатель, знаем — рефлексия — это долго. О том какие методы борьбы существуют эта статья. Думаю что, искушённые вряд ли найдут в ней, что-либо новое.
Почему бы и не глянуть
Total votes 15: ↑12 and ↓3+9
Comments5

Continuous Delivery в Яндексе. Как разогнать свой цикл разработки, используя только Open Source решения

Reading time8 min
Views58K
Перед тестированием всегда стояли и стоят две задачи – помочь команде поддерживать высокий уровень качества разработки и делать это, не задерживая весь процесс. И это справедливо не только для наших проектов в Яндексе, где мы работаем над очень большим количеством сервисов. Часто основная задача и вовсе формулируется как увеличение скорости тестирования при сохранении должного уровня качества. Скорость процесса разработки, приверженность ценностям частых и быстрых релизов – это основополагающие факторы для успеха любого продукта. У команды больше возможностей маневра, команда быстрее находит и исправляет ошибки, быстрее получает фидбек. Как же ускоряться, не теряя качества, как достичь дзена непрерывной доставки изменений?



Сегодня мы покажем, что Continuous Delivery — это просто и весело! А пользу от него можно получить, встроив его даже частично. Мы в тестировании Яндекса уже несколько лет используем подобный подход для наших библиотек с открытым исходным кодом — Allure Framework или Yandex QATools. Процесс прост, значительно масштабируем и может применяться как для огромных команд из одного человека, так и для маленьких командочек из десятков человек. А самое главное — весь инструментарий доступен в Open Source!

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

А теперь вернёмся к теме. Представьте картину: уютное рабочее место, вы пишете код, добавляете юнит-тесты и отправляете изменения в систему контроля версий, а через пару часов они «выезжают» на боевые сервера. И все при этом работает.
Читать дальше →
Total votes 85: ↑82 and ↓3+79
Comments25

GitLab 8.11: канбан-доска и разрешение конфликтов одним кликом

Reading time11 min
Views38K

Эта статья — перевод релизной статьи компании GitLab. Релизы выходят каждый месяц 22 числа.


Если вы пропустили предыдущие, вот ссылки: 8.10, 8.9, 8.8




В новом GitLab 8.11 столько всего интересного, что мы с трудом сдерживаем себя в рамках конструктивного повествования!


Итак, в новой версии появились:


  • принципиально новый новый способ представления и работы с тикетами (issues);
  • слеш-команды (/command) для работы с тикетами;
  • возможность создавать шаблоны тикетов (в неограниченном количестве);
  • онлайн-среда разработки;
  • возможность разрешать конфликты мержа не выходя из GitLab;
  • настройка прав на пуш в ветку для отдельных участников и групп (только в ЕЕ);
  • … и много других фич, о которых мы тоже расскажем.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments33

Процесс разработки и выкатка релизов в Badoo. Автоматическое тестирование. Девелоперское окружение

Reading time26 min
Views42K

В июле мы вместе с ведущими IT-Kompot и релиз-инженерами Badoo Владиславом Черновым и Олегом Оямяэ записали выпуск подкаста «Процесс разработки и выкатка релизов в Badoo. Автоматическое тестирование. Девелоперское окружение».
Так как прошлый подкаст вызвал интерес у слушателей и читателей, то этот подкаст мы тоже превратили в статью.

О чем говорили:
Процесс разработки и выкатки релизов в компании Badoo. Используемые инструменты.
  • GIT Workflow. Каждая задача в отдельной ветке;
  • Использование JIRA, TeamCity и AIDA;
  • Формирование релиза и выкатка двух релизов в день. Проблемы и их решения (откат, патчи и т.д.).
Автоматическое тестирование. Рецепт быстрого прогона большого количества тестов.
  • Что мы используем;
  • Как гоняем тесты;
  • Code Coverage;
  • Пускалка. 18000 тестов за 3,5 минуты.
Девелоперское окружение в команде, разрабатывающей сложную распределенную систему
И рекомендации от ребят: полезные книги, статьи и т.д.

Читать полностью
Total votes 121: ↑92 and ↓29+63
Comments41

Удачная модель ветвления для Git

Reading time10 min
Views977K
Перевод статьи Vincent Driessen: A successful Git branching model

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



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

Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments105

Видео докладов с Go 1.8 release party Moscow

Reading time1 min
Views10K
image

16 февраля Golang-сообщество устроило глобальный сбор в честь релиза версии 1.8. На московскую release party в офисе Avito собрались более 150 «гоферов» и сегодня мы публикуем видео-записи докладов.
Total votes 35: ↑33 and ↓2+31
Comments7

VIM как IDE для разработки на Python

Reading time10 min
Views157K
image
Данная статья будет посвящена настройке vim, в которой я поделюсь своим «скромным» пониманием того, каким должен быть текстовый редактор, чтобы в нем было удобно/приятно/легко (нужное подчеркнуть) писать код также, как это сейчас возможно во всевозможных IDE типа PyCharm, SublimeText и т.п.
Весь процесс постараюсь описать как можно более подробно, чтобы вопросов по мере чтения для начинающих осваивать vim возникало как можно меньше.
Читать дальше →
Total votes 70: ↑58 and ↓12+46
Comments47

Использование Vim в качестве C/C++ IDE

Reading time4 min
Views113K
Привет, Хабрахабр. Меня зовут Алексей и я занимаюсь тем, что разрабатываю встраиваемые операционные системы.

Сегодня я хочу рассказать, как я использую Vim в качестве IDE для C/C++ проектов.

Несмотря на то, что я использую Vim для C/C++, многие из рекоммендаций довольно общие и могут использоваться в любом проекте.
Читать дальше →
Total votes 37: ↑32 and ↓5+27
Comments16

16 инструментов для создания прототипов

Reading time5 min
Views489K


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

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

16 инструментов со ссылками и их краткое описание
Total votes 53: ↑47 and ↓6+41
Comments33

Обзор и оценка перспектив развития мирового и российского рынков ИТ

Reading time45 min
Views152K
Ранее, в своем блоге на «Хабре» мы писали о том, почему Московская Биржа – это в первую очередь ИТ-компания. Как и полагается ИТ-компании, мы постоянно отслеживаем новые тренды рынка ИТ, делаем аналитику и строим прогнозы.

Представляем свежий аналитический обзор рынка ИТ, подготовленный совместно с фондом РВК и компанией IDC.

В этом обзоре

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

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

Обзор содержит прогноз развития мирового и российского рынка ИТ по основным категориям на период 2014-2018 годы.

Читать длинный интересный пост...
Total votes 16: ↑13 and ↓3+10
Comments7

От инструмента общения ученых до мирового стандарта: Краткая история электронной почты

Reading time7 min
Views15K


Электронная почта – это революция в мире коммуникации и, в то же время, тяжкое бремя современных работников. Фото: агенство Getty Images

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

5 марта 2016 года ушел из жизни Рэй Томлинсон, человек, который предложил использовать символ «@» (at-sign) в электронных адресах, но его изобретение, позволяющее электронным сообщениям заполонить интернет и наши почтовые ящики, будет жить. В этом материале мы расскажем о том, с чего начинал Томлинсон, и об эволюции электронной почты за последние полвека.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments3

VIM: зачем, если есть IDE, и как?

Reading time4 min
Views125K

Сегодня вышел текст о том, как человек перешёл с Sublime на VIM. В комментариях, как обычно это бывает, появились сообщения в духе "Зачем мне тратить время на Vim, если есть IDE, где всё работает?" (люди даже статьи на эти темы пишут). Хотел внести свои пять копеек, но объём написанного плавно перевёл текст из разряда "комментарий" в разряд небольшой статьи.


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


Узнать зачем и как начать
Total votes 100: ↑75 and ↓25+50
Comments401

Давайте уже разберемся в DNS

Reading time8 min
Views437K

image
Внимательный читатель найдет на этой картинке IPv6


Люди часто озадачены доменами. Почему мой сайт не работает? Почему эта хрень поломана, ничего не помогает, я просто хочу, чтобы это работало! Обычно, вопрошающий или не знает про DNS, или не понимает фундаментальных идей. Для многих DNS — страшная и непонятная штука. Эта статья — попытка развеять такой страх. DNS — это просто, если понять несколько базовых концепций.


Что такое DNS


DNS расшифровывается как Domain Name System. Это глобальное распределенное хранилище ключей и значений. Сервера по всему миру могут предоставить вам значение по ключу, а если им неизвестен ключ, то они попросят помощи у другого сервера.


Вот и все. Правда. Вы или ваш браузер запрашивает значение для ключа www.example.com, и получает в ответ 1.2.3.4.

Читать дальше →
Total votes 52: ↑48 and ↓4+44
Comments36

DevConf::Go — 17 июня в Сколково, экслюзивный мастер-класс по Go 18 июня в ТАСС

Reading time2 min
Views5.9K
Каждый год на DevConf появляются новые лидеры в разработках — в этом годы было много интересных заявок по Go, где разработчики готовы рассказать, как они применяют Go в продакшен. Вам интересено Go? Присоединяйтесь к сообществу Go на 4Gophers.ru

Первый доклад "Prometheus мониторинг от души" представляет Евгений Пак — разработчик с 10 летним опытом работы, Senior Developer Go компании Lazada. Он расскажет об опыте переезда на Prometheus, и почему выбрали именно его, о процессе миграции и о том, как организована инфраструктура для сбора метрик Go приложений. Расскажет о тонкостях вычисления квантилей как на стороне клиента (тип метрик Summary), так и на стороне сервера (тип метрик Histogram). Также вы узнаете о тех нюансах, с которыми столкнулись при работе с Графаной, и как их решили.

О том, как приготовить Go микросервис к продакшену поведает Вадим Мадисон. Доклад о том, что считать готовым к продакшену микросервисом. Как должен быть реализован микросервис, какую функциональность он должен предоставлять, чтобы считать сервис надежным, прозрачным для поддержки и мониторинга. На примере Go-микросервиса будет дан перечень необходимого функционала и рассказаны основные подходы по разработке, деплою и поддержке микросервисов.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments6

Профилирование и оптимизация программ на Go

Reading time25 min
Views84K

Введение


В этой статье я расскажу, как профилировать и оптимизировать приложения на языке Go с использованием встроенных и общих инструментов, доступных в ОС Linux.

Что такое профайлинг и оптимизация? Если ваша программа работает недостаточно быстро, использует слишком много памяти, неоптимально использует процессор, вы хотите понять, в чем дело, и исправить — это и есть профайлинг и оптимизация.

Я привел такое определение, чтобы сразу отсечь вопросы некорректной работы приложения. В этой статье мы не будем говорить о проблемах мультитредового программирования, о дата-рейсах (англ. data race), о поиске ошибок (англ. debugging). Для всего этого в Go есть свои утилиты и подходы, но оставим эту тему на будущее.



Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments18

Лучшие практики Go, шесть лет в деле

Reading time18 min
Views59K
В 2014 году я выступил на открытии конференции GopherCon с докладом под названием «Go: Best Practices for Production Environments». В SoundCloud мы были одними из первых пользователей Go и к тому времени уже два года писали на нём и поддерживали Go в бою в той или иной форме. За это время мы кое-чему научились, и я попытался поделиться частью этого опыта.

С тех пор я продолжал программировать на Go в течение всего рабочего дня, сначала в командах SoundCloud, отвечающих за операционную деятельность и инфраструктуру, а теперь работаю в компании Weaveworks над Weave Scope и Weave Mesh. Также я усердно трудился над Go kit, набором инструментов для микросервисов с открытым исходным кодом. И всё это время я принимал активное участие в развитии сообщества Go-программистов, встречался со многими разработчиками на митапах и конференциях по всей Европе и в США, коллекционируя их истории успехов и провалов.

В ноябре 2015-го, на шестую годовщину релиза Go, я вспоминал то своё первое выступление. Какие из лучших практик прошли проверку временем? Какие из них устарели или стали неэффективными? Появились ли какие-то новые методики? В марте мне представилась возможность выступить на конференции QCon London, где я рассказал о лучших практиках 2014 года и дальнейшем развитии Go до 2016 года. В этом посте представлена выжимка из моего выступления.

Ключевые положения я выделил в тексте в виде Top Tips — лучших советов.

А вот и cодержание:

  1. Среда разработки
  2. Структура репозитория
  3. Форматирование и стиль
  4. Конфигурация
  5. Разработка программы
  6. Логирование и метрики
  7. Тестирование
  8. Управление зависимостями
  9. Сборка и развёртывание
  10. Заключение
Читать дальше →
Total votes 68: ↑63 and ↓5+58
Comments19

Angular 2 Beta, обучающий курс «Тур героев» часть 1

Reading time6 min
Views60K

Часть 1 Часть 2 Часть 3 Часть 4


Вступление


Эта статья основана на документации Angular 2 и представляет собой перевод двух статей — Вступление и Редактор героя.


Используется Angular 2 release is beta.12.


Тур героев: обзор


Наш великий план — построить приложение для кадрового агентства героев. Даже героям нужна работа!


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

Читать дальше →
Total votes 18: ↑13 and ↓5+8
Comments11

Mandrill всё? Как я искал замену и нашел 2 прекрасные альтернативы Мандрилу

Reading time4 min
Views59K
TL;DR: Mandrill захотел поднять цены в 4 раза. Они нашли способ через интеграцию с MailChimp.

В феврале этого года, как гром среди ясного неба, пришло письмо от Mandrill о том, что с 27го апреля он перестаёт существовать как независимый сервис и теперь чтобы им пользоваться нужно будет интегрировать свой Mandrill аккаунт в платный аккаунт MailChimp. Именно платный, пусть даже и самый дешевый. Вот как выглядит ценник MailChimp:



Напомню, что раньше Mandrill был бесплатным для небольших проектов до 12.000 писем в месяц (около 400 в день). Сейчас же как минимум $20 + сколько напосылаешь писем.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments69

HowTo: DMARC

Reading time6 min
Views114K
Недавно пришлось столкнуться со спамящим php-скриптом. Виновник был найден и уничтожен, дыра закрыта… Оставался вопрос с блэклистами. В частности перестала доходить почта на Gmail (reject).
Решил я настроить почту «как надо» — SPF, DKIM и попробовать настроить DMARC.
Оговорюсь сразу — я даже не пробовал разобраться с макросами и не настраивал aspf/adkim (хоть и написал о них).

Что такое DMARC?


Описан в RFC7489.
DMARC задает политику как проверять приходящую почту в этом домене и что делать если письма не проходят аутентификацию SPF или DKIM. На картинке показано на каком этапе вступает в работу DMARC.
image: DMARC and the Email Authentication Process
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments0

Время учиться: дайджест бесплатных образовательных материалов от Mail.Ru Group

Reading time10 min
Views112K

Кадр из к/ф «Операция Ы и другие приключения Шурика»

Как говорят, «кризис — пора возможностей». И поэтому сейчас самое время начать вкладывать в саморазвитие, осваивать новую профессию или повышать свою квалификацию. Займитесь изучением языков программирования, обретением навыков разработки, тестирования и вообще всячески прокачивайте свой IT-скилл. Ведь чем больше вы знаете, тем прочнее будете стоять на ногах. А чтобы вам было легче сориентироваться и выбрать направление, мы сделали подборку наших бесплатных образовательных материалов, курсов и инициатив за 2015–2016 годы.
Читать дальше →
Total votes 48: ↑43 and ↓5+38
Comments29
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity