Best Practices for Designing a Pragmatic RESTful API
Your data model has started to stabilize and you’re in a position to create a public API for your web app. You realize it’s hard to make significant changes to your API once it’s released and want to get as much right as possible up front. Now, the internet has no shortage on opinions on API design. But, since there’s no one widely adopted standard that works in all cases, you’re left with a bunch of choices: What formats should you accept? How should you authenticate? Should your API be vers...
CentOS下用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
安装系统环境:CentOS 6.5 安装依赖yum -y install gcc gcc-c++ make git patch openssl-devel zlib-devel readline-devel sqlite-devel bzip2-devel bzip2-libs 安装pyenvcurl -L https://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 配置环境变量官方提供方法: echo -e '\n#pyenv' >>~/.bashrcecho 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrcecho 'eval "$(pyenv init -)"' >> ~/.bashrcecho 'eval "$(pyenv virtualenv-init -)&q...
CentOS 升级 Git 最新版
由于CentOS用yum安装的版本只有1.x,故需要手动编译安装。 首先,下载git安装包。 从github上下载一个最新版(撰写文章时的最新版为:2.5.0)。 cd /usr/local/srcwget https://github.com/git/git/archive/master.zipunzip master.zip 由于系统中已存在git,所以先备份现有git。 mv /usr/bin/git{,.bak} 编译安装 cd /usr/local/src/git-master make configure ./configure --prefix=/usr/local/ --with-curl --with-expat make make install 拷贝到原有Git所在位置 cp /usr/local/src/git-master/git /usr/bin 在编译过程中可能会遇到错误,主要原因是minimal版的centos没有相应的工具,可以手动安装一下。 yum -y install gcc automake ...
Mysql Access denied for user
# /etc/init.d/mysql stop# mysqld_safe –user=mysql –skip-grant-tables –skip-networking &# mysql -u root mysqlmysql> UPDATE user SET Password=PASSWORD(‘newpassword’) where USER=’root’;mysql> FLUSH PRIVILEGES;mysql> quit # /etc/init.d/mysql restart# mysql -uroot -pEnter password: <输入新设的密码newpassword>
Python特殊语法:filter、map、reduce、lambda
Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力! filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回: map(function, sequence) :对sequence中的item依次执行function(item),见执行结果组成一个List返回: reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和: >> def add(x,y): return x + y>> reduce(add, range(1, 11))55 (注:1+2+3+4+5+6+7+8+9+10)>> reduce(add, range(1, 11), 2...
SQL Server 2008 修改服务器名称
修改电脑的服务器名称,重启 使用以下命令,发现SQL Server里的服务器名称并未修改 select @@ServerName;select * from Sys.SysServers 使用以下命令,删除原本的服务器名称,增加新的服务器名称 sp_dropserver 'WIN-S7LNUHI3QJS' # old server namesp_addserver 'WIN-SERVER-1','LOCAL' # new server name 重启SQL Server,再次执行步骤二的查询,发现已修改成功
Scala入门之一:Scala例子,以及如何与Java交互
转载 本文为初学Scala的Java开发者提供了一个Scala例子(Hello world),并对Scala与Java交互的情况作了一些大致的介绍。 本文源自Michel Schinz和Philipp Haller所写的A Scala Tutorial for Java programmers,由Bearice成中文。下面先对Scala进行一个简单的介绍,提供一个简单的Scala例子,并描述一下Scala与Java交互的情况。 1 简介本文仅在对Scala语言和其编译器进行简要介绍。本文的目的读者是那些已经具有一定编程经验,而想尝试一下Scala语言的人们。要阅读本文,你应当具有基础的面向对象编程的概念,尤其是Java语言的。 2 第一个Scala例子作为学习Scala的第一步,我们将首先写一个标准的HelloWorld,这个虽然不是很有趣,但是它可以让你对Scala有一个最直观的认识而不需要太多关于这个语言的知识。我们的Hello world看起来像这样: object HelloWorld { def main(args: Array[String])...
Scala入门之三:Scala类
转载 Scala是一门面向对象的语言,因此它拥有很多关于“类”的描述。本文简单介绍了Scala类的一些特点。 本文源自Michel Schinz和Philipp Haller所写的A Scala Tutorial for Java programmers,由Bearice成中文。第一篇为Scala简单做了一下入门,文。第二篇描述Scala对象。在这一部分中,将对Scala类进行一些介绍。 **5 Scala类 ** 正如我们所见,Scala是一门面向对象的语言,因此它拥有很多关于“类”的描述 。Scala类使用和Java类似的语法进行定义。但是一个重要的不同点在于Scala中的类可以拥有参数,这样就可以得出我们下面关于对复数类(Complex)的定义: class Complex(real: Double, imaginary: Double) { def re() = real def im() = imaginary} 我们的复数类(Complex)接受两个参数:实部和虚部。这些参数必须在实例化时进行传递,就像这样:new Com...
Scala入门之二:万物皆对象,介绍Scala对象
转载 本文源自Michel Schinz和Philipp Haller所写的A Scala Tutorial for Java programmers,由Bearice成中文。之前一篇为Scala简单做了一下入门,这一篇描述Scala对象。在Scala中,一切都是对象,所以数字和函数都是Scala对象。 4 Scala:万物皆对象 Scala作为一个纯面向对象的语言,于是在Scala中万物皆对象,包括数字和函数。在这方面,Scala于Java存在很大不同:Java区分原生类型(比如boolean和int)和引用类型,并且不能把函数当初变量操纵。 4.1 数字和对象 由于数字本身就是对象,所以他们也有方法。事实上我们平时使用的算数表达式(如下例) > 1 + 2 * 3 / x 是由方法调用组成的。它等效于下面的表达式,我们在上一节见过这个描述。 > (1).+(((2).*(3))./(x)) 这也意味着 +,-,*,/ 在Scala中也是有效的名称。 在第二个表达式中的这些括号是必须的,因为Scala的分词器使用最长规则来进行分词。所以他会把下面的...
Scala入门之五:Trait
转载 本文介绍了Scala的Trait。除了从父类集成代码外,Scala中的类还允许从一个或者多个traits中导入代码。 对于Java程序员来说理解traits的最好方法就是把他们当作可以包含代码的接口。 本文源自Michel Schinz和Philipp Haller所写的A Scala Tutorial for Java programmers,由Bearice成中文。第一篇为Scala简单做了一下入门,第二篇描述Scala对象,第三篇对Scala类做了一些介绍。第四篇介绍了Scala的模式匹配。下面这部分介绍Scala的Trait,直译过来就是特性/特征的意思。 7 Scala Trait 除了从父类集成代码外,Scala中的类还允许从一个或者多个traits中导入代码。 对于Java程序员来说理解traits的最好方法就是把他们当作可以包含代码的接口(interface)。在Scala中,当一个类继承一个trait时,它就实现了这个trait的接口,同时还从这个trait中继承了所有的代码。 让我们通过一个典型的实例来看看这种trait机制是如何发挥作用的...
