shell学习----awk learning
2016年04月06日 星期四
有一天,老师让我给分布式文件系统做测试,最好用脚本写一个自动化测试并将数据结果存储在文件中用于绘图。然后我就开始深入学习了shell语言这门很牛逼哄哄的技能,这篇文章是讲解的是其中一个命令awk。这个命令功能相当强大,几乎相当于一个完善的语言系统了。好了,废话到此结束~
2016年04月06日 星期四
有一天,老师让我给分布式文件系统做测试,最好用脚本写一个自动化测试并将数据结果存储在文件中用于绘图。然后我就开始深入学习了shell语言这门很牛逼哄哄的技能,这篇文章是讲解的是其中一个命令awk。这个命令功能相当强大,几乎相当于一个完善的语言系统了。好了,废话到此结束~
2016年05月22日 星期二
在开始之前,还是让我先声明下我不是张佳玮的引经据典犹如滔滔江水,也不是张爱玲的风情万种,更不是金大侠的豪情奔放,我就是我,一团不是很热烈的烟火,你喷多了,我就灭了。。。
为什么我会看权利的游戏呢?肯定不是因为Love(NBA现役球员),而是我以为名不见经传的上财同学强力推荐,抱着试一试并消磨消磨我大学最后的一点时光的心态,接着陷入泥潭之深不可自拔,- - 。
2016年05月22日 星期日
说点废话
Jekyll + GitHub Pages 用来写博客是一个在我看来很方便很牛的选择(原谅我的愚昧无知~)。像我这种程序小白猿最喜欢的就是找一个能够稍微改改就能拿来给自己用的看上去很不错的东西,今天我就来教教大家搭建一个属于自己的技术博客(简直不能更简单)。
2016年04月12日 星期日
这篇文章主要是记录我如果解决了这个发布问题, 具体的解决方案文件和教程我已经上传至 Github https://github.com/liungkejin/GradlePublish
之前的文章 Android Studio 发布项目到Maven/JCenter仓库, 将 Java 库发布到 Maven/JCenter 上.
但是今天我打算将我的 Kotlin 库发布上去的时候, 发现了一些问题. 因为 Kotlin 文件不能用 javadoc工具来生成 Javadoc,
导致了在执行 任务的时候 1
bintrayUpload
1
javadocJar
两个任务都不能 build 成功,
虽然我可以把这两个任务去掉, 没有 *-sources.jar 和 *-javadoc.jar 一样也是可以发布到 Maven 上的,
但是如果要发布到 JCenter 上就需要这两个文件了,如果没有则审核过不了1
sourcesJar
JCenter hosts Java applications that follow the Maven convention. In addition to the existing files, you will need a *-sources.jar, and optionally a *-javadoc.jar. Your files should be under a Maven path layout. (see https://bintray.com/docs/usermanual/uploads/uploads_includingyourpackagesinjcenter.html)
Once those files are added, we will be glad to include your package in JCenter.
然后我在 Kotlin 社区找了一下关于生成 Javadoc 的讨论,最后发现 Kotlin 的 KDoc 项目已经没有了, 但是 Kotlin 开发了 Dokka , Dokka 是 kotlin 的一个文档生成引擎.
Dokka is a documentation engine for Kotlin, performing the same function as javadoc for Java. Just like Kotlin itself, Dokka fully supports mixed-language Java/Kotlin projects. It understands standard Javadoc comments in Java files and KDoc comments in Kotlin files, and can generate documentation in multiple formats including standard Javadoc, HTML and Markdown.
但是又很不幸的是, 目前 dokka 的 目前还没有 release, 而且 dokka 项目的 README
也都是坑, 虽然这个 Android gradle plugin 没有 release, 不过他已经在上面写上用法了, 也没说明有没有 release,
直至我在 bintray 上查看了他们的版本文件才知道确实没有这个 plugin…., 然后我试了一下使用 1
dokka-android-gradle-plugin
,
但是我也没有弄成功, 可他的 README 上面明明就是这样写的1
dokka-gradle-plugin
2016年04月10日 星期日
一般我们使用 Navigation Menu 的形式为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="match_parent"/> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer"/> </android.support.v4.widget.DrawerLayout> |
再加上 v21 的主题:
1 2 3 4 5 6 | <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:statusBarColor">@android:color/transparent</item> </style> |
这种最标准的形式, 运行的效果就是这样的:

这种效果看起来就好像状态栏浮在 NavigationLayout 之上, 感觉上会好很多
2016年04月06日 星期三
学习和使用 Kotlin 来开发安卓已经有一段时间了, 总体来说, 我还是很喜欢 kotlin 这个语言的, 比 java 用起来感觉轻便很多, 特别是支持 lambda, 委托, 隐式类型转换, 让代码显得特别的精炼.
最主要的是 kotlin 很大程度避免了 java 里面的空指针异常, 而且可以和 java 自由混合.
用 Kotlin 来开发 Android 也极好的, 因为 Kotlin 支持 Java 6+ :)
可以看一下 java 和 kotlin 的语言对比:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | // java view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { v.post(new Runnable() { @Override public void run() { // } }); } }); // kotlin, lambda, 虽然 Java 8 也支持 lambda 了, 但是 Android 不支持 Java8 ... view.setOnClickListener { it.post { // run } } // java, 这里如果 view 为 null, 则会抛出Null异常 void invisibleView(View view) { view.setVisibility(View.INVISIBLE); } // kotlin, 这是不允许传入null, 所以不会出现 Null 异常 fun invisibleView(view: View) { view.visibility = View.INVISIBLE } // 即使允许传入 null, kotlin 也可以很轻松的避免 Null 异常 fun invisibleView(view: Vieww?) { view?.visibility = View.INVISIBLE } |
不过kotlin也有一些不如人意的地方, 比如 泛型感觉没有java的好用 (可能是我还没掌握好吧!),
但总的来说 kotlin 是很值得学习的!
2016年04月04日 星期一
ExRecyclerView ExRecyclerView 使用 Kotlin 编写

