保存成功
订阅成功
保存失败,请重试
提交成功
孙亖

孙亖

开发工程师
软件工程师,长期从事企业信息化系统的研发工作,主要擅长后台业务功能的设计开发。喜欢折腾和分享各种有趣的技术,目前爱好集中于Python、Angular、嵌入式开发。编程直播室:https://t.zsxq.com/2ZfeAMN ...更多
创作文章11

通过网购电影票流程讲解如何使用 Spring Secruity + JWT

如何学习 Spring Security,将晦涩难懂的概念投影到现实直观的过程中,通过网上购票,生成二维码、取票、检票、入座内容等来学习 Spring Security 的基本知识,并使用 Spring Security + JWT 来实现一个最小用户系统。 并将学会以下内容: 1. 创建 Spring Security 数据库 Schema 2. 配置 Spring Secuity 3. 自定义认证管理 4. 授权与访问控制知识 5. 创建和定义 Filter Chain 6. JWT 相关知识及应用
Spring
111 订阅

介绍一种通过模版生成 Word 文档的方法

Word 文档应用广泛,在系统中生成 Word 文档也是一种常见的需求。通常的方案有以下几种: 1. 简单字符串或者正则表达式替换 2. 硬编码生成文档内容 3. 帆软等报表工具 上面几种方法简单有效、主要有以下优缺点: 1. 优点:简单易于实现;缺点:不适合含动态内容的文档(如动态表格); 2. 优点:灵活,代码自己控制;缺点;不适合内容较多的文档,不适合内容经常调整的文档; 3. 优点:模式化,易于修改维护;缺点:不适合对格式要求比较严格的文档(例如帆软并不能严格的和 Word 格式一一对应)。 那么,有没有一种方法能扬长避短呢?今天我们就要来介绍一种通过模版生成 Word (docx)文档的方法。通过学习,我们将掌握通过模版引擎处理 Word 文档,实现如下功能: 1. 数据插入 2. 循环数据处理 3. 表格处理 4. 插入图片 5. 饼图等图形绘制
Java
97 订阅

基于 Selenium 的 Python 爬虫技术之滑动验证实践

众所周知,B 站是央视认证的一个学习平台。我也在周末固定时间进行直播,教小朋友学习 Python。有一个周末我有点事(tou)情(lan),不能上课,但是又不想爽约。我就想能不能把课程录下来,然后到时候再播放,于是便有了这个项目。这可能是一个很小众的需求,但是我觉得做这个东西很有趣,另外,通过这个有趣的过程,我们可以学习到: 1. 学习使用 Selenium 和网页进行交互:填写、点击、鼠标移动等; 2. 学习如何实现滑动验证; 3. 学习如何使用 FFmpeg 推流。
Python爬虫
198 订阅

使用网页技术开发串口助手

串口助手是嵌入式开发中常用到的一个桌面工具,用于串口调试,而 Angular 是一个 Web 应用框架。桌面端原生功能和硬件操作似乎永远都不会和 Web 发生直接关系。然而,随着 JavaScript 技术的进步和变革,一切都成为可能。Electron 是一个使用 JavaScript、HTML 和 CSS 等 Web 技术创建原生程序的框架,结合 Electron 可以构建兼容 Mac、Windows 和 Linux 的应用程序。同时也可以使用文件、串口的系统原生功能,这里我们开发一个串口助手来说明如何融合这些技术。 通过这个分享可以 Get 到 Angular 开发技能、Electron 桌面打包技能和如何调用原生功能的技能,同时还获得一个串口工具,主要包含以下内容: 1. 开发环境和工具的搭建; 2. 在 Angular 中如何配置 Electron; 3. Electron 中使用 Serialport 库的配置; 4. 在 Angular 中如何利用 Electrong 调用原生功能; 5. Angular、Electron、Node-Serialport 基础开发知识; 6. NSIS 安装程序制作。
串口助手网页
129 订阅

CadLib 授权机制研究与实现

软件授权是软件保护概念的延伸和发展。软件授权的目标是让软件用户按照购买许可来使用软件,涉及软件的安装份数,使用时间,应用范围以及功能模块等内容。 对于软件保护来说,其核心理念是防止软件被盗版。 软件授权的方法有多种,我们这次研究下 CadLib 的授权方式,并仿照此方式,构造一个简单的 .Net 程序授权管理。 本场 Chat 主要有三个内容: 1. 使用 NdSpy 反编译、调试、修改没有源码的.Net程序。 2. 学习 SignedXml 相关知识。 3. 应用 Signed 代码实现一个简单的程序授权管理。
CadLib授权
121 订阅

使用 Python 浅尝 Chat 主题数据分析

我们在分享一场 Chat 的时候,有没有思考过: 1. 哪类 Chat 最受欢迎? 2. 哪类 Chat 作者最多? 3. 发布 Chat 最多的作者是谁? 4. 收入最高的作者是谁? 5. 最受欢迎的主题是什么? 6. …… 今天,我们学习使用 Selenium 抓取页面数据,保存到 MongoDB 中,然后使用 PyNum、MatplotLib、Pandas 等工具进行数据的分析、处理、展示,尝试解决我们上面的疑问。
严选Python
452 订阅

使用 Angular2+ 开发 Markdown 编辑器

一直想写一个 Angular2+ 的分享,但是没有一个好的切入点。前段时间我向分享 Chat 的白宦成老师请教 Markdown 的问题,他向我推荐了 Typora 编辑器,我觉着这就是我一直想要的 Markdown 编辑器,于是我就想到了这个主题,我主要是想通过一个实际应用分享一下 Angular(文中提到的 Angular 指的都是 Angular2+,实际版本是 Angular5)的开发过程。 主要内容包括: * Angular2+ 环境搭建 * Angular2+ 项目建立 * 使用 Angular2+ 开发 Markdown 编辑功能 * Angular 中使用第三方库 * 用 Electron 打包成桌面版本 * Typora 思路分析 * 使用 NSIS 制作一个安装程序
Angular.js
189 订阅

用 Kotlin 开发 SpringBoot 之 Data JPA

Kotlin 是一个基于 JVM 的新的编程语言,Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。 Kotlin 已经成为 Android 原生开发的推荐首选语言,但传统领域的使用还存在着一定的争议,这次我们就感受下用 Kotlin 来开发一个 SpringBoot 是什么感觉。有 Java 基础的朋友将快速掌握 Kotlin 在 Spring 中的应用要点及其中会遇到的问题。 本次分享涉及实体建模,DAL、Service、Rest、测试等开发过程和遇到的问题,还有开发测试工具使用等讲解,源码将提交在码云,有兴趣朋友欢迎参加。
Spring
159 订阅

一条挨踢老狗的 2017 年终总结

2018年是中国的狗年,狗常常象征着忠诚,有忠贞不渝的意义,有时也代表财富。一条常年战斗在挨踢界,对挨踢事业忠贞不渝的老狗今天来回顾2017、展望2018。 作为一条对挨踢事业忠贞不渝的老狗,理所当然是热爱这个工作的,但做正确的事和正确的做事是两个不同的概念。 有这样一个说法,老板一拍脑袋项目就启动了;随后,老板拍着项目经理的肩膀,项目经理又拍着众兄弟的肩膀,一脸的前途光明:兄弟们,项目干完之时,就是我们出头之日啊。兄弟们拍着胸脯纷纷表示:没问题,我办事,您放心。项目进行到一半,老板火了,想不到你是这样的项目经理啊,拍着桌子把大家伙臭骂一顿;可是骂人有用吗,骂人能解决问题吗,老子不干啦,项目经理拍拍屁股走人,此处不留爷自有留爷处。至此,项目流产,老板拍着大腿痛定思痛,悔不当初啊。 挨踢老狗有着怎样的2017,又对2018有着怎样的憧憬呢?
免费年终总结
640 订阅

TypeScript 快速入门

为什么要学习 TypeScript ,实际上 JavaScript 已经够用了,而且像我没学过 TypeScript 也照样开发得很好,我们来看看它的优势: * 更多的规则和类型限制,让代码预测性更高、可控性更高,易于维护和调试。 * 对模块、命名空间和面向对象的支持,更容易组织代码开发大型复杂程序。 * TypeScript 的编译步骤可以捕获运行之前的错误。 * Angular 2+ 和 Ionic 2+默认使用 TypeScript(虽然我不会,我也在用。) TypeScript 是微软开发和控制的开源项目,我在应用 Anguar 2 + Ionic 2 + 框架开发系统时使用的就是 TypeScript,但我一直把 TypeScript 当作 JavaScript 来用的,甚至是照猫画虎,所以我想正儿八经的学习下 TypeScript,弄明白我糊里糊涂使用的东西,这篇 Chat分享算是我的一个学习笔记,如果你想和我一样,想知道以下内容,请来我的 Chat: - 为什么要学习 TypeScript - TypeScript 的类型有什么不同和用处 - 使用 Webpack 搭建学习环境 - 深入了解 TypeScript 中的类型
TypeScript
425 订阅

如何用 Python 爬取网页制作电子书

最近,AI 的兴起让 Python 火了一把。实际上 Python 拥有庞大的第三方支持,生态系统非常完整,可以适用各种场景和行业。这次,我们准备通过 Python 学习爬虫的开发,既简单有趣,而且是数据采集重要一环。同时脱离应用谈技术就是耍流氓,通过制作电子书学习数据的收集与整理,即能学到东西又有实用价值。 我们将通过爬取网页信息这个很小的应用场景来体会数据预处理的思想,并从中学习了解数据处理中抓取、处理、分组、存储等过程的实现。我这次分享主要分为以下几个部分: 1. Python 语法的讲解,通过分享掌握简单的 Python 开发语法和思路,侧重于后面爬虫开发的需要用的内容 2. Scrapy 爬虫开发,通过分享了解基本的 Scrapy 开发,并实现从网络爬取数据 3. 使用 Sigil 制作 epub 电子书 最后,我希望通过分享能够入门,并喜欢上 Python 开发,并且掌握 Scrapy 爬虫开发的思路和方法。
Python
1459 订阅