自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

转载 彻底搞懂 PHP 变量结构体,多数文章观点不准确

PHP5 中的 zval// 1. zvaltypedef struct _zval_struct { zvalue_value value; zend_uint refcount__gc; zend_uchar type; zend_uchar is_ref__gc;} zval;// 2. zvalue_valuetypedef union _zvalue_

2017-10-11 13:07:21 441

转载 有关 PHP 和 js 浮点运算的坑

javascript0.1 + 0.2 为啥不等于 0.3 ? (正确结果:0.30000000000000004)0.8 * 7 为啥不等于 5.6 ? (正确结果:5.6000000000000005)PHPvar_dump(intval(0.58 * 100));正确结果是 57,而不是 58浮点运算惹的祸其实这些结果都并非语言的 bug,但和语言的实现原理有关, js 所有数字统一为 Num

2017-10-11 13:01:36 365

转载 靠谱外包公司真的不好找,先看看他的技术栈

外包公司,为了节省人力成本,除了项目经理,3 - 5 年的技术leader,技术人员大多数都是少于3年经验,或者实习生。所以造成外包企业,很难沉淀好的技术出来,多数有能力的技术人员,也明确找工作,不选外包企业,造成了一个恶性循坏,十分尴尬的局面。但比如 IBM,thoughtwork 都是业内顶尖的技术服务型企业,所以并不是外包市场low,外包企业low,而是多数人做low

2017-09-20 17:34:47 2331

转载 如何确保外包不被坑,项目不烂尾,架构是核心

如何确保外包不被坑,项目不烂尾,架构是核心!-------关注微信公众号:“扣丁圈”,确保不入坑!

2017-06-12 14:47:18 714

转载 禅师发布了国内最快的 Composer 中国全量镜像

『Composer 中国全量镜像』是由 Laravel China 社区联合 又拍云 与 优帆远扬 共同合作推出的公益项目,旨在为广大 PHP 用户提供稳定和高速的 Composer 国内镜像服务。镜像的作用?#一般情况下,安装包的数据(主要是 zip 文件)一般是从 github.com 上下载,安装包的元数据是从 packagist.org 上下载。然而,由

2017-04-26 09:46:50 410

转载 解决Cannot find module ‘meteor/meteor’ ‘meteor/check’ ‘meteor/mongo’

meteor 对typescript的支持上存在问题,造成typescript中引入的一些包无法找到。解决方法:添加 meteor.d.ts 的定义补充文件到/下载位置:wget https://github.com/zencodex/snippets/raw/master/meteor.d.tsvim /typing.d.ts/// <reference path="meteor.d.ts" /

2016-12-22 20:07:40 1029

转载 React Native编译错误:ReactAndroid:buildReactNdkLib FAILED

错误输出入如下:[armeabi-v7a] Compile++ : reactnativejni <= Dummy.cppmake: /Users/qisen/adt-bundle/android-ndk-r12b/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g

2016-12-18 10:14:21 2525 2

转载 PhotoScan Google照片扫描仪,让手机替代扫描仪

看这里告诉你怎么玩!!!

2016-12-06 11:15:57 706

转载 微信小程序如何像webview一样加载html5网页

目前微信暂时还没有开放这个功能,那怎么办呢?请看这里!!!

2016-11-29 15:28:30 23698 1

转载 微信小程序如何删除项目工程

微信小程序本地创建的项目没有删除功能,我通过尝试找到了可以清理的方法,只在Mac osx测试通过,windows可以根据原理自行解决,估计原理都是一致的:删除数据文件夹下的Default即可,属于全部清理,无法单个删除,删除后需要重新扫二维码登录。Mac osx 下目录:$HOME/Library/Application Support/微信web开发者工具/Default切记切记,请确定知道执行

2016-11-08 09:53:29 3616

转载 从PHP语法糖剖析Zend VM引擎

1.先说个PHP5.3+ 的语法糖,通常我们这样写:<?php $a = 0; $b = $a ? $a : 1;语法糖可以这样写:<?php $a = 0; $b = $a ?: 1;执行结果$b = 1,后面写法更简洁,但通常不太建议用太多语法糖,特别是容易理解混淆的,比如PHP 7 新增加??如下:<?php $b = $a ?? 1;相当于:<?

2016-11-04 10:12:30 820

转载 Dalvik虚拟机工作原理介绍

Dalvik虚拟机并没有使用目前流行的虚拟机技术,如JIT,但是根据Google的报告,这个功能的缺失并没有令Dalvik虚拟机在性能上有所损失。我们也同时相信,Dalvik虚拟机的性能还有进一步提高的空间。根据 Google的测算,64M的RAM已经能够令系统正常运转了。其中24M被用于底层系统的初始化和启动,另外20M被用于高层启动高层服务。当然,随着系统服务的增多和应用功能的扩展,其

2016-09-26 11:53:54 382

转载 mac osx wine 1.7.5 源码编译方法及中文乱码的解决

源码编译1、先安装apple-gcc42,Mac osx自带的 llvm-gcc,编译后,无法运行wine。1sudo port install apple-gcc422、下载wine源码12git clone git://source

2016-09-23 09:59:40 1088

转载 gerrit与crowdid, openid集成,设置openIdSsoUrl 直接登录

gerrit 版本为2.7gerrit验证方式选择 OPENID_SSO,使用的是crowdid做为用户验证服务。进入gerrit安装目录:cd review_site/etc/vi gerrit.config,修改如下:12345[auth]        type = OPE

2016-09-22 09:43:27 1292

转载 Android 内存优化,如何避免OOM

一、 Android的内存机制二、Android的内存溢出三、万恶的static四、都是线程惹的祸五、超级大胖子Bitmap六、行踪诡异的Cursor七、其它要说的。一、 Android的内存机制Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java 堆内分配空间;然而对象的释放是由垃圾回

2016-09-21 09:36:00 259

转载 如何分析android的OOM,与java静态代码分析工具

用MAT分析OOM很多OOM看似发生在bitmap 分配得时候,但它一般不是rootcause。根本原因都在于本应该自动释放的资源,因为代码的错误,而导致某些对象一直被引用(Reference),例如 Android 内存优化,如何避免OOM 文章中提到的Activity 的mContext 引用。当代码量很庞大的时候,单靠读代码查找错误是很困难的,所以必须借助于工具,这里介绍一款很好

2016-09-19 09:21:57 327

转载 android 4.4(KitKat)上,如何开发SMS功能的APP

android 4.4(KitKat)上,对SMS功能做了限定,只允许设置为默认短信的APP,才可以写入短信到系统的数据库。此举显然增加了安全性。目前大多数第三方的,需要SMS功能的APP,都可能会有短信不能写入的问题,发布此文时,我测试了下QQ通讯录,仍然不能发送短信,且无法保存短信数据,这都是因为这个KitKat SMS新功能引起的,他们都需要遵循新的开发协定才可以。下面是我转自blo

2016-09-18 11:19:32 431

转载 android4.4(kitkat),如何让APP可以直接写入SMS短信

以下代码的修改是针对android平台研发的,另外如果没有系统源码的情况下,通过逆向修改ROM中的对应文件,也是可以做到的。之所以有这样需求,是因为假如是你自己的ROM,需要对自己的某个APP授予SMS写入权限,可以通过修改如下代码中的OTHERSMS_PACKAGE_NAME,换成你自己APP的package name就可以了。如果类似QQ通讯录这种应用,在可以获取ROOT 的权

2016-09-14 09:22:56 640

转载 CyanogenMod 11.0模拟器goldfish的编译方法及下载地址

1、首先下载CM的源码,方法网上有很多,不再赘述。2、android模拟器的产品名为goldfish,cm的产品配置文件和linux内核,利用他脚本breakfast、brunch的方式,在我们天朝经常出错,还是GW的问题。所以如果有问题,可以手动在 .repo/local_manifests/roomservice.xml 中天下如下配置:12

2016-09-13 09:18:03 322

转载 解决Mac osx AirPort: Link Down on en1. Reason 8 (Disassociated because station leaving)

这个问题存在好久了,在苹果官方论坛上已经存在好长时间了,但苹果至今仍未修复此问题:https://discussions.apple.com/thread/2142725有人说在Network Preference -> Location 里,新添加配置,就可以了,但我没有尝试成功过。我的版本是MBP 13 + Mac osx 10.8.5 ,从来不关机,在公司直接插网线,有时

2016-09-12 09:44:55 581

转载 adb logcat查看某个进程的输出日志

adb logcat 默认是没有这个功能的,我实现了一个小bash函数,添加到你$HOME/.bashrc 文件中:# 作用:能够通过进程名显示log# 用法:alogcat com.android.calendar or alogcat calendar# 当监控的进程异常退出时,需要重新运行此命令function alogcat() { OUT=$(adb shell ps | g

