Pull to refresh
61
0
Сергей Пугачёв @WizardBox

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

Send message

Использование V8, заключение

Reading time4 min
Views2.7K
Использование V8, заключение

Часть 3 находится здесь: habrahabr.ru/blogs/development/72765

Часть 2 находится здесь: habrahabr.ru/blogs/development/72592

Часть 1 находится здесь: habrahabr.ru/blogs/development/72474

Читать дальше →

Текст любой ценой: WCBFF и DOC

Reading time9 min
Views29K
Несколько позже, чем хотелось, но продолжаем наш разговор о получении текста из разных форматов данных. Мы с вами уже познакомились с тем, как работать с изначально XML-base файлами (docx и odt), прочитали текст из pdf, преобразовали содержимое rtf в plain-text. Теперь перейдём в вкусненькому да сладенькому — формату DOC.
Читать дальше →

Использование V8

Reading time9 min
Views28K
V8 — это движок JavaScript от Google, который используется в браузере Chrome. Он быстрый и доступен в исходных кодах (С++) для Linux (точнее для gcc) и под Windows.

В свете роста популярности использования V8 я решил поделиться своим (годичным) опытом его использования на платформе Windows в качестве серверного скриптового движка.

Часть 1. Введение и простейшая программа, использующая V8.

Читать дальше →

Структура байт-кода виртуальной машины Java

Reading time4 min
Views27K
В последнее время на Хабре появились статьи которые затрагивают манипуляцию байт-кода. Что заставило меня опубликовать следую статью посвященную его структуре.

У платформы java имеется две особенности. Для обеспечения кроссплатформенности программа сначала компилируется в промежуточный язык низкого уровня — байт-код. Вторая особенность загрузка исполняемых классов происходит с помощью расширяемых classloader. Это механизм обеспечивает большую гибкость и позволяет модифицировать исполняемый код при загрузке, создавать и подгружать новые классы во время выполнения программы.

Такая техника широко применяется для реализации AOP, создания тестовых фреймворков, ORM. Особенно хочется отметить terracotta, продукт с красивой идеей кластеризации jvm и на всю катушку использующей модификации байт-кода. Эта заметка будет посвящена обзору структуры байт-кода, первой части этой сильной связки.
Читать дальше →

dklab_multiplexor: постоянное Javascript-соединение с сервером в условиях сотен тысяч онлайн-клиентов

Reading time4 min
Views6.8K
Dklab_multiplexor — это инструмент, который позволяет держать одновременно сотни тысяч долгоживущих открытых HTTP-соединений с сервером. Например, если на вашем сайте находится одновременно несколько сот тысяч посетителей, каждый из них может быть связан с сервером постоянным соединением, установленным из JavaScript. Это например, полезно при организации онлайн-чатов или мгновенных уведомлений.

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

Зачем это нужно?


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

Данную задачу можно решить двумя способами.
  1. Неправильный способ. Раз в 10 секунд делать из JavaScript запрос на сервер для проверки, не появилось ли новых сообщений. Этот метод не работает, если на сайте одновременно находится очень большое количество пользователей, т.к. нагрузка на сервер растет слишком быстро. Кроме того, потребление трафика пользователем также оказывается крайне высоким.
  2. Правильный способ. Устанавливать постоянное и длительное соединение с сервером, ожидая поступления данных через него. Если сообщений нет, соединение просто держится открытым на протяжение нескольких минут. Если соединение по каким-либо причинам закрылось, оно вновь открывается. В итоге и трафика потребляется мало, и нагрузка на сервер оказывается невелика. Так работает GMail, Мой Круг и т. д., и именно на этом принципе построен dklab_multiplexor.
