前言  一个cljs文件定义一个命名空间,通过命名空间可以有效组织代码,这是构建大型系统必备的基础设施.本篇我们就深入理解cljs中的命名空间吧! 好习惯从"头"开始 每个cljs文件首行非注释的内容必定如下 (ns my-project.core) 而当前的cljs文件路径为${project_dir}/src/my_project/core.cljs,很明显命名空间与源码文件路径是一一对应的,对应规则是-对应_,.对应/咯~ 引入其他命名空间  要使用其他命名空间下的成员,那么必须…
前言  书接上一回,在了解cljs基本语法后并在clojurescript.net的奇特错误提示后,我们必须痛定思痛地搭建一个本地的开发环境,以便后续深入地学习cljs. 现有的构建工具  由于浏览器仅能运行JS,而无法直接运行cljs,因此我们需要搭建一个预编译环境将cljs编译成JS后再在浏览器中运行.预编译无非就是JVM和Nodejs两个环境,但具体使用时有如下几种构建工具. 直接JVM编译 Lein方案 Boot方案 Lumo方案 Shadow-cljs方案 cljs/tool方案  其…
前言  两年多前知道cljs的存在时十分兴奋,但因为工作中根本用不上,国内也没有专门的职位于是搁置了对其的探索.而近一两年来又刮起了函数式编程的风潮,恰逢有幸主理新项目的前端架构,于是引入Ramda.js来疗藉心中压抑已久的渴望,谁知一发不可收拾,于是抛弃所有利益的考虑,遵循内心,好好追逐cljs一番:D  cljs就是ClojureScript的缩写,就是让Clojure代码transpile为JavaScript代码然后运行在浏览器或其他JSVM上的技术.由于宿主环境的不同,因此只能与宿主环…
前言  每逢学习一个新的语言时总要先了解这门语言支持的数据类型,因为数据类型决定这门语言所针对的问题域,像Bash那样内置只支持字符串的脚步明显就是用于文本处理啦.而数据类型又分为标量类型(Scalar).结构类型(Struct)和集合类型(Collection),标题中的简单类型实质就是指标量类型.  cljs中内置的标量类型比js的丰富得多,一方面方便了操作,另一个方面增加了学习成本,因此从js转向cljs时可能会略感不适,下面我们一起来认识吧! 标量类型一览 ;; 空值/空集 nil ;;…
今天看了1下前面写的,好像缺乏交流性,周末再来弄吧 -0- 今天看了browser 的 location 和 history location属性 // //location.hash 性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分) // console.log(location.host); //获得location的端口 // //或www.xxx.com止 //[[设置或返回]]当前 URL 的主机名称和端口号 // // console.log(locat…
今天提交代码报错,看了看提示的错误,百度了一下,发现操作都比较繁琐,所以自己重新给一个最简单有效的. 有的要下载sqlite3.exe,借助它清空本地.svn\wc.db数据库文件里面的operation,即表名是work_queue.这是目前最多的方法. 还有的要通过SVN的安装包,借助其命令执行. 我要说的这种,简单粗暴,直接有效. 鼠标右键项目,选中Team,再选中Refresh/Cleanup,问题解决,顺利执行提交…
前端开发时最不想做的就是在不同浏览器.平台和分辨率测试网页显示效果,通常这会浮现许多问题,尤其浏览器版本就可能让显示成效完全不同,也只好尽力维持让每一种设备都能正常浏览网页.修改到完全没有问题必须投入不少时间,安装多系统可以解决这个问题(土豪可以配置多台机器),但是非常的麻烦繁琐,特别是不同版本的ie浏览器 .微软作为ie和windows的开发当然也知道这个问题,所以也在做这方面的工作,推出了Browser screenshots只要输入网址就能建立在不同浏览器屏幕的截取画面; Browser…
本篇将介绍TypeScript的命名空间,并简单说明一下与模块的区别. 在之前的例子里,有如下一段代码,通过修改这段代码来演示命名空间的用法. interface Animal { name: string; eat(): void; } class Dog implements Animal { name: string; constructor(theName: string) { this.name = theName; } eat() { console.log(`${this.name…
原文:XAML的命名空间 一个最简单的XAML例子   <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow"…
目录 Go routine 编排框架:oklog/run 包 问题引入 oklog/run 包介绍 使用例子 参考资料 Go routine 编排框架:oklog/run 包 问题引入 oklog/run 包提供了一套非常简单.易用的 Go routine 编排框架.在介绍 oklog/run 前,我们先考虑以下问题: 假设我们有四个 Go routine 组件,如图所示,分别是运行一个状态机 sm.Run .启动一个 HTTP 服务器.执行定时任务 cronJobs(sm) 读取状态机状态.和…