Mac OS 10.12 - 如何能够像在Windows一样切换中英文输入法和大小写键?
摘要:最开始,我切换中英文输入法和大小写键是按照下面博客做到的: http://www.cnblogs.com/sunylat/p/6415563.html 但是当我安装完毕搜狗输入法后,切换中英文输入法和大小写键就和在Windows里一样了!! CapsLock: 大小写切换 Shift : 中英文输入
阅读全文
posted @
2017-02-20 00:16
sunylat
阅读(987)
推荐(0) 编辑
Mac OS 10.12 - Gogland和在Windows中使用的不同!!
摘要:刚刚在Mac OS 10.12用Gogland写了一个小小的GO语言测试程序,经过一番尝试才算把Gogland配置好,写出这个测试程序!Gogland在Mac OS 10.12里和Windows里面确实有些不同!! 一,Gogland的菜单位置不同 在Windows里,Gogland的菜单就在自己程
阅读全文
posted @
2017-02-19 23:34
sunylat
阅读(647)
推荐(0) 编辑
Mac OS 10.12 - 安装Homebrew,像Ubuntu里面的apt一样简单地安装和删除软件!
摘要:Homebrew — macOS 不可或缺的套件管理器,Homebrew官方网站如此介绍自己!!! 中文官网:https://brew.sh/index_zh-cn.html 一,安装 打开shell执行下面命令 注意问题:如果执行这个命令,中间运行时候卡住,那么你应该在Mac OS 10.12解决
阅读全文
posted @
2017-02-19 21:07
sunylat
阅读(800)
推荐(0) 编辑
Mac OS 10.12 - 在VMwear Workstation12.5.2中大写键和中英文输入法的切换!
摘要:大小写切换: Alt+CapsLock(不过必须在英文状态下)!! 输入法切换: CapsLock进行中英文输入法的切换
阅读全文
posted @
2017-02-19 13:18
sunylat
阅读(876)
推荐(0) 编辑
Mac OS 10.12 - ”ln: /usr/bin/tclsh: Operation not permitted“错误的解决方法!!
摘要:我在对"/usr/bin/"进行创建链接时候,出现错误:”ln: /usr/bin/tclsh: Operation not permitted“,这个错误的原因是Rootless机制保护,取消Rootless机制就可以了,取消方法: http://www.cnblogs.com/sunylat/p
阅读全文
posted @
2017-02-19 03:28
sunylat
阅读(2024)
推荐(0) 编辑
Mac OS 10.12 - 如何关闭Rootless机制?
摘要:一,进入恢复模式(Recovery):具体操作方法参见下面这篇博客: http://www.cnblogs.com/sunylat/p/6414697.html 二,关闭Rootless机制 1,选择简体中文为服务语言后,点击下面的按钮继续。 2,点击顶部菜单”实用工具“->"终端",进入"终端"s
阅读全文
posted @
2017-02-19 03:16
sunylat
阅读(3254)
推荐(0) 编辑
Mac OS 10.12 - 在VMwear Workstation12.5.2中以两种方式进入恢复模式(Recovery)!!!
摘要:注意:如果你打算安装Mac OS10.12 到虚拟机里面学习,那么我强烈建议你在没有安装任何其它软件之前,按照我这篇博客来进入恢复模式(Recovery),禁用Rootless机制!!!这样处理后,你就可以任意使用Mac OS了,否则你最终会发现,你必须进入恢复模式(Recovery),必须禁用Ro
阅读全文
posted @
2017-02-19 02:41
sunylat
阅读(24969)
推荐(0) 编辑
Mac OS 10.12 - 安装JAVA!
摘要:一,下载JDK: 下载地址:版本1.8.0 http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-macosx-x64.dmg 二,安装JDK: 在Mac OS
阅读全文
posted @
2017-02-18 23:29
sunylat
阅读(350)
推荐(0) 编辑
Mac OS 10.12 - 解决“bad interpreter: No such file or directory”问题!
摘要:在Mac OS10.12里面执行shell脚本时候,无法执行,错误提示:“bad interpreter: No such file or directory”,经过上网搜索,最终解决了,解决方法,首先在shell里面执行下面命令: 注意:上面最后是要执行的shell脚本名称,上面命令里面的"mye
阅读全文
posted @
2017-02-18 23:18
sunylat
阅读(866)
推荐(0) 编辑
解决:cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
摘要:在win下用Go语言的cgo时(比如下面场景)我们会用到的GCC编译器,Win下我们一般用MinGW。 Golang连接Oracle数据库;win下 golang 跨平台编译 MinGW全称Minimalist GNU For Windows,是个精简的Windows平台C/C++、ADA及Fort
阅读全文
posted @
2017-02-18 17:14
sunylat
阅读(2831)
推荐(0) 编辑
go get golang.org/x/net 安装失败的解决方法!
摘要:GO语言在github.com上建立了自己的项目,对应的包如果不能下载,那么可以到这里去下载,比如:"go get golang.org/x/net"不能下载这个包,那么我们可以访问:"https://github.com/golang/net"直接把对应的包下载,随后在自己的GOPATH的src目
阅读全文
posted @
2017-02-18 13:27
sunylat
阅读(2122)
推荐(0) 编辑
Ubuntu16.04 - 安装gtk+-3.0和appindicator3-0.1
摘要:今天在Ubuntu16.04里面遇到这样的问题: # pkg-config --cflags gtk+-3.0 appindicator3-0.1Package gtk+-3.0 was not found in the pkg-config search path.Perhaps you shou
阅读全文
posted @
2017-02-17 17:54
sunylat
阅读(2366)
推荐(0) 编辑
Ubuntu16.04 - 安装Courier New字体
摘要:这应该是一个很简单的任务吧?网上很多地方告诉我们,只要在shell终端里面执行命令:"sudo apt-get installttf-mscorefonts-installer"就可以了,但是我执行了好多次,都没能成功,错误提示: ttf-mscorefonts-installer: downloa
阅读全文
posted @
2017-02-16 14:50
sunylat
阅读(649)
推荐(0) 编辑
Ubuntu16.04 - 怎么能够更好设置PATH变量,便于管理?
摘要:“/etc/profile”是linux里面的全局变量设置文件,加入这里的PATH变量,全局都可以使用,非常方便。加入时候很简单了,直接在PATH末尾加入":+要加入的变量"就可以了,但是如果一直这样加下去,这个PATH变量会很长,到时候维护会很麻烦了,假设想删除其中一个变量,那么我们需要非常认真查
阅读全文
posted @
2017-02-15 15:39
sunylat
阅读(364)
推荐(0) 编辑
在Ubuntu16.04里面安装Gogland!
摘要:一,安装 把linux版本的Gogland拷贝到Ubuntu16.04里面,随后在想要存放它的地方解压缩,这样就完成了安装! 二,让Gogland可以快速启动 linux版本的Gogland的启动是用一个shell脚本文件"gogland.sh",这个文件存放于刚才我们解压缩文件的"bin"目录里,
阅读全文
posted @
2017-02-15 00:17
sunylat
阅读(678)
推荐(0) 编辑
ClamAV学习【9】——cvd文件解析及cli_untgz函数浏览
摘要:这个cli_untgz函数,是用来解压CVD文件的。 那么,就刚先搞清楚CVD文件的功能作用。下了源码,我们会发现,没有前面提到的*.mdb或者*.hbd等病毒签名文件。原因就是,那些文件都是由CVD文件解压生成的,是的,CVD是个病毒签名压缩文件。(下面是daily.cvd解压后的) CVD文件,
阅读全文
posted @
2017-02-13 13:45
sunylat
阅读(724)
推荐(0) 编辑
ClamAV学习【8】——64位Windows7下编译运行实践
摘要:之前用SourceInsight静态分析了ClamAV引擎源码,现在打算开始动态研究下。不过出师不利,一开始就遇到纠结的问题,能力还有待提高。 从官网下了一个VS2005工程的源码包(http://download.csdn.net/detail/betabin/4219529)。 首先是解压后,l
阅读全文
posted @
2017-02-13 13:44
sunylat
阅读(465)
推荐(0) 编辑
ClamAV学习【7】——病毒库文件格式学习
摘要:搜查到一份详细的ClamAV病毒文件格式资料(http://download.csdn.net/detail/betabin/4215909),英文版,国内这资料不多的感觉。 重点看了下有关PE的病毒文件格式,就是*.mdb文件。还有之前郁闷用途的*.cvd文件。 就粘贴下刚刚的一点笔记: 1、介绍
阅读全文
posted @
2017-02-13 13:42
sunylat
阅读(1057)
推荐(0) 编辑
ClamAV学习【6】—— cli_load函数浏览
摘要:(老爸回家,就放开心和他到处走,累……趁其和老妈聊天之际,再继续看代码) 参数选项,加载病毒都浏览得七七八八了,这里就贴个简单的函数注释吧。哈哈。 代码注释如下: 原文:http://blog.csdn.net/betabin/article/details/7435170
阅读全文
posted @
2017-02-13 13:41
sunylat
阅读(385)
推荐(0) 编辑
ClamAV学习【5】—— cli_scanpe函数浏览
摘要:这近2000行的代码,要是没有Source Insight,都不知道怎么看下去。跟着跟着来到了PE文件查杀的地方,发现前面都中规中矩地进行PE属性检查,中间一段开始扫描每个区块,然后和特征库的size对比扫描查毒。再后面,加了对一些流行病毒的特定查杀。(这个比较晕。) 代码注释如下(代码过长,可能有
阅读全文
posted @
2017-02-13 13:40
sunylat
阅读(515)
推荐(0) 编辑
ClamAV学习【4】——cli_magic_scandesc函数浏览
摘要:今晚继续浏览ClamAV代码,挖掘到了cli_magic_scandesc函数,发现前面包装了很多次扫描函数,这里就是最后一层的感觉。一些扫描限制判断加上文件类型判断,采用不同扫描函数处理。 (PS:发现这些函数个头都很大,虽然按着功能分段好理解,但是书本不是说一个函数一个功能模块么?难道是不实际,
阅读全文
posted @
2017-02-13 13:38
sunylat
阅读(449)
推荐(0) 编辑
ClamAV学习【3】——scanmanager函数浏览
摘要:吃饱饭继续浏览Manager.c的scanmanager函数,这个函数的功能吧,暂时理解如下。 接收一个命令行参数(经过处理的optstruct结构指针)。 然后根据选项判断文件类型种类,还有一些扫描选项。看到了AC-Only选项,可是没有BM-Only选项,不解。然后就进行了病毒库的加载和引擎的初
阅读全文
posted @
2017-02-13 13:36
sunylat
阅读(464)
推荐(0) 编辑
ClamAV资料链接
摘要:1、http://wiki.ubuntu.org.cn/index.php?title=ClamAV&variant=zh-cn Ubuntu的wiki下对ClamAV的大致介绍,包括使用。 2、http://download.csdn.net/detail/betabin/4215909 资源页下
阅读全文
posted @
2017-02-13 13:33
sunylat
阅读(706)
推荐(0) 编辑
ClamAV学习【2】——clamscan入口函数浏览
摘要:就简单给代码加上些注释,方便理解。第一次浏览,应该会有不正确的理解。后面会继续学习修改。 文件:clamscan\clamscan.c 代码如下: 原文:http://blog.csdn.net/betabin/article/details/7421910
阅读全文
posted @
2017-02-13 13:32
sunylat
阅读(1000)
推荐(0) 编辑
ClamAV学习【1】——ClamAV流程
摘要:不知道是对还是错,一开始就上手学习ClamAV,享受被虐的过程吧。 发现ClamAV的官网也很少资料,搜商还有待加强,大概翻阅了example的源代码,明白了其查毒的大概方式(BM和AC算法匹配特征码)。但是文件巨大,也没找到个合适的介绍资料。 下周计划就先学学BM算法和AC算法,还有翻翻ClamA
阅读全文
posted @
2017-02-13 13:30
sunylat
阅读(1684)
推荐(0) 编辑
如何让Syncthing始终使用同一个设备ID?
摘要:设备ID(device id)是Syncthing最重要的参数之一,所有节点的发现、连接等操作,全部是基于这个设备ID!对于已经建立起来的P2P网络,保持重要节点的设备ID唯一性是非常重要的!!!!那么是否Syncthing也能始终保持设备ID的唯一性?可以,不过需要我们自己配置一下!!下面就是能够
阅读全文
posted @
2017-02-13 12:12
sunylat
阅读(2139)
推荐(0) 编辑
Syncthing源码解析 - 第三方库
摘要:1,AudriusButkevicius/cli 网址:https://github.com/AudriusButkevicius/cli 2,bkaradzic/go-lz4 网址:https://github.com/bkaradzic/go-lz4 3,calmh 备注:这位是Syncthin
阅读全文
posted @
2017-02-12 12:54
sunylat
阅读(525)
推荐(0) 编辑
Syncthing源码解析
摘要:Gogland编译Syncthing 源码目录说明 Syncthing启动过程分析 在Gogland中对Syncthing的各个模块进行调试 第三方库
阅读全文
posted @
2017-02-12 11:45
sunylat
阅读(768)
推荐(0) 编辑
Syncthing源码解析 - 在Gogland中对Syncthing的各个模块进行调试?
摘要:Syncthing的模块很多,各自负责不同的功能,如何能够对各个模块进行调试?Syncthing开发者早就想到这个问题了,允许开发者对任意模块进行单独调试,也允许同时对所有模块调试,调试方式是打印各个模块的操作以及事件的log信息到控制台和log文件中! 调试方法: 在Windows操作系统中,打开
阅读全文
posted @
2017-02-12 00:48
sunylat
阅读(947)
推荐(0) 编辑
Syncthing源码解析 - 启动过程
摘要:我相信很多朋友会认为启动就是双击一下Syncthing程序图标,随后就启动完毕了!如果这样认为,对,也不对!对,是因为的确是这样操作,启动了Syncthing;不对是因为在调试Syncthing启动过程时发现很奇怪!有哪些奇怪的地方呢? 一,Syncthing启动的奇怪问题。 1,启动时候总是运行"
阅读全文
posted @
2017-02-11 16:32
sunylat
阅读(2239)
推荐(0) 编辑
在Gogland里对GO程序进行单元测试!
摘要:单元测试在程序开发中具有很重要的作用! 1,可以保证程序代码的健壮,能够最小范围测试程序代码,从而保证程序的正确性! 2,可以通过单元测试代码快速了解当前的程序。 我在先前的几个软件公司工作时候,都对程序代码进行单元测试,一般来说经过单元测试的程序质量都很好!!现在我使用Gogland来学习GO语言
阅读全文
posted @
2017-02-10 17:35
sunylat
阅读(6668)
推荐(1) 编辑
GO学习笔记 - map
摘要:map是GO语言中的一种高级数据类型,特点是key和value对应,这和Delphi中的Dictionary一样!map的声明格式:map[key数据类型]value数据类型。使用map前,必须用make来创建! 示例:
阅读全文
posted @
2017-02-10 12:41
sunylat
阅读(236)
推荐(0) 编辑
GO学习笔记 - 用defer来实现try{}finally{}
摘要:在Delphi中,try{}finally{}语句非常有用,对于一定要最终执行的语句,我们放到finally,从而保证程序顺利执行!在GO语言中没有try{}finally{}语句,但是GO语言用另外一种方式实现了try{}finally{}语句,那就是defer!defer 语句会延迟函数的执行直
阅读全文
posted @
2017-02-10 12:04
sunylat
阅读(770)
推荐(0) 编辑
GO学习笔记 - 没有条件的 switch 同 switch true 一样。
摘要:官方教程:https://tour.go-zh.org/flowcontrol/11 没有条件的 switch 同 switch true 一样。 这一构造使得可以用更清晰的形式来编写长的 if-then-else 链。 官方示例:
阅读全文
posted @
2017-02-10 11:52
sunylat
阅读(606)
推荐(0) 编辑
GO学习笔记 - Go 只有一种循环结构—— for 循环。
摘要:一,Go 只有一种循环结构—— for 循环。 官方教程:https://tour.go-zh.org/flowcontrol/1 Go 只有一种循环结构—— for 循环。 基本的 for 循环包含三个由分号分开的组成部分: 初始化语句:在第一次循环执行前被执行 循环条件表达式:每轮迭代开始前被求
阅读全文
posted @
2017-02-10 11:43
sunylat
阅读(320)
推荐(0) 编辑
GO学习笔记 - 数据类型推导
摘要:官方教程:https://tour.go-zh.org/basics/14 在定义一个变量却并不显式指定其类型时(使用 := 语法或者 var = 表达式语法), 变量的类型由(等号)右侧的值推导得出。 当右值定义了类型时,新变量的类型与其相同: 但是当右边包含了未指名类型的数字常量时,新的变量就可
阅读全文
posted @
2017-02-10 11:35
sunylat
阅读(309)
推荐(0) 编辑
GO学习笔记 - 数据类型转换
摘要:官方教程:https://tour.go-zh.org/basics/13 表达式 T(v) 将值 v 转换为类型 T 。 一些关于数值的转换: 或者,更加简单的形式: 与 C 不同的是 Go 的在不同类型之间的项目赋值时需要显式转换。 试着移除例子中 float64 或 int 的转换看看会发生什
阅读全文
posted @
2017-02-10 11:34
sunylat
阅读(335)
推荐(0) 编辑
GO学习笔记 - 变量在定义时没有明确的初始化时会赋值为“零值 ”。
摘要:官方教程:https://tour.go-zh.org/basics/12 官方示例:
阅读全文
posted @
2017-02-10 11:29
sunylat
阅读(357)
推荐(0) 编辑
GO学习笔记 - 基本数据类型
摘要:官方教程:https://tour.go-zh.org/basics/11 官方示例:
阅读全文
posted @
2017-02-10 11:26
sunylat
阅读(218)
推荐(0) 编辑
GO学习笔记 - 用":="实现短声明变量!
摘要:对于Delphi程序员,":="这个符号再熟悉不过了,表示对变量赋值!在GO语言中,同样表示赋值,但是和Delphi有些不同,不同就在于不需要var变量名称了!GO语言中的":="用于替代var,实现短声明变量! 官方教程:https://tour.go-zh.org/basics/10 官方示例代
阅读全文
posted @
2017-02-10 11:17
sunylat
阅读(537)
推荐(0) 编辑
GO学习笔记 - 没有参数的 return 语句返回各个返回变量的当前值,这种用法被称作“裸”返回。
摘要:Go 的返回值可以被命名,并且就像在函数体开头声明的变量那样使用。 返回值的名称应当具有一定的意义,可以作为文档使用。 没有参数的 return 语句返回各个返回变量的当前值。这种用法被称作“裸”返回。 直接返回语句仅应当用在像下面这样的短函数中。在长的函数中它们会影响代码的可读性。 官方教程:ht
阅读全文
posted @
2017-02-10 11:10
sunylat
阅读(1801)
推荐(0) 编辑
GO学习笔记 - 函数名前面是否有输入参数肯定是不一样的!!
摘要:在刚接触GO语言时候,我相信你也会有这种困惑,为什么有的函数名前面有输入参数,而一些却没有,它们是否有差别?确实有差别,没有输入参数,是一般的函数;有输入参数,是结构的方法,输入参数叫做“方法接收者”!GO语言没有类,方法都定义在结构上了!! 官方教程: 函 数:https://tour.go-zh
阅读全文
posted @
2017-02-10 00:21
sunylat
阅读(5116)
推荐(0) 编辑
GO学习笔记 - 包内首字母大写的名称是被导出的,才能被其它包代码调用!
摘要:在GO语言的任意包内,如果名称的首字母是大写的,意味着这个名称被导出,在其它包中可以使用“包名.名称”方式来调用,如果名称首字母不是大写,那么只能在这个包内部使用!这个概念还真是和以往接触的编程语言的包和单元都不一样!! 官方教程:https://tour.go-zh.org/basics/3 实例
阅读全文
posted @
2017-02-09 22:58
sunylat
阅读(1490)
推荐(0) 编辑
GO语言官方中文教程!
摘要:官方中文教程网址:https://tour.go-zh.org/basics/1 推荐理由:简洁,一句废话没有,对于初学者可以让大家快速掌握GO语言! 注意问题:如果不能访问,你懂的! 教程截图:
阅读全文
posted @
2017-02-09 22:02
sunylat
阅读(2059)
推荐(0) 编辑
Syncthing源码解析 - 源码目录说明!
摘要:Syncthing是一个免费开源的p2p软件,Go语言编写的! 官网:https://syncthing.net/ 源码:https://github.com/syncthing/syncthing/releases/download/v0.14.22/syncthing-source-v0.14.
阅读全文
posted @
2017-02-07 23:47
sunylat
阅读(1779)
推荐(2) 编辑
Gogland编译Syncthing!
摘要:说明:我仅仅以这个Syncthing工程为例,来说明如何正确使用Goland编译其他人写的工程,应该具有普遍意义,看懂这篇博客,你想用Gogland去编译其他人的工程,应该不是问题!! Syncthing是一个免费开源的p2p软件,Go语言编写的! 官网:https://syncthing.net/
阅读全文
posted @
2017-02-07 08:30
sunylat
阅读(2061)
推荐(1) 编辑
Gogland编译LiteIDE工程需要注意问题!
摘要:致歉声明:实在抱歉,因为自己对Go语言和Gogland的不熟悉,导致错误判断!无论LiteIDE和Goland都可以顺利使用同一个包下的其它文件内容!!Go语言本身就允许把一个包拆分成不同的文件,下面两个工具都完美支持!! LiteIDE 下载地址:https://sourceforge.net/p
阅读全文
posted @
2017-02-06 00:44
sunylat
阅读(919)
推荐(0) 编辑
Gogland使用 - 非常简单查看Go语言源代码全貌!
摘要:Go语言也支持面向对象开发,不过和以往我们所使用的面向对象开发还是有不同,Go语言主张组合方式形成类的概念,在Go语言中,结构起到很大作用,如果用结构组合字段和方法,那么单纯在源代码中看,真的是费时费力,尤其看别人写的代码,举例如下: 这个rawConnection是一个结构,同时它也定义了很多方法
阅读全文
posted @
2017-02-04 21:21
sunylat
阅读(4048)
推荐(0) 编辑
Gogland配置- 去掉Go源代码中的参数提示
摘要:Gogland处于好意,在Go源代码中对每个参数提示类型,这或许方便大家处理源代码,但是我觉得对于正常阅读源代码反而造成一种负担,我决定去掉这个功能! 2020版配置方式: A,IDEA依次打开File→settings → Editor →Inlay Hints →java ,根据个人喜好 在 S
阅读全文
posted @
2017-02-03 18:31
sunylat
阅读(2710)
推荐(0) 编辑
Gogland配置- 修改Go源代码tab值
摘要:Gogland对Go源代码默认值为8个,我很不习惯,第一次遇到tab数量这么大的,于是我决定修改这个tab值! 1,点击顶部菜单“File”->"Settings"。 2,在弹出的“Settings”对话框左侧,选择“Editor”->"Code Style"->"Go",随后在右侧按照下图,修改t
阅读全文
posted @
2017-02-03 18:18
sunylat
阅读(1569)
推荐(0) 编辑