ВЦКП в отключке

К вопросу о размещении мало-мальски серьезных коммерческих проектов на гитхабах и прочих ВЦКП-"облачных" ресурсах.

Службы sourceforge.net, касающиеся проектов, уже второй день лежат. Пишут, что хранилище данных накрылось. В связи с этим прискорбным событием вспоминается, как росчерком пера г-на Ксендзова службы гитхаба были отрезаны от разработчиков РФ "до выяснения".

Ну, и чтобы два раза не вставать.

Типовая схема биллинга исправленная и дополненная

В предыдущей публикации обсуждение прошло весьма и весьма плодотворно. Это потребовало изменений в схеме, а так же переработки терминологии. Так же дополнительно я добавил реализацию НДС/VAT. И выложил схему в формате Power Architect, а также DDL для PostgreSQL на github. Кому интересна в первую очередь эта часть ее можно посмотреть тут.

Но а теперь вернемся к изменениям в схеме. Я добавил следующие новые таблицы:

Типы процессов в софтостроении

На самом деле в софтостроении есть только два типа разработки:

  1. Восходящий (снизу-вверх) - ощупывание слона толпой слепцов.
  2. Нисходящий (сверху-вниз) - создание модели сферического коня в вакууме.

Все остальные методики являют собой смесь вышеназванных в разной консистенции.

Например, спиральная методика типа RUP - последовательное построение сферических коней в вакууме, с каждым витком приближающихся к ожидающим в стойле скакунам, беспрерывно поднимающим хвост на ходу.

Таблицы имен при рекурсивном спуске с возвратами

В заметке "Пишем транслятор" я сетовал на ситуации, когда грамматику не впихнуть в LL(n). В частности, это оборачивается необходимостью поддерживать транзакционность (!) добавления имен в таблицы имен.

Например, есть правило типа

Графический интерфейс: эволюция описаний

Взглянем на простые примеры, как методы и языки описаний графического интерфейса пользователя эволюционировали (или деградировали, это зависит от угла рассмотрения) за 15-20 лет.

Чтобы описать примитивную форму:

Отличия системного программиста от прикладного

Отличий и на самом деле много. Приведу несколько. Вот, например, самое короткое.

Системный программист отличается от прикладного тем, что при переходе улицы с односторонним движением он смотрит в обе стороны.

Или другое.

Системный программист гарантирует, что не сломается. Прикладной программист гарантирует, что починит.

А вот подлиннее, в виде притчи.

Головоломка «Вавилонская башня»

Оригинальная головоломка «Вавилонская башня» 1981 года венгерского производства пополнила мою небольшую коллекцию.

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

Новости импортозамещения

В рекламе «чисто российского сервера» на базе процессоров МЦСТ Эльбрус вскрылась интересная фотодеталь, показывающая американское происхождение изделия.

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

Языки программирования и методы трансляции. С. Свердлов

Зачем вообще понадобилось читать книгу о языках и компиляторах?

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

Тест скорости: array vs TList vs dynamic array

Проведем небольшой замер скорости случайного и последовательного доступа, используя:

  • статический массив (array, должен размещаться на стеке)
  • класс-контейнер TList (размещается в куче)
  • динамический массив (тоже размещается в куче)

Используем массив из 10 миллионов элементов имеющих типы данных "integer" и "varaint". При необходимости вы можете легко изменить тип в соответствующей секции программы.

Страницы

Subscribe to Механика софтостроения RSS