学习使用外部模块 目标 建立一个 lesson2 项目,在其中编写代码. 当在浏览器中访问 http://localhost:3000/?q=alsotang 时,输出 alsotang 的 md5 值,即 bdd5e57b5c0040f9dc23d430846e68a3. 挑战 访问 http://localhost:3000/?q=alsotang 时,输出 alsotang 的 sha1 值,即 e3c766d71667567e18f77869c65cd62f6a1b9ab9. 知识点 学…
使用 superagent 与 cheerio 完成简单爬虫 目标 建立一个 lesson 3 项目,在其中编写代码. 当在浏览器中访问 http://localhost:3000/ 时,输出 CNode(https://cnodejs.org/ ) 社区首页的所有帖子标题和链接,以 json 的形式. 输出示例: [ { "title":"[NODE PARTY][上海][6月9日 13:30]报名&答疑帖", "href":"…
使用 eventproxy 控制并发 目标 建立一个 lesson4 项目,在其中编写代码. 代码的入口是 app.js,当调用 node app.js 时,它会输出 CNode(https://cnodejs.org/ ) 社区首页的所有主题的标题,链接和第一条评论,以 json 的格式. 输出示例: [ { "title": "[公告]发招聘帖的同学留意一下这里", "href": "http://cnodejs.org/topic…
一个简单的express应用 目标 建立一个 lesson1 项目,在其中编写代码.当在浏览器中访问 http://localhost:3000/ 时,输出 Hello World. 挑战 访问 http://localhost:3000/ 时,输出 你好,世界. 知识点 包管理器 npm .使用 npm 安装包,并自动安装所需依赖. 框架 express .学习新建 express 实例,并定义 routes ,产生输出. 包管理器 npm npm 可以自动管理包的依赖. 只需要安装你想要的包…
搭建node.js开发环境 本文只针对在Linux或者Mac下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦自行兼容一下. 1.首先安装一个nvm( https://github.com/creationix/nvm ) $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.2/install.sh | bash nvm的全称是…
个人网站 https://iiter.cn 程序员导航站 开业啦,欢迎各位观众姥爷赏脸参观,如有意见或建议希望能够不吝赐教! 开始之前请先确保自己安装了Node.js环境,还没有安装的的童鞋请自行百度安装教程...... 直接开始吧 1.在项目文件夹安装两个必须的依赖包 npm install superagent --save-dev SuperAgent(官网是这样解释的) -----SuperAgent is light-weight progressive ajax API crafte…
一.学习C语言的目标主要是: 熟练掌握C语言的关键字,语法规则,程序控制等: 掌握基本的数据结构,数组.链表.栈和队列等: 掌握C语言中指针和内存.数组与指针.函数与指针.变量和指针.结构体和指针.硬件和指针等的联系与应用: 掌握基本的查找和排序算法,比如二分查找和冒泡等: 掌握系统库的应用及静态库和动态库的打包与构建方法: 掌握基本开发环境:linux操作系统.vim编辑器.gcc编译器.gdb程序调试器.make自动编译等的熟练使用,在linux下编程,这样查看帮助会更加方便. 掌握将大问题…
学习C语言的原因,主要是需要使用C语言编程,我用故我学,应该是最主要的原因了. C语言的定位:C语言严格意义上只能算是中级语言,是面向过程编程语言的集大成者,虽然这种语言有很多的问题,但总体而言是瑕不掩瑜.因此才能在后来的Java和C#的夹击中依旧独领风骚很多年,加上自己的定位非常准确,控制硬件作为其最大的作用,在嵌入式领域几乎无可取代. C语言的运行速度很快,代码量小,上手容易,功能上与使用者有关,总体很强大.C语言的两大支柱是库和指针,是C语言的核心知识点,遗憾的是国内很多高校这两个内容都不…
编程过程中需要遵守编译器的各种约定,例如以下代码: 1 #include <stdio.h> 2 3 int main(int argc, char **argv) 4 { 5 printf("Hello World!\n"); 6 7 return 0; 8 } 无论多么简单的程序,必须能够通过编译的检查和编译,否则就不能运行.也就是说代码需要遵从编程语言的语法规则.我们说的代码规范,只是一种约定俗成,会让你的代码更容易阅读和调试,让你更容易进入下一个编程境界. 下面说下…
C语言程序设计中,有些代码需要重复执行很多次,循环主要有三类: 一.for循环 1.基本格式为:for(表达式1:表达式2:表达式3){ //表达式1:循环变量赋初值 //表达式2:循环变量满足的条件 //表达式3:循环变量的增加量 执行语句1: …… 执行语句n: } 2.语句块功能:执行特定次数的代码循环 例子1代码: #include <stdio.h> int main(int argc, char **argv) { ; ; printf("请输入你要求和的个数:"…
C语言是面向过程编程语言的主要代表,其特征就是严格控制程序的执行语句顺序,因此,C程序的主要结构控制就是顺序控制,以main函数为入口函数,根据控制,一条一条地执行语句.由于实际需求是很复杂的,只用顺序结构不能表示现实事物的执行流程,图灵提出了三种控制--顺序执行.选择执行和循环执行,只要合理运用这三种流程控制,可以解决世界上的任何流程控制的问题. 所谓的选择执行就是被选中的代码被执行,没有选中的代码就不被执行.选中与否根据选择的条件来决定,主要使用前面讲解过的条件表达式,如果条件成立,对应的代…
C语言编程的核心是指针和库,而库的核心就是函数,函数的基本组成部分就是语句. C语言合法表达式加上分号(语句结束符)构成C函数的基本部分语句.如果只有分号没有表达式就构成空语句,空语句常常用来形成占位之用. 一.C语言的符号与运算符的连接构成表达式,根据运算符的不同,主要分为: 1.算术表达式:用算术运算符连接起来的表达式: 2.关系表达式:用关系运算符连接起来的表达式: 3.逻辑表达式:用逻辑运算符连接起来的表达式: 4.赋值表达式:用赋值运算符连接起来的表达式: 二.常见的运算符主要分为:…
程序设计中,为了观察程序的运行状态和结构,需要输出指定的内容:为了让程序能够更加灵活,可以根据需求输入内容,让计算机处理和运行:所以程序的输入输出就显的尤为重要.主要包括printf和scanf函数. printf()函数的功能---将程序的运行结果输出显示到屏幕上:使用要点: 1.需要使用#include <stdio.h>头文件 2.printf()需要参数,将对应的内容作为字符串参数传入即可 下面通过例子来说明: #include <stdio.h> int main(int…
计算机中需要保存信息,就需要数据存储,数据的存储就需要划分数据类型.主要包括:基本数据类型.指针类型.构造类型.空类型. 基本类型:整型---主要用来表示整数,可以分为无符号和有符号:又分为基本整型.短整型和长整型.    浮点型---带小数点的数,主要分为单精度和双精度类型    字符型---表示字面量 构造类型:数组和结构体.    数组---同种数据的结合,主要包括数组名称.数组的类型和数组的大小    结构体---可以包括C语言中的所有的数据类型的数据 指针类型:所有的类型都可以定义为指…
数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位. 基本概念 Bit意为“位”或“比特”,是计算机运算的基础,属于二进制的范畴: Byte意为“字节”,是计算机文件大小的基本计算单位: 这两者应用的场合不同.通常用bit来作数据传输的单位,因为物理层,数据链路层的传输对于用户是透明的,而这种通信传输是基于二进制的传输.在应用层通…
编程目的是为了解决问题,编程本质是用计算机的思维操作数据,操作就是算法,数据主要是数据类型,也可以说量,其中分为常量和变量,常量主要是指在量的生命周期内无法改变其值:变量主要是指在量的生命周期内可以随时改变其值.因此,从程序员的角度来看,变量就是个容器,可以存储数据. 变量的意义:从人的角度看,变量是个容器:如果从计算机的角度看,变量什么都不是:计算机的眼中只有内存地址,变量只是内存地址的一个别名,而且还是一个计算机根本不需要的别名. 变量的声明和定义:变量的声明只是告诉编译器有一个变量,编译器…
每天记录一点:NetCore获得配置文件 appsettings.json   用NetCore做项目如果用EF  ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如SqlSugar,NH,Dapper等,在读取连接字符串的时候,往往把信息保存到一个配置文件中,例如appsetting.json, 网上有很多关于读取appsetting.json都是通过注入的方式,  在ORM读取配置的时候,都是在一个类库里面,所以用注入的方式有时候不适合[个人理解] 因以上场景…
30分钟手把手教你学webpack实战 阅读目录 一:什么是webpack? 他有什么优点? 二:如何安装和配置 三:理解webpack加载器 四:理解less-loader加载器的使用 五:理解babel-loader加载器的含义 六:了解下webpack的几个命令 七:webpack对多个模块依赖进行打包 八:如何独立打包成样式文件 九:如何打包成多个资源文件 十:关于对图片的打包 十一:React开发神器:react-hot-loader 回到顶部 什么是webpack? 他有什么优点?…
先来个最常见的"Hello World!". 打开你最喜欢的编辑器(我用的是Sublime Text),创建一个helloWorld.js的文件.我们要做的就是向stdout输出"Hello World!",如下是实现该功能的代码: console.log("Hello World"); 保存该文件,并通过node.js来执行: node helloWorld.js 运行正常的话就会在终端输出Hello World! 话说以上是学习每种语言必见的…
先放上链接吧,项目已经开始2周了:https://github.com/hellozhangran/happy-egg-server 想法 现在是2019年11月24日,还有人要开始学习Node.js吗? Node.js大概从2014年开始火热,现在搜一下学习教程,很多开源教程都是3~5年前写下的.再详细搜一下express.mongodb相关文章,时间点大部分也是2017,大量的Node.js开源项目也已经停更了.当年大家都在讨论Node.js为何这么火,而此刻我发现大家开始讨论为何Node.…
上一篇:手把手教你学Dapr - 2. 必须知道的概念 注意: 文章中提到的命令行工具即是Windows Terminal/PowerShell/cmd其中的一个,推荐使用Windows Terminal 运行命令行工具的时候建议以管理员身份,避免踩坑 为了保证操作顺畅,建议使用PowerShell先执行一下set-ExecutionPolicy RemoteSigned 安装Docker 因为Dapr CLI默认会在Docker内启动 redis.zipkin.placement. 当然这些也…
上一篇:手把手教你学Dapr - 3. 使用Dapr运行第一个.Net程序 介绍 通过使用服务调用,您的应用程序可以使用标准的gRPC或HTTP协议与其他应用程序可靠.安全地通信. 为什么不直接用HttpClientFactory呢 先问几个问题: 如何发现和调用不同服务的方法 如何安全地调用其他服务,并对方法应用访问控制 如何处理重试和瞬态错误 如何使用分布式跟踪指标来查看调用图来诊断生产中的问题 此时你会发现这些事情HttpClientFactory没有帮你完成,而在微服务中这些又是必不可少…
上一篇:手把手教你学Dapr - 4. 服务调用 介绍 使用状态管理,您的应用程序可以将数据作为键/值对存储在支持的状态存储中. 您的应用程序可以使用 Dapr 的状态管理 API 使用状态存储组件来保存和读取键/值对,如下图所示.例如,通过使用 HTTP POST,您可以保存键/值对,通过使用 HTTP GET,您可以读取键并返回其值. 特性 可插拔状态存储 Dapr 数据存储被建模为组件,可以在不更改代码的情况下更换它.例如:MySQL.Redis.Azure CosmosDB等. 可配置的…
上一篇:手把手教你学Dapr - 5. 状态管理 介绍 发布/订阅模式允许微服务使用消息相互通信.生产者或发布者在不知道哪个应用程序将接收它们的情况下向主题发送消息.这涉及将它们写入输入通道.同样,消费者或订阅者订阅该主题并接收其消息,而不知道是什么服务产生了这些消息.这涉及从输出通道接收消息.中间消息代理负责将每条消息从输入通道复制到所有对该消息感兴趣的订阅者的输出通道.当您需要将微服务彼此分离时,这种模式特别有用. Dapr 中的发布/订阅 API 提供至少一次(at-least-once)…
上一篇:手把手教你学Dapr - 6. 发布订阅 介绍 Actor模式将Actor描述为最低级别的"计算单元".换句话说,您在一个独立的单元(称为actor)中编写代码,该单元接收消息并一次处理一个消息,没有任何并发或线程. 再换句话说,根据ActorId划分独立计算单元后,相同的ActorId重入要排队,可以理解为lock(ActorId) 注:这里有个反例,就是重入性的引入,这个概念目前还是Preview,它允许同一个链内可以重复进入,判断的标准不止是ActorId这么简单,即自己…
目录 手把手教你学Dapr - 1. .Net开发者的大时代 手把手教你学Dapr - 2. 必须知道的概念 手把手教你学Dapr - 3. 使用Dapr运行第一个.Net程序 手把手教你学Dapr - 4. 服务调用 手把手教你学Dapr - 5. 状态管理 手把手教你学Dapr - 6. 发布订阅 手把手教你学Dapr - 7. Actors 手把手教你学Dapr - 8. 绑定 介绍 使用绑定,您可以使用来自外部系统的事件触发您的应用程序,或与外部系统交互.这个构建块为您和您的代码提供了几…
目录 手把手教你学Dapr - 1. .Net开发者的大时代 手把手教你学Dapr - 2. 必须知道的概念 手把手教你学Dapr - 3. 使用Dapr运行第一个.Net程序 手把手教你学Dapr - 4. 服务调用 手把手教你学Dapr - 5. 状态管理 手把手教你学Dapr - 6. 发布订阅 手把手教你学Dapr - 7. Actors 手把手教你学Dapr - 8. 绑定 手把手教你学Dapr - 9. 可观测性 介绍 通过Tracing(跟踪).Metrics(指标).Logs(日…
这篇文章来自 Github 上的一位开发者收集整理的 Node.js 中文学习资料和教程导航.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念,它的目标是帮助程序员构建高度可伸缩的应用程序.这些参考资料和教程能够帮助你更好的掌握 Node.js 的应用. 您可能感兴趣的相关文章 10大流行的 Metro UI 风格 Bootstrap 主题 推荐35款精致的 CSS3 和 HTML5 网页模板 让人爱不释手的精美 Web 应用程序图标素材 赞!10套精美的…
这篇文章来自 Github 上的一位开发者收集整理的 Node.js 中文学习资料和教程导航.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念,它的目标是帮助程序员构建高度可伸缩的应用程序.这些参考资料和教程能够帮助你更好的掌握 Node.js 的应用. Node.js HomePage Node官网七牛镜像 Infoq深入浅出Node.js系列(进阶必读) Node.js中文文档 被误解的 Node.js Node.js C++ addon编写实战系列…
Node.js知识点学习 一.基本概念 Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台.可以说,Node.js开创了javascript模块化开发的先河,早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成 类.最后node.js的出现才开始有了js模块化开发的概念,这使得臃肿的js代码免去了命名冲突等一系列开发难题. Node最大的特点就是采用了异步式I/O与事件驱动的架构设…