Как стать автором
Обновить
52
0
Дмитрий Спирин @MipH

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

Отправить сообщение

Как мы используем SVG в нашем фреймворке, игнорируя проблемы совместимости

Время на прочтение2 мин
Количество просмотров2.4K
Существует удобный формат для работы с векторной графикой в вебе — SVG. Если бы полная поддержка его всеми браузерами, завоевал бы он большую популярность, чем есть сейчас.

Но мы в своем фреймворке Mozart можем активно его использовать, не глядя на все проблемы совместимости. Фишка в том, что средствами фреймворка мы можем транскодировать один поток данных в другой. В случае с SVG мы трансформируем его в изображение JPEG, GIF или PNG формата, который и отдаем клиенту (браузеру).

Делаем мы это при помощи Java-based (как и сам Mozart) Batik SVG Toolkit.
Читать дальше →
Всего голосов 40: ↑31 и ↓9+22
Комментарии26

Веб-сайт как набор готовых сервисов

Время на прочтение2 мин
Количество просмотров792
Раньше как было, написал ТЗ и по нему реализовал функционал. Теперь же такой вариант становится сложным, потому что требований в ТЗ все больше под современный мир, а времени меньше.

Например, надо вам на сайте сделать комментирование материалов. Конечно, можно написать самостоятельно. Но что, если взять сервис intensedebate.com, который предоставляет прекрасный интерфейс для комментариев с большими возможностями и очень плотно интегрируется с несколькими популярными блог-платформами? На любом же другом сайте работает через javascript. При этом тут вам и нативная авторизация, и авторизация через популярные сервисы типа Twitter или Facebook. И много-много других плюшек.

Читать дальше →
Всего голосов 28: ↑22 и ↓6+16
Комментарии15

Workflow — система автоматизации процессов согласования

Время на прочтение1 мин
Количество просмотров2.5K
ADV все-таки анонсировала созданную веб-систему Workflow для автоматизации волокиты по согласованию решений типа покупки фломастеров или аренды лайнера для полетов на переговоры. Название Workflow, по сути, имеет что-то общее с документооборотом, потому что фишкой системы является то, что можно создать совершенно произвольные процессы (типы документов) и по ним выстроить цепочки согласований.

Не буду вдаваться в «водяные» слова о системе, скажу лишь, что она полностью web-based, включая админку. Крутится на платформе Mozart, ранее выложенной (ом) тем же ADV как open-source framework, и в качестве основы для описания всех процессов имеет собственный несложный xml-язык (мета-описание), с помощью которого описываются совершенно произвольные (почти без ограничений) формы, включая их print-версии, которых у каждого типа документа может быть несколько.

Тут у ADV на сайте все описано и показано скришотами. Ну а вообще все можно пощупать и поломать воочию на демо-сайте http://workflow.evidentsolutions.org/
Всего голосов 17: ↑13 и ↓4+9
Комментарии10

Opera vs. mailto

Время на прочтение1 мин
Количество просмотров400
Изрядно потрепал сегодня нервы.
Есть Flash, в котором используется ссылка, при клике на которую:
navigateToURL(new URLRequest("mailto:test@example.com"), "_self");

Помимо этого в коде есть методы, которые делают post-запрос на адрес:
loader = new URLLoader();
...
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
loader.load(request);


Так вот, в моей Opera 10 с последним Flash плеером такая ситуация: при клике на линк, который mailto, открывается окно почтового клиента, мы его закрываем и после этого loader.load(request) перестает работать вообще. Он не инициирует никакх ошибок, но запросы не делаются.

Ладно, потратив некоторое время на изучение проблемы и не найдя решения решил пойти иным способом, и именно дергать во Flash JS-функцию, в которой уже делаю вот что:
window.location.href="mailto:test@example.com";

