Многие из нас уже не раз писали разного рода магазины. Но большие e-commerce проекты в быстро растущей и развивающейся компании разрабатывать приходится нечасто. К таким решениям предъявляются дополнительные требования, такие как конфигурируемость, адаптивность к изменениям, возможности встраивания в другие системы и прочее. Для написания такого решения компания Netcracker использовала Liferay Portal фреймворк. В итоге получили достаточно преимуществ, но и без проблем не обошлось.
Читать полностью »
Рубрика «java» - 176
Опыт использования Liferay Portal в eСommerce
2016-06-06 в 11:20, admin, рубрики: cms, e-commerce, ecommerce, java, liferay, mass-market, netcracker, open source, self-services, telecom, Блог компании Netcracker, ПрограммированиеНемного о Stream API(Java 8)
2016-06-06 в 8:42, admin, рубрики: java, stream api, ооп, параллельное программированиеНебольшая статья с примерами использования Stream API в Java8, которая, надеюсь, поможет начинающим пользователям освоить и использовать функционал.
Как я разрабатывал транслятор языков разметки
2016-06-05 в 5:55, admin, рубрики: html, java, парсеры, Разработка веб-сайтов, трансляторыЭта история началась в далеком 2008 году. В одном из моих проектов для противодействия XSS-атакам я решил использовать BB-коды и начал искать подходящие библиотеки на Java. Хорошенько погуглив, я так ничего ничего и не нашел. Конечно, тогда было и сейчас есть много библиотек для трансляции BB-кодов в HTML, но все они меня не устраивали по одному критерию — невозможность добавлять или удалять тэги. Вспомнив курс "Языки программирования и методы трансляции" (польза от классического образования!) я принялся за реализацию своей собственной библиотеки для парсинга BB-кодов. В результате появился мой самый долгоживущий проект KefirBB.
3 греха мобильной разработки на Mobius 2016
2016-06-01 в 15:33, admin, рубрики: android, android development, iOS, ios development, java, kotlin, mobile development, swift, Блог компании JUG.ru Group, конференция, разработка мобильных приложений, Разработка под android, разработка под iOS, разработка под windows phoneДо Mobius 2016 осталось 3 дня, и программа уже готова. Получилось 24 доклада о мобильной разработке: Android, iOS и кроссплатформенной. Чтобы внимательно изучить их все, надо потратить почти час времени, поэтому мы подготовили небольшой гайд по программе, которая сама собой разделилась на три направления, не привязанных к платформе:
- On the Edge;
- Hardcore;
- Software Craftsmanship;
Однако этот пост не только о конференции – каждый из докладов попадает в программу из-за того или иного «грешка», распространенного среди программистов. Давайте посмотрим подробнее…
Начинаем создавать свою игру на JavaFX
2016-06-01 в 14:51, admin, рубрики: game development, java, разработка игрНебольшое отступление.
JavaFX — платформа для создания RIA, позволяет строить унифицированные приложения с насыщенным графическим интерфейсом пользователя для непосредственного запуска из-под операционных систем, работы в браузерах и на мобильных телефонах, в том числе работающих с мультимедийным содержимым.
Приступаем к нашему коду. У нас на данный момент должно быть 3 класса.
Читать полностью »
Что делать если Instagram не дал доступ к API?
2016-05-30 в 9:03, admin, рубрики: api, Instagram, java, open source, php, scraper1 июня 2016 года Instagram отключит от своего API все приложения, которые не прошли модерацию. Что делать если вы в их числе?
Предыстория
Мы делаем сервис для постинга в Instagram по расписанию и используем API для получения информации об аккаунтах. Самим постингом занимаются телефоны в автоматическом режиме. Нам отказали в доступе к API после 1 июня (пробовали пройти модерацию два раза) поэтому было решено найти замену.
Сначала расскажу как мы использовали официальный API:
- При добавлении аккаунта забираем из Instagram информацию об аккаунте: имя, фото профайла, количество постов, подписчиков, подписок.
- Перед тем как опубликовать фото/видео мы запрашиваем количество постов, и тоже самое после публикации, если число постов увеличилось считаем публикацию успешной.
- Если публикация прошла успешно забираем ссылку на последнее фото в профайле.
- Если пользователь удаляет фото из нашего сервиса, то перед тем как выполнить задачу нужно проверить существует ли такой пост в Instagram (или его удалили).
Реализация
У Instagram есть веб-версия. С помощью нее в приватных аккаунтах можно получить информацию о количестве постов, подписок и подписчиков, а в публичных еще и сами посты, комментарии и лайки. Поэтому, в силу простоты получения, я подумал, что уже написаны подобные библиотеки. Пошел гуглить и нашел только для NodeJS. И для PHP нашелся какой-то код, но всем четырем пунктам не соответствовал. В итоге было решено писать свою библиотеку.
Читать полностью »
Опыт автоматизации тестирования стабильности работы сервера RTLS под внутренней нагрузкой
2016-05-30 в 8:17, admin, рубрики: bash, java, RTLS, Блог компании RTL-Service, локальное позиционирование, тестирование, Тестирование IT-системВведение.
В данной статье я расскажу о том, как в отделе контроля качества компании RTL-Service происходит автоматизированное тестирование стабильности сервера RealTrac при одновременном обслуживании большого количества мобильных локационных устройств. Для дальнейшего понимания, предлагаю ознакомиться с полезной терминологией:
RTLS-cервер RealTrac (сервер) — серверное программное обеспечение системы RealTrac, осуществляющее взаимодействие с аппаратными средствами системы и расчет местоположения устройств.
Сервер приложений RealTrac (сервер приложений) — серверное программное обеспечение, необходимое для работы web-приложения, предоставляющее программный интерфейс доступа к основным функциям системы.
Точка доступа RealTrac (далее ТД) — устройство, предназначенное для передачи данных между мобильными устройствами сети и сервером системы. Точки доступа стационарно устанавливаются на объекте, их координаты заносятся на карту клиентского программного обеспечения и фиксируются в базе данных на сервере системы. ТД может работать в режиме шлюза или ретранслятора. Режим определяется наличием проводного Ethernet подключения к сети (шлюз точка доступа, ШТД) и отсутствием такового (ретранслятор точка доступа, РТД). Обмен данными с сервером осуществляют только шлюз.Читать полностью »
Суд присяжных вынес вердикт, что Android добросовестно использует Java API
2016-05-27 в 5:56, admin, рубрики: android, Google, java, Java API, open source, oracle, rangeCheck, копирайт, Программирование, судебные слушания, Уильям АлсупДвухнедельное судебное разбирательство между Oracle и Google подошло к концу. Oracle потратила миллионы долларов на подготовку иска и оплату работы юристов. Она тщательно подготовилась к очередному процессу, исключив из числа присяжных единственного человека со степенью в области ИТ. По опросу кандидатов в присяжные, он был также единственным, кто ещё до процесса понимал значение термина «добросовестное использование» (узнал о нём во время учёбы в Калифорнийском университете в Беркли). Но исключение этого присяжного не помогло Oracle.
После трёх дней обсуждения вчера оставшиеся присяжные вынесли единогласный вердикт, что использование Java API в Android является примером добросовестного использования согласно законодательству об авторском праве.
Если бы вердикт оказался иным, то судья продолжил бы процесс, приступив к фазе оценке ущерба. Компания Oracle претендовала на $9 млрд.
Читать полностью »
Как нам помог Docker в написании тестов
2016-05-26 в 13:29, admin, рубрики: Aerospike, docker, GetIntent, java, Блог компании GetIntent, тестирование, Тестирование IT-системЧтобы показывать вам рекламу — мы в GetIntent должны быть уверены в устойчивой и безотказной работе нашей рекламной платформы. Надежность системы складывается из многих компонентов: тип используемого железа, системная/сетевая конфигурация и архитектура приложения. Внесение изменений в достаточно сложные, распределенные приложения всегда несет в себе риск.
Разработчики со своей стороны пытаются минимизировать эти риски и пишут тесты: unit и интеграционные. Написание unit тестов обычно не составляет каких-либо трудностей. С интеграционными тестами, в зависимости от их изощренности, ситуация сложнее.