Как стать автором
Обновить
-5
0

Пользователь

Отправить сообщение

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

Время на прочтение7 мин
Количество просмотров10K

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

Читать далее
Всего голосов 11: ↑10 и ↓1+13
Комментарии1

Когда хочешь красную таблетку: гайд по matrix

Время на прочтение14 мин
Количество просмотров67K

В статье рассказывается о том, как использовать Matrix для повседневной переписки.

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

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

Погружение в матрицу стоит начать с понятия федерации.

Погружаемся в matrix далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии22

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

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



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

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

Прочитав эту статью, вы узнаете об особенностях этих интерфейсов и выясните различия между ними. Вы научитесь их создавать и узнаете о ситуациях, в которых их лучше всего использовать.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии0

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

Время на прочтение11 мин
Количество просмотров24K

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

Читать далее
Всего голосов 16: ↑15 и ↓1+18
Комментарии5

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

Время на прочтение5 мин
Количество просмотров9.7K

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


screenshot

Читать дальше →
Всего голосов 12: ↑10 и ↓2+12
Комментарии21

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

Время на прочтение1 мин
Количество просмотров5.1K

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

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

Read more
Всего голосов 15: ↑15 и ↓0+15
Комментарии10

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

Время на прочтение11 мин
Количество просмотров7.8K

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

Читать дальше →
Всего голосов 6: ↑5 и ↓1+8
Комментарии9

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

Время на прочтение10 мин
Количество просмотров31K


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

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

Не будем вдаваться в детали устройства токамаков и самого ITER – эти темы в изобилии рассмотрены во всевозможных источниках, например, в вышеупомянутой хаброновости. Под катом речь пойдет о том, какой путь открывает перед нами ITER (в переводе с латыни «iter» означает «путь»), и почему этот путь оказался извилист как восьмерка стелларатора.
Читать дальше →
Всего голосов 116: ↑113 и ↓3+151
Комментарии145

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

Время на прочтение9 мин
Количество просмотров159K
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 с начала пандемии.
Читать дальше →
Всего голосов 247: ↑117 и ↓130+39
Комментарии830

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

Время на прочтение17 мин
Количество просмотров62K

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


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


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


Оглавление:


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

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

Время на прочтение12 мин
Количество просмотров137K

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


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


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

Читать дальше →
Всего голосов 88: ↑86 и ↓2+108
Комментарии67

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

Время на прочтение3 мин
Количество просмотров2.7K


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


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

Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

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

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

image

Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии21

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

Время на прочтение3 мин
Количество просмотров7.5K
Неожиданно для Java-сообщества Microsoft превзошла IBM в представительстве среди Developer Advocate на конференции Oracle Code One.

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

IBM всегда вкладывала значительные средства в Java-разработку, в то время как Microsoft не беспокоилась об этом. Но похоже, что IBM собирается выйти из-за стола Java, а Microsoft готовится занять это место.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии17

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

Время на прочтение18 мин
Количество просмотров12K

Предыстория


Несколько месяцев назад поступила задача по написанию 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();
}
Читать дальше →
Всего голосов 11: ↑7 и ↓4+3
Комментарии6

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

Время на прочтение6 мин
Количество просмотров6.4K


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

Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии3

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность