Метка «java» - 36

Предисловие

Недавно портировал довольно большой проект с Qt (C++) на Android (Java), в процессе работы часто приходилось применять динамическое связывание объектов. Беда состояла в том что связывание (binding) в отличие от привычных сигналов и слотов в Qt в Java реализовано через лисенеры (listeners), и сколько я не пытался себя убедить что способ этот равноценен и тоже имеет место быть такого же удобства как при использовании сигналов и слотов достичь не удавалось.
Например, нам нужно связать бегунок (QSlider в Qt или SeekBar в Android) с каким либо действием, хотя бы привязать другой бегунок который будет послушно перемещаться следом за первым. В Qt подобная операция выглядит следующим образом:
Читать полностью »

Океанский робот Mercury выдержал натиск урагана Sandy

На фото — автономный океанский робот Mercury, который около недели назад работал в открытом океане, осуществляя мониторинг погодных условий в самом эпицентре бушевавшего урагана Сенди. Робот проплыл около ста миль в условиях ветра скоростью 70 узлов и при перепаде атмосферного давления с 40 до 710 мм. рт. ст., при этом передавая собираемую информацию в режиме реального времени в командный центр компании-создателя Liquid Robotics. Интересно также и то, что создателями компании являются бывшие сотрудники Sun Mycrosystems, а одним из ведущих инженеров является не кто иной как Джеймс Гослинг (James Gosling) — создатель Java.

Калифорнийская компания Liquid Robotics, занимается разработкой роботизированных устройств для сбора и обработки информации о химико-физических свойствах морской воды, атмосферных и метеорологических параметров для научных и коммерческих целей. Среди патентов компании — система автономного движения океанских роботов с использованием энергии волн, получение электрической энергии для приборов робота при помощи солнечных панелей, а также управление ими в океане про помощи системы GPS.
Читать полностью »

Приветствую всех.

Хочу поделиться с сообществом небольшим велосипедом — расширением для мавена позволяющим получать доступ к репозиториям с кастомной структурой.
Для начала расскажу как я до такого докатился. В процессе работы над проектом пришла мысль о том зависимости JavaScript типа JQuery ничем не управляются, и при обновлении приходится качать библиотеки вручную, что совершенно не впечатляет. И вот так появилось дикое желание найти какой-нибудь менеджер зависимостей но для javascript. В первую очередь в своих поисках я наткнулся на Bower но необходимость введения дополнительного шага в процессе сборки отпугивало как node.js в зависимостях. Тут я вспомнил про CDN с коих можно невозбранно тянуть js-библиотеки (например jquery на Google CDN: http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js). Поскольку в проекте используется maven для сборки то логичной мыслью было натравить его на эти залежи библиотек… Но все оказалось не так просто. Дело в том что структура файловой системы CDN отличается от стандартной для для maven. После 2 часов поиска решения на просторах интернетов найдено не было, и решил я написать свой велосипед. Если я еще не утомил вас то прошу под кат.
Читать полностью »

Предисловие

imageКак бывший программист на С++, который перешел на православную Java, я решил постепенно подкрепить свои знания сертификатами. Просто для себя (не совсем так просто, но о мотивации чуть далее). Получение подобной «бумаги» стало для меня новым квестом и о том, как его пройти я и буду рассказывать, параллельно сдав все явки и пароли в Киеве. Само собой, не считая конкретного центра сертификации, все сказанное актуально и для не киевлян.
Читать полностью »

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

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

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

Каждый месяц работодатели создают на hh.ru примерно 15 000 000 поисковых запросов. Мы проанализировали потребности компаний в конкретных программистах и составили рейтинг самых популярных языков программирования в запросах работодателей.
Итак, первая десятка самых востребованных программистов в Москве выглядит так:

Самые востребованные языки программирования
К десятке были очень близки axapta, flash и ruby.
Читать полностью »

    В статье ниже я попытаюсь кратко рассказать о том, что такое TarantoolBox и как начать его использовать в уже существующем проекте если вы программируете на Java. Если же вы программируете на другом языке, то вам могут быть интересны некоторые инструменты доступные в коннекторе, такие как возможность редактирование xlog файлов и создание snap файлов из любых данных.
Читать полностью »

    В статье ниже я попытаюсь кратко рассказать о том, что такое Tarantool и как начать его использовать в уже существующем проекте если вы программируете на Java. Если же вы программируете на другом языке, то вам могут быть интересны некоторые инструменты доступные в коннекторе, такие как возможность редактирование xlog файлов и создание snap файлов из любых данных.
Читать полностью »

Подготовка к сдаче экзамена Oracle certified JAVA associateПоиск русского гайда по сдаче на OCAJP 7 не увеньчался успехом, так что я решил написать свой.

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

Подготовка к сдаче экзамена Oracle certified JAVA associateДля себя я решил сдавать на OCP чтобы во-первых систематизировать знания, а во-вторых поднять привлекательность для работодателей.

Началось как обычно с чтения CodeRanch. Когда я начинал готовиться книг посвященных OCA 7 еще не было в природе. Сейчас уже появился официальный гайд. Но учитывая ценник (30$), я все же воздержался бы от покупки. Сейчас расскажу почему. Читать полностью »

Сегодня 17.10.2012 Oracle выпустила очередной апдейт Java VM где были пофиксены очередные проблемы безопасности Java. После не долго анализа исходного кода было найдено несколько из них и на быструю руку был написан эксплоит для одной из них. Целью данной статьи стало то, что в русском сегменте сети практически не освещаются технические подробности связанные с безопасностью в Java. Моя цель привлечь больше российских специалистов для решение данной проблемы и помочь людям заинтересованным в изучении этой темы.

В последнее время безопасность в Java VM обсуждается и критикуется всеми крупными ИТ специалистами в области информационной безопасность. Механизмы безопасности в Java построены так, что при неправильном их использование они дают возможность злоумышленнику получить доступ к конфиденциальным данным жертвы или установить вирусное программное обеспечение. Java — это лакомый кусок злоумышленников т.к. по статистике riastat на текущий момент Java VM установлена более чем на 1 биллионе клиентских машин. И к сожалению в последнее время уязвимостей в Java находят все больше и чаще.

Сегодня мы поговорим об одном и механизмов безопасности в Java, о так называемой песочнице. А так же рассмотрим на свежем примере примере CVE-2012-5075 как работает песочница и почему при неправильном использовании механизмов песочницы Java появляются уязвимости.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js