自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一叶不知秋

谁家今夜扁舟子, 何处相思明月楼?

  • 博客(375)
  • 资源 (33)
  • 收藏
  • 关注

原创 SciPy 最优化之最小化

SciPy 是一个开源的算法库和数学工具包,可以处理最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解器等。为什么 SciPy 没有 maximize 方法呢,因为没有必要,想要找到最大化的值,只要把目标函数的值取反,或者是模或绝对值的最小值。虽然 SciPy 对特定的问题有更直白的函数,如求根有 optimize.root, 线性规则 optimize.linprog(现不建议使用),但各种优化基本都可以回归到 minimize 方法调用。

2024-12-12 23:05:49 288

原创 跨 CA 签发多个证书的 Nginx mTLS 配置

今天升级了 ChatGPT 为 Plus 版本,可以用 ChatGPT 4o, 确实是比较强,输入 "mtls 不同 ca 签发的服务端客户端证书在 nginx 中的配置" 提示符产生的内容几乎可以直接作为博文。但本人必须遵循本博客非 AI 产生的原则,只参考 ChatGTP 的答案,关键是一个要自己亲自动手验证并理解每一项配置的功用。研究过用同一个 CA 签发的服务端和客户端证书的 Nginx mTLS 配置,本文要试验一番服务端和客户端证书由不同 CA 机构签发的情形。

2024-12-03 13:22:10 239

原创 Wireshark 查看本地浏览器的 HTTPS 加密通信

继续 TLS(或 SSL, HTTPS) 的话题。但既然是本地浏览器能理解的网页内容,只要浏览器留了口子的话,也是有办法在 WireShark 中显示出抓取到的 HTTPS 的内容,那就是设置环境变量 SSLKEYLOGFILE, 然后启动浏览器(FireFox 或 Chrome), 就会把通信过程中的密钥记录到文件中,WireShark 中引用该 SSLKEY 文件就能显示出确切的 HTTP 请求的内容。

2024-12-02 01:29:08 518

原创 自签发证书配置 HTTPS 单向双向验证

如果是不被信任 CA 签发的证书,我们在浏览器中打开相应的 HTTPS url 就会看到 'Not Secure - Your connection is not private' 的提示,要继续访问需自行承担可能的安全责任。近来再次对 HTTPS/TLS 来了劲,自己的博客用的是 Let's Encrypt 签发的证书,这次实践一下自签发证书的过程与配置,并实现单向和双向的认证方式。证书是含有组织与域名或(CA) 信息以及公钥的文件, root.key 和 root.crt 将被用于签发其他的证书。

2024-12-02 01:28:35 509

原创 TLS 与 mTLS 的私钥交换过程

SSL 由 Netscape 于 90 年代开发,SSL1.0(94 年,未公开), SSL 2.0(95 年发布), SSL 3.0(96 年发布), 后来 IETF 出了个 TLS 1.0 作为 SSL 3.0 的继承者,再就是后面的 TLS 1.1(2006), 1.2(2008), 1.3(2018)。2015 年 TLS 正式的取代了 SSL,从此江湖不再有 SSL 了,而我们习惯说的 SSL 只是在向曾经的 Netscape 致敬,其实指代的就是 TLS。

2024-11-27 16:09:14 295

原创 Ollama - 简化使用本地大语言模型

学习完用 Transformers 和 llama.cpp 使用本地大语言模型后,再继续探索如何使用 Ollama 跑模型。Ollama 让运行和管理大语言模型变得更为简单,它构建在 llama.cpp 之上,并有优化,性能表现同样不俗。下面罗列一下它的特点。其他更多特性我们将在使用当中体验,仍然是在 i9-13900F + 64G 内存 + RTX 4090 + Ubuntu 22.4 台上进行。

2024-11-27 16:08:13 585

原创 用 llama.cpp 体验 Meta 的 Llama AI 模型

如果对模型进一步量化,如精度量化到 4 位整数,则所需显存大小降为原来的 1/4 到 1/3, 意味着 3B 模型只要 2 G 显存就能进行推理。注:数据类型 torch.float32, torch.bfloat16, 与 torch.float16 有不同的指数(Exponent),尾数(Fraction)宽度, 它们都有一位是符号位,所以剩下的分别为指数位和尾数位宽度, torch.float32(8, 23), torch.bfloat16(8, 7), torch.float16(5, 10)。

2024-11-27 16:07:35 528

原创 Oracle, PostgreSQL 字符串排序不一致及调整

有一个使用了不同数据库的应,Oracle 和 PostgreSQL,数据库中的记录完全相同,相同的查询语句(相同的排序,至少从字面上来说是的)取到的记录排序却不同,从而产生了 Bug。简单演示一下默认排序各自在这两种数据库中的行为, 比如说表中有两条记录,'VFORX' 和 'ibbVA'。

2024-11-27 16:06:56 498

原创 ECS Task Definition 中需要的 image:tag 明明在 ECR 中存在却找不到 image

然而最近突然不起作用了,本地不断的修改代码,构建新的镜像,覆盖原有 Tag, 重启 Task, 可是依旧跑的是老代码。这是近些天遇到的一个问题,因为早先使用 ECS 为求快速验证新的 Docker Image, 一直是用相同的 Tag 覆盖 ECR 中原有的 Docker Image,然后停掉 ECS 中相应的 Task, 新的 Task 起来,拉取最新 Docker Image,这样不用重新部署 Infrastructure, 以最小的改动就能达到偷梁换柱的效果。

2024-11-27 16:06:26 250

原创 试用 Llama-3.1-8B-Instruct AI 模型

IT 从业人员累的一个原因是要紧跟时代步伐,甚至是被拽着赶,更别说福报 996. 从早先 CGI, ASP, PHP, 到 Java, .Net, Java 开发是 Spring, Hibernate, 而后云时代 AWS, Azure, 程序一路奔波在掌握工具的使用。而如今言必提的 AI 模型更是时髦,n B 参数, 量化, 微调, ML, LLM, NLP, AGI, RAG, Token, LoRA 等一众词更让坠入云里雾里。所以在手机上可以离线轻松跑一个 1B 的模型。

2024-11-27 16:05:53 809

原创 Python logging 使用笔记

使用 Python 的话用不着像 Java 那样是考虑用 Logback 还是 Log4J 的问题,因为它内置提供了完备功能的 logging 库。虽然 JDK 也有 java.util.logging(JUL), 它的特性其实也不差,如日志级别,输出格式,不同的输出目的地的选择,但在 Logback 和 Log4J 的光环之下几乎无人问津。相比而言 Python 的 logging 却极为受宠,非必要时基本不会去考虑引入第三方的日志库,如, 尽管它们也很出色,毕竟是庶出。

2024-11-26 14:04:16 409 1

原创 多线程环境中使用 Mockito 来 Mock 静态方法

首先回顾一下 Mockito 的静态方法 Mock 的使用方法,随着 Mockito 版本的升级,引入依赖的方式也发生了些许的变化,以 Maven 项目为例,如果在 JUnit 5 下用 Mockito 的 pom.xml 依赖中为。,最后对 Mockito 产生的缺憾是它无法用来 Mock 非测试线程(主线程)中的静态方法调用。其实这也是可以变通的,下面慢慢道来。回看三年前的一篇日志。由它引入的全部相关依赖。

2024-11-26 14:03:42 437

原创 Java, Python 两种形式的 base64encode

在用 Python 写 Web 服务端代码时,用 base64.encodebytes() 函数对字符串进行编码,然后在 Java 端用 Base64.getDecoder().decode() 时无法解码,难道 base64 编码在两种语言间还有这等差异。Google 一下,得到的答案是在 Java 端要用 Base64.getMimeDecoder().decode() 函数解码。这一问题算是解决了, 不过后来又在 Python 写的 AWS Lambda 中输出。

2024-11-26 14:02:52 161

原创 ThreadLocal, InheritableThreadLocal 以及 TransmittableThreadLocal

ThreadLocal 用于保存与线程绑定的数据,它在框架内部使用的很频繁,但凡见到 XxxContextHolder.currentContext() 之类的十之八九用到了 ThreadLocal, 如 Spring 框架中的。ThreadLocal 是 Java 编程人员要掌握的一个基本类,似乎没什么太多要说。但因为本文要牵出 TransmittableThreadlLocal, 再顺带说下几乎隐形的 InheritableThreadLocal。

2024-11-26 14:02:10 154

原创 Dubbo 最基础的 RPC 应用(使用 ZooKeeper)

使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。看国内的一些项目时 Dubbo 这个词经常闪现,一直也不以为然,未作搜索,当然也不知道它是做什么用的。Dubbo 是国内企业贡献的,所以官方有原生的中文文档,它某些时候与 Spring Cloud 齐名,又有些像 AWS 的 ECS Service Discovery, Service Connect 加上 ELB 的功能。

2024-11-26 14:01:36 571

原创 使用 Redis 作为消息队列 - Redis Stream

如果以 Serverless 方式使用 AWS 的 Redis, 那么既然用到高级消息队列的功能,还能省去使用 AmazonMQ(ActiveMQ 或 RabbitMQ) 或 MSK(Kafka) 的高成本。Redis Stream 的每条消息会有一个唯一 ID, 支持消费组, Redis 用以支持 Stream 的一系列命令是 X 为前缀的,Redis stream 数据结构像是一个 append-only 日志,但又添加了 O(1) 的随机访问和复杂的消费策略,如消息分组。

2024-11-26 08:49:07 302

原创 调用 AWS Lambda 时如何传送字节数组

本文主要验证用 Python 写的 AWS Lambda 与 Java 客户端之间如何双向传递二进制数据,这里不涉及到 Lambda 流输入输出的问题。直觉的做法就是用 base64 编码二进制字节为普通的字符串,比如要节约网络传输的数据量,需要对文本进行压缩,格式可以是这样。这种方案实际也是可行的,然而我们在实际使用 Java AWS Lambda SDK 时有些动作会自动帮我们实现的,那就是二进制数据自动 base64 编码。一个 JSON 格式的字符串,反应到 AWS Lambda 时。

2024-11-26 08:48:30 463

原创 Java 使用堆外内存(off-heap memory) 作为缓存

关于 Java 本地缓存的存储分为内存与磁盘,内存多数情况下指的是堆内内存(on-heap), 而介于堆内内存与文件存储之间的就是堆外内存(off-heap), 列有 Generic, JCache(JSR-107), EhCache 2.x, Hazelcast, Infinispan, Couchbase, Redis, Caffeine, Simple, 这其中无一支持堆外缓存,其中的 EhCache 要付费使用 EhCache 3(Big Memory) 才能支持 off-heap。

2024-11-26 08:47:56 575

原创 用 C++ 写一个 AWS Lambda Hello World

如果使用 Python, Java 写 Lambda 时觉得还不得快,不想要明显的预热过程,也许 1000 毫秒的任务只想要 600 毫秒就能完成,内存还希望再压缩一些,那着实能在每月千百万次 Lambda 调用的情况下节省一笔可观的支出,那么可以试一试 C, C++, Rust, Go 等编译成了机器指令的语言,况且前三者没有 GC, 执行效率会更高。部署时可选择的 runtime 相应有 provided.al2023, provided.al2, 推荐使用 provided.al2023。

2024-11-26 08:47:25 569

原创 创建可直接用 root 用户 ssh 登陆的 Docker 镜像

有时候我们在 Mac OS X 或 Windows 平台下需要开发以 Linux 为运行时的应用,IDE 或可直接使用 Docker 容器,或 SSH 远程连接。本地命令行下操作虽然可以用连接正在运行的容器,但 IDE 远程连接的话 SSH 总是一种较为通用的连接方式,所以我们希望做一个能进行 SSH 连接的 Docker 容器。因为是本地运行的 Docker,我们想直接用 root 连接,以获得在容器中最大的运行权限。

2024-11-26 08:46:51 386

原创 C 语言静态库与动态库的生成和使用

为什么要了解静态库和动态库呢?我们多数时候使用的 IDE, 一个 Build 帮我们做了太多的事情,反而使我们眼前一抹黑,这背后有怎么把一个个源文件编译成目标文件(*.o) 文件,或生成静态库/动态库,又如何连接静态库/动态库生成可执行文件,等等。,它把用 GCC 生成静态库和动态库,以及如何使用他们说的很明白,有条件的可以直接看那个视频。本文就是一个观后的实操和笔记,加添了更多如何查看动态库,静态库,目标文件,执行文件的过程。启动该容器后,为编辑需要,最好安装一个 vim,在容器中运行。

2024-11-26 08:46:03 404

原创 Rust 调用 C/Rust 生成的动态库

在始终是 C/C++ 有着更优越性能的情况下,因而之前介绍过多种 其他不同的语言如何加载使用 C/C++ 写的动态库,有 Go, Python, Java 和 C#。在学习 Rust 之时也有类似的需求。本文的做法是要用到第三方库。在 Linux 中使用如下命令编译出 libadd.so 动态库文件。一文中相同的例子,add.c 代码内容如下。先来创建一个动态库,使用和。,这里将参考官方的例子。

2024-11-26 08:44:52 558

原创 Java 线程池有限大小工作队列 - 不丢弃任务的实现

我们在创建 Java 线程池,无论是用 Executors, ThreadPoolExecutor, 还是 Spring 的 ThreadPoolTaskExecutor, 如果不指定工作队列的大小的话,默认为 Integer.MAX_VALUE(2147483647), 基本不会把它爆满,但是在许多的任务要执行时大量 Runnable 对象的创建却足以把内存撑爆掉。

2024-11-26 08:43:37 237

原创 JDBC 设置 PostgreSQL 查询中 any(?) 的参数

这段时间都纠缠于 Java 如何操作 PostgreSQL 数据库上,千方百计的为求得更好的性能。为此我们用上了 Batch, 或用 id = any(?) 这种更 PostgreSQL 化的数组参数操作。其实它还有更多数组方面的花样可以玩,毕竟 PostgreSQL 数据库有一种广纳百川的胸怀,总有好的新特性能在 PostgreSQL 中首先体验到。在 PreparedStatement(PgPreparedStatement) 中设置数组参数的函数是用。占位符传入数组参数的代码是。

2024-11-26 08:42:56 515

原创 JDBC 批量调用数据库 SQL, 函数与存储过程

继续上一篇数据库相关操作的话题,在有大量的数据操作时(如增删改,甚至调用函数或存储过程),我们应该尽可能的采用批量化操作(先摆下结论,后面我们会看到原由)。业务数据的内容总量未变,但 Batch 操作除了可重用预编译的 Statement 外还, 可避免每次请求中重复的元数据,所以从 100,000 到 100 的缩减在时效上的表现是非常可观的,有时就是 60 分钟与 1 分钟的区别(在最后面测试结果显示这一差异更为恐怖)。接口中定义了如下 batch 相关的操作方法。

2024-11-26 08:42:04 519

原创 PostgreSQL 函数与存储过程及调用

PostgreSQL 随着云服务的盛行,越发被广泛的应用,免费开源且有丰富的特性支持,加上性能也很不错,因而备受青睐。PostgreSQL 的函数与存储过程区别并不太大,不像某些数据库的函数与存储过程必须是无副作用或有副作用,在 PostgreSQL 的函数和存储过程中可以进行任何的 SQL 操作。接下来我们来体验一下 PostgreSQL 的函数与存储过程。

2024-11-15 11:34:29 580

原创 Java 9 前/后使用 JAXB (包括支持 javax.* 或 jakarta.*)

命名空间,由此可给我们对使用了 JAXB 的项目升级 JDK 时指明方向。从而不致于因不了解每部分组件的具体功效而在 pom.xml 中胡乱配置,比如之前对 jaxb2-maven-plugin 插件本身配置了多余的 org.glassfish.jaxb:jaxb-xjc 和 org.glassfish.jaxb:jaxb-runtime 依赖,也未能理解 jaxb2-maven-plugin 与 org.glassfish.jaxb:jaxb-runtime 之间的版本对应关系。

2024-11-15 11:31:21 361

原创 Windows 安装使用 GCC(mingw-w64)

因为有个跨平台的东西用的是 C++, 需要分别编译出目标平台为 Linux 和 Windows 的二进制文件. 然而 C++ 并没有像 Rust 那样一出生就含着 Cargo 那样的工具链,完美的支持跨平台开发,构建。对于 C++ 代码不得不在 Linux 下用 GCC 编译器(Makefile), 而 Windows 下使用的 Visual Studio 的 MSBuild, 为了能统一用 Makefile 文件 + GCC 的方式编译 C++ 项目, 可选择 Windows 平台下也安装 GCC。

2024-11-15 11:29:49 691

原创 Rust 语言学习笔记(五)

终于来到了 Rust 的精髓所在了,那就是使之不依赖于垃圾回收又能保障内存安全且高效运行的所有权系统(Ownership System)。想要用 Rust 做一个稍显规模项目必定绕不过它,所有权系统包括所有权(Ownership), 借用(Borrowing), 生命周期(Lifetimes)。以下概念的复述基本是从 《Rust编程: 入门, 实战与进阶》一书中而来,那里面有些内容是来自于官方的。

2024-11-15 11:26:29 497

原创 从 Rust 官方文档理解 Ownership

