技术杂谈
未读在Mad Magazine工作了65年后,漫画家Al Jaffee宣布退休。Jaffee最出名的是他的Mad Fold-Ins,折叠页面会揭示艺术品中隐藏的信息。网上有很多例子。问题是,它们都静态地并排显示之前和之后,这削弱了魔力(见这里和这里)。整整一代人可能只见过这种格式的折叠。
当然,我必须为网络创建纸张折叠效果。有许多不同的方法可以实现这一点,但这种方法很好,因为:
它只是CSS,不依赖于JavaScript。
使用单个图像,而不是要求在 Photoshop 中对图像进行切片。
可以通过在样式属性中设置 CSS 变量来仅使用 HTML 进行配置。
这是它的演示,使用约翰尼·桑普森(Johnny Sampson)在庆祝Jaffee98岁生日的一期中的作品。悬停或点击可折叠。
在线演示地址
点击查看
效果的 HTML 相当简单。您可能想知道独立图像元素 - 它是隐藏的,但用于设置组件的大小和纵横比。图像路径在此处指定,并再次作为CSS变量来设置其他元素的背景图像。
12345678<span class="jaffee" style="--b ...
在 JavaScript 中处理日期和时间时,开发人员经常发现自己正在努力解决内置对象的复杂性。Date
这就是像 DayJS 这样的外部库发挥作用的地方,它提供了大量优势,使处理日期和时间变得轻而易举。
在本文中,我将向您介绍 DayJS 以及这个小型库如何极大地提高您的代码库和生产力。
以下是我们将介绍的内容:
如何安装 DayJS 库
如何在 JavaScript 中使用日期和时间
如何利用 DayJS 库使这些函数更轻松、更简洁、更易读
在原版JS和DayJS中执行功能之间的比较
DayJS 库中可用的有用函数
JavaScript 中日期对象的快速介绍您可以在 JavaScript 中使用对象来处理日期和时间段。但有时处理对象可能很麻烦,并且日期/时间可能难以操作。Date Date
让我们看看如何在 JavaScript 中获取今天的日期:
1var date = new Date();
这将给我们一个 ISO 日期(这是一种通用日期格式),如下所示:
2023-08-29T04:07:34.791Z
因此,您可以在 中看到,标记了日期的时间部分的开始点。那 ...
快速开始一个业务的开发,是每一个程序员必备的技能。
如何进行快速的开发,市面上有着很多插件,良莠不齐,今天我来介绍一个自己一直在用的一个插件。easy code,如果你的项目只有crud的话,这个插件可以说是一个非常好用的存在
easy code
EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插件,主要通过自定义模板(基于velocity)来生成各种你想要的代码。通常用于生成Entity、Dao、Service、Controller。如果你动手能力强还可以用于生成HTML、JS、PHP等代码。理论上来说只要是与数据有关的代码都是可以生成的。
这里我用的是idea来进行演示
首先要在插件商店上下载上easycode,这个就不多说了。
easycode使用首先连接需要生成代码的数据库
选中要生成的表右键,一张或者多张都可以
在package里面配置要生成代码的路径
之后下面的配置我一般都是这样选择的
可以根据自己需求来进行选择。
之后就发现关于这些的crud就已经出来了
最后需要再启动类中修改一下代码,在启动类中添加mapperscan ...
根据这些 JS 运算符执行的操作类型,我们可以将它们分为七组:
算数运算符
赋值运算符
比较运算符
逻辑运算符
三元运算符
运算符的类型
按位运算符
算术运算符算术运算符用于执行数学运算,如加法和减法。
这些运算符经常与数字数据类型一起使用,因此它们类似于计算器。下面的示例演示如何使用运算符将两个变量相加:+
1234let x = 3;let y = 8;console.log(x + y); // 11
您可以直接对值使用运算符,而无需将它们分配给任何变量:
12console.log(2 + 1); // 3console.log(4 + 1); // 5
在 JavaScript 中,我们总共有 8 个算术运算符。它们是:
加法+
减法-
乘法*
除法/
取余%
幂**
增加++
递减--
我们可以混合这些运算符来执行复杂的数学方程。
1console.log(5 + 2 * 3); // 11
JavaScript 中的运算顺序与数学中的操作顺序相同。乘法、除法和幂的优先级高于加法或减法
可以使用括号更改操作的顺序。包装要首先执行的操作,如下所示:()
1c ...
技术杂谈
未读进行集合遍历1234List<String> list = Arrays.asList("apple", "banner", "orange");for (String s : list) { System.out.println(s);}
这个是一个普通的遍历方法。
之后我们来看经过lambda优化后的
123list.forEach(s->{ System.out.println(s);});
之后也更加简化:
1list.forEach(System.out::println);
排序1234567List<String> list = Arrays.asList("apple", "banner", "orange");Collections.sort(list, new Comparator<String>() { @Override p ...
这个问题对于一些视频网站,是非常常见的一个问题。
首先我们要知道为什么要分片上传。
提高上传速度:通过将大文件切割成多个小片段,可以减少单个文件的传输时间,从而提高上传速度。
提高上传稳定性:分片上传可以实现断点续传,即使在上传过程中断开连接,也可以从上次中断的地方继续上传,提高了上传的稳定性。
减少服务器压力:分片上传可以将大文件切割成多个小片段进行上传,这样可以减少服务器的压力,提高服务器的并发处理能力。
增加传输安全性:在某些情况下,对大文件进行分片上传可以增加数据的安全性,防止单个文件被攻击或篡改。
最简单的一个道理,我们拿b站的举例。如果我们再这个过程中,断网了。那么一整个文件是全部都要重新上传吗?很明显b站的做法不是的。
并且我们可以发现在上传的过程中
是不断的去发送ajax请求的。也就是我们要聊的分片上传
我们可以把一个大的文件,切成很多小片,一片一片的进行上传。
下面我们来看如何进行具体的实现。
如何进行分片首先我们来进行一个实例
1234567891011121314<body><input type="file" /> ...
最近呢,由国产自主研发的CEC-IDE也是比较火。
下面先来看一个文心一言的发言
别的就不多说了,直接开始教程。
如何编译首先我们进入到github
How to Contribute · microsoft/vscode Wiki (github.com)
进入官方的wiki,可以看到在Contributing中的第一条就是如何去贡献。
需要下面工具
Git
NodeJS (>=18.15.x)
yarn
python
这些工具的安装就不多说了。
首先把项目克隆到本地
1git clone https://github.com/microsoft/vscode.git
之后进行 等待下载完成这里建议如果慢的话可以去设置一个淘宝镜像
1yarn config set registry http://registry.npm.taobao.org/
之后进行安装
1yarn
这个安装需要注意的是,有很多的问题,如果各位需要的话,我后面会出一期专门解决问题的。也可以自行去查找,只要有耐心,还是可以找到的。
之后windows系统的直接运行这个
1.\ ...
分支命名master 分支master 为主分支,也是用于部署生产环境的分支,需要确保master分支稳定性。master 分支一般由 release 以及 hotfix 分支合并,任何时间都不能直接修改代码。
develop 分支develop 为开发环境分支,始终保持最新完成以及bug修复后的代码,用于前后端联调。一般开发的新功能时,feature分支都是基于develop分支创建的。
feature 分支开发新功能时,以develop为基础创建feature分支。
分支命名时以 feature/ 开头,后面可以加上开发的功能模块, 命名示例:feature/user_module、feature/cart_module
test分支test为测试环境分支,外部用户无法访问,专门给测试人员使用,版本相对稳定。
release分支release 为预上线分支(预发布分支),UAT测试阶段使用。一般由 test 或 hotfix 分支合并,不建议直接在 release 分支上直接修改代码。
hotfix 分支线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分 ...
这个是对于vue3发布之后,对于vuex的升级版
pinia介绍下面是官网
Pinia | The intuitive store for Vue.js (vuejs.org)
他在官网中写到的特点:
所见即所得
类型安全
开发工具支持
可扩展性
模块化设计
极致轻量化
下面我们是用的是基于Vue3的Composition API 也就是组合式api
首先是初始化一个vue项目。这里用的是vue cli
1npm init vue@latest
在使用pinia的时候
1234567891011121314import './assets/main.css'import { createApp } from 'vue'import { createPinia } from 'pinia'import App from './App.vue'import router from './router'const app = createApp(A ...
前言SpringBoot 是一个非常流行的 Java 框架,它可以帮助开发者快速构建应用程序。他不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整个搭建和开发过程。下面我将来介绍若干个项目,带你来快速开发。(排名不分先后)
注:里面有很多项目都不在维护了,所以请仔细查看。当然也不代表不维护的项目就不适合你,寻找一个自己合适的一套体系,才可以提高自己的开发效率 推荐的仅仅是个人观点
一、开发脚手架1.1 Cloud-Platform
项目地址:https://gitee.com/geek_qi/cloud-platform (star 18.6k)
Cloud-Platform 是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。
代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Spring Boot 2.1.2以及Spring Cloud (Greenwi ...