自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一叶不知秋

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

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

原创 Docker 容器中使用 Docker - DinD 和 DooD

突然间研究这个来的缘由是正在从 Jenkins 往 Harness 的过度, 而完全用命令来构建 Docker 镜像变得不一样了。在 Jenkins 中 Agent 本身也是一个 Docker Daemon, 所以 Docker 命令执行无障碍,而 Harness 的所谓的 Agent 就是一个个的运行在 Kubernetes 中的 Docker Container (Pod) 了,这其中没有 Docker Daemon, 又不能连接到 Kubernetes 本身的 Docker Daemon。

2023-12-10 11:43:58 159

原创 理解 JUnit, JaCoCo 到 SonarQube 的过程及 Maven 配置

Java 项目需要产生单元测试及代码覆盖率的话一直都是走的 JUnit 单元测试,JaCoCo 基于测试产生测试覆盖率,然后送到 SonarQube 去展示这条路子。当然 SonarQube 还可以帮我们进行代码的静态分析。但对其中的具体使用及过程知晓的并不深,基本就是在 pom.xml 中依葫芦画瓢。本文稍加深入的理解每一步的功效与配置,以 Maven 管理的 Java 项目为例,JUnit 采用是众多旧项目仍然无法摆脱的 JUnit 4。

2023-11-28 00:25:42 386

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

由于 Java 学了 C,也用 0 开始的数字来表示 8 进制数,如 037, 010 分别是十进制的 31 和 8,这与现实不相符。但是 Java 表示 2 进制, 16 进制的方式没有问题的,如 0b10, 0x37。IntelliJ IDEA 看到使用 0 开头的 8 进制数会不建议那么使用. 8 进制数字的范围是 0~8, 所以 09 是错误的, 但是 Java 编译器似乎对此很陌生.现在几乎没有必要使用 0 开始的 8 进制数的方式, 或许还有用的就是表示 Unix 下文件权限, 如。

2023-11-28 00:24:51 205

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

一共讲了 100 个常见错误如何避免(例如,怎么用最新 Java(Java 9 -- Java 21) 语法, API 来改进),以及用静态分析工具,单元测试及早发现。这几日在阅读 Manning 出版社的 《100 Java Mistakes and How to Avoid Them》, 其中列举的确实是一些容易带入到代码中的错误,不少还是通过代码 Review 或单元测试很难发现的问题。也有些看似很弱智,却可能是隐匿许久的定时炸弹,只等某一特定条件出现时即爆。

2023-11-28 00:24:13 419

原创 Lombok @With 的纯弊端及如何避免

比如 Scala 发展出了 case class, Kotlin 的 data class, Python 的 @dataclass,还有 JDK 14 引入的及至 JDK 16 转正的 record, 都是为了自动生成 Java 类的 setter/getter/toSring/hashcode/equals 等方法。听说过 Lombok,但觉得它用了会影响到对源代码的阅读,因为造成代码的行为与源代码所展示的不一致,还可能依赖于特定的 IDE 或构建工具插件,所以一直未真正应用。

2023-11-22 14:17:58 637

原创 postgres in (?,?) 和 =any(?) 用法/性能对比

即如何给 in (?) 条件直接传入一个列表参数,然而本质上是不支持,最终不得不展开为 in (?) 针对每个元素单独设置参数,不定长的参数对于重用已编译 PreparedStatement 语句的帮助不大。那么 JDBC 操作 PostgreSQL 是何种状态呢?展开为多个参数当然是有效的。继续尝试 Spring 提供的 NamedParameterJdbcTemplate 的操作方式。执行后查看到实际执行的语句是。

2023-11-22 14:17:14 178

原创 JDBC 操作 SQL Server 时如何传入列表参数

本文是作为将要对 PostgreSQL 的 in, any() 操作的一个铺垫,也是对先前用 JDBC 操作 SQL Server 的温习。SQL Server 的 PreparedStatement 的实现类 SQLServerPreparedStatement 的 setArray() 未实现,反编译出它的 setArray() 方法是。这里所引用的 SQL Server 的 JDBC 驱动是 com.microsoft.sqlserver:mssql-jdbc:11.2.0.jre8。

2023-11-22 14:16:21 391

原创 AWS Step Function 异步动态调用 Lambda 后汇集结果

但在一个 Lambda 中同步调用其他 Lambda 时就有个费时费钱的问题,虽然我们采用线程池来调用 Lambda2, 由于每个同步调用的耗时不相同, Lambda1 最终要等待最慢的那个调用结束后才能对所有结果进行聚集处理。这就是著名的“长板效应”, Lambda1 多数时候是在无谓的等待当中消耗着你的钱财。分布式计算有这么一个需求,主进程准备好输入数据,然后根据输入中某个 Items 动态调用若干计算进程,待到所有计算完成后再汇集结果。这一需求移植到 AWS 上就像是下面这样子。

2023-11-22 14:15:16 47

原创 AWS Lambda 中使用 Python 并发编程

无论在何处,有多重任务要处理时,并发编程总是要得到考虑的。比如有 IO 等待时的并发或 CPU 密集型时的并行计算,并发通常是指在同一个 CPU 上按时间片轮换执行,并行是任务在不同的 CPU 上执行。能有效使用 CPU 多核的语言可以让线程运行在不同的核上实现并行,如果是启动的子进程能由操作系统运行在其他 CPU 核上。这时候就必须要考虑多进程并行的方式,同时应知晓当前选择的 Lambda 运行环境有多少个 CPU 内核,因为如果是单核的话再多进程也无济于事,没必要启动多于核心数的进程。

2023-05-30 10:57:55 236

原创 实测 AWS Lambda 不同内存配置下的 CPU 核心数

目前(2023-05-25) AWS Lambda 的内存选择区间是 128MB ~ 10240MB, 最长运行时间为 15 分钟,但没有 vCPU 个数的选择。vCPU 的数量是基于所选内存大小而有不同的,如果我们在 Lambda 中需使用多进程充分发挥 CPU 性能的话,有必要了解当前 Lambda 所在运行环境的 CPU 内核数,甚至是单核的频率。组件的方法,可把 psutil 做成 Lambda 层以引用,或与 Lambda 函数代码一同打成 zip 包。

2023-05-30 10:57:13 201

原创 Spring 5 响应式编程研究

Spring 5.0 发布之时(2017-09-28) WebFlux 是它的一大亮点,即响应式 Web 编程。于是多线程编程大致两种模式。Akka Actor 比 CompletableFuture, RxJava,以及本文将要讨论的 Reactor 更高级的是 Akka System 可以分布式部署,Actor 分布在不同的进程,主机上。然而随着云计算的普及,基于消息系统解耦合的任务分解让代码变得更清晰,编码中甚至不用考虑多线程的行为,部署方式能解决任务执行的效率。

2023-05-30 10:56:31 143

原创 配置 FastAPI/Uvicorn/Hypercorn 的访问日志

性能方面普遍是 FastAPI 比 Flask 高,编程方面就各取所好吧,使用 Flask 的时候还是 1.x 的版本,最近用 FastAPI 较多,所以无法对比。FastAPI 本身没提供启动 Web 服务的代码,不像 Flask 还能通过 Flask 对象 或 flask 命令启动一个开发用途的 Web 服务,而 FastAPI 必须用其他的组件(ASGI server)来启动,比如各种 *corn 或 Daphne。

2023-05-30 10:55:52 822

原创 应用 AWS Lambda 部署 FastAPI

比如说 AWS Lambda 收到请求时快速启动 FastAPI 服务,该服务绑定到 TCP 端口或 Socket 文件都行,然后 Lambda 请求代理到 FastAPI 服务,最后关闭 FastAPI 服务,但是想来都不那么容易实现。又由于是 Rest API, 所以实现部分用了 FastAPI 的装饰器,但不实际启动 FastAPI 的 Web 服务,Lambda 的 handler 方法根据 routeKey 手动映射到 FastAPI 的装饰方法。

2023-05-02 11:05:58 164 1

原创 理解 Java 线程池 ThreadPoolExecutor

使用 JDK 5 的线程池实现有近 20 年的时间了,快速创建一个线程池经常是调用 Executors 中的工厂方法。但是涉及过更精细的线程池管理控制时不得不用 ThreadPoolExecutor 的构造方法,这也就是为什么有些公司不建议用 Executors 的工厂方法创建线程池,而应该直接创建 ThreadPoolExecutor 或 ForkJoinPool 实例。OL, TimeUnit.MILLISECONDS 表示线程创建后只要线程池还在就是永生的;

2023-04-22 13:35:03 58

原创 体验 Python FastAPI 的并发能力及线, 进程模型

对于每一种类型 Web 服务基本的测试是每秒发送 2 个请求,连续发送 1000 个,500 秒发送完所有请求,程序中 API 方法接受到请求后 sleep 800 秒,保证在全部 1000 个请求送出之前一直占着连接,并有充足的时间对连接进行分析。在测试极端并发数时,由于在 Mac OS X 尽管设置了 ulimit 最多也只能创建 4000 多一点线程,所以在模拟更多用户数时,JMeter 在远程 Linux(Docker 或虚拟机) 上运行测试用例。以及它是如何运用线程或进程来处理请求。

2023-04-05 06:48:38 1618

原创 学习使用 AWS Cognito 并 OAuth2 验证

因此通过对 Cognito 的学习的另一个目的是由此了解 OAuth 2.0 协议的相关内容。OAuth 是 Open Authorization 的缩写,是一种开放的可为 Web 或桌面应用进行用户验证和授权的协议。例如,在互联网上的许多应用,可不用额外注册帐户而采用第三方的帐户(Gmail, Apple Id 等)登陆并完成授权,这就有 OAuth 身影。当我们提到 OAuth 的时候,常常会碰到 OAuth 1.0, OAuth 2.0, OpenID, 和 Auth0.

2023-04-05 06:46:52 758

原创 Python __slots__ 的用法笔记

Python 是一个动态语言,可以动态的给实例或类增减属性或方法,给类添加的属性会影响到前后所有创建的实例。属性可以限定类或实例属性和方法,如果没有。的话实例的属性和方法包含在实例的。字典中,类的属性和方法包含在类的。按常规写法可能会出现的问题大概有。

2023-03-01 13:06:24 68

原创 Python Flask 框架的并发能力及线,进程模型

从 JMeter 每半秒发送一个请求,连续发送 1000 个,程序中 API 方法接受到请求后 sleep 800 秒,保证在全部 1000 个请求送出之前一直占着连接,以此来找到同时被处理的请求数目,并且有足够的时间统计当前的 TCP 连接数。在测试极端规模的并发数时,由于在 Mac OS X 很难突破 5000 个线程的限制,这时就让 JMeter 分布到远程 Linux(Docker 或虚拟机) 上执行。虽然网上或许很容易找到它们的默认并发数,但通过实验的方式可以得到更感性的认识。

2023-02-24 22:37:14 1233

原创 AWS SNS 订阅到 HTTP 的过程及消息报文

同邮件列表一样,订阅 SNS 消息也是需要确认的,不然 SNS 消息就可能恶意满天飞。本文试验如何用 HTTP 端点订阅 SNS 消息,订阅确认,以及发送消息到 SNS 主题后消息推送到 HTTP 端点的细节,重点是了解订阅及被推送过来消息时的 HTTP 报文内容。SNS 的 HTTP 端点订阅需要一个公网上的 HTTP URL, 对 SNS 可见,所以我在本地测试时在家中路由器上加一个端口映射,对 Modem 获得的公有 IP 的 8080 端口访问转发到写此文用所用机器的 8080 端口上。

2023-02-24 22:36:42 592

原创 远程方式执行 JMeter 测试

如果能够远程运行 JMeter 的测试就能突破单机上的线程限制了,比如 Mac OS X 不行,找个 Linux 远程机器(可以是虚拟机)来执行,一台机器不够,找多个。想要模拟 15000 个并发用户,测试可分配到 5 台机器上执行,每个节点跑 3000 个用户并发就行,有点操控肉机的感觉。(它也能远程运行测试)。JMeter 的测试可以在本地模拟并发用户,那么为什么要远程执行 JMeter 测试呢?JMeter 是一个极好的测试 Web API 及压力测试的工具,另一个的话就是 Python 版的。

2023-02-24 22:36:15 242

原创 使用 ECS Exec 直通 ECS 容器会话(适用于 Fargate 和 EC2)

基于 EC2 的 ECS 服务,要看看容器内的状态,一直以来都是先 SSM(Simple System Manager) 或 SSH 进到 EC2 实例,然后再。. 但是对使用 Farget 的 ECS 服务就无能为力了,因为找不到 SSM 或 SSH 的主体, 只能通过程序日志来大概了解容器内发生的事了。,连接过程中唯一的不同就是容器中也运行了一个 SSM Agent, 所以这个容器也就无所谓是在 EC2 实例还是在 Fargate 中。允许我们直接连接 Fargate 或 EC2 中的容器会话,见。

