Search
Write a publication
Pull to refresh
13
0
Игорь Свист @silverwind

User

Send message

jQuery.keyboard v0.1.0

Reading time2 min
Views5.6K

У меня есть на примете как минимум два проекта, в которых понадобится активное управление с помощью клавиатуры. Поэтому, я сел и написал удобный и красивый плагин для jQuery, который выкладываю во всеобщий доступ под свободной лицензией LGPL.
Читать дальше →

Текст любой ценой: PPT

Reading time3 min
Views5.1K
Некоторое время назад мы с вами обсуждали получение чистого текста из различных форматов данных: будь то PDF или DOC. В одном из обсуждений был высказано предположение, что при парсинге презентаций PowerPoint я заработаю геморрой или другую страшную болезнь мягкой точки. Что ж, волей судеб мне пришлось доставать текст и из этого «сладенького» формата. Скажу честно, геморрой заработать не удалось, а вот класс для парсинга презентаций вышел.
Читать дальше →

Ample SDK — Javascript GUI библиотека. Обзор

Reading time5 min
Views6.1K
Ample SDK logo Доброго времени суток, %username%.
Представляю твоему вниманию анонс Ample SDK, новой кросс-браузерной библиотеки интерфейса пользователя.

Познакомиться с проектом Ample SDK тебе будет интересно по следующим причинам:
  • упрощает создание клиентских веб-приложений
  • реализует стандартные веб технологии и API кросс-браузерно
  • повторяет архитектуру веб-браузера (ничего нового учить не надо!)
  • позволяет использовать SVG в HTML (также в Internet Explorer, хм!?)
  • позволяет использовать XUL в любом современном браузере
  • позволяет легко определять новые доменно-зависимые UI технологии
  • проект с открытым (MIT/GPL) исходным кодом (на GitHub)

Для затравки, один и тот-же SVG Tiger документ отображенный в Internet Explorer 6 и Google Chrome 3:

SVG Tiger в Internet Explorer SVG Tiger в Google Chrome

Интересно?
Читать дальше →

Дао Вебсервиса. (Или да хватит же изобретать велосипеды!)

Reading time12 min
Views59K
image Недавно на Хабре была опубликована статья под провокационным заголовком и призывом к прекращению изобретений велосипедов в API-строении. Поскольку тема мне интересна, то я просто не мог пройти мимо.
Увы, реальность за хабракатом меня сильно разочаровала — я увидел очередной велосипед, да еще и с квадратными колесами. (Коллеги, ничего личного, только техническое обсуждение.) Правда, авторы честно сказали, что увидели на нескольких сайтах модное слово REST и решили сделать по нему. Только вот поняли они этот «РЭСТ» по-своему, примерно как Дед Щукарь читал и понимал толковый словарь.
В этом топике я призываю по-настоящему покончить с велосипедами в API сайтов. Ведь получается какой анекдот: АПИ разрабатывается для упрощения доступа к сайту и легкости подключения внешних систем, а получается такой, что с ним еще сложнее, чем без него :)

Чуть ниже под катом я подпишу смертный приговор всем велосипедам в универсальных API. Чтобы не быть голословным, я все проиллюстрирую примерами.
Но должен предупредить сразу — после прочтения статьи вы не сможете без рвотного рефлекса смотреть на очередной велосипед Васи Пупкина под гордым названием «универсальное API сайта».

В повествовании будут рассмотрены следующие вопросы:
  1. Базовые технологии: XML-RPC, REST, SOAP и краткое сравнение
  2. Дао вебсервиса
  3. Просветленные API
  4. Как отличить сайтовое API от говна
  5. Выводы

Кто не испугался суровых реалий - вперед

Аналог Time Machine для Windows

Reading time3 min
Views24K
Time Machine Каждый из нас иногда теряет информацию. По своей ошибке (дрогнувшая рука, не вовремя нажатые клавиши CTRL+S), либо по неудачному стечению обстоятельств (выбило пробки, завис компьютер). Иногда речь идет о пустяках. Бывает, что приходится заново выполнять работу. В худшем же случае, ценная информация оказывается безвозвратно утеряна.

Все мы знаем, что необходимо периодически делать бэкапы. Знаем, но не делаем. А если и делаем, то, по закону подлости, когда надо, копия месячной давности — это лучшее, что удается найти. А ведь случается и так, что утерянный файл было создан всего лишь пару часов назад.
Когда я не мог определиться с темой диплома, один знакомый рассказал мне про TimeMachine от Apple и предложил сделать аналог для Windows. Непрерывная защита данных – это то, о чем я всегда подсознательно мечтал.
Читать дальше →

Организация on-line платежей на сайте. Для тех, кто никогда этим не занимался, но боится, что придётся

Reading time2 min
Views4.2K
Я хочу поделиться простым взглядом на сложные вещи.
Отлично помню своё первое столкновение с on-line платежами. Тогда меня такая задача морально напрягала: мало того что на мне ответственность за чьи-то деньги, так я ещё и не понимаю даже обычной банковской системы, что уж говорить о виртуальной.
Хорошо, если бы мне тогда кто то сказал...

Getters & Setters в IE5+

Reading time2 min
Views2.4K
Вот этим навеяло habrahabr.ru/blogs/javascript/66242

Вопреки расхожему мнению ИЕ все таки умеет назначать аксессоры, правда только в VB, чего для некоторых задач вполне достаточно.

<script language="vbscript">
' Объявляем класс, экземпляр которого в последствии будем использовать из яваскрипта
Class Accessor
  Public Property Let hook(val)  ' объявляем сеттер для свойства hook класса Accessor
   MsgBox val
  End Property
End Class

Dim access ' объявление переменных в VB обязательно
Set access = New Accessor  ' создаем экземпляр класса Accessor
</script>

<script language="jscript">
// т.к. у VB и JS общее пространство имен, можно вполне использовать созданный ранее access
access.hook = 'ololo';
</script>


* This source code was highlighted with Source Code Highlighter.


Другими словами аксессоры есть в VB, VB есть во всех IE и пространство имен VB и JS общее, можно пользовать.
Кроссбраузерный пример

51 Веб Приложение для Дизайнеров и Разработчиков

Reading time11 min
Views13K
Веб дизайн и разработка претерпели значительные изменения в течении последних лет, точно так же изменились используемые технологии и инструменты. Эти изменения придали жизнь таким инструментам, которые сделали нашу жизнь проще, и дали возможность предоставлять нашим клиентам более качественные услуги. Коммуникации и совместная работа на огромных расстояниях уже не проблема и управление проектом стало весьма простой задачей.

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

Данная статья представляет 51 веб приложений для дизайнеров и разработчиков.
Идем дальше...

Инструменты для визуализации логов профайлера xdebug

Reading time2 min
Views23K
Наверное многие php разработчики используют профайлер xdebug для поиска узких мест в приложениях. Но просто смотреть логи очень не удобно, поэтому были созданы инструменты для их визуализации. Об этих инструментах я и хочу коротко рассказать.

Webgrind

Webgrind это набор php скриптов, которые можно установить на локальный или удаленный веб сервер. Дальше все просто до неприличия — закачиваем файл лога и смотрим статистику.
image
Самый очевидный плюс Webgrind'а это кроссплатформенность и простота установки.
Показывает список функций которые вызывались, количество вызовов (Invocation Count), общеё время потраченное на вызов (Total Self Cost) и общее время потраченное на выполнение (Total Inclusive Cost).
Можно скрыть php функции. Можно перейти внутрь функции, чтобы увидеть развернутую статистику.
Читать дальше →

Google Go = Python и C++

Reading time1 min
Views11K
Google только что объявил выпуск нового языка с открытым исходным кодом
под названием Go. Компания говорит что, Go эксперементальный язык и
он объединяет производительность и безопасность компилируемых языков(как С++)
со скорость разработки динамических языков (как Python).
Читать дальше →

Экспресс-анализ качества сайта

Reading time1 min
Views2.9K
Данная методика позволяет в течение часа проверить ВСЕ важнейшие параметры качества любого сайта: начиная с вашей домашней страницы и заканчивая крупнейшим порталом. Все пункты универсальны.

image

Методика ценна именно своей скоростью и универсальностью.

Распределенная файловая система GFS (Google File System)

Reading time14 min
Views28K
В настоящее время, в условиях роста информации, возникают задачи хранения и обработки данных очень большого объема. Поэтому эти данные обрабатывается сразу на нескольких серверах одновременно, которые образуют кластеры. Для упрощения работы с данными на кластерах и разрабатывают распределенные файловые системы. Мы подробно рассмотрим пример распределенной файловой системы Google File System, используемую компанией Google. (Статья является, фактически, вольным и урезанным переводом оригинальной статьи ).
Читать дальше →

Церебральный подход в управлении проектами

Reading time4 min
Views11K
Представляем Вам новый сервис по управлению медиа проектами — Cerebro

image

История


