JavaScript
未读判断语句JavaScript 中的if-else语句与C++、Python、Java中类似。例如:
123456789101let score = 90;if (score >= 85) { console.log("A");} else if (score >= 70) { console.log("B");} else if (score >= 60) { console.log("C");} else { console.log("D");}
JavaScript 中的逻辑运算符也与C++、Java中类似:
&&表示与
||表示或
!表示非JavaScript 中的循环语句与C++中类似,也包含for、while、do while循环。
循环语句for循环123for (let i = 0; i < 10; i++) { console.log ...
输入
从 HTML 与用户的交互中输入信息,例如通过input、textarea等标签获取用户的键盘输入,通过click、hover等事件获取用户的鼠标输入。
通过Ajax与WebSocket从服务器端获取输入
标准输入,参考AcWing 1. A + B
输出
调试用console.log,会将信息输出到浏览器控制台
改变当前页面的 HTML 与 CSS
通过Ajax与WebSocket将结果返回到服务器
格式化字符串
字符串中填入数值:
123let name = "yxc", age = 18;let s = `My name is ${name}, I'm ${age} years old.`;
定义多行字符串:
1234let s = `<div> <h2>标题</h2> <p>段落</p></div>`;
保留两位小数如何输出
12let x = 1.234567;let s = `${x.toFi ...
let与const用来声明变量,作用范围为当前作用域。
let用来定义变量;
const用来定义常量;
例如:
123456789let s = "acwing", x = 5;let d = { name: "yxc", age: 18,};const n = 100;
变量类型
number:数值变量,例如1, 2.5
string:字符串,例如"acwing", 'yxc',单引号与双引号均可。字符串中的每个字符为只读类型。
boolean:布尔值,例如true, false
object:对象,类似于C++中的指针,例如[1, 2, 3],{name: "yxc", age: 18},null
undefined:未定义的变量
类似于 Python,JavaScript 中的变量类型可以动态变化。
运算符与C++、Python、Java类似,不同点:
**表示乘方
等于与不等于用===和!==
JavaScript
未读使用方式HTML 页面中的任意位置加上<script type="module"></script>标签即可。
常见使用方式有以下几种:
直接在<script type="module"></script>标签内写 JS 代码。
直接引入文件:<script type="module" src="/static/js/index.js"></script>。
将所需的代码通过import关键字引入到当前作用域。
例如:
/static/js/index.js文件中的内容为:
123456let name = "acwing";function print() { console.log("Hello World!");}export { name, print };
<script type="module">< ...
2 CSS
2.1 样式定义方式2.1.1 行内样式表(inline style sheet直接定义在标签的 style 属性中。
●ㅤ作用范围:仅对当前标签产生影响。
例如:
12<img src="/images/mountain.jpg" alt="" style="width: 300px; height: 200px;">
2.1.2 内部样式表(internal style sheet定义在 style 标签中,通过选择器影响对应的标签。
●ㅤ作用范围:可以对同一个页面中的多个元素产生影响。
2.1.3 外部样式表(external style sheet定义在 css 样式文件中,通过选择器影响对应的标签。可以用 link 标签引入某些页面。
●ㅤ作用范围:可以对多个页面产生影响。
2.1.4 注释注意不能使用 //。
只有:
12/* 注释 */
2.2 选择器2.2.1 标签选择器选择所有 div 标签:
123456div { width: 200px; hei ...
1 html 基础标签
1.1 html 文件结构文档结构
html 的所有标签为树形结构,例如:
123456789101112<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Web应用课</title></head><body> <h1>第一讲</h1></body></html>
<html>标签
ㅤㅤHTML <html> 元素 表示一个 HTML 文档的根(顶级元素),所以它也被称为根元素。所有其他元素必须是此元素的后代。
<head>标签
ㅤㅤH ...
操作系统概述计算机系统由两部分组成:
硬件
软件
通常把未配置软件的计算机称为裸机。
操作系统目的是:为了填补人与机器之间的鸿沟,即建立用户与计算机之间的接口,而为裸机配置的一种系统软件。
操作系统也包括了系统软件。
操作系统在计算机系统中的地位:
>
操作系统是用户与计算机之间的接口,它在计算机系统中占据重要而特殊的地位,所有其他软件,如编辑程序、汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件都是建立在操作系统基础上的,并得到它的支持和取得它的服务。
程序与进程程序顺序执行时的主要特征包括:顺序性、封闭性和可再现性。
程序并发执行时的主要特征包括:失去了程序的封闭性、程序和机器的执行程序的活动不再一一对应、并发程序之间的相互制约性。
三态模型在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化,因此进程一般有3种基本状态:运行、就绪和阻塞。
运行:当一个进程在处理机上运行时。
就绪:一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行(还未得到)。
阻塞(等待或睡眠):一个进程正在等待某一事件发生而暂时停止运行,这时即使把处理机分配给 ...
ThriftThrift 实战服务调用结构图
创建项目文件目录 match_system、game、thrift 和 readme.md 文件
thrift 目录用于存放 远程调用接口文件
match_system:是匹配系统
game:是游戏系统
1、在 thrift 下编写 match.thrift 文件
1234567891011121314namespace cpp match_servicestruct User { 1: i32 id, 2: string name, 3: i32 score}service Match { i32 add_user(1: User user, 2: string info), i32 remove_user(1: User user, 2: string info),}
2、在 match_system/src 下通过 match.thrift 文件生成 C++ 服务端客户端代码,但我们只用服务端
12thrift -r --gen cpp ../../thri ...
Thrift引言Thrift是一个跨语言的RPC框架(Remote Procedure Call),用于服务之间的通信。它把过程封装到一个函数中,它可以让不同编程语言无缝结合,使得调用者像调用本地服务一样方便。
Thrift优势
开发速度快:用户只需编写IDL,编译器自动生成服务端骨架和客户端桩(Stubs)
接口维护简单:只需维护IDL
学习成本低:面向对象风格
支持多种语言:Java、Python、C++等
稳定且广泛使用:Hadoop
架构Thrift自顶向下可分为5层
传输层(Transport Layer):负责从网络中读取数据和写入数据,定义了具体的网络传输协议,例如TCP/IP
协议层(Protocol Layer):定义了数据传输格式,负责网络传输数据的序列化和反序列化,例如JSON、XML、二进制数据等
处理层(Processor Layer):由具体的接口描述语言IDL生成,封装了具体的底层网络传输和序列化方式,委托给用户实现的Handler处理
服务层(Server Layer):整合上述组件,提供具体的网络IO模型(单线程/多线程 ...
SSH 和 SCP1. SSH 登录基本用法远程登录服务器
123# ssh 用户名@IP地址或域名ssh user@hostname [-p 22] # 22 是 ssh 默认端口
第一次登录时会有安全提醒,输入 yes 缺人要远程登录服务器,之后输入密码即可登录成功。登录成功之后会将服务器的信息记录到 ~/.ssh/known_hosts 文件中,下次登录的时候就不会再显示安全提示了。
配置别名登录在 .ssh/ 目录下创建 config 文件
设置服务器别名、User、HostName,可以为多个服务器设置别名。
12345678Host myserver HostName IP地址或域名 User 用户名Host myserver2 HostName IP地址或域名 User 用户名
之后再 ssh 连接服务器的时候就不用之前输入用户名@HostName 那么麻烦了,直接使用别名登录 ssh myserver,输入密码登录。
免密登录使用密钥可以免密登录,每次输入密码很麻烦对不对~
先生成密钥
12ssh-keygen
生成的密钥会放在 ~/.ss ...