<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhangle]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhangle2006</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhangle2006]]></copyright><item><title><![CDATA[在 macOS 上选 SSH 客户端？SecureCRT vs ShellBean 深度对比]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/158689125</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/158689125</guid><author>zhangle2006</author><pubDate>Thu, 05 Mar 2026 09:49:34 +0800</pubDate><description><![CDATA[在 macOS 上选 SSH 客户端？SecureCRT 与 ShellBean 是 macOS 上两款风格迥异的 SSH 客户端。前者主打专业稳定与强大脚本能力，后者强调现代体验。]]></description><category></category></item><item><title><![CDATA[让 SSH 登录更安全更便捷：ShellBean 支持 1Password SSH Agent 登录]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/150347825</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/150347825</guid><author>zhangle2006</author><pubDate>Wed, 13 Aug 2025 15:32:28 +0800</pubDate><description><![CDATA[ShellBean 通过 ShellHelper 对接 SSH Agent，让用户能够直接利用 1Password 中的密钥登录远程主机，不再需要担心密钥重复导入或泄露问题。这不仅是对安全的增强，更是对用户体验的优化。]]></description><category></category></item><item><title><![CDATA[适用于 iPad 和 iPhone 的 5 款最佳终端/SSH 应用程序]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/147015406</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/147015406</guid><author>zhangle2006</author><pubDate>Sat, 05 Apr 2025 20:42:05 +0800</pubDate><description><![CDATA[本文将评测iOS平台上的SSH客户端应用，旨在提供更好的SSH操作体验.]]></description><category></category></item><item><title><![CDATA[专为 iPad 优化的 SSH & SFTP 管理工具 ShellBean —— 多窗口与多任务的强大结合]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/146944967</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/146944967</guid><author>zhangle2006</author><pubDate>Wed, 02 Apr 2025 13:47:44 +0800</pubDate><description><![CDATA[在服务器管理领域，ShellBean 一直以其出色的 SSH 和 SFTP 管理功能备受用户青睐。如今，ShellBean 经过优化，针对 iPad 的多窗口与多任务能力做了深度适配。这一版本的升级，使 iPad 成为了专业人士进行服务器管理的更高效工具。本文将从多任务支持、性能表现、界面设计、用户体验等多个维度，详细评测 ShellBean 在 iPad 上的表现。]]></description><category></category></item><item><title><![CDATA[使用Hibernate Interceptor和Annotation实现父子关系的计数]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83407169</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83407169</guid><author>zhangle2006</author><pubDate>Tue, 16 Jun 2009 14:52:49 +0800</pubDate><description><![CDATA[Hibernate中，对于domain model之间的父子关系，有时需要父对象需要得知子对象的数目，常规的做法是用一条sql语句&quot;select count(*) ...&quot;。

更好的做法可以借鉴RoR，在父对象中设置一个保存子对象数目的字段，添加删除的时候对这个字段进行更新。

但对这个字段进行更新的时候，往往需要显式的对父对象进行更新，比如create Topic时需要：
[code...]]></description><category></category></item><item><title><![CDATA[sicp 习题 2.26 ~ 2.30]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83296196</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83296196</guid><author>zhangle2006</author><pubDate>Tue, 04 Nov 2008 12:00:52 +0800</pubDate><description><![CDATA[2.26
[code=&quot;java&quot;]
(define x (list 1 2 3))
(define y (list 4 5 6))
(append x y)
(cons x y)
(list x y)

(define z (list x y))

(car z)
(cdr z)
[/code]

2.27
[code=&quot;java&quot;]
(define nil '(...]]></description><category></category></item><item><title><![CDATA[sicp 习题 2.21 ~ 2.25]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83296191</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83296191</guid><author>zhangle2006</author><pubDate>Tue, 04 Nov 2008 11:53:44 +0800</pubDate><description><![CDATA[2.21
[code=&quot;java&quot;]
(define nil '())

(define (square x)
  (* x x))

(define (square-list items)
  (if (null? items)
      nil
      (cons (square (car items)) (square-list (cdr items)))))
...]]></description><category></category></item><item><title><![CDATA[sicp 习题 2.17 ~ 2.20]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83296190</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83296190</guid><author>zhangle2006</author><pubDate>Tue, 04 Nov 2008 11:51:10 +0800</pubDate><description><![CDATA[2.17
[code=&quot;java&quot;]
(define (my-last-pair l)
  (if (null? (cdr l))
      (car l)
      (last-pair (cdr l))))

(my-last-pair (list 23 72 149 34))
[/code]

2.18
[code=&quot;java&quot;]
(define (my-reve...]]></description><category></category></item><item><title><![CDATA[sicp 习题 2.12 ~ 2.13]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83296189</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83296189</guid><author>zhangle2006</author><pubDate>Tue, 04 Nov 2008 11:49:10 +0800</pubDate><description><![CDATA[2.12
[code=&quot;java&quot;]
(define (add-interval x y)
  (make-interval (+ (lower-bound x) (lower-bound y))
                 (+ (upper-bound x) (upper-bound y))))

(define (sub-interval x y)
  (add-inte...]]></description><category></category></item><item><title><![CDATA[Java的singleton模式的double-check问题]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83295033</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83295033</guid><author>zhangle2006</author><pubDate>Thu, 30 Oct 2008 11:56:50 +0800</pubDate><description><![CDATA[以下是double-checked locking的java代码:
[code=&quot;java&quot;]
public class Singleton {
    private Singleton instance = null;
    public static Singleton getInstance() {
        if (instance == null) {
      ...]]></description><category></category></item><item><title><![CDATA[sicp 习题 2.6 ~ 2.10]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83294120</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83294120</guid><author>zhangle2006</author><pubDate>Mon, 27 Oct 2008 11:43:49 +0800</pubDate><description><![CDATA[2.6
[code=&quot;java&quot;](define zero (lambda (f) (lambda (x) x)))

(define (add-1 n)
  (lambda (f) (lambda (x) (f ((n f) x)))))

((zero 4) 3)
(add-1 5 1)[/code]
2.7
[code=&quot;java&quot;](define (add-interva...]]></description><category></category></item><item><title><![CDATA[sicp 习题 2.1 ~ 2.5]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83291487</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83291487</guid><author>zhangle2006</author><pubDate>Wed, 15 Oct 2008 16:49:45 +0800</pubDate><description><![CDATA[2.1
[code=&quot;java&quot;](define (make-rat n d)
  (let ((g (gcd n d)))
    (cond ((and (&lt; n 0) (&gt; d 0)) (cons (/ n g) (/ d g)))
          ((and (&gt; n 0) (&gt; d 0)) (cons (/ n g) (/ d g)))
          (else (c...]]></description><category></category></item><item><title><![CDATA[sicp 习题 1.42 ~ 1.46]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83291481</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83291481</guid><author>zhangle2006</author><pubDate>Wed, 15 Oct 2008 16:47:54 +0800</pubDate><description><![CDATA[1.42
[code=&quot;java&quot;](define (my-compose f g)
  (lambda (x)
    (f (g x))))

(define (inc x)
  (+ x 1))

(define (square x)
  (* x x))

((my-compose square inc) 6)[/code]

1.43
[code=&quot;java&quot;...]]></description><category></category></item><item><title><![CDATA[sicp 习题 1.38 ~ 1.41]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83291478</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83291478</guid><author>zhangle2006</author><pubDate>Wed, 15 Oct 2008 16:45:47 +0800</pubDate><description><![CDATA[1.38
[code=&quot;java&quot;](define (cont-frac n d i k)
  (if (= k 1)
      (/ (n 1) (d 1))
      (/ (n i) (+ (d i) (cont-frac n d (+ i 1) (- k 1))))))

(define (cont-frac-r n d k)
  (define (frac i)
  ...]]></description><category></category></item><item><title><![CDATA[sicp 习题 1.34 ~ 1.37]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83291475</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83291475</guid><author>zhangle2006</author><pubDate>Wed, 15 Oct 2008 16:43:55 +0800</pubDate><description><![CDATA[1.34
[code=&quot;java&quot;](define (square n)
  (* n n))

(define (f g)
  (g 2))

(f square)

(f (lambda (z) (* z (+ z 1))))

(f f)[/code]

1.35
[code=&quot;java&quot;](define tolerance 0.00001)

(define...]]></description><category></category></item><item><title><![CDATA[sicp 习题 1.29 ~ 1.33]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83291472</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83291472</guid><author>zhangle2006</author><pubDate>Wed, 15 Oct 2008 16:41:45 +0800</pubDate><description><![CDATA[1.29
[code=&quot;java&quot;](define (inc n) (+ n 1))

(define (cube a) (* a a a))

(define (sum term a next b)
  (if (&gt; a b)
      0
      (+ (term a)
         (sum term (next a) next b))))

(define ...]]></description><category></category></item><item><title><![CDATA[sicp 习题 1.21 ~ 1.22]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83291467</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83291467</guid><author>zhangle2006</author><pubDate>Wed, 15 Oct 2008 16:38:16 +0800</pubDate><description><![CDATA[1.21
[code=&quot;java&quot;](define (smallest-divisor n)
  (find-divisor n 2))

(define (find-divisor n test-divisor)
  (cond ((&gt; (square test-divisor) n) n)
        ((divides? test-divisor n) test-diviso...]]></description><category></category></item><item><title><![CDATA[sicp 习题 1.10 ~ 1.17]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83291463</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83291463</guid><author>zhangle2006</author><pubDate>Wed, 15 Oct 2008 16:35:17 +0800</pubDate><description><![CDATA[1.10
[code=&quot;java&quot;]
(define (A x y)
  (cond ((= y 0) 0)
        ((= x 0) (* 2 y))
        ((= y 1) 2)
        (else (A (- x 1)
                 (A x (- y 1))))))

(define (f n) (A 0 n))
(defi...]]></description><category></category></item><item><title><![CDATA[Ackermann函数]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83290082</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83290082</guid><author>zhangle2006</author><pubDate>Thu, 09 Oct 2008 10:35:52 +0800</pubDate><description><![CDATA[Ackermann函数的定义见图。 详细请参考[url]http://en.wikipedia.org/wiki/Ackermann_function[/url]
(A 1 n) = 2^n 
(A 2 n) = 2^(2^(2^(....^(2^2)))) (共n个2）

用scheme语音定义为
[code=&quot;java&quot;]
(define (A x y)
  (cond ((= ...]]></description><category></category></item><item><title><![CDATA[在eclipse中用jetty和cactus为servlet做单元测试]]></title><link>https://blog.youkuaiyun.com/zhangle2006/article/details/83287652</link><guid>https://blog.youkuaiyun.com/zhangle2006/article/details/83287652</guid><author>zhangle2006</author><pubDate>Wed, 24 Sep 2008 23:01:33 +0800</pubDate><description><![CDATA[1. 下载jetty，解压到安装目录并在eclipse中做好配置。
2. 下载cactus，将lib目录下的aspectjrt-1.5.3.jar， cactus.core.framework.uberjar.javaEE.14-1.8.0.jar， commons-httpclient-3.1.jar，commons-logging-1.1.jar，httpunit-1.6.jar，junit...]]></description><category></category></item></channel></rss>