使用 Vagrant 构建开发环境

Vagrant 是一个构建虚拟开发环境的利器,它使得在团队中很容易共享开发环境,有了它,不必每个人都搭建一个自己的开发环境了。在没有使用 vagrant 之前,我在 windows 中安装了 virtualbox,然后在 virtualbox 中安装了一个 ubuntu server。在 ubuntu 中安装了 mysql、jdk 等软件,并且设置了一个共享目录,以便于将工程代码直接共享给 ubuntu。在外部开发调试过程中(Java 项目),我需要在 virtualbox 中设置好几个端口映射,如 mysql,ssh 等等。这样在 cygwin 里面就可以通过 ssh 登录 ubuntu server 了,为了使得 ssh 登录不用每次设置密码,还需要手动生成公钥私钥。换机器了,这一切我又得重新配置。新同事来了,他也得像我这样重新配置一遍。有可能他还会有问题说:为什么按照你的说明,代码在我这里却无法运行呢? 一切都从 Yining 告诉了我 vagrant 之后发生了变化,原来一切都这么简单。 安装 VirtualBox Vagrant 其实是对 virtualbox 做了一层包装,它让使用 virtualbox 作为虚拟机更为简单。当然也可以使用 vmware,使用 vmware 那得找一个 license 了。 好吧,去这里 下载 VirtualBox。我使用的是 4.3.8 for OSX 安装 Vagrant 下载 vagrant 添加虚拟机镜像到 Vagrant vagrant box add vdevenv ~/Workspace/vagrant/boxes/vdevenv-0.0.0.1.box vagrant 的干净的镜像可以在这里下载: Ubuntu precise 32 VirtualBox Ubuntu precise 64 VirtualBox 更多镜像 在工作目录启动 Vagrant 进入自己的代码所在的目录,启动刚刚添加的虚拟机镜像...

March 3, 2014 · 1 min · Le

Python on My rMBP

前几天入手了一台 Macbook Pro Retina,把 BIG 提到了很爽的地步。经过几天的折腾,可以和 windows,ubuntu desktop 说 Byebye 了。之前整整用了一年的 Ubuntu 来工作,我用它来写 C、Java 和 Python, 要是 windows 没有 cygwin, 没有 MacType,那该多么恐怖。后来用了一段时间的 MBP,让我坚定了以后要自己买一个 MBP。 ubuntu 那么的惹人爱,因为它有个还挺好用的 GUI,从 debian 那继承过来的 apt-get, 一下子把一个从 redhat 9 用到 fedora 4 的穷学生拉到了 ubuntu 的阵营,至此,deskop 就被 ubuntu 占领了。在此之前,我还用段时间的 debian 和 gentoo。 不得不说,debian 太伟大太牛逼了,有一次要在一个 MIPS 的小设备上编译安装 erlang, openssl,libcurl 等做一些实验, 要跨平台编译这些软件安装到小设备上去,费了半天终于把这些都编好了,还写了一个编译脚步,结果 erlang 运行的时候虚拟机总是报错,也不知道怎么回事。后来注意到 debian 居然有 MIPS,ARM 的源,后来在 MIPS 设备上安装软件做实验,我再也没有遇到问题,一切都用 apt-get 搞定了。 除了 apt-get, 我想最令我惊喜还有 ubuntu 自带了 python 2.7,让我很容易在两台电脑之间拷贝文件:...

March 2, 2014 · 1 min · Le

阿里云和 ucloud 云主机评测

