Как стать автором
Обновить

Компания Инфопульс Украина временно не ведёт блог на Хабре

Сначала показывать
  • Новые
  • Лучшие

Конкурс для программистов: результаты

Блог компании Инфопульс УкраинаПрограммирование

Итак, мы подводим результаты объявленного 3 дня назад конкурса. Под катом вы найдёте информацию о ходе конкурса, верные ответы на задачи и, конечно же, имя победителя. Спасибо всем, кто участвовал, обсуждал конкурс в комментариях и наши поздравления победителю.
Читать дальше →
Всего голосов 32: ↑24 и ↓8+16
Просмотры11K
Комментарии 14

Конкурс для программистов

Блог компании Инфопульс УкраинаПрограммирование

На днях исполняется год нашему блогу на Хабре. И мы решили отметить это дело! Нет, ну не так, как вы подумали. Хотя так, конечно, тоже. Но сейчас не об этом.

Нам очень хочется подарить всем нашим читателям какие-то подарки, но подарок у нас только один (зато хороший), поэтому мы решили разыграть его в небольшом конкурсе для программистов. Условия конкурса и описание приза — под катом. Задания не отнимут много времени, шанс выиграть есть у всех.
Читать дальше →
Всего голосов 61: ↑42 и ↓19+23
Просмотры24K
Комментарии 76

Эффективное распределение ролей посредством RACI матрицы (Обновлено)

Блог компании Инфопульс Украина
Часто ли Вы сталкивались с таким явлением, как нерациональное распределение обязанностей? Сколько раз приходилось наблюдать за тем, как один человек «на все руки мастер» выполняет работу за пятерых? А так называемый «специалист, занимающийся не понятно чем» — знакомо? Такие варианты, а также им подобные нередко приходилось видеть ранее в отечественных реалиях. Этот же «совок» многим приходится наблюдать, и что хуже, чувствовать на своей личной шкуре и поныне во многих госструктурах.

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

Именно из-за «бугра» до нас дошла любопытная аббревиатура под названием RACI. При этом, зачастую перед ней можно наблюдать разного рода умности а-ля «матрица» или «модель». Что это и с чем его едят, попытаюсь объяснить читателю далее. Возможно, кому-то уже повезло работать в коллективах, где каждый знает свои обязанности и область ответственности – за таких людей можно только порадоваться. При этом лично я верю, что далеко не у всех всё идеально в сфере разделения полномочий. Для таких людей данная статья может оказаться полезной.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Просмотры117K
Комментарии 10

Добро пожаловать на Евро-2012

Блог компании Инфопульс Украина

Как вы, возможно, знаете, на днях в Украине и Польше начался Чемпионат Европы по футболу 2012 (кстати, команда России уже успела выиграть у Чехии со счётом 4:1). Мы решили (на фоне всяких казусов), что можем сделать пребывание гостей в нашей стране чуть-чуть комфортнее и выпустили для них специальные бесплатные приложения под iOs, Android и Facebook. Ничего сверх-навороченного, просто информация о:

  • посольствах (адреса, телефоны, положение на карте)
  • экстренных службах (милиция, скорая, пожарная охрана)
  • больницах и поликлиниках
  • аэропортах
  • коллекция полезных ссылок (информационные порталы городов-участников Евро, транспорт, туристические порталы, обмен валют)
  • коллекция ссылок на другие полезные приложения на тему Евро (календари матчей, турнирные таблицы, приложения от UEFA, карты городов-участников и т.д.)

Читать дальше →
Всего голосов 38: ↑18 и ↓20-2
Просмотры4.6K
Комментарии 9

Please come back to me in Casablanca

Блог компании Инфопульс УкраинаПрограммированиеC++
Tutorial

Несколько недель назад Microsoft презентовал свою новую разработку — проект Casablanca. Для того, чтобы понять что это, нужно вернуться еще чуть дальше в прошлое, к прошедшей конференции Going Native 2012, где помимо обсуждения нового стандарта С++11 было сказано еще немало умных мыслей. Одна из них была в лекции Херба Саттера. Он заметил, что самой большой проблемой современного С++ является не всякие там сборщики мусора или синтаксис лямбда-выражений, а бедность стандартной библиотеки. Когда начинающий программист на Java или C# спрашивает у своего старшего коллеги, как ему послать\принять HTTP-запрос, распарсить XML\JSON, заархивировать\разархивировать ZIP-файл и т.д. — он получает конкретный, однозначный и работающий всегда ответ: «используй вот этот класс из стандартной библиотеки». Когда начинающий программист на С++ задаёт тот же вопрос — он слышит «ну, стандартных средств для этого нет, нужно или самому писать или вот есть какие-то библиотеки, но тут надо выбирать, тестировать, читать лицензии...». В результате мы имеем дикий зоопарк библиотек с разным уровнем производительности, часто паршивенькой кроссплатформенностью, кучу самописных велосипедов, трудности в переходе между проектами, потому что «раньше я использовал boost, а тут в проекте всё на Qt» и т.д. Херб Саттер высказал мысль, что основное, на чём следует сосредоточиться — это расширение стандартной библиотеки.

Так вот, Microsoft Casablanca — это первый набросок того, как это расширение могло бы выглядеть, что в него могло бы входить и как оно всё вместе могло бы работать. Никто пока не говорит о стандартизации Casablanca как расширения стандартной библиотеки С++, но уже сейчас его можно скачать в виде отдельной библиотеки (что-то вроде альфа-версии) и попробовать поизучать. Кроме того, Microsoft пропагандирует Casablanca как средство создания производительных сервисов для платформы Azure.
Читать дальше →
Всего голосов 72: ↑61 и ↓11+50
Просмотры12K
Комментарии 35

Единственный способ

Блог компании Инфопульс Украина
Ральф вошел в помещение ангара №1 в 8:30 утра, как делал это ежедневно уже несколько лет. Его взгляд сразу же устремился к центру зала, где на постаменте, окруженный множеством приборов и паутиной кабелей, находился смысл его работы. Собственно говоря, не только его — миллионов людей по всему миру. Первый инопланетный корабль. Полтора десятилетия назад он совершил аварийную посадку и был частично поврежден, оставив, однако, весьма много материала для изучения. Настоящим чудом стало то, что политики и учёные после этого события не переругались, а смогли организовать эффективное изучение свалившегося с небес подарка. На реверс-инжиниринг корабля были брошены лучшие умы планеты. Ральф, возглавляющий группу изучения приборов связи, стоял в ангаре и в который раз любовался стремительной, похожей на стрелу в полёте, формой корабля. Он вспоминал всё, что случилось за последние годы.
Читать дальше →
Всего голосов 341: ↑305 и ↓36+269
Просмотры70K
Комментарии 127

Безналичная командировка

Блог компании Инфопульс Украина
Motorola SparrowВечер пятницы, я собираю вещи в привычную короткую командировку к заказчикам. Её отличает лишь новый маршрут: предстоит побывать в Осло и Стокгольме, плюс пересадка в Амстердаме. Я размышляю о том, какую валюту брать с собой. Представив у себя в кошельке салат из евро, норвежских и шведских крон, я понимаю: возиться с обменом валют мне надоело. В конце концов, Европа, цивилизация и всё такое. Решено: командировка будет безналичной! В посте заодно расскажу о нюансах платёжных карт и платёжных систем, о которых возможно не всем известно.

Итак, вооружившись дебетовой Visa Classic и резервом в евро на «чёрный день», я отправляюсь в дорогу.
Читать дальше →
Всего голосов 31: ↑25 и ↓6+19
Просмотры20K
Комментарии 32

Своими руками: автоматизация управления процессами безопасности

Блог компании Инфопульс УкраинаИнформационная безопасность
Используй то, что под рукою, и не ищи себе другое...
Филеас Фогг


В условиях современного мира безопасность является одним из основополагающих факторов развития бизнеса. Это не требует лишних слов! Темой размышлений здесь может быть только размер инвестиций, которые бизнес готов вложить в построение и поддержание эффективной системы безопасности, гарантирующей защиту от возможных инцидентов.  

