ORM哪家强?java,c#,php,python,go 逐一对比, 网友直呼:全面客观
前言
最近一段时间,我使用golang
开发了一个新的ORM
库。
为了让这个库更好用,我比较研究了各语言的主流ORM
库,发现有一些语言的ORM
库确实很好用,而有另外一些语言的库那不是一般的难用。
然后我总结了他们呢的一些共性和差异点,于是形成了本文的主要内容。…
git clone网速太慢了,怎么办,教你怎么解决,简单又实用。加速,加速,再加速
大家平时在做代码版本管理时是不是经常会用到git工具来clone仓库,在用到时候是不是经常遇到git clone ...网络断了或者连接不上的情况,今天来给大家分享5种很实用的git clone加速方法。…
docker hub的基本使用
Docker hub 顾名思义就是储藏docker的一个中心,他的名字和github非常相似,
两者可以比较着来看,github存放code,docker hub存放docker images。
个人使用docker hub,无非就这么几种情况,
- 在上面找一些成熟的docker image,比如说像python, ubuntu等,然后pull到本地进行使用
- 另外就是把docker hub当做个人的docker image的储存中心,把自己的image push上去。
ok,长话短说,现在开始实战。
login
使用docker hub的用户名,密码登录即可。
docker login
docker pull
可以在docker hub上找到各种image,然后根据网页上的命令直接pull下来即可,
这里以python image为例。
# https://hub.docker.com/search?type=image
# pull a image
docker pull python
docker images
使用docker
什么是gitlab,gitlab介绍
GitLab 是一款基于Git版本控制系统的Web-based管理工具,也是世界上最流行的开源应用之一。它拥有完整的项目管理功能,如代码合并、代码审查、问题跟踪、Wiki、CI/CD等,并且支持自托管、云托管、社区版和企业版等多种形式。
GitLab最初由Dmitriy Zaporozhets和Valery Sizov于2011年创建,目的是构建企业自托管Git平台,减少的公司对Atlassian(JIRA、Bitbucket、Confluence)产品的依赖。GitLab在开源社区中的受欢迎程度只增不减,目前有来自全球地区的数百万个项目在上面进行管理。…
放弃使用Merge,开心拥抱Rebase!
1. 引言
大家好,我是比特桃。Git 作为现在最流行的版本管理工具,想必大家在开发过程中都会使用。由于 Git 中很多操作默认是采用 Merge 进行的,并且相对也不容易出错,所以很多人都会使用 Merge 来进行合并代码。但Rebase 作为 Git 中主要命令之一,我们还是有必要了解一下,在适合的场景中进行使用。
…
Git忽略规则(.gitignore配置)不生效原因和解决
第一种方法:
.gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,或者用git status查看状态,想要忽略的文件还是显示被追踪状态。
原因是因为在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,
这时候我们就应该先把本地缓存删除,然后再进行git的提交,这样就不会出现忽略的文件了。…
如何用grep匹配汉字?
经验证[\u4e00-\u9fff]
可以在vim中匹配中文字符。
:%g/[\u4e00-\u9fff]/d
上面的命令可以删除所有包含汉字的行。
ls /tmp/test
ktop 1_001.png.bak
fonts.dir.bak
New
Screenshot from 2016-09-12 16:50:29.png.bak
你好
现在我想提取名称为汉字的文件。
ls /tmp/test |grep -P '[\x4e\x00-\x9f\xff]'
该命令无法获取名称为中文字符的文件。
如何修复它?
ls /tmp/测试 | grep -v '[az]'可以得到它,但这就是我想要的。
答:
要仅匹配包含汉字的行(文件名),您可以使用[\p{Han}]
:
ls /tmp/test | grep -P
… git 不提交权限改变的 Git识别文件权限修改
刚打开IDE,工作区的代码状态全部变成修改未提交的状态了?这是这么回事?
这是因为Git忽略文件权限或者拥有者改变导致的git状态变化。
默认Git会记录文件的权限信息,如果文件的权限信息被修改,在Git中改变文件会出现很多我们并不需要提交的文件。
方法一:
git config core.filemode false
git config --global core.filemode false //全局设置
方法二:
直接修改代码仓库
.git 目录里的 config 文件的 filemode (在 [core] 段中)字段,将其改为 false
…
kafka简介
目录
- Kafka 是什么
- Kafka 核心组
- Kafka 整体架构以及解析
- Kafka数据处理步骤
- Kafka名词解释和工作方式
- Consumer与topic关系
- Kafka消息的分发
- Consumer的负载均衡
Kafka 是什么
- Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目,该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。
- Kafka是一个分布式消息队列:生产者、消费者的功能。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。
- Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper集群保存一些meta信息,来保证系统可用性
Kafka 核心组件
- Producer:消息生产者,产生的消息将会被发送到某个topic
- Consumer:消息消费者,消费的消息内容来自某个topic
- Topic:消息根据topic进行归类,topic其本质是一个目录,即将同一主题消息归类到同一个目录
- Broker:每一个kafka实例(或者说每台kafka服务器节点)就是一个broker,一个broker可以有多个topic
Zookeeper:zookeeper集群不属于kafka内的组件,但kafka依赖zookeeper集群保存meta信息,所以在此做声明其重要性。
Kafka 整体架构以及解析
Kafka数据处理步骤
- 1、Producer产生消息,发送到Broker中
- 2、Leader状态的Broker接收消息,写入到相应topic中
- 3、Leader状态的Broker接收完毕以后,传给Follow状态的Broker作为副本备份
- 4、Consumer消费Broker中的消息
Kafka名词解释和工作方式
- Producer
消息生产者,就是向kafka broker发消息的客户端。 - Consumer
消息消费者,向kafka broker取消息的客户端 - Topic
近期评论