第一章:Ruby语言最小化
谈到Ruby语言,这里只是简单解释了理解第一部分所需的知识。这里并没有完全指出编程中需要注意的地方,本章的目的在于阅读,而非编写Ruby程序。有Ruby经验的人可以放心的跳过这一章。 关于语法,在第二部分中,我们会一直谈到令人厌倦,所以,本章就不做详尽的讨论了。只有那些用得最多的,比如hash字面量,会谈到一些变化。原则上,不省略那些可能省略的东西。因为这样会让语法规则变得简单,不必到处去写“此处 ...
JVM 几个重要的参数
<本文提供的设置仅仅是在高压力, 多CPU, 高内存环境下设置> 最近对JVM的参数重新看了下, 把应用的JVM参数调整了下。 几个重要的参数-server -Xmx3g -Xms3g -XX:MaxPermSize=128m -XX:NewRatio=1 eden/old 的比例-XX:SurvivorRatio=8 s/e的比例 -XX:+UseParallelGC -XX:Par ...
sinatra分析
备注: 本文是基于sinatra1.0版本,在线文档: sinatra 分析 1.sinatra简介 Sinatra is a DSL for quickly creating web applications in Ruby with minimal。Fewer classes, less inheritance controller object mapping & routes vs ...
Erlang新手进阶笔记(1) - 一个简单的服务器示例
~~~~~华丽的分割线~~~~ 最近老赵对C#和java进行比较的一篇博客引起了很多人的关注,但是我并不是很同意这个角度,我一直认为,一把钥匙一把锁,有明确针对性的语言是好语言,例如 erlang 之于分布式高可靠性系统,ruby 之于DSL类应用 学习Erlang的过程中,感觉它的语法其实很简单,比较强大的是它针对分布式系统所建构的基础设施,这个在语言层面和类层面都有考虑,这个系列blog就 ...
Erlang新手进阶笔记(2) - 有限状态机
上一篇写了一个服务器,包括基本的请求响应,服务关闭等功能,但是这并不是服务器的全部。 一般来说,服务器应当内部保存若干数据,这些数据参与对request的运算,然后生成response,有时候,这些计算还会改变服务器上的数据本身。我们可以把这些数据抽象为服务器的"状态",当服务器启动时,状态数据被初始化(初始化的工作应该根据环境有所区别)。 话说的真累,其实这就是大名鼎鼎的有 ...
Erlang新手进阶笔记(3) - 通用的server
分析一下之前的代码,可以注意到,server的功能其实是非常类似的,我们可以把公共的部分抽取出来,把不同的部分单独实现,做到一定程度上的复用,erlang支持动态的使用变量,例如: Mod = my_server. Mod:start(). 这样的代码会启动my_server,借助这个功能,我们可以把模块名作为参数传入,还可以使用模块名作为进程的注册名,于是,代码就便成了这样 % my_ser ...
Erlang新手进阶笔记(4) - behaviour机制
我们之前写的server已经比较通用了,但是erlang有更进一步的方案。 erlang不象java那样到处都是接口和实现类,它关注的是函数,也就是逻辑,当然,只要编程就要有规约,erlang的规约是通过"模板类"实现的,这个"模板类"的正式名称叫做behaviour。 一个典型的模板类大概就像这样—— % my_behaviour.erl % -modul ...
第一部分
Writing your first Django app, part 1编写你的第一个Django程序,第一部分 Let’s learn by example.从示例程序开始吧。 Throughout this tutorial, we’ll walk you through the creation of a basic poll application.通过这本新手入门,我们会从头至尾向你介绍 ...
第二部分(1)
Writing your first Django app, part 2 编写你的第一个Django程序,第二部分 This tutorial begins where Tutorial 1 left off. We’re continuing the Web-poll application and will focus on Django’s automatically-generated ...
第二部分(2)
Customize the admin form 定制管理表单 Take a few minutes to marvel at all the code you didn't have to write. When you call admin.site.register(Poll), Django just lets you edit the object and "guess&qu ...
第三部分(1)
Writing your first Django app, part 3 编写你的第一个Django程序,第三部分 This tutorial begins where Tutorial 2 left off. We’re continuing the Web-poll application and will focus on creating the public interface – ...
第三部分(2)
A shortcut: render_to_response() 快捷方法:render_to_response() It's a very common idiom to load a template, fill a context and return an HttpResponse object with the result of the rendered template. Djan ...
第四部分
Writing your first Django app, part 4 编写你的第一个Django程序,第四部分 This tutorial begins where Tutorial 3 left off. We’re continuing the Web-poll application and will focus on simple form processing and cut ...
第四部分(2)
Use generic views: Less code is better 使用通用视图:代码越少越好 The detail() (from Tutorial 3) and results() views are stupidly simple -- and, as mentioned above, redundant. The index() view (also from Tutorial ...
reltool用户指南
说明,最近比较忙,没有太多时间更新blog,请各位朋友谅解. 寻找俺的朋友,可以gtalk : litaocheng[at]gmail.com 或者 twitter : @litaocheng 这篇文章,应该是我写的最久的一篇,请各位多实践. reltool使用指南 Author: litaocheng Mail: litaocheng@gmail.com Re ...
CNode指南
CNode用户指南 Author: litaocheng Mail: litaocheng@gmail.com Date: 2009.7.8 目录 1 概述 2 CNode 相关API 2.1 建立连接 2.2 发送接收消息 2.3 Erlang client 3 编译运行 4 完整代码 1 概述 利用Erlang的 erl ...
Erlang类型及函数声明规格
Erlang类型及函数声明规格 Author: litaocheng Mail: litaocheng@gmail.com Date: 2009.6.8 Copyright: This document has been placed in the public domain. Contents 概述 意义 规范 类型及其定义语法 自定义类型定 ...
erlang otp 应用发布指南(一) tiny-1.0非真正OTP
Author: litaocheng@gmail.com Data: 2009-3-1 Version: 0.2 tiny OTP Application 为了简单,我们创建一个超级简单的application, 其只有一个module, 其不使用supervisor, 只创建一个简单的process, 我们为这个应用名叫:tinyapp (tinyapp-1.0). 其代 ...
erlang otp 应用发布指南(二) tiny-2.0 (supervisor)
Release Handling Erlang的Release Handling, 充分利用Erlang的code hot swap特性, 让你的应用可以比较顺畅的进行升级,回退. tiny-2.0 tiny-1.0已经成功的部署到了 /opt/local/tiny-1.0/ 目录. 最近,我们对tiny进行了改进, 准备要发布tiny-2.0. 我们在回想一下tiny-1.0, 在开始 ...
erlang otp 应用发布指南(三) tiny-3.0
tiny-3.0 最后,让我们弥补前面tiny-2.0的缺憾, 我们要开发tiny-3.0. tiny-3.0中我们不会在重启application, 我们这次 让Application温和的不间断的完成升级. 这里我假设你已经看懂前面的部分,并且亲自动手做了很多尝试. 下面是快速,直白的代码罗列.. 代码修改 新建tiny-3.0目录,添加一个module: mydict.erl ...
使用etop查看系统中进程信息
Erlang提供了丰富的开发工具,你认为没有的时候,很可能是你不知道它存在. 在OS中,我们经常查看操作系统的进程信息,帮助我们进行诊断。 Erlang提供了一个小工具 etop (Erlang top), 用来查看Erlang运行环境中,内存,ets,binary,进程等相关信息。 这些被收集的信息大部分是通过erlang module的相关bif输出,etop只是做了一个好的展现。 ...
django debug toolbar自定义面板分析重复的SQL语句
django debug toolbar可以说是Django最好的app之一了,在实际开发中用来查看变量,分析性能等各方面都有不错的效果。 实际上 django debug toolbar 有两个主要版本: 一个是原版: http://github.com/robhudson/django-debug-toolbar/tree/master 还有一个不太为人知的分支版本: http://gith ...
Ruby游戏开发利器Gosu
在2009年的Railsconf大会上,Hongli Lai和Ninh Bui of Phusion(开发Passenger的家伙)为了展示Ruby语言的强大,能运行3D游戏,他们构建了一个Wolfenstein游戏的山寨版,用的是Gosu游戏开发库。 Zed Shaw 在游戏中扮演BOSS 体验方法: 项目地址:http://github.com/FooBarWidget/rubystein ...
ruby诞生的第一个版本
ruby语言诞生于1993年12月,第一个版本是ruby-0.49版本。这次Rubyconf China会议,有会员向Matz先生提出,希望看到ruby的第一个版本,Matz欣然提供了ruby-0.49的源代码。
RubyRPG游戏制作
http://tkool.jp/products/rpgxp/eng/index.html
用Ruby开发游戏 BMXP介绍
RMXP RpgMakerXP(RPG制作大师XP, RPGツークルXP)是由Enterbrain Incorporation公司出品的RPG游戏制作工具。能使不懂编程的人也能做出精美RPG及其他类型游戏的优秀软件. 它是一款可让玩家自行制作在计算机游戏中相当受欢迎的角色扮演游戏,也就是 Role-Playing Game(RPG)的软件。制作完成的游戏,即使在没有安装 RPG Maker X ...
rails metal使用sinatra的例子,以及速度对比
运行该程序需要首先 gem install rack sinatra thin 安装sinatra和thin gem install rails --source http://gems.rubyonrails.org 安装rails2.3.1(2.3RC2) app/metal/hello.rb 是一个sinatra构造的rack中间件 app/controllers/hello_control ...
“rails之外的ruby语言web开发”演讲相关资料
本演讲的目的是通过介绍rails 2.3和其他ruby web框架的通用模块rack,引申出轻量级的ruby语言web开发组合。在最后指出通过rails 2.3中的metal特性结合两者,并作了一个简单的速度上的比较。 演讲幻灯片地址 http://www.slideshare.net/jiang.wu/ruby-off-rails 代码库地址 http://github.com/nouse/r ...
rack和actionpack的map对比
简单的rackup配置 infinity = Proc.new {|env| [200, {"Content-Type" => "text/html"}, env.inspect]} use Rack::CommonLogger use Rack::ShowExceptions map '/' do run infinity end map '/ver ...