自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 收藏
  • 关注

转载 随机数产生转换-根据(1,5)随机数生成器,生成(1,7)之内的随机数

转自:https://blog.csdn.net/zheng0518/article/details/509298261. 题目 给定一个随机数生成器,这个生成器能均匀生成1到5(1,5)的随机数,如何使用这个生成器生成均匀分布的1到7(1,7)的数?2. 思路 方法一:生成两个(1,5)的随机数,这样一共是25种情况,注意这两个数是有顺序的,从这25种情况中,取前21种,每三种代表(1,7)中的一个数字,如果取到的是这21种以外的情况,丢掉重新取。 方法二:生成三个(1,...

2020-05-10 12:48:02 1571

转载 内存寻址之段页存储机制分析

转自:https://blog.lecury.cn/2017/05/05/%E5%86%85%E5%AD%98%E5%AF%BB%E5%9D%80%E4%B9%8B%E6%AE%B5%E9%A1%B5%E5%AD%98%E5%82%A8%E6%9C%BA%E5%88%B6%E5%88%86%E6%9E%90/背景学习操作系统这门课的时候,曾不止一次的接触到操作系统的段页式管理机制,但当是都是浅尝辄止,不知道操作系统为啥要有这个机制。如今时间过去很久,关于这个机制的背后的原理和实现机制,早已忘记很久了

2020-05-09 17:40:32 602

转载 线程的查看以及利用gdb调试多线程

转载自:https://blog.csdn.net/zhangye3017/article/details/803824961. 线程的查看首先创建两个线程:#include <stdio.h>#include <unistd.h>#include <pthread.h>#include <stdlib.h>#include &l...

2020-05-08 14:59:55 928

原创 grace(热重启)剖析

Beego中的热重启是以一个单独的模块二存在的,你可以在其他项目单独使用,例如:import( "log" "net/http" "os" "strconv" "github.com/astaxie/beego/grace" ) func handler(w http.ResponseWriter, r *http.Request) { ...

2020-05-06 13:42:32 909

原创 Mysql 的慢查询日志开启

慢查询日志其实就是将mysql 的 sql 执行过程中执行时间超过阈值的sql 语句记录下来,方便后续优化。而阈值的大小由 long_query_time 来设置,默认是10秒。 在默认的情况下,mysql 的慢查询日志事关闭的,需要人工手动开启。mysql> show variables like 'long_query_time'\G;*******...

2019-10-21 21:37:06 147

转载 乐观锁和悲观锁

前言乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。目录一、基本概念二、实现方式(含实例) 1、CAS(Compare And Swap) 2、版本号机制三、优缺点和适用场景四、面试官追问:乐观锁加锁吗?五、面试官追问:CA...

2019-09-25 08:51:44 268

转载 Go 高性能编程技巧

1.在高并发队列任务分发的场景中RingBuffer比Channel的性能更好2.defer功能不是静态编译时提供的,而是运行时提供的,所以使用defer会产生一些额外的性能开销(了解就好,该用还是得用)3.encoding/json序列化是通过反射机制实现的,性能很差,可以使用ffjson生成encode/decode代码来提升性能。如果可能,使用MsgPack替代JSON,因为Msg...

2019-09-17 22:03:44 907

原创 go 字符串string 和 字符数组[]byte 的高效转换

在我们的程序里面基本都写成如下的转换var a = []byte("hello world")var b = string(a)这样的强制类型转换其实是调用底层的copy 函数进行转化,也就是说需要在内存中进行拷贝。这如果并发量达到千万级别,这样的转换是很耗性能的。那么我们是否可以使用 unsafe.Point() 这样的指针直接转换呢?首先我们的知道 string 和 []byt...

2019-09-16 22:48:27 6166 1

原创 类似微博的消息推送的两种实现方式

我们在微博上订阅并关注某些人的微博,这些关注的人发布一条微博的时候,我们打开微博浏览会看到一条条消息按照时间的逆序在我们的首页展示出来,我们可以不停地往下阅览这些消息。那么从消息发布到阅览,这背后的技术是怎么实现的呢?下面我们来一看究竟。方案一:在消息发布的时候插入同一个全局的消息主表中。当用户查看时间时,首先查找所有关注的对象,列出这些人的所有消息,最后以时间为序来排序合并。大概的关系型数据...

2019-09-08 12:33:45 5331

转载 redis的LRU算法实现

http://www.cnblogs.com/WJ5888/p/4371647.htmlRedis:https://github.com/zwjlpeng/Redis_Deep_ReadRedis中采用两种算法进行内存回收,引用计数算法以及LRU算法,在操作系统内存管理一节中,我们都学习过LRU算法(最近最久未使用算法),那么什么是LRU算法呢LRU算法作为内存管理的一种有效算法,其含...

2019-03-31 01:00:32 2500

转载 使用GDB调试GO

转自:https://blog.csdn.net/gua___gua/article/details/50481534GDB是FSF(自由软件基金会)发布的一个强大的类UNIX系统下的程序调试工具。使用GDB可以做如下事情:启动程序,可以按照开发者的自定义要求运行程序。 可让被调试的程序在开发者设定的调置的断点处停住。(断点可以是条件表达式) 当程序被停住时,可以检查此时程序中所发生的...

2019-03-10 15:13:01 772

原创 go net.http 每次都查询dns的导致的问题

在线上部署的一个程序,在某天突然在一天内出现多次 “dial tcp: lookup xxxx.com on 223.x.x.x:53: read udp 180.x.x.x:7792-&gt;223.x.x.x:53: i/o timeout” 的问题,导致线上告警触发了多次。后面查找问题,发现 go 每次发起 http 请求都会发起一个 dns 请求来进行域名解析,而我们服务器的dns...

2019-03-03 16:38:07 23327

转载 编程珠玑变位词算法

转自:https://blog.csdn.net/workformywork/article/details/16963613问题描述给定一个英语字典,找出其中的所有变位词集合。例如,“pots”,“stop”和“tops”互为变位词,因为每一个单词都可以通过改变其他单词中的字母顺序来得到。解决思路首先想到的方法应该是使用一个两层循环,遍历字典,然后再比较每个单词是否是变位词,在比较单...

2019-03-03 12:21:27 197

原创 redis 4.0以上的module (一)

前两天查看redis的官方文档,发现在redis 4.0以上,redis支持了可扩展了module,让用户可以自己根据需求自己扩展redis相关的功能了。所以趁周末,查看了官方的module文档,写了个简单的demo。1. 下载并安装好 redis 4.0 以上的版本 (具体的安装步骤百度)2. 新建一个目录并包含 redismodule.h 文件,里面包含了 redis 相关的操作的函数...

2018-12-23 21:55:44 2656

原创 openresty+lua 实现简单的灰度发布

openresty 是在nginx之上集成了lua模块的第三方服务器,我们很容易基于lua对openresy进行简单的二次开发。下面就是一个简单的openresty+lua 的灰度发布的测试demo,简单地来说就是通过client的ip来访问不同的服务器。nginx.conf 配置文件如下:upstream client1 { server 127.0.0.1:8080; }...

2018-12-16 22:12:29 2998

转载 nc 用法

转自:https://www.cnblogs.com/nmap/p/6148306.html什么是ncnc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具nc的作用(1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口(2)端口的扫描,nc可以作为client发起TCP或UDP连...

2018-12-05 23:52:37 297

转载 Linux 技巧:让进程在后台可靠运行的几种方法

转自:https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问...

2018-12-04 21:06:40 243

转载 nginx https 配置

转自:https://www.cnblogs.com/jingxiaoniu/p/6745254.html一、HTTPS简介1.https简介HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据2.https协议原理首先,客户端与服务器建立...

2018-12-02 23:02:44 157

原创 sublime中换行符替换成“,”

command + option + ffindwhat 中输入:command + shift + enter在Replace With 中输入 ","点击 replaceall

2018-10-21 21:38:02 3973 1

转载 MySQL 导入和导出数据

转自:https://blog.csdn.net/myron_sqh/article/details/13016945一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1、导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 &gt; 数据库名.sql#/usr/local/mysql/bin/   mysqldump -uroot -p...

2018-10-19 09:41:20 171

转载 MySQL用户管理:添加用户、授权、删除用户

转自:https://www.cnblogs.com/chanshuyi/p/mysql_user_mng.html添加用户以root用户登录数据库,运行以下命令:create user zhangsan identified by 'zhangsan';上面的命令创建了用户zhangsan,密码是zhangsan。在mysql.user表里可以查看到新增用户的信息:授权...

2018-10-18 19:36:37 144

转载 如何高效产生m个n范围内的不重复随机数

转自:https://blog.csdn.net/code_crash/article/details/4875601 如何产生不重复的随机数?最容易想到的方法,是逐个产生这些随机数,每产生一个,都跟前面的随机数比较,如果重复,就重新产生。这是个很笨的方法,且比较次数呈线性增长,越往后次数越多。其实这些比较是多余的,完全可以不进行比较,只要反过来,按顺序产生这些数,但随机产生它们的位置。例如下...

2018-09-09 09:07:44 1462

转载 程序员面试智力题

转自:https://blog.csdn.net/iteye_5501/article/details/81657038第一组  1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?  2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?  3.如果...

2018-09-07 17:49:00 804

原创 有100w个关键字,长度小于等于50字节(B)。用高效的算法找出 top10 的热词,并对内存的占用不超过1MB

昨天去面试 C++ 后台开发,给了一份笔试题,里面有道附加题:“有100w个关键字,长度小于等于50字节(B)。用高效的算法找出 top10 的热词,并对内存的占用不超过1MB”。刚开始看到这道题,我的第一反应觉得应该就是 大化小 的分而治之。然后给出的答案跟网上也差不多(回来之后百度的)。觉得还不错,所有记录下解决过程。(1)先把100w 个关键字 hash 映射到小文件,根据题意,100w...

2018-08-25 17:37:19 779

转载 Google开源协议Protobuf的简介及其序列化原理

转自:https://blog.csdn.net/chengzi_comm/article/details/53199278protobuf介绍及其序列化原理什么是probobuf、作用是什么:   Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平...

2018-08-24 10:45:18 6976

原创 int *p = NULL 和*p = NULL 有什么区别?

很多初学者都无法分清这两者之间的区别。我们先看下面的代码:int *p = NULL;这时候我们可以通过编译器查看p 的值为0×00000000。这句代码的意思是:定义一个指针变量p,其指向的内存里面保存的是int 类型的数据;在定义变量p 的同时把p 的值设置为0×00000000,而不是把*p 的值设置为0×00000000。这个过程叫做初始化,是在编译的时候进行的。明白了什么是初...

2018-08-22 18:36:27 1539

转载 LeetCode难度及面试频率

转自:LeetCode Question Difficulty Distribution                1 Two Sum 2 5 array sort           set Two Pointers   ...

2018-08-21 09:06:26 1134

原创 MySQL 事务隔离级别

         在 SQL 标准中定义了四种标准的隔离级别,每一种级别都规定了一个事务中所做的修改,哪些在事务内和事务间是可见的,哪些是不可见的。较低级别的隔离通常可以执行更高的并发,系统的开销也更低。 READ UNCOMMITTED (未提交读)        在 READ UNCOMMITTED 级别中,事务中的修改,即使没有提交,对其他事务也都是可见的。事务可以读取已修改...

2018-08-12 14:21:32 213

原创 MySQL 的存储过程

 定义:    存储过程是 SQL 语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理 优点:    增强 SQL 语句的灵活性和功能    加快了速度,因为提前编译好了,少了语法分析和编译步骤    减少了网络流量,某个SQL 语句,只要传个名称就可以了 创建存储过程语句    CREATE    [DEFINER = {user | C...

2018-08-12 14:20:39 136

原创 MySQL 常用函数

字符函数  函数名称 描述 CONCAT() 字符连接 CONCAT_WS() 使用指定的分割符进行字符连接 [ CONCAT_WS('|', str1, str2) ,第一个参数是分隔符 ] FORMAT 数字格式化 FORMAT(12...

2018-08-12 14:19:04 126

原创 MySQL-JOIN 详解

1、概述    一个完整的 SQL 语句中会被拆分成多个子句,子句的执行过程会产生虚拟表(vt),但是结果只返回最后一张虚拟表。 2.、JOIN 的执行顺序    一下是JOIN 查询的通用结构    SELECT &lt;row_list&gt;    FROM &lt;left_table&gt;        &lt;inner | left | right&...

2018-08-12 14:15:35 303

原创 mysql 常用 SQL 语句

 (1)创建数据表同时将查询结果写入到数据表     CREATE TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]  select_statement (2)参照另一个表的数据来更新一个表     UPDATE table1 (inner join, left join, right join) table2 O...

2018-08-12 14:11:30 364 1

原创 on duplicate key update 自增id 不连续的问题sql_query =''' SELECT card.imsi, DATE_FORMAT(flow.consume_date,\

 由于项目中需要统计每个月卡的在线数(也就是每天只要卡有流量消耗,就算上线),所以需要先统计每张卡每个月的在线数。如果卡的记录已经存在,那么就把在线数 加 1, 否则就插入一条新的记录。sql_query ='''SELECT card.imsi, DATE_FORMAT(flow.consume_date,\'%%Y-%%m\') FROM %s flow JOIN flowm...

2018-08-12 14:08:53 882

转载 MySQL聚簇索引和非聚簇索引的原理及使用

转自:https://blog.csdn.net/lijiaz5033/article/details/50129723索引分为聚簇索引和非聚簇索引。 以一本英文课本为例,要找第8课,直接翻书,若先翻到第5课,则往后翻,再翻到第10课,则又往前翻。这本书本身就是一个索引,即“聚簇索引”。如果要找"fire”这个单词,会翻到书后面的附录,这个附录是按字母排序的,找到F字母那一块,再找到...

2018-08-09 09:30:57 281

转载 Python初学者错误:TypeError: unsupported operand type(s) for +: 'int' and 'str'

转自:https://blog.csdn.net/foryouslgme/article/details/51536882在大神们看来print可能是一个再简单不过的函数,但是对于新手来说,在自学过程中,会碰到各种各样的问题,如果没有很好的老师或者学习思路,很有可能学习成本会相当高,所以希望大神们不要鄙视初学者的“傻X”问题,毕竟大家都是过来人如下代码:&gt;&gt;&gt; a ...

2018-08-09 08:34:35 32056

原创 ValueError: unsupported format character 'Y' (0x35) at index 59

错误信息: ValueError: unsupported format character ‘Y’ (0x35) at index 59产生原因:因为python执行的sql中存在类似DATE_FORMAT(CREATE_TIME, ‘%Y-%m-%d’) 的写法, 其中%Y与python的参数%s冲突解决方法:将DATE_FORMAT(CREATE_TIME, ‘%Y-%m-%d’...

2018-07-30 15:48:46 5283

转载 HBase shell scan 模糊查询

转自:https://blog.csdn.net/power0405hf/article/details/498245790.进入hbase shell./hbase shell help help “get” #查看单独的某个命令的帮助1. 一般命令status 查看状态 version 查看版本2.DDL(数据定义语言Data Definition Language...

2018-07-26 15:58:54 751

转载 HTTP必知必会——常见面试题总结

转自:https://blog.csdn.net/zhangliangzi/article/details/513365641、常用的HTTP方法有哪些?GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置...

2018-07-24 21:41:40 109

原创 python 连接 hbase 失败

当我使用 python 来操作 hbase时,代码如下:from thrift import Thriftfrom thrift.transport import TSocket, TTransportfrom thrift.protocol import TBinaryProtocolfrom hbase import Hbasefrom hbase import ttypes...

2018-07-24 21:32:09 1459

原创 hadoop第一个简单的单词统计(python实现)

 (1)编写 mapper 程序 hdfs_map.py, 代码如下:import sysdef read_input(file):    for line in file:        yield line.split()def main():    data = read_input(sys.stdin)    for words in data:  ...

2018-07-22 23:09:18 1059

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除