Проект: Территория свободного софта

  • Автор темы Автор темы Ignat
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Проект: Территория свободного софта

Я уже вкратце освещал как моя база устроена. И когда мне надо отредактировать уже имеющийся шаблон, который давным давно закатан на болванку, потому что хрен напасешься места на хардах - я его просто достаю с диска, номер диска указан в его записи в базе (mdb), с диска переписываю в текущий рабочий каталог на харде где он будет редактироваться, а в базе изменяю номер диска: ставлю 0 (ноль). Ноль указывает что шаблон (проект) не архивирован еще. С этого момента найти его прежнюю версию можно только в одном из бэкапов файлов базы, а если прошло много времени и в бэкапах уже нет - то вообще не найти, если только не просматривать все диски живьем (а их за 10 лет накопилось ауенное число).

То есть все устроено просто: у каждого диза есть своя рабочая папка, куда он складывает файлы проекта. Затем все собирается в одной папке - которая условно называется Архив. В нее валится и новая работа, и та, которую берут со старых СД для реюза или в качестве шаблонов. Типа такой коллектор. Вся контора туда в конце-концов сваливает свое файло. Разумеется все проекты проходят через базу, и имеют в числе прочих полей, поле Folder - то есть файловое имя коренной папки проекта, или относительный путь. Абсолютный путь к этой папке всегда вычисляется в зависимости от ее местоположения: если это Архив - то добавляется путь архива, если это СД - то путь к приводу, если это рабочая папка диза - то она. Поэтому папку проекта можно открыть для просмотра прямо из клиента базы данных. А равно открыть любой из файлов входщих в нее.

Постепенно Архив заполняется и возникает необходимость его почистить. Делается вообще просто: т.к. каждая запись имеет поля даты создания и даты редактирования, то легко можно сформировать SQL-запрос который вернет таблицу всех записей, поле Disk которых содержит число 0, или параметр Null и сортированных по дате создания или по дате редактирования. Получив такую таблицу программа создает новую под-папку с именем соответствующим номеру будущего СД (с некоторых пор ДВД) и перекидывает в нее все папки проектов которые фигурируют в таблице полученной на SQL-запрос.

При этом проверяется заполнение под-папки и как только ее размер будет больше или равен заданному числу в байтах процесс ее заполнения прекращается, создается еще одна подпапка с номером на 1 больше предыдущей и все повторяется пока не счетчик не упрется в конец таблицы. При этом каких-то папок проектов может и не быть в Архиве - программа проверяет сначала их наличие, и перемещает только то, что есть - это естественно, но только после успешного перемещения папки проекта она изменяет значение поля Disk в его записи в базе, на текущий номер архивного СД.

Клиент базы данных понимает все основные графические форматы - PSD, JPG, TIF, BMP, CDR и пр. для того, чтобы показывать их превью. Кроме того можно сделать превью на указанные пАры файлов, поскольку у нас такая технология, что растр отдельно, а вектор - отдельно. Поэтому чтобы сделать полное превью для какой-нить страницы, клиент управляет Фотошопом, Корелом и Кварком и делает это превью, которое валится в отдельную папку в формате jpeg с разрешением 72 ппи. Так что можно посмотреть как выглядит в основных чертах проект прямо из клиента базы данных. Конечно, только когда он уже архивирован - поскольку пока он живьем валяется, превью специально никто не делает - это в процессе архивирования на СД (ДВД) происходит.

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

Хотите такую же? Поставьте Вижуал Басик и я расскажу как это сделать.
 
Ответ: Проект: Территория свободного софта

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

Может быть вы думаете что это трудно и непостижимо? - Полная херня: на басике можно создавать программы с таким минимумом кода, что вообще почти без кода. Только всовывай органы на форму да прописывай им свойства и связи. Особенно этим славятся именно клиенты баз данных написанных на басике - вообще можно все сделать без единой строчки кода!

Ну а что касается самого кода, то он как раз для новичков и рассчитан: поэтому довольно громоздок, неизящен и неглубок - но зато прост и понятен. Минимум знания английского и мощный креативный инструмент способный повысить производительность вашего труда на десятичные порядки - у вас в руках. Вы думаете что я тут могу трещать целыми днями почему? Потому что я фактически работаю от 5 до 10 дней в месяц - если собрать по часам. Это возможно именно потому, что я вообще не трачу время на выполнение рутинных операций: папки я не создаю - их клиент создает, шаблоны не ищу - их клиент привязывает к записи, файлы не открываю через Open File - только через клиента, то есть файловой системы вообще не вижу: у меня такой "Проводник", где вместо папок - названия проектов, а развернешь нажав на плюсик - появляются файлы. Причем можно открыть одновременно несколько файлов из разных проектов. Разумеется и сохранение файлов идет через это Менегер, а равно импорт и экспорт.

Там даже есть список Recent Files, который перезаполняется в зависимости от того, окно какой программы - Корела, ФШ, Иллюстратора - находится под окном Менегера. С Люстрой, правда, проблема - **анутая программа не дает изменять размер документа и его режим из кодов. Ну и хсней. Дело ведь в чем: часто бывает так, что проект требуется масштабируемый: на веб, на плакат, на листовку. Следовательно вы делаете концепт и дизайн, а потом его адаптируете к другому носителю. Так вот, у меня все просто: я выбираю из списка форматов нужный и программа управляя графическим редактором изменяет размер страницы, ставит все нужные направляющие и создает все нужные объекты в качестве направляющих, если, это, к примеру форма вырубки для упаковки. При этом весь дизайн остается нетронутым.

Свойства страницы хранятся не как файл, а как ее описание в виде данных прямо в базе. Высота, ширина, поля, цвет фона, гадики, разрешение, мода и тп - в отдельных полях, кривые хранятся в виде бинарного массива описывающего узлы кривой. Все это можно забить вручную, а можно создать реальный шаблон, скажем в Кореле - и запустить программу на сбор свойств документа. Она соберет: размер, поля, гадики, кривые. Все это запишется под указанным именем. Переходим в ФШ - и создаем теперь в нем, совершенно точно такой же документ - с теми же размерами и гадиками, с теми же кривыми. Единственно что надо указать дополнительно - разрешение, т.к. документ - растровый. А люстра - погань - позволяет только создавать документы из кодов, а модифицировать - нет. Слава богу что мы ее юзаем крайне редко.

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

То есть вся эта файловая база которой занимается huck - может быть засунута в виде параметров в один-единственный файл базы данных. Скажем формата mdb.
 
Ответ: Проект: Территория свободного софта

Вы, кажется, круты. Дурной характер в этом случае можно и простить.

Почему бы вам, при загрузке 5-10 дней в месяц, не собачиться в форуме, а написать дельную статью со всеми вашими наработками с последующим размещением на проф-форумах? Или ее можно продать в журналы, например,Publish?

Честно говоря, мизантропия - плохой способ донести свой опыт до благодарных потомков. Вы, действительно, многое знаете и умеете,- может, стоит приобретать последователей и учеников?
 
Ответ: Проект: Территория свободного софта


Не по теме:
Ну видать он и в журналах успел показать свой дурной характер. Не берут'с :) Вариант №2 - крутизна больше на словах проявляется. Zest у нас всезнайка а идеал всезнайки - "ничего обо всем"
 
Ответ: Проект: Территория свободного софта

Да нет,тут все сложнее... Товарищ, кажется, действительно компетентен, токо что-то закомплексован немного.

Зееестко! Открой топик в интересной тебе ветке, и учииии! учи! учи! А в гноиццо нет никакого позитива.
Предлагаю лозунг:
Зест! Ты записался в позитивы?!
Очень хочется, чтобы сильные профи были реально друзьями и наставниками нубам.
 
Ответ: Проект: Территория свободного софта

Вы все ничего не понимаете! Учить новичков - это скучно и неинтересно, так как им постоянно приходится повторять одно и то же. Можно обойтись с ними, как Шадрин - попросту отсылать в закрытые топики :) А можно и сюсюкаться всем скопом. А Zest обращается не к новичкам! Он обращается в первую очередь к бывалым и опытным участникам, постоянно тыкая их носом в их же стереотипы. Многое из того что он пишет новичкам попросту непонятно.
 
