excubitus: (Default)
[personal profile] excubitus
Начальник:
- Осталась маленькая задача, как раз для вашей [убогой] группы подойдет. Надо перенести данные из старой таблицы в новую.

Новая продвинутая программа работать с данными старой программы не умеет. В старой программе таблица имела, в общем, два столбца: Description и Value. В новой таблице эти столбцы остались, но добавились
Description_ID, Value_Max, Value_Min, Value_Unit. Задача нашей мало на что годной группы состоит в том, чтобы заполнить эти новые поля. Прочитать Description, выбрать из таблицы возможных описаний подходящий ID; прочитать Value - вытащить оттуда максимум и минимум, и единицу измерения. На полчаса задачка.

Но есть одно "но". И описания, и значения забивались вручную живыми людьми. В течение многих лет. Записей сотни тысяч. Под миллион. И все они в свободном формате. То есть запросто могут быть значения в форме
"1 Гц - 1000 МГц" или "0.001 кГц - 1e6 КГц", и это одно и то же. А может быть "1 - 1000 МГц", и это уже совсем другое, это означает 1 МГц - 1000 МГц. А может быть записано "500 МГц +/- 100", это значит 400 МГц - 600 МГц, в то же время, может быть записано "500 +/- 100 кГц", и это уже означает 400 кГц - 600 кГц. Еще вместо черточки, знака "минус", бывает многоточие, слово "TO", две точки "..", двоеточие... Еще бывают два диапазона, записанные в разной форме. Еще бывают всякие пояснения своими словами.

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

На полчаса задачка... Да я вообще не знаю, как за такое браться.

Date: 2017-01-27 03:03 pm (UTC)
From: [identity profile] t o (from livejournal.com)
парсером хуле
надо создать дополнительную таблицу. три колонки - деск, мин, макс.
пройти первый раз и проставить мин, макс. посмотреть глазами какой вариант не был предусмотрен, ещё раз пройти. повторить.

Date: 2017-01-27 03:06 pm (UTC)
From: [identity profile] excubitus.livejournal.com
Каким парсером, например?

Date: 2017-01-27 03:23 pm (UTC)
From: [identity profile] t o (from livejournal.com)
просто кодом, не знаю на чём ты там пишешь

Date: 2017-01-27 03:31 pm (UTC)
From: [identity profile] excubitus.livejournal.com
Самому кодить? Зашибись идея.

Date: 2017-01-27 03:33 pm (UTC)
From: [identity profile] t o (from livejournal.com)
есть 100500 фрилансерских сайтов, где за 500 р за выхи тебе переформатируют таблицу

Date: 2017-01-27 03:39 pm (UTC)
From: [identity profile] excubitus.livejournal.com
800+ тысяч записей? За 500 р?
Сомневаюсь.

Date: 2017-01-27 03:46 pm (UTC)
From: [identity profile] meggirita.livejournal.com
Переформатируют? А данные выносить вовне, за это по головке не погладят. Заведите себе раба-программиста хакера, из тех, кто влияли на выборы. Посадите его у себя под столом, прицепите на цепочке за ножку стола и кидайте ему туда задания- кодь! Когда сделает, то бросьте 500 рублей. Запаситесь только мелкими русскими купюрами, сто, пятьсот рублей.
Edited Date: 2017-01-27 03:46 pm (UTC)

Date: 2017-01-27 03:55 pm (UTC)
From: [identity profile] excubitus.livejournal.com
Да данные ничего, они открытые.
А с рабом идея хорошая, да.

Date: 2017-01-27 03:58 pm (UTC)
From: [identity profile] meggirita.livejournal.com
Идея прогрессивная. Тот раб себе ещё какого раба найдёт, с меньшим аппетитом. И когда уже дойдут до тех, кто готов кодировать за шесть корочек хлеба, остановятся. Это и будет исполнитель.

Date: 2017-01-27 07:50 pm (UTC)
brmail: (письмецо)
From: [personal profile] brmail
1. добавить в первую табличку новое поле processed
2. накидать навскидку транзакцию которая будет переносить записи в новую табличку и апдейтать processed в старой
внутри транзакции предусмотреть парсер по результатам которого будут переноситься записи.
3. Проверить сколько записей осталось после первого, наиболее явного переноса.
4. Если записей дохрена - пощаманить над парсером.
5 Повторить начиная с пункта 2
Да, это несомненно займет несколько дней

Date: 2017-01-27 07:56 pm (UTC)
From: [identity profile] excubitus.livejournal.com
Мне дико не хочется писать парсер самому, на 146% уверен, что их овердопениса написано уже, в том числе и примерно под мою задачку. На выходных сперва попробую поискать...

Date: 2017-01-28 11:01 pm (UTC)
From: [identity profile] olnigami.livejournal.com
Я всегда сильно напрягаюсь, когда слышу от начальства "маленькая задача" или "простое дело" или "да тут и делать-то нечего!". Всегда за этим следует какая-нибудь подстава. И что характерно, поначалу действительно работа выглядит просто, а потом бездна открывается постепенно, когда втягиваешься и понимаешь как круто попал.

Date: 2017-01-29 02:32 pm (UTC)
From: [identity profile] resonata.livejournal.com
Да, у меня тоже так: если начальство говорит, что это просто, быстро и т.д., то можно ставить СОбор св. Петра и весь Ватикан на то, что задача очень трудоемкая.

Date: 2017-01-30 04:09 am (UTC)
From: [identity profile] excubitus.livejournal.com
У начальства свои критерии. Когда есть, кого озадачить, и исполнитель достаточно безотказный, то задача, очевидно, простая...

Date: 2017-01-30 04:07 am (UTC)
From: [identity profile] excubitus.livejournal.com
Не скажу, что недоволен - наличие сложных задач немного увеличивает защищенность моего рабочего места и зависимость начальства от меня. Но да, есть такая закономерность.

Profile

excubitus: (Default)
excubitus

December 2025

S M T W T F S
 1234 56
78 910111213
1415 1617 181920
21 222324252627
28 29 3031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 31st, 2025 08:11 pm
Powered by Dreamwidth Studios