Что ж думать, работает везде, кроме Оперы! Чтоб ее… =(

Не знаю, что еще попробовать.

Баг с неработающим loader.load проявляется не у всех, но у многих.
Всего голосов 13: ↑7 и ↓6+1
Комментарии5

Mozart: ссылки Вперед — Назад в списочных материалах

Время на прочтение5 мин
Количество просмотров536
Понадобилось мне в разделе Статьи одного из проектов, что использует в качестве базиса Mozart (mozartframework.ru), реализовать в конце каждой статьи ссылку на следующую и предыдущую. Нет ничего проще, дальше по большей части будет инструкция по использованию XSLT.

Читать дальше →
Рейтинг0
Комментарии0

Insurance. Часть I: Страховые калькуляторы своими руками

Время на прочтение6 мин
Количество просмотров2K
Для привлечения клиентов страховой компании важно не только придумать «красивые» страховые продукты, но и донести информацию о них до клиентов, а также сделать все возможное для упрощения оформления продукта. Наиболее эффективным способом для этих целей сегодня является Интернет. Компания, обладающая средствами удаленного оформления продуктов, имеет преимущество. Таким средством наиболее эффективно выступает веб-сайт, на котором любой желающий может оформить интересующую его страховку без каких-либо посредников.

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

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

Читать дальше →
Всего голосов 17: ↑10 и ↓7+3
Комментарии12

Mozart CMF: API, основанный на XML

Время на прочтение10 мин
Количество просмотров1.8K
Итак, в своей первой статья я сделал несколько предположений об архитектуре предметной области в CMF/CMS системах. Тогда я сделал предположение об объектной модели я связанном с нею сервисе, который умел обрабатывать входящие запросы и выдавать нужный результат на основании внутренней структуры модели.

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

Основой API Mozart'а служат newt-контейнеры. Newt — это XML-контейнер (в XML-фрагменте), который специальным образом обрабатывается XML-парсером. Newt может быть как одиночным тэгом (закрытым тэгом <newt />), так и контейнером (содержит в себе другие контейнеры (newt'ы, инструкции)). Аналог newt'а — это функция, задачей которой является произвести какие-то действия (и вернуть результат, если требуется).

Читать дальше →
Всего голосов 27: ↑21 и ↓6+15
Комментарии14

Печальный опыт попытки работы с Google AdWords

Время на прочтение2 мин
Количество просмотров794
Скажу сразу, что я так и не смог начать работать с этом, быть может, чудным сервисом.

Еще давно я зеригистровал себе там аккаунт на свой gmail общий логин, но так и не начал пользоваться по каким-то причинам.

На днях получил сообщение, что Google предлагает мне, кажется, 1400 рублей, чтобы начать свое «дело».

Счастливый захожу в профайл. Вижу оповещение, что у меня не заполнены платежные реквизиты.
И тут началось…
Читать дальше →
Всего голосов 9: ↑6 и ↓3+3
Комментарии12

Архитектура предметной области в CMF/CMS системах

Время на прочтение6 мин
Количество просмотров3.9K
Практически любая информационная система характеризуется наличием системы хранения и оперирования данными. Возьмем, к примеру, обычные веб-сайты. Для их создания обычно используются какие-либо готовые системы (фреймворки или уже готовые CMS), в которых изначально уже заложена какая-то концепция по работе с данными, установившаяся предметная область. Обычно, если разработчик хочется добавить на сайте раздел новостей, он добавляет в интерфейсе CMS компонент, информационный блок, шаблон и т.п. Суть всех этих конструкций одна — создать сущность в БД для хранения (либо каком-то ином хранилище). В итоге имеется реляционная база данных и, зачастую, какой-то объектно-ориентированный обвес, реализующий связку объект-атрибуты-свойства-методы — реализуется предметная область.

Ниже пойдет речь об одном из вариантов архитектуры предметной области. Статья базируется на опыте работы в компании ADV, которая применяет подобные методы в разработке веб-проектов. Сложность изложенного материала позволяет понять его не только разработчикам ПО, но и веб-мастерам, которым надо периодически дорабатывать существующие веб-проекты, добавляя в них новые данные.

