Pull to refresh
0
0
Александр @abbaerro

User

Send message

Что Java 8 нам готовит

Reading time4 min
Views58K
Пройдемся по новинкам и покодируем по-новому.

Итак, начнем по списку.

Допустим, имеется список.
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);


Теперь вспомним, как мы итерировали в старые времена:
for (int i = 0; i < numbers.size(); i++){
 System.out.println(numbers.get(i));
}


Все здорово, но уж очень легко оступиться и поставить <= вместо < или начать с 1 вместо 0. В вышеприведенном коде мы полностью контролируем механику, мы держим в голове все движущие части. Это хорошо во многих случаях, и никто у нас этого не отобрал в Java 5, только добавили сахарку.
Читать дальше →
Total votes 79: ↑59 and ↓20+39
Comments147

Что такое IT в крупном инвестиционном банке

Reading time5 min
Views72K


Поиграем в ассоциации. IT в громадном инвестиционном банке – что приходит на ум? Строгий контроль над процессом разработки? Куча умных людей, знающих чем фьючерсы отличаются от форвардов? Команды, с легкостью пишущие многопоточный и защищённый код? Или, может быть, месье – пессимист и думает, что «там все как у всех»?

Я последние четыре года проработал на банки. Один год на Credit Suisse, офшорно из России с командировками в Лондонский офис, и 3 года – на Citigroup, живя в Нью-Йорке. И вот что я вам скажу: IT в банках – это интеллектуальное гетто, со всеми своими минусами и…минусами. Там встречаются очень умные ребята, крутые команды, но их значительно меньше чем в среднем по индустрии, а основная же масса работников – это зомби, производящие очень плохой код и затем костыли и припарки к нему.

Как же так получилось? Давайте разбираться. План простой: начнем с очевидных вещей, которые так сильно выделяют финансовую индустрию от всех других, и посмотрим, к чему это привело в итоге.

Читать дальше →
Total votes 116: ↑114 and ↓2+112
Comments130

ГОСТ по юзабилити

Reading time4 min
Views58K
Через неделю на всей территории России вступит в действие национальный стандарт по юзабитили ГОСТ Р ИСО 9241-210-2012 «Эргономика взаимодействия человек-система. Часть 210. Человеко-ориентированное проектирование интерактивных систем».
Эргономика? Фи, это не то! Юзабилити шире эргономики, скажете вы.
Да, понятие «юзабилити» включает в себя эргономику. Но подождите: как они определяют «человеко-ориентированное проектирование», о котором стандарт?

Человеко-ориентированное проектирование (human-centred design) — способ разработки интерактивных систем, направленный на создание пригодных в использовании и полезных систем…

А вот и юзабилити! «Пригодность использования» — не совсем ясная фраза, но именно так они переводят слово «usability». Наверно, когда придёт всеобщий к… минимализм, тогда ГОСТ по юзабилити будет называться «ГОСТ по юзабилити». Но пока так.

Хочу вкратце рассказать, почему этот документ — не пустой звук. Пойдём по порядку.

1. Задачи документа


Кому он нужен?
  • Руководителям — показать место человеческого фактора и эргономики в процессе проектирования.
  • UX-специалистам — рассказать, как происходит проектирование, и каково их участие в этом процессе.
Читать дальше →
Total votes 68: ↑60 and ↓8+52
Comments23

Разбираем интерфейсные детали-ошибки на примере одного банковского клиента

Reading time8 min
Views74K
Время изменилось. Теперь в одиночку можно написать приложение для миллионов человек. Не нужно думать ни о хостинге, ни о дистрибуции, ни о масштабируемости — облака сделают всё за вас.

Теперь один человек может влиять на миллионы. А значит, тем сильнее бремя ответственности за собственные действия и за выпускаемое качество. Метро в бедные послевоенные годы делалось таким помпезным и «дворцовым» не только ради хвастовства, а чтобы миллионы простых людей каждый день развивали вкус.

Стоит сейчас какому-нибудь «Энгри бёрдз» написать «2-е птицы», и все молодое поколение будет неправильно наращивать окончания у числительных (на самом деле, наращиваются только порядковые числительные: «2-й дом», «1-му победителю», но «2 птицы»).

Поэтому любой уважающий себя клиентский программист давно должен прочитать Тафти, Чихольда, Раскина и Мильчина. Даже если у вас есть дизайнер и редактор в компании. Потому что и он иногда может нести чушь (всё зависит от квалификации). Или, наоборот, чтобы правильно следовать гайдлайнам и продолжать развивать приложение в едином стиле.

Поговорим сегодня о внимании к деталям на одном практическом примере (будет много картинок).

Читать дальше →
Total votes 210: ↑157 and ↓53+104
Comments183

Оптимизация запросов. Основы EXPLAIN в PostgreSQL (часть 2)

Reading time4 min
Views147K

Подолжаю публиковать авторскую переработку Understanding EXPLAIN от Guillaume Lelarge.
Ещё раз обращу внимание, что часть информации для краткости опущено, так что настоятельно рекомендую ознакомиться с оригиналом.
Предыдущие части:

Часть 1
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments5

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю № 84 (16 — 23 ноября 2013)

Reading time6 min
Views33K
Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю № 84 (16 — 23 ноября 2013)


Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments5

Список бесплатных DNS-сервисов

Reading time2 min
Views289K
Обновляю 4-летний список бесплатных сервисов для управления доменами

Primary + Secondary
Сервис Кол-во NS Кол-во доменов Типы записей TTL Доп. фичи
pdd.yandex.ru 2 50 AAAA и SRV + Есть API
cloudflare.com 2 неограниченное AAAA, SRV, SPF, LOC +
2ns.info 4 неограниченное AAAA и SRV + Есть экспорт. Показывает регистратора, дату регистрации домена, дату окончания регистрации, тИЦ. By leonid239
dns.he.net 5 50 все + NS доступны по IPv6. Свой DDNS-сервис
www.netbreeze.net/dns 3 1 AAAA и SRV + Есть API
entrydns.net 3 неограниченное AAAA и SRV + Есть свой DDNS-сервис, REST-api
Читать дальше →
Total votes 113: ↑109 and ↓4+105
Comments75

Что делает хорошего программиста хорошим?

Reading time5 min
Views47K
Я работал со многими программистами на протяжении долгих лет — некоторые из них были очень яркими, а некоторые — определенно «никакими». Недавно я имел удовольствие работать с несколькими высококвалифицированными специалистами, так что я потратил немного времени в размышлениях, чем же я восхищаюсь в них. Что делает хорошего программиста таким хорошим, а плохого — таким плохим? Или, немного коверкая русский язык, что делает хорошего программиста хорошим?
Читать дальше →
Total votes 81: ↑61 and ↓20+41
Comments56

Продающий дизайн интернет-магазина. Часть 3. Дизайн элементов

Reading time14 min
Views66K
Третья часть статьи из цикла «Продающий дизайн интернет-магазина». Для тех, кто пропустил первую и вторую, их можно прочитать тут: «Продающий дизайн интернет-магазина. Часть 1. Аналитика» и «Продающий дизайн интернет-магазина. Часть 2. Элементы интерфейса».

Страница товара


Попав на страницу товара, человек должен получить максимум информации о нем. Здесь не работает правило «краткость – сестра таланта». Так как мы имеем дело с онлайн магазином, то наш покупатель лишён возможности увидеть товар вживую, поэтому мы и должны предоставить ему максимум имеющейся у нас информации: детальное описание, технические характеристики, качественные фотографии, отзывы, видео или 3D-обзор. Отзывы для товаров, кстати, изобрел Амазон, внес социальность на сайт, сильно увеличив тем самым конверсию и продажи.

Расположение элементов на странице. Единой схемы расположения не существует, иначе все магазины были бы на одно лицо. Однако стоит придерживаться определенных правил на странице продукта: что более важно, а что менее, что выделять в первую очередь, а что оставить на втором плане и т.д. Поговорим об этом поподробнее.

image
Читать дальше →
Total votes 56: ↑44 and ↓12+32
Comments35

Система мониторинга OpenNMS

Reading time8 min
Views64K
image

Ни в малейшей степени не желаю показаться непатриотичным, но исторически сложилось так, что при выборе корпоративной системы мониторинга сетевой инфраструктуры у нас на предприятии победила OpenNMS, сместив с этой должности бабушку Cacti и обогнав земляка-Zabbix. Сравнительный анализ Open Source систем мониторинга не входит в мои планы, поэтому просто в общих чертах расскажу об OpenNMS, благо на Хабре о ней не писали и вообще информации о ней немного.
Восстановим равновесие
Total votes 20: ↑20 and ↓0+20
Comments23

Путь от идеи до макета. Размышляя о концепции продукта

Reading time13 min
Views28K
image

Я пишу эту статью на берегу моря, под музыку композитора Брайана Крэйна, вдали от московского офиса, где ведутся работы над новыми проектами. В отпуске у меня появилось немного времени, чтобы поделиться накопленным опытом.

Моя основная профессия связана с дизайном и проектированием интерфейсов для веб-приложений, но я также погружен в сферу формирования самого продукта от идеи до конечной реализации. При проектировании у меня появилось понимание того, как должен складываться процесс формирования продукта. Это не догма, а мое видение. Этот процесс можно сравнить с созданием картины. С каждым мазком полотно все больше детализируется, появляются очертания и красочные оттенки. Чем дольше художник работает, тем детальнее и более законченной становится картина.
Читать дальше →
Total votes 46: ↑35 and ↓11+24
Comments11

Учебное пособие по кэшированию, часть 1

Reading time5 min
Views100K
Довольно подробное и интересное изложение материала, касающегося кэша и его использования. Часть 2.

Автор, Mark Nottingham, — признанный эксперт в области HTTP-протокола и веб-кэширования. Является председателем IETF HTTPbis Working Group. Принимал участие в редактировании HTTP/1.1, part. 6: Caching. В настоящий момент участвует в разработке HTTP/2.0.

Текст распространяется под лицензией Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.

От переводчика: об опечатках и неточностях просьба сообщать в личку. Спасибо.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments17

Обновился Chrome DevTools: эмуляция разных экранов и тестирование приложений на устройствах с десктопа

Reading time1 min
Views39K
Обновились бета-ветки Chrome для десктопа и для Android, привнеся несколько интересных «фич» Chrome DevTools, предназначенных для тестирования мобильных приложений и сайтов.

Первая — это эмуляция разных физических экранов в Chrome. Из новой вкладки Emulation можно будет выбрать предустановленное устройство и приложение будет показано с параметрами его экрана — как показано на примере ниже. Параметры эмуляции экрана, вроде его разрешения, полностью редактируемы:

image
Узнать подробности
Total votes 37: ↑35 and ↓2+33
Comments19

Отчёт о запуске программ на компьютерах пользователей

Reading time28 min
Views68K
Всем привет!
Отчёт о том, что запускает пользователь на своём компьютере, крайне важен. С многих точек зрения. Особенно с точки зрения информационной безопасности.
Информация о запуске программ на компьютерах пользователей храниться в журнале безопасности. Конечно, рассматривается среда Windows. В Инете готового решения не нашёл, поэтому сделал свою реализацию.
Скрипт запускается на сервере. На выходе имеем набор файлов с отчётами о запуске программ.
Картинка для привлечения внимания:

Реализация
Total votes 56: ↑37 and ↓19+18
Comments51

Настольные игры: во что играют в IT-офисах в этом году

Reading time7 min
Views59K


Привет!
Так получилось, что я здесь весь год рассказываю вам про работу Мосигры изнутри, а потом в начале декабря начинаю показывать сами игры. Знаю, вы уже ищете подарки. Так вот, заходите внутрь за играми и парой историй. Про то, как не надо выбирать подарки IT-специалистам, инженерную идею с Тетрисом, IT-девушек и подарки им, весёлого подводника и кучу других штук.

Ну и за традиционной уже хабраскидкой, конечно. А потом — расскажите про свою любимую настолку в комментариях и посмотрите, что советуют другие хабражители.
Читать дальше →
Total votes 57: ↑46 and ↓11+35
Comments134

Библиотека Header2ActionBar для Android

Reading time8 min
Views11K

Библиотека Header2ActionBar для Android



(демо для привлечения внимания)


Вы, наверное, уже видели похожее в приложениях от Google (Play Музыка, Google Пресса) и, возможно, каких-либо других. Для этих целей уже довольно давно существует библиотека от ManuelPeinadoFadingActionBar, которая прекрасно выполняет свою задачу, но к сожалению, имеет два «фатальных» недостатка.

Второй из них описан как известная проблема:
Known Issues

There is an important issue with the library and ListViews. More specifically, things don't work quite right when the activity is re-created due to a configuration change. So, unless you handle configuration changes yourself (or your activity is portrait/landscape only), I strongly suggest you stick to having your content in a ScrollView until a solution to this issue is found.


Стараясь исправить этот недостаток, я решил написать свою реализацию, тем самым устранив и оба недостатка :)


Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments24

Kindle Fire HDX — доступный планшет от Amazon

Reading time11 min
Views60K
В 2011 году Amazon встряхнула планшетный рынок, выпустив 7-дюймовый Kindle Fire за $200, в то время как конкуренты предлагали аналогичные по характеристикам модели намного дороже. Спустя год Amazon снова всех удивила, выпустив сразу два новых планшета: Kindle Fire HD и Kindle Fire HD 8.9. При стоимости в $200 и $300 они имели достаточно мощную начинку по тем меркам. Теперь история повторилась вновь, но уже с Kindle Fire HDX в главной роли. Нельзя сказать, что произошла революция, но компания предложила устройства с топовыми характеристиками по цене бюджетных планшетов.



Откуда берётся такая относительно небольшая цена? Дело в том, что интернет-магазин Amazon продает устройства «по себестоимости», лишь покрываются расходы на их изготовление. Агрессивная ценовая политика способствует выполнению главной цели компании: чтобы как можно больше планшетов поступило пользователям, являющимся потенциальными покупателями онлайн-контента Amazon — от игр и книг до видео.
«Мы хотим зарабатывать деньги, когда люди используют наши устройства, а не когда они их покупают»,— говорит Джеффри Беезос (глава и основатель интернет-компании).
Читать дальше →
Total votes 52: ↑36 and ↓16+20
Comments30

Идентификаторы для инвентаризации ИТ оборудования это легко и просто

Reading time10 min
Views189K
Доброго дня почтенной публике.

Немалая часть моей работы — инвентарный учет оборудования. Я занимаюсь этим уже много лет и во многих компаниях, занимаюсь достаточно успешно, поэтому могу поделиться тем, как нужно делать первые шаги к тому, чтобы этот мутный процесс не превращался в головную боль для человека, которому его поручили.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments94

Sensu — фреймворк для мониторинга

Reading time8 min
Views41K


Немного истории

В 2011 году в DevOps-среде возникло движение, объединившееся под хештегом #monitoringsucks, и критиковавшее существующие системы мониторинга за отсутствие гибкости. Что именно их не устраивало — прекрасно иллюстрирует эта презентация.
Если вкратце — хочется людям некоего стандарта API для взаимодействия между компонентами мониторинга, ну и появления самих этих компонент, чтоб из них строить гибкий и умный мониторинг.

Итогом этой волны недовольства стали массовые обсуждения проблем и привлечение внимания к интересным утилитам типа Sensu и Riemann.

В 2013 году хештег в сообществе сменился — теперь это #monitoringlove. Произошло это благодаря развитию opensource-утилит для мониторинга.

Из новых утилит наибольший интерес представляет Sensu. Riemann я не стал всерьез рассматривать, поскольку на данный момент у него нет никаких средств для обеспечения отказоустойчивости, да и сама идея писать конфиг на Clojure мне не сильно нравится.

Именно о Sensu я и расскажу в этой статье, опишу базовые принципы работы и приведу пример решения типичной задачи мониторинга.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments26

Information

Rating
Does not participate
Registered
Activity