Pull to refresh
4
0
Send message

План самостоятельного обучения DDD, CQRS, EventSourcing

Reading time7 min
Views54K

Если вы собрались плотно погрузиться в тему Doman Driven Design (DDD), о том как его применять, как использовать, для чего он нужен, и как с ним связаны Command and Query Responsibility Segregation (CQRS), Event Sourcing и другие термины из мира DDD то можно воспользоваться планом обучения, который последовательно погрузит вас в эти темы и поможет сориентироваться. Часть информации на русском, часть на английском языке, так как русскоязычных аналогов я не смог найти.

Погрузиться в DDD

Playwright: веб-тестирование без драмы

Reading time18 min
Views52K

Андрей Лушников выступил у нас на Heisenbug с докладом о Playwright ещё в 2020-м. Но похоже, что с тех пор тема доклада стала только актуальнее: 34 000 звёзд проекта на GitHub ясно показывают, что он пришёл к популярности. А Андрей по-прежнему остаётся одним из главных контрибьюторов Playwright. Поэтому мы решили сделать для Хабра текстовую версию его доклада.

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

Видео и расшифровка — под катом. Далее повествование будет вестись от лица спикера.

Читать далее

Колокол — система событий в Go или очередная event-system библиотека

Reading time6 min
Views5.9K

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

Читать далее

Спорт не поможет вам похудеть. Как антрополог Герман Понцер развенчивает мифы о сжигании калорий

Reading time13 min
Views50K

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

«Начните с числа 1022 и вычитайте 13, пока не дойдете до нуля. Если вы сделаете ошибку, мы начнем сначала. Вы готовы?»

Студентка пробует и доходит до 997, пробует снова и доходит уже до 889. Это происходит снова и снова. Затем Понцер просит её вслух умножить 505 на 117. К этому моменту она сжимает пальцы ног в носках.

Еще два помощника следят за частотой её сердцебиения и количеством углекислого газа (CO2), который она выдыхает в вытяжку. Затем Понцер задает ряд вопросов, призванных повысить уровень стресса студентки: Какова работа её мечты, и что именно она собирается делать после окончания университета?

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

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

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

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

Приятного чтения!

Хейт теории эволюции (Кельвин vs Дарвин)

Reading time9 min
Views22K

В 1859 году вышла одна из самых влиятельных книг в истории человечества – «Происхождение видов» Чарльза Дарвина. И хотя не все положения теории Дарвина, высказанные в книге, в дальнейшем будут подтверждены (что и не удивительно), в основном дядюшка Дарвин был прав, а теория эволюции сегодня доминирует в науке. Однако в момент выхода книги на Дарвина обрушилась массированная критика. Идея, что виды могут изменяться из-за случайных мутаций, которые накапливаются миллионами лет, казалась многим биологам дичью. Набросились на Дарвина и сторонники Библии, так как его теория отрицала роль «божественного творца». Всё это была критика понятная и даже ожидаемая. Но вот чего уж Дарвин не ожидал, так это того, что на него накинутся физики, среди которых был уважаемый профессор Кельвин (тот самый в честь которого каноничная шкала температур). Что же не поделили физики и Дарвин?

Читать далее

Pyxel  для любителей ретро игр

Reading time12 min
Views21K

Pyxel -- это игровой движок для Python в стиле ретро.

Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт.

Читать далее

Чистые транзакции в гексагональном Go

Reading time9 min
Views18K

В современной микросервисной разработке очень популярна чистая архитектура (она же луковая). Этот подход ясно отвечает на много архитектурных вопросов, а также хорошо подходит для сервисов с небольшой кодовой базой. Другая приятная особенность чистой архитектуры состоит в том, что она отлично сочетается с Domain Driven Development — они отлично дополняют друг друга.


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


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


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

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

Reading time4 min
Views6.2K

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

Читать далее

Динозавры не вымерли. Рептилоиды среди нас

Reading time10 min
Views37K