+-------------------+                    ------------------ 
| Сервер обработки  |                   |                  |   <===WAIT=== Клиент A
| и базы данных     |  ======IN=======> |   Мультиплексор  |   <===WAIT=== Клиент B
| (e.g Apache + PHP |                   |                  |   <===WAIT=== Клиент C
+-------------------+                    ------------------ 
(указаны направления установления TCP-соединений).
Читать дальше →

Data Extracting SDK: Часть 1

Reading time4 min
Views1.6K
Data Extracting SDK написан на .NET Framework 3.5 и содержит средства для извлечения и анализа данных из текстовых файлов и web-ресурсов. Прислушиваясь к результатам опроса выкладываю первую версию Data Extracting SDK CTP (Community Technical Preview) на всеобщее обозрение.

Основные возможности:
  • Html Processing — загрузка, анализ html
  • DOM анализ — получение ссылок, изображений, таблиц
  • извлечение ссылок, фильтры, возможность написания своих фильтром, глубокий анализ сайта
  • извлечение электронных адресов, телефонов, urls и т.д.
  • анализ контента сайта (количество элементов, плотность слов)
  • возможности для SEO анализа
Остановимся на основных возможностях SDK.
Читать дальше →

Как говорил Кэлвин Кулидж

Reading time1 min
Views11K
image

Nothing in this world can take the place of persistence.

Talent will not; nothing is more common than unsuccessful people with talent. Genius will not; unrewarded genius is almost a proverb. Education will not; the world is full of educated derelicts.

Persistence and determination alone are omnipotent. The slogan «press on» has solved and always will solve the problems of the human race.

Или по русски:

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

Всемогущи лишь упорство и настойчивость. Девиз «поднажми / не сдавайся» решал и всегда будет решать проблемы человечества.

(с) Кэлвин Кулидж, 30-ый президент США

Первоклассным специалистом может стать каждый!

Reading time3 min
Views9.6K
Вы думаете лучшими специалистами в своем деле становятся талантливые и гениальные люди? Нет, быть лучшим — это возможность каждого нормального человека! И у тебя, Хаброжитель, эта возможность тоже есть!
Читать дальше →

Интересный способ защиты от ботов

Reading time1 min
Views14K
Наткнулся тут недавно на одном сайте на способ защиты от ботов без использования каптчи и javascript.
Все очень просто — достаточно добавить скрытое поле с символом кодированным в HTML сущность (например &amp;copy; &amp;#151; и т. д.). Дело в том что браузер найдя такой символ преобразует его перед отправкой в обычный, а робот использующий парсер форм так и отправить закодированным (причем у меня есть свой парсер форм и он сделал бы именно так). При проверки формы достаточно просто посмотреть длину строки в этом поле. Если отправлял человек то она будет равна числу символов в строке, а если нет значительно больше.
Так что такое решение пусть и не обеспечивает серьезной защиты но вполне может применяться в тех случаях если что то более сложное использовать нельзя.

P. S. пример
P. P. S. Оказывается у меня тут в черновиках статья лежит про методы защиты от ботов и их обходы, стоит дописать?

XMLVM, сумасшедшие возможности

Reading time1 min
Views1.6K
image

Целью XMLVM — предоставить гибкий и расширяемый кросс-компилятор. В отличии от кросс-компиляторов на уровне кода, XMLVM кросс-компилирует байт-кодовые инструкции с Sun Microsystem's виртуальных машин и Microsoft CLR.
Читать дальше →

Умная адресная строка

Reading time1 min
Views3.3K
Обычная адресная строка:
image
Но иногда перейдя по такой ссылке возникает потребность попасть на уровень выше.

К примеру на главную:
image
или на любой другой уровень:
image

Идею нужно реализовать при клике с зажатой клавишей alt, так, что бы при комбинации сtrl+alt+клик ссылка открывалась в новой вкладке. А без комбинаций – оставалась привычная всеми функция редактирования адреса вручную.

UPD: я не программист, просто возникла такая идея. Реализовать, кроме как на примере картинками, я не могу.
UPD2: отличный плагин для firefox, спасибо Elanc.
UPD3: в Safari Cmd+клик по заголовку браузера Snobit

Поиск нечетких дубликатов. Алгоритм шинглов для веб-документов

Reading time4 min
Views45K
Ранее я показал элементарную реализацию алгоритма шинглов, позволяющую определять, являются ли два документа почти дубликатами или нет. В этот раз я поясню реализацию алгоритма, описанную Зеленковым  Ю. Г. и Сегаловичем И.В. в публикации «Сравнительный анализ методов определения нечетких дубликатов для Web-документов».
Этим я начинаю серию из трех теоретических статей, в которых постараюсь доступным языком описать принцип алгоритмов шинглов, супершинглов и мегашинглов для сравнение веб-документов.
Читать дальше →

Что нового в Expression Encoder 3 SDK?

Reading time4 min
Views902

Поддержка кодирования на лету.


Многие из нас ждали этого момента и теперь мы с радостью можем видеть, что 3-я версия имеет полную поддержку Live режима приложения через объектную модель.
// Создаем новый объект LiveJob для начала вещания файла
using (LiveJob job = new LiveJob())
{
  // Создаем новый источник по переданному адресу
  LiveFileSource fileSource = job.AddFileSource(@"C:\myvideo.wmv");

  // Устанавливаем источнику режим зацикливания, после окончания проигрывания
  fileSource.PlaybackMode = FileSourcePlaybackMode.Loop;

  // Делаем источник активным
  job.ActivateSource(fileSource);


* This source code was highlighted with Source Code Highlighter.

Читать дальше →

Просимся в поиск к пользователю с помощью OpenSearch

Reading time2 min
Views12K
Хабрапоиск
На картинке есть одна деталь, которую не все замечают. Подсветка стрелки выпадающего меню. Значит сайт, на котором вы находитесь, предлагает добавление поискового плагина. Работает в Firefox и IE.

Как это сделать на примере Хабрапоиска

Блокирование просмотра из IE6

Reading time1 min
Views1.2K
IE 6 Blocker Script
Отыскал на просторах Всемирной интересный скрипт, блокирующий просмотр сайта из IE6. Возможно, это кому-то покажется большой пакостью для пользователей, но, видимо, это один из выходов заставить юзера обновиться до IE7 или пересесть на нормальный броузер. Скрипт использует jQuery.
Собственно, IE 6 Blocker Script
Читать дальше →

asp.net и OpenID

Reading time1 min
Views929
Не секрет, что OpenID очень популярный механизм авторизации и для любого web-разработчика может наступить момент, когда он решит его использовать. Если вы программируете на asp.net, то ваш путь лежит через dotnetopenid, библиотеку, которую распространяет Google.
Читать дальше →

Стэнфордский видео-курс по языкам программирования

Reading time1 min
Views6.3K
Стэнфордский курс по основам языков программирования выложен на YouTube.



27 лекций минут по 20 каждая ведут стэнфордский преподаватель Джерри Кейн (экс-Стэнфорд, нынче Facebook), последняя лекция по Haskell преподается Сашей Рашем (Facebook). Рассматриваются концепции и основы C (куда ж без него), ассемблера, C++, Scheme, Python и Haskell.

jQuery Tools v1.0.1

Reading time1 min
Views3.9K
jQuery Tools Logo
jQuery Tools v1.0.1 — это инструмент/библиотека представляет собой файл весом в 5,8 кб включающий в себя наиболее важные компоненты для вебдванольных сайтов, а именно: табы, всплывающие подсказки, плавные переходы, прокрутки, всплывающие окна и т.д.

Не буду тянуть резину, лучше, как говориться, один раз увидеть, чем сто раз услышать!
Переходим по ссылке и смотрим более 50 (!) демок:

Несколько понравившихся мне демонстраций. Очень рекомендую!
Маскируем фоновое изображение;
AJAX-табы с поддержкой истории переходов;
Неколько всплывающих окошек на одной странице.

Flex3. Сокетные соединения (Socket connections) Часть 1

Reading time3 min
Views6.7K
Раньше здесь была другая статья, но я её случайно затёр. Приношу свои извинения тем кто попал на эту страницу в надежде найти здесь информацию по JQuery Dialog. Хотя, если копия не сохранилась в сети… Значит статья была так себе :)

Хочу предложить всем желающим мой перевод документа из официальной документации по Adobe Flex 3 — Socket connections (Сокетные соединения)

Вторая часть здесь Flex3. Сокетные соединения (Socket connections) Часть 2
Читать дальше →

jQuery для начинающих

Reading time9 min
Views515K
jQuery Logo

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity