递归还是迭代?递归可以让很多算法有良好的可读性,但在某些情况下效率却低下.newLISP有很多的迭代构造器和高阶函数,比如flat或者系统自带的XML函数,其内部使用递归.大部分情况下,没有必要自己定义递归算法。.有时,非递归解决方案可以更快、更节省系统资源。.;classicrecursion;slowandresourcehungry(define(fibn)(if(
查找某个时间点范围内改动的文件
weixin_33841722
常常因为磁盘空间不足的原因,须要删除旧文件,因此希望有一个函数,可以查找到某个时间点之前的文件,并删除之。用newLISP来实现的话,须要相似这种功能:(define(location-file-based-on-modified-timedir-pathfrom-secondsto-secondsfile-op)(unless(directory?dir-path)(throw-error(st
查找某个时间点范围内修改的文件
csfreebird
#文件处理
经常由于磁盘空间不足的原因,需要删除旧文件,因此希望有一个函数,能够查找到某个时间点之前的文件,并删除之。用newLISP来实现的话,需要类似这样的功能:(define(location-file-based-on-modified-timedir-pathfrom-secondsto-secondsfile-op)(unless(directory?dir-path)(throw-error(s
windows7 安装Emacs 24
csfreebird
#EmacsonWindows
最近因为需要开发windows上的产品,又回到windows上来,因为要写newlisp脚本,还是emacs用起来比较方便。下面介绍一下安装最新版本的emacs的步骤,1.从http://core.ring.gr.jp/pub/GNU/emacs/windows/下载文件emacs-24.3-bin-i386.zip2.解压后放在自己的用户目录下,比如我的位置:C:\Users\shu6889.C
crontab演出newLISP脚本设置环境变量
weixin_33755554
今天遇到一个问题。执行在终端newLISP文字,一切正常,搬去crontab在将无法正常工作。即使crontab-e命令是在同一个用户执行。还是有问题。因为newLISP脚本使用hive和hadoop。它预计发行环境变量。所以第一次使用newLISPshell执行(env)命令,将当前环境变量记录到文件evn.lsp中。然后在newLISP脚本中载入之。以下是env.lsp文件部分内容:(set'
crontab中运行newLISP脚本的环境变量设置
csfreebird
#系统管理
今天遇到一个问题,在终端里运行newLISP脚本,一切正常,移动到crontab中就不行。即便crontab-e命令运行在同一个用户下,还是有问题。由于newLISP脚本要用到hive和hadoop,估计是环境变量的问题。所以先用newLISPshell运行(env)命令,将当前环境变量记录到文件evn.lsp中。然后在newLISP脚本中加载之。下面是env.lsp文件部分内容:(set'loc
Linux 网络抓包
iteye_9368
调试网络程序时,通常需要抓包分析。Linux下的tcpdump就很好。Ubuntu下默认已经安装。下面先举个实际的例子.比如我有一个C++程序监听本地端口8889,另一个newlisp程序通过TCP和其通信。首先可以检查一下有几个网络接口。root@dean-GA-MA790XT-UD4P:~#tcpdump-D1.eth02.any(Pseudo-devicethatcapturesonalli
3.模块化编码 (newLISP 代码模式 v.10.6.2)
newlisp
程序的构建当你编写的程序越来越大或者多人在同一代码库协作开发时,将代码划分成不同的模块是很有必要的.newLISP中使用context来创建模块,也就是命名空间.命名空间将各个模块之间的词法隔离开.这样各模块可以拥有相同名字的变量而不会发生冲突.通常,每个文件都有一个context来组织模块.可能一个模块文件包含数据库访问代码.;database.lsp;(context'db)(define(u
4. 局部变量 (newLISP 代码模式 v.10.6.2)
newlisp
循环函数中的局部变量所有的循环函数都使用局部变量,比如doargs,dolist,dostring,dotimes,dotree和for.在循环执行期间,每次循环都给变量赋予不同的值.但在离开循环函数后,变量将恢复其原来的值。let,define,和lambda是另一种声明局部变量的方法:用let,letn,local和letex声明局部变量let是一种常见的在代码块中申明局部变量的方法.(def
newlisp quick sort增强
sheismylife
NewLisp
增加一个函数extract作为参数,可以通过extract提取list某个元素的某个属性然后进行比较,而不是假定list中的每个元素都是简单的symbol,并且可以比较。这样就可以允许用在实际工作中。;;@argextractisafunctiontoextractvaluefromobjecttocomparewithkey
(define(quick-sort-exstartendextrac
newlisp实现quick sort
sheismylife
NewLisp
实现的时候要注意,如果将一个list传给函数,在函数内部修改后,不会改变函数外的list。因此采用了变通的方法,将list作为全局变量,函数递归时不传递list为参数。实现代码如下:sort.lsp文件(setqvalues'())
(define(quick-sortstartend)
(if(>=startend)
(begin
;;(println"return")
)
(begin
(l
newLISP运行scp命令并打印进度
sheismylife
scpNewLisp
如果在终端直接运行scp命令,会看到类似的输出scptrain.htmlroot@your-host:/path/of/your/folder
train.html100%149KB149.4KB/s00:00如果用newlisp的exec运行这个命令,得到的结果却是()如何获得上面的输出?train.html100%149KB149.4KB/s00:00首先要获得scp的输出,参考这个:http
newlisp debugger
debugger
写了很多newlsip程序,一直都是用println 来打印,查找问题。
但是随着程序越来越多,debug就变得越来越重要。今天在实现自己的TEA算法时,就需要调试newlips程序。
启动debugger很简单,只需要在newlisp会话中调用:
(trace true)
然后加载自己的lsp文件,调用函数,就可以进行调试了。
不过为了方便,还可以用(d
用newlisp管理windows下的nginx
windows
我写了一个nginx.lsp文件,可以通过传递参数来进行Nginx进程管理。
使用方法
1. 从nginx站点下载windows版本的程序,加压后,将newlisp.lsp文件复制到该目录。
2. 确保windows的system32目录下有newlisp.exe程序。
3. 运行程序, 目前支持5个参数
newlisp nginx.lsp start|stop|moni
Ubuntu 14.04 编译newLISP 10.6.0
ubuntu
1. 确保安装了gcc4.8.2
2. 安装须要的库:
apt-get install libreadline6 libreadline6-dev
3. 下载并解压newLISP源码,这个不多说了,去newlisp.org网站下载。 放到/usr/src文件夹下
wget http://www.newlisp.org/downloads/newlisp-10.6.0.tgz
newlisp 注释生成文档
lisp
最近写了一个newlisp_armory库,用来实现一些newlisp自身不支持的操作。比如跨windows和ubuntu的目录拷贝功能等。
自己用的时候,发现没有API reference文档参考,很不方便。于是学习了如何用注释生成文档。
在Ubuntu环境下,首先要下载newlispdoc程序的源码:http://newlisp.org/syntax.cgi?code/newlispdoc
Visual Studio 2012 编译C++显示cl命令
2012
为了用newlisp来实现VC编译,以便用我的Emacs开发VC程序,而不需要再打开VS 2012, 需要自己实现命令行的编译。我不需要nmake,因为我想直接了解VC编译器,以便今后更好的驾驭它。
首先要获得VC编译的cl命令行,方法是右键点击工程,点击Properties菜单,在打开的对话框中,选择C/C++ General菜单,然后将Supress Startup Banner改为No。
查找某个时间点范围内改动的文件
文件
常常因为磁盘空间不足的原因,须要删除旧文件,因此希望有一个函数,可以查找到某个时间点之前的文件,并删除之。
用newLISP来实现的话,须要相似这种功能:
(define (location-file-based-on-modified-time dir-path from-seconds to-seconds file-op)
(unless (directory? dir-pa
改进的newlisp编译脚本,只需要配置
lisp
前面有一篇Say bye to CMake and Makefile我开始用自己编写的newlisp脚本替代CMake,今天对前面的进行改进。
改进部分是:
1. newlisp armory模块的引入和初始化 部分可以重用
2. 将头文件所在目录,cpp或者cc文件所在目录以及依赖库名称等 作为配置单独抽出来,可以根据不同的项目进行配置
现在看改过后的代码:
rebui
newlisp的lambda表达式
lambda
lambda表达式指的是一个匿名函数,可以将之作为参数传递给map等容器,然后被容器内部调用之。
newlisp的官方文档在这里:http://www.newlisp.org/downloads/manual_frame.html
参考lambda一节,说其和fn相同,fn是其更方便的简写。下面的两个例子分别使用了lambda和fn,效果完全一样。它们都对map中的list做了加法操作。
&
newlsip 检查磁盘分区使用情况
new
主要还是用df -k这个命令,然后将输出结果全部逐行解析,最后调用REST API,发送给服务器保存。
参考代码:
#!/usr/bin/newlisp
(set 'cur-path "/opt/detector")
(load (append cur-path "/config.lsp"))
(define (add-log
Jenkins build失败条件
Jenkins
在Jenkins 项目写了很多剧本。有时候,我发现脚本失败,但Jenkins运行成功。
Jenkins无论是通过退出代码0比量build成功。
因此,newLISP在。您可以使用(exit)对于成功。(exit 1)它表示失败。
这样就须要添加一些脚本的推断,比方:
(unless (HDFS:test-file export-folder)
(begin
(printl
newLISP — 交互式教程
银月光海
这份文档于2006年5月被RickHanson(
[email protected])做了一些修正和更新后被转换成html文档。2008年12月被L.M更新到v.10.0版本.版权所有JohnW.Small2004。你可以到newLISP官方网站 www.newLISP.org 下载和安装这门语言。关于这个教程的任何意见和问题请发邮件到
[email protected]。中文版翻译时,newL
newLISP® 代码模式
银月光海
newLISP® 代码模式Version2012February14thnewLISP v.10.4.0Copyright©2012LutzMueller, www.nuevatec.com.Allrightsreserved.Chinesetranslationscopyright©2012 shortstory黄登(winger) Permissionisgrantedtocopy,distr
使用NewLisp设计Key-Value数据库系统
句龙胤
数据库lispkey-valueNewLisp
Lisp是一个很好的语言,最强大的就是其S-表达式,可以说是Lisp能活到今天的唯一一个原因。其次就是函数为基本类型和后来的闭包。当然Lisp也有很大的缺点,即:一般的设计师难以避免Lisp的缺点。Lisp有很多方言,很多子系列,可以说百花齐放,也可以说是散沙一盘。这就是Lisp的优点之一,同时也是其缺点之一,但是这些缺点主要是用Lisp的人造成的,而之所以会这样,是因为Lisp太容易滥用了(其缺
在NewLisp中实现匿名函数的递归
句龙胤
匿名函数递归lambdalispNewLisp
匿名函数在很多语言中的表现形式大概如下:(lambda (n)
(* (+ n 1) (- n 1)))只有参数列表和函数体,而没有名字。在大部分情况下没问题,但是一旦需要用到递归的话,就有点麻烦了,因为不知道如何去递归的调用一个匿名函数。在学术界中有一些解决这个问题的办法,其中一个就是Y组合子,但是那个太繁琐,而且难以通过宏自动将一个lambda变成可递归形式,没什么好处。根据历史经验,目前
用Hadoop Streaming技术集成newLISP脚本
超人学院
hadoophdfs
本文example6环境和之前的Hadoop1.x不同,是在Hadoop2.x环境下测试。功能和前面的日志处理程序一样。第一个newLISP脚本,起到mapper的作用,在stdin中读取文本数据,将did作为key,value为1,然后将结果输出到stdout第二个newLISP脚本,起到reducer的作用,在stdin中读取,key是dic,values是所有的value,简单对value求
newLISP数据拟合
阿尔萨斯
lisp
有时候需要拟合数据,比如某周五的数据因故无法生成, 可以用下面的算法简单拟合。
计算前两周的周四,周五的环比(邻比), 两个邻比求平均后加1, 乘以 周四的数据,得到周五的数据。
用newLISP实现代码很简单:
参考下面的示例:
#!/usr/bin/newlisp
(define (adjacent-div a b)
(div (sub b a) a))
(define
mondb入手
木zi_鸣
mongodb
windows 启动mongodb 编写bat文件,
mongod --dbpath D:\software\MongoDBDATA
mongod --help 查询各种配置
配置在mongob
打开批处理,即可启动,27017原生端口,shell操作监控端口 扩展28017,web端操作端口
启动配置文件配置,
数据更灵活 
大型高并发高负载网站的系统架构
bijian1013
高并发负载均衡
扩展Web应用程序
一.概念
简单的来说,如果一个系统可扩展,那么你可以通过扩展来提供系统的性能。这代表着系统能够容纳更高的负载、更大的数据集,并且系统是可维护的。扩展和语言、某项具体的技术都是无关的。扩展可以分为两种:
1.
DISPLAY变量和xhost(原创)
czmmiao
display
DISPLAY
在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下内容:DISPLAY=:0.0
获取B/S客户端IP
周凡杨
java编程jspWeb浏览器
最近想写个B/S架构的聊天系统,因为以前做过C/S架构的QQ聊天系统,所以对于Socket通信编程只是一个巩固。对于C/S架构的聊天系统,由于存在客户端Java应用,所以直接在代码中获取客户端的IP,应用的方法为:
String ip = InetAddress.getLocalHost().getHostAddress();
然而对于WEB
浅谈类和对象
朱辉辉33
编程
类是对一类事物的总称,对象是描述一个物体的特征,类是对象的抽象。简单来说,类是抽象的,不占用内存,对象是具体的,
占用存储空间。
类是由属性和方法构成的,基本格式是public class 类名{
//定义属性
private/public 数据类型 属性名;
//定义方法
publ
android activity与viewpager+fragment的生命周期问题
肆无忌惮_
viewpager
有一个Activity里面是ViewPager,ViewPager里面放了两个Fragment。
第一次进入这个Activity。开启了服务,并在onResume方法中绑定服务后,对Service进行了一定的初始化,其中调用了Fragment中的一个属性。
super.onResume();
bindService(intent, conn, BIND_AUTO_CREATE);
base64Encode对图片进行编码
843977358
base64图片encoder
/**
* 对图片进行base64encoder编码
*
* @author mrZhang
* @param path
* @return
*/
public static String encodeImage(String path) {
BASE64Encoder encoder = null;
byte[] b = null;
I
Request Header简介
aigo
servlet
当一个客户端(通常是浏览器)向Web服务器发送一个请求是,它要发送一个请求的命令行,一般是GET或POST命令,当发送POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request Header) 用以指明请求数据的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers,如:
HttpClient4.3 创建SSL协议的HttpClient对象
alleni123
httpclient爬虫ssl
public class HttpClientUtils
{
public static CloseableHttpClient createSSLClientDefault(CookieStore cookies){
SSLContext sslContext=null;
try
{
sslContext=new SSLContextBuilder().l
java取反 -右移-左移-无符号右移的探讨
百合不是茶
位运算符 位移
取反:
在二进制中第一位,1表示符数,0表示正数
byte a = -1;
原码:10000001
反码:11111110
补码:11111111
//异或: 00000000
byte b = -2;
原码:10000010
反码:11111101
补码:11111110
//异或: 00000001
java多线程join的作用与用法
bijian1013
java多线程
对于JAVA的join,JDK 是这样说的:join public final void join (long millis )throws InterruptedException Waits at most millis milliseconds for this thread to die. A timeout of 0 means t
Java发送http请求(get 与post方法请求)
bijian1013
javaspring
PostRequest.java
package com.bijian.study;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURL
【Struts2二】struts.xml中package下的action配置项默认值
bit1129
struts.xml
在第一部份,定义了struts.xml文件,如下所示:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts
【Kafka十三】Kafka Simple Consumer
bit1129
simple
代码中关于Host和Port是割裂开的,这会导致单机环境下的伪分布式Kafka集群环境下,这个例子没法运行。
实际情况是需要将host和port绑定到一起,
package kafka.examples.lowlevel;
import kafka.api.FetchRequest;
import kafka.api.FetchRequestBuilder;
impo
nodejs学习api
ronin47
nodejs api
NodeJS基础 什么是NodeJS
JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。
每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了docum
java-64.寻找第N个丑数
bylijinnan
java
public class UglyNumber {
/**
* 64.查找第N个丑数
具体思路可参考 [url] http://zhedahht.blog.163.com/blog/static/2541117420094245366965/[/url]
*
题目:我们把只包含因子
2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14
二维数组(矩阵)对角线输出
bylijinnan
二维数组
/**
二维数组 对角线输出 两个方向
例如对于数组:
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 },
slash方向输出:
1
5 2
9 6 3
13 10 7 4
14 11 8
15 12
16
backslash输出:
4
3
[JWFD开源工作流设计]工作流跳跃模式开发关键点(今日更新)
comsci
工作流
既然是做开源软件的,我们的宗旨就是给大家分享设计和代码,那么现在我就用很简单扼要的语言来透露这个跳跃模式的设计原理
大家如果用过JWFD的ARC-自动运行控制器,或者看过代码,应该知道在ARC算法模块中有一个函数叫做SAN(),这个函数就是ARC的核心控制器,要实现跳跃模式,在SAN函数中一定要对LN链表数据结构进行操作,首先写一段代码,把
redis常见使用
cuityang
redis常见使用
redis 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 strings、map、 list、sets、 sorted sets
引入jar包 jedis-2.1.0.jar (本文下方提供下载)
package redistest;
import redis.clients.jedis.Jedis;
public class Listtest
配置多个redis
dalan_123
redis
配置多个redis客户端
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&quo
attrib命令
dcj3sjt126com
attr
attrib指令用于修改文件的属性.文件的常见属性有:只读.存档.隐藏和系统.
只读属性是指文件只可以做读的操作.不能对文件进行写的操作.就是文件的写保护.
存档属性是用来标记文件改动的.即在上一次备份后文件有所改动.一些备份软件在备份的时候会只去备份带有存档属性的文件.
Yii使用公共函数
dcj3sjt126com
yii
在网站项目中,没必要把公用的函数写成一个工具类,有时候面向过程其实更方便。 在入口文件index.php里添加 require_once('protected/function.php'); 即可对其引用,成为公用的函数集合。 function.php如下:
<?php /** * This is the shortcut to D
linux 系统资源的查看(free、uname、uptime、netstat)
eksliang
netstatlinux unamelinux uptimelinux free
linux 系统资源的查看
转载请出自出处:http://eksliang.iteye.com/blog/2167081
http://eksliang.iteye.com 一、free查看内存的使用情况
语法如下:
free [-b][-k][-m][-g] [-t]
参数含义
-b:直接输入free时,显示的单位是kb我们可以使用b(bytes),m
JAVA的位操作符
greemranqq
位运算JAVA位移<<>>>
最近几种进制,加上各种位操作符,发现都比较模糊,不能完全掌握,这里就再熟悉熟悉。
1.按位操作符 :
按位操作符是用来操作基本数据类型中的单个bit,即二进制位,会对两个参数执行布尔代数运算,获得结果。
与(&)运算:
1&1 = 1, 1&0 = 0, 0&0 &
Web前段学习网站
ihuning
Web
Web前段学习网站
菜鸟学习:http://www.w3cschool.cc/
JQuery中文网:http://www.jquerycn.cn/
内存溢出:http://outofmemory.cn/#csdn.blog
http://www.icoolxue.com/
http://www.jikexue
强强联合:FluxBB 作者加盟 Flarum
justjavac
r
原文:FluxBB Joins Forces With Flarum作者:Toby Zerner译文:强强联合:FluxBB 作者加盟 Flarum译者:justjavac
FluxBB 是一个快速、轻量级论坛软件,它的开发者是一名德国的 PHP 天才 Franz Liedke。FluxBB 的下一个版本(2.0)将被完全重写,并已经开发了一段时间。FluxBB 看起来非常有前途的,
java统计在线人数(session存储信息的)
macroli
javaWeb
这篇日志是我写的第三次了 前两次都发布失败!郁闷极了!
由于在web开发中常常用到这一部分所以在此记录一下,呵呵,就到备忘录了!
我对于登录信息时使用session存储的,所以我这里是通过实现HttpSessionAttributeListener这个接口完成的。
1、实现接口类,在web.xml文件中配置监听类,从而可以使该类完成其工作。
public class Ses
bootstrp carousel初体验 快速构建图片播放
qiaolevip
每天进步一点点学习永无止境bootstrap纵观千象
img{
border: 1px solid white;
box-shadow: 2px 2px 12px #333;
_width: expression(this.width > 600 ? "600px" : this.width + "px");
_height: expression(this.width &
SparkSQL读取HBase数据,通过自定义外部数据源
superlxw1234
sparksparksqlsparksql读取hbasesparksql外部数据源
关键字:SparkSQL读取HBase、SparkSQL自定义外部数据源
前面文章介绍了SparSQL通过Hive操作HBase表。
SparkSQL从1.2开始支持自定义外部数据源(External DataSource),这样就可以通过API接口来实现自己的外部数据源。这里基于Spark1.4.0,简单介绍SparkSQL自定义外部数据源,访
Spring Boot 1.3.0.M1发布
wiselyman
spring boot
Spring Boot 1.3.0.M1于6.12日发布,现在可以从Spring milestone repository下载。这个版本是基于Spring Framework 4.2.0.RC1,并在Spring Boot 1.2之上提供了大量的新特性improvements and new features。主要包含以下:
1.提供一个新的sprin