术语
- 工作区 /work tree
仓库所在的文件夹叫做工作区,就是你在电脑里能看到的目录。 - 暂存区
也就是在 git add 之后,git commit 之前的缓冲区,一般在.git/index 文件中。 - 仓库
git commit 之后,根据暂存区的文件生成一个 commit id, 暂存区的文件归档到仓库中,一般在.git/objects 里面
git
# 输出git版本信息
$ git -v
git version 2.38.1.windows.1
# 输出常用的命令列表
记录-交流-Web开发知识分享
作者:京东科技 皮亮
我们经常提到复杂系统,那么到底什么是复杂系统。我们看下维基的定义:复杂系统(英语:complex system),又称复合系统,是指由许多可能相互作用的组成成分所组成的系统。强调了两点:
两点的规模和复杂性直接决定了系统的复杂程度。比如就拿我们的电商系统举例,分成很多部分,商品、库存、采购、订单、物流、财务,这个只是大的分类,还有针对 C 端的营销、会员、购买、售后等体系,针对 B 端的商家入驻、管理等体系。各个部分、体系之间有着千丝万缕的联系,可谓之复杂系统了。当然了,远远不止这些,随着业务复杂性的不断提升,整个系统的复杂性也会愈来愈复杂。
生活中我们经常谈及 “架构”,那么到底什么是 “架构”,Robert C.Martin《架构整洁之道》中的定义:软件架构是指设计软件的人为软件赋予的形状,这个形状是指系统如何被划分为组件 (Components),各个组件如何排列(Arrangement),组件之间如何沟通(Communication,通讯),维基百科的定义:有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计,IEEE 的定义:架构 = 组成单元的结构 组成单元的关系 原则和指南,总体来看会包括几个内容:
这样说来,我们人类社会本身就是一个社会架构,各种职责、分工、圈层,就我们的软件系统来说,DDD 是架构,MVC 也是架构,大数据设计也有大数据的架构。所以架构无处不在,好的架构能够对特定的问题,特定的领域起到规范和指导作用。
我们知道,架构这个词是源于建筑行业的,英文原词是:Architecture,维基百科上的解释是规划、设计和建造建筑物的过程及产物。那我们就用建筑行业来理解一下。建房子对大家而言再熟悉不过了,那我们盖个小平层、盖个两层小高层、盖个 5 层小高层、搞个 10 层、盖个几百层的摩天大楼的过程、因素、风险是完全不同的。盖摩天大楼需要付出的成本更高,过程中的不确定性更多,挑战和风险也更大,例如如何选地、选择什么样的结构,如何承重,采光如何控制,优化、如何取暖,如何上水、排水,如何通风,如何避震等等。这些东西我们考虑的越多,房子未来的质量,可控性也会越好。
所以架构本质上就是一种指导型的约束,以约定整体和部分、部分和部分之间的关系,以使整体更加稳定,更加可靠。
路由类
Router.php
<?php class Router { private $routes = []; private $routeCount = 0; public function addRoute($method, $url, $callback) { if ($url !== '/') {//去除url尾部斜杠 while ($url !== $url = rtrim($url, '/'));//不应该去除url尾部斜杠,以后要改 } $this->routes[] = ['method' => $method, 'url' =>…
# 输出git版本信息
$ git -v
git version 2.38.1.windows.1
# 输出常用的命令列表
; 该文件中的所有配置均以分号 (;) 开头,代表注释行或不使用的指令
; 全局配置
[global]
; 进程 ID 文件位置,默认none
pid = /var/run/php-fpm.pid
; 错误日志文件位置,默认#INSTALL_PREFIX#/log/php-fpm.log
error_log = /var/log
#==========================nginx全局配置==========================#
# 指定 nginx 进程运行的用户,这里是 nginx,默认为nobody。
user nginx;
# 指定 nginx 使用多少个 worker 进程处理请求,这里使用了 auto,表示根据 CPU 核心数自动分配。
worker_processes auto;
# 指定 nginx 主进程的 PID 文件路径。
pid /run/nginx.pid;
#指定错误日志文件的路径
error_log /var/
网址的url结尾应该不应该带斜杠
带与不带斜杠"/"是不同的网址.
特别是相对url,
如果 你访问https://www.p2hp.com/about ,里面有个<a href="info">info</a>,则它将链接到https://www.p2hp.com/info.
而如果你访问https://www.p2hp.com/about/(一般返回同样的内容),则里面的<a href="info">info</a>,将链接到https://www.p2hp.com/about/info.
但根目录带不带/是一样的
如:http://www.p2hp.com 和http://www.p2hp.com/ 是一样的.
已测试.
参考:
https://blog.cdivilly.com/2019/02/28/uri-trailing-slashes
https://stackoverflow.com/questions/5948659/when-should-i-use-a-trailing-slash-in-my-url
https://www.cloudways.com/blog/trailing-slashes-urls/
https://ahrefs.com/blog/zh/trailing-slash/
…
向 nginx 发送非 GET,POST,HEAD请头(如PUT,PATCH请求),如果返回状态码为http 405 method Not Allowed
这通常是向根目录发送请求即"/" 或向静态html页面发送请求时会返回 405 Not Allowed.
向动态url发送请求,如php页面,则不会返回 405 Not Allowed.
…
今年2月份的时候,当大家刚开始火热地讨论chatGPT时,说实话我是没啥感觉的,毕竟我是看着GPT-2一路走过来的。但是当GPT的API大规模开放之后,大家开始疯狂基于GPT模型开发插件时,各种脑洞确实吓到我了!我从来没设想过,通过套娃和拼接实现的Auto-GPT,babyAGI,hugging-GPT的这些组合模型,居然能够直接摸到通用人工智能(AGI)的下限。…
近期评论