Pull to refresh
-4
0
Send message

Репликация в PostgreSQL: Write-Ahead Logging (WAL) и Logical Replication

Reading time7 min
Views15K

Репликация PostgreSQL с опережающей записью (WAL) — ключевая концепция в высоконагруженных архитектурах, поскольку она позволяет создавать высокодоступные и отказоустойчивые системы баз данных.

Читать далее

Знакомство с виртуальными интерфейсами Linux: туннели

Reading time8 min
Views54K
Linux поддерживает множество видов туннелей. Это запутывает новичков, которым бывает сложно разобраться в различиях технологий, и понять то, каким туннелем лучше воспользоваться в конкретной ситуации. В материале, перевод которого мы сегодня публикуем, будет дан краткий обзор часто используемых туннельных интерфейсов ядра Linux. Сильно углубляться в эту тему мы не будем, рассмотрев лишь общие особенности туннелей и варианты их использования в Linux.



Автор этого материала полагает, что то, о чём пойдёт здесь речь, может быть интересно всем, кто имеет какое-то отношение к управлению компьютерными сетями. Список туннельных интерфейсов, а также справочные сведения о конкретной конфигурации можно получить с помощью iproute2-команды ip link help.

Здесь будут рассмотрены следующие часто используемые интерфейсы: IPIP, SIT, ip6tnl, VTI и VTI6, GRE и GRETAP, GRE6 и GRE6TAP, FOU, GUE, GENEVE, ERSPAN и IP6ERSPAN.

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

Миграция Spring Boot приложения на Java 17 — сложный путь

Reading time11 min
Views27K

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

Читать далее

Песочница для Nginx

Reading time5 min
Views11K

Как-то я болтала с приятелем о том, как было бы здорово, если бы был такой сайт-песочница, где бы можно было просто скопировать-вставить конфиг Nginx-а и протестировать его. И я поняла, что это не так уж сложно сделать, поэтому погрузилась в тему и сделала: nginx-playground.wizardzines.com.


screenshot

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

С днём программиста

Reading time1 min
Views5.2K

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

День программиста отмечается в России на 256 день года, в 2021 году праздник выпал на 13 сентября. Идеей ролика было в позитивном ключе обыграть профессиональный юмор и специфику работы программистов.  

Read more

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

Reading time11 min
Views8.1K

С XVI века складывалась нынешняя система производства в которой мы живём. Эта система находит своё отражение во всех сферах, но именно в IT получает новое продолжение, новое рождение. Это статья о том, почему программное обеспечение формирует новый ландшафт экономических отношений и почему в IT много денег. Но что ещё более важно, надеюсь внимательный читатель задумается, в какой компании он работает и в какую хотел бы пойти работать, что в условиях мирового экономического кризиса всё более актуально.

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

Когда путь важнее цели. Сколько нам еще остается до полноценной термоядерной энергетики?

Reading time10 min
Views31K


Так выглядел строящийся комплекс ITER в феврале 2020 года. ITER может стать первой установкой, которая позволит получить «горящую» или самоподдерживаемую термоядерную плазму. В этом строящемся сооружении будут расположены термоядерный токамак и системы его обеспечения. Фото из архива ITER

На Хабре не обошли вниманием новость о том, что Китай запустил новый токамак, HL-2M Tokamak. Эта новость особенно интересна тем, что освежает в памяти историю о печальном долгострое нашего века — будущем термоядерном реакторе ITER, который возводится силами всей Европы на юге Франции и должен стать первым подобным устройством, которое могло бы производить больше энергии, чем потребляет само. Тем не менее, с сожалением отметим, что и HL-2M, и даже ITER удручающе далеки от полноценной термоядерной электростанции.

Не будем вдаваться в детали устройства токамаков и самого ITER – эти темы в изобилии рассмотрены во всевозможных источниках, например, в вышеупомянутой хаброновости. Под катом речь пойдет о том, какой путь открывает перед нами ITER (в переводе с латыни «iter» означает «путь»), и почему этот путь оказался извилист как восьмерка стелларатора.
Читать дальше →

Коронавирус: первые итоги пандемии и карантина

Reading time9 min
Views159K
The Economist: Десятки миллионов хирургических операций были отложены в связи с пандемией во всём мире. Больницам потребуется несколько месяцев, чтобы справиться с накопившимся отставанием. Национальная служба здравоохранения Англии (NHS) считает, что она уже отложила более двух миллионов запланированных операций, освободив 12 000 коек для пациентов c COVID-19.

The Hill: По оценкам Национального института аллергии и инфекционных заболеваний США из-за карантина почти половина от 650 000 американских онкологических больных не получают лечение, не назначаются две трети процедур физиотерапии, количество операций по трансплантации сократилось на 85%, экстренные оценки случаев инсульта снизились на 40% и более половины детей не были вовремя привиты, что всё вместе указывает на массовую будущую катастрофу в области здравоохранения.

Mirror: Последствия блокировки коронавируса могут привести к 200 000 дополнительных смертей в Великобритании из-за задержек и неправильного распределения приоритетов в системе здравоохранения, говорится в государственном докладе. За шесть месяцев было отменено 75% процедур по плановой медицинской помощи, а число госпитализаций в марте и апреле сократилось на четверть по сравнению с предыдущим периодом. На момент публикации статьи в Mirror в Великобритании зарегистрировано 45 000 смертей среди людей с положительным тестом на коронавирус.

