Pull to refresh
48
0
Дмитрий Игнатьев @love5an

User

Понимание разницы между СI и СD: «если что-то вызывает боль, делайте это почаще»

Reading time 9 min
Views 27K
Disclaimer. Костис Капелонис — Developer advocate (человек, защищающий и отстаивающий принципы программной разработки) Codefresh, первой платформы CI/CD для Kubernetes и контейнеров. Миссия Codefresh «Автоматизировать и упрости всё, от кода до облака». Как инженер-программист, Костис имеет многолетний опыт контейнеризации приложений, построения конвейеров CI/CD и разработки приложений Java. Он живет в Греции и любит кататься на роликах.

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

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

— Вы используете непрерывную интеграцию в вашей команде?
— Да, конечно, мы используем инструмент X!

Позвольте мне раскрыть вам маленький секрет. Непрерывная интеграция и доставка – это два подхода к разработке кода, которые совершенно не связаны с конкретным инструментом или поставщиком. Несмотря на то, что существуют инструменты и решения, которые могут помочь вам в обеих случаях (например, Codefresh), в действительности компания может практиковать CI / CD, используя только сценарии bash и однострочники Perl. Ээто не очень практично, но, безусловно, вполне возможно.

Поэтому, вместо того, чтобы попадать в общую ловушку объяснения сути CI/CD с помощью инструментов и технических терминов, мы объясним, что представляют собой эти методологии, опираясь на самый важный фактор процесса разработки – людей!
Читать дальше →
Total votes 45: ↑43 and ↓2 +41
Comments 15

«Современный» C++: сеанс плача с причитаниями

Reading time 18 min
Views 63K

Здесь будет длиннющая стена текста, с типа случайными мыслями. Основные идеи:


  1. В C++ очень важно время компиляции,
  2. Производительность сборки без оптимизаций тоже важна,
  3. Когнитивная нагрузка ещё важней. Вот по этому пункту особо распространяться не буду, но если язык программирования заставляет меня чувствовать себя тупым, вряд ли я его буду использовать или тем более — любить. C++ делает это со мной постоянно.

Блогпост «Standard Ranges» Эрика Ниблера, посвященный ренжам в C++20, недавно облетел всю твиттерную вселенную, сопровождаясь кучей не очень лестных комментариев (это ещё мягко сказано!) о состоянии современного C++.



Даже я внёс свою лепту (ссылка):


Этот пример пифагоровых троек на ренжах C++20, по моему, выглядит чудовищно. И да, я понимаю, что ренжи могут быть полезны, проекции могут быть полезны и так далее. Тем не менее, пример жуткий. Зачем кому-то может понадобиться такое?

Давайте подробно разберём всё это под катом.

Читать дальше →
Total votes 121: ↑112 and ↓9 +103
Comments 238

Обратная сторона Agile

Reading time 5 min
Views 80K
imageХочу поделиться историей, ну и заодно услышать мнения других участников хабрасообщества. Это небольшая история о том, как агрессивное внедрение методологии разработки Agile (Scrum) в отдельно взятой российской IT компании послужило началом исхода из компании лучших разработчиков. Обычно в статьях про Agile рассказывают, какая это классная и полезная методология, и вообще — это лучшее, что было придумано в этом направлении. Возможно, эта статья поможет взглянуть на Agile с другой стороны, ведь у любой монеты, как оказалось, есть две стороны.

В общем, в 2010-м году была основана одна российская компания (что-за компания конкретизировать смысла нет), работала она в сфере IT-разработки (ПО для банковских продуктов).
Читать дальше →
Total votes 146: ↑132 and ↓14 +118
Comments 580

Подводные камни Entity Framework и производительность

Reading time 15 min
Views 67K
При работе с Entity Framework, как и с любым другими ORM, часто возникают вопросы, связанные с его производительностью. Многие разработчики из-за незнания нюансов делают ошибки, приводящие к плохим результатам. Затем, во время анализа проблем и поиска решений, недостаточно разобравшись в вопросе, приходят к выводу, что улучшить ситуацию можно только переходом на другой ORM или отказом от него вообще. Хоть в некоторых ситуациях такое решение может оказаться разумным, зачастую не все так плохо — просто нужно знать нюансы. В этой статье я попытался собрать те подводные камни, с которыми мне чаще всего приходилось сталкиваться на практике.
Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Comments 21

Перестаньте называть себя программистом и другие карьерные советы

Reading time 19 min
Views 258K
Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
Читать дальше →
Total votes 251: ↑212 and ↓39 +173
Comments 175

Почему компании отказываются от лучших сотрудников?

Reading time 7 min
Views 202K
Весной 2006 года Кевин Систром стоял за кофемашиной в кафе Caffé del Doge в Пало-Альто, когда к стойке подошел основатель Facebook Марк Цукерберг. Годом ранее Цукерберг уже ужинал с Систромом — он предложил ему уйти с последнего курса Стэнфорда, чтобы разработать фотосервис для Facebook. Кевин тогда отказался. Оставшись в Стэнфорде, Систром разработал приложение Instagram, которое Цукерберг недавно приобрел за $1 млрд. (Сумма поражает, особенно если знать, что у стартапа нет не только выручки, но и модели ее получения. В компании Instagram, возраст которой еще не достиг двух лет, по-прежнему лишь 14 сотрудников.) В итоге Цукерберг все же захватил Кевина в ряды армии Facebook, с чем его и поздравляем.

Если в истории с Систромом Цукерберг сделал ставки и не прогадал, то с сооснователем WhatsApp Брайаном Актоном все сложилось иначе. В 2009 году его не взяли на работу в Facebook, а в 2014 компания покупает WhatsApp за $16 млрд. Как же так получается, что большие и инновационные компании отказываются от перспективных сотрудников (будем называть их гуру или «звездами»), за которых в будущем будут гоняться с утроенной скоростью, предлагая просто сумасшедшие деньги? Ориентация на метрики, а не на результат.
Читать дальше →
Total votes 136: ↑123 and ↓13 +110
Comments 96

Про компоновку, dependency hell и обратную совместимость

Reading time 11 min
Views 21K
В данной статье речь пойдёт о высокоуровневом взгляде на компоновку. Где ищутся разделяемые библиотеки на Linux, BSD*, Mac OS X, Windows, от которых зависят приложения? Что делать с обратной совместимостью? Как бороться с адом зависимостей?

Читать дальше →
Total votes 50: ↑47 and ↓3 +44
Comments 19

Межличностная грыжа или Что общего у климата в коллективе и проблем с позвоночником

Reading time 16 min
Views 12K
Всё в нашей жизни подчинено общей логике, функционирует по одним законам, следует одинаковым правилам. Эту истину пару недель назад поведал мне мой первый начальник, ныне мой хороший друг. Привёл простой пример из личного опыта, сравнив структуру армии со структурой любого предприятия. Конкретно под сравнение попала такая категория как команда и её размеры, оптимальные для эффективного управления. Не без оснований он, мой товарищ, заявил, что управлять группой больше 8 человек крайне сложно, если не невозможно. И провёл аналогию с самой маленькой армейской единицей. Смотрю Википедию: и правда, в звене 3-8 человек.

Читать дальше →
Total votes 13: ↑5 and ↓8 -3
Comments 3

Программирование и стриптиз

Reading time 1 min
Views 99K


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


Читать дальше →
Total votes 189: ↑153 and ↓36 +117
Comments 100

Утрата слабой связанности

Reading time 4 min
Views 38K
Перевод статьи LOSING LOOSE COUPLING

монстр-трак велосипед Когда меня просят присутствовать на собеседованиях, я обычно задаю один вопрос кандидату: «Что такое хороший код?». Тревожит, что часто можно услышать от недавних выпускников: «Наличие хороших комментариев». Это неправильный ответ. Кто учит их этому? Пугающе. Но я отвлекся… Не думаю, что есть правильный ответ на мой вопрос, однако я бы принял что-нибудь вроде «сильное сцепление (high cohesion) и слабая связанность (loose coupling)». По крайней мере это что-то говорит о коде. Но если это собеседование Java разработчика, я не дам бедняге уйти без нескольких дополнительных вопросов. Потому что Java разработчики полностью обезумели. Они одержимы желанием порубить код на супер-пупер мелкие кусочки. Мы рубим и рубим до тех пор, пока практически ничего не останется. Как только маленькие дорогуши разделены мы начинаем беспокоиться о том, чтобы они не трогали друг друга. Ох, малышки! Мы должны защитить их друг от друга любой ценой. Каждый маленький кусок кода получает свой собственный интерфейс, чтобы он не мог замарать свои руки дотянувшись до других частей напрямую. Мы связываем их магическими фреймворками. Которые используют абстрактные прокси, создающие фабрики и так далее.

Представьте велосипед, сделанный по таким принципам. Рама порублена на кусочки, длиной 1 сантиметр, соединенных по типу позвоночника. Будет ли она более гибкой? Определенно — да. Будет ли она практичной? Конечно, нет. Она будет дороже в производстве в сотни раз. Она также будет ломаться в сотни раз чаще. Такой велосипед приведет к большему количеству несчастных случаев, и не в последнюю очередь, будет странно выглядеть и на нем будет трудно ездить. Наша спина должна быть гибкой, поэтому позвонки имеют смысл. Велосипеды — нет.
Читать дальше →
Total votes 106: ↑78 and ↓28 +50
Comments 105

Интеграция Team Foundation Services с Git и другие новые возможности

Reading time 3 min
Views 22K
imageСегодня произошел большой шаг вперед в развитии Team Foundation Services — облачного сервиса Microsoft для разработчиков. Последние несколько месяцев команда TFS вела работу над новыми возможностями которые делают эти сервисы еще проще, удобнее и эффективнее. Одним из самых громких нововведений является интеграция популярной системы контроля версий Git с сервисами TFS. Работа на этом не прекращается и в обозримом будущем будет добавлено еще много интересных функций.
Читать дальше →
Total votes 50: ↑43 and ↓7 +36
Comments 32

Знакомьтесь, Instacode — это как Instagram, только для лучших фрагментов из жизни… исходного кода

Reading time 1 min
Views 58K
один из шедевров неизвестного программиста
Всем привет. Недавно на просторах интернета наткнулся на очень занимательную вещицу, имя которой Instacode. Чем же занимателен данный сайт — а тем, что он работает по принципу Instagram, только вот изображения генерируются из вашего исходного кода. Не верите? А вы попробуйте. В общем, кому интересно — милости прошу под кат.

Читать дальше →
Total votes 132: ↑112 and ↓20 +92
Comments 101

Что нужно делать смолоду или как стать богатым айтишником

Reading time 7 min
Views 630K

Статья написана после прочтения статьи Копи деньги смолоду или пара утверждений, легко проверяемых в Excel.

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

Нужно заметить, что три года назад, я и сам не знал этого принципа, и мне даже пришлось продать свою машину, чтобы выплатить долги. Но я не расстроился – я уже знал этот принцип и был уверен, что у меня получится стать богатым. Ведь если ты действуешь исходя из этого принципа, то настоящее богатство – лишь вопрос времени. И я не ошибся.
Не важно, кто ты – дизайнер или программист, но я уверен, если ты тоже последуешь ему, то станешь богатым.
Ближе к делу
Total votes 389: ↑303 and ↓86 +217
Comments 578

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity