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

Java engineer

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

VPN везде и всюду: IPsec без L2TP со strongSwan

Время на прочтение10 мин
Количество просмотров328K
image
достаточно сильный лебедь

Если вы когда-либо искали VPN, который будет работать на десктопах, мобильных устройствах и роутерах без установки дополнительного ПО и перепрошивки роутера, вы, вероятно, выбирали между PPTP и L2TP+IPsec. У протокола PPTP имеются проблемы с безопасностью и прохождением через брандмауеры и NAT, так что в 2015 году его уже использовать не стоит, а использование L2TP излишне, т.к. L2 VPN, по моему мнению, для обычного удаленного доступа не нужен практически никогда.

Удивительно, что в интернете не так-то просто можно найти информацию о настройке чего-то помимо L2TP+IPsec в транспортном режиме, учитывая, что это обширный стек протоколов, который можно конфигурировать буквально как душе угодно, поэтому я попытаюсь устранить такое несовершенство мира.

Небольшое введение в мир IPsec

Вообще говоря, не совсем правильно называть IPsec VPN. IPsec не предназначен для построения «виртуальных частных сетей», а создан для шифрования или защиты от подмены передаваемых по IP данных. Это специальный слой поверх IP, который, в зависимости от режима и настроек, работает по-разному. В отличие от привычного VPN, который создает новый интерфейс в системе, на который вы, как это чаще всего бывает, назначаете IP-подсеть из диапазона частных адресов (т.е. создаете новый сетевой сегмент), и через который маршрутизируется трафик в зашифрованном виде, IPsec просто шифрует трафик магическим образом между «внешними» интерфейсами сервера и клиента.
Читать дальше →
Всего голосов 50: ↑49 и ↓1+48
Комментарии166

Network tools, или с чего начать пентестеру?

Время на прочтение9 мин
Количество просмотров44K
Toolkit начинающего пентестера: представляем краткий дайджест главных инструментов, которые пригодятся при пентесте внутренней сети. Эти инструменты уже активно используются широким кругом специалистов, поэтому знать об их возможностях и владеть в совершенстве будет полезно каждому.


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

Криптография в Java

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

Привет, Хабр! Представляю вашему вниманию перевод статьи "Java Cryptography" автора Jakob Jenkov.


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

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

MVCC-1. Изоляция

Время на прочтение25 мин
Количество просмотров144K
Привет, Хабр! Этой статьей я начинаю серию циклов (или цикл серий? в общем, задумка грандиозная) о внутреннем устройстве PostgreSQL.

Материал будет основан на учебных курсах по администрированию, которые делаем мы с Павлом pluzanov. Смотреть видео не все любят (я точно не люблю), а читать слайды, пусть даже с комментариями, — совсем «не то».

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

Ориентироваться я буду на тех, кто уже имеет определенный опыт использования PostgreSQL и хотя бы в общих чертах представляет себе, что к чему. Для совсем новичков текст будет тяжеловат. Например, я ни слова не скажу о том, как установить PostgreSQL и запустить psql.

Вещи, о которых пойдет речь, не сильно меняются от версии к версии, но использовать я буду текущий, 11-й «ванильный» PostgreSQL.

Первый цикл посвящен вопросам, связанным с изоляцией и многоверсионностью, и план его таков:

  1. Изоляция, как ее понимают стандарт и PostgreSQL (эта статья);
  2. Слои, файлы, страницы — что творится на физическом уровне;
  3. Версии строк, виртуальные и вложенные транзакции;
  4. Снимки данных и видимость версий строк, горизонт событий;
  5. Внутристраничная очистка и HOT-обновления;
  6. Обычная очистка (vacuum);
  7. Автоматическая очистка (autovacuum);
  8. Переполнение счетчика транзакций и заморозка.

Ну, поехали.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии37

6 полезных ресурсов и сервисов для потенциальных эмигрантов в США, Германию и Канаду

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


С недавних пор я активно заинтересовался темой переезда за границу, и в связи с этим изучил существующие сейчас сервисы, которые оказывают помощь в переезде ИТ-специалистам. К моему удивлению, далеко не так много проектов помогают потенциальным иммигрантам. Пока что я отобрал шесть сайтов, которые показались мне интересными.
Читать дальше →
Всего голосов 55: ↑46 и ↓9+37
Комментарии34

Чек-лист: что нужно было делать до того, как запускать микросервисы в prod

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

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


К сожалению, некоторые невысокие программисты всерьёз полагают, что Dockerfile с какой-нибудь вообще любой командой внутри — это уже сам по себе микросервис и его можно деплоить хоть сейчас. Докеры крутятся, лавешка мутится. Такой подход оборачивается проблемами начиная с падения производительности, невозможностью отладки и отказами обслуживания и заканчивая кошмарным сном под названием Data Inconsistency.


Если вы ощущаете, что пришло время запустить ещё одну аппку в Kubernetes/ECS/whatever, то мне есть чем вам возразить.


English version is also available.

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

Реактивный раздатчик ok.ru/music

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


Я работаю в команде платформы Одноклассников и сегодня расскажу про архитектуру, дизайн и детали реализации сервиса раздачи музыкальных треков.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии4

Сам себе devops или настраиваем Nginx прокси для Apache Tomcat на Ubuntu за 5 минут c https и firewall'ом

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


Я не админ, но иногда возникают задачи, которые проще (и интереснее) решать самому чем кому-то делегировать.

Изредка у нас появляется необходимость «поднять» servlet контейнер (чаще всего Apache Tomcat) и настроить для него проксирование, ssl termination (а проще говоря https) и все это прикрыть firewall'ом (оставив наружу только ssh и http/https).

Так получилось, что за последнюю неделю я эту задачу решал трижды (так стали звезды, а до этого — года два назад) и этот опыт трансформировался в сей небольшой опус.
Читать дальше →
Всего голосов 32: ↑23 и ↓9+14
Комментарии27

Топ-10 фильмов про ИТ

Время на прочтение7 мин
Количество просмотров171K
Привет, Хабр!

Летом в нашем ланитовском блоге мы делали подборку сериалов про ИТ (и хакеров), а теперь в преддверии Нового года пришло время полного метра. Такие «Топ-10 фильмов про ИТ» появляются примерно раз в год, и список там примерно один и тот же: «Хакеры» с Джоли, «Пароль «Рыба-меч» и «Матрица».

Кстати, о последней. При всем уважении к братьям сёстрам Вачовски и трилогии, мы таки не относили бы «Матрицу» к фильмам про айтишников или хакеров. То, что мистер Андерсон работает программистом, а вне работы немного хакерит, всё же не является сюжетной канвой фильма. Рискуем возобновить старый холивар, но «Матрица» — это таки киберпанк. Контраргументы приветствуются.

Так вот, про подборку. Мы решили предложить вам  фильмы посвежее. Под катом нет Джоли и знаменитой сцены из «Пароль „Рыба-меч“», но есть фильмы про ИТ, суперкомпьютеры, и информационную безопасность, большинство из которых выпущены в 2010–2018 годах.

Кадр из фильма «Апгрейд»
Всего голосов 111: ↑95 и ↓16+79
Комментарии186

Разбираем лямбда-выражения в Java

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

image


От переводчика: LambdaMetafactory, пожалуй, один из самых недооценённых механизмов Java 8. Мы открыли его для себя совсем недавно, но уже по достоинству оценили его возможности. В версии 7.0 фреймворка CUBA улучшена производительность за счет отказа от рефлективных вызовов в пользу генерации лямбда выражений. Одно из применений этого механизма в нашем фреймворке — привязка обработчиков событий приложения по аннотациям, часто встречающаяся задача, аналог EventListener из Spring. Мы считаем, что знание принципов работы LambdaFactory может быть полезно во многих Java приложениях, и спешим поделиться с вами этим переводом.


В этой статье мы покажем несколько малоизвестных хитростей при работе с лямбда-выражениями в Java 8 и ограничения этих выражений. Целевая аудитория статьи — senior Java разработчики, исследователи и разработчики инструментария. Будет использоваться только публичный Java API без com.sun.* и других внутренних классов, поэтому код переносим между разными реализациями JVM.

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

Что такое Method Handles в Java

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

1. Вступление


В этом туториале мы рассмотрим важный API, представленный в Java 7 и расширенный в новых версиях, java.lang.invoke.MethodHandles.



Мы узнаем, что такое method handles, как их создавать и использовать.

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

Повышаем сознательность граждан

Время на прочтение2 мин
Количество просмотров90K
Привет!

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



Почему это важно сделать на бумаге? Потому что она без батарейки, не требует подключения к сети и содержит самые важные номера законов. В общем, бумага очень отказоустойчивая. Естественно, есть и PDF, которую можно просто залить на телефон.
Читать дальше →
Всего голосов 286: ↑283 и ↓3+280
Комментарии532

Boot yourself, Spring is coming (Часть 2)

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

Евгений EvgenyBorisov Борисов (NAYA Technologies) и Кирилл tolkkv Толкачев (Циан.Финанс, Твиттер) продолжают рассказывать о применении Spring Boot к решению задач воображаемого Железного банка Браавоса. Во второй части речь пойдет о профилях и тонкостях запуска приложения.




Всего голосов 17: ↑15 и ↓2+13
Комментарии4

Быстрая математика с фиксированной точкой для финансовых приложений на Java

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

Не секрет, что финансовая информация (счета, проводки и прочая бухгалтерия) не очень дружит с числами с плавающей точкой, и множество статей рекомендует использовать фиксированную точку (fixed point arithmetic). В Java этот формат представлен, по сути, только классом BigDecimal, который не всегда можно использовать по соображениям производительности. Приходится искать альтернативы. Эта статья описывает самописную Java библиотеку для выполнения арифметических операций над числами с фиксированной точностью. Библиотека была создана для работы в высокопроизводительных финансовых приложениях и позволяет работать с точностью до 9 знаков после запятой при сохранении приемлемой производительности. Ссылка на исходники и бенчмарки приведены в конце статьи.

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

И снова о лени

Время на прочтение4 мин
Количество просмотров8.9K
Добрый день!

Как известно «лень — двигатель прогресса», самое полезное качество программиста, благодаря ей появилось множество замечательных фреймворков и так далее, и тому подобное. Но сегодня я хочу написать не про человеческую лень.

Пару недель назад мне попалась на глаза статья о черновом наброске фичи, новом модификаторе lazy для final полей. И конечно, инициализация логгеров приведена как самый наглядный пример, когда бы эта фича пригодилась. Нет, никто не спорит, конечно логгеры это overhead, создавать их во время старта, потом еще в памяти держать. Брр. Но неужели нельзя написать элегантный костыль решение на старой доброй Java?
Давайте попробуем
Всего голосов 16: ↑12 и ↓4+8
Комментарии8

Введение в Micronaut Framework

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


1. Что такое Micronaut


Micronaut — это фреймворк на JVM для построения легковесных модульных приложений. Он разработан компанией OCI, той же компанией, что подарила нам Grails. Micronaut это современный фреймворк, призванный сделать создание микросервисных приложений быстрым и простым.

Micronaut содержит возможности похожие на существующие фреймворки, такие как Spring, но в то же время он реализует некоторые новые идеи, которые являются его отличительными чертами. Вместе с поддержкой Java, Groovy и Kotlin он предлагает множество путей создания приложений.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии16

Микросервисная архитектура, Spring Cloud и Docker

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

Привет, Хабр. В этой статье я кратко расскажу о деталях реализации микросервисной архитектуры с использованием инструментов, которые предоставляет Spring Cloud на примере простого концепт-пруф приложения.



Код доступен для ознакомления на гитхабе. Образы опубликованы на докерхабе, весь зоопарк стартует одной командой.

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

Java и Project Reactor. Эпизод 2

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


Привет! Удивительно, но первая часть статьи даже кому-то понравилась.
Отдельное спасибо за ваши отзывы и комментарии. У меня для вас плохая хорошая новость: нам ещё есть о чём поговорить! А если точнее, то о некоторых деталях работы Reactor.

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

Java и Project Reactor

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


Всем привет! Меня зовут Лёха, и я работаю бэкенд-разработчиком в FunCorp. Сегодня мы поговорим про реактивное программирование, библиотеку Reactor и немного про веб.


Реактивное программирование часто «подвергается упоминанию», но если вы (как и автор статьи) всё ещё не знаете, что это такое — устраивайтесь поудобнее, попробуем разобраться вместе.

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

Адаптивные лимиты параллельных подключений в Netflix

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


Компания Netflix одержима вопросом доступности сервисов. Мы уже не раз рассматривали его в нашем блоге и рассказывали, как нам удаётся достичь своих целей. Мы используем circuit breakers, лимиты параллельных подключений, тестирование с помощью намеренного внедрения ошибок (chaos testing) и многое другое. Сегодня мы представляем вам ещё один инновационный подход, который существенно повышает стабильность приложения при экстремальных нагрузках и позволяет избежать каскадных сбоев в работе сервисов — адаптивные лимиты параллельных подключений. Больше не нужно тратить силы, чтобы определить лимиты параллельных подключений, позволяющие системе поддерживать небольшое время отклика. В рамках этого анонса мы также выкладываем в открытый доступ простую Java-библиотеку с возможностями интеграции для сервлетов, управляющих программ и gRPC.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии0

Информация

В рейтинге
3 511-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность