Yinode Blog

Wubba lubba dub dub

最小硬币问题 [动态规划]

问题 假设你当前拥有 3 元 6 元 7 元的硬币 数量为无限。问 假设你需要组合出 18 元,如何使硬币的数量最少 分析:我认为这个问题有点类似于 01 背包问题,很明显

解决微信小程序 chooselocation在ios下不能稳定触发的问题

setTimeout(() => { this.moveToLocation() // chooseLocation的包装函数 }, 150) 在页面onLoad生命周期里 用150ms的延迟来保证触发。具体原因未知,官方文档没有写,

算法导论笔记 多线程算法

多线程算法 相对我来说比较局限,因为 js 是单线程的,所以只做了解,后续如果要用到可以在进行进一步的掌握。 首先来讲,目前的大部分算法都是基于单线程

算法导论笔记 全点最短路径算法

复习 在我们之前的学习之中,已经了解三种不同的最短路径算法,他们在某些条件限制下拥有不同的性能 无权图 或者说权重全部相同 可以使用 广度优先搜索(借

算法导论笔记 动态规划番外篇 堆与优先队列

最近在学习动态规划的时候发现非常需要优先队列的的基础,所以转而先学习一下优先队列算法。这里就找了比较通用的堆来入手了解优先队列。 堆 首先这里的

算法导论笔记 十一 最短路径算法

最短路径 最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 假设我们拥有一条路径 P P 经过一些

算法导论笔记 十一 贪心算法 最小生成树

图论 最小生成树需要你掌握基本的图论 在书的附录中有介绍,可以先去看看 设 V 为 有向图(v,e)的顶点集 那么遍历这个图的成本为 O(V ^ 2) 如果一个有向图 G

Nginx 简单配置转发 显示一个基本的多服务结构

最近捣鼓了不少时间,起初想到要弄这个就是因为 node 直接起 server 的方式有点暴力,因为占用了 80 端口就是真的占用了,很难在用一个 80 端口挂多个 WebServ

几种排序算法

最近一直在复习排序算法,也有了不少更深入的解读,拿出来分享一下 冒泡排序 冒泡排序顾名思义,就是将一个个数字冒泡一样的推送到他该去的地方。 冒泡算

算法导论笔记 一 起步

算法 什么是算法 算法(algorithm),在数学(算学)和计算机科学之中,为任何良定义的具体计算步骤的一个序列,常用于计算、数据处理和自动推

算法导论笔记 二 分治法

名词解释 多项式级 即 n^2 n^3 可以被认为是可控的算法复杂度级别 指数级 x^n 级别 非常恐怖 分治法 分治法是一种极为重要的算法设计思想,他的核心思想就是把大问题

算法导论笔记 八 竞争性分析,自组织表

自组织表 先来理解两个概念 在线算法与离线算法 在线算法(也成为线上算法):是一个处理数据的一种方式,他不要求建立数据结构的时候所有数据源全部就绪

算法导论笔记 四 中位数与顺序统计

选择算法 所谓的选择算法,其基本规则就是从一个无序的数组中,找到第 i 小的值。 最简单的做法其实就是将数组排序,下标+1 就是它的 i。但是,就算依托

算法导论笔记 四 二叉搜索树

二叉树 二叉树本身就是非常常见的一种数据结构了,对于这种数据结构当然有一些基本操作 增删改查最大最小等等,一个二叉树的的基本操作都和二叉树的高度

算法导论笔记 四 全域哈希和完全哈希

HASH 算法的缺陷 首先,我们所了解到的所有简单的复杂的 HASH 函数总会拥有一些薄弱点,即输入一些特殊的 key 会很容易返回相同 KEY 导致多条数据插入到同一个槽中,

算法导论笔记 四 哈希表

直接寻址 相对于哈希表来说,直接寻址是一种更为简单的方法,即使用一组键集合 K 来代表一组相应的值 U,但是直接寻址受限于一个重要的缺陷,即K可能相

算法导论 七 平摊分析,表的扩增,势能方法

动态表 简单阐述一下动态表的基本思想,先建立一个表,当插入的元素大于表的大小时,建立一个新表(大小为旧表的两倍),并将旧表中的所有数据复制到新

算法导论笔记 九 动态规划

动态规划 动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过

算法导论笔记 五 扩充的数据结构、动态有序统计和区间树

这一章的主要内容其实是如何利用现有的数据结构来扩充成一个新的数据结构,并让这种新的数据结构具有一些神奇的特性。 动态顺序统计 我们在前面就学习了

算法导论笔记 六 跳跃表

跳跃表(skiplists) 跳跃表是一种增强版的链表,他能在O(lgn)的时间内完成搜索。 首先,我们熟知的链表本身具有的特性就是容易删除与增

React-Native 达达看书阅读器

What is React Native? React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的UI框架 React 在原生移动应用

使用React快速开发Chrome扩展程序

首先要说明的是这个文章其实属于翻译或者说转述,我是从google上搜索到了这篇原文,并且用它的构建流程成功开发了一个扩展,很爽,速度很快,五

为React-native添加redux

其实在网上随便一搜索 react 加 redux 的可以说特别的多,但是为 React-native 加的还真的很少,所以我在实践完成之后就打算记录一下在 RN 中如何启用 redux,其实和 React 的用

利用git的submodule(子模块) 来管理项目

我相信很多人都有过在一个项目中引入一个乃至多个库的经历,但是如果我们的主项目使用git来进行版本控制并且使用单纯的add&commi

Chrome扩展:电影资源提醒

预览 其实这个插件很早以前就完成了,但是实现的逻辑完全不一样,直接AJAX获取然后插入到插件页面中,问题就在最近Chrome版本一升级炸了,和

在Vue2.5中使用typeScript

本文的环境依旧是由Vue-cli工具初始化的。 安装 npm install typescript ts-loader --save-dev 配置 首先在webpack.base.config.js中设置一下基本的Loade

转制一个Todo App 为 PWA 应用

What is PWA? PWA全称Progress Web Application,也就是渐进式web应用,是由Google在2015年就提出的概念。它本质上是一个普

CSS3 transform 实现星球大战开场动画效果

灵感来自于segmentfault的一个页面,在看到之后仔细研究了一下transform的3d变形效果。 其实css3的3d效果也是伪3d,依

利用websocket技术实现一个俄罗斯方块对战游戏

预览 技术栈 主要利用了websocket,由于ws天生是可以跨域的,所以我将静态页面部署在了gh-page上,而负责后端交互的部分我放在了我的

解决移动端浏览器无法调用audio的play方法

最近在写一个移动端音乐播放器的时候遇到一个非常难受的问题,在PC可以正常调用audio标签的play方法,在在手机移动端上的绝大部分浏览器都

ECMAScript6 入门

最近尝试了解一些函数式编程(Function program)的东西,但是很多的语法都用到了ES6,所以先开始学习一下ES6吧。特别是prom

gulp+webpack+babel+css压缩模块 实现自动构建工具

第一步 环境搭建流程 以下均按照流程 创建工程目录 C:. ├─.idea ├─app //开发目录 │ ├─.idea │ ├─css │ ├─doc │ ├─img │ ├─

Javascript 中的函数式编程

函数式编程 作为一种越来越重要的编程泛型,我在学习完SICP之后也见识到了他极为强大的抽象能力,但是如何把函数式编程中的技巧合理合适的运用到J

Javascript 设计模式

模式可以认为是前人对于编程问题的解决方案,而所有的设计模式的主题都是分离多变的部分和恒定的部分。 单例模式 单例模式值得就是只有一个实例的模式。

Javascript 高阶函数

最近在看一些关于设计模式的书。对高阶函数的应用方面做一些记录 AOP AOP意为面向切面编程,主要思想就是把那些跟业务逻辑无关的部分抽离出来,比如日

JavaScript数据结构 二叉树

JavaScript 二叉树 最近在学习一些数据结构方面的知识,稍作记录。 二叉树的创建 首先二叉树是一种树形的结构,那么他的特点就是每个构建树的节点最多只有两个子节

LOL模拟抽奖

最近试着写了一个LOL模拟抽奖的页面,大家可以随便玩玩,也没任何广告。 删除了一小部分失效的英雄,皮肤部分没动。 所有英雄皮肤的几率都是正好平分

markdown pad 2 激活码

邮箱: Soar360@live.com 授权秘钥: GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6xhMNLGVpbP2M5SN6bnxn2kSE8qHqNY5QaaRxmO3YSMHxlv2EYpjdwLcPwfeTG7kUdnhKE0vVy4RidP6Y2wZ0q74f47fzsZo45JE2hfQBFi2O9Jldjp1mW8HUpTtLA2a5/sQytXJUQl/QKO0jUQY4pa5CCx20sV1ClOTZtAGngSOJtIOFXK599sBr5aIEFyH0K7H4BoNMiiDMnxt1rD8Vb/ikJdhGMMQr0R4B+L3nWU97eaVPTRKfWGDE8/eAgKzpGwrQQoDh+nzX1xoVQ8NAuH+s4UcSeQ==

Vue.js slot 初探

假设你拥有父组件A,子轮播图组件B,你想在用A中使用B, 假设你使用slot对其进行模板的传递 <div class="slider-wrapper"> <slider> <div v-for="item of slider"> <a href=""><img :src="item.pic" alt=""></a> </div> // slot </slider> </div> // 但是轮播必然牵

Vue.js TODO APP

展示 为了更好的学习vue,所以找个一个todoList的渲染图,动手制作一个todoApp。因为渲染图是纯移动端的,所以我的布局逻辑优化都是

使用socket.io实现极简即时通讯

展示 代码 两份文件,client server //test.html <!DOCTYPE html> <html lang="en"> <head> <title></title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="https://cdn.bootcss.com/socket.io/2.0.3/socket.io.js"></script> </head> <body> <input type="text" id="input"> <button id="sendMess">send</button> </body> <script type="text/javascript"> let socket = io("ws://localhost:4500/") //show APi function showMessage(str,type){ let box = document.createElement("div") box.innerHTML = str if(type === "enter"){ box.style.color = "#33B5FF"; }else if(type === "leave"){ box.style.color === "red" }else{

利用 require.js 实现组件化开发

最近使用require尝试开发了一个弹窗组件,所以把一些组件化的思想和过程记录下来。 使用的库 jQuery require jQueryUI 实现的功能 三种流行的弹窗 带有宽高位置设置 可

利用gh-pages展示自己的DEMO

之前一直都是用的git-demo-preview来展示预览自己做的DEMO和工程,但是有很多不足 会加载很多无关的JS 访问速度不够理想 所以最近

利用require组件化开发侧边栏和轮播图

最近学习require趁热打铁写了两个非常常见的组件,一个是侧边栏的插件,一个是轮播图或者叫他选项卡。不得不说组件化开发非常的清晰,便于管理

对DOM样式操作浏览器前缀做抽象包装

我们在做一些DOM操作的时候,常常利用到修改样式来进行一个动画,但是这种用到的样式属性往往是有前缀的。而在CSS中其实是有自动prefix的

我的Webpack实战

关于Webpack Webpack 是一个前端资源加载/打包工具。 它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。 一份基

改写Node.js中的回调为Promise

传统的回调 首先让我们看一下在NODE中传统的异步读取文件 let fs = require("fs") fs.readFile("./justtest.html","utf-8",(err,data)=>{ console.log(data); }) //普通的回调方式处理异步 我们可以看到,读取文件之后的回调被添加到了参

组件化开发WebAPP(gulp+webpack+bebal+es6)

介绍 实现了那些功能 构建工具 最近glup玩的比较多,所以自己实现了一个自动构建的环境他的主要目的是从app目录的那些开发文件部署到server

节流与防抖函数

记录一下最近接触到的算法 节流与防抖 这两个函数都用于限制函数的执行。 debounce 函数防抖就是让某个函数在上一次执行后,满足等待某个时间内不再触发此函数后

SICP 计算机程序的构造与解释笔记

前言 最近一直在学习SICP这本书,基本上结合书与视频一起学习,可以说这真的是一本奇书,他从高阶抽象开始到介绍DSL乃至流,最后又开始讨论la