Как стать автором
Обновить
8
0
Руслан Касимов @infom

Руководитель отдела разработки

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

Это вопрос должен решать архитектор. Или нет?

Время на прочтение15 мин
Количество просмотров26K
У меня есть некоторый опыт в реализации систем на базе микросервисной архитектуры и я хотел бы поделится вопросами (и ответами), которые возникают при реализации подобных проектов. К сожалению, я не имею права распространяться о проектах в которых я участвовал, поэтому я выдумал собственный сферический проект в вакууме. В этом проекте нам встретится множество стандартных проблем.

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

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

image
Читать дальше →
Всего голосов 39: ↑35 и ↓4+31
Комментарии67

Обзор СКУД с бесплатным программным обеспечением

Время на прочтение7 мин
Количество просмотров83K
Одна из интересных тенденций на российском рынке СКУД это появление компаний производителей, представляющих свое полнофункциональное программное обеспечение абсолютно бесплатно.

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

Мы расчистим ее от маркетинговых наслоений, и расскажем как не попасть на крючок маркетологов.

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

Бесплатное программное обеспечение для IP-камер

Время на прочтение5 мин
Количество просмотров697K
За 11 лет работы на рынке видеонаблюдения, нам пришлось столкнутся с множеством программ для управления системами видеонаблюдения, с какими-то мы работали, какие то тестировали, какие хотели потестировать, но так и не успели этого сделать, про какое-то просто читали в обзорах подобных тому, что читаете вы.

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

Все программное обеспечение разбито на три группы:

  • Программное с открытым исходным кодом
  • Бесплатное программное обеспечение с ограниченным функционалом
  • Программное обеспечение бесплатное в течении пробного периода

image
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии31

А ваша служба является RESTful? Все что необходимо/обязательно знать про веб службы и REST

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

Введение


Вот не люблю я изобретать велосипед и статью я бы эту не написал, но пришлось. Про REST сказано уже довольно много. Многие поставщики веб служб готовы клясться, что их службы являются RESTful. Во время собеседования вы точно услышите хотя бы несколько вопросов про REST, независимо от того это собеседования для бэкенд, мобайл или фронтенд разработчика. Я вот помню как-то во время одного собеседования меня задали такой вопрос: «Вот вы написали в своем резюме, что знайте REST․ Ответьте пожалуйста, какой HTTP код вы получите, если при запросе к RESTful сервису ресурс не найден?». Ответ 404 был принят единогласно. Если честно, я так и не понял, как этот вопрос помог понять знаю ли я REST или нет, но одно могу уверенно сказать: REST понимают далеко не все. Вот некоторые вопросы, которые мучали меня долгое время:

  1. Зачем REST стал таким трендовым? Это архитектура была же предложена еще в 2000 году?
  2. Что я получу если моя служба будет RESTful?
  3. Как определить является ли служба RESTful или нет?
  4. Как правильно должны создаваться URL REST служб?
  5. Какие http методы и коды должны быть использованы в RESTful службе?

Если вы не можете дать исчерпывающего ответа хотя бы на один из этих вопросов, то продолжайте чтение. Если вы можете однозначно ответить на все эти вопросы, можете привести формат правильного URL, считайте, что GET, POST, PUT, DELETE обязательно должны соответствовать CRUD операциям с ресурсами, то вам обязательно надо продолжать чтение.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии125

Визуализация интеграционных приложений

Время на прочтение7 мин
Количество просмотров27K
image

С тех пор как я начал выполнять обязанности системного архитектора, мне чаще приходится рисовать прямоугольники и стрелки, чем писать программный код. С этим можно было бы бороться, например, бессонными ночами участвовать в проектах с открытым исходным кодом, создавать подтверждения осуществимости концепции и демонстрационный код, но и там тоже нужно рисовать прямоугольники, чтобы продемонстрировать архитектуру. Эта статья посвящена визуализации обмена сообщениями в распределенных системах, сервис-ориентированной архитектуре (SOA) и микросервисным приложениям при использовании методологии разработки agile (этот термин потерял свое значение, но более подходящего в данном случае нет).
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии6

О важности User Stories

Время на прочтение5 мин
Количество просмотров34K
Здравствуйте, уважаемые читатели.

Сегодня мы хотели бы поговорить с вами о важном аспекте гибкого управления проектами, но не о чистом Agile, а о планировании проекта и итераций. Речь пойдет о жанре «Пользовательских историй», которым посвящена очень успешная на Западе книга Джеффа Паттона с предисловием Мартина Фаулера:



В статье, текст которой вас ждет под катом, мы перевели «User Story Mapping» как «визуализация функционала». Вариант взят из очень интересной книги Бориса Вольфсона "Гибкое управление проектами и продуктами", также выходившей в нашем издательстве.

Итак, автор статьи прочитал труд Паттона и решил, что так должен поступить каждый. Насколько убедительные примеры он привел — судить вам.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии6

Манифест грядущих перемен сквозь призму рынка

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


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

Формация и конъюнктура


Как сказал бывший продакт менеджер Google Hangouts Бен Эйдельсон: “Обмен сообщениями — это форм-фактор, целая парадигма и самое главное — набор ожиданий пользователя, применяемый в разных рынках, сценариях и подходах”.

Главное преимущество сервисов мгновенных сообщений в том, что любая коммуникация асинхронная по умолчанию и синхронная при необходимости. Мессенджеры символизирует в себе историю отношений между людьми. Обработка сообщений происходит в контексте долговременных диалогов, где обсуждаемые темы меняются на протяжении всей беседы. Для сравнения старые SMS-клиенты не умели объединять сообщения от одного и того же отправителя, а в электронной почте диалоги формируются вокруг определенной темы.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии8

Обзор процесса разработки программного обеспечения

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

Введение


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

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

Проекты, над которыми я работаю, чаще всего связаны с разработкой заказного или инвестиционного программного обеспечения. Также мне приходилось работать с встроенным ПО и программами, ориентированными на выпуск «хитов» (что, с лёгкой руки Джоэля Спольски, я называю далее игровым ПО, хотя на самом деле некоторые игровые проекты ближе к инвестиционным).

Заказное программное обеспечение может быть предназначено для внутреннего или внешнего заказчика. Эксклюзивные права на разработанную систему получает заказчик, и работа над развитием системы в дальнейшем может быть передана другому исполнителю.

В отличие от заказного ПО, работа над инвестиционным программным обеспечением ведётся самим исполнителем на деньги внутреннего или внешнего инвестора. Как правило, права на код системы остаётся у исполнителя, что стимулирует непрерывную работу по улучшению своего продукта и последовательный выпуск версий с более развитой функциональностью.

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

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

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

Другая сторона наших заказных проектов – высокие требования к функциональности. Это и высокая нагрузка на все системы, и большая географическая распределённость, и высокие требования к точности вычислений при очень ограниченных временных рамках. Часто в наших проектах появляются элементы исследовательской работы и творческого поиска, направленного на решение нетривиальных проектных задач. Иногда нам приходится комбинировать в рамках одного процесса разработки разные методологии, например, вставляя в общий процесс, близкий к RUP, один или несколько этапов почти чистого scrum, порождая что-то вроде проекта в проекте. Это позволяет нам сохранять невысокий уровень вовлеченности пользователей, связанный с природой проекта, с гибкостью разработки в условиях высокой неопределённости требований. В этом плане для меня важен именно подготовительный этап, во время которого можно выбрать необходимую методологию и выстроить оптимальный процесс разработки. Один из примеров применения гибкой методологии я описал в статье «Применение agile при разработке проекта для государственного заказчика».

В качестве примера работы над инвестиционным проектом я могу привести разработку комплексной системы безопасности, которую мы создавали как «коробочный» продукт. Под моим руководством было выпущено последовательно четыре версии этой системы, пользователями которой стали самые разные коммерческие и государственные организации, включая мэрию Москвы, АФК «Система», банки, бизнес-центры и, конечно, наш собственный офис. Первая версия была не очень успешной, но у нас была стратегия развития, которая позволила нам успешно захватить рынок и пережить сложные времена кризиса. Опыт работы над этим и ещё несколькими инвестиционными проектами тоже был учтён при формировании используемого мной процесса разработки.

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

Важно понимать, что переход процесса от одного этапа к другому не имеет чёткой границы. Как правило, работы следующего этапа начинаются по мере выполнения 80-90% работ по предыдущему этапу. Особенно это касается разработки требований, когда в ряде случаев снятие неопределённости происходит лишь к концу проекта. Безусловно, наличие такой неопределённости в проекте является существенным риском и должно находиться под постоянным контролем.
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии45

Наш перевод статьи: Двадцать пять целей индустрии программного обеспечения на 2015–2019г.г

Время на прочтение25 мин
Количество просмотров7.2K
Наш перевод статьи:
Двадцать пять целей индустрии программного обеспечения на 2015–2019г.г.
С разрешения автора: Каперс Джонс

Каперс Джонс, VP and CTO Namcook Analytics LLC
Версия 5.0 28 февраля 2015 г.


Краткий обзор
Развитие индустрии программного обеспечения имеет сходство с походкой алкоголика, при которой движение одновременно и выравнивается и дает задний ход. Например, гибкая методология разработки – это выравнивание малых проектов, а парное программирование — это движение назад, слишком дорогостоящее для роли двигателя.

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

В этой небольшой статье представлены 25 реальных целей, которые могут быть достигнуты в течение 5 лет, принимая за точку отсчета 2015 год. Некоторые цели выражены в показателях метрики функциональных баллов (Function Points — FPs), которая является единственной широко используемой метрикой, допустимой для освещения экономической результативности и качества без серьезных погрешностей.
Читать дальше →
Всего голосов 10: ↑5 и ↓50
Комментарии0

Как не угробить архитектуру сразу же? Видео с лекции Евгения Кривошеева

Время на прочтение1 мин
Количество просмотров59K
Всем привет!

Две недели назад в Москве прошла очередная встреча CodeFreeze. Нашим гостем стал Евгений Кривошеев, признанный российский эксперт в области архитектуры программных систем, консультант из Scrumtrek/Skilltrek. Евгений прочитал офигеннейшую лекцию по архитектуре, как он любит и умеет.



В рамках этой встречи Евгений предложил обсудить последовательность решений, критичных для архитектуры любой системы. Выстраданная последовательность действий такова:
  • Точки зрения на систему, или Почему мы слепнем при проектировании
  • Адресация ключевых рисков, или Гордыня убивает
  • Учитываем контекст, или Как не долбиться в закрытую дверь

Краткое содержание и видеозапись
Всего голосов 46: ↑43 и ↓3+40
Комментарии12

Как мы работаем со справочниками на интеграционной шине

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

Принципы решения


При интеграции корпоративных систем возникает задача управления справочными данными. Для решения этой задачи часто используется Master Data Managment(MDM). MDM — это хранилище, которое содержит “эталонные” справочные данные, так называемые “золотые записи”. Справочники в MDM содержат очищенные полные и непротиворечивые данные.

Часто MDM используется как платформа для централизованного ведения справочников. Ввод и валидация справочных данных производится в MDM, а оттуда они реплицируются в IT-системы. Такой подход имеет несколько проблем

  • Создать эталонную модель данных, которая подойдет всем системам не так-то просто.
  • Справочные данные становятся оторванными от приложений.
  • Репликация данных из MDM часто требует серьезной доработки систем. Для систем “из коробки” такая доработка может быть очень дорогой.

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

190 инди игр за 10 минут

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


На видео за 10 минут нам предлагают 190 инди игр.
Что примечательно, внизу нам пишут название показываемой игры и дают ссылку на полное видео с ней.
Всего голосов 82: ↑57 и ↓25+32
Комментарии50

Цифровая вселенная выросла до 1,2 зеттабайта

Время на прочтение1 мин
Количество просмотров821
Информационные потоки продолжает нарастать в геометрической прогрессии (впрочем, кто бы сомневался). Согласно последним оценкам IDC, в 2010 году объём цифровой информации, создаваемой и копируемой, достигнет 1,2 зеттабайта (то есть 1,2 миллиарда терабайтов). Масштаб этой цифры можно оценивать по-разному. Например, это 109 библиотек Конгресса или стопка DVD-дисков высотой до Луны1.

Примерно 75% созданной в мире информации — копии, и только 25% является оригинальными данными (домашнее HD-видео, фотографии, научные данные и т.д.).
Читать дальше →
Всего голосов 74: ↑67 и ↓7+60
Комментарии54

Изучение и понимание Вселенной

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


Фейнман продолжает «говорить» по-русски! (, , и части). В чем отличие научной точки зрения от ненаучной, и почему физик не боится жить в неизвестности.
Всего голосов 137: ↑126 и ↓11+115
Комментарии102

Новинки от HTC: Legend, Desire, HD mini. Upd: промо-ролики

Время на прочтение2 мин
Количество просмотров1.6K
imageСегодня на Mobile World Congress в Барселоне состоялась презентация HTC. Если от Samsung ждали телефонов на Bada, от SE очередных попыток вернуть былую славу выпуском новых продуктов, то от HTC хотели всего и сразу, а именно: выпуск долгожданных новинок на базе Android (Legend и Bravo), предварительный анонс продуктов на Windows Phone 7 Series, обновления HTC Sense, полноценного мультитач в оболочке HTC Sense.

Но обо всем по порядку, сегодня HTC представила три новых смартфона. HTC Desire и HTC Legend — долгожданные новинки на базе Android 2.1, а также HTC HD mini — миниатюрная версия старшего брата HD2. Официальный сайт все еще молчит, но @HTC_Ru сегодня проявил небывалую прыть.

HTC Legend

Подробности под катом. Траффик!
Всего голосов 44: ↑38 и ↓6+32
Комментарии85

Реконструкция аварии рейса 1549

Время на прочтение1 мин
Количество просмотров4.6K
Многие, наверное, помнят, фотографии и видео посадки самолета на воду в Нью-Йорке. Тогда самолет при взлете столкнулся со стаей птиц, в результате чего вышли из строя двигатели. К счастью, тогда все обошлось, и самолет успешно сел на воду.
Недавно я наткнулся на трехмерную реконструкцию событий с записями реальных переговоров между самолетом и диспетчерами.
читать дальше
Всего голосов 57: ↑48 и ↓9+39
Комментарии84

Lbook v3 new — небольшой обзор электронной книги

Время на прочтение3 мин
Количество просмотров5.2K
Сегодня ко мне в руки попала такая штука, о которой все мечтали в 2000. Электронная книга.
Устройство, работающее по принципу электронных чернил. Это значит, что устройство не выцветает на солнце, требует внешнего источника света, имеет хорошую контрастность.
Ссылка на сайт производителя.
image
Технические характеристики:
Операционная система: Linux OS
Процессор: Samsung 2440 Arm 9 200 МГц
Память: 32 Mb SDRAM (ОЗУ) 2.0 Mb ROM (ПЗУ) 512 Mb (Flash Disk)
Экран: 6″, бумагоподобный (eINK VizPlex® 3-го поколения), черно-белый экран, 800×600 точек, 4 градации серого
Батареи, питание: 3,7 V Литий-ионная батарея емкостью 950 mАh модели Nokia (BL-5)
Слоты расширения: SD/MMC (до 16.0 Gb)
Коммуникации: USB 1.1
Мультимедиа: mp3-плеер, стерео-выход 3.5 мм
Управление: Программируемые кнопки
Масса: 240 г. (с батареей)
Габариты: 184х120.5х9.9 мм
Температура: Рабочая 0°С ~ 40°С, хранения -20°С ~ 55°С
Встроенные приложения: Программы чтения электронных книг, mp3-плеер, вьюер изображений (jpg).
Поддерживаемые форматы электронных книг:
pdf, doc, rtf, txt, fb2 (xml), djvu, wolf, html, chm – напрямую
и файлы Excel, ppt после преобразования в wolf-файл.
Читать дальше →
Всего голосов 53: ↑33 и ↓20+13
Комментарии228

Рассказ о том, как я возвращал магазину сломанный ноутбук

Время на прочтение7 мин
Количество просмотров2.1K
Начитавшись интересных постов о том, что компьютеру и интернету можно научить практически любого, решил порадовать своих родителей на старости лет, купив им небольшой нетбук (возможность провести домой недорогой безлимитный интернет имеется). Т.к. и отец, и мать до этого особого опыта работы с компьютером не имели, к Windows\DOS даже привыкнуть не успели, решил взять нетбук с Linux, дабы оградить от вирусов. Полазав на Яндекс.маркете, решил взять одну из самых недорогих моделей — MSI Wind U100X-252RU. Заказал на сайте msimobile.

4 декабря. Покупка

В пятницу утром курьер доставил нетбук. Открыл, показал, вроде все ОК, я расписался и отдал деньги. В хорошем настроении от быстрой доставки, принес домой и положил на полку. Замотался и вообще на время о ноуте забыл.

7 декабря. Нетбук бракованный.

Вечером в понедельник решил немного настроить ноут. Оказалось, что стоит не какая-то Убунта, а Suse Linux Enterprise Desktop (нигде о том, какой именно Линукс, сказано не было). Удивился, но решил разобраться. Пока возился с настройками, заметил, что как-то чересчур греется. Ну да ладно, особо не обратил внимание. После продолжительной настройки решил загрузиться с bootable flash Mandriva 2010, и совершенно случайно нажал «Проверка оперативной памяти» (посредством всем известной Memtest86+). Через некоторое время ноут самопроизвольно выключился. Я запустил еще раз, результат тот же, выключился даже быстрее (меньше 5 минут). В конце концов выяснил, что:
а) Промежутки между перезагрузками\выключениями сокращаются с каждым последующим запуском
б) Перезагрузки\выключения бывают только при выполнении ресурсоемких приложений. Если просто включить ноут и поставить его стоять, то он так и останется работать без проблем.
Читать дальше →
Всего голосов 205: ↑187 и ↓18+169
Комментарии135

Раздаем 3G-интернет по всей квартире (Anydata ADU-300A и D-Link DIR-320)

Время на прочтение5 мин
Количество просмотров3K
Единственная возможность у меня дома выйти в сеть интернет — подключиться к беспроводному CDMA Wellcom (местный аналог SkyLink'а). А так как компьютеров несколько — желательно раздать этот самый Wellcom для всех, независимо друг от друга. Отличнейшим решением становится использование wi-fi роутера D-Link DIR-320, имеющего USB-порт, с альтернативной прошивкой, позволяющей подключить к нему USB-модем AnyData ADU-300A.

Теоретически, этот вопрос уже неоднократно обсуждался на просторах необъятной сети, я же решил свести все в одну «инструкцию для ленивых».
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии10

Самокат U3-X

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

Похожее на бумбокс приспособление, именуемое U3-X, Honda исполнила в форме восьмёрки, как известно, считающейся в Японии счастливой цифрой. Значение сухого названия аппарата не приводится, ясно лишь, что U означает и моноцикл (unicycle), и универсальность (universal). Концепция новинки – «гармония с людьми».
Читать дальше →
Всего голосов 25: ↑13 и ↓12+1
Комментарии33

Информация

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