Pull to refresh
52
0
Дмитрий Спирин @MipH

User

Send message

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

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

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

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

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

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

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

Читать дальше →
Total votes 28: ↑22 and ↓6 +16
Comments 15

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

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

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

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

Opera vs. mailto

Reading time 1 min
Views 367
Изрядно потрепал сегодня нервы.
Есть 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 проявляется не у всех, но у многих.
Total votes 13: ↑7 and ↓6 +1
Comments 5

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

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

Читать дальше →
Rating 0
Comments 0

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

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

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

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

Читать дальше →
Total votes 17: ↑10 and ↓7 +3
Comments 12

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

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

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

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

Читать дальше →
Total votes 27: ↑21 and ↓6 +15
Comments 14

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

Reading time 2 min
Views 738
Скажу сразу, что я так и не смог начать работать с этом, быть может, чудным сервисом.

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Читать дальше →
Total votes 41: ↑30 and ↓11 +19
Comments 33

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

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

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

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

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

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


Так почему же все так плохо?
Total votes 27: ↑17 and ↓10 +7
Comments 39

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

Reading time 1 min
Views 458
Открыл для себя интересный ресурс 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!»
Total votes 5: ↑4 and ↓1 +3
Comments 0

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

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

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

Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Comments 28

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

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

решение проблемы
Total votes 18: ↑18 and ↓0 +18
Comments 8

Information

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