网络基础 Socket I/O 模型的演进
编程范式 Rust是一个多范式 (multi-paradigm) 的编译型语言。除了通常的结构化、命令式编程外, 还支持以下范式。 函数式编程 Rust使用闭包 (closure) 来创建匿名函数: let num = 5; let plus_num = |x: i32| x + num; 其中闭包plus_num借用了它作用域中的let绑定num。如果要让闭包获得所有权, 可以使用move关键字
介绍 Javascript 是一个单线程的编程语言,单线程的特点就是一次只能处理一件事情,当前代码任务耗时执行会阻塞后续代码的执行。异步编程则是一种事件驱动编程,请求调用函数或方法后,无需立即等待响应,可以继续执行其他任务,而之前任务响应返回后可以通过状态、通知和回调来通知调用者。 异步编程方法 js 中的异步编程方法有回调函数、事件处理函数、观察者、Promise、Generator、async
宏观上说,每个 Spark 应用程序都由一个驱动程序(driver programe)构成,驱动程序在集群上运行用户的 main 函数来执行各种各样的并行操作(parallel operations)。Spark 的主要抽象是提供一个弹性分布式数据集(RDD resilient distributed dataset),RDD 是指能横跨集群所有节点进行并行计算的分区元素集合。RDD 可以从 Ha
本章探讨如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的、易于阅读和维护的代码。 多家公司和组织已经公开了它们的风格规范,具体可参阅jscs.info,下面的内容主要参考了Airbnb的JavaScript风格规范。 块级作用域 (1)let取代var ES6提出了两个新的声明变量的命令:let和const。其中,let完全可以取代var,因为两者语
1. Introduction:DP(Dynamic Programming) 定义 解决复杂问题的一种方法。将多阶过程分解为一些列单阶段问题,逐个求解,最后结合起来以解决这类过程优化问题。 同时,将这些子问题的解保存起来,如果下一次遇到了相同的子问题,则不需要重新计算子问题的解。 DP主要用于解决含有以下两点特性的问题 最优子结构:最优解能被分解为子问题,最优应用原则 覆盖子问题:子问题多次出现
编程可以极大地提高我们收集和分析世界信息的能力,而这些信息又可以通过上一节所述的谨慎推理来发现。 在数据科学中,编写程序的目的是,指示计算机执行分析步骤。 电脑无法自行研究世界。 人们必须准确描述计算机应该执行什么步骤来收集和分析数据,这些步骤是通过程序来表达的。 表达式 编程语言比人类语言简单得多。 尽管如此,在任何语言中,还是有一些语法规则需要学习,这里就是我们开始的地方。 在本文中,我们将使
此章节会详细介绍协程编程与同步编程的不同之处以及需要注意的事项。 注意事项 不要在代码中执行sleep以及其他睡眠函数,这样会导致整个进程阻塞;协程中可以使用Co::sleep()或在一键协程化后使用sleep;参考:sleep/usleep的影响 exit/die是危险的,会导致Worker进程退出;参考:exit/die函数的影响 可通过register_shutdown_function来捕
NodeJS最大的卖点——事件机制和异步IO,对开发者并不是透明的。开发者需要按异步方式编写代码才用得上这个卖点,而这一点也遭到了一些 NodeJS反对者的抨击。但不管怎样,异步编程确实是NodeJS最大的特点,没有掌握异步编程就不能说是真正学会了NodeJS。本章将介绍与异步编 程相关的各种知识。 回调 在代码中,异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异
微软基础类库(MFC:Microsoft Foundation Class)是微软为Windows程序员提供的一个面向对象的Windows编程接口,它大大简化了Windows编程工作。使用MFC类库的好处是:首先,MFC提供了一个标准化的结构,这样开发人员不必从头设计创建和管理一个标准Windows应用程序所需的程序,而是“站在巨人肩膀上”,从一个比较高的起点编程,故节省了大量的时间;其次,它提供
概述 “编程风格”(programming style)指的是编写代码的样式规则。不同的程序员,往往有不同的编程风格。 有人说,编译器的规范叫做“语法规则”(grammar),这是程序员必须遵守的;而编译器忽略的部分,就叫“编程风格”(programming style),这是程序员可以自由选择的。这种说法不完全正确,程序员固然可以自由选择编程风格,但是好的编程风格有助于写出质量更高、错误更少、更
PHP 是一个灵活的动态语言,支持多种编程技巧。这几年一直不断的发展,重要的里程碑包含 PHP 5.0 (2004) 增加了完善的面向对象模型,PHP 5.3 (2009) 增加了匿名函数与命名空间以及 PHP 5.4 (2012) 增加的 traits。 面向对象编程 PHP 拥有完整的面向对象编程的特性,包括类,抽象类,接口,继承,构造函数,克隆和异常等。 函数式编程 Functional P
背景 研究IPv6 socket编程原因: Supporting IPv6 in iOS 9</br> WWDC2015苹果宣布在ios9支持纯IPv6的网络服务,并且要求2016年提交到app store的应用必须兼容纯IPv6的网络,要求适配的系统版本是ios9以上(包括ios9)。 写这篇文章虽然是来源于iOS的需求,但是下面的内容除了特别说明外,大部分都适用于其他平台。</br> IPv6
欢迎来到Go的世界,让我们开始探索吧,Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。
这里收集各种通过 Hyperf 编程前应该知晓的知识点或内容点。 不能通过全局变量获取属性参数 在 PHP-FPM 下可以通过全局变量获取到请求的参数,服务器的参数等,在 Hyperf 和 Swoole 内,都 无法 通过 $_GET/$_POST/$_REQUEST/$_SESSION/$_COOKIE/$_SERVER等$_开头的变量获取到任何属性参数。 通过容器获取的类都是单例 通过依赖注入