理解nil

<摘要>: 相信上面的代码片段一定不陌生,在我们的开发中它几乎无处不在。当出现不等于nil的时候,说明出现错误了,需要我们对这个错误进行处理;如果等于nil说明运行正常。那什么是nil呢?nil的字面意是无,或者是零值。在Golang中,如果你声明了一个变量但是没有对它进行赋值操作,那么这个变量就会有一个类型的默认零值。例如:。。。。

作者 fiisio | 发布于 2017-06-15 | Tags Go

关于Golang的代码审查和质量评估

<摘要>: 代码质量一直是每个研发团队关心的问题,提高代码质量一般会从测试驱动开发(TDD),验收测试驱动开发(ATDD),持续集成(CI),代码审查,静态分析工具,编码标准等多个方面入手,在此我想说说代码审查以及静态分析工具和编码标准。。。。。

作者 fiisio | 发布于 2017-06-10 | Tags Go

我们说Golang牛逼都在说些什么?

<摘要>: 首先,说它牛逼并不是说已经达到了至今各方面最好甚至达到无可超越的境界,说实话我不认为任何一门语言真的达到这种程度。你要真的非要分出个高低,谷歌曾发布了一个研究报告,仔细比较了C++、Java、Scala和Go语言的性能。毫无疑问C++是四种语言中运行速度最快的,但是该报告同时也指出,优化代码相对困难,这需要相当的努力、熟练的水准,不是平均水平的程序员所能达到。而Go旨在兼顾性能的情况下消除这些限制,它仍然是年轻的,它是为了更简洁地,更高效地完成编码的工作,它自带垃圾回收,可以很安全很容易地写出并发的程序,并且Go还在不断成长,运行性能不断提高,编译速度正大幅度提升,GC延迟不断改善,runtime也不断优化。。。。。

作者 fiisio | 发布于 2017-06-02 | Tags Go

进程,线程,协程与goruntine

<摘要>: 相信作为服务端开发尤其是高性能服务开发的猿们,面试都曾经被问到进程,线程之类的问题,作为操作系统最核心的概念,这些X程就像我们的一个个工具,是我们在开发过程中经常接触的概念,对于这些概念的不清晰我们便发现功能是对的,代码是渣的,将直接体现在我们代码的低效率,高bug率并附带问题出现都不知到问题出在哪里,作为新时代的猿我们原不需要那么多时间去解bug,我们需要更多时间陪女票,不是吗?不过协程一般不会被问到,但在golang开发的过程中相信大家最经常接触的就是go协程,但对于什么才是协程,很多写了golang几年的开发很可能会说go出去的就是协程。。。。

作者 fiisio | 发布于 2017-05-02 | Tags Go 面试Go源码系统优化操作系统

golang应用的性能监控与可视化

<摘要>: 经常会听到运维团队对机器监控的分享,如何运维数万台机器和大集群之类,但是目前对应用或者服务级别的监控还很少。自年前开始我在优化内部API系统的过程中,一直在考虑如何用最简单最便捷的方法来对Go应用做性能监控和分析以及可视化,最初想到的是从两个方面考虑,一是系统方面的性能监控,例如CPU,内存,GC等;二是从业务层面对应用进行监控,例如探活,服务状态,服务处理进度,响应速度等。。。

作者 fiisio | 发布于 2017-03-23 | Tags Go 应用监控系统优化数据采集数据分析性能分析可视化

一个Golang实现的内部API的系统优化与实践

<摘要>: 上次已经谈了golang程序中CPU占用过多排查和优化的办法,此后也是这个API系统通过了QA的功能测试,基本上符合了需求,但是接着就面临一个严重的问题————在面对上百万的终端数据量时请求失败,原因是该系统依赖的v1的基础查询和缓存模块设计之初照着满足10W终端的量来要求,导致数量级上升后程序的性能严重跟不上,不得不回归重构。但这次遇到了更多更复杂的坑。。。

作者 fiisio | 发布于 2016-12-09 | Tags Go 内存泄漏系统优化垃圾回收

golang语言Api系统中CPU功耗优化300倍的过程

<摘要>: 这个系统的存在是解决大量并发数据库查询的问题,主体思路是通过LRU算法缓存结果信息和请求合并来实现的一个数据缓存和请求削峰服务,从而大量减少直接的数据库连接查询并将查询效率也大大提高。...

作者 fiisio | 发布于 2016-11-05 | Tags Go 源码系统优化火焰图

Go之源码安装分析

<摘要>: 使用golang已经相当一段时间,当被问到对于golang编译运行的过程时还是不能完全的讲出来还是之前C/C++的思路。所以今天就将这go的一过程搞清楚...

作者 fiisio | 发布于 2016-10-25 | Tags Go 源码

数据采集之数据源分类

<摘要>: 确定数据采集的数据源是数据处理成功的关键因素也是数据分析的基础,数据是否完备,数据冗余度高低限制着处理和分析的能力,存储和检索也会面临挑战。认清数据源的类别和分离关系,能明确数据采集要做什么,做到哪一步,探测器设置在哪里,如何与处理和分析平台关联等等...

作者 fiisio | 发布于 2016-09-13 | Tags 数据采集 大数据数据分析

Fidelis Network产品介绍

<摘要>: Fidelis Network————在攻击周期的每一阶段发现,调查,阻止高级攻击者...

作者 fiisio | 发布于 2016-08-23 | Tags 终端安全 威胁情报网络安全

从情感分析到威胁情报

<摘要>: 这些想法在前半年做毕业设计的时候就有了一些,毕业设计是做自然语言处理的情感分析,主要是挖掘文本和语句特征做出情感分类和判断以及舆情分析,这就很类似于目前做的威胁情报和响应。对应关系...

作者 fiisio | 发布于 2016-07-06 | Tags 情感分析 威胁情报数据分析机器学习

Go之错误处理

<摘要>: Go 不像 Java 和 .NET 那样的有着 try/catch 异常处理机制,go不能执行抛异常操作。但是有自己的一套 defer/panic/recover 机制...

作者 fiisio | 发布于 2016-07-01 | Tags Go panicrecover

基于Docker的Spark1.6.0集群部署

<摘要>: Docker已经在Linux(CentOS和Ubuntu等)中完美适应,在两者中任一个都行,安装时尽量用最新的正式版本,可以减少不必要的麻烦。目前大多数教程都是基于spark1.4之前的,虽然1.6.0与之前的部署差别不大但还是有一些问题的

作者 fiisio | 发布于 2016-03-30 | Tags Spark Docker大数据