Permalink
Browse files

短连接功能

  • Loading branch information...
1 parent 5df07ba commit dccb436d9ec3f0e2586dda9a49f32513271957d3 @xinyu198736 committed Jan 27, 2014
Showing with 178 additions and 7 deletions.
  1. +36 −0 controllers/u.coffee
  2. +43 −0 dict.txt
  3. +32 −0 functions/url.coffee
  4. +10 −0 models/urls.coffee
  5. +6 −0 models/uus.coffee
  6. +16 −7 tools/temp.coffee
  7. +35 −0 tools/temp.js
View
@@ -0,0 +1,36 @@
+func_url = __F 'url'
+module.exports.controllers =
+ "/add":
+ get:(req,res,next)->
+ if req.query.url
+ func_url.getByPath req.query.url,(error,u)->
+ if u
+ res.send u
+ else
+ func_url.add
+ path:req.query.url
+ ,(error,u)->
+ if error
+ next error
+ return
+ func_url.getUUSById u.id,(error,uus)->
+ if error
+ next error
+ else
+ func_url.update u.id,{key:uus.key},(error,url)->
+ if error
+ next error
+ else
+ res.send url
+ else
+ next new Error '错误的参数'
+ "/:id":
+ get:(req,res,next)->
+ func_url.getByKey req.params.id,(error,u)->
+ if u
+ func_url.addCount u.id,['visit_count']
+ res.redirect u.path
+ else
+ next error
+
+
View
@@ -0,0 +1,43 @@
+发现不少读者对这系列文章挺感兴趣的,这有点让我隐隐的害怕,是不是我把某些事情写的有点夸大,才会让人如此感兴趣?盲目吹嘘和夸大是一种很可怕的修辞手法,在吸引别人注意力的同时也会消耗自己的人品,所以偶觉得偶应该用尽量低的姿态来表述这些经历,不断告诫自己要低调要谦卑,因为我知道我跟那些我敬佩的人还差的太远,我这点小芝麻的事情不值一提。
+
+上次说到被开除的事情,在上海的三个月,我稍稍有点偏管理岗,手下虽然只有两个人,但是我全权负责他们的工作,而且上面基本没人管我,直接向总监和CEO汇报,这样做起事情来很自由,因为整个公司前端方面,你就是权威。
+
+当时的前端基础框架,我选用了KISSY,选择它有几个原因,一是因为我比较熟悉,二是因为也比较简单容易入手,三是当时我对整体架构的理解还不够成熟,我其实也没有太多理由,就因为熟悉选了它。不过一年后的今天,在我给新公司选型的时候,我的思路就比较清晰了,架构选型,无非几个原则,我尽量摒除我个人的原则,而是为公司的业务类型,发展状况,团队成员等多个方面做考虑,具体这块,我觉得还是后面再讲,现在先留个坑,哈哈。
+
+在发生一系列事情之后,到了10月份,我媳妇叫上我去跟丈母娘第一次会面,然后去内蒙古做了一次拍照旅行。说起我媳妇,好女人,不用多说,大家都知道的。虽然我不是很爱旅行,但是我也特别期望浩瀚的大草原什么的可以给我一些启发,指导我下一步的选择。
+
+选择
+
+我当时有好几条路可以选择。
+
+回淘宝,虽然有点困难,因为我离职时间太短,但是搞搞关系应该还是可以的,只是可能不能去自己最喜欢的部门。所以这条路被我放在最后一位。
+再跟一个创业团队,当时对老婆所在的公司的团队挺感兴趣,但是我觉得他们做的事情有点问题,所以这条路也不是非常理想。
+自己捣鼓,也不是创业,就是验证一些自己的想法。我这个人想法的确是挺多的,但是很多都被我深深埋在了回忆里,我特别想花一点时间,做做自己喜欢的事情,验证下自己那些幼稚的想法,同时思考下人生,感悟下自己的缺陷什么的。这条路虽然不错,但是对于我是个挑战,因为选了这条路之后,我的收入就没有保障了,而且指不定后果是什么。
+期许
+
+不过去旅行了一趟之后,回来我就毅然决定选择第三条路。因为我觉得只有选择一些有挑战的路,才能看到一些别人看不到的东西,才能对自己有一个真实深刻的了解。如果我选择继续回到从前,也许我会成为一个很好的程序员,但是我真的喜欢这样么?我喜欢编程,但是其实我不是很喜欢自己那种孤岛般的感觉,我期望被别人欣赏,我期望与人交流,我期望自己与众不同,而走了这条路,我看不到我如何达到自己的期望,我甚至没有一点想象的空间,我能清楚看到自己未来是如何的,无非两条路,努力和不努力。但是如果选择一条你不曾从别人身上见过的路,你就无法预期它,无法确定,无法断言,我只是相信自己生来与众不同,我知道自己对自己的期望,我知道我的理想,然后抱着这些东西断然跳入迷雾中,自己寻路,我也相信自己可以找到一条属于自己的路。
+
+10月份,回到杭州后,我开始捣鼓自己的网站,并且同时开始专心学习NodeJS,那大概两三个月我每天做的事情是:制定产品计划->自己画设计稿->技术实现,然后每天写很多代码,在摸索产品设计的同时,也不断学习技术知识。关注互联网,同时关注技术界。
+
+迷茫
+
+我先给我口中所说的自由职业者定个义:自由职业者,为了追梦而存在。
+
+所以我这里讨论的事情的前提是:梦想。不是为了懈怠,不是为了逃避,也不是为了金钱。
+
+为什么选择这条路?因为有梦,只是,当你感觉无法企及自己的梦想的时候,你需要思考自己想做的什么,自己能做什么,自己缺少的是什么。迷茫大概就来自于此。我每日除了忙碌那些事情,我也在经历煎熬,当我做一件事情的时候,我开始发现自己无法做好这件事情,或者又突然发现自己并没有自己想象中那样理想,很难把一件事情做的如自己的预期,然后我就开始迷茫了。我在想自己把自己想象成怎样?为什么事实中我不是那样的?为什么我对自己的理解偏差这么大?我开始怀疑我对自己的认知,怀疑我对世界的认知,怀疑我对事物的认知。
+
+这些东西着实折磨了我好一阵。我一边用乱七八糟的方式做着一些乱七八糟的事情,一边思考这些问题。
+
+换个角度
+
+我开始怀疑我自己,怀疑我的过去,怀疑我的理想,怀疑我的认知能力。以前,我是个非常自负的人,我看不起任何人,看不上任何事,我脑子里通常只坚持一个信念:我是最牛逼的,我只要坚持我的信念发展即可,我不要受任何外界的影响,他们只会让我变得平庸。但是在我怀疑自己然后经历一些思考后,我开始慢慢转变自己的观念。
+
+我开始接受自己的缺点,以前一些我固执的行为方式我也尝试改变,因为我知道它们是妨碍我正常发展的关键所在,我需要正视它们,或者克服或者规避,总之不能闭着眼撞死在它们身上。
+
+那时候,我跟朋友聊天,朋友说我竟然也开始佩服别人了。我就回复说,带着赞赏的态度看每个人,你能看到他身上你所不具有的发光点,而这些发光点,正是关键所在,虽然每个人都可能有偏激或者犯错误的时候,但是其实那些东西跟你毫无相关,最多是你饭后的八卦谈资,调侃几句,烟消云散。但是他们身上的发光点,对你来说却是价值连城,如果换个角度去看人,你得到的是完全不一样的东西。
+
+换个角度看世界。你用什么样的方式看它,它就会给你什么样的东西。
+这些玄乎的东西就说到这里了,这时候大概说到新年的时候了,因为这样的生活方式,我一直持续到新年,期间我做了几个产品,捣鼓了不少事情,收获也不少,但是我这几个月,一分钱都没有挣,全是媳妇在养家,生活过的很艰难那时候,天天以泡面度日。这也造成日后我身体开始变得不舒服。所以这里也要提醒大家:以身体为重,不要消费自己的宝贵的身体来换取可怜巴巴的那一点金钱。
+
+写了不少,下回再见吧。
View
@@ -0,0 +1,32 @@
+Urls = new __BaseModel 'urls'
+func = new __BaseFunction(Urls)
+UUS = new __BaseModel 'uus'
+UUS.sync()
+Urls.sync()
+func.addUUS = (data)->
+ UUS.create(data)
+func.getUUSById = (id,callback)->
+ UUS.find
+ where:
+ id:id
+ .success (uus)->
+ callback null,uus
+ .error (e)->
+ callback e
+func.getByPath = (path,callback)->
+ Urls.find
+ where:
+ path:path
+ .success (u)->
+ callback null,u
+ .error (e)->
+ callback e
+func.getByKey = (key,callback)->
+ Urls.find
+ where:
+ key:key
+ .success (u)->
+ callback null,u
+ .error (e)->
+ callback e
+module.exports = func
View
@@ -0,0 +1,10 @@
+module.exports =
+ id:
+ type:"int"
+ autoIncrement: true
+ primaryKey: true
+ key:"varchar(10)"
+ path:"varchar(255)"
+ visit_count:
+ type:"int"
+ defaultValue:0
View
@@ -0,0 +1,6 @@
+module.exports =
+ id:
+ type:"int"
+ autoIncrement: true
+ primaryKey: true
+ key:"varchar(10)"
View
@@ -1,9 +1,18 @@
require './../lib/modelLoader.coffee'
require './../lib/functionLoader.coffee'
-func_card = __F 'card'
-func_user = __F 'user'
-
-func_card.getAll 1,10000,null,(error,cards)->
- cards.forEach (card)->
- if card.user_id
- func_user.update card.user_id,{email:card.email},()->
+s = "abcdefghijklmnopqrstuvwxyz0123456789"
+func_url = __F 'url'
+neighbours =
+ 1: s.split ""
+getPINs = (observed, prefix)->
+ prefix = prefix or ""
+ if observed.length is 0
+ prefix
+ else
+ neighbours[observed[0]].reduce ((acc, d)->
+ acc.concat getPINs(observed.substring(1), prefix + d)
+ ), []
+arr = getPINs "111"
+arr.forEach ((p)->
+ console.log p
+)
View
@@ -0,0 +1,35 @@
+// Generated by CoffeeScript 1.6.3
+(function() {
+ require('coffee-script');
+ require('./../lib/modelLoader.coffee');
+
+ require('./../lib/functionLoader.coffee');
+ var arr, func_url, getPINs, neighbours, s;
+
+
+ s = "abcdefghijklmnopqrstuvwxyz0123456789";
+
+ func_url = __F('url');
+
+ neighbours = {
+ 1: s.split("")
+ };
+
+ getPINs = function(observed, prefix) {
+ prefix = prefix || "";
+ if (observed.length === 0) {
+ return prefix;
+ } else {
+ return neighbours[observed[0]].reduce((function(acc, d) {
+ return acc.concat(getPINs(observed.substring(1), prefix + d));
+ }), []);
+ }
+ };
+
+ arr = getPINs("111");
+
+ arr.forEach((function(p) {
+ func_url.addUUS({key:p})
+ }));
+
+}).call(this);

0 comments on commit dccb436

Please sign in to comment.