计算机科学
计算机科学
morningcat2018
情深不寿,慧极必伤
展开
-
ASCII表
原创 2022-02-18 01:11:46 · 115 阅读 · 0 评论 -
SOLID 面向对象设计 五个基本原则
由 Robert C. Martin 在21世纪早期引入 单一功能、开闭原则、里氏替换、接口隔离以及依赖反转 容易进行软件维护和扩展系统 典型的应用是测试驱动开发 单一职责原则 一个类或模块只实现一类类似的功能; 开闭原理 多使用接口[interface]和抽象类[abstract classs]实现一类扩展; 里氏替换原则 子类必须可以替代其父类; 如果父类具有接受父类类型参数的方法,它的子类应接受父类类型或子类类型作为参数。 如果父类返回父类类型,它的子类应返回父类类型或子类类型。 接口隔离原.原创 2020-05-15 14:09:19 · 190 阅读 · 0 评论 -
字符编码之 unicode到utf-8 的过程
映射表 Char. number range | UTF-8 octet sequence (hexadecimal) | (binary) --------------------+--------------------------------------------- 0000 0000-0000 007F | 0xxxxxxx 0000 0080-0000 07FF | 110xxxxx 10xxxxxx 0000原创 2021-08-17 23:14:32 · 136 阅读 · 0 评论 -
DSL 简介资料
DSL Domain Specific Language 领域特定语言 A specialized computer language designed for a specific task. 为了解决某一类任务而专门设计的计算机语言 Martin Fowler 对于领域特定语言的定义,DSL 通过在表达能力上做的妥协换取在某一领域内的高效。 最常见的 DSL 包括 Regex 、SQL、 HTML & CSS 一些共同的特点: 没有计算和执行的概念; 其本身并不需要直接表示计算; 使用时只需要原创 2021-04-25 00:59:21 · 237 阅读 · 0 评论 -
关于闭包与函数式编程的一点总结
在B站看到一个CS50教学视频 有一节提到 Lisp 语言,所以想看看它的不同之处 在一篇教程中看到 Lisp 的特点是有一个举例:假设你想写一个函数,输入一个数 n ,返回把 n 与传入参数 (argument)相加的函数 ; Lisp (defun addn (n) #'(lambda (x) (+ x n))) 这里使用到了闭包的特性; js 中也有类似的特性,使用 js 也可以实现上诉的功能; // 闭包 使用示例 index.js function addN(n) {原创 2021-02-25 23:13:11 · 101 阅读 · 0 评论 -
ReactJS学习笔记0
安装 node.js > node -v v14.15.5 自带 npm 和 npx 命令 npm -v 6.14.11 npx -v 6.14.11 安装 cnpm https://developer.aliyun.com/mirror/NPM?from=tnpm $ npm install -g cnpm --registry=https://registry.npm.taobao.org 创建 reacrt 应用 npx create-react-app react-mc cd re原创 2021-02-19 22:54:53 · 63 阅读 · 0 评论 -
计算机科学cs50-笔记2
计算机科学cs50 上课笔记 原始网站 第11课 [第五周 1] #include <cstdio> void test_file() { FILE *fp; fp = fopen("file1", "w"); if (fp != NULL) { int x = 101; fprintf(fp, "%d\n", x); fprintf(fp, "%d\n", x + 100); fprintf(fp, "原创 2021-02-14 03:35:56 · 180 阅读 · 0 评论 -
Linux C语言编程基本原理与实践-笔记
Linux C语言编程基本原理与实践 手动生成静态库 // max.h int max(int x, int y); // max.c int max(int x, int y) { return x > y ? x : y; } // 生成静态库 gcc -c max.c -o max.o max.o #include <stdio.h> #include "max.h" int main(void) { int n1 = 23; int n2 =原创 2021-02-04 02:15:20 · 136 阅读 · 1 评论 -
计算机科学cs50-笔记1
计算机科学cs50 上课笔记 原始网站 第2课 某些系统或应用的格式化是伪格式化,只是仅仅擦除存储器的开头的一段字节; 第3课 nano hello.c #include <stdio.h> #include <cs50.h> int main(){ string name = GetString(); printf("hi %s!\n",name); } gcc hello.c -lcs50 这里需要理解 gcc -l 的用法,待学习。。。原创 2021-01-28 00:51:01 · 509 阅读 · 0 评论