- 博客(44)
- 资源 (128)
- 收藏
- 关注
原创 春运抢火车票攻略汇总(持续更新中)
8684春运抢票版浏览器火车票抢票必备软件:8684春运抢票版浏览器 火车票抢票软件其他网友还关注这些:春运购票日历 抢票软件使用教程 电话订票流程 列车时刻表查询最新 火车票预订查询 临客查询 春运火车票起售日是12月28日,不过现在很多抢票软件已经不停的出现在网上了。现在订票的方式这么多,抢票软件主要还是应用在两个途径上,第一个是网上订票,第二个是电话订票,所以抢票
2013-12-30 20:16:01 14325 4
原创 Clojure 学习入门(12)—— map/pmap
map 各种排序(println (sorted-map-by > 1 "a", 2 "b", 3 "c")) ;; {3 c, 2 b, 1 a};; 相等 value 取一个(let [results {:A 1 :B 2 :C 2 :D 5 :E 1 :F 1}] (println (into (sorted-map-by (fn [key1 key2]
2013-12-29 23:23:30 10473
原创 Clojure 学习入门(11)—— 宏 macro
` 原原本本地直译过去,不用`,let语句不被翻译,例如: (let [datastr '{:a 1 :b 2}]) ~' 后面的变量被直接翻译过去,例如:(let [~'conn "meta"] (with-mongo ~'conn)) '~ 变量名本身而非值,例如:(defn f1 [x] (println '~x ":" ~x)) (let [a 10] (f1 a)
2013-12-27 23:59:51 11212
翻译 Linux 有趣命令
1. sl 命令sl是指“steam locomotive(蒸汽机车)”,你会看到一辆火车从屏幕右边开往左边。。。。。。安装 $ sudo apt-get install sl 运行 $ sl可以通过设置别名,给别人来个恶作剧,搞个关联让他一敲ls就跑出个火车出来,不知道的肯定很有效果$alias ls=sl2. fortune 命令输出一句话,有笑话,名言什么的,中文版有唐诗宋词,英文版有
2013-12-26 23:35:41 17619 12
原创 Clojure 学习入门(10)—— httpkit
Http-kit 是主要由Java 和 Clojure开发,为Clojure定制的零依赖的HTTP lib,仅用3000多行代码,实现了高性能 Server,Client,Timer。代码量少,实现简单,对Hacker友好。在普通的PC上进行性能测试时,http-kit server每秒能处理数万个请求,并能轻松保持数十万并发,每个连接消耗几k内存,并发数仅与内存大小有关,高并发不影响 laten
2013-12-23 00:02:05 12898 1
原创 Clojure 学习入门(9)—— 连接redis
project.cli 添加redis依赖: [clj-redis "0.0.12"](defproject myClojure "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License"
2013-12-22 23:34:09 9634
原创 Clojure 学习入门(8)—— 连接mongodb
参考推荐:Monger, a Clojure client for MongoDBclojure简单操作mongo
2013-12-22 23:00:18 9295
原创 Clojure 学习入门(7)—— 连接mysql
Clojure的contrib包中实现了对现有JDBC的封装,在wiki上有连接,该页面上包含了对不同的数据库的连接方法和基本的操作,但是这个页面上没有提供足够的信息,足够一个初学者能够使用Clojure来完成一个SQL操作。本文中我们将利用Clojure和Lein工具,简介一下做开发的基础。当然网上也有非常多对Clojure的SQL操作进行封装的库,我们这里没有使用。首先,如何配置你的MySQL
2013-12-22 22:30:53 9415 1
原创 Clojure 学习入门(6)—— 函数定义
一、创建函数: fn: fn是一个宏(后面进行详细描述),用于定义一个简单的函数,如下: user=> (fn [] "hello") #@eabd2f> user=> ((fn [] "hello")) "hello" user=> ((fn [x] x) "hello") ; 带参数 "hello" 简短的函数可以使用#(),%表示唯一的参数;%1、%2 ..表示第1、2、..个参
2013-12-22 21:50:18 8799
原创 Clojure 学习入门(5)—— 关键字
一、创建: Keyword: 关键字是一个内部字符串; 两个同样的关键字指向同一个对象; 通常被用来作为map的key。 user=> (keyword 'foo) :foo user=> (keyword "foo") :foo user=> (keyword "user" "foo") :user/foo user=> (keyword "abc def") :abc def
2013-12-22 21:23:53 7964
原创 Clojure 学习入门(4)—— 字符串
一、创建 函数str: 函数 (str) 接受任意数量的参数。如果参数不是字符串则将其转换为字符串,返回创建的新字符串。如果没有参数或为nil,则返回空字符串,""。 user=> (str 1) "1" user=> (str -2.5) "-2.5" user=> (str "a") "a" user=> (str "abc" 123) "abc123" user=> (str
2013-12-22 20:21:42 6878
原创 Clojure 学习入门(3)—— 数字类型
一、算术运算 加法+: 加法函数(+)接受任意数值类型的参数,返回它们的和;没有参数时返回0。 Java代码 user=> (+) 0 user=> (+ 1) 1 user=> (+ 1 2 3 4) 10 减法-: 减法函数(-)接受任意数值类型的参数。如果只有一个参数,则返回它相反的数。当有多个参数时,返回第一个参数减去后面所有参数的结果。 Java代码 user=> (-
2013-12-22 19:32:14 6798 2
原创 Clojure 学习入门(2)—— eclipse 插件
最近学习Storm,并且是源码级的,所以开始学习Clojure。以前听说过函数式编程,也听人说Erlang的牛逼,接触了Clojure才知道,原来Clojure就是JVM中的Erlang。网上基于Ubuntu环境下开发Clojure的资料太少,在这里整理总结,分享给大家。1. 安装Clojure可以手动的方式:java -cp /opt/clojure-1.5.1/clojure-1.5.1.ja
2013-12-22 17:40:49 12198
原创 Clojure 学习入门(1)—— 学习资料
官方文档: http://clojure.org/documentation 中文资料(强烈推荐): 1.clojure入门教程 http://xumingming.sinaapp.com/302/clojure-functional-programming-for-the-jvm-clojure-tutorial/ 2.clojure文档翻译 http://code.google.com/p/c
2013-12-22 08:38:20 13646 1
转载 编程能力与编程年龄
程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《程序员技术练级攻略》这篇文章很多人回复到这种玩法会玩死人的一样。我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭。因为,大多数程序员都认为,编程这个事只能干到30岁,最多35岁吧。每每我听到这样的言论,都让我感到相当的无语,大家都希望能像《21天速成C++》那样速成,好多
2013-12-22 01:41:16 6869 7
原创 Python 学习入门(35)—— 模块
模块概念和基本使用 python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题。模块我们就可以理解为lib库,如果需要使用某个模块中的函数或对象,则要导入这个模块才可以使用,除了系统默认的模块不需要导入外。导入直接使用如下语法: import 模块名称(不要.py后缀) 这样导入成功后,就可以在另外一个模块
2013-12-22 01:26:11 24503 7
原创 Python 学习入门(34)—— PyDev 调试
运行程序要运行 Python 源程序,有两种方法可供选择。下面以一段代码 example.py 为例介绍这两种运行方式。在 Pydev Package Explorer 中双击 example.py,选择 Run -> Run As -> Python Run。程序example.py 立即被运行,在控制台 Console 里显示出程序的执行结果。图 13. Python 程序及运行结果 在 Py
2013-12-22 00:12:37 21080 1
原创 Python 学习入门(33)—— 内置函数
python的内置函数可以直接调用,无需import。有很多 我在平时常用到的,int()将字符串或者小数转换成整数str()将其他类型转换是字符型len(X)返回X的长度。The argument may be a sequence (string, tuple or list) or a mapping (dictionary).print()输出type(X)返回X的数据类型open(f)打
2013-12-21 23:09:40 6114
原创 Python 学习入门(32)—— xrange/range
在Python中range和xrange是不同的,两者的区别是微妙的。为了简单起见,这里省略两个函数的可选参数start和step。range返回值和想象的一样:一个从0开始指定长度的连续整数序列。然而,xrange返回一个"xrange 对象",该对象非常类似于迭代器。如果你曾经研究过迭代器,则两者的区别就很明显。下面是个例子:range(1000000)xrange(1000000)range
2013-12-21 22:25:05 6103
原创 Python 学习入门(31)—— 序列化
Python内置marshal, cPickle等序列化库,但cPickle效率不太理想,marshal文档也说不保证版本兼容性。今天在列表中看到几个第三方库,故自己测试下:测试脚本:#!/usr/bin/env pythonimport sys, os, timeimport cPickleimport marshalimport shelveimport tnetstringim
2013-12-21 22:02:40 3902
原创 Python 学习入门(30)—— 多态
以前写过一篇文章讲了一下python中的多态,最后得出结论python不支持多态,随着对python理解得加深,对python中得多态又有了一些看法。首先python不支持多态,也不用支持多态,python是一种多态语言,崇尚鸭子类型。以下是维基百科中对鸭子类型得论述:在程序设计中,鸭子类型(英语:duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类
2013-12-21 21:55:50 4725
原创 Python 学习入门(29)—— 消息队列
nakeMQ是一个跨平台的Python消息队列库。消息队列让不同主机间通信变得简单可靠。使用snakeMQ,只需要发送消息,剩下的事都交给snakeMQ处理。特色:纯python实现,跨平台自动重连接可靠发送--可配置的消息方式与消息超时方式持久化/临时 两种队列支持异步 -- poll()symmetrical -- 单个TCP连接可用于双工通讯多数据库支持 -- SQLite、MongoDB…
2013-12-21 19:18:23 14957 1
原创 Python 学习入门(28)—— 服务器实例
在Python 3.x中,BaseHTTPServer, SimpleHTTPServer, CGIHTTPServer整合到http.server包,SocketServer改名为socketserver,请注意查阅官方文档。在上一篇文章中(用socket写一个Python服务器),我们在不依赖框架和CGI的情况下,仅使用socket接口,完成了一个可以处理HTTP请求的Python服务器。基于
2013-12-17 00:01:32 8461 5
原创 历届博客之星获奖博客分享
时间如水,岁月如歌,转眼间将走过2013年,这一年CSDN博客帮助无数人记录着自己的成长、分享经验心得、助力中国程序员一起进步前行。回顾2013,CSDN博客频道作为中国 IT行业最具影响力博客平台,举办"2013年度博客之星"评选活动,为我们广大博主提供充分展示自我风采、发掘博客新星的机会。回顾我自己在CSDN上写博客(ithomer)的四年多时间,有幸结识了许多技术达人,免费获赠了历届大会的门
2013-12-15 17:32:36 18396 29
原创 Python 学习入门(27)—— 服务器
有人说表示只学Python没有用,必须学会一个框架(比如Django和web.py)才能找到工作。而我的想法是,掌握一个类似于框架的高级工具是有用的,但是基础的东西可以让你永远不被淘汰。不要被工具限制了自己的发展。今天,我在这里想要展示的,就是不使用框架,甚至不使用Python标准库中的高级包,只使用标准库中的socket接口(我不是很明白套接字这个翻译,所以使用socket的英文名字),写一个P
2013-12-15 00:25:10 8042 6
原创 Python 学习入门(26)—— 装饰器
装饰器(decorator)是一种高级Python语法。装饰器可以对一个函数、方法或者类进行加工。在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象作为某一个函数的返回结果。相对于其它方式,装饰器语法简单,代码可读性高。因此,装饰器在Python项目中有广泛的应用。装饰器最早在Python 2.5中出现,它最初被用于加工函数和方法这样的可调用对象(cal
2013-12-14 00:09:14 11283 8
原创 Python 学习入门(25)—— 闭包
闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(reusability)。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。不同的语言实现
2013-12-13 22:28:35 7734 4
原创 Python 学习入门(24)—— 进程高级
初步了解Python多进程之后,我们可以继续探索multiprocessing包中更加高级的工具。这些工具可以让我们更加便利地实现多进程。 1. 进程池之前我们使用Process创建进程的时候,每次创建一个进程。进程池 (Process Pool) 创建多个进程。这些进程就像是随时待命的士兵,准备执行任务(程序)。一个进程池中可以容纳多个待命的士兵。比如下面的程序:import multiproc
2013-12-13 19:05:38 6307 3
原创 坚持,是一种信仰
非常荣幸的受到邀请,参加2013年度IT博客大赛。一直坚持写博客,从读研到工作,无论自己多忙多累,坚持是一种态度。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累。写博分享是一种精神,一种信仰,一种传递正能量的方式。走别人没走过的路,让别人有路可走....这是我的使命,矢志不渝的使命!那么,支持投票地址:http://blog.51cto.com/contest2013/8
2013-12-13 17:37:22 24995 54
原创 MongoDB 学习笔记
最近在学习Mogodb,目前只是出于学习阶段,还没有在项目中实战过,记录一下下学习的总结。----start----基本概念:1、文档 --> 对应关系数据库的行,也就是一条记录。它比关系数据库的行的功能要强大,更像是是某个具体的对象。文档以一种Map的形式展现出来,当然value可以是任意的类型,也可以继续是一个文档(递归的定义)2、集合 --> 对应关系数据库的表。但是它又是无模式的,即文档不
2013-12-12 23:54:50 4945
原创 MongoDB 数组查询
[root@sunrise16 bin]# ./mongo MongoDB shell version: 2.0.0connecting to: test插入一个带有数组元素的文档> db.food.insert({"fruit": ["apple", "banana", "peach"]}) > db.food.find() { "_id" : ObjectId("4ea6a4ef0b12b1d
2013-12-12 00:05:53 11078
原创 MongoDB 基本操作
输入help可以看到基本操作命令:show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户use :切换当前数据库,这和MS-SQL里面的意思一样 db.help():显示数据库操作命令,里面有很多的命令 db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的
2013-12-11 22:45:24 3893 2
原创 MongoDB 常用命令
mongodb由C++写就,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理。关于它的一个最简洁描述为:scalable, high-performance, open source, schema-free, document-oriented database。MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(
2013-12-11 22:12:19 11597
原创 Python 学习入门(23)—— 进程
本文介绍Python的os包中有查询和修改进程信息的函数,Python的这些工具符合Linux系统的相关概念,所以可以帮助理解Linux体系。 1. 进程信息os包中相关函数如下:uname() 返回操作系统相关信息,类似于Linux上的uname命令。umask() 设置该进程创建文件时的权限mask,类似于Linux上的umask命令。get*() 查询 (*由以下代替) uid, eu
2013-12-11 00:06:05 6264 1
原创 Python 学习入门(22)—— 线程同步
Python主要通过标准库中的threading包来实现多线程。在当今网络时代,每个服务器都会接收到大量的请求。服务器可以利用多线程的方式来处理这些请求,以提高对网络端口的读写效率。Python是一种网络服务器的后台工作语言 (比如豆瓣网),所以多线程也就很自然被Python语言支持。(关于多线程的原理和C实现方法,请参考我之前写的Linux多线程与同步,要了解race condition, mu
2013-12-10 23:16:07 4132 2
原创 Python 学习入门(20)—— 循环
1. for 循环for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。基本构造是for 元素 in 序列: statement举例来说,我们编辑一个叫forDemo.py的文件for a in [3,4.4,'life']: print a这个循环就是每次从表[3,4.4,'life'] 中取出一个元素(回忆:表是一种序列),然后将这个元素赋值给a,之后执行
2013-12-10 22:09:18 14182 1
原创 Python 学习入门(19)—— 异常
在项目开发中,异常处理是不可或缺的。异常处理帮助人们debug,通过更加丰富的信息,让人们更容易找到bug的所在。异常处理还可以提高程序的容错性。我们之前在讲循环对象的时候,曾提到一个StopIteration的异常,该异常是在循环对象穷尽所有元素时的报错。我们以它为例,来说明基本的异常处理。一个包含异常的程序:re = iter(range(5))for i in range(100):
2013-12-06 23:52:24 5012 1
SecureCRT 7.0.2 For Mac 10.12.3 完美破解版
2017-04-04
FatJar打包工具
2014-02-28
Android MotionEvent 坐标获取
2013-04-07
亚马逊(Amazon)称霸电商的秘诀
2013-04-05
Android中visibility属性
2013-04-03
Android与js交互实例
2013-04-01
Google Play 应用内支付(In-app Billing V2 + V3)
2012-12-18
VMware 8安装Mac OS X 10.8 Lion系统及工具包
2012-10-30
VMware 8安装Mac OS X 10.7 Lion
2012-10-18
Android反编译工具包(升级)官方绿色版
2012-10-10
JSP 页面访问用户验证
2012-09-29
Android反编译工具
2012-08-21
Android 创建与解析XML Pull方式
2012-04-30
Android 创建与解析XML Dom方式
2012-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人