Hoplon 是 Web 编程更简单的方式,该项目包含 Web 编程的一些方法和库。采用 Clojure 和 ClojureScript 编写应用。
ClojureScript 代码示例:
(page "foo/bar.html" (:require [my.lib :as lib]))(defc clicks 0)(html (head (title "Hello World") (link :rel "stylesheet" :href "css/main.css")) (body (lib/heading-large "Hello, world!") (p (text "You've clicked ~{clicks} times.")) (button :on-click #(swap! clicks inc) "Click me!")))
对应的 HTML 代码:
<script type="text/hoplon"> (page "foo/bar.html" (:require [my.lib :as lib])) (defc clicks 0)</script><html> <head> <title>Hello World</title> <link rel="stylesheet" href="css/main.css"> </head> <body> <lib.heading-large>Hello, world!</lib.heading-large> <p><text>You've clicked ~{clicks} times.</text></p> <button on-click="{{ #(swap! clicks inc) }}"> Click me! </button> </body></html>
BASH SCRIPTING 任何有自尊心的黑客都必须能够编写脚本。因此,任何自尊的 Linux 管理员都必须能够编写脚本。黑客经常需要自动化命令,有时需要多个工具,这可以通过他们自己编写的简短程序最有效地完成。 在本章中,我们构建了几个简单的 bash shell 脚本,以帮助您开始编写脚本。随着我们的进展,我们将添加功能和特性,最终构建一个脚本,该脚本能够在一系列 IP 地址中查找潜在的攻击目
写脚本时养成结构化和系统方法的习惯. 即使你在信封背后随便做一下草稿也是有益的,要养成在写代码前花几分钟来规划和组织你的想法. 这儿是一些风格的指南. 注意这节文档不是想成为一个官方Shell编程风格. 32.1. 非官方的 Shell 脚本风格 注释你的代码.这会使你的代码更容易让别人理解和赏识,同时也便于你维护. 1 PASS="$PASS${MATRIX:$(($RANDOM%${#M
Shell 是一种命令解释器,它不仅分离了用户层与操作系统内核,更是一门强大的编程语言。我们称为shell编写的程序为脚本(script)。脚本是一种易于使用的工具,它能够将系统调用、工具软件、实用程序(utility)和已编译的二进制文件联系在一起构建程序。
为更具表现力、更可控的构建而组合使用 Ant 和 Groovy Ant 和 Maven 两者在构建处理工具的世界中占统治地位。但是 XML 却凑巧是一种非常没有表现力的配置格式。在“实战 Groovy”这个新系列的第 2 期中,Andrew Glover 将介绍 Groovy 的生成器实用工具,这个工具能够极其容易地把 Groovy 与 Ant 和 Maven 结合在一起,形成更具表现力、更可控的
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。
所有能编译出java .class文件的JVM脚本语言,都能在hi-nginx-java体系中工作。 例如groovy : package groovy import hi.request import hi.response import hi.route import java.util.regex.Matcher class test implements hi.route.run
编写HTTP/1.1和HTTP/2.0脚本 有时,我们希望编写一个快速的脚本而不会遇到创建类的麻烦。addons机制具有一种速记方式,可以将模块作为一个整体视为一个addon对象。这使我们可以将事件处理程序函数放在模块作用域中。例如,下面是一个完整的脚本,它向每个请求添加标头。 def request(flow): flow.request.headers["myheader"] = "v
原生拖放 拖放,将一个元素从一个位置拖放到另一个位置。最有意思的就是在框架间、应用间、窗口拖放网页元素。 拖放事件 拖放事件的关键在于 是确定在什么地方发生了拖放事件,有的事件是发生在被拖放的元素上,有的事件是发生在放置目标上。 拖动某元素时,会发生以下事件: 1、dragstart 2、drag 3、dragend 按下鼠标并开始托动鼠标时,会在被拖动元素上触发dragstart事件,这时鼠标会