- 1 简介这一节,我们继续挑战中文编程语言的旅程。 2 词素与标记我们已经在上一节有了一个获得代码的方式,安装之前的约定,需要分别按以下词素去分解代码。我们规定如下: 中文 英文 运算符 刷 print PRINTI /PRINTF 与 LAND && 或 LOR || 加 ... 1 简介这一节,我们继续挑战中文编程语言的旅程。 2 词素与标记我们已经在上一节有了一个获得代码的方式,安装之前的约定,需要分别按以下词素去分解代码。我们规定如下: 中文 英文 运算符 刷 print PRINTI /PRINTF 与 LAND && 或 LOR || 加 ...
- 2.8 本节简介自己动手写一个代理.我们可以将客户的消息直接发往服务中,这是一个逆向的过程,一般http操作是由客户端发起的,因此http协议很适合作为客户端触发事件的协议,当有客户发起事件时,服务直接响应.这里假设我们有成千上万的客户在触发该事件(比如订票,付款等),我们不希望这些操作直接与服务的数据库交互,让他们模拟现实人类的情况,排队吧. 这时候消息代理的用场就出现了. 2.8.0 ... 2.8 本节简介自己动手写一个代理.我们可以将客户的消息直接发往服务中,这是一个逆向的过程,一般http操作是由客户端发起的,因此http协议很适合作为客户端触发事件的协议,当有客户发起事件时,服务直接响应.这里假设我们有成千上万的客户在触发该事件(比如订票,付款等),我们不希望这些操作直接与服务的数据库交互,让他们模拟现实人类的情况,排队吧. 这时候消息代理的用场就出现了. 2.8.0 ...
- 2 建立连接建立连接的方式,维持连接的方式很多,这里我们简单介绍在需要长时间连接时的几个。 上帝与世界有一个古老而漫长的连接, 2.1 全双工协议简介websocket使用tcp做为4层通信的协议,因此有tcp协议支持的系统都可以使用此协议,只要符合BSD socket准则BSD 套接字(BSD sockets)是一种应用程序接口(API),用于网络套接字( socket)与Unix域套接... 2 建立连接建立连接的方式,维持连接的方式很多,这里我们简单介绍在需要长时间连接时的几个。 上帝与世界有一个古老而漫长的连接, 2.1 全双工协议简介websocket使用tcp做为4层通信的协议,因此有tcp协议支持的系统都可以使用此协议,只要符合BSD socket准则BSD 套接字(BSD sockets)是一种应用程序接口(API),用于网络套接字( socket)与Unix域套接...
- 语言常见问题这里列举的Go语言常见坑 是符合Go语言语法的,可以正常的编译,但是可能是运行结果错误,或者是有资源泄漏的风险。另一些是与其他语言的不同思想对比,这里说“坑”指的是不同习惯的迁移感受可能是坑。 1 是否为空的简单对比思想判断 list列表是否为空golang: // 数组 arr := [0]int{} if len(arr) == 0 { pr... 语言常见问题这里列举的Go语言常见坑 是符合Go语言语法的,可以正常的编译,但是可能是运行结果错误,或者是有资源泄漏的风险。另一些是与其他语言的不同思想对比,这里说“坑”指的是不同习惯的迁移感受可能是坑。 1 是否为空的简单对比思想判断 list列表是否为空golang: // 数组 arr := [0]int{} if len(arr) == 0 { pr...
- 基本服务结构使用CS结构的网络服务。 这里即是client - Server。 1 基础网络io服务,双倍回显定义服务的退出标记和启动接口信息 const ( CloseMessage = 'Q' Ports = ":8910" )同时我们定义约定指令,如果为非约定指令,我们不执行工作,返回nil TouchChar = map[string]bool{...}... 基本服务结构使用CS结构的网络服务。 这里即是client - Server。 1 基础网络io服务,双倍回显定义服务的退出标记和启动接口信息 const ( CloseMessage = 'Q' Ports = ":8910" )同时我们定义约定指令,如果为非约定指令,我们不执行工作,返回nil TouchChar = map[string]bool{...}...
- 1 构建 顺序本文简单了解go语言程序的构建顺序。依据词法名顺序.当导入一个包,且这个包 定义了 init(), 那么导入时init()将被执行。具体执行顺序:全局变量定义时的函数 import 执行导入 -> cont 执行常量 --> var 执行变量 --> 执行初始化 init() --> 执行 main()----> main import pk1 ---... 1 构建 顺序本文简单了解go语言程序的构建顺序。依据词法名顺序.当导入一个包,且这个包 定义了 init(), 那么导入时init()将被执行。具体执行顺序:全局变量定义时的函数 import 执行导入 -> cont 执行常量 --> var 执行变量 --> 执行初始化 init() --> 执行 main()----> main import pk1 ---...
- 1 泛型简介通常在go中使用interface 空接口 可以用作泛型的支持。1.18.1 之后的版本的golang语言 已经支持泛型。那么,泛型可以提升什么?对任何元素类型的切片,映射,通道进行操作的函数。对切片或map 元素 进行计算的函数,例如最大,最小,平均,模式,标准偏差.切片或map 的转换函数,如缩放切片.在channel 通道运行的功能,例如将两个通道组合为一个通道.类型近似... 1 泛型简介通常在go中使用interface 空接口 可以用作泛型的支持。1.18.1 之后的版本的golang语言 已经支持泛型。那么,泛型可以提升什么?对任何元素类型的切片,映射,通道进行操作的函数。对切片或map 元素 进行计算的函数,例如最大,最小,平均,模式,标准偏差.切片或map 的转换函数,如缩放切片.在channel 通道运行的功能,例如将两个通道组合为一个通道.类型近似...
- 简介编程语言优化意味着采用工作应用程序并提高其性能。优化的程序做同样的事情,只是需要更少的资源。 1.1 衡量性能我们在优化时通常想到的资源是运行速度,但减少内存使用、启动时间、持久存储大小或网络带宽也很重要。所有物理资源都有一定的成本——即使成本主要是浪费在人力上——所以优化工作通常会得到回报。在计算的早期曾经有一段时间,熟练的程序员可以将整个硬件架构和编译器管道牢记在心,并通过认真思考... 简介编程语言优化意味着采用工作应用程序并提高其性能。优化的程序做同样的事情,只是需要更少的资源。 1.1 衡量性能我们在优化时通常想到的资源是运行速度,但减少内存使用、启动时间、持久存储大小或网络带宽也很重要。所有物理资源都有一定的成本——即使成本主要是浪费在人力上——所以优化工作通常会得到回报。在计算的早期曾经有一段时间,熟练的程序员可以将整个硬件架构和编译器管道牢记在心,并通过认真思考...
- 大数据时代,数据量呈爆发式增长,经常面临百亿、千亿数据查询场景,当数据仓库数据量较大、SQL语句执行效率低时,数据仓库性能会受到影响。本文将深入讲解在GaussDB(DWS)中如何进行**表结构设计**,如何进行SQL优化,如何查找慢SQL和高频SQL,提高数据仓库的性能和响应速度。 大数据时代,数据量呈爆发式增长,经常面临百亿、千亿数据查询场景,当数据仓库数据量较大、SQL语句执行效率低时,数据仓库性能会受到影响。本文将深入讲解在GaussDB(DWS)中如何进行**表结构设计**,如何进行SQL优化,如何查找慢SQL和高频SQL,提高数据仓库的性能和响应速度。
- 1 简介堆栈的使用场景非常多,在很多编程语言虚拟机中都有应用,这里简单介绍几个使用场景。 2 使用场景 2.1 成对匹配比如括号验证,简单括号匹配。栈也可以用于 XML,HTML的成对的关键字匹配校验。括号一般用来指定表达式的运算优先级,多层括号的层级是否正确如,((()), ())))))。规则,按栈的方式取值,第一个左括号 匹配 第一个右括号。推广到 开闭校验,如 html。我们将使用... 1 简介堆栈的使用场景非常多,在很多编程语言虚拟机中都有应用,这里简单介绍几个使用场景。 2 使用场景 2.1 成对匹配比如括号验证,简单括号匹配。栈也可以用于 XML,HTML的成对的关键字匹配校验。括号一般用来指定表达式的运算优先级,多层括号的层级是否正确如,((()), ())))))。规则,按栈的方式取值,第一个左括号 匹配 第一个右括号。推广到 开闭校验,如 html。我们将使用...
- 4 使用汇编和调试工具 dlv在中大型程序中,部分汇编和调试工作可以给我们提供便利。 4.0 汇编简介go语言自带了汇编模式cgo,用于调用其他c库和在某些场景调试程序。官方文档: golang.org/doc/asmgo汇编需要在go包中使用,必须指明当前包名等信息。汇编代码中定义的变量和函数要被其他Go语言引用,还需要通过Go语言代码将汇编定义的符号声明出来。用于变量和函数的定义的Go... 4 使用汇编和调试工具 dlv在中大型程序中,部分汇编和调试工作可以给我们提供便利。 4.0 汇编简介go语言自带了汇编模式cgo,用于调用其他c库和在某些场景调试程序。官方文档: golang.org/doc/asmgo汇编需要在go包中使用,必须指明当前包名等信息。汇编代码中定义的变量和函数要被其他Go语言引用,还需要通过Go语言代码将汇编定义的符号声明出来。用于变量和函数的定义的Go...
- 简介语言在发展和变化,编码习惯也在发生改变。这里简单聊聊 17个python中常见的编码习惯或者风格。 1,可变数据结构: 注意在函数变量不要使用它def foo(x=[]): x.append(1) print(x) >>>foo()[1]>>>foo()[1,1]>>>foo()[1,1,1]def foo(p=None): if p is None: p = ... 简介语言在发展和变化,编码习惯也在发生改变。这里简单聊聊 17个python中常见的编码习惯或者风格。 1,可变数据结构: 注意在函数变量不要使用它def foo(x=[]): x.append(1) print(x) >>>foo()[1]>>>foo()[1,1]>>>foo()[1,1,1]def foo(p=None): if p is None: p = ...
- 1 字符集和编码方案Go 语言源码默认使用unicode字符集,并采用UTF8编码方案。 Go还提供了rune原生类型表示unicode字符。在大多数语言的场景,并不需要深入了解字符集和字符编码方案。但是,在涉及不同字符集的转换或同一字符集不同编码方案之间的转换时,了解字符原理和字符编码方案就显得非常必要了。 这里介绍 Go的Unicode字符表示以及如何使用Go进行字符编码方案转换。st... 1 字符集和编码方案Go 语言源码默认使用unicode字符集,并采用UTF8编码方案。 Go还提供了rune原生类型表示unicode字符。在大多数语言的场景,并不需要深入了解字符集和字符编码方案。但是,在涉及不同字符集的转换或同一字符集不同编码方案之间的转换时,了解字符原理和字符编码方案就显得非常必要了。 这里介绍 Go的Unicode字符表示以及如何使用Go进行字符编码方案转换。st...
- 前言我们都知道,越早发现问题越早纠正,那么程序的成本将更小。每个语言都有针对自身代码的单元测试框架,这里对不同语言的内建框架产品简单做些对比介绍,友善提醒,本文较长。 1 go 的内建框架 1.1 调试并发程序go是 多线程的, 也就是基于消息传递的并发。多线程和基于消息的并发编程是等价的。 多线程并发模型可以容易对应到多核处理器,主流操作系统也提供了系统级的多线程支持。go 语言是基于消... 前言我们都知道,越早发现问题越早纠正,那么程序的成本将更小。每个语言都有针对自身代码的单元测试框架,这里对不同语言的内建框架产品简单做些对比介绍,友善提醒,本文较长。 1 go 的内建框架 1.1 调试并发程序go是 多线程的, 也就是基于消息传递的并发。多线程和基于消息的并发编程是等价的。 多线程并发模型可以容易对应到多核处理器,主流操作系统也提供了系统级的多线程支持。go 语言是基于消...
- 1 mypy 类型检查Mypy 是 Python 的可选静态类型检查器,旨在结合动态(或“鸭子”)类型和静态类型的优点。它 将 Python 的表达能力和便利性与强大的类型系统和编译时类型检查相结合。Mypy 类型检查标准 Python 程序;使用任何 Python VM 运行它们,基本上没有运行时开销。python的类型系统:将现有代码迁移到静态类型,一次一个函数。您可以在程序、模块或表... 1 mypy 类型检查Mypy 是 Python 的可选静态类型检查器,旨在结合动态(或“鸭子”)类型和静态类型的优点。它 将 Python 的表达能力和便利性与强大的类型系统和编译时类型检查相结合。Mypy 类型检查标准 Python 程序;使用任何 Python VM 运行它们,基本上没有运行时开销。python的类型系统:将现有代码迁移到静态类型,一次一个函数。您可以在程序、模块或表...
上滑加载中
推荐直播
-
基于OpenHarmony的计算机学科人才培养经验分享
2024/11/28 周四 19:00-21:00
华为开发者布道师、兰州大学信息科学与工程学院教授周睿
老师们、同学们,这里有不容错过的精彩! 想了解计算机类人才培养存在哪些挑战?想知道OpenHarmony如何应用于人才培养?本次直播,为你分享基于它的科创实践、专业社团实践和教学实践途径,培养学术型、应用型和复合型精英人才。快来报名,开启提升之旅!
回顾中 -
全面解析华为云EI-API服务:理论基础与实践应用指南
2024/11/29 周五 18:20-20:20
Alex 华为云学堂技术讲师
本期直播给大家带来的是理论与实践结合的华为云EI-API的服务介绍。从“主要功能,应用场景,实践案例,调用流程”四个维度来深入解析“语音交互API,文字识别API,自然语言处理API,图像识别API及图像搜索API”五大场景下API服务,同时结合实验,来加深开发者对API服务理解。
去报名 -
华为ICT大赛2024-2025 编程赛-鸿蒙技术赋能
2024/12/01 周日 14:00-18:00
赵小刚 武汉大学计算机学院软件工程系 副教授
本期直播将与您一起交流学习OpenHarmony 物联网应用开发,助力您在华为ICT大赛2024-2025编程赛中取得好成绩。
即将直播
热门标签