程序员的开源月刊《HelloGitHub》第 68 期

程序员的开源月刊《HelloGitHub》第 68 期,第1张

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。

这里有实战项目、入门教程、黑 科技 、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!

1、 toybox :该项目将 200 多个常用的 Linux 命令行工具,做成一个可执行文件。从而可以让 Android 这种原本不支持 Linux 命令的系统,也得以用上 ls、find、ps 等命令。还可以用于快速构建最小的 Linux 环境

2、 the_silver_searcher :比 ack 更快的命令行搜索工具。速度快、功能强大、使用简单,支持 Linux、Windows、macOS *** 作系统,还能够整合进 Vim 和 Emacs 等编辑器

3、 WindTerm :支持 SSH/Telnet/Serial/Shell/Sftp 的终端工具。虽然该软件完全免费,但部分代码尚未完全开源,对安全敏感的同学可以再观望下

4、 wavefunctioncollapse :基于波函数坍缩 (WFC) 算法,实现的无限城市示例。城市里有房子、楼梯、树木、连接房屋的通道,你可以在城市中自由移动、跳跃、飞行,但不论你怎么移动都找不到尽头,因为这座城市会无限延伸

5、 NETworkManager :管理和解决网络问题的工具。它集成了 IP 和端口扫描、WiFi 分析器、跟踪路由、DNS 查询等工具

6、 ppsspp :能够运行在 Android 和 PC 上的开源 PSP 模拟器

7、 leocad :用来创建虚拟乐高模型的 CAD 工具。适用于 Windows、Linux 和 macOS 系统

8、 csshake :用 CSS 实现抖动效果

9、 MangoDB :真正开源的 MongoDB 替代品。它底层采用 PostgreSQL 作为存储引擎,用 Go 语言实现了 MongoDB 协议,所以几乎兼容所有的 MongoDB 库,迁移起来毫无负担。如果你用不到 MongoDB 的高级功能,还受限于它的开源协议,那么这个项目可作为 MongoDB 的开源替代方案。它才刚刚起步,建议观望一段时间或做足测试再用于生产环境

10、 caddy :用 Go 编写的轻量级 Web 服务器。它相较于 Apache、Nginx 这些知名 Web 服务器,独特点在于提供了编译好的可执行文件,实现了真正的开箱即用。无需任何配置即可拥有免费的 HTTPS、自动把 Markdown 文件转化成 HTML 等人性化的功能。如果是搭建中小型的 Web 服务,它完全够用而且省时省心

11、 croc :可以让任意两台计算机,安全方便地传输文件和文件夹的工具。轻松实现端到端加密的跨平台文件传输,还支持多文件传输、传输中断和恢复等功能

12、 jnativehook :获取键盘和鼠标事件的 Java 库。轻松监听按键、鼠标移动、点击等事件

13、 spider-flow :用流程图的方式编写爬虫的平台。无需写代码就可以快速完成一个简单的爬虫

14、 greenDAO :高性能的 Android ORM 库。拥有体积小、易于使用、支持数据库加密等特点,通过它 Android 开发者可以采用面向对象的方式 *** 作数据库,不需要再手写和拼接 SQL 啦

15、 vue-color-avatar :纯前端实现的矢量风格头像生成网站。可以通过搭配不同的素材,生成个性化头像。该项目使用 Vite + Vue3 开发,能够帮助前端初学者熟悉 Vue3 语法并掌握项目搭建的相关知识

16、 colorfu :自动生成由文字/颜色/图片/纹理元素组成的壁纸

17、 pm2 :Node.js 的进程管理工具。它容易上手 *** 作简单,可以有效地提高 Node.js 程序运行的稳定性,支持自动重启、负载均衡、不停服务重启、性能监控等功能,多用于生产环境中管理、监控 Node.js 进程

18、 automa :通过图形化界面拖拽功能模块,实现浏览器自动 *** 作的扩展工具。轻松实现自动填表、截图、定时执行等 *** 作。让浏览器自动完成预设工作流的插件,从而减少重复性 *** 作提高效率

