Как стать автором
Обновить
4
0
Иван Юрьевич @chezare

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

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

Система управления документами Alfresco

Время на прочтение7 мин
Количество просмотров148K
logoПоиск по Хабру не нашел подробных статей по системе Alfresco. В данной статье попробую убить сразу двух зайцев: рассказать что представляет из себя система Alfresco и как мы используем ее в нашей работе.

Как хранятся документы в небольшой организации? Самое простое — на локальном диске. А если необходима совместная работа — пересылаются по почте, либо, самый популярный вариант, на сетевом диске. Еще прекрасный вариант — Google Docs, но не уверен что он широко используется в Российской практике.

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

При мысли о системе электронного документооборота первыми на ум приходят дорогие решения от известных вендоров, таких как Microsoft, EMC, 1С и т.д. Но есть и альтернатива закрытым решениям — система управления документами с открытым исходным кодом Alfresco. Или, если по-английски, то Open Source Enterprise Content Management System (ECM, CMS).

Конкуренты Alfresco — это закрытое ПО, такое как EMC Documentum, Open Text, Sharepoint. Сами разработчики Alfresco пишут о своих конкурентах, как о наследии 90-х годов, которое:
  • слишком дорого стоит
  • слишком сложно использовать, разворачивать, масштабировать
  • слишком сложно модифицировать под свои нужды
  • слишком “проприетарно”

Попробую рассказать о системе, а вы уже решайте правы ли были разработчики.
Читать дальше →
Всего голосов 76: ↑66 и ↓10+56
Комментарии59

Fairware

Время на прочтение3 мин
Количество просмотров843
«Fairware» — термин, недавно изобретённый автором программ Hardcoded Software. Он обозначает СПО, нацеленное на широкую аудиторию (для проприетарных приложений прямым аналогом является условно-бесплатная лицензия — shareware) с целью получения достойной компенсации от пользователей.
Читать дальше →
Всего голосов 80: ↑70 и ↓10+60
Комментарии90

Отправка письма с прикрепленным файлом из Drupal

Время на прочтение4 мин
Количество просмотров6.4K
На прошлой неделе один из клиентов захотел иметь возможность отправлять из админки письмо свом подписчикам с возможностью прикрепления файла. Конечно, можно было сделать закачку файла из формы на сайт и отправку в письме ссылки на скачивание файла, но, помимо определенных плюсов такого решения, очевидный минус, а именно накапливание ненужных файлов на сервере, заставил меня даже не предлагать клиенту такое костыльное решение.
Читать дальше →
Всего голосов 37: ↑30 и ↓7+23
Комментарии12

Как не дать программисту написать плохой код

Время на прочтение3 мин
Количество просмотров6.5K
image
Как-то раз в одной неглупой статье один неглупый хабраюзер рассказал одну неглупую идею. Суть её была в том, что в его компании настроена система, контролирующая написанный программистами код в момент попытки добавления его в репозиторий и отклоняющая код, не проходящий по некоторым критериям. Мне идея понравилась. Я (и еще 3 человека) попросили автора развить мысль и написать статью об этом, но она так и не появилась. И я решил разобраться сам.
Читать дальше →
Всего голосов 159: ↑141 и ↓18+123
Комментарии111

Zappos.com: как заработать 1 млрд долларов на обуви?

Время на прочтение3 мин
Количество просмотров2.8K
Привет, хабрадруг!

На русском языке недавно вышла книга об успешном стартапе Zappos.com.
Делюсь своим впечатлением относительно неё.

image
Читать дальше →
Всего голосов 73: ↑64 и ↓9+55
Комментарии59

Успешный опыт создания нового бизнеса

Время на прочтение3 мин
Количество просмотров4.3K
На Хабре присутствует много постов на темы «как начать свой бизнес», «где снять офис», «сколько я потратил на оформление» и т.д. Очень печально, что многие из этих статей заканчиваются словами надежды, что через полгода-год я опишу, что получилось, а что нет. Спустя полгода-год не так много пользователей в итоге могут описать, что получилось, ведь не многим удалось добиться успеха, а свои ошибки мы не любим освещать.

Со своей стороны хочу поделиться опытом организации бизнеса, который успел и начаться, и успешно стартовать и принести хорошую прибыль, а главное много удовольствия.
Читать дальше →
Всего голосов 96: ↑81 и ↓15+66
Комментарии50

N+1 полезных книг о бизнесе

Время на прочтение9 мин
Количество просмотров229K
В топике блиц-обзор книг, которые будут полезны IT-специалистам, бизнесменам и тем, кто собирается открыть своё дело. Рядом с каждой — короткие пояснения, почему и зачем стоит прочесть.

Отобраны лучшие 10% из примерно 200 прочитанных книг о маркетинге, продажах и всем связанном — самые «пробивные» вещи, которые помогут вам не тратить время на всякий шлак, а сразу начать с главного.

В конце — суммация книг, которые хабровчане рекомендуют в комментариях помимо основного списка.

Читать дальше →
Всего голосов 148: ↑137 и ↓11+126
Комментарии131

Nmap. Начало использования

Время на прочтение5 мин
Количество просмотров415K
image
Вы когда-нибудь интересовались откуда атакующий знает какие порты открыты в системе? Или как узнать, какие приложения запущены на сервере, не спрашивая об этом администратора? Вы можете сделать все это и даже больше вместе с небольшим инструментом под названием Nmap.

Читать дальше →
Всего голосов 144: ↑103 и ↓41+62
Комментарии71

Нужен офис или нет? С точки зрения программиста и бывшего фрилансера

Время на прочтение5 мин
Количество просмотров2.6K
Итак, коллеги, я готов поделиться впечатлениями о длительном воздержании об аренде своего офиса. Как обычно — к сути. Сначала я хочу рассмотреть теории о том, нужен офис предпринимателю/фрилансеру или таки — нет. «Теории», подчеркиваю, означают, что все данные «обрабатываются» без практического опыта. А после — мой практический опыт, из-за чего я пост и написал. Насколько я могу понять, вопрос работы в собственном (важно!) офисе обычно оставался не раскрытым. Все посты о создании своих фирм считали этот этап незначительным. Но для кого-то это важно — знать всё в подробностях, например, как для меня. Хотелось бы понимать, что нас ждет, перед тем, как это делать.

image

Статья будет полезна тем, кто хочет снять офис, но еще не знает — нужно это или нет. Будет полезна тем, кто пытается взвешивать «плюсы и минусы» без практического опыта. Лезет в воду, не зная броду. Я сам «поселился» в офисе где-то несколько месяцев назад, поэтому впечатление вполне свежие.

Читать дальше →
Всего голосов 50: ↑42 и ↓8+34
Комментарии40

Мозговые штурмы на маркерных досках

Время на прочтение2 мин
Количество просмотров18K
Когда над одним проектом работает целая группа людей, используются различные формы организации коллективного поиска решения. Мы предпочитаем мозговые штурмы на маркерных досках. Обычный состав рабочей группы в Нимаксе: менеджер, арт-директор, дизайнер. При необходимости подключаются другие сотрудники: веб-технолог, иллюстратор, фотограф и т.д. Доски после обсуждений представляют собой довольно забавное зрелище — мы давно хотели их показать, что и делаем.

image

Читать дальше →
Всего голосов 84: ↑62 и ↓22+40
Комментарии60

Не айфоном единым – вышел AlterGeo для Android!

Время на прочтение2 мин
Количество просмотров9.5K
image Ликуйте, обладатели «гуглофонов» – теперь и у вас есть возможность через смартфон смотреть, что за люди вас окружают, где ваши друзья, какие места находятся поблизости, назначать встречи одним кликом, а также многое другое. Все это стало возможным благодаря выходу бесплатного приложения AlterGeo для Android
Читать дальше →
Всего голосов 54: ↑34 и ↓20+14
Комментарии107

Профилактика SQL-инъекций

Время на прочтение4 мин
Количество просмотров35K


SQL-инъекции (также известные как «Нарушение в целостности структуры SQL-запроса») являются одними из самых распространённых и наиболее опасных уязвимостей в вопросе безопасности. SQL-инъекции очень опасны, потому что они открывают двери хакерам в вашу систему через веб-интерфейс, и позволяют получить неограниченный доступ: например удалять таблицы, изменять базу данных, и даже получить доступ к внутренней корпоративной сети. SQL-инъекции это чисто программная ошибка, и не имеет ничего общего с хост-провайдером. Итак, вы занимались поисками безопасного JSP хостинга, PHP хостинга, или любого другого, вы должны знать, что за профилактику SQL-инъекций несут ответственность только разработчики, а не хост провайдер.

Почему же происходят SQL-инъекции


SQL-инъекции это очень распространённая проблема, но по иронии судьбы, их также легко предотвратить. SQL-инъекции так распространены, поскольку очень много мест, где может присутствовать уязвимость, и в случае успешной инъекции, хакер может получить хорошую награду (например полный доступ к данным в базе).
Читать дальше →
Всего голосов 94: ↑69 и ↓25+44
Комментарии95

dklab vzfirewall: простое управление firewall-ом в OpenVZ

Время на прочтение5 мин
Количество просмотров2.6K
Dklab vzfirewall — это утилита для OpenVZ, позволяющая конфигурировать firewall без утомительного ввода iptables-правил и без «завязки» на множество IP-адресов виртуальных машин. Главный принцип утилиты — быть настолько простой в использовании, насколько это возможно. Цель, которую я преследовал при создании утилиты, — избавить системного администратора от головной боли, связанной с конфигурированием iptables; надеюсь, у меня это хоть немного получилось.

Конечно, я понимаю, что вам может быть страшновато пробовать vzfirewall сразу на продакшен-сервере. Наверняка забудете какие-то порты открыть из нужных. Поэтому хороший момент, когда удобно «пощупать» vzfirewall, — это в момент установки нового сервера с OpenVZ (ну или на дев-сервере). Вот тогда-то уж можно развернуться.

Примеры


Листинг 0: Установка
cd /usr/sbin
wget http://github.com/DmitryKoterov/vzfirewall/raw/master/vzfirewall
chmod +x vzfirewall

Листинг 1: Файл /etc/sysconfig/vz-scripts/101.conf
Читать дальше →
Всего голосов 35: ↑28 и ↓7+21
Комментарии14

Код, который приятно читать

Время на прочтение2 мин
Количество просмотров3.7K

Хороший код


К хорошему коду много требований: он должен быть оптимальным, у него должны быть юнит-тесты, его должно быть легко переиспользовать, он должен соответствовать код-стандарту компании и духу языка. А ещё его должно быть приятно читать.
Я бы хотел рассказать о правилах, которые помогают мне делать код читаемым.

Основное правило

Я считаю, что читаемым является код, в который можно не вчитываться.
То есть, пары-тройки строк дожно быть достаточно, чтобы сказать, что делает класс или метод. Ещё пары-тройки — чтобы примерно сказать, как он это делает.

Прочие замечания

Я заметил, что есть ещё несколько довольно общих правил, которые делают код симпатичнее.
Читать дальше →
Всего голосов 89: ↑71 и ↓18+53
Комментарии242

Упрощаем восприятие продукта: Практические шаги

Время на прочтение3 мин
Количество просмотров787


Мы две недели проектировали и создавали приложение для iPhone. Я послал письмо маме с названием программы и одной строчкой описания этого приложения. Она ответила одной фразой: «Я не понимаю». Мы выбросили исходники и саму программу и начали сначала.

Наиболее важный урок, который мы получили работая с App Store — большинство неудачливых разработчиков App Store все еще не поняли: если по названию и короткому описанию мама сразу понимает что это, программа будет продаваться более чем в 30 экземпляров в день. Если из названия и описания мама не понимает о чем идет речь, программа будет продаваться менее 5 экземпляров в день. К сожалению, другие разработчики App Store не имеют доступа к моей маме или ее вкусным рогаликам, поэтому мы будем и впредь сохранять это стратегическое преимущество.

Основная причина успеха программы: Убедитесь, чтобы описание вашей программы было предельно понятно. Если это не так, то упростите.
Читать дальше →
Всего голосов 108: ↑81 и ↓27+54
Комментарии64

Настройка резервного копирования Linux-сервера за 5 минут

Время на прочтение3 мин
Количество просмотров66K
Передо мной возникла необходимость настроить резервное копирование на новом Linux-сервере, задачка эта оочень важная, но уж больно скучная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. По этому я попробовал нагуглить готовое решение для этой задачки и в результате наткнулся на backup-manager — замечательный опенсорсный набор bash-скриптов, позволяющих:
  • архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также «черный список» файлов, которые копироваться не будут.
  • делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
  • делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump.
  • шифровать архивы.
  • копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.

Таким образом, один этот этот набор скриптов решил абсолютно все мои задачи, связанные с резервным копированием. Настраивается все это хозяйство не более чем за пять минут, так как в конфигурационном файле каждый параметр имеет подробные комментарии, так что проблем с настройкой возникнуть ни у кого не должно.
Читать дальше →
Всего голосов 85: ↑74 и ↓11+63
Комментарии45

Разработка через тестирование с Zend Framework и PHPUnit

Время на прочтение7 мин
Количество просмотров4.6K
Проведя последние несколько дней за изучением документации по Zend Framework, я был приятно удивлен новым функционалом, который был добавлен в последнюю версию этого каркаса Web-приложений.
Моей первой мыслью было осознание скорости, с которой взрослеет технология PHP.
Легкость совместного использования Zend Framework и PHPUnit — это, на мой взгляд, одно из наиболее значительных достижений.

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

Практическое использование Boost.Spirit

Время на прочтение7 мин
Количество просмотров32K
Я заметил, у разработчиков совершенно полярное отношение к библиотеке Boost.Spirit: либо она им жутко не нравится, либо они фанатеют от нее. Конечно, описывать грамматику на C++ – занятие на любителя. Таким любителем оказался и я, когда познакомился со Спиритом. Хочу показать, как с помощью Спирита можно довольно просто решать повседневные задачи разбора текста.

Простая задача – как два пальца


На Спирите очень удобно писать маленькие парсеры «не отходя от кассы» – прямо в C++ коде. Вот например, как вы поступите если нужно распарсить строку вида «число-число», которая задает диапазон страниц для печати? На Спирите – одна строчка:

bool ok = parse(First, Last, (uint_ >> L"-" >> uint_), MinMax) && (First == Last);


Посложнее…


Более того – можно ненамного сложнее создавать и парсеры побольше. В качестве примера рассмотрю парсер мини-языка, который я делал для API Яндекс.Бара. Задача была такова: для облегчения загрузки плагинов в баре используется XML, который довольно избыточный сам по себе. Но зато XML легче грузить из JavaScript-а, чем парсить произвольный формат (на JS пишутся расширения под FireFox, в том числе и Я.Бар).

Итак, что мне было нужно – имея на входе обычную инфиксную нотацию:
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии31

Параллельные заметки №4 — продолжаем знакомиться с конструкциями OpenMP

Время на прочтение4 мин
Количество просмотров29K
image
Продолжим знакомство с технологией OpenMP и рассмотрим некоторые функции и новые директивы.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии4

Информация

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