Rust 另辟溪径,用 Owership 的一系列的规则来指导怎么管理内存,编译期保证程序运行期的内存安全性,不影响运行时性能。学习 Rust 的过程中需要很长时间去适应 Ownership, 从 Rust 开发者(Rustacean) 的经验来说是:随着对 Ownership 的掌握,越来轻松自然的写出安全高效的代码(希望如此)。同时在阅读过程中不进行过度的联想,不与 C/C++ 的引用, 指针, 指针的指针进行关联,力求做一个完全不会 C/C++ 的 Rust 初学者。所费篇幅似乎并不多。

2024-11-15 11:24:43 600

原创 Rust 语言学习笔记(四)

试手了一下 Rust, 发现止今所学知识尚浅,不少情况处理起来很是茫然,比如经常得到的值是 Result 或 Option, 有时候要 .unwrap(), 有时得后面加个问号,或 .await。现在所学的 Rust 在处理结果和错误时,采用了第二种方式,不过使用上 Rust 的模式匹配处理起 Option, Result 倒也不难,而且 Option 和 Result 这样的返回结果还用来向上传播异常,出错时还能追踪到异常栈。, 0 为正常,非 0 为有错误;

2024-11-15 11:23:50 566

原创 SpringBoot 应用出错 Comparison method violates its general contract!

后面会详细列出能重现此问题的 pom.xml 配置及 Java 代码。出现此错误的大致环境如下。

2024-11-15 11:23:04 303

原创 Rust 语言学习笔记(三)

觉得还是有必要继续深入学习一下 Rust 再练手,毕竟仍然看到 & 和 * 符号还有些恍惚,大概就是 C/C++ 里的取地址和取值操作吧,实际上也确实类似。只是叫法略有不同, 还有就是在 C/C++ 多用了指针的概念。在 C/C++ 和 Rust 中都叫做 Dereference Operator。以前学 C/C++ 经常被一系列的 &, * 打晕了头,如今参考了它们的英文名称立刻变得清晰了起来。就像当初看汇编各种寻址方式弄得头都大了,其实也就是依照约定。在 C/C++ 中,

2024-11-15 11:22:20 434

原创 使用 Redis 作为消息队列 - Pub/Sub, List, SortedSet

有好长一段时间没使用 Redis 了,之前用的都是 AWS 上的 Elastic Cache 的 Redis, 那时候还是用的版本还是 4 和 5。在新的项目由于觉得 Elastic Cache Redis 太贵而未曾使用,在去年的 AWS re:Invent 2023 上发布了,对于非长时间大数据的缓存可以考虑使用。而且还可以使用 Redis 的功能对服务进行解耦合,或作为一致性的协调中心。

2024-11-15 11:21:43 553 2

原创 Rust 语言学习笔记(二)

再继续快速学习一下 Rust 的以下几个知识点,就可以开始着手做点小工具了Rust 设计为有效使用内存考虑的,它提供了非常细力度的数据类型,如整数分为有无符号,宽度从 8 位到 128 位,分别表示为 i8, u8, u128 等。浮点数有 f32 和 f64,以及 bool 和 range 类型。

2024-11-12 01:32:14 604

原创 Rust 语言学习笔记(一)

学了不少编程语言,多数是离不开垃圾回收的,要么像 C++ 仍然是过于复杂,对于通用,编译型编程语言 Rust 是个不错的选择, Rust 不需要垃圾回收器。Rust 是由 Mozilla 主导开发的,设计准则为 "安全,并发,实用", 支持函数式,并发式,过程式以及面向对象的编程风格。Rust 能达到与 C++ 接近的性能,它又是编译型语言,编译出来二进制文件执行时不再依赖于运行时。Rust 有自带的 Cargo 作为依赖管理与构建工具,免除了关键工具的选择综合症。

2024-11-12 01:31:36 493

原创 Java StackOverflowError 与递归及尾递归优化

何谓递归调用,简单的说就是方法自己调用自己,从而实现循环的效果,或使代码更精练,例如经典排序中的快速和归并排序就要用到递归。但循环与递归又有本质上的区别,循环不增加调用深度;我们通常会把它与方法调用关联起来,因为一次方法调用会创建一个新的栈帧,分配在栈上的局部变量(包括基本类型与对象引用),和栈帧都要占用线程栈内存。StackOverflowError 一般出现在方法调用太深(方法调方法),手动编写的方法调用一般不容易达到这个限制,所以它与递归调用关系最为密切,递归调用次数太多或甚至没有出口条件无限递归;

2024-11-12 01:30:50 279

原创 《100 Java Mistakes and How to Avoid Them》笔记 3

