软件工程
文章平均质量分 54
许野平
非常喜欢软件设计这份工作,有不错的数学基础,喜欢读书、摄影与音乐。
展开
-
256线程的CPU有哪些型号?
除了AMD的EPYC系列,目前市场上其他主流的CPU,如Intel的Xeon系列或AMD的Ryzen Threadripper系列,虽然也提供多线程技术,但它们的线程数通常没有达到256线程这么高的水平。值得注意的是,线程数并不是衡量CPU性能的唯一指标。在选择CPU时,还需要考虑其他因素,如核心数、主频、缓存大小、功耗以及具体的应用需求等。最后,随着技术的不断进步,未来可能会有更多具有256线程或更多线程的CPU型号出现,因此在选择时请务必参考最新的产品信息和技术规格。原创 2024-04-14 01:59:25 · 277 阅读 · 0 评论 -
如何查看git管理了哪些文件?
除了上述命令行方式,你还可以使用图形界面工具来查看Git管理的文件。常见的Git图形界面工具有GitKraken、SourceTree等。这些工具可以提供更直观的方式来查看和管理Git仓库中的文件。请注意,以上命令在Git的命令行界面中执行。如果你还没有安装Git,需要先安装并配置好Git环境。总的来说,通过以上方法,你可以方便地查看Git管理了哪些文件,并了解这些文件的状态和最新提交情况。原创 2024-04-08 17:02:40 · 407 阅读 · 0 评论 -
软件系统中 state 与 status 的区别
它是一个更为宽泛且深入的概念,用于描述系统或程序在整体上或某个具体功能点上的当前状况。例如,在一个用户登录的系统中,“state”可能指的是用户当前是否已登录、用户的权限级别等。此外,“state”还常用于描述对象的状态,如一个对象可能处于“可用”或“不可用”的状态。总的来说,“state”是一个更为宽泛且深入的概念,用于描述系统或程序在整体上或某个具体功能点上的当前状况;在软件系统中,“state”和“status”虽然都关联到系统的状态,但它们在使用和语境上有着明显的区别。原创 2024-04-01 16:07:01 · 331 阅读 · 0 评论 -
git 查看文件夹结构树
很多文本编辑器和集成开发环境(IDE)都集成了Git功能,并且会提供一个侧边栏或面板来展示项目的文件结构树。如果你将代码托管在GitHub、GitLab或Bitbucket等在线服务上,它们通常会在仓库页面提供一个可视化的文件结构树。在Git中,没有直接的命令可以像文件系统那样展示一个可视化的文件结构树。如果你更喜欢图形化的界面,那么使用Git扩展工具或在线Git托管服务可能更适合你。虽然这不是一个可视化的树,但你可以使用Git命令和。命令,它会显示当前目录下的文件和文件夹结构。(如果你的系统已经安装了。原创 2024-03-30 17:59:30 · 524 阅读 · 2 评论 -
git 代码库查看方法
这些命令可以帮助你更好地了解和管理你的Git代码库。根据你的具体需求,你可能还会发现其他有用的Git命令和选项。这两个命令会显示暂存区(也就是你即将提交)的更改。在Git中,你可以使用多种命令来查看代码库(repository)的内容。这个命令会显示提交历史记录,包括每个提交的哈希值、作者、日期和提交消息。如果你想查看仓库中某个具体文件的内容,但不使用文本编辑器打开它,你可以使用。这个命令会显示指定文件在最新提交中的内容。这个命令会显示涉及该文件的所有提交。这个命令会列出你已经配置的远程仓库及其URL。原创 2024-03-30 17:51:31 · 396 阅读 · 0 评论 -
git 实际是一款小巧好用的源代码管理工具
以前一直以为 git 是 github 的专用工具,或者是类似 github 的管理工具,以为这个软件用起来会很麻烦。很早以前也用过svn等其他的一些源代码管理工具,也是被这类软件的复杂性和对硬盘空间野蛮增长的占用给吓住了。所以,宁愿自己用文档压缩软件进行备份和管理。最近实在受不了 vscode 的反复提示,下载安装了 git。顺手一试,我的乖乖,原来是一款小巧的的源代码管理。只需要两三条常用命令,就能满足我这个独行侠自己的代码管理需求。原创 2024-03-29 16:53:23 · 163 阅读 · 0 评论 -
Git代码库的基本结构
它使用四种类型的对象来存储文件和目录的数据以及提交的元数据,并通过唯一的 SHA-1 哈希值来标识和检索这些对象。首先,Git 的数据结构主要基于四种类型的对象:Blob(二进制大对象)、Tree(树对象)、Commit(提交对象)和 Tag(标签对象)。这些对象都存储在 Git 的对象数据库中,并且每个对象都由一个唯一的 SHA-1 哈希值来标识。除了对象数据库外,Git 的代码库还包括一个引用数据库,其中包含指向各种对象的引用。例如,分支和标签实际上是存储在引用数据库中的特殊类型的引用。原创 2024-03-28 14:59:52 · 469 阅读 · 0 评论 -
从 Git 代码库恢复源代码文件
这将使你的工作区处于“分离 HEAD”状态,意味着你不在任何特定的分支上。如果你打算进行更改并提交,最好创建一个新的分支。记得在进行任何更改之前先备份你的代码,以防万一出现意外情况。6. 现在,你的工作区已经更新为所选分支或提交的源代码。7. 如果你对源代码进行了更改并希望将它们提交回仓库,你需要先添加更改,然后提交。这将从指定的仓库 URL 克隆源代码到当前目录下的一个新文件夹中。或者,如果你要恢复到特定的提交,可以使用提交的哈希值或引用。命令将更改添加到暂存区,然后使用。原创 2024-03-28 14:44:19 · 417 阅读 · 0 评论 -
建立远程 Git 代码仓库
这通常涉及到在服务器上安装Git,并配置一个裸仓库(bare repository)来作为远程仓库。要在 Git 中建立远程代码库,你通常需要在代码托管平台上创建一个新的远程仓库,然后将本地仓库与之关联。如果你打算通过SSH协议访问你的远程仓库,你需要确保服务器已经配置好了SSH服务,并且你有一个SSH密钥对用于身份验证。在你的本地机器上,你可以将你的本地Git仓库与刚刚创建的远程仓库关联起来。如果克隆成功,那么你的远程仓库就已经设置好了。这是作为远程仓库的理想选择,因为远程仓库通常不需要检出文件。原创 2024-03-25 21:44:09 · 900 阅读 · 0 评论 -
Git 的数据安全性问题
Git 的工作原理是在本地存储仓库的完整副本,并且所有的版本控制操作(如提交、分支、合并等)都首先在本地进行。:当你将代码推送到远程仓库(如 GitHub、GitLab、Bitbucket 等)时,你需要确保远程仓库本身是安全的。大多数 Git 托管服务都提供了细粒度的访问控制功能,允许你管理谁可以读取、写入或管理你的仓库。然而,作为开发者,你应该采取适当的安全措施来保护你的代码和数据。:如果你的项目依赖于第三方库或开源组件,确保你了解这些组件的来源,并审查它们的安全性和许可证要求。原创 2024-03-25 21:37:29 · 264 阅读 · 0 评论 -
Git 入门教程
简单的 Git 入门教程,涵盖了 Git 的基本用法和常用命令。通过学习和实践,你将能够更深入地了解 Git 的强大功能和灵活性,并将其应用于你的项目中。在开始使用 Git 之前,你需要在你的计算机上安装 Git。你可以从 Git 官方网站(https://git-scm.com/)下载适用于你操作系统的 Git 安装包,并按照安装向导进行安装。要开始使用 Git 管理你的代码,你需要在你的项目目录中创建一个 Git 仓库。现在,你可以开始添加和提交代码更改到 Git 仓库。原创 2024-03-25 21:36:07 · 938 阅读 · 0 评论 -
算法思路太复杂,静思两天无从下手...
虽然技术路线已经确定,但是要写成一个复杂并行的算法实现,感觉大脑乱得很。但我也知道,大部分底层的工作我都已经完成了,现在就差最后一击,一个宏大、高性能的算法就能完成。忽然想到极限编程的一句格言,“先写一个错误的算法实现”,然后在一个错误的框架上修正打磨吧!思路再三整理,算法还是太复杂了!原创 2024-03-13 16:08:13 · 301 阅读 · 0 评论 -
从农业到宗教——软件产品开发的五种境界
2010年,在从重大的职业生涯挫折中重新爬起来之后,有感而发,一气呵成写了这篇博客。转眼间十几年过去了,我本人也在敲了40年代码后光荣退休,但感觉这篇文章对于新一代程序员们应该仍有借鉴意义,于是再次贴出来,供大家或做参考,或批评指正!十几年软件研发的沧桑岁月,和一度险濒于破产的痛苦经历,让俺对软件产品开发有了更深层的体会。新年到来之际,写出来和大家作个交流。原创 2024-01-08 11:24:13 · 1681 阅读 · 0 评论 -
在 ubuntu 20 上安装 redmine
步骤1、更新系统首先,通过apt在终端中运行以下命令,确保所有系统软件包都是最新的。sudo apt updatesudo apt upgrade步骤2、安装数据库在Ubuntu 20.04上安装MariaDB。系统更新后,使用以下命令在Ubuntu系统上安装MariaDB Server:sudo apt install software-properties-common mariadb-server mariadb-client安装服务器后,以下命令可用于停止,启动和重新启动数据库服原创 2021-11-18 15:10:27 · 1644 阅读 · 1 评论 -
WinRar:资料备份存档的得力工具
我以前喜欢把每年的资料整理成 iso 光盘影像文件保存,这个格式是只读的,不会再使用的过程中意外被破坏。可是如今,每年需要归档的资料数量越来越大,而 iso 文件的上限目前是 50G,远远不能满足我的要求,于是我想寻找更合适的工具。经过多方面的搜索比较,发现最好用的工具竟然是自己电脑上一直在用的 WinRar 程序。下面我来说说这款软件的优点。1. 归档和备份的区别资料归档和备份是两个完全不同的概念。资料归档:一般是说,资料不会被频繁修改了,甚至不会频繁使用了,可以整理一下放在安全的地方备用了。原创 2021-04-05 12:02:09 · 916 阅读 · 0 评论 -
在CentOS中使用 MySQL 的 Docker 镜像
在CentOS中使用 MySQL 的 Docker 镜像1.下载 MySQL 的 Docker 镜像 docker pull mysql也可以指定版本号 docker pull mysql:5.62.运行MySQL并指定 root 的登录密码 docker run -p 3306:3306 -v $PWD/conf/my.cnf:/etc/mysq...原创 2018-01-28 22:06:36 · 1916 阅读 · 0 评论 -
问题:Cannot connect to the Docker daemon. Is the docker daemon running on this host?
问题:Cannot connect to the Docker daemon. Is the docker daemon running on this host?重新启动 centOS 后,发现 Docker 命令会出现 Cannot connect to the Docker daemon. Is the docker daemon running on this host? 这个提示,研究了一原创 2017-09-02 16:56:57 · 11749 阅读 · 0 评论 -
搭建Docker(CentOS7)
搭建Docker(CentOS7)作者 许野平 2017-08-17 济南凡事都有第一次,Linux系统下的工具得慢慢熟悉。今天找了好几份安装教程都无法完成安装,Linux真的要我崩溃。忽然发现阿里云服务器提供了详尽的帮助文档和论坛,让我喜出望外。这篇文章仔细介绍了如何在阿里云服务器下安装Docker,试验了几次,还是不成功。后来发现要求操作系统需要7.2版本以上,于是在控制台选择更换操作系统。阿里原创 2017-08-17 20:13:11 · 739 阅读 · 0 评论 -
Go (Golang) 语言读取 http.Request 中 body 的内容
不罗嗦了,直接贴代码,不晓得为什么搞这么复杂,是不是因为担心 body 内容一次接受不全,所以搞了个接口来读取其中的内容?import ( ... "io/ioutil" ...)...func myPost(w http.ResponseWriter, r *http.Request) { s, _ := ioutil.ReadAll(r.Bod...原创 2018-04-24 17:52:06 · 81595 阅读 · 5 评论 -
用 Go 语言编写 RESTful API
github.com/drone/routes 资源给出了一个简单的 REST 框架,因为 Go 语言提供了非常方便的内置 HTTP 框架,所以自己写一个这样的框架应该不困难,这里是我做的读书和试验笔记,留着做个参考。下面是我摘录的部分代码:package mainimport ( "fmt" "net/http" "github.com/drone/rout...原创 2018-04-01 11:18:56 · 3828 阅读 · 0 评论 -
RESTful API 背后的哲学思想
RESTful API 背后的哲学思想去年参加 IBM 产品培训,第一次听说 REST API 这个概念。REST API的全称是RESTful API,原以为是 IBM 专有技术,咨询培训讲师后才了解到,这是最近越来越火的一种远程服务调用策略(RPC)。后来读了几本书,了解了一下,发现这种方法极简的形式背后蕴藏着深刻的哲学思想,它不仅解决了困惑我多年的思想问题,也是一种非常实用的方法。希望您原创 2017-08-12 18:04:06 · 1051 阅读 · 0 评论 -
微信小程序入门第一步
入门第一步,并编手工写一个比开发工具提供的还要简单的 HelloWorld 程序,揭示小程序的本质。原创 2020-04-08 19:07:36 · 425 阅读 · 0 评论 -
TortoiseSVN 下载、安装详解
下载官网:https://tortoisesvn.net/downloads.html我选择下载 64-bit 版本,下载完成,得到安装程序:TortoiseSVN-1.13.1.28686-x64-svn-1.13.0.msi安装安装没啥说,一路 Next 到结束,然后查看开始菜单:使用原创 2020-05-14 18:39:09 · 1801 阅读 · 0 评论 -
VisualSVN Server 的下载、安装详解
一、下载 VisualSVN Server百度一下 VisuaSVN server:第一个就是官网下载链接。(注意,不要搜索 VisualSVN,我不小心在这个官网下载了VisualSVN-VS2019-7.2.0.vsix,其实发现这个是 Visual Studio 用的一个插件,是 VisualSVN 的客户端,据说是个收费项目,暂时不要管它。)点击 download 下载后,选择 32 位还是 64 位版本:我用的是 64 位 win10,选择 64-bit 后,下载得到 VisualS原创 2020-05-12 11:11:07 · 2148 阅读 · 0 评论 -
MVP模式的一点思考:简化系统架构,而不是搞的更复杂
最近打算写一个“纯正”的 MVP 程序,结果发现越搞越复杂,发现很容易陷入 Presenter 滥用的陷阱。今天清理一下思路,写个小总结。1. Presenter 必须访问 Model一个合理的调用流程应该是 A-B-C-D,或者 A-B-C,或者A-B。也就是说,View 需要访问 Model 时,才需要向 Presenter。如果不需要访问 Model, 则完全不必访问 Presente...原创 2019-12-30 16:22:36 · 492 阅读 · 1 评论 -
忽然感悟到 Golang 语言中的通道 chan 的重要意义
我发现 Haskell、Erlang 这类函数式程序设计语言,都是采用了通道来锁定资源,利用通讯共享数据,最根本的原因,就是确保代码的“可验证性”。原创 2019-01-20 21:15:24 · 904 阅读 · 0 评论 -
软件产品设计的五种境界
十几年软件研发的沧桑岁月,和一度险濒于破产的痛苦经历,让俺对软件产品开发有了更深层的体会。新年到来之际,写出来和大家作个交流。 一、农业境界 刚参加工作,朋友问我,你能用电脑干啥?我口出狂言,只要你想得出来的,我都能做得到。其实,我说这话相当无知。 柏拉图曾经说过,人的知识犹如一个圆,圆内是你已经知道的,圆外是你还不知道的,圆周就是你已经知道的还没解决的问题原创 2010-01-03 18:54:00 · 6503 阅读 · 4 评论 -
软件工程——从艺术走向科学
引 言我单枪匹马时,曾经是个好程序员。当带领团队时,却搞得一败涂地。如何改变被动局面,带出最优秀的团队?这篇文章以我亲身的经历,写下我和我的团队在软件工程管理和软件系统设计与开发方面的学习历程,也许,这有助于您了解我们的软件开发过程或者给您带来一点点启示。一、艺术与科学很久以前读过一本书,讨论了艺术与科学的区别。作者认为,艺术不能仅仅局限于音乐、美术、戏剧等传统领域。凡是那些凭借天才的原创 2007-06-10 13:10:00 · 3448 阅读 · 7 评论