开源 Java 博客 B3log Solo 开发团队专访

2023-11-04 02:20

本文主要是介绍开源 Java 博客 B3log Solo 开发团队专访,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

B3log Solo 是一款基于 Java 的开源的博客程序,支持部署在 GAE、BAE、OpenShift等云环境上,也可以运行在标准 Servlet 容器上。当前最新版本为 0.5.5。

官网: http://www.b3log.org/
Github地址: https://github.com/b3log/b3log-solo

为了使大家对B3log Solo有进一步的了解,本期我们采访了B3log Solo的开发团队。

欢迎大家推荐更多开源项目给我们,支持中国的开源项目发展,如果您和您的团队希望展示创业理念和有趣之处,或者有朋友正在创造这样的价值,请联系我们,发信到blog@csdn.com即可。

B3log Solo是什么?项目的由来?名称的寓意?


B3log Solo 是一个开源的 Java 博客程序,目前可以运行在 GAE、BAE、OpenShift 等云环境上,也可以运行在标准 Servlet 容器上。

项目来自于一个想整合博客与论坛的 想法,通过博客与社区论坛之间内容(文章、评论)的双向同步达到整合的目标,同时也不丢失个人博客的独立性。

2010 年,GAE 开始支持 Java,并且提供了宽裕的免费配额,作为个人博客已经足够用了,所以 B3log Solo 第一个支持的云平台就是 GAE,后来逐渐添加了本地容器、BAE 等运行环境支持。

B3log Solo 这个名字分为两部分:B3log 相当于一个产品前缀,是博客、论坛的缩写(BBS + Blog => B3log);Solo(独奏)是这个博客产品的名字,好比乐手各自所拿的乐器,使用它来演奏不同的声音,最后会合成 交响乐(与社区论坛整合)。

查看 《B3log 构思——一个正在逐渐清晰、实践的创意》了解更多细节吧

B3log Solo基于哪些技术?你们的开发环境是什么?


B3log Solo 是基于 B3log Latke 这个轻薄 Servlet 框架开发的,框架中屏蔽了 GAE、BAE 等 PaaS 云环境与本地 Servlet 容器的差异,使得应用可以在不修改博客实现代码的前提下进行部署移植。前端基于 jQuery 进行开发,编写了一些通用的 jQuery 插件。整个前端具备代码自动合并、压缩,静态资源分离的功能。

项目是使用 Maven2+ 构建的,开发团队里有同学使用 NetBeans IDE 进行开发,也有同学使用 Eclipse。

B3log Solo的性能如何?具体做了哪些优化?


对于个人博客这个量级来说,我觉得 B3log Solo 的性能已经非常不错了

一般情况下,个人博客的更新(写)频率不会非常高,总是读取要大于更新的,所以使用缓存可以有效降低读取响应时间。

B3log Solo 主要在页面与数据两个层次进行缓存:

  • 页面缓存:缓存最终输出到浏览器的 HTML
  • 数据缓存:按查询条件缓存查询过的数据实体

另外,Solo 重点对 GAE 配额使用进行了优化(参考 《GAE 配额优化》),尽量使用 GAE 提供的免费配额。

B3log Solo目前有多少皮肤和插件?如何为B3log Solo开发皮肤、插件?


目前发布包中自带 9 套皮肤、3 个插件,第三方皮肤、插件未统计。第三方皮肤应该还算多,插件倒是比较少,但相信慢慢会丰富起来的。

如果你有兴趣为B3log开发插件和皮肤,请参阅:

  • 插件开发文档(Google Docs)
  • 皮肤开发文档

B3log Solo目前的应用情况?


主要应用场景集中在个人博客这个范畴,也有部分用于团队博客、资讯博客、产品宣传。

累计提交过文章到社区服务器的用户快有 200 人了,相信以后会有越来越多的用户使用 B3log Solo,分享内容到社区。

另外,部署 GAE 版的同学也可以申请 b3log.org 二级域名,使得国内能够方便访问您部署好的博客。


有哪些开发者参与了B3log Solo的开发?你们之间是如何协作的?


B3log 团队目前一共有 5 人,可以在 B3log Index 最下面的时间线以及 团队介绍 Wiki里找到我们。

大多数时候,我们通过 QQ 群进行沟通;开发方面通过 GitHub Issues 进行任务管理;在线语音进行半年计划等。

团队成员介绍:

丁亮:Base 昆明,怀揣理想的码农,有时候很 2。项目创始人,负责B3log系产品计划与实现。



李丽媛:Base 昆明,热爱前端,易怒易悲之人。项目副创始人,负责前端实现。



姚立嶒:Base上海,努力地帮大家写点代码的家伙。为 Latke 框架和技术路线贡献了很多。



王东旭:Base成都,有坚持有想法的帅小伙。负责博客、社区功能实现。



江泽洲:Base杭州,热爱生活,相信积累。负责Wiki文档,产品推广。



其他开发者如何参与该项目?


可以通过如下几种途径参与开发:

  • 第三方皮肤开发:开发好皮肤后联系 Vanessa,她会协助你把皮肤提交到官方库中,以便分享给更多的人。
  • 补丁开发:直接通过 GitHub Pull 提交,审核通过后该补丁会合并到提交的版本中。
  • 加入 B3log 团队:这里有详细的加入指南。

当然,也可以加入 QQ 群 13139268 参与讨论; 提交缺陷/特性请求等方式参与到项目中来

你怎样看待国内的开源环境?


国内程序员的生存压力比较大,整体的开源气氛比较冷淡。相比国外大学,研究机构或者顶级公司机构引导开源项目为多数,国内的开源项目大多数还是靠个体开发者本身的经验进行推动和发展,项目的完整性、质量和持续性都有一定的欠缺。

但也正因为国内的开源比较欠缺,大家聚在一起开发会感觉更平等些(能参与 apache 基金会这类级别开源项目的非常少)。就在这样一个相对轻松的环境下,大家更有机会实现自己的想法,平等的交流,更好的互补学习和拓宽视野,获得一些独特的成就感。当然,也非常期待国内多一些企业来引领开源,成立开源组织,教堂与集市共存。

B3log 未来的发展计划?


  • Solo 将支持更多的云环境,方便用户享用更多的免费云资源
  • 完善 B3log Latke 框架,完善相关文档
  • 提供更好的插件体系,良好应用生态链
  • 开发团队成员 Y 可能会使用 scala 实现 Solo,便捷自定义功能
  • 从社区方面加强独立博客之间的交互
  • 社区开放 APIs




这篇关于开源 Java 博客 B3log Solo 开发团队专访的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342557

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory