Pull to refresh
  • by relevance
  • by date
  • by rating

Платформа для аутсорсинга разработки программных продуктов

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

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

Про аутсорсинг разработки ПО
Total votes 10: ↑6 and ↓4 +2
Views 4.2K
Comments 13

Автоматизация или попытка найти невозможное. Размышления о прошлом и настоящем.

Lumber room
Куды не плюнь, все пользуются какой-нить бухгалтерско складской программой, кто-то пишет под себя, кто-то пытается купить то, что другие написали под себя, кто-то пытается своровать то, что купили те у тех которые писали под себя.
В итоге получаем разброд и шатание.
Я не увидел ни одной программы, чтобы поставил и работай. Нужно обязательно что-то подкручивать, прикручивать, переписывать, обновлять, т.е. учайствовать в процессе.
То что продают просто невозможно использовать.

И получаем вот примерно такой, почти односторонний диалог продавца программы и автоматизаторов:
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 234
Comments 9

Программное конструирование

Lumber room
Реалии подтверждают слова Брукса: до сих пор еще не возникло методов программирования, использование которых позволит на порядок величин повысить производительность разработки программного обеспечения при прочих равных условиях («Мифический человеко-месяц», 1995). Программирование сегодня напоминает изготовление автомобиля до появления Генри Форда, который предложил конвейер. Авто собиралось вручную, было крайне дорого, хотя и находило своих заказчиков, а сегодня машина доступна каждому, у кого есть руки и голова.

Моя идея может (очень косвенно) напоминать механизм, подобно конвейеру поставляющий сборщику требуемые элементы, из которых он в считанные минуты производит готовый продукт. Программное конструирование – это выражение, пожалуй, точнее. Хотя в возможность такого конструктора я верил много лет, лишь полгода назад, после двух небольших проектов, у меня стала вырисовываться картина того, что сегодня, как весьма упрощенный прототип будущего механизма, я хочу предложить Вашему вниманию.

Об идее
Читать дальше →
Total votes 15: ↑8 and ↓7 +1
Views 1.1K
Comments 31

Вонючие дипломы или стальное колечко?

Lumber room

Первый вариант висячего моста в США, в штате Вашингтон через пролив Такома-Нэрроуз, который разрушился 7 ноября 1940 года из-за недоучёта ветровой нагрузки и явления механического резонанса. Восстановленный мост был открыт в 1950 году.

«Вонючие дипломы или стальное колечко?» — так называется завершающий параграф одной из глав книги «Профессиональная разработка программного обеспечения». Рекомендую тем, кто занимается разработкой программного обеспечения и тем, кто пользуется программным обеспечением и является заказчиком — всему ИТ сообществу и не только.
Давно хотел выложить этот небольшой параграф (как-нибудь еще пару отрывков из книги выложу), но не было повода. И вот произошло событие, которое заставило меня это сделать. А произошло вот, что: «В Волгограде сильнейший ветер и волны раскачали один из самых больших мостов через Волгу».

Вонючие дипломы или стальное колечко?
В Канаде инженеры, получающие диплом по окончании обучения по аттестованным инженерным программам, при выпуске получают стальное кольцо. С 1923 года это кольцо вручается на закрытой церемонии, которую разработал Редьярд Киплинг. Традиция гласит…
Читать дальше →
Total votes 34: ↑23 and ↓11 +12
Views 428
Comments 22

Разбор WKB формата без сторонних библиотек

VK corporate blog Website development *C++ *
В процессе разботы над одной задачей в проекте Карты Mail.Ru возникла необходимость чтения формата WKB. Конечно, можно было воспользоваться GDAL, но нужно было только чтение, а все остальные возможности были излишни. Так и родился этот небольшой велосипед.
Хочу сразу предупредить, что функциональность реализована только в необходимых рамках и поддерживаются только базовые типы, такие как:
  • точка
  • линия
  • полигон
  • мультилиния
  • мультиполигон

Не поддерживается перекодировка порядка следования байт в слове. А так — бери и пользуйся.
Читать дальше →
Total votes 68: ↑55 and ↓13 +42
Views 7.8K
Comments 20

Грядут серьезные изменения в API Facebook — февраль, март, апрель 2013

Programming *Facebook API *


Вам тоже недавно приходили оповещения от Facebook-приложений? Со смыслом «мы тут кое-что поменяли в API, поэтому, возможно, приложение такое-то скоро начнет работать некорректно».

Дело в том, что не так давно Facebook внедрил новую практику Breaking Change Policy (если по-русски, то что-то вроде «Политика критических изменений»). Социальная сеть уведомляет разработчиков о грядущих «перестройках» в API, что, соответственно, требует изменений в коде уже существующих приложений. И которые надо будет учесть при разработке новых, естественно. Facebook призывает разработчиков подписаться на блог, дабы не пропустить ничего важного.

А пока о самых актуальных изменениях, которые уже начали внедряться или будут внедрены в совсем скоро (завтра, 6-го февраля — начало первого этапа изменений).
Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Views 26K
Comments 10

Магистратура Академического университета РАН: делимся опытом

Образовательные проекты JetBrains corporate blog
Кафедра математических и информационных технологий Санкт-Петербургского Академического университета РАН создана в 2008 году. В этом году ей исполняется 5 лет. Настало время подвести промежуточные итоги и поделиться опытом с сообществом.

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

Зачем мы решили открыть кафедру?


Читать дальше →
Total votes 56: ↑51 and ↓5 +46
Views 25K
Comments 88

Знакомство с GStreamer: Введение

Website development *
Sandbox
Tutorial

Дисклеймер

Данная статья ориентирована на начинающих программистов, которые не знакомы с GStreamer и хотят с ним познакомиться. Опытные разработчики навряд ли найдут для себя что-то новое в этой статье.

Преамбула


Многие наверное слышали, что есть такая вещь как GStreamer, или же видели как Ubuntu и ей подобные дистрибутивы предлагают установить различные пакеты, в названии которых содержится «gstreamer» при первой попытке воспроизвести mp3 или какой-нибудь иной файл с «не свободным» форматом медиаданных. Так вот, речь пойдет именно об этой библиотеке.

Введение


GStreamer — мощный фреймворк для построения мультимедийных приложений, который перенял идеи «video pipeline» от Oregon Graduate Institude, а так же что-то взял из DirectShow. Данный фреймворк позволяет создавать приложения различных уровней сложности, начиная от простого консольного плеера (можно воспроизвести какой-нибудь файл прям из терминала без написания какого-либо кода), заканчивая полноценными аудио/видео плеерами, мультимедийными редакторами и прочими приложениями.
Узнать подробности
Total votes 52: ↑50 and ↓2 +48
Views 59K
Comments 8

Знакомство с GStreamer: Источники данных

Website development *
Tutorial
Здравствуй, хабраюзер, интересующийся фреймворком GStreamer! Сегодня мы поговорим о источниках медиа-данных (sources), и тем самым продолжим курс статей посвященный GStreamer.

Предыдущая статья: Знакомство с GStreamer: Введение.

Вступление



Источники данных — это класс плагинов GStreamer который позволяет читать медиаданные из различных источников, таких как файловая система или аудио-входы звуковой карты. Также, они позволяют получать медиапоток с различных серверов потокового вещания, такие как HTTP (ICECast, ShoutCast), RTSP, RTMP, TCP и UDP. А еще имеется возможность читать данные с DVB карт, CDDA-дисков (народе известных просто как «компакт-диски»), и еще много всего, при помощи различных плагинов, которых на данный момент около 30.
Примечание: как говорилось в прошлой статье, источники данных имеют только один pad с названием src, так как его можно подключить к другому элементу, но к нему подключить ничего нельзя.

В этой статье мы разберем некоторые (пожалуй, наиболее востребованные) источники данных, напишем немного кода на Python и узнаем много нового.
Поехали
Total votes 30: ↑28 and ↓2 +26
Views 58K
Comments 11

ARM-ы для самых маленьких

Assembler *System Programming *
Tutorial


Пару дней назад я опубликовал и потом внезапно убрал в черновики статью о плане написать про создание своей ОС для архитектуры ARM. Я сделал это, потому что получил много интересных отзывов как на Хабре, так и в G+.

Сегодня я попробую подойти к вопросу с другой стороны, я буду рассказывать о том, как программировать микроконтроллеры ARM на нарастающих по сложности примерах, пока мы не напишем свою ОС или пока мне не надоест. А может, мы перепрыгнем на ковыряние в Contiki, TinyOS, ChibiOS или FreeRTOS, кто знает, их там столько много разных и интересных (а у TinyOS еще и свой язык программирования!).

Итак, почему ARM? Возиться с 8-битными микроконтроллерами хотя и интересно, но скоро надоедает. Кроме того, средства разработки под ARM обкатаны долгим опытом и намного приятнее в работе. При этом, начать мигать светодиодами на каком-то «evaluation board» так же просто, как и на Arduino.

Читать дальше →
Total votes 129: ↑124 and ↓5 +119
Views 190K
Comments 66

5 вопросов к договору на 1,1 млрд. руб.: приобретение ПАК для Ростелекома

Website development *
Ростелеком разместил запрос на приобретение программно-аппартного комплекса на портале закупок.



Мы посмотрели Договор и у нас возникли несколько недоуменных вопросов.
Читать дальше →
Total votes 100: ↑68 and ↓32 +36
Views 47K
Comments 34

ARM-ы для самых маленьких: который час?

Assembler *System Programming *
Tutorial


Сегодня мы разберемся с двумя важными вопросами: как писать более эффективный код с CMSIS и как правильно рассчитывать скорость работы процессора. Начнем мы со второй части и изучим процессы, которые происходят в LPC1114 для генерации тактовой частоты.

Читать дальше →
Total votes 50: ↑50 and ↓0 +50
Views 50K
Comments 21

ARM-ы для самых маленьких: тонкости компиляции и компоновщик

Assembler *System Programming *
Tutorial

Продолжая серию статей про разработку с нуля для ARM, сегодня я затрону тему написания скриптов компоновщика для GNU ld. Эта тема может пригодиться не только тем, кто работает со встраиваемыми системами, но и тем, кто хочет лучше понять строение исполняемых файлов. Хотя примеры так или иначе основаны на тулчейне arm-none-eabi, суть компоновки та же и у компоновщика Visual Studio, например.

Предыдущие статьи:


Примеры кода из статьи: https://github.com/farcaller/arm-demos

Читать дальше →
Total votes 54: ↑54 and ↓0 +54
Views 72K
Comments 12

Заземлённые указатели

PVS-Studio corporate blog Website development *C++ *
pointres, gnd

Не так давно, один из сотрудников покинул наш коллектив и присоединился к компании, занимающийся разработкой программного обеспечения, связанного с встраиваемыми системами. Ничего особенного в этом нет, всегда и везде, кто-то уходит, а кто-то приходит. Всё зависит от количества плюшек, удобства и предпочтений. Интересно другое. Человек искренне переживает за состояние кода на новом месте работы, что в результате и вылилось в эту совместную статью. Тяжело, «просто программировать», когда знаешь, что такое статический анализ кода.
Читать дальше →
Total votes 112: ↑94 and ↓18 +76
Views 51K
Comments 140

Большой Калькулятор выходит из под контроля

PVS-Studio corporate blog Website development *C++ *
Calculator

Я хочу посвятить эту статью проблеме, о которой мало кто задумывается. Все шире и шире применяется моделирование различных процессов с помощью компьютера. Это замечательно, возможностью экономить время и материалы на бессмысленные химические, биологические, физические и прочие эксперименты. Обдув модели крыла на компьютере может в несколько раз сократить количество макетов, которое затем будет испытываться в реальной аэродинамической трубе. Численным экспериментам доверяют всё больше. Однако за торжеством численного моделирования никто не обращает внимания на рост сложности программ. В компьютере и к программам видят всего лишь инструмент для получения результата. Меня тревожит, что далеко не все знают и задумываются о том, что рост размера программы ведет к нелинейному росту числа ошибок. Опасно применять компьютер как просто большой калькулятор. Я и думаю, надо доносить эту мысль до других людей.
Читать дальше →
Total votes 95: ↑75 and ↓20 +55
Views 40K
Comments 72

PVS-Studio. Отсчёт цен в обратную сторону

PVS-Studio corporate blog Website development *
PVS-Studio cost

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

Читать дальше →
Total votes 97: ↑76 and ↓21 +55
Views 19K
Comments 96

Знакомство с GStreamer: Устройства вывода

Website development *
Tutorial
И снова здравствуй, хабраюзер, которому интересен GStreamer! Сегодня мы поговорим про устройства вывода (sink) различных медиаданных, напишем примитивный плеер для прослушивания радио и записи потока в файл, и узнаем много нового.
Устройство вывода (sink) — это элемент для вывода сигнала куда-либо, будь то звуковая карта, файл, видеокарта или сетевой интерфейс. По своей сути, устройство вывода — это полная противоположность источника данных, и, в отличие от источников данных, устройства вывода имеют только один pad — sink.
Рассмотрим устройства вывода подробнее.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 25K
Comments 4

Чему нужно учить в магистратуре по Computer Science?

Образовательные проекты JetBrains corporate blog
Продолжаем рассказывать о нашем опыте построения «самой лучшей магистратуры по Computer Science» =) и интересоваться мнением IT-сообщества. Напомню, что нашей целью было создать магистратуру с сильной программой, в которой не было бы «лишних» курсов. И благодаря сотрудничеству с Академией Современного Программирования и лабораторией математической логики Санкт-Петербургского отделения математического института им. В.А. Стеклова РАН у нас это успешно получилось сделать.

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

В этом посте мы обсудим, чему нужно учить в магистратуре по Computer Science.


Читать дальше →
Total votes 69: ↑64 and ↓5 +59
Views 40K
Comments 97

IT + образование. Еще раз о бакалавриате

Образовательные проекты JetBrains corporate blog

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

Компаниям, как правило, нужны программисты двух типов. Одни — «рабочие руки», т.е. те, кто умеет хорошо выполнять порученное им задание, и вторые — «рабочие мозги», т.е. те, кто может генерировать новые идеи, предлагать новые подходы, разрабатывать новые направления.
Что касается первой категории, то для того, чтобы в ней работать действительно может хватить пары курсов института и книжек перед сном. Со второй категорией все сложнее… Дело в том, что специалисты этого уровня должны иметь знания шире, чем это требуется для их непосредственной работы.
Вот о том, как готовить специалистов второй категории и хочется поговорить сегодня. И начать с азов — с бакалавриата.
Читать дальше →
Total votes 56: ↑44 and ↓12 +32
Views 33K
Comments 24

Как создавать и зарабатывать на SaaS (Часть I / убрать все лишнее, попасть в цель, экспериментировать)

Quickme corporate blog SaaS / S+S *
Recovery mode
Tutorial


imageimage

Давно хотел порассуждать на тему отличия создания SaaS (он-лайн) сервисов для малого и среднего бизнеса от создания классических систем автоматизации того же сегмента бизнеса, что собственно, и начну делать сегодня. В моей терминологии классическое решение — это десктопное платформенное решение, которое реализует тот или иной функционал для СМБ и может быть кастомизировано под потребности клиента.

Факторы, влияющие на разработку.

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

В случае SaaS команды cтартапов обычно в начале пути имеют:

а) ограниченные бюджеты;
б) понимание как и для кого делать сервис — full house функциональности решения, классификацию системы автоматизации или стандарт прикладной области, т.е. некое классическое понимание правил создания приложения;
в) временные и другие ограничения — команда вынуждена начинать продавать быстро и не всегда продукт, соответствующий законченному Roadmap;

Каждый пункт влияет на процесс, сроки, качество разработки в целом. Все ограничения обусловлены самой задачей и постоянны, кроме не финансовых ограничений (пункт «б»). На мой взгляд, при создании SaaS cервисов необходимо смотреть более свободно на классические требования к процессу разработки, оптимизируя так остальные постоянные затратные части проекта без видимых изменений качества решаемой задачи. Т.е. необязательно применять при создании SaaS сервисов постулаты, которые работали раньше при создании классических систем автоматизации.

Упрощение сервисов без риска для результата.

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

Второй — идти по пути «отрезания лишнего функционала». Что я под этим подразумеваю — не следование стандартам, например, ITIL и “обрезания» большого пласта функциональности решения, например, прав доступа. Из удачных примеров последнего ASANA, философия cоздателей которой в том, что в небольшой группе сотрудников администрирование прав доступа в целом не нужно — все 10 пар глаз итак понимают, что они в отличном коллективе единомышленников и скрывать друг от друга нечего, да и руководитель прекрасно видит, что делает подчиненный в «открытом» пространстве сервиса и в офисе 5 на 5 метров.
Классический подход: Servis Desk — это ITIL, Pink Elephant, но зачем это команде из 10 человек?

Третий — пробовать сочетать простые продукты в бандлы, которых еще нет или начинать разработку огромного Шатла с такого нестандартного сочетания — бандл просто может оказаться удачным. Но не экспериментируйте с Unified communications — этого уже достаточно.
Примеры облачных сервисов: Quickme SMEOn
Классический подход: рамки CRM или HRM или Docflow + консалтинг + обучение + изменение мышление компании… для чего это в SaaS? SaaS призван экономить!

Шансы есть (вместо выводов).

Я не пытался пока говорить о технологическии создания приложений SaaS, которая сама по себе дешевле (мультитенантность, например) и сделал акцент на идеологических вещах, которые помогут упростить и удешевить процесс cоздания. Получилось, что первый подход — это явная экономия при попадании в цель. Второй подход — оптимизация затрат на разработку из-за ненужности части функционала СМБ. Третий — поиск своего пути и позиционирования. Таким образом, чтобы приблизить успех делайте простой сервис — применимый тремя сотрудниками компании, оставьте все лишнее и езжайте с одним чемоданом, в котором будет одна сорочка — решение проблемы клиента. Ну и сочетайте классику и Casual в подходах, если не страшно.

! Важно, что у разработчиков SaaS приложений есть уникальная возможность экспериментировать — упрощать свои сервисы и создавать новую философию автоматизации.

Будет продолжение и будут интересные гости от разработчиков ведущих российских SaaS сервисов.

Алексей Калачников

Блог автора http://www.bootstrap24.ru/

http://Quickme.ru/

Материалы серии «Как создавать и зарабатывать на SaaS»
Total votes 15: ↑4 and ↓11 -7
Views 21K
Comments 4