The Telegraph: ЮНИСЕФ предупреждает, что карантин может унести больше жизней, чем коронавирус, а именно повлечь за собой свыше миллиона детских смертей от малярии, пневмонии и диареи в развивающихся странах в ближайшиее шесть месяцев. Только это значение в разы превышает официальное количество смертей во всём мире среди людей с положительным тестом на COVID-19 с начала пандемии.
Читать дальше →

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон, часть 2

Reading time17 min
Views70K

Я продолжаю выразительно пересказывать документацию Ансибла и разбирать последствия её незнания (ссылка на предыдущую часть).


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


Мы будем разбирать каждый элемент инвентори (кроме host_group_vars plugin) и обсуждать зачем он, как его использовать правильно, и как неправильно.


Оглавление:


  • Что такое хост? (и немного про транспорты)
  • Доступ IP vs FQDN; inventory_hostname vs ansible_host
  • ansible_user — писать или не писать?
  • Группы
  • Переменные: в инвентори или в плейбуку?
  • Классификация инвентори по происхождению.
Читать дальше →

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

Reading time12 min
Views153K

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


Для исправления этой вселенской несправедливости я решил написать введение в Ансибл для тех, кто его уже знает. Предупреждаю, это не пересказ манов, это лонгрид в котором много букв и нет картинок.


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

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

Как выглядят новые меры защиты на складах Amazon

Reading time3 min
Views2.8K


Amazon за последние несколько месяцев оказалась в эпицентре нескольких больших скандалов. Мы в Pochtoy.com неоднократно о них сообщали. Компанию обвиняли в недостаточной защите для сотрудников, и в сокрытии настоящего масштаба заболеваний у неё на складах. Теперь самый большой в мире интернет-магазин старается искоренить эти слухи. Компания потратила десятки миллионов на телерекламу, рассказывающую, как отлично она защищает своих людей. И заплатила новостям в штатах и городах, чтобы те рассказали один и тот же сегмент о её тратах на борьбу с COVID-19.


А теперь интернет-магазин впервые с начала пандемии пустил на свои склады журналистов. И у нас появились первые фото того, какие меры Amazon реально принимает у себя на местах для защиты от вируса.

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

Из пилотов в тестировщики: как бывший военный построил запасной аэродром в IT

Reading time5 min
Views13K
Меня зовут Сергей, я специалист отдела тестирования «СёрчИнформ». До «СёрчИнформ» работал сисадмином, а еще раньше – был военным летчиком. Собственно, историю перехода из профессии в профессию, которую многие знакомые считают радикальной, я и хочу рассказать. Сразу оговорюсь, радикальным этот карьерный поворот кажется только со стороны. Для меня история вполне закономерная. Но начну сначала.

image

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

Microsoft vs IBM: серьёзные изменения в поддержке Java

Reading time3 min
Views7.5K
Неожиданно для Java-сообщества Microsoft превзошла IBM в представительстве среди Developer Advocate на конференции Oracle Code One.

Когда-то IBM была, вероятно, доминирующей силой в корпоративном сегменте Java-сообщества. Тем не менее, на Oracle Code One 2019 всё указывало на то, что нас ожидает серьёзный сдвиг в противостоянии Microsoft и IBM.

IBM всегда вкладывала значительные средства в Java-разработку, в то время как Microsoft не беспокоилась об этом. Но похоже, что IBM собирается выйти из-за стола Java, а Microsoft готовится занять это место.
Читать дальше →

Автоматизация HTTP запросов в контексте Spring

Reading time18 min
Views12K

Предыстория


Несколько месяцев назад поступила задача по написанию HTTP API работы с продуктом компании, а именно обернуть все запросы с помощью RestTemplate и последующим перехватом информации от приложения и модификации ответа. Примерная реализация сервиса по работе с приложением была таковая:


        if (headers == null) {
            headers = new HttpHeaders();
        }

        if (headers.getFirst("Content-Type") == null) {
            headers.add("Content-Type", MediaType.APPLICATION_JSON_VALUE);
        }

        HttpEntity<Object> entity;
        if (body == null) {
            entity = new HttpEntity<>(headers);
        } else {
            entity = new HttpEntity<>(body, headers);
        }

        final String uri = String.format("%s%s/%s", workingUrl, apiPath, request.info());

        final Class<O> type = (Class<O>) request.type();
        final O response = (O)restTemplate.exchange(uri, request.method(), entity, type);

… простенький метод, принимающий тип, тело и заголовки запроса. И все бы хорошо, но выглядело как костыль и не особо юзабельно в контексте Spring.


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


Идея


У нас в руках имеется мощный DI контейнер Spring, так почему бы не использовать его функционал в полной мере? В частности инициализации Data репозиториев на примере Jpa. Предо мной стояла задача инициализация класса типа интерфейс в контексте Spring и три варианта решения перехвата вызова метода, как типичной реализации — Aspect, PostProcess и BeanDefinitionRegistrar.


Кодовая база


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


1) Mapping — аннотация, идентифицирующая интерфейс как компонент HTTP вызовов.


@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Mapping {
    /**
     * Registered service application name, need for config
     */
    String alias();
}
Читать дальше →

Выпускаем Predator — предкомпилированные Data-репозитории

Reading time6 min
Views6.4K


Сегодня, команда Micronaut в Object Computing Inc (OCI) представила Predator, новый проект с открытым исходным кодом, цель которого — значительно улучшить время выполнения и производительность (по памяти) доступа к данным для микросервисов и serverless-приложений, при этом не потеряв в продуктивности по сравнению с такими инструментами, как GORM и Spring Data.

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

Information

Rating
Does not participate
Registered
Activity