自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

转载 为什么我不想成为Web前端程序员

职位名称并不代表技能集作为一个前端开发人员,你是不是认为自己不需要懂很多技能?然而事实可能并非如此。我在一个热门的工作论坛就前端开发工作做了一个快速搜索,发现有一个主题经常反复出现,那就是成为中级/高级前端开发者需要什么技能:(X)HTML(5)、CSS、SASS / SCSS,LESS。Backbone、Angular、Knockout。响应式网页设计(例如Bootstrap知识、Foundati

2016-05-18 18:43:34 1882

原创 golang 批量ping工具

1.支持同时ping多个地址,并且每个地址配置不一致2.支持ipv4和ipv6同时pingpackage mainimport ( "fmt" "github.com/neo-hu/gfping" "log")func main() { ping := gfping.NewGFPing() defer ping.Close() var ...

2019-02-25 17:42:43 1602

原创 docker 编译问题

github.com/docker/docker/daemon/graphdriver/btrfs../../daemon/graphdriver/btrfs/btrfs.go:8:25: fatal error: btrfs/ioctl.h: No such file or directory #include <btrfs/ioctl.h> yum install bt...

2018-11-16 10:21:19 2221

原创 docker pull 流程

以阿里云的docker源为例docker pull registry.aliyuncs.com/acs-sample/ubuntu1 ping 获取认证urlcurl -v "https://registry.aliyuncs.com/v2/"< HTTP/2 401 < content-type: application/json; charset=utf-...

2018-08-24 10:55:10 4491

原创 golang cond唤醒锁

package mainimport ( "time" "fmt" "sync")func main() { mutex := sync.Mutex{}; // 创建唤醒锁 cond := sync.NewCond(&mutex); for i := 0; i < 10; i++ { go fun...

2018-05-14 11:33:00 894

原创 golang频率限制 rate

golang.org/x/time/rate 提对速度进行限制的算法l := rate.NewLimiter(1, 3) // 一个参数为每秒发生多少次事件,第二个参数是最大可运行多少个事件(burst)Limter提供三中主要的函数 Allow, Reserve, Wait. 大部分时候使用WaitWait/WaitN 当没有可用事件时,将阻塞等待c, _ := context...

2018-04-16 16:24:29 5779 1

原创 go lldp

公司需要做全网拓扑图,交换机默认就开启的lldp 服务器有一个lldpd的软件也可以实现,下面是go版简单的lldppackage mainimport ( "net" "github.com/mdlayher/raw" "github.com/mdlayher/lldp" "log" "fmt" "time" "bytes" "gi

2018-04-13 15:52:33 906

原创 go常用模块

github.com/boltdb/bolt一个key/value数据库

2018-04-12 15:36:31 930

原创 c++ 采集nvidia GPU使用率

使用libnvidia-ml.so动态库采集#include <stdio.h>

2017-09-29 13:19:10 5780 2

原创 centos 5 yum 源

[base]name=CentOS-$releasever - Base#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/baseurl=htt

2017-08-17 14:13:17 491

原创 docker disk quota

docker 磁盘容量限制

2016-07-13 20:55:55 2231

原创 docker 固定IP

环境Ubuntu 14.04.4 LTS安装 brctl 网桥apt-get install bridge-utils以–net=’none’的方式启动一个containerdocker run -i -t --name=net --hostname=net --net='none' ubuntu:ssh /bin/bashroot@net:/# ifconfig lo Link

2016-07-12 23:15:09 669

转载 程序员的批评与自我批评(转)

关于自我批评,我这个人的不足之处就太多了,长的高大占地面积也大,在人多屋小办公室里形成了一道视线屏障。这些优点暂且不提。   对于我的缺点主要就是太爱加班了,造成了公司以及整个社会的困扰,主要分为以下几个方面:   1、对于公司其他人员的困扰,由于我的加班导致楼下保安大哥不能及时关闭楼门,在我下班后,还要再次寻楼,这不仅是人力资源上的再次浪费,在寒冷的冬天,保安大哥还要因为我的加班,站在吹着

2016-05-18 18:56:05 5459 1

原创 python连接HBase

环境 hadoop 2.7.0 hbase 1.2.1 Thrift 0.9.0启动hbase的Thrift RPC生成python的Thrift模块cd hbase-1.2.1/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thriftthrift --gen py Hbase.t

2016-05-18 00:30:45 9903 2

原创 黑客帝国cmatrix

sudo apt-get install cmatrix效果如下

2016-05-10 22:03:14 1044

原创 python classmethod,staticmethod实现

classmethodclass my_classmethod(object): def __get__(self, obj, type=None): def wrapper(*args, **kwargs): return self.function(type, *args, **kwargs) return wrapper

2016-05-10 21:58:36 1684

原创 Python单例模式

注解方式class singleton(object): def __init__(self, cls): self.cls = cls def __call__(self, *args, **kwargs): current = getattr(self, "_instance", None) if not current:

2016-05-10 21:43:12 417

原创 Etag 笔记

用于标识出资源的状态。当资源发生变更时,如果其头信息中一个或者多个发生变化,或者消息实体发生变化,那么ETag也随之发生变化。 ETag常与If-None-Match或者If-Match一起,由客户端通过HTTP头信息(包括ETag值)发送给服务端处理。ETag使用如下:request headers......If-None-Match: "3c64e7a072b3b57e100c96134e

2016-05-10 18:26:20 1058

原创 Thrift对多接口服务的支持

test.thrift文件struct Message { 1: string msg}service MessageService { Message getMessage(1:Message msg)}struct User { 1: string name}service UserService { User getUser(1:User user)}t

2016-05-08 17:49:45 4835

原创 thrift TBinaryProtocol 数据传输格式

Thrift version 0.9.0服务端接收和发送数据接收数据格式方法数据格式sz, = unpack('!i', socket.recv(4))if sz < 0: version = sz & -65536 #版本掩码 if version != -2147418112: raise type = sz & 0x000000ff #字符串先读

2016-05-07 23:31:38 3921

原创 docker 打包python 应用

编写一个Dockerfilesudo vim DockerfileFROM ubuntu:latest#ADD sources.list /etc/apt/RUN mkdir -p /var/www/projectADD src /var/www/projectRUN apt-get update && apt-get install -y python-dev python-pip op

2016-05-06 00:34:15 3542

原创 mongodb 常用操作

测试数据> db.job.find(){ "_id" : ObjectId("57274ee71d41c83d34573438"), "co" : "北京车到网络科技有限公司", "ad" : "北京", "title" : "高级JAVA工程师", "t" : "java", "type" : 51 }{ "_id" : ObjectId("57274ee71d41c83d34573439")

2016-05-03 20:15:50 531

原创 saltstack Pillar

Pillar数据是与特定minion关联的,也就是说每一个minion都只能看到自己的数据,所以Pillar可以用来传递敏感数据定义Pillar数据master配置文件中定义Pillar使用与State相似的SLS文件。Pillar文件放在master配置文件中pillar_roots定义的目录下vim /etc/salt/master......pillar_roots: base:

2016-05-03 10:37:03 826

原创 saltstack 扩展module

在master上创建/srv/salt/_modules/目录 添加扩展文件vim /srv/salt/_modules/hello.py# -*- coding: utf-8 -*-def create(msg): return 'Command: "{0}" completed successfully!'.format(msg)同步模块salt '*' saltutil.sync_m

2016-05-02 12:53:20 771

原创 error

Module_six_moves_urllib_parse’ object has no attribute ‘SplitResult’$ sudo apt-get install python-novaclient$ sudo apt-get install python-glanceclient

2016-05-02 09:13:53 365

原创 nagios 笔记

nagios安装apt-get install nagios3#Nagios web administration password #123123 默认安装apache2 监听80端口 访问 http://10.10.100.54/nagios3/ 默认管理员是nagiosadmin 密码自己设置的 密码文件/etc/nagios3/htpasswd.users修改管理

2016-04-30 11:11:16 592

原创 Ubuntu下安装PyV8

sudo apt-get install libboost-all-devsudo apt-get install aptitudepip install -v pyv8或:sudo apt-get install scons libboost-python-devsvn checkout http://v8.googlecode.com/svn/trunk/ v8svn checkout ht

2016-04-28 22:58:02 1898

原创 nginx配置性能优化笔记

nginx.conf文件配置worker_processes auto; worker_rlimit_nofile 100000 worker_processes 定义了nginx对外提供web服务时的worker进程数。最优值取决于许多因素,包括(但不限于)CPU核的数量、存储数据的硬盘数量及负载模式。不能确定的时候,将其设置为可用的CPU内核数将是一个好的开始(设置为“auto”将尝试自动

2016-04-28 00:14:15 1047

原创 Redis常用命令

#设置值127.0.0.1:6379> set a1 1OK#键对应的值127.0.0.1:6379> get a1"1"#删除键对应的值127.0.0.1:6379> DEL a1(integer) 1127.0.0.1:6379> get a1(nil)#哈希127.0.0.1:6379> HMSET a2 test1 test2 test3 test4OK127.0

2016-04-25 19:20:05 328

原创 Haproxy Tornado笔记

haproxy: 负载均衡,动静态分离 keepalived: haproxy主备 varnish: 静态文件缓存 supervisor: 管理Tornado进程环境 eth0:192.168.31.197eth1:10.10.100.100 haproxy主机 eth0:192.168.31.159 eth1:10.10.100.101 haproxy备机

2016-04-25 00:16:14 1295

原创 haproxy 笔记

安装sudo apt-get install haproxy#版本建议 > 1.4.24hu@ubuntu:~$ haproxy -vvHA-Proxy version 1.4.24 2013/06/17Copyright 2000-2013 Willy Tarreau <[email protected]>Build options : TARGET = linux2628 CPU = ge

2016-04-20 00:36:22 525

原创 rabbitmq 爬虫

基于rabbitmq 简单的分布式爬虫程序架构Download进程负责下载页面ParseBase监听Download下载完成的消息,解析页面(URL,EMAIL,……)使用supervisor 管理进程 使用fabfile部署代码简单版代码https://github.com/neo-hu/rabbitmq-crawler完整版下载:频率修改,代理(翻墙)设置 页面解析:关键字,分词统计等

2016-04-13 03:21:33 1238

原创 supervisor 笔记

supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。安装supervisorapt-get install supervisor配置生成配置文件echo_supervisord_conf > /etc/supervisord.conf添加自己的项目用一个my_tornado项目 测试vim /var/w

2016-04-13 01:10:00 958

原创 使用Fabric部署网站应用

以前一直用git同步代码到服务器,这种方法一台机器还行,如果多台机器就不急麻烦了,后来用pssh处理多台,也不方便 后来发现了Fabric,发现这个东西部署起来简直太爽了创建一下脚本fabfile.py#!/usr/bin/env python# encoding: utf-8import osfrom fabric.api import settings, cd, run, env#需要部署

2016-04-11 02:33:46 940

原创 sqlalchemy 笔记

初始化数据库连接DB_CONNECT_STRING = 'mysql+mysqldb://root:123123@localhost/sqlalchemy?charset=utf8'engine = create_engine(DB_CONNECT_STRING, echo=True)数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名创建DBSessionDB_Session

2016-03-27 23:18:21 724

原创 protobuf RPC实现

Server 结构结构参照hadoop RPC结构,自己造轮子 传输的数据结构1,abstract class Server 接收并且响应客户端请求,把请求数据封装成Call 交给之类实现 2,客户端首次连接必须发送头”HEADER”+version+ServiceClass(Server 实现的之类)+auth *|——–4byte——-|———-3byte—————–| *|————

2016-03-27 19:39:25 3212

原创 nginx+wsgi+flask配置

wsgi配置文件vim uwsgi.ini[uwsgi]socket = /tmp/t1.sockpidfile = /tmp/t1.pidplugins = pythonpythonpath = /var/www#项目python环境virtualenv = /var/www/env#项目的跟路径pythonpath = /var/www/my_flaskchdir = /var/

2016-03-21 10:16:09 682

原创 amoeba 使用笔记

环境延用mysql 主主+主从笔记的环境java version “1.8.0_73”安装wget http://nchc.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.2.x/amoeba-mysql-binary-2.2.0.tar.gzmkdir /opt/amoeba/tar -zxvf amoeba-mysql-bin

2016-03-18 17:44:17 736

原创 mysql 主主+主从笔记

环境Ubuntu 14.04.4 LTS *3 分别是master1(192.168.42.28), master2(192.168.42.29), slave1(192.168.42.33)测试下只有master1有从配置vim /etc/mysql/my.cnf #必要的配置[mysqld]...bind-address = 0.0.0.0#3台主机的id分别是

2016-03-18 16:46:07 708

原创 docker 使用笔记

环境Ubuntu 14.04.2 LTS 安装apt-get install docker.io 下载imagedocker pull ubuntu#查看imagedocker images -a运行#container启动时执行shell,执行完后container会退出(docker ps -l可查看)docker run -i -t ubuntu ls安装SSHdocker run --

2016-03-18 11:32:27 543

小米路由python

小米路由python

2017-01-15

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

TA关注的人

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