Search
Write a publication
Pull to refresh
17
0
Иван Мащенко @StrangeAttractor

User

Send message

Визуальный редактор на jQuery

Reading time2 min
Views14K
Визуальный редактор

В мире визуальных редакторов есть CKeditor, есть tinyMCE — монстрообразные, не гибкие, их сложно изменять под задачи сайтов и интерфейсов. Есть небольшие, простые, они часто с ужасным дизайном, не развиваются, не поддерживаются. Как настоящий разработчик, несколько лет назад я решил написать свой редактор и в течение этого времени постоянно развивал его и упрощал. Суть редактора постепенно свелась к простым требованиям:
  • он должен быть красивым и одновременно ненавязчивым, чтобы вписывался без внешних изменений почти в любой интерфейс;
  • обязательно быстрым и легкий, потому что никому не нравится сидеть даже полминуты в ожидании загрузки всех кнопок и плагинов;
  • гибкий для разработки, доработки и встраивания под все возможные нужды;
  • с простым и понятным интерфейсом. В идеале визуальный редактор — это просто поле для ввода текстов, без лишних кнопок и функций. Просто люди пишут тексты в вебе и это все что им нужно.

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

RDF Это просто

Reading time5 min
Views40K
image
В этой заметке я попытаюсь объяснить на пальцах ключевые моменты и обосновать преимущества модели RDF.
Более 10 лет концепция Semantic Web, частью который является RDF развивалась, была предметом споров и обсуждений, и сегодня ее все активнее поддерживает сообщество в своих приложениях.

Однако для многих все еще совсем не понятно:

  • Зачем все это?
  • Как с этим работать?
  • Что это даст именно мне?


Давайте во всем разберемся

Издательство использует Creative Commons, чтобы сделать книги для детей доступными

Reading time2 min
Views2K
Около двух лет назад, я писала о Pratham Books, некоммерческом издателе детских книг в Индии.
“Он был создан, чтобы заполнить пробел на рынке детских книг хорошего качества и по разумным ценам на различных языках Индии. [Его] миссия — сделать книги доступными для каждого ребёнка в Индии.” В тот момент Pratham Books выпустило шесть книг для детей по лицензии CC BY-NC-SA, доступной на их странице в Scribd. С тех пор они изменили лицензии на эти книги на только Attribution (CC BY) и расширили свои предложения до книг в общественном достоянии. Они также активно занимались блоггингом и поощрением переработки их распространяющихся по CC иллюстраций на Flickr.

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

Поднимаем WebSocket сервер

Reading time5 min
Views70K
Многие уже наслышаны о революции в расширении HTTP протокола — внедрении технологии WebSocket разработчиками Google Chromium. В данной статье речь пойдет о том, как приручить данного зверя — установке и настройке WebSocket сервера на асинхронном фреймворке phpDaemon.
Читать дальше →

Самоинтерпретируемые данные работают за программиста

Reading time5 min
Views4.2K
Как часто вы используете текстовые конфигурационные файлы вроде ini, cfg, rc, xml, properties? Пишете ли для них обработчики, которые парсят строки и интерпретируют команды?
А я предлагаю иначе — записывать конфигурации на скриптовом языке (PHP, JavaScript и др.), используя удобства объекто-ориентированного программирования.
Читать дальше →

Демо-ролики: эпоха просвещения в WebMoney

Reading time1 min
Views1.7K
Здравствуйте, коллеги. За время нашего отсутствия здесь (надеюсь, оно показалось вам долгим?) мы не сидели сложа руки. В доказательство я сегодня с удовольствием представляю вам серию обучающих роликов по нашим сервисам и услугам. Они предназначены для тех, кто только начинает осваивать нашу систему, да и интернет вообще. Но возможно, опытные пользователи тоже найдут что-то полезное для себя.
Полный список демо-роликов, готовых на сегодня, вот: www.youtube.com/results?search_query=webmoney100&aq=f
Естественно, этот список будет все время пополняться.
Для примера выкладываю здесь ролик, посвященный услуге, о которой знают не все. Можно платить в Интернет-магазинах с помощью WebMoney, при этом не имея регистрации, кипера, аттестата и т.д. Как? Вот так:



Хотелось бы услышать ваши просвещенные мнения как по самому ролику, так и по услуге, которую он разъясняет. Все ли понятно? Доступно ли это будет «простым людям», на ваш взгляд?

phpDaemon — фреймворк асинхронных приложений

