平常生活工作中遇到的感兴趣的名词和计算机方面的知识,专有名词,会收录在这个文档中。
一些名词
1.wiki:多人协作的写作系统,来源于夏威夷语,它最大的特点就是分享性,开放性以及互动性。wiki站点允许任何访问它的用户都可以修改、编辑以及创建上面的内容。
wiki软件,是一种运行在php+mysql运行环境的百科系统软件。用wiki软件可以迅速地搭建起一个wiki网站。
国内目前使用最普遍的wiki软件有HDwiki(互动中文wiki系统)以及mediawiki。两者各有特点:
HDwiki,是中国第一家拥有自主知识产权的中文wiki系统,适用于国内wiki爱好者;
mediawiki是世界上使用最多的wiki系统,在世界范围内使用比较广泛。
2.**.zip
**是程序的压缩包 **.msi
**是程序安装包
.msi文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据,只要系统中包含windows installer支持就能够使用。
.msi是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说白了.msi就是Windows installer的数据包,把所有和安装文件相关的内容封装在一个包里。
3.备份(backup)文件的时候,可以加后缀名.bak,等到需要回退到这个版本的时候,放开.bak即可。
4..html
转换为帮助文档就是**.chm
**文档
5.坐标系:84坐标可以定位到国外,但是GCJ02和BD09只能在国内使用。(相当于是为了保密,在国内不使用gps坐标系,而是加密了一下,使用加密版的坐标系:GCJ02坐标系、BD09坐标系)
WGS84坐标系: 地球坐标系,国际通用坐标系
GCJ02坐标系:火星坐标系,WGS84坐标系加密后的坐标系;Google国内地图、高德、QQ地图 使用
BD09坐标系:百度坐标系,GCJ02坐标系加密后的坐标系
6.像素
像素即一个小方块,它具有特定的位置和颜色。图片、电子屏幕(手机、电脑)就是由无数个具有特定颜色和特定位置的小方块拼接而成。
像素可以作为图片或电子屏幕的最小组成单位。
分辨率
通常我们所说的分辨率有两种,屏幕分辨率和图像分辨率
屏幕分辨率指一个屏幕具体由多少个像素点组成。分辨率高不代表屏幕就清晰,屏幕的清晰程度还与尺寸有关
图片分辨率其实是指图片含有的像素数,比如一张图片的分辨率为800 x 400。这表示图片分别在垂直和水平上所具有的像素点数为800和400。同一尺寸的图片,分辨率越高,图片越清晰
PPI
PPI(Pixel Per Inch):每英寸包括的像素数。
PPI可以用于描述屏幕的清晰度以及一张图片的质量。
使用PPI描述图片时,PPI越高,图片质量越高,使用PPI描述屏幕时,PPI越高,屏幕越清晰。
描述手机分辨率:iPhone XS Max 和 iPhone SE的PPI分别为458和326,说明前者的屏幕更清晰。
由于手机尺寸为手机对角线的长度,我们通常使用如下的方法计算PPI:
DPI
DPI(Dot Per Inch):即每英寸包括的点数。
这里的点是一个抽象的单位,它可以是屏幕像素点、图片像素点也可以是打印机的墨点。
平时你可能会看到使用DPI来描述图片和屏幕,这时的DPI应该和PPI是等价的,DPI最常用的是用于描述打印机,表示打印机每英寸可以打印的点数。
一张图片在屏幕上显示时,它的像素点数是规则排列的,每个像素点都有特定的位置和颜色。
当使用打印机进行打印时,打印机可能不会规则的将这些点打印出来,而是使用一个个打印点来呈现这张图像,这些打印点之间会有一定的空隙,这就是DPI所描述的:打印点的密度。
在上面的图像中我们可以清晰的看到,打印机是如何使用墨点来打印一张图像。
所以,打印机的DPI越高,打印图像的精细程度就越高,同时这也会消耗更多的墨点和时间
DPR
设备像素比(dpr) = 设备像素(分辨率)/设备独立像素(屏幕尺寸)
布局视窗:屏幕大小
视觉视窗:为了解决PC端网站在移动端显示不佳,布局视窗比设备屏幕宽度宽,一般为980
1 | <meta name="viewport" content="width:device-width, initial-scale=1.0, maximum=1.0, minimum=1.0, user-scalable=no"> |
这行代码把视觉视窗大小设置成和布局视窗大小相等,这样我们在代码设置css像素时,设置的跟渲染出来效果也是一样。
手机分辨率指的是屏幕能够达到的清晰度,液晶排列点阵数量,通常用乘号或者 * 表示,如320 * 240,480 * 800,1280 * 720 表示的是像素,越大屏幕分辨率越高,同等尺寸情况下越清晰,当然跟屏幕生产商,材质也有关系。
像素指的是相机,通常在摄像头后面有标记,如2M,8M等,指的是200万,800万像素
像素越高,最大输出的影像分辨率也越高;分辨率越大,图片的面积越大
手机尺寸 1英寸 = 2.54 厘米 手机屏幕的大小还和屏幕的长宽比有关,同样的对角线长度16:9的长宽比和4:3的长宽比,屏幕大小是不一样的
比如:苹果5的是4英寸:1136 * 640 像素密度330PPI (浏览器调试的时候就可以设置为:568 * 320)
7.robots.txt:Web机器人(爬虫)
8.ORM:Object Relational Mapping,对象关系映射。
9.Thrift 是一个软件框架(远程过程调用框架),用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引 擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务
10.百度指数:查看数据可以去百度指数,查看这个数据的搜索热度。
11.**.DS_Store
**:是Mac OS保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini
12.CDN:内容分发网络(Content Delivery Network),是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。CDN应用广泛,支持多种行业、多种场景内容加速。例如:图片小文件、大文件下载、视音频点播、直播流媒体、全站加速、安全加速
CDN通过广泛的网络节点分布,提供快速、稳定、安全、可编程的全球内容分发加速服务,支持将网站、音视频、下载等内容分发至接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。
CND加速主要是加速静态资源,CND加速需要依靠各个网络节点,CND服务器通过缓存或者主动抓取主服务器的内容来实现资源储备
13.ERP系统:是企业资源计划(Enterprise Resource Planning)的简称,是指建立在信息技术基础上,集信息技术与先进管理思想于一身,以系统化的管理思想,为企业员工及决策层提供决策手段的管理平台。
14.Dashboard:仪表板,一般为后台管理系统的首页
15.**.sh
**结尾的文件:脚本文件,被称为脚本Bash的应用程序和使用开发人员文件。可以使用sh命令运行“sh xxx.sh”,并且由于在linux中sh是链接到bash上的,所以sh与bash在功能上是没有区别的。
windows系统下可以通过git bash打开到这个.sh文件所在位置,然后运行sh xxx.sh
16.在xml中,被**<![CDATA[]]>
这个标记所包含的内容将表示为纯文本**,比如<![CDATA[<]]>
表示文本内容“<”
在xml中,”<”
、”>”
、”&”
等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,如”<”
、”>”
、”&”
,这样才能保存进xml文档。
(1)转义序列字符之间不能有空格;
(2) 转义序列必须以”;”结束;
(3) 单独出现的”&”不会被认为是转义的开始;
(4) 区分大小写。
在XML中,需要转义的字符有:
(1)& &
(2)< <
(3)> >
(4)" "
(5)' '
17.关于大于小于的简写:
EQ 就是 EQUAL等于
NE 就是 NOT EQUAL不等于
GT 就是 GREATER THAN大于
LT 就是 LESS THAN小于
GE 就是 GREATER THAN OR EQUAL 大于等于
LE 就是 LESS THAN OR EQUAL 小于等于
18.psd文件是Photoshop图片软件保存的一种文件格式,保存这种格式后可以在下次打开这个文件的时候继续以前的操作而不会断掉。
19.
U+2006 ios手机输入法如果只输入拼音,但是未选择汉字时直接回车会在拼音的`之间插入这个字符。复制在idea里会显示,但是其他地方都只会显示一个空格。
20.进程:应用程序的启动实例。进程拥有代码和打开的文件资源、数据资源、独立的内存空间
线程:线程从属于进程,是程序的实际执行者。一个进程至少包含一个主线程,也可以有更多的子线程。线程拥有自己的栈空间。具有经典的五种状态:初始化,就绪,阻塞,运行,销毁
协程:一个线程可以拥有多个协程。在单线程下,由用户自己控制,一个任务遇到io阻塞了就切换另外一个任务去执行,以此来提升效率
管程:用来管理共享变量以及对共享变量操作的过程。MESA模型、Hasen模型、Hoare模型。解决了互斥与同步:管程保证了同时只允许一个线程进入。
线程是最小的执行单元,进程是最小的资源管理单元。无论进程还是线程,都是由操作系统所管理的。
协程不是被操作系统内核所管理,而完全是由程序所控制(也就是在用户态执行)
微信
1.微信发送安卓相关的安装包会自动屏蔽。
2.微信的浏览器内核:
安卓(Android)手机:微信6.1版本以上的android用户,都是使用的QQ浏览器的X5内核。5.4-6.1之间的版本,若用户安装了QQ浏览器就是使用的X5内核,若用户未安装浏览器,使用的是系统内核。
苹果(IOS)手机:safari
WKWebview(此网页由)和UIWebview(网页由)
从ios8开始支持WKWebview
电脑知识
1.usb2.0和usb3.0:
颜色:USB2.0接口处为黑色或白色,USB3.0接口处为蓝色
标志符号:USB3.0接口比2.0多了个ss
兼容性:USB2.0:可以兼容USB1.0、USB2.0。
USB3.0:可以兼容USB1.0、USB2.0、USB3.0
传输速率:USB2.0的理论传输速率:480Mbps (60MB/s)
USB3.0的理论传输速率:5Gbps (500MB/s)
硬件结构:USB2.0:采用了半双工二线制总线,只能提供单向数据流传输;
USB3.0:采用了对偶单纯形四线制差分信号线,可以双向并发数据传输
2.下载好的软件,如果桌面没有快捷方式图标,需要重新在软件位置右击创建快捷方式到桌面,直接拉到桌面不能启动。
3.windows下打开到某个文件,在地址栏输入cmd,可以直接跳转到cmd命令行的这个文件目录。
4.windows系统下,windows键+上下左右箭头键可以进行分屏。
5.x64是64位系统。x86是32位系统。
x86指的是一种cpu的架构。因为intel的8086,286,386~586而得名,amd开发的大部分cpu也是基于x86架构的。x86架构的特点是cpu的寄存器是32位的,因此也叫32位cpu。
X86的32位体系结构通常称为IA-32,全称为“英特尔体系结构,32位”。它的64位体系结构最早由AMD推出,被称为“AMD64”。后来,它也被英特尔采用,被称为“英特尔64”。也称为“x86-64”、“x64”。
早期英特尔曾以80x86的数字格式命名处理器,包括8086、80186、80286、80386和80486。
因为它以“86”结尾,所以它的体系结构被称为“x86”。由于digital不是注册商标,英特尔及其竞争对手在新一代处理器中使用可注册名称,如奔腾、酷睿和ryzen(由AMD推出)
6.查看本机IP:cmd中输入 ipconfig
查看网络连接状况:cmd中输入:ping baidu.com
查看本机外网的ip:直接在百度输入ip
第一条就是本机的ip信息
查看本机有没有装好TCP/IP协议:ping 127.0.0.1
(本机无论在联网或是没有联网的状态下的地址.用这个都可以访问到自己的机子)
本地Socks Proxy的地址是localhost:1080或127.0.0.1:1080
7.打开文件之后,不要急着关闭,以防会再用到,再去打开找。浏览器不要打开多个窗口,否则会很卡,因为会占用内存。
8.硬编码
硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中的软件开发实践,与从外部获取数据或在运行时生成数据不同。
硬编码数据通常只能通过编辑源代码和重新编译可执行文件来修改,尽管可以使用调试器或十六进制编辑器在内存或磁盘上进行更改。
硬编码的数据通常表示不变的信息,例如物理常量,版本号和静态文本元素。 另一方面,软编码数据对用户输入,HTTP服务器响应或配置文件等任意信息进行编码,并在运行时确定。
它和普通编码的区别是:
- 编码方式不同:
普通编码:使用CPU进行编码。
硬编码:使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等。
- 使用方式不同:
普通编码:实现直接、简单,参数调整方便,升级易,但CPU负载重,性能较硬编码低,低码率下质量通常比硬编码要好一点
硬编码:性能高,低码率下通常质量低于软编码器,但部分产品在GPU硬件平台移植了优秀的软编码算法(如X264)的,质量基本等同于软编码
- 复杂程度不同:
普通编码比硬编码要复杂一些,对以后的考虑要周到一些。普通编码是一种设计,而硬编码不过是一种具体的实现。软件开发不只是需要一个软件的实现,更需要软件能够很好的修改,方便得扩展,所以需要一些设计技巧在里面。
9.注册表:注册表的作用是保存程序所需要的信息,当程序需要这些信息时,就从注册表里读出.因此,注册表最基本的功能就是保存信息
win+r,输入“regedit”。解决了谷歌浏览器下载的图片格式问题,右键git bash here命令消失的问题。
10.图片的格式类型:
图片格式是计算机存储图片的格式,常见的存储的格式有bmp,jpg,png,tif,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw,WMF,webp,avif等
11.中文的:和英文的:
中文的”“和英文的””
中文的()和英文的()
明显发现中文的格式都有一点空格,英文没有
路径指示:
./表示当前目录
../表示父级目录
/表示根目录
转义字符
‘/x’ x表示任意
‘/t’ tab键
‘/r’ 回车
‘/n’ 换行
14.斜杠/和反斜杠\
- 反斜线“\”是电脑出现了之后为了表示程序设计里的特殊含义才发明的专用标点。就是说,除了程序设计领域外,任何地方都不应该有使用反斜杠的时候,请永远使用正斜线“/”
- Windows系统中用反斜线“\”来表示目录,但是Linux下用正斜线“/”来表示
- Windows:“/”是表示参数,“\”是表示本地路径。
Linux和Unix:“/”表示路径,“\”表示转义,“-”和“–”表示参数。
网络:由于网络使用Unix标准,所以网络路径用“/”。
例:
url地址:https://www.baidu.com
windows地址:C:\Program Files
linux地址:/home/nginx/logs
linux中的转义字符 find ./ -name *.c
其他常见转义字符 : 如 \n \t
java中注释: / * 单行注释 * / //单行注释
所以谨记正则表达式、转义字符都是用反斜杠 \
15.查看win10系统的激活过期时间:windows键+r打开运行,再输入 slmgr.vbs -xpr
16.一级缓存、二级缓存和三级缓存
当cpu进行读取缓存数据的时候,是先从缓存的数据进行查找的,读取之后再输入到电脑cpu里面进行处理,如果没有对应的缓存文件给cpu进行处理的话,那电脑就会从内存中的数据进行处理并给cpu进行处理。这一段时间会相比找到缓存文件来要慢的多。cpu处理完数据之后,就会把处理完的的数据模块进行保存,这个就是缓存文件
电脑的缓存文件分为三个等级,分别是一二三级缓存。
一级缓存基本上都是内置在cpu的内部和cpu一个速度进行运行,能有效的提升cpu的工作效率。一级缓存越多,cpu的工作效率就会越来越高,是cpu的内部结构限制了一级缓存的容量大小,使一级缓存的容量都是很小的。
二级缓存,主要作用是协调一级缓存和内存之间的工作效率。cpu首先用的是一级内存,当cpu的速度慢慢提升之后,一级缓存就不够cpu的使用量了,这就需要用到二级内存。当然二级内存会比一级内存的缓存的效率要低很多,但是相比容量来说二级内存的容量要比一级的容量要大很多。一级内存和二级内存主要是为cpu的处理数据的时候临时进行数据交换的时候使用的。
三级缓存和一级缓存与二级缓存的关系差不多,是为了在读取二级缓存不够用的时候而设计的一种缓存手段,在有三级缓存cpu之中,只有大约百分之五的数据需要在内存中调取使用,这能提升cpu不少的效率,从而cpu能够高速的工作。
现在市场上主流的cpu有两种型号的cpu: amd 和intel。amd型号的cpu只用一级缓存和二级缓存,没有三级缓存。但是intel的cpu恰恰相反,有二级缓存和三级缓存,但是没有一级缓存。
浏览器
1.浏览器主要是看内核来分辨显示。有的浏览器会自动过滤掉一些资源(比如一个名为guanggao的图片)
Apple的Safari, Google的Chrome, Nokia S60平台的默认浏览器,Apple手机的默认浏览器,Android手机的默认浏览器均采用的Webkit作为器浏览器内核
Firefox使用Gecko 内核
微软的IE系列则使用的是Trident内核
2.网址后可以加**#+代码块的id**(这个id是唯一的),表示打开这个网站,可以直接定位到这个代码块对应的前端部分。如果没有跟任何东西,只有#,代表定位到上次访问的位置。
3.根据坐标查询地理位置,可以去某个地图网站的坐标拾取器进行搜索。
4.谷歌浏览器快捷键:ctrl+shift+t,打开刚刚关闭的网页。ctrl+w,关闭当前网页。
5.浏览器的储存:
cookie空间太小,一旦大了,会消耗流量,只适合存一些登录会话信息
sessionStorage的过期时间就是关闭浏览器,是个临时会话窗口;sessionStorage只能在同一标签下共享,假如你把网址复制粘贴到新打开的标签页里面,不共享数据
localStorage存储空间大,长时间保存,同一浏览器,标签页全部共享,它是直接存到电脑硬盘上的,是永久有效的,除非手动清除
localStorage和sessionStorage的区别:两者都可用来存储数据,但是localStorage会保留原始数据,即使关闭浏览器,数据仍然存在。而sessionStorage不会保留,关闭浏览器后数据被销毁。由于要求用户在保持登录状态下重新打开浏览器可以不用登录直接进入主页面,所以要用localStorage
6.4g不能访问某个网站,换到了wifi就可以:(本地项目可以通过在同一个局域网下的设备通过内网ip访问来实现本地的现实机型调试)
服务器商那边对移动网络的问题。实际上跳转的时候的ip发生了变化,找服务商解决的。不是阿里云也不是腾讯云
7.SEO(Search Engine Optimization):汉译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是让其在行业内占据领先地位,获得品牌收益。很大程度上是网站经营者的一种商业行为,将自己或自己公司的排名前移
搜索引擎优化的技术手段主要有黑帽(black hat)、白帽(white hat)两大类。
通过作弊手法欺骗搜索引擎和访问者,最终将遭到搜索引擎惩罚的手段被称为黑帽,比如隐藏关键字、制造大量的meta字、alt标签等。
而通过正规技术和方式,且被搜索引擎所接受的SEO技术,称为白帽
8.浏览器下的F12调试模式:
Network下的所有请求和回复:不止一个请求,会有多个。
Headers:
User-Agent:我们的浏览器信息:操作系统,位数,什么类型的浏览器等一些信息(没有这个无法返回消息)
Cookie:保存在本地的信息(往往是加密的)(没有这个可能会出现登录的问题,如果无法登录,自然无法爬取一些特定的内容)
…
Elements下点击某个标签后,最下面一行会显示这个标签的所有父模块,便于更快的定位html元素
9.ping 百度时候ping www.baidu.com 会出现www.a.shifen.com。这是百度以前的网址
10.localhost 是一个域名,在过去它指向 127.0.0.1 这个IP地址。在操作系统支持 ipv6 后,它同时还指向ipv6 的地址 [::1]
整个127.* 网段通常被用作 loopback 网络接口的默认地址,按惯例通常设置为 127.0.0.1。这个地址在其他计算机上不能访问,就算你想访问,访问的也是自己,因为每台带有TCP/IP协议栈的设备基本上都有 localhost/127.0.0.1
本机地址通常指的是绑定在物理或虚拟网络接口上的IP地址,可供其他设备访问到:IPv4地址:192.168.0.156
11.chromedriver是操作浏览器的一个exe应用程序。java,python都可以在程序里读到这个exe并对其进行操作。相当于就是在程序里对浏览器进行操作。
12.通过网站域名 +robots.txt 方式查看这个网站自己禁止爬取本站信息的爬虫名单
robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)
robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有与没有斜杠“/”表示的是不同的URL。robots.txt允许使用类似”Disallow: *.gif”这样的通配符。
13.PhantomJS是一个Python包,他可以在没有图形界面的情况下,完全模拟一个”浏览器“,js脚本验证什么的再也不是问题了
项目
1.调试程序的时候,得到什么值输出一下,一步一步查看错误在哪,对于不懂得错误,学会用搜索引擎解决。
2.魔法数字
魔法数值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义
在Java语言中,对有名字的值的定义,可以使用用Static final或者enum来声明的值。
注意(命名方法):在取名时一定要注意增加名字的信息量。
如果16表示的是价格表的一个元素,为16命名为SIXTEEN是没有意义的,应该命名为PRICE_TABLE_MAX
阿里:尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关。不要在程序中出现魔法数字
3.项目里报错,首先要注意排查格式错误,避免出现中文写的符号,避免多加空格之类的低级错误。
4.mock,是前端写好的json可以用来进行接口测试,使用mock data来模拟后台传数据。
6.正则表达式的反斜杠
1 | String reg = "^\\{\"data_type\":\"[a-z]{3,8}(_[a-z]{3,6}){0,2}\",\"data\":\\[\\{\"[a-z]{3,7}(_[a-z]{2,4})?\":\"[0-9A-Z]{2,8}\""+"(,\"[a-z]{3,7}(_[a-z]{2,4})?\":\"[0-9A-Z]{2,8}\"){0,5}\\}\\]\\}$" |
7.idea查看jar包源码
将jar包放到项目里,右击选择add as Library
就可以正常查看了
8.replace(/-/g, “/“)
一般用于格式化日期,如2019-1-1 格式化为2019/1/1,然后js 可以直接操作这个时间。 /g 代表全局,所有的- 都替换
9.-n=~n+1 对十进制的n取反 ~n 其实等于 -n-1
10.java存储文件到mysql数据库的操作:
- 将它们另存为blob/图像/无论您选择的DB调用什么字节流:Blob是一个可以存储二进制文件的容器,最大容量只有64kb。
- 存储文件的路径,并将文件存储在文件系统中(服务器上)
java类型与mysql类型的对应表
数据库
1.数据库增加一个字段,对增删改查业务没有影响。
其他
1.政府,标准文件格式:
标题 宋体/黑体 2号 小标题可以自己定 正文 仿宋 4号