pic1Данный вопрос не имеет простого решения — ведь для выбора правильной стратегии по защите бизнеса необходимо провести детальный анализ, уточнить цели и выбрать правильный подход для их достижения. Как правило, наиболее оптимальным подходом для средних и крупных компаний будет поэтапное внедрение системы безопасности: начав с защиты наиболее критичных активов, постепенно расширять область, включая менее приоритетные. Большие дела начинаются с малого, и чтобы получить гарантию того, что система безопасности будет развиваться в правильном направлении и достигнет требуемого уровня зрелости к определенному сроку, необходимо уделить особое внимание самим процессам, призванным защищать компанию. Такими процессами являются управление инцидентами, рисками, управление непрерывностью, управление доступом, контроль изменений и многие другие. Если компания уделяет достаточно внимания правильности исполнения таких процессов, то проект по построению системы безопасности практически обречен на успех.
Читать дальше →
Всего голосов 14: ↑8 и ↓6+2
Просмотры9.8K
Комментарии 7

Photoshop CS6 и естественные надобности

Блог компании Инфопульс УкраинаВеб-дизайнИнтерфейсы
logoВсем привет.
Начитавшись и насмотревшись роликов и прочих промо-материалов для Photoshop CS6, ощутила недосказанность и решила потестировать самостоятельно.
Поскольку я не понимаю смысла создания специально подогнанных примеров для демонстрации новых возможностей, то и тестировать мы их будем на ежедневных потребностях, а именно:

1) Фотоманипуляции
2) Работа с интерфейсом (сайт и мобильное приложение)
3) Типографика
4) Создание иллюстраций и векторные фишки
UPD 1: Небольшое тестирование производительности и стабильности.

Итак, поехали.
Читать дальше →
Всего голосов 100: ↑90 и ↓10+80
Просмотры57K
Комментарии 110

Результаты конкурса

Блог компании Инфопульс УкраинаРазработка игр
Итак, вот они результаты нашего последнего конкурса. Спасибо всем, кто принял участие.
В принципе, задачка была совсем не сложной (она такой и планировалась) и целых 56 человек с ней справились. Вот имена людей, которые сделали это первыми:



Под катом можно найти решение задачи и ссылки по теме.
Читать дальше →
Всего голосов 43: ↑36 и ↓7+29
Просмотры15K
Комментарии 7

Разыгрываем 3 лицензии на Diablo III

Блог компании Инфопульс УкраинаРазработка игр
Итак, дата выхода Diablo III уже отмечена красным в календаре, игровой класс выбран, напарники найдены, а на работе взят отпуск? Если единственное, чего не хватает для счастья — это лицензии на саму игру, то вот он шанс её получить. Мы разыгрываем 3 лицензии на Diablo III и получат их первые трое, кто напишет в твиттер сообщение с определённым текстом и хештегом — куда уж проще, правда? Удачи всем!

Ах да! «А что же писать?» — спросите вы? Текст сообщения и хештег легко можно получить с картинки под катом. Срок конкурса — 2 суток с момента публикации данного топика. Имена победителей будут опубликованы в пятницу, 13-го апреля.
Читать дальше →
Всего голосов 36: ↑19 и ↓17+2
Просмотры22K
Комментарии 26

Хуки — это просто

Блог компании Инфопульс УкраинаПрограммированиеСистемное программирование
Tutorial


Хуки — это технология перехвата вызовов функций в чужих процессах. Хуки, как и любая достаточно мощная технология, могут быть использованы как в благих целях (снифферы, аудио\видеограбберы, расширения функционала закрытого ПО, логирование, багфиксинг) так и со злым умыслом (трояны, кряки, кейлоггеры). О хуках уже не раз писали и на Хабре и не на Хабре. Но вот в чём беда — почему-то каждая статья о хуках буквально со второго абзаца начинает рассказывать о «таблице виртуальных функций», «архитектуре памяти» и предлагает к изучению огромные блоки ассемблерного кода. Известно, что каждая формула в тексте снижает количество читателей вдвое, а уж такие вещи — так и вовсе вчетверо. Поэтому нужна статья, которая расскажет о хуках просто. Под катом нет ассемблера, нет сложных терминов и буквально два десятка строк очень простого кода на С++. Если вы давно хотели изучить хуки, но не знали с чего начать — начните с этой статьи.
Читать дальше →
Всего голосов 94: ↑84 и ↓10+74
Просмотры108K
Комментарии 63

Таинственные знаки на полях — разгадка

Блог компании Инфопульс УкраинаVisual StudioОтладка
Итак, время для верного ответа на ранее опубликованную задачку. Спасибо всем поучаствовавшим. Первым же комментарием к посту была вывешена вот эта ссылка. Я, признаться, верил, что она появится не сразу и позволит чуть-чуть продлить интригу. Но Хабр есть Хабр и на каждую хитрую гайку тут найдется свой болт с левой резьбой — и это прекрасно, за то его и любим.

Однако не так был прост конкурс, чтобы его можно было выиграть одной лишь ссылкой на MSDN — там объясняются лишь знаки 1, 2, 3, 7 и 8. А вот что означают и чем друг от друга отличаются 4, 5 и 6 — в этом и была сама задача. К сожалению, многие посчитали первый комментарий верным ответом и отказались от дальнейшего участия. А зря. Прошу под кат.
Читать дальше →
Всего голосов 51: ↑37 и ↓14+23
Просмотры20K
Комментарии 5

Таинственные знаки на полях

Блог компании Инфопульс УкраинаVisual StudioОтладка
Многие из вас, возможно, видели всякие загадочные знаки на полях. Нет, не те что на картинке слева :). Я имею в виду значки на полях редактора кода в Visual Studio. Наиболее известными являются иконки точки останова (Breakpoint) и закладки (Bookmark) . Но есть и другие. Я предлагаю небольшой конкурс: вот 8 значков, которые могут появиться на полях редактора кода в Visual Studio 2010 (без всяких плагинов). Первый, кто верно объяснит их все, получит от меня инвайт на Хабр.

Пишите ответы комментариями к этому топику, а у кого нету аккаунта на Хабре — пишите куда угодно и бросайте ссылку в твиттер с хештегом #VsMisterySigns — обещаю всё прочитать. Ответы удобно нумеровать в соответствии именам интовских переменных в коде. Срок приёма ответов — сутки с момента публикации. Объявление победителя — в течение суток по окончанию приёма ответов, развёрнутой статьей в этих же хабах.

P.S. Обратите внимание, №4 и №6 — это не глюк в задании, это разные значки, обозначающие разные вещи. Смотрите внимательно. Все претензии — к дизайнерам Visual Studio.

Upd. Дискуссия в твиттере поактивнее комментов. Дерзайте, друзья, у всех есть шансы.
Upd2. Ставки сделаны, ставок больше нет. Результаты.
Читать дальше →
Всего голосов 45: ↑26 и ↓19+7
Просмотры11K
Комментарии 21

Windows Installer: то, что вендор прописал

Блог компании Инфопульс Украина
Продолжая тему работы с Windows Installer, сегодня предлагаю поговорить о готовых инсталляторах, предоставляемых производителями ПО – для их обозначения широко применяется термин «vendor MSI».

Как вы помните из прошлой статьи, Windows Installer является промышленным стандартом установочных файлов и используется в большинстве систем развертывания приложений. Vendor MSI очень удобны для системных администраторов, занимающихся развертыванием ПО в корпоративных сетях. Казалось бы, достаточно взять из документации установочные параметры, использовать их в командной строке или трансформе – и дело сделано. Всё ли так просто?

Предлагаю заглянуть внутрь нескольких vendor MSI и разобраться с их устройством.
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Просмотры27K
Комментарии 8

Here be dragons

Блог компании Инфопульс УкраинаC++
Просматривая материалы конференции GoingNative 2012 (которую всем программистам на С++ очень советую посмотреть), я обратил внимание на один пример кода:

#include <iostream>
struct  S { int  n; };
struct  X { X(int) {} };
void f(void*) {
    std::cerr << "Pointer!\n";
}
void f(X) {
    std::cerr << "X! \n";
}
int  main() {
    f(S().n);
}

Сможете ли вы, не подглядывая в ответ, сказать, что напечатает эта программа и самое главное, почему?

Под катом — предположение разработчика Clang из Google о том, почему этот код работает так, как он работает. Еще раз, кто не уловил: разработчик компилятора С++ из Google не знает этого точно, у него всего-лишь есть предположение.
Читать дальше →
Всего голосов 74: ↑63 и ↓11+52
Просмотры21K
Комментарии 53

В чём смысл?

Блог компании Инфопульс УкраинаПрограммирование
	SomeFunction()
	{
	    ...
	    if (false)
	    {
	        ...
	    }
	    ...
	}
	

Зачем может быть нужен блок if (false)?

Предположим, что:
  1. Это не ошибка и не забывчивость.
  2. if и false — это именно оператор условия и логическая ложь, а не какие-то хитрости с макросами\строками и т.д.

Пару вариантов ответа под катом. Желающие высказать свои идеи приглашаются мимо отгадки сразу в комментарии.
Читать дальше →
Всего голосов 120: ↑73 и ↓47+26
Просмотры13K
Комментарии 107

Code Review и теория вероятностей

Блог компании Инфопульс УкраинаРазработка веб-сайтов
Не все программисты хорошо знакомы с теорией вероятностей. Казалось бы — ну какая тут беда? Кто на что учился, гениев-универсалов не бывает. Теорвер на хорошем уровне нужно знать разве что в геймдеве, криптографии ну и может во всяком финансово-статистическом софте. Ан нет! Непонимание некоторых вещей может привести к плохим результатам даже в проектах, где его применением и не пахнет. Нет никакой магии, просто мозг человека неверно оценивает некоторые вероятности и, как результат, принимает неверные решения.
Читать дальше →
Всего голосов 60: ↑46 и ↓14+32
Просмотры16K
Комментарии 55

Есть такая профессия

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

Выходить из дому Антону совсем не хотелось. Но сегодня был особенный день. Сегодня его ждала Работа. Он спокойно собрался и вышел прямо в пелену городского тумана. Антон шел и думал о чём-то своём. Давно прошли те времена, когда перед выполнением заказа он переживал или терзался муками совести. В конце концов, его труд не был преступлением, хотя и был причиной ненависти многих людей. Это просто работа и кто-то должен её делать. У него получалось лучше многих.
Читать дальше →
Всего голосов 197: ↑144 и ↓53+91
Просмотры14K
Комментарии 60

Оценка трудозатрат выполнения проекта по разработке ПО: практика в условиях украинской реальности

Блог компании Инфопульс Украина

Вступление



К написанию данной статьи меня подтолкнул не очень давно завершившийся проект. Как и в любом другом проекте, в нем были и ошибки (в том числе и при оценке), и проблемы и интересные их решения, и, несмотря ни на что, боевой дух команды, и желание сдать проект во время, и переработки и таки сдача проекта в срок, и долгожданный отпуск. Все это стоит отдельной статьи. Но главное — был бесценный опыт, на основании которого создана эта статья.
Очень часто, мы оцениваем проект и сильно ошибаемся. И вроде как из-за мелочей, которые появляются по ходу проекта, но которые, в действительности, можно было бы и обнаружить и учесть заранее.
Статья содержит простые и в тоже время полезные рекомендации и метод расчета оценок трудозатрат проектов и будет интересна руководителям проектов, архитекторам, системным аналитикам, продавцам ИТ решений и всем остальным, кто занимается оценкой работ по проектам с фиксированной ценой (fixed price projects).
В статье мы займемся только оценкой трудозатрат по работе над проектом, оценка длительности выполнения и стоимости – это совсем другая история.
В статье я описываю свой личный опыт оценки проектов, и,
конечно же, у вас могли быть другие ситуации и свои методы и
рекомендации оценивания.
Для большего понимания сути, смысла и «духа» статьи рекомендую сначала просмотреть:
  • выступление Сергея Мартыненко «Написание тестов, как вид тестирования требований»[1], на которое я буду часто ссылаться в ходе данной статьи. Важно понимать, что правильно сформулированные цели и требования – это большой и важнейший шаг к успеху проекта
  • и презентацию Сергея Бережного
    «My Story: «Путь овертаймов» [2]. По большому счету данная презентация к теме статьи не имеет, но имеет отношение к неправильно оцененным трудозатратам.

Статья содержит такие разделы:


  • Украинские реалии при выполнении проекта
  • Проблемы и их решения
  • Подготовка к оценке
  • Перечень работ для оценивания
  • Оценка работ по написанию кода
  • Цифры и коэффициенты из практики
  • Пример расчета

Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Просмотры111K
Комментарии 15