自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Richardwei~的专栏

越努力越幸运

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 ES6之Proxy-用20行代码写一个API SDK

ES6之Proxy-用20行代码写一个API SDK目的ES6 里新增了很多概念及语法,有很多我们日常开发都会用到,比如数组对象的解构,箭头函数,class 等等,但是类似 Proxy 这样的特性却很少用到(个人观点), 借这个机会, 简单的过一遍 Proxy 相关的概念及适用场景。准备完成这样一个任务,我们需要知道哪些知识点呢?Proxy 的基本概念API 基...

2018-03-22 09:29:05 987 1

原创 是时候了解一下「IPFS」

博客正在迁移,请前往 博客地址 阅读,谢谢!

2018-06-04 17:41:20 321

翻译 (译) 你不知道的 git log

原文链接假设您正在与多个开发者共同维护管理复杂的 git 代码库,那您可能会使用GitHub 或 BitBucket 等工具有深入研究提交历史,并且希望从中找出分支以及合并 issue 的相关问题。图形化界面为用户提供了非常友好的接口来管理 PR 以及查看一些简单的历史记录,但是当工作流程 SHTF (译者注: 这里我理解为是混乱、糟糕的意思) 已经不能用 git log 来替代...

2018-04-12 15:30:33 709

原创 细说javascript中的“指针”

故事背景 最近有朋友问我为什么我运行js代码会抛出如下异常const Hoek = require('hoek');^^^^^SyntaxError: Use of const in strict mode.} 代码中有些乱码咱们就不细看,如果我们了解ES5的话,这是ES5所提供的严格模式, 解决方法可以是在文件或代码前加上”use strict”,如果

2018-01-17 09:39:41 18873 1

原创 nodejs通过tb-excel自定义解析Excel

众多的库中,能够很轻松的找到解析xlsx, csv格式文件的第三方库,并且有许多质量不错的库,如 node-xlsx , excel-parser, excel-export等,都能够帮助我们解析或者生成xlsx, csv文件,但是大部分都局限于文件GitHub背景在实际的生产环境中,为了避免大量的io和并发等性能压力,我们通常不会将文件直接上传或者生成到本地,比如我们要解析一个excel文件(

2017-08-11 16:26:41 1915

原创 nodejs导出excel实战

我们都知道nodejs的内存由于v8内存分配机制的原因十分有限64位系统也只能占1.4G左右, 因此当我们要生成或者读取大文件的时候内存的吃紧会给我们造成极大的困扰, 遇到这样的情况Node给了我们一个很好的解决方法 stream简单的了解一下流 流是数据的集合 —— 就像数组或字符串一样。区别在于流中的数据可能不会立刻就全部可用,并且你无需一次性地把这些数据全部放入内存。这使得流在操作大量数据

2017-06-23 09:33:13 13072 2

原创 nodejs提高工程安全、效率相关的中间件

应用加固:helmetHelmet是一系列帮助增强Node.JS之Express/Connect等Javascript Web应用安全的中间件。 一些著名的对Web攻击有XSS跨站脚本, 脚本注入 clickjacking 以及各种非安全的请求等对Node.js的Web应用构成各种威胁,使用Helmet能帮助你的应用避免这些攻击。安装Helmet:npm install helmet --save

2017-03-28 17:19:58 2849

原创 整理NodeJs相关学习资料

以下所提到的电子书籍均可在git ebooks中免费下载,仅供学习交流使用,觉得对您有帮助请给个star~作用域比如let与var的相关区别,都是作用域中很常见的基础知识垃圾回收传送门 :你不知道的JavaScript(上卷).pdfECMAScript 6 入门阮一峰老师的必读书籍:ECMAScript 6 入门JavaScript语言精粹JavaScript面向对象编程指南.pdfJ

2017-03-27 10:49:06 2514

原创 nodejs与nginx的完美搭配

引言node自己本身可以作为服务器进行驱动,但是node本身对文件的处理能力并不是很好,所以当我们的生产环境中应尽量使用nginx来处理静态的资源以及反向代理,同时也解决了node分布式以及负载均衡的相关问题。nginx的安装以及配置这里以cenos环境为基础进行配置1、基础编译环境的配置C/C++等编译工具以及工具库:yum -y install make zlib zlib-devel gcc-

2017-03-26 12:55:21 48298 5

原创 nodejs相关题目

前序大四下,创业失败开始找工作,开始了紧张繁忙的复习、笔试、面试,其中也遇到了许多挺有意思的题目,总结我遇到的挺有意思的一些Node或者JavaScript的笔试题目。1、node如何利用多核,请尽可能的给出几种解决方案。 答:①Multiprocessor Deployment: Using a Proxy,即每个核跑一个Node进程(fork),但是这种方式只是充分的利用CPU的资源,并没有

2017-03-24 11:35:56 2687

原创 mongodb诊断工具explain()最新API详解

起因 说道explain()我就不得不吐槽一下被坑的经过(假设你已知晓索引相关概念)在数据量和吞吐量越发庞大的今天,优化查询速度是提高系统性能的一个关键点,而获取这类相关信息的重要诊断工具之一就是explain(),引用用《MongoDb权威指南》书中的解释: 通过查看一个查询(find)的explain()输出信息,可以知道查询使用了哪个索引,以及是如何使用的。 最常见的输出有两种

2016-12-26 14:22:55 11624

原创 使用pm2躺着实现负载均衡

前言源码:https://github.com/Unitech/pm2 这里的pm2并不是大气污染物啊事实上,pm2 是一个带有负载均衡功能的Node应用的进程管理器,Node实现进程管理的库有很多,forever也是其中一个很强大但是也相对较老的进程管理器。为什么要使用pm2对于这个问题,先说说我的看法,最基本的原因是因为node本身是一个单线程应用,它的特点就是所有方法都是串行一次执行,并

2016-12-23 00:27:49 25502

原创 Linux下躺着搭建nodejs开发环境的正确姿势

凡是接触过node的伙伴都知道,node无论是生态还是第三方库现在都已经非常完善了,在国内最缺乏的就是相关的教程,我就在此为各位新入坑的麻瓜们讲一讲如何在生产服务器上部署node的开发环境,至于包含的npm相关的知识大家自行baidu或者google吧-。- 下面是官网下载的链接,这个不用多说,有两个版本,LTS和Current,会点英语的伙伴都知道,前者为稳定版本,通常在生产环境部署,后者为最

2016-12-18 23:26:31 6957 2

原创 Android位移动画之——TranslateAnimation实现大师哥运送快递动画

一、背景Android中的动画效果是一个非常强大的功能,在使用过程中极大地提高的用户的视觉以及操作体验,Animations是一个实现Android UI 界面动画效果的API,Animation提供了一系列最基本的动画效果,可以包含旋转,缩放,淡入淡出等等,而Android中大多数控件都可以应用到这些动画。二、分类Android的动画大致分为补间动画(Tween Animation)

2016-07-29 12:08:43 15923 2

转载 Android开机过程

转载自:https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android开机过程.md     感谢!!BootLoder引导,然后加载Linux内核.0号进程init启动.加载init.rc配置文件,配置文件有个命令启动了zygote进程zygote开始fork出SystemSer

2016-06-25 20:57:18 910

原创 Android开发技巧——五分钟实现二维码识别

二维码扫描解析现在已经成为一个综合型APP所不可或缺的一个功能了,有很多入门的开发者或许会苦恼二维码识别肯定是得会图像分析技术呀,难道还得学opencv吗?NO,Google早已想到这一点,因此也开源了二维码扫描、生成的代码——zxing,ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种

2016-06-07 23:02:42 29187 15

原创 Android练手——分贝计

博主是通信工程学院的学生,不过很不幸对通信一点都不感冒-。-!,从大一开始就走上了编程这条不归路,前几天实验考试被老师质疑是不是通信工程学院的学生咋BPSK都不知道,甚伤我心,为了证明我还是知道一点专业知识的,正好这两天预习光纤通信涉及dB(分贝),不是数据库啊!,所以就写一个Android上的分贝计,当然,在进行开发之前dB的背景知识以及相关公式必须得了解~,我也查了很多资料,下面是小米博客所介

2016-06-06 21:12:06 5419 1

原创 Android自定义view之ProgressBar的实现

在学习自定义view之前我们必须先来了解一下attrs.xml这个文件,这个文件实际上定义了所有的控件的属性,就是我们在布局文件中设置的各类属性,因此在自定义控件属性的时候,创建一个attrs.xml文件来定义控件属性是十分重要的,下面我们开始进行项目的第一部分一、attrs.xml文件的编写首先在values文件下新建attrs.xml文件

2016-05-25 19:57:57 1359

原创 Mac/Linux下安装及连接mysql的坑

在mac下安装MySQL非常简单,http://dev.mysql.com/downloads/mysql/,在官网下载dmg包之后进行傻瓜式安装,一直点击下一步直到完成,但是安装完成之后mysql会自动生成一个随机密码,并不是别的教程所说密码为空,如图因此我们必须将此密码记住下来,否则接下来会出现以下的情况:这其实就是密码错误的意思,当然,如果我们忘记mysql的

2016-05-24 14:21:28 2736

原创 java基本排序算法总结 (二)——快速排序法

在网上论坛上看了很多例子,快速排序算法是各公司面试笔试常考的一种算法,并且在平时的实际应用中表现形式和实现过程也是非常优秀,笔者认为快速排序法的思想就是基于冒泡排序法,冒泡排序法是将相邻元素进行比较来进行元素的交换排序,而快速排序法则通过确定一个基准元素,将比它大或者小的的元素分别归为一组从而进行递归排序,这里具体的实现结果有点像二分法的概念。在这里借用一张网上的图片来进一步解释

2016-05-09 13:19:18 1712

原创 java基本排序算法总结(一)——冒泡排序法

package test;/* * * @author:Richardwei * @description:冒泡排序法 */public class Test { public static void main(String[] args) { int a[] = { 33, 21, 54, 55, 666, 345, 543, 2, 678 };

2016-05-09 11:50:40 743

原创 简述list,map,set, queue的区别

List是集合类的接口,子类有ArraryList 和LinkList,通常在Android开发中我们常用的是arrayList,来将数据进行插入和移除。其次map也是一个集合映射,不过是键值对的映射,也就是key , value形式,比如当我们需要查询其中的某个对象时,只需要查询其key便能直接获取到他的value(值),就像一个小型的数据库,也有类似于hashmap , Linkedh

2016-03-18 23:31:33 3506

原创 http与https的区别

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。什么是SSL:通过百度,查到SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Tran

2016-03-18 13:30:43 773

转载 android设计模式

一般来说,常用的设计模式有以下八种:单例、工厂、观察者、代理、命令、适配器、合成、访问者单例模式:目的是为了让系统中只有一个调用对象,缺点是单例使其他程序过分依赖它,而且不同单例运行在不同进程中,使得维护困难;工厂模式:生产固定的一些东西,如抽象类,缺点是产品修改麻烦;如喜欢动作片和爱情片的人分别向服务器发出同一个请求,就可以得到他们想看的影片集,相当于不同对象进行同一请求,需求均

2016-03-15 20:03:45 702

原创 Android进程和线程的区别

恩恩,今天参加阿里的面试,被问到Android中进程和线程的区别,着实把我伤脑了,表示平时开发的时候只知道线程,并没有去仔细关注过进程,所以下来特地去查了以下资料,先说说线程:(1)在Android APP中,只允许有一个主线程,进行UI的渲染等等,但是不能进行耗时操作(网络交互等等),否则会造成ANR,就是线程阻塞卡死,未响应。(2)除了主线程之外,耗时操作都应该规范到子线程中,线程之间

2016-03-15 20:02:01 9360

原创 RecycleView的学习和总结

自从接触Android studio以后,对全新的Android UI设计理念以及V7包都有了全新的认识和学习掌握的渴望,因此特地去看了一下全新控件RecycleView的使用,总结如下。他的用法与listview的用法差不多,主要由:adapter、排列布局、执行动画三个部分构成,其中adapter不需要再继承自baseadapter , 转而继承RecyclerView.Adapter这个属性,

2015-12-18 23:31:37 1645 1

转载 Android的混淆打包原理

proguard 原理Java代码编译成二进制class 文件,这个class 文件也可以反编译成源代码 ,除了注释外,原来的code 基本都可以看到。为了防止重要code 被泄露,我们往往需要混淆(Obfuscation code , 也就是把方法,字段,包和类这些java 元素的名称改成无意义的名称,这样代码结构没有变化,还可以运行,但是想弄懂代码的架构却很难。 proguard 就是

2015-09-08 20:43:55 1561

原创 Android开发利器(Logcat 、DDMS、ADB)的使用

先谈一谈LOGCAT的简单的使用方法吧,主要是用来在开发过程中捕获一些Log的信息,嗯,比如说面板(我就不截图了)上所显示的error、warning 、info和debug等等,这几个信息将会在调试或者开发中不断地刷新以及变化展示出来,其中的info信息应该是最有用的,只要在自己工程里的每一个方法中添加一段LOG代码,那么程序在调试过程中进行或者使用到这个方法的时候会告诉你,他是否执行了,是否成

2015-09-06 21:12:49 2467

原创 TCP/IP的三次握手

嗯,这个知识点我好奇了很久,以前也学过,但是都没有好好地去理解去学习,作为互联网基础知识的一部分,以及hr经常问到的一个问题,怎么也得了解透,那么首先分开来理解,TCP是什么。     TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成

2015-09-05 16:53:10 652

原创 Android开发之自定义控件与属性动画Animation的结合使用

一样的,V4包,eclipse上开发,笔者是根据一位叫做yayun0516的博主进行学习以及实现,除此之外再发表自己的一些见解以及增加合适的备注。 这个想法最近另笔者特别好奇以及羡慕,自定义控件的熟悉使用应该对一名Android开发者有较高的资历和能力要求,再加上与属性动画的使用,更是大大的提高了用户的体验度,嗯,废话不多说,贴代码和效果图~MineActivity.java类,也就是

2015-09-03 17:11:16 2880

原创 看杭电APP之头像选择弹出对话框(Dialog)

View view = getLayoutInflater().inflate( R.layout.photo_choose_dialog, null); final Dialog dialog = new Dialog(MainActivity1.this, R.style.transparentFrameWindowStyle); //为view中控件添

2015-09-01 17:30:57 1258

原创 关于编译顺序的总结

到目前总结一下一个程序的编译顺序吧,通常,在编译运行的过程中,会先调用基类构造器,不断地反复递归下去,首先是构造这种层次结构的根,然后是下一层导出类,直到最底层的导出类,下面举一个例子来说明:class One{ One(){ System.out.println("One"); }}class Else{ Else(){ System.out.println("Else")

2014-12-09 23:14:06 2544

转载 Java中为什么要使用内部

关于内部类的使用,你可能会疑问,为什么我们要使用内部类?内部类:顾名思义就是把一个类放在一个外围类的内部,比如:class OutterClass { class InnerClass { }}内部类能访问外围类的所有成员,包括私有成员。当生成一个内部类对象时,此对象与制造它的外围类对象之间就有了一种联系,所以它能访问其外围类对象的所有成员,而不需要任何

2014-12-09 13:52:59 767

原创 以下是《Learn Python The Hard Way, 2nd Edition》这本书的尾声部分。

(转自知乎)以下是《Learn Python The Hard Way, 2nd Edition》这本书的尾声部分。 看完了这本书,你决定继续做编程。也许它能成为你的一个职业,也许它能成为你的一项爱好。但你需要一些指导,确保自己不会走错了道路,或帮助你从这个新业余爱好中得到最大的乐趣。 我做了很久的编程。久的你都想象不出来,久的都让我苦恼。就在我写这本书的时

2014-12-07 01:13:01 841

原创 静态数据static的初始化的要点及个人心得体会

这是Java中一个非常重要的概念,只要理清其中的优先级顺序就能很好的掌握,具体内容可由以下的这段代码加以理解:class Bowl{ Bowl(int market){ System.out.println("Bowl("+market+")"); } void f1(int market){ System.out.println("f1("+market+")"); }}

2014-12-06 00:41:03 1130

原创 Java中垃圾回收机制finalize()

“  在使用程序库的时候,把一个对象用完后就弃之不顾的做法并不是安全的”   ——Java编程思想 先来看看你finalize()这个方法的工作原理:在JVM(Java虚拟机)中,在准备销毁对象所占用的内存之前,会先调用finalize()这个方法,来进行内存的销毁以及回收。但是finalize()并不是C++中的析构函数,并不需要每次都将对象完全销毁,只要在JVM内存没有满的那一

2014-12-04 00:18:25 1385

原创 Java中super的限定作用和引用变量的强制类型转换

例子,可以限定调用父类被覆盖的实例class BaseClass{ public int a = 5;}public class SubClass extends BaseClass{ public int a = 7; public void accessOwner() {  System.out.println(a); } public

2014-12-03 23:48:33 1570

原创 分享java程序设计中一个小程序:获取当前系统日期和时间在小程序中显示出来

import java.applet.Applet;import java.awt.TextArea;import java.util.Calendar;public class CurrentDateApplet extends Applet { /** * 获得当前系统日期和时间; author:Mr.J; */ private static final long ser

2014-11-08 14:06:49 2968

原创 java和Android都是新手,想学Android,怎样入门

坦白说,博主学习java和Android也才半年,也许入门都算不上,

2014-10-30 22:02:09 968

原创 关于安卓开发以及eclipse开发使用的一些经验(一)

在我们平时

2014-10-10 15:47:31 1542 1

杭周美食APK

杭周美食APK下载

2014-10-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除