总体说明 我使用联通 10M 光网,SSH 在多个时间段登录两个主机都是非常的快,但是阿里云的 SSH 有时会断开连接,需要重新登录(一天遇到 n 次),ucloud 一次都没有断开连接过。两者总体操作上都很流畅。平时我比较习惯于使用 ubuntu,于是在两个主机上都安装了 Ubuntu 12.04_64 的 Server 版本。在安装初始化系统过程中(测试过两次),Ucloud 的速度要快于阿里云主机,粗略估计都是在 20s 以内,因此差别不大。 阿里云主机安装过程中不需要人为参与,选好主机配置即可,主机一旦创建完成,用户名和口令会发送到测试者手机上,而且直接发送的是 root 账户口令。Ucloud 除了选择配置之外,还需要设置强登录密码,使用普通用户登录,感觉更 geek 一点。 默认情况配置下,关闭重启服务器,Ucloud 会发送主机变化短信到手机,阿里云不会。阿里云在系统负载预警方面比较全面,ucloud 侧重于 server 上在线状态和相关服务的预警。 在试用和测试过程中我主要偏向于静态的测试,后面还有一个好玩的 Super PI 测试。 阿里云和 ucloud 都是主机,和实际的服务器使用上没有什么区别。另外阿里云有 paas,需要单独购买,目前支持 php 和 nodejs,一些基本的服务如 memcached 等都可直接使用。 如果做互备,如果我们不使用这两个云平台各自特有的一些服务(主要是阿里云有一些如开放存储服务 OSS 等),相互切换难度上应该是差不多的。 主机概览 项目 阿里云 ucloud 按量付费 支持(不能升级或者调整主机配置*) 不支持 包年包月 支持 支持 操作系统 可重置 可重装 CPU 升级 支持(需要关机) 支持(需要关机) 内存升级 支持(需要关机) 支持(需要关机) 磁盘扩容 支持,可以升级或者添加新的磁盘,最大为 2000G 支持,可以扩容最大到 1000G(与系统盘在同一个主机上),</br/>或者添加新的网络磁盘 udisk 磁盘镜像 支持 支持 带宽升级 支持 支持 其它服务[需要单独购买] 项目 阿里云 ucloud 负载均衡服务 支持(目前免费),需要两台主机以上 支持(目前免费),需要两台主机以上 关系型数据库服务 支持,mysql 和 sqlserver 支持,mysql 和 percona 特有的服务 开放存储服务 OSS、开放数据处理服务 ODPS、开放结构化数据服务 OTS CDN、短信服务(可二次开发)、与又拍、DNSPod 和搜狐 SendCloud 直接绑定 *按量付费不支持更换操作系统;不支持配置变更功能(包括带宽升级、CPU 和内存升级、新增数据盘);“包年包月“和”按量付费“不支持相互更换;1 台云服务器只能选择 1 种,无法同时选择...

August 9, 2013 · 4 min · Le

Linux 共享库(动态链接库)相关的一些记录

相关的环境变量 LD_LIBRARY_PATH ld-linux.so 寻找 shared object 的路径,优先加载出现在路径前面的 shared object。如,export LD_LIBRARY_PATH=/home/user/lib:$LD_LIBRARY_PATH LD_PRELOAD 指定优先供 ld-linux.so 加载的 shared object。如,export LD_PRELAOD=/home/user/lib/glibc.so,可以使用这个变量来改变加载顺序,例如我们自定义的 glibc.so 中实现了新的 strcmp 之类的函数,那么可以使用这个变量来实现函数的替换,实现注入 LD_DEBUG 使用这个环境变量来 debug 载入 shared object 的情况。如,export LD_DEBUG=files,这样会打印所有所有加载 shared object 的记录 一些工具 如何查看一个程序或者 shared object 加载哪些 shared object ldd,可以查看程序或者.so,如, $ ldd ./foo_test $ ldd ./libfoo.so 对于已经运行的程序,可以这样 $ cat /proc/PID/maps | awk '{print $6}'| grep '\.so'| sort | uniq $ lsof -p PID | awk '{print $9}' | grep '\.so' 没有启动的程序可以这样 $ strace ....

March 4, 2013 · 1 min · Le

关于openlayers的一些说明

以前做的openlayers的项目基本都是很水的,但是毕竟都结了,算是有一丁点的积累。不过做项目的时候也是边学便用,代码写得很糟糕,一直没想着留着。于是毕业了,换城市了,换了几次电脑,这些代码终于都没了(有些网友那里应该还有,我发送过几次给别人)。 鉴于有不少openlayers的爱好者跟我讨论openlayers的一些开发问题,我想我还是把以前的思路整理一下,对openlayers做些精简和开发,弄一个直接可以使用的简单库出来。

November 13, 2012 · 1 min · Le

使用gdb根据指令地址定位到C代码对应的行

最近做一些Kernel方面的工作,从一头雾水开始,多做些记录吧。 addr2line也可以根据指令地址定位C代码对应的行,但是对于Kernel module却不是很方便,使用gdb就要容易得多。 NOTE:在使用gdb定位C代码之前需要开启-g选项编译内核或者module 例如有这样的Call Trace Call Trace: [<8033265c>] dump_stack+0x8/0x30 [<8003abbc>] warn_slowpath_common+0x70/0x98 [<80041f10>] local_bh_enable_ip+0x98/0xec [] ieee80211_alloc_node+0x29c/0x47c [umac] [] ieee80211_reset_bss+0x58/0x154 [umac] [] ieee80211_vap_attach+0x20/0x68 [umac] [] ath_vap_create+0x430/0x6b0 [umac] [] wlan_vap_create+0x58/0x210 [umac] [] osif_ioctl_create_vap+0x268/0x790 [umac] [] ath_ioctl+0x134/0x94c [umac] [<8022db50>] dev_ioctl+0x28c/0x88 现在想定位指令: [<80041f10>] local_bh_enable_ip+0x98/0xec 可以这样做: $ mips-linux-gdb vmlinux GNU gdb 6.8 Copyright (coffee) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it....

November 6, 2012 · 1 min · Le

几个简单的Makefile

几个简单适合小程序的Makefile,可直接拷贝使用,自己mark一下,这样长时间不用Makefile也不用去看手册了 0.只有一个文件 变量的定义,方便使用 CC = gcc CCFLAGS = -O2 -s BIN = test OBJ = root_password_tool_win32.o $(BIN) : $(OBJ) $(CC) $(CCFLAGS) -o test $(OBJ) $(OBJ) : root_password_tool_win32.c $(CC) $(CCFLAGS) -c root_password_tool_win32.c .PHONY : clean clean : -rm $(BIN) $(OBJ) 1.简单编译命令行程序,$(CC)前面是tab,不是space 一共五个文件: test.c md5.c md5.h password.c password.h main函数在test.c中,test.c文件include了md5.h和password.h CC = gcc CCFLAGS = -O2 -s BIN = password OBJ = md5.o password.o test.o $(BIN) : $(OBJ) $(CC) $(CCFLAGS) -o password $(OBJ)...

November 6, 2012 · 2 min · Le

Java程序如何限速(控制下载和上传速度)

