Re[7]: "Питон не нужОн" (с) Google
От: Pzz Россия https://github.com/alexpevzner
Дата: 01.05.24 08:25
Оценка:
Здравствуйте, so5team, Вы писали:

S>- при наличии в Си отличной libcurl надобность делать своего клиента под большим вопросом (кому не хватает libcurl может взять Boost.Beast);

S>- уверен, что Pzz, мягко говоря, обкакался бы делавши свой нормальный HTTP-клиент для Си (ну чтобы оказался не хуже libcurl).

А что есть нормальный? libcurl не плох, но у него есть статические состояние и явная инициализация/деинициализация. Как следствие, его нельзя поместить в загружаемый плагин — если в соседнем плагине тоже libcurl окажется, быть беде.

Pzz бы не обкакался, но отдает себе отчет в масштабе этой деятельности.

У меня никогда не стояло задачи написать универсальный HTTP-клиент общего назначения, но специализированные клиенты для конкретных надобностей писать приходилось. Даже и для Go, как не удивительно.
Re[8]: "Питон не нужОн" (с) Google
От: Pzz Россия https://github.com/alexpevzner
Дата: 01.05.24 08:28
Оценка: :))
Здравствуйте, CreatorCray, Вы писали:

Pzz>>Там самое сложное — не насвистеть в нюансах, которых там много.

CC>В каких именно?

Ну, начнем с простого вопроса. Ты знаешь, как выглядит HTTP URL с IPv6 literal address? А что такое zone suffix и в какое место он в этом URL-е пишется, знаешь? А в каких случаях его надо вписывать, а когда нет — знаешь?
Re[9]: "Питон не нужОн" (с) Google
От: Pzz Россия https://github.com/alexpevzner
Дата: 01.05.24 08:29
Оценка:
Здравствуйте, Pauel, Вы писали:

P>Urlencoded, formdata, multipart, etag, content range, sse, connection reuse, proxy, authentication (basic, bearer, oidc)


HTTP trailer headers
Re[9]: "Питон не нужОн" (с) Google
От: CreatorCray  
Дата: 01.05.24 08:53
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>>>Там самое сложное — не насвистеть в нюансах, которых там много.

CC>>В каких именно?

Pzz>Ты знаешь, как выглядит HTTP URL с IPv6 literal address?

Ожидаемо, чо.
Ты лучше скажи знаешь ли ты что эти навороты ну просто нахрен не нужны в зоопарке?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[8]: "Питон не нужОн" (с) Google
От: пффф  
Дата: 01.05.24 09:01
Оценка:
Здравствуйте, Pzz, Вы писали:

P>>А вот тот же фокус повторить с апи линукса или макоси у вас уже не получится — эти товарищи обратной совместимостью не озабочены.


Pzz>Смотря где. У glibc, которая отвечает за POSIX API, с совместимостью всё хорошо. Прям даже очень хорошо. Ну а более другие библиотеки, с ними по-разному.


безгуйных демонов можно писать, да
Re[10]: "Питон не нужОн" (с) Google
От: Pzz Россия https://github.com/alexpevzner
Дата: 01.05.24 09:18
Оценка:
Здравствуйте, CreatorCray, Вы писали:

Pzz>>Ты знаешь, как выглядит HTTP URL с IPv6 literal address?

CC> Ожидаемо, чо.
CC>Ты лучше скажи знаешь ли ты что эти навороты ну просто нахрен не нужны в зоопарке?

Мне понадобились.
Re[6]: "Питон не нужОн" (с) Google
От: Privalov  
Дата: 01.05.24 10:32
Оценка: +1
Здравствуйте, AlexGin, Вы писали:

AG>Открою один маленький профессиональный секрет — если за дело берётся профессионал, сроки создания продукта не будут зависеть от того, что (какой язык) выбрано.


Несколько лет назад я уже видел в КСВ точно такое же утверждение. Я тогда же привёл опровержение.

Может, если сроки не зависят от инструмента, писать на ассемблере вообще всё?

AG>Что касается десятков лет — я относительно недавно открыл книгу Чарльза Петзольда по программированию на WIN-API (книжка 1990-х).

AG>Попробовал откомпилировать и запустить (Windows-10, MSVC-2019) несколько примеров — всё работало как швейцарские часы.

Так это не про время разработки, а про обратную совместимость. Так я больше скажу: наш проект на Фортране работал вообще везде: на ЕС-1036, в реальном режиме МС ДОС, с ДОС-экстендером, в Полуоси, в разных версиях Винды.
Re[11]: "Питон не нужОн" (с) Google
От: CreatorCray  
Дата: 01.05.24 11:02
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Мне понадобились.

Для чего именно?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[12]: "Питон не нужОн" (с) Google
От: Pzz Россия https://github.com/alexpevzner
Дата: 01.05.24 13:06
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, Pzz, Вы писали:


Pzz>>Мне понадобились.

CC>Для чего именно?

Для комммуникации с сетевыми устройствами с использованием протокола на основе HTTP.
Re[10]: "Питон не нужОн" (с) Google
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 01.05.24 13:29
Оценка: +1
Здравствуйте, CreatorCray, Вы писали:

P>>Urlencoded

CC>Элементарно

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

P>> formdata

CC>Это вообще не задача самого клиента, скорее wrapper над контентом.

Это вы на консумера собираетесь переложить? Ну-ну

P>> multipart

CC>Аналогично
CC>В целом не вижу в чём тут могут быть сложности — написал, работает.

Вам нужен и парсер, и рендерер. А ну как сервер ответит мультипартом?

P>> etag

CC>А нафига оно во встраиваемом в аппу клиенте?

Трафик экономить, перформанс, условные запросы делать.

P>> content range

CC>А что с ним? Банальная сборка/отправка фрагментов

На этой банальной сборке-отправке срезалось огромное количество передовиков.

P>> authentication (basic, bearer, oidc)

CC>Не задача самого клиента вообще, пришлёпка сверху

Это смотря что вы под клиентом подразумеваете. Аутентификация должна идти внятным апи, что бы консумерам не надо было раскорячиваться, если вдруг ресурс поменяет схему аутентификации.
Re[8]: "Питон не нужОн" (с) Google
От: SkyDance Земля  
Дата: 01.05.24 14:36
Оценка:
CC>Нафига тебе дотнет на маке?

Теперь уже не нужно. Но пока не было виндо-машины, приходилось на маке.

CC>KVM юзает под капотом QEMU, который делает очень многое сильно медленнее


В теории, Docker делает ровно то же самое, когда запускает x64 на ARM64. Но у кого-то там руки почесались приделать розетту туда.
Re[6]: "Питон не нужОн" (с) Google
От: Anton Batenev Россия https://github.com/abbat
Дата: 01.05.24 18:38
Оценка: :)
Здравствуйте, Nuzhny, Вы писали:

N> Что мы будем делать? Ты для каждого скажешь, чем он так плох?


Они все хуже libcurl как минимум по фитчам. При этом самому libcurl тоже далеко до идеала. Ну а "самописный http-клиент" ничего, кроме улыбки, конечно не вызывает.
Re[11]: "Питон не нужОн" (с) Google
От: CreatorCray  
Дата: 01.05.24 21:40
Оценка:
Здравствуйте, Pauel, Вы писали:

P>Потому клиент всегда идет как часть платформы — тк здесь конское количество кода.

Как часть платформы идёт всемогутер, со всеми проблемами что ты тут описал. Которые там появились именно потому, что писали всемогутер.

P>Это вы на консумера собираетесь переложить? Ну-ну

На функцию-препроцессор, который payload для HTTP запроса готовит.

P>>> multipart

P>Вам нужен и парсер, и рендерер.
Рендерер чего? Я не браузер делаю а data transport

P> А ну как сервер ответит мультипартом?

Ну он мне и отвечает мультипартом, а как ещё большие блобы из облака доставать?

CC>>А нафига оно во встраиваемом в аппу клиенте?

P>Трафик экономить, перформанс, условные запросы делать.
Какой трафик экономить? Если я уж куда лезу, мне надо то, что с той стороны отдают.

CC>>А что с ним? Банальная сборка/отправка фрагментов

P>На этой банальной сборке-отправке срезалось огромное количество передовиков.


P>Это смотря что вы под клиентом подразумеваете.

Аппликуху, заточенную на работу с конкретными источниками данных.

P>если вдруг ресурс поменяет схему аутентификации.

Это настолько в обсуждаемом контексте маловероятно что даже не интересно обсуждать.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[13]: "Питон не нужОн" (с) Google
От: CreatorCray  
Дата: 01.05.24 21:40
Оценка:
Здравствуйте, Pzz, Вы писали:

CC>>Для чего именно?

Pzz>Для комммуникации с сетевыми устройствами с использованием протокола на основе HTTP.

Ты часом не математик? (С)
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[9]: "Питон не нужОн" (с) Google
От: CreatorCray  
Дата: 01.05.24 21:40
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Теперь уже не нужно. Но пока не было виндо-машины, приходилось на маке.

А был нужен на маке зачем?

SD>Но у кого-то там руки почесались приделать розетту туда.

Потому что розетта сильно быстрее.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[14]: "Питон не нужОн" (с) Google
От: Pzz Россия https://github.com/alexpevzner
Дата: 01.05.24 22:17
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>>>Для чего именно?

Pzz>>Для комммуникации с сетевыми устройствами с использованием протокола на основе HTTP.

CC>Ты часом не математик? (С)


Интересно, задавая этот вопрос, какого ответа ждал ты?
Re: "Питон не нужОн" (с) Google
От: Артём Австралия жж
Дата: 01.05.24 23:01
Оценка: :)
Здравствуйте, cppguard, Вы писали:

службы поддержки для пользователей Python в Google, помогая решать сложные проблемы и указывая новичкам правильное направление


Всегда думал, что Гугл отбирает 1% лучших от 1% всех программистов, а тут вон оно что- этим лучшим нужна помощь с Питоном.
Re[15]: "Питон не нужОн" (с) Google
От: CreatorCray  
Дата: 01.05.24 23:47
Оценка:
Здравствуйте, Pzz, Вы писали:

CC>>Для чего именно?

CC>>Ты часом не математик? (С)
Pzz>Интересно, задавая этот вопрос, какого ответа ждал ты?
Который из двух вопросов?
На первый — ситуации где такое в реальной жизни понадобилось.
Второй вопрос уже был риторический.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[2]: "Питон не нужОн" (с) Google
От: CreatorCray  
Дата: 01.05.24 23:47
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Всегда думал, что Гугл отбирает 1% лучших от 1% всех программистов

С чего ты так решил?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[10]: "Питон не нужОн" (с) Google
От: SkyDance Земля  
Дата: 02.05.24 01:22
Оценка:
CC>А был нужен на маке зачем?

Что выдали, тем и пользовался. Допускаю, что от меня не ожидали вгрызания в самые потроха, и предполагали, что я обойдусь раздачей указаний, и кто-то другой будет ковырять реальный код. Но, оказывается, большинство "писателей на C#" не только понимают, как работает .NET runtime, но им даже и в голову не приходит, что это ж open source, можно все самому посмотреть, и объяснить, какого рожна паузы на GC подпрыгивают с 20 до 200 мс., таймаутя запросы.

Мне в принципе-то Мак нравится, особенно тот что 14 про в полной комплектации, но беда в том, что серверный софт весь x64. А изучать дампы без WinDBG и вовсе оказалось тем еще мазохизмом.

CC>Потому что розетта сильно быстрее.


Да в миллион раз! Вместо того, чтоб минуту анализировать дамп, через 0.1 сек падает со словами segmentation fault. Кстати, а есть ли какое-нибудь заклинание, чтоб docker не дурил, а запускал QEMU с полной эмуляцией? Мне пофигу, что будет не 5, а 50 секунд анализировать.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.