开源 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

相关文章

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编