Reading time6 min
Views45K
Сегодня речь пойдет о phpDaemon — асинхронном модульном демоне-фреймворке, который берёт на себя обработку I/O (libevent) и другие низкоуровневые задачи, присущие демонам. С его помощью легко писать правильные сетевые приложения с блэкджеком и шлюхами.
Из коробки идут сервера FastCGI, HTTP, CGI, FlashPolicy, Telnet, WebSocket (!) — да-да тот самый волшебный пендаль новый протокол от Google. И клиенты mysql, memcached, mongodb… И многое другое, полный список под катом. Работать с сетью действительно просто. Программист средней руки может написать, к примеру, IRC-бота за считанные часы.
В качестве наглядного примера я реализовал вот этот чат на phpDaemon + WebSocket + MongoDB + jQuery. Он наглядно демонстрирует преимущества этой технологии: доставка сообщений мгновенна, накладные расходы при обмене данными минимальны, высока производительность, приложение масштабируется горизонтально. Исходники этого чата (в данный момент 17 кб). Прошу заметить, чат тестировался и работает в Chrome, FF, IE6+, Iron, Safari.
Читать дальше →

Виртуальная конференция «Информация в действии». Посетите, не выходя из офиса!

Reading time2 min
Views1.2K
Мир становится более сложным – инструментально оснащенным, взаимосвязанным и интеллектуальным – и в этом мире скорость обработки информации возрастает в несколько раз. У компаний, готовых к этому вызову, есть возможность использовать информацию, чтобы оптимизировать свой бизнес и достичь устойчивого конкурентного преимущества. Лидеры рынка создают гибкую информационную инфраструктуру, которая поддерживает цели их бизнеса и помогает снизить расходы. Добившись того, чтобы информация работала как стратегический актив, эти компании реагируют на изменения более оперативно, более адекватно и более эффективно, чем их конкуренты.
Читать дальше →

Программирование Magic: the Gathering — §2 Карта

Reading time8 min
Views3.4K
Продолжим наше обсуждение программирования Magic the Gathering. Сегодня мы обсудим то, как формируется объектная модель конкретной карты. Поскольку карты взаимдействуют со всеми участниками системы (с игроками, другими картами, и т.д.), мы также затронем вопросы реализации базового поведения карт. Как и предже, мы будем использовать экосистему .Net, хотя в будущем (намек) мы увидим использование неуправляемого С++. Также, для примеров мы воспользуемся картами 8й и поздних редакций.[1]

Предыдущие посты: §1

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

Асинхронное программирование — цепочки вызовов

Reading time6 min
Views5.5K

Когда в коде фигурирует пара вызовов BeginXxx()/EndXxx(), это приемлимо. Но что если алгоритм требует несколько таких вызовов подряд, то количество методов (или анонимных делегатов) преумножится и код станет менее читабельным. К счастью, эта проблема решена как в F# так и в C#.



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

Идеальная техподдержка

Reading time2 min
Views3K
Я хочу поделиться с вами знанием о том, какой замечательный бывает саппорт, в связи с чем придётся неприкрыто пропиарить техподдержку Нокии.

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

Так получилось, что с недель назад я остался без какого-либо доступа к компьютеру, наедине со своим Nokia 5800XM. Вместе с тем интернетом я через GPRS и стандартный Symbian'овский браузер пользовался довольно много. Когда же я попробовал просмотреть лог вышеупомянутой конференции с телефона, я обнаружил, что браузер видит XML-файл — и тут же считает его RSS-потоком, соответственно добавляя его в сохраненные потоки и уже не отображая мне никакой странички.

Я добросовестный пользователь и решил зарепортить Нокии данную проблему.
Что было дальше?

Slidebar – первое публичное «облако» в России

Reading time2 min
Views8.5K
Здравствуйте, хабраюзеры!
Хочу рассказать вам об открытии нового сервиса облачного провайдера Parking.ru, который называется:
image

Slidebar – это первое в России «публичное облако» построенное на собственной облачной платформе Parking Cloud. На западе аналогичные «облака» предоставляют, например, Amazon и Rackspace, но по многим причинам их невозможно купить из России.
Под катом немного об особенностях и функционале.

Data acquisition, часть 1

Reading time8 min
Views4.4K
Одно из приемуществ всеобщего удешевления аппаратуры и интернета в том, что сбор информации из разных источников в интернете почти ничего не стоит и может производиться без особых проблем. Задача получения и обработки больших объемов данных является коммерчески превлекательной ввиду спроса на считывание («скрейпинг») веб-сайтов со стороны заказчиков (обычно это описывается термином ‘social media analysis’, т.е. анализ социальных медиа). Ну и в принципе это достаточно интересно – по крайней мере по сравнению с рутинной разработкой сайтов, отчетов, и т.д.

В этой статье я начну рассказ про то, как можно реализовать сбор и обработку данных с использованием платформы .Net. Было бы интересно послушать про то как делать то же самое в стеке Java, поэтому если кто-то хочет присоединиться к данной статье в качестве соавтора – милости прошу.

Если интересно...

Про цвета и input'ы

Reading time2 min
Views8K

Вступление


Привет, Хабр!
Это мой первый хабратопик. Надеюсь, его прочитает хотя бы полтора верстальщика. Если после этого хотя бы один сайт станет лучше, я буду очень рад.

Ничто не предвещало беды


Как и любой слегка красноглазый линуксойд, я люблю экспериментировать. До сборки релиз-кандидатов ядра и ковыряния в экзотических оконных менеджерах дело не дошло, но в поисках приключений я все же пересел на тестовую ветку моего дистрибутива, что привело к переезду на четвертую версию КДЕ.
Несколько месяцев до переезда я присматривался к новым кедам в виртуальной машине, игрался с плазмой и новым оформлением. В один прекрасный день решил я попробовать темную цветовую схему «Wonton Soup», да так на ней и остался, хотя всю жизнь использовал светлые схемы.

Суровая реальность


Все было замечательно, плавные градиенты радовали глаз, мелкие шероховатости были уничтожены опытными руками и напильником. Но осталась одна глобальная проблема, с которой сталкиваются все пользователи темных цветовых схем: дизайнеры и верстальщики абсолютно не задумываются над тем, что кто-то может использовать нестандартные темы. Оформленные в светлых тонах страницы сами по себе не страшны, если постоянно не переключаться с темных страниц на светлые.
Неприятности появляются при сочетании двух факторов:
  1. браузер использует системные стили и цвета для input'ов на страницах. Абсолютное большинство современных браузеров именно так и поступает для лучшей интеграции в окружение
  2. верстальщик прописывает в CSS свой цвет текста для полей ввода, кнопок или списков, но оставляет дефолтный фон. Либо наоборот, меняет только цвет фона
В абсолютном большинстве OS и DE по умолчанию элементы интерфейса имеют светлый фон, текст же рисуется черным цветом. В этом случае ничего страшного не происходит, мы просто увидим, к примеру, input'ы с темно-серым текстом на светлом фоне, как и задумывалось в дизайне страницы.
Но в темных схемах может случится конфуз, и мы увидим темно-серый текст на темном же фоне. Т.е, ничего не увидим.

Доска позора


Приведу скриншоты с некоторых популярных сайтов, посещение которых вызывает у меня желание послать луч ненависти верстальщикам.
Читать дальше →

XML + CSS = счастье

Reading time4 min
Views13K
Возрадуйтесь, дети мои, ибо пришёл я к вам с миром и богатыми дарами. Нет, я не принёс вам того, чего вы не видели. И даже не принёс того, чего вы не имели. От чистого сердца вручаю вам то, что всегда лежало у вас под ногами, но вы не замечали того, брезгливо перешагивая, пробегая мимо по своим, несомненно самым важным, делам.

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

Примеси! Я же знаю, вы так устали без наследования. Приходится внедрять лишние классы в элементы или даже, переходить на тёмную сторону силы — копипастить по чёрному.

Отныне! Ваша душа будет чиста как у младенца. Руки в золоте как у царевичей. Дети послушными и приветливыми.

а теперь приступим к съёмкам порева

Записки программиста: ООП, And и Or

Reading time15 min
Views5K

Философия ООП



Инкапсуляция, наследование, полиморфизм… Методы, члены класса, разграничение приватности, абстракция… Как часто я вижу статьи на тему ООП и как часто не вижу самого ООП в этих статьях. Не вижу настоящего, живого объектно-ориентированного программирования. Авторы владеют терминологией, могут привести тысячу определений пресловутого ООП, вспомнят пару классических примеров с простеньким наследованием, везде напихают утверждений, что инкапсуляция — это хорошо…

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

W3C: Логотип семантической сети и юзербары

Reading time1 min
Views1.2K
Всемирный Консорциум WWW опубликовал логотип семантической сети и полоски для пользователей:

И таблица юзербаров.

GRDDL SW Button - GRDDL - blue SW Button - GRDDL - green SW Button - GRDDL - orange SW Button - GRDDL - gray SW Button - GRDDL - magenta
OWL SW Button - OWL - blue SW Button - OWL - green SW Button - OWL - orange SW Button - OWL - gray SW Button - OWL - magenta
RDF SW Button - RDF - blue SW Button - RDF - green SW Button - RDF - orange SW Button - RDF - gray SW Button - RDF - magenta
SPARQL SW Button - SPARQL - blue SW Button - SPARQL - green SW Button - SPARQL - orange SW Button - SPARQL - gray SW Button - SPARQL - magenta


Далее опубликована лицензия и правила использования.

64 бита

Reading time12 min
Views82K

Статья раскрывает смысл термина «64 бита». В статье кратко рассмотрена история развития 64-битных систем, описаны наиболее распространенные на данный момент 64-битные процессоры архитектуры Intel 64 и 64-битная операционная система Windows.
Читать дальше →

Быстрый старт с openID

Reading time3 min
Views15K
Добрый день, друзья.

Сегодня я хочу поделиться своим опытом внедрения авторизации по openID на своем книжном сайте «Мои книги». Статья рассчитана на начинающих, поэтому вряд ли заинтересует тех, кто уже знает все нюансы этой технологии. Основная ее цель – ответить на вопрос: «да, это удобно, но как же мне сделать такое в моем проекте?!!»

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

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Date of birth
Registered
Activity