05 2022 档案
我用kafka两年踩过的一些非比寻常的坑
摘要:前言 我的博客 我的上家公司是做餐饮系统的,每天中午和晚上用餐高峰期,系统的并发量不容小觑。为了保险起见,公司规定各部门都要在吃饭的时间轮流值班,防止出现线上问题时能够及时处理。 我当时在后厨显示系统团队,该系统属于订单的下游业务。用户点完菜下单后,订单系统会通过发kafka消息给我们系统,系统读取
浅谈并发编程的业务场景
摘要:我的博客 想必大家都知道,并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。 当然,如果是个人级别的小玩意,肯定不是特别在意这个。 并发编程 == 多线程编程。 但是多线程一定比单线程效率更高? 不一定,得看具体的业务环境,多个线程之间,会不断的抢占CPU的资源,所以说有时候多线
简简单单将Java应用封装成Docker镜像
摘要:想必Docker这个词大家都不陌生,是一个非常优秀的虚拟化容器。 我的博客 怎么把Java应用打包成Docker镜像?对熟悉Docker的同学这应该是一个很简单的问题,把项目打包成JAR包然后在Dockerfile里用ADD命令把JAR文件放到镜像里,启动命令设置执行这个JAR文件即可。 可是对于不
JavaScript中的钩子(钩子机制\钩子函数\hook)是什么?
摘要:我的博客 首先,看到我们的标题: JavaScript中的钩子(钩子机制\钩子函数\hook) 是什么? 我们前端的JavaScript中,经常提到钩子,毋庸置疑,那这个东西肯定也尤为重要。 但是有点前端入门不久,很疑惑,这个钩子到底是什么呢? 首先,我们的钩子,钩子机制,钩子函数,hook,都是同
npm与cnpm的区别
摘要:NPM 我的博客 对于前端开发者而言,Node.js想必不会陌生,他为我们提供了一个标准的运行环境,基于 Chrome V8 引擎。 而我们的npm就是node中的一个包管理器,如同CentOS的yum。 使用场景如下: 1.从NPM服务器上下载别人编写的第三方包到本地使用。 2.从NPM服务器上下
VUE-一个渐进式的JavaScript框架
摘要:我的博客 渐进式? Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架。 这句话你可能并不陌生,但你未必真正读懂了它。 我们注意到这句话中有一个被作者高亮的词语—渐进式框架,其实明白了这个词语的意思,也便读懂了这句话,从而也就理解了Vue的核心理念。 那么渐进式框架
如何将项目使用Git上传到Github、Gitee
摘要:我的博客 开始 下载 Git Bash 选中想上传到 GitHub 的文件夹,右击选择 Git Bash Here 之后进入到 Git Bash 界面 初始化 git init 将所有文件添加到仓库中 git add . 注意: add 后面加个空格再加个".",这里没有打错! 像这样就成功了 连接
JavaScript函数篇之ES6箭头函数与匿名函数
摘要:我的博客 匿名函数 setTimeout(function() { console.log("This message is shown after 3 seconds"); }, 3000); 看这样一段代码,我们平常定义一个函数,至少会给他一个函数名。但是,我们这里的function()没有名字
JavaScript闭包从概念、原理到应用
摘要:我的博客 何为闭包? 闭包的概念:有权访问另一个函数作用域中的变量的函数;一般情况就是在一个函数中包含另一个函数。 从官方定义我们知道闭包是一个函数,只不过这个函数有[特殊权限],可以访问到另一个函数的作用域。 特殊权限? 因为我们知道函数作用域是独立的、封闭的,外部的执行环境是访问不了的,但是闭包
如何深度理解JavaScript的回调函数
摘要:我的博客 首先,回调函数这个概念,他是JS中的一个核心。 作为JS的核心,回调函数和异步执行是紧密相关的,也是必须跨过去的一道个门槛。 当然,我们这篇文字只谈回调,不说异步。 对象? JavaScript有对象嘛? 我们知道,JavaScript他不是一个面向对象语言,但是,我们的JavaScrip
img标签中的srcset属性有什么用?
摘要:我的博客 img元素的srcset属性用于浏览器根据宽、高和像素密度来加载相应的图片资源。 也就是说,我们不需要使用JavaScript也可以实现分辨率自适应。 当然,仅限于图片,也就是img标签。 属性格式:图片地址 宽度描述w 像素密度描述x,多个资源之间用逗号分隔。 像这样就可以表示浏览器宽度
HTML属性crossorigin和integrity有什么用
摘要:我的小站 在引入许多官方的CDN静态库时,会发现我们引入的script中,不单单只有src属性,还有crossorigin和integrity属性。 那这个东西,如果是我们本地的资源库,我们肯定是没有的。那这两个属性是干嘛的呢? crossorigin属性 在HTML5中,一些 HTML 元素提供了
MySQL的数据访问和DAO模式
摘要:技术博客 Properties 配置文件 在不同业务场景的实际开发过程中,数据库服务器的 IP 地址,访问数据库的用户名或密码经常会发生变化,维护和修改比较麻烦,而为了避免这种情况,Java 中有一个比较重要的 Properties 类,它可以读取 Java 配置文件,这样就可以把常用的配置信息卸载
Log4j2 日志
摘要:点开博客 Apache Log4j2 是 Log4j 的升级,对其前身 Log4j 1.x进行了重大改进,并提供了Logback 中可用的许多改进,同时修复了 Logback 架构中的一些固有问题。 要求 Log4j2.13.0 及更高版本需要 Java 8。版本 2.4 到 2.12.1 需要 J
For循环中,只能`i++`或者`++i`吗?
摘要:首先看这样一段代码。 运行后在页面显示是这样的。 但是我想一次性+2,而i++只能累加1,于是我改成了这样。 var count=0; var count1=1; for(var i=1;i<=99;i+2){ count+=i; } document.write("1~99中的奇数的和是"+cou
存储emoji表情或特殊字符报错(Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...')
摘要:今天发生一件有趣的事情。 我的博客 我在一篇文章中使用了**emoji表情**,前面很顺利,不管是WordPress还是其他博客园啥的,都是正常发送。 但是,我在Typecho系统中发布文章时.... 我当时一脸懵逼,啥情况,数据库坏了? 我重启服务器,发现没用,于是准备直接使用Navicat工具直
博客园美化,更改外部主题,自定义JavaScript
摘要:博客园还能美化? 我的博客 在之前,我一直以为博客园他是那种万年不变的老旧风格,看着就有一种年代感,但是,昨天我莫名看到一个项目,我尝试进行了美化后,发现这玩意很好看啊。 如果不看域名,还真看不出这是博客园。 可以预览一下我的博客园,美化后好看很多。 JanYork(小简) - 博客园 (cnblo
如何将项目从Github、Gitlab同步到Gitee
摘要:我的博客 有时候,我们项目使用Git工具上传到GitHub,并且完善好说明等之后,我们往往像同时推送到Gitee,毕竟有时候Gitee还挺有用,至少下载速度不错。 如何同步项目? 首先,我们点击右上方+号,当然,这可不是让你创建仓库。 最后一个选项,可以从Github/Gitlab导入你自己的仓库
Vue学习笔记与常用操作
摘要:脚手架文件结构 在源码目录中创建如下结构: - App.vue:是所有组件的父组件 - main.js: 是整个项目的入口 - assets:用于存放静态资源文件 - components:用于存放Vue功能组件 - views:用于存放Vue视图组件 - router:用于存放vue-ro
VUE基础入门使用教程
摘要:第一个Vue程序 .html <!--view层 ${} 变成了一个模板--> <div id="app"> <ul> <li><span v-bind:title="m">鼠标悬停几秒查看此处动态绑定的提示信息!</span> </li> <li>{{name}}</li> <li>{{tit.n
Java之JDBC技术详解
摘要:一、简介 1. 什么是JDBC JDBC (Java Date Base Connectivity),指 Java 数据库连接,是一种标准Java应用编程接口 (Java API),用来连接Java编程语言和广泛的数据库。 JDBC API 库包含下面提高的每个任务,都是与数据库相关的常用用法。 制
Hexo修改鼠标样式
摘要:前言 本文介绍的是如何修改站点同款鼠标样式。 我的小站:我的博客 操作 在 /themes/butterfly/source/css路径下创建一个mouse.css文件,在文件中添加如下代码: body { cursor:url(https://cdn.jsdelivr.net/gh/sviptzk
MySQL之存储过程
摘要:我的小站:我的博客 1.1 存储过程简介 存储过程是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数的值 MySQL 5.0 版本开始支持存储过程。 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据
SQL综合实战
摘要:MySQL练习:职工表和部门表 创建数据库 create database if not exists `Firm`; 使用数据库 use Firm; 创建职工表 # 职工表 CREATE TABLE if not exists emp( empno INT comment '编号', ename
Hexo主题可能需要安装的插件
摘要:欢迎光顾小站——我的博客 1.添加百度/谷歌/本地 自定义站点内容搜索 在站点的根目录下执行以下命令: npm install hexo-generator-searchdb --save 在Hexo/themes/butterfly/source/_config.yml中,找到search,根据需
MySQL之循环,`WHILE`、`REPEAT`和`LOOP`
摘要:WHILE WHILE 条件 DO 语句 END WHILE; LOOP [label:] LOOP 语句 END LOOP [label]; -- 使用LEAVE退出循环 LEAVE [label]; 注意:label是一个标号,用于区分不同的循环。也就是说,它相当于给循环取了个名字,用于区分。
MySQL高级篇之控制语句(IF-ELSEIF-ELSE)
摘要:不要搞混了 1、IF EXISTS(结果集)是指如果存在结果集(结果集的记录数大于0),就执行。就是说:EXISTS(结果集)是一个条件。是IF (条件)中“条件”的一种。 2、IF (条件) 是指当条件表达式为真时,就执行,条件表达是是任意的条件,当然其也包括EXISTS(结果集)这种条件 用法
MySQL数据库高级篇之储存过程
摘要:何为储存过程? 存储过程是一组为了完成特定功能的 SQL 语句集合。MySQL 5.0终于开始已经支持存储过程,它是数据库中最重要的功能, 目的:将常用或复杂的工作预先用 SQL 语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程。 通俗的说,他就是MyS