- 博客(56)
- 资源 (4)
- 收藏
- 关注
原创 python selenium4 EdgeDriver动态页面爬取
截止至2024.7.16chrome浏览器最新版本为126.0.6478.127但对应的chromeDriver版本都低于此版本,因此,转用Edge浏览器。
2024-07-16 16:01:05
445
原创 python xpath常用代码功能
其中[^View All]是正则表达式部分,这里是text不等于View All的。1、从文件中读取html内容,然后xpath加载。xpath中的.是当前节点开始。item是我当前要处理的节点。2、正则表达式匹配内容。
2024-07-15 13:55:26
139
原创 C#在同一个项目下,开发及运行多个windows服务
1、新建一个windows服务方法:右键解决方法-添加-类-windows服务2、在该类中(右键查看代码),编写服务的执行代码3、【重要】在Program中,在main函数中,加入新的服务static void Main() { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new Upd
2022-04-12 12:02:13
911
原创 python xml.parsers.expat.ExpatError: not well-formed (invalid token):
<!--XML的转义符< <> >& &' '" " 空格-->因为有特殊字符,转义一下就好
2021-10-13 17:30:00
561
原创 Mybatis-java-xml小细节
数组或集合1、在使用foreach的是collection属性,该属性是必须指定的,但是在不同情况下,该属性的值是不一样的,主要有一下4种情况: 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list. 如果传入的是单参数且参数类型是非list的Collection的时候,collection属性值为collection . 如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array 如果dao层指定了param..
2021-06-30 10:26:47
175
原创 html 防止被下载 另存为 简单处理方法
1、将重要的处理数据的js单独放到js文件下2、web服务器里,在请求筛选中将.js放入拒绝文件扩展名中(IIS用法,其他web服务器应该类似)3、在页面中,加入以下代码 $(function () { //右键菜单 document.oncontextmenu=function(evt){ evt.preventDefault(); } document.onselectstart=function(evt){ evt.preventDefa
2021-03-02 15:18:24
1935
1
原创 C# 代码绘制SVG图形 简单示例
文中使用的Svg库,Svg 3.1.1Nuget网址:https://www.nuget.org/packages/Svg/github网址:https://github.com/vvvv/SVG,文档不太多,但是有遇到问题什么可以去Issues里提问,或没事看看他们的问题也行安装:Install-Package Svg -Version 3.1.1简单示例一、Text文字1.1、Text水平方向 SvgDocument svgDocument = new SvgDocume
2020-12-31 14:49:45
5801
3
原创 写了那么多年C#,但一直不知道的事儿系列之3
34、委托类型(关键字delegate)用来定义和响应应用程序中的回调,委托是一个类型安全的对象,它指向程序中另一个以后会被调用的方法(或多个方法),内置支持多路广播和异步方法调用的对象。 多路广播是指一个委托对象可以维护一个可调用方法的列表而不只是单独一个对象。给一个委托对象添加多个方法时,不用直接分配,重载+=操作符即可。从委托中移除成员,使用-=操作符即可(实际上是手动调用静态Delegate.Remove()方法的简写方式)。 event关键字,目的是为了简化自定义方...
2020-12-04 11:22:10
114
原创 CentOS运维
内存相关命令:查看内存占用情况:free -h查看系统运行情况:top, 按大写的M,则会按内存占用情况排序释放内存的cache:1、同步数据命令:sync2、查看文件值:cat /proc/sys/vm/drop_caches3、echo 1 > /proc/sys/vm/drop_caches1为2中的值echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。echo 2 > /proc/sys/vm/drop_cache.
2020-11-28 10:36:20
161
原创 写了那么多年C#,但一直不知道的事儿系列之2
26、接口实现命名冲突:通过使用显示接口来解决,即,在实现接口时,参考:ReturnType InterfaceName.MethodName(params);同时,需要使用显示转换来访问需要的功能。27、【.NET 基础类库预定义接口】构建可枚举类型IEnumerable和IEnumerator,适用foreach关键字允许遍历任何数组类型的内容,若一个类中,某一个属性是一个数组,则只需要将类实现IEnumeable接口的GetEnumerator()方法,在方法中返回该属性的GetEnumerato
2020-11-24 15:59:08
142
原创 【爱生活之咖啡】咖啡入坑记--冲泡篇
研磨度与冲泡的关系:咖啡颗粒研磨的粗细度,会直接影响萃取时间的长短、萃取率以及浓度的高低。咖啡豆磨的越细,粉层就会越密实,咖啡粉的整体表面积也会越大。因此,不但咖啡粉和热水接触的比例会更高,萃取的阻力也会增加,使得萃取的时间延长、萃取率提高,萃取出来的咖啡口感就会越强烈浓郁;相对来说,也会容易造成萃取过度的情况。反之,如果咖啡颗粒研磨得越粗,粉层的间隙较大,和热水接触的咖啡表面积就会较小,使得萃取阻力减小,萃取时间缩短、萃取率降低,让咖啡颗粒来不及释放出更多可溶性物质,容易出现萃取不足的情况,从
2020-11-18 10:47:46
220
原创 面向对象系统分析与设计【更新中】
问题域:是指所计划、分析、设计和最终作为自动信息系统实现的某个商业问题或功能。信息系统是一种供一个人或多个人使用的协助完成一项任务或作业的人造系统。信息系统的基本特点是数据、功能和行为。数据:输入、存储或输出;功能:所执行的商业活动,是信息系统进行的转换或动作,同义词:过程、服务和方法;行为:请求的可观察到的结果,在具有人机交互组成部分的系统中表现更为显著。自动信息系统是指使用计算机硬件和软件作为系统一部分的信息系统。系统是一组为实现共同目标互相联系、互相作用的部件,可以分为自然系统和人造系统两
2020-11-17 14:03:01
595
原创 那些年我吃过的豆子【记录ing】
那些年我吃过的豆子【记录ing】2020.111)玻利维亚 雨林精灵产地:玻利维亚 安第斯山脉处理方式:水洗烘焙度:中度豆种:圆豆官方风味描述:榛果 松果 樱桃品尝感觉:酸度适中,很清爽,有点甘甜,没有苦和涩的感觉,这是我的第一款豆!等喝了更多之后,希望可以有更好的对比和感受。尝了3号豆子后,觉得这款豆子的感觉很活泼,活泼的酸甜~2)西达摩 小圆豆产地:埃塞尔比亚处理方式:日晒烘焙度:浅度品种:原生豆官方风味描述:草莓 红色水果 水果糖暂未开.
2020-11-17 12:31:01
379
原创 Microsoft Visual Studio 2017 连接postgreSQL 出错
未能正确加载NpgsqlVSPackage包已安装版本:EntityFramework6.Npgsql 3.1.1Npgsql4.1.3.1卸载上面的包,重新安装使用Nuget程序包管理器控制台安装连接所需要的Nuget包,输入如下代码: install-package npgsql -version 3.2.7 install-Package EntityFramework6.Npgsql -Version 3.1.1 因为先安装了nuget包,才看到这个帖子...
2020-11-16 20:34:26
873
原创 畅购商城】分布式搜索(Elasticsearch、IK分词、Kibana等)-学习记录6
Elasticsearch跨域操作:kibana/es-head链接ESIK分词器配置Kibana的使用->DSL语句数据导入ElasticsearchElasticsearch安装注意点:5.x之后,默认关闭远程链接,需要开启,找到config/elasticsearch.yml中,transport.host前面的注释符,同时添加当前集群节点名称cluster.name,同时需要开启跨域,network.host需要根据实际情况配置ES占用资源较多,当重启失败时,.
2020-11-16 20:33:02
223
原创 C# .NET网络编程
读书笔记:《Visual C#网络编程技术及实践》清华大学出版社,梅晓冬 颜烨青编著概述:在网络领域,所谓协议,就是指一套大家都公认的通信规则。不同的协议是工作在不同的层上的,而层与层之间则通过接口来描述。网络协议:计算机之间的相互通信需要共同遵守一定的规律原则,这些规则就称为网络协议。常见的协议有TCP/IP(传输控制协议/网际协议)、IPX/SPX、NetBEUI等。在局域网中用得比较多的是IPX/SPX,用户如果访问Internet,则必须在网络协议中添加TCP/IP。 接口:两台主机直接.
2020-11-12 17:29:01
614
原创 【爱生活之咖啡】咖啡入坑记--我的器具篇
我用过的以及即将使用的:冲泡器具:摩卡壶、法压壶;摩卡壶放在家中使用,法压壶放办公室;但是对于法压壶冲泡出来的咖啡真的是有点爱不起来,一是细分太多,二是过于浓郁,感觉层次感较差,以后办公室准备用挂耳滤纸,法压壶用来泡茶吧... 磨豆机:手摇磨豆机OE LIDOET,因为是第一个磨豆机,调研了很久,看了很多评测,在手摇磨豆机中,应该算是不错的选择,锥刀、价格、磨豆颗粒的范围、粗细均匀度和有无细分;咖啡颗粒的好坏直接影响咖啡的风味。主要原因是颗粒均匀度,大小不均导致吃水时间、饱和度等不一致的状态,从而容.
2020-11-12 13:55:16
275
2
原创 【爱生活之咖啡】咖啡入坑记--咖啡豆的那些事
咖啡豆的那些事儿:大类:小果咖啡(阿拉比卡种),中果咖啡(罗布斯塔种,颗粒较粗、酸味较低、味味较浓)按烘焙度:浅烘焙、中度烘焙、深烘焙(咖啡豆内部纤维空间停止变动时,是咖啡豆最佳的萃取时间点;浅烘焙的咖啡豆因为脱水率低,烘焙好4天后冲泡是风味最佳;深烘焙豆7天后冲泡最佳)按处理方式分:水洗、日晒、蜜处理产地:哥伦比亚、巴西、危地马拉、中国云南(听说云南的豆子也不错)等注意:咖啡豆一定不要放冰箱保存!放在单排气孔避光的袋子或罐子里密封保存。如果是中烘焙或浅烘焙度的豆子表面有油,说明在烘焙过
2020-11-12 13:31:14
378
原创 写了那么多年C#,但一直不知道的事儿系列之1
1、??操作符,跟可空类型配合,当获得的值是null时,可以用??操作符给一个可空类型赋值,比传统的if else写法更紧凑, pamaTest ?? 100; 意味着,如果可空变量pamaTest为null,则赋值为100;2、this关键词,使用this进行串联构造函数调用,如:public Motorcycle() { }public Motorcycle(int intintensity) :this(intintensity,"") { }public Motorcycle(int
2020-11-11 17:15:04
194
4
原创 C# 结构类型struct
结构类型,值类型,派生自System.ValueType,分配在栈上而不是垃圾回收堆上。使用关键字struct来创建结构创建结构变量:可以直接使用,也可以用new关键字创建(会调用结构默认的构造函数--每一个字段被自动设置为默认值)在结构类型里有一个引用类型的属性,默认情况下,当值类型保护其他引用类型时,赋值将生成一个引用的副本,有两个独立的结构,每一个都包含指向内存中同一个对象的引用(也就是“浅”复制)。当想要执行一个“深”复制时,即将内部引用的状态完全赋值到一个新对象中,则需要实现IClonea
2020-11-11 16:03:37
399
原创 【爱生活之咖啡】咖啡入坑记开篇--回顾
不知道为什么,大家每次提到想要解困困,第一个想到的就是喝咖啡提神。我也不例外。3合一速溶(热加工) —— 纯黑咖啡速溶粉(冷加工) —— 摩卡壶(去意大利旅游,买了点illy的咖啡粉,顺便带了一个摩卡壶) —— 挂耳咖啡(朋友给的元祖券,平时不太吃蛋糕,就买了点挂耳咖啡,后来又入了illy的深烘焙咖啡粉买挂耳滤包自己冲)—— 法压壶(在办公室方便冲泡) —— 手冲(设备还在购置中)其实,以前对手工咖啡一直都没有概念,对咖啡的印象也只停留在美式,摩卡、拿铁、卡布奇诺这些分类区别,直到有一次在星巴克(.
2020-11-11 14:06:13
114
原创 C#方法和参数修饰符&命名参数
参数修饰符:1、无,默认行为是按值传递,即值类型则是传递数值。2、out,输出参数由被调用的方法赋值,因此它是按引用传递,如果被调用的方法没有给输出参数,则会出现编译错误3、ref,调用者赋值,引用赋值,被调用者没有给出参数,不会出现编译错误4、params,可变参数作为单独的逻辑参数进行传递,方法只能有一个parms修饰符,且必须是最后一个参数;关于可选参数:必须在编译时确认,而不能是运行时确认,比如Datetime.Now就是无效的;当有params时,可选参数失效(必填).
2020-11-10 16:31:20
221
原创 C# var隐式类型
1、可以用var类型表示任何类型,包括数组、泛型类型,以及自定义的类型2、只能用于方法或属性范围内的本地变量。不可以定义为返回值、参数或自定义类型的字段数据自定义类型的字段数据:class TestClass{ //错误,不能用于字段数据 private var myInt = 10; }3、必须在声明时分配初始值,并且不可以是null4、强类型特性,并且只会在编译时影响变量的声明,一旦分配类型后,无法再为该变量分配不同的类型5、var本地变量的用途
2020-11-09 17:32:45
173
转载 cron表达式详解
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek Year或Seconds Minutes Hours DayofMonth Month DayofWeek每一个域可出现的字符如下:Seconds:可出现", - * /"四个字符,有效范围为0-59的整数Minutes:可出现", - * /"四个字符,有效范围为0-5...
2020-10-14 21:44:37
903
原创 【畅购商城】广告缓存(Lua、Nginx、openResty、Canal)-学习记录5
广告缓存结构Lua脚本语言,应用场景:OpenResty:基于nginx的可伸缩的Web平台,提供了很多高质量的第三方模块。处理流程:lua获取用户请求参数xxxx?id=1:ngx.header.content_type ="application/json;charset-utf8"local uri_args = ngx.req.get_uri_args()local id = uri_args["id"]脚本:修改nginx.conf,将用户请求交.
2020-09-15 21:52:38
191
原创 【畅购商城】分布式文件存储FastDFS-学习记录4
分布式文件存储:FastDFS,开源的轻量级分布式文件系统,解决了大容量存储和负载均衡的问题,支持水平扩容,容灾性强。特点:图片上传/下载的负载均衡。FastDFS:组件: Tracker:负责文件管理负载均衡操作,控制中心(注册中心) storage:文件上传、文件下载、文件删除等...工作流程:说明:同一个group中节点是同步-备份关系(实现冗余备份,容灾机制);多个group组成一个集群。...
2020-09-10 17:18:44
111
原创 【杂文】每天进步一点点
提纲:1、 只有放得下理想的大目标,才能抓得住现实的小目标2、 积少成多,贵在坚持,需要激励与监督(记录进步,随时可见)3、 进步是不断完善的对于一件事情,人最理想的处理方式是一劳永逸的处理方法,也就是:在做之前,罗列出事情的整个过程,制定细致而严密的计划,然后按部就班地执行,最终完成,并且形成一套规范,使得下次再发生这件事情时,可以直接按照规范处理。可是实际上,对于人来说,并不是所有事情都是能够完全掌控的,当事情的复杂度达到一定层次,想要按照理想的方式处理就已经不现实了。如果执着于做出计划再行动
2020-09-10 13:58:52
128
原创 【畅购商城】微服务注册中心 Eureka -学习记录3
1、创建一个子项目2、添加依赖包<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency></dependenc
2020-09-08 17:03:26
103
原创 【畅购商城】畅购技术架构图-学习记录1
VIP:虚拟IPNginx:负载均衡/限流/自带缓存,5万并发Keepalived:虚拟路由器,与Nginx搭配,解决nginx单点故障问题OpenResty:提升Nginx的并发能力,可支持10k-1000K并发Gateway集群:微服务网关,功能包括路由、限流、鉴权,可路由到不同的微服务应用Feign服务调用:不同微服务间的调用Ribbon负载均衡Hystrix服务熔断/降级fescar分布式事务canal数据同步监听springCloud bus消息总线Eu
2020-09-08 13:50:10
459
原创 C# Selenium.NoSuchElementException: no such element: Unable to locate element:
有时候按钮点击之后,才会build出我们需要的元素,这个时候往往需要时间去等待,如果单纯用隐式等待或用Thread.sleep,则无法确定什么时候才能加载完成,可能导致异常或时间的浪费。【隐式等待】允许Web页面中的元素在特定的时间内加载完成。如果超出了设定的时间,指定的元素仍没有被加载完,则抛出异常。代码如下:driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);因此,可以采用wait until方法//.
2020-08-07 09:51:26
754
原创 C# Hotmail SMTP not authenticated to send anonymous mail 解决方案
错误日志:The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM问题原因:Microsoft 帐户认为有异常登录行为导致的解决方案:1、在个人中心-安全-登录活动-找到对应发送.
2020-07-31 10:38:33
1466
原创 EF 判断是否有数据 Any和Count之选择
源码参考 public static int Count<TSource>(this IEnumerable<TSource> source) { if (source == null) throw Error.ArgumentNull("source"); ICollection<TSource> coll...
2020-04-15 11:28:44
2090
原创 使用Newtonsoft.Json 序列化和反序列化
一、将List集合转成json格式的字符串 JsonSerializer serializer = new JsonSerializer(); StringWriter swJson = new StringWriter(); serializer.Serialize(new JsonTextWriter(swJson), list); string resultString ...
2019-12-26 16:04:07
5165
原创 EF 数据类配置设置方式 Fluent API
除了惯例原则与属性数据注解外,Fluent API是另一种支持数据类配置设置的方式。优先权:Fluent API> 数据注解 > 惯例。在DbContent类定义OnModelCreating方法是最常用的调用Fluent API的地方。public class SchoolContext: DbContext { public DbSet<Student&...
2019-11-05 11:06:24
565
原创 C# 通用方法 去掉类中所有字符串类型的前后空格
public static void TrimClassStringProperties<T>(T model) { Type t = model.GetType(); PropertyInfo[] PropertyList = t.GetProperties(); foreach (Prope...
2019-10-11 12:54:50
469
原创 阿里云rds mysql数据设置字符集为utf8mb4,支持ios的emoji
1、查character_set_servershow global variables like '%char%';2、查数据表的characterSHOW FULL COLUMNS FROM 表名;如果不是show global variables like '%char%';返回的不是utf8mb4的需要修改数据库的1、找到实例的参数设置,并找到character...
2019-10-09 20:27:51
613
原创 SQL Server: collation conflict between "Chinese_PRC_CI_AS" and "SQL_Latin1_General_CP1_CI_AS"
1、修改数据库的collateALTER DATABASE 数据库名 COLLATE Chinese_PRC_CI_AS2、修改数据表的collatealter table 表名 alter column 字段名 类型 长度COLLATE Chinese_PRC_CI_AS
2019-10-09 15:15:13
370
原创 Entity Framework 无法对没有主键的视图映射实体的解决办法
在数据模型(DbContext)中的OnModelCreating方法下加入下面的代码即可解决该问题 modelBuilder.Entity<TableName>() .HasKey(l => new { l.column1, l.column2});...
2019-08-22 15:23:17
445
转载 URL中Get方式传输特殊字符时的处理
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。如果不使用转义字符,这些编码就会当URL中定义的特殊字符处理。下表中列出了一些URL特殊符号及编码 十六进制值1) + URL 中+号表示空格 %2B2) 空格 ...
2019-06-14 10:56:34
1934
create_sql
2013-07-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人