Как в Java одним выражением создать поле с коллекцией (List, Set и т.п.) или Map и заполнить коллекцию начальными значениями (не создавая в классе дополнительных методов/инициализаторов/конструкторов)?
23 мая 2013 г.
Век живи - век учись: создание и заполнение коллекции через Double Brace Initialization
Как в Java одним выражением создать поле с коллекцией (List, Set и т.п.) или Map и заполнить коллекцию начальными значениями (не создавая в классе дополнительных методов/инициализаторов/конструкторов)?
15 апр. 2013 г.
git rerere
Если у вас в репозитории Git появляется долгоживущая ветка, и вы регулярно делаете rebase на активно развивающийся master branch, то очень скоро заметите, что при следующем rebase приходится решать те же конфликты, которые уже были решены во время предыдущего rebase.
2 апр. 2013 г.
Samsung Galaxy Tab 2: WiFi "Not in Range"
Обнаружилась (и в конце концов решилась) неприятная проблема с WiFi у Samsung Galaxy Tab 2 7.0 (GT-P3113). Он упорно не хотел обнаруживать исправную точку доступа WiFi, с которой не первый день без проблем работали другие устройства: ноутбук, планшет на Android 4.0, планшет Blackberry. Даже после добавления точки доступа вручную, будучи на расстоянии полуметра от неё, планшет отмечал её в списке как "Not in Range".
Похожие проблемы можно найти в интернет, но чёткого решения или хотя бы описания причины нигде не было. У кого-то не виделась или пропадала домашняя точка доступа, хотя оставались видны все соседские точки, у кого-то не находилась точка в аэропорту/кафе, хотя рядом с ней работали другие устройства и т.п.
Как выяснилось, Galaxy Tab 2 не видит точки доступа, если она находится выше 11 канала в диапазоне 2.4ГГц (она может быть настроена на 12 или 13 канал вручную или выбрать их самостоятельно как наименее занятые или наиболее чистые от шумов). Как только я перегнал точку доступа на 9-й канал, Galaxy Tab 2 тут же обнаружил её и подключился без проблем - не понадобились даже перезагрузки точки доступа и планшета.
Похожие проблемы можно найти в интернет, но чёткого решения или хотя бы описания причины нигде не было. У кого-то не виделась или пропадала домашняя точка доступа, хотя оставались видны все соседские точки, у кого-то не находилась точка в аэропорту/кафе, хотя рядом с ней работали другие устройства и т.п.
Как выяснилось, Galaxy Tab 2 не видит точки доступа, если она находится выше 11 канала в диапазоне 2.4ГГц (она может быть настроена на 12 или 13 канал вручную или выбрать их самостоятельно как наименее занятые или наиболее чистые от шумов). Как только я перегнал точку доступа на 9-й канал, Galaxy Tab 2 тут же обнаружил её и подключился без проблем - не понадобились даже перезагрузки точки доступа и планшета.
27 мар. 2013 г.
DOM performance comparison: jQuery vs Prototype
http://jsperf.com/dom-attributes/3
Скорость работы с атрибутами элементов DOM (вызовов в секунду)
UserAgent read remove writeProto jQuery Proto jQuery Proto jQuery
Chrome 25.0.1364 1,863K 1,046K 842K 177K 375K 499K
Firefox 19.0 1,137K 774K 452K 108K 191K 207K
IE 8.0 34K 55K 29K 27K 24K 38K
IE 9.0 528K 267K 472K 130K 268K 205K
Opera 12.14 1,159K 744K 438K 223K 295K 448K
Скорость работы с классами элементов DOM (вызовов в секунду)
UserAgent add has remove
Proto jQuery Proto jQuery Proto jQuery
Chrome 25.0.1364 985K 400K 611K 922K 638K 2,908K
Firefox 19.0 457K 392K 255K 419K 458K 1,167K
IE 8.0 20K 31K 15K 62K 23K 95K
IE 9.0 363K 159K 246K 365K 223K 929K
Opera 12.14 518K 410K 300K 560K 511K 1,366K
Chrome 25.0.1364 985K 400K 611K 922K 638K 2,908K
Firefox 19.0 457K 392K 255K 419K 458K 1,167K
IE 8.0 20K 31K 15K 62K 23K 95K
IE 9.0 363K 159K 246K 365K 223K 929K
Opera 12.14 518K 410K 300K 560K 511K 1,366K
http://jsperf.com/dom-events
Скорость работы с событиями (вызовов в секунду)
UserAgent fire on/off
Proto jQuery Proto jQueryAndroid 4.0.4 2,565 662 1,530 1,955
Chrome 25.0.1364 128,277 28,647 69,639 94,823
Firefox 19.0 35,793 13,892 53,441 39,665
IE 8.0 5,389 4,691 5,032 10,384
IE 9.0 68,532 19,681 55,858 70,473
Opera 12.14 48,960 3,283 102,913 85,031
13 мар. 2013 г.
5 редко используемых функций underscore.js
- _.result(object, property) - получение значения поля/функции по имени (для поля возвращается его значение, для метода возвращается результат его выполнения)
- _.random([min=0], max) - целое случайное число в диапазоне [min, max] или [0, max]
- _.has(object, key) - безопасная проверка на hasOwnProperty (object.hasOwnProperty(key) может вернуть неверный результат в случае перекрытия hasOwnProperty, например так: var object = {hasOwnProperty: function() {return false;}})
- _.tap(object, interceptor) - эквивалент кода interceptor(object); return object; (для встраивания в call chain вызова функций, не поддерживающих chaining)
- _.compose(*functions) - композиция декораторов (иногда помогает развернуть иерархию вызовов типа a(b(c(x))))
6 февр. 2013 г.
JBoss AS 7.1.1 Final JSP Auto Deploy
Исправление для ошибки с редеплоем изменённых JSP в JBoss AS 7.1.1 Final (обсуждение на форуме)
24 янв. 2013 г.
Поддержка HTML5 draggable и contenteditable браузерами
На словах всё прекрасно (поддерживается всеми современными версиями браузеров, включая IE9), а на деле при попытке использовать эти возможности HTML5 даже в простеньком приложении сразу натыкаешься на, мягко говоря, "особенности реализации".
Подписаться на:
Сообщения (Atom)