Генерация PDF-документов это практически неотъемлемая часть при создании отчетов. Ведь гораздо проще иметь один HTML-шаблон который просто редактируется, и в нужные места подставить необходимые данные.В статье отобрал самые популярные (по звездам на GitHub на момент написания статьи) инструменты для генерирования PDF из HTML, DOCX и некоторых других форматов. Рассмотрим только те, которые реализованы непосредственно на Go ИЛИ имеют обертки над API на Go.Список следующий: https://github.com/go-…
Обработка и передача ошибок в конкурентном коде имеет некоторые особенности. Поскольку решении о запуске подзадачи(или подзадач) принимается вне запущенной горутины, центр обработки информации(в данном случае ошибки) должен находится в другом месте. Это может быть часть кода инициирующая запуск горутин(родительская горутина) и ожидающая результатов ее выполнения или отдельная горутина, запущенная для этих целей.Будем отталкиваться от примера, где мы ожидаем результатов выполнения n-горутин. Рез…
В этой статье мы рассмотрим классический конкурентный кольцевой буфер и обсудим, как его можно оптимизировать для повышения производительности. Я покажу вам, как существенно улучшить этот показатель от 5,5 миллионов элементов в секунду до 112 миллионов элементов в секунду — и эти показатели выше, чем в реализациях Boost и Folly. Если вам требуется готовая реализация со всеми этими оптимизациями, посмотрите мою библиотеку SPSCQueue.h.Кольцевой буфер также называется очередью «один производитель …
Всем привет. Меня зовут Александр, и я айтишник. Нет, я не торчок, но уже несколько лет я живу с постоянной болью, как morphiumsüchtig на ломке (хотя и не так страшно). В течение этого времени у меня сложилось понимание ( а оно всегда субъективно ), как работает регуляция боли, последствия ее нарушения, и почему это может коснуться каждого. Даже тебя, Анон. А скорее всего уже коснулось. Особенно, если ты, Анон, знаком с фразами «у вас остеохондроз», «сорвал спину», «что‑то защемило», то статья …
Начались боли в спине — пошли эксперименты. Год за годом, стол за столом приходил к идеалу: ортопедический стул, стол с вырезом и регулировкой высоты, кронштейн для фиксации монитора на уровне глаз. Спустя два года обнаружил себя буквально прикованным к положению лежа с противоречивыми диагнозами от неврологов, ортопеда и нейрохирурга.Расскажу о самых интересных организациях рабочего пространства, которые попробовал, поделюсь наблюдениями, поспекулирую о вреде конвенциальных подходов.Проблемы с…
Добро пожаловать в путешествие по динамичному миру реактивного программирования! Эта увлекательная парадигма направлена на создание быстро реагирующих, отказоустойчивых и адаптируемых приложений, которые легко и практически мгновенно управляют огромными объемами данных.Представьте себе, что вы пишете программу, которой необходимо мгновенно реагировать на изменения — будь то ввод пользователя, сообщения из других систем или потоки данных в реальном времени. Именно здесь проявляется реактивное …
Изображение, созданное DALL-E Асинхронная модель - одна из самых сложных и одновременно важных тем в современном программировании, особенно в веб-разработке. Если посмотреть на боль новичков (да и не только новичков), то одна из самых частых жалоб - непонимание, что там происходит под капотом, почему код скачет и не дает предсказуемых результатов, или почему программа не ждет выполнения функции.В этой статье разберем, в чем корень путаницы, какие есть ключевые концепции асинхронности, и как к…
Generate any location from the real world in Minecraft Java Edition with a high level of detail. Arnis This open source project written in Rust generates any chosen location from the real world in Minecraft Java Edition with a high level of detail. 🖥️ Example By leveraging geospatial data from OpenStreetMap and utilizing the powerful capabilities of Rust, Arnis provides an efficient and robust solution for creating complex and accurate Minecraft worlds that reflect real-world geography …
Существует несколько вариантов работы с цветным художественным стеклом, ярким пятном среди которых выделяется фьюзинг (fusing) — сплавление плоских элементов в печи. Техника изначально витражная, чудо как хороша для некрупных декоративно-прикладных вещиц вообще: шкатулки, панно, часы, бижутерия, значки, сувениры, светильники, изразцы и декоры для отделки, для интерьера — воткнутые в цветочный горшок, поставленные и подвешенные. Всё, на что хватит фантазии. Работы естественным образом получают…