很多时候我们在使用 RecyclerView 时, 总是会碰到需要设置一个 header 或者 footer 的情况,
比如我们要加一个显示加载更多的footer,跟随 RecyclerView 一起滑动的 header, 等等,
这种情况如果是 ListView 我们可以简单的使用 或者 1
addHeaderView()
就可以解决, 但是 RecyclerView 就需要我们自己来进行处理. 虽然说不困难,
但是每次都要重新实现一遍就很麻烦了.1
addFooterView()
ExRecyclerView一共实现了3个功能:
ExRecyclerAdapter 是一个内置了 List 集合的 RecyclerAdapter, 每次改变数据都会主动进行相应的notify(也可以主动不进行 notify)
2016年04月03日 星期天
Jekyll 的语法高亮在 Jekyll 3.0 以上默认使用的是 Rouge,
如果使用的是 Jekyll 2, 需要在配置文件里面设置 为 1
highlighter
,
并确保 rouge 被正确的安装了1
rouge
[表示此方法我没成功]
另外, 就是使用 Pygments, 这个需要使用 Python 来安装
如果你不想麻烦, 可以直接使用我的这个 syntax.css, 这个就是最后使用 pygments 生成的默认的代码高亮 css 文件
把这个 syntax.css 放在 1
/assets/css/syntax.css
在 或者你自己的通用头文件里面添加 link1
_include/head.html
1 | <link rel="stylesheet" href="/assets/css/highlight.css"> |
1
_config.yml
设置 1
highlight: true
2016年03月27日 星期天
为了方便自己和他人引用我所写的java库,发布到 Maven/JCenter 上是最好不过了,利己利人,本文主要参考了
虽然这篇已经很详细的,但是我在实际操作中还是碰到了一些问题,所以自己再整理一遍,方便以后查阅
2016年03月26日 星期六
开发安卓也有很长一段时间了,但是很少用到测试框架, 平时写用都靠打 log 进行调试和测试, 运行的对不对,异常情况的处理,边界条件的处理,全靠自己的想象,写出来的代码和应用健壮性可想而知!
所以学习测试框架是很有必要的一件事,虽然在公司可能很少会用到,因为你可能没有时间去写一个测试案例! 其工作量不亚于实现一个应用功能, 但是我觉得测试是对自己所写代码的一种负责!
2016年03月05日 星期五
我的第一篇 github 博客, 本博客使用 jekyll + bootstrap 搭建!
感谢 github 提供的 Github Pages 功能!
此博客布局参考了 Monkey Snatch Banana 博客
个人页面应用了 resumecard 项目