12 路路人王

尚未进行身份认证

寻寻觅觅,总会有路的

等级
TA的排名 12w+

MAC:python操作excel的环境配置

本人python小白,有一个事情是要分析一下excel表格中的数据,excel中数据量巨大,直接用眼睛看不太现实,因此准备写个python脚本来操作,本来以为这个事情很简单,只要写好python代码然后运行即可。没想到踩了不少的坑。现记录如下:python源码如下:#readexcel.py#!/usr/bin/envpython3#coding=UTF-8importxlr...

2019-02-12 18:12:15

MAC查看某一so文件的cpu匹配

为排查在用户手中的Android设备存在找不到so的问题,需看一下某一so支持什么CPU格式。熟悉C层库的同学都知道,C所编译所得的静态库(.a)和动态库(.so)均为CPU相关的,不同的CPU环境需运行不同的so。在Android中,可以选用默认的so,即编译为armeabi环境的so运行于包括arm v5、arm v7,Intel x86环境。替代将全部CPU的so均打入包中,可能会降低一些性...

2019-01-22 17:52:47

Https原理总结及抓包Https的工作原理

Https原理:a.Https == Http + SSL(TSL),SSL是网景公司的命名,TSL为OSI组织接手名的命名b.要解决的问题:传统HTTP协议可能有三大风险:    b.1 被截获并获取内容(因为是明文传输)               b.2 被修改内容(无校验)               b.3 被伪装(无身份识别)因此Https引入了三个方案解决上述问题...

2018-12-07 11:19:58

Charles抓包三个小技巧:抓取Https、重定向某域名、限流

一、抓取Https--以Android平台为例,其他平台类似:总计三步:1.PC端charles安装CA证书打开charleshelp-->SSL Proxying-->Install Charles Root Certificate,下图为安好的证书:2.Android设备安装CA证书help-->SSL Proxying-->Install ...

2018-12-06 14:24:54

Android工程师从初级到资深所应具备的技术栈(不断补充中)

在Android开发上也做了有些年头了,对Android开关相关的技术有了一定的积累,不敢说有多深,总是一些经验与体会,一个开发人员,在完成工作的同时,应该不断完善自身,这样才能长期保持竞争力。在技术领域,有两个特点,一为更新极快,二为多年不变。都是对的,新技术更新很快,而一些原理,底层技术却是多年不变的。技术人员在积累技术时,要多关注底层原理,而不要把主要经力放在追逐新技术上。所谓万变不离其中,...

2018-11-15 11:40:03

okhttp源码导入及Maven构建文件pom.xml的格式

 okhttp是一个非常强大的网络框架,封装了http及https的网络协议实现,向上层提供统一的网络访问接口,熟悉一个框架最直接的办法是用起来,而想用好,少不了要熟悉了解其源码,RTFSC(ReadTheFuckSourceCode),okhttp的github路径为:https://github.com/square/okhttp拉取代码以后,发现是maven项目,一直在做...

2018-08-30 11:40:33

Android:如何跟踪第一个Activity界面绘制完成前的时间开销状况及优化方案

在Android中,以最典型的应用启动为例,从Launcher点击应用图标到第一个Activity加载完成,系统开放给开发者的接口及类包括:Application生命周期相关的方法:onCreate、启动Activity的onCreate、onStart、onResume。对于启动Activity的三个方法的执行时间,没什么疑问,如果定义的复杂,有复杂运行,则运行时间长,定义的简单,则运行的时间短...

2018-08-22 16:52:13

Mac下在Android Studio中导入Retrofit源码

Retrofit的火热程度就不再多说了,作为当前最主流的Android平台的网络访问框架,应用极广。要在项目中集成并使用Retrofit,也是非常简单的,只需在build.gradle中引入框架的链接即可:implementation 'com.squareup.retrofit2:retrofit:2.4.0'本文中讨论的不是Retrofit的引入及使用,而是Retrofit源码项目如何...

2018-08-21 14:30:57

矢量图、位图、RGB、YUV、JPEG、PNG的理解

开发的项目中缺少不了图形图像的支持,对图的使用场景也是极多的,但对其内部原理却一直处理模糊状态,抽时间做个整理吧,理一下相关的概念。一、矢量图与位图矢量图与位图均为图像的表述方式,矢量图可以理解为在我们口中描述图形的方法,比如:图A:一个半径10cm的绿色实心圆,重点包括:圆、实心、绿色、半径为10cm、圆心位置,这些信息只需要很少的字节即可记录图A,因而,矢量图所占空间较小;还有一个特点...

2018-08-15 18:36:40

Android平台视频相关的多媒体技术理解笔记

    做了几年的视频相关项目,一直没有系统的对所涉技术进行整理,趁着最近有点事情,整理归纳一下。多媒体技术还是一个相当大而全的领域,我是做视频的,只谈一下视频所涉的一些技术点的理解,平台是基于Android的。    视频所涉的多媒体技术也是非常庞大的,从哪入手呢,先来看一下图吧:    上图显示了一个视频从产生到展示到用户面前所涉的各个环节,封装格式直接使用了当前主流的mp4,编解...

2018-08-10 17:38:50

Java中的类文件结构之三:分析一个.class文件各方法的字节码表述语法

    接上文:Java中的类文件结构之二:分析一个.class文件的文本化阅读    https://blog.csdn.net/kcstrong/article/details/81233672    在上一篇Blog中找一个示例讲述了如何分析JVM所提供的文本形态说明的.class文件,其中各方法的字节码部分(表述该方法的实现)并没有说清楚,本章中希望说清楚各逻辑,但考虑到如果不讲一...

2018-07-31 18:20:58

Java中的类文件结构之二:分析一个.class文件的文本化阅读

    这个文章是一个系列,准备写至少四篇吧,离上一篇写得已经有几个月了,一个没有出第二篇,原因就一个字:懒。其实整理文档挺耗时的,之后一直在关注老罗的Blog,老罗说他一篇Blog要花一周时间,我深以为然,随便写写肯定省时间 ,但对不起写这个事情,话不多说,进入正题吧。    还是上一篇https://blog.csdn.net/kcstrong/article/details/794602...

2018-07-27 15:45:26

C/C++、Java由源码到机器码的过程(编译原理)

    软件开发的环境需要什么?一个IDE,一个OS,一个硬件设备,没错,这个实质是软件进展的三个层集。在很久很久以前(几十年),软件就是直接开发在硬件设备上的,用纸带有无孔标识二进制位,此时的开发语言是机器码,软件直接对接硬件设备;后来很不方便,尤其不方便复用,然后,有了汇编,有了简单的编译环境,然后逐渐发展成为OS内核;时代会进步,软件要处理越来越多复杂的场景,然后有了高级语言:C等,为了更加...

2018-07-26 18:08:41

一个理想的视频播放框架的诞生

    谈一个项目中的架构吧,在我们的项目中,视频播放是一个非常重要的模块,其业务形态也是多种多样的,而且业务形态变动频次也非常的高,当前版本是A方式,下一个版本就可能变为B方式,如何才能适应该情况的,我们需要一个兼具弹性、可读、可维护、易扩展、稳定的框架。    先说一下该框架之前的开发模式:    在我们的项目中的,涉及播放的包括:列表流式播放、详情页播放、小窗播放、全屏播放(分两种:横屏全屏...

2018-07-13 16:07:36

最快速度开启视频播放的策略(秒开策略)

    前一段时间项目开发遇到一个需求,以最快的速度开启视频播放。  如何做到这一点呢,需要对项目中播放相关的逻辑做整体规划,所有与播放相关的逻辑都要以最快速度开启播放为目标而努力。  措施一:在我们的项目中,播放可能发生在列表中,也可能发生在单个专门为播放所做的页面中,要分情况对待:  在列表中的视频,往往只有视频信息,而没有播放地址,因此,需要在本地对列表播放地址做提前加载,也就是...

2018-07-12 11:33:26

SHA-256算法改进策略

    在我之前的文章中理了一下SHA-256算法的实现过程:https://blog.csdn.net/kcstrong/article/details/80853243    为什么要对其改进呢?    先来看一下如何加密防刷:使用SHA-256可以针对源文件生成加密key,为一个256位二进制格式,表述为64位16进制的字符串格式,可以用于对网络链接中的核心参数进行加密处理,做法是:选用几个...

2018-07-12 10:53:26

你真的了解Android系统框架的四层结构吗?

先来看几个问题是否能回答:1)Android系统开发语言有两种:Java、c/c++,它们各用于开发那些层次2)JNI实质是什么,位于什么位置,NDK又是什么3)Android虚拟机是用于干什么的,什么时候介于工作4)既然Android内核主要是c/c++实现的,那么是否可以用C++来写app5)aidl又是什么,位于那一层6)各层次的如何配合工作1.首先来看一幅图吧:对于这个图,基本每一个And...

2018-07-06 19:08:17

SHA-256算法实现过程

整理一下SHA-256的实现步骤:1.定义8个32位常量 h0 := 0x6a09e667h1 := 0xbb67ae85h2 := 0x3c6ef372h3 := 0xa54ff53ah4 := 0x510e527fh5 := 0x9b05688ch6 := 0x1f83d9abh7 := 0x5be0cd19 2.再定义一个k的32位整形数组,数组大小为6...

2018-06-29 10:59:29

你真的了解Android的Handler机制吗?

在Android系统中,Handler机制应用较广,尤其是在App层面,基本每个App都会用到。使用的场景主要是向主线程发送事件,更新UI。但大家真的了解Handler机制吗?看一下面的几个问题是否可以回答:a.Handler是如何实现多个线程之前事件传递的?b.Handler、Message、MessageQueue、Looper相互之间的数量比是多少,都是1:1吗?c.每个变量运行的线程是那个...

2018-06-04 17:55:22

HashMap学习笔记

1.HashMap首先是一个Map,提供Map接口所定义的能力,主要包括:a.key-value形式的数据存储集合b.通过put写入、通过get获取、通过remove删除,具备完善的增删改查功能c.提供单独的key集合及value集合获取d.Map中含有一个内部类Entry,为Map集合的条目类型2.HashMap的父类是AbstractMap,上文中所提到的基本Map功能均在...

2018-05-31 16:33:39

查看更多

勋章 我的勋章
    暂无奖章