这个我就不废话了,假设你的Mac上已经安装好了。
二、安装nodejs
运行brew install node 即可,但是这样安装的node是最新node,最新的好像已经6.x了,
但是这个不是我想要的版本,我希望下周最新的4系列的稳定版本。
三、安装指定版本的node
1、需要安装homebrew-version
brew tap homebrew/versions
2、查看可安装的node版本
brew install homebrew/versions/node
» 阅读全文
jincon 发表于 2016-08-26, 2:23 PM
这个我就不废话了,假设你的Mac上已经安装好了。
运行brew install node 即可,但是这样安装的node是最新node,最新的好像已经6.x了,
但是这个不是我想要的版本,我希望下周最新的4系列的稳定版本。
» 阅读全文
jincon 发表于 2016-05-12, 2:23 PM
定位功能(Geolocation)是html5的新特性,因此只有在支持HTML5的现代浏览器上运行,特别是手持设备如iphone,地理定位更加精确。首先我们要检测用户设备浏览器是否支持地理定位,如果支持则获取地理信息。注意这个特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的,所以我们在访问该应用时会提示是否允许地理定位,我们当然选择允许即可。
function getLocation(){ if (navigator.geolocation){ navigator.geolocation.getCurrentPosition(showPosition,showError); }else{ alert("浏览器不支持地理定位。"); } }
» 阅读全文
jincon 发表于 2016-04-01, 1:59 PM
我们知道在多线程写入同一个文件的时候,会存现“线程安全”的问题(多个线程同时运行同一段代码,如果每次运行结果和单线程运行的结果是一 样的,结果和预期相同,就是线程安全的)。如果是MySQL数据库,可以使用它自带的锁机制很好的解决问题,但是,在大规模并发的场景中,是不推荐使用 MySQL的。秒杀和抢购的场景中,还有另外一个问题,就是“超发”,如果在这方面控制不慎,会产生发送过多的情况。我们也曾经听说过,某些电商搞抢购活 动,买家成功拍下后,商家却不承认订单有效,拒绝发货。这里的问题,也许并不一定是商家奸诈,而是系统技术层面存在超发风险导致的。
1. 超发的原因
假设某个抢购场景中,我们一共只有100个商品,在最后一刻,我们已经消耗了99个商品,仅剩最后一个。这个时候,系统发来多个并发请求,这批请求读取到的商品余量都是99个,然后都通过了这一个余量判断,最终导致超发。(同文章前面说的场景)
» 阅读全文
jincon 发表于 2015-09-14, 9:32 PM
.md文件是啥,大家不陌生吧?MD后缀名的文件就是Markdown文件,Markdown 是一种轻量级的标记语言。
但是如何搭建自己的kramdown解析器解析.md(makedown)文件呢。
开搞环境:
centos+nginx+php+kramdown
1、首先:
yum install ruby rubygems
Gem是一个管理Ruby库和程序的标准包,这就不多说了,我不是很懂,反正就玩玩嘛,
» 阅读全文
jincon 发表于 2015-06-08, 9:41 AM
【基础知识】
webview是Android用于浏览网页的组件,它的接口函数addJavascriptInterface可以实现网页JS与本地JAVA的交互,但是没有限制已注册JAVA类的方法调用,导致可以利用反射机制调用未注册的其它任何JAVA类。
当Android用户访问恶意网页时,会被迫执行系统命令,如安装木马、盗取敏感数据等。
【漏洞重现】
构建一个使用Webview组件的程序,
1)AndroidManifest.xml添加网络访问权限
» 阅读全文
jincon 发表于 2015-05-15, 12:48 PM
为了便于WEB
端统计分析,需要将APP
的 user-agent 作特征标记,所以搜索了一下android
对webview
的User-Agent设置方法,具体如下:
// 修改ua使得web端正确判断 String ua = webview.getSettings().getUserAgentString(); webview.getSettings().setUserAgentString(ua+"; HFWSH /"+appversion);这种方式是尾部添加的,也可以采用替换的方式
// 修改ua使得web端正确判断 String ua = webView.getSettings().getUserAgentString(); webView.getSettings().setUserAgentString(ua.replace("Android", "HFWSH_USER Android"));
jincon 发表于 2014-11-26, 9:16 AM
在你使用的项目中,把jquery.uploadify.js引入以后,用法和大多数JQ插件一样。同时也要记得引入swfobject.js这个插件,版本2.2以上的。使用方法例如:
$(function() { $("#file_upload_1").uploadify({ height : 30, swf : '/uploadify/uploadify.swf', uploader : '/uploadify/uploadify.php', width : 120 }); });
file_upload_1其实也就是一个容器ID,比如
» 阅读全文
jincon 发表于 2014-09-22, 3:35 PM
手机浏览器或者微信浏览器移动端无刷新上传图片:localresizeimg(支持HTML5)【兼容安卓IOS】
原版的主要问题只能指定固定的图片宽度,而修改版扩展原图片上传
<h1 class="text-center">LocalResizeIMG-本地压缩 1.0</h1> <hr/> <input type="file" name="head"/> <hr/> <!-- javascript ================================================== --> <script src="http://cdn.staticfile.org/jquery/2.1.1-rc2/jquery.min.js" type="text/javascript"></script> <script src="localResizeIMG.js" type="text/javascript"></script>
» 阅读全文