Уже в 2005 году, когда наш коллектив работал в компании Cinemateka, над «Турецким гамбитом» режиссера Джаника Файзиева, нам стала очевидна необходимость специальной системы управления.
Первым подопытным кроликом стал обычный форум (до него правда была еще wiki) c расширенный опциями назначения ответственного сотрудника и контроля/планирования сроков исполнения поставленных задач.
Далее последовали проекты «Монгол» режиссера Сергея Бодрова-старшего и «1612» Владимира Хотиненко. Полгода работы в новой системе выявили необходимость значительного упрощения работы с файлами в сравнении с FTP-обменом, также создания для пользователей возможности давать аудио и визуальные комментарии ко всем видам файлов, задействованных в рабочем процессе, от видеоролика до обычного офисного документа. Должны же были замученные FTP-обменами и Photoshop-комментариями пользователи когда-нибудь вздохнуть с облегчением :)

UPD: Регистрация в демо версии

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

1001-ый способ вертикального выравнивания

Reading time2 min
Views128K
О вертикальном выравнивании блока неизвестной высоты по центру или низу родителя сказано много. Есть способы, основанные на display:table-cell для хороших браузеров (без кавычек) и expression для IE, способы, основанные на относительном позиционировании (могут плохо работать при переполнении). В этой заметке будет описан способ, работающий на особенностях такого мощного отображения, как встроенный блок (display:inline-block).
Читать дальше →

Как защитить сервер от посетителей из нежелаемых стран

Reading time3 min
Views10K
Ко мне очень часто поступают довольно интересные и нестандартные задачи по настройке серверов.

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

В моем случае — надо было заблокировать CN полностью, на RU отдавать полный канал, а на остальные страны — в два раза меньше.

Разумеется, вбивать полностью все подсети руками неудобно, да и они часто меняются. Логичнее всего было сделать это с помощью geoip.
Решение на уровне ядра и на уровне приложения

Боремся с неплавной анимацией скрытых элементов

Reading time3 min
Views26K
Работая с jQuery многие рано или поздно сталкиваются с одной особенностью: когда мы хотим показать с анимацией скрытый блок, его появление может быть дерганым. Происходит это не всегда, но довольно часто. К сожалению не все разработчики знают как с этим бороться, а те кто знают, зачастую ленятся. Явный пример дерганного появления блока, можно посмотреть прямо на главной странице jQuery, нажав на кнопку Run Code:

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

Видеоверсия лекции Андрея Могина об инвестировании в стартапы

Reading time1 min
Views775
imageВ Минске в рамках курса «IT-предпринимательство», который устраивает бизнесинкубатор БГУИР, прошла лекция Андрея Могина, соавтора книги IPO от I до O, известного специалиста по инвестициям и оценке стоимости компаний.
Андрей Могин — управляющий партнер фонда Genesys Asset Management, один из ведущих экспертов в СНГ по управлению стоимостью компании. Автор обучающего курса для компании Intel по финансированию инноваций, автор курсов по венчурному финансированию и инновационному менеджменту.

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

Первую лекцию читал Юрий Зиссер, однако она была посвящена в большей степени истории TUT.by как стартапу. Среди прочего Ю.А. сказал, что потратил на тут бай 62 тысячи долларов.
(видеоверсия лекции Ю.А. Зиссера)

MySQL Profiler: простой и удобный инструмент профилирования запросов

Reading time2 min
Views47K
Сегодня был неожиданно удивлен, какие удобные штуки таит в себе MySQL. ;-)

Хочу представить вашему вниманию фичу MySQL — профайлинг.
Появилась она начиная с версии 5.0.37.

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

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

Итак, как пользоваться:


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

Текст любой ценой: RTF

Reading time14 min
Views88K
Что ж продолжим наши изыскания на предмет получения текста из различных форматов данных. Не так давно мы с вами научились вытаскивать текст из zipped-xml-based файлов (odt и docx), а также, в начале этой недели, из pdf. Сегодня мы продолжим с обещанным rtf.

Rich Text Format (он же rtf), вы могли бы подумать, достаточно забытый, хотя и не очень сложный формат представления текстовых данных. Что ж, относительно несложный для получения текста, но за свою историю: от своей первой версии до текущей 1.9.1 — он приобрёл под 300 страниц официально документации и огромное количество надстроек, которые в большей степени нам будут мешать при получении plain text'а. Попробуем их обойти…
Читать дальше →

Information

Rating
Does not participate
Location
Ровенская обл., Украина
Date of birth
Registered
Activity