自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小师life的博客

你不在乎自己在干什么,没有人在乎你在干什么

  • 博客(25)
  • 资源 (3)
  • 收藏
  • 关注

原创 GRPC Protobuf管理之submodule

使用Git Submodule方式管理proto文件,各项目直接依赖IDL文件本身,依赖源头均来自git子仓,保证依赖源的唯一性。对齐各服务间的proto文件版本。依赖问题引发的问题是很多的,对于依赖的管理也会出现很多,例如:Dependency_hell 1Dependency_hell 2参考Google家的库googleapis:子仓在引入后,不去更新,子仓会呈现固定的版本。更新子仓,合并上游版本变化更多关于子仓的操作命令,参考:Git-工具-子模块,也可参考下图。脑图分享链接:proto文件中

2022-06-10 18:00:36 531

原创 cache aside模型保持数据一致性

Cache Aside 模型中,读缓存 Miss 的回填操作,和修改数据同步更新缓存,包括消息队列的异步补偿缓存,都无法满足 “Happens Before”,会存在相互覆盖的情况。cache aside注:Happens Before既是明确的代码执行的先后关系读写缓存读/写同时操作:读操作,读缓存,缓存 MISS读操作,读 DB,读取到数据写操作,更新 DB 数据写操作 SET/DELETE Cache(可 Job 异步操作)读操作,SET操作数据回写缓存(可 Job 异

2021-09-28 10:41:14 128

原创 baiduPCS学习

首先,百度云是一个非常好用的网盘,因为之前限速是在限得太过于厉害,无法忍受,在网上找了很多工具,其中就有BaiduPCS-Go,不得不说特别的好用,之前在此基础上,我添加了一个同步文件夹的功能,感觉代码挺简陋的,所以我也不好意思PR,这里主要是我想把项目中一些可以复用的函数给抽取出来,以便我日后翻阅吧。// Trigger 用于触发事件func Trigger(f func()) { if...

2019-04-24 14:59:17 670

原创 创建CSV,数据导入excel文件

代码: // Create a csv file f, err := os.OpenFile(facNFileName, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, os.ModePerm) if err != nil { return "" } defer f.Close() wsv := csv.NewWriter(f) // write cs...

2019-04-24 14:58:30 886

原创 搭建博客——使用Hexo

搭建博客使用GitHub和Hexo搭建博客其实是非常顺畅的,毕竟工具到现在都已经经历很多版本的迭代了,已经很傻瓜式了。推荐搭建的教程:关于Hexo6.0搭建个人博客(github+Google-收录篇),博主还有教我们怎么收录百度的博客,道理是一样的。https://www.imooc.com/article/31085这里提一点绑定的事,附上我的DNS解析:参考的博客Hexo添...

2019-04-24 14:57:38 203

原创 go里面的io-Writerr操作

将string转换成 io.Writer,可以进行类似于write的操作,类似于写文件一样。s := "Hello"buf := bytes.NewBufferString(s)fmt.Fprint(buf, ", World!")fmt.Println(buf.String())同样的,打开的文件也可以被转换成 io.Writer,继而直接向其写入数据。f, err := os....

2019-04-24 14:55:03 3401

原创 Go-Goroutine运行切换

Goroutine称呼上一般被我们理解为协程(Coroutine),类似于轻量级“线程”。Goroutine是一种编译器/解释器/虚拟机层面的多任务,并不属于操作系统。多个协程可能在一个或多个线程上运行(由调度器决定)对比操作系统(*nix)的进程或线程来说,Goroutine作为非抢占式多任务处理,由协程主动交出控制权,也就是说,要么协程自动运行完毕,或者调度器主动来进行切换,否则,...

2019-04-24 14:54:37 901

原创 Go打印结构体的field

Go可以很方便的打印出结构体的field,不同于json.Marshal()操作,json操作有很多局限性,首先其要求结构体字段为大写字段,否则没有访问权限,其二,其会多出一步函数调用,比较麻烦。这里又很方便既可以将结构体field打印出来的方法,不用区分大小写。printf的关键字:%+v,其中v不加+也是有所区别的。type info struct { Key string V...

2019-04-24 14:53:07 5599

原创 stringSlice转换——无需内存copy

摘取自gateway,作者提到过这种方式,也是来源于另一个开源项目,操作方式极其硬核,故收藏了。String与Slice互转package hackimport ( "reflect" "unsafe")// SliceToString slice to string with out data copyfunc SliceToString(b []byte) (s ...

2019-04-24 14:47:53 988

原创 docker-Toolbox修改源

最近尝试部署一些环境进行测试,使用docker可以很方便的搭建一下环境,而且可以现在都是使用docker进行现代化部署的,按理说,我是不能这么落后,连摸都不摸一下的。安装docker使用阿里云的地址下载:阿里。win 7、win 8 等需要利用 docker toolbox 来安装;win 10使用docker-for-windows。windows下安装是极其方便,基本就是一路next...

2019-04-24 14:46:22 1135

原创 RSA加密解密

截取自我的博客:https://chunlife.top/2018/07/29/RSA%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86/因为项目需要,最近做一个RSA加密解密的接口,使用Go进行开发,接口使用jsonrpc,go 对RSA加密解密有很好的支持,不过由于受限于底层单片机,所以上层应用需要做一些稍微的调整。一、概要RSA是一种非对称加密算法,什么...

2018-08-02 10:00:54 4387

原创 Tiny6410 的NandFlash(K9GAG08U0E)

tiny6410的nand flash学的我实在是揪心,这个问题的引出主要是我读取内核并启动没有成功,2440的nand flash是2K读取,但我在查看Nand Flash的数据手册时,发现这块flash的page是8K每页,所以在我写的bootloader中来自己更改代码,而不是跟友善保持一致(以2K读),一开始以的是8K每页读,才发现前4页为2K,但当以前4页2K读,后面8K读(当然这里是我

2017-12-09 12:15:32 534

原创 PCI串口编程

一、硬件环境 硬件开发环境是PCI9054+FPGA,16串口或8串口。 软件开发平台则是linux、VxWorks。 主要是运用在工控领域,在一般商用平台可能用不到这玩意。 二、PCI相关知识 PCI相关知识主要是参考了网上一些前辈写的博文,这里将其贴出来,以免后来人继续收集。 PCI 总线学习笔记-PCI9054   http://blog.csdn.net/lg2lh/art

2017-12-03 17:42:03 2215 1

原创 对如今手机的看法——仅兴趣

现在手机大概已经细分成了两大阵营,Android和iOS。当然国内的Android大多是安卓,称得上Android的倒是一些国外原生,例如HTC、索尼大法等,当然要说国内使用原生就是好用那就是太尴尬了,总体来说,国内的系统大体上应该都是差不多的水平(系统稳定性方面,当然还有底层功耗的控制和系统UI的设计方面),主要是看各大厂商对系统易用性的把控,这里面功力深厚的一批是:MIUI、Flyme、E

2017-12-02 17:34:17 380

原创 KSDK USB 例程分析

在USB example里面文件:lite为精简版,省略了很多USB枝干上的功能,保留了USB通讯部分的主干功能,我使用的是全功能版。函数 BOARD_InitPins()中,主要是PORT以及GPIO相关的初始化。1、使能PORT的时钟,当外设时钟没有打开时,程序不能读出外设寄存器的值,同时也不能使用外设。2、通过PORT设置GPIO引脚功能,此处为设置LPUART功

2017-10-29 11:28:34 513

原创 Linux搭建小型服务器——文件共享以及邮件服务器

转载请注明出处。因为公司搬家,之前后又采用了新的服务器,所以之前的服务器的东西需要移动到新的服务器上,而且趁着这次机会,搭建了一个局域网使用的邮件服务器使用,虽然不知道别人怎么搭建的,但是把自己的经验记录下来,因为这个邮件服务器确实花了我不少时间去琢磨,因为它这玩意可能还会干扰我的文件共享功能。邮件服务器是IRedMail,文件共享服务是Samba,环境是centos。IRedMail

2017-10-29 11:17:38 7178

原创 中标麒麟的源的问题

麒麟的源有点坑爹,主要是安装系统后,源的路径是不对的,这个需要复制一部分路径去找到真正的源的安装位置,然后将这个安装路径导入到这个里面去。路径修改在/etc/yum.repo.d/neokylin.repo 和 neokylin-update.repo中,修改如图所示的地址。我估计这也是导致了每次麒麟系统上的源都不能用的罪魁祸首了。

2017-10-29 11:14:00 7968 3

转载 vxworks中断处理程序不能使用printf的本质

本文章转载自:http://blog.csdn.net/mao0514/article/details/32700835点击打开链接vxworks 中断处理程序之所以不用printf,本质在于printf是将信息输出到标准输出设备(STDOUT)中, 整个标准输出设备是一个全局变量,由于有semTake操作,那么就会发生阻塞,vxworks属于硬实时操作系统,不能在规定的时间内完成操作

2017-10-27 16:56:54 1361

原创 将偶数二进制反转

例如6的二进制为110,反转后就是011(倒过来了) 将偶数二进制反转,那为啥不是奇数呢,因为奇数二进制本身就是对齐的,反转也反转不了。这段代码前面比较繁琐的就是算出整数最高位是多少,有点冗余了,但是囿于水平和时间,暂时只考虑到了这中方法,若有更好的方法,请一定要跟我指正。int reverse_bin(int one){ int bit, rn = 0; int ones,nu

2017-10-18 17:32:51 939

原创 学PPT时的作品

链接地址:http://pan.baidu.com/s/1c0BDIhi当年在学校时,就靠这个为(zhuang)生(bi),以为自己会成为一个设计师,迷恋PPT这种简单的软件制作出大师的设计,当然PS这玩意你还是得用,都是工具嘛。这些图片单纯的使用PPT是很难达到的,这其中使用到了PPT的插件——OK插件,当然现在PPT的插件还是有一些的,使用插件可以省却很多麻烦,这是在你本身很熟悉的前提下,有兴趣

2017-10-18 16:20:06 196

原创 确定整数中有多少个“1”

int Cnt_one(int a){ int bit, cnt; while(a) { bit = a % 2; // 相当于取得整数的低位,以2取余就是取二进制的低位 if( bit == 1 ) // 是“1”就可以计数了 cnt++; a = a / 2; // 除“2”即

2017-10-18 16:11:07 521

原创 矢量字体字形分布图

origin是字形显示开始的地方,下一个字体开始的位置是:origin + advance的位置,即是指定了下一个字符的origin出现的位置。advance有x方向的,当然有y方向的,不过这里没有使用,使用y方向将会使字体倾斜。 虽然有坐标基准线,但是英文字体不像汉字方方正正,如果把所有英文字体搞得像汉字一样,那么会很不好看,所以即使在已经订好基准线后,还是会另外设置字体的xmin、xmax和

2016-06-28 07:46:49 2449

原创 听韦东山老师公开课的理解

为什么需要数据段、代码段和BBS段?这么多的段是干什么用的。程序的指令等是只读的,可以把它们归为一类,以便运行时可以把它们放到ROM等设备上去,当然也可以是内存上,只不过是这段内存时只读的。程序的全局变量等是可读可写的,可以把他们归为一类,放在内存里面去。那么我们来假设一个事,若是我们编写了一个程序中,包含大量的初始值为0的全局变量,那么编译出来的.bin文件是不是会很大,

2016-06-07 14:54:42 590

原创 关于tiny6410与minitools连接的问题

搞了很久,一直不明白友善之臂里面的FriendlyARM.ini怎么配置,实在对友善之臂的帮助文档无语了,这个配置完全没有写清楚,只是写了一句话,添加USB-Mode = Yes这一句话,但是实际证明下,坑爷爷啊这是,好吧,默哀!!  FriendlyARM.ini这里面的东西只需要有这两句话就行了  #This line cannot be removed. by FriendlyARM

2016-06-07 14:52:35 1170

原创 由strcat函数引发的对char *a和char a[]以及sizeof和strlen

/* http://www.cnblogs.com/kaituorensheng/archive/2012/10/23/2736069.html参考这篇文章*  char *a = "Hello";Hello存放在常量区,是无法修改的。* 通过指针只可以访问字符串常量,而不可以去改变它*  *  *  char a[] = "Hello";而数组存放在栈中,是可

2016-06-07 09:57:32 672

MCP2515 Arduino程序

对MCP2515开发有帮助,若需要其他平台,直接对其进行移植即可,没有什么难度。

2018-04-01

PCI9054数据手册

对PCI编程有帮助,9054配置空间,IO空间,映射空间,参考手册对配置空间寄存器能有个足够的认识。

2018-04-01

drivers-exar_pcie_uart

PCI串口,适用于http://blog.csdn.net/qq_30103483/article/details/78702759

2017-12-03

空空如也

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

TA关注的人

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