Ответ: Проект: Территория свободного софта

denisgrim сказал(а):
Многое из того что он пишет новичкам попросту непонятно.
Тогда Зест - санитар леса! Как волк - убивает слабых и нежизнеспособных. Опять же сервак никогда не упадет от перевходов.
 
Ответ: Проект: Территория свободного софта

Обидно только, что ветка завяла... Да и фиг с ней, будем каждый сам по себе копать нужное. Спасибо авторам, которые отнеслись к теме позитивно.
 
Ответ: Проект: Территория свободного софта

Ignat сказал(а):
Да нет,тут все сложнее... Товарищ, кажется, действительно компетентен, токо что-то закомплексован немного.
Мне тоже кажется лунатик закомлексован немного, так может быть вы ему поможете - поделитесь своими комплексами с ним, вам и полегчает. Проверенная технология.

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

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

А такие как Игнат, Лапшин, магнето и лунатик - они абсолютно ничего не предлагают. Они просто - против. Против и баста! Баба Яга - против. Ну и что с того? Ну и пусть стоят против - поток обойдет их стороной - в мире бесконечное количество путей вперед и ровно один - назад. В нем они и прозябают.

По теме:

Народное программирование процветает именно на платформе VBA - вижуал басик фор эпликэйшн. Более того, оно в определенной части - коммерческое занятие, бизнес. Люди пишут скрипты для Ворда, для Екзеля, для Корела - и продают их за деньги. Но несметное количество этого добра раздается бесплатно. Сейчас у нас стало стандартом что серьезное приложение обязано иметь средства автоматизации. Практически все наши дизайнерские программы имеют такие средства. И если, например, Фотошоп не предлагает VBA, но объектная библиотека и библиотека типов имеется и ее можно заюзать в обычном Басике. А значит соединив мощь API и GUI винды с мощью прикладной программы получить совершенно уникальную мульку - такую, какую вы вовек не сыщите ни на каких развалах полезного и бесполезного софта.

Например упомянутые Recent Files Фотошопа. Уловка в том, что ФШ пишет этот список вне зависимости от того, включено его отображение в меню File или нет. Но если его включить - ФШ зачем-то проверяет этот список и если там есть сетевые пути - это заметно замедляет запуск ФШ. Список дело полезное, а замедление - вредное. Что делать? Вот, пишем функцию к своей мульке которая достает этот список и отображает в своем меню - пользуйся и замедлений нет.

База, точнее платформа такой мульти-мульки которая управляет кучей апликух - код, который анализирует наличие открытых окон приложений и проверяет какое из них находится непосредственно под окном самой мульки. То есть она сама "смотрит" какая программа под ней и пересылает команды юзера в соответствующие ветви кода. Такая привязка позволяет избежать слепого управления и ошибок, когда вы не видя окна приложения что-то там делаете.

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

Zest сказал(а):
Мне тоже кажется лунатик закомлексован немного.
Нет я просто перестал общаться с "компетентным" идиотом. И всем того желаю. Быть может тогда Zest свалит и перестанет засорять форум.
 
Ответ: Проект: Территория свободного софта

Нет я просто перестал общаться с "компетентным" идиотом.
Ну вот, теперь лунатик с игнатиком не будет разговаривать. Дожились!
 
Ответ: Проект: Территория свободного софта

Дайте ребенку соску ... на конец.
 
Ответ: Проект: Территория свободного софта


Не по теме:
Zest сказал(а):
Ну вот, теперь лунатик с игнатиком не будет разговаривать. Дожились!
Я думаю все кроме вас поняли кого я имел в виду. Но могу повторить. "Компетентный" идиот - это Zest.
А ветка загнулась, стараниями Zesta (в основном). В игнор его и воздух сразу очистится!

 
Ответ: Проект: Территория свободного софта

Ignat ну зачем сам по себе. Зайдите на дружественный форум - там целая ветка "Бесплатные и условно-бесплатные программы".
 
Статус
Закрыто для дальнейших ответов.