Самые простые системы позволяют лишь организовать хранилище, к которому разработчик в дальнейшем обращается и делает всю необходимую работу по обработке данных сам. В таком хранилище есть лишь объект, поля и данные. В более продвинутых системах между объектами появляются связи. Следующий уровень развития — взаимодействие объектов (триггеры, методы и т.п.), а так же наличие программной подсистемы, снимающую с разработчика часть забот по обработке данных.
Читать дальше →
Всего голосов 51: ↑45 и ↓6+39
Комментарии58

Русский язык vs. IT

Время на прочтение1 мин
Количество просмотров581
В последнее время я несколько шокирован Хабром(й), а точнее многими постами, попадающим на титульную. Шокирован тем, насколько много ошибок допускают авторы по тексту: как орфографических, так и пунктуационных.

Уже давно существует множество реализованных способов более менее правильно проверить орфографию и пунктуацию. Microsoft Word прекрасно справляется с этими задачами. В браузеры встроена проверка правописания слов. Но все это лишь вспомогательный инструмент, призванный устранить проблему невнимательности. Если человек не знает правил языка, на котором пишет, то никакая программа на данный момент не поможет.

Поэтому я хотел бы поделиться несколькими ссылками, которые не потребуют от читателей много времени, но по которым в краткой и быстрой форме всегда можно уточнить, как пишется слово или нужна ли запятая.
  • http://gramota.ru — на этом сайте можно найти, по-моему, все о русском языке. Однако самым главным тут является поле для ввода слова прямо на титульной странице для поиска его значения и правописания.
  • http://www.ipmce.su/~lib/osn_prav.html — основные правила грамматики русского языка. Всего лишь одна страница, с которой стоит ознакомиться.
  • http://snarry.fanrus.com/articles/pamyatka.htm — памятка по русскому языку для начинающих и не только авторов.


Безусловно, есть еще множество разных источников информации, но «краткость — сестра таланта».

P.S. Ни в коем случае не хотел бы кого-то обидеть.
Всего голосов 52: ↑30 и ↓22+8
Комментарии53

Возможность выбора убивает

Время на прочтение3 мин
Количество просмотров596
Я разрываюсь. Разрываюсь между бесконечными сервисами, информационными сайтами, играми и увлечениями. Я вынужден мониторить несколько проектов, в том числе соц.сетей, чтобы не отставать от трэнда, от новостей от друзей. Раньше было 10 знакомых, теперь их 1000. И все они интересные. И я говорю не о реальности или виртуальном мире. Оцените ситуацию с точки зрения того, кто «творит», а не кто «потребляет».

Каждый день на свет появляется бесчисленное множество новых стартапов, которые разными способами пытаются привлечь к себе пользователей. Население планеты не растет так быстро, как кол-во веб-сайтов. Безусловно, какие-то проекты умирают, но многие остаются. И в попытках борьбы за выживание они подстраиваются под реалии: посетителей становится меньше, а инноваций, привлекательности у проектов больше. Была одна соц.сеть — стало 1000, был один форум — стало 1000, был IT информационный ресурс — стало 1000. Существенно меняется плотность пользователей.

Читать дальше →
Всего голосов 41: ↑30 и ↓11+19
Комментарии33

BBZ.RU — мой личный «стартап» о breaks музыке

Время на прочтение4 мин
Количество просмотров806
imageЧто-то никогда я не писал нигде о своем проекте BBZ.RU — портал о breaks музыке, а ведь ему уже почти 5 лет. Все дело в том, что для меня проект никогда не был стартапом, это было хобби, которое началось с того, что мне нравилась музыка в стиле breaks, breakbeat. На тот момент как-то не было в рунете ресурсов, где можно было что-то интересное и актуальное найти по этой тематике.

Сейчас проект превратился, как мне недавно сказали, в социальную сеть, где «тусуются» русскоговорящие и не только брейксеры, регулярно проводятся совместные клубные мероприятия.

Однажды на форум пришел известный зарубежный музыкант Elite Force и разогнал всю нашу братию нелестными словами о России и пиратстве. Дискуссию так же подняли на нескольких зарубежных тематических сайтах. Пришлось в экстренном порядке убирать с сайте все ссылки на нелегальный контент, вводить новые правила и общаться со всеми участниками дискуссии на всех сайтах, убеждая их, что Россия не так уж плоха, как они думают. Проблему решили, авторитет восстановили.
Читать дальше →
Всего голосов 53: ↑40 и ↓13+27
Комментарии74

Отечественные предприятия тормозят развитие рунета

Время на прочтение1 мин
Количество просмотров360
Мне, как работнику одной из веб-девелоперских компаний, довольно часто приходится слышать от программистов, как им «задолбало» подгонять очередной макет дизайна сайта по криворуко созданные давyым-давно Internet Explorer 6-й версии. По-моему, одной фразой все достаточно понятно можно донести суть проблемы:
теперь в моем зоопарке 10 иксплореров!
2 файрфокса
1 сафари
1 опера
1 хроме


Так почему же все так плохо?
Всего голосов 27: ↑17 и ↓10+7
Комментарии39

Entrepreneurship Corner: подкасты от Stanford University

Время на прочтение1 мин
Количество просмотров480
Открыл для себя интересный ресурс Entrepreneurship Corner Стэнфордского Университета. На сайте собраны аудио и видео подкасты, в которых известные люди Силиконовой Долины рассказывают различные аспекты своей работы, своей жизни, много внимания уделяется стартапам и «зелёной» энергии.

Например, IDEO's General Manager Tom Kelley в своем выступлении Young at Heart: How to Be an Innovator for Life рассказывает о 5-ти вещах, упражнениях, которые помогут вам улучшить вашу креативность, добиться больше успеха во всех аспектах вашей жизни.

1. Думай как путешественник
2. Воспринимай жизнь как эксперимент
3. Воспитывайте отношение к мудрости
4. Используйте свой мозг и свой «черепаший разум»
5. Следуйте за своими страстными увлечениями

Ну и подытоживает рассказ фраза, которая, думаю, не единожды звучала: «Blur the line between work and play!»
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Системы резервного копирования данных для настольных компьютеров

Время на прочтение2 мин
Количество просмотров3.8K
Имеется:
Number of Files: 283309
Total Size: 62.92 GB
Тип бэкапов: инкрементальный
Источник: сетевой диск (LAN)
Место хранения: локальный компьютер (Windows), с которого и запускается сама программа копирования
Задача: ежедневное инкрментальное бэкапирование данных, хранение копий за последние 2 недели.

Сначала хотелось найти какое-то бесплатное решение. Но я не смог найти ничего стоящего… Поэтому переключился на коммерческие системы.

Читать дальше →
Всего голосов 16: ↑12 и ↓4+10
Комментарии28

Корпоративная система хранения информации (база знаний)

Время на прочтение3 мин
Количество просмотров8K
Думаю, в каждой компании есть необходимость где-то хранить различную документацию. Самый простой пример — регламенты работ в разных отделах, шаблоны документов, стандарты качества и т.п. Вот и мне пару лет назад пришлось внедрять такую систему прежде всего для своих нужд, а уж потом ее подхватили и остальные. Понятно, что это wiki-система. Ибо только такие системы с легкостью позволяют хранить такую информацию и дают прекрасные возможности по совместной работе над ней. Тогда я выбрал движок MediaWiki. Это такая довольно аскетичная система, на которую можно прикручивать различные плагины, но все равно ее можно сравнить с Линуксом. Со временем стало понятно, что простым людям эта система дается сложно, в ней сложно контролировать структуру документов, в ней сложно работать с правами доступа к документам.

решение проблемы
Всего голосов 18: ↑18 и ↓0+18
Комментарии8

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность