На хабре уже были подобные статьи, но для Windows и «ничего не понятно» для новичков вроде меня. В принципе ничего сложного нет, но есть где споткнуться и на долго засесть в поисковиках, как было со мной.
Читать полностью »
Рубрика «java» - 268
Java Native Interface. C++. Linux. Первые шаги
2012-11-26 в 13:49, admin, рубрики: c++, java, jni, linux, Песочница, метки: c++, java, jni, linuxJenkins + JsHint(JsLint) или смотрим метрики javaScript на Jenkins-е
2012-11-25 в 20:33, admin, рубрики: java, javascript, Jenkins, jslint, метки: java, javascript, Jenkins, jslint Здравствуйте. Получил такое задание, в принципе все ясно из названия темы.
О том как я этого достиг, шаг за шагом, будет следующий пост.
Если что не так — критика приветствуется, это было так сказать исследовательское задание, и перед началом работы над ним у меня не было понятия о данном инструменте, зачем он и так д…
В процессе исследования многие вопросы прояснились.
Читать полностью »
3 миллиарда записей в Java Map на 16 GB RAM
2012-11-17 в 22:59, admin, рубрики: heap, java, map, перевод, метки: heap, java, map, перевод Одним дождливым вечером я размышлял о памяти менеджмент в Java и как эффективно использовать Java коллекции. Я сделал простой эксперимент, сколько записей я могу вставить map с 16 Гб оперативной памяти?
Читать полностью »
Тестирование в Яндексе. Фреймворк HTML Elements: чего не хватает в Page Object, и как это исправить
2012-11-16 в 9:05, admin, рубрики: java, page object, selenium, webdriver, Yandex QA Tools, тестирование веб-приложений, яндекс, метки: java, page object, selenium, webdriver, Yandex QA Tools, тестирование веб-приложений, яндексЕсли вы занимаетесь тестированием веб-интерфесов, то наверняка задумывались о том, как сделать взаимодействие с веб-страницами в тестах максимально удобным. Среди тестировщиков очень широко известен шаблон проектирования Page Object. Но, несмотря на множество плюсов, у этого подхода есть и некоторые недостатки, которые сильно затрудняют его применение.
Наиболее существенные из них:
- невозможность повторного использования кода page-объектов для страниц с одинаковыми элементами;
- плохая читаемость и отсутствие наглядности кода для страниц с большим количеством элементов;
- отсутствие типизации элементов.
Из этого поста вы узнаете, как мы в Яндексе решаем эти проблемы с помощью фреймворка с открытым исходным кодом HTML Elements. Он расширяет концепцию шаблона Page Object и позволяет сделать взаимодействие с элементами на веб-страницах простым, гибким и удобным.
Мы не будем останавливаться на описании самого паттерна и его принципов, поскольку большинству из вас он наверняка хорошо знаком. Если же кто-то с ним не встречался, то узнать о нём можно из этого поста или мастер-класса. Также, говоря о применении паттерна Page Object, мы будем подразумевать его Java-реализацию в фреймворке Selenium WebDriver.
Повторное использование кода
Представьте, что вам понадобилось написать тесты не на какую-то отдельную страницу, а на весь веб-сервис. На его страницах наверняка будут встречаться общие блоки элементов: хедеры, футеры, возможно, какие-то одинаковые формы и т.д. Например, на главной странице Яндекса есть форма поиска, которая сохраняется и при переходе на страницу с поисковой выдачей.
Jelastic плагин для Eclipse
2012-11-15 в 9:40, admin, рубрики: cloud computing, cloud hosting, eclipse, java, jelastic, paas, plugin, Блог компании Jelastic, Облачные вычисления, платформа как услуга, метки: cloud computing, cloud hosting, Eclipse, java, jelastic, paas, plugin, облачные вычисления, платформа как услуга Всем привет!
Хотим поделиться с читателим последними новостями: теперь облачная платформа Jelastic интегрирована с Eclipse IDE. Cпециальный плагин для Eclipse делает разработку Java EE веб-приложений на платформе Jelastic гораздо удобнее: сейчас можно развернуть приложение в облако прямо из Eclipse и не переключаться постоянно между IDE и браузером. Известно, что Eclipse лежит в основе деятельности многих Java-разработчиков, так что надеемся, что они по достоинству оценят это нововведение. Также доступны такие полезные функции, как управление (запуск, остановка и т.д.) пользовательской средой и доступ к серверным логам.
Давайте вкратце рассмотрим, как установить плагин и как использовать его основной функционал.Читать полностью »
Визуализируем геоинформацию из логов на web-карте в реальном времени
2012-11-14 в 7:54, admin, рубрики: ajax, glow, java, javascript, jetty, Leaflet, maxmind, raphaeljs, метки: glow, jetty, Leaflet, maxmind, raphaeljs
Дабы не было двусмысленностей, обозначу суть. При приёме на новую работу мне дали тестовое задание, которое кратко можно описать так: «Написать аналог Glow для геовизуализации событий входа пользователей в кастомерку интернет-магазина». Проще говоря, необходимо мониторить лог системы на предмет возникновения определенных событий и в случае оных выполнять (в данном случае) отображение точки на карте, которая будет определяться IP-адресом пользователя. Цель реализации: создать приятную на вид «игрушку» для презентационных целей, способную погрузить смотрящего в нирвану гармонии и эстетического наслаждения. Основным условием было использование в процессе разработки стека Java-технологий, чем обусловлено принятие многих решений. Кроме этого, было решено реализовать это в виде одностраничного сайта. А поскольку с Java и web я был знаком крайне поверхностно (писал в основном на C/C++), пришлось многому научиться. Что ж, будем разбираться вместе.
Статья рассчитана на интересующихся и начинающих, однако не «разжевывает» простые вещи, с которыми можно ознакомиться с помощью документации или специализированных статей. Наиболее полезные ресурсы и ссылка на исходники (распространяются по лицензии BSD) приведены в конце статьи.
Использование CompositeUserType для связи сущностей в Hibernate
2012-11-13 в 20:28, admin, рубрики: dirty hack, hibernate, java, метки: dirty hack, hibernate, javaПост будет кратким и весьма техническим.
Задача
Есть Java-приложение, имеющее внутри большое количество ORM-сущностей (Entity).
Необходимо реализовать сущность ExtendedAttributes, которую можно прикрепить к любой другой сущности без дополнительной доработки.
Решение
На помощь к нам приходит CompositeUserType, который содержит внутри себя class и id той сущности, которую мы хотим привязать. Вот и всё решение. А дальше — код.
Читать полностью »
DIANNA — циферки и домены p2p. Вступление
2012-11-12 в 12:09, admin, рубрики: bitcoin, i2p, IANA, java, p2p, Peer-to-Peer, satoshi, Tor, будущее здесь, домены, свобода информации, цензура, метки: bitcoin, i2p, IANA, java, p2p, satoshi, Tor, свобода информации, цензура
«Вы никогда не измените порядок вещей, сражаясь с существующей реальностью. Дабы что то изменить, создайте новую модель, которая отправит существующую в историю.» Бакминстер Фуллер, один из девизов P2P Foundation.
В странное время мы с вами живем, господа. Но странное время порождает странные идеи. И это интересно.
Я думаю более подходящее время для презентации проекта DIANNA найти будет сложно. Можно конечно произвести в камментах тонну стройматериала по поводу бана уютненького и вообще «Единого госреестра запрещенных сайтов». Можно выйти на улицы с плакатами. Но это не продуктивно. Ибо nobody gives a… Пардон, но это правда.
А можно последовать совету Бакминстера Фуллера. Засучить рукава и сделать что то настолько глобальное, над чем в этом госреестре будут чесать репу следующие десять лет. Я считаю DIANNA концептом слишком глобальным. По крайней мере для одного поста. По этому под катом длинное и последовательное изложение концепции. Упрощал как мог.
Представляю на суд общественности концепт-дизайн DIANNA: Decetralized Internet Assigned Names and Numbers Authority.
Опыт разработки плагина для Yasca
2012-11-11 в 17:10, admin, рубрики: c++, Code Style, java, php, Проектирование и рефакторинг, метки: c++, Code Style, java В этой статье я хочу поделиться опытом использования одной полезной утилиты, позволяющей автоматизировать сборку и анализ качества кода. Речь пойдет о Yasca — свободно распространяемом ПО, представляющем собой небольшой PHP движок и набор утилит для выполнения анализа Java, С++ или PHP кода, включающего в себя PMD, JLint и RATS. Сама интеграция выполнения этих утилит осуществляется путем разработки небольших плагинов, на языке PHP. О процессе разработки такого плагина и пойдет речь далее.
Читать полностью »
Разработка сервера мобильных клиентов
2012-11-11 в 4:27, admin, рубрики: java, аукцион услуг “Аукнем”, библиотеки, команда, мобильные приложения, проектирование, разработка, сервер, технологии, требования, метки: java, аукцион услуг “Аукнем”, библиотеки, команда, мобильные приложения, проектирование, разработка, сервер, технологии, требованияОбратная сторона мобильных клиентов — сервер.
Введение
Не открою секрета, что разработка мобильных приложений в тренде – этому способствует стремительное техническое развитие: мобильные устройства с каждым годом улучшаются по всем характеристикам и становятся доступнее для широкого круга людей. Почти каждый, кто имеет на руках мобильный гаджет (будь то смартфон, коммуникатор или планшет) пользуется приложениями: браузером, клиентом электронной почты и мгновенных сообщений, играми, бизнес или финансовыми программами. И зачастую от пользователей скрыто то, что многие из приложений взаимодействуют с удаленным сервером: обмениваются с ним данными через Интернет.
По роду деятельности (Java разработчик серверных приложений) мне в команде приходится разрабатывать сервера для мобильных клиентов (за последние 2 года участвовал в реализации 3-х таких проектов для зарубежных компаний). Определился набор Java-технологий для решения задач такого рода, который варьируется в зависимости от требований и целесообразности (другими словами — желания), благо свобода при выборе технологий позволяет экспериментировать. Сформировавшейся точкой зрения и опытом хотел бы поделиться с сообществом.Читать полностью »