自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(586)
  • 资源 (31)
  • 收藏
  • 关注

原创 每天一剂开发良药

主要介绍一些小技巧之类,是为备忘也。

2021-10-12 16:25:35 1991 2

翻译 机器学习的初学者入门:神经网络之简介

一篇文章简单介绍神经网络如何工作的,以及如何从零开始在 Python 中实现一个神经网络

2024-04-23 07:42:33 29

转载 漫谈机器学习入门

身为想了解机器学习的开发者,若要了解原始码实现方式,背后数学原理,该如何进入这个领域?我们能以向量运算、矩阵运算、微积分等来思考,将数学与程式的心智模型结合

2024-04-16 10:24:21 14

原创 轻量级 S3 协议存储客户端

目前大家一般不会把二进制文件直接放在应用服务器上,而是存在“对象存储”的方案中,例如亚马逊的 AWS,阿里云的 OSS、Cloudflare R2 等。AWS 是最早的始作俑者,因此其 S3 协议也近乎标准化,各大厂商的对象存储方案都实现该协议。基本上各家都有提供方便的 SDK 可以用快速调用 S3 服务,不过其中的原理并不是太复杂,笔者一时“手痒”就想打造自己的 S3 客户端。

2024-04-13 17:38:24 890 1

原创 连接 IPv6 服务器

首先说一句没,普及 IPv6 还有很长的一段路要走。最简单的,你的节点没有的 IPv6 的 IP,连最简单的 PING 都 PING 不了,完全联不上。

2024-03-25 18:39:02 957

原创 cloudflare 应用例子几则

CF 有很多好用的基础服务,等着我们去慢慢发掘。

2024-03-22 15:05:56 434

原创 轻量级角色权限组件

本文采用“用户+角色+权限”的模式设计一个简明的权限组件,力求清晰易维护、易扩展。该组件基于 Spring 后端与 Vue 前端的框架,并给出实际可运行的代码。虽然设计这组件的时候,是打算独立、不耦合的组件,但完整的功能外延还是涉及外部模块,于是最终成品来说,它的相关依赖也离不开 AJ-IAM,属于笔者 AJ-IAM 用户系统的一部分。尽管如此,更重要的是,笔者想借此文来分享“角色-权限”的设计思维与实际应用,以飨读者。

2024-02-20 15:33:14 928

原创 精简版 Win10 Atlas 使用心得

是一个魔改版本的 Windows,基于 Windows 10 20H2 版定制的操作系统,专门为游戏玩家开发,一切以游戏性能为目标,删除了众多拖慢 Windows 系统的组件(游戏性能下降的罪魁祸首)。

2024-01-21 16:55:08 1405

原创 轻量级 HTTP 请求组件

Apache HttpClient 是著名的 HTTP 客户端请求工具——现在我们模拟它打造一套简单小巧的请求工具库, 封装 Java 类库里面的 HttpURLConnection 对象来完成日常的 HTTP 请求,诸如 GET、HEAD、POST 等等,并尝试应用 Java 8 函数式风格来制定 API。

2024-01-11 22:03:48 1191

原创 一个静态网站可以增加什么第三方功能/服务

一个静态网站,无后台功能,怎么增加一些实用功能呢?我们来看看一些免费的第三方服务。

2023-12-30 21:39:53 425

原创 探索 3D 图形处理的奥秘

最近一年多来,在 3Dfx、Intel 们的狂轰滥炸中,在 Quake、古墓丽影们的推波助澜下,三维图形已经成为计算机迷眼中的又一个热点。3D 世界到底是怎样的神奇,我们又是怎样享受它的乐趣呢?就让我们来一探究竟吧。

2023-12-30 21:26:56 1611

原创 轻量级的资源授权:基于 OAuth 规范

感觉 OAuth 太负盛名了,以至于后来在 OIDC 反而难以企及前辈 OAuth。倒是大家谈论比较多的是 JWT(例如),——实际谈 JWT 就是在实现 OIDC,反而 OIDC 大家不怎么爱谈!但我们要知道的是,真正诠释这些的,做点单点登录的,——是 OIDC 规范,JWT 只是 OIDC 规范下的一种 Token 协议,再说句难听的,如果 JWT 不满足或者有问题,换别的 Token 实现规则也行。

2023-11-18 15:51:08 166

原创 轻量级 Java 日志组件

日志记录功能在开发中很常用,不仅可以记录程序运行的细节,方便调试,也可以记录用户的行为,是框架中不可或缺的组件。为最大程度复用现有的组件,我们就地取材使用了 JDK 自带的 JUL()作为日志组件,并对其进行功能上的增强。这是笔者 17 年的时候就研究过了(见博客时至今日,感觉还是使用 Slf4J API 的人群多,顺应潮流,决定打造兼容 Slf4J 风格的整合,使用上也更便捷,可结合 Lombok 强大的功能,在类身上施加一个注解即可。

2023-11-18 15:50:20 358

原创 轻量级 FTP 组件

小巧玲珑的 FTP Java 组件,剥离自 JDK

2023-11-13 21:44:41 172

原创 轻量级 SSO 方略:基于 OIDC 规范(二)

介绍了 SSO 相关的基础数据,这样有了 ClientId 和密钥后,我们就要准备客户端这边的代码。客户端当前指的便是一个网站(也就是 RP),这个网站要求有会员功能,典型地网站导航上通常会有“注册”或“登录”的链接。假设我们这是最简单的网站,采用 Servlet Session 本地记录用户凭证。本身这个网站设计用户的模块,得通过 SSO 完成用户登录。另外我们还要准备一个登录页面,简单的例子如下。这个页面存在 SSO 中心(也就是 OP)的,而不是客户端的。

2023-11-13 21:43:27 384

转载 深入研究线程池

线程池就是以一个或多个线程[循环执行]多个应用逻辑的线程集合。注意这里用了线程集合的概念是我生造的,目的是为了区分执行一批应用逻辑的多个线程和线程组的区别.关于线程组的概念请参阅基础部分。那么如果一个线程循环执行一段代码是否是线程池?如果极端而言,应该算,但实际上循环代码应该算上一个逻辑单元。我们说最最弱化的线程池。这就不能说循环中执行多个逻辑单元,因为它只是简单地对循环外部的初始变量执行++操作。而如果已经有一个队列我们说这个线程就是循环执行多个逻辑单元,可以说这个线程是弱化的线程池。

2023-11-06 20:03:28 49

转载 Java 通用 IO API 设计——赏玩

本文给出了一个通用 Java IO API 设计,并且有 API 的 Demo 代码

2023-11-06 17:23:48 71

转载 也谈谈全栈工程师

一个真正的全栈工程师,目标只有一个:创业

2023-11-06 16:52:39 68

原创 轻量级邮件发送组件:基于 Socket/SMTP 协议的浅层封装

Java 发送邮件组件,大家第一时间想到的就是 JavaMail。JavaMail 本身也不大,才 500kb 的 jar 包,足够轻量级。而今天为大家介绍的,可以说“羽量级”,核心一个类就可以发送邮件了,除了依赖 JDK 无须依赖什么。如果我们了解 SMTP 协议以及 Socket 的简单使用,就知道其中过程并不复杂——实质都是基于文本的协议交互。

2023-11-03 13:44:47 169

转载 微服务安全认证架构是如何演进而来的?

之前有同事问为何要用基于 JWT 令牌的认证架构,然后近期又有童鞋在后台留言问微服务安全认证架构的实践,因此我决定花两篇推文来解答一下。为了答好这个话题,我们先来看看微服务的安全认证架构是如何演进而来的,从而更好地理解。

2023-10-29 19:44:10 110

原创 轻量级 SSO 方略:基于 OIDC 规范(一)

OIDC 是 OpenID Connect,见官网介绍。OIDC 为用户身份认证提供了明确的规范指南,以方便我们更好地设计一个 SSO 产品。

2023-10-29 00:58:18 283

原创 利用 JSqlParser 防止 SQL 注入

高手文章介绍了利用 JSqlParser 防止 SQL 注入,写得很好,只不过有两个问题,代码比较复杂,我于是作了简化,只有两个类;其次检测比较严格,连子查询都禁止,我把它开放了。

2023-10-28 15:54:33 608 2

原创 嵌入式 Tomcat 调校

SpringBoot 嵌入了 Web 容器如 Tomcat/Jetty/Undertow,——这是怎么做到的?我们以 Tomcat 为例子,尝试调用嵌入式 Tomcat。调用嵌入式 Tomcat,如果按照默认去启动,一个 main 函数就可以了。

2023-10-25 22:35:54 1044

原创 轻量级仿 Spring Boot=嵌入式 Tomcat+Spring MVC

SpringBoot 嵌入了 Web 容器如 Tomcat/Jetty/Undertow,——这是怎么做到的?我们以 Tomcat 为例子,尝试调用嵌入式 Tomcat。为了说明如何打造轻量级的 SpringBoot,本文分为“嵌入式 Tomcat”、“增强 SpringMVC”和“打包/部署”三个小节来介绍。

2023-10-25 18:12:41 896

原创 轻量级导出 Excel 标准格式

一般业务系统中都有导出到 Excel 功能,其实质就是把数据库里面一条条记录转换到 Excel 文件上。Java 常用的第三方类库有 Apache POI 和阿里巴巴开源的 EasyExcel 等。另外也有通过 Web 模板技术渲染 Excel 文件导出,这实质是 MVC 模式的延伸,数据转为成不同的视图罢了。

2023-10-20 23:06:37 1509

原创 Word 文档转换 PDF、图片

工作有需要 Word 文档转换 PDF、图片 的场景,我们来看看 Java 开发中怎么解决这个问题的。

2023-09-18 22:33:10 1034

原创 Java 转换 WebP 图片,使用 webp-imageio

WebP 是 Google 推出的一种新型图片格式,相比于 传统的 PNG/JPG 图片有着更小体积的优势,在当今 Web 中有着广泛的应用。但是Java 和 JDK 本身不支持 WebP 图像,不过我们可以使用库来支持 WebP 图片。顺便提一提其他库支持的方式。WebP 最早是这个 webp project of Luciad 库提供支持的,但它需要手动安装对应的动态链接库,非常不方便。项目作者为了解决这个问题,改进了对动态链接库的读取方式,把从读取改成了从项目 resource 文件中读取。

2023-09-15 23:29:57 2468 5

原创 比较全面的身份证校验、提取的方法

比较全面的身份证校验、提取的方法。

2023-09-15 11:45:03 270

原创 简明 JDBC 数据访问操作库:JdbcHelper(三)

之前写的查询 API,感觉不够清晰,原因是我当时喜欢用方法重载,以为相同的方法名更统一,心智更少,其实不然,在使用过程中发现却是更迷糊,要通过参数不同去甄别。于是,我有了重构代码的想法,并在昨晚改了下,有了这个新的版本。这次我采用链式调用的风格,且不同名字的方法来区分,如果 info()/infoMap, list()/listMap(),有标明 Map 的就返回 Map 结果,否则是返回 Java Bean 的。可见是 Java Bean 优先(简洁的名字给 Java Bean 了)。

2023-09-15 10:59:10 100

原创 简明 JDBC 数据访问操作库:JdbcHelper(二)

上篇文章中,主要简介了 JdbcHelper 及 JdbcReader,其中关于 JdbcReader 都是偏源码、偏底层原理的介绍。这次我们打算介绍 Reader 的应用,怎么用于日常的 SQL 数据查询工作中,——所形成封装的就是。所谓 CRUD,顾名思义就是增删改查的工作。

2023-09-12 23:11:55 221

原创 学习 Java 的多线程开发

在介绍线程 Thread 之前,我们必须先搞清楚程序 Program 和进程 Process 这两个概念。main。

2023-09-07 00:01:14 324

转载 库存仓库:简单匹配算法/库存释放/库存扣减

通常在电商项目的库存项目中,每条库存记录都有一个对应的仓库字段,warehouse,同一个商品可能在多个仓库中都存在的。假设用户添加一个商品 sku1到购物车中,这个 sku1在 warehouse1和 warehouse2 都存在,这个时候到底要扣减哪个仓库中的库存呢?这里有个仓库优先级的概念,一般来说,会有专门的系统来决定仓库扣减的优先级。

2023-09-06 00:54:37 330

转载 TCP 为什么要三次/四次握手(三分钟你看不懂找我)

注意是 TCP 三次握手,不是 HTTP 三次握手,HTTP 基于 TCP 实现。

2023-09-06 00:41:37 79

转载 关于分布式系统的数据一致性问题

最近写了一个关于 铁道部购票系统的若干文章铁道部新客票系统的设计(一)铁道部新客票系统的设计(二)铁道部新客票系统的设计(三)正好遇到一个博友,咨询了一个问题,这个问题正好可以作为分布式系统的数据一致性的简单例子,当然,这个只是比较简单的情况。

2023-09-05 04:00:00 62

转载 Spring 事务管理器设计思想

在最近做的一个项目里面,涉及到多数据源的操作,比较特殊的是,这多个数据库的表结构完全相同,由于我们使用的 iBatis 框架作为持久化层,为了防止每一个数据源都配置一套规则,所以重新实现了数据源,根据线程变量中指定的数据库连接名称来获取实际的数据源。每次调用 Spring 事务管理器之前设置事务提交之后在调用方法即可。但是这样设计实际使用过程中也会遇到一些典型的问题,这就是在仔细了解 spring 中持久化层的设计之后,才能明白所产生的问题的原因。下面主要总结一下 spring 持久化的设计。

2023-09-04 22:44:25 76

原创 学用 CountDownLatch 与 CyclicBarrier

CountDownLatch 强调一个线程等多个线程完成某件事情。CyclicBarrier 是多个线程互等,等大家都完成。CountDownLatch 很明显是可以不限制等待线程的数量,而会限制 countDown的操作数;CyclicBarrier 会限制等待线程的数量写法当然不一样,看看下面的伪代码main(){启动5个线程。。。cd.await();//让当前线程休眠,执行代码... (该代码不会立即执行,等待5个线程执行完成后,当前线程会被唤醒,继续执行后面的代码)

2023-09-02 11:27:02 184

翻译 语言与机器 Languages and Machines

至关重要的是,你不是推理你自己写的代码,而是编译器所写的代码,因为从官方的角度来说,目标代码才是"真正"的代码,而 pidgin 只是一种便利。)一种证明这一观点的方法是,定义一次性的 λ 演算到 RAM 代码的编译器,明确表明 λ 演算的抽象步骤可以在 RAM 上以常数时间执行(即不随输入的大小变化,只随静态程序的大小变化)。嗯,如果你的工作都是在复杂性的多项式因子范围内完成的,并且你只关心自然数(或其他有限对象)上的计算,那么这确实不重要。嗯,尽管这是真的,但我可以告诉你,你的论点是站不住脚的。

2023-08-31 10:47:49 65

原创 Spring 容器启动耗时统计

为了了解 Spring 为什么会启动那么久,于是看了看怎么统计一下加载 Bean 的耗时。

2023-08-24 11:35:10 499

原创 Maven 一键部署到 SSH 服务器

利用 Maven Mojo 功能一键部署 jar 包或 war 包到远程服务器上。

2023-08-23 16:59:58 1138

原创 轻量级 Bean 实体校验器

利用 Spring 自带校验器结合 JSR 注解实现轻量级的 Bean 实体校验器。轻捷、简单、很容易上手,也容易扩展。三个核心类`ValidatorInitializing`、`ValidatorImpl`、`ValidatorEnum`去掉注释不超过共200行源码实现 10多m 的 Hibernate Validator 多数功能。

2023-08-20 12:14:52 194

说说面向对象里面的“继承”

Generalization versus Abstraction 英文 PPT

2023-08-02

胡长城工作流系统讲解-干货

很好的资源,早期大神胡长城讲述工作流,干货满满!

2023-01-06

微软百科全书 Encarta 2002 CD-3

包含: MICROSOFT ENCARTA REFERENCE LIBRARY 2002 MICROSOFT ENCARTA ENCYCLOPEDIA DELUXE 2002 MICROSOFT ENCARTA ENCYCLOPEDIA STANDARD 2002

2022-02-02

微软百科全书 Encarta 2002 CD-1

微软百科全书 Encarta 2002 CD-1 包含: MICROSOFT ENCARTA REFERENCE LIBRARY 2002 MICROSOFT ENCARTA ENCYCLOPEDIA DELUXE 2002 MICROSOFT ENCARTA ENCYCLOPEDIA STANDARD 2002

2022-02-02

Peugeot 法国标致汽车宣传多媒体光碟

2004 年出品,Flash 制作

2022-02-02

三洋数码相机驱动光盘 2001 年

VPC-MZ1EX VPC-MZ1E VPC-MZ1

2022-02-02

ERP 进销存软件 锦晖 ERP 推广中心

Microsoft SQL Server 2000

2022-02-02

帝视尼电话商务录音系统

Driver_04_P2311--------型号为P2311的4 路集成卡驱动程序 Driver_08_P2311--------型号为P2311的8 路集成卡驱动程序 Driver_16_P2312--------型号为P2312的16路集成卡驱动程序 DSNPv2.4.7-------------电话录音系统 Popup-----------------PoPuP客户信息弹屏系统 Client----------------录音系统查听客户端 MONITORING TOOL.exe---实时监听工具

2022-02-02

跨终端的 Web 2013-04-12

跨终端的Web qcon-chengdu-2013-04-12-shuwenliang

2022-02-02

跨终端的WebKit渲染机制

跨终端的WebKit渲染机制qcon-beijing-2013-04-26-zhuyongsheng

2022-02-02

商城设计 开发文档 *.odt

作者 颜超敏 http://www.cnblogs.com/winstonyan/ 请用 LiberOffice 打开

2022-01-29

领域驱动设计 精简版 Abel Avram 和 Floyd Marinescu 总结整理

本书是 Eric Evans 的《领域驱动模型》一书的精简版,让你在短时间内理解领域驱动设计的内容。这本书没有介绍任何新的概念,它只是概要总结了领域驱动设计的本质, 抽取了Eric Evans 原书中关于这一主题的大部分内容,以及其他相关资料,包括已经出版的书籍和各种领域驱动设计讨论群组等。这本书可以让你快速了解领域驱动设计的基础知识,但不能替代Eric 书中提供的大量事例和 案例研究或者 Jimmy 书中提供的动手事例等。

2022-01-29

数据结构思维 中文版 Think Data Structures

Think Data Structures: Algorithms and Information Retrieval in Java 译者:飞龙 版本:1.0.0

2022-01-29

简简单单用OpenOffice写书 use_OO_for_writing

很少见、用心写的 OpenOffice 学习资源。*.odt 格式请用 LiberOffice/OpenOffice 打开

2022-01-29

Spring 2.0 技術手冊

正体中文版,内容不错

2022-01-29

JSP 页中的自定义标签 PPT

Tag File 我很喜欢用,其实是不错的技术,用的人不多。前后分离了,用的场合更少了

2022-01-29

电脑报-硬件大师.iso

《硬件大师》按内容分为:硬件基本知识、硬件选购识别、硬件安装、硬件调试和设置、使用维护、故障、小制作和改进、资料、其它 《电脑报》1997年出版

2021-11-20

电脑爱好者-跟我学系列之Photoshop.iso

2001年《电脑爱好者》杂志出品

2021-11-20

二笔输入法(软件、教学 VCD)

二笔输入法(软件、教学 VCD)

2021-11-20

SUPER-SCSI-驱动

连接 SCSI 光驱用的 SCSI 卡驱动,适用型号: ABP-902/03 ABP-915/16 ABP-922/25 ABP-940UA ABP-970UA ABP-940UW ABP-940UW-68 ABP-940UW-D ABP-970UW-68

2021-11-20

SkyRemote驱动.iso

台湾遥控器,手写板“无限飞鼠”的驱动

2021-11-20

U.S. Aircraft Carriers 美国航空母舰百科光碟.iso

ISO 光碟,要求 Win 3.1 系统,1994年出品

2021-11-20

Java 加解密技术.pdf

Java 加解密技术,详细介绍常用算法:BASE64/MD5/SHA/HMAC/DES/3DES/AES/PBE/RSA/DH,25页内容,有代码

2021-06-05

羽量级在线 HTML 编辑器

无任何 JS 库依赖,简单易懂

2021-02-25

商城测试用图片.7z

商城测试用图片,有各种规格,用 7zip压缩。这份是根据电商中所涉及的业务点整理出的图片,更多的偏向于产品功能性的测试。其后所涉及到的性能测试、压力测试、集成测试等,会在进一步分析,作为一名产品经理应该了解到这部分图片。

2020-02-16

Firefox Setup 56.0.2.exe

老版本的Firefox 支持旧插件的最后一个版本,注意安装后立刻断网,禁止自动更新

2019-08-12

DB Browser for SQLite.zip

DB Browser for SQLite 是一款 Sqlite 数据库编辑器,用户通过软件能够非常方便快捷的创建以及查看数据库。开源免费!

2019-08-12

HDTunePro 5(Win8修正版).zip

HD Tune Pro硬盘检测工具是一款小巧易用的硬盘工具软件,其主要功能有硬盘传输速率检测,健康状态检测,温度检测及磁盘表面扫描等。解决 Win8 边框问题,不会过期,好用!

2019-08-12

JDK JavaScript 独立运行时 Nashorn,Java 7 可用

JDK JavaScript 独立运行时 Nashorn,Java 7 可用。比 Rhino 更快,更好用

2016-01-10

数据库转换神器 ESF Database Migration Toolkit - Professional

数据库转换神器 ESF Database Migration Toolkit - Professional

2015-11-25

技术作家林信良博客精华 PDF

本人收集林大大的博客文章,放在一起了。特别是函数式的比较关注

2015-10-21

ASP 空间探针(JScript 写的)

ASP 空间探针(JScript 写的),作者:cocoon sTudio. 2002/12/12

2015-10-13

Ext JS 3.1~3.3 API中文文档(CHM格式)

Ext JS 3.1~3.3 API中文文档(CHM格式) 比较完整的版本。

2010-09-05

空空如也

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

TA关注的人

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