JAVA

индекс
344,42

Stringer Java Obfuscation Toolkit: защита Java и Android-приложений recovery mode

Stringer Java Obfuscation Toolkit - Android ProtectionУважаемое Хабр-сообщество, хотел бы рассказать об одном из продуктов, который мы разрабатываем — Stringer Java Obfuscation Toolkit (https://jfxstore.com/stringer). Думаю многим Android и Java-разработчикам будет интересно, особенно, в свете подобных публикаций: habrahabr.ru/post/141522/.

Сразу скажу, что решение коммерческое, чтобы сэкономить кому-то, из читающих этот пост, время.

За прошлый, почти полный, год, мы сделали довольно много интересных вещей:
  • У нас появилась поддержка платформы Android

23 мая 2012, 14:43
32
receiver –1,7

«Разбор полетов» — Episode 18 — Special: Join the Rebellion

В восемнадцатом выпуске «правильного подкаста для IT-шников» наш специальный корреспондент Абашев Алексей встретился с Антоном Архиповым.
Время: 17 апреля 2012
Место: JavaOne Russia, Российская Академия Наук
+4
22 мая 2012, 19:29
3
gAmUssA 19,7

Про Правильные Инструменты recovery mode

Вместо посвящения



Всегда… Нет. Никогда не выходи в пургу пиши такой код ни для чего, кроме подобных забав.
image
Гийом — lead разработки языка Groovy

Reflection во зло


Один мой друг — большой любитель головоломок. Всяких, и программистких в том числе. Вот его последняя забава:
Напишите нужный код в static initializer, чтобы assert перестал падать:
public class Test {
 static {
//Write some code here
 }

public static void main(String[] args) {
 Integer a = 20;
 Integer b = 20;
 assert (a + b == 60);
 }
}

Если вы решите попробовать, не забудьте включить assertions (флагом -ea).
Дальше будет решение и кое какие рассуждения на тему, так что если вы уже справились, или вам влом -смело под кат.
+32
22 мая 2012, 14:57
36
jbaruch 39,6

Кортежи объектов в Java и их коллекции из песочницы

Достаточно часто на практике возникает необходимость воспользоваться такими конструкциями как «пара» (Pair<First, Second>), менее часто «тринарными» объектами (Triplet<First, Second, Third>) и более длинными цепочками ассоциированных объектов. В связи с чем всегда удивлялся, почему в JDK (в java.lang.* или java.util.*) до настоящего момента нет стандартной Pair<First, Second> или более длинных конструкций. Думаю многие программисты практикующие на Java имеют свою реализацию «пары». Не исключением являюсь и я.

И вот в очередной раз наткнувшись на необходимость работать с большим количеством различных кортежей, решил взяться за эту проблему системно. Придумал название проекту, определил цели и после экспериментов, занявших некоторое время, выложил код ( git://github.com/telesik/rumba.git ).

Чего хотелось достичь:
  • Необходима удобная конструкция (назовем ее кортеж) для ассоциации нескольких объектов, типы которых определялись бы из позиции в полученном кортеже;
  • Кортеж должен быть неограниченным по длине и типу;
  • Типы элементов должны быть относительно контролируемым (как минимум ограничен дженериками);
  • Описание структуры кортежа должно быть простым;
+6
21 мая 2012, 13:04
29
voilesik 1,0

Судья Алсуп умеет программировать и поучает адвоката Oracle

На сайте Groklaw публикуется текстовая трансляция судебных слушаний Oracle против Google, где речь идёт о возмещении ущерба $150 тыс. за «воровство» для Android функции rangeCheck и тестовых файлов. В обсуждении встречаются интересные моменты. Например, вчера судья Алсуп, ведущий это дело, вступил в небольшую перепалку с адвокатом Дэвидом Бойзом, который представляет интересы Oracle: см. запись разговора.

Oracle: Вопрос не в том, насколько велик ущерб. Вопрос в том, можно ли закрыть глаза на коммерческую выгоду нарушителя исходя из того, что объём нарушений мал.

Кроме того, для меня не ясно, что справедливо сравнение девяти строк кода и 15 миллионов, потому что из них 10 миллионов составляет ядро Linux. Но всё равно, девять строк — это небольшой процент. Тестовые файлы гораздо больше, но они не присутствуют, по крайней мере, в текущей версии Android.
+241
16 мая 2012, 18:08
50
alizar 2223,8

«Разбор полетов» — episode 17 — Иногда они возвращаются…

Все привет! Редакция подкаста «Разбор Полетов» рада представить Вам очередной 17-й выпуск, в котором мы расскажем Вам:

  • Отчет Алексея по JavaOne Russia и по SpringOne
+4
13 мая 2012, 01:46
1
gAmUssA 19,7

Учим Liferay Portal 6.0 EE SP2 понимать файлы лицензий для версии 6.1 из песочницы

JAVA*, CMS*
Многие разработчики для Liferay Portal 6.0 EE остались недовольны политикой компании Liferay inc., т.к. при выходе версии 6.1, они лишились возможности использования триальных лицензий во время работы над проектами, а ключи от новой версии не являются обратно-совместимыми. Что делать? Если компания, производящая данный продукт не идет на встречу разработчикам и насильно переводит всех на новую версию, а предоставить всем разработчикам реальную лицензию от production-сервера для использования во время разработки — не самая лучшая идея. Выход есть, пусть даже не самый элегантный, но если выбора не оставляют — все равно можно решить данную проблему. Добро пожаловать под кат.
+1
13 мая 2012, 00:52
5

ORM в Android c помощью ORMLite

На данный момент для платформы Android существует несколько решений, позволяющих реализовать ORM-подход для работы с базой данных, но основных два. Это ORMLite и GreenDAO.

Для новичков стоит сделать отступление и рассказать что такое ORM вообще. ORM — object-ralational mapping. Объектно-реляционное отображение означает, что программисту гораздо удобнее оперировать с объектами, которые он использует в своём приложении, нежели чем с таблицами, в которых хранятся данные в реляционных базах данных. Для связи реляционных СУБД с объектной моделью приложения используются ORM-технологии. Так для решения задач объектно-реляционного отображения в Android используют один из сторонних фреймворков. GreenDAO и ORMLite — являются библиотеками с открытым кодом.
+15
12 мая 2012, 21:40
109
nekdenis 16,0

Bomberman Online — HTML5 мультиплеер онлайн игра от хабраюзеров. Тестируем нагрузку!

Bombermine Online — результат последних двух недель тестирования и подготовки движка для большого кол-ва игроков онлайн.

Движок написан на Java + Jetty (бекэнд). Фронтэнд — HAProxy + Nginx + Node.js. Клиентсайд — GWT, который транслируется в HTML5/canvas + javascript + websockets. Хостится всё в облаке.

На данный момент рекорд — 50 игроков онлайн. Настроен весь необходимый софт для мониторинга нагрузки. После хабраэффекта обещаем выложить отчёт. Ждём гостей.

+182
12 мая 2012, 13:44
287
Jedi_Knight 165,6

Пример интеграции Last.FM API и VK.COM API для обновления содержимого своего плеера

Всем привет!

Думаю, большинство из вас знакомы с социальными сетями "Вконтакте" и "Last.fm". В данной статье мы рассмотрим маленький пример интеграции между API обоих сервисов. Если быть точнее, будем получать список любимых треков с last.fm, искать бинарный контент в ВК и сохранять на HDD.
Статья будет скорее интересна новичкам, чем профессионалам, тем не менее, требует определенной технической подготовки. Тестовый проект реализован средствами Java.

Если читателю интересно, что из этого получилось, прошу пожаловать под кат.

+25
11 мая 2012, 20:02
113
KriegeR 59,1