Jasin Yip

回调函数 —— Node.js 学习笔记(3)

引言

Node.js 最大的特点就是异步式 I/O(或者非阻塞 I/O)与事件紧密结合的编程模式。这种模式与传统的同步式 I/O 线性的编程思路有很大的不同,因为控制流很大程度上要靠事件和回调函数来组织,一个逻辑要拆分为若干个单元。 ——「Node.js 开发指南」 By BYVoid

- 阅读剩余部分 -

Express —— Node.js 学习笔记(2)

前言

之前使用 http 模块来写 Node.js 代码,并使其可以在浏览器访问,但是需要自己控制所收到的请求或者需要自己控制返回的内容,比较麻烦,不过已经有人帮我们完成这个艰难的工作了,那就是Express

学习目标

第一次使用 Express,先试试写个简单的 HTML 文件,使服务器正确解释并且访问。

- 阅读剩余部分 -

Hello World —— Node.js 学习笔记(1)

写在前面

可能是因为前端做多了的缘故,对 Javascript 有莫名的偏爱,所以今天开始来试试学一下用 Javascript 来写服务端的程序——也就是学习 Node.js

学习目标

跟学习所有的语言一样,第一个 demo 当然是 Hello World 了。
所以这次也不例外,我先试试启动 HTTP 服务器,并在浏览器中显示 “Hello World”。

- 阅读剩余部分 -

Linux 系统 Bash 漏洞修复方法

  Linux官方内置Bash中新发现一个非常严重安全漏洞(点击查看漏洞参考),黑客可以利用该Bash漏洞完全控制目标系统并发起攻击。建议各位Linux使用者尽快修复这个漏洞!

受影响的系统

  • CentOS
  • Debian
  • Redhat
  • Ubuntu

检测方法

使用此命令:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"   

若输出

vulnerable   
this is a test    

则表示存在此漏洞。

修复后则会输出

bash: warning: x: ignoring function definition attempt 
bash: error importing function definition for `x' 
this is a test 

解决方案

红帽系

可通过更新 bash 并重启系统来解决这个问题:

yum update bash

更新后需要重启。

Ubuntu

apt-get update   
apt-get install bash

Ubuntu 无需重启。

计蒜客【挑战难题】系列讲解(十)寻找插入位置

题目

第10题:寻找插入位置

  给定一个已经升序排好序的数组,以及一个数target,如果target在数组中,返回它在数组中的位置。

  否则,返回target插入数组后它应该在的位置。
  假设数组中没有重复的数。以下是简单的示例:
  [1,3,5,6], 5 → 2
  [1,3,5,6], 2 → 1
  [1,3,5,6], 7 → 4
  [1,3,5,6], 0 → 0
  提示:输入一个整数n,以及其对应的数组A[n],最后输入target
  searchInsert(int A[], int n, int target)

- 阅读剩余部分 -