fsoooo Blog

内不欺己,外不欺人,上不欺天。君子所以慎独。

内网穿透原理解析

在互联网信息时代的今天,经常会听到外网连接。而与外网所相对应的,是一种内部网络,很多的家庭或者公司利用内部网络来进行多台电脑之间的资源共享,其中所用到的技术就是内网穿透技术,但却有很多的人对这种技术并不了解。下面小编为大家介绍一下内网穿透的工作原理是怎样的? 什么是内网穿透? 在了解原理之前我们先来了解一下什么是内网穿透。之前提到的内网,其是就是在公司或者是家庭内部,建立的一种局域网络...

关系型数据库设计范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。 在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。 要想设计一个结构合理的关系型数据库,必须满足一定的范式。 范式的目标: 应用数据库范式可以带来许多好处,但是最重要的好处归结为三点: 1.减少数据冗余(这是最主要的好处,其他好处都是由此而附带的) 2.消除异常(插入异常,更新...

关于mac地址的二三事

作为生活在互联网时代的我们,Mac地址我们一定不陌生。 MAC地址(英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。 IP地址和Mac地址产生的目的是方便别人...

使用 Jenkins 自动化发布 Php 项目

什么是 Jenkins Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 方式一:使用 Docker 安装 Jenkins 避免装环境的折腾, 直接使用 docker-compose 安装,具体如何安装在 Docker 快速搭建 LNMP 环境 已经描述了 docker-compo...

使用 Jekyll 和 Github Pages 搭建个人博客

Github Pages 提供免费无限流量的静态 HTML 网站托管,Jekyll 是基于 Ruby 的用于生成静态网站的程序,支持 Markdown 撰写内容,以及解析 Liquid 模板。 Github Pages 官方支持 Jekyll,只需上传 Jekyll 网站源文件到与 Github Pages 对应的代码仓库的对应分支即可自动生成网站,并可绑定自己的域名。 1. 创建 ...

你需要了解的网络协议

网络协议有哪些? 应用层:HTTP、FTP、SSH、SMTP 表示层 会话层 传输层:TCP、UDP 网络层:IP 数据链路层 物理层 HTTP的工作流程如下 : HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。 ...

你知道 `ping` 是如何工作的吗?

工作中,我们在判断与对方网络是否畅通,使用的最多的莫过于ping 命令了。 “那你知道 ping 是如何工作的吗?” 我们大多数人的反应是:“我虽然不明白它的工作,但 ping 我也用的贼 6 啊!” 你用的是 6 ,但你能面试官面前,你就 6 不起来了,毕竟他们也爱问。 所以,我们要抱有「知其然,知其所以然」的态度,这样就能避免面试过程中,出门右拐的情况了。 不知道的小伙伴也...

你真的会用console吗?

console一定是各位做WEB开发最熟悉的小伙伴了,无论是console控制台,还是console对象。 打开一个网页总是莫名自然的顺手打开控制台,有些调皮的网站还会故意在控制台输出一些有意思的东西,比如招聘信息,像百度的: 其他的不说,真的每年都更新,看着还挺让人热血沸腾。 另外输出一些花里胡哨的字符图形也是很常见的,比如天猫的: 也有一些网站可能不喜欢被人调试,只要...

你的系统如何支撑高并发?

高并发系统各不相同。比如每秒百万并发的中间件系统、每日百亿请求的网关系统、瞬时每秒几十万请求的秒杀大促系统。 他们在应对高并发的时候,因为系统各自特点的不同,所以应对架构都是不一样的。 另外,比如电商平台中的订单系统、商品系统、库存系统,在高并发场景下的架构设计也是不同的,因为背后的业务场景什么的都不一样。 最简单的系统架构 假设刚刚开始你的系统就部署在一台机器上,背后就连接了一台数...

你的电脑是32位还是64位呢?

刚上大学,第一次拥有个人电脑,才对PC有了进一步的认知。有时候装软件或者重装系统时,经常会听到"32位"与"64位"的说法,类似的还有"x86"与"x86_64","i386"与"amd64",这两组概念之间有着怎样的联系和区别呢? 实际上,在通用PC领域,不论是windows还是linux界,这两组概念涉及了三个层次:硬件,系统和软件。 ###硬件 早期的intel处理器,如i...