Всем известный закон Мёрфи гласит: «Если что-то плохое может случиться, то оно обязательно произойдет». Согласитесь, не самая позитивная установка, особенно когда это касается работы. И тут мне стало любопытно, а есть ли такие законы, которые мне, как ИТ-специалисту, максимально помогут избежать «чего-то плохого». К своему удивлению, я их нашел, и даже не один. Потому делюсь с вами сегодня своими сакральными знаниями в блоге ЛАНИТ.
Инженер
Некомпетентные компетенции
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/6ec/f2a/b49/6ecf2ab49aad73f0ed19f1c42a5fb217.png)
Поводом для написания этой статьи послужил случай, когда сотрудники нашего HR-отдела предложили мне взять в нашу проектную группу Департамента разработки программного обеспечения ЛАНИТ на производственную практику выпускника одного из московских техникумов. Кандидат обучался четвертый год по специальности «Прикладная информатика» и, судя по резюме, претендовал на должность «стажера-разработчика SQL, С#, HTML, CSS». Он уже прошел предварительные собеседования и, по словам наших кадровиков, показал себя наиболее адекватным из 15 других претендентов. Поскольку у меня это был не первый случай руководства практикой у студентов и предыдущие прецеденты имели положительный результат, я согласился.
Быть бизнес-аналитиком в ИТ
В нашей предыдущей статье мы уже писали о том, как программы стажировок в ЛАНИТ помогают в поиске бизнес-аналитиков в сфере автоматизации. Публикация вызвала живой отклик у наших читателей, и в частности, нас попросили рассказать, о том, кто такой “настоящий бизнес-аналитик” и какие качества необходимы, для того, чтобы работать в ИТ-сфере. Остановимся на этом подробнее.
Близкое будущее квантового компьютера в наивных вопросах и ответах
В сфере создания квантовых компьютеров в 2023 году может произойти сразу несколько значимых событий. Ожидается, что именно в этом году появится первая коммерческая модель квантового компьютера, а также будет практически завершена работа над первым российским квантовым компьютером на ионах. Будет ли это означать уверенное достижение квантового превосходства, о котором уже заявили в Google, – большой вопрос. В гонке за кубитами участвуют сразу несколько стран, но победителя в этом научном и техническом соревновании может не оказаться. Несмотря на все успехи, наука очень далека от создания по-настоящему массовых квантовых вычислительных технологий. Мы собрали несколько наивных вопросов на этот счет и попросили ответить на них научного консультанта Artezio, доктора технических наук, профессора по кафедре прикладной математики и информатики Владимира Крылова.
Автоматизация закупок в коммерческих компаниях: российская практика
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/fad/00a/f9c/fad00af9c1a2a70e54f30961dc680ae2.jpeg)
Сегодня общий уровень автоматизации закупок в коммерческих организациях в России остается неоднородным. При этом, потребность в инструментах для цифровизации закупочных процессов по-прежнему сохраняется. В частности, среди коммерческих организаций заметен спрос на простые во внедрении решения, основанные на идеологии low-code.
В этой статье мы публикуем выдержки из исследования уровня автоматизации закупок в российских коммерческих компаниях, которое в 3-4 кварталах 2021 года провели компания НОРБИТ совместно с TAdviser и Ассоциацией профессионалов по управлению закупками (APPM). В опросе приняли участие более 100 ИТ-директоров и директоров по закупкам крупных и средних российских компаний. Данные приведены по состоянию на январь 2022 года.
Двенадцатифакторная модель создания CLI-приложений
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/e4d/030/6d4/e4d0306d4136c6d37007d7d40eb6f619.jpeg)
Современному пользователю сложно представить себе взаимодействие с операционной системой без мышки или пальца на экране. Интерфейс однозначно ассоциируется с чем-то графическим и оконным, основанным на пользовательском опыте миллионов людей за несколько десятилетий. Это очень удобно, однако в разработке софта есть ещё удалённые уголки Вселенной, где для решения сложных комплексных задач просто нет готовых решений с графическими интерфейсами. Тут на помощь приходит старая добрая командная строка (Command Line Interface, CLI). Поводом для перевода и публикации этой статьи стал интерес команды Artezio к повышению удобства, читаемости и возможности поддержки CLI в части разработки. В конце концов это такой же интерфейс как и графический, он тоже должен быть удобным. Мы очень надеемся, что эти знания окажутся полезными для читателей блога.
Серые кардиналы: бактерии, генная инженерия и CRISPR
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/0b4/d6d/31e/0b4d6d31e2a5faa888eec9938bf0f700.png)
В современном обществе у процесса генетической модификации появились различные ассоциации с мутантами, зомби, опытами, необратимыми последствиями. Но неужели все так плохо и прогресс генной инженерии не несёт практической пользы? В блоге ЛАНИТ-Интеграции на Хабре уже есть две мои статьи про повышение урожайности картофеля с помощью цифровых технологий и про промышленное выращивание овощей. Думаю, настало время раскрыть многогранную тему ГМО и развеять страшные мифы об их вреде и пользе.
Можно очень долго описывать взаимоотношения людей с природой и, в частности, «приручение» диких растений для служения роду человеческому, а потом перейти к научному описанию этого процесса, именуемого селекцией. Но я хочу начать с цитирования одного из величайших умов отечественной и мировой селекции/генетики Николая Ивановича Вавилова: «Селекция как наука оформилась лишь в последние десятилетия. В прошлом она была больше искусством, чем наукой. Навыки, знания и конкретный опыт, нередко засекреченный, были достоянием отдельных хозяйств, переходя от поколения к поколению. Только гению Дарвина удалось обобщить весь этот огромный и разрозненный опыт прошлого, выдвинув идею естественного и искусственного отбора как основного фактора эволюции наряду с наследственностью и изменчивостью».
Распределённые транзакции Kafka + PostgreSQL средствами Spring
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/4ad/733/691/4ad7336911eb9310d8312631b6b50180.jpeg)
Как известно, во многих IT-проектах есть типичная задача - транзакционная обработка данных в интеграционных сценариях, когда необходимо согласованно отправить или принять данные из внешней системы и при этом обновить собственное состояние приложения.
Особенно интересной эта задача становится, когда для интеграции используется Kafka, так как она имеет свои ограничения, касающиеся реализации транзакционности. Вообще, сейчас Kafka достаточно широко применяется именно в качестве платформы для асинхронной интеграции, это справедливо и для проектов, которые мы в ЛАНИТ — Би Пи Эм реализуем, например, в Альфа-Банке и ВТБ. Поэтому, надеемся, данная тема будет интересна многим.
В этой статье рассмотрим подход к реализации распределённых транзакций (в рамках одного Java-приложения), которые охватывают Kafka и реляционную СУБД. Для этого воспользуемся средствами управления транзакциями, имеющимися в Spring.
Варианты с организацией eventual consistency с помощью типовых паттернов (Saga, Transactional Outbox и др.) и/или использования дополнительных платформ (Debezium, Kafka Connect и пр.) - тема для отдельной статьи (так что ждите продолжения). В этой статье тему затрагивать не будем.