编程笔记
-
Python爬虫之xpath语法及案例使用
我们在写Python爬虫时,经常需要对网页提取信息,如果用传统正则表达去写会增加很多工作量,此时需要一种对数据解析的方法,也就是本章要介绍的Xpath表达式。 Xpath是什么 X…
-
Java SE 9 多版本兼容 JAR 包示例
说明 Java 9 版本中增强了Jar 包多版本字节码文件格式支持,也就是说在同一个 Jar 包中我们可以包含多个 Java 版本的 class 文件,这样就能做到 Jar 包升级…
-
Go语言 context包源码学习
前言 日常 Go 开发中,Context 包是用的最多的一个了,几乎所有函数的第一个参数都是 ctx,那么我们为什么要传递 Context 呢,Context 又有哪些用法,底层实…
-
SpringBoot(一、快速入门)
1、SpringBoot介绍 SpringBoot是通过Pivotal团队给予一个全新的架构,其设计的目的就是用来简单化新Spring运用的原始构建及其研发流程。该架构用了特殊的形…
-
从零开始Blazor Server(7)–使用Furion权限验证
其实我们既然集成了Fution,就可以用Furion带的方式来验证。 创建AdminHandler 我们还是去创建AdminHandler,但是跟策略不一样的是我们的Handler…
-
重学c#系列——逆变和协变[二十四]
正文 什么是逆变和协变呢? 首先逆变和协变都是术语。 协变表示能够使用比原始指定的派生类型的派生程度更大的类型。 逆变表示能够使用比原始指定的派生类型的派生程度更小的类型。 这里s…
-
CopyOnWriteArrayList 是如何保证线程安全的?
1. 回顾 ArrayList ArrayList 是基于数组实现的动态数据,是线程不安全的。例如,我们在遍历 ArrayList 的时候,如果其他线程并发修改数组(当然也不一定是…
-
Aspose.Cells实现excel预览
aspose.cells是收费组件,支持java、.net、.net core,免费使用时候转换出的html页面会有水印“Evaluation Only. Create…
-
C++ 练气期之函数探幽
1. 函数基础 一个C++程序中,往往需要包含若干个函数,可以说函数是C++程序的基础组成元件,是程序中的头等公民。 如果要理解程序中使用函数的具体意义,则需要了解语言发展过程中致…
-
C++封装静态链接库和使用
零碎记事 距离上次发博客已经有一年半了,转眼间我也是从做图像研究到了做游戏开发,说起来看看前面的博文,本来就有前兆的东西呢(笑)……因为主要还是在使用虚…