Pull to refresh
6
0
Игорь @peacecoder85

Backend Engineer

Send message

Camunda: автоматизация бизнес-процессов и оркестрация микросервисов

Reading time6 min
Views21K

Несколько лет назад Леруа Мерлен начала масштабную программу ИТ-трансформации с использованием таких прогрессивных течений, как микросервисная архитектура, предметно-ориентированное проектирование (оно же DDD) и формирование собственных in-house-команд разработки. Пилотным проектом этой программы стало построение омниканальной платформы продаж, то есть возможность для клиента сделать взаимодействие с компанией удобным и доступным через любой существующий канал продаж, будь то сайт, магазин, колл-центр и т. д., в том числе наша платформа дает возможность взаимодействовать с различными партнерами для получения бизнес-синергии. Этой статьей мы начинаем рассказ об опыте использования open-source-платформы Camunda.

Читать далее

Дайджест свежих материалов из мира фронтенда за последнюю неделю №477 (12 — 18 июля 2021)

Reading time2 min
Views7.8K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Квантовые процессоры поступают в продажу: что они могут и для чего созданы?

Reading time3 min
Views36K

В 2020 году специалист по квантовой физике Алессандро Бруно и выпускник технологического университета TU Delft Маттейс Райлаарсдам основали компанию QuantWare. Их партнерство не было случайным: специалисты познакомились во время реализации одного из проектов в компании QuTech при TU Delft.

В течение года компания активно развивалась, главная ее цель — создание доступных квантовых процессоров и сопутствующих систем. В целом, создание квантовых процессоров — далеко не новость. Google, IBM и прочие компании сообщали о создании собственных квантовых компьютеров несколько лет назад. Сейчас к некоторым из таких устройств можно получить доступ для оценки их возможностей. Правда, не напрямую, а через «облако». А вот QuantWare дает возможность заказать свои разработки всем желающим. Что это за системы и на что они способны?
Читать дальше →

Объектно ориентированное программирование на Си без плюсов. Часть 1. Введение

Reading time5 min
Views32K

Приветствую! 

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

Статья рассчитана на тех кто уже знаком с Си, а все примеры ориентированы на ОС Linux. Мои познания Windows закончились на «WinXP», после которой в Windows стало уже очень много политики ("безопасности") и коммерческой составляющей, но я сейчас не об этом и надеюсь, что здесь вы найдёте для себя полезные моменты, а если я в чём-то не прав или заблуждаюсь, то поправите.

Итак, я решил попробовать писать в стиле объектно ориентированного программирования (далее ООП) на Си без плюсов. Многие скажут, что писать в стиле объектно ориентированного программирования (далее ООП) не для Си, и разные приёмы написания это - «псевдо-ООП». Но лично я считаю ООП всего лишь абстрактной парадигмой, определяющей стиль написания ПО и не более чем. А Си очень мощный и самодостаточный язык программирования.

Так сложилось, что изучать традиции ООП я начал с Delphi и Java, являющихся, как считается, на 100% объектно ориентированными языками программирования, а потому аналогия решений у меня ассоциируется именно с ними. И далее в тексте я иногда буду на них ссылаться, что надеюсь не испортит суть полного понимания.

Читать далее

Frameworkless — бессерверный фреймворк для веб приложений

Reading time9 min
Views5.7K

Не думаю, что многие разработчики сегодня используют CGI-скрипты и старый добрый PHP. Поэтому у каждого из нас есть любимый фреймворк, с помощью которого мы и создаём свои веб-приложения. Чем бы мы ни занимались — составлением стандартного юридического контракта или съёмками голливудского блокбастера, — всегда полезно начать с какого-нибудь шаблона. Фреймворк придаёт структуру вашему приложению и избавляет вас от необходимости снова и снова изобретать велосипед. Это может быть навороченная платформа — своего рода конструктор, в котором есть всё, что нужно, даже батарейки (Rails, Django, Spring Boot, Nest), — либо минималистичный, но удобный фреймворк, работающий по принципу «тяп-ляп — и готово» (например, Flask или Express).

Читать перевод далее

Когда стоит выбирать микросервисы

Reading time10 min
Views8.6K

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

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

Сам подход оформился на стыке технологий из конкурентной необходимости мгновенно вывести бизнес на новый уровень, и поэтому решения развивались лавинообразно и быстро обзаводились надстройками, паттернами и CI/CD обвеской. Для бизнеса причины не теряют актуальности и интерес к микросервисам также не угасает последние десять лет. При этом сделать решение на микросервисах для ИТ команды – задача творческая, интеллектуальная, позволяющая опробовать современные подходы и уложить на лопатки драконов консерватизма предыдущих решений. То есть, вполне благородный вызов. 

Но вот стоит ли поддаваться этой магии — большой вопрос. 

Как и всякое модное решение микросервисы не всегда идут на пользу. И не являются панацеей от всех проблем. 

Впрочем, давайте разбираться.

Читать далее

Книга «Экстремальный Cи. Параллелизм, ООП и продвинутые возможности»

Reading time9 min
Views11K
image Привет, Хаброжители! Для того чтобы овладеть языком C, знания одного лишь синтаксиса недостаточно. Специалист в области разработки должен обладать четким, научным пониманием принципов и методик. Книга «Экстремальный Cи» научит вас пользоваться продвинутыми низкоуровневыми возможностями языка для создания эффективных систем, чтобы вы смогли стать экспертом в программировании на Cи.

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

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

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

Главный недостаток Docker на взгляд сисадмина

Reading time6 min
Views22K

Я работал в качестве сисадмина во множестве проектов, где моей основной обязанностью была поддержка процесса разработки, да и сам какое-то время сам был разработчиком. В последние 6-7 лет с интересом наблюдал за развитием docker как технологии, и, к сожалению, вынужден был отметить довольно характерную и для docker, и для контейнеризации в целом проблему, которую я для этой статьи могу назвать "Главным недостатком docker'а", не хейта ради, но конструктивной дискуссии для. Впрочем, "спешу огорчить", в данном случае речь не идёт не о каком-то фатальном изъяне в самой технологии, речь - всего лишь о характерной проблеме, связанной с реальной практикой её [технологии] применения, то есть по сути в «человеческом факторе».

Читать далее

Чем разработчик от кодера отличается

Reading time6 min
Views32K

Самый плохой разработчик — тот, который всё делает по ТЗ. А самый лучший код — не написанный.

«Моя задача — писать код, я разработчик!» — да, это очень удобная позиция. Но людям, которые не только программируют, но ещё и общаются с коллегами, организуют собственную работу и понимают предметную область, платят больше. Потому что они приносят бизнесу больше пользы. Разработчики, которых надо микроменеджерить, чтобы они делали свою работу, никому не нужны.

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

Это история не про любовь, мир, жвачку и миссию компании, а про простую способность сделать свою работу так, чтобы она была сделана хорошо. И да, для этого разработчик должен не только уметь программировать, но и уметь общаться с другими людьми, уметь доносить свои мысли, уточнять и понимать, что вообще происходит. То есть уметь договариваться. Да, разработчик должен уметь организовывать свою работу: раскладывать проблему на задачи. Ещё он должен интересоваться продуктом (проектом). Не потому что разработчик так его любит, и не потому, что этого требует Agile, а потому, что живой интерес к продукту и понимание его ценности увеличивает качество решений и стоимость разработчика на рынке. Знание предметной области и её ограничений — первейшее требование для того, чтобы принять правильное техническое и архитектурное решение. И очевидно, что чем меньше руководитель тратит сил на управление сотрудником и чем больше получает результат, — то есть чем выше автономность сотрудника, его самостоятельность и беспроблемность, — тем он ценнее при прочих равных.

Читать далее

Как стать тимлидом, или Что вас ждет по другую сторону разработки?

Reading time10 min
Views18K

Привет Хабр! 

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

Читать далее

Зарплаты украинских разработчиков — лето 2021

Reading time6 min
Views27K

Украинский ресурс DOU.UA (Developers.Org.Ua) провел в июне зарплатный опрос среди IT-разработчиков, в котором собрал 6731 анкету от разработчиков всех уровней: от Intern до Architect.

За последние полгода зарплаты разработчиков выросли в среднем на 20%. Также увеличилась доля специалистов уровней Senior и Lead.

Осторожно, много картинок!

Алгоритм для рейтинга комментариев, поощряющий хорошие аргументы

Reading time4 min
Views6.3K

Сайты вроде Хабра, Пикабу, Реддита, и Hacker News имеют древовидные системы комментариев к постам. Зарегистрированные пользователи могут голосовать за комментарии. Сайты используют рейтинги комментариев двумя способами:

- Управляют вниманием читателей комментариев. "Лучшие" комментарии отображаются сразу под постом, "худшие" - в подвале. Хабр почти не управляет вниманием читателей: он лишь блюрит "плохие" комментарии, но не переупорядочивает их. Впрочем, я (как наверное и многие другие читатели) часто листаю комментарии только цепляясь взглядом за двузначное значение рейтинга.

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

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

Читать далее

Айтишный дауншифтинг, стремление к минимализму и простоте

Reading time9 min
Views37K
Astrobotany