19、 PyWebIO :快速构建 Web 应用的 Python 工具。通过该项目你可在不写 HTML、CSS、JS 代码的前提下,仅用 Python 快速完成一个包含数据展示、表单的小型 Web 应用页面

20、 pottery :以 Python 的方式 *** 作 Redis 的库。忘记那些 Redis 命令吧,只要你知道如何使用 Python 字典,那么你就会用这个库 *** 作 Redis

21、 zulip :完全开源的企业级即时通讯项目。后端采用 Python 语言实现性能足够强大,功能齐全相当于开源、免费的 Slack,拥有拖拽上传文件、代码高亮、Markdown 语法、应用整合、容易接入的 API 等功能,还支持 Web、PC、iOS 和 Android 主流平台,众多知名企业都在用,能够有效地提高团队沟通和办公效率。同时该项目对新手用户友好,如果你想加入一个不错的 Python 开源项目,推荐你花时间研究下它一定会有所收获

22、 webssh :简单的 SSH 连接服务器的 Python Web 应用。该项目后端采用 Tornado Web 框架和 Python SSH 库 paramiko,前端是 TypeScript 写的命令行前端组件 Xterm.js 实现。整个项目简单还具有实用价值,可作为 Python Web 的实战项目学习

23、 django-debug-toolbar :Django 的调试工具栏。可显示当前请求和响应有关的各种调试信息,包括耗时、SQL、配置、性能等信息

24、 hyperfine :命令行基准测试工具。可用来查看和对比命令的耗时,支持多次运行的统计分析、结果导出等功能

25、 xcode-dev-cleaner :用于清理各种 Xcode 的缓存数据,释放存储空间。注意是清除 Xcode 缓存数据,不是卸载 Xcode 哈

26、 toml :更易读和易于维护的配置文件格式。如果你厌倦了 INI 的局限性、层层嵌套的 JSON 和 YAML 令人心惊胆战的缩进语法,不防给 TOML 一个机会,它支持多种数据类型、抛弃了缩进和嵌套,而且众多流行编程语言都有对应的库。TOML 已经足够成熟,绝对值得一试

27、 waka-readme-stats :自动在 GitHub 个人首页展示编程时长的工具。该项目通过 WakaTime 记录用户在 IDE 的使用时间,统计编程时长和数据,然后采用 GitHub Action 自动获取并动态更新到 GitHub 个人首页。轻而易举地展示自己的编程时长

28、 PathPlanning :常见的路径规划算法集合。项目包含了 Python 代码实现、运行过程动画以及相关论文

29、 howdy :为 Linux 系统提供人脸识别解锁电脑的工具。通过电脑内置的摄像头和红外设备,实现了类似 Windows Hello 风格的身份认证,可用于登陆、锁屏、sudo 等任何需要输入密码的地方

30、 The-Open-Book :开源的电子水墨屏阅读设备。动手能力强的同学可跟着这个项目,从焊电路板开始亲手制作出一个类 Kindle 的 4.2 英寸阅读设备

31、 fl_chart :Flutter 图表库。它支持折线图、条形图、饼图、散点图和雷达图

32、 ugo-compiler-book :《从头开发一个迷你 Go 语言》该书教你从头实现迷你 Go 语言,内容包含了词法解析、语法树构建、函数闭包、接口、CGO 的实现等内容

33、 archbase :教科书《计算机体系结构基础》第三版

34、 spring-in-action-v6-translate :《Spring 实战第 6 版》中文翻译

35、 best_AI_papers_2021 :2021 年必看的人工智能论文列表。该项目不是简单的罗列论文,它不仅包含相关论文的代码、效果展示,还有深入的文章和讲解视频。通过学习这些前沿的人工智能论文,提前了解 AI 在未来更多可能性

36、 AnimeGANv2 :可以将图片和视频转换成漫画风格的工具。采用的是神经风格迁移+生成对抗网络(GAN)的组合,转换速度快

感谢您的阅读,如果觉得内容还不错的话 求赞、求分享 ,您的每一次支持都将让 HelloGitHub 变得更好!

图书馆自动化系统开源软件的比较研究

摘 要〕在调研与实际 *** 作的基础上,对国外三种比较有代表性的图书馆自动化系统开源软件(Koha, PHPMyLibrary,

PMB)进行介绍,并从基本技术特征、系统功能和技术服务三方面对这三个系统进行比较分析,以期深入理解图书馆自动

化开源软件的设计理念,为开源软件在国内图书馆自动化系统建设中的推广应用提供参考。

〔关键词〕图书馆自动化系统开源软件KohaPHPMyLibraryPMB

1 引言

图书馆自动化系统,又叫图书馆集成管理系统(Inte-

grated Library System),始于20世纪70年代,是实现图书馆

业务与服务自动化管理的软件系统。长期以来,自动化系

统的建设是图书馆建设的重要工作,但商业自动化系统的

高额费用和非个性化服务使图书馆的自动化建设受到很大

阻碍。而近年来在全球广泛兴起的开源软件为图书馆提供

了新的选择。

所谓开源软件,是在新型的———并行的、点对点的、

动态的软件开发模式〔1〕下开发出来的软件,它鼓励软件开

发者相互协作,开放软件的源代码,并允许任何人基于任

何目的使用、拷贝、修改及重新分发软件。国外图书馆界

对开源软件的研究始于1998年,美国耶鲁大学医学图书馆

的系统馆员Daniel Chudnov在《图书馆杂志》(Library Jour-

nal)上发表了名为“开源软件:图书馆系统的未来”的研

究论文,引起了图书馆界的广泛关注,他指出“尽管开源

软件至今仍未进入图书馆软件的主流市场,但这种开发模

式对于图书馆软件市场的发展有着巨大的竞争力,新时期

的图书馆应该把更多的资源用于用户与馆员的培训,而非

购买昂贵的系统”〔2〕。目前,在国际范围内,已有十几种采

用开源软件模式进行开发和应用的图书馆自动化系统,主

要侧重于编目、公共存取等基本功能的实现。如: Koha系

统、Avanti系统、Evergreen系统、LearningAccess ILS、PHP-

MyLibrary系统、OpenBiblio系统等。这些系统在设计目标、

采用标准、实现技术、系统规模以及数据的组织方式、发

布方式等很多方面都不尽相同。本文在调研与实际 *** 作的

基础上,选择了3个比较有代表性的图书馆自动化系统开

源软件进行比较分析。

2 系统介绍

2·1 Koha集成图书馆自动化系统

Koha系统产生于1999年,被业内人士认为是全球第一

个自动化开源软件,由Katipo通信公司采用Perl语言和

MySQL数据库开发完成。该系统不仅集成了图书馆的传统

业务流程,包括采购、编目、流通、OPAC、读者管理,同

时还为用户提供个性化的定制机制。

Koha系统是基于Web的客户/服务器体系结构。该系

统中的perl脚本是Koha系统的核心部分,它是图书馆用户

与后台系统交互作用的核心,包括OPAC系统、Intranet系

统、Daemons系统以及DB系统〔3〕。OPAC系统是Koha系统

中的重要组成,其开发基于标准的WWW技术,如XHTML、

CSS和JavaScript,因而用户可以通过基于Web浏览器的用

户端,很容易地找到特定资源。Intranet系统则是后台事务

与前台 *** 作的接口,图书馆员无需安装其它软件,直接利

用浏览器便可以实现图书馆自动化的基本业务,如用户的

登入、登出管理、虚拟书架的管理、图书馆资源采购、资

源流通的管理,以及资源数据的导入、导出等。Daemons系

统为利用Z39·50协议查询资源的用户提供到Z39·50服务器

的连接。而DB系统则为数据库的存取 *** 作提供支持。

目前Koha系统主要安装在公共图书馆、个人和高校图

书馆的系部。而公司等赢利性机构使用得不多。

2·2 PHPMyLibrary系统

PHPMyLibrary系统是一个基于PHP语言和MySQL数据

库的图书馆自动化应用系统,它包括编目、流通、Web

OPAC、输入/输出和论文管理模块。主要具有如下特征:

(1)基于Web编目并存储相关的书目信息。图书馆员不仅

可以对数据库中的信息进行编辑、修改、检索、添加与删

除 *** 作,还能通过动态按钮很容易地增加或编辑新的书目

格式。(2)提供基于USMARC标准的输入/输出。(3)提供

ISIS2MARC程序,实现从ISIS数据库的系统导入功能〔4〕。

(4)支持多语言管理,用户可以管理包含多种语言的信息,

包括汉语、俄语、西班牙语、法语、德语等,并可以支持

对这些语种的数据库进行检索。

2·3 PMB系统

PMB系统,原名PhpMyBibli,自2002年在法国立项以

来,受到国际同行的广泛关注。该系统由PHP和MySQL编

写完成,目前已能实现资源订购、资源编目(主要是书籍

与期刊编目)、资源流通以及授权管理和串行数字接口中

(SDI)管理等功能。

该系统支持UNIMARC标准,运行在Linux或Windows

*** 作系统下。由于该项目源于法国,因此很多相关信息都

以法语提供,为该系统的推广宣传带来障碍,但来自波多

黎各的Jesir Vargas已把该系统翻译成英语和西班牙语,拓

宽其使用范围, 2004年,该项目的用户社区在比利时成立。

3 系统比较与分析

3·1 基本技术信息

基本技术信息包括软件所遵循的许可证类型、所支持

的客户端与服务器端系统类型以及图书馆标准等,它们是

评判系统的可扩展性和易用性的有效标准。

通过比较,可以看出这三个图书馆自动化开源软件都

具有较好的通用性、开放性和可扩展性。主要体现在: (1)

都可以在当前的主流 *** 作系统平台上运行(2)都支持图

书馆编目标准MARC、检索协议Z39·50(3)都是基于Web

的系统,为用户提供了简单的 *** 作接口,极大提高了系统

的 *** 作性能。这与传统的基于CS架构的图书馆自动化系统

不同。面对网络环境的日益渗透,传统图书馆自动化系统

不得不考虑向Web系统转型,这无疑为本土企业和图书馆

用户带来大量工作。而开源软件大多从一开始设计就是基

于Web的客户/服务器体系结构,开发语言(如PHP等)

普遍具有良好的可扩展性,这也是开源自动化系统区别于

传统自动化系统的最大优势。

3·2 系统功能

系统功能是图书馆选择自动化系统的重要依据,是系

统功能模块有效实现的直接反映。作者参阅2005年国家工

程技术图书馆发表的关于“图书馆自动化系统的调研报

告”〔5〕中的用户需求,对上述三个开源系统进行了功能比

较,帮助读者对这些系统所能实现的功能进行客观把握。

从笔者的实际 *** 作来看, Koha几乎具有用户所需的各

项功能,包括多样的检索接口,对资源流通过程的系统跟

踪对采购过程的系统管理,如资源编目数据的获取、资

源获取的预算与实际资金管理,同时该系统还为小型图书

馆提供了简单的采购模块,另外,该系统还提供对期刊与

网络资源的编目,因此, Koha系统是值得图书馆界关注的

一个重要系统。而PHPMylibrary和PMB系统缺乏对期刊和

成员馆的管理,系统功能不如Koha系统完善,因而更适合

中小型图书馆选择利用。

3·3 技术服务

系统的维护与服务是关系到图书馆自动化系统是否能

长期有效运行的重要因素之一,是图书馆选择这类软件所

必须考虑的因素,与商业软件相比,开源软件的技术服务

有其特殊之处。面对各种市场需求,越来越多的商业软件

许可证中包含了如安装、培训、运行支持、排错性维护和

版本升级等技术服务内容,而由于开源软件的开放与自由

获取性,用户通常需要自己在相关网站中下载安装与 *** 作

文档,当用户在使用过程中遇到问题时,可以通过邮件列

表或是其它方式(如由专业软件公司提供的正式支持)获

得相应的帮助,这种多样的服务方式为用户提供了个性化

的选择。

虽然上述三个系统都拥有正式的服务团队,而且Koha

系统的技术力量相当强大,不仅由多国专家共同组成,同

时还有全球的众多厂商参与,包括新西兰、法国、美国、

英国、阿根廷等国家的软件服务公司。但由于地域、语言、

