[09:08:33] <OCTAGRAM> Я в фар менеджере делаю копипасты типового проекта. У меня там и високосные секунды уже есть, и дополнительные проверки валидности, и нормальные точки в именах вместо дебильных минусов
[10:16:27] <ada_ru> (Лекс) Mozilla, Fastly, Intel и Red Hat продвигают WebAssembly, как платформу для универсального применения https://opennet.ru/51849/
[10:52:41] <OCTAGRAM> трудная платформа пока, но уж что есть
[10:54:32] <OCTAGRAM> любой древний ANDF откопать, и то повменяемее будет
[12:05:53] <ada_ru> (Vinpuh)  отвечает (Лекс) на <Mozilla, Fastly, Int…>
Приход java part 2. 😎
[12:10:45] <ada_ru> (Лекс) > Среди основных задач WebAssembly выделяется обеспечение переносимости, предсказуемость поведения и идентичности выполнения кода на разных платформах.

Основное что там лобируется, что как бы пересекается с осноаными задачами Ады
[12:18:37] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <> Среди основных зад…>
Это уровнем ближе к железу
[12:19:08] <ada_ru> (Лекс) очень спорный аргумент
[12:19:59] <ada_ru> (I_vlxy_I) Это виртуальная машина
[12:27:16] <ada_ru> (Лекс) Сейчас я вот столкнулся с "идеологической" дилемой: у нас есть парсер сайтов с гуем под шиндошс, сейчас там 3 сайта (архитектура модульная), в ближайшее время туда войдет поддержка ещё ~30 сайтов😱
Программа будет на поддержке скорее всего до тех пор пока жива фирма-заказчик, поскольку они консервативны, то очень врятли станут менять решение или поставщика решения.

А дилема вот в чём: запилили мы всё по шустрому на го, но в перспективе хотелось бы избавиться от зоопарка языков и держать только Аду.

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

На Аде нет готовой либы для XLSC, и парсера html.

Но мысль о том, что этот код придется поддерживать и через 5 лет и через 10 гонит желание переписать всё на Аду.

Но не могу принять решение😞
[12:42:38] <ada_ru> (python36)  отвечает (Лекс) на <Сейчас я вот столкну…>
было бы оч круто сделать хоть простенький парсер на Аде
потому что я тоже сталкивался с этой проблемой
пришлось писать чисто под свои нужды парсер

http://fil-andrey.blogspot.com/2018/06/ada-bind-libcurl-simple-ada-parser.html
[12:58:56] <ada_ru> (Максим) Я парсил html через биндинг к libxml2
[13:04:55] <ada_ru> (Лекс) В го есть goquery — аналог jquery, было бы круто иметь aquery, но писать нет ни желания ни времени 😂
[13:07:22] <ada_ru> (Лекс)  отвечает (python36) на <было бы оч круто сде…>
Можно ссылку где покупали прокси?

P.s. мы тор под это дело влупили, платить не нужно и работает всегда)
[13:12:44] <OCTAGRAM> это если вебмастера совсем мышей не ловят, а так есть чёрные DNS-списки с в том числе известными экзит-нодами
[13:22:57] <ada_ru> (Лекс) как бы это сказать — нигде проблем встреченно не было, причём один из сайтов с реально жёсткой политикой борьбы против парсеров — авторизация через рекапчу, баны по айпи на сутки за несколько сотен запросов
[13:23:41] <OCTAGRAM> а притвориться Гуглом не получается?
[13:25:47] <OCTAGRAM> я лично парсеры пишу так, что открываю HTML и смотрю, как бы по характерным строкам вытащить инфу
[13:26:57] <ada_ru> (I_vlxy_I) Максим вот ещё кое-что про корутины: https://byuu.net/design/cooperative-threading
[13:27:37] <OCTAGRAM> <div class="что-то что-то что-то ", и такая комбинация классов встречается только в одном месте
[13:27:58] <OCTAGRAM> или один тег сразу после другого, на глаз такое заметно
[13:29:01] <OCTAGRAM> без всяких там кверей ничего не выдумывая по Unbounded_String ищу и вытаскиваю инфу прямым текстом
[13:37:22] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <Сейчас я вот столкну…>
Много ли кода? Если он не сложный и там меньше 10к строк кота, то без разницы какой там язык - переписать будет дёшево.
[13:40:51] <OCTAGRAM> захотел тоже кинуть ссылку про корутины: https://arxiv.org/pdf/1310.3404.pdf
[13:43:10] <ada_ru> (python36)  отвечает (Лекс) на <Можно ссылку где пок…>
https://spinproxies.com/
но сайт уже не работает :(

ну если скорость не важна то можно и тором
[13:49:11] <ada_ru> (Лекс)  отвечает (I_vlxy_I) на <Много ли кода? Если …>
Оснавная проблема в том, что нет готовых сопутствующих либ, как отмечалось в изначальном сообщении.
[13:49:50] <ada_ru> (Лекс) На сколько сложно в аде забиндиться к цппешной либе?
[14:26:22] <OCTAGRAM> что за сопутствующие либы?
[14:28:01] <OCTAGRAM> скажем так, это будет нудно сделать во всей полноте, но для ограниченного количества методов посильно
[14:29:33] <ada_ru> (Лекс) работа с XLSX чтение/запись
[14:30:19] <ada_ru> (Лекс) на крестах есть готовая либа, на го есть (но я не знаю возможно ли в принципе го скомплить в dll и загрузить куда-то)
[14:30:20] <OCTAGRAM> я бы через GNATCOM, OLE2 и обычный Excel запилил работу
[14:30:21] <ada_ru> (Максим) XLSX это Microsoft Excel?
[14:30:25] <ada_ru> (Лекс) да
[14:30:37] <ada_ru> (Лекс)  отвечает на <(OCTAGRAM) я бы чере…>
а если его нету на машине?
[14:31:14] <OCTAGRAM> тогда не будет работать, да
[14:31:36] <OCTAGRAM> вообще странный у вас стек технологий
[14:31:59] <OCTAGRAM> в базу данных бы парсить, а уж там потом выгружать
[14:32:03] <ada_ru> (Максим) Был какой-то костыль для записи. Но чё-то я сомневаюсь https://excel-writer.sourceforge.io/
[14:33:06] <ada_ru> (Лекс) я видел, но читать мне тоже нужно...
[14:34:22] <ada_ru> (Лекс)  отвечает на <(OCTAGRAM) в базу да…>
Парсер десктопный — зачем двойная работа? Файл читается в память и все дела😱
[14:35:16] <OCTAGRAM> да, я наверное, плохо представляю десктопные парсеры
[14:37:49] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <я видел, но читать м…>
У вас веб. Сделай парсящий микросервис на Го и все
[14:37:50] <ada_ru> (I_vlxy_I) Или на крестах
[14:37:51] <OCTAGRAM> вроде как обычно собранные данные утрясают и перепродают, опять же онлайн, а где сайт, там и база
[14:38:11] <OCTAGRAM> я делал парсер-прокси
[14:38:12] <ada_ru> (I_vlxy_I) Поддерживать проще будет чем биндинг к плюсам
[14:38:18] <ada_ru> (I_vlxy_I) И это будет надёжней
[14:38:43] <ada_ru> (Лекс)  отвечает на <(OCTAGRAM) да, я нав…>
их используют аналитики в отделах продаж
[14:39:33] <ada_ru> (Лекс)  отвечает (I_vlxy_I) на <У вас веб. Сделай па…>
Эээ... у меня и так всё на го, без микросервисов, с гуём и модульной архитектурой
[14:40:07] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <Эээ... у меня и так …>
Ну вот будут микросервисы, если хочется вынести надежную часть в Аду
[14:41:07] <OCTAGRAM> а аналитикам не удобней будет писать SQL
[14:41:46] <OCTAGRAM> РСУБД на том же и взлетели, что их аналитики могли напрямую ковырять как им удобно
[14:42:02] <ada_ru> (Лекс)  отвечает на <(OCTAGRAM) а аналити…>
какой-то странный юмор у вас, аналитики сидят в экселе и прогнозируют продажи/строят ценовую стратегию
[14:43:41] <ada_ru> (Лекс)  отвечает (I_vlxy_I) на <Ну вот будут микросе…>
вопрос был в том, чтобы избавиться от Go, а не вынести часть кода в Аду. ъ
[14:44:21] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <вопрос был в том, чт…>
Я думал, что вопрос про то, как сделать лучше :-)
[14:45:08] <ada_ru> (Лекс)  отвечает (I_vlxy_I) на <Я думал, что вопрос …>
Лучше для кого или чего? Чем лучше программа состоящая из двух частей на двух разных стеков
[14:45:45] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <Лучше для кого или ч…>
Гибкостью и если одно свалится, другое будет работать
[14:46:31] <ada_ru> (I_vlxy_I) Гибкость и надежность
[14:46:43] <OCTAGRAM> типа запись в XLSX отвалилась, но не страшно, ведь парсинг-то работает
[14:46:50] <ada_ru> (Лекс)  отвечает (I_vlxy_I) на <Гибкостью и если одн…>
Жду обоснование
[14:47:14] <ada_ru> (I_vlxy_I) Написание и поддержка биндинга - это новые баги. Плюс плюсовые баги и падения в Ада-программе.
[14:47:21] <ada_ru> (Лекс)  отвечает на <(OCTAGRAM) типа запи…>
Замечательно, а куда потом засунуть результаты?
[14:48:12] <OCTAGRAM> можно посидеть и порадоваться, что они хотя бы оказались в оперативной памяти
[14:48:29] <ada_ru> (Лекс) точно, так и передам клиентам)
[14:49:58] <ada_ru> (I_vlxy_I)  отвечает (Лекс) на <Жду обоснование>
Дополнительного обоснования не будет.
[14:50:37] <ada_ru> (Лекс) Понял. Придётся писать либу либо дописывать тот костыль
[14:58:18] <ada_ru> (Vinpuh)  отвечает (Лекс) на <работа с XLSX чтение…>
С java apach poi используйте, вроде бы ада вполне неплохо общается с ней.
[14:58:41] <ada_ru> (I_vlxy_I)  отвечает (Vinpuh) на <С java apach poi исп…>
Э? Как?
[14:59:27] <ada_ru> (Лекс)  отвечает (Vinpuh) на <С java apach poi исп…>
придётся тащить с собой жаву, не очень-то и рационально + те же явазависимости...
[14:59:48] <ada_ru> (Лекс) В общем после этого диалога желание переписать на Аду у меня пропало 😃
[15:00:39] <OCTAGRAM> последяя версия GNAT, где я видел AJIS (генератор привязок для Джавы) это 2014
[15:01:33] <OCTAGRAM> формат байткода джавы должен быть не новее, чем джава того времени, а это 1.6 или 1.7, не помню уже, и тогда всё генерится
[15:06:25] <ada_ru> (Vinpuh) Да через jni можно, http://docs.adacore.com/gnat-ajis-docs/html/Using_JNI_Directly.html
[15:11:34] <ada_ru> (I_vlxy_I) А лучшие - через микросервис :-)
[15:11:56] <ada_ru> (I_vlxy_I) И тогда его можно будет хоть на джаве хоть на гоу
[15:12:02] <ada_ru> (I_vlxy_I) И можно будет менять
[15:12:18] <ada_ru> (I_vlxy_I) А основная прога будет работать как работала
[15:12:42] <OCTAGRAM> микросервис это эвфемизм для протерянных технологий типа SOM
и таки да, можно
[15:12:47] <ada_ru> (I_vlxy_I) Можно и на Аде потихоньку пилить такой микросервис. И валидировать его будет тогда проще. И обкатывать
[15:17:20] <ada_ru> (Vinpuh) Можно просто повторить poi на Ада 😎
[15:20:58] <ada_ru> (Максим) Если можно уговорить Excel читать ODF, можно пробовать генерить ODF, это не должно быть сложно, там же XML. Но чем читать эксель я хз
[15:22:07] <ada_ru> (Максим) я хотел написать простенький template engine для ODF поверх матрешки, но клиент мой где-то пропал 😕
[15:30:47] <OCTAGRAM> XLSX такой же XML в ZIP
[15:43:32] <ada_ru> (Максим) Для него тоже есть открытая спецификация?
[15:46:44] <OCTAGRAM> ISO
[16:18:47] <ada_ru> (Максим) Фигасе
[17:34:19] <ada_ru> (Лекс)  отвечает (Максим) на <Фигасе>
Максим, подскажите какой путь для postgresql передавать в матрёшку при configure?
[17:36:07] <ada_ru> (Лекс) вот такой, например? C:\Program Files\PostgreSQL\9.5
[17:39:16] <ada_ru> (Лекс) ладно, уже перебором нашёл
[17:41:09] <ada_ru> (I_vlxy_I) Как было на самом деле?
[18:08:38] <ada_ru> (Лекс) +\lib
[18:09:07] <ada_ru> (Лекс) кстати не собралась матрёшка https://www.ada-ru.org/files/bot/2019-11-13-x2.jpg
[18:33:25] <OCTAGRAM> как это типично
[18:34:14] <OCTAGRAM> я бы попробовал повторить сборку в msys2
[18:35:01] <OCTAGRAM> что-то смутно помню, что без msys2 тоже не пошло дело на лад
[19:27:24] <ada_ru> (Максим)  отвечает (Лекс) на <>
Хм. А что за компилятор? GNAT GPL 2019?
[19:28:15] <ada_ru> (Лекс)  отвечает (Максим) на <Хм. А что за компиля…>
gnat comunity 2019
[19:30:02] <ada_ru> (Максим) А версия матрешки? последняя из репозитория? У меня собирается https://ci.appveyor.com/project/reznikmm/matreshka
[19:30:59] <ada_ru> (Максим) Вот патч, который нужен, наверное https://github.com/reznikmm/matreshka/commit/a8b5d49693e4d1b3a547a874f29de52fcd6d7da4
[19:42:10] <ada_ru> (Лекс)  отвечает (Максим) на <А версия матрешки? п…>
релиз из репы
[19:42:21] <ada_ru> (Лекс) сейчас попробую последнюю
[19:43:53] <ada_ru> (Максим) Релиз бы до выхода gnat comunity 2019
[20:56:22] <ada_ru> (Максим)  отвечает на <(OCTAGRAM) как это т…>
У тебя есть негативный опыт использования матрешки?
[22:23:57] <ada_ru> (Лекс) последняя собралась)