自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (4)
  • 收藏
  • 关注

转载 阿里云机器安装Tensorflow和Paddlepaddle

原文地址 http://kiorffen.com/2017/11/03/article10/阿里云机器安装tensorflow和paddlepaddle准备用自己1核1G的阿里云机器学习一下深度学习知识,工欲善其事,必先利其器,话不多说,下面开始安装。安装anaconda2anaconda2是什么请自行百度,其实我也只知道他是一个python发行版,包含了很多计算工具包。 买的是最低版本的配置,

2017-11-03 17:11:45 2153

转载 基于Python的CGIHTTPServer简单的交互实现

原文地址基于Python的CGIHTTPServer简单的交互实现介绍对于服务器后端开发者而言,有时候需要把自己的一些服务直接暴露给PM或者其他RD使用,这个时候需要搭建一套web服务可以和前端用户做简单交互,按照最常规的做法,一般是用Apache或者Nginx作为webserver后端使用cgi或者fcgi程序或者脚本进行处理,当然这种做法安全且正规。但是我个人更喜欢一个更简单的做法:就是利用py

2017-07-04 13:13:26 10160 3

转载 Python正则使用示例

使用python从一段文本中使用正则匹配自己需要的文本,如果使用search,只会进行一次匹配,group(0)里面的内容是全匹配,group(1)里面的内容是括号里面的子正则。如果需要全部匹配就使用findall,我这里的就是全匹配,返回的是一个列表,每一项内容就是括号里的字正则匹配内容。#!/usr/bin/env pythonimport reimport sysimport jsonc

2017-06-30 15:49:45 389

转载 Python模版引擎Jinja2

转载地址 导语最近在调研开发一个BS服务框架,需要能够根据protobuf文件以及配置文件能够自动生成相关的代码,代码注册之后可以直接编译得到一个直接支持一种数据流的BS服务模块。即实现一个可以根据数据格式定制化的BS服务框架。因为要自动生成的代码有很多,如果使用python直接把这些代码打印出来,那工作将完全无法开展,并且生成代码的格式不好控制。根据之前模板渲染的开发经验,完全可以像开发ht

2017-03-30 17:39:22 646

转载 C语言正则表达式使用及注意点

C语言正则表达式使用及注意点正则表达式作为程序员必备的高效率技能之一,程序开发中不可避免的就会用到,最近在开发中就需要使用C语言的正则表达式来解决一些问题。吐槽一句(gcc版本太低,用不了C++11的特性,也就用不了c++的regex)。API和参数介绍编译正则表达式int regcomp(regex_t* compiled, const char* pattern, int cflags)reg

2017-03-23 15:33:34 5674 1

原创 后端文件转码

文件转码工作中经常遇到的问题之一,就是一个转码问题,这主要的坑爹原因是公司的前端都使用utf8编码,后端一般则是使用gbk编码。对于代码中的编码转化一般是使用公司现成的api,这里就不具体介绍了。下面要说的是在做数据分析时,对文件编码进行转换的解决方法。个人主要使用如下两种方法。方法1:linux的iconv转码命令例如对于一个utf8编码的文件想要转化为gbk,通常的做法如下:iconv -f U

2017-03-20 18:58:39 592

原创 Redis内存碎片高

最近使用redis作为kv存一些业务数据,给redis设置了最大使用内存以及数据淘汰规则。maxmemory 60gmaxmemory-policy allkeys-lru设置完之后以为redis进程最多会占用60g的内存,所以就放心的使用。但是前几天收到redis进程退出报警,查看机器内存曲线,发现redis的使用已经达到100g左右的水平,再加上其他进程也占用了一些内存,整个机器的内存被用尽

2017-02-16 19:18:45 8874 1

原创 TCP/IP三次我手四次挥手过程与对应状态转移图

作为互联网通讯的基础,TCP/IP协议建立连接与断开连接的过程非常重要,但是平时写代码的时候很难去关注到这些知识,今天恰好想去整理一下相关知识,发现了下面两张图比较好的解释了三次握手和四次挥手的过程,以及客户端和服务端相应的状态切换过程。TCP/IP协议建立连接的三次握手客户端发送一个带SYN标志的TCP报文(报文1)到服务器端,表示希望建立一个TCP连接。服务器发送一个带ACK标志和SYN标志

2017-02-16 19:18:15 2385

原创 bgsave出错原因分析

redis bgsave出错权限问题 没有遇到过 dump.rdb所在的文件夹用户没有权限,导致dump.rdb文件停止更新,此时修改redis数据时会报错,原因是默认配置 stop-writes-on-bgsave-error yes当bgsave出错时数据将不能修改如下操作后可以更新数据: config set stop-writes-on-bgsave-error nodump.rdb文件

2017-02-16 19:17:18 5439

原创 python使用heapq实现小顶堆(TopK大)/大顶堆(BtmK小)

参考链接https://www.coder4.com/archives/3844求一个数列前K大数的问题经常会遇到,在程序中一般用小顶堆可以解决,下面的代码是使用python的heapq实现的小顶堆示例代码: # !/usr/bin/env python # -*- coding:gbk -*- import sys import heapq class TopKH

2017-02-16 19:16:10 24162 1

原创 Python传输解析PB消息Client段程序

参考链接http://blog.csdn.net/huithe/article/details/5223785程序中使用python直接通过protobuf协议访问服务器,当服务器返回的数据比较大的时候,client端在接收数据之前,需要sleep一段时间,否则接收到的数据会不完整,然后解析出错。pb文件内容如下:package bse.bsp.triggerserver;message Tri

2017-02-16 19:15:00 3310

原创 Python发送http请求解析返回json小demo

python发起http请求,并解析返回的json字符串的小demo,方便以后用到。 #! /usr/bin/env python # -*- coding:gbk -*- import os import sys import json import urllib import urllib2 if __name__ == "__main_

2017-02-16 19:13:43 9784

原创 Protobuf反射机制设置元素

Protobuf反射机制使用使用Protobuf的反射机制读取/写入元素的值 #include <cstdio> #include <google/protobuf/descriptor.h> #include "test_message.pb.h" using test_pb::TestRaw; using ::google::protobuf::Descripto

2017-02-16 19:12:44 770

原创 建站参考资料

主要步骤与源代码参考https://andrew-liu.gitbooks.io/django-blog/content/nginx+uwsgi+django程序部署流程http://www.jianshu.com/p/e6ff4a28ab5a

2017-02-16 19:11:25 292

原创 Redis Cluster集群配置

Redis Cluster集群配置今天在单机上部署了一下redis测试的集群,为了防止以后会用到,将大概过程记录下来,备忘。下载与编译下载源代码 wget –no-check-certificate https://github.com/antirez/redis/archive/3.0.0-rc3.tar.gz解压 tar zxvf 3.0.0-rc3.tar.gz编译 make编

2017-02-16 19:10:48 402

原创 三道题理解动态规划

动态规划是算法导论中介绍的最重要的几种基本算法之一,因为好长时间没有看书,再加上原来就理解的不深入,所以早就忘的差不多了,这两天正好因为一道面试题复习一下。用几句话描述动态规划问题如下:一个问题可以分解若干子问题,每一个子问题为一种状态,求出每一个状态的最优解,进而在它的帮助下求出下一个状态的最优解。解决动态规划问题,最重要的步骤就是找出状态转移方程。有了状态转移方程就可以根据初始状态(边界)求出每

2017-02-16 19:09:50 289

原创 LeetCode:String to Integer (atoi)

这一题我总结主要考虑的异常case如下:空字符串都是空白符空白符+正负号结束空白符+异常字符空白符+数字+异常字符还有转换过程中的数据溢出代码如下: #! /usr/bin/env python # -*- coding:gbk -*- class Solution(object): def myAtoi(self, str):

2017-02-16 19:08:46 184

原创 LeetCode:Reverse Integer

这一题感觉没什么难度,主要考虑的情况以下两点:翻转之后溢出需要返回0翻转之后为0开头的数据需要把0去掉代码如下: #! /usr/bin/env python # -*- coding: gbk -*- class Solution(object): def reverse(self, x): """ :typ

2017-02-16 19:08:10 194

原创 LeetCode:ZigZag Conversion

这一题没有什么难度,主要就是找规律,Zigzag的含义网上有例子讲的很明白。我参考的思路来自这篇文章。 http://blog.csdn.net/cshaxu/article/details/12507201。主要思路很简单:所有行每一个元素index的下一个元素在字符串中的索引为:index + 2(numRows - 1),即重复周期为2(numRows - 1)。除了第一行和最后一行之外

2017-02-16 19:07:37 242

原创 LeetCode:Longest Palindromic Substring

第五题是求字符串里的最大回文子串,回文串(Palindromic Substring)就是例如”aba”,“abba”这种,网上有很多使用解决方法,比如使用动归,kmp的变种等解法,时间复杂度从O(n^3)甚至到O(n)。我这里的结题思路是,对字符串里的每一个字符向两边展开,字符串长度增加的条件如下:如果s[end] == s[end+1],end++,长度加1如果s[begin-1] == s

2017-02-16 19:06:48 254

原创 LeetCode:Median of Two Sorted Arrays

第四题是找两个已经排序的数组的中位数,其实就是寻找两个排序数组的第k个数。寻找第k个数就需要把k均分到两个数组,可以用到结论如果a[k/2-1]小雨b[k/2-1],那么a[0]-a[k/2-1]必定存在于第k小的有序数列中。解题思路如下,还是非常经典的。保持前一个数组A最短, 后一个数组B较长平分k, 一半在数组A,一半在数组B,如果A的长度不够长,那么pa = min(k/2, len(A)

2017-02-16 19:05:58 178

原创 一致性hash以及python代码实现

背景:自己之前的项目里面使用了redis作为KV存储,不仅是因为性能,主要是需要用redis的hash数据结构。后来随着业务发展,读写压力越来越大,一开始的做法是读写分离,接着一主多从,发现还是不能很好的解决写redis的压力,又因为自己使用的redis版本比较低还不支持分布式的功能,所以自己想去部署一套分布式的redis存储系统,开始想到的做法是简单的做个hash,hashcode=hash(ke

2017-02-16 19:04:22 4260 5

原创 LeetCode:Longest Substring Without Repeating Characters

第三题寻找最大的不包含重复字符的字符串。借助了python的str查找函数,应该不是最优的解法。 #! /usr/bin/env python # -*- coding:utf8 -*- class Solution(object): def lengthOfLongestSubstring(self, s): """

2017-02-16 19:01:50 178

原创 LeetCode:Add Two Numbers

leetcode的第二题,把两个整数表示成两个链表,链表表示顺序和整数的顺序反过来,其实可以转换成两个整数相加,但是万一是大数呢。我的思路就是使用的是python的链表表示两个整数,然后把低位相加,再和剩余的高位拼接起来,中间只要注意一下进位的问题,应该不算难。可是偏偏leetcode已经预先定义好了链表的节点结构,不能直接使用python自己的链表计算。我因为是第一次做leetcode的题目,所以

2017-02-16 19:01:12 208

原创 LeetCode:Two Sum

这是第一题的python代码,思路是将输入映射成为一个map,数组元素的值为key,下标为value,然后直接去map中查找target减去每一个元素之后的值,在map中找到key对应的value以及刚才的那个索引就是返回结果。这种解法的时间复杂度只有O(N)。突然发现python因为有很多现成的高级数据结构,写起算法来真方便。 #! /usr/bin/env python """

2017-02-16 18:59:40 194

原创 寻找一个数组中的最大和最小数

工作一段快两年了,感觉之前学的数据结构和算法基本忘得差不多了,最近一段时间准备复习一下相关知识。有一个求数组中最大和最小数的题目,基本的思路是遍历一遍数组,然后每个一个元素都和最大值和最小值比较,时间复杂度是2(N-1)或2N。比较简单的一种减少复杂度的方法是把数组的元素两两分组比较,然后较大的数和max比较,较小的数和min比较,这种实现方法的时间复杂度是1.5N。还有一种是采用分治法,比较次数也

2017-02-16 18:57:56 3933 2

原创 python正则表达式使用实例-替换字符串HTML标签

最近因为需要把字符串中的html标签替换掉,想到的是使用正则来做,因为原来模块是用C++码的,所以就用的glibc的regex来做的。后来查资料发现用python来做这件事,简单方便,而且一次性可以完成所有替换,不想用C还需要自己写程序移动指针完成替换。不多说了上代码,很简单。 #! /usr/bin/env python # -*- coding:gbk -*- """ No

2017-02-16 18:55:49 2225

原创 坑爹的AWS免费服务

今天突然收到一个十几美刀的账单,心里感觉莫名其妙。仔细一看原来是亚马逊的aws收费,我本来以为AWS的服务器是免费的,所以就申请了两个实例。其实aws的免费是每月750小时,如果我同时申请了两个实例,每个实例运行750小时,那我就要出0.02$ * 750的服务费。幸好另外一台实例没有部署什么服务,所以赶紧停掉,方法就是进入实例详情页面,右击选择终止实例。

2017-02-16 18:51:27 14232

原创 Linux一条命令改变图片大小

Linux下面有一条命令可以改变图片大小,使用非常方便。Example:convert -resize 100x100 test.jpg test-new.jpg更多使用方式参考:man convert.

2017-02-16 18:00:48 2160

stc-isp代码下载

在做单片机设计时,需要进行代码下载的非常有用!

2011-05-06

QUARTUS+verilog 的CPU设计 本人做的

本人自己设计的CPU,进过仿真的,还有波形图。

2011-05-06

Codevision AVR V1.25.7a(含注册机

对于从事AVR单片机来发的人来说,是一种非常好用的软件,性价比很高。

2009-09-19

AVR与C编程的嵌入式讲解

AVR单片机与C的精讲,如果想学习好AVR与C,建议看看,很好用。

2009-06-17

空空如也

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

TA关注的人

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