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 ()
Ответ на: комментарий от leave

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

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

Тем, что Java?

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

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

Я пишу на Яве за деньги, но меня уже тошнит от Спринга и Хибернейта! Более громоздкое и бесполезное говно сложно придумать. Есть много реально хороших и действительно легковесных инструментов. Но зачем искать, есть же Спринг;)

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

я никогда не разворачивал блогспот, сравнить не с чем. Для разворачивания SpringBlog нужно создать базу, прописать имя пользователя, базу, пароль в конфиг и собрать.

bvn13 ★★★★★ ()

Для начала бы натянуть какой-то симпатичный шаблон, их много бесплатных и Open Source... И потом в описание добавить - будет меньше людей проходить мимо

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

Для разворачивания SpringBlog нужно создать базу, прописать имя пользователя, базу, пароль в конфиг и собрать.

омг, в хороших домах достаточно кинуть war файл в tomcat

ты кстати забыл, что еще надо редис поставить

subwoofer ★★★★★ ()

но зачем тратить время на ненужную чушь?

есть уже WP с инновационным блочным редактором Gutenberg и с милионом готовых тем и плагинов.

особые эстеты могут запускать на JVM с помощью http://caucho.com/products/resin/download/gpl#download

Spring и прочие жабофремворки - для серьезных задач. типа онлайн Сбербанк или ГИС-ЖКХ.

anonymous ()

он очень шустрый (отдача страниц порядка 63 мс)

А в секундах это сколько? А то некоторые часто путают и могут 0.63с назвать 63 милисекундами.

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

Вертекс пока не очень популярен... я его сам непосредственно сейчас щупаю (тем вопрос и вызван), даже пробуем проект на нём сделать, НО возникает проблема - ынтырпрайз жаждет каких-нибудь activiti и пентахо, а оно туда интегрируется кажется как пятая нога. А рожать очередную толсто-сервисную архитектуру на WARниках чо-то не хочется... Ну и мелочи - лестница колбэков либо quasar (юзаем пока quasar но это немного упорото конечно (ну, можно конечно всё на воркеров переделать...)) + невозможность штатными методами посадить обработчики из двух вертиклов в один роутер (то есть на один http порт), что влечёт за собой очередные извращения, либо находить дырочку и шарить таки роутер (вопреки заветам авторов, баг стоит), либо всё прокидывать через eventbus и терять поддержку кук, сессий, боди хендлеров и т.п. (оно там всё гвоздями намертво к роутеру прибито), либо сажать на разные порты и оборачивать ещё каким-нить апи гейтвеем но это тупняк на пустом месте +хоп плодить. Либо делать всё одним вертиклом (это, видимо, самый нормальный вариант, да). А вот JsonObject это мечта, почему раньше никто не додумался, непонятно.

Может если аккуратненько приготовить спринг, не так уж он и страшен будет? :)

А ещё чо-нить есть?

vitalif ★★★ ()
Последнее исправление: vitalif (всего исправлений: 5)

А почему-бы в редисе не хранить сессии? Я так понимаю вся информация о сессии в хранится в постгресе и дергается при каждом запросе, где нужна авторизация?

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

Фу, жаба

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

anonymous ()