![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
程序员必知必会
训灼说
GitHub ID:Xunzhuo
展开
-
程序员装机必备「编程软件+配置环境」基础篇
程序员电脑工作环境打造教程「编程软件+配置环境」因为Big Sur Beta 巨大的BUG,我的Mac被迫重装了一次,所以得重新安装软件以及配置环境????,在痛苦中想着还是记录点什么吧,作为分享和交流。这篇内容我来介绍程序员的电脑(虽然是MacOS上的,不过有些软件在Windows同样存在),装了哪些软件✈️、配置了哪些环境 ????软件安装:????IDE⚙️:Java:IDEAC:CLionPythonPyCharmGoGoland编辑器✍️:原创 2020-06-26 10:14:32 · 2178 阅读 · 0 评论 -
RSS这么牛逼,你却不知道,不会用?
一、为什么想介绍RSS?最初是因为自己不是很了解RSS,所有就去学习了一下,结果发现还有这等好东西,它确实解决了一些使用互联网时的问题而且我发现很多人不知道什么是RSS,所以我就一直想向大家介绍它,因为它太有用了,将来会和电子邮件一样重要。不懂得RSS,上网的效率和乐趣都要大打折扣。我在网上找不到简明易懂的介绍文章,只好下决心自己来写。虽然我不是这方面的专业人士,但是我相信你只要耐心读完这篇文章,你就会基本搞懂RSS以及它的使用方法。二、RSS是什么?在解释RSS是什么之前,让我先来打一个比方.原创 2020-06-18 15:13:09 · 620 阅读 · 0 评论 -
HTTP报文格式与原理
Cookie综述cookie 英文中叫做小甜品,那么Web中这个耳熟能详的词是有什么神奇的功效呢?总的来说:cookie提高用户和服务端的交互性我们知道HTTP是无状态协议,即无法维护历史状态。换句话来说就是,即是你不断的HTTP请求,并且做了一些事,下一次访问时,Web站点也不认识你。这带来很多麻烦,也使得某些服务很难进行比如:逛淘宝、京东,即使没有登录账号,也能加入购物车,下次访问同样有记录身份认证,访问网站时,cookie信息能一定程度认证你的身份推荐广告或者其他业务用户会话状原创 2020-06-13 11:19:31 · 374 阅读 · 0 评论 -
关于Web缓存那些事
Web缓存原理目标:在不涉及原始服务器的情况下满足客户端HTTP请求如何使用?用户配置浏览器:Web访问经过缓存所有HTTP请求指向缓存对象在缓存中:缓存器返回对象否则缓存器向起始服务器发出请求,接收对象后转发给客户机[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jizmzbqD-1592018307322)( https://picreso.oss-cn-beijing.aliyuncs.com/proxy.png)]缓存服务器既是服务器又是原创 2020-06-13 11:18:49 · 391 阅读 · 0 评论 -
详解FTP文件传输协议
文件传输协议概述如果你想往你的服务器上传递文件,该怎么办呢?这是个常见的问题,我们常常不仅要传文件,还涉及到下载文件,和管理服务器文件。这时FTP协议出现了!(现在有很多基于FTP的客户端图形化软件,可以在网上下载,连接服务器,轻松管理服务器文件)FTP: 文件传输协议 File Transfer Protocol主要功能:传输文件到远程主机/从远程主机下载文件应用层模式:client/server模式client: 发起传输的一方server: 远程主机ftp原创 2020-06-13 11:18:04 · 1494 阅读 · 0 评论 -
因特网中的电子邮件SMTP,POP3,IMAP详解
前言电子邮件在很长一段时间是最重要的互联网应用。或许现在我们感受不到,也很少发邮件,因为现在很多即时通信软件:QQ、微信等等。在互联网之初,人们相互通信,大部分是通过发送邮件,所以谈谈因特网中的电子邮件协议是很重要的。电子邮件的组成部分电子邮件通信主要由三大部分组成:用户代理邮件服务器邮件协议一、用户代理 user agents就像我们常常使用的邮箱客户端,我们能直接接触的部分允许用户阅读,回复,转发,保存,编辑邮件消息例如:Outlook, foxma原创 2020-06-13 11:17:29 · 4891 阅读 · 0 评论 -
详解Internet的目录DNS
DNS体系介绍为什么要有DNSDNS = Domain Name System在Internet中,主机和路由器都有一个标识符: IP地址,这是为了在网络层服务(后面会单独写文章解释)和人对比,ip类似于人的身份证号但是我们彼此称呼的时候,张三 叫 李四 不可能叫他 511024XXXXXX身份证号吧,而是直呼名字,那在互联网中,这些网络设备,也可以拥有名字,这就是域名,也叫主机名DNS 就负责建立 IP地址和主机名之间建立映射关系,负责两者转换。DNS提供的功能DNS是通过专门的服原创 2020-06-13 11:16:55 · 384 阅读 · 0 评论 -
详解P2P技术
P2P = Peer to Peer现在P2P也有很多不同架构,以下是常见的一些P2P架构纯P2P架构没有总是在线的服务器任意端系统之间直接通信对等方之间可以间断连接并可 以改变IP地址例子:文件分发流媒体VoIP复杂应用纯P2P无法实现P2P: 集中式目录Napster公司首先设计,由中央集中服务器管理当对等方启动时,它通知目录 服务器以下信息IP地址可供共享的对象名称Alice查询文件“Hey Jude” 3) Al.原创 2020-06-13 11:16:09 · 3495 阅读 · 0 评论 -
程序员必会的Markdown(上)
学会Markdown看这一篇就够了只用一个小时就能完全掌握这一效率利器Markdown是什么?Markdown是一种轻量级标记语言,创始人为 約翰·格魯伯(英語:John Gruber)2004年诞生。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。在语法上有很大一部分是跟 亚伦·斯沃茨(Aaron Swartz)共同合作的,不知道大家有没有听说过这个计算机天才,豆瓣高分电影互联网之子就是讲的他的故事,可惜在26岁就自杀去世了,是一个很大..原创 2020-06-13 11:15:14 · 1266 阅读 · 1 评论 -
HTTP协议那些事
HTTP:超文本传输协议hypertext transfer protocol是我们每天使用最多的协议之一每当我们访问网站,浏览网页就是基于HTTP协议所以掌握HTTP是十分重要的概述是 Web的应用层协议基于 client/server模式client: 浏览器browser请求, 接收、解释、显示 Web对象server: Web服务器响应请求,发送 Web对象HTTP 1.0: RFC 1945HTTP 1.1: RFC 2616下层的服务是使用 T..原创 2020-06-13 11:14:31 · 188 阅读 · 0 评论 -
应用层协议原理
应用层是我们日常接触到的层次,比如:应用层体系结构通常有三个模式C/S 模式:服务器:总是打开的主机具有固定的、众所周知的IP地址主机群集常被用于创建强大的虚拟服务器客户机:同服务器端通信可以间断的同服务器连接可以拥有动态IP地址客户机相互之间不直接通信P2P体系结构:没有总是打开的服务器任意一对主机直接相互通信对等方间歇连接并且可以改变IP地址优点:自扩展性强缺点:难以管理C/S P2P原创 2020-06-13 11:13:58 · 1327 阅读 · 0 评论 -
详解协议层次以及TCP/IP服务模型
经过我们之前对Internet的介绍,Internet是什么,我们可以理解到,Internet是一个极其复杂的系统。为什么我们要分层呢?清楚的结构允许我们对大型复杂系统定义其特定部分,探讨其各部分的关系,比如分层参考模型的讨论模块化使得系统的维护、升级简化改变其某一层服务的具体实现,对系统其余部分透明(不影响)分层的弊端?各层可能重复较低层功能 …两种参考模型ISO/OSI 七层参考模型是国际通用标准,为我们后来发展做参考实际使用不多,比较繁杂。原创 2020-06-13 11:13:24 · 319 阅读 · 0 评论 -
分组交换网络中的延迟、 丢失和吞吐量
分组丢失和延迟是如何产生的?路由器分组缓冲区队列分组到达输出链路的速率超过输出链路的容量,产生延迟,甚至丢失分组在缓冲区队列排队, 按序等待分组延迟的四s种类型节点处理时延:nodal processing delay:检查错误位选择输出链路高速路由器处理延迟-微妙级排队时延:queueing delay:等待被发送到输出链路上的时间取决于路由器的拥塞程度传输时延:Transmission delay:R=链路带宽 (bps)L=原创 2020-06-13 11:12:21 · 1243 阅读 · 0 评论 -
电路交换原理和分组交换原理
我们有了 设备, 有了通信链路,那我们如何在网络中传输数据?基本原理:电路交换:每次会话预留沿其路径(线路) 所需的独占资源–电话网分组交换:数据以离散的数据块通过网络 来发送电路交换基于电话网的交换原理网络资源比如宽带被分片多路复用(Multiple Access)分片分配到会话分片没有被会话使用的情况下,分片空载 (不共享)电路级性能(有保证)要求呼叫建立–建立一个专门的端到端线路(意味着每个链路上预留一个线路)链路带宽分片的方式.原创 2020-06-13 11:11:22 · 5430 阅读 · 1 评论 -
谈谈网络边缘部分
在开始之前,再一次谈谈网络结构网络边缘:主机和服务器服务器一般在数据中心接入网络,物理介质:有线通信链路无线通信链路网络核心:路由器网络组成的网络几个名词的含义端系统:就是网络应用程序的设备处在网络的边缘部分客户/服务器 (C/S架构):客户请求,并提供的服务端对端模型:极少或者不采用专门的服务器在端系统之间交互如何将边缘设备连接到网络边缘的路由器呢?接入网络分类粗糙的分类:家庭接入网络机构接入网络广域无线接入.原创 2020-06-12 23:06:36 · 1073 阅读 · 0 评论 -
什么是Internet?
常常我们接触到Internet这个词,也就是英特网,那英特网到底是什么呢?其实关于如何定义因特网都没有一个确切的说法,所以我们通过侧面来描绘Internet在介绍因特网之前,我们应该了解,什么是计算机网络?计算机网络定义: 两台以上具有独立操作系统的计算机通过某些介质连接 成的相互共享软硬件资源的集合体。两大功能:计算机网络有两大功能:连通性共享性关于连通性,通过定义可以看出,就是计算机通过某种方式连在了一起关于共享性,我认为即是连通之意义所在,在于信息共享,沟通了解了计.原创 2020-06-12 23:05:54 · 1583 阅读 · 0 评论 -
团队协作的三大工作流
团队协作的三大工作流Git 作为一个代码版本管理系统,利用它强大的版本控制和branch,我们能做出一些优雅的团队协作的工作流。这也是之前我在Git文章谈到的,Git对团队协作具有很大帮助,这篇文章我将来谈谈基于Git的三大工作流。工作流 在英语中叫做:workflow,从名字上看出团队协作应该像流水一样,顺畅。好的工作流能给你团队合作带来很大的好处,有条不紊的应对各种问题。坏的工作流可能会使本来一个很好的项目失败在团队协作上。所以我们来学学程序员常用到的工作流。现在三种广泛使用的工原创 2020-06-12 22:53:47 · 545 阅读 · 0 评论 -
你想拥有程序员神器吗:iTerm2+Oh_My_Zsh+Tmux
效果图Iterm2 + Oh_my_zsh + TmuxEvery Open LookTmux : Keep Session AliveSession > Window > PaneVim : Edit file or Coding具体如何配置,最近很忙没时间写,空闲会整理一下教程。原创 2020-06-12 22:47:17 · 253 阅读 · 0 评论 -
算法竞赛刷题网站汇总
OJ网站汇总????:????国内Online Judge????三大OJ????????浙江大学 http://acm.zju.edu.cn 超过2000题,支持C/C++/Pascal/Java/Python/Perl/Scheme/PHP????北京大学 http://poj.org 超过2000题,支持C/C++/Pascal/Java/Fortran????哈尔滨工业大学 http://acm.hit.edu.cn 超过2000题,支持C/C++/Pascal/Java/Fortra原创 2020-06-11 11:15:55 · 1833 阅读 · 0 评论 -
算法竞赛、数据结构学习路线以及教程:为你的算法学习提供便利!
Algorithm All in ONE???? Let Everyone Study Algorithm Easier???? 仓库在这里因为准备实习????,整理了一下算法的课件、书籍、论文、习题、OJ网站,总结了学习路线。不管是准备面试,进BAT????;还是自学算法竞赛????;或者单纯的课外拓展????;不管你算法能力如何,这个仓库里总有适合你的算法学习宝藏✈️!对Coder????????而言,算法学习都是有必要的,只是不同领域可能要求深浅不同所以,咱们开原创 2020-06-11 11:14:06 · 937 阅读 · 0 评论 -
算法竞赛资料整理分享
算法竞赛资料分享????????♀️因为准备实习????,今天早上整理了一下算法的课件、书籍、论文、习题不管是准备校招,进BAT????;还是自学算法竞赛????;或者单纯的课外拓展????;对程序员????而言,算法学习都是有必要的,只是可能要求深浅不同,所以,开始学起来吧????~仓库在这里,感谢您的star!全面收集、整理了从高中参加竞赛到现在的算法竞赛课件、论文集、书籍、习题等,并分类如下????:欢迎大家贡献你的资料丰富这个Repo文件很多,目录很长,所以分为文件夹目录原创 2020-06-11 11:11:31 · 1733 阅读 · 2 评论 -
用《只狼》教你学会Git(下)
整体介绍在学习了Git基础使用之后,我们正式开始学习Git进阶的使用:这篇文章主要分为两个部分:分支管理远程仓库标签管理Git长出枝干:分支管理几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 Git 从版本控制系统家族里区分出来。正式因为有分支这个特性,之前谈到的Git能使团队协作井然有序,至于怎么利用Git团队协作,不是这篇的重点,这篇主要是让你掌.原创 2020-06-11 10:59:03 · 206 阅读 · 0 评论 -
用《只狼》教你学会Git(中)
整体介绍:在学习了Git相关的概念之后,我们正式开始学习如何使用Git这篇文章主要分为两个部分:基础使用进阶使用中篇负责讲述基础的使用liux基础使用Git诞生:安装Git 支持在 Windows、MacOS、Linux、UnixMacOS安装:MacOS有一个强大的包管理器:HomeBrew包管理器简单的认为是一个应用商店,你可以下载,安装,删除,看应用相关信息,升级应用(后面我会专门写一篇包管理器的文章)它能够简化很多操作,尤其是对于程序员需要的一些工.原创 2020-06-11 10:58:07 · 415 阅读 · 0 评论 -
用《只狼》教你学会Git(上)
整体介绍Git 又叫做分布式版本控制系统我用《只狼》这个游戏的例子来通俗的解释它在代码的管理上,团队的协作上都发挥着重要的作用一个小时时间你就能使用它什么是Git定义:Git 是一个分布式版本控制系统当你问起会使用Git的人,那他们可能回答的就是如上定义,还是一头雾水?那到底什么是「分布式」 什么又是「版本」,什么又是「控制」呢?版本控制是什么?我通俗的来解释一下,什么是「版本控制」:大家打过一些存档的游戏吧,《只狼》这个角色扮演游戏以它超高的难度著称(我最后是开着挂把苇名一心原创 2020-06-11 10:56:53 · 914 阅读 · 0 评论