自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一见

技术人生 生活点滴

  • 博客(748)
  • 资源 (53)
  • 收藏
  • 关注

原创 NaN

关联博客:https://blog.csdn.net/aquesterhttps://www.cnblogs.com/aquesterhttp://aquester.blog.chinaunix.nethttps://github.com/eyjianpdf版本:https://download.csdn.net/user/aquester/uploadsLinux远程批量工具mooo...

2018-09-11 14:07:31 9524 3

原创 迁移Docker镜像存放目录

如果已经存了很多镜像,这一步可能要执行数小时才能完成。如果已经存了很多镜像,这一步可能要执行数分钟才能完成。

2024-04-04 17:11:18 261

原创 Windows的Linux子系统迁移

如果 VERSION 值为 1,参考 (https://docs.docker.com/desktop/wsl/)[https://docs.docker.com/desktop/wsl/] 进行修改。注意这里的“ubuntu2204.exe”名同发行版名称(distro name)相关,如果发行版名称为 Ubuntu,则对应的名为 ubuntu.exe。如需在 WSL 中使用 Docker,则必须为使用“Docker Desktop WSL 2”,也就是 VERSION 对应的值需为 0。

2024-03-27 14:44:06 233

原创 goland设置保存文件时不将4个空格转为TAB

goland设置保存文件时不将4个空格转为TAB

2024-03-13 09:50:21 610

原创 go的descriptorpb.Default_FileOptions_PhpGenericServices的undefined问题

【代码】go的descriptorpb.Default_FileOptions_PhpGenericServices的undefined问题。

2024-03-11 16:03:14 653

原创 git的“You can‘t push commits with committe“解决方法

然后就可执行 git push 了,如果需要强制,可以:git push --force。

2024-03-05 22:59:38 760

原创 根据建表sql语句生成go的struct代码工具

在 github 中找到一些 sql2struct,但要么是 chrome 插件,要么是在线工具,要么是需要连接 MySQL,不是很方便。本 sql2struct 根据 SQL 文件中的建表语句来生成 Go 的 struct,可集成到 Makefile 等中,方便使用。一个根据"CREATE TABLE"建表语句生成对应的Go语言结构体的工具,暂只支持 MySQL 表。

2024-03-03 16:39:47 503

原创 go写mysql取得自增字段值

如下一张 MySQL 的 innodb 表 X,用 go 编写程序,不指定 a 的值,指定 b 和 c 的值,往表 X 插入数据,如果数据已经存在则执行更新操作,成功后取得该笔插入或者更新的记录对应的 a 字段的值。该版本可以保持 a 值的连续性。实际可以再优化,去掉 select,先 insert 或者 update 即可。场景:有多张表,依据其中一张表的自增字段取得 id 值作为对象ID,然后使用这个Id插入到其他它表中。非事务版本不能保持 a 值的连续性。

2024-03-01 21:41:03 444

原创 配置项目的git

只需要编辑项目根目录下的 .git/config 文件,其中 .git 为根目录下的子目录。当需要操作多个来源不同仓库的项目时,需要做这个设置,比如一个来自 github.com,一个来自私有仓库的。

2024-02-24 09:32:33 703

原创 grpc-go通过context传递额外数据

metadata 是 grpc 内置的,用来往 RPC 服务传递 http 头数据,分 in 和 out 两种,对应的 key 都为一个空 struct,分别为:mdIncomingKey 和 mdOutgoingKey。注意 md 中的值会被加上中括号“[]”。

2024-02-19 10:07:54 615

原创 go-zero/grpc的rpc服务间传递额外数据

而且 key 只能由 数字、字母和三个特殊字符“-_.”组成,大写字母会自动被转为小写字母。go-zero/grpc的rpc服务间传递额外数据。

2024-02-18 23:04:49 829

原创 go-zero读取mysql部分字段

读取部分字段,使用函数 QueryRowPartialCtx。1、结构 X 中不参与的成员使用。要读取字段 ctime 值。2、Ctime 一定要用。

2024-02-17 00:10:25 588

原创 git如何将分支名由main改为master

要将 “master” 分支设置为默认分支,你需要在远程仓库中进行操作。在设置页面中,找到 “默认分支” 或 “默认分支名” 设置。这可能位于 “分支”、“仓库” 或 “版本控制” 部分。这将把本地的 “master” 分支推送到远程仓库,并设置 “master” 分支作为跟踪分支。将默认分支名称更改为 “master”。这将把当前分支(即 “main” 分支)重命名为 “master”。这可能需要点击 “保存”、“更新” 或 “应用” 按钮。现在,分支名已经从 “main” 更改为 “master”。

2024-02-04 14:16:51 1264

原创 微信小程序如何取得用户的openid

通过以上步骤,可以在微信小程序中获取用户的openid。在实际应用中,可以将openid作为用户身份的唯一标识,用于关联用户的数据和行为。首先,在微信开放平台(https://open.weixin.qq.com/)上注册一个小程序,并获取到AppID和AppSecret。在微信小程序中,可以通过调用微信提供的API来获取用户的openid。需要替换为实际的AppID、AppSecret和临时登录凭证。

2024-02-03 22:50:16 519

原创 HMAC-SHA256和RSA-SHA256签名有什么区别?

HMAC-SHA256 是一种基于共享密钥的消息认证码,计算速度快,适用于验证数据的完整性和身份认证。RSA-SHA256 是一种基于非对称加密的数字签名方案,适用于验证发送方的身份,提供更强的安全性。在实际应用中,您可能需要根据具体需求和场景选择合适的签名算法。

2024-01-31 15:15:57 695

原创 go-zero开发入门-初始化cache.ClusterConf示例

【代码】go-zero开发入门-初始化cache.ClusterConf示例。

2024-01-26 10:15:02 377

原创 go-zero配置DB的redis缓存

【代码】go-zero配置DB的redis缓存。

2024-01-25 18:42:44 635

原创 csharp使用ChromiumWebBrowser页面出现黑边和鼠标偏离问题

【代码】csharp使用ChromiumWebBrowser页面出现黑边和鼠标偏离问题。

2023-12-22 16:14:01 463

原创 go-zero开发入门之gateway深入研究1

这个函数的主要目的是将 gRPC 服务的方法映射到 HTTP RESTful API,并将生成的 API 添加到 HTTP 服务器中。通过这种方式,可以在 gRPC 服务的基础上提供一个 RESTful API,使得客户端可以使用 HTTP 调用 gRPC 服务。gateway.MustNewServer 调用了 rest.MustNewServer,但在 rest.MustNewServer 增加了 upstreams 的初始化。

2023-12-15 17:58:40 927

原创 go-zero目录结构和说明

go-zero目录结构和说明

2023-12-15 10:07:01 627

原创 go-zero开发入门之网关往rpc服务传递数据2

go-zero 的网关服务实际是个 go-zero 的 API 服务,也就是一个 http 服务,或者说 rest 服务。

2023-12-13 21:49:37 919

原创 go-zero开发入门之网关往rpc服务传递数据1

调用在 https://github.com/zeromicro/go-zero/blob/master/gateway/server.go 中进行的,上述调用会处理 HTTP 的 headers 数据,对于不是以字符串“Grpc-Metadata-”打头的会过滤掉,对于以字符串“Grpc-Metadata-”打头的会将“Grpc-Metadata-”转为“gateway-”。

2023-12-12 18:58:23 685

原创 go-zero开发入门-API网关鉴权开发示例

go-zero开发入门-API网关鉴权开发示例

2023-12-10 20:19:06 795

原创 go-zero开发入门-API服务开发示例

go-zero 开发 http API 服务示例

2023-12-08 11:03:12 869 2

原创 go-zero开发入门-API网关开发示例

开发一个 API 网关,代理 https://blog.csdn.net/Aquester/article/details/134856271 中的 RPC 服务。编译网关源码生成可执行程序文件生成被代理 RPC 服务的 pb 文件add.pb 是一个二进制文件。

2023-12-08 10:12:43 1006 1

原创 go-zero 的 etcd 配置

【代码】go-zero 的 etcd 配置。

2023-12-07 17:55:15 410

原创 “go mod tidy”之错误“not a valid zip file”

【代码】“go mod tidy”之错误“not a valid zip file”

2023-12-07 17:28:27 724

原创 go-zero 开发入门-加法客服端示例

基于 go-zero 框架的服务端和客户端开发示例

2023-12-07 15:14:33 1180

原创 go-zero 开发之安装 etcd

go-zero 之安装 etcd,本文只涉及 Linux 上的安装

2023-12-06 23:11:44 635

原创 go-zero 开发之安装 goctl 及 go-zero 开发依赖

【代码】go-zero 开发之安装 goctl 及 go-zero 开发依赖。

2023-12-06 22:43:51 747

原创 Go使用开源库go-excelize操作Excel文件

在上面的代码中,首先使用 excelize.OpenFile() 函数打开指定的 Excel 文件。然后使用 GetSheetMap() 函数获取所有的工作表名称,并使用 GetRows() 函数获取每个工作表的行数据,最后遍历所有行并打印每一行的数据。当然,这只是一个简单的示例,go-excelize 还提供了更多功能,例如读取和写入 Excel 文件、处理大数据等。更多详细信息,请参考 go-excelize 的官方文档。

2023-11-22 14:32:41 932

原创 APISIX源码安装问题解决

在本文写作时,“APISIX_VERSION=‘3.6.1’” 并不可用,需改为“APISIX_VERSION=‘3.6.0’”。重新执行 install-dependencies.sh 完成安装。

2023-11-10 19:41:24 737

原创 基于python+selenium的自动批量添加

基于python+selenium的自动批量添加

2023-09-15 16:04:28 400

原创 取得std::ifstream对象的文件描述符

【代码】取得std::ifstream对象的文件描述符。

2023-09-05 14:18:56 257

原创 利用CONVERT和CAST解决MySQL查询的乱码问题

【代码】利用CONVERT和CAST解决MySQL查询的乱码问题。

2023-08-30 17:13:43 321

原创 chatGPT的js信号量实现

chatGPT的js信号量实现

2023-08-28 18:20:02 162

原创 Linux CPU 使用率统计

【代码】Linux CPU 使用率统计。

2023-08-25 15:02:20 178

原创 chatGPT用C++写的HMAC-SHA256函数

chatGPT用C++写的HMAC-SHA256函数

2023-08-15 15:57:28 296

原创 C++不同标准兼容性问题集

【代码】C++不同标准兼容性问题集。

2023-07-27 09:42:12 237

原创 使用gcc-13.1.0编译安装thrift-0.18.1

注意如果不指定 --with-libevent,则不会构建 TNonblockingServer,–with-boost 也需要指定。接下来执行 make 编译 和 make install 安装即可。

2023-07-25 17:06:58 382

ejstatd一个增强型的jstatd

jstatd启动后会打开两个端口,其中一个端口可通过参数“-p”指定,如果不指定默认为1099,另一个是一个随机端口,不能参数指定。在防火墙环境使用不便,ejstatd是jstatd的增强版本,可指定端口,方便防火墙环境中使用。

2018-12-05

开源C++版本CGI库CGICC入门

  CGICC是一个C++语言实现的开源CGI库,采用LGPL授权协议,使用较为简单。   CGICC官网:http://www.gnu.org/software/cgicc/,截止2015/3/14,CGICC最新稳定版本为3.2.16,下载地址是:http://ftp.gnu.org/gnu/cgicc/cgicc-3.2.16.tar.gz,最新更新时间为2014/12/7(令人惊讶和欣慰的是作为古老的CGI,CGICC还在不断的更新)。

2018-12-04

Redis-5.0.0集群配置

  本文档基于以前写的《Redis-3.0.5集群配置》和《Redis-4.0.11集群配置》。   redis-3.0.0开始支持集群,redis-4.0.0开始支持module,redis-5.0.0开始支持类似于kafka那样的消息队列。   本文参考官方文档而成:http://redis.io/topics/cluster-tutorial,不适用redis-5.0.0以下版本,原因是从redis-5.0.0版本开始,redis-trib.rb的功能被redis-cli替代了。   redis-5.0.0以下版本的安装和部署,可参考:https://blog.csdn.net/Aquester/article/details/50150163。   redis运维工具和部署工具:https://github.com/eyjian/redis-tools。

2018-11-01

互联网后台开发需要掌握什么?

  本文内容仅针对互联网后台开发从业人员。   互联网后台开发,通常意味着分布式、大数据,涉及到高性能、系统容灾、数据容灾、高可用性、数据一致性等。自从2008年Hadoop在华夏大地蓬勃发展,开源如火山爆发在业界百花齐放,茁壮成长。国内的BAT、华为和小米等也大量的参与了国际开源,甚至开源了大量优秀的久经考验的内部系统,如阿里的Tair、druid、fastjson、jstorm、AliSQL、RocketMQ和腾讯的RapidJSON、libco、PhxPaxos、PhxRPC、PhxQueue、PhxSQL、PaxosStore、MSEC、Tars、TAF等。 开源如此繁荣,需要感谢Google的三篇论文:《The Google File System》、《MapReduce: Simplified Data Processing on Large Clusters》和《Bigtable: A Distributed Storage System for Structured Data》,Google开源的Protocol buffers等对整个业界作用也十分巨大。

2018-11-01

大数据利器2018版

当下最流行的各类大数据、云计算开源资源列表,如:hadoop、spark、flink、hbase、redis等

2018-11-01

SSH2免密码登录OpenSSH

如何确定是OpenSSH还是SSH2? 执行命令“ssh -V”,通过它的输出,即可确定: SSH2 ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on OpenSSH OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

2018-10-11

两个openssh间免密码登录

以下针对的是openssh,而不是ssh,也不是ssh2。配置分两部分:一是对登录机的配置,二是对被登录机的配置,其中登录机为客户端,被登录机为服务端,也就是解决客户端到服务端的无密码登录问题。下述涉及到的命令,可以直接拷贝到Linux终端上执行,已全部验证通过,操作环境为CentOS Linux release 7.0。 如何确定是OpenSSH还是SSH2?执行命令“ssh -V”,通过它的输出,即可确定

2018-10-11

OpenSSH登录SSH2

如何确定是OpenSSH还是SSH2? 执行命令“ssh -V”,通过它的输出,即可确定: SSH2 ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on OpenSSH OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

2018-10-11

两个SSH2间免密码登录

以下针对的是ssh2,而不是ssh,也不是OpenSSH。配置分两部分:一是对登录机的配置,二是对被登录机的配置,其中登录机为客户端,被登录机为服务端,也就是解决客户端到服务端的无密码登录问题。下述涉及到的命令,可以直接拷贝到Linux终端上执行,已全部验证通过,操作环境为SuSE 10.1。

2018-10-11

Hadoop-2.8.0分布式安装手册

  当前版本的Hadoop已解决了hdfs、yarn和hbase等单点,并支持自动的主备切换。   本文的目的是为当前最新版本的Hadoop 2.8.0提供最为详细的安装说明,以帮助减少安装过程中遇到的困难,并对一些错误原因进行说明,hdfs配置使用基于QJM(Quorum Journal Manager)的HA。本文的安装只涉及了hadoop-common、hadoop-hdfs、hadoop-mapreduce和hadoop-yarn,并不包含HBase、Hive和Pig等。   NameNode存储了一个文件有哪些块,但是它并不存储这些块在哪些DataNode上,DataNode会上报有哪些块。如果在NameNode的Web上看到“missing”,是因为没有任何的DataNode上报该块,也就造成的丢失。

2018-09-11

ZooKeeper-3.4.6分布式安装指南

  介绍ZooKeeper-3.4.6版本的分布式安装,力求细致,提供精确的安装指导。本文的安装环境是64位的SuSE 10.1 Linux,也适用于ZooKeeper-3.4.8。   ZooKeeper节点间不需要互登录,因此不用配置免密码登录。

2018-09-10

LVS初步入门

  很多人知道LVS,但可能知之不多,希望阅读本文后,能够对LVS有一个基本的感性认识。   LVS是国内最早出现的自由软件之一,由国防科技大学章文嵩博士在1998年5月创立,章博士目前是淘宝网高级研究员,是淘宝网核心系统负责人。 LVS首要的是解决路由问题,结果不但解决了耦合问题,实现了网络隔离,而且顺带实现了负载均衡,负载均衡复杂的地方在于不同的均衡策略。常常均衡和路由成对出现,象分布式中的一致性哈希,也是路由和均衡,实际上还达到了容灾的效果,可以说是一举多得。

2018-09-10

磁盘文件读性能测试

硬盘读取性能: hdparm -t /dev/sdb /dev/sdb: Timing buffered disk reads: 2454 MB in 3.00 seconds = 817.84 MB/sec 10块物理磁盘,做了Raid10,因此读性能高,达每秒817.84MB。

2018-09-10

快速上手,协程剖析

协程也叫微线程,英文名称为 coroutine。一个进程可以有多个线程,一个线程可以有多 个协程,这是协程和线程间的关系。不同的是,线程由系统调度,但协程需要自己调度,协 程运行在用户态。

2018-09-10

理解snprintf()函数

在编程中,需要关注snprintf()的两个问题:一是它的返回值,二是它的第二个参数。

2018-09-10

madvise、fadvise、posix_madvise和posix_fadvise函数的使用

  系统调用madvise的作用:建议内核如何使用指定段的内存,可配合mmap使用。函数原型如下: #include int madvise(void *addr, size_t length, int advice);

2018-09-10

Redis-4.0.11集群配置

版本:redis-3.0.5 redis-3.2.0 redis-3.2.9 redis-4.0.11 参考:http://redis.io/topics/cluster-tutorial。 集群部署交互式命令行工具:https://github.com/eyjian/redis-tools/tree/master/deploy 集群运维命令行工具:https://github.com/eyjian/redis-tools/tree/master 批量操作工具:https://github.com/eyjian/libmooon/releases

2018-09-10

Thrift结构分析及增加取客户端IP功能实现

  分析Thrift的结构动机是为了实现服务端能取到客户端的IP,因此需要对它的结构、调用流程有些了解。另外,请注意本文针对的是TNonblockingServer,不包含TThreadPoolServer、TThreadedServer和TSimpleServer。   thrift对网络连接没有使用内存池,最直接简单的性能优化是绑定Google gperftools中的TCMalloc。

2018-09-10

再议GCC编译时的静态库依赖次顺问题

这个问题的原因是b.cpp依赖a.cpp,gcc要求(实际是ld要求)libb.a须放在liba.a前面,即需要改成:g++ -g -o x x.o libb.a liba.a,也就是被依赖的库需要放在后头。 这是最常规的解决办法,除此之外,只需要加入--start-group和--end-group两个链接参数,即可保持被依赖的库放在前头,也就是改成如下即可:g++ -g -o $@ -Wl,--start-group $^ -Wl,--end-group。 这里的“-Wl,”表示后面跟着的参数是传递给链接器ld的,gcc不关心具体是啥。“--start-group”表示范围的开始;“--end-group”表示范围的结束,是可选的。位于“--end-group”之后的仍然要求被依赖的库放在后头。

2018-09-10

C++鲜为人知的符号

  这些鲜为人知的C++符号,可直接在代码中使用,但实践中不推荐这么做,可作为茶余饭后的乐趣了解C++的另一面。   虽然它们鲜为人知,但却不是GNU g++独有的,而是C++标准定义的,找一本C++标准书或pdf文档看看,就可以见到它们赫然在目。(注:C++17标准将干掉这些鲜为人知的符号)

2018-09-10

__lll_mutex_lock_wait的错误原因

(gdb) bt #0 0x00002b9405ea1c38 in __lll_mutex_lock_wait () from /lib64/libc.so.6 #1 0x00002b9405e45e5f in _L_lock_4026 () from /lib64/libc.so.6 #2 0x00002b9405e42df1 in free () from /lib64/libc.so.6 #3 0x00002b9405e5b148 in tzset_internal () from /lib64/libc.so.6 #4 0x00002b9405e5b9d0 in tzset () from /lib64/libc.so.6 #5 0x00002b9405e5fe44 in strftime_l () from /lib64/libc.so.6 #6 0x00002b9405e93701 in __vsyslog_chk () from /lib64/libc.so.6 #7 0x00002b9405e3c6d0 in __libc_message () from /lib64/libc.so.6 #8 0x00002b9405e4177e in malloc_printerr () from /lib64/libc.so.6 #9 0x00002b9405e42dfc in free () from /lib64/libc.so.6 #10 0x00000000004007c9 in main (argc=1, argv=0x7fffa524f4d8) at x.cpp:17

2018-09-10

nohup、&、setsid、fork和fg、bg究竟有啥区别?

  子进程从父进程继承了:SessionID、进程组ID和打开的终端。子进程如果要脱离这些,代码中可通过调用setsid来实现。,而命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话。   需要注意,代码中调用setsid是有条件的:即调用进程自己不能是进程组长。因此,调用setsid之前需要先fork,然后由产生的子进程调用setsid。

2018-09-09

零停重启程序工具Huptime研究

  零停重启目标程序,比如一个网络服务程序,不用丢失和中断任何消息实现重新启动,正在处理的消息也不会中断和丢失,重启的方法是给目标程序的进程发SIGHUP信号。

2018-09-09

iwlwifi-9000-pu-b0-jf-b0-34.618819.0.tar.gz

联想笔记本上Ubuntu无线网卡驱动,安装方法请参见博文:https://blog.csdn.net/Aquester/article/details/103655720。

2020-02-04

Linux后台开发工具箱-葵花宝典.pdf

本文是个大杂烩,内容为日常点滴的日积月累,持续更新当中,可关注博客(https://blog.csdn.net/Aquester或http://aquester.blog.chinaunix.net),查看最新版本。文中的内容,可帮忙开发提升分析和定位各类问题,比如找出导致IO负载高的进程等,以及一些简单的运维工作等。

2020-01-15

Docker入门之安装Docker.pdf

本文操作基于CentOS7,其它Linux发行版本可能存在差异,分基于yum的在线安装和基于二进制包的离线安装(实际还有基于rpm包的离线安装),离线安装可以更多地了解Docker及相关体系。 Docker要求Linux内核版本不低于3.10,并且必须为64位系统,执行命令“docker version”可查看Docker版本。 CentOS7防火墙默认采用的是firewalld管理netfilter子系统,底层调用的仍然是iptables命令,firewalld实际是iptables的一个封装。不同的防火墙相互间存在冲突,使用某其中一个时应禁用其他的。 谨记:容器运行在Linux内核之上,不包含位于内核之上的glibc等库,以及ls等命令。如果容器中的程序依赖glibc等库或者依赖ls等命令,则容器自身应当包含这些设施。另外,容器中的程序等必须和内核兼容,否则将会遇到“FATAL: kernel too old”错误,该错误和库文件ld-linux.so有关。

2020-01-14

服务网格代理Envoy入门.pdf

Envoy是什么? Envoy是Lyft开源的一个C++实现的代理(Proxy),和Nginx及HAProxy类似,可代理L3/L4层和L7层。代理是它最核心和基础的功能,它也是服务网格框架Istio的Sidecar。

2020-01-07

Docker入门之创建镜像初步.pdf

本文介绍在CentOS7上从构建一个最简单无依赖的镜像开始,逐步揭示Docker镜像的构建和Dockerfile的应用。 什么是镜像?可理解镜像(image)为一个可执行程序文件,而容器(container)则是进程(运行态),Kubernetes(即k8s)中的概念POD则相当于进程组。 谨记:容器运行在Linux内核之上,不包含位于内核之上的glibc等库,以及ls等命令。如果容器中的程序依赖glibc等库或者依赖ls等命令,则容器自身应当包含这些设施。另外,容器中的程序等必须和内核兼容,否则将会遇到“FATAL: kernel too old”错误,该错误和库文件ld-linux.so有关。

2019-12-23

rapidjson常见使用示例.pdf

rapidjson相比jsoncpp性能高出太多,使用接口一样的简单的。官方中文帮助文档:http://rapidjson.org/zh-cn/。

2019-12-02

车世界-车的知识大全

如何区别进口,还是合资车?合资车通常在车尾贴有合资厂商的中文名称,如:一汽丰田、长安福特等,进口则无。 什么是GT跑车?拉丁文Gran Turismo,英文翻译为Grand Touring。Grand的意思是大,而Touring的意思是旅行。Grand Touring加在一起,其实是解作大型的旅行车。 在赛车界中,GT就是被指为拥有大马力动力输出,同时有车顶设计的双门双人所乘坐的超级跑车(开蓬跑车不能算为GT赛车),因此GT的中文名称或许应该称之为世界上最顶级的超级跑车。 什么是掀背?顾名思义就是“能掀起来的后背”,而汽车的后背就是后备箱盖,掀背车型就是整个后备箱盖和后车窗玻璃是一体的能够一起打开的车型,多见于两厢车。 什么是SUV?全称是Sport Utility Vehicle,中文意思是运动型多用途汽车。分两类:城市型和越野型。 什么是MPV?全称是Multi-Purpose Vehicles,中文意思是多用途汽车。同小型面包车存在明显的区别,面包车是单厢式结构,即乘客空间和发动机共同在一个框架结构内,发动机被安放在驾驶员座位的后下方。 豪华车通常指D级车,是英文Luxury

2019-11-12

基于zookeeper-3.5.5安装hadoop-3.1.2.pdf

截至本文撰写时(2019/9/17日),Hadoop最高版本为3.2.0,但适用于生产环境的为3.1.2(9月22日发布了可用于生产环境的3.2.1版本),本文只介绍3.1.2版本的分布式安装,不包含单机版安装。适用于Hadoop-3.1.3版本,所操作的环境为CentOS-7.2,对应的Linux内核版本为3.10,不同的Linux可能略有区别。 为提升安装效率,本文的安装过程使用了批量命令工具和批量上传文件工具。批量操作工具的下载和使用,请参见《附2:批量操作工具》。

2019-11-09

在hadoop-3.1.2上安装hbase-2.2.1.pdf

本文将HBase-2.2.1安装在Hadoop-3.1.2上,关于Hadoop-3.1.2的安装,请参见《基于zookeeper-3.5.5安装hadoop-3.1.2》一文。安装环境为64位CentOS-Linux 7.2版本。 本文将在HBase官方提供的quickstart.html文件的指导下进行,在docs/getting_started目录下可找到quickstart.html,或直接浏览在线的:http://hbase.apache.org/book/quickstart.html。 安装使用外置的ZooKeeper,有关ZooKeeper的安装,请参见《基于zookeeper-3.5.5安装hadoop-3.1.2》一文。 关于分布式安装,请浏览:http://hbase.apache.org/book/standalone_dist.html#distributed,关于HBase使用外置的ZooKeeper配置,请浏览:http://hbase.apache.org/book/zookeeper.html。所有在线的文档,均会出现在二进制安装包解压后的docs目录下

2019-11-09

Linux后台开发工具箱-葵花宝典.pdf

本文是个大杂烩,内容为日常点滴的日积月累,持续更新当中,可关注博客(https://blog.csdn.net/Aquester或http://aquester.blog.chinaunix.net),查看最新版本。文中的内容,可帮忙开发提升分析和定位各类问题,比如找出导致IO负载高的进程等,以及一些简单的运维工作等。

2019-11-08

C++之Lambda研究.pdf

  本文代码测试环境为“GCC-9.1.0”,有关编译器的安装请参考《安装GCC-8.3.0及其依赖》,适用于“GCC-9.1.0”。   本文试图揭露Lambda背后一面,以方便更好的理解和掌握Lambda。Lambda代码段实际为一个编译器生成的类的“operator ()”函数,编译器会为每一个Lambda函数生成一个匿名的类(在C++中,类和结构体实际一样,无本质区别,除了默认的访问控制)。   对Lambda的最简单理解,是将它看作一个匿名类(或结构体),实际上也确实如此,编译器把Lambda编译成了匿名类。

2019-05-30

安装GCC-8.3.0及其依赖

  为体验C++17和C++20特性,需安装更新版本的GCC编译器。GCC官网为:https://gcc.gnu.org/,从这里可以下载最新版本的GCC。   C++由Bjarne Stroustrup(被誉为C++之父)于1979年在新泽西州美利山贝尔实验室开始设计开发的,最初命名为带类的C,后来在1983年更名为C++。

2019-05-01

REdis命令处理流程处理分析

  分析版本:REdis-5.0.4。   REdis命令处理流程可分解成三个独立的流程(不包括复制和持久化): 接受连接请求流程; 接收请求数据和处理请求流程,在这个过程并不会发送处理结果给Client,而只是将结果数据写入响应缓冲,将由响应请求流程来发送; 响应请求流程。   上述三个流程均是异步化的,并且没有直接的联系。它们的共同点均是通过REdis的简单事件驱动(AE,A simple event-driven)触发,对于Linux实际是epoll的包装,对于macOS为evport的包装,对于FreeBSD对kqueue的包装,对于其它则是select的包装。

2019-04-01

严格别名规则“-fstrict-aliasing”和“-fno-strict-aliasing”及类型双关

  “-fstrict-aliasing”表示启用严格别名规则,“-fno-strict-aliasing”表示禁用严格别名规则,当gcc的编译优化参数为“-O2”、“-O3”和“-Os”时,默认会打开“-fstrict-aliasing”。 什么是严格别名规则?gcc对严格别名的定义:

2019-01-30

源码解读Linux的limits.conf文件

本文不一定适合比较老版本的Linux,如果只关心使用,请直接看“总结”,本文主要针对CentOS,其它Linux发行版本类似,但细节可能有出入,比如重启服务可能不是用systemctl,而是service等。

2019-01-30

std::string的find问题研究

一次偶然,发现完全同一份代码,在不同机器上find出现两个不同执行结果,本文旨在研究find的“诡异”行为,找出背后的原因。

2018-12-19

x86_64汇编调试程序初步

  掌握此基础,就可以用来修改无源代码的程序等,比如希望jstatd在指定的端口上监听,而不是一个值为0的随机端口号,请参见《防火墙内JVisualVM连接jstatd解决方案》。

2018-12-05

空空如也

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

TA关注的人

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