Time of Update: 2018-12-04
寫一個newlisp指令碼,執行時有時需要傳遞參數,比如一個串連tcp server的測試程式,執行時需要指定伺服器IP地址和連接埠號碼。newlisp try.lsp localhost 9999newlisp中的mai-args代表了所有的傳遞參數,包括命令本身,因此:(println main-args)顯示結果如下:("newlisp" "try.lsp" "localhost" "9999")main-args還接受一個整數作為參數,用來提取單個參數,index從0開始因此(set '
Time of Update: 2018-12-04
1.從這裡下載win32的安裝包:http://www.newlisp.org/index.cgi?page=Downloadsnewlisp.exe預設會安裝在C:\Program Files (x86)\newlisp\newlisp.exe運行該程式,用下面的代碼測試一下utf-8是否支援:(if utf8 (println
Time of Update: 2018-12-04
newlisp對檔案操作的支援有限,還是要自己做一些額外的工作。現在來擷取linux下的檔案名稱。輸入是檔案路徑,返迴文件名。;; get the file name without path(define (file-name file-full-path) (unless (file? file-full-path) (throw-error (append "file doesn't exist, file-full-path:" file-full-path))) (if
Time of Update: 2018-12-04
首先擷取newlisp-mode項目:~/work$ git clone https://github.com/may/newlisp-mode.git然後在~/.emacs檔案中添加配置:;; newLISP mode(add-to-list 'load-path (expand-file-name "/opt/emacs_plugins/newlisp/newlisp-mode/"))(load-file
Time of Update: 2018-12-04
有時候,我們需要一個方法擷取自己上網的公網IP地址,可以無需編程,通過訪問網站http://www.ip138.com/即可知道。不過這種方法不適合系統自動化營運。寫C++或者其他程式是不是太麻煩了點。用newlisp來快速實現一個如何。先看實現伺服器的代碼:#!/usr/bin/newlisp ;; sender listens(constant 'max-bytes 1024)(if (not (set 'listen (net-listen 7980))) (print
Time of Update: 2018-12-04
下面的代碼都是newlisp, 在crontab的協助下實現定時備份git倉庫和mysql資料庫。因為git lab的資料存放在這裡。事實上,newlisp很適合做營運指令碼。git_backup.lsp檔案:(set 'folder-name (date (date-value) 0 "%Y-%m-%d"))(println folder-name)(set 'folder-name2 (date (date-value) -2880 "%Y-%m-%d"))(set 'base-path "
Time of Update: 2018-12-04
在windows上面很簡單,直接建立lsp檔案,開始寫newlisp代碼,只是不要忘記退出用(exit)就行了。比如:(env "J" "A")(println (env "J"))(exit)運行時,windows平台需要執行newlisp your.lsp.但是在Linux上面,需要多做兩件事情:1. 第一行設定成如下:#!/usr/bin/newlisp2. 修改檔案許可權chmod+x
Time of Update: 2018-12-04
用AMD模組寫了一額select.js,用來協助我動態建立options,並選中其中一個。調用代碼參考例子: var s5 = this.select.create(); s5.bind("s5"); s5.addOption(0, "GMT+0"); s5.addOption(1, "GMT-8"); s5.addOption(2, "GMT+8");
Time of Update: 2018-12-04
通常,我認為一個Composite compnent應該儘可能的擁有完善的行為。盡量避免暴露過多的介面給使用者。沿著這個方向,我繼續晚上我們的htmlinput2。本節添加一個validator,並且當驗證失敗的時候,會顯示一個message。下面的代碼:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Time of Update: 2018-12-04
先從這裡下載crypto.lsp檔案:http://www.newlisp.org/code/modules/crypto.lsp.html然後在Ubuntu12.04/12.10 amd64下安裝需要的庫:apt-get install libssl0.9.8之後建立一個連結:ln -s /lib/x86_64-linux-gnu/libcrypto.so.0.9.8 /usr/lib/32位系統的話執行下面的命令:sudo ln -s
Time of Update: 2018-12-04
本節將實現一個HtmlInput tag,仍然是Noncomposite Component。接受使用者的輸入,點擊按鈕後,會顯示使用者輸入的資訊。有朋友要看,我也想show一下,可是圖片上傳失敗。在這個系列文章結束的時候,我會上傳My
Time of Update: 2018-12-04
Ajax Ajax特性很簡單,修改一下xhtml檔案的commandButton代碼如下: <h:commandButton id="clickButton" value="Click Me!" actionListener="#{inputBean.print}"> <f:ajax execute="in" render="out" /> </h:commandbutton> 通過Ajax發送給Server的資料包含在id為"
Time of Update: 2018-12-04
第四部分 第一個簡單的Composite Component 自己編寫html標記的輸出是繁瑣的,更何況可能還要支援其他的用戶端的標記語言。好在我們可以複用JSF2的標準tags.本節實現前一節HtmlInput tag的介面,稱之為HtmlInput2 tag。完整的功能將在後面一節中實現。首先,在src/main/resources/META-INF/下建立目錄jsfex,在jsfex目錄下建立HtmlInput2.xhtml檔案,內容如下:<?xml version="1.0"
Time of Update: 2018-12-04
第二部分 有獨立Renderer的Noncomposite Component<verse> 通常一個UI
Time of Update: 2018-12-04
本文主要介紹用Maven3建立一個簡單的JSF2web應用程式,該程式僅僅包含一個非常簡單的Facelete頁面index.xhtml。同時該工程還使用了MyBatis和logback等庫。我自己將該工程作為一個模板工程。建立Web程式的命令使用maven-archetype-webapp命令建立程式,具體格式如下:mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's
Time of Update: 2018-12-04
在Silverlight 1.0發布的一年之後,今天,太平洋標準時間的午夜,北京時間的下午,Silverlight
Time of Update: 2018-12-04
在寫這一章的時候,沒有想到遇到很多的困難。現在簡單的說一下:1.添加taglib.xml檔案裡面的namespace看上去很美,但是帶來了很大的困擾—EL運算式失效。這是我和另一位程式員在java.net上的文章。http://www.java.net/forum/topic/glassfish/glassfish-webtier/el-composite-component-taglib-jsf20目前我的解決方案是繞過這個問題,只採用標準namespace,也就是http://java.s
Time of Update: 2018-12-04
由於某些原因,我們與這裡的部落格小別了一段時間。並不是因為我們對傳播Silverlight的相關知識喪失了激情,也並非這段時間沒有Silverlight的相關故事,只是在研發團隊內部發生了一些小小的變動,我們在根據變動調整自己,也在根據變動計劃將來。細心的朋友一定會發現這個部落格的名字有一些小小的改動,CLR的概念被提了上來,也被放在了所有話題的最前面。沒錯,這兩個月來,團隊人員發生了一些小小的改變,開發及測試人員進行了重組。而我們項目關注的領域也從原先基於.NET技術的Silverlight轉
Time of Update: 2018-12-04
系統營運時有時候需要用指令碼來修改設定檔newlisp下如何修改檔案呢。下面有個簡單的例子,來自別人回答我的問題:(set 'input-file {/tmp/temp.txt})(set 'lines (parse (read-file input-file) "\n"))(replace "ENGINE_HOME=" lines "ENGINE_HOME=/opt/engine_home")(write-file input-file (join lines "\n")) 上面的例子是把/
Time of Update: 2018-12-04
微軟中國研發集團伺服器與開發工具事業部近期調整了個別研發項目,我們希望專註於創新,並不斷加深在部分產品和技術開發上的廣度和深度。CLR/Silverlight小組所負責的Interop和JIT項目將近期移交給美國團隊,所有工程師也將於近期轉入事業部其他的大項目組,這也意味著我們從即日起揮別這個耕耘了三年的中文部落格。 如果您對CLR相關的內容感興趣,請訪問美國團隊的部落格:http://blogs.msdn.com/clrteam/。 最後,感謝大家對本部落格的長期關注和支援!我們期待在事業部的