• Популярные вопросы на собеседовании по C++ и ответы на них

      Здравствуйте!

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

      О том, что спрашивают на собеседовании у C++ программистов, а также об ответах на эти вопросы и пойдет речь в данном посте.
      Читать дальше →
    • Очнитесь, на дворе XXI век

      • Tutorial


      Начать статью я хотел бы с констатации того факта, что прямо за окном находится 2011 год (пруфлинк), середина апреля. Напоминаю я это в первую очередь себе, поскольку меня периодически посещают в этом сомнения. Дело в том, что как по работе, так и ради хобби я часто читаю код на С++, написанный лет 10-20 назад (но поддерживаемый и поныне) или код написанный совсем недавно, но людьми, которые учились программировать на С++ те же 20 лет назад. И вот после этого у меня и возникает ощущение, что никакого прогресса за эти годы не было, ничего не менялось и не развивалось, а по Земле до сих пор бродят мамонты.
      Читать дальше →
    • Автоматическое сканирование в сетевую папку по нажатию кнопки «Scan»

        Стояла следующая задача:
        реализовать автоматическое сканирование при нажатии кнопки на сканере. Полученный материал должен попадать в сетевую папку и иметь уникальное имя. Сканер подключен к рабочей машине, все процедуры по сканированию не должны отвлекать человека работающего за этим компьютером под управлением Windows.
        Читать дальше →
      • Как уменьшить вероятность ошибки на этапе написания кода. Заметка N1

          Check Miranda IM
          Я добрался до кода широко известного клиента мгновенных сообщений Miranda IM. Вместе с различными плагинами это достаточно большой проект, размер которого составляет около 950 тысяч строк кода на C и C++. И, как в любом солидном проекте с историей развития, в нем имеется немалое количество ошибок и опечаток.

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

          Читать дальше →
        • Как правильно читать объявления в Си

          • Translation
          Даже совсем зеленые программисты на Си, не испытывают проблем с чтением таких объявлений:
          int foo[5]; // foo массив из 5 элементов типа int
          char *foo; // foo указатель на char
          double foo(); // foo функция возвращающая значение типа double

          Но как только объявления становятся немного сложнее, проблематично точно сказать что это. Например:
          char *(*(**foo[][8])())[];

          Как же научиться их читать?
        • Что не так с наследованием? Разработка флэш-игр с использованием фреймворка PushButton Engine

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

          Flixel
          FlashPunk
          Citrus Engine
          PushButton Engine

          Этим постом я хочу обратить внимание коллег-флешеров на перспективный опенсорсный движок под названием PushButton Engine. PBE уже успели представить на Adobe Max 2010 и разработать на нем #2 Top Facebook game 2010 по версии insidefacebook.com. Его используют для разработки игр такие компании как Zynga, Playdom, Hive7.

          Разработчиками движка являются достаточно известные в геймдевелоперских кругах люди, создавшие такие игры как The Incredible Machines, Tribes, Torque и другие.

          Предлагается любопытный компонентный подход к разработке, который, по заверениям авторов, гораздо удобнее и продуктивнее при разработке игр чем традиционный объектно-ориентированный.
          Читать дальше →
        • Почему пользователи ненавидят СЭД?


            На 111ом вебинаре UX Russia мы с Андреем Сикорским обсуждаем тихий ужас, который творится в Системах Электронного Документооборота. Программисты создают абстрактные системы для абстрактного пользователя. А реальные пользователи отвечают ненавистью, которую легко понять, если посмотреть на эти системы.
          • Результаты работы App Store и Android Market в 2010 году

              По данным IHS Screen Digest February 2011, продажи мобильных приложений растут просто фантастическими темпами. Например, обороты Android Market в 2010 году выросли в девять раз. Безусловный лидер App Store потерял за прошедший год 10 процентных пунктов и теперь его доля снизилась до 82,7%.

              Оборот крупнейших магазинов мобильных приложений в 2009 и 2010 гг
              2010, место Магазин 2009, продажи 2009, доля 2010, продажи 2010, доля Рост год к году
              1 Apple App Store $769 млн 92,8% $1 млрд 782 млн 82,7% 131,9%
              2 BlackBerry App World $36 млн 4,3% $165 млн 7,7% 360,3%
              3 Nokia Ovi Store $13 млн 1,5% $105 млн 4,9% 719,4%
              4 Google Android Market $11 млн 1,3% $102 млн 4,7% 861,5%
              Всего $828 млн 100% $2 млрд 155 млн 100% 160,2%
            • Китай: как заказывать производство или поставку

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

                В топике — основы аутсорсинга производства в Китай:
                • Как выбрать производителя и сделать заказ
                • Как убедиться, что сделают именно то, что вам нужно
                • Про предоплату, документы, гарантии
                • Как наиболее выгодно доставить
                • Что делать с потерянными поставками
                • Грабли в ассортименте

                Да, если же вы уже заказывали в Китае, то ничего шокирующе-нового в топике вы не найдёте (и, может быть, порадуетесь за то, как нас красиво однажды развели).

                Читать дальше →
              • Обзор C# библиотек для работы с PDF

                  topic image
                  На написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.

                  Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
                  Читать дальше →
                • Система управления документами Alfresco

                  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-х годов, которое:
                  • слишком дорого стоит
                  • слишком сложно использовать, разворачивать, масштабировать
                  • слишком сложно модифицировать под свои нужды
                  • слишком “проприетарно”

                  Попробую рассказать о системе, а вы уже решайте правы ли были разработчики.
                  Читать дальше →
                • Использование паттернов в разработке архитектуры флекс-приложения


                    В нашей компании для планирования оперативной загрузки сотрудников менеджеры использовали Excel. Не было необходимости использовать что-то сложное вроде MS Project. Но с некоторых пор таблицы перестали удовлетворять их требованиям, а расширение возможностей скриптов, вшитых в электронные таблицы, — это не самая приятная задача.

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

                    Читать дальше →