Как стать автором
Обновить
0
0
Сергей Костевич @Setrino

Пользователь

Отправить сообщение

9 анти-паттернов, о которых должен знать каждый программист

Время на прочтение9 мин
Количество просмотров148K
В программировании самокритика – это умение распознать контрпродуктивные решения в дизайне, коде, процессах и поведении. Знание о вредных шаблонах решений полезно для программиста. В этой статье я опишу анти-паттерны, которые я встречал на своём личном опыте время от времени.

Некоторые из них напрямую или косвенно связаны с когнитивными искажениями человеческого сознания – в этих случаях я даю ссылки на соответствующие вики-статьи. Также интересен список известных когнитивных искажений.

1 Преждевременная оптимизация


В 97% случаев надо забыть об эффективности малых частей программы: преждевременная оптимизация – корень всех зол. Но в 3% случаев об оптимизации забывать не нужно.
Дональд Кнут

Хотя никогда зачастую лучше, чем прямо сейчас
Тим Питерс, Зен языка Python


Что это

Оптимизация, проводимая до того, как у вас есть вся информация, необходимая для принятия взвешенных решений по поводу того, где и как нужно её проводить.

Почему плохо

На практике сложно предсказать, где встретится узкое место. Попытки навести оптимизацию до получения эмпирических результатов приведут к усложнению кода и появлению ошибок, а пользы не принесут.

Как избежать

Сначала пишите чистый, читаемый, работающий код, используя известные и проверенные алгоритмы и инструменты. При необходимости используйте инструменты для профилирования для поиска узких мест. Полагайтесь на измерения, а не на догадки и предположения.
Читать дальше →
Всего голосов 117: ↑97 и ↓20+77
Комментарии123

10 анти-паттернов навигации в Android

Время на прочтение4 мин
Количество просмотров80K


В данной статье мы рассмотрим 10 анти-паттернов навигации в Android, которые допускают многие новички (и не только) в создании интерфейсов Android-приложений.

Читать дальше →
Всего голосов 116: ↑107 и ↓9+98
Комментарии26

Разговор с первыми клиентами

Время на прочтение5 мин
Количество просмотров8.2K


Сегодня хотим поделиться статьей от Белль Бет Купер (Belle Beth Cooper) – главный специалист по контенту в Buffer, сооснователь платформы аналитики Exist. Нам очень пригодились эти советы, надеемся, и вам будут полезны.

Создание ценного продукта требует получения ценного фидбэка. Тот, с кем вы говорите с самого начала, влияет на исход всей партии.

Несколько недель назад мы с ко-фаундером начали приватный бета-тест нашего второго продукта.
Первый продукт Exist был в публичной бэте почти год. Мы сделали много ошибок, благодаря которым многому научились. На этот раз, мы знаем, что будем делать иначе, чтобы в этот раз наделать свежих ошибок: ) Вот несколько уроков, которыми я хотел бы поделиться.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии2

Usability — один плагин Redmine, предоставляющий массу полезных мелочей. Часть вторая

Время на прочтение2 мин
Количество просмотров12K


Не так давно я написал статью про плагин, который позволяет здорово улучшить Redmine. На удивление, я получил массу писем с вопросами и благодарностями. Спасибо всем, кому понравился этот плагин. Все идеи и ошибки будут учтены или уже были учтены.

А сейчас я хочу рассказать о том, что еще полезного появилось в этом плагине, про что я не рассказывал в прошлый раз.

Продолжу перечислять преимущества, которые может предоставить плагин Usability, про предыдущие преимущества читайте в прошлой статье «Usability — один плагин Redmine, предоставляющий массу полезных мелочей».
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии4

Иконификация контента

Время на прочтение8 мин
Количество просмотров15K
img

В этой статье мы поговорим о концепции иконификации – размещения контента на странице и применении CSS для его трансформирования в упрощенное превью в виде значка. Давайте рассмотрим на примере. В этом демо показана иконификация на примере календаря. Чтобы развернуть месяц, нужно нажать на его значок.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии8

Три особенности JavaScript, о которых полезно знать каждому Java/C-разработчику

Время на прочтение9 мин
Количество просмотров49K


Иногда JavaScript может вводить разработчика в заблуждение, а иногда — доводить до белого каления из-за своей неполной консистентности. Есть в JavaScript некоторые вещи, которые только запутывают и сбивают с толку. Самые известные из них оператор with, неявные глобальные переменные и странное поведение при операции сравнения.

Пожалуй, вокруг JavaScript разгоралось больше всего споров в истории программирования. Помимо его недостатков (отчасти рассмотренных в новых спецификациях ECMAScript), большинство программистов недовольны следующими моментами:

  • DOM, который многие ошибочно считают эквивалентом самого языка JavaScript, обладает очень неудачным API.
  • Когда переходишь на JavaScript с языков С и Java, то попадаешь в ловушку синтаксиса, который устроен не так, как в императивных языках. Это очень часто приводит к багам и сильно раздражает.

В результате JavaScript обрёл довольно плохую репутацию, которой он, в общем-то, не заслуживает. И чаще всего это связано с тем, что многие разработчики переносят на JavaScript свой опыт работы на Java или С/С++. Здесь разобраны три наиболее трудных случая, демонстрирующих разницу в подходах между Java и JavaScript.
Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии36

3 катастрофы отзывчивого дизайна и как их избежать

Время на прочтение3 мин
Количество просмотров20K
img

Отзывчивый дизайн довольно востребован, так как он позволяют преподносить контент для большего количества устройств без необходимости разрабатывать отдельную версию сайта и без каких-либо негативных последствий в отношении других методов, таких как масштабирование и резиновые макеты.

В этой статье будет выделено 3 основные ошибки, которые допускают разработчики при работе с отзывчивым дизайном, и приведено несколько стратегий, как избежать этих ошибок.
Читать дальше →
Всего голосов 31: ↑17 и ↓14+3
Комментарии11

Загрузка и хранение фотографий в Web приложениях

Время на прочтение4 мин
Количество просмотров112K

Почему это важно?


На современных web сайтах объем картинок может составлять от 30% до 70% всего размера страницы. Например, объем изображений на Хабре обычно составляет несколько мегабайт.

размер фоток на странице

Большинство изображений в Web'e — это фотографии. Профильные фото в соц. сетях, альбом с телефона, профессиональные снимки и т.п. Правильная стратегия и инструменты для работы с фотографиями позволят сделать сайт быстрым для посетителей.
Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии83

Responsive design + Icon fonts = Adaptive icons

Время на прочтение8 мин
Количество просмотров23K
Привет, Хабр!

Сегодня поговорим об отзывчивых значках и парочке лайфхаков со шрифтовыми иконками.



Предыстория. О трендах

В последнее время все сильнее набирает обороты тренд «отзывчивого дизайна». Идея, заложенная в эту методологию, в режиме реального времени модифицируется, дополняется и обрастает новыми функциями. Я — не фанат трендов и моды как таковой, не сложилась у меня с ними взаимная любовь. Но в профессиональной сфере все иначе: здесь тренды правят бал, и выбросить их просто так не получается.
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии21

Очень тонкая и гибкая беспроводная клавиатура

Время на прочтение1 мин
Количество просмотров25K


Основанная выходцами из Кембриджа компания CSR собирается на выставке IFA 2013 показать прототип своей разработки — реально очень тонкую гибкую беспроводную клавиатуру. Её толщина заявлена создателями следующей — 0.49 мм.

Такие необычно тонкие размеры гаджета стали возможны, благодаря использованию двух других инструментов. Основой электронной логики клавиатуры стала плата, напечатанная при помощи проводниковой струйной технологии (Conductive Inkjet Technology), которая покрыта специальным силиконом, производства компании Atmel, поддерживающим передачу multi-touch прикосновений. Соединение клавиатуры с гаджетом осуществляется при помощи основанной на Bluetooth оригинальной сверхэкономичной технологии CSR Bluetooth Smart.
Узнать подробности
Всего голосов 13: ↑11 и ↓2+9
Комментарии5

Абстракции в компьютерном покере

Время на прочтение11 мин
Количество просмотров91K
image

Компьютерный покер является весьма нетривиальной задачей в первую очередь из-за громадного количества игровых состояний, которое настолько велико, что мечтать о непосредственном решении этой игры не приходится. Единственным способом хоть как-то научить машину играть в покер является переход к абстракции — уменьшенной копии покера, в которой близкие в стратегическом смысле ситуации исходной игры объединены воедино. Именно вопросам абстракций в покере и посвящена данная заметка.
Читать дальше →
Всего голосов 103: ↑94 и ↓9+85
Комментарии22

Демонстрация интерфейса Project Glass и раздача прототипов

Время на прочтение1 мин
Количество просмотров183K


Компания Google объявила о расширении программы предзаказов Glass Explorer Program. Получить экземпляр раньше срока теперь могут все «креативные личности», проживающие в США. Нужно рассказать в Google+ и Twitter о том, каким способом вы хотели бы использовать футуристичный гаджет, вставить хэштег #ifihadglass и отправить в Google заявку объёмом не более 50 слов. Подробнее см. в FAQ и официальные условия.
Читать дальше →
Всего голосов 119: ↑112 и ↓7+105
Комментарии190

Расширение возможностей экрана блокировки в Android 4.2.x

Время на прочтение2 мин
Количество просмотров151K
Многие владельцы планшетов линейки Nexus или других моделей под управлением Android 4.2.x, заметили что разработчики Google довольно мало внимания уделили экрану блокировки. В данном посте хочу рассказать про один очень полезный инструмент, который позволит использовать экран блокировки более эффективно. Речь пойдет о DashClock Widget (GooglePlay).


Кому интересно — прошу под кат.
Читать дальше →
Всего голосов 65: ↑54 и ↓11+43
Комментарии39

Google впервые раскрыл данные о пользователях российским государственным органам

Время на прочтение1 мин
Количество просмотров104K
image

Как стало известно из отчета Google Transparency report за июль-декабь 2012 года, компания Google впервые раскрыла данные о своих пользователях по обращению российских государственных органов.

Всего за отчетный период компания получила от российских госорганов 97 запросов на раскрытие данных о 123 пользователях. Google полностью или частично удовлетворила 1% запросов. С января 2011 г. по июнь 2012 г. компания получила 158 запросов из России о 170 пользователях, и не удовлетворила ни одного из них. Стоит заметить, что ранее статистику по России Google не публиковала.
Читать дальше →
Всего голосов 77: ↑70 и ↓7+63
Комментарии140

Компания Epson представила 0,48-дюймовый дисплей с разрешением 1024*768 пикселей

Время на прочтение1 мин
Количество просмотров56K


Сейчас многие производители выпускают свои гаджеты, оснащая их весьма качественными дисплеями. Это можно сказать практически о любой компании, которая производит и продает мобильные устройства, «таблетки», ноутбуки. К примеру, iPad может «похвастаться» дисплеем с 264 ppi (пикселов на дюйм), Google Nexus 10 оснащен дисплеем с 299 ppi. А что скажете о дисплее с 2667 ppi?

Читать дальше →
Всего голосов 40: ↑34 и ↓6+28
Комментарии50

Искусственный разум – принципиальная схема

Время на прочтение22 мин
Количество просмотров37K
image

В одном из предыдущих постов я доказывал, что создать искусственный разум (ИР) невозможно (здесь). Не отказываясь от прежнего мнения, хочу тем не менее рассмотреть вопрос о принципах работы того, что невозможно создать. По какому пути пойти человечеству, чтобы обмануть пускай не природу, но хотя бы самого себя – посчитать, что проблема создания ИР благополучно разрешена? На мой взгляд, по этому.
Оговорюсь, что все высказываемое ниже:
а) МНЕНИЕ,
б) мнение ЧАСТНОЕ,
в) частное мнение ДИЛЕТАНТА (специалиста в иной области, вышедшего на проблему ИР в ходе решения своих узкопрофессиональных задач).

О заставке: из мозга высовываются, наряду с механическими приспособлениями, не половые члены носорога, как вы могли подумать, а глаза улитки. Они символизируют сенсоры, которыми обладает ИР.
Читать дальше →
Всего голосов 34: ↑17 и ↓170
Комментарии63

Курсы этичного хакинга и тестирования на проникновение

Время на прочтение5 мин
Количество просмотров71K

Курсы этичного хакинга и тестирования на проникновение.


Если вы увлекаетесь информационной безопасностью и хотите усовершенствовать свои навыки в короткое время — предлагаем ознакомиться с обновленными программами обучения в области практической ИБ от Pentestit.

Разрабатывая уникальные по своему формату и методике обучения курсы этичного хакинга: «Zero Security: A» (начальная подготовка) и «Корпоративные лаборатории» (профессиональная подготовка), мы стараемся сделать обучение не только эффективными, но и удобными. Основное отличие программ обучения заключается в том, что первая рассчитана на базовую подготовку в области этичного хакинга, а вторая — на профессиональную подготовку не только этичного хакинга, но и построения эффективных систем ИБ. В любом случае, даже опытные специалисты, посетившие первую программу, открывают для себя что-то новое, не говоря уже о «Корпоративных лабораториях», включающих материал, по уровню сравнимый с докладами на профессиональных хакерских конференциях. Кроме этого, каждый набор пополняется новым материалом, что позволяет передать специалистам, проходящим обучения, наиболее актуальную на момент обучения информацию.

Уникальность программ обучения заключается в симбиозе формата обучения (полностью дистанционное, не требующее отрыва от работы и учебы), качества материала и специализированных ресурсов, на которых производится обучение.


Читать дальше →
Всего голосов 58: ↑49 и ↓9+40
Комментарии17

Как тактильные интерфейсы изменят наши гаджеты

Время на прочтение6 мин
Количество просмотров15K


Обратная тактильная связь присутствует в гаджетах уже весьма продолжительное время. Чаще всего она представлена в смартфонах и джойстиках игровых приставок в форме «виброзвонков» и ответной вибрации в ответ на действия пользователя. Дублирование входящих вызовов, напоминания и дрожание при стрельбе и взрывах, вот наиболее распространённые варианты использования тактильной функции. И подавляющее большинство пользователей не представляет себе иных способов применения этого канала связи.

Однако существует несколько направлений использования этого метода взаимодействия и получения информации от устройств. Точнее, этих направлений три. И их широкое применение в массовой электронике даст пользователям качественно новый опыт использования привычных, казалось бы, гаджетов. Это ознаменует начало нового этапа в развитии потребительских устройств, метко названного «неосенсорной эрой».

Первый способ применения обратной тактильной связи — расширение спектра тактильных ощущений от использования гаджетов. Второй способ — передача специфической шаблонной информации. Третий способ — общение. Рассмотрим каждый из них подробнее.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии10

Локализация приложений для китайского рынка

Время на прочтение5 мин
Количество просмотров41K
Собственно, ни для кого не секрет, что рынок КНР (а еще и Гонконга и Тайваня) — мечта для любого игропроизводителя. Учитывая азарт китайцев, их внушаемость и распространенность мобильных телефонов среди населения (а также количество абонентов), удачный вход на китайский рынок может принести огромную прибыль.

В этой публикации я постараюсь описать весь этот трудоемкий путь, а так же основные подводные камни, могущие встретиться на этом пути. Добро пожаловать под кат.


Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии29

Термостат Nest стал еще более умным

Время на прочтение2 мин
Количество просмотров19K


Не так давно на Хабре публиковалась новость о том, что корпорация Google, купившая компанию-производителя умного термостата Nest за несколько миллиардов долларов, открыла API устройства для сторонних разработчиков. Сделано это было с целью создания разветвленной экосистемы приложений и повышения совместимости Nest с другими устройствами.

Судя по всему, открытый API действительно способствовал развиитию функциональности NEST в правильном направлении. На днях компания заявила о добавлении поддержки сразу нескольких устройств, включая централизованные системы управления домом и приборами от Control4, Crestron, RTI и URC.

Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии12
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность