Обновить
18
Виктор Соловьев@Dreddsa

Go горе-программист

7
Подписчики
Отправить сообщение

В финале хотелось бы увидеть такую таблицу (не хватает смысла тестов):

| Тесты | Смысл теста | lib/pq|jackc/pgx|jackc/pgx+SimpleProtocol|lib/pq+binary_parameters|jackc/pgx+ExecMode|lib/pq+MAX_PREPARED_STATEMENTS|
|1      |Не хватает   | +     | -       | +                      | +                      | +                | +                            |
|2      |Не хватает   | +     | +       | +                      | +                      | +                | +                            |
|3      |Не хватает   | -     | -       | +                      | +                      | +                | +                            |
|4      |Не хватает   | +     | +       | +                      | +                      | +                | +                            |
|5      |Не хватает   | +     | -       | +                      | +                      | +                | +                            |
|6      |Не хватает   | -     | +       | +                      | +                      | +                | +                            |
|7      |Не хватает   | -     | +       | +                      | +                      | +                | +                            |
|8      |Не хватает   | -     | -       | +                      | +                      | +                | +                            |
|9      |Не хватает   | -     | -       | +                      | +                      | +                | +                            |
|10     |Не хватает   | -     | +       | +                      | +                      | +                | +                            |

"Постоянным TCP-соединением нужно уметь работать, ведь оно сильно от типичного веб-соединения" -> "С постоянным TCP-соединением нужно уметь работать, ведь оно сильно отличается от типичного веб-соединения".
Ну вообще - это как теплое с мягким. TCP - это tcp, web - это HTTP (или что там захотели). При этом HTTP может вообще по разному работать, смотря какая версия, хоть QUIC для HTTP3 и так далее и тому подобное.

Жаль этого добряка. Я бы сказал, что "купил опыт", но цена...
Лучей добра

Позвольте добавить от себя, что не все так однозначно.
Вот графики роста емкости срезов, видна зависимость от типа элементов среза:

Ссылка на исходный код: https://github.com/golang/go/blob/master/src/runtime/slice.go

Хотел написать как надо, а потом подумал - без толку

Звезду поставил - автор молодец, так держать.
Но go - это про горутины там, многопоточность... А структуры в библиотеке без защиты от гонок.
Будет время/желание - можно проработать.
Удачи

fmt.Sprintf для подготовки path... К вниманию: https://pkg.go.dev/path#Join

Здравствуйте, потому что:

  • люблю писать на Go

  • статья о добавлении в стандартную библиотеку функционала MPTCP, в бою не пробовал.

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

Тинькофф Журнал какой-то

Все так. У D2 это MPL 2.0, у plantUML это GPL 3.0.
Вопрос звучал какие отличия, я их перечислил.

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

Ну и код утилиты она точно не выдаст никогда, не та область применения. Все таки это создание диаграмм.
Максимум - преобразование из SVG, созданного ранее, в формат d2 обратно.

Интересная мысль. По ключам CLI не умеет:

d2 --help
Usage:
  d2 [--watch=false] [--theme=0] file.d2 [file.svg | file.png]
  d2 layout [name]
  d2 fmt file.d2

d2 compiles and renders file.d2 to file.svg | file.png
It defaults to file.svg if an output path is not provided.

Use - to have d2 read from stdin or write to stdout.

See man d2 for more detailed docs.

Flags:
  -w, --watch           $D2_WATCH   watch for changes to input and live reload. Use $HOST and $PORT to specify the listening address.
                                    (default localhost:0, which is will open on a randomly available local port). (default false)
  -h, --host string     $HOST       host listening address when used with watch (default "localhost")
  -p, --port string     $PORT       port listening address when used with watch (default "0")
  -b, --bundle          $D2_BUNDLE  when outputting SVG, bundle all assets and layers into the output file (default true)
  -d, --debug           $DEBUG      print debug logs. (default false)
  -l, --layout string   $D2_LAYOUT  the layout engine used (default "dagre")
  -t, --theme int       $D2_THEME   the diagram theme ID. For a list of available options, see https://oss.terrastruct.com/d2 (default 0)
      --pad int         $D2_PAD     pixels padded around the rendered diagram (default 100)
  -v, --version                     get the version (default false)
  -s, --sketch          $D2_SKETCH  render the diagram to look like it was sketched by hand (default false)


Subcommands:
  d2 layout - Lists available layout engine options with short help
  d2 layout [name] - Display long help for a particular layout engine, including its configuration options
  d2 fmt file.d2 - Format file.d2

See more docs and the source code at https://oss.terrastruct.com/d2

По факту можно попробовать сделать запрос на feature или предложить PR с этим функционалом.

Лицензия, год первого релиза, язык разработки, стиль отображения, язык разметки, вставка иконок и картиночек, вставка LaTeX и рендеринг формул, автоформатирование и прочая

При этом разработчики строят на этом свою модель монетизации. Бесплатные dagre и elk делют "шумные" результаты, с ними надо искать приемлимый результат, а вот tala позиционируется как инструмент, который будет делать все гораздо чище. Не тестировал, для небольших диаграмм достаточно первых двух.

Каждый инструмент для своих задач

1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Средний