首页
网站首页
公司简介
资讯中心
推荐内容
返回顶部
UIButton之改变有效点击区域,这篇文章就够了
发布时间:2020-01-13 09:01
浏览次数:

精彩内容推荐

  • 一套java架构师学习资源,等你拿
  • java实战练习项目教程
  • 你所需要的大数据视频教程
  • java全套学习视频教程及源码
  • 微服务资源springboot、springcloud、docker、dubbo项目实战等倾心分享

线程是程序执行流的最小单元,很基础,也很重要。为了提高流畅性,耗时任务放后台线程运行,这是APP开发的常识了。随着APP复杂度的提升,越来越多任务需要开线程执行,同时,遇到如下挑战:

这顶神奇的魔法帽到底能干啥?这绝对可以称得上一款神器,简单的一句话概括就是——只有你想不到的,没有Alfred做不到的。

级别:★☆☆☆☆标签:「UIButton」「热区」作者: WYW审校: Xs·H

shell简介

shell:命令解释器,根据输入的命令执行相应命令。

察看当前系统下有哪些shell:

cat /etc/shells

察看当前系统正在使用的shell

echo $SHELL

常见shell:

/bin/sh (已经被 /bin/bash 所取代)/bin/bash (就是 Linux 默认的 shell)/bin/ksh (Kornshell 由 AT&T Bell lab. 发展出来的,兼容于 bash)/bin/tcsh (整合 C Shell ,提供更多的功能)/bin/csh (已经被 /bin/tcsh 所取代)/bin/zsh (基于 ksh 发展出来的,功能更强大的 shell)

bash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again SHell — 这是关于Bourne shell的一个双关语(Bourne again / born again)bash 是 许 多 Linux 平 台 的 内 定 Shell, 事 实 上, 还 有 许 多 传 统 UNIX 上 用 的 Shell, 像 tcsh、csh、ash、bsh、ksh等等,Shell Script大致都类同,当您学会一种Shell以后,其 它的Shell会很快就上手,大多数的时候,一个Shell Script通常可以在很多种Shell上使用。

bash是大多数Linux系统以及Mac OS X v10.4默认的shell,它能运行于大多数Unix风格 的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。

在bash下敲命令时,Tab键可以补全已经敲了一部分的文件名和目录名。如果是Ubuntu 系统,系统默认启用了bash completion,还可以补全命令的某些参数、Makefile目标等 等。如果是Debian系统,可以用以下命令启用bash completion:

$ source /etc/bash_completion

建议将这一行加入∼/.bashrc启动脚本中。比如使用sudo后面接命令,如果没有bash completion则只有sudo可以补全,后面的命令不能补全。如果启用了bash completion,则 后面的命令,包括命令的某些参数(比如aptitude命令的install)都可以补全了。

比如在主目录下要列出桌面目录的内容,输入

$ ls De

然后敲Tab键,如果以De开头的文件或文件夹只有Desktop一个,就自动补全为

$ ls Desktop

否则,再敲一次Tab键,将会把所有以De开头的文件或文件夹列在下面供你选择(在这里 我们手动创建另外一个以De开头的文件)

$ touch Death$ ls DeDeath Desktop/

你可以再补敲一个s再Tab,这次Desktop就会补全到命令后面了。有 的 人 是 从 DOS 时 代 过 来 的, 留 下 一 个 很 不 好 的 习 惯 就 是 在 找 一 个 文 件 时 反 复 地cd、ls、cd、ls等找到了要找的文件时再想回到先前的目录,已经不记得先前是 从哪个目录转到这里来的了。

我们从上面可以看出,Tab补全本身就具备了ls的功能,上面的Tab补全相当于ls -Fd De*命令。所以我们完全不必反复地cd到别的目录然后ls去找文件,多按几次Tab就可以一条 命令完成了,这样的好处是我们的当前目录不用变,不需要找完了文件再cd回来,同时省去 了大量的按键次数。更重要的是,自动补全同时兼具了检查拼写错误的功能,如果前面几个 字母拼写错了,就补全不出东西来,用户就知道拼写错了,如果前面几个字母没有拼写错, 那么由系统补全出来的文件名肯定也不会有拼写错误,避免了用户在敲很长的文件名时易犯 的拼写错误。

history

