В новом коде старайтесь использовать параметр --strict - он включает большинство опциональных проверок, типизация становится значительно более детальной. Конкретно о проверках на null уже ответил 0xD34F.
Евгений Ромашкан
> и в принципе не является гипертекстом/гипермедиа
ну голый JSON не является, а Siren, HAL или например JSON-LD - являются.
> И почти все эти json апишки для автоматических агентов это самые обычные rpc апишки
конечно, т.к. многие апишки и до второго уровня "зрелости" недотягивают. Бывают API у которых GET с побочными эффектами, что тут поделаешь.
> POST, GET, PUT, всякие сущности и т.п., так же к REST отношения не имеют
ну это примерно как заявить, что веб и HTTP не имеют отношения к TCP/IP. На бумаге - конечно не имеют.
Slady ну если boost python у вас собран статически, может быть этого и достаточно. Попробуйте подключить буст так как вы это пытались делать, а подключение питона оставить как в моём ответе.
Что значит спарсить?? Вам нужно извлечь весь JS со страницы? Вам нужно его выполнить? Вам нужно распарсить страницу ПОСЛЕ того как все скрипты отработали? Какую задачу вы решаете, выразитесь яснее, спасибо.
Apexis говорят что такое бывает если в def-файле нет секции LIBRARY. Добавьте в начало def-файла LIBRARY "sqlite3.dll", перегенерьте lib-файл и перекомпильте проект.
Александр Попов открываете любой более-менее сложный сайт, открываете вкладку Network в отладчике браузера, ищите в списке запросов любой запрос на который был возвращён ответ типа application/json или может быть application/xml. Нашли? Поздравляю, вы только что пронаблюдали то что я назвал "вебом машин" т.к. отданный сервером ответ не предназначался для чтения и интерпретации вами. Этот ответ должен быть обработан каким-то кодом, что и произойдёт в вашем браузере, а непосредственно юзеру, т.е. вам, интерпретировать эти данные не нужно. В отличие например от случая, когда возвращается веб-страничка и всё что делает браузер - лишь оформляет её для вас, а возможность интерпретации этих данных предоставляется вам.
Веб машин это не какой-то отдельный параллельно существующий веб. Это лишь некоторые протоколы и договорённости, которые позволяют машине интерпретировать в ответе другой машины несколько больше, чем в случае "обычного" веба. Контент многих веб-сайтов и веб-сервисов сейчас состоит как из человекочитаемых ресурсов, так и из машиночитаемых.
Просто не сразу придумали, что по вебу можно передать такую информацию, которая будет В ОСНОВНОМ (полностью или по большей части) переработана машиной, а не показана человеку, как обычная html-страничка или картинка. Т.е. сначала пользователь и его браузер (причём именно браузер БЕЗ дополнительной логики в виде скриптов, т.е. основной стандартный функционал браузера) были единственными потребителями контента, производителями контента тоже были люди, веб-сервера лишь раздавали готовые веб-ресурсы из файлов. Потом придумали что веб-ресурсы на сервере не так уж сложно генерировать - тогда потребителями по-прежнему оставались пользователи+браузер, а вот частично производить контент начала машина (т.е. какая-то программа на стороне веб-сервера). А потом придумали что и ПОТРЕБЛЯТЬ веб-ресурсы тоже может МАШИНА, если веб-ресурс представить в более удобном для машинной обработки формате - например json или xml вместо html-текста. Или даже в бинарном. И вроде бы идея на поверхности, однако вдруг стало понятно что веб как модель распределённой информационной системы очень масштабируема и устойчива к изменениям в системе и что мы можем ценой высокой стандартизованности сетевого взаимодействия (в том числе ценой использования протоколов HTTP, форматов данных вроде JSON и т.д.) наладить "разговор" двух очень непохожих машин достаточно быстро и с надеждой что это просто так не сломается в один прекрасный день.
ince Основной аргумент хранения на файловой системе - файловую систему вполне можно считать иерархической/графовой базой данных, оптимизированной под хранение значений больших объемов. Другие СУБД в более привычном понимании обычно лучше переваривают значения значительно меньших объёмов. Файл в 1 ГБ для современной ФС это абсолютно нормальное явление, в то время как значение атрибута записи в реляционной БД такого же размера - это очень много даже для современных РСУБД.
Сергей delphinpro Кстати, а что значит не катит? Если уже давно на веб-фронте произошло разделение понятий "на чём пишем" и "что исполняем в браузере клиента"? Вы же не говорите "Cи не катит как альтернатива ассемблеру конкретной архитектуры так как на выходе всё равно машинный код".
Святослав Коновалов ну не знаю что и сказать.. Значит вы не поняли что написали. Описание функции modf говорит, что она запишет результаты своей работы по переданному адресу. Вы передаёте указатель на нулевой адрес, куда очевидно писать нельзя. Вы никоим образом не предоставляете валидный указатель - например взяв адрес локальной переменной на стеке или же создав объект типа double на куче.
--strict
- он включает большинство опциональных проверок, типизация становится значительно более детальной. Конкретно о проверках на null уже ответил 0xD34F.