LINUX.ORG.RU

SpringBlog v2.6

 , , ,


4

3

Вношу свою лепту на благо OpenSource: представляю вам, лорчане, мой форк платформы для ведения блога SpringBlog (исходный код на github).

Предыстория

Мной был найден давно заброшенный (в 2015 г.) репозиторий движка для ведения блогов студента китайского ВУЗа Jiankun LEI (aka Raysmond), написанный на SpringBoot версии 1.4.0. Проект показался мне довольно интересным, он очень шустрый (отдача страниц порядка 63 мс), к тому же, его деплой не вызвал проблем.

Особенности, библиотеки, технологии

  • SpringBoot и многие другие технологии из семейства Spring (такие, как Spring MVC, Spring JPA, Spring Secruity и др.).
  • Hibernate + PostgreSQL (изначально MySQL).
  • HikariCP — высокопроизводительный пул JDBC-соединений.
  • Bootstrap 3 — популярный и отзывчивый веб-фреймворк.
  • ACE Editor — высокопроизводительный редактор, используется для составления постов.
  • Flexmark — реализация CommonMark 0.28. Преобразователь текста Markdown, написанный на Java
  • Jade4j — элегантный, минималистичный шаблонизатор html jade. написанный На Java.
  • Многие клиентские библиотеки и фреймворки опакечены и помещены в Maven-репозитории для удобства использования. С помощью Webjars подключены Bootstrap и jQuery.
  • Redis — мощный in-memory сервер для хранения кеша.
  • github-markdown-css — подсветка синтаксиса Markdown на CSS.

История изменений с версии 1.0 до 2.6 (мои)

  • 2017-11-09
    • Реализованы загрузка файлов и ссылки на загруженные файлы (информация хранится в базе, сами файлы в ФС)
  • 2017-11-08
    • Добавлены кнопки «поделиться в соцсети» (sharing buttons) с помощью сервиса sharethis.com - требуется изменение кода верификации на главной странице
    • Из зависимостей убраны Jython, Pygments and Pegdown. Добавлена обработка Markdown текста с помощью Flexmark и github-markdown-css
  • 2017-11-07
    • Добавлена кнопка перехода к панели администрирования из основного меню для пользователя с ролью 'admin'
    • Добавлены SEO meta-tags:
      • list of keywords
      • description
    • Изменены заголовки html > head > title для страниц постов
  • 2017-11-03
    • Создание форка оригинального SpringBlog by Raysmon
    • Миграция на SpringBoot 1.5.8, обновлены все библиотеки из зависимостей

На гитхабе я дал ссылку на пример, можно посмотреть, как выглядит блог.

>>> Исходный код

★★★★★

Проверено: Shaman007 ()
Ответ на: комментарий от subwoofer

Дружок, я вполне себе в курсе что такое sqlite, hsqldb, soliddb.

https://github.com/dzidzitop/mirror/blob/master/src/mirror/FileDB.hpp#L31

Только новичок или идиот может считать, что можно писать серьёзный код, который работает с гигабайтами информации, и при этом не завязан на конкретную базу данных.

Хочешь базу данных из коробки - делай форк и радуйся своим деплойментом варки без нормальной базы данных. Проффесионалом себя почувствуешь точно.

dzidzitop ★★ ()

Одобряю. Лучше пользоваться тем инструментом, который удобен и понятен, и который интересно развивать, чем пользоваться тем, чем пользуется большинство (даже если другое решение лучше). Главное ведь получать удовольствие от того, что делаешь.

anonymous_sama ★★★★★ ()
Последнее исправление: anonymous_sama (всего исправлений: 1)
Ответ на: комментарий от dzidzitop

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

Комментарии - и те хранятся в Disqus.

А ты уже про гигабайты данных говоришь =)

anonymous ()
Ответ на: комментарий от anonymous

блог сайт - это хранилище контента. Его и нужно делать сразу как нормальное хранилище. Поэтому необходимость postgresql или любой другой нормальной базы данных обоснована.

А то, что «взлетит/не взлетит» - это уже на сам софт не влияет.

dzidzitop ★★ ()
Ответ на: комментарий от vitalif

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

Есть ещё аналогичная библиотека, но не помню названия. Но тенденция, я думаю, ясна. Толстоту в помойку;) Современное приложение сегодня - реактивное, асинхронное и лёгкое (микросервисы).

romero ()
Ответ на: комментарий от vitalif

Кстати, да, Akka тоже. В основе лежит модель акторов, что и в Vert.x. Её сочетание с NIO просто шикарно.

Но я имел в виду фреймворк Lagom (https://www.lightbend.com/lagom-framework). Это, конечно, не так легковесно, как библиотека. К тому же, я сам его не пробовал.

romero ()