Современные IT чрезвычайно сложные, если не сказать переусложнённые, по своему устройству. Особенно это касается web. Фреймворки, grpc, Python/Go/JS/TS/Web Assembly etc, HTML5, CSS, Docker, Kubernetes и далее в бесконечность. Плюс современные методологии разработки ПО, типа Agile и иже с ними, заставляют выкатывать продукты в прод как можно быстрее, да ещё и так чтобы продукт понравился пользователю (то есть это наличие всяческих bells & whistles, чтобы заманить пользователя и прочих «плюшек» которые красиво выглядят, но жрут ресурсы как не в себя). Большинство плюёт на оптимизацию и вполне нормальным считается когда веб страничка весит мегабайты. А браузеры, которые должны всё это отображать, являются самыми тяжёлыми приложениями в ОС.

Всё вышеописанное может быть не так заметно, точнее не так осознаваемо людьми далёкими от айти, но, как ни странно, это начало раздражать самих айтишников. Программистов, админов, девопсов, да и просто людей, для которых компьютеры, электроника это хобби. И в результате, особенно в последнее время, стали происходить странные, на первый взгляд, вещи. Айтишники начали уходить в «андеграунд». По крайней мере в своих личных проектах. Как?
Сейчас посмотрим...

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

Reading time21 min
Views8.6K

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

Приветствую, читатель. В одной из своих прошлых статей (Как я 12 лет создавал свой ЯП и компилятор к нему) я рассказал о том, как я создавал свой язык программирования, продолжая его развитие и уже почти выпустив версию 0.2, я понял, что это не тот язык, на котором я хочу писать и я начал обдумывание нового языка. Поскольку это мой где-то 8-й по счёту язык программирования, я задумался "А в чём причина того, что я создал уже столько языков, но никак не могу получить тот, который мне подходит?".

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

Читать далее

Windows must die

Reading time4 min
Views70K
image


Об авторе: Joel — ИТ-журналист с 19-летним стажем и создатель Deep Space Nine Upscale Project (DS9UP).

Согласно заявлениям Microsoft, Windows 11 сделает существенный шаг назад по сравнению с Windows 10. В частности, Windows 11 Home теперь будет требовать как доступ к Интернету, так и учетную запись Microsoft для настройки ПК.

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

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

Компьютер — это не Интернет


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

Но это не единственная моя причина.
Читать дальше →

Timsort — самый быстрый алгоритм сортировки, о котором вы никогда не слышали

Reading time5 min
Views56K

Timsort: Очень быстрый, O(n log n), стабильный алгоритм сортировки, созданный для реального мира, а не для академических целей.

Timsort — это алгоритм сортировки, который эффективен для реальных данных, а не создан в академической лаборатории. Tim Peters создал Timsort для Python в 2001 году. 

Timsort сначала анализирует список, который он пытается отсортировать, и на его основе выбирает наилучший подход. С момента его появления он используется в качестве алгоритма сортировки по умолчанию в Python, Java, платформе Android и GNU Octave.

Нотация Big O для Timsort — это O(n log n). Чтобы узнать о нотации Big O, прочтите это.

Читать далее

Lock-free структуры данных. 1 — Начало

Reading time12 min
Views153K

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

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

Кто такой СТО и каковы его задачи? Личный опыт и мнение технического директора

Reading time6 min
Views51K


Привет, Хабр! Меня зовут Игорь Десятников, я Chief Technical Officer в компании Neuro.net. Несколько раз встречал на Хабре статьи с попыткой рассказать о роли СТО, об эволюции этой должности при расширении компании и т.п. С некоторыми вещами согласен, с другими — нет.

Сегодня расскажу о своем видении позиции СТО. Если получится — было бы отлично поднять в комментариях дискуссию. Если вы с чем-то не согласны, просто хотите дополнить или поделиться собственным опытом — давайте обсудим.
Читать дальше →

Как писать хорошую документацию

Reading time14 min
Views20K

Несколько лет назад я услышал от одного коллеги историю. Он в то время работал начальником отдела технической документации в IT компании. Дело было на собрании, посвященном знакомству с новым техническим директором. Тот, пожав моему коллеге руку и узнав о его роли, пошутил: “Документация? Так ее же не читает никто! Двадцать первый век на дворе”.

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

Читать далее

Зарплата разработчиков могла быть выше на 30%. Результаты исследования

Reading time9 min
Views18K

На Хабре есть истории о том, как в Кремниевой долине на опционах становятся миллиардерами.

А что в России? Если на работе предлагают опцион, это плюс или минус? Мы опросили более 600 российских IT-специалистов от junior-уровня до тим-лидов, а также узнали мнения менеджеров и фаундеров российских компаний.

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

Предлагаем обсудить то, как работают опционы в России, и какое мнение о них сложилось.

Читать далее

Information

Rating
7,760-th
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity

Specialization

Backend Developer
Senior
From 4,000 $