🔍 登录 注册
分类:
标签: 共 1222 篇文章
js基础算法学习

js基础算法学习

移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组//递归实现function remove(arr, item) { var newArr = arr.slice(0); if (newArr.indexOf(item) === -1) { return newArr; } newArr.splice(newArr.indexOf(item), 1) return remove(newArr, item);}//循环遍历实现function remove1(arr, item) { var newArr = []; arr.forEach(function(e, index, arr){ if(e !== item){ newArr.push(e); } }) return newArr;}2.直接在原数组上操作function removeWithoutCopy(arr, item) { if (arr.index

大 大苹果 2018/4/22 👍 0 ⭐ 0 💬 0
配置静态服务器与nginx的安装与配置

配置静态服务器与nginx的安装与配置

centos服务器可用登录远端服务器ssh root@ip#输入密码登入终端执行netstat -tunlp如果显示相关服务的相关情况。则进行下一步,如果提示命令不存在则执行yum install -y net-tools配置静态服务器可以用的服务软件有apache、nginx等,这里以nginx为例。nginx的安装相关准备如下:首先先安装nginx所需的依赖#安装nginx依赖yum install zlib zlib-devel openssl openssl-devel pcre-devel -yyum install -y make gcc gcc-c++ -y下载nginxnginx下载地址:http://nginx.org/en/download.html我们可以通过wget下载,当然首先要先安装wget#如果没有wget则执行yum install -y wget wget http://nginx.org/download/nginx-1.12.2.tar.gz#nginx安装另一个依赖pcre只要解压不需安装wget https://ftp.pcre.org/pub

大 大苹果 2018/4/17 👍 0 ⭐ 0 💬 0
兔子繁殖问题编程

兔子繁殖问题编程

问题如下:有人养了一对兔子,这对兔子以后每月生一对兔子,新生兔子从第三个月开始,也是每月生一对兔子,问 12 个月后这人有多少对新生兔子?首先分析:从上可以知道,从3月份开始每月增加的兔子对数成等差数列,因此此题从3月份开始可以通过求等差数列的前n项和求每月的兔子对数。因为是从三月开始所以n= n- 2; 首项为1,化简后得:result = 2 + (n - 2) + (n * n - 5n + 6) / 2; 其中n要大于等于2;1月则返回1对兔子C语言编程如下:/* 有人养了一对兔子,这对兔子以后每月生一对兔子,新生兔子从第三个月开始,也是每月生一对兔子,问 12 个月后这人有多少对新生兔子 */#include <stdio.h>int main() { int n = 0; int result = 0; printf("请输入月份:"); scanf("%d", &n); if (n == 1) { result = 1; } else { result = 2 + (n - 2) + (n * n - 5 *

大 大苹果 2018/4/11 👍 0 ⭐ 0 💬 0
前端开发面试题

前端开发面试题

前言只看问题点这里看全部问题和答案点这里本文由我收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习、透彻学习,形成自己的知识链。万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的!也是不可能的!不可能的!不可能的!前端还是一个年轻的行业,新的行业标准, 框架, 库都不断在更新和新增,正如赫门在2015深JS大会上的《前端服务化之路》主题演讲中说的一句话:“每18至24个月,前端都会难一倍”,这些变化使前端的能力更加丰富、创造的应用也会更加完美。所以关注各种前端技术,跟上快速变化的节奏,也是身为一个前端程序员必备的技能之一。最近也收到许多微博私信的鼓励和更正题目信息,后面会经常更新题目和答案到github博客。希望前端er达到既能使用也会表达,对理论知识有自己的理解。可根据下面的知识点一个一个去进阶学习,形成自己的职业技能链。面试有几点需注意:(来源寒冬winter 老师,github:@wintercn)面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。题目类型: 理论知识、算法、项目细节、技术视野、开放性题、工作案例。细节追

大 大苹果 2018/4/10 👍 0 ⭐ 0 💬 0
为什么网页游戏广告如此恶心,令人作呕,开发的人三观不正吗?

为什么网页游戏广告如此恶心,令人作呕,开发的人三观不正吗?

为什么网页游戏广告如此恶心,令人作呕,开发的人三观不正吗?

大 大苹果 2018/4/3 👍 0 ⭐ 0 💬 0
nodejs理论学习

nodejs理论学习

Node基础概念1. 为什么要用node?参考答案: 总结起来node有以下几个特点:简单强大,轻量可扩展.简单体现在node使用的是javascript,json来进行编码,人人都会;强大体现在非阻塞IO,可以适应分块传输数据,较慢的网络环境,尤其擅长高并发访问;轻量体现在node本身既是代码,又是服务器,前后端使用统一语言;可扩展体现在可以轻松应对多实例,多服务器架构,同时有海量的第三方应用组件.2. node的构架是什么样子的?参考答案: 主要分为三层,应用app >> V8及node内置架构 >> 操作系统. V8是node运行的环境,可以理解为node虚拟机.node内置架构又可分为三层: 核心模块(javascript实现) >> c++绑定 >> libuv + CAes + http.3. node有哪些核心模块?参考答案: EventEmitter, Stream, FS, Net和全局对象node全局对象1. node有哪些全局对象?参考答案: process, console, Buffer和exports2. process有哪些常用方法?参考答案: proce

大 大苹果 2018/4/2 👍 0 ⭐ 0 💬 0
javascript作用域与函数与闭包

javascript作用域与函数与闭包

使用递归获取后代元素作用域什么是作用域变量起作用的范围什么是块级作用域JS中没有块级作用域,使用代码块限定的作用域就是块级作用域JS中的作用域叫做 词法作用域词法作用域在代码写好的时候,就能确定变量的作用域,这种作用域就是词法作用域动态作用域.(是词法作用域就不可能是动态作用域)在js当中,只有函数能创造作用域var num = 123; function f1(){ console.log(num); //如果是动态作用域打印的就是456 如果是词法作用域 打印123 } function f2(){ var num = 456; f1(); } f2();变量提升JS代码的运行分两个阶段 预解析阶段 变量名和函数提升 将var声明的变量名和function开头的函数进行提升 提升到当前作用域的最上方 * 执行阶段注意: 1.变量和函数同名的时候 只提升函数,忽略变量名 2.函数同名的时候 都提升,但是后面的函数会覆盖前面的函数 3.函数表达式,只会提升变量名,不会提后面的函数4.变量提升只会将变量和函数提升到当前作用域的最上方 funciton foo()

大 大苹果 2018/4/1 👍 0 ⭐ 0 💬 0
javascript面向对象学习之继承

javascript面向对象学习之继承

继承混入式继承for in 使用for in遍历对象1的属性,将所有的属性添加到另外一个对象2上 这时候就可以称 对象2 继承自 对象1原型继承利用对象的动态特性,为原型对象添加成员直接替换原型对象 1.替换前的对象,在替换之后,所有的成员都丢失 2.替换原型对象的时候,需要手动去指定原型对象的construtor属性利用混入给原型对象添加成员经典继承var 对象1 = Object.create(对象2);这个时候,创建出来的对象1继承自对象2Object.create方法存在兼容性问题 如何解决? 1.检测浏览器是否支持Object.create方法,如果不支持,直接手动给Object添加create方法 2.自定义函数,在函数内部判断浏览器是否支持Object.create方法,如果不支持,则手动创建对象返回,否则直接调用 function create(obj){ if(Object.create){ return Object.create(obj); }else{ function F()

大 大苹果 2018/3/24 👍 0 ⭐ 0 💬 0
node基础知识学习

node基础知识学习

写出Math Array String 自带的方法,各五个给String,添加一个 getLengt()方法,例如var str ='sss'; str.getLength();,结果为 3用 javascript 实现数组去重书写正则表达式,匹配 浮点数下列代码的输出结果var User = {count: 1,getCount: function() { return this.count;}};console.log(User.getCount());var func = User.getCount;console.log(func()); 说说你对闭包的理解,闭包的好处编写代码实现,每隔一分钟异步读取一次 file.logs 文件 ,输出文件中的信息怎么解决 javascript 嵌套回调问题session 的原理,客户端禁用cookie后 怎么使用session遍历一个 javascript 对象,例如{name:'lucy',age:15}express 怎么获取,get 和post方式的传参完成一个函数,接受数组作为参数,数组元素为整数或者数组,数组元素包含整数或

大 大苹果 2018/3/24 👍 0 ⭐ 0 💬 0
node理论学习

node理论学习

1. 启动一个Node Server,通过这个Server访问一个php文件,怎么输出运行解析php后的结果?2. 怎么在Node里实现一个类似php里的sleep()函数?function sleep(milliSeconds) { var startTime = new Date().getTime(); while (new Date().getTime() < startTime + milliSeconds); }; sleep(10000); 3. Node 自诩异步编程是它的优势,为什么在引用外部包的时候(require()函数)是同步方法,而非异步方法4. Node 里有readFile和对应的同步方法readFileSync,但http.get() 却没有 http.getSync(),如果要实现一个http.getSync(),怎么做?

大 大苹果 2018/3/24 👍 0 ⭐ 0 💬 0
nodejs相关原理

nodejs相关原理

什么是错误优先的回调函数?如何避免回调地狱?如何用Node来监听80端口?什么是事件循环?哪些工具可以用来保证一致的编程风格?运算错误与程序员错误的区别?使用NPM有哪些好处?什么是stub?举个使用场景?什么是测试金字塔?对于HTTP API,如何利用测试金字塔?你最喜欢的HTTP框架,并说明原因?现在,我们依次来解答这些问题吧。什么是错误优先的回调函数?错误优先的回调函数用于传递错误和数据。第一个参数始终应该是一个错误对象, 用于检查程序是否发生了错误。其余的参数用于传递数据。例如:fs.readFile(filePath, function(err, data) { if (err) { //handle the error } // use the data object});解析:这个题目的主要作用在于检查被面试者对于Node中异步操作的一些基本知识的掌握。  如何避免回调地狱你可以有如下几个方法:模块化:将回调函数分割为独立的函数使用Promises使用yield来计算生成器或Promise解析:这个问题有很多种答案,取决你使用的场景,例如ES6, ES7,或者一些控

大 大苹果 2018/3/24 👍 0 ⭐ 0 💬 0
​redis消息通知(任务队列和发布订阅模式)

​redis消息通知(任务队列和发布订阅模式)

1. 任务队列1.1 任务队列的特点任务队列:顾名思义,就是“传递消息的队列”。与任务队列进行交互的实体有两类,一类是生产者(producer),另一类则是消费者(consumer)。生产者将需要处理的任务放入任务队列中,而消费者则不断地从任务独立中读入任务信息并执行。任务队列的好处:松耦合。生产者和消费者只需按照约定的任务描述格式,进行编写代码。易于扩展。多消费者模式下,消费者可以分布在多个不同的服务器中,由此降低单台服务器的负载。1.2 Redis实现任务队列使用Redis实现任务队列首先想到的就是Redis的列表类型,因为在Redis内部,==列表类型是由双向链表实现==的。实现任务队列,只需让生产者将任务使用LPUSH加入到某个键中,然后另一个消费者不断地使用RPOP命令从该键中取出任务即可。//生产者只需将task LPUSH到队列中127.0.0.1:6379> LPUSH queue task(integer) 1127.0.0.1:6379> LRANGE queue 0 -11) "task"//消费者只需从队列中LPOP任务,如果为空则轮询。127.0.0.1:63

大 大苹果 2018/3/22 👍 0 ⭐ 0 💬 0