时间等限制,国内用户很难真正及时有效获得帮助。尤其

是PMB系统,其很多资料都是法语文献,严重影响用户对

系统的参与和理解。

4 结论

自从2000年初奥本大学(Auburn University)图书馆成

功安装图书馆自动化开源软件以来,国际上许多知名图书

馆陆续开始采用开源软件来改善已有的图书馆自动化系统。

目前已有数百个图书馆采用Koha系统,散布全球五大洲,

包括澳大利亚、美国、加拿大、爱沙尼亚、印度、尼日利

亚、波兰等国家。其中美国的Ohio Nelsonville公共图书馆,

有7个分馆,馆藏30万册,读者5万人,年流通量62万

册,是Koha的最大客户。另外中国台湾地区的仁德医护管

理专科学校、南投县南港国小等多个学校使用该系统获得

了较好效果〔6〕。而PHPMylibrary和PMB系统用户相对较少,

PHPMylibrary目前在坦桑尼亚、印尼和菲律宾等国开始使

用。北苏门答腊大学(USU: University of Sumatra Utara)图书

馆在线拥有70, 920件馆藏,是到目前为止利用该系统的

较大在线馆藏〔7〕, PMB系统目前在全球的用户仅100余

个〔8〕。

通过对这些软件的比较分析,以期深入理解图书馆自

动化开源软件的设计理念,为开源软件在国内图书馆自动

化建设中的应用提供参考。传统的图书馆自动化系统开发

过程,基于商业利益和技术保密的考虑,仅由开发商负责。

由于无缘参与开发,图书馆只能在功能和性能上对软件的

质量进行评价,却无法从更深的技术层面来研究软件,导

致软件中的错误或低效率逃过检测而进入实际使用,最终

延长了软件达到预期目标的周期。开源软件的开发模式令

图书馆能够在更大范围和更深层次上参与软件的开发与维

护,而用户的参与将有助于全面查找并快速修正软件中的

错误,完成软件的多样性和适应性测试,并能根据特殊需

求定制或集成软件,从而促使图书馆软件系统趋向成熟。

〔参考文献〕

〔1〕Eric S. Raymond. The Cathedral and the Bazaar〔EB/OL〕.〔2008-

05 - 30〕. http: //www. firstmonday. org/issues/issue3-3/ray-

mond/.

〔2〕Daniel Chudov. Open Source Software: The Future of Library System

〔J〕. Library Journal, 1999, 124 (13): 40-43.

〔3〕Nicholas Rosasco, Erik Bakke. Koha architecture study〔EB/OL〕.

〔2008-04-20〕. http: //www. kohadocs. org/Koha-architecture.

html.

〔4〕About PhpMyLibrary〔EB/OL〕.〔2008-04-10〕. http: //phpmyli-

brary. com/pml/? page-id=2.

〔5〕国家工程技术图书馆信息服务中心.图书馆自动化系统调研报

告〔R/OL〕.〔2008-05-03〕. http: //168. 160. 16. 228/

libauto/wp-content/uploads/2006/04/dybg. pdf.

〔6〕Koha: Documentaiton Subsite〔EB/OL〕.〔2008-04-05〕. http: //

www. kohadocs. org/.

〔7〕PhpMyLibrary Users〔EB/OL〕.〔2008-04-10〕. http: //phpmyli-

brary. org/index2. php? option=com-content&do-pdf=1&id=16.

〔8〕PMB users〔EB/OL〕.〔2008-04-20〕. http: //www. sigb. net.

不好中。

开源sci期刊从投稿到发表要经历很长的过程,而且也有会一系列的审稿状态,可能会显示Accept,那么说明你的文章已经被开源期刊接受。当你的文章被接收后,开源sci期刊还会有一些别的状态来帮助您的文章进行正式发表。proof状态一般是需要作者校对稿件,作者一定要加以重视,仔细核对自己的论文,这样离论文成功发表就不远了。

开源sci期刊论文受认可度也是比较高的,这类期刊上发表的论文不代表都是低质量的论文,很多国际知名学术期刊都是开源期刊。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12200938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存