`
bee1314
  • 浏览: 163504 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论
文章列表
题记: 一个人的项目,还有工程化的问题嘛?   我们在推进模块化和组件化的过程中,肯定会不断的沉淀出我们项目的模块和组件。对于这些沉淀出的模块和组件怎么管理?另外怎么依赖也是个问题? 你真的想这样嘛?   var BreadCrumb = require(‘../../../../uikit/breadcrumb’); //真心ugly。     之前也尝试了很多的不同的解决方案,最终发现npm2.0的local module是最简单的,而且最符合模块化思维,我们可以把我们的模块按照功能进行划分。 比如: uikit  — breadcrumb.js  — data- ...
背景: 前端JavaScript模块化,其实已经不是什么新鲜事了。但是很多的项目还没有真正的使用起来,还处于刀耕火种的野蛮生长阶段。   JavaScript一直缺乏有效的包管理机制,造成了大量的全局变量,大量的方法冲突。我们多么渴望有天能像Java(import),Python (import),Ruby(require)那样写代码。在没有包管理机制的年代,我们是怎么避免所谓的全局变量的呢。   1. 高端闭包锁死作用域,几乎是标准做法。 (function() {   })();   和有几种变形 !(function() {   })();   传参: ( ...
在我们的前端项目里经常会用到级联的select,比如省市区这样。通常这种级联大多是动态的。比如先加载了省,点击省加载市,点击市加载区。然后数据通常ajax返回。如果没有数据则说明到了叶子节点。   针对这种场景, ...
万丈高楼平地起。 权限管理对于管理系统而言已经是标配中的标配了吧,对于我等俗人更是不能免俗。同时就目前的项目状况而言,我们还不需要那么高大上的开源的解决方案,如Spring Security,Shiro。小伙伴一致决定我们还是从基本的功能迭代起来吧。 目标: 1.实现权限的管理(CRUD) 2.实现部门管理 (CRUD) 3.实现人员的管理 (CRUD) 4.实现部门和权限的关联管理(CRUD) 5.实现人员和部门的关联关联 (CRUD) 6.实现页面的权限到具体的动作而非仅仅页面级别的控制。 一眼望去,哦哦,除了6,剩下的就是分别对应我们的权限管理的5张 ...
在前端的开发中,console.log那是开发必备啊,简直直观。通过写小函数,组合大功能。更容易测试。但是在打版本时,就要删除console.log,打完版本进入开发状态又要添加,真不够爽。重复劳动太多。所以可以做些简单地封装,方便开发和上线。 /** * log.js hufeng * The safe wrapper for `console.xxx` functions * log("message") ==> console.log("message") * log("message", &quo ...
为了美化select的显示效果,决定使用chosen来渲染体验。   因为页面中的select的option都是通过handlerbars动态的生成,所以导致options动态的改变时,chosen不能实时的刷新,停留在上一刻,影响用户体验。查询官方的api,只有通过$('#test').chosen('destroy').chosen();销毁一次再重建一次才可以正常的显示,但是如果这样写,导致页面到处是这样的垃圾代码-丑且脏, 因为有时还要判断出什么时候使用$('#test').chosen({})。于是写一个jquery的插件,来简单地封装下chosen地api,支持我们的场景。 ...
计算覆盖区域,前端使用zTree,来显示全国各省市区。举个栗子:用户选中了南京下面的所有区域(雨花区。。), 这时候计算的覆盖区域应该为南京市,同理,所有江苏下面的市被选中,覆盖区域就为省。一开始想着还挺简单,后来发现太navie了。   为什么? zTree的状态如,hide,disabled在判断节点是否全选时,不纳入计算范围,ztree会自动过滤这些节点。 简单地说,比如南京下面已经有三个区域已经被选则了,在新添加的覆盖区域中,这三个区域会被隐藏,这是全选南京市,其实不是真正的南京市,而应该是剩下的区域。但是ztree默认的getCheckNode做不到。因为这不通用,涉及到具 ...

js合并数组

简单地合并两个数组,使用python很简单。 a = [1,2,3] b = [4,5,6] #merge a.extend(b)   在前端,原生的js并没有提供这样的api,但项目中使用了jQuery,这个时候jQuery的merge就帮上大忙了。 var old = ["c", "c++", "Java"]; var fashion = ["Clojure", "Ruby", "Python", "Nodejs"]; ...
一个小需求,监控input的值变化,查阅文档,发现很不方便。 一堆事件如,onpropertychange, input, keyup, paste, change, blur,又不能同时监听这些事件,因为当输入一个值时,可能同时出发多个,这样会造成多次业务逻辑的执行。   想着能不能一种简单有用的办法,又解决跨浏览器。想到只监听keyup,和paste事件,同时过滤掉无效的不改变值的keyup。怎么判断无效呢?很自然的一个办法就是在dom中缓存原先的值然后做对比。按照这个思路封装一个jquery的插件,致敬angularjs。 (function($) { $.fn.wa ...
mac下ssh命令直接登录remote机器,启动daemon进程如:coffee app.coffee,在退出(无论是exit还是直接关闭终端)ssh后,进程会被kill掉。发现了nohup命令,解决这个问题。直接用nohup coffee app.coffee & 然后生成一个nohup.out文件,这样就可以放心的退出ssh了。详细使用请参见,man nohup。

tomcat远程debug

    博客分类:
  • Java
偶然间看java的platform的构成图看到了jpda这个东东,原来这个是java platform debug Architecture的缩写,就是远程debug的架构,且tomcat已经实现了这个架构,所以不需要在catalina.sh中添加一堆参数来设置远程的debug。 使用起来非常的简单, ./catalina.sh jpda start  这样就开启了远程debug,默认的端口是8000,可以通过设置一个环境变量来更改。 export JPDA_ADDRESS=8000
    有一个small case,一个简单的web界面填写两个参数,能给传递给后端,然后后端调用shell,然后将前端填写的参数传递给shell。 对于这个简单的需求,首先python搞定,本打算用tornado搞定,但想到之前学习了下bottle,简单优雅,更可以简单的解决这个问题。然后就选择web framework。python调用shell也很简单,但是有个更优雅的python的sh交互的库,就是sh,可以通过pip install sh来安装,sh真是不错,昨天看到了一个clojure的sh的DSL,发现真是异曲同工之妙。后面单独介绍下。   创建项目环境: pip ins ...

java split小结

    博客分类:
  • Java
java的split的方法的顺序是:匹配,切割,去除尾部(为空) 1. String[] strs = "".split(",") //返回结果:[""]  2. String[] strs = ",,a,b"; //返回结果:["", "", "a", "b"]  3. String[] strs = "a,b,,"; //返回结果:["a", "b"]   ...

安装common lisp

最近迷上了Clojure,强烈的喜欢Clojure解决问题的思路,简单,强大,且有完美的一致性。让简单的事情变得更加简单,让复杂的事情变得可能。感慨与50年前的Lisp 居然如此的强悍,在Clojure,在JVM焕发新的青春。当然Common Lisp已经足够具有工业强度。没事在suse上安装Common Lisp的实现,体验会原汁原味的Lisp,于是选择了sbcl,因为性能比较好,且支持多线程,继续学习之。在opensuse安装sbcl非常简单,类是ubuntu的apt,   sudo zypper search sbcl sudo zypper install sbcl   默认 ...

opensuse13.1

    笔记本越发的老迈了,已经扛不住ubuntu了,从10.04后,就非常吃力,unity的流畅度其实不错,但是当开多个窗口,尤其像有像idea或者eclipse这样的IDE的时候,再加上起个tomcat,再来个firefox,然后切换就非常的卡,而且更关键ubuntu的一个bug实在受不了,当笔记本合上,再打开就无法唤醒,伤不起啊。        周末抽时间重新折腾下,没有顺手的环境,太难受了。务实的做法先双系统吧。直接上win8,win8在很多方面的改进还是很不错的,内存管理,系统界面等,突然不喜欢win7的透明效果。以后win上主要做些java相关的一些开发。在win上写一些动态的 ...
Global site tag (gtag.js) - Google Analytics