Pull to refresh
  • by relevance
  • by date
  • by rating

Евросоюз хочет убить «Большого брата» в зародыше

IT-companies
Правила Евросоюза относительно приватности граждан гораздо строже, чем в США. Правозащитники Старого света ещё раз доказали, что они не допустят того киберпанковского беспредела, который возможен, если поисковые системы продолжат тотальный сбор персональной информации.

Специальная рабочая группа Еврокомиссии опубликовала отчёт, из которого следует, что крупнейшие поисковые системы, в том числе Google, Yahoo и MSN, нарушают европейские законы по защите приватных данных. Они отслеживают поисковую историю отдельных пользователей и хранят её от 18 месяцев до бесконечности, тогда как в Европе максимальный срок хранения таких сведений ограничен 6 месяцами, после чего их нужно либо удалить, либо обезличить (это нормы Data Protection Directive).

Правозащитники подчёркивают, что поисковая история представляет собой «отпечаток личных интересов, связей и намерений гражданина». При этом столь ценные сведения легко доступны не только для рекламодателей, но и для спецслужб и силовых структур, что может привести к катастрофическим последствиям для человека.
Компания Google уже ответила на требования Евросоюза официальным разъяснением, что она первой среди всех поисковых систем якобы уже сделала поисковые логи полностью анонимными. Здесь «Большой брат» явно лукавит, потому что вся «анонимная» поисковая история пользователя доступна для просмотра через его Google-аккаунт, который не является анонимным.
Total votes 35: ↑34 and ↓1 +33
Views 1.5K
Comments 59

Калибровка монитора без аппаратного калибратора

Lumber room
Gamma 2.2На этой картинке не должно быть видно цветных областей. Чем отчётливее Вы их видите, тем дальше цветопередача Вашего монитора от нормальной. Если хотите это исправить, то эта заметка для Вас.

Сейчас на рынке мониторов царствуют модели с TN-матрицами, калибровать которые можно простым наклоном головы. Но даже на таких мониторах, не говоря уже о *VA/IPS, можно добиться терпимой цветопередачи, не используя аппаратные калибраторы. Этим же способом можно проверить гамма-кривые монитора при покупке.

Суть способа заключается в использовании программы ColorLineTest, также известной как CLTest. На проверку гамма кривых у Вас уйдёт около 30 секунд. За 5-10 минут можно добиться приемлемой цветопередачи. Подробные инструкции находятся в архиве с программой.

Ну а по завершении профилирования можете проверить результаты с помощью обоев от RealColor.ru.
Total votes 53: ↑40 and ↓13 +27
Views 16K
Comments 55

MS Doloto: оптимизация загрузки Ajax-приложений

Ajax *
В MSDN DevLabs выложили программу Doloto, предназначенную для оптимизации любых Ajax-приложений. В соответствии со своим названием, Doloto отсекает код до необходимого минимума, так что приложение быстрее загружается клиенту и быстрее начинает выполняться.

Программа анализирует исходники и выделяет тот фрагмент кода JavaScript, который непосредственно необходим для инициализации программы. Профилирование функций осуществляется на клиентской машине через локальный прокси-сервер http://localhost:8888 во время исполнения Ajax-приложения в браузере. При этом все «ненужные» функции помечаются метками (таймстампы). Прямо на клиентской машине генерируется оптимизированный код Ajax-приложения, в котором «ненужные» функции заменяются маленькими заглушками. Этот код потом будет загружаться в фоновом режиме или по мере необходимости, уже после инициализации основного скрипта. Оптимизированный код сохраняется на жёстком диске клиентского компьютера. Таким образом, можно оптимизировать чужие приложения, даже не имея доступа к их серверам, см. Doloto FAQ.

Программку протестировали на популярных Ajax-интерфейсах и получили впечатляющий результат.
Читать дальше →
Total votes 38: ↑32 and ↓6 +26
Views 990
Comments 25

Профилирование PHP-кода

PHP *
Профилирование PHP-кода

Рано или поздно каждый из нас сталкивается с унаследованным кодом и его оптимизацией. Дебаггер и профилировшик в такой ситуации — лучшие помощники программиста. У тех кто работает с PHP, благодаря Дерику Ретансу (Derick Rethans) есть хороший инструмент — xDebug. Информации касательно xDebug много даже в рунете, поэтому речь в этой статье пойдет не о нем.

Наткнувшись на упоминание о профилировщике для PHP я сразу подумал об xDebug ( о проприетарных инструментах от Zend я давно уже успел позабыть ), но на этот раз ошибся — речь пойдет об XHProf.
XHProf

Этот профилировшик был разработан специально для Facebook, а исходный код его был открыт в марте 2009 года.
Читать дальше →
Total votes 25: ↑21 and ↓4 +17
Views 32K
Comments 20

Visual Studio 2010: работа с новым профайлером

Visual Studio *
Translation
Мне уже довелось демонстрировать, как новая итоговая страница профайлера позволяет проще находить и исправлять проблемы производительности, но порой для поиска требуется больше усилий. В этот раз я углублюсь в своем рассказе в другую фичу VS2010, которая называется Function Details View (детали функции).

Снова для демонстрации я буду использовать приложение PeopleTrax, которое вы можете скачать с CodeBox. У меня есть отчет, который я собрал ранее используя функцию CPU Sampling в профайлере, в котором приложение сильно нагружает CPU (по крайне мере на одном ядре).
Читать дальше →
Total votes 73: ↑53 and ↓20 +33
Views 7.9K
Comments 22

Профилирование приложений в Visual Studio 2010

Visual Studio *
Сегодня мы будем замерять производительность нашего приложения с помощью Visual Studio Profiling Tool.

Visual Studio Profiling Tool позволяет разработчикам измерять, оценивать производительность приложения и кода. Эти инструменты полностью встроены в IDE, чтобы предоставить разработчику беспрерывный контроль.
В этом руководстве мы по шагам профилируем приложение PeopleTrax используя Sampling и Instrumentation методы профилирования, чтобы выявить проблемы в производительности приложения.

image

Много картинок.
Читать дальше →
Total votes 63: ↑48 and ↓15 +33
Views 43K
Comments 24

Работа с Tier Interaction Profiler ( TIP )

.NET *
Translation
Это малоизвестная функция входящая в состав Visual Studio 2010 Premium которой я хочу посвятить немного времени и познакомить вас с ней. Она полезна когда вы пытаетесь определить почему ваше приложение ASP.NET не работает с такой производительностью с которой должно было бы, и как построены запросы приложения к базе данных, улучшают ли они производительность или снижают.
Читать дальше →
Total votes 34: ↑26 and ↓8 +18
Views 1.8K
Comments 16

Профилирование python приложений

Python *
Краткая заметка с линками и примерами о профайлинге:
  1. производительности: hotshot или python profile/cProfile + визуализатор логов kcachegrind (есть порт под windows, аналог WinCacheGrind)
  2. использование памяти: dowser с web-интерфейсом

Читать дальше →
Total votes 39: ↑35 and ↓4 +31
Views 15K
Comments 22

Javascript и canvas в игре «Жизнь» Джона Конвея

JavaScript *
Напишем эту алгоритмическую игру [1] так, чтобы извлечь из неё максимальную образовательную пользу в области алгоритмов, языка Javascript, хорошего стиля программ, умения оптимизировать код. Центральным местом обсуждения будет не игра, а код, способы реализации, оптимизация.

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

Недавно проведённый на Хабре опрос [3] показал реальную картину — 20% программистов написали когда-либо её работающую реализацию, а порядка 10% о ней не слышали. Что ж, тем интереснее будет оставшимся 80% узнать, что можно извлечь из реализации игры.
Читать дальше →
Total votes 70: ↑61 and ↓9 +52
Views 18K
Comments 23

Веб-сайтам грозит штраф 50 тыс. евро за установку кнопки Facebook Like

Social networks and communities
Германия отличается даже от европейских соседей — в этой стране наиболее ревностно следят за соблюдением законов о защите приватных данных. Любые попытки внедрить отслеживающую технологию здесь могут наткнуться на судебный запрет. Немецкие домовладельцы заставляют Google удалять дома с фотографий Street View, снифферы в автомобилях Street View тоже впервые обнаружили именно в Германии. Даже функцию распознавания лиц на Facebook хотят поставить вне закона. А теперь в Германии нашли ещё одну онлайновую фичу, которая нарушает права граждан: это кнопка Facebook Like (Gefällt mir).
Читать дальше →
Total votes 97: ↑76 and ↓21 +55
Views 2.9K
Comments 197

Запоздалая оптимизация

Programming *
Translation
Вашему вниманию предлагается перевод статьи Дениса Форбса (Dennis Forbes) "The Sad Reality of Post-Mature Optimization". Превосходные иллюстрации также взяты из оригинальной статьи.

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

На каком этапе разработки пора обратить внимание на производительность? В какой момент оптимизация перестает быть преждевременной и становится своевременной?

Читать дальше →
Total votes 133: ↑121 and ↓12 +109
Views 7.2K
Comments 171

Вышел PhpStorm 3.0

PHP *
Доступна для загрузки новая версия PhpStorm — среды разработки для PHP от компании JetBrains. Закачка идет быстро и нас здесь хорошо знают — так что буду краток.

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

  • Анализ кода и поиск дубликатов помогут вам найти потенциальные ошибки и код низкого качества, рефакторинг — безопасно улучшить его
  • Диаграммы классов UML помогут охватить взглядом структуру проекта и семантическое представлений изменений — локальных или из VCS
  • Просмотр результатов профилирования c помощью Xdebug и Zend Debugger
  • Поддержка PhpUnit 3.6 и всех опций командной строки
  • CoffeeScript
  • Рекурсивная синхронизация папок и гибкая настройка исключений FTP/SFTP
  • Microsoft TFS, граф ревизий для git
  • Новый интерфейс для всех операционных систем

Подробности и картинки

Уже скоро: релиз WebStorm 3.0 — поддержка Node.JS, JSLint и JSTestDriver

Работайте с удовольствием!

P.S. Ошибки — в трекер, вопросы — в форум, работа над 3.0.1 уже идет!
Total votes 92: ↑90 and ↓2 +88
Views 3.9K
Comments 173

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

Designing and refactoring *
Translation
Является преждевременная оптимизация дорогой в ад? Или подход «потом исправим» превращает программистов из «специалистов» в презираемую всеми «школоту»?

Эти вопросы не имеют четких ответов, тем не менее, в этой статье я постараюсь описать мой собственный подход к производительности. Что я делаю для того, чтобы мои системы работали с приличной скоростью, но не нарушали прочих требований, таких как модульность, сопровождаемость и гибкость.
Читать дальше →
Total votes 81: ↑70 and ↓11 +59
Views 2K
Comments 26

Профилирование программ в QNX Momentics

Programming *
Sandbox

Общие сведения



QNX Momentics Professional Edition (PE) основанная на платформе Eclipse — это полнофункциональный и высокоинтегрированный профессиональный комплект разработчика, который содержит все необходимое для построения и оптимизации приложений для ОСРВ QNX Neutrino. Благодаря широкому набору удобных инструментов – от средств встраивания на процессорную плату до средств удаленной диагностики – комплект QNX Momentics PE обеспечивает единую, гибкую программную среду для всего цикла разработки.

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

В данном руководстве по шагам профилируем учебное, многопоточное приложение sy21 с помощью инструментов QNX System Profiler и QNX Application Profiler, для демонстрации возможностей средств профилирования в QNX Momentics.

Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Views 13K
Comments 4

Начала отладки и профилирования веб-приложений

Website development *
Sandbox
Tutorial

Вступление


Много существует статей на Хабре, описывающих интересные и сложные аспекты веб-разработки, но много существует читателей, которые, находясь в начале своей карьеры веб-разработчика, хотели бы видеть материал, который позволил бы сделать первый шаг от «PHP за 24 часа» до разработки на серьезном уровне, и я хотел бы поделиться своим опытом в этом деле.

Особенности веб-приложения делают его разделенным на две части: клиентскую и серверную. На стороне клиента работает код на JavaScript (может быть, где-то можно найти и VBScript, но мы, пожалуй, не будем рассматривать этот случай), на серверной же — много что, в принципе, но мы рассмотрим PHP, наиболее популярный язык для серверной части веб-приложений. Так же интересно было бы поговорить об отладке и профилировании Flash-приложений на клиентской стороне, но затронутая тема и так обширна, так что пока оставим это.

Так же можно отнести к задачам отладки клиентского кода анализ и валидацию HTML кода. Это, вроде бы, задача не совсем из области программирования, но также немаловажная.

Некоторые части рассмотренных задач уже рассматривались в других статьях, и я предоставил на них ссылки.
Читать дальше →
Total votes 32: ↑27 and ↓5 +22
Views 16K
Comments 26

PhpStorm 4: результат с первой попытки!

JetBrains corporate blog Website development *PHP *
Сделайте еще шаг к идеальной продуктивности ;)

image

Представляем вниманию хабрасообщества PhpStorm 4.0:

  • Полная поддержка PHP 5.4
  • Встроенный Code coverage для PHPUnit
  • Новые PHP code inspections
  • Сообщения PHP Code Sniffer прямо в редакторе
  • Встроенный Drupal-стиль
  • Лучшая в индустрии поддержка JavaScript (включая ECMAScript Harmony)

Читать дальше →
Total votes 102: ↑90 and ↓12 +78
Views 31K
Comments 225

Нормальное профилирование node.js приложений

Node.JS *

Предисловие


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

Поиски


Долгое время я обходился консервативными методами отладки в виде периодического вывода объёма используемой памяти и времени выполнения критических участков кода в консоль, но настал момент, когда необходимость наличия качественного инструмента встала очень остро.

Первым делом я решил посмотреть не оправился ли node-inspector, который после перехода на node.js 0.6.x перестал поддерживать профилирование CPU и Heap. Оказалось, что в новой версии node-inspector неработающий профайлинг окончательно исключён и теперь это просто debugger. Немного покопавшись в коде старой версии, мне всё же удалось завести профилирование CPU и Heap на node 0.8.x, однако это решение не было идеальным. Чтобы вывести его из состояния «поделки» необходимо было бы заменить устаревший интерфейс WebKit-консоли на современный, переписав приличное количество кода и исправить некоторые проблемы производительности. В целом, решение на основе консоли WebKit мне кажется очень не гибким, поэтому я бросил эту затею и продолжил поиски.

Вот оно


Читать дальше →
Total votes 31: ↑29 and ↓2 +27
Views 11K
Comments 11

Одержимость производительностью или опыт профилирования в виртуальной среде

Parallels corporate blog Website development *
Давайте будем откровенны: неэффективно работающее приложение у большинства разработчиков вызывает дискомфорт. Подчас погоня за производительностью имеет почти спортивную природу, не связанную с прямыми обязанностями. На хабре, как и в жизни многих из нас, найдется немало впечатляющих примеров побед над неэффективностью разного толка. В общем, хороший разработчик не понаслышке знаком с инструментами и техниками профилирования. В этой же статья я хотел бы рассмотреть процесс профилирования в виртуальной среде Parallels Desktop 9 для Mac и VMWare Fusion 5. Под катом ждут тесткейсы, разбор полетов и внутренности гипервизора в самом брутальном виде.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Views 13K
Comments 6

Полиция Чикаго составила список из 400 предполагаемых будущих преступников

Data Mining *
Американская полиция уже несколько лет экспериментирует с автоматической обработкой статистики о преступлениях. Например, в 2011 году в городе Санта-Крус (Калифорния) начали использовать в экспериментальном режиме программу предсказания преступлений. Там на базе статистики преступлений за последние несколько лет вычисляется частотность каждого типа преступлений в разных районах города — и соответствующим образом составляются маршруты для полицейских патрулей с указанием «горячих точек».



Полицейский отдел Чикаго вывел дата-майнинг на новый уровень — и объединил статистику с профилированием. Например, в прошлом году местная пресса писала о том, что полиция составила список наблюдения. В него внесены около 400 граждан, которые по профилю наиболее склонны совершить преступление в ближайшем будущем.
Читать дальше →
Total votes 52: ↑41 and ↓11 +30
Views 32K
Comments 75

Оптимизация для начинающих, или о пользе профилирования

PHP *Algorithms *
Попалась мне задача написать на PHP оптимальный алгоритм вставки нового значения в упорядоченный массив. Причем аргументировано доказать, что именно этот алгоритм лучший. Для этого предлагалось написать три варианта и выбрать из них лучший. Конечно же я знаю, что лучший метод поиска — бинарный, но раз сказали доказать, что он лучший, так и быть, напишу еще два. С таким настроем и уверенностью в будущем результате я и принялся кодить.

Что из этого получилось приглашаю начинающих программистов почитать, а опытных обсудить.
Читать дальше →
Total votes 31: ↑19 and ↓12 +7
Views 16K
Comments 43