1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xieqiangcode-tech-blog-api

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 10 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 07:22 b7d11b6

Бэкграунд

Всегда искал подходящий блог на основе системы. Одним из основных требований было то, чтобы система была написана на Java, иначе будет сложно вносить изменения самостоятельно. Поэтому, несмотря на то что WordPress уже хорошо развит, он всё же не подходит для меня как разработчика на Java. Позже я также обнаружил jPress, который называют версией WordPress на Java, но используемая технология — это jFinal. Нельзя сказать, что jFinal плохой, в конце концов, это не та технология, с которой я лучше всего знаком и в которой наиболее силён, и это также не лучший выбор среди основных технологий. Таким образом, основываясь на опыте работы с admin-manage, я начал заново, и так появился bumishi-blog.

Поскольку это создание с нуля, естественно, хочется, чтобы оно соответствовало современным тенденциям в технологиях.

В контексте современных облачных вычислений и микросервисов bumishi-blog естественным образом соответствует этой технологической тенденции.

1. На основе SpringBoot в качестве основной технологии

Будучи абсолютным лидером среди технологий Java, я считаю, что Spring также неизбежно станет основной технологией Java в будущем. Появление Spring Boot полностью изменило сложный процесс настройки Spring, сделав его чрезвычайно современным и быстро распространяющимся, став самым популярным технологическим фреймворком. Spring Cloud основан на Spring Boot и предоставляет комплексное решение для построения распределённых микросервисов. Экосистема Spring уже достаточно развита, чтобы поддерживать разработку приложений в различных областях. Хорошо изучив Spring, мы сможем уверенно стоять на ногах в мире Java.

2. На основе идеи доменного проектирования

Если вы всё ещё пишете код с использованием dao + service + controller, задумывались ли вы о том, насколько это утомительно и механистично? Более того, для крупных и сложных систем, будь то элегантная архитектура, повторное использование кода или поддержка расширения, трудно обеспечить эффективное решение. Идея доменного проектирования существует уже много лет, но только настоящие профессионалы и компании, которые действительно стремятся к совершенству, используют и изучают её. Как можно не попробовать доменное проектирование, если вы серьёзно относитесь к технологиям?

Общая структура

  • Текущие технические аспекты bumishi-blog:
    • Spring Boot, Spring Cache, Druid, доменное проектирование;
    • навигация по сайту, управление категориями блогов, управление блогами, информация о конфигурации сайта, управление gitbook — все они имеют административную панель управления;
    • поддерживает полнотекстовый поиск, ключевые слова выделяются, реализовано на Elasticsearch 5.1;
    • позволяет организовать блоги в виде gitbook;
    • статьи в блоге основаны на editor.md, изображения загружаются через интеграцию с облачным хранилищем Qiniu, а изображения в статьях снабжены водяными знаками;
    • данные всего сайта кэшируются, изменения в административной панели немедленно отражаются на сайте;
    • интегрирован Spring Boot Admin, через административную панель можно отслеживать подробную информацию об admin-manage и bumishi-blog;
    • комментарии реализованы с помощью стороннего сервиса Tencent WeChat;
    • интегрирована функция ответа на сообщения WeChat, результаты поиска WeChat преобразуются в результаты поиска блога;
    • базовый чат-бот, который отвечает на запросы, когда не удаётся найти блог.

Демонстрационный адрес

Онлайн-демонстрация

Краткое введение в локальное выполнение

  1. Зависимость от проекта bumishi-toolbox.

    Проект bumishi-toolbox

  2. Конфигурация application.yml:

    1. Настройка адреса admin-manage для мониторинга информации bumishi-blog в admin-manage. Здесь /admin — это путь контекста, указанный в конфигурации spring.spring.boot.admin.context-path в admin-manage:

      boot:
          admin:
            # Здесь указан адрес admin-manage, /admin - это путь контекста, заданный в конфигурации spring.spring.boot.admin.context-path в admin-manage
            url: http://localhost:10000/admin
            context-path: /admin

    Модифицируйте localhost:10000 на свой собственный адрес и порт admin-manage. Остальные параметры остаются неизменными.

  3. Настройка хоста, которому разрешено получать доступ к API управления блогом, цель состоит в том, чтобы функции управления блогом находились в bumishi-blog, веб-вход находится в admin-manage, необходимо разрешить admin-manage вызывать API управления блогом:

blog:
  manage:
    ## Разрешить доступ к хосту API управления блогом
    allow: localhost,127.0.0.1,bumishi.tech
  1. Конфигурация информации о базе данных JDBC bumishi-blog. Скрипт MySQL находится в bumishi_blog.sql.

  2. Конфигурация ключей и секретных ключей API WeChat и Tulin:

// Информация WeChat
weixin:
  token: weiqiang
  aesKey:
  subscribe: 'Я не потеряюсь' // Здесь информация о подписке на публичный аккаунт

// Информация Tulin API
tulin:
  key:
  secret:
  1. В конфигурации admin-manage необходимо настроить информацию о Qiniu в файле application-default.yaml, чтобы поддержать загрузку изображений в Qiniu и позволить admin-manage управлять функциями блога, поскольку admin-manage сам по себе не управляет никакими данными блога.

Подробное введение в admin-manage: http://bumishi.cn/blog/1

  1. Поскольку полнотекстовый индекс блога реализован на Elasticsearch, а данные блога хранятся в Elasticsearch, необходимо настроить среду Elasticsearch и инициализировать индекс блога. Сценарий находится в index_init.sh, просто выполните два curl-команды.

Установка и введение Elasticsearch: http://bumishi.cn/blog/3

Эффект предварительного просмотра:

  • Изображения:

  • 6 — изображение поиска по всему тексту.

  • 7 — ответ на сообщение WeChat.

Группа обмена: 245130488 (http://shang.qq.com/wpa/qunwpa?idkey=d1d7f068205e1ff5dbcc1ecda23d5195d2ce61254c0f7188741c758111e1c2f2)

Не теряйтесь в публичном аккаунте WeChat: javajidi_com

Сосредоточьтесь на исследованиях в области Java-технологий

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xieqiangcode-tech-blog-api.git
git@api.gitlife.ru:oschina-mirror/xieqiangcode-tech-blog-api.git
oschina-mirror
xieqiangcode-tech-blog-api
xieqiangcode-tech-blog-api
master