Заголовок нашей статьи прямо кричит о том, будто его создавали либо сценаристы телеканала РЕН-ТВ, либо ушлые журналисты какой-нибудь жёлтой новостной газетёнки. Однако, что вы скажете на то, если ящеры действительно, пусть и не правят миром, но и не вымерли, поскольку широко распространены среди нас, а заголовок глаголит истину. Нет, сегодня речь не пойдёт о создании культов и мемов с теориями заговоров. Да и не станем мы говорить о самой истории возникновения этого рептильного феномена, тем более что об этом уже сегодня прекрасно рассказали, здесь. Речь в этот замечательный субботний день пойдёт о рептилоидах, точнее, о теплокровных рептилиях, переживших апокалипсис примерно 65 (?) миллионов лет назад. Понимаем, что уже кто-то подтягивается к телефону, чтобы вызывать нам карету скорой помощи, но прежде чем это сделать, все же спросите себя: что вы знаете о рептилиях сами?

Читать далее

Введение в O-RAN

Reading time8 min
Views7.2K

В настоящее время одной из самых обсуждаемых тем в мире телекоммуникаций является Open RAN. Автор хотел бы предложить серию сообщений, чтобы обсудить технические аспекты в этой области. Этот пост представляет собой введение в O-RAN, за которым следуют еще три обсуждения технических деталей. Прежде всего, чтобы избежать недоразумений, мы собираемся обсудить O-RAN (с тире). Это Open RAN, как определено O-RAN Alliance, организацией, миссия которой состоит в том, чтобы «переформировать индустрию RAN в сторону более интеллектуальных, открытых, виртуализированных и полностью совместимых мобильных сетей» [1].

На рис. 1 показана эволюция сети радиодоступа (RAN) при переходе от традиционного подхода к Open RAN. Унаследованный (legacy) способ предоставления RAN заключается в том, что существует один черный ящик, а внутренние интерфейсы внутри этого ящика закрыты и находятся в руках одного поставщика. Двигаясь к Open RAN (O-RAN), мы разделяем различные функции базовой станции на следующие объекты с открытыми интерфейсами между ними: централизованный блок (CU), распределенный блок (DU) и удаленный блок (RU)). Подобная архитектура определена в 3GPP, но с подходом O-RAN эти объекты могут разрабатываться разными поставщиками из-за открытых интерфейсов между ними (включая Open Fronthaul, Open FH). Кроме того, важным является то, что оранжевая коробка на схеме, т.н. Интеллектуальный контроллер RAN (RIC) выделяется из блоков обработки и дает возможность прямого взаимодействия с интерфейсами управления, таких как функции управления радиоресурсами (RRM) или самоорганизующихся сетей (SON). В концепции O-RAN именно здесь находится «мозг» моделей искусственного интеллекта (AI) для автоматизации радиосети.

Читать далее

Kanban команды PVS-Studio. Часть 1: agile

Reading time12 min
Views2.5K

Эта статья могла появиться на свет гораздо раньше, примерно на год. Ведь около года назад мы в компании PVS-Studio решили, что пришло время поэкспериментировать с agile. Но хотелось накопить пользовательский опыт, собрать статистику и уже потом поведать об этом миру. К тому же, одновременно с agile мы запланировали переход на другой трекер задач (вместо Bitbucket), а также много других изменений в наших внутренних процессах разработки. В общем, до написания статьи руки никак не доходили.

Читать далее

Ядерная война, скорее всего, не приведёт к вымиранию человечества

Reading time12 min
Views114K
Многие люди заявляли, что полномасштабная ядерная война, скорее всего, приведёт к вымиранию человечества. Я всесторонне изучил этот вопрос и пришёл к заключению, что даже полномасштабный обмен ядерными ударами с очень небольшой вероятностью (менее 1%) приведёт к вымиранию всего человечества.

