GN和Ninja
gn 和 ninja
ninja
- ninjia是一个致力于速度的小型编译系统工具 (类似于Make编译工具)
gn
- gn 即 Generate ninjia ,顾名思义就是用来生成ninjia编译文件的工具
gn与ninjia的关系
可以理解为make与cmake之间的关系,ninjia于GUN make构建工具类比对应关系如下:
1 | ninjia工具 Make GUN工具 功能作用 |
可以理解为make与cmake之间的关系,ninjia于GUN make构建工具类比对应关系如下:
1 | ninjia工具 Make GUN工具 功能作用 |
1 | byte a = 1; |
1 | int[] a = new int[3]; |
1 | int[] a; |
1 | int[] a = {1, 2, 3}; |
1 | int[] arr1 = {1, 2, 3}; |
1 | int [][] arr = new int[2][3]; |
1 | public class Hello{ |
1 | class Cat{ |
1 | // 1. int... 表示接受的是可变参数,类型是int,即可以接收多个int(0-多) |
1 | public class Hello{ |
1 | class Cat{ |
1 | class Father { |
1 | public class Hello{ |
1 | public class Hello{ |
1 | public class Hello{ |
1 | public class Hello{ |
1 | public class Hello{ |
1 | public class Hello{ |
1 | Object o = new Object(); |
1 | public class Hello{ |
1 | public class Hello{ |
1 | public class Hello{ |
1 | [修饰符]{ |
1 | class SingleTon { |
1 | class SingleTon { |
1 | class A { |
1 | class A { |
1 | final class A {} |
1 | class A { |
1 | public class Hello{ |
1 | class A { |
1 | abstract class A { |
1 | abstract class Template { |
1 | interface 接口名 { |
1 | interface Ainterface { |
1 | public class Hello{ |
1 | public class Hello{ |
1 | public class Hello{ |
1 | class Outer { |
1 | interface IA { |
1 | class Outer { |
1 | class Test { |
1 | class Season { |
1 | enum Gender { |
1 | public class Hello{ |
1 | class Test { |
1 | class MyException extends Exception { |
| 基本类型 | 包装类 |
|---|---|
| boolean | Boolean |
| char | Character |
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
1 | public class Hello{ |
1 | import java.util.Arrays; |
1 | import java.util.Arrays; |
1 | import java.math.BigInteger; |
1 | import java.util.Date; |
1 | import java.util.Calendar; |
1 | import java.time.LocalDate; |
1 | import java.util.ArrayList; |
1 | import java.util.ArrayList; |
1 | import java.util.ArrayList; |
1 | import java.util.ArrayList; |
1 | import java.util.HashSet; |
1 | import java.util.TreeSet; |
1 | import java.util.HashMap; |
1 | import java.util.ArrayList; |
1 | ArrayList<int> list = new ArrayList<int>(); // error |
1 | ArrayList<String> list = new ArrayList<>(); // 编译器会自动推断 |
1 | public class Hello{ |
1 | interface Animal<T> { |
1 | ArrayList<Object> list = new ArrayList<String>(); // error |
1 | public class Hello{ |
1 | public class Hello{ |
1 | synchronized (对象) { // 得到对象的锁才能操作同步代码 |
1 | public synchronized void func() { // 在同一时刻,只能有一个线程执行该方法 |
1 | import java.io.File; |
1 | import java.lang.reflect.Method; |
…
1 | sudo pacman -S mysql |
1 | CREATE DATABASE test; # 默认 utf8 和 utf8_general_ci |
1 | SHOW DATABASES; # 显示数据库语句 |
1 | # 在 shell 中执行 |
1 | # 在 mysql 命令行执行 |
1 | create table table_name ( |
1 | def get_full_name(first_name: str, last_name: str): |
1 | def get_items(item_a: str, item_b: int, item_c: float, item_d: bool, item_e: bytes): |
1 | from typing import List |
1 | from typing import Set, Tuple |
1 | from typing import Dict |
1 | class Person: |
1 | from fastapi import FastAPI # 导入 FastAPI |
FastAPI 支持使用 Python 字符串格式化语法声明路径参数(变量):
1 | @app.get("/items/{item_id}") # 这段代码把路径参数 item_id 的值传递给路径函数的参数 item_id |
声明路径参数的类型
1 | @app.get("/items/{item_id}") |
数据转换:FastAPI 通过类型声明自动解析请求中的数据
数据校验:FastAPI 使用 Python 类型声明实现了数据校验
1 | from fastapi import FastAPI |
1 | # 命令行展开 |
1 | grep [option] [pattern] file |
1 | # 过滤空行 |
1 | -n: 取消默认 sed 的输出,常与 sed 内置命令 p 一起用 |
1 | a: append,对文件追加,在指定行后面添加一行/多行文本 |
1 | 空地址: 全文处理 |
1 | awk '{print} $0' # 打印所有内容 |
1 | awk '{print "第一列",$1,"第二列",$2}' file |
1 | awk -F ',' 'print $0' file |
1 | awk '{printf "%s\n", $0}' file |
1 | awk 'BEGIN{print "开始:"}{print $0}' file |
1 | awk '/正则表达式/{print $0}' file |
1 | pip install --upgrade pip |