好久没有在这里写点东西了,要养成书写记录的习惯。 这里简单的讨论一下java设计网络程序中如何控制上传和下载速度,我们常见的FTP,HTTP,BT等协议都是TCP的,但是现在流行的utorrent却基于UDP实现了自己UTP协议(UDP+拥塞控制),不管使用什么协议,站在I/O的角度来说,限速的控制思路都是一样的。 思路很简单,如下: 1.假设下载或者上传速度上限是m (KB/s),那么发送一个固定的字节数据(假设是n字节)的时间花费是:n/m; 2.假设现在要发送n字节的数据,那么理论所需的时间应该是n/m,而在实际情况下,发送n字节的数据只花费了t秒,那么发送该发送线程就应该睡眠n/m-t秒,这样就基本实现了速度的控制。 代码以TCP为例 速度控制 1 package com.actiontec.net.bandwidth; 2 3 /** 4 * 5 * @author Le 6 * 7 / 8 public class BandwidthLimiter { 9 10 / KB / 11 private static Long KB = 1024l; 12 13 / The smallest count chunk length in bytes / 14 private static Long CHUNK_LENGTH = 1024l; 15 16 / How many bytes will be sent or receive /...

October 18, 2012 · 4 min · Le

把ubuntu配置成路由器+DHCP

资源: __ __ PC A: Ubuntu 12.04 LTS,两块网卡,分别为eth0和eth1,使用eth0连接 互联网 __ __ PC B: Windows 7, 一块网卡,为eth0 __ __ 目标: __ __ 使得B通过A连接互联网(IPv4),即实现A为路由器的功能 __ __ 步骤: __ __ PC A: __ __ (0)假设eth0已经配置好,PC可以通过eth0连接互联网 ,配置eth1为,如/etc/network/interface所示 __ __ auto lo __ __ iface lo inet loopback __ __ auto eth0 __ __ iface eth0 inet static __ __ address 172.16.10.65 __ __ gateway 172.16.10.254 __ __ netmask 255.255.0.0 __ __ auto eth1 __ __...

August 22, 2012 · 2 min · Le

再说 PHP 中 SimpleXML

前一篇帖子使用了 xpath,后来了解到 xpath 的性能可能比较差,而且在遇到有命名空间的时候还有点小麻烦。这里都已豆瓣提供的 API 返回的 xml 为例。豆瓣返回的 xml 不是 rss 格式的,而是 Atom 格式,有很多的命名空间,如果习惯于操作 rss 格式的 xml,那么可以直接把 xml 里面的命名空间的字符串都 replace 掉,这个方法貌似很简单很暴力,就不会遇到命名空间的问题了。 从豆瓣 API 开始,点击这个链接 http://api.douban.com/book/subjects?q=java 你就可以看到 xml 格式,由于返回的是 Atom 格式的 xml,浏览器会自动帮你解析,所以应该这样 # 这样就可以得到一个java.xml文件。 $ wget -O java.xml http://api.douban.com/book/subjects?q=java 这样就可以得到一个 java.xml 文件,接下来使用 SimplePHP 处理这个文件。 首先要创建一个 SimpleXML 对象 //$content为xml的内容 $xml = new SimpleXMLElement($content); 现在要获取 opensearch 命名空间下的 totalResults 节点的文本,代码如下: $children = $xml->children('http://a9.com/-/spec/opensearchrss/1.0/'); $totalResults = $children->totalResults; 处理所有 xml 文档中所有的 entry 节点 //处理所有找到的记录 $entries = $xml->entry; foreach($entries as $entry){ //取命名空间下的孩子节点 $entryChildren = $entry->children('http://www....

March 22, 2012 · 1 min · Le

我想做的东西可以不值钱,但是它必须‘酷’

这句话是 FACEBOOK 的马克·扎克伯格说的。 我很认同,并且感觉自己也是这么做的。现在自己做得很多事情,从来没有考虑过它会不会值钱,只是感觉把自己的想法做出来,变成实物的过程就已经很酷。 对于酷,我觉得至少有两方面的意义。 一种酷,是一种自我实现的感觉,是一种认同感,成就感。比如自己把自己的不错的想法实现了,当自己看到自己作品的时候,肯定觉得这种感觉很酷。接着你的作品有很多人用了,看了,然后给与了肯定或者赞扬的评价,这时候感到酷,我觉得就应该是一种认同感和成就感。都是内心的感觉,一种推进自我完善的感觉。 还有一种酷,那就是表面上的酷,比如你的网页效果做得很酷很炫,你实现的功能很酷。虽然这些是表面上的酷,但这些酷的背后却隐藏着无数的思考和磨练。这么表面上的酷,却恰恰可以给人带来内心上的酷。 就拿摆摊网来说,小小的网站,做得很简单。但是为了实现页面小小的效果,还不得不去多学点东西多花些时间。我喜欢自己东西能弄得那种能给人至简至美的感觉,但是却不能因为简而不“美”了,这里的美是给人一种更好的感觉。所以自己总是在觉得不破坏简的前提下,尽量的让自己的应用让人使用的体验更好更酷。比如说发布书籍信息的页面,以前必须使用 ISBN 号,现在这里点击查看的将要改成 @林风琦 推荐的 chegg 的效果,是不是比豆瓣的书籍检索要酷很多。进一步思考,对于摆摊首页的检索,以后是不是应该结合用户的搜索习惯和本身的书籍物品数据也实现这种 AutoComplete 功能。还比如说摆摊还将开发 Android 手机客户端,到时候只要一拍,就可以把书信息扫下来了,看,多酷! 现在自己的科研也是这样,能给自己带来一种很酷的感觉,但是就科研的实际应用来说,我觉得可以应用的范围很小。但是想着能把 Jim Gray 这位数据库大神[此大神已经被外星人带走了,详情看这里]负责的基于微软 SQL Server 的 SDSS 项目迁移到适合科学运算的数组模型的数据库上来,然后我们还有可能就性能 PK 一把,想想就觉得很酷。更酷的是,自己还想到了一种自动迁移的方法[还没有经过深思和验证]。反正就是觉得酷儿! 为了更酷,继续努力! 我是 A Lucky Apple,@小码哥

March 13, 2012 · 1 min · Le

在这安静的夜里

今天组会不用开了,报告也不用做了,感觉比较爽,于是晚上的时候决定给摆摊写一些新的东西。 于是刚刚给摆摊的首页添加了一个小小的功能,就是能够随机的选取5本书在首页上循环展示,另外修正了一些网友提出的问题。 首页图片轮换是用jquery实现的,做法也很简单,当然实现的功能和效果还是比较弱的,这里是我用到一些资料。 CSS定位:http://www.haozi.cn/code/position-static-relative-absolute-float/ 好了,摆摊这几天暂时就这个样子了,得放下心思继续去搞自己的科研了。 过段时间一定要好好总结一下,写一些关于数组数据库系列的文章。

March 10, 2012 · 1 min · Le

写给 2012 的摆摊

我期待 2012 的到来,这一年我将有一个新的开始,好期待。 最近一直在忙着做实验,读论文,都没有什么时间来弄弄摆摊,自己心里的那种对于摆摊的激情也渐渐淡了很多,但是想想自己当初的想法,立马又有动力拾起摆摊。 一个小小的网站,看起来确实很简单,也就是拿 php 连连数据库,做做一些简单的操作,可自己在写这个网站的时候总是很慢。时间少而且比较凌乱是一个原因,但是总的还是缺少一个全面完善细致的规划,自己大部分也是照着当初的设计,然后想到哪儿做到哪儿,如今的摆摊,已经和当初的相去甚远了。越写越复杂,问题也越来越多,停下来一想,还是挥起大刀把乱乱的东西都砍了吧,弄得越简单越好。 加油!过几天就要回家了,不知道什么时候才能做好,让自己心里舒服一下。这几天赶紧将域名绑定好,将人人、新浪微博等的接入做好,大概就这个样子了。 大家新年快乐!

January 9, 2012 · 1 min · Le

SimpleXML使用xpath

这几天没心情看论文,于是开始写写摆摊网的代码。摆摊主要做高校二手书籍信息的分享,于是需要从豆瓣上获取图书信息,豆瓣提供了一个完整的 xml 来描述一本书,例如http://api.douban.com/book/subject/isbn/9787543639136,于是需要处理这个 xml 来获取相应信息,这里小码哥采用的是直接使用 xpath 来获取 xml 文档中相应的信息。摆摊使用了 sae,于是使用 SimpleXML 来处理 xml,加上自己还只是 PHP 的初学者,于是出现了一些问题。 这里是一些学习资料: xpath:http://www.w3school.com.cn/xpath/ simplexml:http://cn2.php.net/manual/en/simplexmlelement.xpath.php 新建 SimpleXMLElement 对象,xml 文件内容在$content 中 $bookFromDouban = new SimpleXMLElement($content); 直接查询,在命名空间 db 下的所有 attribute,且有 name 属性,以下 xpath 查询是没有问题的, $result = $bookFromDouban->xpath("//db:attribute[@name]"); 但是,这条查询就有问题了,如下, $result = $bookFromDouban->xpath("//link[@rel='self']|//link[@rel='image']"); 上面的代码表示在默认的命名空间里面查询 link 节点,但是在 php 5.0 以上却不能查出数据。需要这样操作 //获取这个xml的所有的命名空间 $namespaces = $bookFromDouban->getNamespaces(); //注册默认的命名空间为'd' $bookFromDouban->registerXPathNamespace('d', $namespaces['']); //现在这个查询就ok了 $result = $bookFromDouban->xpath("//d:link[@rel='self']|//d:link[@rel='image']"); 对$result 遍历就简单了,这里也给出一个简单的例子,遍历完,变量就初始化了。PS:代码写的不优雅,欢迎拍砖。 translator = array(); $author = array(); $i = $j = 0; foreach($result as $item) { foreach($item->attributes() as $val) { $val = str_replace('-','_',$val); if($val == 'author') { $author[$i++] = ''....

December 1, 2011 · 1 min · Le

jquery $.ajax() 中 datatype 为 json 时的问题

最近在为摆摊写点前端 js 的时候,在使用 jquery 的 $.ajax()这个方法的时候,当 datatype 设置为 json 时,总是不执行 success 回调,而是执行 error 回调。而将 datatype 设置成 text,就可以执行 success 回调了,摆摊使用的是 jQuery JavaScript Library v1.6.2,查看 jQuery 文档可知: “json”: Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.) 我用 php 产生的字符串是...

December 1, 2011 · 1 min · Le

未来是个未知数

未来是个未知数,自己的未来自己都不知道会是什么样子,问别人,别人又怎么会知道你的未来。 不要忘了自己心中想要的东西,即使是为了养家糊口而从事自己不喜欢的工作,也不要忘记自己希望做什么,静静的准备着,迟早有一天会爆发的。 单纯的做着自己的业余爱好,业余爱好也就会发展成职业的。但是我不会忘了我心中想要去做什么,我会为之而积累准备。 未来是个未知数,没有方程组能解开这个未知数,只能去试,试试才会知道。 摆摊网的未来也是个未知数,很大的可能就是被淹没在数以亿计的小小站点之中,被互联网大潮一扫而过,什么也不会留下,但是,这就是我的爱好,我喜欢把自己的想法实现,不管别人喜不喜欢用,但是,我喜欢摆摊网,它是我想法的一个实体,我每次尝试的一个印记。 自己的工作也定下来了,有接着研究自己的课题,但这几天不能安静下来搞自己的课题,总想着摆摊网还没有做好,于是拿出了两天,把摆摊的页面都做了出来,接下来就要做网站的逻辑部分了。 网站很简单,但是要做好做的精致做得完美做得好用也是很不容易的。自己还是慢慢来搞,每天写点代码吧,还是要干些要紧的事儿,后天又得做报告了,得赶论文ppt了。 期待有同学加入,一起来开发摆摊网,让摆摊网早点上线!!! 要开始为了毕业而忙碌了。 我是小码哥(新浪微博)

November 9, 2011 · 1 min · Le

关于摆摊的一些思考

今天是十一假期归来的第一天,实验室也启用了新的管理制度,坐在北洋楼的实验室也有一会儿了,刚发了一会儿呆,对摆摊又有了一些新的思考。 我的目标是想把摆摊做成高校的网上交易平台,也就是类似淘宝,但是作为摆摊网的初期是不合适的,因为这个交易平台太大太复杂。 所以摆摊的第一步还是做交易信息的发布和检索,主打高校的书籍和物品交易信息,交易还是线下完成,这样,初期的摆摊应该就和赶集、百姓、58 等类似了,而且这样摆摊的实现难度也会大大降低,在加上 SNS 和 LBS,摆摊就可以提供比赶集、百姓、58 等更精准的信息服务了。 这几天只是做了一些准备工作,熟悉了 sae 的环境,网站的架构也基本完成,页面上的设计也差不多了,接下来就是定下摆摊网的初步方向,确定第一阶段的核心功能,将其业务逻辑实现了。 加油!

November 8, 2011 · 1 min · Le

摆摊网页面设计

从泰山回来这几天,抽得空把摆摊网的页面做了出来,包括 css 和 html 的编写等,现在可以从 baitan.sinaapp.com 看到页面效果了,目前兼容 ie8、ff、chrome、safari 等。 baitan001.com 也在备案之中,应该很快就可以使用 baitan001.com 域名访问了。 有同学想练习 js,php 等 web 技术的,不妨联系我,我肯定能让你参与进来! 我是小码哥

November 7, 2011 · 1 min · Le

冬天来了

前几天一场大降温,把我给冻着了,肚子疼了好几天,还发烧,还好有个小盆友给我“打针喂药”,使得我这几天才得以康复,重现往日风采。 本来这周五得做论文的报告,于是这周基本都在看论文。谁知这周又冒出了几个公司让我去面试,论文的报告又就此作罢,挪到下周。 自己的外语很烂,基本没有投什么外企,昨天参加了微策略的面试之后,反而对自己的外语变得有些自信,最后和那位印度面试官聊天,他说我外语挺好,可是小盆友却说他那是在说客套话,不管客套不客套,反正我觉得挺开心,哈哈。。。 这周末还有几个知名互联网公司的笔试面试,加油! 关于摆摊,我还是抽出了一些时间来做了一些开发工作。先是看了赶集网吴石展杭州Qcon的关于MySQL数据库开发的三十六条军规,然后立马按照这些军规,对摆摊的数据库结构做了一些更改。此外,还开发了用户注册模块,只是页面还没有美化。 还是一点一点的来,事情太多,还要搞科研毕业,加油! 我是小码哥(新浪微博)

October 27, 2011 · 1 min · Le

摆摊的一些进展

这段时间都在进行密集的笔试面试,但还是没有停下摆摊网的开发进程。目前摆摊网已经由吴江川同学设计好了产品的原型,我也在原型的基础上做好了全部页面的设计工作,接下来就是开始后台逻辑的开发。 目前后台数据库部分已经设计完毕。 加油! 我是小码哥

October 21, 2011 · 1 min · Le