Как мы программировали в 80-е или Путь в тысячу ли начинается с первого шага программы.
Как мы программировали в 90-е. Часть #01
Как мы программировали в 90-е. Часть #02
Как мы программировали в 90-е. Часть #03
Разумеется Денди, не знал об этих тонкостях, поэтому и отдал мне тогда – на первой беседе – один файл.
Мой ор я слышу до сих пор.
Денди, видя моё потрясение – и, надо отдать ему должное! – признал такой фейл и добавил немного денег. Немного.
В течении нескольких недель я сделал модуль универсального распознавания формата таблиц. Для его проверки я даже сделал генератор таблиц – он произвольно собирал столбцы из разных файлов и делал таблицы совершенно произвольных комбинаций столбцов, форматов чисел, написания текстов. Импорт сперва сканировал файл и, отметая служебные строки и заголовки, сравнивал наиболее частые строки с библиотекой уже существующих шаблонов. Если ни один шаблон не совпадал – собирался новый шаблон таблицы, в котором определял типы полей – название товара, артикул, количество, цену, в каком городе расположен. После этого происходил импорт таблицы с одновременным вычищением подменных букв «Н» и «р», переносом текста из CAPSLOCK в нормальный, распознаванием полей и их записью в соответствующие разделы товарной базы данных.
Сейчас, возможно, я сто раз подумал бы – браться ли за такое? Тогда у меня был вагон неофитского энтузиазма и... голод. На свою инженерную зарплату я мог купить полтора американского шоколадного батончика.
Конвертацию CyrLat-а в нормальный текст отложил на потом – там были тонкости и их надо было делать вдумчиво. Например «шины» могли быть записаны как SHYNY, SHINI со всеми промежуточными вариантами. Т.е., у задачи начала отрастать внушительная такая, увесистая и раскидистая ветвь создания словаря – она решаемая, только границы у неё в загоризонтной перспективе, а у меня уже и сухари стали кончаться. Денди мои аргументы принял, к тому же оказалось – это единственная биржа с такой кодировкой, у неё на каком-то этапе передачи данных использовался канал телетайпа и они собирались от него отказываться и переходить на модемы.