/images/avatar.jpeg
写过点代码读过点书

ftp 入门指南

ftp 是什么? 文件传输协议(File Transfer Protocol),基于 TCP 的应用层协议。 FTP 服务一般运行在 20 和 21 两个端口。端口 20 用于在客户端和服务器之间传输数据流,而端口 21 用于传输控制流。 ftp 和 sftp 的区别? ftp 是一个文件传输服务,设计它的目的就是为了传输文件。它有独立的守护进程,使用 20,21 两个端口,20 是数据链路的端口,21 是控制链路的端。 sftp 也是用来传输文件的,但它的传输是加密的,是 ssh 服务的一部分,没有单独的守护进程,是 ssh 服务的一部分,可以看做是 ssh 服务文件传输方案。和 ssh 一样,使用 22 端口。 如何使用 基础概念 ftp 分客户端和服务端,客户端连接服务端来上传或者下载文件 第一步:安装 ftp 服务端 以 Ubuntu 18.04 为例: 1 2 sudo apt update sudo apt install vsftpd 安装好后, ftp 服务就默认打开了, 使用 systemctl status vsftpd 可以查看服务状态。 第二步:打开相应防火墙 笔者使用的是腾讯云服务器, 所以需要在腾讯云控制台上打开相应端口; 20 和 21 端口是必须要开放的;另外,开发 40000-50000 端口(范围可以自行设置),以供 ftp 的被动模式使用。

前端调试指南

背景 日常开发中,面对日益复杂的工程和项目,难免会遇到一些问题和 bug,很多同学(包括我自己)的第一反应是打个 log 看一下情况,然后逐步找原因。这种方式很有效,能解决很多问题,但是效率相对地下,并且不够专业。 面对这种情况,笔者准备了一份前端调试指南,其中覆盖了日常开发中的大部分情况,例如: 调试 javascript 调试 node 服务 调试 typescript 调试 typescript 服务 调试 typescript 前端项目 如果读者对调试前端也有刚需,这份指南或许对你有用。为保证效果,建议读者边实践边阅读这份指南,调试代码的例子在这里 前期准备 环境: node:v14+ 编辑器:VS Code 全局安装 nodemon、ts-node、parcel 1 2 3 yarn global add nodemon yarn global add ts-node yarn global add parcel 1 2 # 安装依赖 yarn tips: 下面例子中,例如 debug01,指的是 vscode 中的调试按钮,如下图: 1、调试原生 node 参考 demo01, 用 debug01 启动调试 1 2 3 4 5 6 { "type": "node", "request": "launch", "name": "debug-01", "program": "${workspaceFolder}/demo01/index.

JavaScript 简明教程

一、什么是 JavaScript 语言? JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”(script language),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。 JavaScript 也是一种嵌入式(embedded)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JavaScript 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(host)提供,所以 JavaScript 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API。 目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 Node 项目。 JavaScript 的核心语法部分相当精简,只包括两个部分:基本的语法构造(比如操作符、控制结构、语句)和标准库(就是一系列具有各种功能的对象比如Array、Date、Math等)。除此之外,各种宿主环境提供额外的 API(即只能在该环境使用的接口),以便 JavaScript 调用。以浏览器为例,它提供的额外 API 可以分成三大类。 浏览器控制类:操作浏览器 DOM 类:操作网页的各种元素 Web 类:实现互联网的各种功能 如果宿主环境是服务器,则会提供各种操作系统的 API,比如文件操作 API、网络通信 API 等等。这些你都可以在 Node 环境中找到。 二、学习 JavaScript 语言的好处 1、广泛的使用领域 近年来,JavaScript 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。 (1)、浏览器的平台化 随着 HTML5 的出现,浏览器本身的功能越来越强,不再仅仅能浏览网页,而是越来越像一个平台,JavaScript 因此得以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等等。这使得 JavaScript 可以完成许多以前无法想象的事情。 (2)、Node Node 项目使得 JavaScript 可以用于开发服务器端的大型项目,网站的前后端都用 JavaScript 开发已经成为了现实。有些嵌入式平台(Raspberry Pi)能够安装 Node,于是 JavaScript 就能为这些平台开发应用程序。 (3)、数据库操作 JavaScript 甚至也可以用来操作数据库。NoSQL 数据库这个概念,本身就是在 JSON(JavaScript Object Notation)格式的基础上诞生的,大部分 NoSQL 数据库允许 JavaScript 直接操作。基于 SQL 语言的开源数据库 PostgreSQL 支持 JavaScript 作为操作语言,可以部分取代 SQL 查询语言。