- 浏览: 43832 次
- 性别:
- 来自: 成都
最新评论
-
keithlee980:
请问这个怎么嵌到网页中运行?是加在<script> ...
javascript 的Socket客户端编程。 -
dk101:
我也曾经和你想过类似的东西,但是对JS理解不深,也没想到什么思 ...
拯救疯子--请教一个全新的url mapping思路. -
lcllcl987:
老兄是鄙人目前看到的最激进的人。
使用规则引擎(Jess)驱动Javascript实现服务器端编程 -
lynui:
可以嵌到网页当中吗?
javascript 的Socket客户端编程。 -
lynui:
我怎么运行不了,它的环境是怎样配置
javascript 的Socket客户端编程。
文章列表
OOP 思想入门思考
- 博客分类:
- 随手笔记
经常有人问什么是OOP思想?为什么要用OOP?OOP那些东西写function(方法)也可以实现啊?设计模式要多写代码,那么繁琐为什么还要用?
不想用学术理论和方法论来解释了,因为越来越多的人喜欢‘快餐’,懒得去思考理论推演。那就举一个例子吧,可能不是很恰当,要是能让入门者理解OOP那就行了。
面向对象和面向的过程的区别?
开发一个系统,就像在一个大的敞房里面做装修一样。 面向过程注重功能性,实现了效果就好了。东面放一个煤气灶可以做饭了。 煤气灶南面,放两个凳子摆一个桌子,可以吃饭了。 靠西边放一个床,就有睡觉功能了。 北面来一个放一个马桶就可以满足洗澡和上厕所的功能了。大致效果图如 ...
程序员,你的代码为谁而写
一直在思考这个问题,却不敢和别人交流。觉得自己还不算一个程序员,和别人讨论圈子里的事,难免贻笑大方。私下百度了几次答案有,为了任务,为了突出的考核,为了计算机,为了自己, ...
早上起来修改了一个小程序,使用Jetty嵌入的方式写了一个Servlet。因为第一次使用Jetty,不太熟悉对Servlet的多线程的处理方式。写了一个简单的测试代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throw ...
Mysql复制的功能主要由2个线程完成,IO线程和SQL线程。IO线程负责从Master读需要执行的命令, SQL线程执行备份操作。
在Slave端的管理主要有如下几个命令:
1。CHANGE MASTER TO == 配置连接到那个Master服务器, 连接的用户名, 密码, MASTER-bin log的文件名, 开始位置等.都由这个参数设置.
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000017', MASTER_LOG_POS=0;
完整的语法参考: http://dev.mysql.co ...
服务器端配置:
vi /etc/exports
/opt/extra_tools 10.56.126.77(rw,sync) 10.56.117.81(rw,sync,no_root_squash)
/opt *(rw,sync,no_root_squash)
客户端Mount:
mount <host IP>:<path> <mount path>
Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject?("WScript.Shell")
WshShell.Run """C:\\test_Oulu.bat""",0
Sqlite在删除纪录时不会减小文件大小,只是在文件中将数据块标志为可用。 如果需要强制删除可以运行VACCUM这个命令。具体的可以查看FAQ
(12) I deleted a lot of data but the database file did not get any
smaller. Is this a bug?
No. When you delete information from an SQLite database, the
unused disk space is added to an internal "free-list&qu ...
- 2009-12-07 15:03
- 浏览 4608
- 评论(0)
Lock
, 普通锁,调用acquired, 取得锁。任何线程可以调用release释放锁。 在锁未释放前调用acquired操作被block
RLock,
区别于Lock是, 如果重复调用acquired方法是同一个线程不发生block.
Semaphore
, 信号量
BoundedSemaphore
,和信号量的区别是, 如果释放后信号量,大于初始值抛出异常ValueError
Condition,
需要和Lock结合使用, 支持wait和notify 操作.
Block
Release
threading.Lo ...
- 2009-10-29 08:53
- 浏览 1659
- 评论(0)
最近要做一个WEB的小工具, 已有的代码都是用JSP写的。 又想用我自己实现的js-web,所以就想到了用javascript写后台的代码,用JSTL来表现。 javascript在服务器端运行的问题前面解决了,但是用JSTL来输出javascript的对象和在JSP中如何调用服务端的JS是这次才实现的。
1。 在JSP中调用服务器端的javascript使用了一个自自定义标签:
<%@ taglib uri="http://www.jsweb.org/tag/js-web" prefix="js" %>
<!--运行一个服务器 ...
上一次使用JESS来做URL引擎,玩过了头,后来自己都玩不转了. 后来决定搞一个简单的点的来玩玩. 想了一下直接将请求转发到Web目录的一个JS文件这样就简单多了. 其实直接修改一下Jess的规则就可以实现了. 为了弄一个看起来完整的程序. 就写了一个js脚本来启动嵌入式的Tomcat. 这样一个看起来像js实现的web服务器就完成了.
可以从 http://js-web.googlecode.com/files/js-web-0.1.zip 下载, 下载减压后的结构如下:
<DIR> bin
<DIR> conf
<FILE ...
这个思路在上周就确定了,但是一直没有空去实现。 直到今天才实现了一个简单的原形。而且还有很多问题没有解决,主要都是对JESS不熟悉。
主要的思路就是,在servlet收到请求后,将Servlet, Request, Response, Session几个对象封装成Java Bean添加Jess引擎作为Fact。 根据定义好的规则,调用相应的服务器端javascript完成服务端的处理。 和一般的Web框架相比, 一个Url可以触发多个规则, 当处理的流程和业务变化时,修改规则比修改代码更简单(其实不一定)。
Servlet的代码:
protected void doPost(fina ...
- 2008-09-15 14:48
- 浏览 2582
- 评论(1)
思考了一下决定,选择jess作为url mapping引擎. 虽然有点大才小用. 不过主要还是学习一下规则引擎的使用方法. 一个简单的原形以实现.
大概的流程如下:
1. servlet 接受HTTP请求.
2. 将当前的servlet环境,request/response/session等参数封装后放到Jess引擎
3. 根据定义的规则,选择需要调用的js方法序列.
4. 调用js 引擎完成业务操作,结束请求.
简单的原形已实现,在google/g/js-web中可以找到. 但是定义规则的时候还有点问题.选择是硬编码了一个固定的js调用.
搞了一天,终于实现了使用javascript来写servelt. 为了简化开发,决定搞一个javascript的框架出来. 其实我个人现在听到框架这个词就不爽. 总觉得现在什么都要框架一把.
整理了一下思路, 将要做的这个东西, 就是写一个javascirpt放到那儿, 然后根据HTTP请求去执行js, 把这个js的结果返回给客户端. 就这么个东西, 叫软件? 程序? 系统? 算了还是叫框架吧,恶心一下也没有办法了.
开始还是想学习java/diango/rails之类, 根据url地址选择一个js action执行. 刚做到一半,一个朋友问我你做这个有什么意思,现在框架这么多. 你用j ...
- 2008-09-07 21:26
- 浏览 1231
- 评论(1)
不知道有多少人会写js的unit test, 不过最近的项目对unittest要求比较严格.所以也养成了写unittest的习惯. 在搞js-shell时, 对写的代码没有做test,总是不放心. 找了一些资料看到JQuery的unit test方法不错. 学习了一下也在js-shell加入了Uinttest库. 总算把前面的代码都加上了UT才放心.
js-shell中的unittest的使用方法和概念都和junit差不多, 主要有TestRunner, TestResult, TestSuite, TestCaseContext几个对象. 下面是一个例子:
1. 先实现一个test run ...
这里的Socket编程不是指使用XmlHttpRequest对象, 而是真正的创建一个Socket实现收发数据。 使用Javascript调用Java的NIO接口实现的Socket编程。
实现一个简单的:EchoClient创建文件 :EchoClient.js
var socket = __import__('Socket', null, {}) //导入Socket library..
var client = new socket.Socket('127.0.0.1', 8000) //创建一个Socket.
client.on('read', function(sock ...