Archive for 'Программирование'

Немного статистики

На днях провел небольшую экскурсию в свое прошлое и подвел итоги. Вкратце. 1. Общий объем исходных кодов рабочих проектов, с которыми приходится регулярно иметь дело, составляет около 80MB. 2. Половину составляют тесты. А я еще чертыхаюсь — что так все стало сложно и тяжко? 🙂

Регулярные выражения

Вчера весь день доводил до ума одну конструкцию IBProvider, которая была сделана одной из первых в его третьей версии. И краем глаза увидел код вида: Непорядок, подумал я. Надо бы задействовать structure::not_null_ptr для подсказки смарт-указателям: Но решил не отвлекаться. К вечеру, а тем более сегодня с утра, уже не мог вспомнить — ГДЕ ЭТО Я […]

Хорошая статья на Хабре

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

Araxis Merge 2020.5368

Есть три вещи, в которых я провожу 90% времени во время создания кода (порядок произвольный): 1. Visual Studio 2019 CE 2. WinCVS 3. Araxis Merge Pro Первые две вещи — бесплатные. Araxis куплен и лицензия многократно продлена. Если вы пользуетесь этой штукой, то каждый раз, когда нажимаете на кнопочку «закрыть» на вкладке с сравнением файлов, […]

Вести с полей

Привет всем. Никак не получается притормозить изменения в IBP и перейти к финализации версии 5.17. Ну очень увлекательное занятие. 0. Сначала о стороннем. Судя по субъективным наблюдениям — если гонять тесты в четыре потока, то FB3 (Win/SS/x64) вроде как работает без проблем. Если в десять потоков, то рано или поздно к нему приходит северный пушистый […]

Объектное API

Надо сформулировать, в первую очередь для себя, базовые принципы, на которые стоит опереться при создании интерфейса компонент. Пока нахожусь в здравом уме и ясной памяти 🙂 1. В основе должен быть IUnknown. — Это динамическая поддержка нескольких интерфейсов — Это агрегация 1.5 Взять из COM принципы управления памятью и указателями на интерфейсы. 2. Первый аргумент […]

Как выглядят костыли в коде (#2)

Привет. По свежим следам, добавлю сюда заметку про недавнее изменение в коде FB3. Вдогонку Вкратце о проблеме. 1. Есть объект со счетчиком ссылок (класс rem_port). 2. Этот объект управляется через смарт указатель. И, по идее, проблем быть не должно. 3. Тем не менее у него проблема с управлением времени жизни. Дважды удаляется в многопоточной среде. […]

… и в продакшн

%subj% был первой мыслью с утра. Да, походу оно как-то так у нормальных людей и организовано 🙂

Лучше день потерять…

…потом за пять минут долететь. В рамках тестирования следующей версии IBProvider v5.12 была создана пара UBER таблиц c 4096-ю колонок в каждой, которые добили прямолинейные алгоритмы тестирования схем метаданных «schema.002.*» основной тестовой системы. Их там три штуки. Тот, который грузит схемы без кэширования, до последнего времени работал 6 часов. После появления вышеобозначенной сладкой парочки — […]

Вести с полей

Решил сам для себя изложить суть текущей проблемы 🙂 С начала недели на отстое стоит незакоммиченный код c поддержкой IDENTITY-колонок FB3. Задача простая — для всех колонок результирующего множества, напрямую отображаемых на таблицы базы данных, нужно выполнить запрос: select from rdb$relation_fields where rdb$relation_name=’‘ and rdb$field_name=’‘ and rdb$identity_type is NOT NULL Казалось бы, что тут может […]

« Older Entries