当前分类 / 工具 / 总共18篇

替换及重置 Homebrew 默认源「转」

替换默认源

1
2
3
4
5
6
7
# 替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git

# 替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

替换Homebrew Bottles源请向下看。

阅读更多

Mac 终端美化

Mac 默认的终端 terminal.app 不进行配置的话,非常不友好,即没高亮又没提示。 配置以后就不一样了,比如这样:

zsh

shell 的类型有很多种,MacLinux 下默认的是 bash,虽然 bash 的功能已经很强大,但对于以懒惰为美德的程序员来说,bash 的提示功能不够强大,界面也不够炫,并非理想工具。而 zsh 的功能极其强大,上面这些 bash 没有的功能它都有。

阅读更多

Mac 下 Homebrew 的安装与使用

Homebrew简介,安装与使用

Homebrew 官方网站

Homebrew 是一个包管理器,用于安装 Apple 没有预装但你需要的 UNIX 工具。(比如著名的 wget)。

Homebrew 会将软件包安装到独立目录 /usr/local/Cellar ,并将其文件软链接至 /usr/local

Homebrew 不会将文件安装到它本身目录之外,所以您可将 Homebrew 安装到任意位置。

Homebrew 使 macOS 更完整。使用 gem 来安装 gems、用 brew 来安装那些依赖包。

阅读更多

Win10 家庭版安装 Ubuntu 子系统

我的笔记本的系统是 Win10 家庭版,本来打算启动 Hyper-V 虚拟机服务,无奈的是家庭版没有此服务支持,那就退一步吧,还好家庭版支持 Linux 子系统服务,那就装个命令行的 Ubuntu 吧,也是不错滴!

其实吧,整个过程很简单!

第一步:点击搜索图标(win10的这个功能很好用)然后搜索关键字 功能 得到如下结果:

阅读更多

如何在 Android 中获取 Heap Dumps

Heap Dumps 是诊断内存相关问题(如内存泄漏、垃圾收集问题和 java.lang.OutOfMemoryError )的重要工具。它们也是优化内存使用的重要工具。在本文中,我们提供了一些不同的方法来从 Android 应用程序捕获 Heap Dumps。一旦捕获了 Heap Dumps,就可以使用 HeapHero 和 Android Studio’s Heap Analyzer 等强大工具来分析 Heap Dumps。

Memory Profile

下面是在 Android Studio中从 Memory Profile (内存分析器)捕获 Heap Dumps 的步骤:

第一步:运行 app 并选择你要分析的设备。

第二步:在 Android Studio 中点击 View → Tool Windows → Android Profiler。

第三步:在 Android Profiler 中会有一个内存变化的时间轴,这个内存(MEMORY)时间轴位于处理器(CPU)时间轴之下,网络(NETWORK)时间轴之上。双击进入内存时间轴详情,然后就可以点击下载图标进行生成 Heap Dump, 如下图:

生成 Android 的 Heap Dump 生成 Android 的 Heap Dump

阅读更多

屏蔽网页鼠标右键或键盘F12并解除屏蔽的方法

很多时候我们的网站内容会被别人拿过去做伪原创,这样就比较难受了,自己辛辛苦苦写了大半天结果被别人直接复制黏贴了,为了避免这样的悲剧频繁发生,很多人给自己的网站添加了屏蔽鼠标右键和 F12 键的 js 代码,例如下面是用 jQuery 实现的一段屏蔽鼠标右键的代码:

1
2
3
4
5
$(document).ready(function(){  
    $(document).bind("contextmenu",function(e){   
          return false;   
    });
});

不使用 jQuery 可以修改如下等效的代码:

1
2
3
4
<script language="JavaScript">
     document.οncοntextmenu=new Function("event.returnValue=false;");
     document.onselectstart=new Function("event.returnValue=false;");
</script>

阅读更多

Android项目优化检测工具Lint

前言

我们在实现Android界面功能之外还需要考虑结构对性能、维护成本的影响。例如,如果 XML 资源文件包含未使用的命名空间,则不仅占用空间,还会导致不必要的额外处理。其他结构问题,例如使用目标 API 版本不支持的已弃用的元素或 API 调用等,可能导致代码无法正常运行。Android Studio 提供一个名为 Lint 的代码扫描工具,可帮助您发现并纠正代码结构质量的问题,而无需实际执行该应用,也不必编写测试用例。

Lint工作流程

该工具会报告其检测到的每个问题并提供该问题的描述消息和严重级别,以便您可以快速确定需要优先进行哪些关键改进。此外,您可以调低问题的严重级别,忽略与项目无关的问题,也可以调高严重级别,以突出特定问题。

