• Как мы улучшали TFS

      Ранее, когда у нас не было своего корпоративного блога, я писал о том, как мы используем Microsoft TFS (Visual Studio Team Servives on Premises) для управления жизненным циклом разработки ПО и для автоматизации тестирования. В частности мы собрали большой набор автотестов по разным системам в один пакет, который запускаем каждый день. Подробнее об этом я рассказывал на конференции DevOpsDaysMoscow ( презентация, видео выступления )

      Читать дальше →
    • Ооочень длинное целое

        Накатал небольшую библиотечку для арифметических операций над натуральными числами любой длины. Поскольку писалось на Visual Basic for Applications (VBA), встроенном в Excel, переопределить операции + — * / не получилось, и все решается через вызов функций с 2-мя аргументами вида

        Function LongADD(s1 As String, s2 As String) As String

        Зато можно вызывать функции (или их комбинации) прямо из ячеек экселовского листа – все наглядно и понятно. И да, натуральные числа передаются как строки. Максимальная длина строки в VBA равна примерно 231 = 2 147 483 648 (посчитано моей функцией LongPower(«2», 31)), так что на поиграться с разными штуками хватит вполне.

        Для примера – умножение двух простых чисел из эпохальной статьи Ривеста, Шамира и Алдемана, откуда пошла вся современная криптография (в коде это константы RSA1, RSA2)



        Под катом – код на VBA, его можно просто вставить в модуль Excel-овского файла с поддержкой макросов (типа *.xlsm).

        P.S. не пробуйте использовать код для всяких конкурсов по разложению на простые множители. Он хоть и понимает числа с двумя миллиардами значащих цифр, но безумно медленный для таких задач.
        P.P.S. если все же что-то получится, 10% выигрыша – мне
        P.P.P.S. нет, лучше 15%

        Читать дальше →
        • –10
        • 2,3k
        • 6
      • Подводные камни условного форматирования в MS Access

        Перед каждым разработчиком MS Access рано или поздно встаёт вопрос визуального оформления форм. В конечном итоге заказчику нужен дружелюбный и функциональный интерфейс, и самое страшное то, что скорее всего он уже привык к Excel. И тут Access терпит одно огромное поражение – мы не можем обращаться к ячейкам. Логика работы СУБД такова, что пользователь имеет дело с динамическим набором данных, основанным на SQL-запросе или таблице, а это значит, что мы очень ограничены в форматировании. Разместив на форме поле, подключённое к таблице или запросу, мы получаем весь набор значений этого поля, и форматирование относится тоже ко всему набору значений, но никак не к отдельной ячейке. По большому счёту, такого понятия как ячейка даже не существует. Есть лишь один инструмент, который позволяет нам работать с каждым значением отдельно – Условное форматирование (conditional formatting).
        Читать дальше →
      • Как работать с MS Access в Linux

        • Перевод
        Многие пользуются Аксесом… даже в продакшене… даже по сей день. Посему, случаются моменты, когда кому-то захочется подключиться к этой БД из какого-нибудь неожиданного места. Например с юниксового сервера. Конечно же, подключиться захочется не просто так, а для использования данных из Аксеса в веб-приложении. И, без всякого сомнения, появится желание использовать эти данные совместно с информацией из других, более современных БД.

        Итак, я хочу описать несколько подходов к общению с существом, называемым MS Access. Посему, исходная задача такова: установить соединение с MS Access из Ruby on Rails приложения или из PostgreSQL (используя FDW) и получить доступ к данным, желательно, в реальном времени.

        Ниже я постараюсь собрать всю информацию, относящуюся к вышеописанно задаче и попытаюсь описать нетривиальные случа и подводные табуретки. Надеюсь, это описание сэкономит время кому-нибудь… либо просто, в некоторой степени, позабавит уважаемую публику.
        Читать дальше →
      • Как быстро поднять систему управленческого учёта в рекламном агентстве «с нуля» и без бюджета

        Система управленческого учёта – служит для сбора, систематизации, атрибуции, хранения и анализа данных с целью использования при принятии управленческих решений. Проще говоря, она нужна прежде всего, чтобы в любую секунду руководитель мог открыть Power BI/Excel и увидеть, что происходит в компании прямо сейчас: по деньгам, по людям, по KPI, по показателям качества и так далее. Описанная ниже система является работающей моделью того, что мы хотели бы видеть «в идеале», причём в рамках только одного департамента Digital-рекламы. Решение для всего агентства уже создаётся профессиональными разработчиками на гораздо более серьёзной платформе о которой возможно будет написано в дальнейшем.
        Читать дальше →
      • Как нам обойтись без 1С?

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

          Но вы не бросайте читать эту статью, это еще не основная мысль. Основная состоит в том, чтобы не угодить в логическую ловушку и не посчитать 1С совсем незаменимой в любой части автоматизации всех процессов на предприятии. Вот тут есть с чем поспорить и что предложить. Я хочу рассказать об одном успешном опыте автоматизации самых разных сторон бизнес-деятельности компьютерной фирмы и да, конечно же, о стыковке этого решения с 1С. Работа выросла из необходимости сопряжения разработанной самостоятельно системы с программой 1С, но этот подход (разделение на 2 программных блока) можно развить до полноценной философии построения информационной системы вообще.
          Читать дальше →
          • +6
          • 19,2k
          • 2
        • Реклама помогает поддерживать и развивать наши сервисы

          Подробнее
          Реклама
        • Как я гонял Балду-2, или в поисках оптимального алгоритма

            Балдология, как оказалось (вы ведь слышали о существовании такой науки, правда?), имеет на Хабре отражение в виде нескольких статей, вот они:

            «Алгоритм быстрого поиска слов в игре балда»
            «Алгоритм и тактика поиска слов в игре Балда»
            «Как я гонял Балду на Visual Basic for Applications для MS Access»

            Эта статья — продолжение моей предыдущей, последней в списке. Отправными точками для написания были присланные мне в комментариях ссылки на способ хранения словаря в виде дерева (статья в Википедии с описанием алгоритма Trie), а также упоминание коллеги chibiryaev о его собственной реализации поиска, которая тратит на нахождение слова в словаре из 110 000 элементов всего 16 миллисекунд!

            Собственно, задача №1 – увеличение скорости поиска слов в текстовом массиве.
            Начнем с реализации алгоритма Trie. Для этого нам необходимо поместить весь словарь существительных (43 303 слова) в структуру связанного дерева. Visual Basic не поддерживает переменных-ссылок, подобно C++ или C# (не говоря уже о Pascal), но в этом качестве вполне подойдут индексы массива.
            Читать дальше →
            • +12
            • 8,2k
            • 5
          • Как я гонял Балду на Visual Basic for Applications для MS Access

            Не помню, что меня так заело. Наверно, кто-нибудь обыграл меня в Балду с разгромным счетом (ее онлайн-вариант есть на Одноклассниках, Mail.ru и в куче других мест). Короче, я принял вызов. В прошлый раз так было с программкой для разгадки СУДОКУ. Но там все оказалось заметно проще.

            image
            Балда, она же Волшебный Квадрат. Игроки добавляют на каждом шагу по одной букве, чтобы получилось осмысленное слово как можно большей длины.
            Читать дальше →
          • Джентльменский набор разработчика Access

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


            Читать дальше →
          • Пишем свой VLOOKUP для того, чтобы не зависеть от стандартного (Excel functions)

              Преамбула


              Как известно, знание функции VLOOKUP в MS EXCEL, достаточно чтобы в Москве стать средним аналитиком. Если человек знаком еще и с PIVOT или например знает как убрать дубликаты из списка — все двери в счастливый офисный мир перед ним настежь раскыты.

              У сообщества Хабрахабр, конечно, такие знания могут вызвать лишь улыбку умиления. Работать с данными (если вообще до этого снисходить) допустимо только на олдскульном ANSI T-SQL — 92.

              Но иногда суровая реальность заставляет сравнивать массивы данных. При этом, как правило, нет времени на перенос данных в СУБД, либо это просто нецелесообразно. Поэтому предлагаю уважаемому сообществу поделиться друг с другом своими «фишками» для удобной и быстрой обработки данных в EXCEL. Не пропадать же добру…
              Читать дальше →
            Самое читаемое