Gradle插件开发(1) - Hello world
目前的开发工具主要是在Android Studio上,对这个工具真的是又恨又爱,只能收希望它越来越好。
这几天,一直在看Gradle插件的相关的东西,希望将自己的这些学习成长的经历记录下来。由易到难,开发一个自己的插件。
准备工作
- Android Studio(建议3.0+)
- gradle 4.0+
目前的开发工具主要是在Android Studio上,对这个工具真的是又恨又爱,只能收希望它越来越好。
这几天,一直在看Gradle插件的相关的东西,希望将自己的这些学习成长的经历记录下来。由易到难,开发一个自己的插件。
准备工作
- Android Studio(建议3.0+)
- gradle 4.0+
在数据统计时,我们经常会使用numpy+pandas来进行统计,有一个很有意思的问题,就是轴的问题,这个类似于数学中的x轴,y轴,如下面个的例子。
1 | data = pd.DataFrame(np.arange(16).reshape(4,4),columns=list('abcd')) |
由于使用NDK开发,可以中间的数据放入到so中,这样是的关键数据更安全。因为破解原生代码相对来说太容易,而so文件相对来说门槛较高。
我们本篇就是从安全角度来使用NDK开发,将重要的数据放入NDK中,同时将重要的加密也放入到NDK开发,这样在一定程度上可以保证APP应用的安全。
Android Studio 3.0 更新了很多新特性,其中对C++开发者也越来越友好。目前Android Studio默认构建工具是CMake(当然也是支持ndk-build),我们将使用Cmake来开始编写我们的Helleworld。
更新我们的sdk-tool中的LLDB、CMake和NDK三个选项。
ACSCII,GBK,Unicode,UTF-8这些名词都跟编码有关系,究竟是什么关系呢,看网上的确有很多解释,也很详尽,不过我觉得还是很有必要把我自己学习的历程记录下来。
在计算机的世界是只有0和1,数据的计算,传输,保存等过程都是通过0和1,可以说0和1是组成计算机的元素。
对于最早使用计算机的美国人,为了记录a,b,c,d等这些字母,1,2,3等还有其他的符号,共收集了128个(2的7次方),于是为了更好记录就有了ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)码,可以看下每个符号对应的ACSCII码。
我是个NBA伪球迷,去打篮球很少,但是天天看球赛,什么NBA,CBA甚至连NCAA的八强赛也关注,前几天接触Python的数据分析,发现挺有意思,于是我就自己搞了一个简单的程序来分析—从96-97赛季开始,平均哪个月的NBA比赛最多。
在腾讯云上买了个服务器,3年多,这也是为自己学习的投资。拿到新机器,我们需要搭常见的环境,如java,python等,中间一顿折腾,后来居然还重置了机器。今天就把周末自己折腾的结果整理下,防止有人进坑。
python不必多说,是各种语言(Java,Oc,sh脚本)的粘合剂,提供丰富的库,语言简洁,人生苦短,我用Python。
位运算妙用
位运算作为最基本的计算机操作运算符,在很多时候用到绝对是很好的技巧。
异或运算就是一个神器,异或有个最基本的原理就是自己异或等于0。
如result3 ^ 3 结果为0
136. 只出现一次的数字
很早记得,出去面试,经常有人问:最大值怎么求,对一个经过变成训练的人,或许都会解这个题目,因为最大值是我们程序员的一个最最基本的素养。其实还可以拓展就最K大的值,也就是我们常说的top K
问题,最大其实就是top 1大,还有第二大,第三大的问题吧。