技术小黑屋

终端下双重过滤筛选内容

很多时候,我们需要对文件内容进行查找,查找出包含某段字符串的文件,比如这样

我们使用这个命令可以查找包含Ruby字符的全部文件和行数。

1
2
3
4
5
6
7
8
source git:(master) grep  -E "Ruby" --exclude-dir={.git,lib,.gradle,.idea,build,captures}   . -R --color=always -n
./_posts/2014-09-08-learn-sqlite-in-a-very-fast-way.markdown:9:最近用Ruby写了一个七牛的demo参赛作品,使用了sqlite3,用到很多操作,利用假期的时间,简单做一个快速掌握SQLite命令的小入门。
./_posts/2013-09-07-issues-about-installing-octopress.markdown:6:categories: Github OctoPress Ruby RVM
./_posts/2016-04-10-jit-friendly-checker-for-android.markdown:117:###为什么用Ruby
./_posts/2016-04-10-jit-friendly-checker-for-android.markdown:118:  * 答:有了idea时很纠结,因为不确定用什么语言实现,尤其是在Python和ruby之间,为此问了不少同学,最后“一意孤行”决定用Ruby了,不喜欢Python的强制对齐,超级喜欢Ruby的字符串模板。Ruby很简单,很人性化,相信你会喜欢的。
./_posts/2014-09-22-weekly-script-add-prefix-to-mutiple-files-in-ruby.markdown:6:categories: Ruby, 效率, 每周1脚本
./_posts/2014-08-21-file-code-sinppets-in-ruby.markdown:3:title: "Ruby常用文件操作"
./_posts/2014-08-21-file-code-sinppets-in-ruby.markdown:6:categories: Ruby

十个超级实用的git命令

git无疑已经成为了大家代码版本控制最多的工具了,这其中有不少人是使用终端来进行操作git。这里列出一些超级实用的git脚本,希望可以对大家开发有所帮助。

建议大家讲下面的脚本内容,都保存成脚本,然后设置执行权限,将所在目录加入环境变量,这样使用起来更加方便。

用好 Require,check,assert,写好 Kotlin 代码

在编码的时候,我们需要做很多的检测判断,比如某个变量是否为null,某个成员属性是否为true,执行某个操作结果是否成功。比如像下面的这段代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var isDiskMounted = true

fun createNewFile(file: File?): Boolean {
    return if (isDiskMounted) {
        if (file != null) {
            file.createNewFile()
            if (file.exists()) {
                true
            } else {
                println("Create file($file) failed")
                false
            }
        } else {
            println("File($file) is null")
            false
        }
    } else {
        println("Disk is not mounted")
        false
    }
}

修复Gradle因代理设置导致的超时问题

之前在项目中增加了一个项目依赖,可是配置的时候,怎么也无法下载下来。中终端执行gradle得到的错误日志如下

1
2
3
org.gradle.internal.resource.transport.http.HttpRequestException: Could not HEAD 'https://jcenter.bintray.com/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1-sources.jar'.
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:96)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawHead(HttpClientHelper.java:72)

未合并分支不怕丢,一个脚本快速搞定

我们使用 git 作为 版本控制工具,极大的提高了效率,但是随着业务的增多和自身对于提交内容原子性的要求,往往会产生很多的分支,这就难免有时候,在发版的时候,某些分支被遗忘提交,造成功能丢失等问题。

因而如果保证分支多而且不忘记合并,是一个我们需要解决的问题。

  • 单纯靠人为挨个去看,肯定是不行的
  • 如果有程序化处理就靠谱多了

INSTALL PARSE FAILED UNEXPECTED EXCEPTION 问题

顺手整理一个之前记录未文字输出的老问题,使用adb install爆出的问题

1
2
3
adb install -r -d "2.8.5-475.apk"
adb: failed to install 2.8.5-475.apk: Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION:
Failed to parse /data/app/vmdl981460948.tmp/base.apk: AndroidManifest.xml]

树莓派 Gitlab问题整理

E: Unable to locate package gitlab-ce

  • 不要使用sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/script.deb.sh | sudo bash
  • 替换使用这个sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/script.deb.sh | sudo os=raspbian dist=jessie bash
  • 然后执行sudo apt install gitlab-ce

一些关于微信分享的建议规范

实话讲,微信的文档真的是差强人意,除了让人难以忍受的代码使用截图展示外,其中关于一些分享的规范也不好找。

还好借助Google,找到了一些规范,涉及缩略图和文字个数等。

Nuc 设置断电后自动开机

步骤

  • 开机 看到启动界面后(多次)按 F2 进入BIOS
  • 进入Power Tab 向下滑动Secondary Power Settings区域
  • 找到 After Power Failure 选择Power On
  • 按 F10 保存并退出即可。

技术小黑屋投稿开放了

为了传播更好的有价值内容,本博客开放投稿功能.

技术小黑屋的优势

  • 开发者头条(toutiao.io) 第一大非官方独家号维护者(4w+订阅者)
  • 掘金网站知名内容贡献者
  • 全网知名的安卓博主博客
  • RSS 订阅 Feedly 中文技术博客订阅者较多
  • 受众广,以Java,Android,Kotlin语言使用者为主

Linux 下 Wget 设置代理

Linux进行网络下载,基本上是wget或者curl,比如我们这样去进行请求,如果没有代理,是访问不了的

1
2
3
4
5
6
7
8
9
[email protected]:/tmp$ wget google.com
--2020-03-01 11:53:14--  http://google.com/
Resolving google.com (google.com)... 46.82.174.69, 93.46.8.90
Connecting to google.com (google.com)|46.82.174.69|:80... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.

--2020-03-01 11:53:15--  (try: 2)  http://google.com/
Connecting to google.com (google.com)|46.82.174.69|:80...

所以,我们想要实现一些功能,需要为wget设置代理.方法很简单

树莓派安装jdk 8

执行

1
2
sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre