最近因为工作需要,开始对TiDB有兴趣做一些了解。首先阅读了官方的文档信息,然后按照安装指导在腾讯云上通过Docker compose部署了一个TiDB。在此通过一篇文档作为整个部署过程的记录。
小张哥哥
2019年11月9日 14:47
251645浏览
15327评论
2喜欢
在此,我们先来看一下什么是远程过程调用。远程过程调用简单来说可以是客户端调用远程服务端的服务。远程过程调用的大致过程如下: 1、客户端client发起服务调用请求。 2、client stub 可以理解成一个代理,会将调用方法、参数按照一定格式进行封装,通过服务提供的地址,发起网络请求。 3、消息通过网络传输到服务端。 4、server stub接受来自socket的消息 5、server stub将消息进行解包、告诉服务端调用的哪个服务,参数是什么 6、结果返回给server stub。 7、sever stub把结果进行打包交给socket 8、socket通过网络传输消息 9、client slub 从socket拿到消息。 10、client stub解包消息将结果返回给client。
小张哥哥
2019年7月22日 20:37
41803浏览
19047评论
0喜欢
在前面,我们使用直连交换机(direct exchange)代替了扇形交换机(fanout exchange),达到了我们选择性的接收日志的目的。 但是,现在我们有了更进一步的需求: 我们希望能够不仅仅根据严重程度对日志进行分类,我们还希望达到根据日志来源来分类的目的。比如,我们现在既可以舰艇来源为“corn”的严重程度为“critical errors”的日志,也可以监听来源于“kern”的所有日志。 为了达到这个目的,我们现在需要一个更复杂的交换机-主题交换机(Topic exchange)。
小张哥哥
2019年7月21日 19:56
23122浏览
10429评论
0喜欢
在前面的发布订阅模式中,发送者发布的消息可以广播给多个接收者。比如前面的日志系统中,日志消息可以发送给一个接收方在屏幕显示,同时发送给另一个接收方将日志消息保存到文件内。 假如现在我们需要实现这样的需求:日志信息有日志的重要程度进行区分,我们希望把比较严重的日志写入到文件中,而且同时把所有的日志都显示在屏幕上。 现在我们就需要交换机的另外一种模式,并搭配routing key实现。
小张哥哥
2019年7月21日 16:16
71577浏览
24197评论
1喜欢
前面文章中的工作队列,生产者生产的一个消息通过消息队列最终分发给一个消费者消费。 在本文中,我们来看以下一个不同形式的消息队列,即“发布/订阅”模式。 在这种模式下,一个生产者发出的一个消息,经过消息队列最终分发给多个消费者。
小张哥哥
2019年7月19日 19:42
617浏览
41评论
1喜欢
前面文章中的一个简单队列中只有一个生产者,一个队列和一个消费者。下面我们床架一个工作队列,可以发送一些耗时的任务给多个工作者(worker)。 工作队列(Task Queues)是为了避免等待一些占用时间和资源的操作。当我们把任务(Task)当作消息发送到队列中,一个工作者(worker)就会取出任务然后进行处理,如果任务很多,就会有多个工作者共同分工完成这些任务。
小张哥哥
2019年7月19日 16:30
3203浏览
1470评论
0喜欢
MQ即是Message Quene的缩写,字面意思消息队列。RabbitMQ就是消息队列中比较常用的一个框架。它是用Erlang语言开发的,使用了AMQP消息队列协议。 它是一个开源的,性能良好,优秀的消息中间件。 在应用解耦,流量消峰,缓存,异步通信等方面有良好的应用,同时也可应用在微服务系统中实现最终一致性。
小张哥哥
2019年7月19日 14:10
9785浏览
4336评论
0喜欢
前面的几篇关于REST framework的内容,从刚开始的序列化到框架的几个重要的模块,再到基于类的视图,再到认证和权限,后面还有给我们的API添加链接,以及最后关于ViewSet和Router的内容。这算是一个比较系统的,比较完善的学习过程。如果只是简单使用REST framework,不想花费很多精力的化,可以直接通过本文内容快速入门Django REST framework。
小张哥哥
2019年7月17日 21:45
1030浏览
48评论
2喜欢
HTTPS协议是基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护。 HTTPS采用非对称加密,加密过程中需要使用到公钥进行加密。公钥包含在数字整数中,数字整数通常来说是由受信任的数字证书颁发机构CA在验证服务器身份后颁发,证书中包含了一个密钥对(包括公钥和私钥)和所有者的识别信息。数字证书被放到服务器,进行服务器身份验证和数据传输加密功能。 下面来看一下,我们在阿里云服务器部署的网站如何设置,让其支持HTTPS访问。
小张哥哥
2019年7月13日 11:09
466浏览
27评论
2喜欢
作为一个码农,在博客上展示代码的时候,很希望代码能够很漂亮,很优雅的形式展示出来。这其中代码的高亮效果是非常重要的一个因素。 最近在完善自己的博客的时候,发现文章代码的高亮不是很好。于是就在网上查了一下。发现貌似prism.js插件的高亮效果还不错。我这边就拿来试一下。
小张哥哥
2019年6月6日 19:40
612浏览
2评论
3喜欢
为了统计网站的访问情况,以方便我们对网站内容做进一步的针对性的优化。 网站的访问量统计有几个概念需要了解一下: PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。 UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。 IP(独立IP):即Internet Protocol,指独立IP数。00:00-24:00内相同IP地址之被计算一次。
小张哥哥
2019年6月4日 21:18
341浏览
0评论
1喜欢
在本地完成开发之后,我们希望把我们的网站发布出去。我们可以选择自己搭建服务器,也可以选择云服务器。在对比了几个腾讯云,阿里云,华为云之后,我选择阿里云作为我的云服务器。
小张哥哥
2019年6月3日 22:34
1229浏览
32评论
1喜欢
REST framework里面有一写抽提出来的类用于处理ViewSets。这可以让我们在开发的时候专注于模型和API之间的交互,而URL链接的构建则能自动进行处理。 ViewSet类和View类基本是相同的,除了ViewSet提供read或者update的操作,而不是get或者put这些操作方法。 一个ViewSet只是在实例化成为一组视图实例的最后才会和一组操作方法绑定。绑定时候可以通过Router类来帮我们处理这些繁复的URL配置。
小张哥哥
2019年3月30日 19:57
514浏览
1评论
3喜欢
在未持久化的情况下,Redis所有数据是保存在内存中的,服务器重启或者断电后会造成内存中的数据丢失,所以如果需要保存数据,则需要对内存中的数据进行持久化,对数据的更新将异步保存到硬盘上。 持久化的方式: 快照: MySQL Dump, Redis RDB 写日志: MySQL Binlog; Hbase HLog; Redis AOF
小张哥哥
2019年3月27日 21:27
222浏览
0评论
0喜欢
在本篇文章中,总结一下redis内的各种数据结构和各种数据结构常用的API。
小张哥哥
2019年3月24日 20:07
244浏览
0评论
0喜欢
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。由于其高可用,高性能,已经被广泛使用了。现在对Redis的学习过程做一系列的总结性的记录。
小张哥哥
2019年3月22日 21:55
242浏览
0评论
0喜欢
当前,我们的API之间的关系还是通过主键相联系的。在本文,我们将通过使用超链接让我们的API之间的联系更加紧密,更加方便我们使用。
小张哥哥
2019年3月22日 21:12
312浏览
38评论
0喜欢
在前一篇文章中,我们使用的是基于函数的视图。我们同样可以写基于类的视图。写基于类的视图是一个更好的选择,可以提高我们代码的复用性。
小张哥哥
2019年3月18日 00:11
238浏览
0评论
0喜欢
当前,我们的API并没有权限设定,限定哪些用户可以编辑或删除。因此我们需要一些更加高级的行为来确保: 1. 每一个代码片段(Code Snippet)实例都有一个创建者(creater); 2. 只有相应授权的用户才可以创建代码片段实例; 3. 每个代码片段只能被它的创建者更新或删除; 4. 非授权的请求,只有只读的权限。
小张哥哥
2019年3月17日 00:20
343浏览
0评论
2喜欢
从本文开始,我们开始进入到REST framework比较核心的部分。我们首先介绍一下组成框架的几个重要的组成部分。 Request对象 REST framework引入了一个Request对象,它是继承自常规的HttpRequest,提供了更加灵活的request解析。Request对象最核心的功能是request.data属性,这个属性和request.POST很像,但是对于开发Web API,它的用处更大。
小张哥哥
2019年3月14日 20:25
720浏览
24评论
2喜欢
本文通过创建一个简单的,能高亮显示文本代码的工具的web api,介绍组成REST framework的哥哥组成部分。并对整个框架有一个全面的理解,了解它们是如何组成一体的。
小张哥哥
2019年3月13日 01:05
336浏览
26评论
0喜欢
Django Rest Framework是一个功能强大而且非常灵活的工具,可以用来构建web api。官方给出的优点如下: The Web browsable API is a huge usability win for your developers. 对开发这来说非常具有可用性的web api Authentication policies including packages for OAuth1a and OAuth2. 安全策略,包括一些适用于OAuth1a和OAuth2的包 Serialization that supports both ORM and non-ORM data sources. 支持对ORM和非ORM的数据的序列化。
小张哥哥
2019年3月12日 22:15
363浏览
1评论
0喜欢
排序算法经过很长时间的演化,产生了很多不同的方法。虽然每一种的算法在时间和空间复杂度上各有不同,但是各种算法也都有不同的应用场景,并不是效率最高的算法就适应所有的使用场景。 下面我们来归纳一下我们常见的一些排序算法,已经这些算法的时间复杂度和空间复杂度,以及这些排序算法的稳定性。 按照大的分类,排序可以分为内排序和外排序。内排序是值在排序过程中,全部记录都是存放在内存中的。而外排序则是在排序过程中需要使用到外部存储。
小张哥哥
2018年12月21日 20:45
599浏览
2评论
12喜欢
为了后续我们的开发工作,我们现在需要先在数据库中添加一些博文。我们现在首先优化一下我们之前的工作,将原来的TextField改为支持富文本。这里我们选用的是百度的UEditor。
小张哥哥
2018年8月17日 23:13
293浏览
0评论
0喜欢
笔者在进行调试过程中,由于对数据库中一个表的改动过大。而且未通过Django删表,直接在数据库中进行了删表操作,导致后面再重构表格时候出错。
小张哥哥
2018年8月17日 17:52
524浏览
1评论
0喜欢
现在需要设计一下博客网站所需要的数据表的结构。 首先,我们需要一个用户表 UserProfile: 用于保存用户信息,包括用户名,密码,全名,邮箱,电话,地址。
小张哥哥
2018年8月16日 22:02
303浏览
0评论
0喜欢
学习Django有一段时间了。现在萌生了开发一个个人博客的想法,主要基于以下几点: 一方面, 在学习过程中也做过一些小项目了,但是学习过程中毕竟不断跟随课程,查找资料,解决遇到的各种问题。过程比较零散,感觉算不上一个很完善的个人项目。因此想自己抽出比较多的时间,流畅完善的做一个比较完整的Django项目
小张哥哥
2018年8月15日 21:44
276浏览
1评论
0喜欢
由于DjangoUeditor对Python3的支持问题,在完成配置之后,可以正常输入文字,但是在上传图片和视频时出现上传失败的情况。
小张哥哥
2018年8月13日 21:42
13360浏览
6515评论
1喜欢
学习Django有一段时间了。现在萌生了开发一个个人博客的想法,主要基于以下几点: 一方面, 在学习过程中也做过一些小项目了,但是学习过程中毕竟不断跟随课程,查找资料,解决遇到的各种问题。过程比较零散,感觉算不上一个很完善的个人项目。因此想自己抽出比较多的时间,流畅完善的做一个比较完整的Django项目
小张哥哥
2018年8月11日 21:40
360浏览
23评论
0喜欢
现在的 Web 开发与几年前完全不同了,有很多不同的东西可以轻易地把人拒之门外,这也是我们决定制作这个循序渐进指南的原因之一,并让任何人可以清楚地了解他们在 web 开发中扮演的角色。
小张哥哥
2018年4月16日 22:35
3929浏览
487评论
0喜欢
作为一个程序员,平时的工作是与项目来挂钩的,但是有的时候会发现有些项目做得风生水起,有的则做得浑身难受,那么一个项目究竟应该怎么做?
小张哥哥
2018年4月14日 12:30
302浏览
27评论
0喜欢
使用Git,我们需要一个中央服务器。我们可以直接搭建一个,也可以使用Github。Github是目前最流行的Git托管库,个人开发者和企业都存放了大量的开源代码在这个托盘平台。
小张哥哥
2018年2月22日 20:50
315浏览
1评论
0喜欢
Git一个很重要的操作就是分支相关的操作,这也是多人协同项目中一个非常重要的功能。可以创建新分支,合并分支,对合并分支过程中的冲突进行处理。另外跟分支相关的还有工作现场的保存与恢复。
小张哥哥
2018年2月18日 11:33
197361浏览
19495评论
0喜欢
Git是一代大神Linus Torvalds开发的一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Linus开发支出是为了帮助管理Linux内核开发二开发的一个分布式的版本控制软件。而我们常用的CVS, SVN等则是集中式版本控制软件。
小张哥哥
2018年2月17日 12:05
654浏览
7评论
0喜欢
python内置了很多功能很方便的函数,供我们可以直接使用 我们可以通过在python命令行中输入dir(__builtins__查看所有的内置属性和内置函数
小张哥哥
2017年9月20日 18:56
432浏览
0评论
3喜欢