Под полномасштабной войной я понимаю обмен ядерными ударами между крупнейшими мировыми державами – США, Россией и Китаем – каждая из которых потратит весь свой арсенал. Общее количество боеголовок сегодня (14 000) значительно меньше, чем на пике Холодной войны (70 000). И хотя сегодня вымирание маловероятно, эта вероятность может измениться, если будет введено в строй значительное количество новых боеголовок, или кардинально изменится дизайн оружия.

Три потенциальных механизма вымирания людей после ядерной войны, это:

  1. Кинетическое уничтожение.
  2. Радиация.
  3. Изменение климата.

С существующими вооружениями правдоподобным будет только третий пункт, но давайте рассмотрим каждый из них.
Читать дальше →

Купил — значит, твое: вендоров бытовой техники в ЕС обязали поставлять запчасти для ремонта и помогать сервисам

Reading time5 min
Views52K

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

Все это делается для того, чтобы увеличивать объемы потребления товаров покупателями. Сломался холодильник? Выбрасывай на свалку и иди за новым. Ремонт? Ну нет, во-первых, его могут осуществлять только авторизованные сервисные центры за сумму, близкую к стоимости нового холодильника. Во-вторых, запчастей нет, извините. Но с 2021 года ситуация меняется, причем не только для бытовой техники, но и для электроники.
Читать дальше →

8 оттенков серого, или ZX Spectrum48 за $3

Reading time2 min
Views21K

Прочитав статью Передача аналогового тв сигнала с помощью STM32 решил попробовать нарисовать телевизионный сигнал на дешевой китайской плате stm32f401ccu6 за $2.5 без дополнительного железа.

Когда-то давным-давно

Лутбоксы 2020 (зарубежное регулирование)

Reading time11 min
Views7K
Тема лутбоксов в связке с защитой детей и защитой потребителей – это мощный тренд 2020 года, который сохранится и на следующий. Большинство новостей в игровой сфере были связаны с отчетами-заявлениями регуляторов (или смежных организаций), и с коллективными исками. Примером громкого иска является иск Кевина Рамиреса, представляющего, в том числе, сотню таких же недовольных игроков, требующих возмещения ущерба в размере 5 миллионов долларов от Electronic Arts за лутбоксы, используемые в Ultimate Team. Обвинения сводятся к тому, что с 2011 года сам Рамирес потратил более 600 долларов на товары Ultimate Team (1).
Представляет его интересы, кстати, юридическая фирма, которая ранее сопровождала аналогичный иск против Apple.
Читать дальше →

Y-метод — действительно простой способ собрать кубик Рубика

Reading time7 min
Views337K

Введение


В статье рассматривается «Y-метод» сборки кубика Рубика — его легко понять и запомнить. Он основан всего на одной последовательности, которая называется «Y-движение». Поняв этот алгоритм, вы навряд ли забудете как собрать кубик самостоятельно.
Читать дальше →

Фриланс-вебдев — как и с кем НЕ стоит работать

Reading time6 min
Views23K

imageКДПВ взята отсюда


Часто слышу истории вида "пробовал фрилансить — не понравилось" и встречаю много заблуждений по поводу этого типа работ, потому что люди просто начали "не с той стороны". Постараюсь исправить ситуацию этим постом.


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

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

Как удалить негативные отзывы и отбить атаку на репутацию: личный опыт

Reading time5 min
Views38K
Честный рассказ о том, как один персонаж написал про нас около тысячи анонимных отзывов, как мы их удаляли и как сделать это самим за несколько часов.


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

DockerHub взломан

Reading time2 min
Views35K


Несколько часов назад некоторым пользователям DockerHub разослали письма следующего содержания:

«В четверг, 25 апреля 2019 года, мы обнаружили несанкционированный доступ к одной из баз данных DockerHub, в которой хранится часть нефинансовых данных пользователей. После обнаружения мы сразу же предприняли всё необходимое для того, чтобы обезопасить данные пользователей.

И сейчас мы хотели бы поделиться той информацией, которую нам удалось обнаружить в ходе расследования, включая то, какие аккаунты DockerHub были затронуты и какие действия сейчас стоит предпринять их владельцам.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity