Shimmer66 / Comment

碎碎念
0 stars 0 forks source link

随记 - Shimmer #11

Open Shimmer66 opened 3 years ago

Shimmer66 commented 3 years ago

https://blog.shimmer.org.cn/notes/

Shimmer66 commented 3 years ago

你有真正热爱的东西吗? 你有可以互相奋不顾身的人吗? 不破不立

Shimmer66 commented 3 years ago

种一棵树最好的时间是十年前,其次是现在。 从现在起,对自己负责, 祝安。

Shimmer66 commented 3 years ago

nautilus +路径 打开文件夹。 ctrl+l:显示文件夹地址栏 Ctrl+h: 显示隐藏文件 特殊 URI 地址

Shimmer66 commented 3 years ago

我缺少的是执行力,自律. YES!

Shimmer66 commented 3 years ago

小知识:Netstat命令用法

命令格式:Netstat -a -e -n -o -s

-a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。

-e 表示显示以太网发送和接收的字节数、数据包数等。

-n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。

-o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。

-s 表示按协议显示各种连接的统计信息,包括端口号。

Shimmer66 commented 3 years ago

小知识:Tomcat输出乱码 打开tomcat找到conf文件夹下的logging.properties文件,在该文件下修改如下属性也可防止控制台乱码

java.util.logging.ConsoleHandler.encoding = GBK
Shimmer66 commented 3 years ago

Talk is cheap, show me the code.

Shimmer66 commented 3 years ago

留在回忆中的歌单 rVZWVS.jpg

Shimmer66 commented 3 years ago

心情不好时,适合听歌!

Shimmer66 commented 3 years ago

每天一个小知识:git推送本地仓库

  1. git init # 初始化本地仓库,添加.git文件夹

  2. git status -s # 查看本地还没提交的文件

  3. git add . # 把要提交的文件提交到暂存区||加文件路径

  4. git commit -m "第一次提交" #添加文件提交说明信息

  5. git remote add origin 您的仓库远程地址 #remote:远程,

  6. git pull origin master #从远程获取代码并合并本地的版本。

  7. git push -u origin master # -u设定默认主机

Shimmer66 commented 3 years ago

每天一个小知识: Linux cat命令 cat 文件名 #查看文件内容(文件内容终端显示) cat 文件1>>文件2 #将文件1的内容追加到文件2中 cat 文件1>文件2 #将文件1的内容覆盖到文件2中 tac 文件名 #逆序输出文件内容(从最后一行到第一行的顺序) 参数 : -n : 对所有行输出行编号 -s :如果有连续两行以上的空白行,就代换为一行的空白行。 -b : 对非空行输出行编号

Shimmer66 commented 3 years ago

每天一个小知识:conda命令 conda update -n base conda #update最新版本的conda conda create -n xxxx python=3.5 #创建python3.5的xxxx虚拟环境 conda activate xxxx #开启xxxx环境 activate:启用 conda deactivate #关闭环境 conda env list #显示所有的虚拟环境 conda info --envs #显示所有的虚拟环境 python文件执行:选定环境,输入文件名 linux本机地址:ifconfig查看 为127.0.0.1

Shimmer66 commented 3 years ago

hexo 多平台: ubuntu下只需要安装nodejs,npm,hexo就可以用hexo执行win10下的博客文件!

Shimmer66 commented 3 years ago

其实,我jio的弱是原罪没有一点问题,丛林法则,基因传承的影响, 但...

Shimmer66 commented 3 years ago

每天一个小知识:Pycharm快捷键

  1. Ctrl +z 撤销
  2. Ctrl +Shift +z 回退
  3. Ctrl +Shift +f 全局查找 4.Ctrl + / 代码注释
Shimmer66 commented 3 years ago

chmod 777 文件或目录

  1. 如果是描述一个普通文件
  1. 如果描述的是一个目录
Shimmer66 commented 3 years ago

报错信息:MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

1、跳过MySQL的密码认证过程

(1)、修改 /etc/my.cnf 文件

[root@localhost ~]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf [root@localhost ~]#vim /etc/my.cnf (2)加入信息

[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程

保存并退出 :wq

2、重启Mysql服务

[root@localhost ~]# service mysql restart

3、重启之后输入 mysql 进入 mysql 。

4、重置密码

mysql> use mysql; mysql> update user set password=password("你的新密码") where user="root"; mysql> flush privileges; mysql> quit;

5、关闭mysql的 skip-grant-tables 模式

把“skip-grant-tables”删除或者注释掉。

6、重启mysql服务

[root@localhost ~]# service mysqld restart 7、用修改后的密码登录mysql

至此,问题解决!

Windows环境请参考:

https://blog.csdn.net/liuwenbiao1203/article/details/53247665

Shimmer66 commented 3 years ago

Django 关闭:

命令:

用于显示tcp,udp的端口和进程等相关情况

netstat -tunlp """ ps: -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字 -l 仅列出有Listen(监听)的服务状态 -p 显示建立相关链接的程序名 -a 列出所有的服务状态,默认是连接的 """

查看进程端口号及运行的程序

netstat -atunp

由端口号port(8000)查看进程id

netstat -anp |grep 8000

命令:

杀死指定进程根据pid(进程id):

kill pid

强制杀死指定进程根据pid(进程id):

kill -9 pid

Shimmer66 commented 3 years ago

函数:func:~django.urls.path具有四个参数,两个必须参数:``route``和``view,两个可选参数:kwargsname。现在,是时候来研究这些参数的含义了。

path() 参数: route¶ route是一个匹配 URL 的准则(类似正则表达式)。当Django响应一个请求时,它会从 urlpatterns的第一项开始,按顺序依次匹配列表中的项,知道找到匹配的项。

这些准则不会匹配 GET 和 POST 参数或域名。例如,URLconf在处理请求https://www.example.com/myapp/时,它会尝试匹配myapp/。处理请求https://www.example.com/myapp/?page=3时,也只会尝试匹配myapp/

path() 参数: view¶ 当 Django 找到了一个匹配的准则,就会调用这个特定的视图函数,并传入一个:class:~django.http.HttpRequest对象作为第一个参数,被“捕获”的参数以关键字参数的形式传入。

path() 参数: kwargs¶ 任意个关键字参数可以作为一个字典传递给目标视图函数。

path() 参数: name¶ 为你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模板中。这个有用的特性允许你只改一个文件就能全局地修改某个 URL 模式。

Shimmer66 commented 3 years ago

ubuntu刷新IP:sudo dhclient -r #删除ip sudo dhclient #获取IP

Shimmer66 commented 3 years ago

Linux里面使用navicat连接MySQL数据显示2002-Can't connect to local MysQL serverthrough socket'/var/lib/mysq/mysql.sock'(13"权限不够") 把默认的主机名“localhost”,改成127.0.0.1就OK了

Shimmer66 commented 3 years ago

Django : 'django_admin_log' already exist 可能原因:执行 python manage.py inspectdb时,models.py生成了该数据库, 解决方案:models文件删除该数据库即可,

重新执行 manage.py makemigrations  manage.py migrate
Shimmer66 commented 3 years ago

path("comment/): path('/vote/', views.vote, name='vote')中的的含义 path('/vote/', views.vote, name='vote')

用于匹配URL的值,并将扑捉到的值作为关键字参数传递给视图,其中,question_id对应给视图的参数,int 决定了URL中的那类值符合匹配条件 参数name是给匹配到的URL取个别名为 vote
Shimmer66 commented 3 years ago

Mysql查找字段名:

1.  SELECT DISTINCT TABLE_SCHEMA,TABLE_NAME 
2.  FROM information_schema.COLUMNS
3.  WHERE COLUMN_NAME = '要查找的字段名称' 
Shimmer66 commented 3 years ago

Python Django,模型,查询数据库。get()、all()、filter()、exclude()、order_by()

条件格式: 模型类属性名__条件名 = 值 # 所以定义模型类属性名时不能使用多个下划线。

例如:id__exact = 1 。

一、get函数(仅能返回一条数据)。

book = BookInfo.objects.get(id__exact = 1) # 可以且仅可以返回一条数据。 没有数据或返回多条数据都会抛异常。

book = BookInfo.objects.get(id = 1) # 简写形式。 __exact可以省略。返回模型对象

二、all函数 (查询所有)

books = BookInfo.objects.all() # 查询所有。 返回QuerySet查询集(可以遍历)

三、filter函数 (条件查询)

条件查询。(可以通过逗号,连接多个条件) 返回QuerySet查询集(可以遍历)

books = BookInfo.objects.filter(titleexact = '天龙八部') # exact 等于。 exact 可以省略。 (iexact 不区分大小写)

books = BookInfo.objects.filter(titlecontains = '天') # contains 包含。模糊查询。 (__icontains 不区分大小写)

books = BookInfo.objects.filter(titleendswith = '部') # endswith 以..结尾。 startswith 以..开头。 (iendswith 不区分大小写)

books = BookInfo.objects.filter(titleisnull = False) # isnull 是否为空。 True:表示为null。 False表示not null。

books = BookInfo.objects.filter(idin = [1,3,5]) # in 范围查询。

books = BookInfo.objects.filter(idgt = 3) # gt 大于。 lt 小于。 gte 大于等于。 __lte 小于等于。

books = BookInfo.objects.filter(pub_date__gt = date(1980,1,1)) # 日期查询。

books = BookInfo.objects.filter(pub_date__year = 1980) # 日期查询。(year、month、day、week_day、hour、minute、second)

四、exclude函数 (filter函数取反)

查询id不为3的所有图书。

books = BookInfo.objects.exclude(id = 3) # 与filter函数作用相反。 返回QuerySet查询集(可以遍历)

五、order_by函数 (排序)

对查询结果进行排序。 返回QuerySet查询集(可以遍历)

books = BookInfo.objects.all().order_by('-id') # 'id'表示升序; '-id'表示降序。

books = BookInfo.objects.order_by('-id') # .all()可以省略。 默认查询所有。 可以结合filter等函数一起使用 。

Shimmer66 commented 3 years ago

Django报Warning错误 RuntimeWarning: DateTimeField Goods.create_at received a naive datetime (2019-07-31 23:05:58) while time zone support is active 报错和UTC(世界标准时间)有关,在settings.py 文件中设置 USE_TZ = False 警告错误不再报

Shimmer66 commented 3 years ago

Django get filter all 方法简介: get()方法 括号内严格使用的是models表单中的字段,获取有且只有一个值,返回一个字典{“keys值”:“values值”},是一个对象,不存在,会报错

filter()方法 返回一个类似列表但不是列表的对象,可以一次获取多个,用逗号隔开,列表里存储获取到的是字典形式,可以进行迭代,不存在会返回[]空列表,用.first()方法返回

all()方法 获取表单中所有内容,列表套字典形式,通常用于一对多关系,遍历“多”中的内容

Shimmer66 commented 3 years ago

git配置过程中fatal:拒绝合并无关的历史 首先将远程仓库和本地仓库关联起来:

git branch --set-upstream-to=origin/master master 然后使用git pull整合远程仓库和本地仓库,

git pull --allow-unrelated-histories (忽略版本不同造成的影响)

Shimmer66 commented 3 years ago

VS code批量删除空行 1.快速打开替换界面,在Find界面输入^\s*(?=\r?$)\n

2.Alt+R选择Use Regular Expression(Alt+R)即正则表达式模式:

3.选择Replace All(Ctrl+Alt+Enter)批量替换全部完成操作,

Shimmer66 commented 3 years ago

满天星光

Shimmer66 commented 3 years ago

linux 关闭终端后仍执行命令 [ nohup 命令 & ] (注:nohup全拼:no hang up )

Shimmer66 commented 3 years ago

对于那些从事网络管理与维护工作或者经常上网的朋友来说,遇到网络故障几乎是一件不可避免的事情。面对稀奇古怪的网络故障,相信不少人会感觉到无从下手,于是他们往往会求助各种专业的故障诊断工具,希望能通过这些专业工具快速找到故障原因,以便及时采取措施进行针对性应对。

事实上,无论是什么类型的故障诊断工具,在一些特殊网络故障面前都会显得无能为力;此时,我们所能做的就是依靠自己,从使用Ping命令开始,手工逐步排查故障原因。

着眼顺序,用好Ping命令

尽管Ping命令平时看上去很平凡稀松,但是在关键时刻使用该命令,它有时能发挥出意想不到的作用。当然,要想让Ping命令有效发挥作用,我们首先需要掌握使用该命令排查故障的一些测试顺序,只要依照顺序依次排查,再难解决的网络故障也能被很快解决掉,下面就是使用Ping命令测试故障原因的具体操作顺序:

首先对本地工作站的循环地址127.0.0.1进行ping测试。当遇到一些无法直接找到故障原因的特殊网络故障时,我们首先需要使用Ping命令测试一下本地工作站的循环地址127.0.0.1能否被正常Ping通,倘若该地址无法被正常Ping通的话,那么说明本地工作站的TCP/IP协议程序受到了破坏,或者网卡设备发生了损坏。

此时,我们不妨打开本地工作站系统的设备管理器窗口,从中找到网卡设备选项,并用鼠标右键单击该选项,从弹出的快捷菜单中执行“属性”命令,打开网卡设备的属性设置窗口,在该窗口的“常规”标签页面中我们就能看到当前的网卡工作状态是否正常了(如下图所示)。

当发现网卡工作状态正常的话,那很有可能是本地工作站的TCP/IP协议程序受到了破坏,此时我们不妨打开本地连接属性设置窗口,选中并删除该设置窗口中的TCP/IP协议选项,之后再重新安装一下TCP/IP协议程序,相信这么一来本地工作站的循环地址127.0.0.1就能被正常Ping通了。

其次对本地工作站的IP地址进行ping测试。在确认127.0.0.1地址能够被Ping通的情况下,我们继续使用Ping命令测试一下本地工作站的静态IP地址是否能被正常Ping通,倘若该地址不能被正常Ping通的话,那么说明本地工作站的网卡参数没有设置正确,或者网卡驱动程序不正确,也有可能是本地的路由表受到了破坏。

此时我们可以重新检查一下本地工作站的网络参数是否设置正确,如果在网络参数设置正确的情况下仍然无法Ping通本地IP地址的话,我们最好重新安装一下网卡设备的原装驱动程序,相信这么一来我们就能正确Ping通本地工作站的静态IP地址了。一旦本地工作站的静态IP地址被顺利Ping通的话,那就表明本地工作站已经能够加入到局域网网络中了。

接着对本地局域网的默认网关地址进行ping测试。由于本地工作站是通过网关与局域网中的其他工作站进行相互通信的,只有本地工作站与默认网关之间连接正常,才能确保本地工作站与其他工作站通信正常。倘若网关地址能被正常Ping通的话,那就表明本地工作站可以与局域网中的其他工作站进行正常通信。

要是Ping命令操作不成功的话,那很有可能是网关设备自身存在问题,或者是本地工作站与网关之间的线路连接不正常,也有可能是本地工作站与网关没有设置成同一个子网中。此时,我们可以先用专业的线缆测试工具测试一下网络线缆的连通性,在线缆连通性正常的情况下,再检查本地工作站的网络参数是否与网关的参数设置成同一个子网中。

倘若网络参数设置正确的话,我们再从其他工作站Ping一下网关地址,以便确认网关自身是否存在原因,如果局域网中的其他工作站也无法Ping通网关的话,那多半是网关设备自身存在问题,这个时候我们只要将故障排查重点锁定在网关设备上就可以了。

下面对局域网中任意一台远程工作站的IP地址进行ping测试,以便检验本地工作站能否通过网关设备与局域网中的其他工作站进行通信。要是我们发现远程工作站的IP地址无法Ping通的话,那很有可能是远程工作站自身无法响应,或者是远程工作站与网关设备之间的线路连接出现了问题,此时我们可以将网络故障的排查重点聚焦到远程工作站上或者是局域网的网络设备上。

最后对局域网的远程工作站主机名称进行ping测试。在确认能够Ping通远程工作站IP地址的情况下,仍然出现无法访问远程工作站内容的时候,我们就有必要进行这一项测试操作。如果该主机名称无法被Ping成功的话,那很有可能是DNS解析出现了问题,而不是网络连接发生了故障,此时我们不妨把故障检查重点锁定在DNS服务器上。

小提示:为了有效地找出网络故障原因,我们在使用Ping命令进行测试检查时,尽量确保局域网中只配置了一个网关,同时确保本地工作站没有启用IP安全设置策略,这样可以保证Ping命令能够获得正确的测试结果。

着眼安全,停用Ping功能

在网络访问一切正常的情况下,我们有时使用Ping命令测试某个地址的连通性时,会出现Ping不通的现象,其实这种现象并不能算是网络故障,因为目前不少病毒程序会通过Ping命令向局域网中发送大量的垃圾包,以便实施ddos攻击,而许多服务器或工作站为了远离这样的非法攻击,常常会采取措施将Ping功能关闭掉,如此一来就会出现在网络访问一切正常的情况下,仍然发生Ping不通的奇怪现象。

为了保护本地工作站的安全,我们在平时可以采取如下措施,确保其他用户无法Ping通本地工作站的IP地址:

首先依次单击“开始”/“设置”/“控制面板”命令,在其后弹出的控制面板窗口中双击“管理工具”图标,再双击“本地安全策略”项目,之后依次选中其后界面中的“安全设置”、“IP安全策略”选项,在对应“IP安全策略”选项的右侧显示区域中,用鼠标右键单击空白区域,并执行快捷菜单中的“创建IP安全策略”命令,打开如下图所示的创建向导窗口;

单击该窗口中的“下一步”按钮,并将IP安全策略的名称设置为“NoPing”,之后按照向导提示逐步单击“下一步”按钮,完成IP安全策略的创建任务。当创建好IP安全策略后,打开本地工作站系统的组策略编辑界面,在该编辑界面的左侧显示区域依次选择“计算机配置”、“Windows设置”、“安全设置”、“IP安全设置,在本地计算机上”选项,并在该选项的右侧显示区域选中“NoPing”IP安全策略,并用鼠标右击该选项,从弹出的右键菜单中执行“指派”命令,如此一来本地工作站的Ping功能就被暂时停止使用了。

小提示:除了通过停用Ping功能来增强本地工作站的安全防范性能外,我们也可以通过伪装Ping命令测试结果的方法,来保护本地工作站或服务器的安全。例如,在进行Ping命令测试时,如果DefaultTTL结果为128的话,我们就能判断目标主机的操作系统类型为Windows系统,如果DefaultTTL结果为64的话,那目标主机的操作系统类型为Linux系统,根据这样的测试结果信息黑客就有可能实施有针对性地攻击,为此我们可以故意伪装DefaultTTL结果信息,以便给黑客返回一个错误的结果,从而让黑客发动的非法攻击偏离方向。

要伪装DefaultTTL结果信息,我们只要先打开系统的注册表编辑窗口,并依次展开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters”分支,然后在“Parameters”分支下面创建一个“DefaultTTL”双字节值,再将它的数值设置成其他任意一个数字。

例如在Windows系统下,我们可以尝试将DefaultTTL结果信息设置成“64”,那样一来黑客使用Ping命令测试本地工作站时,还认为本地工作站安装了Linux系统,于是他们可能会针对Linux系统发动攻击,但这样的攻击不会对Windows系统工作站造成任何影响,如此一来本地工作站的安全性就得到了一定程度的保证。

着眼网速,用好pathping

在Windows 2000以上版本的工作站系统中,Ping命令还有一个“兄弟”作伴,这位“兄弟”其实就是平时很少露面的pathping命令,该命令在关键时刻也能帮助我们找到网络故障原因。例如在网络访问速度非常缓慢的情况下,我们使用Ping命令或许根本找不到造成网络访问速度缓慢的故障原因,此时使用pathping命令,我们就能轻易地找到究竟在哪一个网络连接环节出现了数据丢包现象。

当我们发现本地工作站上网速度非常缓慢的时候,可以依次单击“开始”/“运行”命令,在弹出的系统运行框中输入“cmd”字符串命令,单击“确定”按钮后,将系统切换到MS-DOS运行状态;

其次在DOS命令行中,输入字符串命令“pathping xxx”(其中“xxx”为本地工作站指定的DNS服务器IP地址),单击回车键后,我们就能从随后的结果信息中看到在访问DNS服务器过程中,中途经过了几个中间路由器(如下图所示)。

并且能清楚地知道究竟在哪一个跳转环节发生了数据丢包或网络延时现象。如果我们发现某一个路由器的数据丢包率非常高的话,那么该路由器很有可能出现了意外,此时我们只要将故障检查重点锁定在对应路由器设备上就可以了。