语言
文章平均质量分 61
该专栏主要收录学习的语言,语法等文章,语言只是工具,为在计算机上实现逻辑的手段,但是同时又很基础,对语言的掌握决定了逻辑落地的最终形式,不可不察。
写代码的小阿帆
这个作者很懒,什么都没留下…
展开
-
python网络编程和并发编程
本章学习了基于socket套接字的网络编程,主要流程是确定协议,绑定IP和端口,服务器端与客户端建立间接,最后是通信过程。为了在此基础上实现更多功能,比如建立更多连接和同时收发功能等引出了并发编程,有进程,线程这两个操作系统中实际存在的概念,还有代码层面用户在线程内实现并发的协程,而又因为多进程可能会引发数据的混乱问题,学习了同步异步的相关操作,主要是通过加锁的方式牺牲效率,实现了对共享区的互斥访问保证了数据准确性。原创 2024-05-17 19:42:12 · 979 阅读 · 0 评论 -
python面向函数
即哈希或散列算法,将任意长度的数据转换为长度固定的字符串,可通过hashlib模块实现,具体方法有MD5和SHA1,该方法单向不可逆,便于隐藏原文,只知哈希想逆推是不可能的,密码的比较就是比较哈希是否相同。但目前却有很多所谓哈希解码的,大多是通过常用数据库碰撞的方法,就是把很多数据对应的哈希提前算好,输入哈希时匹配查找,针对一些常用的弱口令可行,这也解释了为什么设置密码要复杂,也不要通用,免得被加到数据库中。原创 2024-05-09 21:19:06 · 938 阅读 · 0 评论 -
python面向对象
python是一门面向对象的语言,本章才刚刚接触到,最重要的多态的概念,但在python中,因为其弱类型的语言特质,缺少了一定形式而没有那么优雅,转而使用鸭子类型,只要将对象实例传入方法中就可以实现同名称不同结果的效果,并不在乎其具体继承关系。此外都是Java和C++的低配版,确实开发效率高,基本只要考虑本身的逻辑,而很少无关的硬性规定,优雅优雅。原创 2024-05-13 10:01:30 · 983 阅读 · 1 评论 -
python-使用socket发送接收图片
以往只能使用socket套接字发送文本,理论上来说所有发送图片import socketimport osimport sysimport structdef sock_client_image(): while True: try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('服务器的ip', 6666)) #服务器和客户端在不同的转载 2021-06-18 10:27:39 · 5349 阅读 · 0 评论 -
python-txt文件读写
最近在搞图像文字识别,本来打算把识别到的文字写入docx文件,但是过于麻烦了。涉及字体,大小,段落等一串问题,不如就干脆写到txt里,简洁好看也方便。基本操作函数自带,都不用引入库,基本操作相当简单。f=open('test.txt',w)#打开文件,没有会直接创建f.read()#读取文件内容,整个地读取f.write('test')#写入文件内容f.close()#关闭文件,关闭前会将缓冲区的内容写入文本注意: 写文件时注意指针的位置,默认指针指向文件开头,如果以可读写模式打开文本直接写原创 2021-06-17 13:59:29 · 310 阅读 · 0 评论 -
Python-将python打包为可执行文件
前言Pyinstaller的安装Pyinstaller的使用原创 2021-06-10 16:00:29 · 217 阅读 · 0 评论 -
C++-内存管理
内存使用情况展示API GetProcessMemoryInfo 用于获取内存使用情况。函数声明及参数介绍如下:BOOL WINAPI GetProcessMemoryInfo(HANDLE Process,PPROCESS_MEMORY_COUNTERS ppsmemCounters,DWORD cb);/*Process是获取内存使用情况的进程句柄。ppsmemCounters是返回内存使用情况的结构。cb是结构的大小。*/需通过pragma comment(lib,"Psapi原创 2021-06-25 16:22:13 · 808 阅读 · 0 评论 -
python-给pycharm切换镜像源
今天在使用easyocr进行图像识别时发现下载的安装包并不完整,还有很多模块需要在使用时下载,我们都知道python的很多库因为墙而不能快速获取,而到网上自行查找下载也是受限于同样的原因,所以想给pycharm换个源试试。打开项目设置,选择项目中的project interpreter,点击右侧的加号选择管理库就可以切换库的源当前的源是默认的python源,所以可能访问不了大部分的库,将该源编辑切换为我们自己的国内镜像源即可。源附下:清华:https://pypi.tuna.tsinghua.e原创 2021-06-17 09:29:18 · 819 阅读 · 0 评论 -
Python-gif拆解为图像
最近在做信息隐藏的相关项目,需求是在jpg、png和gif中嵌入信息,jpg和png的很容易处理,但是gif就没有现成的方法了,需要自己琢磨一下。因为gif实质上也是一种图像格式,只是很多播放中的图像,所以我们可以截取其中一帧或几帧,然后采用对图像的嵌入方法进行嵌入,再将嵌入后的图像与原有结构中其他图像进行整合就好了,那么第一步就是将gif拆解为图像。代码如下:from PIL import Image, ImageSequencedef analyzeGIF(gifname): im = I原创 2021-06-09 09:56:55 · 350 阅读 · 2 评论 -
python-将图片整合为视频
也是信息内容安全监控审计的一个思路吧,通过不断地给屏幕截图,再组合成图片达到屏幕录像的效果,也可以应用于一些科学实验结果可视化展示。大体思路就是创建视频对象,将文件夹内的图片读入列表,将列表循环写入视频对象并保存。代码如下:import cv2import ossize = (658,370)#视频尺寸,需要与组成的图像一致fourcc = cv2.VideoWriter_fourcc('D', 'I', 'V', 'X')videowrite = cv2.VideoWriter(r'D:\t原创 2021-06-25 09:40:49 · 696 阅读 · 1 评论 -
python-使用电脑摄像头扫码
import pyzbar.pyzbar as pyzbarfrom PIL import Image,ImageEnhanceimport cv2import matplotlib.pyplot as pltimport numpy as npdef decode(input): barcodes = pyzbar.decode(input) if barcodes==[]: pass else: #识别出二维码则退出原创 2021-06-09 17:07:38 · 1154 阅读 · 2 评论 -
初识java
java环境可分为三部,jdk、jre和jvmjdk是开发工具包,相当于C中的库jre是运行环境,可以说是java的编译条件jvm虚拟机,为Java的跨平台提供了可能,不同的平台都有jvm环境时,Java可以运行。原创 2024-01-20 11:51:06 · 390 阅读 · 0 评论 -
C++二维数组名到底代表个啥
二维数组数组名仍为第一个元素的地址,但此时其类型为指针的指针,两次解引用才能获得其内容,加减可以跳转至下或上一行向量的起始地址。原创 2023-12-02 16:27:25 · 406 阅读 · 0 评论 -
输入日期求n天后
乍一看很复杂,要输入输出有效性判断,加日期,每个月天数还不一样,还得跨年跨月的,闰年我也忘了咋定义的,不过不慌,都是纸老虎,咱们一步步来,先看看这个闰年咋回事。原创 2023-12-04 17:15:56 · 485 阅读 · 0 评论 -
C++大小写字母转换
可以看到字母的大小写直接差了32,如果要进行转换的话对应加减就可以了,小写字母的位数比大写要大,但是到这我想,字母不是只有26个吗?可以看到中间是夹了`、_、^、]、\、[这六个符号,大小写字母直接并不连续,验证归验证,但是想不明白为啥要这么安排,字母和字母挨着多好的,这六个符号为啥非要和他们挤呢?这内容确实很初级了,就是ascii码的加减转换类型输出,但是以往都是学学理论,好多东西还真掌握不扎实,现在通过实验了验证一下,代码如下。原创 2023-12-06 17:09:19 · 446 阅读 · 0 评论 -
c++——取地址(引用)和取内容(解引用)操作
引用可以使指针指向该内容,*可以使指针指向的内容更改,结合赋值语句都可以理解为为原有数据创建分身,只不过一个是指向原数据的分身,对分身的操作等同于操作原体,另一种则相当于是给数据做了个备份,故采取这种方法也失去了我们使用指针的原本含义。此外,坚持创建即初始化这个好习惯,要不然可能引发未知的错误。原创 2023-11-30 18:05:52 · 1264 阅读 · 0 评论 -
Java基础语法
基本与C无异,基本的数据操作都一模一样,只有一些细枝末节,比如输入输出,函数定义调用等方法有些差别,Java作为完全面向对象的语言,任何操作都是对类和对象的操作,仅此而已,这么说来为什么Java应用广泛呢?要说便捷还比不上python,效率又不如C,可能就是介于二者之间,兼顾了开发效率和执行效率吧。原创 2024-01-21 16:37:59 · 375 阅读 · 0 评论 -
Java面向对象
面向对象三大特性,封装、继承、多态,都是为了工程性和做出的效率妥协,其中封装是为了实现高内聚低耦合,继承是为了减少重复开发,多态是为了在保证稳定性的前提下提高代码拓展力。原创 2024-01-24 15:17:08 · 829 阅读 · 0 评论 -
Java异常处理&集合
创建对应的异常子类,继承Exception或,构造有参构造函数并传入message,可在抛出异常时输出message。List是Java给我们在数组基础上改进形成的更方便的表结构,在存储添加单一信息时更加方便;Map结构则是一种映射关系,需要根据key来找到对应的value时使用;Set结构感觉同时继承二者,不大明白单独存在的必要性。原创 2024-01-28 15:15:54 · 796 阅读 · 0 评论 -
C++——取地址和自增运算
也就是做题,谁没事写代码这么写,用得着这么复合吗?也不是说谁代码短就运行效率高,拆几句写能怎么着,同学们可别自己给自己出难题。原创 2023-11-29 15:47:53 · 466 阅读 · 0 评论