Как стать автором
Обновить
0
Станислав Головин @listenerread⁠-⁠only

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

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

Windows 8: Написание многопоточных приложений для магазина Windows с помощью Intel® Threading Building Blocks

Время на прочтение4 мин
Количество просмотров9K
Как известно, в программном интерфейсе приложений для магазина Windows (Windows Store apps) отсутствуют многие функции работы с потоками, начиная с CreateThread() и заканчивая работой с TLS ключами. И это отличный повод перейти от параллелизма, основанного на системно-зависимых потоках к параллелизму, основанному на задачах. Данный пост излагает пошаговую инструкцию о том, как написать простейший многопоточный пример, который проходит аттестацию для магазина Windows (Windows App Certification Kit validation) и, гипотетически, может быть масштабирован до игрушек космического масштаба. А поскольку используется кроссплатформенная библиотека Intel Threading Building Blocks (Intel TBB, TBB, threadingbuildingblocks.org), то вычислительная часть может быть легко перенесена на другие платформы, и задача будет заключаться только в том, чтобы нарисовать новый красивый графический интерфейс.
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии22

Бесплатные VM с Windows для тестирования сайтов на старых версиях IE

Время на прочтение1 мин
Количество просмотров150K
Microsoft уже несколько лет раздаёт бесплатные виртуальные машины с Windows XP, Vista и 7 для тестирования веб-сайтов на старых версиях браузера Internet Explorer.

Все образы укомплектованы соответствующей версией IE и апдейтами безопасности. Для XP установлены апдейты до октября 2012 года, для остальных — до марта 2011 года. В остальном — это чистая свежая инсталляция Windows без особенных модификаций. Образы в формате VHD можно загрузить в Microsoft Virtual PC или другой пакет виртуализации. Самораспаковывающиеся архивы RAR для удобства скачивания разбиты на части по 700 МБ.
Читать дальше →
Всего голосов 66: ↑53 и ↓13+40
Комментарии44

Подборка инструментов для создания веб-интерфейсов в стиле Metro

Время на прочтение1 мин
Количество просмотров65K
Представляю вашему вниманию подбору фреймворков, темплейтов, jquery-плагинов и иконок для создания интерфейсов в стиле Windows 8.

Читать дальше →
Всего голосов 95: ↑69 и ↓26+43
Комментарии55

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

Время на прочтение4 мин
Количество просмотров20K
Бывает, что Хабр прочитан, мировые новости изучены, новая книга не начата и хочется какой-нибудь качественной технической информации — заметок от программистов, ссылок на интересные новости от западных коллег и просто гиковских штук. Как быть в этом случае? Можно обратиться к западной технической блогосфере, к счастью, там есть из чего выбрать. Но и отечественная блогосфера с программистским и гиковским уклоном способна порадовать самого придирчивого читателя. Под катом собраны ссылки на самые любопытные (по мнению автора) блоги российских IT-деятелей. На Хабре уже было что-то похожее, но без описания и четкой тематики. Приведенные здесь блоги будут интересны скорее программистам.
Читать дальше →
Всего голосов 110: ↑76 и ↓34+42
Комментарии15

Ограничение проектирования систем на уровне сознания

Время на прочтение11 мин
Количество просмотров20K
Я рад приветствовать вас, дорогие читатели.

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

Скажу сразу — я не задаюсь целью мотивировать или призывать к каким-либо правилам эффективной работы, т.к. все слишком индивидуально, чтобы давать подобные советы, но я постараюсь обратить ваше внимание на некоторые, на мой взгляд, интересные детали, лежащие в основе принципов проектирования, которые заметил и осмыслил на собственном опыте. Отмечу также, что статья будет актуальна не только IT-шникам, но и абсолютно всем категориям читателей.
Читать дальше →
Всего голосов 128: ↑118 и ↓10+108
Комментарии96

Определение доминирующих цветов: Python и метод k-средних

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

Assorium

На Хабре публиковалось несколько статей с алгоритмами и скриптами для выбора доминирующих цветов на изображении: 1, 2, 3. В комментариях к тем статьям можно найти ссылки ещё на десяток подобных программ и сервисов. Но нет предела совершенству — и почему бы не рассмотреть способ, который кажется самым оптимальным? Речь идёт об использовании кластеризации методом k-средних (k-means).
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии17

Разработка через страдание

Время на прочтение6 мин
Количество просмотров55K
От переводчика:
Немало копий сломано в спорах о том, когда уместнее KISS, а когда DRY, когда лучше как можно быстрее и проще решить задачу любыми средствами, а когда стоит создавать красивые и универсальные абстракции. Натан Марц, автор популярного фреймворка Storm, используемого в Твиттере, предлагает свой вариант. Чтобы не создавать тонны бесполезного кода ради абстрактной универсальности и в то же время не позволять системе превращаться в кашу из костылей, он использует «разработку через страдание» (suffering oriented programming).



Однажды меня спросили: «Как ты решился пойти на такой страшный риск — писать Storm одновременно с запуском стартапа?» (Storm — фреймворк для распределённых вычислений в реальном времени). Да, пожалуй, со стороны создание такого крупного проекта для стартапа кажется крайне рискованным. Тем не менее, с моей точки зрения это вообще не было рискованным делом. Трудным, но не рискованным.

Я использую стиль разработки, который сильно уменьшает степень риска таких больших проектов, как Storm. Я называю этот стиль «разработкой через страдание». В двух словах: не занимайтесь реализацией технологий, от отсутствия которых вы не испытываете страданий. Этот совет применим как к большим, архитектурным решениям, так и к маленьким повседневным задачам. Разработка через страдание существенно уменьшает риск, гарантируя, что вы всегда работаете над чем-то важным, и что вы хорошо разобрались в предметной области, прежде чем вложить в решение много сил.

Я придумал такую мантру разработки: «Сначала сделай, чтобы было. Затем — чтобы было красиво. Затем — чтобы было быстро».
Читать дальше →
Всего голосов 101: ↑93 и ↓8+85
Комментарии64

Введение в HTML5 History API

Время на прочтение4 мин
Количество просмотров241K
До появления HTML5 единственное, что мы не могли контролировать и управлять (без перезагрузки контента или хаков с location.hash) — это история одного таба. С появлением HTML5 history API все изменилось — теперь мы можем гулять по истории (раньше тоже могли), добавлять элементы в историю, реагировать на переходы по истории и другие полезности. В этой статье мы рассмотрим HTML5 History API и напишем простой пример, иллюстрирующий его возможности.

Основные понятия и синтаксис


History API опирается на один DOM интерфейс — объект History. Каждый таб имеет уникальный объект History, который находится в window.history. History имеет несколько методов, событий и свойств, которыми мы можем управлять из JavaScript. Каждая страница таба(Document object) представляет собой объект коллекции History. Каждый элемент истории состоит из URL и/или объекта состояния (state object), может иметь заголовок (title), Document object, данные форм, позиция скролла и другую информацию, связанную со страницей.

Основные методы объекта History:
  1. window.history.length: Количество записей в текущей сессии истории
  2. window.history.state: Возвращает текущий объект истории
  3. window.history.go(n): Метод, позволяющий гулять по истории. В качестве аргумента передается смещение, относительно текущей позиции. Если передан 0, то будет обновлена текущая страница. Если индекс выходит за пределы истории, то ничего не произойдет.
  4. window.history.back(): Метод, идентичный вызову go(-1)
  5. window.history.forward(): Метод, идентичный вызову go(1)
  6. window.history.pushState(data, title [, url]): Добавляет элемент истории.
  7. window.history.replaceState(data, title [, url]): Обновляет текущий элемент истории
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии22

Фильтрация ложных соответствий между изображениями при помощи динамического графа соответствий

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

Многие современные алгоритмы компьютерного зрения строятся на основе детектирования и сопоставления особых точек визуальных образов. По этой теме было написано немало статей на хабре(например SURF, SIFT). Но в большинстве работ не уделяется должного вниманию такому важному этапу, как фильтрация ложных соответствий между изображениями. Чаще всего для этих целей применяют RANSAC-метод и на этом останавливаются. Но это не единственный подход для решения данной задачи.
Данная статья посвящена одному из альтернативных способов фильтрации ложных соответствий.
Читать дальше →
Всего голосов 73: ↑73 и ↓0+73
Комментарии23

Подборка полезного для любителей Twitter Bootstrap

Время на прочтение2 мин
Количество просмотров250K
В подборке сервисы, плагины, темы и другие полезности, облегчающие работу с Twitter Bootstrap.

Стилизация


BootSwatchr — быстрая стилизация Twitter Bootstrap.

Читать дальше →
Всего голосов 248: ↑243 и ↓5+238
Комментарии58

Внутренние тени в CSS

Время на прочтение2 мин
Количество просмотров371K
Обычные тени легко реализовать с помощью box-shadow или text-shadow. Но как быть, если необходимо сделать внутренние тени? В этой статье описывается, как сделать такие тени с помощью всего нескольких строчек кода.

Читать дальше →
Всего голосов 101: ↑88 и ↓13+75
Комментарии48
12 ...
7

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность