Python--线程&进程

Python--线程&进程

2020/4/20 更新,根据给社团新生的讲课内容适当进行了补充
2020/10/25 更新,整合内容

多线程和多进程概念

  • 当计算机运行程序时,就会创建包含代码和状态的进程。这些进程会通过计算机的一个或多个CPU执行。不过,同一时刻一个CPU只会执行一个进程,然后在不同进程之间快速切换,这样就给人以多个程序同时进行的感觉(所有进程都使用一个CPU,占用一定时间后切换给另一个进程)。同理,在一个进程中,程序的执行也是在不同的线程间进行切换的,每个线程执行程序的不同部分。
Read more
feint

feint

多灾多难

本来开心的用着 hexo,写公式的时候发现有点问题,网上解决了一下,顺手更新了一下 npm 包,然后整个人就裂开了,折腾了一晚上 + 一上午,曲线解决了问题。m*,还我时间….

Read more
deep-learning-intro

deep-learning-intro

深度学习中的数学基础

软工作业 Week 2

  • 概率是基础
  • 支持向量机涉及很多数学基础
  • 梯度下降是神经网络的共同基础
Read more
Python网络编程——TCP

Python网络编程——TCP

  • 2020/10/20 更新问题: UDP 和 TCP 可以绑定在同一个端口吗?

网络是令人捉摸不透的。我们想要传输的数据包有时会被丢弃,有时会被复制,有时顺序会被弄乱。如果仅使用 UDP 提供的数据协议,那么应用程序的代码还需要处理数据传输的可靠性,并提供传输发生错误时的恢复方案。但如果使用 TCP,数据包就被隐藏到协议层之下,应用程序只需要向目标机器发送流数据,TCP 会将丢失的信息重传。

Read more
python-web-6

python-web-6

Telnet 和 SSH

  • Telnet
    • Telnet 取名自 Telecommunications 和 Networks 的联合缩写,这是一种在 UNIX 平台上最为人所熟知的网络协议。
    • Telnet 使用端口 23,它是专门为局域网设计的。
    • Telnet 不是一种安全通信协议,因为它并不使用任何安全机制,通过网络/互联网传输明文格式的数据,包括密码,所以谁都能嗅探数据包。
    • Telnet 中没有使用任何验证策略及数据加密方法,因而带来了巨大的安全威胁,这就是为什么telnet不再用于通过公共网络访问网络设备和服务器。
  • SSH
    • SSH 取名自安全外壳(Secure Shell),它现在是通过互联网访问网络设备和服务器的唯一的主要协议。
    • SSH 默认情况下通过端口22运行,该端口号可以更改。
    • SSH 是一种非常安全的协议,因为它共享并发送经过加密的信息,从而为通过互联网等不安全的网络访问的数据提供了机密性和安全性。
    • 一旦通讯的数据使用 SSH 经过加密,就极难解压和读取该数据,所以我们的密码在公共网络上传输也变得很安全。
    • SSH 还使用公钥用于对访问服务器的用户验证身份,这是一种很好的做法,为我们提供了极高的安全性。
Read more
AI-Introduction

AI-Introduction

每羊大学 2020 级软工不做网站/应用了,改成了做一个人工智能相关的项目(亚达),这门课改名为软件工程——人工智能导论!

人工智能绪论

人工智能 > 机器学习 > 深度学习

Read more
denominator

denominator

更新于 2020/10/15

从菜鸡开始的计科学习

从美赛到国赛,体验了数学建模,个人从4月开始也一直在断断续续的准备建模比赛,虽然感觉自己已经掌握了不少的数模方法,看完了数模经典——数学模型(姜启源),但真正比赛才感受到,自己学的还是不够充分,仍有很多的分析方法需要现学,同时还要去看题目中自己不了解的学科的一些基础知识,感觉压力拉满了。忙了3天算是交了一份满意(?)的答卷。

一晃眼自己已经到了大三的门口了,想想自己会什么,算法不会,计算机系统,底层东西也学得一知半解,开发方面也只能做一做小的项目,也没有什么拿得出手的奖,成绩绩点也不是很出色,就顿时感觉自己白过了2年,后续的学习还需要更加的认真和努力。

数模仅仅是个开端,虽然以后已经没有参赛保研(?)的机会了,也不好找队友了,但后续的数学分析方法的学习和模型代码实现也不能停止学习,重要的是我希望可以学习一些人工智能,机器学习的一些知识(我看往年数模论文好多用了这些方法),这些都需要前面的一些基础模型的铺垫。

希望明天能更好吧~~~

博客的一些变化

懒得开新页面了就写在这里

不知不觉已经写了 60+ 篇博客了,其实大部分是 note 吧,以后会更多的写自己研究的东西,将一些学习的东西整合的更加精细一些,坚持就是胜利

瞅了眼隔壁 AiDai 大佬的博客,我是不是也得多更新一些日常生活篇呢,小本本上记上。

欢迎来评论,嘻嘻嘻

python-web-5

python-web-5

网络数据和网络错误

如果只想通过网络发送文本的话,那么只需要考虑编码与封帧问题就可以了,但这时一个新的问题就出来了:字节顺序的问题。

比如说 4523。尽管所有处理器都认同内存中的字节要有序,它们也都会以 4 作为开始字符,以 3 作为结束的字符,但是它们存储二进制数字的字节顺序是不同的。一些计算机使用大端(big-endian),将最高位存储在最前面。其他处理器(如x86架构)则使用小端(little-endian),将最低位字节存储在前面。(前面指内存低地址字节)

Read more
Python网络编程——DNS

Python网络编程——DNS

DNS 协议

域名系统(DNS, Domain Name Service)是成千上万互联网主机相互协作,对主机名与 IP 地址映射关系查询做出响应的一种机制。

DNS协议
目的: 解析主机名,返回 IP 地址
标准: RFC 1034与 RFC 1035
传输层协议: UDP/IP与 TCP/IP
端口号: 53

Read more
Python网络编程——UDP

Python网络编程——UDP

UDP

IP 协议只负责尝试将每个数据包传输到正确的机器。如果2个独立的应用程序要维护一个会话的话,还需要两个额外的特性。这两个特性是由 IP 层以上的协议来提供的。

  • 需要为两台主机之间传输的大量数据包打上标签,这样就可以将网页的数据包和用于电子邮件的数据包区分开来,而这两种数据包也可以与该机器正在进行的其他网络会话使用的数据包分隔开,这一过程叫做多路复用(multiplexing)
  • 对两台主机间独立传输的数据包流发生任何错误,都需要进行修复,而丢失的数据包也需要进行重新传输,直至成功发送到目的地。另外,如果数据包到达时顺序错乱,则要将这些包重组回正常的顺序。最后要丢弃重复的数据包,以保证数据流中的信息没有冗余,提供这些保证的特性叫做可靠传输(reliable transport)

第一个是用户数据报协议(UDP),UDP协议只解决上述的第一个问题,UDP 协议提供了一个端口号,用于对目标为同一机器上的不同服务的多个数据包进行适当的多路分解。虽然支持多路复用和分解,但使用 UDP 协议的网络程序仍需要自己处理丢包重包和包的乱序问题。

第二个是传输控制协议(TCP),TCP 解决了上述2个问题,它跟 UDP 一样,使用了端口号来支持多路复用和
分解。除此之外,TCP 还保证数据流的顺序以及可靠传输,这样一来,尽管连续的数据流在传输时被分为多个数据包吗,而后在接收端再进行重组,但是这些细节都对应用层隐藏了。

Read more