The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проект NGINX опубликовал инструментарий для разработки модулей на языке Rust, opennews (?), 13-Окт-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


2. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (2), 13-Окт-23, 11:03 
Почему веб-фреймворки на расте не пользуются популярностью? Это же прекрасная идея, использовать ржавчину для вебни, никакого тебе гц и рандомных фризов от него, нормальный ffi, складывать строки можно относительно безопасно, производительность почти выше питона на части операций… Иногда, правда, исполнение зависает почему-то (просто так судя по профилировщику), и у питона такого не случалось никогда, но, я уверен, это не повод отказываться от превосходящих технологий.
Ответить | Правка | Наверх | Cообщить модератору

3. "Проект NGINX опубликовал инструментарий для разработки модул..."  +9 +/
Сообщение от Аноним (3), 13-Окт-23, 11:08 
Делать качественно в нашей экономике не принято. Сейчас в моде собрать из экскрементов (питона) то, что еле как шевелится, а потом в разные места добавлять палки, чтобы у структуры хоть какая-то устойчивость была.
Ответить | Правка | Наверх | Cообщить модератору

6. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (2), 13-Окт-23, 11:20 
Расту просто нужны альтернативы sqlalchemy с asyncpg/aiosqlite. И, видимо, асинхронные генераторы.
Ответить | Правка | Наверх | Cообщить модератору

52. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от НяшМяш (ok), 13-Окт-23, 13:25 
> Расту просто нужны альтернативы sqlalchemy с asyncpg/aiosqlite.

Что-то типа такого?
https://crates.io/crates/sqlx
https://crates.io/crates/sea-orm
> И, видимо, асинхронные генераторы.

Этого пока нет (типа синтакса yield), но можно использовать какую-нибудь либу:
https://crates.io/crates/next-gen

Ответить | Правка | Наверх | Cообщить модератору

55. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от Аноним (2), 13-Окт-23, 13:35 
Может быть, но нужны промышленные либы. И ещё alembic.
Ответить | Правка | Наверх | Cообщить модератору

64. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от НяшМяш (ok), 13-Окт-23, 14:21 
Что значит "промышленные либы"? А миграции в sea-orm есть.
Ответить | Правка | Наверх | Cообщить модератору

67. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от Аноним (2), 13-Окт-23, 15:28 
Значит, "отвечающие стандартам индустрии", а не наколенный уровень. Это подразумевает довольно много на самом деле, но, в конечном итоге, сводится к вложенным в развитие и сопровождение ресурсам. Что до алхимии, не думаю, что вообще в принципе существует какой-то аналог на любом языке. Когда я в прошлый раз интересовался, альтернативой были множество разных компонентов различного уровня пригодности, без какой-либо универсальности.
Ответить | Правка | Наверх | Cообщить модератору

101. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (101), 15-Окт-23, 15:50 
Для этого сначала нужен "промышленный" язык, а не наколенный язык без стандарта.
Ответить | Правка | Наверх | Cообщить модератору

105. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (2), 15-Окт-23, 16:35 
У плюсов вроде есть стандарт, а компиляторы тоже отваливаются каждую версию. Да и у си ситуация не многим лучше.
Ответить | Правка | Наверх | Cообщить модератору

112. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Советский инженер (ok), 16-Окт-23, 10:29 
ну и где же популярные веб-фреймворки на С++?
Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

115. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (114), 17-Окт-23, 11:44 
У плюсов есть стандарт. Вот правда, нет компиляторов, которые весь этот текущий стандарт реализуют. И так было практически всегда. И шишечке что-то не мешает это быть "промышленным" языком (ну как не мешает, мешает, конечно, но реальность такова, что вопреки, всё равно является).
Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

85. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Прохожий (??), 14-Окт-23, 12:28 
>Делать качественно в нашей экономике не принято

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

Проблемы с качеством обычно возникают на старте. Потому что есть другое понятие "time to market". Оно часто имеет более высокий приоритет, чем качество. Как говорится: "Скорость, качество, цена - выбирай любые два".

И ещё поговорка из этой же тематики: "Преждевременная оптимизация - корень всех зол". То есть, сначала думают о том, чтобы вообще хоть как-то заработало. А потом только занимаются улучшательствами.

Ещё одно подтверждение тому, что люди думают о качестве - это наличие практики вознаграждений белых хакеров за найденные уязвимости.

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

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

102. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (101), 15-Окт-23, 15:53 
Лекция "невероятное об очевидном" от всезнающего опеннетного эксперта.
Ответить | Правка | Наверх | Cообщить модератору

5. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от Аноним (5), 13-Окт-23, 11:16 
>>> Почему веб-фреймворки на расте не пользуются популярностью? <<<

Нельзя просто так взять и пользоваться Растом, в отличии от того же Питона (порог входа очень высокий!), как результат, колличество людей, которые реально будут этим пользоваться, будет небольшим! Собственно, в линуксе будет именно так, большинство как писало на Си, так и дальше будет писать (если только не начнут заставлять)!

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

19. "Проект NGINX опубликовал инструментарий для разработки модул..."  +2 +/
Сообщение от Аноним (19), 13-Окт-23, 11:57 
Количество людей, которые будут этим реально пользоваться, будет небольшим даже среди тех, кто считает что они со своим "порогом" успешно пишут на раст "совсем не говнокод")
Ответить | Правка | Наверх | Cообщить модератору

103. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (101), 15-Окт-23, 15:55 
Что мы и видим на практике, годы идут, а обещания перевести все на новый язык так и остаются пустыми обещаниями.
Ответить | Правка | Наверх | Cообщить модератору

113. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Советский инженер (ok), 16-Окт-23, 10:33 
на практике мы видим что есть некие странные люди которые выдумали какие-то обещания и ходят рассказывают что никто не исполняет их выдуманных обещаний.
Ответить | Правка | Наверх | Cообщить модератору

9. "Проект NGINX опубликовал инструментарий для разработки модул..."  +2 +/
Сообщение от Аноним (9), 13-Окт-23, 11:33 
Синтаксис просто ужасный. На написание простого парсера csv потратил гораздо больше сил и головной боли, чем на C, C++ и Dlang.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

10. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (9), 13-Окт-23, 11:33 
Парсер csv -- просто как пример упомянул. Понятно, что к вебу это не относится прямо.
Ответить | Правка | Наверх | Cообщить модератору

30. "Проект NGINX опубликовал инструментарий для разработки модул..."  –3 +/
Сообщение от Аноним (2), 13-Окт-23, 12:10 
Типичная работа с csv в питоне выглядит примерно так, неужели в расте нет стандартных батареек для такого и надо тратить своё время? Есть даже поддержка разных "нестандартных" csv с произвольными разделителями. А что до затратности, ведь есть варианты. С си это тоже скорее будет flex/bison, чем стейт-машина. Да и вопрос привычки, кому-то и питон не нравится.

with open(path, 'r', newline='', encoding='utf-8') as csvfile:
    with open(path_target, 'w', newline='', encoding='utf-8') as csvfile2:
        reader = csv.DictReader(csvfile)
        writer = csv.DictWriter(csvfile2, fieldnames=reader.fieldnames)
        for row in reader:
            writer.writerow(row)

Ответить | Правка | Наверх | Cообщить модератору

38. "Проект NGINX опубликовал инструментарий для разработки модул..."  +3 +/
Сообщение от Анонимусс (?), 13-Окт-23, 12:35 
Ну, в расте какбэ аналогично https://github.com/BurntSushi/rust-csv
Не вижу особых различий

    let mut rdr = csv::Reader::from_reader(io::stdin());
    for result in rdr.records() {
        let record = result?;
        println!("{:?}", record);
    }

Ответить | Правка | Наверх | Cообщить модератору

46. "Проект NGINX опубликовал инструментарий для разработки модул..."  +3 +/
Сообщение от Аноним (46), 13-Окт-23, 13:18 
Анекдот.

Встретились два растовика:
- result?
- println!

Ответить | Правка | Наверх | Cообщить модератору

50. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Анонимусс (?), 13-Окт-23, 13:24 
Шутку оценил))
Но все равно не понимаю почему вам это не нравится.
Ведь намного удобнее сразу понимать что это макрос, чем угадывать как в некоторых языках.
А про optional... это было еще до раста.
Ответить | Правка | Наверх | Cообщить модератору

28. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от Аноним (43), 13-Окт-23, 12:07 
Синтаксис это вкусовщина
Хочешь сказать что void *func(void* i) сильно лучше?
Возможно оно тебе понятнее - но только потому, что ты к этому привык.

Я уже молчу про хтонические примеры, которые могут выпрограммировать тру-кодеры на Сях вида
*((char*)0)=null или printf("%d", *((char*)ptr+4));

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

32. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от zezic (?), 13-Окт-23, 12:14 
>Синтаксис просто ужасный.

Не ужаснее, чем в плюсах.

>написание простого парсера csv

А почему потребовалось его писать? Тут ведь есть – https://crates.io/search?q=csv

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

33. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (9), 13-Окт-23, 12:20 
> А почему потребовалось его писать?

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

Ответить | Правка | Наверх | Cообщить модератору

34. "Проект NGINX опубликовал инструментарий для разработки модул..."  +3 +/
Сообщение от zezic (?), 13-Окт-23, 12:24 
Тогда реально интересно было бы, если бы ты поделился конкретными ужасами синтаксиса, чтобы понятно было, о чём речь. А есть ссылка на репу?
Ответить | Правка | Наверх | Cообщить модератору

53. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от НяшМяш (ok), 13-Окт-23, 13:31 
Там вручную его написать, даже пользуясь стандартной библиотекой, элементарно.
1. Читаем стрим или готовую строку построчно:
https://doc.rust-lang.org/std/io/trait.BufRead.html#method.l...
https://doc.rust-lang.org/std/primitive.str.html#method.lines
2. Делаем split по сепаратору и получаем значения столбцов
https://doc.rust-lang.org/std/primitive.str.html#method.split
3. Складываем результат куда надо, профит
Ответить | Правка | Наверх | Cообщить модератору

58. "Проект NGINX опубликовал инструментарий для разработки модул..."  –2 +/
Сообщение от пох. (?), 13-Окт-23, 13:59 
> Там вручную его написать, даже пользуясь стандартной библиотекой, элементарно.
> 1. Читаем стрим или готовую строку построчно:

fail

> 2. Делаем split по сепаратору и получаем значения столбцов

epic fail
> https://doc.rust-lang.org/std/primitive.str.html#method.split
> 3. Складываем результат куда надо, профит

складываем результат в помойное ведерко, идем изучать формат csv и какие в нем бывают подводные камни.

[написал-стер, сам ищи]

После чего открываем, наконец, книжку про конечные автоматы и горько плачем (потому что там в примерах - все на фортране).

И вот так у экспертов опеннета - за что ни возьмутся.

Ответить | Правка | Наверх | Cообщить модератору

62. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от НяшМяш (ok), 13-Окт-23, 14:19 
Это не меняет того факта, что написать _простейший_ цсв парсер _элементарно_ на любом языке. Для всего остального есть готовые библиотеки, где предусмотрено если не всё, то большинство подводных камней, покрыто тестами и фаззерами.

> И вот так у экспертов опеннета - за что ни возьмутся.

Главный эксперт опеннета явно знает о чём говорит. Только вот дети, играя в песочнице, не желают слышать старого дядьку-экскаваторщика как правильно копать надо. А у взрослого мужика своя голова на плечах есть (если он не кексперт опеннета конечно), даже из хренового совета способен сделать верные выводы.

Ответить | Правка | Наверх | Cообщить модератору

68. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от пох. (?), 13-Окт-23, 15:37 
> Это не меняет того факта, что написать _простейший_

то есть неправильно работающий.

Ну да, можно. Годится для четвероклассника на первом уроке информатики. Садись, три. На четыре все же следовало хотя бы знать ограничения. А для понять что собой представляет язык - взрослому мальчику - не годится, взрослые мальчики уже умеют правильно оценить задачу. Насчет найти правильное решение - не всегда. Зря я не стер подсказку, было бы забавно предоставить тебе и полюбоваться на неправильные ответы.

Ответить | Правка | Наверх | Cообщить модератору

82. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Прохожий (??), 14-Окт-23, 11:51 
Там вверху человек сравнивает Питон (использует при этом библиотечные функции) и Раст, без таковых.
Объяснить главному эксперту, в чем ошибка в методике, или он сам догадается?
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

86. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от пох. (?), 14-Окт-23, 12:41 
нет. Там вверху - человек написал (и не стал вам показывать, потому что делал для себя) свой парсер. И сделал выводы по результатам своих трудозатрат, которые и озвучил.

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

Уровень интеллекта опеннета - неспособность даже разобраться кто кому и о чем писал и как это связано (если) с первоначальным предметом обсуждения.

Ответить | Правка | Наверх | Cообщить модератору

74. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от freecoder (ok), 13-Окт-23, 21:49 
Без предъявления кода и говорить не о чем.
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

93. "Проект NGINX опубликовал инструментарий для разработки модул..."  –1 +/
Сообщение от пох. (?), 15-Окт-23, 10:26 
> Без предъявления кода и говорить не о чем.

предъявляй свой, чего ж. А, ты не умеешь кодить...


Ответить | Правка | Наверх | Cообщить модератору

97. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от Советский инженер (ok), 15-Окт-23, 12:23 
>предъявляй свой, чего ж. А, ты не умеешь кодить...

предъявляй свой, чего ж. А, ты не умеешь кодить...

Ответить | Правка | Наверх | Cообщить модератору

98. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от пох. (?), 15-Окт-23, 14:29 
> предъявляй свой, чего ж. А, ты не умеешь кодить...

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

(и да, как ни смешно - у меня есть такой код. Когда-то давно мне понадобился парсер csv, работающий а не "в 80%" как тут у некоторых.)

Ответить | Правка | Наверх | Cообщить модератору

106. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Советский инженер (ok), 15-Окт-23, 19:13 
>мне просто неинтересно с тобой ничего обсуждать, совковый ушлепок, поэтому перетопчешься.

потому что ты со своим приземленным IQ даже не понимаеш на что отвечаеш.

>(и да, как ни смешно - у меня есть такой код. Когда-то давно мне понадобился парсер csv, работающий а не "в 80%" как тут у некоторых.)

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

да, и на убожеств с завышенным ЧСВ, насмотрелся предостаточно. так же как и ты, из штанов выпрыгивают расхваливая себя.

Ответить | Правка | Наверх | Cообщить модератору

11. "Проект NGINX опубликовал инструментарий для разработки модул..."  –3 +/
Сообщение от 12yoexpert (ok), 13-Окт-23, 11:33 
и весит-то всего-ничего, каких-то 300 мегабайт на страничку
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

15. "Проект NGINX опубликовал инструментарий для разработки модул..."  –1 +/
Сообщение от Аноним (2), 13-Окт-23, 11:51 
У go ещё хуже. И там же не cgi наверно. Сколько угодно вьюшек может быть и бинарь будет их сервить. Вроде даже есть поддержка шаблонов а ля jinja (хотя непонятно, что выбрать, всё какое-то максимально стрёмное).
Ответить | Правка | Наверх | Cообщить модератору

31. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от 12yoexpert (ok), 13-Окт-23, 12:13 
nim
Ответить | Правка | Наверх | Cообщить модератору

47. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (46), 13-Окт-23, 13:21 
go - это вобще клинический случай. Язык, пригодный исключительно для создания веб-сервисов в контейнерах, когда при любом раскладе к каждому хелловорлду в рантайме будет добавляться своя копия операционной системы. Тут уж не важно, как идёт копирование: физически отдельным файлом каким-нибудь типа /lib/libc.so.6 или просто копированием всего содержимого libc.so.6 в бинарник.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

73. "Проект NGINX опубликовал инструментарий для разработки модул..."  –1 +/
Сообщение от Аноним (73), 13-Окт-23, 19:58 
Так он Гуглом и проектировался для запуска в контейнерах. Удивительно, что Гугл решает задачи Гугла?
Ответить | Правка | Наверх | Cообщить модератору

44. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от YetAnotherOnanym (ok), 13-Окт-23, 13:10 
> производительность почти выше питона на части операций

До чего же тонко!

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

48. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (2), 13-Окт-23, 13:21 
Какие-то операции определённо могут быть исполнены быстрее, но они не несут решающего значения. Аналогичные задачи, решённые аналогичным способом, часто не оказываются эффективнее. И всё же это лучше го, но го пропихивает корпорация зла и с этим тяжело конкурировать.
Ответить | Правка | Наверх | Cообщить модератору

45. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от НяшМяш (ok), 13-Окт-23, 13:17 
Для бекендов достаточно популярны:
https://crates.io/crates/axum - 22 млн загрузок
https://crates.io/crates/actix - 5 млн загрузок

> производительность почти выше питона на части операций…

А запускалось хоть в --release режиме? А то классическая ошибка новичков всё гонять в дебаге по-умолчанию

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

72. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от ferris (?), 13-Окт-23, 19:43 
actix - это не web-фрэймворк, а фрэймворк обощего назначения для построения приложений на модели акторов.
Вероятно, вы хотиле оставить ссылку на крейт `actix-web`: https://crates.io/crates/actix-web
Ответить | Правка | Наверх | Cообщить модератору

99. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от НяшМяш (ok), 15-Окт-23, 15:41 
Точно-точно, я про actix-web знаю, но не использовал - вот и промазал.
Ответить | Правка | Наверх | Cообщить модератору

116. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (114), 17-Окт-23, 11:57 
Потому, что куяк-куякать (и в продакшн) на питоне может начать после месячных курсов на ютупе маkаkа (качество будет соответствующим, но тяпляпать маkаkа что-то будет), а раст надо дольше изучить. Ты вон почитай как местные матёрые шишечники-опеннетчики не справились даже с синтаксисом раста (по крайней мере пожаловаться на "что не так с растом" к них получается только на синтаксис). А ведь это даже не код писать, это тупо синтаксис - любый нормальный программист синтаксис нового языка осваивает за неделю (максимум).
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

117. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (2), 17-Окт-23, 13:51 
Так это только в представлении маkаk так. Обычно, когда речь заходит о "что не так с растом", вспоминают cargo и crates всё же. Отсутствие бинарного интерфейса и общая нестабильность, из-за которой куча кода отваливается после каждого апдейта. Про синтаксис я не видел, он просто нескучный, что делает сопровождение сложнее, чем требуется. Есть же люди, которым нравится перл, так и тут.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру