Showing posts with label проблемы. Show all posts
Showing posts with label проблемы. Show all posts

27/10/2020

Кризис

Не знаю как у вас, а у меня наметился совершенно отчетливый кризис неплатежей. Годовые (и более) задержки по оплате выполненных и прошедших экспертизу работ числятся даже за старыми и проверенными клиентами. Начался этот кризис сильно до всего этого ковидобесия. Это очень неприятная тенденция, однако. Пора переходить на 100% предоплату. По сети, кстати, ходит довольно забавная байка на эту тему: БЕЗ ПАНИКИ! ДЕНЬГИ НЕ КОНЧИЛИСЬ!, но я не спец в таких вопросах — достоверность подтвердить не могу.

19/03/2019

Учитесь программировать

На днях привалило мне «счастье» - 100 с гаком гигабайтов базы данных. Очень важных и очень интересных. Однако сразу всплыло несколько "но":
  1. База создана в Borland Interbase 7.5.
  2. Сами важные данные хранятся в виде BLOB-записей в графическом формате.
Сначала пришлось изрядно повозиться только для того, чтоб просто открыть базу, т.к. общедоступный Firebird этого формата не понимает. Потом выяснилось, что ни одна из популярных программ для работы с базами Interbase не умеет в пакетном режиме выуживать из оттуда BLOB-записи и сохранять их в виде файлов. Задача еще усложнялась тем, что мало выудить файл, надо еще его сохранить под правильным именем, которое хранится в отдельном столбце в таблице.
Делать нечего, пришлось экспортировать базу в формат SQLite. В принципе, на этом можно было бы и остановиться, SQLite вполне себе общеупотребимый и удобный формат, но опять проблемы:
  1. BLOB-записи из Interbase почему-то сконвертировались в HEX-строки SQLite (хотя тоже в формате BLOB). Т.е. из бинарного вида они превратились в ASCII: "04В458A4C1...". Т.е. напрямую с этими данными работать не получится — придется извлекать, конвертировать в бинарный вид и уже после этого открывать в графическом редакторе. Либо, как вариант, можно пройтись по базе и перекодировать данные.
  2. Сама идея хранить файлы в базе данных мне кажется сугубо порочной. Для файлов уже создана отличная база данных и называется она — файловая система.
  3. Программы, которые я подобрал для извлечения BLOB-записей из SQLite, отлично работают на маленьких базах, но на больших либо денег просят, либо падают от недостатка памяти при экспорте >1000-й строки (а всего там их около 80 тысяч), а часто и то и другое.
Помог скрипт sqlite-blob-dumper.py. Пришлось его немного модифицировать (о слава тем далеким годам, когда я занимался программированием), чтобы имена экспортируемых файлов брались из базы, а не генерировались на основе номера строки, названия базы и столбца с данными и все заработало. Причем довольно быстро и без проблем с памятью.
Скрипт уже выгрузил 80% базы, когда я понял, что могу сэкономить еще одну итерацию: ведь файлы сохранялись все в том же HEX-виде и для перекодирования в бинарный вид я собирался использовать отдельную программу xxd.exe — хорошую, но медленную под Windows. Тормознул скрипт, модифицировал, добавив в него функцию перекодирования. Теперь файлы сразу сохраняются в нужном бинарном виде — существенная экономия времени и дискового пространства.

P.S.: Для особо прозорливых, кто догадался, что это за база: извините, не моё — не дам.

20/12/2012

Чудеса нашего городка

С занятным гидрогеологическим казусом столкнулся при выполнении одной работы. Объект в центре Москвы, недалеко от одноименной реки.
Разрез представлен сверху вниз: техногенными грунтами, современным аллювием (сверху пески крупные и даже гравелистые, ниже — мелкие), флювиогляциальными отложениями разного состава (пески, суглинки), карбонатными отложениями каменноугольного периода.
Воду изыскатели нашли в крупных аллювиальных песках. Причем водоупором для них служат — барабанная дробь... мелкие аллювиальные пески, которые оказались абсолютно сухими. Пески чистые, промытые, т.е. повышенного содержания пылеватых и глинистых частиц не обнаружено. Следующий водоносный горизонт вскрыли только в нижней части водно-ледниковых отложений (установившийся уровень существенно ниже первого горизонта).

Я бы с радостью списал такую картину на «верховодку», которая образовалась на относительно слабопроницаемых мелких песках после сильного ливня, прошедшего накануне изысканий. Да одна беда: изыскания проводились несколькими независимыми фирмами, в разные годы и в разные периоды года.
И все нарисовали одну и ту же картину — полноценный водоносный горизонт с водоупором из песков. Понимая, что выглядит все это очень странно, называют этот горизонт «верховодкой», которой тут и не пахнет, судя по всему.
Что с этим делать, как объснить, а главное — как моделировать влияние стены в грунте, закопанной аж на 40 метров, я пока не придумал.

09/02/2012

О мистике

Волею судеб решил на какое-то время переквалифицироваться в управдомы полевые гидрогеологи. Нахожусь сейчас на границе тверской и новгородской областей и провожу откачки на довольно крупном действующем водозаборе. Две откачки из пяти пошли в целом без эксцессов, а вот сегодняшняя третья одарила сюрпризами. Первые 8 минут все было нормально — понижение на 4 метра, а к 10й минуте уровень поднялся на 10 см, в следующие два часа у меня было стойкое ощущение, что я слежу не за откачкой, а за восстановлением — уровень вместо понижения демонстрировал устойчивое поднятие. На третьем часу уровень снова «сходил» к понижению 4 м, но на четвертом и пятом опять поднялся примерно на 30 см. Завтра напишу продолжение истории: как прошло наблюдение за восстановлением, а так же расскажу почему был запорот опыт и какие у меня были гипотезы. А пока приглашаю читателей в комментарии — какие у вас мысли на этот счет.