学习笔记

TypeScript进阶开发——ThreeJs基础实例,从入坑到入门

 前言   我们前面使用的是自己编写的ts,以及自己手动引入的jquery,由于第三方库采用的是直接引入js,没有d.ts声明文件,开发起来很累,所以一般情况下我们使用npm引入第三方的库,本文记录使用npm,typescript开发threejs3D项目,搭建基础实例,为以后开发具体业务做准备   项目结构   依旧是熟悉的SpringBoot项目,不同以往的是使用了npm管理工具来下载依赖js库,类似maven,同时为了解决typescript编译后引入npm库的路径有问题,导致浏览器报错的问题,我们采用的webpack打包工具来打包 PS:webpack依赖的文件真的是多,全都安装完后,好几百M ...

业务代码的救星——Java 对象转换框架 MapStruct 妙用

简介 在业务项目的开发中,我们经常需要将 Java 对象进行转换,比如从将外部微服务得到的对象转换为本域的业务对象 domain object,将 domain object 转为数据持久层的 data object,将 domain object 转换为 DTO 以便返回给外部调用方等。在转换时大部分属性都是相同的,只有少部分的不同,如果手工编写转换代码,会很繁琐。这时我们可以通过一些对象转换框架来更方便的做这件事情。 这样的对象转换框架有不少,比较有名的有 ModelMapper 和 MapStruct。它们所使用的实现技术不同,ModelMapper 是基于反射的,通过反射来查找实体对象的字段,并读取或写入值,这样的方式实现原理简单,但性能很差。与 ModelMapper 框架不同的是,MapStruct 是基于编译阶段代码生成的,生成的转换代码在运行的时候跟一般的代码一样,没有额外的性能损失。本文重点介绍 MapStruct。 ...

爬取Ajax动态加载网页

目录 常见的反爬机制及处理方式   python中正则处理headers和formdata 民政部网站数据抓取 动态加载数据抓取-Ajax   豆瓣电影数据抓取案例   腾讯招聘数据抓取(Ajax) 常见的反爬机制及处理方式 1、Headers反爬虫 :Cookie、Referer、User-Agent 解决方案: 通过F12获取headers,传给requests.get()方法 2、IP限制 :网站根据IP地址访问频率进行反爬,短时间内进制IP访问 解决方案: 1、构造自己IP代理池,每次访问随机选择代理,经常更新代理池 ...

ASP.NET Core 3.0中使用动态控制器路由

原文:Dynamic controller routing in ASP.NET Core 3.0 作者:Filip W 译文:https://www.cnblogs.com/lwqlun/p/11461657.html 译者:Lamond Lu 译者注# 今天在网上看到了这篇关于ASP.NET Core动态路由的文章,感觉蛮有意思的,给大家翻译一下,虽然文中的例子不一定会在日常编码中出现,但是也给我们提供了一定的思路。 前言# 相对于ASP.NET MVC以及ASP.NET Core MVC中的旧版本路由特性, 在ASP.NET Core 3.0中新增了一个不错的扩展点,即程序获取到路由后,可以将其动态指向一个给定的controller/action. ...

基于ASP.Net Core开发的一套通用后台框架

基于ASP.Net Core开发一套通用后台框架 写在前面 这是本人在学习的过程中搭建学习的框架,如果对你有所帮助那再好不过。如果您有发现错误,请告知我,我会第一时间修改。 知其然,知其所以然,并非重复的造轮子。因为这段时间我发现,自己闷很久写出来的代码,再去看看别人的,会有种恍然大悟的感觉。不是只会用,而不知道为什么要这样用。 真的,只看不敲,总是学不会。 Demo地址:http://app.guoddy.com 源代码地址:https://github.com/jellydong/LJDAPP ...

并发环境下,先操作数据库还是先操作缓存?

 前言在分布式系统中,缓存和数据库同时存在时,如果有写操作的时候,先操作数据库还是先操作缓存呢?先思考一下,可能会存在哪些问题,再往下看。下面我分几种方案阐述。...

bdtrans 一个命令行下的机器翻译工具

现如今,机器翻译技术已经越来越成熟了,尽管从整体来看机器翻译的结果还不是特别如意,但是也足以应付一般的翻译需求了。近几年机器翻译平台层出不穷,国外比较出名的翻译平台有Google翻译、必应翻译等,国内比较出名的也有百度翻译、有道翻译等。   中国的百度公司在人工智能层面做的还算是蛮不错的(虽然它的搜索一直以来为人所诟病),笔者经常在Linux下做一些工作,当有翻译需求时不得不打开浏览器,进入百度翻译官网去翻译一些句子,这样显然是有些麻烦,我想如果百度翻译肯提供一个API的话就好了,这样我就能做一个在终端下调用API的小工具。 ...

分布式全局唯一ID生成策略分布式全局唯一ID生成策略​​

一、背景 分布式系统中我们会对一些数据量大的业务进行分拆,如:用户表,订单表。因为数据量巨大一张表无法承接,就会对其进行分库分表。 但一旦涉及到分库分表,就会引申出分布式系统中唯一主键ID的生成问题。 1.1 唯一ID的特性 整个系统ID唯一; ID是数字类型,而且是趋势递增; ID简短,查询效率快。 1.2 递增与趋势递增 递增 趋势递增 第一次生成的ID为12,下一次生成的ID是13,再下一次生成的ID是14。 什么是?如:在一段时间内,生成的ID是递增的趋势。如:再一段时间内生成的ID在【0,1000】之间,过段时间生成的ID在【1000,2000】之间。但在【0-1000】区间内的时候,ID生成有可能第一次是12,第二次是10,第三次是14。 ...

Linux 终端(TTY)

 TTY 是 Teletype 或 Teletypewriter 的缩写,原来是指电传打字机,后来这种设备逐渐键盘和显示器取代。不管是电传打字机还是键盘显示器,都是作为计算机的终端设备存在的,所以 TTY 也泛指计算机的终端(terminal)设备。为了支持这些 TTY 设备,Linux 实现了一个叫做 TTY 的子系统。所以 TTY 既指终端,也指 Linux 的 TTY 子系统,当然 TTY 还有更丰富(混乱)的含义,本文试图把它们解释清楚。本文中演示部分使用的环境为 ubuntu 18.04。...

控制台抓包和requests.post()发送请求

目录 控制台抓包 requests.post()   参数-data   有道翻译破解案例(post)   百度翻译破解案例(post) 控制台抓包 打开方式及常用选项 1、打开浏览器,F12打开控制台,找到Network选项卡 2、控制台常用选项 1、Network: 抓取网络数据包 1、ALL: 抓取所有的网络数据包 2、XHR:抓取异步加载的网络数据包 3、JS : 抓取所有的JS文件 2、Sources: 格式化输出并打断点调试JavaScript代码,助于分析爬虫中一些参数 ...

[开源] FreeSql.AdminLTE.Tools 根据实体类生成后台管理代码

前言 FreeSql 发布至今已经有9个月,功能渐渐完善,自身的生态也逐步形成,早在几个月前写过一篇文章《ORM 开发环境之利器:MVC 中间件 FreeSql.AdminLTE》,您可以先阅读上一篇文章内容了解来龙去脉,再回到这里观看。 我个人非常喜欢小规模团队的"单打独斗",有的时候即使在大公司,也是做着3-5个人团队的小项目,相信不少人有类似的经历。 从上一篇文章可以看出,早先的 FreeSql.AdminLTE 只不过是花瓶,应用场景非常有限,仅仅在开发环境时管理测试数据的用途,这之后的几个月其实我基本没使用它。。。是不是很尴尬?? ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程