摘要: 这其实是个非常简单的指令,甚至用AS,直接右键操作不需要两秒钟 但今天使用命令行的方式操作的时候居然发现了点不一样的地方: 如下我希望revert某个commit,找到了它的id,跑一下命令之后居然发现报错了,如下 然后看了下help发现,你需要用 m 指定1或是2: 为什么呢,不是直接反向执行下这 阅读全文
posted @ 2019-08-25 23:13 赛艇队长 阅读(12183) 评论(0) 推荐(0) 编辑
摘要: 如果你一直用着ButterKnife,但是用的低版本(比如用得很多的8.4.0),然后在多module项目中一定知道要把R改成R2 然后最近如果升级AndroidStudio了,升到3.3以上(2019.1发布的3.3.0),你可能忽然发现module中的R2是一直报红的,无论怎么 build 怎么 阅读全文
posted @ 2019-04-09 23:26 赛艇队长 阅读(4037) 评论(2) 推荐(1) 编辑
摘要: 摘要: 阐述了元胞自动机的发展历程、结构、特征及基本理论与方珐; 指出元胞自动机理论的优势与不足, 1引言 复杂科学 20世纪80年代,以美国圣塔菲(SantaFe)学派为首提出了复杂科学,一经提出,在世界范围内引起了广泛的关注。目前,关于复杂性和复杂系统的科学研究占据着越来越重要的位置,以至于被有 阅读全文
posted @ 2017-12-20 18:10 赛艇队长 阅读(23036) 评论(0) 推荐(14) 编辑
摘要: 1.增加自定义TODO标记 Preferences Editor TODO,然后点击左下角的加号,输入想要自定义的TODO的正则 输入 (X为TODO标签的名字),这里以to_complete为例,输入   把defaultcolor的勾选去掉,可以自定义直观的配色:  两步你就可以手动输入并 阅读全文
posted @ 2017-12-12 22:04 赛艇队长 阅读(923) 评论(0) 推荐(0) 编辑
摘要: 命名空间是什么 计算机科学领域中是通过名字来使用各种代码资源(变量和子程序)的,命名空间(namespace)则是组织这些资源的一组符号,例如目录树是就硬盘上文件们的命名空间。命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类 阅读全文
posted @ 2017-12-10 15:31 赛艇队长 阅读(2038) 评论(0) 推荐(0) 编辑
摘要: 在mac文件系统中可以对一个文件进行标题中的这5种操作,操作的结果都是生成一份副本,但是其中却有很大区别。 首先操作上的区别很明显 1. 生成 软连接、硬连接 是通过命令行操作的 2. 生成 替身、复制、拷贝 一般是通过finder进行操作的,右键某个文件,菜单中选择(其实复制也可以用命令cp来实现 阅读全文
posted @ 2017-12-10 14:53 赛艇队长 阅读(3666) 评论(0) 推荐(5) 编辑
摘要: Linux上的文件系统一般来说就是EXT2或EXT3,但这篇文章并不准备一上来就直接讲它们,而希望结合Linux操作系统并从文件系统建立的基础——硬盘开始,一步步认识Linux的文件系统。 1.机械硬盘的物理存储机制 现代计算机大部分文件存储功能都是由机械硬盘这种设备提供的。(现在的SSD和闪存从概 阅读全文
posted @ 2017-12-09 17:36 赛艇队长 阅读(43219) 评论(4) 推荐(92) 编辑
摘要: 这个例子展示了对一处比较隐蔽的坏味道的优化,可能一不小心就被放任自流了,好在业务本身和优化前后的代码都很简单,适合作为一个工程实例写出来给大家分享。## 业务场景写一个数据层的loader,loader的数据拉取策略是本地有就走本地否则走网络,所以需要通过回调来返回数据,而且两种情况在view层的表现不一样(一个显示加载动画另一个不显示),也需要通过回调来告知。## 优化前最简单的做法是写一个这样... 阅读全文
posted @ 2017-08-28 20:37 赛艇队长 阅读(828) 评论(0) 推荐(1) 编辑
摘要: 背景问题:你知道计算机中以什么形式存储整数吗?是符号位加值位吗?值位是按照正常的二进制方式存储的吗?假如用3位二进制进行存储,符号位0正1负,1是存成001,-1是存成101吗? 答:使用补码的方式而不是正常的方式存储,虽然是符号位加值位,但符号位承载的信息和值位的值不是你想象中的方式,比如用3位二 阅读全文
posted @ 2017-07-11 13:38 赛艇队长 阅读(2021) 评论(2) 推荐(0) 编辑
摘要: 用Charles对request进行Map Local后,app上看返回的中文是乱码? 是Map Local的文件编码有问题?是Charles设置有问题?是电脑环境有问题?哈哈,都不是 你是Android开发?你的项目里网络框架用的是volley?是不是猜得很准? 对,万万没想到问题出在volley 阅读全文
posted @ 2017-03-08 22:13 赛艇队长 阅读(3266) 评论(3) 推荐(0) 编辑
摘要: Library Publication 是 Gradle 在0.9.0 时增加的一个新特性,它的作用是让Lib也能发布不同的版本 在这之前,Lib只能发布release版本,你的项目中依赖的所有Lib也都只能是relaese版本的。这种做法看起来很合理,被依赖的库当然应该是release的,debu 阅读全文
posted @ 2017-02-24 09:40 赛艇队长 阅读(3539) 评论(0) 推荐(0) 编辑
摘要: 一个native crash最后是重写ViewPager解决的,过程中发现这三个回调还有点绕,于是理了一下 ViewPager有两个操作,一个是用手指滑动翻页,一个是直接setCurrentItem(一般用于点击上面的tab直接setCurrentItem)。下面的方法介绍也会针对这两种情况分别介绍 阅读全文
posted @ 2017-02-06 20:02 赛艇队长 阅读(4527) 评论(0) 推荐(0) 编辑
摘要: 今年最后一个迭代终于结束了,把过程中碰到的不熟悉的东西拉出来学习总结一下 内存泄漏的本质是:【一个(巨大的)短生命周期对象的引用被一个长生命周期(异步生命周期)的对象持有】 这个东西分为两个部分 获得一个(巨大的)短生命周期的对象 这个【巨大的短生命周期的对象】在Android中最有可能的就是【Ac 阅读全文
posted @ 2017-01-16 21:57 赛艇队长 阅读(2229) 评论(1) 推荐(0) 编辑
摘要: 最近碰到这么个恶心的问题 问题:有个arr文件被放到Module A中引用,现在Module B又依赖了Module A,则在编译过程中会发生错误,Module B找不到aar文件。(同时如果又有Module C 依赖了Module B,C也会出同样的问题) 解法: 问题:有个arr文件被放到Mod 阅读全文
posted @ 2016-12-08 20:22 赛艇队长 阅读(10768) 评论(0) 推荐(0) 编辑
摘要: 新迭代之前忙里偷闲摸鱼了几种脚本的写法:bash, alfred,automator,applescript 这篇就说说这个applescript 以iterm为例 初看它的字典大概长这样: 1、方法包 它有两个suite也就是两个方法包 第一个看名字就知道是一个标准包,这个系统自动加的,给每一个应 阅读全文
posted @ 2016-11-24 15:52 赛艇队长 阅读(2452) 评论(2) 推荐(1) 编辑
摘要: 项目小版本上线,抽空简单学习了下久仰大名的RxJava 一、引入 个人觉得rxjava的特点: 实现:RxJava 是通过一种扩展的观察者模式来实现的 (可)被订阅者 (同右) (可)被观察者 Observable 订阅者 Subscriber 观察者 Observer 订阅 subscribe 演 阅读全文
posted @ 2016-10-31 17:35 赛艇队长 阅读(962) 评论(0) 推荐(0) 编辑
摘要: 滑动冲突可以分为三类 本质上说这三类的复杂度是相同的,区别只是解决滑动冲突的策略不同,具体解决的方法是通用的 不依赖滑动规则(距离差/角度/逻辑/业务)的通用的解法 1.外部拦截法[建议用这种方法] 外部拦截法的典型逻辑,重写父view 的onInterceptTouchEvent 方法即可: pu 阅读全文
posted @ 2016-10-08 12:55 赛艇队长 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 预备知识 触摸事件 : 事件分发方法: 在事件分发的过程中,主要涉及到三个方法 假设: 假设不考虑onInterceptTouchEvent,同时没有重写事件分发方法时: (一个更好的情况描述是打log看哪些方法被调用) 假设不考虑onInterceptTouchEvent,但重写事件分发(加上处理 阅读全文
posted @ 2016-10-08 00:32 赛艇队长 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 假期撸了几篇自定义View相关的东西,后两天下雨呆在家里还是效率太低Orz 每个Activity都包含一个Window对象,这个Window对象通常由PhoneWindow来实现【1】,而每个Window都对应着一个View和一个ViewRootImpl,这里PhoneWindow对应了一个Deco 阅读全文
posted @ 2016-10-08 00:29 赛艇队长 阅读(658) 评论(0) 推荐(0) 编辑
摘要: git log命令非常强大而好用,在复杂系统的版本管理中扮演着重要的角色,但默认的git log命令显示出的东西实在太丑,不好好打扮一下根本没法见人,打扮好了用alias命令拍个照片,就正式出道了! 下面先详细而系统地介绍git log的所有配置知识(用我一向简洁清晰的表述方式),熟悉了这些东西,你 阅读全文
posted @ 2016-09-30 12:09 赛艇队长 阅读(88542) 评论(3) 推荐(32) 编辑
摘要: 一、初步思考 二、深入思考 从源头来说 三、其他小东西 3.1.dp布局 然后具体说一下dp布局是怎么实现第一条的 3.2.UI做的像素图怎么跟手机运行的效果图比较? 博友中秋快乐:) 阅读全文
posted @ 2016-09-15 21:11 赛艇队长 阅读(722) 评论(0) 推荐(1) 编辑
摘要: 项目小版本上线偷得半日闲,刚刚又重新看了一遍正则,这次有空仔细看,完全理解了一遍,收获很大,下面整理一下 参考文献: http://deerchao.net/tutorials/regex/regex.htm 阅读全文
posted @ 2016-09-01 17:38 赛艇队长 阅读(667) 评论(0) 推荐(1) 编辑
摘要: 这里讲的是使用 git ignore 时候的一种特殊情况 正常你在本地给项目添加了一些文件之后,一般都会自动全部跟踪,但是在这个时候你必须编辑一个ignore文件,把一些不需要跟踪到文件ignore掉 这些东西不是可以不ignore也可以ignore的,更是必须要ignore的: 只要在全部添加跟踪 阅读全文
posted @ 2016-08-17 15:54 赛艇队长 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 华为手机的emui系统经常让人发出“可以可以,这很华为”的感叹 这两天在edittext部分也发生了这样的事情 正常edittext光标的颜色和宽度都说可以修改的,只需要通过xml中的 textCursorDrawable 属性就可以实现 但是到了华为手机上就直接会被系统默认一种很丑的光标风格覆盖 阅读全文
posted @ 2016-08-17 13:59 赛艇队长 阅读(4525) 评论(6) 推荐(1) 编辑
摘要: 整理完OSX的快捷键后自然少不了开发环境的快捷键了,暂时整理了些自己常用的 其实AS很多可能用得比较多的快捷键完全是跟MAC的文本编辑快捷键重复的,比如光标跳转和选择文本,这部分去那边参考就好 Command+B: 查看对象的定义,查看使用 Command+Option+B:查看类的实现 Comma 阅读全文
posted @ 2016-07-10 18:48 赛艇队长 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 刚上班就配了台RMBP,虽然触摸板确实好用,但是对鼠标的支持太差导致无法使用鼠标,而某些功能用触摸板还是不很方便 于是使用快捷键就势在必行了,参考了苹果官方文档和一些其他资料,整理出常用快捷键清单 准备 要使用键盘快捷键,请按住一个或多个修饰键,同时按快捷键的最后一个键。例如,要使用快捷键 Comm 阅读全文
posted @ 2016-07-10 17:08 赛艇队长 阅读(1484) 评论(0) 推荐(0) 编辑
摘要: 这是解决我之后上班地铁上看书问题的一个关键部分 在查看很多建议以及自己尝试之后,总结了这么几点: 然后就去找了一下关于坚果云的这个WebDav如何使用,发现官方对于这个功能说得不够清楚,于是自己总结了一下 最后实现的效果比想象中最好的程度要差些,但相比之前用OneDrive的同步速度,还是要好太多 阅读全文
posted @ 2016-06-21 03:23 赛艇队长 阅读(13375) 评论(0) 推荐(0) 编辑
摘要: 刚看了《程序员必读的职业规划书》的一部分,作为一个马上要走入职场的新人觉得特别受启发,很多模糊的东西变得清晰 一、书摘 这四个象限分别描述了不同的挣钱方式,这里我们从程序员的角度来进行解读。 E象限(帮别人挣钱) E象限是雇员象限,一般来讲,我们刚工作时都在这个象限里边。这里是风险最低的地方,只要你 阅读全文
posted @ 2016-06-20 03:04 赛艇队长 阅读(1759) 评论(0) 推荐(1) 编辑
摘要: 由于需要在一个Android项目中使用神经网络,而经过测试发现几个Github上开源项目的训练效果就是不如Matlab的工具箱好,所以就想在Android上使用Matlab神经网络代码(可是。。。) 这个问题大概处理了两天,原本预计5个小时的。。。 过程遇到了诸多一手坑以及看到相关资料的对新手不友好 阅读全文
posted @ 2016-06-19 17:33 赛艇队长 阅读(10101) 评论(4) 推荐(6) 编辑
摘要: 最近把手头这个安卓APP的所有事务性方法都写完了,有了以下体会,新手体会,老鸟轻拍 想写成优美代码的人一般都会有这样的想法: 一定要在写每一句代码,写每一个方法,构造每一个类的时候,都要记得优化:解耦以复用,拆分方法以复用,使用循环减少冗余,限制循环次数减少无效操作,等等。。 这个想法一定没有错,但 阅读全文
posted @ 2016-04-15 20:48 赛艇队长 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 2016/4/5 17:22】 之前写listview其实写了很多次,但好像还是模模糊糊的感觉,直到今天准备写tab的时候被告诉说原理有像的地方,于是我就先来分析整理一下listview好了 先来一种非常自然的理解方式: ListView其实就是一个View中放入数据呗,于是它的使用原理很可能是这样 阅读全文
posted @ 2016-04-15 16:27 赛艇队长 阅读(897) 评论(0) 推荐(0) 编辑
摘要: 因为贴图的繁琐。。。所以下面是无图版。。。完整的在这里: 探究一下toobar和actionbar在使用menu时的吊诡情况 一、背景介绍 二、actionbar与menu 1.titlebar不再介绍了很简单,下面稍微介绍一下actionbar 2.然后详细说一下这个bar使用menu的情况 2. 阅读全文
posted @ 2016-04-12 13:14 赛艇队长 阅读(5670) 评论(2) 推荐(2) 编辑
摘要: 这篇文章的主题是: 另外相关的话题有↓,可以自行查看: (另外,贴图有点麻烦,所以这里图片只放了一张,如果有博友觉得本文有帮助而且希望补充图片,可以留言) 依赖是什么 依赖这个东西在安卓开发中是非常有用的,它让我们可以肆无忌惮地成为一位调包侠 安卓开发中不可能让你从头开始写一个个基础的功能,我们往往 阅读全文
posted @ 2016-04-10 02:01 赛艇队长 阅读(15312) 评论(3) 推荐(5) 编辑
摘要: 包装类是比较容易被人忽视的一个东西 1、JAVA为什么会有这个东西 Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wr 阅读全文
posted @ 2016-03-31 16:49 赛艇队长 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 这个是我碰到比较多次的问题,一开始是不解,不过查了下大家都觉得没什么,而且只是加个final好像影响也不大,于是我就直接加个final了事,之后也不管了 直到昨天: 遇到了这个宿命般的问题 难道解决方法是把它换成引用类型? 我去,居然不行,包装类不能改变值,尼玛,怎么会这么巧 嘿,妈的,那就自己来! 阅读全文
posted @ 2016-03-31 16:45 赛艇队长 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 我的代码中已经多次使用了线程,然后还非常喜欢使用据说是线程不安全的静态方法,然后又看到很多地方最容易提的问题就是这个东西线程不安全 于是我不免产生了以下几个亟待解决的问题: 1、首先我们知道,如果线程只是执行自己内部的代码(其实也是使用一些对象的方法,但是是局部变量,那么就线程安全),那一定是线程安 阅读全文
posted @ 2016-03-31 12:32 赛艇队长 阅读(6099) 评论(0) 推荐(1) 编辑
摘要: 学习过程 安卓中有三种对XML解析的方式,这个众所周知,DOM,SAX,PULL 其中被推荐的方法是PULL,说是非常简单,但从一开始接触就觉得比较迷惑,总是云里雾里的感觉,甚至在自己写出了一个能用的代码, 我也解释不了为什么能用,也害怕去改,虽然有过几次小小的突击学习理解,但是没有什么进展 直到这 阅读全文
posted @ 2016-03-29 17:55 赛艇队长 阅读(824) 评论(0) 推荐(0) 编辑
摘要: 概述 泛型分 泛型类/接口 和 泛型方法 而应用情景又分为: 下面要做一些拓展(两个层次的上下限): 类Box<T>中可以向T传入不同的类型参数。T作为形式参数(注意T是传入 类型名,(相当于Object啊),不是对象,这点很特殊,不是多态) 可以限制T的类型范围,在<T>中标记类型限定: 不管该限 阅读全文
posted @ 2016-03-23 15:21 赛艇队长 阅读(331) 评论(0) 推荐(1) 编辑
摘要: 图片: 阅读全文
posted @ 2016-03-22 14:10 赛艇队长 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 我不是故意在JAVA中谈尾递归的,因为在JAVA中谈尾递归真的是要绕好几个弯,只是我确实只有JAVA学得比较好,虽然确实C是在学校学过还考了90+,真学得没自学的JAVA好 不过也是因为要绕几个弯,所以才会有有意思的东西可写,另外还有我发现把尾递归如果跟JAVA中的GC比对一下,也颇有一些妙处(发现 阅读全文
posted @ 2016-03-15 18:32 赛艇队长 阅读(15173) 评论(5) 推荐(5) 编辑