自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

官工耍大刀

授之以鱼,授之以渔。。。

  • 博客(48)
  • 资源 (6)
  • 收藏
  • 关注

原创 vscode gopls支持标准库symbol跳转

之前一直在用 Goland ,查看 golang interface 实现非常方便,最近切换到 vscode 。遇到了 go 标准库 go to implementation 无法跳转的问题。大概情况如下:在项目中使用到了标准库的某个 struct ,想下改 struct 实现了那些 interface ,但是发现 vscode 的 go to implementation 显示 no result,先用 goland 试了下,确实是有实现了一些接口的。解决办法:用 vscode 另开一个窗口打开

2021-10-06 19:30:53 657

原创 golang string和[]byte零内存拷贝互转换

好久以前忘记在哪看到的了,最近要用到想了好久才想起来怎么写,记录以下,免得后面要用又要想很久func bytes2Str(slice []byte) string { return *(*string)(unsafe.Pointer(&slice))}func str2Bytes(s string) []byte { sh := (*reflect.StringHeader)(unsafe.Pointer(&s)) bh := reflect.SliceHeader{ Da

2021-07-20 20:28:38 1536

原创 gorm批量插入接口型slice

由于 gorm v1 不支持批量插入,于是升级为 gorm v2,原本以为就简单的吧 Create 改为 CreateInBatches 就可以了。但是一直 panic。大概能猜到是因为传入的数据是接口型的slice导致的,但是一直不知道该怎么改,网上搜了好久也没搜到相关的答案,最后在官方 issue 中看到了一个类似的问题(#3685),对应修改了下,终于可以了。还是自己太菜了。。。type I interface { TableName() string}type A struct {

2021-03-30 20:57:05 3489

原创 Golang利用reflect包实现struct相互填充

最近在用Golang写一些简单的业务,经常需要在两类相似的结构体之间相互填充数据,如果struct只有少数几个field,相互赋值还好;但如果struct有很多field的话,简直吐血,代码也不雅观,对于懒癌晚期简直不能容忍,看了下Golang的reflect包,好像找到一种偷懒的办法。。。type Request struct { Field1 string Field2 string...

2019-07-18 23:29:42 840 1

原创 CentOS7配置DHCP Server支持DHCP Relay拓扑

上星期有个客户需要使用DHCP Relay,现有的不支持,花了大半天时间研究了下,这里总结一下。测试拓扑: 配置网口:ifconfig vEth0 10.10.10.1/24配置dhcpd.confddns-update-style interim;ignore client-updates;# 不论是否需要 10.10.10.0/24 的地址池(网口对应的网段),都必...

2018-07-02 15:57:05 2318 1

原创 Golang计算单个Goroutine占用内存

一直在想单个Goroutine大概占用多少内存呢?今天无意间在《Concurrency Go》中看到了这段计算单个Goroutine内存占用大小的代码,分享给同样有迷惑人。 在Win7 Go1.9环境,大概是8.9KB~9.1KB,确实够小的。。。package mainimport ( "fmt" "runtime" "sync")func getGoro...

2018-06-28 20:08:46 4628 1

原创 Golang实现一个简单的FTP客户端

使用Golang语言实现的一个简单的FTP客户端:Github源码:Golang实现一个简单的FTP客户端

2018-02-07 20:28:51 2820

原创 Win7和CentOS7双系统修复引导

因为测试需要用到CentOS7系统和Win7系统,但只有一台机器,所以决定装CentOS7和Win7双系统。记录下修复引导使用的命令,免得以后每次都要查。以下基于先装CentOS7再装Win7系统。由于装完Win7后CentOS7的引导项不见了,所以首先需要进入CentOS7安装盘修复CentOS7的启动引导。# 修复grub引导grub2-install --root-direct

2017-12-27 17:55:40 4571

原创 VMware虚拟机组网

经常要测点小玩意,公司的测试机又不够,于是决定自行在虚拟机上组网用于测试。以下是网络拓扑图:看着这个那个,其实挺简单的,主要是对虚拟机1的配置:# 配置IP# ifconfig ens33 192.168.8.10/24 up# ifconfig ens37 192.168.1.10/24 up# 配置默认路由# ip route add default via 192.168.8.2

2017-11-16 14:39:03 2108

原创 C语言为什么~0 == -1?

今天无意中敲下:#include <stdio.h>int main(){ printf("~0 == %d\n", ~0);}输出结果是~0 == -1; 为什么呢?我个人的大概理解如下(不保证对错): 以下假设为32位系统; 0的补码是0x00000000; ~0则是:0xFFFFFFFF(~是按位取反,包括不好位,跟“取反”不是一个概念) 0xFFFFFFFF的原码是0

2017-11-14 09:29:58 23257 4

原创 g++使用container_of编译不通过

Linux内核里面大量使用了container_of,使用gcc编译完全不存在问题;但项目中刚好需要使用g++进行编译,container_of一直编译不通过,通过使用g++ -E source.cpp >> test.cpp一步一步测试,最后修改如下:#ifdef __cplusplus#define container_of(ptr, type, member) ({ \ ty

2017-10-31 20:55:58 590

原创 Source Insight 4.0安装后首次打开报错

老早就听说过代码阅读神器Source Insight一直没使用过,今天终于要用到了,兴冲冲的去官网下载安装了Source Insight4.0,安装一切顺利(好感动,Linux上经常各种缺依赖,我都怕了(可能是我比较菜。。。))。双击打开,报错。。。不对,一定是我打开的方式不对,关闭再打开,还报错。。。这。。。再来一次,还报错。。。 错误提示大概如下:Unable to open or ...

2017-08-12 11:54:38 6569 8

原创 SSH无法连接虚拟机CentOS6.5主机

今天早上由于学习需要,在VM安装了CentOS6.5虚拟机,用的是CentOS 6.4 x86.64 liveDVD.iso镜像,装完之后在win7 SSH客户端死活连接不上虚拟机,仔细检查了虚拟机IP,确认无误;根据我个人的经验一般是防火墙问题了,在Linux上service iptables status,防火墙没开,ping也能通。这,这,这,总不能是win7防火墙问题吧,我用的是nat,应该

2017-08-10 12:44:39 3340

原创 strcat源码分析

strcpy、strcat、memmove、memcpy等标准库函数的源码是非常常见C/C++笔试题,在会用的基础上一定要会其实现。本人是半路出家学C语言,在面试某还算大型公司时就吃了大亏。在这里分享strcat源码,并附上个人见解。#include <stdio.h>#include <assert.h>char *strcat(char *dest, const char *src){

2017-08-06 13:35:35 553

原创 几道C语言笔试题及个人理解

虽然一直想找个Golang相关的工作,也拿了几个offer,但确没有一个心仪的,只能转找C语言了。下面是某新三板上市公司的笔试题,感觉挺有意义的,分享出来。第0题 本题输出hello,因为GetMemory传入的p是指针。#include <stdio.h>#include <stdlib.h>#include <string.h>void GetMemory(char **p, int num

2017-08-06 13:21:35 311

原创 epoll实现简单echo服务器

好久没写过博客了,之前写博客纯属是为了记录,防止再遇到同样的问题一时想不起来,可以查查博客。然后发现印象笔记好像挺好用,然后就懒得写博客了。。。 最近感觉心态变了,写博客当自己学习过程的分享吧。 这篇博客内容不深,甚至是烂大街的东西,纯属是表达一下我学习的思路,希望可以给和我一样的新手一些学习的思路,写的不好的也请勿喷,谢谢epoll的概念,还有什么与select、poll等的区别,优缺点,请自

2017-08-02 09:50:04 711

原创 CentOS6.5升级git

今天在CentOS6.5上想提交代码到github上,很自然的使用命令:yum install git居然真有,回想到被软件依赖所支配的恐惧,欣喜若狂,事实证明是我too young too simple了。一直到git remote add origin 'url'都没问题,然后。。。git push origin master一直报403,网上说换成ssh可以解决,试了也没作用!偶然看到一篇文章

2017-07-04 12:58:22 1155

原创 C++音乐播放器类设计

终于还是毕业了! 学了接近两年半Golang语言,直到找工作才发现,新兴语言刚出社会要找一份工作真的不容易,终于明白学校开的课程总是比社会的需求慢上几个节拍了!还是学回C++吧! 首先声明,本人也只是C++初学者,对于C++的使用也仅限于大学一年级写过学生管理系统(从最原始的书本示例版本、到以文件形式持久化信息版本、到UI(用了点Qt皮毛,早忘了QAQ)版本、到数据库版本)、控制台贪吃蛇、控制台

2017-07-04 11:15:18 8372 2

原创 vim配置收集

#设置tab为4个空格set ts=4set expandtabset autoindent#强调当前行set cursorline#显示行号set number

2017-07-01 15:39:29 176

原创 ORA-01092 ORA-01534

今天在RedHat5.4上安装oracle9i出现了问题ORA-01092,因为对oracle不熟,通过搜索引擎知道了安装日志这东东,路径是:$ORACLE_HOME/rdbms/log/alert_$id.log调到文件末尾,原来是ORA-01534导致了ORA-01092,通过搜索引擎,得到解决办法是:vim $ORACLE_HOME/dbs/initorcl.ora#注释掉这行#rollb

2017-04-07 19:38:32 471

原创 CentOS6.5 yum升级gcc

因为需要用到C++11,但CentOS自带的gcc4.4.7不支持,所以决定升级gcc。 操作如下:#备份mv /etc/yum.repos.d/devtools-2.repo /etc/yum.repos.d/devtools-2.repo.bak wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.

2017-02-25 18:11:55 4035

原创 git基本操作

git config --global user.name ""git config --global user.email ""git initgit addgit removegit commitgit remote add origin urlgit push

2017-02-17 09:14:06 247

原创 Cent OS安装Chrome

本文操作环境基于Cent OS7,其余版本类似https://github.com/FZUG/repo/wiki/%E5%AE%89%E8%A3%85-Chrome

2016-07-10 10:41:08 2167

原创 CentOS安装NTFS-3g

本文基于CentOS7,其余版本类似!对于像我这样的Linux初学者,既离不开Win又想学习Linux,又不想装虚拟机,那就只能Win+Linux双系统,可能是先入为主的原因吧,Linux各大发行版我比较倾向于CentOS。但CentOS7默认是无法识别Win7的NTFS格式的,有时候要用到Win里面的文件怎么办?使用NTFS-3g可以解决。安装方法特别简单,跟着官网介绍一步一步来就行了。

2016-07-07 18:53:03 4059

原创 CentOS更换为163(网易)软件源(yum源)

http://mirrors.163.com/

2016-07-07 18:39:57 752

原创 Cent OS7 grub2

grub2-mkconfig -o /boot/grub2/grub.cfg

2016-07-07 13:35:59 642

原创 C++线性表

//SeqList.h#define MaxSize 100template <class DataType>class SeqList{ private: DataType data[MaxSize]; //存放数据元素的数组 int length; //线性表的长度 public: SeqList(){length

2016-03-23 10:49:16 668

原创 win7所有服务被禁用(应该是大多数被禁用)

今天某某打电话给我说,ta的电脑连不上宽带,但是用固定IP上网是可以的!因为之前遇到过类似问题,首先就想到应该是相关服务被禁用了,计算机-右键-管理-服务和应用程序-服务,居然绝大多数服务都被禁用了(此处应有截图)!!!what???不会是要我一个一个手动打开吧,天了噜,这么多服务,要搞到什么时候!!!有木有快捷办法,有木有快捷办法,有木有快捷办法???好吧,我已经在开始一个一个启动五个,十个,十

2016-03-01 22:08:25 13474

原创 golang简单实现银行家算法

这周课程设计,以为会很好玩,实验书发下来,居然只是实现银行家算法,失望了……用了小半天时间(原谅我上过操作系统居然连银行家算法是什么都忘了,只能回去看书重来),用golang简单实现了银行家算法,一下是代码:package mainimport ( "fmt" "log" "os")var Available []int //可以用资源向量var Max [][]i

2016-01-05 00:06:03 1282

原创 golang通过socket与java通讯

作为计算机专业的学生(虽然很水),直到今天还有二年级的师弟问我计算机专业学计算机网路基础究竟有什么作用?项目中是否只能用一门编程语言?……解释了半天,没能解释明白(原谅计算机专业读久了,口才真的变烂了),于是写下这篇文章。 本文主要是实现echo服务器/客户端,服务器采用golang编写,客户端采用java编写(别问我为什么不用C++,如果会早就用了),本文的目的是为了说明,现代编程中,网络是十分

2015-12-09 02:14:33 2034

原创 golang返回值为interface{}的类型判断

看标题就知道,这是一个很简单的问题,就一个函数的事,但是,今天一同学golang的几个人中,已经不止一个人问我了,在这里我就说一下,也希望对不清楚的娃有些许帮助,大神别喷,飘过就行了。 大家知道,golang对于不确定返回值可以用interface{}代替,这确实很方便,但是也带来了问题,那就是如何判断返回值是什么类型的?其实可以用反射也就是reflect来判断,通过函数reflect.TypeO

2015-12-04 17:40:08 10178

原创 VMware Workstation VT-x禁用问题

今天室友电脑的VMware Workstation不知道为什么,就出现了问题,问题截图如下: 问他说之前一直都可以正常使用,但就是不知道为什么突然出现这问题,解决不了,让我帮忙看一下能不能解决。 之前可以使用?为什么突然间就不能用了呢?问他有没有进行过什么操作,比如禁用主板VT-x什么的(一般这种情况很可能是主板禁用了VT-x,至于为什么,禁用了怎么破,百度一大堆,这里就不说了)?也说没有。

2015-12-02 23:57:02 1694

原创 Postgres自建user表问题

大三了,还在盲目不知道干嘛,今天又去玩Postgres,在建了一个user表,然后使用查询语句SELECT * FROM user一直报错,别的表都是这么查询的一直没错,改成SELECT * FROM "user"就没问题,别的表为什么不用呢?百思不得其解,然后也不知道怎么想的,就输入了SELECT * FROM USER查询没错,但是出现的结果是Postgres中的用户,原来如此。

2015-11-28 00:22:10 599

原创 golang postgresql数据库驱动

今天周末,即使立冬已过,阳光依然独好,闲着没事做,coding。 一直用bm。。。/pq的SQL驱动,忘记叫啥了,一直没问题,今天看到地址转到了lib/pq,重新获取了驱动,继续使用,有如下一段代码,func DB() (db *sql.DB) { db, err := sql.Open("postgres", "user=postgres password=123456 dbname=t

2015-11-15 18:11:29 3280 1

原创 坑爹的golang日期时间格式format()

今天重拾golang,用到了format()函数格式化字符串,用了语句time.now().format(“2015-11-12 12:00:00”),结果输出结果就是不能达到理想的结果,然后把golang文档中的”2006-01-02 15:04:05“放进去就可以了,搞了好久没搞明白怎么回事,随意百度了一下,原来golang规定必须要用这个时间点,此刻我的心情,你们意会去……

2015-11-12 17:03:25 7883 2

原创 坑爹的JTable.getSelectedRows()

还是在搞课程设计,今天遇到一个很蛋疼的问题,我想实现同时删除JTable上的多条数据,于是写了如下代码 int[] selRow = jTable.getSelectedRows(); //jTable是我的表格 for (int i=0;i<selRow.length;i++){ tm.removeRow(selRow[i]); //tm是我的TableModel;

2015-10-24 13:56:09 13997 8

原创 java查询语句包含中文获取不到数据库数据

最近在搞java课程设计,在查询数据库数据的时候只要查询语句中包含中文就怎么都查询不到数据,想想应该是文件编码问题,看了一下数据库编码为utf-8,又看了一下源文件编码,居然是gbk,将gbk改为了utf-8,再次查询,果然可以获取数据,记于此惊醒自己。

2015-10-24 02:02:02 4839 5

原创 Win7安装.zip(绿色版)MySQL

昨天是国庆,祝祖国生日快乐! 国庆回家宅家里,有电脑没网也是够蛋疼的!学校几个一起做课程设计的同学问我Mysql绿色版如何安装,让他们去百度,说看不懂,计算机就这自学能力,也是醉了!于是用手机写下这篇文章,有错漏的,或者考虑不周的,麻烦斧正,官老林提前在此感谢,谢谢! 进去正文,首先是去官网下一个mysql,这个就不用我多说了吧!由于使用手机原因,这里就不像以前给出下载链接了,自行百度mysq

2015-10-02 02:42:08 657

原创 传值和传址

今天遇到一个问题,在函数外定义了一个变量,然后在函数中给其赋值,结果怎么都是为空,纠结了好久,原来是一个很低级的传值和传值错误,总算得以解决,这里用一个例子说明。 golang中在传递一个参数到函数的过程中其实是传递了一份copy,而原值不变,如果要改变原值,则必须传址。 var a int func add1(a int) int{ a=a+1 return a }

2015-09-22 23:17:29 411

转载 手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件

http://blog.csdn.net/xxyy888/article/details/13169389

2015-09-14 22:37:38 586

《高质量C/C++编程指南》林锐注 带标签

高质量C/C++编程指南 林锐注,懂的人自然懂,不解释。 带标签版。

2017-11-14

2017计算机专业统考408真题及答案

2017计算机专业统考408真题及答案; 不是很清晰; 且用吧。

2017-10-23

2017计算机学科专业基础综合(408)真题及答案

不是很清晰,且用且珍惜; 祝愿所有考研学子金榜题名; 凑字数。。。。。。

2017-10-23

2017年计算机学科专业基础综合(408)真题及答案

都是考研人,不容易,且用且珍惜把; 2017年计算机学科专业基础综合(408)真题及答案; 凑字数,凑字数,凑字数,凑字数,凑字数。。。

2017-10-23

空空如也

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

TA关注的人

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