Всем привет!
Хочу рассказать про опыт применения гексагональной архитектуры в одном из наших микросервисов. С чем столкнулся и какие выводы сделал.
Организатор конференций для программистов
Всем привет!
Хочу рассказать про опыт применения гексагональной архитектуры в одном из наших микросервисов. С чем столкнулся и какие выводы сделал.
Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.
Вам хочется использовать ванильный Git, чтобы управлять репозиторием с объёмом 300 ГБ в 3,5 млн файлов, которые без проблем получают пуш каждые 20 секунд от 4000 разработчиков? Тогда читайте дальше!
Вот агенда блога — наша блогенда:
java.util.concurrent.CompletableFuture
- класс не новый. Он предстал перед нами во всём своём величии в 2014-м году вместе с выпуском Java 8. Много лет с тех пор прошло, а проще он не стал.
Мы в компании называем их "фьючи". На хабре было много материала по отдельным частям их функциональности, но я решил поставить перед собой более серьёзную задачу - постараться разобрать внутреннее устройство и многие неочевидные нюансы работы с этим классом.
Стратегические карты — один из инструментов стратегического планирования. Они помогают решить, какие задачи на ближайшее время компания признаёт приоритетными, и наглядно их представить на одной схеме.
В этой публикации я на конкретном примере дам чёткую и понятную инструкцию по разработке стратегической карты, которая как раз и своими вопросами и может проверить стратегию на состоятельность и исполнимость.
Рано или поздно аналитик сталкивается с проблемой организации данных. Их становится все больше, структура перестает быть прозрачной, а одни и те же SQL-запросы приходится переписывать по несколько раз. Решить эту проблему можно с помощью dbt – инструмента, который открывает новый подход к трансформации и моделированию данных. Под катом – перевод отличной статьи Дэвида Кревитта о том, что такое dbt, и как этот инструмент помогает аналитикам облегчить свою работу.
Хорошо осенью любоваться на озёра… на озёра данных. Особенно когда про них говорит спикер Владимир Озеров. В общем, этой осенью, как и раньше, мы проведём конференцию SmartData обо всём, что важно в дата-инжиниринге: от отказоустойчивости до MLOps.
6-7 сентября пройдёт онлайн-часть, а 13-14 сентября встретимся в Москве (но все, кто не готов добраться на московскую площадку, смогут и во второй части поучаствовать удалённо).
Среди тем — и архитектура дата-платформ, и «внутренности» баз данных, и стриминг, и DataOps, и даже пара «космических» (в буквальном смысле) докладов. А среди спикеров есть те, чьи доклады уже хвалили участники прошлых SmartData — например, Максим Бабенко, Владимир Озеров, Дмитрий Аношин, Евгений Ермаков и Максим Стаценко. Все описания докладов — под катом.
На Хабре есть две статьи, автор которых пишет виртуальную машину для исполнения простого байткода, а потом применяет различные оптимизации для ускорения этой виртуальной машины. Кроме того, есть и компилятор простого С‑подобного языка в этот самый байткод. Ознакмившись со статьями и этим компилятором, я подумал, что будет интересно изучить, как написать виртуальную машину этого языка, которая сможет делать JIT‑компиляцию байткода с помощью библиотеки libjit. Опыт этого я и описываю в настоящей статье. В интернете есть статьи, описывающие испльзование этой библитеки, но все, что я видел, описывают генерацию машинного кода с помощью libоit для конкретных программ, а не произвольного байткода: есть официальный tutorial, серия статей и ещё серия сравнений на Хабре.
Весь мой код приведён в моём репозитории.
Не претендую на открытие Америки в этой публикации, т.к. она является компиляцией различных комментариев и статей, в т.ч. на Habr. Не судите строго, надеюсь на помощь в развитии этого направления. Делал эту инструкцию для себя и специально с нуля, чтобы каждый новичок смог повторить те же действия.
С помощью действий, описанных в этой статье, Вы сможете подключить все устройства домашней сети (телефоны, смарт-тв, компьютеры и ноутбуки и другие "домашние" устройства) к данному обходу блокировок, а также подключаться к Вашему роутеру не из дома и пользоваться его обходом блокировок для доступа к любимым сайтам и приложениям. Кроме того, из обеих этих сетей (домашней и через подключение к роутеру), из любого браузера можно будет пользоваться onion-сайтами.
В данной статье будет описана работа телеграм-бота, написанного на python. С его помощью будет возможна установка данного обхода с небольшими предварительными настройками, а также работа со списками блокировок.
Женщины играли заметную роль в программировании, начиная с Ады Лавлейс. Поэтому сегодня (как и всегда) в нашем блоге — никаких слов про «украшения офиса», а только программирование, только хардкор.
В этой подборке — 8 докладов женщин, спикеров наших конференций. Мы разделили доклады по темам: можете переходить сразу к своему стеку или смотреть все подряд. Мы понимаем, что некоторые доклады могли частично устареть, но они нашли большой отклик у зрителей, и в них можно найти полезные идеи и трюки.
Вероятно, один из главных в мире текстов об автоматизации — статья «Ironies of Automation» когнитивного психолога Лизанны Бейнбридж, опубликованная в 1983 году в журнале Automatica. На неё ссылаются более 1800 других академических работ, про неё есть страница в Википедии, её продолжают вспоминать спустя сорок лет после публикации. Думаю, что сейчас, когда ChatGPT и беспилотные автомобили порождают новый виток замены людей машинами, этот текст по-прежнему очень актуален.
Но вот на Хабре об этой статье вроде бы никогда не писали. Я и сам узнал о ней почти случайно: мы проводим Java-конференции, где её упомянул один из спикеров. И ощутил, что она была бы полезна здесь на русском. Но поскольку исходная публикация академическая, она не вполне в стилистике Хабра. Поэтому я решил не переводить её дословно, а пересказать ряд тезисов оттуда своими словами и добавить немного от себя. Для тех, кому хочется полной точности, даю ссылку на оригинал.
Привет, меня зовут Павел Комаровский – и я из тех душнил, которые в начале января усиленно строят всякие акульи планы на год. Так как делаю я это уже много лет, у меня выработался довольно своеобразный подход к процессу, которым я и хотел с вами поделиться – надеюсь, это поможет вам избежать ошибок, которых в свое время наделал я.
На рынке всегда дефицит сеньоров и недостаток мидлов, а вот джунов много, особенно в последнее время. И, если позволяют ресурсы компании, этих джунов можно брать и выращивать внутри, подтягивая до нужного уровня или даже совершенно других компетенций. Однако для этого нужна особая культура внутри компании и некоторые конкретные инструменты. Об этом расскажет Ариадна Данцкер, ментор Solvery и Cluster IT Lead в Райффайзене. Передаем ей слово.
Статей о работе с PostgreSQL и её преимуществах достаточно много, но не всегда из них понятно, как следить за состоянием базы и метриками, влияющими на её оптимальную работу. В статье подробно рассмотрим SQL-запросы, которые помогут вам отслеживать эти показатели и просто могут быть полезны как пользователю.
Помните, как вы были студентами, и готовились к экзаменам по ночам?
Предлагаю вашему вниманию простую шпаргалку по SQL с теорией и практикой, которой вы сможете воспользоваться в любое время.
Изучите теорию на примерах и закрепите на 13 практических задачах по SQL.
Помните доисторические времена вроде 2019 года, когда ещё не было пандемии? Тогда мы проводили офлайновые конференции, и обычно они длились дня два с утра до вечера: можно успеть и доклады послушать, и наобщаться вволю.
В эпоху онлайн-конференций многие ностальгировали по этому и просили «вернуть как было». Однако другие участники успели полюбить удобство онлайна (например, те, кто живёт далеко от Москвы/Петербурга). И просто вернуть прежний формат означало бы сделать им хуже.
Поэтому на наших весенних конференциях мы постараемся, чтобы никто не ушёл обиженным: и офлайн будет двухдневным (с 2019-го такое не делали), и у онлайн-участников будет много контента. Подробности — под катом.