• Archives
  • All Categories
  • All Tags
images/default2.jpg

Windows解除端口占用, 强制关闭/杀死某端口进程

Wednesday, Jul 22, 2020

阿航在使用IDEA开发Spring boot项目时, IDEA突然崩溃并闪退. 再次进入时, 提示我端口被占用. 稍微思考了一下, 问题的原因应该是IDE虽然被关闭了, 但是Java进程还在. 所以本篇文章就来记录下Windows如何解除端口占用, 强制关闭/杀死某端口进程. 开始 打开终端 按下快捷键Windows+R, 打开运行窗口, 输入CMD, 点击回车: 找到端口对应ID 打开终端, 输入以下命令(把端口号替换成你的): `netstat -ano | findstr :端口号` 如图: [epcl_box type=“information”]可以看到, 如果你有占用的端口, 将会返回一个表格.[/epcl_box] 我们的重点就在最后一列, 记住它. 我们即将通过这个ID来杀死该进程. 通过ID杀死进程 接下来我们就要来强制停止, 也就是杀死进程了. 输入以下命令(把进程ID替换为你上面查到的): `taskkill /f /im 进程ID` 如果成功, 会返回类似成功: 已终止 PID 为 .... 的进程的信息 如图: 搞定. 感谢 How to close TCP and UDP ports via windows command line Windows中杀死占用某个端口的进程 排名不分先后
1 minute read
images/default1.jpg

Flutter/Dart List去重, 去除重复列表项

Monday, Jul 20, 2020

有时我们需要过滤掉重复的列表项, 本篇文章就来介绍下Flutter/Dart 如何进行 List去重, 去除重复列表项. 实战开始 方法一: List与Set互转 基于Set集合的不可重复特性, 我们利用该特性可轻松解决: void main() { // 声明一个集合 var ids = [1, 1, 4, 4, 5, 6, 6]; // 进行去重, 存储去重后的集合 var distinctIds = ids.toSet().toList(); } 当然, 基于该思路还有更牛逼的写法: var distinctIds = [...{...ids}]; [epcl_box type=“success”]这也许是最优雅的解决方案.[/epcl_box] 方法二: List与Set互转(保留顺序) 方案一虽然优雅, 但也不是完美的. 它无法保留顺序. 如果我们的需求对顺序有绝对的要求时, 就需要以下方法了: import 'dart:collection'; void main() { // 声明一个集合 List arr = ["a", "a", "b", "c", "b", "d"]; // 进行去重, 存储去重后的集合 List result = LinkedHashSet.
1 minute read
images/default2.jpg

Mybatis-Plus 更新字段数据为null

Monday, Jul 20, 2020

在使用Mybatis-Plus开发项目时, 需要将数据库某字段值设置为null. 但是仅将实体类的值赋值为null是不够的. 还需要为实体类的属性添加以下注解: `@TableField(fill = FieldFill.UPDATE)` 比如你需要设置某表的字段name为null, 则需要进入实体类, 在对应的属性上添加注解: `@TableField(fill = FieldFill.UPDATE) private String name;`
1 minute read
images/default1.jpg

极客用语: “TBH”是什么意思?

Saturday, Jul 18, 2020

在与老外进行对话的时候, 也许你看到了这个词: TBH, 但是却又很困惑这个词是什么意思. 你来对地方了! 本篇文章就来详解TBH的含义, 来源以及用途. 含义 在大多数情况下, TBH是"to be honest"的直接缩写. 这是它的初始含义. 在90年代末期或在2000年初被广泛关注, 其起源于互联网论坛, 聊天室和短信文化关系密切. 所以 TBH = 说实话/讲真/说真的 TBH通常放在句子的开头或结尾, 以传达坦率的感觉. 如果有人想直白的表达想法, 他们可以说: “TBH, I hate this game”(讲真, 我不太喜欢这个游戏.) 当然, TBH也可以用于奉承或者侮辱. 您可以通过" TBH, you’re a strong and genuine person."(说真的, 你真是一个坚强而真诚的人)之类的言语来抬高某人. 或者用" TBH, the song you like is really “non-mainstream”. “(说真的, 你喜欢的歌可真"非主流”)来贬低他人. 但是, 某些年轻人将TBH理解为"to be heard".(这种叫法逐渐淘汰) 如何使用TBH TBH的H是"honest"(诚实)的直接缩写. 在大多数情况下, 只要在句子中会用到"诚实"、“实际上”、“讲真的"等都可以用上TBH. 大多数人会在句首或者句末使用TBH. 感谢 What Does “TBH” Mean and How Do You Use It?
1 minute read
images/default3.jpg

Nginx 设置密码/开启密码验证/需用户名密码才能访问

Thursday, Jul 16, 2020

这次阿航需要为公司的某网站开启远程访问, 但是仅允许公司内部员工使用. 本篇文章就来记录下如何为Nginx 设置密码/开启密码验证/需用户名密码才能访问. 效果 有图有真相, 我们最终要实现的效果如下: 用户名与密码输入正确 尝试匿名访问 前置条件 掌握Nginx基础. 掌握bash/shell的基本命令. 本篇文章的环境: 实战开始 安装生成账号密码工具 `yum install httpd-tools` [epcl_box type=“notice”]如果yum下载过慢, 请阅读这篇文章 开启加速.[/epcl_box] 如果提示Is this ok [y/d/N]:, 输入y并点击回车. 生成账号密码 输入以下命令, 生成账号密码文件: `htpasswd -bc 文件路径 用户名 密码` 比如: `htpasswd -bc /usr/root.db root 123456` 为nginx配置账号密码校验 进入nginx配置文件. 找到你要添加账号密码验证的server. 为其添加两行代码: `server { listen 80; server_name hello.com; auth_basic "Please enter password"; # 密码提示 auth_basic_user_file /usr/root.db; # 填写上面你生成的账户密码文件路径 location / { root /usr/share/nginx/html; index index.html index.htm; } }` 重启nginx(两种方式, 按需选择):
1 minute read
images/default3.jpg

MySQL多条记录/结果合并为一行,并转换为JSON

Tuesday, Jul 14, 2020

我们在使用MySQL进行查询时, 我们希望把同类结果合并为一行(1个字段内). 本篇文章就来记录下如何使用MySQL将多条记录/结果合并为一行. 效果 有图有真相, 先来看下查询的最终效果对比: 合并前 合并后 实战开始 创建表及填充数据 先来创建一个表. 在库中运行以下SQL命令: ``DROP TABLE IF EXISTS `t_name`; CREATE TABLE `t_name` ( `name` varchar(255) NOT NULL, PRIMARY KEY (`name`) ) ; INSERT INTO `t_name` VALUES ('阿航'),('张三'),('李四'),('王五'),('傻根');`` 至此, 我们有了一个t_name表了. 这个表用于存储名字. 查询所有人的名字 通常, 我们查询所有人的名字会使用以下SQL: `SELECT name 名字 FROM t_name;` 查看结果: `mysql> SELECT name 名字 FROM t_name; +------+ | 名字 | +------+ | 傻根 | | 张三 | | 李四 | | 王五 | | 阿航 | +------+ 5 rows in set (0.
1 minute read
images/default1.jpg

修改Docker 的 MySQL 容器时区

Sunday, Jul 12, 2020

阿航在开发Springboot项目时, 前端告诉验证码一直无效. 本地测试没有问题, 一看远程服务器的数据库时间, 哇塞–早了8小时. 很明显, 是MySQL的时区问题. 本篇文章就来记录下如何修改Docker 的 MySQL 容器时区. 解决方案 先来校验下数据库是否真的时区不对. 进入MySQL数据库, 运行语句: `SELECT NOW();` 会返回类似这样的数据: `mysql> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2020-07-04 15:46:46 | +---------------------+ 1 row in set (0.09 sec)` 再来查询下当前时区, 输入以下命令: `SHOW VARIABLES LIKE '%time_zone%';` 会返回类似这样的数据: `mysql> SHOW VARIABLES LIKE '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | UTC | | time_zone | +00:00 | +------------------+--------+ 2 rows in set (0.
1 minute read
images/default4.jpg

Docker容器没有vim命令的解决方案

Friday, Jul 10, 2020

今天在尝试修改Docker容器内文件时, 发现容器内并没有vim命令, 返回了: `vim my.cnf bash: vim: command not found` 本篇文章就来记录下如何解决此问题. 解决方案 仍然在docker容器内部, 首先运行以下命令, 并耐心等待一会儿: `apt-get update` 完成后运行: `apt-get install vim` 等待安装完成后, 运行以下命令, 验证是否安装成功: `vim` 如果返回了类似以下界面则证明vim安装成功: VIM安装成功返回 [epcl_box type=“success”]成功搞定. 继续你的文本编辑操作吧![/epcl_box]
1 minute read
images/default4.jpg

极客用语: "IIRC"是什么意思?

Wednesday, Jul 8, 2020

在与老外进行开源的时候, 也许你看到了这个词: IIRC, 但是却又很困惑这个词是什么意思. 你来对地方了! 本篇文章就来详解IIRC的含义, 来源以及用途. 含义 老外在网上使用"IIRC"这个词, 展开来就是"if I recall correctly" 或者 “if I remember correctly”. 所以: IIRC = 如果我没记错的话 就像面对面聊天一样, 如果不确定某件事, 你可以礼貌的使用它. 或者在回答与纠正问题时无情的嘲讽对方. 通常情况下, 人们会在确实记得某件事时使用, 用这种模糊的句子表达只是为了愉快的谈话(谦虚/给对方个台阶下). 例如: 你跟舍友说: “IIRC, you left your keys on the door again.”( 您又把钥匙放在门上忘记拔下来了) . 你当然也可以给IIRC添加一些讽刺的含义. 这在Reddit和Twitter等社交媒体网站上比较常见, 人们喜欢使用这个词来时谈话更生动. 但是, 在某些情况下IIRC代表的是某人确实不太清楚某件事情. 当人们没工夫验证他说的话的精确度时, 可能发生这种情况. 比如你在群里聊天时说道: " You can buy a green iPhone 11, IIRC “. 这个的意思就是你大概确认IPhone 11有绿色的, 但是你没空去二次验证其准确性. 来源 The Faces/Shutterstock 历经数百年, “if I recall correctly"和"if I remember correctly"的含义并没有发生变化.
1 minute read
images/default1.jpg

解决 Briefly unavailable for scheduled maintenance. Check back in a minute

Monday, Jul 6, 2020

阿航在更新WordPress插件时, 插件更新失败并返回了504错误. 并且再次访问网站时, 网站提示Briefly unavailable for scheduled maintenance. Check back in a minute.好郁闷… 折腾了一下终于搞定. 本篇文章就来记录下如何解决该问题. 情景再现 先来看下阿航的报错, 是不是和你一样? 解决方案 方案一: 耐心等待 遇到此种情况, 最好的解决方案就是等. 因为WordPress在更新插件/主题时, 会暂停网站访问, 内部自动更新. 一般来讲, 耐心等待一段时间, 此报错就会自动解除. 如果等待无效, 请查看下面的方法. 方案二: 删除 .maintenance 在WordPress进行更新/维护时, 会在目录下创建一个 .maintenance 文件. 当更新/维护结束时, 会自动删除它. 所以我们只要手动删除即可解除更新/维护模式. 进入WordPress安装目录, 找到.maintenance文件, 删除即可: 再次刷新网站, 查看最终效果. 感谢 wordpress更新出现Briefly unavailable for scheduled maintenance. Check back in a minute.
1 minute read
Previous page Next page

© 2025 阿航的技术小站

蜀ICP备2022014599号-1

© 2025 阿航的技术小站

蜀ICP备2022014599号-1