Search
Write a publication
Pull to refresh
7
0

User

Send message

Java EE, JCA и jNode 2.X announce

Reading time12 min
Views11K

Доброго времени суток, %username%.
Скажу сразу, на 99% данный пост про Java EE Connector Architecture, с примерами кода. Откуда взялся 1% про Fidonet вы поймете в самом конце.

Резюме для ленивых
JMS и JCA — родственники, входящие принимает MessageDrivenBean, исходящие отправляются через ConnectionFactory.
Минимальный пакет для входящего соединения — 4 класса, для исходящего — 8 классов и настройка адаптера на стороне сервера приложений.
Дальше — только подробности и боль


Для начала — история вопроса и решение бизнес-задачи.

Постановка задачи


Мне поставили задачу об интеграции существующей бизнес-системы («система А» ) с другой системой, которая была разработана много лет назад и понимает только собственный протокол передачи данных («система B»). Модифицировать чужие системы нельзя, соответственно задача свелась к написанию некой шины/прокси. Интеграция состоит в передаче туда-сюда сообщений с конвертацией их в процессе из одного формата в другой.

Система «А» имела много современных механизмов интеграции, самым простым для использования были признаны веб-сервисы. Под это дело был оперативно запилен стандартный интеграционный скелет для JEE — JAX-WS+EJB+JMS для гарантированной доставки сообщения.
А вот для работы с системой «B» стандартных средств не было. Робкие попытки поработать с сетью из контекста EJB успехом не увенчались, гугл подсказал два варианта решения проблемы: костылить сервлеты для работы с non-http или написать JCA-адаптер. Понятно, что был выбран второй путь — с JCA я до этого не работал, а узнать что-то новое всегда интересно.
Читать дальше →

Что не договаривают сервисы по защите от DDoS или почему защита не работает

Reading time4 min
Views45K
Поводом для этой статьи послужил аудит безопасности в одном интернет-проекте. Заказчик попросил разобраться с их системой безопасности и проверить, насколько они подвержены тем или иным атакам. При этом, нас уверяли, что от DDoS-атак они защищены полностью и нет повода беспокоиться, так как они под защитой одного из лидеров рынка – Incapsula.

Тут-то нас и ждало большое удивление — заказчик был абсолютно не защищен.

Давайте разберемся что же произошло, но сначала немного теории.
Читать дальше →

300 потрясающих бесплатных сервисов

Reading time11 min
Views1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

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

PostgreSQL vs MySQL

Reading time8 min
Views348K


В преддверии своего доклада на конференции PGCONF.RUSSIA 2015 я поделюсь некоторыми наблюдениями о важных различиях между СУБД MySQL и PostgreSQL. Этот материал будет полезен всем тем, кого уже не устраивают возможности и особенности MySQL, а также тем, кто делает первые шаги в Postgres. Конечно, не стоит рассматривать этот пост как исчерпывающий список различий, но для принятия решения в пользу той или иной СУБД его будет вполне достаточно.
Читать дальше →

Подходы к контролю доступа: RBAC vs. ABAC

Reading time5 min
Views188K
В этой теме хотелось бы познакомить читателей с относительно новым подходом к контролю доступа под названием Attribute-based access control. Знакомство будет происходить на примере сравнения с популярным нынче Role-based access control.
Читать дальше →

Пытливый взгляд АНБ: что такое война за Интернет-безопасность (Часть 2)

Reading time11 min
Views45K
image

Предположения о том, что разведывательные агентства опередили нас настолько, что защищаться от них шифрованием бессмысленно, неверны. Как показывает один документ из архива Сноудена, АНБ не преуспело в расшифровке ряда коммуникационных протоколов, как минимум в 2012 году. В презентации для конференции, проведенной в том году, значится список программ шифрования, которые американцам взломать не удалось. В процессе дешифровки криптологи АНБ разделили свои цели на пять уровней согласно уровню сложности атаки и получаемому результату, начиная с «тривиальных» и до «катастрофических».

[первая часть]

Мониторинг пути перемещения документа в Сети классифицируется, как «тривиальная» цель. Запись чата в Facebook – «несложная» задача, в то время как уровень сложности дешифровки писем, отправляемых через российский провайдер интернет-сервисов Mail.ru, рассматривается, как задача «умеренной сложности». Но все три эти уровня классификации не представляют серьезных проблем для АНБ.
Читать дальше →

Как растаращить class-файл

Reading time4 min
Views45K
Обычно при компиляции Java-файла получаются .class-файлы примерно того же размера, что и исходник. Меня заинтересовало, можно ли по небольшому исходнику сделать .class-файл, который больше, сильно больше исходника.

Можно поискать какие-то короткие конструкции языка, которые компилируются в длинные цепочки байткода, но линейный прирост меня не устраивал. Я сразу подумал про компиляцию finally-блоков: про неё уже писали на Хабре. Если вкратце, то для каждого finally-блока при непустом try-блоке создаётся минимум два варианта в байткоде: для случая нормального завершения try-блока и для случая завершения с исключением. В последнем случае исключение сохраняется в новую локальную переменную, выполняется код finally, затем исключение достаётся из локальной переменной и перебрасывается. А что если внутри finally снова разместить try-finally и так далее? Результат превзошёл все ожидания.
Читать дальше →

Стоит ли использовать Spring Boot в вашем следующем проекте?

Reading time7 min
Views62K


Большинство моих профессиональных Java проектов за последнее десятилетие были основаны на Spring или JEE. Обе платформы развиваются достаточно уверенно, однако все ещё страдают от различных проблем.

Spring и JEE по-прежнему остаются золотыми стандартами для масштабных Java-проектов и больших команд разработчиков, трудящихся над сложными enterprise-решениями. Однако, неизбежным следствием зрелости Java-сообщества стала частичная потеря прежнего энтузиазма и инновационности, что существенно ударило по авторитету обоих.
Читать дальше →

SSL-сертификаты: всем, каждому, и пусть никто не уйдёт обиженным

Reading time8 min
Views97K
Как ранее сообщалось на GeekTimes, EFF при поддержке Mozilla, Cisco, Akamai, IdenTrust и исследователей из Мичиганского университета (University of Michigan) создали новый некоммерческий центр сертификации (Certificate Authority) Let's Encrypt [1]. Целью проекта является ускорение перехода всемирной паутины от HTTP к HTTPS.
Подробности, часть из которых уже была описана на GeekTimes

Безопасность Виртуализации. Часть 1

Reading time11 min
Views30K
Перевод статьи «Virtualization Security» за авторством Terry Komperda.

Безопасность Виртуализации. Часть 2

1. КРАТКИЙ ОБЗОР

За короткое время виртуализация оказала огромное влияние на сферу IT и сетевые технологии, она уже поспособствовала огромной экономии затрат и окупаемости вложений для дата-центров, предприятий и Облака. Что кажется менее значительным и сильно отстает от реальности — это понимание виртуализации и виртуализированных сред с точки зрения безопасности. Некоторые люди считают, что виртуализация является более безопасной, чем традиционные среды, так как они слышали об изоляция между виртуальными машинами (ВМ) и потому что они раньше не слышали о каких-либо успешных атаках на гипервизоры. Другие считают, что новые виртуальные среды нуждаются в безопасности так же, как традиционные физические среды, поэтому применяют тот же многолетний подход к безопасности. Наиболее важным фактором является то, что новая среда более сложная. Виртуальные подходы, добавленные к уже существующим сетям, создают новую сеть, которая требует иного подхода к безопасности. Помимо обычных мер следует применять и специальные меры безопасности для виртуализации. В этом документе мы рассмотрим различия, проблемы, трудности, риски, вызванные применением виртуализации, а также предоставим дельные рекомендации и практические советы, чтобы убедиться, что после применения виртуализации сеть останется такой же защищенной.

2. ВВЕДЕНИЕ

Виртуализация развивается и планирует задержаться здесь надолго. Хотя ее концепция известна уже более пятидесяти лет, эта технология будет по-прежнему расти и совершенствоваться в сферах, существующих повсеместно и планирующих развивать себя и дальше. Более того, половина всех серверов сегодня работают на Виртуальных Машинах. IDC предсказывает, что 70% всех рабочих нагрузок будет работать и на ВМ к 2014 году. Что действительно должно идти в ногу с технологическим прогрессом из-за широкомасштабного применения — это обеспечение безопасности компонентов виртуализации и виртуальных сред. Давайте рассмотрим некоторые выгоды в плане безопасности, существующие благодаря использованию виртуализации.

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

Docker в браузере, или как создать и «расшарить» среду разработки

Reading time7 min
Views27K
Docker нынче не использует только ленивый. Вокруг этой технологии заварилась очень интересная каша, не в последнюю очередь благодаря технологиям и продуктам, интегрировавшим Docker, который стал частью их инфраструктуры. Раннеры на Docker-е — это уже чуть ли не “must” для облачных IDE. Что уж говорить, если Google однозначно признали преимущества запуска приложений в контейнерах, а не на “чистом железе”. Впрочем, это тема другой дискуссии.

Создание среды разработки в браузере

Итак, Docker, скорее всего, изменит лицо технологического мира. Вернее, он уже его меняет. Все мало-мальски активные компании уже выложили свои докер образы, в которых запускаются их продукты. Ни тебе настройки среды, ни установки переменных окружения… Скачал образ, примонтировал локальные ресурсы, если нужно (“сорцы” проекта, локальный репозиторий и так далее), и горя не знаешь.
Читать дальше →

Компактная реализация RSA для встраиваемых применений

Reading time15 min
Views61K
RSA является широкоизвестным алгоритмом шифрования с открытым ключом. На его основе, кроме асимметричного шифрования, можно также реализовать электронную подпись (ЭЦП). Эти возможности привлекательны для встраиваемых систем, микроконтроллеров. Сам метод шифрования с виду чрезвычайно прост:
C = (Me) mod n (1)
где C,M,e,n — целые числа, M — открытый текст, числа e и n представляют собой открытый ключ, C — шифротекст. mod — остаток от деления.

Расширование выглядит столь же просто:
M = (Cd) mod n (2)
где C,M,n играют ту же роль, что и при шифровании, d — закрытый ключ.

При этом n=p*q, где p и q — простые числа (секретные), e обычно равно 65537, d вычисляется на основе e, p и q. Криптостойкость основана на том, что для достаточно больших p и q задача разложения n на множители или обращения формулы шифрования без знания p и q не решается за приемлемое время.

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

Анти-DDoS Voxility: чему нас научила война пиццерий

Reading time6 min
Views60K
Вы даже не представляете, какие драмы могут разворачиваться в такой мирной, казалось бы, отрасли, как торговля пиццей. В одной из них довелось поучаствовать и нам, как облачному провайдеру: в декабре 2013 года «Империя пиццы» — один из клиентов Cloud4Y и крупнейшая сеть доставки пиццы в Москве и Московской области, начала интенсивную экспансию на новые территории, на которых уже присутствовали другие игроки.


И у пиццы есть тёмная сторона

Все бы ничего, но имперская ценовая политика в сфере предоставления услуг быстрого питания для его конкурентов имела демпинговый характер. Началась война на всех фронтах, и вскоре в ход пошли DDoS-атаки.
Читать дальше →

Как работать с валютными счетами?

Reading time4 min
Views118K
Скачущий курс рубля никого не оставил равнодушным. Бум валютных операций подвигнул нас пристально рассмотреть все особенности валютного законодательства.

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

Установка, настройка и использование сканера уязвимостей сервера rkhunter

Reading time3 min
Views78K
На хабре не раз было упомянуто приложение под названием rkhunter. Хотелось бы остановиться на нем по подробней.

Rkhunter — это сканер различных видов локальных (потенциальных) уязвимостей (бэкдоров, эксплоитов и руткитов) со своей регулярно обновляемой базой.
Он написан на bash и perl, поэтому будет работать под любой серверной ОС на базе unix без каких-либо проблем.



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

Сергей Поволяшко. Почему размер имеет значение? — доклад с SPMConf

Reading time5 min
Views5.6K
Публикуем статью на основании доклада Сергея Поволяшко (Харьков, Украина) с конференции менеджеров проектов в ІТ Software Project Managment Conference

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

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



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

Карьера менеджера проекта vs организация

Reading time17 min
Views67K
В предыдущей статье «Медовый месяц менеджера: как его провести с пользой» мы говорили о том как происходит назначение на позицию менеджера и что может делать новый менеджер первые месяцы работы в должности. Давайте продолжим разбираться в этой теме.

Как построить карьеру менеджера проектов?


Нужно ли расти из технического специалиста или целенаправленно, с нуля учиться на менеджера? Смогу ли я управлять коллективом, не умея выполнять задания, которые я даю своим сотрудникам? Что ждет меня через 3-5-7 лет? Что предпринять сейчас, чтобы приблизиться к собственной мечте (и какова вообще она — карьерная мечта руководителя проектов)?

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

Сам я давно пришел к убеждению, что ни у специалистов по кадрам, ни у тех, кто занимается проф. ориентацией, нет ответов ни на эти, ни на более конкретные вопросы. Например, «Может ли менеджер проектов перейти из сферы ИТ, скажем, в строительство?».

Мы знаем, примеры есть. Однако, когда и почему такие переходы оказываются успешны — ответить затрудняемся.

Часто работодатели не ограничиваются в вакансии требованиями к знаниям проектного управления и общему стажу, а обязательно требуют релевантный опыт (например — 5 лет в управлении разработкой сайтов или внедрения ERP и т.п.). Сами менеджеры тоже стараются строить карьеру с таким прицелом, чтобы развиваться в наиболее симпатичной области. Но это на уровне интуиции. А можно ли подвести под нее какие-либо правила?
Читать дальше →

JBOSS 4.2.3 Manual

Reading time12 min
Views89K
Копаясь в своих старых записях совершенно случайно наткнулся на документ JBOSS 4.2.3 Manual, написанный мной (а по сути скомпилированный из разных источников) несколько лет назад. И чтобы не пропадать добру, решил немного поделиться знаниями с уважаемым Хабрасообществом.
Если вы являетесь специалистом с опытом более года — скорее всего ничего нового для себя не найдете и можете сразу проходить мимо, дабы не тратить свое время. Статья же может быть полезна следующим людям:
  • студентам, начинающим свой путь в IT карьере по Java направлению
  • java junior разработчикам
  • junior инженерам внедрения и техподдержки
  • junior deploy и build инжеренам

Понятно, что версия JBoss 4.2.3 достаточно древняя (сейчас актуален 8-ой JBoss, который по сути уже и не «Jboss»), но считаю, что она все еще может быть полезна, учитывая наличие большого количества старого унаследованного java-кода и приложений в жестоком интерпрайз секторе, которые все же необходимо иногда поддерживать.
Читать дальше →

NASA подтверждает работоспособность «невозможного» волнового двигателя, не использующего реактивную массу — EmDrive

Reading time4 min
Views221K
Дисклеймер: данная статья написана неспециалистом в данной области. Коррективровки, замечания и развёрнутые комментарии всячески приветствуются.

Суть новости


30 июля на 50th AIAA/ASME/SAE/ASEE Joint Propulsion Conference — пятидесятой совместной конференции Американского Института Аэронавтики и Астронавтики, Американского Сообщества Инженеров-Механиков, Сообщества Автомобильных Инженеров и Американского Сообщества Инженерного Образования, посвященной двигательным системам, если кому интересно значение сокращений, представители лаборатории NASA предоставили отчёт, согласно которому EmDrive, двигатель, создающий тягу без выброса реактивной массы, работает.
Читать дальше →

Томита-парсер Яндекса для всех

Reading time2 min
Views6.1K
Яндекс продолжает развивать свои API-функции. И вот результат в виде нового парсера. Томита-парсер – это инструмент для извлечения структурированных данных (фактов) из текста на естественном языке. Извлечение фактов происходит при помощи контекстно-свободных грамматик и словарей ключевых слов. Парсер позволяет написать свою грамматику, добавить свои словари и запустить на текстах.

Томита-парсер позволяет по написанным пользователем шаблонам (КС-грамматикам) выделять из текста разбитые на поля цепочки слов или факты. Например, можно написать шаблоны для выделения адресов. Здесь фактом является адрес, а его полями — «название города», «название улицы», «номер дома» и т.д. Парсер включает в себя три стандартных лингвистических процессора: токенизатор (разбиение на слова), сегментатор (разбиение на предложения) и морфологический анализатор (mystem). Основные компоненты парсера: газеттир, набор КС-грамматик и множество описаний типов фактов, которые порождаются этими грамматиками в результате процедуры интерпретации.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity