教程
Logicr
记性差,记录下,查阅方便些,水平有限,若参阅请自行斟酌。
展开
-
Linux设置免密登录失败
刚刚弄了一台vps,准备做个免密,发现失败了。查了下说是权限问题。至于为啥我现在还不能解释。权限指令是不是忘记了,[原创 2022-07-16 15:11:34 · 438 阅读 · 1 评论 -
[2022-06-21 完美解决]MacBookPro 2020 M1 开启2k HIDPI
一、背景最近刚入手mbp m1芯片版本,到手当然是一顿操作,一键打开hidpi,重启之后发现没什么效果,我以为是操作问题,于是又操作重启了几次,几次之后发现还是不行,我才发觉其中隐隐有问题,因为我用mbp2015也是没问题的。二、问题排查首先我试了其他软件开启的方法,发现均无效。后来搜索得知,大概问题M1芯片适配问题,导致无法通过软件来解决问题。三、解决方案在知乎上有一种成功的方案,第一次看反正挺复杂的,因为里面用到一堆我不知道的乱七八糟的东西。经我认真研究,简要归纳如下:一个诱骗器(Evan原创 2021-09-21 11:52:02 · 13494 阅读 · 7 评论 -
IDEA rundebug configurations 导入配置
IDEA run/debug configurations 导入配置1.引言通常我们clone的项目是没有附带配置的,但是没有配置却难以启动,特别是新人不熟悉项目的时候,会浪费大量时间来排查配置不当引发的一系列异常。2.如何导入对于公司,大部分项目都会使用相同的配置项,比如jetty,Main class,JDK版本,以及一些特殊配置。现在假设要从项目A中复制配置到新clone的项目B中。在A的run/debug configurations中,点击右边的”Store as project fi原创 2021-06-02 19:09:29 · 5407 阅读 · 3 评论 -
Java 程序优雅关闭
JVM支持在程序kill的时候根据kill 信号进行优雅关闭。首先我们需要在Runtime.getRuntime().addShutdownHook(thread);中注册要执行的内容。public class GracefulTest { public static void main(String[] args) throws InterruptedException { Runtime.getRuntime().addShutdownHook(new Thread(()-&原创 2021-04-23 15:46:13 · 267 阅读 · 0 评论 -
多线程面试题:循环打印ABC
那天面试,面试官让我写这么一道题,有三个线程ABC,让我打印10次ABC。这题看起相当的简单,以至于我没写出来哈哈哈。而且那个狗屎在线编辑器想好好写代码是不可能的,因为我已经习惯了一套行云流水的快捷键,到在线编译器框框里面我感觉我就是原始人,无从下手。好了,吐槽就这么多,这个题目还贴心的放了模板。public class TestThread { public static void main(String[] args) { MABC mabc = new MABC();原创 2021-04-03 13:16:25 · 890 阅读 · 1 评论 -
Java 中 null 是关键字吗
突然产生一个疑问:Java 中 null 是关键字吗?于是我google了一下:这些博客为什么都长一样暂且不讨论,就这个权重第一的答案我认为有问题。为了严谨些,在官方文档中寻求答案往往是最可靠的:1While true and false might appear to be keywords, they are technically boolean literals (§3.10.3). Similarly, while null might appear to be a keyword, it原创 2021-03-02 17:30:12 · 2263 阅读 · 0 评论 -
mac mysql设置开机自启
电脑重启之后发现本地mysql总是连不上,后发现是没有启动,一般需要手动重启: mysql.server start Starting MySQL SUCCESS!每次都要手动操作未免也太麻烦了,索性设置自启:sudo cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist /Library/LaunchAgentslaunchctl load homebrew.mxcl.mysql.plist...原创 2021-01-18 15:44:21 · 1081 阅读 · 1 评论 -
SpringBoot Security+JWT授权验证模块使用
简介通过JWT每次请求带上token可以进行无状态登录,不必保存Session等。创建在IDEA中使用Spring Initializr创建一个Security项目,注意,创建之后maven是不可用的,还需要添加maven支持,模块右键,Add Framework Support,选择maven。依赖添加JWT依赖,和一个web依赖包,毕竟要用来登录认证。 <!--jwt--> <dependency> <groupId>io.jsonwebtok原创 2020-12-23 18:59:09 · 1339 阅读 · 0 评论 -
linux多台服务器免密登录
生成公钥ssh-keygen拷贝公钥/root/.ssh/id_rsa.pub内容到目标服务器/root/.ssh/authorized_keys中(如果没有创建一个)服务器之间文件传输上传:scp -r local_folder remote_username@remote_ip:remote_folder下载:scp -r remote_username@remote_ip:remote_folder local_folder拓展如何对A、B、C、D、E服务器之间相互免密?将原创 2020-12-16 17:41:55 · 405 阅读 · 0 评论 -
linux查看端口连接数情况
工具yum install -y net-tools8088端口的tcp数:netstat -nat | grep "8088"-n:不显示别名-a:显示全部连接-t:使用tcp原创 2020-12-08 16:22:55 · 997 阅读 · 0 评论 -
linux查看网卡带宽
sudo ethtool em1em1是网卡名,ifconfig命令查看网卡,结果中的Speed就是网卡带宽原创 2020-12-08 16:07:47 · 1426 阅读 · 0 评论 -
mac IDEA创建maven项目时卡在Generating project in Interactive mode
在这里增加一个选项添加 archetypeCatalog = internal成功。原创 2020-11-23 16:59:18 · 188 阅读 · 1 评论 -
Linux批量去除文件前缀
场景:前面因为需要处理文件,编写了批量增加前缀的脚本,有来有往,应当有去除才对。j="";for i in `ls` ;do echo $i;j=${i#prefix};mv $i $j;echo $j ;done分析:for i in 'ls'(是反引号)获取文件名列表并循环;j=${i#prefix}处理掉名字的前缀,这里使用了${var#str}的特殊用法,删除var中前面的str,保存变量到j;mv $i $j完成命名操作。...原创 2020-11-20 11:30:53 · 2866 阅读 · 0 评论 -
Linux批量增加前缀
场景:由于新旧文件替换,需要为就文件增加前缀:ls -l | awk '{print $9}' | xargs -I filename mv filenameprefixfilename分析:ls -l | awk '{print $9}'获取文件名;xargs -I filename mv filename prefixfilename中-I指定每一项命令行参数的替代字符串;mv filename prefixfilename进行重命名;prefix是需要添加的前缀,中间不需要空格。原创 2020-11-19 18:38:16 · 1803 阅读 · 0 评论 -
rm利用正则删除.开头的文件
在做mac磁盘文件全量备份,图方便直接copy了整个用户。拷贝完之后我发现里面有许多的.开头的隐藏文件,平常是看不到的,通常用保存一些应用数据。打开终端,进入硬盘文件目录。ls -a一下,一堆隐藏文件,由于硬盘只想保存一些个人数据,这些系统数据删掉。首先过滤出想要删除的文件,这里是.开头,紧跟字母,正则这么写"^\.[a-zA-Z]+",用egrep过滤出来,得到我们想要删除的文件(夹)。再使用xargs将文件(夹)名字传递给rm -rf进行删除。等待命令执行完,看了一下,文件夹大小变原创 2020-11-10 22:42:05 · 1846 阅读 · 0 评论 -
正则表达式如何匹配空格
\s原创 2020-01-14 10:45:44 · 57186 阅读 · 12 评论 -
Android Studio快速导入别人的项目
删掉.gradle(不是build.gradle)和gradle文件夹,删掉gradle.properties文件修改build.gradle文件中的dependencies的classpath为自己当前安装的AndroidStudio对应的版本号去到要导入项目的目录下把.idea,*.iml,local.properties删除(*表示所有)然后进入app文件夹同理...原创 2020-01-13 16:50:18 · 990 阅读 · 0 评论 -
MacOS安装单机HBase
MacOS安装HBase,用于学习 brew下执行: brew install hbase 等待安装结束,输入hbase: $ hbaseUsage: hbase [<options>] <command> [<args>]Options: --config DIR Configuration direction to use. D...原创 2019-11-17 14:03:58 · 466 阅读 · 0 评论 -
MAC 休眠启动之后没有声音解决方案
打开命令行执行(密码是你电脑管理员密码):sudo killall coreaudiod原创 2019-10-20 12:13:30 · 1529 阅读 · 0 评论 -
shell 获取文件大小
ls -l filename | awk ‘{print $5}’filename是文件名,后使用awk打印第五个字段即文件大小,此处获取的文件大小为字节原创 2019-08-01 17:02:33 · 6506 阅读 · 0 评论 -
shell 获取文件所有内容
$(cat ./tmp)tmp是文件名原创 2019-08-01 17:09:05 · 5413 阅读 · 0 评论 -
解决git bash不能登录mysql
在使用git bash登录mysql时会卡死winpty mysql -uroot -p加上winpty就好了原创 2019-08-02 08:54:02 · 1246 阅读 · 0 评论 -
shell 以时间命名文件
log =(./$(date +%Y-%m-%d-%H:%M:%S).log会在本目录下生成一个2019-08-02-10:40:03.log的文件原创 2019-08-02 10:43:46 · 4732 阅读 · 2 评论 -
shell双引号中引用变量
在shell中传入带双引号的变量-d ‘{ “username”:“user”, “role”:[“role”] }’引入变量a-d ‘{ “username”:"$a", “role”:[“role”] }’出错,JSON格式报错,因为变量带引号被当做字符串标识符引号转义-d ‘{ ...原创 2019-08-22 11:12:57 · 13435 阅读 · 4 评论 -
CentOS 6.5下安装MySQL后重置root密码方法
今天在linux下安装了mysql,但是设置密码的时候瞎按了几下,结果悲剧了,密码完全不知道。输入的时候也没个提示。找了一大堆教程,最后结合自己的手动改造,成功重置了密码。 首先要启动mysql#service mysqld start注意 mysqld后面有个d 启动成功后查看mysql进程信息,获取mysqld_safe的安装目录(非常关键):#ps -ef | grep -i mysql原创 2018-02-27 19:42:07 · 1897 阅读 · 2 评论 -
MySQL远程备份恢复解决when using lock tables mysql
远程备份mysqldump -P 3306 -h 0.0.0.0 -u cbm -p cbm > ./cbm_backup.sql有锁表问题:when using lock tables mysql远程备份(-d不带数据):mysqldump -P 3306 -h 0.0.0.0 -u prophet_graph -p -d --skip-lo...原创 2019-07-17 21:10:00 · 430 阅读 · 0 评论 -
Could not find artifact jdk.tools:jdk.tools:jar:1.7 at specified path C:\Program Files\Java\jdk-12.0
在hbase的打包过程中,发现一个包一直报错,说是找不到tool问题排查:根据提示文件路径确实找不到tool文件首先想到的是JDK问题,因为我是用了JDK12查过之后发现是由于hbase版本太老,Java在JDK9就废弃了tool.jar解决方案:1.升级hbase(2.2.0无效),2.降级到JDK8...原创 2019-07-26 10:40:22 · 5385 阅读 · 0 评论 -
JAVA IO之简单创建手机通讯录(可导入手机)
利用IO创建手机通讯录学习IO之后可以进行很多实际性的操作,像文件拷贝,可以从理论到实际,学的东西好像一下就可以触碰,不再单单是些枯燥的语法,算法。这样感觉学习java变得更加有趣。 言归正传,如何利用IO简单实现手机通讯录? 基础知识肯定要有:&gt;JavaSE高级开发之JavaIO&lt; 有了对IO的基础知识,那么接下来就着手做吧,首先,先得知道手机通讯录内部是个什么构造...原创 2018-05-27 16:54:25 · 3559 阅读 · 0 评论 -
JAVA实现双向链表
用java写链表简直爽歪歪 我中有你,你中有我package task4_14;interface Link {//接口,放各种链表操作的方法 void add (Object obj); boolean remove (int index); int indexOf(Object obj); boolean set(int index,Obje...原创 2018-04-16 21:09:47 · 189 阅读 · 0 评论 -
在用wordpress搭建网站中遇到的那些问题
1.Localhost 名错误:这个问题是我在改中文界面的时候遇到的,数据库名字和密码都是对的,但是一直提示Localhost名错误,这个问题很操蛋,第一次用的人都容易被吓到。解决方案: 修改wp-config.php文件define("FS_METHOD", "direct");define("FS_CHMOD_DIR", 0777);define("FS_CHMOD_...原创 2018-04-15 22:12:09 · 2077 阅读 · 0 评论 -
Github应该这样入门
清楚我要学什么 之前有过打算学习一下Github,但是仅仅是创建好帐号之后就继续不下去了,一方面是没有编程方面的基础,头脑中没有指令的概念,还有就是没有一个合适的学习方法,只是在跟着教程敲git,但是不知道这些指令的用途,以及自己能用这些指令做什么。在最近的学习中,我逐渐形成了一个学习套路,就是在学习一个新知识之前,先了解一下这个知识体系的架构,形成一个知识脉络,然后清楚自己想在这方面学习哪方面的原创 2018-03-23 15:02:28 · 409 阅读 · 0 评论 -
函数中用一个参数修改另一个参数的一种实现方式
关于函数中用一个参数修改另一个参数的一种实现方式,通过汇编可以从原理上理解分析这个问题。先看一段示例,这里讲的是如何通过x来修改y#pragma warning(disable:4996)#include<stdio.h>int myfun(int x, int y){ int z = x + y; return z;}int main(){ ...原创 2018-03-11 22:01:41 · 1150 阅读 · 0 评论 -
深度剖析函数的调用
C语言是面向过程的计数机语言,其本质就是函数的调用,从汇编的角度深层次剖析函数之间的调用关系,将对C语言的理解更上一层楼。先来看一段代码 #include<stdio.h> int myfun(int x, int y) { int z = x + y; ...原创 2018-03-10 19:53:51 · 429 阅读 · 0 评论 -
MySQL学习笔记(三)
表的约束 在统计数值时会出现问题 不能为空因为 数+NULL=NULL 加not null default _数值_set和enum不能设置默认值。列描述:comment,没有实际含义,专门用来描述字段,会根据表创建语句保存,用来给程序员或DBA来进行了解。#desc无法查看注释信息但是可以通过show查看show create tab...原创 2018-03-09 18:25:58 · 171 阅读 · 0 评论 -
MySQl学习笔记(二)
关于MySQL密码重置 /usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 & /usr/bin/mysql -u root mysql >update user set password = Password('root') where User = 'root'; ...原创 2018-03-09 17:14:01 · 171 阅读 · 0 评论 -
MySQL学习笔记(一)
mysql 查看sql是否运行:netstat -anp>重定向到一个file grep “3306” file如何在新开端口查看自己mysql写的库文件# cd /var/lib/mysqlmysql -u root -p -h我的 :mysql -u root -proot查看已创建数据库show databases;...原创 2018-03-09 12:04:47 · 186 阅读 · 0 评论 -
IDEA 批量修改变量名
IDEA 批量修改变量名 快捷键 shift F6 或者 点击变量->右键->Refactor->Rename原创 2018-06-12 08:04:09 · 20866 阅读 · 1 评论 -
IDEA 构造、Setter/Getter快捷键
他山之石,可以攻玉。—《诗经·小雅·鹤鸣》 快捷键 功能 ALT +Insert 构造、Setter/Getter、toString、hashCode等原创 2018-06-12 17:07:15 · 13537 阅读 · 1 评论 -
please choose a valid jdk directory,无法修改JDK location 解决方案
别后唯所思,天涯共明月。—孟郊《古怨别》在使用Android studio时,一直提示please choose a valid jdk directory ,但是当你改过JDK location之后,又会变成另一个目录。解决方法: 1.将SDK的安装路径修改的没有空格的路径(安装路径,而不是修改 Android SDK location的路径!!!) ...原创 2018-06-20 17:51:45 · 15422 阅读 · 1 评论 -
搜索进程并且将其杀死
命令ps -ef |grep “name”|awk ‘{print $2}’|xargs kill -9 想要杀死的进程名为name,这个命令组合通常可以写成shell保存用于重启服务原创 2019-07-29 18:57:08 · 544 阅读 · 0 评论