自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

软件哲学

方法比技术更重要

  • 博客(301)
  • 资源 (13)
  • 收藏
  • 关注

原创 在Vue.js中应该避免的三件事

尽量避免使用行内事件代码(inline script)这是一个行内事件代码 的例子<div @click="alert('hello world'); doSomething();" />这种代码虽然第一次写起来很简单,但是很容易出bug。这样做有两个缺点。VS Code 无法检查行内事件代码的错误VS Code没有办法帮你检查模板中的行内事件代码,所以请尽量不要写行内事件代码。你可能会觉得有些代码很简单,你可以直接看出有没有错误。但实际上,大多数时间我们都看不出一些简单的错误。比如

2023-02-20 03:23:02 339 1

原创 Jest单元测试最佳实践1:使用eslint-plugin-jest规范测试代码

项目中的荒草地我们经常只关注业务代码的代码质量,而忽略了测试用例的代码质量。这让单元测试代码狂野生长。从而导致单元测试代码往往不起作用。这也是有些程序员认为单元测试代码没什么用。所以我会分享我在项目中发现的jest单元测试最佳实践。从代码风格开始让我们从测试代码的风格开始吧。我们一般都会用eslint来规范业务代码。你是否尝试过使用eslint来规范单元测试代码呢?试试看 eslint-plugin-jest 吧。这是这个项目的页面https://www.npmjs.com/package/eslin

2021-04-28 12:42:02 1496 1

原创 如何解决测试动态加载vue组件的时候浅加载shallowMount不能用的问题

动态import带来的问题如果你在使用Vue的时候同时使用了动态加载,比如有两个组件Parent和Child。Parent会动态加载Child。Parent组件内容<template> <div> Parent <Child /> </div></template><script>export default { components: { Child: () => im

2020-05-13 15:52:30 2007 1

原创 调试javascript/nodejs单元测试的方法

本文会说明如何调试javascript 或者 nodejs的方法。该方法不局限于开发工具,你可以使用atom或者vscode。也不局限于测试框架,你可以使用vue-test-utils, mocha, jest等等。步骤在要调试的代码处加debugger 打开Chrome(谷歌浏览器),并在地址栏输入 chrome://inspect ,选择 Open dedicated DevToo...

2019-12-27 03:46:49 640

原创 《HBase不睡觉书》

《HBase不睡觉书》京东购买链接:https://item.jd.com/12280151.html亚马逊购买链接:https://www.amazon.cn/dp/B078X66CTS当当购买链接:http://product.dangdang.com/25216089.html...

2018-12-26 17:06:45 1611

原创 Vue 不睡觉教程3 - 来点实在的:自动计算剩余时间的任务列表

名字灵感来自我的书《HBase不睡觉书》 意为让你看了也不会想睡觉的教程 :)目标前两课教的是入门和文件结构。都没有什么实在的东西。这次我们要来点实在的。我们要做出一个待办列表。这个待办列表有以下特点:可以自动从文本中抽取出这件事情的开始时间 可以显示当前距离这件事情的开始时间还有多久,比如:23:40 回家 (还有 6 小时 36 分 15 秒) 如果当前时间已经超过了计划时间,...

2018-10-04 09:48:46 4156 12

原创 虚拟浏览器 JSDOM 学习笔记

这篇文章只是个人学习笔记,所以结构不清,信息不全,建议阅读原版项目手册。 JSDOM 是用nodejs实现的用于测试的虚拟浏览器。基本例子const dom = new JSDOM(``, { url: "https://example.org/", referrer: "https://example.com/", contentType: "text/html",...

2018-09-24 15:15:33 3319

原创 Vue 不睡觉教程2 - 洋气的文件结构

名字灵感来自我的书《HBase不睡觉书》 意为让你看了也不会想睡觉的教程 :)目标我们这节课的目标在于通过改造上一课的例子来学习vue的文件结构Let's do it环境参数vue版本:2.5.16开始改造我们要开始改造上一节那个极土的例子,让它看起来洋气一点。很多教程上来把webpack跟vue绑在一起教,让很多原本不懂webpack的人以为webpack是vue的组成部分,或者是必不可少的部分...

2018-06-30 11:21:42 6932 12

原创 Vue 不睡觉教程1-从最土开始

环境参数vue版本:2.5.16安装虽然vue有很多种安装方式,但是最酷的是使用vue-cli方式安装。方法如下:安装vue-cli首先确保npm版本大于3.0:$ npm -v6.0.0如果低于3.0请升级npmnpm i -g npm全局装vue-clinpm i -g @vue/cli插曲:我第一次安装 vue/cli的时候,npm不断提示 ERR! write after endroot...

2018-06-21 08:22:19 21725 4

原创 Laravel Broadcasting广播机制(Redis + socket.io)-学习实例

借助Laravel Broadcasting你可以使用上时下很热的Websocket技术。

2018-05-26 08:42:32 17270 33

原创 计算机历史博物馆观后感:阿达·洛芙莱斯生平9(完结)

December 10, 2015, marks the 200th anniversary of the birth of Ada, Countess of Lovelace(1815-1852),  a remarkable person who was charming, temperamental, inquisitive, and intelligent.2015年11月10号是阿达·洛...

2018-04-30 02:03:55 1491

翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平8

"Where is it gone?"Charles Babbage and Ada Lovelace exchanged many letters as she worked on the details of her paper, translating an article by Luigi Menabrea, and adding "notes" that were three times...

2018-04-11 15:17:56 1291

翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平7

"The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform."分析引擎算不上是完全原创的东西。它可以做任何我们命令它去执行的事情。"The thinking machine"In 1833 Lady By...

2018-04-06 16:07:40 796

翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平6

Calculus of the nervous systemAlthough suffering increasing ill-health, Ada Lovelace maintained her interest in mathematics and science. Her idea that she might use mathematics to understand the nervo...

2018-03-25 09:21:08 868

翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平5

"A new, a vast, and a powerful language is developed for the future use of analysis, in which to wield its truths so that these may become of more speedy and accurate practical application for the pur...

2018-03-17 07:38:07 1553

翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平4

TranscriptionToday I have been flying particularly well and I think you ['would' crossed out] will really say I have much improved in that exercise. My wings are going on prosperously but do not expec...

2018-03-09 06:30:00 722

翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平3

"Is thy face like thy mother's, my fair child?"Lord Byron saw his daughter Ada for the last time in January 1816 when she was only one month old. In April he agreed to a formal separation from his wif...

2018-03-03 09:12:47 663

翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平2

A flying horseAda was an imaginative child. Her education fostered her interest in mathematics and science and she became fascinated by all things mechanical. Throughout 1828 her letters to her mother...

2018-03-01 16:24:33 872

翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平1

参观完坐落于硅谷的计算机历史博物馆后,很受触动。阿达·洛芙莱斯,拜伦之女,是世界上第一个程序员。"The more I study, the more insatiable do I feel my genius for it to be"“我学习的越多,我的才智就越贪婪”阿达之母:Annabella Byron的画像阿达小时候的画像Early notes on geography and ari...

2018-02-28 09:45:38 1965

翻译 如何在Centos7下升级Apache至最新版本

原文:https://crosp.net/blog/administration/install-latest-apache-server-centos-7/Apache是使用最广泛的应用部署软件。并且它也是所有服务器的必要组成部分。安装最新版本的apache意味着拥有更多最新的功能和修复了已知的BUG。介绍在这篇教程里面,我将会介绍在Centos7下安装最新版Apache的几个简单步骤。默认情况...

2018-02-20 07:16:10 13194 4

原创 监控/触发text input变化的事件大全,总有一个会命中

监控/触发text input变化的事件大全,总有一个会命中如果是要绑定text input的变化:elem.bind("propertychange change click keyup input paste", function(event){...})如果是要触发text input的变化:.trigger("propertychange").trigger("change").tri

2017-11-08 04:55:51 585

原创 当python找不到pip的时候

今天用python来安装oracle的驱动的时候出现如下错误» python -m pip install cx_Oracle --upgrade/usr/bin/python: No module named pip解决方案异常的简单:python -m ensurepip

2017-11-05 07:45:31 6799 1

原创 Underscore.js API 学习笔记

Collections_.first 可以挑选出数组中第一个元素,比[0]更可读_.reduce可以将整个数组合并成一个数字,第三个参数是初始值,如果没有就采用数组的第一个数字作为初始值var sum = _.reduce([1, 2, 3], function(memo, num){ return memo + num; }, 0);=> 6_.reduceRight 是 _.reduce的从右

2017-07-16 09:24:43 694

原创 用 Browserify 替换 require.js

我一直不喜欢require.js的AMD风格,没事就增加代码层级。刚开始我花了很多时间去理解这种风格。直到我偶然发现了Browserify,他可以用更扁平化的风格来写代码,这就是我理想中的简洁的代码结构。

2016-10-05 05:23:47 2020

翻译 如何在centos6.x 下建立swap文件

原文出处https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-centos-6Check for Swap Space检查Swap空间Before we proceed to set up a swap file, we need to check if any swap files have been enable

2016-08-28 03:08:11 1789

原创 git 下如何把另外一个分支的某个文件改动merge 合并到这个分支,而不是把整个分支merge过来

git 下如何把另外一个分支的某个文件改动merge 合并到这个分支,而不是把整个分支merge过来假设在分支A上改动了一个文件 f ,想把 f 合并到 B上,而不是把整个 A merge  到 B 上这时候使用以下命令:先切换到B上git checkout B然后再使用checkout 的 参数 --patch git checkout --patch A f中间会给出文件的内容然后说 not

2016-08-24 01:59:02 12850

原创 Git 如何快速的丢弃/抛弃/回滚本地的所有未stage的改动

有时候会看到git上有很多莫名其妙的 unstage的改动,可以确定不是自己做的,而且是可以丢弃的。可以使用把他们都隐藏 stash 起来,然后把stash区域清空掉git stash save --keep-index把垃圾桶直接倒掉git stash drop有人会问为什么不用git reset --hard因为git reset 会把连index 就是你已经加到index里面准备提交的改动都

2016-08-24 01:50:56 5982

翻译 xpath如何通过class来定位元素

xpath中没有提供对class的原生查找方法。但是我在stackoverflow上看到了一个很有才的回答。现翻译如下原帖链接(不管你能不能看到,总之原帖都是要贴的,要看到请自带天梯):http://stackoverflow.com/questions/1604471/how-can-i-find-an-element-by-css-class-with-xpathThis selector s

2016-08-11 06:35:36 17957

翻译 Linux下查看进程占用内存的最好方式

今天看到stackoverflow上关于linux下如何查看某个进程占用的内存是多少的回答,觉得非常棒,不过是全英文的,很多人可能看不懂,所以我翻译一下翻译自http://stackoverflow.com/questions/3853655/in-linux-how-to-tell-how-much-memory-processes-are-using查看进程占用的内存的方式可能比你想象中的要复

2016-08-09 06:44:53 8581

转载 如何在 Git 里撤销(几乎)任何操作

本文由 伯乐在线 - 老码农 翻译。未经许可,禁止转载!英文出处:GitHub 官博文章。欢迎加入翻译组。任何版本控制系统的一个最有的用特性就是“撤销 (undo)”你的错误操作的能力。在 Git 里,“撤销” 蕴含了不少略有差别的功能。当你进行一次新的提交的时候,Git 会保存你代码库在那个特定时间点的快照;之后,你可以利用 Git 返回到你的项目的一个早期版本。在本篇博文里,我会讲解某些你需要

2016-07-13 06:20:55 1766

原创 更换git默认冲突编辑器的方法

适用人群如果你用的是命令行界面来操作git,比如cygwin, babun之类的如果你是window用户那么你就需要更换一下git默认的冲突管理工具,git默认是vimdiff,这个工具是针对linux用户的,对于我们window用户来说不友好。目前最好的工具是perforce(一个版本管理工具,可能你们都没听说过,一般都是svn,cvs之类的,这个的确小众)自带的p4merge.先转perfor

2016-06-28 08:32:53 5032

原创 调试nodejs的方法(node-inspector)

node-inspector调试nodejs可以使用 node-inspector该项目的主页是https://github.com/node-inspector/node-inspector具体的用法全局安装 node-inspectornpm install -g node-inspector然后用 node-debug 来运行你的nodejs 文件node-debug app.js它会自动打

2016-06-25 09:59:08 3956 1

原创 有趣的Ruby-学习笔记7

RubyGems用Ruby一定会用到 RubyGems, RubyGems是Ruby下的包管理器,用过maven的人都知道包管理器的重要性。安装首先反问 RubyGems 官网 https://rubygems.org/pages/download此处我用本机的cygwin来演示如何安装

2016-03-03 14:59:04 1893

原创 有趣的Ruby-学习笔记6

Ruby 文件的输入与输出

2016-03-02 19:12:41 1384

原创 有趣的Ruby-学习笔记5

Ruby字符串单引号字符串单引号字符串没什么好说的,跟别的语言没什么区别双引号字符串在双引号字符串里面可以使用#{}来表达计算式的值,比如x, y = 12, 36puts "x + y 的值为 #{ x + y }" 如果你就是想同时用单引号和双引号,Ruby还提供 %Q 和 %q 来引导的字符串变量, %q 使用的是单引号规则, %Q 使用的是双引号规则比如 desc1 = %Q{Ruby

2016-02-29 17:42:24 1567

原创 有趣的Ruby-学习笔记4

Ruby块块,在我看来就是一段临时函数block_name{ statement1 statement2 ..........}看起来没啥用,不过块可以插入一个关键词叫  yieldyield 语句yield英文就是 屈服,放弃,不知道为什么用这个单词,难道是 此处函数就放弃了控制权?例子#!/usr/bin/ruby# -*- coding: UTF-8 -*-def

2016-01-09 12:54:47 1576

原创 有趣的Ruby-学习笔记3

Ruby方法方法名要以小写字母开头,如果用大写字母开头会被作为常量 (这点很奇怪)定义一个无参的方法def method_name expr..end定义一个有参的方法def method_name (var1, var2) expr..end给参数设定默认值def method_name (var1=value1, var2=value2) expr..end调用方法很

2015-12-30 00:32:36 1801

原创 有趣的Ruby-学习笔记2

注释单行注释就是 #多行注释比较奇怪是 用 = begin 和 =end#!/usr/bin/ruby -wputs "Hello, Ruby!"=begin这是一个多行注释。可扩展至任意数量的行。但 =begin 和 =end 只能出现在第一行和最后一行。 =end条件判断if conditional [then] code...[elsif conditional [t

2015-12-22 00:21:13 1440

原创 有趣的Ruby-学习笔记1

Ruby变量ruby支持5种类型一般小写字母、下划线开头:变量(Variable)。$开头:全局变量(Global variable)。@开头:实例变量(Instance variable)。@@开头:类变量(Class variable)类变量被共享在整个继承链中大写字母开头:常数(Constant)。变量变量的打印变量在打印的时候不能省略 大括号,别的类型变量都可以省略大括号,比如你这样打印变

2015-12-14 00:33:30 2260

转载 jQuery deffered和promise对象方法

一、前言为了让前端们从回调的地狱中回到天堂,jQuery也引入了Promise的概念。Promise是一种令代码异步行为更加优雅的抽象,有了它,我们就可以像写同步代码一样去写异步代码。jQuery从1.5版本开始实现了CommonJS Promise/A规范这一重量级方案,不过没有严格按照规范进行实现,有一些API上的差异。好,让我们来看看他们的特性吧(本文示例基于jQuery 1.8版本以上)。

2015-11-26 17:01:56 1646

phoenix-4.2.2-bin.tar.gz

Apache Phoenix 安装包 版本 4.2.2

2015-02-12

phoenix-3.2.2-bin.tar.gz

Apache Phoenix的安装包 http://phoenix.apache.org/Phoenix-in-15-minutes-or-less.html 版本 3.2.2

2015-02-12

mysql jdbc驱动 5.1.34

mysql jdbc驱动 5.1.34,很多人都用的上

2014-11-25

mysql-connector-java-5.1.34-bin.jar

mysql 的jdbc 驱动。mysql-connector-java-5.1.34-bin.jar

2014-11-25

zend debugger toolbar for chrome

用于chrome的zend 调试工具栏,配合 zend debugger 可以对php进行调试 具体步骤看我的文章: http://blog.csdn.net/nsrainbow/article/details/2218309

2013-08-16

ZendDebugger-5.2.10 for php 5.2.x

用于php 5.2.x 的 zend debugger,下载后解压开扔到 d:\zend\ZendDebugger.dll 然后添加这段到php.ini最后 [Zend] zend_extension_ts="d:/zend/ZendDebugger.dll" zend_debugger.allow_hosts=127.0.0.1/32,127.0.0.1/24 zend_debugger.expose_remotely=allowed_hosts 剩下的步骤具体看我的文章: http://blog.csdn.net/nsrainbow/article/details/2218309

2013-08-16

VE-runtime-1.2.3_jem.zip

eclipse 3.3的可视化编程利器——VE,需要的几个插件之一,全部需要的插件列表:emf-sdo-runtime-2.2.0,GEF-runtime-3.2,VE-runtime-1.2.3_jem,VE-SDK-1.2,注意版本!

2008-04-25

GEF-runtime-3.2.zip

eclipse 3.3的可视化编程利器——VE,需要的几个插件之一,全部需要的插件列表:emf-sdo-runtime-2.2.0,GEF-runtime-3.2,VE-runtime-1.2.3_jem,VE-SDK-1.2,注意版本!

2008-04-25

emf-sdo-runtime-2.2.0.zip

eclipse 3.3的可视化编程利器——VE,需要的几个插件之一,全部需要的插件列表:emf-sdo-runtime-2.2.0,GEF-runtime-3.2,VE-runtime-1.2.3_jem,VE-SDK-1.2,注意版本!

2008-04-25

iReport-JasperReports报表开发教程

ireport教程,一个很人性化的报表制作软件,用java编成

2008-04-20

JSEclipse

eclipse的编辑javascript最好插件,小巧,速度快,并且与eclipse结合完美,编辑js必备!

2008-04-20

jad对应3.3插件

对应eclipse3.3的jad插件,超级实用,可以按住ctrl+点击类名就直接跳到反编译后的源代码中

2008-04-20

implementors3.3插件

对应eclipse3.3的插件,超级实用的,直接在接口名上右键就可以定位到该接口在项目中的实现,做项目必备

2008-04-20

空空如也

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

TA关注的人

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