Немного потрогал WebAssembly в игрушечном проекте

Несколько дней назад я написал заметку на хабре о том, как я создал игрушечный поиск по OpenJDK Mailing Lists с помощью WebAssembly. Возможно, кому будет интересно прочитать это.

Собственно, вот ссылка на статью — https://habr.com/ru/post/692512/.

Если кратко, то вот что было сделано:

  • Написал небольшую программку на Java — индексер, которая умеет заходить на мейлинг листы и сохранять новые емейлы в SQLite базу данных.
  • Написал Github Action, который переодически запускает индексатор. Индексатор отрабатывает, и, если были какие изменения, даный экшен комитит их обратно в репозиторий.
  • Весь поисковый индекс лежит внутри гит репки. Да, это плохо, но кому есть до этого дело, если это игрушечный проект.
  • Еще был написан cloudflare worker, который переодически получает последнюю дату индексации, и, если она больше 5 дней, шлет алерт мне на имел. Никто ведь не хочешь иметь протухший поисковой индекс?

Данный проект всецело зависит на wasm, так как поиск выполняется целиком на web клиенте (аля Serverless поиск), куда грузится та самая SQLite база данных, и, с помощью wasm, к ней прокидываются запросы из javascript. Спасибо проекту https://github.com/sql-js/sql.js/ за это.

Категории: Программирование