2023-02-24 22:33:43 606

原创 Python 基于多环境的配置方式

第一种方式是本人推荐的,其他的方式只是在不同格式的配置文件中,按环境组织不同的配置值,其他方式的不同配置读入内存中基本是体现为字典变量。部署到不同环境的应用会使用到各自的配置,如 Dev, QA, Stg, Prod 有自己的数据库等资源。Spring Boot 可采用 Profile 对应不同的环境,不同 Profile 选择自己的配置文件。本人还是偏爱在同一个文件中分组配置,容易查错与编辑,类如在 application.properties 文件中以下面的方式。

2023-01-18 13:31:08 858

原创 升级到 Spring Boot 3 后 javax.inject.Named 不可用

Spring 6 要求用 JDK 17+, Spring Boot 3 自然也要上 JDK 17+ 才能使用,对于一直死死抱住 JDK 8 不放的要升级到 Spring Boot 3 就是个比较大的挑战。Spring Boot 1 的项目还得老老实实的先升级到 Spring Boot 2,如果是早期的 Spring Boot 2,第一步是升级到 Spring Boot 2.7.x, 一步步来,免得步子大了扯到X。从 Spring Boot 2.x 升级到 Spring Boot 3 的指南请阅官方的文档。

2023-01-18 13:30:18 163

原创 Spring Boot Web 输出 Tomcat 的访问日志到控制台

属性文件中的配置针对的是如何输出访问日志到文件,而我们有时候需要输出访问日志到控制台而不非文件,比如 AWS 上的 ECS 应用,控制台的输出可直接发送到 CloudWatch,这样便于分析日志。在 Spring Web 中可以用 Interceptor 或 Filter 来记录访问日志,但在请求出错时无法准确显示出响应时间和状态码,毕竟 Tomcat 的访问日志在代码的外层,进出 Controller 方法的输入输出信息也就掌握的更清楚。

2022-12-31 00:04:29 950

原创 HDFS 分布式文件系统的搭建与使用

HDFS 沿袭了传统的 Master/Slave 系统架构,但因目前像传统的计算机名词 PC, CRT 被恶意使用的当下,Master/Slave 相应的更名为 NameNode 和 DataNode。在通常的系统中, Master 兼具协调与数据存储的功能,而 Slave 只存储数据,而 HDFS 的 NameNode 仅保管文件的元信息,数据块存储在 DataNode 中。由于数据块从多个节上存取,也就能突破单点的网络带宽和硬件资源的限制而获得更好的性能;能处理更大的数据,和克服单点故障的问题。

2022-10-11 00:03:57 904

原创 细数 DB2 数据库的 Identity 字段

每种数据都有自己独特的自增列的声明方式,如 Oracle 的 Sequence, SQL Server 的 Identity, MySQL 的 auto_increment, PostgreSQL 的 Sequence 或 Serial。和 PostgreSQL 类似,DB2 也提供两种自增列的声明方式,它们是 Sequence 和 Identity。而本文主要着墨于 DB2 的 Identity 字段,并讲述它与 Sequence 的某种联系,以及它对数据表的导入的影响。

2022-10-11 00:03:15 665

原创 向量间距离/相似度及用 Python 进行计算

计算距离的目的也是为了确定两个向量的相似度,这里的向量可以是纯数学的数组,或者是一系列带有某些可量化特征值的物件。写作本文的原由是需要用 Numpy 计算两个实际对象的相似度,实现代码非常简单,因此更不能满足于此,借此机会多多了解下向量之间距离和相似度的概念,还回顾下一些相关的数学知识。本文主要关注到欧氏距离和余弦相似度这两个数值的求解上。计算两个向量的相似度有许多的方法,如。

2022-10-11 00:00:52 1409

原创 为 S3 中的 CSV 文件创建带 Partition 的 Athena 表

S3 Select 只能针对单个 S3 文件查询,如果要对一组 CSV 文件同时进行查询的话就要用到 Athena。把相同 Schema 的一系列 CSV 文件放到 S3 的某一个目录中,我们可为它们创建一个 Athena 表,然后查询该 Athena 表就会从对应 S3 目录中扫描所有的 CSV 文件。CSV 文件是纯文本的,对人阅读和编辑来说是最友好的描述表格数据的格式。当然 S3 Select 查看任意的文本文件也行,只是把它当成一个不规则的 CSV 文件来对待。如 S3 Select 查询语句。

2022-10-11 00:00:12 219

原创 《HTTP/2 in Action》阅读笔记(二)

HTTP/1.1 的 Pipeling 像 Redis 那样的 pipeline, 通过一个连接传递多个 HTTP 请求,再依次返回结果,但这种方案并未得到支持与应用。显示了使用 HTTP/2 的趋势,和其他数据,如 HTTP/3 的应用趋势。随着互联网的发展,展示一个网页请求的资源越来越多,传输的总字节数在变大,平均近几M -HTTP/1.1 效率较低下,只能同步发送处理请求,即请求,得到响应后才能发下一个请求,一个网会加载许多的资源,如图片, js, css 等。要开始步入 HTTP/2 的,

2022-10-10 23:59:19 570

原创 SpringBoot 启用 GZIP 对响应进行压缩

SpringBoot Web 应用默认是不启用响应数据的压缩,对大的文本类型的响应数据进行压缩是十分必要的,如 JSON, XML 等应用数据,甚至是 JS, CSS 等。(或 application.yml) 配置就行。于是查阅 SpringBoot 2.7.x 的帮助文档。在使用了 SpringBoot 之后,在碰到有压缩响应的需求的时候,第一件事情应该要想到是否能通过在。早先的 Web 应用基本是要配置一个叫做。之类的东西,然后判断请求的。响应类型的数据进行压缩。, 介绍了三个配置项。

2022-10-10 23:58:20 409

原创 Python 实现 RSA 非对称加解密

而非对称加密是用一把钥匙反锁门,但只能用另一把特定的钥匙才能打开它,锁门的叫做公钥,开门的叫做私钥。, 大致就是通过互质的两个数,计算欧拉函数, 模反元素,最终算法公钥和私钥,公钥加密的数据只能用用私钥解密,以当前的算力,只要 RSA 的密钥足够长,如 1024 位以上,私钥是无法通过公钥推断出来的。1977 年三位数学家 Ron。在此之前我理解的非对称加密以为是像 MD5 那种摘要(Digest), 由明文生成的 MD5 摘要信息是无法还原出原始数据的,谬以为那就是所谓的非对称。

2022-10-10 23:57:47 367

原创 《HTTP/2 in Action》阅读笔记(一)

版本 0 ~ 3 是留给实验用的,5 设计为 Intenet 流协议的,例如实时音视频,像 VoIP, 实际上也因为地址数量的限制没被使用。后续的 IP 协议版本 7, 8, 9 都被预定了(比如中国的 IPv9 - 冷),所以再有新的 IP 协议版本的放丈是 IPv10。本书买来有一段时日了,一直还未开始阅读,关于网络上 HTTP/2 的真实使用状态查到以下信息。本书首先介绍的是关于 HTTP 协议从 0.9 到 1.0, 再到 1.1 的变迁史。于此同时,HTTP/3(gQUIC) 也上了议程,作为。

2022-08-23 21:43:19 189

原创 Spring Boot 如何选择 Cache 实现的

来选择自己的 Cache 实例,但对 Spring 是如何确定具体 Cache 实现未作展开。本文将介绍选择 Cache 实现的几种方式。一文的补充,该文中提到了自定 CacheManager 及配置。

2022-08-16 11:09:33 245

原创 Diagram as Code -- 用 Python 画框架图

继一系列 X as X, 如 PaaS, SaaS, IaaS, CaC(Configuration as Code), IaC(Infrastructure as Code) 等,Diagrams 喊出了 Diagram as Code 的口号。熟练的程序员大概不喜欢用可视化设计器来生成 GUI 代码,那会让代码变得极不简洁,而是直接写,眼中看到的是代码,头脑中即时产生映像。Diagrams 就是这样一款写 Python 代码产生架构或流程图的库,它绘制的架构图支持主要的云服务提供商,如。...

2022-08-11 23:24:39 905

原创 学习 Airflow 第一篇章

Airflow 起初是由 Airbnb 开发的, 用于调度和监控工作流的平台,后来开源了, 并于 2019 年 1 月成为了 Apache 的顶级项目。而 Airflow 功能就厉害了, 它可动态管理工作流,易于扩展,可集群化进行伸缩,更有一个漂亮的 UI 用于实时监控任务。基于以上特性 Airflow 是很适于执行数据的 ETL(Extract, Transform, Load) 操作的。除了商业的 Control-M 有调度和监控工作流的功能外,其他的基本只用来调度任务,监控全靠自己的日志。...

2022-08-10 07:31:39 116

原创 Spring 使用 Cache 解析及使用不同类型的 Cache

要在一个Spring应用中开启缓存方法返回结果的功能很简单,不需要额外的依赖,相关的的注解@Cacheable,@CacheConfig,@CachePut,@CacheEvict,@EnableCache等来自spring-context包。实际进行数据缓存时会有更复杂的策略,如元素个数,占用内存,过期时间,何时使用磁盘等,而且不同的数据类型应有不同的缓存策略。因此,除了使用默认的ConcurrentMap作为缓存外,还可通过配置属性。...

2022-07-15 13:45:01 1118

原创 自定义 Spring Web Controller 方法的参数

在 Spring Web Controller 方法中的参数可用 org.springframework.web.bind.annotation 下的各种注解来说明参数值从哪儿获得,比如我们熟知的 @PathVariable, @RequestParam, @RequestHeader, @RequestBody, 还有较少使用的 @ReqeustAttribute, @SessionAttribute, @RequestPart, @MatrixVariable, @ModelAttribute, @Au

2022-07-09 01:33:27 209

原创 Python 中泛型的实现

在学习 Python 3.10 新特性时,其中有个类型别名(TypeAlias), 所举的例子是可写成这让 StrCache 更像是一个类型别名,而不是一个看起来明显就是 的字符串变量(实际上它确实是)。本文不在 TypeAlias 本身,而是从 能看出 Python 似乎也能支持像 Java 那样的泛型, 就像 Python 内置支持的 List[str] 或 list[str] 那样。那么来看 Python 怎么去实现一个只能放入字符串的 Cache, 而不能放入别的类型。 阅读全文 >>...

2022-07-05 13:36:15 443

原创 深度理解 Spring Boot Security + JWT Token 的简单应用

项目中有用到 Spring Security 来控制 API 的访问权限,但对于配置应用它基本上是照葫芦画瓢。至于为什么要调用方法并且能从 HttpServletRequest 中得到 Authentication。还有,只要在 Controller 的方法中添加一个带 @AuthenticationPrincipal 注解的参数之后,decodedJWT 便自动有了值,诸如此类的,此前一概模糊不清。早先配置 spring-security-config 是通过继承 WebSecurityConfigure

2022-07-05 13:33:36 338

原创 Java 调用本地动态库的组件(javah, JNA, JNR-FFI)

还是很 久很久以前,当初有 Java 调用本地动态库需求的时候,尝试过用 javah/native 原生的方式在 Java 中使用动态库,再就是小试了 JNative,它调用动态库只需 Java 端的动作, 它最后的更新日期是 9 年前 2013-04-26,基本是应该选择放弃了。关于 JNative 的使用写过两篇如今想继续发掘下是否有别的更好的调用本地库的 JNI 组件,找到有...

2022-07-05 13:32:25 398

Play for Scala.pdf

Play for Scala.Play.2.pdf, 完整版英文文档。 Play 框架关注于开发者的效率和 RESTful 风格的架构。Play 是敏捷软件开发的完美伴侣,它的目标是让基于 Java 的 web 应用开发变得更加容易。同时它也支持使用基于 JVM 的 Scala 来编写你的 Web 应用,

2014-04-04

Play.for.Java.Covers.Play.2

Play.for.Java.Covers.Play.2.pdf, 完整版英文文档。 Play 框架关注于开发者的效率和 RESTful 风格的架构。Play 是敏捷软件开发的完美伴侣,它的目标是让基于 Java 的 web 应用开发变得更加容易。

2014-04-04

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

Maven2 权威指南

新时代的自动化构建工具,《Maven2 权威指南》pdf 中文版

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.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.csdn.net/source/2746469 下载最新V1.0.0.chm 版

2009-10-08

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

本人首个译作,Quartz 一个纯 Java 实现的作业调度框架。把本人博客上零零散散的翻译日志集成册,升级为 V0.9.5,补上了附录。 请到 http://download.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.csdn.net/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.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.csdn.net/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.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.csdn.net/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.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.csdn.net/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关注的人

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