Перевод небольшой заметки Yakov Fain с сайта javalobby.org о том, как обилие фреймворков на любой вкус лишают разработчиков необходимости знать, как всё устроено «под капотом». Думаю, эта проблема не ограничивается только Java, а актуальна для любого современного языка.
Рубрика «java» - 250
Новый вид разработчиков — Framework Java Coder?
2014-01-14 в 12:58, admin, рубрики: java, интервью, Карьера в IT-индустрии, фреймворкиПередача треков Google Analytics сторонним доменам без javascript
2014-01-13 в 14:02, admin, рубрики: google analytics, java, php, ненормальное программирование, метки: google analytics, java, PHP, никто не читает теги 
О чем статья?
- О междоменном отслеживании
- О том, что если чего-то нет в официальной документации, то это не повод печалится, а повод добавить такую возможность.
Зачем передавать?
Чтобы не терять информацию о пользователе во время его перехода в платежную систему для совершения покупок, а также его походов по нашей экосистеме сайтов.
Почему без javascript?
- Если нужно выполнить редирект пользователя после обработки логики запроса на сервере.
- Google Analytics api и так хорошо документирован, а читать копипаст документации это не уровень хабра, не так ли?
Суть метода проста. Берем все куки вида __utm и передаем их, как параметры, в урле на другой домен. Ничего не происходит. Расходимся. Добавляем последним параметром __utmk, который является особым хешем всех остальных кук гугл аналитики. Поздравляю мы сделали, то что делаем функция _link в известном файле ga.js от Google Analytics.
И так если у вас переход на другие сайты обрабатывал контроллер, то вам не надо во все ссылки добавлять конструкцию вида:
onclick="_gaq.push(['_link', 'https://www.payment-system.com?contractId=example']); return false;"
Если нужны исходники формирования хеша для ключа utmk, прошу в github.
Далее история о процессе получения данного метода.
10 потенциальных SQL ошибок, которые делают программисты
2014-01-08 в 10:34, admin, рубрики: java, jdbc, jooq, sql, ошибки, ПрограммированиеОригинал статьи носит название «10 SQL ошибок, которые делают Java разработчики», но, по большому счёту, приведённые в ней принципы можно отнести к любому языку.

Java программисты мешают объектно-ориентированное и императивное мышление в зависимости от их уровня:
— мастерства (каждый может программировать императивно)
— догмы (шаблон для применения шаблонов где-либо и их именование)
— настроения (применять истинный объектный подход немного сложнее чем императивный)
Но всё меняется, когда Java разработчики пишут SQL код.
Читать полностью »
Собираем проект на RAM-диск при помощи Maven
2014-01-08 в 8:44, admin, рубрики: java, maven, ssd, метки: java, maven, ram disk, ssdЗа 10 лет разработки веб-приложений с использованием технологий Java я успел повидать огромное число коллег-программистов и познакомиться с их методами организации рабочего процесса. И, к моему удивлению, абсолютное меньшинство когда-либо задумывалось над использованием RAM-диска для сборки проектов. Я думаю, что такая элементарная оптимизация просто не приходит в голову, постоянно занятую текущими задачами, дедлайнами и просто жизненными проблемами.
- Значительное увеличение скорости сборки за счет отсутствия операций ввода-вывода на жесткий диск
- Увеличение времени жизни вашего SSD за счет перемещения интенсивных операций записи в память
Если учесть, что в последние годы сильно вырос объем оперативной памяти на компьютере среднестатистического разработчика и повсеместно начинают применяться SSD, то аргументов «против» практически не остается.
Главная цель этой небольшой статьи — вызвать мысль: «А ведь действительно! И как я раньше об этом не подумал?».
Я опишу пример реализации такого подхода в Linux. Действия в других операционных системах будут практически идентичными, за исключением методов создания самого RAM-диска.
Длинная арифметика от Microsoft
2014-01-07 в 11:29, admin, рубрики: .net, java, Mono, Алгоритмы, длинная арифметика, метки: .net, c++, java, Mono, Алгоритмы, длинная арифметикаВведение
Известно, что компьютер может оперировать числами, количество бит которых ограниченно. Как правило, мы привыкли работать с 32-х и 64-х разрядными целыми числами, которым на платформе .NET соответствуют типы Int32 (int) и Int64 (long) соответственно.
А что делать, если надо представить число, такое как, например, 29! = 8841761993739701954543616000000? Такое число не поместится ни в 64-х разрядный, ни тем более 32-х разрядный тип данных. Именно для работы с такими большими числами существует длинная арифметика.
Длинная арифметика — в вычислительной технике операции (сложение, умножение, вычитание, деление, возведение в степень и т.д.) над числами, разрядность которых превышает длину машинного слова данной вычислительной машины. Эти операции реализуются не аппаратно, а программно, используя базовые аппаратные средства работы с числами меньших порядков.
Читать полностью »
Как Роберт Моррис на 8-ми битах до 10 000 считал
2014-01-06 в 16:55, admin, рубрики: java, Алгоритмы, вероятность, рандом, счетчик, метки: java, вероятность, рандом, счетчик

Как все знают с помощью n-бит, можно реализовать счетчик считающий до 2n-1, но если у вас очень ограниченные ресурсы, или вам просто хочется поэкспериментировать и объединить в одно целое последовательности, вероятности, рандом и увеличение счетчика, то прошу под кат.
В этой статье мы увидим как работает, так называемый вероятностный счетчик.
Впервые он был представлен Робертом Моррисом в 1977 году, шифровальщиком, работающим в BellLabs, известного своей фразой
Intellij IDEA: Oracle Cloud Integration
2013-12-31 в 11:23, admin, рубрики: intellij idea, java, oracle, Облачные вычисления, метки: intellij ideaНе секрет, что Oracle претендует на звание крупнейшего в мире корпоративного облака. Oracle Public Cloud, пригоден, по утверждениям компании, для переноса в себя всех приложений и бизнес-процессов предприятия.
Недавно пришлось попробовать Oracle Java Cloud Service в работе. Впечатления, в общем — положительные, но был немного расстроен, т.к не имел возможности работать с этим сервисом в своей любимой среде разработки — Intellij IDEA.
И вот два дня назад появился плагин Oracle Cloud integration. О том, какие возможности он нам предоставляет, я и хотел рассказать в этой статье.
Читать полностью »
Pocketsphinx — распознавание речи в реальном проекте
2013-12-30 в 15:02, admin, рубрики: android, java, разработка, Разработка под android, распознавание речи, метки: android, java, разработка, распознавание речи 
Некоторое время назад я начал большой эксперимент по использованию открытой технологии распознавания речи Pocketsphinx в одном очень интересном проекте под Android. Его целью было создание голосового ассистента-звонилки на русском языке с применением датчиков смартфона в качестве способов активации микрофона.
За короткое время эксперимент перерос в настоящий продукт под названием Zvonimba, которым уже пользуется немалое количество человек. В этой статье я хочу рассказать, как удалось прикрутить Pocketsphinx для распознавания русской речи на смартфоне в оффлайне и какие трудности при этом возникали.
Я не буду подробно рассказывать о теории распознавания речи — об этом много и хорошо написано в интернете (например, на том же сайте Pocketsphinx). В этой статье я покажу, как удалось применить pocketsphinx в реальном приложении под Android.
Хитрые задачки по Java
2013-12-29 в 19:08, admin, рубрики: java, oracle, задачи, Программирование, сертификация, тест, метки: java, задачи, сертификация, тестСовсем недавно я сдал OCA Java SE 7 Programmer I. За время подготовки успел решить огромное количество задач и извлечь из них много тонких моментов языка. Самые интересные и ловкие — сохранял на будущее. И вот у меня накопилась небольшая личная коллекция, лучшую часть которой я здесь и опишу.
В замечательной статье Знаешь ли ты JAVA, %username% и её второй части автор тоже поделился опытом после подготовки. Однако я пришёл к выводу, что могу добавить что-то своё. Так и зародилась эта статья.
Чак Норрис и Google Glass — что общего, а вот…
2013-12-28 в 5:00, admin, рубрики: android, asynctask, Glass Development Kit, Google Glass, java, json, Программирование, метки: android, asynctask, Glass Development Kit, Google Glass, java, jsonНедавно мне (несказанно поперло) выпал шанс купить Google Glass по Explorers Program. Стоило только заказать, как на следующее утро почтальон разбудил меня стуком в деверь — вам посылка. Не умываясь и не чистя зубы…
Под вечер возникла возможность попрограммировать. Изучив пару-тройку примеров и настроив окружение — я взялся за дело. Возникла идея написать приложение которое будет вытаскивать шутку про Чака Норриса из веб-сервиса, парсить JSON, и читать вслух.

