← All posts tagged погроммирование

agr

11 отказов с кодом 405. вообще странно, отдельно взятый браузер от яндекса. но конкретно в этом случае ему спасибо. бот пришёл ко мне от него с этой ошибкой.. полез воспроизводить — столкнулся с бесконечным циклом и too many redirects. пофиксил, да. выводы: нужна документация, слишком много условий, созданных в разное время.. глаза разбегаются..

agr

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

agr

Решил, наконец, поиграться в метамодельки. Веселье заключается в том, что каждому рекорду соответствует ещё его метадата. В связи с чем, возникает хороший вопрос... Допустим, у меня есть тип данных A с именем объекта (aName) и ещё 8 рекордами (aParam1 .. aParam8). Поскольку я помимо данных из базы тяну ещё и метаданные, по которым их идентифицировать, и не люблю ддосить базу, то мне надо вытащить за раз одним селектом 19 полей (имя, идентификатор и тип объекта (3) + параметр и его айдишник x 8 (16)) из базы. Persistent со своим RawSql отваливается на подступах с 8 колонками.

postgresql-query потянет? или что-т другое?

agr

через час после включения новой фичи в телегу прилетает сообщение об ошибке. странное сообщение о том, почему Int не равен Null. оказывается, это древняя багофича persistent: select sum(x) from ... where ... при отсутствии данных persistent сходит с ума и приводит типы не туда. ну ок, пофикшено другим запросом. теперь интересно, сколько отказов в связи с этим было..

agr

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

agr

по следам #2921103:
— во-первых, переводить текст Никиты на хабре — это LOL
— во-вторых, шёл 2018-й год, а люди до сих пор мучаются открывать и читать большие (0.5G+) файлы редакторами (в комментах 200M, блин, те же вим и емакс легко справляются с этим, правда у них тоже есть разумный предел — на моей памяти у емакса — 1.5G, у вима — 2G — ну т.е. открывает, но ходить по файлу уже неприятно).
— далее, камушек в свой огород. брался написать анализатор XML как-то и, как водится, не довёл эту активность до конца. каюсь, грешен. интересно, подобный софт всё ещё нужен кому-то, кроме моего бывшего работодателя?!

agr

смотрю я иногда жуйк, читаю разные треды, смотрю на свой код даже иногда, и врубаюсь в который раз, что корни всех зол исходят от отсутствия документации.
ну т.е. понятно, что JavaDoc/haddock/... (нужное подчеркнуть) — это must have.
но в то же время все нюансы вылезают из деталей.
а эти детали (допустим) документированы на разных уровнях системы.
т.е. есть система, есть её архитектура: пакеты там всякие, модули (или наоборот..).
т.е. есть диаграммы связности.
вот тут база — тут её модель.
смотришь чуть поодаль: тут сервер приложений. тут диаграмма классов/пакетов/модулей.
смотришь: тут клиент, баааа, да это не SPA. и т.д.
смотришь на всё это и видишь, опа трёхзвеночка родименькая.
иногда видишь, что тут базы нет, а тут кафка, а там трешак.
и т.д. и как бы не хватает наглядности и связности во всём этом многообразии.
а если сместиться от архитектуры и перейти к фичам, которые шарашат насквозь, так и вообще — мрак и лес.
и хочется думать о хорошем, о снижении сложности ПО, о самодокументируемых системах. хочется не просто думать, но видеть это хорошее. а значит, и делать. но наверняка, об этом уже многие подумали, это уже многие сделали, и сложности как таковой нет, она иллюзорна, сложность эта..

agr

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

agr

1. получается 3 часа и 2 гига контента на субъект федерации, из которых мне надо 2 мб. всего же их 85+. самый пик — Москва — 162 минуты. раз в неделю — не вариант пускать. ищу альтернативы.

2. удалось выяснить опытным путем, что телефон без рута не может принимать интернет, раздаваемый с вайфая на Bluetooth порт по, соответственно, Bluetooth.

3. удалось прослушать траффик с телефона на компе, в том числе и HTTPS. побочный эффект: да, телеметрии слив есть, по HTTP.

4. удалось вытащить токены авторизации и заодно все заголовки запросов и ответов, зареверсил API.

5. запиливаю клиента под это дело. может, починю сайт раньше, подкрутив клиента под API. а пока продолжу опрос в оффлайне через селениум.

agr

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

agr

анализ и написание сценариев для web scraping в связке с REPL — одно удовольствие!
— продумываю уменьшение нагрузки на целевой ресурс, чтобы не засылать туда 400K запросов.
— нужен ещё один сценарий для сбора метаданных.
— нужно понять, что не так со скроллингом, он, как бы это сказать, проскальзывает. возможно, и существующие сценарии для фантома с заглушками есть шанс реанимировать. проблема с ним воспроизвелась и локально. имея на руках REPL+браузер + любимый хаскелль, в которых можно производить отладку сценариев наглядно, без JS, видеть живую страницу в любой момент времени.