- 博客(86)
- 资源 (4)
- 收藏
- 关注
原创 GO语言高并发学习心得体会
信号sigRecv1:=make(chan os.Signal,1)sigs1:=[]os.Signal{syscall.SIGINT,syscall.SIGQUIT}signal.Notify(sigRecv1,sigs1...)sigRecv2:=make(chan os.Signal,1)sigs2:=[]os.Signal{syscall.SIGINT,syscall.SIGQUIT
2016-07-26 18:53:30 5748
原创 GO语言Comma-ok断言
Comma-ok断言的语法是:value, ok := element.(T)。element必须是接口类型的变量,T是普通类型。如果断言失败,ok为false,否则ok为true并且value为变量的值。来看个例子:package mainimport ( "fmt")type Html []interface{}func main() { html := make(Html,
2016-07-26 18:52:32 4409
原创 Docker笔记
docker 镜像启动docker instance: sudo docker run -t -i training/sinatra /bin/bash :)导出镜像docker save -o ubuntu.tar ubuntu:14.04载入镜像docker load –input ubuntu.tar移除本地镜像docker rmi training/sinatra 注意 docker rm
2016-07-26 18:51:39 1484 2
原创 九、Go语言库之strconv包--GO语言笔记
package mainimport "fmt"import "strconv"func main() { /* 由于将字符串转为其他数据类型可能会出错,strconv 包定义了两个 error 类型的变量:ErrRange 和 ErrSyntax。 其中,ErrRange 表示值超过了类型能表示的最大范围,比如将 "128" 转为 int8
2016-04-29 17:15:29 3186
原创 八、Go语言包之strings--go语言学习笔记
package mainimport ( "fmt" "unicode" "strings")func main() { //是否存在某个字符串 str := "a has a b" subStr := "a" subAny := "ab" fmt.Println("contains:%t", strings.Contains(st
2016-04-29 16:58:40 5924
翻译 git 常用手册
http://gitref.justjavac.com/remotes/#fetch git 常用手册索引创建本地修改搜索提交历史分支与标签更新与发布合并与重置撤销Git Flow创建复制一个已创建的仓库:$ git clone ssh://user@domain.com/repo.git创建一个新的本地仓库:$ git init—###本地修改显示工作路径下已修改的文
2016-04-29 16:49:32 968
原创 七、GO语言库学习--net/url包--go语言笔记
QueryEscape(s string) stringescape 转义string 到url queryQueryUnescape(s string) (string,err)转化 %AB 为 byte 0xAB 以及 ‘+’ 到 ’ ’ (space)type Errortype Error struct { Op string URL string
2016-04-29 16:40:08 12272
原创 一、go语言基础流程控制,语法,反射特性--go语言笔记
for循环sum := 1for ; sum < 1000; { sum += sum}for sum<1000{ sum ++}在第5行中,我们把很多值聚合在了一个case里面,同时,Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码。
2016-04-13 16:17:15 2212 1
原创 redis 学习笔记
configCONFIG GET * 编辑配置: CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUERedis 数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。stringstring是redis最基本的类型,你可以理解成与Memcached一模
2016-04-07 11:25:39 721
原创 六、go语言一些常用方法--go语言笔记
遍历以及mapfor i,value range slice{}//方式一ages:=make(map[string]int)//方式二ages:=map[string]int{ “alice”:31, “charlies”:34,}//delete 一个元素delete(ages,"alice")ages["bob"] = ages["bob"] + 1 //如果
2016-04-05 13:41:24 1845
原创 五、go语言特性--go语言笔记
deferdefer:调用一个被 defer 的函数时在函数刚要返回之前延迟执行,当函数无论怎样返回,某资源必须释放时,可用这种与众不同、但有效的处理方式。传统的例子包括解锁互斥或关闭文件。这样延迟一个函数有双重优势:一是你永远不会忘记关闭文件,此错误在你事后编辑函数添加一个返回路径时常常发生。二是关闭和打开靠在一起,比放在函数尾要清晰很多。package mainimport "log"func
2016-04-05 13:37:21 648
原创 四、golang类型讲解--go语言学习笔记
擅自使用了七牛大牛们的PPT资料,希望不要怪罪,这里谢谢大牛们的分享。映射 map一个”键-值”对关键点:注意并发读写情况,上锁不能对未初始化的 map 进行写,会抛异常(panic)对于迭代操作,每次结果可能不一致(乱序)var m map[string]intm["k1"] = 7 // 错误: assignment to entry in nil mapm := make(map[
2016-04-05 13:34:56 1110
原创 三、go语言操作 mongodb mgo --go语言学习笔记
mgo使用指南mgo简介 mgo(音mango)是MongoDB的Go语言驱动,它用基于Go语法的简单API实现了丰富的特性,并经过良好测试。官方网站:http://labix.org/mgo。golang.tc(golangtc.com)网站的数据存储就是是用的MongoDB+mgo。近一年使用下来表现良好。API文档 下面是mgo、mgo/bson、mgo/txn的在线文档。mgo GoDo
2016-04-05 13:31:46 16891 10
原创 sublime3 build3103版本 注册码 能用最新
升级后的sublime3,之前的key无效了,找到几个能用的.当然支持正版—– BEGIN LICENSE —–Michael BarnesSingle User LicenseEA7E-8213858A353C41 872A0D5C DF9B2950 AFF6F667C458EA6D 8EA3C286 98D1D650 131A97ABAA919AEC EF20E14
2016-03-17 18:13:22 1395
原创 二、slice和数组的区别,map的注意事项 -go语言笔记
这次要说说array,slice,map。虽然前面已经说过了,但是实际使用中发现对这几个的使用和理解还是不够详细现在再重新看看这几个类型array类型array是固定长度的数组,这个和C语言中的数组是一样的,使用前必须确定数组长度。但是和C中的数组相比,又是有一些不同的: 1 Go中的数组是值类型,换句话说,如果你将一个数组赋值给另外一个数组,那么,实际上就是将整个数组拷贝一份
2016-03-17 14:07:11 5121
原创 Django教程笔记:六、中间件middleware
中间件介绍中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。 每个中间件都会负责一个功能,例如,AuthenticationMiddleware,与sessions处理相关。激活中间件需要在settings.py配置文件中,配置MIDDLEWARE_CLAS
2015-12-10 15:14:39 11376 1
原创 Django教程笔记:五、post get ajax异步操作
我们可以用form方式提交表单,不过我一般喜欢用jquery的方式来操作。主要有两种方式。get方式get方式不需要预设并且传递csrf标签。 js代码部分:$("#buy-button").click(function(){ var productId=$(this).attr("product_id"); var url =$(this).att
2015-12-09 10:50:48 10279 15
原创 Django笔记教程:四、会话、注册、以及用户
这个部分,主要是看得django cookbook以及官方文档。cookie,session、注册 一直以来都是web开发的重要的组成部分。项目中有用到一些,所以还是记录下来,方便以后查阅。 HTTP被设计为”无状态”,每次请求都处于相同的空间中。 在一次请求和下一次请求之间没有任何状态保持,我们无法根据请求的任何方面(IP地址,用户代理等)来识别来自同一人的连续请求。首先,我们会从较低的层次
2015-12-08 12:19:44 4983
原创 Django Ckeditor Ueditor 内容 展示 显示 HTML 显示不正常问题
django中使用Uedtor,输入都没有问题,但是HTML内容想显示出来(一直把HTML源码显示出来),网上搜了一天,最后发现是django模版的问题。特此记录希望能够帮助到有需要的人。Ueditor 是一款非常优秀的嵌入到网页中的编辑器,使用简单,功能强大,但是在django中使用的时候却出现了问题。输入的时候还好,输出的时候会直接显示html源码而不是拥有格式的文本。显示如下
2015-12-08 09:53:47 5235 1
原创 Django笔记教程:三、Model进阶
Model 进阶学习简介Django经常被用于一些创业团队,乃是因为其非常适合敏捷开发,开发效率非常之高。Model 作为Django重要组成部分也是亮点之一,着实需要我们花时间好好梳理一遍。 ORM还是需要好好学习的,确实可以大大的提升代码的简洁性。Django的model模块,遵循了DRY(don’t repeat yourself)原则,也会使得代码更加容易维护,只需修改一次,肯定
2015-11-24 16:54:21 10504
原创 Django笔记教程:二、模版
Django笔记教程:2、模版一、变量1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量。2.使用dot(.)能够访问变量的属性3.当模板引擎碰到dot的时候,查找的顺序是什么样子呢? a.字典查找,例如:foo["var1"] b.属性查找,例如:foo.bar c.方法查找,例如:foo.bar() d.list-
2015-11-21 01:22:49 932
原创 Django笔记教程:一、安装命令以及常用命令
一、Django 安装linux下需要加sudo,Windows平台下装好easy_install即可.sudo easy_install pipsudo pip install virtualenv到我们测试的web目录,我这里是~/Projects/pythonsudo virtualenv webcd websource ./bin/
2015-11-21 00:24:01 1139 2
原创 hadoop学习之hive
1.文件读取的三种方法方法一:代码如下:f = open("foo.txt") # 返回一个文件对象 line = f.readline() # 调用文件的 readline()方法 while line: print line, # 后面跟 ',' 将忽略换行符
2015-11-21 00:15:41 613
原创 十八、python 对文件读写
**读文件** 文件的读写按道理是应该在前面有所提及的,居然忘了,主要是比较简单,所以一直不想写,现今补上这一部分的内容。方法一:代码如下:f = open("foo.txt") # 返回一个文件对象 line = f.readline() # 调用文件的 readline()方法 while line: print line,
2015-09-10 20:24:05 846
原创 Linux手动安装TMUX 编译 以及遇到的问题
在用Linux终端执行命令操作时,经常会Ctrl+Alt+t开多个标签进行不同的操作。如果在执行一个操作的同时又需要关注另一个操作的执行结果。让操作执行完弹出一个对话框?发出声音提示操作完成?这些方法都用过,麻烦的是需要在不同的标签之间跳来跳去,而且标签一多就容易忘记哪个标签是做什么的。通过Google,找到了一款工具:tmux,安装后试用效果如下(分了三个窗口):
2015-08-27 14:57:25 8314
翻译 十七、Python SQLAlchemy
SQLAlchemy指南(tutorial)原文链接1 安装1.1 安装SQLAlchemy1.2 安装一个数据库API2 快速开始2.1 导入2.2 连接到数据库3 SQLAlchemy是两个库的包装4 操作数据库对象4.1 定义元信息,绑定到引擎4.2 创建表格4.3 插入记录4.4 查询4.5 操作记录4.6 表间关系5 使
2015-06-01 16:56:20 2465
原创 python 全排列 1~n
全排列是将1-n的一个排列看成一个数,然后按照字典的顺序从小到达的输出,如1~5则是下面的一串:1 2 3 4 5 1 2 3 5 4 1 2 4 3 5 1 2 4 5 3 1 2 5 3 4 4 5 2 1 3 4 5 2 3 1 4 5 3 1 2 4 5 3 2 1 5 1 2 3 4 5 1 2 4 3 5 1 3 2 4 5 1
2015-05-13 11:13:16 3158
原创 十六、Python 上下文管理 Context Manager
要使用 with 语句,首先要明白上下文管理器这一概念。有了上下文管理器,with 语句才能工作。下面是一组与上下文管理器和with 语句有关的概念。上下文管理协议(Context Management Protocol):包含方法 __enter__() 和 __exit__(),支持该协议的对象要实现这两个方法。上下文管理器(Context Manager):支持上下文管理协议
2015-05-05 15:22:07 6475
原创 十五、python class 类学习笔记
In [2]:# problem 1class Foo: x = 1f1 = Foo()f2 = Foo()print Foo.x, f1.x, f2.xf2.x = 2print Foo.x, f1.x, f2.xFoo.x = 3print Foo.x, f1.x, f2.x1 1 11 1 23
2015-05-05 11:25:15 2625
原创 十四、Python的自定义排序 以及两种排序方式
data_list = []data_list.append({'softname':'1','version':'1.2.2.2'})data_list.append({'softname':'7','version':'1.2.2.2'})data_list.append({'softname':'5','version':'1.2.2.2'})data_list.append({'s
2015-04-29 15:55:27 28927 2
原创 十三、Python Excel操作
最近公司要把Excel导入到mysql数据库,查了几篇博客,这几项是非常有用的,记录下来。一、安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。二、使用介绍 1、导入模块
2015-02-03 11:59:38 3491 4
原创 十二、Python的yield用法与原理
翻了一篇workflow上关于yield的用法,翻的有点烂,在这里贻笑大方了,慢慢来,总是期待着一点一点的进步。为了理解yield的机制,我们需要理解什么是生成器。在此之前先介绍迭代器iterables。Iterables当你创建一个list,你可以一个一个的获取,这种列表就称为迭代:>>> mylist = [1, 2, 3]>>> for i in m
2015-02-02 16:21:47 63731 7
翻译 十一、PYTHON 面向对象编程
如果你没有任何以往的经验与面向对象(OO)编程,你可能想咨询或至少某种教程的入门课程,所以,你必须掌握的基本概念.然而,这里是小推出的面向对象编程(OOP)给你带来更好的学习速度:面向对象术语类: 用户定义的一个对象,它定义了一套类的任何对象的属性特点的原型。属性数据成员(类变量和实例变量)和方法,通过点符号访问.类变量: 一个类的所有实例共享变量。类变量被定义在一
2015-01-27 14:01:45 1442
原创 十、PYTHON 学习之装饰器加深理解
在第六章已经有所介绍,这里看到一篇比较好的文章转过来。基本概念装饰器是23z种设计模式之一,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理, Web权限校验, Cache等。很有名的例子来理解,咖啡,加糖的咖啡,加牛奶的咖啡。 本质上,还是咖啡,只是在原有的东西上,做了“装饰”,使之附加一些功能或特性。例如记录日志,需要对某些函数进行记录笨的办法,每个函数
2015-01-14 13:30:22 1549
原创 九、Python 一些类、实例、内建函数笔记
dir(Myclass) 用来展示一些类的内部属性还有方法,今天IBM面试问到了,居然忘记了,your sister.print Myclass.__dict__也可以del c1清除一个引用跟踪实例class InstCt(object): count =0 def __init__(self): InstCt.count +=1
2015-01-08 14:56:05 2107
原创 Flask简易入门教程二、templates模版速速入门
Flask教程(二)、templates模版速速入门童鞋们,如果你做了上面一章的内容。侬现在的文件结构应该是下面着个样子的you see: flaskstudy\ app\ static\ templates\ __init__.py views.py tmp\ run.py上
2015-01-06 09:36:24 10785
原创 Flask简易入门教程 一、小表砸helloworld,跑起来哟
用了很多框架和语言,最后发现还是Python和Flask比较灵活。做了这么多年的web开发,终于找到了真爱。废话不多说,写这个为了记录下来自己的一些心得体会,先是按照mega大神的教程来翻的。后面会加一些自己的体会。Flask的安装推荐先使用virtualenv,用于搭建一个和谐的互不干扰的环境。这里没有用哦,懒!!!ubuntu下安装如下:$sudo apt-ge
2015-01-05 16:22:45 36584 1
原创 跟着大神练VIM--------二级
VIM就是传说中的重剑无锋,大巧不工。用的好秒杀一大帮ide,用不好,赶紧去学。首先来张图,作为桌面背景(基本不怎么看,忧桑:()会了一些基本命令之后,只能让你存活下来,现在是时候学习一些更多的命令了,某牛牛的建议:各种插入模式a → 在光标后插入o → 在当前行后插入一个新行----这个特别有用O → 在当前行前插入一个新行cw → 替换从
2015-01-05 13:42:12 2223
原创 八、PYTHON数据库MYSQL的操作
PYTHON 操作数据库有一些基本的操作,比较繁琐,本文,用了一个封装的数据库操作#!/usr/bin/env python## Copyright 2009 Facebook## Licensed under the Apache License, Version 2.0 (the "License"); you may# not use this file except in c
2014-12-26 11:12:09 3620 1
原创 七、PYTHON 一些基础面试题目总结
1. Python是如何进行内存管理的?答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制一、对象的引用计数机制python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。引用计数增加的情况:1,一个对象分配一个新名称2,将其放入一个容器中(如列表、元组或字典)引用计数减少的情况:1,使
2014-09-12 14:11:13 74716 8
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人