计算机网络
what happens when you tpye an URL into your browser?What is URL ?——Uniform Resource Locator 统一资源定位符
Scheme :// Domain / Path / Resource
协议 :// 域名 / 路径 / 资源
通常不太区分 path 和 resource,可以理解为文件夹和文件
通过domain,在 DNS(domain name system)中找到 server 的ip地址
DNS存储了domain 和 ip 的映射关系
对于上述的映射关系,browser、operating system 分别对此做了缓存(DNS cache),在这两级缓存中都找不到映射关系时,主机才会真正地向DNS服务器发送查询请求。
通过ip,与server建立TCP连接。(assume that the scheme is http)
send http request
server sends back htt ...
深度学习入门
安装anaconda后,使用conda指令创建pytorch环境:
12345conda create -n pytorch python=3.8.18创建完毕后,使用命令激活/关闭环境:conda activate pytorchconda deactivate
在pytorch命令行环境下安装pytorch:
1(pytorch) donn@Macc ~ % pip3 install torch torchvision torchaudio
测试是否安装完成:
121.进入python环境2.import torch 若未报错,则说明安装成功
tensorboard使用:
–方便地用于记录训练过程中各个阶段的输入:
12tensorboard --logdir=logs --port=6007 # 此处的logs表示存储日志文件的位置,要根据writer中定义的位置而改变
安装opencv:
1pip install opencv-python
获取numpy类型的图像:
123456789image_path = "data ...
Linux
Linux学习🚀操作系统文件时一定要记得先备份!!!
Linux入门:linux的应用领域:
个人桌面领域
此领域是传统Linux应用薄弱的环节,近些年来随着ubuntu、fedora等优秀桌面环境的兴起,Linux在个人桌面领域的占有率正在逐渐的提高
服务器领域
linux在服务器领域的应用是最强的。
linux 免费、稳定、高效 等特点在这里得到了很好的体现,尤其在一些高端领域尤为广泛( c/c+ + /php/java/python) .
嵌入式领域
linux运行稳定、对网络的良好支持性,低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高;
主要应用:机顶盒、数宇电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域。以后在物联网中应用会更加广泛。
网络连接的三种方式:
桥接模式
NAT模式
主机模式
虚拟机克隆(方便快速构建集群) 如果你已经安装了一合linux操作系统,你还想再更多的,老韩提示大家:没有必要再重新安装, ...
ubuntu安装yum
ubuntu安装yum最近搞了一台服务器,自己折腾的时候用到了yum,发现使用apt-get下载yum时一直报错:
12345root@iZbp1cml7iso80jlaxx2uZ:/tjy# apt-get install yumReading package lists... DoneBuilding dependency tree... DoneReading state information... DoneE: Unable to locate package yum
网上搜了半天,解决方案无非是:
12apt-get updateapt-get upgrade
但是根据我的实际情况,更新apt的库后没有用
最终解决方案:
备份sources.list文件
1sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
修改源
1sudo vim /etc/apt/sources.list
进入vim后
进入Normal模式(按Esc键)。
输入ggdG并按Enter键。这将会从当前光标位置开 ...
实操中遇到的后端开发相关问题与解决方案
java:流的使用:
需求:将得到的对象List 根据某一属性进行分组(例如你需要根据分别对产品id的每种情况进行讨论)
1234567891011121314151617181920 // 用于存储从每条记录中得到的有效信息@Datapublic class InfoDTO { private Long equipmentId; private Boolean isSuccess; private Date actingTime; public InfoDTO(Long equipmentId, Date actingTime) { this.equipmentId = equipmentId; this.actingTime = actingTime; } public InfoDTO() { }}ArrayList<InfoDTO> successInfo = new ArrayList<>();//填充successInfo ...
java基础复习
本文根据作者对java基础的掌握程度而写,只记录了我自己容易遗忘的点,可能并不适合java新手学习😵💫
1.深拷贝、浅拷贝以及引用拷贝:
2.Object类中的常见方法:1234567891011121314151617181920212223242526272829303132333435363738394041424344/** * native 方法,用于返回当前运行时对象的 Class 对象,使用了 final 关键字修饰,故不允许子类重写。 */public final native Class<?> getClass() /** * native 方法,用于返回对象的哈希码,主要使用在哈希表中,比如 JDK 中的HashMap。 */ public native int hashCode() /** * 用于比较 2 个对象的内存地址是否相等,String 类对该方法进行了重写以用于比较字符串的值是否相等。 */ public boolean equals(Object obj) /** * naitive 方法,用于创建并返回当前对象的一份拷贝。 ...
JavaWeb
本博客参照了韩顺平老师的 JavaWeb 课程讲义!
7 Tomcat7.1 官方文档7.1.1 地址: https://tomcat.apache.org/tomcat-8.0-doc/7.2 WEB开发介绍
WEB,在英语中 web 表示网/网络资源(页面, 图片, css, js)意思,它用于表示 WEB 服务器(主机)供浏览器访问的资源
WEB 服务器(主机)上供外界访问的 web 资源分为:
静态web资源(如 html 页面):指web页面中供人们浏览的数据始终是不变。
动态web资源,比如 Servlet(java)、PHP 等
静态web 资源开发技术
Html、CSS、js 等
常用动态web 资源开发技术:
Servlet、SpringBoot、SpringvVC、 PHP、ASP.NET 等
7.3 JavaWeb开发技术栈图-一图胜千言
7.4 BS 与 CS 开发介绍7.4.1 BS开发B: browser(浏览器,种类太多 ff, chrome, ie, edge)
S: Server(服务端,考虑很多)示意图:
...
java并发编程
JAVA并发编程synchronize的作用范围:
修饰实例方法: 对当前对象实例加锁,进入同步代码前要获得当前对象实例的锁
修饰静态方法: 也就是给当前类加锁,会作用于类的所有对象实例,因为静态成员不属于任何一个实例对象,是类成员( static 表明这是该类的一个静态资源,不管new了多少个对象,只有一份)。**🌟所以如果一个线程A调用一个实例对象的非静态 synchronized 方法,而线程B需要调用这个实例对象所属类的静态 synchronized 方法,是允许的,不会发生互斥现象,因为访问静态 synchronized 方法占用的锁是当前类的锁,而访问非静态 synchronized 方法占用的锁是当前实例对象锁**。
修饰代码块: 指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。
总结:synchronize 可以锁住类,也可以锁住类的某个对象,二者相互独立,不冲突。
深入理解volatile关键字:知识预备:可见性和原子性
原子性:一次只允许一个线程持有某个特定的锁,一次就只有一个线程能够使用共享数据。
可见性:必须确保释放锁之前对共享数据做出的更 ...
MySQL高可用
MySQL高可用:读写分离: 在读多写少的情景下,给数据库添加缓存往往不能起到很好的效果:因为在大量的读请求下,缓存的命中率不高,很多请求会 穿透 缓存,最终打到数据库上。
比如在“订单中心”这样的场景中,每个用户的订单都不同,除非全量缓存数据库订单信息(又会带来架构的复杂度),不然缓存的命中率依旧很低。
MySQL 主从复制的原理: 将mysql拆分成主库、从库,通过主从复制实现数据同步。
三个步骤:
写入 Binlog:主库写 binlog 日志,提交事务,并更新本地存储数据。
MySQL 主库在收到客户端提交事务的请求之后,会先写入 binlog,再提交事务,更新存储引擎中的数据,事务提交完成后,返回给客户端“操作成功”的响应。
同步 Binlog:把 binlog 复制到所有从库上,每个从库把 binlog 写到暂存日志中。
从库会创建一个专门的 I/O 线程,连接主库的 log dump 线程,来接收主库的 binlog 日志,再把 binlog 信息写入 relay log 的中继日志里,再返回给主库“复制成功”的响应。
回放 Binlog:回放 ...
操作系统原理学习
硬件结构: