自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shonegg的技术人生

一人,一本,一机

  • 博客(71)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 安卓启动流程

看了很多相关博客,今天也来自己梳理以下~~~ Android从Linux系统启动 init进程启动 Native服务启动 System Server, Android 服务启动 Home启动总体启动框架:Init进程启动 首先uboot引导Linux内核启动,然后在用户空间中启动init进程,再启动其他系统进程。在系统启动完成完成后,init将变为守护进程监视系统其他进

2016-06-13 16:19:31 6787

原创 x264惹得祸

最近研究读取安卓手机摄像头数据并利用ffmpeg实时编码为H.264编码格式的FLV文件~ 到下面代码时,就打印找不到编码器~pCodec = avcodec_find_encoder(AV_CODEC_ID_H264);if (!pCodec){ LOGE("Can not find encoder!\n"); return -1;}网上搜了一下,是--enable

2016-09-12 21:14:54 1542

原创 打磨APP(二)

1. 为啥要打磨APP,为啥要性能优化?为了省电,为了快! 安卓手机作为移动设备.它的电量比标准台式机或笔记本电脑少很多.为啥苹果手机体验好,很重要因素也是速度快,基于这些原因,我们有必要关心内存的消耗! 特别是在Android 5.0以前,你想避免触发垃圾回收器.结果就是Android运行时(runtime)有一个大约200ms的冻结期(freeze) .如果用户正在滚动一个list,那将会

2016-09-09 18:00:07 1417

原创 打磨APP(一)

Android打造高性能app“xxx,手机越来越发热了” “xxx,怎么手机越来越卡了” “xxx,又崩了”1–学会申请内存1.1 分析内存的使用情况系统不可能将所有的内存都分配给我们的应用程序,每个程序都会有可使用的内存上限,被称为堆大小。不同的手机堆大小不同,如下代码可以获得堆大小: 结果以MB为单位进行返回,我们开发时应用程序的内存不能超过这个限制,否则会出现OOM。为了维持多任务的功

2016-09-09 14:21:41 1407 1

原创 架构之异步任务

AsyncTask是啥? AsyncTask是一个围绕Handler和Thread而设计的辅助类,封装了在工作线程中与UI交互的细节,只需要对应重写几个回调方法即可,并使得代码更加简洁,优雅。但要注意的是AsyncTask并不构成一个通用的线程框架 ,这在Android官方介绍中有提到:AsyncTask is designed to be a helper class around {@link

2016-09-09 09:43:53 640

原创 Java集合

java.util.concurrent包下面-并发工具包

2016-09-08 18:30:40 1250

原创 线程等待join(),wait()

场景1.有3线程个同时执行,怎样第3个线程等1和2线程退出之后,自己退出?仔细想了下,join()可以阻塞当前线程 Thread thread1 = new Thread() { private boolean isRunning = true; private int timer; @Override public void run(

2016-09-08 11:45:46 636

原创 暴力测试Service

为了更好地了接服务Service的生命周期,采用暴力测试,一下会多次启动服务,绑定服务,不按常理走! 1个服务==>CoreService 2个活动==> FirstActivity和SecondActivity 测试1: 先启动,再绑定 启动FirstActivity第1步:startService 第2步:bindService 第3步:多次bindServi

2016-09-07 21:06:07 408

原创 Laravel - DB facade实现CURD

1.查看app\config\database.php'default' => env('DB_CONNECTION', 'mysql'),默认用的mysql数据库,接着向下看'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', 'database' => env('DB_DATAB

2016-09-04 12:39:18 1012

原创 phpmyadmin安装

phpmyadmin是一个web应用,它可以管理咱们的mySql数据库 界面比较友好,有图形化界面,干嘛不用~官网下载: https://www.phpmyadmin.net/downloads 1.下载最新的吧,4.6.4 注意你的PHP版本和MySql版本2.解压到某个目录下,然后修改文件夹名字(默认的太长了),改为phpMyAdmin3.移动到web根目录下面,我的根目录是/www

2016-09-02 17:27:44 368

原创 Laravel目录结构

一个新项目的模板结构如上图1. app 目录包含了应用的核心代码,咱们的主要业务逻辑都是写在这里,其中最重要的是http目录,MVC架构中的控制器书写在Controllers下面; 2.bootstrap 目录包含了少许文件用于框架的启动和自动载入配置,还有一个 cache 文件夹用于包含框架生成的启动文件以提高性能; 3.config 目录包含了应用所有的配置文件,比如缓存,数据库…; 4

2016-09-02 15:03:27 647

原创 PHP升级

升级到PHP5.3.17wget http://soft.laozuo.org/wdcp/php_up53.shsh php_up53.sh升级到PHP5.5.9wget http://soft.laozuo.org/wdcp/php_up55.shsh php_up55.sh升级到PHP5.6.12wget http://soft.laozuo.org/wdcp/php_up569.shsh

2016-09-02 10:52:03 1286

原创 android跳动的小球动画

平时对牛逼动画,高级UI,都深入的不多!近日,某头条,推了一个android技术类视频(平时在头条关注技术比较多),讲的是加载动画效果,是动脑学院讲的公开课,160分钟,我硬是拿着小手机看完了!边看,便记,然后整理了一下,规范了一下代码 做这个动画,需掌握: 1、属性动画 2、Path类、Canvas类 3、贝塞尔曲线 4、SurfaceView用法 5、自定义attr属性 6 、架

2016-08-30 12:40:30 2730 1

原创 android增量更新

今天学习了一下增量更新,这个技术已经出现很长时间了,但是现实中,估计只有大厂才利用了这一技术在做产品! 国内有些第三方服务平台,像友盟提供自动更新的服务,也是用的增量方式! 其他的像QQ,Sina微博,陌陌,蘑菇街等都用到了,解压一下它们的apk,看一下lib目录: QQ:libbspatch.so 微博:libbsdiffjni.so 陌陌:libbsdiff.so 蘑菇街:libpa

2016-08-27 14:49:19 1735

原创 图片加载UIL的Disk缓存策略

统一接口interface DiskCache 缓存策略有 1.0.0版本出现 UnlimitedDiskCache 1.3.1版本出现 LimitedAgeDiskCache: 1.9.2版本出现 LruDiskCache 在ext扩展包下面 其中UnlimitedDiskCache是默认的缓存模式 UnlimitedDiskCache和LimitedAgeDiskCache

2016-08-25 18:24:49 386

原创 图片加载 经典的UIL框架

加载图片最终入口public void displayImage(String uri, ImageAware imageAware, DisplayImageOptions options, ImageSize targetSize, ImageLoadingListener listener, ImageLoadingProgressListener progressLi

2016-08-25 11:29:40 472

原创 ubuntu下折腾ReactNative

折腾一下RN 我用的ubuntu开发环境 前提:java,安卓的环境确保已经搭好了,现在研究RN,只需要配置NodeJS环境 准备工作,android sdk环境变量配置,后面android项目编译的时候会用到 ! vim ~/.bashrcexport ANDROID_HOME=/home/shone/Soft/sdkexport PATH=${ANDROID_HOME}/platfo

2016-08-23 15:20:58 1734 1

原创 自己解决基于MQTT的android推送

突然想探索一下MQTT的推送~ 都是现成的架子,搭起来很容易!1.先配置服务端,测试的时候可以在本地先测试这里选择apache的开源项目 http://activemq.apache.org/activemq-5140-release.html 这里我用的系统是ubuntu14.0.4选择的是Linux版本,下载压缩包. 解压到自己的软件目录.ss@Dell:~/Soft/apache-ac

2016-08-19 12:23:48 1125 1

原创 android的Lambda

Lambda表达式的语法 基本语法: (parameters) -> expression 或 (parameters) ->{ statements; }Lambda表达式是在JDK 8中开始支持的一种函数式推导语言,能够大量减少匿名内部类那种冗余的代码。在Android中,可以大量使用在设置监听,设置异步回调等场景。平时用androidstudio开发android,确实写回调的时候,匿

2016-08-18 16:15:14 246

原创 PHP关于变量$的初始值

初始值在这,别掉进陷阱里对于一个给定的变量,怎么判断这个变量不是 [NULL ,未定义,定义但没赋值,空字符串,空数组]?$a = array(); // 可定义为 null,空字符串,空数组等if ($a) { echo 'success';}官方真值表: http://php.net/manual/zh/types.comparisons.php

2016-08-16 22:55:30 2195

原创 Http状态code(PHP开发)

Note 1xx: Informational - Request received, continuing process 2xx: 成功 - The action was successfully received, understood, and accepted 3xx: 重定向 - Further action must be taken in order to compl

2016-08-16 20:03:13 1151

原创 闭包

JS闭包 function func3(){ var num3 = 44; function func4(){ return num3; } return func4; } var func = func3(); console.log(func());在外部无法获取到func3内部的局部变量,但是func3内部的局部方法func4却可以获

2016-08-16 17:04:26 241

原创 Cookie与Session

HTTP协议本身是无状态的,客户只需要简单的向服务器来发送请求下载某些文件,客户端向服务器端发送的每次请求都是独立的。对于当前的web应用,HTTP的“无状态”,导致许多应用都不得不花费大量的精力来记录用户的操作步骤。cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以se

2016-08-16 16:15:11 232

原创 Laravel API笔记

<1>namespace Carbon– DateTime 库获取日期的api /vendor/nesbot/carbon/src/Carbon/Carbon.phpprintf("Right now is %s", Carbon::now()->toDateTimeString());printf("Right now in Vancouver is %s", Carbon::now('Ame

2016-08-16 15:47:58 652

原创 OAuth2授权(Client Credentials)

OAuth 2.0定义了四种授权方式。 1.授权码模式(authorization code) 2.简化模式(implicit) 3.密码模式(resource owner password credentials) 4.客户端模式(client credentials)ClientCredentials客户端模式: Client使用自己的 client证书(如 clien

2016-08-15 23:10:58 31952 1

原创 Laravel小记

1.创建表:php artisan migrate:make create_movies_table目录app/database/migrations/下生成一个表文件,它有一个up()和down()函数,down()是up的反向操作,比如说创建字段 > 移除字段2.创建字段public function up(){ Scheme::create('movies', function($ta

2016-08-14 12:40:19 709

原创 RxJava笔记

RxJava的流行就不多说了,作为程序员的我,碰到流行的架子,当然是比较欣喜,比较好奇,我看一下RxJava响应式编程有哪些特性,学习学习!源码地址 https://github.com/ReactiveX/RxJava RxJava is a Java VM implementation of Reactive Extensions: a library for composing asyn

2016-08-12 23:40:22 329

原创 Laravel项目部署到Nginx服务器除了/目录,全飘404

不管是Nginx还是Apache,如果不配置,都会出现404,不能路由.我云服务器安装的是WDCP,默认的Nginx配置文件 nginx/conf/vhost/00000.default.conf 用vim编辑 在server {}里加上location / { try_files $uri $uri/ /index.php?$query_string;}然后保存,重启nginxdw

2016-08-08 17:16:19 10192

原创 关于SSH暴力破解

SSH暴力破解大约自linux系列产品诞生之后,就衍生出来的一种攻击行为,不仅仅SSH暴力破解,ftp、telnet、smtp、mysql等等都是暴力美学黑客的最爱。 国外安全研究者做了个统计,他们搭建了一台蜜罐服务器,该服务上安装了修改后的SSHD版本,记录所有的登陆尝试和存储的所有会话,一旦被黑客攻击,可以查看到所有暴力破解尝试记录。 与往年不同,在十年前,一台服务器放在网络上,

2016-08-08 16:21:16 5227 1

原创 redis make test报错

Centos6.5安装完做test的时候># make testcd src && make testmake[1]: Entering directory `/home/soft/redis-2.8.9/src'You need tcl 8.5 or newer in order to run the Redis testmake[1]: *** [test] Error 1make[1

2016-08-08 12:18:55 1861

原创 Centos 6.5 Git版本升级

阿里云Centos6.5自带1.7版本git,比较老[root@xxxxx soft]# git versiongit version 1.7.1[root@xxxxx soft]# yum remove git卸载后,咱们安装新版本wget https://github.com/git/git/archive/v2.2.1.tar.gz解压tar -zxvf v2.2.1.tar.gz生成配置

2016-08-08 11:44:58 607

原创 安卓版本note

各个版本的大事件,android从08年诞生到至今的7.0 N已经8年了,越来越健壮~~~/** * October 2008: The original, first, version of Android. Yay! */ public static final int BASE = 1; /** * Feb

2016-08-05 23:47:14 517

原创 充电website note

Laravel 学习 https://laravist.com/ 宁浩网 http://ninghao.net/ 慕课大巴 http://www.mukedaba.com/thread-767-1-1.htmlandroid: 有心课堂 http://www.stay4it.com/

2016-08-05 16:48:08 303

原创 快速第三方入口(持续关注)

1.短信注册: sharesdk 性质:免费 http://wiki.mob.com/android-%E7%9F%AD%E4%BF%A1sdk%E9%9B%86%E6%88%90%E6%96%87%E6%A1%A3/ 阿里大于: 性质:收费 http://www.alidayu.com/service/code?spm=a3142.7791109.199920

2016-08-05 14:54:29 368

原创 连接mongodb,查询地理位置的问题

MongoCursorException (13038)localhost:27017: can't find any special indices: 2d (needs index), 2dsphere (needs index), for: { $and: [ { poi: { $near: [ 113.873208, 22.579245 ] } }, { isbanned: 0 }, { u

2016-08-02 23:52:13 575

原创 mysql笔记

1.进入数据库mysql -u root -p guesserguesser为数据库名,然后输入密码,我是以root登录的.2.查看当前的所有数据库mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || guesser

2016-08-02 18:09:02 3702

原创 Redis笔记

系统环境和版本说明 Linux操作系统选用Ubuntu 14.04,Redis的版本选取目前的最新稳定版本2.8.9。 1.下载Redis的安装包 wget http://download.redis.io/releases/redis-2.8.9.tar.gz 2.解压 tar xvfz redis-2.8.9.tar.gz 3.编译 sudo make 4.安装 sudo mak

2016-08-02 16:53:41 4097

原创 mongoDB笔记

创建一个超级用户gulu@Dell:/www/wdlinux/mongodb/bin$ mongoMongoDB shell version: 2.4.9connecting to: test> use adminswitched to db admin> db.addUser("root", "123456"){ "_id" : ObjectId("579ea9507bc4a

2016-08-02 15:37:49 3204

原创 ~/.bash_profile等脚本的初始化

网络解释: 在登录Linux时要执行文件的过程如下: 刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile。如果 ~/.bash_profile文件存在的话,一

2016-08-02 14:55:50 3236

原创 WDCP启动命令

摘抄自网络,怕忘了:默认情况下wdcp的后台是使用到8080端口,可修改lamp环境里 httpd是用到80端口lnmp环境里 nginx是用到80端口在lnamp环境里 httpd是用到88端口(不可修改) nginxd是用到80端口相关的启动命令service wdapache start|stop|restart wdcp后台 启动|停止|重起service nginxd st

2016-08-01 22:56:37 6678

用Python写网络爬虫-高清版【Web Scraping with Python】

第1章:网络爬虫简介 第2章:数据抓取 第3章:下载缓存 第4章:并发下载 第5章:动态内容 第6章:表单交互 第7章:验证码处理 第8章:Scrapy学习 第9章:总结

2017-10-02

深入浅出Linux设备驱动

一起学习linux驱动 必备,讲的 很详细 ,值得一看哦

2014-08-27

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

TA关注的人

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