Lint 工具可检查您的 Android 项目源文件是否包含潜在错误,以及在正确性、安全性、性能、易用性、便利性和国际化方面是否需要优化改进。

Lint 工具的代码扫描工作流 Lint 工具的代码扫描工作流

可以看到源文件(包括Java和XML)、图标、配置文件等,通过 lint.xml 中的问题严重级别配置,然后执行 Lint 命令工具对代码静态扫码。

阅读更多

Android开发中的一些技巧

前言

我们在开发过程中有时候会遇到一些比较棘手的问题,经过不懈搜索后发现原来是这么简单,自己却想的异常复杂,这些知识需要归纳整理起来方便大家使用,所以你有什么好的技巧也分享出来吧。

EditText不自动获取焦点

问题描述:有时候EditText会自动获取焦点,导致软键盘直接跳出。有时候这么做很方便,但是大部分时候我们还是希望在点击EditText的时候软键盘才弹出来。

解决方法:在EditText的父Layout中,加入下面的两个属性。

1
2
android:focusable="true"
android:focusableInTouchMode="true"

负dp布局

问题描述:有时候需要做提示小圆点,方式有很多,但是这个方式也是比较简单的一种。

1
2
android:layout_marginTop="-3dp"
android:layout_marginRight="-3dp"

运行时忽略

问题描述:很多时候我们在写xml界面的时候需要预览数据,但是数据又不能在实际运行中被显示出来。

在跟布局中添加:

1
xmlns:tools="http://schemas.android.com/tools"

然后使用 tools: 开头的属性:

1
tools:text="测试内容"

或者使用 layout_widthlayout_height 来约定适配器item的宽度和高度。

1
2
tools:layout_height="370pt"
tools:layout_width="220pt"

还有种情况也很实用,就是使用 showIn 属性将item布局预览展示到某个布局内部。

1
tools:showIn="@layout/activity_main"

阅读更多

Python实现的图片压缩处理工具

前言

最近在博客中做了一个相册功能,但是问题是我的图片都很大,用图片压缩工具压缩了一遍感觉不是很方便,于是就搜了一下python相关工具,后来发现知乎上的一篇文章《如何用Python智能批量压缩图片》,这里感谢作者提供了思路,短短几行代码实现了图片压缩需求。

最后添加了图片水印功能,可以方便配置图片路径来实现压缩和水印添加,本来打算使用Tkinter来实现一个图片界面方便操作,后来想想还是把精力放在核心逻辑上面吧,其实使用图形界面不见的就很方便,这样修改配置其实更方便些,如果你想实现成图形界面可参考我的另一篇博文《Python两个案例练习》

知识点

内置模块和第三方模块

在python中,一个.py文件就可以理解为一个模块,模块之间可以互相引用。

模块分为三种:自己写的、内置的、第三方的。

内置模块一般存放在安装目录的lib目录下,第三方库一般存放在安装目录的lib\site-packages目录下。第三方库使用前需要提前安装,例如Python操作图像的模块PIL需要提前安装。

阅读更多

发布Android项目到JCenter仓库

注册

为什么将注册单独拿出来说呢?因为这里有两个坑,不要第一步就死翘翘了。

Bintray的基本功能类似于Maven Central,一样的我们需要一个账号,点这里注册,注册前切记两件事情。

Bintray注册界面 Bintray注册界面

  1. 一定要点击右边的For an Open Source Account Sign Up Here而不是左边的绿色按钮。
  2. 不管你选择新注册还是用第三方登录,如果你的邮箱是QQ或者163,都是不行的,建议用google邮箱注册。

再提醒一遍:bintary账号分为普通账号和开源账号,果然点击左边的绿色按钮,你注册的是普通账号,你就必须要加入或者创建组织才可以建立自己的仓库,关键是如果你点错了,你还删不了,非常麻烦。

阅读更多

Linux上使用开源Darktable替代LightRoom

最近再图虫上面上传了几张图片,比较尴尬的是我是 Deepin 系统,不能安装 LightRoom, PhotoShop 此类的图片处理软件,所以就找到了替代品。但是令我欣喜的是,Darktable 对我这种新手还是够用的。

导入

darktable导入图片

Darktable可以从控制台或使用像GNOME或KDE这样的图形shell启动,也可以通过图标启动,我的系统是deepin,可以直接从商店下载安装。

Darktable有两种种模式,一种是lighttable,另一种是darktable。在lighttable模式下,我们可以从文件系统或直接从相机导入照片,管理图片文件和标记照片。

<img src=”/post/darktable-use/image2.png” width=260 alt="darktable两种模式/>

包括jpeg、raw在内的几乎所有图片格式都支持导入和编辑。

阅读更多