kafka

2019-06-13
阅读 4 分钟
2k
topic是发布记录的类别或订阅源名称。 Kafka的topic总是多用户; 也就是说,一个主题可以有零个,一个或多个消费者订阅写入它的数据。

通过goquery爬取知乎数据

2019-04-28
阅读 2 分钟
2.5k
因为毕设模仿知乎做了个网站,需要点数据,所以打算爬点知乎的数据,本来想通过python写个爬虫,但是发现go也有个挺好用的爬虫库——goquery,如果你学过前端,那你完全可以在半个小时之内用goquery写出一个爬虫

Docker镜像分层结构

2019-04-08
阅读 1 分钟
2.2k
最大的好处就是共享资源。当多个镜像从相同的base镜像构建而来,那么Docker host只需要在磁盘保存一份base镜像,同时内存中也只需要加载一份base镜像,就可以为所有的容器服务了。

docker命令

2019-04-02
阅读 5 分钟
1.6k
docker容器重新启动的时候,会沿用docker run命令时指定的参数来运行,因此上例中重新启动会运行一个交互式的shell,此外也可以用docker attach重新附着到该容器的会话上

Git使用

2019-02-20
阅读 3 分钟
1.5k
git分支 查看分支 {代码...} 创建分支 {代码...} 切换分支 {代码...} 推送新分支 {代码...} 删除分支 {代码...} git处理冲突 当拉取下来的文件与本地修改的文件有冲突,先提交你的改变,或者先将你的改变暂时存储起来 1、将本地修改存储起来 {代码...} 2、pull内容 {代码...} 3、还原暂存的内容 {代码...} 也可以简写 {...

Go总结(2)

2019-01-22
阅读 4 分钟
1.8k
Go通过ListenAndServer来建立web服务器,底层是初始化一个server对象,然后调用net.Listen("tcp",addr)来监听端口。

git常见问题解决

2019-01-06
阅读 1 分钟
1.6k
记录在开发过程中遇到的git问题,边解决问题边学习,常见的命令后续找时间再补充,尽量写一个完整的教程。 git处理冲突 当拉取下来的文件与本地修改的文件有冲突,先提交你的改变,或者先将你的改变暂时存储起来 1、将本地修改存储起来 {代码...} 2、pull内容 {代码...} 3、还原暂存的内容 {代码...} 也可以简写 {代码.....

开发过程中mysql常见问题

2019-01-06
阅读 1 分钟
1.5k
记录开发过程中遇到mysql相关的问题以及解决方法,长期更新。 远程连接问题 mysql默认连接只能给本地(localhost或者127.0.0.1),如果想让某个ip地址可以访问mysql,需要手动开启这个权限 方法: 进入终端 分配新用户 grant all privileges on *.* to '用户名'@'IP地址' identified by '密码'; 刷新权限 flush privileges;...

Bat脚本

2019-01-06
阅读 1 分钟
2k
在工作中,因为微服务结构,所以每次更新代码都需要重新启动/关闭多个服务,每次手动都比较麻烦,故写了一些bat脚本一键运行/关闭相关服务,以下记录一些相关的bat脚本命令

GO入门学习

2018-12-29
阅读 9 分钟
1.5k
go不像java这种成熟的语言有eclipse这种编译器,但是go提供了很多插件首先先选择一个编译器,我这边使用的vscode,接着在vscode中配置go的开发环境配置开发环境之后,接着需要安装一些go的插件方便开发,首先先了解每种插件的作用,像gocode的作用就是代码补全,具体可参考[链接]安装插件有几种方式,可以通过vscode自动...

kafka官方文档翻译(一)

2018-11-17
阅读 3 分钟
1.7k
Introduction 一个数据流平台有三个关键的功能: 发布和订阅记录流,类似于消息队列或企业消息传递系统。 以容错的持久方式存储记录流。 处理正在发生的记录流。 Kafka通常用于两大类应用: 构建可在系统或应用程序之间可靠获取数据的实时流数据管道。 构建转换或响应数据流的实时流应用程序。 要了解Kafka如何做这些事...

数据库与缓存数据一致性解决方案

2018-11-16
阅读 1 分钟
2.7k
写入数据库的值与更新到缓存的缓存值是一样的,不需要经过任何的计算,可以马上更新缓存,但是如果对于那种频繁写而读数据少的场景并不适合这种解决方案,因为也许还没有查询就被删除或修改了,这样会很浪费时间和资源。

缓存穿透,缓存击穿,缓存雪崩解决方案分析

2018-11-14
阅读 1 分钟
2.9k
缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写,并且处于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。

正则表达式

2018-11-12
阅读 1 分钟
1.4k
匹配单个字符 .可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符。 .是元字符,表示它有特殊含义,而不是字符本身的含义。 如果需要匹配.,那么要用进行转义,即在.前面加上。 正则一般区分大小写的,但是也有些实现不区分。 匹配一组字符 []定义一个字符集合。 0-9、a-z定义了一个字符区间,区间使...

布隆过滤器

2018-11-03
阅读 1 分钟
1.5k
介绍 判断一个元素是否存在一个集合中? 常规思路: 数组 链表 树、平衡二叉树、Trie Map(红黑树) 哈希表 虽然上述数据结构配合常见的排序、二分搜索可以快速的处理大部分判断元素是否存在,但是当集合里面的元素足够大时,如果有500万条甚至一亿条记录时,消耗的内存将会很高,这个时候,布隆过滤器(Bloom Filter)就...

Zookeeper

2018-10-31
阅读 5 分钟
2k
ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务,它提供了一项基本服务:分布式锁服务。 由于ZooKeeper的开源特性,后来开发者在分布式锁的基础上,摸索出了其他的使用方法:配置维护、组服务、分布式消息队列、分布式通知/协调等。

dubbo

2018-10-30
阅读 2 分钟
1.4k
介绍 Dubbo是阿里提供的开源的SOA服务化治理框架的技术框架,通过spring beans的方式管理配置及实例。 架构 节点 角色说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Register 服务注册与发现的注册中心 Monitor 统计服务的调用次数和调用时间的监控中心 Container 服务运行容器 调用者关系: ...

并发编程模型

2018-10-24
阅读 1 分钟
1.3k
I/O复用模型 原理 让多个程序可以同时对多个I/O端口进行监控以判断其上的操作是否可以继续进行,达到时间复用的目的。在书上看到一个例子

秋招

2018-09-23
阅读 3 分钟
2.6k
聊了会项目sql注入的防范各种安全问题的防范where在group by前面还是后面在后端,你的优点跟缺点编程题求字符串出现频率最高的首个字符自我介绍

加密算法

2018-09-14
阅读 1 分钟
3.4k
分类 根据密钥类型不同将现在密码技术分为:对称加密算法和非对称加密算法。 对称加密算法是加密跟解密采用同一把密钥,而且通讯双方都必须获得这把钥匙,并保持钥匙的秘密。 非对称加密算法采用的加密钥匙(公钥)和解密钥匙(私钥)。 对称加密算法 对称加密算法用来对敏感数据等信息进行加密,常用的算法: DES(Data...

IO模型

2018-09-07
阅读 2 分钟
1.9k
对于一个套接字上的输入操作,第一步通常涉及等待网络数据从网络到达。当所等待数据到达后,它被复制到内核中的某个缓冲区。第二部就是把数据从内核缓冲区复制到应用进程缓冲区。

分布式

2018-09-04
阅读 8 分钟
3.4k
分布式不能同时满足一致性(Consisency),可用性(Available),分区容忍性(Partition Tolerance),最多只能同时满足其中两项。

Redis

2018-08-23
阅读 7 分钟
1.6k
String是最常用的一种数据类型,普通的key/value存储都可以归为此类,value其实不仅是String,也可以是数字:比如想知道什么时候封锁一个IP地址(访问超过几次)。INCRBY命令让这些变得很容易,通过原子递增保持计数。

计算机网络

2018-08-19
阅读 6 分钟
1.7k
POST跟GET的区别 作用 GET用于获取资源,而POST用于传输实体 参数 GET的参数以字符串的格式出现在URL中,而POST的参数存储在请求实体中。 因为URL只支持ASCII码,故GET的参数如果存在中文等字符就需要先进行编码,POST参考支持标准字符集。 安全 安全的 HTTP 方法不会改变服务器状态,也就是说它只是可读的。 GET 方法是...

算法-Top K问题

2018-08-16
阅读 2 分钟
2.6k
利用大(小)顶堆所有子节点元素都比父节点元素小(大)的性质来实现的。故可先建立一个包含K的元素的堆,然后便利集合,如果集合元素比堆顶大(小),那就用该元素来替换堆顶元素,同时维护堆的性质,最后遍历结束之后,堆中元素即为最大(小)的K的数。

算法-leetcode

2018-08-13
阅读 27 分钟
2k
Given an array of non-negative integers, you are initially positioned at the first index of the array.

操作系统总结

2018-08-12
阅读 4 分钟
2.1k
特征 并发 并发是指宏观上在一段时间内能够同时运行多个程序,而并行则指同一个时刻能运行多个指令。 并行需要硬件支持,如多流水线或者多处理器。 操作系统通过引入进程和线程,使得程序能够并发运行。 共享 共享是指系统的资源可以被多个并发进程共同使用。 有两种共享方式:互斥共享和同时共享。 互斥共享的资源称为...

Java基础

2018-08-07
阅读 9 分钟
1.6k
Integer.valueOf(String s):返回一个Integer对象,会用到cache缓存(-128~127),效率可能比new Integer()要高。

常见网络攻击

2018-08-05
阅读 5 分钟
3.5k
中间人攻击是一种常见的攻击手段,攻击者与通信双方分别建立连接,将双方想要交换的数据进行记录、篡改甚至丢弃。由于Http是明文传输,因此很容易遭受到中间人攻击。

算法-剑指offer

2018-08-04
阅读 20 分钟
2.1k
地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?