欢迎来到 技术中心
补码 一共1条数据
computer 一共2条数据
XML 一共1条数据
IP 一共1条数据
Http 一共2条数据
Java 一共15条数据
我们知道,web浏览器会将form中的内容打包成HTTP请求体,然后发送到服务端,服务端对请求体解析后可以得到传递的数据。这当中包含两个过程:encode
与decode
。
BeanValidation 可以帮助开发者方便地对数据进行校验,但它只是一个标准,只有一套接口,要想使用它的功能必须选择一种实现,hibernate-validator
是个不错的选择
在java中如何解析json?fastjson?jackson?那未免太无趣了
在java中进行SQL拼接是一件无比痛苦的工作,这是由于需要通过判断参数动态生成SQL
线程拥有通过程序运行的独立的并发路径,并且每个线程都有自己的程序计数器,称为堆栈和本地变量。线程存在于进程中,它们与同一进程内的其他线程共享内存、文件句柄以及进程状态。
Java 中的锁是可重入的,当线程试图获得它自己占有的锁时,请求会成功。
synchronized 一共1条数据
Java 中的锁是可重入的,当线程试图获得它自己占有的锁时,请求会成功。
Lock 一共1条数据
Java 中的锁是可重入的,当线程试图获得它自己占有的锁时,请求会成功。
fileupload 一共1条数据
Flex 一共1条数据
ActionScript 一共1条数据
script 一共2条数据
在JS中,当内部的方法被其他对象引用,如果内部的方法使用了外部方法的变量,将造成外部方法无法释放,变量将被保持,此时将形成闭包。
Linux 一共1条数据
命令 一共1条数据
SSH 一共1条数据
Effective 一共1条数据
JVM 一共1条数据
算法 一共1条数据
algorithm 一共1条数据
排序 一共1条数据
Concurrent 一共1条数据
线程拥有通过程序运行的独立的并发路径,并且每个线程都有自己的程序计数器,称为堆栈和本地变量。线程存在于进程中,它们与同一进程内的其他线程共享内存、文件句柄以及进程状态。
新特性 一共1条数据
WebService 一共1条数据
closure 一共1条数据
在JS中,当内部的方法被其他对象引用,如果内部的方法使用了外部方法的变量,将造成外部方法无法释放,变量将被保持,此时将形成闭包。
javascript 一共13条数据
** 通用脚手架 **
本脚手架主要方便个人开发,常用的项目脚手架个模板自己封装便于使用,在企业中节约重复造轮子的时间, 包含VUE脚手架常用的插件功能,其实就是提升复用率,目前完成了VUE3的PC端模版
npm i manix-sun-cli manix-sun-cli create <project name> 根据需求选择即可
- vue3 PC端后台模板
- vue2 PC端后台模板
- vue3 移动端模板
- vue2 移动端模板
- 微信小程序模板
- 题目1:数组查找指定和的下标 ``` 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
1.前端模块化打包初识 commonjs语法形式
> user.js
const login = function(formData){
console.log("logoing")
return {}
}
const register = function(formData){
console.log("register")
}
module.exports = {
login:login,
register:register
}
>login_index.js 引入
const user =require('./user.js')
const resp = user.login({})
var body = document.body;
body.addEventListener("click",async function(){
var stream = await navigator.mediaDevices.getDisplayMedia({video: true});
var mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ?"video/webm; codecs=vp9" :"video/webm";
var mediaRecorder = new MediaRecorder(stream, {mimeType: mime});
//录制
var chunks = [];
mediaRecorder.addEventListener('dataavailable', function(e) {chunks.push(e.data)})
//停止
mediaRecorder.addEventListener('stop', function(){
var blob = new Blob(chunks, {type: chunks[0].type});
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = 'video.webm';
a.click();
})
//手动启动
mediaRecorder.start()
});
** 常用的API *** 一、下面是 Proxy 支持的拦截操作一览,一共 13 种。 ``` get(target, propKey, receiver):拦截对象属性的读取,比如proxy.foo和proxy[‘foo’]。 set(target, propKey, value, receiver):拦截对象属性的设置,比如proxy.foo = v或proxy[‘foo’] = v,返回一个布尔值。 has(target, propKey):拦截propKey in proxy的操作,返回一个布尔值。 deleteProperty(target, propKey):拦截delete proxy[propKey]的操作,返回一个布尔值。 ownKeys(target):拦截Object.getOwnPropertyNames(proxy)、Object.getOwnPropertySymbols(proxy)、Object.keys(proxy)、for…in循环,返回一个数组。该方法返回目标对象所有自身的属性的属性名,而Object.keys()的返回结果仅包括目标对象自身的可遍历属性。 getOwnPropertyDescriptor(target, propKey):拦截Object.getOwnPropertyDescriptor(proxy, propKey),返回属性的描述对象。 defineProperty(target, propKey, propDesc):拦截Object.defineProperty(proxy, propKey, propDesc)、Object.defineProperties(proxy, propDescs),返回一个布尔值。 preventExtensions(target):拦截Object.preventExtensions(proxy),返回一个布尔值。 getPrototypeOf(target):拦截Object.getPrototypeOf(proxy),返回一个对象。 isExtensible(target):拦截Object.isExtensible(proxy),返回一个布尔值。 setPrototypeOf(target, proto):拦截Object.setPrototypeOf(proxy, proto),返回一个布尔值。如果目标对象是函数,那么还有两种额外操作可以拦截。 apply(target, object, args):拦截 Proxy 实例作为函数调用的操作,比如proxy(…args)、proxy.call(object, …args)、proxy.apply(…)。 construct(target, args):拦截 Proxy 实例作为构造函数调用的操作,比如new proxy(…args)。
HTML、CSS相关 HTML5 HTML5新特性 增强了表单,input新增了一些type: color—-定义调色板 tel—–定义包含电话号码的输入域 email—定义包含email地址的输入域 search–定义搜索域 number–定义包含数值的输入域 date—-定义选取日、月、年的输入域 Video视频标签; Audio音频标签; 语义化标签;datatime-local 定义文档类型的简写 地理定位;拖放api;Canvas图形绘制;富文本Web Storage:localStorage:没有时间限制的数据存储;sessionStorage:在浏览器关闭的时候就会清除
一、 ** webpack安装配置 ,纯手动,官网提供了脚本这里不做介绍**
- npm install nodemon -g nodemon可以替代node 来观察代码更改并自动 启动关闭程序 全局安装即可, 后续使用命令nodemon server.is 替代 npde server.js
** 初始化 **
npm
npm init vite@latest
yarn
yarn create vite
pnpm
pnpm create vite
``` Props管理 Props管理对Vue组件至关重要,因为它可以以不同的方式创建。您还可以验证Prop、创建多个Prop并根据需要修改它们。
* 简单介绍 *** Lodash 能够大幅度提高前端 JavaScript 编程的效率和可读性,使得代码编写更加快捷、简洁、易懂。如果你还没有使用过 Lodash,建议尝试使用它来优化你的项目,提高开发效率。向大家介绍或简单的展示一下它的能力,或许能够吸引到你。Lodash 是一个流行的 JavaScript 实用工具库,提供了许多常用的函数和工具,能够方便地处理集合、字符串、数值、函数等多种数据类型,减少编写重复代码的时间和精力。Lodash 的 API 设计与 ES6 的新特性相似,同时兼容了更早的浏览器版本。Lodash 支持模块化加载,可以通过 npm 或在浏览器中直接引入来使用。 Lodash 有多达 300 多个函数,每个函数都有详细的文档和示例,能够快速地满足各种编程需求。同时,Lodash 的功能也非常完善,比如数组、对象等的操作,以及日期、数学计算、函数式编程等多方面支持。Lodash 还提供了链式调用的方式,简化操作的流程。 *** npm install lodash **
在java中如何解析json?fastjson?jackson?那未免太无趣了
话不多说,直接上源码,用了传说中的伪面向对象写法
在JS中,当内部的方法被其他对象引用,如果内部的方法使用了外部方法的变量,将造成外部方法无法释放,变量将被保持,此时将形成闭包。
ajax 一共1条数据
话不多说,直接上源码,用了传说中的伪面向对象写法
ES5 一共1条数据
话不多说,直接上源码,用了传说中的伪面向对象写法
sql 一共1条数据
在java中进行SQL拼接是一件无比痛苦的工作,这是由于需要通过判断参数动态生成SQL
database 一共1条数据
在java中进行SQL拼接是一件无比痛苦的工作,这是由于需要通过判断参数动态生成SQL
ScriptEngineManager 一共1条数据
在java中如何解析json?fastjson?jackson?那未免太无趣了
Bean 一共1条数据
BeanValidation 可以帮助开发者方便地对数据进行校验,但它只是一个标准,只有一套接口,要想使用它的功能必须选择一种实现,hibernate-validator
是个不错的选择
Validation 一共1条数据
BeanValidation 可以帮助开发者方便地对数据进行校验,但它只是一个标准,只有一套接口,要想使用它的功能必须选择一种实现,hibernate-validator
是个不错的选择
spring 一共1条数据
security 一共1条数据
servlet 一共1条数据
我们知道,web浏览器会将form中的内容打包成HTTP请求体,然后发送到服务端,服务端对请求体解析后可以得到传递的数据。这当中包含两个过程:encode
与decode
。
encode 一共1条数据
我们知道,web浏览器会将form中的内容打包成HTTP请求体,然后发送到服务端,服务端对请求体解析后可以得到传递的数据。这当中包含两个过程:encode
与decode
。
node 一共1条数据
I、软件包
安装nodejs》 路径:E:\nodejs
npmpackage 一共1条数据
I、软件包
安装nodejs》 路径:E:\nodejs
vue3 一共3条数据
- 为什么我要用这么不知名的语言写这个系统
- 好奇心驱使,热爱新鲜技术,希望避免重复性劳动
- 复用率高,每天写写markdown日记便可以同步到github
- 学的东西都来自开源,总的回馈点什么
window 一共1条数据
在这个容器化包管理时代,前端打包工具等满天飞的时代想必你也会比较感兴趣这个话题(Webpack,Rollup,RequireJS,browserify)
很多小伙伴估计都没有听说过这个名词,打包工具其实就是将做好的程序用用户可以看到的方式制作成一个对应操作系统下的可执行应用,Windows下面必然就是打包成 .exe为后缀的,说起来高大上,其实就是一个难者亦易的事情,具体你看我怎么操作的就知道的
打包 一共1条数据
在这个容器化包管理时代,前端打包工具等满天飞的时代想必你也会比较感兴趣这个话题(Webpack,Rollup,RequireJS,browserify)
很多小伙伴估计都没有听说过这个名词,打包工具其实就是将做好的程序用用户可以看到的方式制作成一个对应操作系统下的可执行应用,Windows下面必然就是打包成 .exe为后缀的,说起来高大上,其实就是一个难者亦易的事情,具体你看我怎么操作的就知道的
InnoSetup 一共1条数据
在这个容器化包管理时代,前端打包工具等满天飞的时代想必你也会比较感兴趣这个话题(Webpack,Rollup,RequireJS,browserify)
很多小伙伴估计都没有听说过这个名词,打包工具其实就是将做好的程序用用户可以看到的方式制作成一个对应操作系统下的可执行应用,Windows下面必然就是打包成 .exe为后缀的,说起来高大上,其实就是一个难者亦易的事情,具体你看我怎么操作的就知道的
ES6 一共10条数据
** 通用脚手架 **
本脚手架主要方便个人开发,常用的项目脚手架个模板自己封装便于使用,在企业中节约重复造轮子的时间, 包含VUE脚手架常用的插件功能,其实就是提升复用率,目前完成了VUE3的PC端模版
npm i manix-sun-cli manix-sun-cli create <project name> 根据需求选择即可
- vue3 PC端后台模板
- vue2 PC端后台模板
- vue3 移动端模板
- vue2 移动端模板
- 微信小程序模板
- 题目1:数组查找指定和的下标 ``` 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
1.前端模块化打包初识 commonjs语法形式
> user.js
const login = function(formData){
console.log("logoing")
return {}
}
const register = function(formData){
console.log("register")
}
module.exports = {
login:login,
register:register
}
>login_index.js 引入
const user =require('./user.js')
const resp = user.login({})
var body = document.body;
body.addEventListener("click",async function(){
var stream = await navigator.mediaDevices.getDisplayMedia({video: true});
var mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ?"video/webm; codecs=vp9" :"video/webm";
var mediaRecorder = new MediaRecorder(stream, {mimeType: mime});
//录制
var chunks = [];
mediaRecorder.addEventListener('dataavailable', function(e) {chunks.push(e.data)})
//停止
mediaRecorder.addEventListener('stop', function(){
var blob = new Blob(chunks, {type: chunks[0].type});
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = 'video.webm';
a.click();
})
//手动启动
mediaRecorder.start()
});
** 常用的API *** 一、下面是 Proxy 支持的拦截操作一览,一共 13 种。 ``` get(target, propKey, receiver):拦截对象属性的读取,比如proxy.foo和proxy[‘foo’]。 set(target, propKey, value, receiver):拦截对象属性的设置,比如proxy.foo = v或proxy[‘foo’] = v,返回一个布尔值。 has(target, propKey):拦截propKey in proxy的操作,返回一个布尔值。 deleteProperty(target, propKey):拦截delete proxy[propKey]的操作,返回一个布尔值。 ownKeys(target):拦截Object.getOwnPropertyNames(proxy)、Object.getOwnPropertySymbols(proxy)、Object.keys(proxy)、for…in循环,返回一个数组。该方法返回目标对象所有自身的属性的属性名,而Object.keys()的返回结果仅包括目标对象自身的可遍历属性。 getOwnPropertyDescriptor(target, propKey):拦截Object.getOwnPropertyDescriptor(proxy, propKey),返回属性的描述对象。 defineProperty(target, propKey, propDesc):拦截Object.defineProperty(proxy, propKey, propDesc)、Object.defineProperties(proxy, propDescs),返回一个布尔值。 preventExtensions(target):拦截Object.preventExtensions(proxy),返回一个布尔值。 getPrototypeOf(target):拦截Object.getPrototypeOf(proxy),返回一个对象。 isExtensible(target):拦截Object.isExtensible(proxy),返回一个布尔值。 setPrototypeOf(target, proto):拦截Object.setPrototypeOf(proxy, proto),返回一个布尔值。如果目标对象是函数,那么还有两种额外操作可以拦截。 apply(target, object, args):拦截 Proxy 实例作为函数调用的操作,比如proxy(…args)、proxy.call(object, …args)、proxy.apply(…)。 construct(target, args):拦截 Proxy 实例作为构造函数调用的操作,比如new proxy(…args)。
HTML、CSS相关 HTML5 HTML5新特性 增强了表单,input新增了一些type: color—-定义调色板 tel—–定义包含电话号码的输入域 email—定义包含email地址的输入域 search–定义搜索域 number–定义包含数值的输入域 date—-定义选取日、月、年的输入域 Video视频标签; Audio音频标签; 语义化标签;datatime-local 定义文档类型的简写 地理定位;拖放api;Canvas图形绘制;富文本Web Storage:localStorage:没有时间限制的数据存储;sessionStorage:在浏览器关闭的时候就会清除
一、 ** webpack安装配置 ,纯手动,官网提供了脚本这里不做介绍**
- npm install nodemon -g nodemon可以替代node 来观察代码更改并自动 启动关闭程序 全局安装即可, 后续使用命令nodemon server.is 替代 npde server.js
** 初始化 **
npm
npm init vite@latest
yarn
yarn create vite
pnpm
pnpm create vite
``` Props管理 Props管理对Vue组件至关重要,因为它可以以不同的方式创建。您还可以验证Prop、创建多个Prop并根据需要修改它们。
* 简单介绍 *** Lodash 能够大幅度提高前端 JavaScript 编程的效率和可读性,使得代码编写更加快捷、简洁、易懂。如果你还没有使用过 Lodash,建议尝试使用它来优化你的项目,提高开发效率。向大家介绍或简单的展示一下它的能力,或许能够吸引到你。Lodash 是一个流行的 JavaScript 实用工具库,提供了许多常用的函数和工具,能够方便地处理集合、字符串、数值、函数等多种数据类型,减少编写重复代码的时间和精力。Lodash 的 API 设计与 ES6 的新特性相似,同时兼容了更早的浏览器版本。Lodash 支持模块化加载,可以通过 npm 或在浏览器中直接引入来使用。 Lodash 有多达 300 多个函数,每个函数都有详细的文档和示例,能够快速地满足各种编程需求。同时,Lodash 的功能也非常完善,比如数组、对象等的操作,以及日期、数学计算、函数式编程等多方面支持。Lodash 还提供了链式调用的方式,简化操作的流程。 *** npm install lodash **
lodash 一共1条数据
* 简单介绍 *** Lodash 能够大幅度提高前端 JavaScript 编程的效率和可读性,使得代码编写更加快捷、简洁、易懂。如果你还没有使用过 Lodash,建议尝试使用它来优化你的项目,提高开发效率。向大家介绍或简单的展示一下它的能力,或许能够吸引到你。Lodash 是一个流行的 JavaScript 实用工具库,提供了许多常用的函数和工具,能够方便地处理集合、字符串、数值、函数等多种数据类型,减少编写重复代码的时间和精力。Lodash 的 API 设计与 ES6 的新特性相似,同时兼容了更早的浏览器版本。Lodash 支持模块化加载,可以通过 npm 或在浏览器中直接引入来使用。 Lodash 有多达 300 多个函数,每个函数都有详细的文档和示例,能够快速地满足各种编程需求。同时,Lodash 的功能也非常完善,比如数组、对象等的操作,以及日期、数学计算、函数式编程等多方面支持。Lodash 还提供了链式调用的方式,简化操作的流程。 *** npm install lodash **
css 一共1条数据
CSS允许文本内容换行显示的方法有: 1.使用white-space属性:white-space属性可以控制文本内容的换行显示, 它有三个值,分别是normal、nowrap和pre,normal表示换行显示,nowrap表示不换行显示,pre表示按照原始格式显示,也就是按照原始文本中的换行符进行换行显示。 2.使用word-wrap属性:word-wrap属性可以控制文本内容的换行显示, 它有两个值,分别是normal和break-word,normal表示按照原始文本中的换行符进行换行显示,break-word表示在文本内容超出容器宽度时,会自动换行显示。 3.使用word-break属性:word-break属性可以控制文本内容的换行显示,它有三个值, 分别是normal、break-all和keep-all,normal表示按照原始文本中的换行符进行换行显示,break-all表示在文本内容超出容器宽度时,会自动换行显示,keep-all表示在文本内容超出容器宽度时,会自动换行显示,但是会保留单词的完整性。
css3 一共1条数据
CSS允许文本内容换行显示的方法有: 1.使用white-space属性:white-space属性可以控制文本内容的换行显示, 它有三个值,分别是normal、nowrap和pre,normal表示换行显示,nowrap表示不换行显示,pre表示按照原始格式显示,也就是按照原始文本中的换行符进行换行显示。 2.使用word-wrap属性:word-wrap属性可以控制文本内容的换行显示, 它有两个值,分别是normal和break-word,normal表示按照原始文本中的换行符进行换行显示,break-word表示在文本内容超出容器宽度时,会自动换行显示。 3.使用word-break属性:word-break属性可以控制文本内容的换行显示,它有三个值, 分别是normal、break-all和keep-all,normal表示按照原始文本中的换行符进行换行显示,break-all表示在文本内容超出容器宽度时,会自动换行显示,keep-all表示在文本内容超出容器宽度时,会自动换行显示,但是会保留单词的完整性。
props 一共2条数据
HTML、CSS相关 HTML5 HTML5新特性 增强了表单,input新增了一些type: color—-定义调色板 tel—–定义包含电话号码的输入域 email—定义包含email地址的输入域 search–定义搜索域 number–定义包含数值的输入域 date—-定义选取日、月、年的输入域 Video视频标签; Audio音频标签; 语义化标签;datatime-local 定义文档类型的简写 地理定位;拖放api;Canvas图形绘制;富文本Web Storage:localStorage:没有时间限制的数据存储;sessionStorage:在浏览器关闭的时候就会清除
``` Props管理 Props管理对Vue组件至关重要,因为它可以以不同的方式创建。您还可以验证Prop、创建多个Prop并根据需要修改它们。
vite 一共1条数据
** 初始化 **
npm
npm init vite@latest
yarn
yarn create vite
pnpm
pnpm create vite
jekyll 一共1条数据
- 为什么我要用这么不知名的语言写这个系统
- 好奇心驱使,热爱新鲜技术,希望避免重复性劳动
- 复用率高,每天写写markdown日记便可以同步到github
- 学的东西都来自开源,总的回馈点什么
elementplus 一共1条数据
- 为什么我要用这么不知名的语言写这个系统
- 好奇心驱使,热爱新鲜技术,希望避免重复性劳动
- 复用率高,每天写写markdown日记便可以同步到github
- 学的东西都来自开源,总的回馈点什么
git-pages 一共1条数据
- 为什么我要用这么不知名的语言写这个系统
- 好奇心驱使,热爱新鲜技术,希望避免重复性劳动
- 复用率高,每天写写markdown日记便可以同步到github
- 学的东西都来自开源,总的回馈点什么
blog 一共1条数据
- 为什么我要用这么不知名的语言写这个系统
- 好奇心驱使,热爱新鲜技术,希望避免重复性劳动
- 复用率高,每天写写markdown日记便可以同步到github
- 学的东西都来自开源,总的回馈点什么
免费博客 一共1条数据
- 为什么我要用这么不知名的语言写这个系统
- 好奇心驱使,热爱新鲜技术,希望避免重复性劳动
- 复用率高,每天写写markdown日记便可以同步到github
- 学的东西都来自开源,总的回馈点什么
Mardown语法 一共1条数据
编辑器 一共1条数据
github 一共3条数据
起因 其实近两年使用VUE场景多起来了我就想着把手上的项目都使用Vue重构一下,这样一看,我算是一个完美主义者吧,哈哈^__^ 这个项目其实也是之前的老项目基于ryby jekyll Liquid 模板解析的一个静态博客,其实经历还挺久的这个项目,应该16年我大学那会就翻墙弄的,后面因为兴趣爱好问题,静态博客无法满足自己的需求,其实有部分也在于之前精力有限,没有一直去定制所谓的模板,其实前端还是比较重要的,直接很大程度影响用户体验,所以深感前端重要性,也是打算把这个博客简单重构一下,奈何本人文化有限和能力有限,缺乏一个审美到位的UI合伙人,我的博客就一直搁浅,最近也是逼了自己一把,过年这几天就在家写了下,自己抄,哦,还是说借鉴了一部分网站的样式主题简单定制了下,其实这不是最关键的,关键的是你现在可以直接访问我的博客简单看看效果,下面是我简单重构的记录
### github本地关联远程秘钥 1、 进入到你当前用户的根目录的.ssh文件夹下。如我的地址是C:\Users\manixchen.ssh
远程秘钥 一共1条数据
### github本地关联远程秘钥 1、 进入到你当前用户的根目录的.ssh文件夹下。如我的地址是C:\Users\manixchen.ssh
Jekyll 一共2条数据
起因 其实近两年使用VUE场景多起来了我就想着把手上的项目都使用Vue重构一下,这样一看,我算是一个完美主义者吧,哈哈^__^ 这个项目其实也是之前的老项目基于ryby jekyll Liquid 模板解析的一个静态博客,其实经历还挺久的这个项目,应该16年我大学那会就翻墙弄的,后面因为兴趣爱好问题,静态博客无法满足自己的需求,其实有部分也在于之前精力有限,没有一直去定制所谓的模板,其实前端还是比较重要的,直接很大程度影响用户体验,所以深感前端重要性,也是打算把这个博客简单重构一下,奈何本人文化有限和能力有限,缺乏一个审美到位的UI合伙人,我的博客就一直搁浅,最近也是逼了自己一把,过年这几天就在家写了下,自己抄,哦,还是说借鉴了一部分网站的样式主题简单定制了下,其实这不是最关键的,关键的是你现在可以直接访问我的博客简单看看效果,下面是我简单重构的记录
免费建站 一共2条数据
起因 其实近两年使用VUE场景多起来了我就想着把手上的项目都使用Vue重构一下,这样一看,我算是一个完美主义者吧,哈哈^__^ 这个项目其实也是之前的老项目基于ryby jekyll Liquid 模板解析的一个静态博客,其实经历还挺久的这个项目,应该16年我大学那会就翻墙弄的,后面因为兴趣爱好问题,静态博客无法满足自己的需求,其实有部分也在于之前精力有限,没有一直去定制所谓的模板,其实前端还是比较重要的,直接很大程度影响用户体验,所以深感前端重要性,也是打算把这个博客简单重构一下,奈何本人文化有限和能力有限,缺乏一个审美到位的UI合伙人,我的博客就一直搁浅,最近也是逼了自己一把,过年这几天就在家写了下,自己抄,哦,还是说借鉴了一部分网站的样式主题简单定制了下,其实这不是最关键的,关键的是你现在可以直接访问我的博客简单看看效果,下面是我简单重构的记录
新手建站 一共2条数据
起因 其实近两年使用VUE场景多起来了我就想着把手上的项目都使用Vue重构一下,这样一看,我算是一个完美主义者吧,哈哈^__^ 这个项目其实也是之前的老项目基于ryby jekyll Liquid 模板解析的一个静态博客,其实经历还挺久的这个项目,应该16年我大学那会就翻墙弄的,后面因为兴趣爱好问题,静态博客无法满足自己的需求,其实有部分也在于之前精力有限,没有一直去定制所谓的模板,其实前端还是比较重要的,直接很大程度影响用户体验,所以深感前端重要性,也是打算把这个博客简单重构一下,奈何本人文化有限和能力有限,缺乏一个审美到位的UI合伙人,我的博客就一直搁浅,最近也是逼了自己一把,过年这几天就在家写了下,自己抄,哦,还是说借鉴了一部分网站的样式主题简单定制了下,其实这不是最关键的,关键的是你现在可以直接访问我的博客简单看看效果,下面是我简单重构的记录
VUE 一共2条数据
起因 其实近两年使用VUE场景多起来了我就想着把手上的项目都使用Vue重构一下,这样一看,我算是一个完美主义者吧,哈哈^__^ 这个项目其实也是之前的老项目基于ryby jekyll Liquid 模板解析的一个静态博客,其实经历还挺久的这个项目,应该16年我大学那会就翻墙弄的,后面因为兴趣爱好问题,静态博客无法满足自己的需求,其实有部分也在于之前精力有限,没有一直去定制所谓的模板,其实前端还是比较重要的,直接很大程度影响用户体验,所以深感前端重要性,也是打算把这个博客简单重构一下,奈何本人文化有限和能力有限,缺乏一个审美到位的UI合伙人,我的博客就一直搁浅,最近也是逼了自己一把,过年这几天就在家写了下,自己抄,哦,还是说借鉴了一部分网站的样式主题简单定制了下,其实这不是最关键的,关键的是你现在可以直接访问我的博客简单看看效果,下面是我简单重构的记录
webpack 一共3条数据
** 通用脚手架 **
本脚手架主要方便个人开发,常用的项目脚手架个模板自己封装便于使用,在企业中节约重复造轮子的时间, 包含VUE脚手架常用的插件功能,其实就是提升复用率,目前完成了VUE3的PC端模版
npm i manix-sun-cli manix-sun-cli create <project name> 根据需求选择即可
- vue3 PC端后台模板
- vue2 PC端后台模板
- vue3 移动端模板
- vue2 移动端模板
- 微信小程序模板
- 题目1:数组查找指定和的下标 ``` 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
1.前端模块化打包初识 commonjs语法形式
> user.js
const login = function(formData){
console.log("logoing")
return {}
}
const register = function(formData){
console.log("register")
}
module.exports = {
login:login,
register:register
}
>login_index.js 引入
const user =require('./user.js')
const resp = user.login({})
代码压缩 一共2条数据
- 题目1:数组查找指定和的下标 ``` 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
1.前端模块化打包初识 commonjs语法形式
> user.js
const login = function(formData){
console.log("logoing")
return {}
}
const register = function(formData){
console.log("register")
}
module.exports = {
login:login,
register:register
}
>login_index.js 引入
const user =require('./user.js')
const resp = user.login({})
java 一共1条数据
免费激活Idea之热部署插件JRebel,解决连接失败报错
JRebel是一个实用的插件,它可以让你在不重启服务器的情况下,修改Java程序并即时生效。相信大家都有这样的经历:每次修改代码后都需要重新编译、打包、部署,然后重启服务器,这个过程非常耗时且繁琐。但是,如果你使用了JRebel,你就可以摆脱这些烦恼,轻松享受修改代码后立即生效的快感!
脚手架 一共1条数据
** 通用脚手架 **
本脚手架主要方便个人开发,常用的项目脚手架个模板自己封装便于使用,在企业中节约重复造轮子的时间, 包含VUE脚手架常用的插件功能,其实就是提升复用率,目前完成了VUE3的PC端模版
npm i manix-sun-cli manix-sun-cli create <project name> 根据需求选择即可
- vue3 PC端后台模板
- vue2 PC端后台模板
- vue3 移动端模板
- vue2 移动端模板
- 微信小程序模板