zhub.link is one of the many independent Mastodon servers you can use to participate in the fediverse.

Administered by:

Server stats:

28
active users

#nodejs

5 posts4 participants0 posts today

New Kitten release

• Socket routes now have precendence in the router.

This stops wildcard page routes from capturing the default socket routes that Kitten creates to enable the Streaming HTML workflow.

e.g., Previously, the following route:

/videos/index_[slug].page.js

Could not connect to its default socket (/videos/default.socket) because default.socket would be captured by the [slug] parameter.

Now, it will work as intended as the /videos/default.socket (a socket route) has precendence over index_[slug].page.js (a page route).

Learn more about Kitten’s Streaming HTML workflow here:
kitten.small-web.org/tutorials

Enjoy!

:kitten:💕

Обновление SPA приложения в браузере пользователя Node/React

Всем привет. Мне читатели иногда присылают сообщения с одним и тем же вопросом, что ты же Software Engineer и Solution Architect, но почти все твои статьи касаются бизнеса, менеджмента, процессов, управления командами и так далее. Но нет статей технического характера, про разработку и создание разных фич (feature) для проекта. Причина по которой это происходит в том, что весь интернет забит информацией о том, как программировать, но очень мало информации о том, что именно программировать, и о том, что за пределами кодинга огромное количество нерешенных проблем, которые нивелируют весь процесс программирования. Но сегодня я расскажу об одной фиче, которая может оказаться очень полезной для многих.

habr.com/ru/articles/890304/

ХабрОбновление SPA приложения в браузере пользователя Node/ReactВсем привет. Мне читатели иногда присылают сообщения с одним и тем же вопросом, что ты же Software Engineer и Solution Architect, но почти все твои статьи касаются бизнеса, менеджмента, процессов,...

Node.js — асинхронность по умолчанию

Возможно Вам доводилось слышать о том что Node.js идеален для создания веб-серверов. В этой статье я объясню, почему оно так и какие архитектурные принципы заложенные в основу серверного JavaScript, делают его таким подходящим для приложений с высокой интенсивностью ввода/вывода. Узнать почему?

habr.com/ru/articles/890190/

ХабрNode.js — асинхронность по умолчаниюВозможно Вам доводилось слышать о том что Node.js идеален для создания веб-серверов. В этой статье я объясню, почему оно так и какие архитектурные принципы заложенные в основу серверного JavaScript,...

Как реализовать пакетную подпись PDF-документов

Автоматическое подписание документов электронной подписью используют там, где требуется пакетная подпись документов без участия сотрудника. Это могут быть как небольшие сайты, например по продаже билетов в театр и музей, или порталы с онлайн-обучением при отправке сертификатов о прохождении курсов, так и крупные банковские приложения, например, при генерации выписок по счетам, форм договоров или квитанций. В ЕСИА, СМЭВ, ГИС ЖКХ и других государственных информационных системах также реализована автоматическая подпись. В этой статье реализуем автоматическое подписание для PDF-файлов и добавим штамп «Документ подписан электронной подписью».

habr.com/ru/articles/890054/

ХабрКак реализовать пакетную подпись PDF-документовАвтоматическое подписание документов электронной подписью используют там, где требуется пакетная подпись документов без участия сотрудника. Это могут быть как небольшие сайты, например по продаже...

Как создать мини-приложение в Telegram

С каждым днем в Telegram появляется всё больше и больше мини-приложений, или mini apps, которые так или иначе влияют на развитие этой среды. Кто-то реализует в Mini App простые игры, кто-то удобные инструменты для той или иной задачи, а кто-то решения для бизнеса. В этой статье мы рассмотрим, как создать свое Mini-App-приложение с frontend- и backend-частью, а также запустим его на сервере.

habr.com/ru/companies/timeweb/

ХабрКак создать мини-приложение в TelegramС каждым днем в Telegram появляется всё больше и больше мини-приложений, или mini apps, которые так или иначе влияют на развитие этой среды. Кто-то реализует в Mini App простые игры, кто-то удобные...

Заметки по grammY

Я работаю бэкенд-инженером на Scala, и иногда пишу свои пет-прожекты с экспериментами, которые зачастую никуда не уходили. Но в этот раз я решил поделиться своим опытом. Недавно мне пришла идея написать телеграмм бота для общения за определенную плату. Я погуглил подобные сервисы, и да, это уже реализовано на некоторых площадках, но мало кто активно этим пользуется.

habr.com/ru/articles/887502/

ХабрЗаметки по grammYЯ работаю бэкенд-инженером на Scala, и иногда пишу свои пет-прожекты с экспериментами, которые зачастую никуда не уходили. Но в этот раз я решил поделиться своим опытом. Недавно мне пришла идея...

New Kitten release

• Added instructions to Kitten’s Settings app for how to set up a webhook at Codeberg¹ so that pushing to your main branch automatically updates your deployed server.

kitten.small-web.org

(Would you like me to add instructions for GitHub also? Hmm, let me think a moment… No.)

You can also find the relevant information in the Kitten reference:

kitten.small-web.org/reference

Enjoy!

:kitten:💕

¹ Codeberg is an community-run ethical alternative GitHub. You can follow them on the fediverse at @Codeberg and visit them online at codeberg.org

New Kitten release

• Fixes redirection from sign-in page when person is already authenticated.

kitten.small-web.org

To learn more about how Kitten automatically implements authentication for your Small Web sites and apps using public-key cryptography (so even your own server doesn’t know your secret)¹, please see the Authentication tutorial:

kitten.small-web.org/tutorials

Enjoy!

:kitten:💕

¹ The security (and privacy) of Domain/Kitten are based on a 32-byte cryptographically random secret string that only the person who owns/controls a domain knows.

This is basically a Base256-encoded ed25519 secret key where the Base256 alphabet is a set of curated emoji surrogate pairs without any special modifiers chosen mainly from the animals, plants, and food groups with some exceptions (to avoid common phobias or triggers, etc.) that we call KittenMoji.

When setting up a Small Web app via Domain, this key is generated in the person’s browser, on their own computer, and is never communicated to either the Domain instance or the Kitten app being installed. Instead the ed25519 public key is sent to both and signed token authentication is used when the server needs to verify the owner’s identity (e.g., before allowing access to the administration area).

The expected/encouraged behaviour is for the person to store this secret in their password manager of choice.

More: kitten.small-web.org/reference

IPC в Node.js: решение проблемы с передачей данных

В Node.js IPC (Inter-Process Communication) - это механизм, используемый для обмена данными между процессами. Начиная с версии 12.16.0 в модуле child_processes появилась поддержка режима advanced serialization для IPC. Однако иногда он может привести к проблемам с зависанием сообщений, что приводит к ошибкам и проблемам с функциональностью. В этой статье мы расскажем как решили эту проблему.

habr.com/ru/companies/tensor/a

ХабрIPC в Node.js: решение проблемы с передачей данныхВ Node.js IPC (Inter-Process Communication) - это механизм, используемый для обмена данными между процессами. Начиная с версии 12.16.0 в модуле child_processes появилась поддержка режима advanced...

New Kitten release

• Fixes issue with routes where dynamic routes with file names that had more than two extensions were not recognised as the correct type of route. e.g., A route called index.xml.get.js would previously have been treated as a static route instead of a dynamic GET route.

kitten.small-web.org

For more details, see the Valid File Types section of the Kitten reference¹ and the Dynamic Pages tutorial².

Enjoy!

:kitten:💕

¹ kitten.small-web.org/reference
² kitten.small-web.org/tutorials

😺 Fun Kitten¹ fact

Did you know that Kitten has a built-in HTML validator that checks your markup for validity and accessibility issues, etc.?

You’re informed of validation errors in not just terminal but also in your browser’s web developer panel. And, if you select the “Show validation issues on page” link from a validation error in the web developer panel, Kitten will show the validation errors in place on your page.

This helps me catch issues with my markup all the time and I hope it helps you too.

Enjoy!

:kitten:💕

¹ kitten.small-web.org

В тренде VM: под угрозой продукты Microsoft и Fortinet, а также архиватор 7-Zip

Хабр, привет! И вновь на связи я Александр Леонов, ведущий эксперт лаборатории PT Expert Security Center и дежурный по самым опасным уязвимостям месяца. Мы с командой аналитиков Positive Technologies каждый месяц исследуем информацию об уязвимостях из баз и бюллетеней безопасности вендоров, социальных сетей, блогов, телеграм-каналов, баз эксплойтов, публичных репозиториев кода и выявляем во всем этом многообразии сведений трендовые уязвимости. Это те уязвимости, которые либо уже эксплуатируются вживую, либо будут эксплуатироваться в ближайшее время. В новый дайджест мы отнесли к трендовым восемь уязвимостей.

habr.com/ru/companies/pt/artic

ХабрВ тренде VM: под угрозой продукты Microsoft и Fortinet, а также архиватор 7-ZipХабр, привет! И вновь на связи я Александр Леонов, ведущий эксперт лаборатории PT Expert Security Center и дежурный по самым опасным уязвимостям месяца. Мы с командой аналитиков Positive Technologies...

Donno about you guys but it sure is nice not to have to try and decipher the clusterfuck-like syntax of Hugo’s Go-based templating engine anymore…

The code on the left is Kitten¹, on the right is Hugo².

Kitten’s ‘template engine’ is just JavaScript tagged template strings.

(I’m porting the Small Technology Foundation web site³ from Site.js⁴ to Kitten, and in the process from being a Hugo-based static site to a dynamic one with a nice little admin panel I’m making to make it trivially easy to add new news items, events, and videos.)

¹ kitten.small-web.org
² gohugo.io
³ small-tech.org
sitejs.org

Continued thread

Note: if you want to avoid above-mentioned case sensitivity issues with the rest of your team on Node.js projects if you’re on macOS (the extension quirk appears to be a Node quirk), add this to your jsconfig.json (or TypeScript configuration file if, for some reason, you love having a build process):

{
"compilerOptions": {

"forceConsistentCasingInFileNames": true,

}

}

More: typescriptlang.org/tsconfig/#f

www.typescriptlang.orgTSConfig Reference - Docs on every TSConfig optionFrom allowJs to useDefineForClassFields the TSConfig reference includes information about all of the active compiler flags setting up a TypeScript project.