NullPointerException, 这恐怕是一个最常见的异常,Java 对一个对象是否能为 null 值没什么约束,甚至用 null 来表示业务上的空。比如说方法的参数与返回值,Java 都可以是 null 值,而在 Kotlin 中非明确可为 null 的时不能为 null。系列从书的质量不是那么的高,但开了头还是继续从本书 40% 的位置往下。本书的阅读又搁置了许久,虽然感觉 Manning 出版社的这一。开始要讲述到异常了,异常还是有必要认真对待的,比如。Java 的主要异常大分类是。

2024-11-12 01:27:57 400

原创 本地和 ECS 容器(EC2/Fargate) 如何处理 ENTRYPOINT

在原来那篇文中认为 shell 无法接收到 docker stop 或 docker -s SIGTERM 发来的信号,也许是随着 Docker 版本的变迁,Docker 变得越发聪明了起来,无论何种格式的 ENTRYPOINT, 都能够收到 SIGTERM 信号,比如在 Java 的 ShutdownHook 能捕捉到该信号,得以在进程停止之前作必要的清理工作。最后发现是因为 JVM 的 -Xmx 配置太高,留给 Fargate 容器的太少的缘故。不觉一晃还是在五年前记录过一篇。

2024-11-12 01:27:25 418

原创 Vagrant 没了 VirtualBox 的话可以配 Qemu

之前一直是用 Vagrant 搭配 VirtualBox 在 Mac 下使用 Linux 虚拟机,因为不需要用到 Linux 桌面,用 Vagrant 操作虚拟机非常方便。有些尚未听说过,还有一些虽说支持,但别人提供的相应的 box 不多,Qemu 还算不错的 virtualbox 的替代品。Qemu 也是一款开源的虚拟机软件,它支持 Linux, macOS 和 Windows 平台,但它本身未提供友好的 UI 工具,所以创建一个 Qemu 虚拟机的命令会让人畏而却步。

2024-11-12 01:26:06 374

Unmi 的 Struts2 学习笔记

十四篇学习 Struts2 的笔记,对于由浅入深、细节性的理解 Struts2 还是有些好处的。

2011-04-19

《Spring in Action》学习点滴

本人阅读 《Spring in Action》一书笔记,点点滴滴,从博文中连缀成册,不多不少,共列下了 100 条。

2011-04-19

Quartz Job Scheduling Framework 中文版 V1.0.0.pdf

本人译作,在先前那个 Quartz Job Scheduling Framework_V1.0.0.CHM 文件的基础上做成的 PDF 文件,方便大家阅读。

2010-10-13

Quartz Job Scheduling Framework 中文版 V1.0.0.chm

本人首个译作,Quartz 一个纯 Java 实现的作业调度框架。大多数人听说 Quartz 是在学习或使用 Spring 的时候,也就是 Spring 整合了 Quartz。 把本人博客上零零散散,顺序错乱的各篇译章汇集成册,做成了一个 《Quartz Job Scheduling Framework 中文版.chm 》文件与各位分享,以方便大家的阅读。另外,每篇译章都有到达我的博客上所对应页面的链接,所以有疑问可点击页面上方的 按钮进入到博客对应页面来对本篇进行评论,或阅读他人的相关评论。

2010-10-11

远程桌面批量登陆器,3389 RemoteDeskTop

你要管理多台服务器或经常性用远程桌面登陆多台机器的时候,是否总是一次次的执行 mstsc 吗,经常性的要输入登陆信息吗?来吧,用这个工具,只需轻轻一点便登陆到了你想要的桌面。

2010-06-07

nantpad.2.0_with_Crack

nant 是一个类似于 java 的 ant 的 .net 自动化构建工具,nantpad 是一款可视化编辑 nant 构建文件极好的工具,带 crack。

2010-06-04

Quartz_Job_Scheduling_Framework_V0.9.5_中文版.pdf

本人译作,在先前那个 Quartz Job Scheduling Framework_V0.9.5.CHM 文件的基础上做成的 PDF 文件,方便大家阅读。 请到 http://download.youkuaiyun.com/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.youkuaiyun.com/source/2746469 下载最新V1.0.0.chm 版

2009-10-08

Quartz Job Scheduling Framework 中文版 V0.9.5.chm

本人首个译作,Quartz 一个纯 Java 实现的作业调度框架。把本人博客上零零散散的翻译日志集成册,升级为 V0.9.5,补上了附录。 请到 http://download.youkuaiyun.com/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.youkuaiyun.com/source/2746469 下载最新V1.0.0.chm 版

2009-02-05

一段语法着色的 JS 脚本

shCore.js,一段语法着色的 JS 脚本

2008-10-07

Quartz Job Scheduling Framework 中文版 V0.9.2.chm

请到 http://download.youkuaiyun.com/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.youkuaiyun.com/source/2746469 下载最新V1.0.0.chm 版

2008-10-07

精通 Groovy.chm

由于与 Java 渊源,所以还是打算把 Groovy 作比较细致的了解。还是在 IBM developerWorks 上找到一份初级的 Groovy 教程,名之曰《精通 Groovy》,实则一份入门教程。为大家阅读方便--免去了在线,还要一个 IBM ID 登陆后一页一页的翻,所以我把那些页面收集一下,制作成一个 CHM 文件,共享给大家

2008-09-09

Quartz Job Scheduling Framework 中文版 V0.9.1.chm

请到 http://download.youkuaiyun.com/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.youkuaiyun.com/source/2746469 下载最新V1.0.0.chm 版

2008-08-26

Quartz Job Scheduling Framework 中文版 V0.8.2.chm

本人首个译作,Quartz 一个纯 Java 实现的作业调度框架。大多数人听说 Quartz 是在学习或使用 Spring 的时候,也就是 Spring 整合了 Quartz。 把本人博客上零零散散,顺序错乱的各篇译章汇集成册,做成了一个 《Quartz Job Scheduling Framework 中文版.chm 》文件与各位分享,以方便大家的阅读。另外,每篇译章都有到达我的博客上所对应页面的链接,所以有疑问可点击页面上方的 按钮进入到博客对应页面来对本篇进行评论,或阅读他人的相关评论。 请到 http://download.youkuaiyun.com/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.youkuaiyun.com/source/2746469 下载最新V1.0.0.chm 版

2008-08-25

程序开发技巧集(Unmi整理)

这是我初涉程序之路时整理的程序开发技巧集<br>分门别类了,只最近一直没有维护,这个技巧管理器本身也很值得推崇<br>解压缩,执行 tips.exe(技巧管理器),可能要手工打开 data 目录中的 tips.Tips

2008-05-02

Visual.Assist.X.10.4.1619 + Crack

非常好的vc插件,自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误,等等啦……支持VC++ 5, VC++ 6 , VC++7, VC++8 都说能支持 VS 2008 了,我还没试过。<br>

2007-12-01

华为代码统计工具CCT V2.0

代码规模统计工具CCT是根据华为公司的项目特点而开发的软件规模统计工具;它既可以统计指定版本的非空非注释(NBNC)行,也可以通过比较当前版本和基础版本,计算新增修改规模得到增强项目的规模。CCT通过辨认不同的扩展名支持对多种语言的规模统计,包括C,C++,JAVA,DELPHI,汇编(ASM),SQL,JSP,ASP,HTML和TXT等文件。

2007-11-22

Perl 语言编程.chm

Perl 是一种能完成任务的语言。 <br><br>当然,如果你的工作就是写程序,那么从理论上来讲,你可以使用任何“完整”的计算机语言来完成任务。但是从我们的经验来看,计算机语言的区别很大程度上不在它能干什么,而是在它做事情的时候是否简单。从一个极端来说,那些所谓的第四代语言做某些事情的时候相当容易,但是做其它一些事情的时候几乎不可能。从另外一个极端来看,那些所谓的工业级的语言在做任何事情的时候都几乎一样困难。 <br><br>Perl 是不同的语言。从一开始,Perl 就设计成可以把简单工作简单化,同时又不失去处理困难问题能力的语言。

2007-11-15

jspSmartUpload

这个组件还是好几年前下载的,看好像还是有不少人在使用它,但在网上又特别难找,所以不妨传上来。

2007-11-07

非常好懂的汇编程序设计教程(8086)

我看过的最简单的汇编程序设计教程,可以照着练手的,配合RadASM汇编集成开发环境很好理解的。

2007-10-25

CN-DOS批处理精华贴(2007-A)(IE6)

这里不仅有传统的批处理脚本的写法--Command-Line Shell,还有Windows的批处理程序--Windows Shell Script(VBS/JS),细细品味吧,自有其妙用之处。

2007-10-16

DOS批处理经典入门教程

80年代以前人的大多学电脑都从DOS学起、然后是win3.1/3.2、再win95/98的路径而来。重新提起DOS批处理程序,是因为像Tomcat/JBoss/WebLogic等应用服务器在控制台下都是用批处理来启动的,其中设置环境变量,运行参数,自己的程序中也可能会用到批处理来交互式启动、运行,所以不妨用到时回顾一下,或者是初次的学习。

2007-10-16

APort

Active Ports,可谓是 FPort的孪生兄弟,新生代的fport,以图形界面展示进程对应的进程号,本地IP、端口号,远端IP、端口号,通信状态,传输协议,执行文件全路径,并提供便捷的终止选定进程的操作入口。

2007-10-15

fport

当你想知道某个端口被哪个应用程序占用了,就用fport了,当多个Java占用了不同端口,你不知该结束哪个进程的时候,也用它了。因为windows下的netstat -na 没 unix/linux 下的 netstat -na 强。君子性非异也,善假于物也。

2007-10-15

Quartz Job Scheduling Framework

If your Java applications depend on tasks that must be performed at specific times or if your systems have recurring maintenance jobs that could be automated, then you need Quartz: the first full-featured, open source job scheduling framework.

2007-10-11

JavaDOCHelper1.5.1_Viewer

JavaDOCHelper Viewer 提供了在一个界面里查看、搜索众多组件的HTML格式JAVA DOC api文档,类似于chm格式。 软件界面:http://www.blogjava.net/Unmi/archive/2007/10/08/150946.html

2007-10-11

reilly.jboss.a.developers.notebook.jun.2005

JBoss is a fully certified J2EE 1.4 application server that's free, popular, and competitive with proprietary Java application servers in features and quality. JBoss: A Developer's Notebook takes you on a complete tour of JBoss in a very unique way: rather than long discussions, you will find code--lots of code. In fact, the book is a collection of hands-on labs that take you through the critical JBoss features step-by-step. Don't just read about JBoss, learn it through direct application.

2007-10-09

Spring程序高手秘笈--英文原版

Spring克服了J2EE冗余的层次,再次让开发企业应用程序变得简单。这本书告诉你如何使用Spring设计出轻量化的应用程序,它们可以胜任重量级的工作:如何把你的精力放在重要的代码上,而不是去写那些让容器能够正确执行的接口与部署描述文件。你将写出可以很容易被测试和部署的普通Java对象(POJO),而不是去写一些只能在复杂容器中存活的特定组件。你将了解如何使用Spring开发出从GUI及Web前台程序一直到访问关系型数据库的后台程序。你将能够通过在配置文件文件中加上几行文字就可以把一些像事务和安全这类的服务注入到应用程序里。

2007-10-09

SWT程序高手秘笈--英文原版

Eclipse的核心结构之一正是Standard Widget Toolkit —— SWT。这一组组件可以用来在Java上开发图形用户界面,并提供了Java Swing与AWT组件的原生代码替代选项。SWT结合了所运行的平台上的外观与操作感受来提供快速构建GUI的方法,并让它们看起来确实就像是属于所运行的平台。

2007-10-09

Hibernate:程序高手秘笈--英文原版

《Hibernate程序高手秘笈》展示了如何用Hibernate来自动化配置:写一些Java对象和简单的配置文件,Hibernate将使这些对象和数据库间的所有交互自动化。你甚至不必知道数据库在哪,通过更改一个配置文件中的几个语句,就能简单地从一个数据库切换到另一个数据库。 《Hibernate程序高手秘笈》带你遍历Hibernate的使用,从安装和配置到复杂的关联和复合类型。书中有两章探究如何实现复杂的查询:通过一个纯Java API,或者用一个SQL激发的但是面向对象的查询语言来表达。使用Hibernate的最大惊喜之一是:对于许多常见的真实世界的应用场景,根本不需要一个精确的查询,但别因为这给你带来困惑。如果你已意图给自己的应用程序加个数据库,不要拖延,这比过去的更有趣,《Hibernate程序高手秘笈》会告诉你为什么。

2007-10-09

Java 5.0 Tiger程序高手秘笈--英文原版

这本书由 Java 界的畅销作家 Brett McLaughlin 与 David Flanagan 合著,实事求是、直中要害的指引跳过了学院派的枯燥而切入 Tiger 的核心。读者会在第一章的结束前掌握语言中许多重要的新功能,并且在前 20 页就会发现自己沉浸于程序代码中。通过 50 个以上的范例程序,读者会有完整且实用的 generic 论述、学习到 boxing 与 unboxing是 如何影响类别转换、认识 vararg 的威力、了解如何撰写 enumerated 类型与 annotation,精通 Java的 新的格式化 method 以及 for/in 循环,甚至对 JVM 的并发运作性质有深刻的体认。

2007-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除