2016-09-12 09:14:39 6820

转载 Navicat for Mysql SSH tunnel 用跳板机解决方案

Navicat Mysql SSH tunnel不能使用跳板机,对于需要跳板机登录的主机,他自带的SSH Tunnel就是鸡肋了。其实从原理上分析,根本不需要开启他得SSH Tunnel,使用本机强大SSH端口转发,加上跳板代理,即可完美解决。1、先取消已经设置的SSH Tunnel,如下图都清空2、本地配置好跳板机,跳板机文章很多,百度即可。比如我的:替换Host

2016-09-10 10:12:41 4392

转载 android中使用tcpdump拦截分析网络数据包

1、下载tcpdumphttp://pan.baidu.com/s/1c0vkU2k2、通过adb命令上传到手机里adb push tcpdump /system/bin3、adb shell tcpdump -p -vv -s 0 -w /sdcard/capture.pcap#tcpdump 用法: tcpdump -i any -p -s 0 -w /sd

2016-09-10 10:09:55 646

转载 CyanogenMod 11.0模拟器goldfish的编译方法及下载地址

1、首先下载CM的源码,方法网上有很多,不再赘述。2、android模拟器的产品名为goldfish,cm的产品配置文件和linux内核,利用他脚本breakfast、brunch的方式,在我们天朝经常出错,还是GW的问题。所以如果有问题,可以手动在 .repo/local_manifests/roomservice.xml 中天下如下配置:12

2016-09-10 09:49:00 340

转载 解决Mac osx AirPort: Link Down on en1. Reason 8 (Disassociated because station leaving)

这个问题存在好久了,在苹果官方论坛上已经存在好长时间了,但苹果至今仍未修复此问题:https://discussions.apple.com/thread/2142725有人说在Network Preference -> Location 里,新添加配置,就可以了,但我没有尝试成功过。我的版本是MBP 13 + Mac osx 10.8.5 ,从来不关机,在公司直接插网线,有时

2016-09-10 09:47:37 623

转载 wordpress如何使用vim和markdown写blog

TOCTOC开始试用了一下wp-markdown插件,高亮和部分语法支持不太好。而且以前的syntax highlight插件语法都乱了,如果使用,需要重新编辑,所以放弃了。网上搜了一下,很巧的是发现了11年底,当时一个老同事写的blog,介绍了vimrepress和vim-markdown,可以满足我的要求,但太久了,vimrepress当前是3.2.1,重写了很多代码。所以重新整合了一下。同事的

2016-09-09 11:30:20 387

转载 整理linux平台下的vim插件配置,减少到11M,简化安装

最近为了快速开发,直接在服务器上编写代码,把之前spf13 vim的配置整理了一下。安装更加简单,在不同服务器之间传输更快速。基于spf13修改的vim配置存储空间占用从110M减少到26M,.git只有11M,便于网络传输统一为一个仓储,去掉了git submodules的形式,方便小白用户根据自己开发语言需要可修改,修改.vimrc.bundles 中的 spf13_bundle_grou

2016-09-09 09:27:53 293

转载 重新设计实现CSipSimple呼叫记录分组功能

CSipSimple 原有的分组功能只能针对连续相同被叫号码,如果中间有间隔,相同的号码就不会被分成一组。这个实现很弱,也失去了分组的意义。下面针对这块功能的设计实现做下简单记录。1. 自己封装一个CursorLoader这里取名为CalllogCursorLoader,在CallLogListFragment -> OnCreateLoader中:~.java // Loader

2016-09-09 09:25:57 227

转载 基于CSipSimple开发的VOIP网络电话 iCaller for Android

下载地址: http://boxes.oss-cn-qingdao.aliyuncs.com/iCaller-android.apk手机扫描下方二维码,下载更方便:测试参数配置:账号:1001, 1002, 1003 … 1014 密码: 都是1234 服务器:t1.123sip.com 语音留言:拨打4000,听提示输入账号,密码和对应账号相同 拨打9664,播放试听歌曲APP运行截图:

2016-09-08 09:56:26 775

转载 我的黑科技,让C++可以访问private成员

严格说,C++的禁止外部类访问private 是指在编译期,运行期都是在内存中的数据,是可以做任何修改的。本文的方式讲的就是针对运行期如何修改。这个方案源于N年前有个第三方实现的静态库,我们没有代码,只有库的头文件声明和编译好的lib库。在一个类的头文件中,有个私有变量存储的是Color值,但库的开放接口却没有能力修改这个值。方法通过头文件的类定义,算出该私有变量在内存中的偏移值,有了偏移值,就可以

2016-09-08 09:54:38 531

转载 快速清理Android中无用的资源信息,图片,字符串等

基于python的脚本工具 android-resource-removergithub 地址: https://github.com/KeepSafe/android-resource-remover安装方法:pip install android-resource-remover使用方法:cd <under your project>lint --check UnusedResources

2016-09-07 10:48:12 410

转载 C语言实现任意进制的转换,主要注意代码的小技巧

在Linux GCC编译测试通过,代码如下:~~~.cinclude

2016-09-07 10:46:31 492

转载 android 上的API函数钩子,利用CydiaHook实现

发布将近一年了,最近发现还是有些人需要的,github上也有些人fork了。例子代码,发布在github上,地址:https://github.com/zencodex/cydia-android-hookCydiaHook利用Cydia Substrate SDK 开发,可以HOOK java层或NATIVE层 API接口。本代码功能写代码的初衷是因为有个app,需要保存数据到SD卡上,并且app

2016-09-06 09:16:05 309

转载 解决case expressions must be constant expressions

Android Library工程写代码需要注意switch … case语句对资源id的引用,会引发编译错误:case expressions must be constant expressions。通常android工程生成的资源R.java,资源id声明如下:public static final int main=0x7f030004;而对于library工程,资源id声明如下:publ

2016-09-06 09:13:36 263

转载 自用Android程序破解,逆向分析工具集

下载:git clone https://github.com/zencodex/hack-android.git本人主要在Mac osx使用,所以linux下没经过严格测试,可能会存在小问题。签名脚本是自己写的,临时文件写到了/tmp 目录下,所以linux下要确定存在/tmp。如遇到问题,可在github上new issue。romtools可配合厨房工具使用,可用于ROM的定制修改,厨房工具

2016-09-05 10:27:28 436

转载 tcpdump for android L 5.x with pie support

由于使用了NDK编译的可执行文件在应用中调用,在4.4及之前的版本上一直没出问题。 最近由于要测试在Android L上的运行情况发现,当运行该可执行文件时,报如下错误:error: only position independent executables (PIE) are supported.PIE这个安全机制从4.1引入,但是Android L之前的系统版本并不会去检验可执行文件是否基于P

2016-09-02 13:27:54 391

转载 google gerrit repo, git commit如何自动生成Change-Id

1). 检查仓储.git/hook下面是否有 commit-msg 文件,如果没有到下面的地址下载: http://review.cyanogenmod.org/tools/hooks/commit-msg https://gerrit-review.googlesource.com/tools/hooks/commit-msg 如果有自己的gerrit-review服务器,可以直接在网址后面

2016-08-31 09:41:39 993

转载 根据时间获取commit或者查看git log

查看某个时间点以后的loggit log --since="Fri Aug 10 19:16:10 2012 +0800" 或者用–until 查看某个时间点以前的loggit log --before="Fri Aug 10 19:16:10 2012 +0800" 获取某个时间点以后的commit,-n 1 表示只返回一个,最近的一个 git rev-list -n 2 --since="

2016-08-31 09:39:59 643

转载 git 使用教程,常用命令

git常用命令~~~ git pull –rebase 从服务器获得更新git status 查看本地修改git add .git add xxx 添加本地的修改git rm xxx 删除一个本地修改git commit 提交本地修改,但没有上传到服务器,只是本地的记录,git commit –amend,修改上个commit的log信息,已经push到服务器的无效。git rebas

2016-08-30 14:35:23 320

转载 PHP 随机用户名账号的生成

随机生成难点是在于如何避免碰撞,有人说用md5,GUID这些机制啊,当然可以,但是做为账号,看着有乱,而且生成位数也过长。本方法只需要解决1秒内的并发碰撞就可以,因为固定头部采用的是unixtime时间,精确到秒,超过1秒,这个头部的时间肯定变化了。同时本方法也可以用户随机订单编号的生成。测试条件是用循环创建1万个随机账号(毫秒级),0碰撞,10万个大约有0-3个碰撞。应该没有哪个互联网公司会在瞬间

2016-08-29 09:23:35 994

空空如也

空空如也

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

TA关注的人

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