All streams
Search
Write a publication
Pull to refresh
22
0
Tourmaline Core @TourmalineCore

User

Send message

Пока мы не сталкивались с проблемами скорости сборки - на наших документах укладываемся в разумное время. Но ваш опыт с precompiled headers очень интересен, спасибо за наводку (вот она - сила Хабра, когда в комментариях появляются ценные идеи).
Можете поделиться примерными замерами, насколько ускорилась у вас сборка?
Для ускорения можно еще попробовать выносить статичные части документа в отдельные .pdf и подключать через \includepdf. В нашем шаблоне затратна по времени генерация диаграмм из текстового описания, поэтому при билде проверяем, если диаграмма уже была ранее сгенерирована в отдельный pdf, то повторно не перегенерируем ее, а берем уже готовую.

Пока только поверхностно ознакомились с Typst. А поделитесь опытом, почему Typst не заменит TeX?

Выглядит как альтернатива LaTeX, но с более простым синтаксисом. Плюс одна полезная ссылка, спасибо за наводку!

Спасибо за отзыв! Рады были поделиться опытом ) Markdown тоже широко используем, а для навороченных док - LaTeX.

Спасибо за ссылку, приложение многообещающее, еще и open source! Здорово, что есть поддержка популярных диаграмм и графики (Mermaid, PlantUML, Draw.io) и вообще выглядит очень дружелюбно. Попробуем, для небольших и средних док выразительных возможностей точно хватит. Но и LaTeX не забросим - понравились нам возможности полной настройки и автоматизации )

  1. Да, документация в коде (Doxygen) здорово дополняет docs-as-code! Но есть еще архитектурные решения, диаграммы потоков данных, гайды по онбордингу и интеграции, спецификации и подобное - вот тут LaTeX очень хорошо подходит.
    LaTeX внутри комментариев - звучит интересно, кажется подойдет там, где требуется действительное подробное описание происходящего, мы не пробовали, у нас не было такого rocket science )

  2. PDF тут скорее не про печать на бумагу, а про строгую вёрстку, которая не плывет как веб-интерфейс. И да, мы неоднократно сталкивались с требованиям о предоставлении документации именно в виде PDF. А LaTex можно преобразовать и в HTML (через Pandoc), главное тут единый источник - .tex файл (что соответствует общему принципу docs-as-code), а выходной формат можно менять.

  3. Спасибо за наводки, Org Mode и Texinfo действительно выглядят как мощные инструменты! У нас никто не использовал Emacs, поэтому мы пошли путем LaTeX.

Если честно - не жаль. Жаль, когда в документации WYSIWYG после переноса картинки или добавлении в табличке новой строки начинает все ехать. Особенно больно, когда дока не на страничку, а на 100 - и одна микроправка убивает часы ручного форматирования.

В общем, зависит от объема и навороченности документации: для небольших документов можно обойтись и простыми решениями, но чем сложнее и объемнее документация, тем больше времени вы будете терять на борьбу с WYSIWYG-редакторами вместо собственно работы с содержанием. Мы считаем, что затраты окупаются, так как результат получается "красивым" и предсказуемым. Но, каждой задаче - свой инструмент.

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

Но про docbook до сих пор не слышали, посмотрим. Спасибо за рекомендацию!

Согласны про больше интеграционных. Мы тут под Unit подразумеваем не всегда самую маленькую и ни от чего независящую единицу. Мы сейчас тоже перешли к большему количеству интеграционных тестов + минимум E2E-тестов самого API, которые заменяют каноничные Unit-тесты..

А у нас достаточно опыта в .NET и насмотренности в других стеках, таких как Python, NodeJS, C/C++. Один из авторов, который вам сейчас пишет - Александр, начинал профессиональную карьеру на C# 13 лет назад, читал Рихтера, Фаулера, Мартина и т.д., делал проекты, ездил учиться на конференции DotNext, а сейчас и сам делится знаниями и видением.

Ещё ребята в Go так делают: https://go.dev/doc/tutorial/add-a-test и вот ещё интересное обсуждение такого подхода, https://www.reddit.com/r/golang/comments/157tsdj/where_do_you_place_your_tests_in_your_project/?rdt=51749.

Если что, мы ещё и не верим в автомаппер и медиатор в .NET проектах =ъ

Пыс: не очень понятно откуда и зачем такой негатив

Проверили, работает, спасибо, будем знать :)

Для нас так стало проще и интереснее, и веселее :)

В отдельной статье поделимся тем, как именно пишем тесты на бекенды, напсанные на .NET, на каких слоях пирамиды тестирования, используя какие инструменты и подходы.

Здесь хотели поделиться идеей, её плюсами и техническими деталями реализации.

Классный совет! Спасибо, мы попробуем :) 12 лет назад пользовались Razor и Web.config со всеми их скрытыми вложенностями, что-то не подумали, что такая фича всё ещё должна быть и прикольно работать.

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

Будем пробовать и смотреть, как пошло.

Вы правы, для чувствительных данных, таких как логин, пароль от базы данных, нужно использовать как минимум env переменные. Не добавили этого в статью, чтобы не усложнять пример. Чтобы попробовать фичи - достаточно скопировать и вставить, без создания переменных, откуда будут браться логины и пароли.
Что насчет портов: мы указали порт для базы данных, чтобы иметь возможность подключиться к ней из API, запущенного в IDE. Спасибо за совет, посмотрим в сторону бинда на локальный хост :)

Да, отличная идея добавить healthcheck. Мы используем эту фичу в наших других проектах, но для простоты примера не добавили её в статье, чтобы сфокусироваться на представленных выше фичах. Спасибо за совет!

Спасибо, узнали что-то новое, исправим!

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

Да, действительно используем docker desktop. Посмотрим в сторону rancher desktop, спасибо :)

Можно поставить любые расширения в связке ide+docker-compose, но тогда их либо придется ставить внутрь контейнера + vs code туда же, либо, если использовать docker-compose чисто для сборки и билда, расширения придется ставить локально. Dev контейнеры же легко позволяют устанавливать расширения именно в контейнер.

Зависит от того, что вам нужно. Мы, например, используем расширения VS Code для поддержки синтаксиса языка, для удобного взаимодействия с Cmake, для написания документации и поддержки Mermaid и многие другие. Удобно, когда нужное расширение одним кликом можно добавить в контейнер.

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Backend Developer, Test Automation Engineer
Middle
PostgreSQL
MySQL
Docker
Redis
Git
.NET
C++
C#