SNOWTOO
Just for Sharing

TensorFlow笔记1

最近一段时间都在用Golang写东西,发现TensorFLow也有Golang的API,可以在Golang代码里嵌入TensorFlow模块。开始挖TensorFlow的坑,边记边学,看看能坚持到什么时候,:)

阅读全文 2017年08月21日 分类:学习笔记GolangTensorFlow

gitlab简单使用教程

平时一直是用git来管理代码仓库,也用过一段时间github,但是github免费版不能建私有仓库。后来转到了bitbucket,后来被atlassian收购后有点不适应,而且在国内访问经常连不上。还是gitlab比较好用,因为公司也是用gitlab,所以上手很快,新增的构建功能非常方便。

阅读全文 2017年05月02日 分类:学习笔记网络软件

使用logrotate来切割日志文件

程序在运行的时候为了了解运行状态,会输出日志文件,时间久了日志文件会变得非常大,甚至达到GB级别。我在golang应用里使用logrus包来打日志,配置和使用都很方便,就是没有日志分割的功能,应用在线上运行一个月后日志文件都已经达到上百兆。后来发现了logrotate,这是centos自带的日志分割工具,都不用安装额外组件就能实现定时分割日志。

阅读全文 2017年04月22日 分类:学习笔记Linux

记一次mysql双主配置

在linode有一台vps,之前的博客在这台上,后来迁回国内,现在就用来翻墙。本来打算再开几台机器组建celery集群,用来计算,但是linode东京机房长期缺货,找了下发现conoha的配置很不错,2核1G,价格和linode差不多,所以celery集群放到了conoha。在跑大任务时celery集群非常耗资源,影响到了实时任务,所以打算把实时任务迁到linode机器,conoha跑大任务,两边各有一个mysql,使用双主模式,实现数据交换。

阅读全文 2016年11月04日 分类:Linux学习笔记mysql

使用google api获取analytics数据

最近在使用google analytics统计网站访问,为了方便拉数据通过google api定时获取一些指标,在使用python sdk时出现ImportError: cannot import name SignedJwtAssertionCredentials的错误,后来改成ServiceAccountCredentials就好了,顺便记录一下google api访问google analytics的方法。

阅读全文 2016年05月08日 分类:学习笔记网络Python

z170+skylake黑苹果安装笔记

早早的就买了i5-6600k和MSI-Z170,悲剧的发现最新的osx还不支持Skylake平台,直到11月终于安装成功,之后驱动、系统升级又踩了不少坑,现在还算比较稳定,这里记录一下大致安装步骤,黑苹果的安装过程还是比较好玩的。

阅读全文 2015年12月28日 分类:学习笔记mac

网站使用SSL

为了http2.0打算给网站先换上ssl,在gogetssl买了Comodo PositiveSSL三年只要$13.15,应该算便宜了把。

这里记录下nginx配置ssl的过程,具体原理就不说了,ssl用ssllabs测试下来结果为A,应该没问题。

阅读全文 2015年10月11日 分类:学习笔记网络

Golang笔记

好久没更新了。。。

最近学了点Golang,先简单记一下,以后慢慢完善。

阅读全文 2015年10月07日 分类:学习笔记

函数指针总结

最近复习c语言,这里总结一下函数指针。
首先是一般函数指针的定义。
其中两个括号是不可缺少的,(*funcPtr)表明funcPtr是一个指针,(char *, int)表明func是一个函数,函数参数为char *和int,返回值为int。接下来看下一个

阅读全文 2013年09月21日 分类:学习笔记C++

使用wc统计代码行数

最近写了一些代码,想统计一下代码的行数,在eclipse中好像没这功能,网上搜了一下才发现原来Linux有一个统计文件行数的命令wc。使用wc可以打印出每个文件和总文件的行数、字数和字节数,如果没有指定文件,则会读取标准输入(一般是终端)做统计。格式如下:

阅读全文 2013年07月02日 分类:学习笔记Linux嵌入式

python学习笔记之类

和其他面向对象的编程语言一样,python也是可以定义类的,下面我将对python中的类做一下总结,主要包括:类的定义、继承、静态方法、类方法、特性和运算符重载。

阅读全文 2013年05月26日 分类:学习笔记Python

python学习笔记之控制流

这一部分要讲一下python程序的结构和控制流,主要包括条件语句、循环与迭代、异常和上下文管理器。 1.条件语句。条件判断是组成程序的主要部分,和c语言一样python的判断语句也有if和else,还多了一个elif。如果执行语句不需要做任何操作,可以使用pass关键字。

阅读全文 2013年04月11日 分类:学习笔记Python

python学习笔记之函数

在了解了python的基本数据类型后,现在我们来看一下python中的函数,为了便于维护和更好的实现模块化,程序都会分解为多个函数。下面我将总结一下python函数的特性,装饰器,生成器,协程等,他们都是进行函数编程和数据处理的强大工具。 在python中定义函数很简单,使用def关键字。和c++一样python的函数也可以使用默认参数。

阅读全文 2013年04月08日 分类:学习笔记Python

python学习笔记之内置数据类型

python的内置数据类型非常丰富,大致可以分为五类:None、数字类型、序列类型、映射类型和集合类型。下面我将分别对他们进行介绍,做个总结以备以后查看。下面的表列出了各个类别下的具体数据类型。注:本文所讲的内容都是基于python2的,python3会有些不同。 None表示一个null对象,这是一个空对象,如果一个函数没有返回值,则返回null对象。None没有任何属性,在布尔表达式中表示False。

阅读全文 2013年04月06日 分类:学习笔记Python

Qt Socket简单通信

最近要用到Qt的Socket部分,网上关于这部分的资料都比较复杂,我在这总结一下,把Socket的主要部分提取出来,实现TCP和UDP的简单通信。

1.UDP通信

UDP没有特定的server端和client端,简单来说就是向特定的ip发送报文,因此我把它分为发送端和接收端。 注意:在.pro文件中要添加QT += network,否则无法使用Qt的网络功能。

阅读全文 2013年03月12日 分类:学习笔记Linux嵌入式

Spyder提示ValueError: API 'QString' has already been set to version 1

在IPython中使用enthought.mayavi正常,但在Spyder中确有问题,提示如下

Traceback (most recent call last):
  File "G:\python\STD\mayavi_mlab.py", line 9, in <module>
    from enthought.mayavi import mlab
  File "C:\Python27\lib\site-packages\enthought\mayavi\mlab.py", line 3, in <module>
    from mayavi.mlab import *
ValueError: API 'QString' has already been set to version 1
阅读全文 2013年02月27日 分类:学习笔记Python

Gentoo安装笔记

最近在本本上装了个Gentoo,过程真是相当复杂,这里做个笔记,给有需要的人。安装Gentoo真的很需要耐心,Gentoo的可定制化非常强,从内核到完整的桌面系统,都可以根据自己来设置,期间会遇到各种各样的问题,但整个过程下来后,你会学到很多东西。下面的图片就是我的Gentoo的最终完成图,桌面:openbox+feh+fbpanel,登录管理:slim,终端:Sakura,文件管理:pcmanfm,还有一些小问题没解决,我会慢慢更新。

阅读全文 2012年12月31日 分类:学习笔记Linux

二维DCT变换

写这篇文章的目的主要是为了给x264打好基础,x264用的是整数DCT变换,所以就先来说说DCT变换吧。 DCT(Discrete Cosine Transform),又叫离散余弦变换,它的第二种类型,经常用于信号和图像数据的压缩。经过DCT变换后的数据能量非常集中,一般只有左上角的数值是非零的,也就是能量都集中在离散余弦变换后的直流和低频部分,下面我会用matlab来演示整个过程。

阅读全文 2012年11月30日 分类:学习笔记x264图像处理

数学表示法

在笔试中有这么一道题目,写出一个表达式的后缀表示形式,当时就迷茫了,什么是后缀表达式,还真没听过。后来查了下原来是一种比较特殊的数学表达式,因为在日常生活中用的不多,不太了解。有三种表达式:前缀表达式、中缀表达式和后缀表达式。一般用的是中缀,比如1+1,前后缀就是把操作符移到前面和后面,下面我就来介绍一下这三种表达式。

阅读全文 2012年10月22日 分类:学习笔记C++C#

静态成员的初始化顺序

前几天去参加了场笔试,里面考了静态构造函数,当时没做出来,现在对静态成员的初始化做一个总结。 在c#类中的静态成员有静态变量、静态函数和静态构造函数,而在java中是没有静态构造函数的,取而代之的是静态程序块。静态成员一般存放在静态区,而且是属于类的,所以我们可以不用实例化对象,直接调用静态函数,比如工具类的方法一般都声明为静态函数。c#和java对静态成员的初始化顺序是不一样的,下面我将分别对他们进行总结。

阅读全文 2012年10月20日 分类:学习笔记C#Java

c++运算符重载总结

c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。

1.一般运算符重载

在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,所以运算符重载有两种方式:成员函数和友元函数。成员函数的形式比较简单,就是在类里面定义了一个与操作符相关的函数。友元函数因为没有this指针,所以形参会多一个。

阅读全文 2012年09月28日 分类:学习笔记C++

c#解析FLV文件

在上一篇FLV文件格式解析中,我们对FLV的文件结构有了一定了解,现在我们就可以对FLV文件解析解析了。我这里用的是c#,只要理解了过程java、c++都是可以的。

1.工具类

在解析的过程中,我们会和byte做各种运算,所以我定义了一个byte工具类ByteUtils:

阅读全文 2012年09月24日 分类:学习笔记C#图像处理

华为2013校园招聘上机试题(杭州2012-9-1)

最近华为已经在招聘了,明年的这个时候应该轮到我了,先提前练练。题目是网上找的,也不知道准不准确,一共3个编程题,是提前批的题目。

1.字符串过滤

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。

阅读全文 2012年09月21日 分类:学习笔记C++

全国电视台节目查询软件TV Guide

个人作品,一个用于查询全国电视台一周节目单的小软件。主要是为了平时看电视用的,方便自己查看节目列表,共享出来也方便别人吧。软件很简单,就是采集网上的节目信息,因为懒得打开网页,就写了个小工具。 使用方法: 进入软件后请点“更新”来获取最新的电视台列表,有三大类可以选择:央视、卫视和地方台。然后在左边的选择框里选择种类,比如地方台可以选哪个省的。选好种类后在中间的选择框里会出现具体的电视台列表,之后你都懂的。星期在选择电视台后才能选择。 环境要求:.net 3.5

阅读全文 2012年09月20日 分类:学习笔记C#个人作品

TCHAR,WCHAR,LPSTR,LPWSTR和LPCTSTR

从现在开始要进入嵌入式的开发了,复习一下c语言,先从基本的数据类型开始。TCHAR,WCHAR,LPSTR,LPWSTR和LPCTSTR,这几个看起来差不多,也很容易混淆,他们都是跟字符有密切关系的。要想知道他们的由来以及作用就必须先了解字符的编码。

阅读全文 2012年09月15日 分类:学习笔记C++

用c#写的directshow简易视频播放器

很久没动directshow了,现在一直用c#写程序,突然看到directshow在.net下也有library,于是想试试在.net下的directshow。这个播放器是参照directshownet library中的例子改的,自己加了一些控制方面的。
先说一下directshownet,这是一个用c#写的directshow类库,是一个开源项目,sourceforge主页:http://directshownet.sourceforge.net/。不过这个项目关注的人不是很多,代码也很久没更新了,毕竟使用directshow的大都是c++项目,实现起来也是c++更高效。在.net里也可以调用VB的directshow类库来实现,不过我觉得这样太麻烦了,还是用directshownet这个现成的类库来的快。

阅读全文 2012年09月10日 分类:学习笔记C#

FLV文件格式解析

最近要用到flv,整理了一些flv格式的资料,供参考。 flv文件主要由两部分组成:header和body。

1.header

header部分记录了flv的类型、版本等信息,是flv的开头,一般都差不多,占9bytes。具体格式如下:

阅读全文 2012年08月30日 分类:学习笔记图像处理

文件批量重命名小软件ReFileName

自己编写的一个小软件,使用正则批量替换文件名的小工具。要说编写这个小软件的原因嘛,就是从网上下了一部电视剧或动漫后发现文件名长的要命,放电脑上放还好,要是放手机或其他小屏幕的设备上的话,看个名字都要等他慢慢滚动过来。使用rename嘛,太麻烦,也不想记这么多命令,最后想到了正则。文件名就是字符串,用正则的话真是恰到好处。

阅读全文 2012年08月29日 分类:学习笔记C#个人作品

java解析sina视频

在上一篇java解析youku视频中我们通过解析youku的视频得到了真实的下载地址,这次来看看sina的视频,道理还是一样的,使用firebug来查看web连接,得到记录视频信息的文件。

阅读全文 2012年08月10日 分类:学习笔记网络Java

java解析youku视频

最近做了一个在线视频的下载器,需要解析youku的视频,获得真正的视频地址,现在把解析过程记录下来以供参考。
为了能看清楚youku视频的播放过程,可以使用火狐的插件firebug对网页进行跟踪,如下图。

阅读全文 2012年08月07日 分类:学习笔记网络Java