自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

邱孝兵的博客

邱孝兵的博客

  • 博客(57)
  • 资源 (8)
  • 收藏
  • 关注

原创 《Go in action》读书笔记

Go 语言学习笔记简介Go语言使用了更加智能的编译器,Go语言简化了解决依赖的算法,最终提供了更快的编译速度。goroutine 使用的内存比线程更少,Go语言运行时会自动在配置的一组逻辑处理器上调度执行。goroutine 之间使用 channel 通道传输数据,这种传输方式不需要任何锁或者同步机制,但是如果传输的是指向数据的指针时,且读和写在不同的goroutine内完成则仍...

2018-03-07 20:45:31 759

原创 Go 语言编码规范

本规范旨在为日常Go项目开发提供一个代码的规范指导,方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性。本规范将从命名规范,注释规范,代码风格和 Go 语言提供的常用的工具这几个方面做一个说明。该规范参考了 go 语言官方代码的风格制定。1 命名规范命名是代码规范中很重要的一部分,统一的命名规则有利于提高的代码的可读性,好的命名仅仅通过命名就可以获取到足够多的信息。 ...

2018-03-07 20:45:07 2480

原创 Mac下自动SSH远程服务器的脚本

今年跟了我3年的 X230 屏幕中间开了一条亮线,一怒之下直接换了一个 MBP ,用的都挺好,但是在链接远程服务器时进行运维和开发的时候不是很方便,之前用 win 的时候可以使用 Xshell 或者 SecurtCRT 保存了我常用的几台服务器的账户和密码,需要访问哪台直接点击就连接上了,但是 mac 没有这么好用的工具,肿么办呢,就想到写一个脚本来帮我读取远程主机的用户和密码,然后通过输入一个命...

2018-03-07 20:44:46 4138

原创 Go语言的一个变量覆盖的问题

原代码:var phone_conn net.TCPConn// 从TCP 连接池中获取一个TCPConn,然后向服务端发送数据for { phone_conn, err := phones[device_name].get_conn() if (net.TCPConn{}) == phone_conn || err != nil { log.Print...

2018-03-07 20:44:21 1225

原创 Go语言中的Read操作的说明

Go语言中Reader接口定义了一个Read操作,实现了Reader接口的都有Read这个函数,接口的定义如下:type Reader interface { Read(p []byte) (n int, err error)}在实际使用的时候可能会对一个参数和这两个返回值有疑惑,什么时候返回什么值什么的,特别是类似于网络IO这种下面利用官网的文档说明一下。官网文...

2018-03-07 20:43:55 6018

原创 五种网络IO模型

1 概述网络IO的本质就是socket流的读取,通常一次IO读操作会涉及到两个对象和两个阶段。两个对象分别是:用户进程(线程)Process(Thread)内核对象 Kernel两个阶段:等待流数据准备(wating for the data to be ready);从内核向进程复制数据(copying the data from the kernel to the...

2018-03-07 20:43:26 4616

原创 hadoop for 数据分析师

hadoop的核心有两个东西:HDFSMap Reduce运算模型HDFS什么是HDFS,有什么用?hadoop集群的文件系统,说白了就是存储数据的地方,hadoop是一个集群,很多台机器,我们要用它来跑数就先得把数据给它,最常见的就是数据文件的格式,例如txt或者csv之类的,然后它运算完之后的结果肯定也得写到文件里面去(大数据的运算查询不可能把结果全部放在显示器上...

2018-03-07 20:42:50 500

原创 大数据领域的一些常用工具

MongoDB-一种非常流行的、跨平台、面向document的数据库。Elasticsearch-专为云计算设计的分布式REST风格的搜索引擎。Cassandra-一个开源的分布式数据库管理系统。最初是Facebook设计和开发的,部署在大量商用服务器上来处理大量的数据。高可用,无单点故障。Redis-开源的(BSD)内存数据结构存储、内存库、缓存、消息代理。Hazelcast-基于Ja...

2018-03-07 20:42:30 862

原创 wamp的mysql配置

wamp是windows上一组非常方便的amp(apache,mysql,php)工具套装,我也经常使用,但是在正式使用之前mysql可能需要我们进行一下简单的配置,这里对配置的过程进行下面的记录。修改字符编码为UTF8在[client]下面添加:default-character-set=utf8在[mysqld]下面添加:character-set-server...

2018-03-07 20:42:03 1921

原创 语言的类型

转自知乎,作者:姚培森 原始链接 类型系统的一些概念,众说纷纭,使用上也比较乱。有些东西,甚至不好严格定义。以下算学术界的一种相对“严格”的说法。1 一些基础概念1.1 Program Error。strapped errors:导致程序终止执行,如除0,Java中数组越界访问untrapped errors: 出错后继续执行,但可能出现任意行为。如C里的缓冲区溢出、...

2018-03-07 20:40:53 374

原创 一致性哈希

1 背景现在的高并发网站,都离不开缓存系统,通常情况下,大部分的请求都会直接打到缓存系统,从而提高响应速度并减少后端DB或者二级缓存的压力。缓存系统通常都是以一个集群的形式存在的,内容被缓存在若干台缓存服务器上,例如我们有 \(n \)台缓存服务器,那么通常的做法是对被缓存的对象 \(O\) 进行哈希操作然后再对 \(n\) 求余,即 hash(O) Mod nhash(O...

2018-03-07 20:40:22 232

原创 缓存系统的频繁透传和雪崩问题

1 频繁透传1.1 背景目前分布式存储系统通常都会分为至少两个层次:缓存存储(通常包括MC,Redis等)落地存储(例如mysql集群)缓存系统的特点是访存速度快,但是也存在成本高,断电后数据丢失等问题,数据库系统一般访存的速度较慢,但是成本较低,且适合数据长时间的存储。根据80,20的规律,一个站点的80%的访问一般都集中在20%的数据上(在实际生成环境中这个比例可...

2018-03-07 20:39:48 499

原创 博客加载的前端优化

这个博客开通之后,一直在调整界面,更新内容,没有关注过访问速度,今天终于得空好好的把访问速度优化一下,查看了一下博客主页,在我家的网络环境下,目录页基本加载速度在5秒左右,文章详情页在7-8秒左右,这样的体验是在是太差了,然后使用了下浏览器抓包工具把加载时间查看了下时间消耗最大的是下面几个:一个谷歌的字体样式文件( http://fonts.googleapis.com/css?family...

2018-03-07 20:34:58 286

原创 Flask Login的一个小坑

这两天在做服务器迁移,要将一个Flask搭建的网站以及配套的后台接口程序移植到一台新的机器上,按照上一篇博客的内容配置好了服务器环境并且将代码git clone下来顺利运行起来了,但是一进入到登陆界面或者注册界面之后,就会报错,错误如下:Traceback (most recent call last): File "/usr/local/qqwebserver/python/bin/...

2018-03-07 20:34:25 1327

原创 CentOS 6.4环境下配置LNMP环境

1 环境、目标和约定1.1 环境 项目 值 项目 值 架构 X86-64 内存 4G 磁盘 200GB 发行版 Centos 6.41.2 安装需求 软件 版本 软件 版本 mysql mysql5.6.21 nginx 1.8.0 redis 3.05...

2018-03-07 20:33:56 337

原创 利用netstat和awk统计当前系统的tcp连接数

1 问题简介TCP连接数可以反映当前服务器的运行状态,统计出当前服务器各种类型的tcp连接可以用于服务运行监控和压力测试,netstat可以查看当前服务器的所有连接状况,利用netstat和awk工具可以进行tcp连接的统计。下面是普通netstat命令的结果:图1 netstat运行结果要充分理解这个结果还得从TCP的原理讲起2 TCP的介绍关于TCP部分的知识,仔细...

2018-03-07 20:33:17 2926

原创 利用Queue实现的Flask下的资源池

最近在开发flask网站程序的时候,遇到一个资源竟态分配的问题,尝试使用python中的Queue来解决1 业务场景在我们的业务中,我们提供了很多台设备可以供用户链接使用,用户通过接口来申请设备使用,在数据库中维护了设备的状态,可用、忙碌和不可用,分配的策略是从数据库中取出可用的设备列表,然后通过调用一个测试链接函数来确认是否实际可用,如果确实可用则把该设备标记为忙碌,然后把设备信息返...

2018-03-07 20:32:30 3689

原创 说说C语言中的内存使用

C是非常贴近底层的编程语言,为了学好C语言,我们必须要要对C中的内存使用有一定程度的了解。1 从一个实验看C的内存使用首先编写下面的代码:1.1 代码#include<stdio.h>#include<stdlib.h>static int static_global_var;int global_var;void fun1(){...

2018-03-07 20:28:57 413

原创 理解C的声明语法

1 声明语法C语言的声明语法确确实实让很多初学者(比如我)感到迷茫,我们先来看看下面给两个声明:int *f(); // f: 返回指向int指针的函数int (*pf)(); // pf: 指向返回int的函数的指针如果直接阅读上面的声明,我们会不会觉得是不是搞反了,如果说(*pf)()是指向函数的指针,那么为什么先使用括弧把星号(指针)扩起来呢?这个问题的答案得从C语...

2018-03-07 20:26:10 360

原创 并行前缀求和的算法

与求和紧密相关的操作是前缀求和,在许多并行程序设计语言中也称为扫描(scan)。与普通求和操作一样,设有 nnn 个值的序列:X_0X_0X\_0,X_1,X_2,...X_n−1X_1,X_2,...X_n−1X\_1,X\_2,...X\_{n-1}, 但希望计算的是如下的序列:Y_0,Y_1,Y_2,...Y_n−1Y_0,Y_1,Y_2,...Y_n−1Y\_0,Y\_1,Y\_...

2018-03-07 20:22:23 1150

原创 PHP学习系列(1)——字符串处理函数(1)

从09年开始使用JAVA,差不多5年多了

2014-10-09 15:12:13 579

原创 数据结构学习——堆

堆数据结构是一种数组对象,它可以被视为一颗完全二叉树

2014-08-17 15:13:54 855

转载 MapDB:专为Java设计的高性能的数据库

MapDB是一个快速、易用的嵌入式Java数据库引擎,它提供了基于磁盘或者堆外(off-heap允许Java直接操作内存空间, 类似于C的malloc和free)存储的并发的Maps、Sets、Queues。MapDB的前身是JDBM,已经有15年的历史。MapDB支持ACID事务、MVCC隔离,它的jar包只有200KB,且无其它依赖,非常轻量。MapDB目前的版本是1.0.5,相对来说功能

2014-07-23 18:07:37 974

原创 Restful Api的访问控制方法

最近在做的两个项目,都需要使用Restful Api,接口的安全性和访问控制便成为一个问题,看了一下别家的API访问控制办法。新浪的API访问控制使用的是AccessToken,有两种方式来使用该AccessToken:1、API请求 URL 的后面加上一个AccessToken2、Http头里面加一个字段AccessToken=xxx这种AccessToken是写死在程序里面的,

2014-04-29 15:59:01 6550 1

转载 算法-求二进制数中1的个数

问题描述任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题,相信很多人可能见过下面的算法,但我相信很少有人见到本文中所有的算法。如果您上头上有更好的算法,或者本文没有提到的算法,请不要吝惜您的代码,分享的时候,也

2013-11-22 20:27:40 728

转载 最大公约数(gcd):Euclid算法证明

1个常识:如果 a≥b 并且 b≤a,那么 a=b. 2个前提:1)只在非负整数范围内讨论两个数 m 和 n 的最大公约数,即 m, n ∈ N.2)0可以被任何数整除,但是0不能整除任何数,即 ∀x(x|0) and ∀x(0| x). 1个引理:假设 k|a, k|b,则对任意的 x,y  ∈ Z, k|(xa+yb)均成

2013-11-16 17:19:24 1221

原创 PHOTOSHOP 中画笔工具和铅笔工具的一个小小差别

今天在作图的时候偶然发现的一个以前并没有在意画笔和铅笔的小小区别,情况是这样的,我在做图像处理,需要一个单像素的闭合曲线灰度图来做实验,然后用画笔工具把直径调到1之后去作图,放大之后发现,跟预想的结果不同。可以看到在纯黑的背景下使用纯白色的画笔作图,还出现了很多灰色的色块,这就是画笔自带的一个功能,渐变的。然后我又重新使用铅笔工具来做了一遍,效果如下可以看到那些灰色的色块不

2013-10-10 20:48:49 4141

原创 mongodb的连接问题,绑定IP惹的祸

刚刚安装好了 mongodb 。对着 mongodb in action上的例子敲了下面的代码:public class TestDBConnect { @Test public void testdb() { MongoClient mongoClient = null; try { mongoClient = new MongoClient("xx.xx.xx.xx

2013-09-20 10:37:28 4266 1

原创 eclipse Content Assist 无法使用,不能自动补全的解决办法

今天用eclipse写JAVA代码,写着写着突然,eclipse 的自动补全功能失效了,没办法自动补全。折腾半天,终于解决了。在window-》Preferences-》Java-》Editor-》Content Assist -》Advanced 勾选上Java Proposals 即可重新使用。

2013-08-04 14:46:07 4979

原创 Java 中字符串的子串搜索

基友前两天参加了阿里的实习生面试,问了个问题,就是关于字符串的子串搜索的问题。想想实现方式无非就是两层循环,但是 java 中是有现成实现的,于是我就去查查源码,看看 java 语言怎么实现这个的,发现也就是差不多的意思。java.lang 包中 String 类 有几个 indexOf() 函数,我要寻找的是 indexOf(String str) 这个的具体实现,发现了public int i

2013-06-26 19:46:06 1556

原创 Erlang中的图形化检测工具(4)

这儿例举出若干个用于检视运行时系统的图形化工具,这些工具可以很好地帮助我们增进对系统的理解。借助这些工具,我们可以很好地以图形化方式观察进程、应用和监督层级。(1) Appmon。Appmon 是用来监视 OTP 应用的工具。它可以按照图形化方式展示系统中当前正在运行的应用及其监督结构;可以查看进程的当前状态;还可以针对这些进程执行一些基本的操作。启动 Appmon 的命令如下1>ap

2013-06-16 20:26:10 2021

原创 Erlang的边界检查(3)

当数据从不可信的外部世界进入可信的内部区域时应该对数据进行检查,这是Erlang程序设计的一个基本原则(同时也是很多其他语言的原则)。倘若经过验证,数据符合我们的预期,就没必要做重复检查了:写代码时只需要关注正确的情况即可,剩下的问题可以全权交由监督机制处理。这样做可以大大缩减代码的尺寸(想想我们在其他语言环境中,为了边界检查浪费的精力吧),编辑错误的数量也会因为可读性的提升而减少。至于其余的错误

2013-06-15 18:50:03 1125

原创 Erlang中的二进制位串(2)

了解完 Erlang 的基本特性之后,就进入了基本语法的学习,但这部分着实让我费了点力气,因为和之前接触过的编程语言(C,C++,JAVA,C#)太不一样了,有很多新的理念,这儿我记录一下 Erlang 中一个很有特色的语言元素——二进制位串。二进制串就是无符号8位字节序列,用于存放和处理数据块(通常是读自文件或通过某网络协议接收到的数据)。位串则是广义的二进制串,其长度不必是8的整数倍,如一

2013-06-13 18:42:36 3422

原创 初识Erlang(1)

一直在微博看到淘宝褚霸在聊有关 Erlang 话题,十分好奇这到底是什么样一门语言,让淘宝大神攻城湿这么痴迷,昨天晚上下定决心,要花点时间去了解一下。今天早晨去图书馆借了一本《Erlang/OTP》并发编程,同时打开了Erlang 的官网: www.erlang.org,开始了我的Erlang之旅。经过一天的了解,下面简单说一下我的收获,关于Erlang的特点的小小总结:抛弃多线程

2013-05-15 21:51:30 1068

原创 在php中使用函数代替require操作

在 php 中,为了减少重复代码,常常需要包含 heade 和 footer,我们最长使用的操作就是,require 或者 reqire_once等代码,但是我们可以用另一种方式来实现这种包含,写一个函数,比如 printHeader ,如下所示,看起来似乎一行代码变成两行更麻烦了,但是却可以实现一些额外的效果,比如我们希望每个页面有不同的 title,就可以给这个函数传参数(如下所示)。

2013-05-03 19:23:09 1229

原创 我的小快排(两种分割方法)

今天看到微博上有人转一篇文章,题目是《你问什么写不好快排》,看看自己多长时间能把快排写出来。结果,果然20分钟没写出来,本来以为明白原理,结果实现的出现各种问题,小 bug。最终花了半个点,写出来了,就是下面代码中 partition版本的。后来又翻了下算法导论,看到上面的快排,写了第二个分割子函数 partition2,这个原理更加清楚,用的是一个循环不变式的原理,将数组划分为了四个区域,具体说

2013-05-03 16:05:20 1084

原创 并行前缀求和的算法

本文参考Calvin Lin和Lawrence Snyder的,《Principles of Parallel Programming》(并行程序设计原则)。与求和紧密相关的操作是前缀求和,在许多并行程序设计语言中也称为扫描(scan)。与求和操作一样,首先仍有n个值的序列,但希望计算的是如下的序列,其中,每个 yi 是输入前 i 个元素的和,即有,以并

2013-04-25 14:44:46 5116 1

转载 单精度数

单精度存储格式符号位S(sign) - 1bit0代表正号,1代表负号。(+0、-0视为相同?(欢迎补充资料)) +0是0000 0000-0是1111 1111 用-128代替 它没有反码和补码。指数位E(exponent) - 8bitE的取值范围为0-255(无符号整数),双精度为11位,扩张型大于等于15位,实际数值e=E-127。有

2013-04-18 17:07:10 2629

原创 斐波那契数列

下午在完成java作业时,碰到了一个非常熟悉的题,求解斐波那契数列项,不过与以前不同的是要求求解的数据是第100项,我想想100也不太大嘛,就用普通的想法做了,也就是下面的code:int fib(int n){ if (1 == n || 2 == n) return 1; else return fib(n-1)+fib(n-2);}顺利的编译运

2013-04-15 11:15:16 858

原创 配置非安装版的mysql 5.5

官网上有windows安装版的,mysqld自动配置成启动服务,虽然很方便但是我觉得不是很清晰,对于学习mysql没有帮助,于是下载zip版的,自己按照文档配置,成功后将过程记录在这儿。   将下载的zip包解压到某一个文件夹下,我解压到了D:\Program Files\MySQL目录下。打开软件根目录,在这儿为D:\Program Files\MySQL\mysql-5.5.23-wi

2013-04-15 10:57:15 968

ssd5 exercise 6

ssd5 exercise 6 e6 答案 ssd5 exercise 6 e6 答案 ssd5 exercise 6 e6 答案 ssd5 exercise 6 e6 答案 ssd5 exercise 6 e6 答案

2010-01-09

ssd5 optional exercise 7

ssd5 optional exercise 7 答案ssd5 optional exercise 7 答案ssd5 optional exercise 7 答案ssd5 optional exercise 7 答案ssd5 optional exercise 7 答案ssd5 optional exercise 7 答案ssd5 optional exercise 7 答案ssd5 optional exercise 7 答案

2010-01-05

ssd5 exercise5 答案

SSD5 exercise 5 答案 源代码 SSD5 exercise 5 答案 源代码 SSD5 exercise 5 答案 源代码 SSD5 exercise 5 答案 源代码 本条免费,纯粹为了大家方便 希望大家多多支持我

2009-12-27

ssd5 exercise 4 答案

ssd5 exercise 4 答案 ssd5 exercise 4 答案 ssd5 exercise 4 答案 ssd5 exercise 4 答案 ssd5 exercise 4 答案 ssd5 exercise 4 答案

2009-12-13

ssd5 Optional Exercise 4

ssd5 Optional Exercise 4 答案 ssd5 Optional Exercise 4 答案 ssd5 Optional Exercise 4 答案 ssd5 Optional Exercise 4 答案 ssd5 Optional Exercise 4 答案 ssd5 Optional Exercise 4 答案

2009-12-09

汇编语言入门与提高相关教程

汇编PPT 汇编PPT 汇编PPT 汇编PPT 汇编PPT 汇编PPT 汇编PPT 汇编PPT 汇编PPT 汇编PPT 汇编PPT

2009-12-03

liferay 主题相关

这是我从各处搜集到的关于lifeary主题开发的相关资源。里面含有两个实例,模板,ppt讲解,还有帮助文档。资源很宝贵,上传上来与大家分享。

2009-08-14

面向对象程序设计c++基础ppt

这是清华大学的c++教学ppt,很适合初学者。ppt中原理讲解和代码演示结合 通俗易懂

2009-04-20

空空如也

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

TA关注的人

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