历史记录是另外一个非常方便的功能。按上下移动光标键(或者Ctrl-p、Ctrl-n)可以 一条一条浏览以前输过的命令。如果有需要重复输入的命令就不用输第二次了。如果你能记 住以前输过的某条命令中的某个关键字,可以按Ctrl-r,然后输入关键字,随着你每输入一 个字母,bash会做增量式(increasingly)查找,也可以反复按Ctrl-r或Ctrl-s向前向后查 找。如果找到了,按左右移动光标键或Home键或End键将该命令带回提示 符下进一步修改,或者直接按Enter键原封不动地执行该命令。

bash的快捷键和emacs保持一致,用惯其中之一再用另一个程序会很顺手的。请记住一条原则:尽量使用主键盘快捷键而不使用移动光标键和编辑键。因为手不必离开主键盘是效 率最高的,这样在你一生之中所节省的来回移动手的时间绝对可以用星期来计算,是绝对值 得你花十分钟的时间记住这些快捷键的。

功能 快捷键 助记
Ctrl-p previous
Ctrl-n next
Ctrl-b backward
Ctrl-f forward
Del Ctrl-d delete光标后面的
Home Ctrl-a the first letter
End Ctrl-e end
Backspace Backspace delete光标前面的
  • 任务场景多样化,常规的API无法满足;
  • 随着组件化,模块化等演进,可能使得线程管理不统一。

哈哈~~是不是很夸张?! 一会儿再来下定论

大家好,今天小编将会带大家了解一下UIButtonframe不变的情况下,如何改变有效点击区域(也就是我们所说的改变热区)。

目录和文件

ubuntu没有盘符这个概念,只有一个根目录/,所有文件都在它下面

/ 根目录bin //系统可执行程序,如命令boot //内核和启动程序,所有和启动相关的文件都保存在这里 grub //引导器相关文件dev //设备文件etc //系统软件的启动和配置文件,系统在启动过程中需要读取的文件都在这个目录。如LILO参数、用 户账户和密码。home //用户的主目录。下面是自己定义的用户名的文件夹lib //系统程序库文件,这个目录里存放着系统最基本的动态链接共享库,类似于Windows下的system32 目录,几乎所有的应用程序都需要用到这些共享库。media //挂载媒体设备,如光驱、U盘等mnt //目录是让用户临时挂载别的文件系统,如挂载Windows下的某个分区,ubuntu默认还是挂载在/media 目录。opt //可选的应用软件包proc //这个目录是系统内存的映射,我们可以直接访问这个目录来获取系统信息。也就是说,这个目录 的内容不在硬盘上而是在内存里。sbin //管理员系统程序 selinuxsrvsys //udev用到的设备目录树,/sys反映你机器当前所接的设备 tmp //临时文件夹usr //这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录下。] bin // 应用程序game //游戏程序 includelib //应用程序的库文件 lib64local //包含用户程序等 sbin //管理员应用程序

位于/home/user,称之为用户工作目录或家目录,表示方式:

/home/user~

为此,我们今天来探讨一下的如何设计线程调度。话不多说,从线程池开始吧。

在这里我只是举一个简单的栗子,通常我们遇到不懂的英文单词,基本是这么一个操作过程:

先睹为快,让我们看一下demo效果图:

2.2.1 相对路径和绝对路径

绝对路径

从/目录开始描述的路径为绝对路径,如:

cd /home ls /usr

相对路径

从当前位置开始描述的路径为相对路径,如:

cd ../../ ls abc/def

.和..

每个目录下都有.和... 表示当前目录.. 表示上一级目录,即父目录 根目录下的.和..都表示当前目录

ls [OPTION]… [FILE]…

ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令,因 为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。 对于每个目录, 该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其 他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当 前目录的信息。

主要的OPTION有:

-a 列出隐藏文件,文件中以“.”开头的均为隐藏文件,如:~/.bashrc-l 列出文件的详细信息-R 连同子目录中的内容一起列出

ls -l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文 件类型,它可以是下述类型之一:

- 普通文件 d 目录l 符号链接b 块设备文件c 字符设备文件s socket文件,网络套接字 p 管道

后面的9个字符表示文件的访问权限,分为3组,每组3位。第一组表示文件属主的权 限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示 对文件的读、写和执行权限。各权限如下所示:

r 读w 写x 可执行。对于目录,表示进入权限。s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID或GID。t 设置标志位(sticky bit)。如果是有sticky bit的目录,在该目录下任何用户只要有适当的权限即可创建文 件,但文件只能被超级用户、目录拥有者或文件属主删除。如果是有sticky bit的可执行文件,在该文件执行后, 指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。- 没有相应位置的权限。

访问权限后面的数字表示与该文件共享inode的文件总数,即硬链接数(参见下面ln命 令)。

change dir 改变当前所在路径

cd ~cd dir1/dir2 cd ..

查看指定命令所在路径

which ls

查看当前所在路径

pwd

mkdir [OPTION] DIRECTORY…

创建目录DIRECTORY,可以一次创建多个。OPTION如果是-p,表示可以连同父目录一起 创建。

rmdir [OPTION]… DIRECTORY…

删除空目录,可以一次删除多个。OPTION如果是-p,表示可以连同空的父目录一起删 除。mkdir和rmdir的用法举例:

$ mkdir a$ mkdir a/b$ ls a b$ rmdir a/b$ ls a$ rmdir a$ mkdir a/bmkdir: cannot create directory `a/b': No such file or directory$ mkdir -p a/b$ rmdir -p a/b

touch [OPTION]… FILE…
  • 将每个文件的访问及修改时间都更新为目前的时间。
  • 如果文件不存在,则创建一个字节数为0的文件。

删除文件:

rm file

删除目录:

rm dir -rf

重命名:

mv file1 file2

移动文件:

mv file1 ~/

拷贝文件:

cp file1 file2 cp file1 dir/ cp file1 ../

拷贝目录:

cp dir1 dir2 -r cp dir1 ~/ -r

查看文件里内容,输出到终端,如果cat时没跟文件名,则读标准输入,遇到n后,输 出到标准输出,终端下输入Ctrl-d表示结束

more [OPTION] FILE…

查看文本文件的内容,屏幕显示完一屏就等待用户按下任意键再滚动到下一屏,如果中 途不想继续看下去了,可以按Ctrl+C或q终止显示。

less [OPTION] FILE…

查看文本文件的内容,屏幕显示完一屏就等待用户按键,用户可以向上或向下查看,如 果中途不想继续看下去了,可以按Ctrl+C或q终止显示。

head [OPTION]… FILE… 显示指定文件的前面几行。如果没有指定文件,将从标准输入上读取。如果没有指定要显示的行数,则默认显示前10行。如果要显示文件的前5行:

$ head -5 file1

tail [OPTION]… FILE… 显示文件的最后几行。若没有指定显示的行或字符数,则默认显示末尾10行。如果要显示文件末5行:

$ tail -5 file1

链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立 指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。如果 给ln命令加上-s选项,则建立符号链接。举例如下,注意ls -l列出文件的硬链接数和字节 数:

硬链接:

touch helloln hello word_h

软链接:

ln -s hello word_s

这个命令需要下载安装,ubuntu下

sudo apt-get install tree

按结构树的形状显示目录和文件

利用 wc 指令我们可以计算文件的 Byte 数、字数、或是列数,若不指定文件名称、或 是所给予的文件名为“-”,则 wc 指令会从标准输入设备读取数据。

wc -l ./*

-c 或–bytes 或–chars 只显示 Bytes 数。-l 或–lines 只显示列数。

-w 或–words 只显示字数。

od -tcx file1

-t 指定数据的显示格式,主要的参数有:

c ASCII字符或反斜杠序列d[SIZE] 有符号十进制数,每个整数SIZE字节。 f[SIZE] 浮点数,每个整数SIZE字节。o[SIZE] 八进制,每个整数SIZE字节。 u[SIZE] 无符号十进制数,每个整数SIZE字节。x[SIZE] 十六进制数,每个整数SIZE字节。

查看某个目录的大小: 以M为单位

du -hm /home/sihai/test

以B为单位

du -hb ./*

以K为单位,4k的整数倍

du -hk ./*

df查看磁盘使用情况

df --block-size=GB df --block-size=MB

为了减少线程创建和销毁带来的时间和空间上的代价,开发中通常会用到线程池。JDK提供了一个很好用的线程池的封装:ThreadPoolExecutor

  • copy单词
  • 打开翻译应用
  • 输入或粘贴查询单词
  • 翻译应用输出查询结果
  • 查询过后,一般都需要 Cmd+Q 退出应用(或者 Cmd+H 隐藏词典,亦或 Cmd+Tab 切换回上一个应用)

图片 1

文件属性和用户用户组

查看当前登陆用户

  • 文字设定法

chmod [who] [+|-|=] [mode] 文件名

操作对象who可是下述字母中的任一个或者它们的组合:

u 表示“用户”,即文件或目录的所有者。g 表示“同组用户”,即与文件属主有相同组ID的所有用户。 o 表示“其他用户”。a 表示“所有用户”。它是系统默认值。

操作符号可以是:

  • +添加某个权限。
  • -取消某个权限。
  • = 赋予给定权限并取消其他所有权限。

设置mode所表示的权限可用下述字母的任意组合:

r 可读。 w 可写。x 可执行。

  • 数字设定法

chmod [mode] 文件名 我们必须首先了解用数字表示的属性的含义:

0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,

然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是。

例如,如果想让某个文件的属主有“读/写”二种权限,需要把4= 6。

比如设置一个文件允许所有用户可写

$ chmod a+w file1

设置一个文件允许所有用户可读、可写、不可执行

$ chmod 666 file1

chown [OPTION]… [OWNER:GROUP] FILE…

chown [OPTION]… –reference=RFILE FILE… 更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户A, 为了让用户A能够存取这个文件,root用户应该把这个文件的属主设为A, 否则,用户A无法存取这个文件。

OPTION的主要参数:

  • -R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
  • -v 显示chown命令所做的工作。 比如把一个文件改为sihai用户和nogroup用户组所有
$ sudo chown sihai:nogroup file1

注意:

  • chown需要特权用户才能执行
  • 一个文件的owner和owning group是没有关联的。一个文件属于用户A,也属于用户组 B,并不表示用户A属于用户组B。

chgrp [OPTION]… GROUP FILE…

chgrp [OPTION]… –reference=RFILE FILE… 该命令改变指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。

文件名是以空格分开的要改变属组的文件列表,支持通配 符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

OPTION的主要参数:

  • -R 递归式地改变指定目录及其下的所有子目录和文件的属组。
 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler)

或者是下面的步骤:

  • Demo解读
    • 1.上边的较大灰色按钮topGrayReduceClickAreaContainerButton,在其上放置了一个可以穿透事件的黄色子视图yellowTopRealClickAreaView,改变了topGrayReduceClickAreaContainerButton的有效点击区域为yellowTopRealClickAreaView范围。
    • 2.下边的较大灰色视图 是一个_bottomGrayContainerLabel,在其上放置了一个可以接收交互的blueRealEffectiveClickAreaLabel,在blueRealEffectiveClickAreaLabel上放置了一个很小的红色按钮redEnlargeClickAreaButton,改变了redEnlargeClickAreaButton的有效点击区域为blueRealEffectiveClickAreaLabel范围。

查找与检索

根据文件名查找

find [OPTION] path… [expression] 在目录中搜索文件,path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。Expression 是 find命令接受的表达式,find命令的所有操作都是针对表达式的。

一条最常用的find命令--在当前目录及子目录下查找所有以file开头的文件名。

$ find . -name 'file*'$ find / -name 'vimrc'$ find ~ -name '*.c'

根据内容检索

grep [options] PATTERN [FILE...]

在指定文件中搜索特定的内容,并将含有这些内容的行输出到标准输出。若不指定文件 名,则从标准输入读取。[options]部分包含的主要参数:

  • -c:只输出匹配行的计数。
  • -I:不区分大小写。
  • -h:查询多文件时不显示文件名。
  • -l:查询多文件时只输出包含匹配字符的文件名。
  • -n:显示匹配行及行号。
  • -s:不显示不存在或无匹配文本的错误信息。
  • -v:显示不包含匹配文本的所有行。
  • -R: 连同子目录中所有文件一起查找。

比如到系统头文件目录下查找所有包含printf的文件

$ grep 'printf' /usr/include -R

corePoolSize:核心线程大小maximumPoolSize:线程池最大容量(需大于等于corePoolSize,否则会抛异常)keepAliveTime:线程执行任务结束之后的存活时间unit:时间单位workQueue:任务队列threadFactory:线程工厂handler:拒绝策略

  • copy单词
  • 手动打开浏览器
  • 进入谷歌首页
  • 选中输入框
  • 输入或粘贴查询单词,然后空格并加上「翻译」两个字,然后再回车
  • 等待浏览器展示查询结果;

有时设计师给的某些可点击的控件的尺寸较小。按照设计师给的图做出相应的视觉效果比较容易。但可能出现一些问题:由于Button过小,不太容易点击到有效区域,所以用户虽然在感官上点击了控件,却并没有得到反馈。

安装卸载软件

更新源服务器列表

sudo vi /etc/apt/sources.list

更新完服务器列表后需要更新下源

sudo apt-get update 更新源sudo apt-get install package 安装包sudo apt-get remove package 删除包sudo apt-cache search package 搜索软件包sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等 sudo apt-get install package --reinstall 重新安装包sudo apt-get -f install 修复安装sudo apt-get remove package --purge 删除包,包括配置文件等 sudo apt-get build-dep package 安装相关的编译环境sudo apt-get upgrade 更新已安装的包 sudo apt-get dist-upgrade 升级系统sudo apt-cache depends package 了解使用该包依赖那些包 sudo apt-cache rdepends package 查看该包被哪些包依赖 sudo apt-get source package 下载该包的源代码sudo apt-get clean && sudo apt-get autoclean 清理无用的包 sudo apt-get check 检查是否有损坏的依赖

安装deb软件包命令: sudo dpkg -i xxx.deb删除软件包命令: sudo dpkg -r xxx.deb连同配置文件一起删除命令: sudo dpkg -r --purge xxx.deb查看软件包信息命令: sudo dpkg -info xxx.deb查看文件拷贝详情命令: sudo dpkg -L xxx.deb查看系统中已安装软件包信息命令: sudo dpkg -l重新配置软件包命令: sudo dpkg-reconfigure xxx

  • 解压缩源代码包
  • cd dir
  • ./configure 检测文件是否缺失,创建Makefile,检测编译环境
  • make 编译源码,生成库和可执行程序
  • sudo make install 把库和可执行程序,安装到系统路径下

线程池中有两个任务容器:

而用Alfred是只需要:

  • 官方: Make it easy for people to interact with content and controls by giving each interactive element ample spacing. Give tappable controls a hit target of about 44 x 44 points.
  • 解释:为了便于用户点击控件后有反应,需要设置足够大小的交互控件,给可点击控件的大约44 x 44 点的点击区域

磁盘管理

命令格式:

mount [-t vfstype] -o options device dir

其中:

  • -t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常 用类型有:

光盘或光盘镜像:iso9660

DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs

Mount Windows文件网络共享:smbfs UNIX 文件网络共享:nfs

  • -o options 主要用来描述设备或档案的挂接方式。常用的参数有: loop:用来把一个文件当成硬盘分区挂接上系统ro:采用只读方式挂接设备rw:采用读写方式挂接设备 iocharset:指定访问文件系统所用字符集

  • device 要挂接的设备。

  • dir设备在系统上的挂接点(mount point)。

private final HashSet<Worker> workers = new HashSet<Worker>();private final BlockingQueue<Runnable> workQueue;
  • 选中单词
  • CMD+Y(假如快捷键你设置的是这个)

通过重写- pointInside:point withEvent:(UIEvent *)event;以改变按钮的有效点击区域

6.1.1 挂接光盘镜像文件

由 于 近 年 来 磁 盘 技 术 的 巨 大 进 步, 新 的 电 脑 系 统 都 配 备 了 大 容 量 的 磁 盘 系 统, 在 Windows下许多人都习惯把软件和资料做成光盘镜像文件通过虚拟 光驱来使用。这样做有 许多好处:一、减轻了光驱的磨损;二、现在硬盘容量巨大存放几十个光盘镜像文件不成问 题,随用随调十分方便;三、硬盘的读取速度要远 远高于光盘的读取速度,CPU占用率大大 降低。其实linux系统下制作和使用光盘镜像比Windows系统更方便,不必借用任何第三方软 件包。

1.从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。

cp /dev/cdrom /home/sunky/mydisk.iso

dd if=/dev/cdrom of=/home/sunky/mydisk.iso

注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件/home/ sunky/mydisk.iso

2.文件和目录制作成光盘镜像文件,执行下面的命令。

mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

注:这条命令将/home/sunky/mydir目录下所有的目录和文件制作成光盘镜像文件/ home/sunky/mydisk.iso,光盘卷标为:mydisk

3.光盘镜像文件的挂接

mkdir /mnt/vcdrom

注:建立一个目录用来作挂接点(mount point)

mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom

注:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。

前者用于存储工作者线程,后者用于缓冲任务。值得一提的是,maximumPoolSize限定的是workers的容量,和workQueue无关。

Done!!

QiChangeClickEffectiveAreaButton.h:

6.1.2 挂载U盘

1.检测存储设备名称

sudo fdisk -l

2.挂载存储设备sdb1到挂载点/mnt目录

sudo mount /dev/sdb1 /mnt

3.访问/mnt

4.卸载/mnt

sudo umount /mnt

卸载命令

sudo umount 挂在点

dd:拷贝

例1:拷贝光碟(注意,你的光碟是标准的 iso9660格式才可以这么做)

dd if=/dev/cdrom of=cdrom.iso

例2:将文件sfile拷贝到文件 dfile中。

$ dd if=sfile of=dfile

例3:创建一个100M的空文件

dd if=/dev/zero of=hello.txt bs=100M count=1

/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!

/dev/zero,是一个输入设备,你可你用它来初始化文件,从里面读出来的数据都是0。

一个任务到来,假设此时容器workers中的线程数为n,则

那么问题来了,Alfred到底具体能做什么?

默认情况下,Alfred 至少能胜任 15 项工作:

  1. 应用搜索
  2. 文件或目录搜索
  3. 文本内容搜索
  4. 标记搜索
  5. 快捷网页搜索
  6. 书签搜索
  7. 计算器
  8. 词典搜索
  9. 通讯录搜索
  10. 剪切板搜索
  11. 代码片段搜索
  12. iTunes 管理
  13. 1Password 搜索
  14. 系统常用命令快捷操作
  15. 直接唤起指定终端并执行命令

这里做了很详细的说明。

当然,Alfred真正核心的功能在于——Workflow

Alfred 几乎可以做任何自动化工作流的事情(只要能用代码描述这个工作流就行),它能彻底改变了你对 Mac 的认知。

网上有很多大神们写好的workflow,可以搜一搜,然后体验体验,在我们可以自己为所欲为之前,坚定一下信心。

一句话总结:GTD神器,简洁但不简单。

一款窗口布局的神器。支持自定义快捷键实现相应的窗口布局。

一键直观查看App的快捷键列表。

说道快捷键,是的,快捷键会很大程度上提高你的效率,Mac上就自带了很多的快捷键,记住这些快捷键招式,就能立马神装出山了。具体可以参见这里。

细心一些我们会发现,当前主流的IDE,或者以前曾经主流过的,或者未来即将成为主流的,总会有一套Vim相关的插件。其实,这就已经很能说明问题了。

Vim在手,天下我有的赶脚,有木有?!

Vim各类IDE的插件安装在这里就不详细阐述了,推荐几个Atom上神装吧,仅供参考:

  • Vim Mode Plus

Vim主要功能插件,不多说,究竟怎么爽,谁用谁知道。

  • relative-numbers

相对行数在Vim中的重要地位不言而喻了,这款插件能够直观的看出彼此的相对行数。

  • minimap

Sublime 右侧的mini视图,对,就是这货。

  • activate-power-mode

这款插件绝对会让你有一种敲代码如同跳舞的动感,呃,提醒一句,注意休息眼睛。哈哈~~

当然,Atom的插件还有很多,可以去他的官网淘出你需要的。

iTerm2+ oh my zsh的组合,为你打造最强Mac终端便不只是梦。个性化的主题,私人订制属于自己的格调。一堆定义好的alias,省心省力,爽的飞起!

  • chrome下的Vim插件,让你浏览网页也能有Vim操作的快感。点击这里了解
  • chrome下的Vim插件,Vimium的强化版本。点击这里了解

喜欢我的可以关注收藏我的个人博客:Ro.bber

最后,放上Vim快捷键的几张图,欢迎收藏:

图片 2Vim文字版.png图片 3Vim入门版.png图片 4Vim进阶版.png图片 5Vim增强版.png图片 6vim.png

#import <UIKit/UIKit.h>@interface QiChangeClickEffectiveAreaButton : UIButton//! 点击范围的缩小值 此值目前只是为了演示 把较大按钮的点击范围变小@property (nonatomic,assign) CGFloat qi_clickAreaReduceValue;@end
友情链接: 网站地图
Copyright © 2015-2019 http://www.nflfreepicks.net. 新葡萄京娱乐场网址有限公司 版权所有