自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

瞎几波写

/* ----------------500G的电影拷到了U盘上,U盘的重量会不会增加?----------------------*/

  • 博客(92)
  • 资源 (24)
  • 收藏
  • 关注

转载 上个网也要签协议? 没错,这就是TCP

你是一台电脑,你的名字叫 A经过《突然没有网络,怎么重新设计,离线等》这篇文章中的一番折腾,只要你知道另一位伙伴 B 的 IP 地址,且你们之间的网络是通的,无论多远,你都可以将一个数据包发送给你的伙伴 B这就是物理层、数据链路层、网络层这三层所做的事情。站在第四层的你,就可以不要脸地利用下三层所做的铺垫,随心所欲地发送数据,而不必担心找不到对方了。虽然你此时还什么都没干,但你还是给自己这一层起了个响亮的名字,叫做传输层。你本以为自己所在的第四层万事大吉,啥事没有,但很快问题

2022-01-19 10:40:04 287 1

原创 css盒子模型通俗易懂的理解

蛋黄:content蛋白:padding 内边距蛋壳:border 边框鸡蛋和鸡蛋的距离:margin 外边距

2021-08-04 23:58:43 280

转载 Linux中的软链接、硬链接:都用在哪些场合?

最近,看到很多文章都在介绍 Linux 中的文件系统,其中就包括:inode 节点、软链接、硬链接等重要的概念。于是就有小伙伴私信问我:这些概念我都懂,但是我能利用他们来完成什么工作呢?或者说,在哪些情况下,软链接和硬链接能够提供提供更好的解决方案呢?这篇文章我们就来简单梳理一下,软链接和硬链接的几个使用场景。什么是索引节点 什么是硬链接 什么是软链接软链接应用之:灵活切换不同版本的目标程序 软链接应用之:动态库版本管理 软链接应用之:快捷方式硬链接应用之:从不同角度对文件进行分类

2021-07-19 12:56:36 877

转载 最多能创建多少个TCP连接?

我是一个 Linux 服务器上的进程,名叫小进。老是有人说我最多只能创建 65535 个 TCP 连接。我不信这个邪,今天我要亲自去实践一下。我走到操作系统老大的跟前,说:"老操,我要建立一个 TCP 连接!"老操不慌不忙,拿出一个表格递给我,"小进,先填表吧"我一看这个表,这不就是经典的socket 四元组嘛。我只有一块网卡,其 IP 地址是123.126.45.68,我想要与110.242.68.3的 80 端口建立一个 TCP 连接,我将这些信息填写在了表中。...

2021-07-19 10:31:49 354

转载 Active Object Pattern(主动对象模式理解)

之所以叫主动对象, 区别于被动对象, 只能被动被别人调用的对象, 而主动对象内部有线程可以自行调用自己的方法.Active Object首先使用了Proxy模式, 这个和RPC一样, 用户可以象访问local function一样使用然后Active Object关键的一步是使用command模式分离invacation和execution, proxy并没有直接运行调用逻辑, 而是封装成command发送给invoker queueActive Object 设计模式的本质是解耦合方法的调用

2021-07-19 10:19:52 681

转载 图解函数调用过程

函数调用是编程语言都有的概念,也许你听说过函数调用栈,但是大家都知道函数调用是如何完成的吗?我们为什么要了解这个过程: 对于程序运行机制中的数据结构和实现的了解,对自己开发程序有着启发作用 碰到一些疑难杂症的时候,比如函数栈溢出了或者函数栈破坏了,如何从蛛丝马迹中寻找问题的原因。 了解栈溢出可能带来的危害,黑客也许会利用栈溢出的漏洞进行攻击。 这篇博文我们一起来对函数调用的过程进行探究。程序样例下面是这篇博文要用到的一个样例程序:程序在main中调用了FunAdd函数。

2021-06-02 14:59:45 3216

转载 GCC编译过程与动态链接库和静态链接库

1. 库的介绍库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。 windows上对应的是.lib .dll linux上对应的是.a .so在这里先介绍下Linux下的gcc编译的几个选项g++ -c hellospeak.cpp会将hellospeak.cpp

2020-11-19 08:51:53 931

原创 正确解读free -m

如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容.我们来一起看看.$ free -mtotal used free shared buffers cachedMem: 1002 769 232 0 62 421-/+ buffers/cache: 286 715Swap: 1153 0 1153第一部分Mem行:total 内存总数: 1002Mused 已经使用的内存数: 769Mfree 空闲的内存数: 232Mshared 当前已经废弃不用,总是0buffer

2020-11-14 20:34:29 26328 3

转载 对不起,学会这些 Linux 知识后,我有点飘

Linux 简介UNIX 是一个交互式系统,用于同时处理多进程和多用户同时在线。为什么要说 UNIX,那是因为 Linux 是由 UNIX 发展而来的,UNIX 是由程序员设计,它的主要服务对象也是程序员。Linux 继承了 UNIX 的设计目标。从智能手机到汽车,超级计算机和家用电器,从家用台式机到企业服务器,Linux 操作系统无处不在。大多数程序员都喜欢让系统尽量简单,优雅并具有一致性。举个例子,从最底层的角度来讲,一个文件应该只是一个字节集合。为了实现顺序存取、随机存取、按键存取、远程存取只

2020-10-22 14:04:49 217

转载 linux shell之pushd、popd和dirs的使用讲解

1问题我们有时候需要保存多个路径,上下键切换不方便,用cd-只能到上个目录,我们可以用dirs和pushd和popd2dirs、pushd、popddirs: 这个命令显示栈里面所有的路径,一定会包含当前路径,常用参数如下 dirs -v 显示栈里面的所有路径和下标,通过下标,我们可以用pushd +下标到这个目录,然后popd+下标把这个路径在栈里面弹出来, dirs -c 清除栈里所有路径,但是当前路径不会删除 pushd:我们可以添加目录到栈(dirs)里面,比如添加...

2020-10-13 17:03:30 753

转载 看完这篇还搞不懂HTTPS?

作为一个有追求的程序员,了解行业发展趋势和扩充自己的计算机知识储备都是很有必要的,特别是一些计算机基础方面的内容,就比如本篇文章要讲的计算机网络方面的知识。本文将为大家详细梳理一下 HTTPS 的实现原理。近年来,随着用户和互联网企业安全意识的提高和 HTTPS 成本的下降,HTTPS 已经越来越普及。很多互联网巨头也在力推 HTTPS,比如:谷歌的 Chrome 浏览器在访问 HTTP 网站时会在地址栏显示不安全的提醒。微信要求所有的小程序必须使用 HTTPS 传输协议。苹果也要求所有

2020-10-13 08:39:39 381 1

转载 TCP/IP wireshark分析基础知识

先亮出这篇文章的思维导图TCP 作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。001. 能不能说一说 TCP 和 UDP 的区别?首先概括一下基本的区别:TCP是一个面向连接的、可靠的、基于字节流的传输层协议。而UDP是一个面向无连接的传输层协议。(就这么简单,其它TCP的特性也就没有了)。具体来分析,和UDP相比,TCP有三大核心特性: 面向连接。所谓的连接,指的是客户端和服...

2020-10-13 08:36:04 1103

转载 数字签名是什么—讲解数字签名最通俗易懂的文章

数字签名是什么?作者:David Youd翻译:阮一峰原文网址:http://www.youdzone.com/signature.html1.鲍勃有两把钥匙,一把是公钥,另一把是私钥。2.鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。3.苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。4.鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手

2020-08-26 11:55:28 722

原创 常用gdb命令

常用gdb命令gcc -g main.c //在目标文件加入源代码的信息gdb a.out (gdb) start //开始调试(gdb) n //一条一条执行(gdb) step/s ...

2020-04-12 13:12:09 268

原创 常用Vim命令总结

Ctrl+f 屏幕向下移动一页 相当于 page downCtrl+b 屏幕向上移动一页 相当于page up0或者功能键home 移动到这一行的最前面的字符处$或者End 移动到这一行的最后面的字符处G 移动到文档的最后一行gg 移动到文档的第一行n+Enter n为数字,光标向下移动n行--------------------------------...

2020-04-12 13:08:04 187

原创 eclipse编辑、查看C++代码,并实现跳转

用eclipse去编辑、查看C++代码,代码可跳转,不需要编译,不需要Money安装包:jdk-13.0.2_windows-x64_bin.exeeclipse-cpp-2019-06-R-win32-x86_64.zip安装jdk,默认安装,一路next。 解压eclipse压缩包,免安装,在执行eclipse.exe之前,编辑eclipse.ini,加上下面这几段:-vm...

2020-03-18 12:44:08 2811

转载 通俗易懂----C++前置声明

大型开发都会遇到的问题随着软件规模的扩大,包含在一个工程中的模块的数量在不断增长,模块之间的依赖关系也日益复杂。这里只举一个相对简单的例子:一个包含2个类,5个文件的工程。ImportantClass.h头文件中声明了构造函数,doWork成员函数和数据成员buffer。ImportantClass.cppcpp文件中为构造函数和doWork提供了最简单的实现。...

2020-03-04 12:57:50 435

转载 读C++11新特性总结 大部分为转载,小部分为原创代码

来自面向对象思考的个人blog:https://blog.csdn.net/craftsman1970/article/details/797179441:longlong数据类型long long是在C++11中重新定义的,标准规定它最小是64bit在这之前为了提供超过32bit的整数,各个开发环境(编译器)分别定义了各自的64bit整数类型。结果当然就是影响了代码地兼容性。现在好了...

2020-02-20 13:54:10 674

原创 Rust使用感受

一、关于内存管理1、rust加入了生命周期和所有权的特性,实现内存自动回收,避免内存泄漏和野指针的问题。例如:,局部变量离开作用域后Rust会连同变量绑定的内存,不管是否为常量字符串,连同所有者变量一起被销毁释放。所以上面的例子,a销毁后再次访问a就会提示无法找到变量a的错误。这些所有的一切都是在编译过程中完成的。2、Rust没有null,取而代之的是None和Option<...

2019-12-09 10:46:25 2226 1

原创 比C++更加优势的Rust异步处理

Asynchronous frameworkC++:class Server { void on_request(req) { redis.write(req, redis_done); maria.write(req, maria_done); } void redis_done() { redis_done = true...

2019-11-27 17:55:32 460

原创 常用的Linux命令和技巧 ,正向反向端口转发(工作中总结)

1 端口转发ssh -L{PC端口号}:localhost:{数据库端端口号} root@{服务器IP地址}工作中遇到如下需求,服务器1 服务器2 windows开发机服务器1和服务器2互相之间不能直接访问,但是windows可以访问服务器1和服务器2如果我们需要从服务器1访问服务器2,我们需要建立端口转发,将windows作为中介,数据流大致是这样的:服务器1=&gt...

2019-11-27 17:47:48 1019

转载 关联、组合、聚合、依赖关系比较

设计模式或者UML中比较不太容易区分的类之间的关系1. 种类: Generalization(泛化),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(合成关系)。2.其中Aggregation(聚合关系)、Composition(合成关系)属于Association(关联关系),是特殊的Associati...

2019-11-25 10:00:27 279

转载 C++智能指针循环引用问题分析

C++11中引入了三种智能指针,分别是shared_ptr、weak_ptr和unique_ptr智能指针的作用智能指针可以帮助我们管理动态分配的堆内存,减少内存泄漏的可能性手动管理堆内存有引起内存泄漏的可能,比如这段代码try { int* p = new int; // Do something delete p;} catch(...) { //...

2019-11-25 09:55:32 286

转载 Tmux 使用教程

一、Tmux 是什么?1.1 会话与进程命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session)。会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。一个典型的例子就是...

2019-11-06 15:00:37 4879 1

转载 使用 JAX-RS 简化 REST 应用开发

https://www.ibm.com/developerworks/cn/java/j-lo-jaxrs/

2019-10-15 14:23:26 139

转载 怎样用通俗的语言解释REST

以下内容取自知乎:REST -- REpresentational State Transfer首先,之所以晦涩是因为前面主语被去掉了,全称是 Resource Representational State Transfer:通俗来讲就是:资源在网络中以某种表现形式进行状态转移。分解开来:Resource:资源,即数据(前面说过网络的核心)。比如 newsfeed,friends等;...

2019-10-15 13:55:20 255

原创 提升逼格的github 缩略语

PR: Pull Request. 拉取请求,给其他项目提交代码LGTM: Looks Good To Me. 朕知道了 代码已经过 review,可以合并SGTM: Sounds Good To Me. 和上面那句意思差不多,也是已经通过了 review 的意思WIP: Work In Progress. 传说中提 PR 的最佳实践是,如果你有个改动很大的 PR,可以在写了一部分的情...

2019-08-16 10:40:35 640

转载 正则表达式30分钟入门教程

最通俗易懂的介绍对于想要速成的人来说,看这个链接,足够了https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md----------------------------------------------------------------------------------------...

2019-06-19 09:54:36 711

转载 Redis数据库学习笔记

原作者来自https://www.jb51.net/article/56448.htmredis作者镇楼安装Redis解压安装包直接make,安装简单make成功后会在src文件夹下产生一些二进制可执行文件,包括redis-server、redis-cli等等:$ find . -type f -executable./redis-benchmark //用于进行redis...

2019-06-03 15:48:12 152

转载 一篇短文搞懂 什么是私钥和公钥

首先公钥和私钥是俗称的不对称加密方式,也就是非对称加密算法,是对以前的对称加密(使用用户名与密码)方式的提高。当使用非对称加密算法时,会生成两把配对的密钥,其中一把由私人保管,必须非常小心保存,最好加上密码,无需传输,所以称为私钥,私钥主要是用来解密/签章的。另一把对外公布,是给大家用的,本身就无需保密,称为公钥,公钥主要是用来加密/验章用的。当你用了其中一把钥匙加密信息时...

2019-05-30 13:09:13 28591 7

转载 Git的基本概念之Git 工作区、暂存区和版本库

基本概念我们先来理解下Git 工作区、暂存区和版本库概念工作区:就是你在电脑里能看到的目录。 暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。下面这个图展示了工作区、版本库中的暂存区和版本库之...

2019-05-29 10:37:44 280

原创 设计模式总结 C++

设计模式的几大原则: 设计原则名称 设计原则描述 重要性 单一职责原则 - 尽量避免相同的职责分散在不同的类当中 - 避免一个类承担过多不同类型的职责 ★★★★☆ 开闭原则 对扩展开放,对修改封闭。对于新增需求,尽量少修改已有代码...

2019-05-29 10:05:26 625

转载 Python @函数装饰器及用法(超级详细)

使用 @ 符号引用已有的函数(比如 @staticmethod、@classmethod)后,可用于修饰其他函数,装饰被修饰的函数。那么我们是否可以开发自定义的函数装饰器呢?答案是肯定的。当程序使用“@函数”(比如函数 A)装饰另一个函数(比如函数 B)时,实际上完成如下两步:将被修饰的函数(函数 B)作为参数传给 @ 符号引用的函数(函数 A)。 将函数 B 替换(装饰)成第 1 步的返...

2019-05-17 17:30:23 1545 1

转载 一篇面向初學者的簡短而又不失趣味(但願)的 Rust futures 入門指南

第一部分引言如果你喜歡 Rust,你可能會注意到整個 Rust 社區正在流行使用future。很多知名的 crate 開始徹底擁抱future(譬如說Hyper),我們也得學會用才行。如果你覺得自己是小白程序員,可能會覺得很難理解future的原理。當然原作者Crichton 的教程是很好的教材,雖然講得很通透,但我覺得這個教材有點難理解,不適合上手。我想我肯定不是...

2019-03-22 10:24:10 1878

转载 学习 Rust Futures - Executor and Task

在最开始学习 Rust futures 的时候,executor 和 task 是两个让我比较困惑的概念,这两个东西到底是啥,它们到底是如何使用的,我当时完全不清楚。等后来做完一些项目,才慢慢理解了。所以觉得有必要好好的记录一下。介绍Executor 可以认为是一个用来执行 future 的地方,我们可以在当前线程里面执行 future,也可以将 future 扔到一个 thread po...

2019-03-07 15:12:47 1721

转载 学习 Rust Futures - Future 和 Stream

为什么要用 Futures很多语言都提供了 promises,futures 的支持。他们能让开发者在面对并发,异步等问题的时候,能直接写出更加简单优雅的同步逻辑代码,而不用在处理复杂的 callback 嵌套以及充斥在各地的被 callback 拆散的代码逻辑。在 Rust 里面,应该很多人用 mio 编写过网络程序。虽然 mio 是一个非常棒的库,并且 TiKV 也使用 mio 处理网...

2019-03-07 13:12:10 3338

转载 git rebase 和 git merge的区别(简单对比git pull和git pull --rebase的使用)

使用下面的关系区别这两个操作:git pull = git fetch + git mergegit pull --rebase = git fetch + git rebase现在来看看git merge和git rebase的区别。假设有3次提交A,B,C。在远程分支origin的基础上创建一个名为"mywork"的分支并提交了,同时有其他人在"origin"上做了一些修改...

2019-02-21 09:46:53 7964 5

原创 Merge Request 时,冲突的解决步骤

git fetch 远程库git rebase upstream/master解决冲突git rebase --continuegit push -f

2019-02-20 09:52:25 21770

原创 git 撤销已经 commit 但是没有push 的命令

git loggit reset commit_id如何切换远程分支git checkout -b 本地 origin/远程  

2019-02-20 09:44:52 1042

原创 gitlab下fork后如何同步源库的更新内容

 git remote -v查看远程状态给 fork 添加源库的clone地址git remote add upstream 源库的clone地址git fetch upstreamgit merge upstream/mastergit push origin master 

2019-02-20 09:42:33 1637

谭浩强C语言设计

谭浩强C语言设计

2017-07-28

GOF23种设计模式精解

GOF23种设计模式精解

2017-07-28

日语基础语法

日语基础语法

2017-07-28

linux_GDB_manual.pdf

linux_GDB_manual.pdf

2017-07-24

C++必知必会.pdf

C++必知必会.pdf

2017-07-24

汉字转日语小软件

汉字转日语小软件

2016-01-19

点歌系统——毕业论文

本文以KTV点播系统的开发为背景,从实际需要出发,结合管理系统开发的概念、结构及系统开发的基本原理和方法,开发了KTV点播系统,使得用户能够有效的利用该系统进行歌曲点播,系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。系统最大限度地实现了易维护性和易操作性。根据用户的需求,设计并实现了KTV点播系统。该系统利用C#技术与ACCESS2003相结合,实现歌星点歌、数字点歌、拼音点歌、歌名点歌等功能。本文着重讨论系统的分析设计与编码管理和用户管理的实现, 以及系统的整合。

2012-12-24

王道计算机考研模拟卷

王道计算机考研模拟卷

2012-04-21

天勤考研计算机模拟卷8套

天勤考研计算机模拟卷8套,有勘误,天勤考研计算机模拟卷8套

2012-04-21

上海某公司Linux机密培训文件

上海某公司Linux机密培训文件

2012-04-21

Visual C++编程技巧280例

Visual C++编程技巧280例

2012-04-21

计算机组成原理考研指导

计算机组成原理考研指导

2012-04-21

四六级万能英语作文模板

四六级万能英语作文模板四六级万能英语作文模板四六级万能英语作文模板四六级万能英语作文模板四六级万能英语作文模板

2012-04-21

ASP编程基础及应用教程-课件

ASP编程基础及应用教程-课件

2012-04-21

东北大学计算机考研全攻略

东北大学计算机考研全攻略 东北大学计算机考研全攻略

2012-04-02

清航2012计算机考研模拟试题

清航2012计算机考研模拟试题

2011-12-09

微型计算机原理与接口技术

微型计算机原理与接口技术 第四版 课后答案(周荷琴 吴秀清 著) 中国科学技术大学出版社

2011-05-09

2010年山东计算机专业专升本真题

操作系统和微机原理居然没有选择题,上火啊……其它的考完就忘了,就记得这些了……希望对你们有用……

2011-03-26

[oracle数据库11G初学者指南]

[oracle数据库11G初学者指南].Oracle.Database.11g,.A.Beginner's.Guide

2011-03-26

Ubuntu完全教程,让你成为Ubuntu高手!

Ubuntu完全教程,让你成为Ubuntu高手!

2011-03-25

图文并茂的VLAN全接触

图文并茂的讲述VLAN,通俗易懂,是学习VLAN技术的好帮手

2011-03-25

大学生攻克linux系统教程

本书汇集众多Linux学习者的心血与贡献,有很多作者在默默的为你呼喊,感谢他们的贡献。从学习Linux的那天起,我只记住一个词,那就是攻克。 一个障碍,一个学习Linux的最大障碍-无指导-在困扰着每一位企图闯出初中级Linux困境的人。攻克Linux系统教程给你提供动力,帮助你闯出难关。为何这么有把握?原因很简单,天下没有难学的Linux。

2010-11-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除