TECHOFFEE

Tech and Coffee


  • Home

  • Archives

  • Tags

  • Categories

  • Gallery

  • Sitemap

MacOS × 怎样移除菜单栏上Spotlight的小图标

Posted on 2017-12-10 |

(补充序言)

在MacOS中Spotlight是一个非常有用且高效的功能,能够帮助我们快速的找到想要的资源。日常工作中,我们可以使用^Space快捷键直接呼出Spotlight的对话框,输入信息来查找资源。同样的效果,我们也可以点击菜单栏右上角的放大镜()图标,呼出对话框。问题就在于,有了超级方便的^Space快捷键,右上角的放大镜就很鸡肋了。一个不能在超级黄金位置产生任何效益按钮,这就导致它在我的13寸的MPB上非常非常的扎眼,所以要想方设法除掉它。

如果你也遇到了上述和我们一样的问题,以及自带中等偏上的强迫症发作,不妨看看我是怎么做的吧。

(正文开始)

为什么一定要隐藏掉Spotlight在Menubar中的那么一个小图标呢?

Why

因为正常来说,我们一般都会使用快捷键^Space呼出Spotlight,此时在Menubar上的小图标就略显多余。并且在黄金地段占用了一格关键的位置,要知道Menubar从来都是寸土寸金的好伐,实在令人心疼。这么充实的理由,难道不应该将其移除吗?

It's TRUE

Tips: Spotlight小图标是不能删掉的,只能通过障眼法将其移除到主流视线之外。

✎ Use Bartender

Bartender是一款简单好用的Menubar图标收纳应用1,使用Bartender3可以将Spotlight轻松收纳到它的次级Menubar中。非常实用,强烈推荐。

Bartender 3

不知道Bartender3为什么要把主题换成绿色,而且还绿得发亮 😂

Bartender 3 Menu Items

需要注意,使用Bartender管理系统图标时,可能会遇到SIP2安全管理的问题,Bartender3已经自动安装了相关组件,Bartender2需要手动安装。

Bartender System Component

如果上面两个版本都不能在Bartender中看到系统图标选项,那么可以试试这个方法(笔者并没有试过😎):

Hide icon spotlight in El Capitan

✎ Hacking

如果不想使用任何工具来达到隐藏Spotlight图标的效果,也是有大神支招的,可以参考这个答案:

How do I hide the Spotlight icon on Yosemite, but keep the Spotlight functionality?

虽然答案中最后有注明还原方法,但是保险起见,在任何修改之前还是遵守一般守则记得备份吧!备份!备份!

✎ Menubar Tips

完成控制哪些图标可以显示之后,你肯定会问:怎么调整图标的位置呀?很简单,可以按住⌘,然后在Memubar上直接使用鼠标拖动来调整各个图标的位置就可以啦。


  1. 更多Mac工具可以查看:Mac奇妙工具清单
  2. About System Integrity Protection on your Mac

ECLIPSE熟手尝试IDEA实践指南

Posted on 2017-07-10 |

Advantages of IDE

名词解释

  • Eclipse
  • IDEA

其实一开始关于是否要使用IDEA,我是很拒绝的。首先是Eclipse我已经使用了很多年,非常顺手。其次,在繁重的开发进度之下,更换一个顺手的IDE,短期内必然影响效率,对于业务目标,这个动作显得无关紧要。因此,虽然IDEA名声在外,我也早有耳闻,尽管还有时被同事挑战Eclipse丑陋无比,并且在Macbook上无论怎么优化都存在的卡顿感,我还是会“强烈”的维护Eclipse的“尊严”。只到我看见同事使用IDEA码速如飞,在给一个方法传字符串显示如下情景时,那一刻我触动了,感觉有那么一丝美妙。

Method Argument Tips

没错,就是传参如果是字面量,IDEA会在参数前自动附上参数定义的名称,这感觉太棒啦。现在回想,其实对于字面量写上注释会更好,毕竟使用Sublime Text打开也是需要能够准确理解该传参意义的,不过至少IDEA的用户很爽了。

当然,这里不是给IDEA说好话的,但我作为一个老Eclipse用户,在尝试了一个多月的IDEA之后,也算趟了一些坑,下面就分享给大家,绝对可以作为优雅的从Eclipse切换到IDEA的参考指南。总的来说,IDEA在MacOS上的表现是胜过Eclipse的,其他平台我暂没对比过,正在使用Eclipse的Java开发者们,如果有兴趣,推荐尝试一下IDEA,保证不亏。

第一步:乾坤大挪移

啥?乾坤大挪移!?其实就是换个工具。但是换工具可不简单,原来的工具使用得越是熟练,切换初期越是难受,肯定会发牢骚为什么这个功能都没有,或者是为什么要这么麻烦才能使用。这些我认为还算是好的,也就是个肌肉记忆的过程,伤害的也就是自己而已。但如果正好恰巧在繁忙的工作中,不留神使用了一个在新工具上不熟悉但和老工具很相似的功能,而造成了一些不可逆的错误,那才是最要命的。所以我非常强烈建议数据库客户端不要随便换,顺手就好,不要问我为啥知道这些🤣

上面说了那么多,其实是为了制造一些“恐慌”,哈哈,好让大家认真看看接下来的内容。说真的,这些注意事项绝对会让你从Eclipse切换IDEA的过程流畅很多,亲测有效。

开始之前,记住如何使用IDEA设置的秘诀:

  • 打开设置窗口:⌘,
  • 使用左上角搜索快速设置IDEA

快捷键设置

相信这件事情不用解释,风骚操作的前提是吧。
首先,设置Keymap:复制 Eclipse (Mac OS X),再设置如下快捷键与Eclipse一致(同样建议使用Keymap中的搜索功能,下面的条目都是可以直接搜索出来的)

  • Code Complete: ⌥/
  • Implementation: ⌘ Button 1 Click(快速进入实现类)
  • Replace: ⌘F
  • Refactor: ⌥⌘R
  • Generate: ⌘N

除了上面需要手动修改的快捷键,IDEA还有一些快捷键:

  • Workspace搜索:⌃H
  • Search Everywhere:Double Clike Shift

第二步:葵花宝典

操作方式搞定,接下来就是个性化啦,主要包括主题设置与插件设置两部分内容。

主题设置

IDEA主题分为Workspace主题与Editor主题两部分,Workspace主题只能通过主题插件来改变,例如文件图标,IDE框架颜色,Tab设置等。

Material Theme Plugin View

Editor主题则简单很多,在ColorThemes下载一个喜欢的主题,然后Import即可。

主题推荐如下,好不好试过才知道哟😏

  • Wordspace主题:Material Theme
  • Editor主题:Ladies Night 2(ColorThemes人气王还是有道理的)
  • 字体:Mac上推荐用Anonymous

插件设置

工欲善其事,必先利其器,IDEA社区有很多高质插件可供使用,这里只推荐一个。

  • Save Actions:IDEA默认是自动保存的,但是并没有像Eclipse设置保存动作的功能。例如,保存时自动去除多余空行,自动添加@Override标注,整理import引用等等,这些行为需要通过安装Save Actions插件实现。

Save Action Plugin View

第三步:左右互搏

标题名字随便起的,这里想说的是,IDE只是工具,我们自己用得顺手就好,它们都有各自的优缺点,喜欢就好,也不是每个人都爱好折腾工具的对吧,要不怎么大神都总是用神之编辑器或者编辑器之神呢。

下面简单列了一些关于Eclipse和IDEA各自独有的小特点,某些特殊场景还是挺使用的。

Eclipse Pros

  • Checkstyle Plugin:能够直接指定按目录执行Checkstyle检查
  • Code Template:支持导入代码模版,IDEA暂不支持
  • Multiple Projects:多项目支持,可以很方便的供用Workspace Settings

IDEA Pros

  • Decompiler:初始安装的插件Java Bytecode Decompiler,支持反编译Class文件,查看第三方无附加源码的Lib非常方便
  • Markdown Support:初始安装的插件Markdown Support,支持md文件即时可视编辑
  • 自动转译粘贴的字符串中的冒号:向字符串中粘贴{"idea":"awesome"},或自动转译成{\"idea\":\"awesome\"},使用JSON时非常方便

以上就是我使用IDEA的一些记录,希望对你有所帮助。

[Update]2017-11-29

  • JetBrains推出了关于它家工具的一篮子解决方案,强烈推荐:JetBrains ToolBox
    JetBrains ToolBox
  • IDEA的查找(⌃H)太好用啦,可以直接在查找结果理修改代码,这对重构改名即方便又安心 💯

[Update]2017-12-02

  • 在IDEA中Editor下方的面包屑非常好用,在代码逻辑层级中跳转和查看很方便也很直观

SDK设计原则

Posted on 2017-07-09 |

最近在开发一个SDK,其目标就是能够让后端服务能够简单快速的接入监控,告警以及异常上报功能,从而透视出服务运行时的实时质量。实现其实蛮简单的,利用现有的各种服务平台,实现胶水代码就好了。但是,再简单的事情也不该轻视,如果因为这个SDK引起服务不可用,响应变慢,或者其他异常,那就不是一件好玩的事情了。一个SDK虽然小(或者说是代码少),但是需要足够健壮,不要给业务添麻烦。同时,也需要足够简单,同样是不要给业务添麻烦。

下面是我在开发SDK时的一些总结和思考,不能面面俱到,不过应该能够让一个SDK活得还算滋润,吧。

✎ Smallest Core

设计SDK和设计模块,设计产品一样,都是要先理清核心功能,这一点对于一个SDK来说,就是保持一个最小核心代码实现,只做一件事,并将其做好。在Java开源社区中有一个把自己做复杂的例子就是Restlet,当你需要Restful时,往往Spring MVC就能很好的满足了,所以在使用中Restlet的复杂度远远高于Spring MVC。虽然前面对比是两个框架,不过还是能够说明保持“最小核心”的重要性的。

✎ Simplest API

当开发拿到一个SDK时,第一反应肯定是问“怎么用”,这里表达的意思就是“怎么调用”。如果此时几个方法或者几句话表达不清楚,估计就得下次再说了,毕竟谁都很忙对吧,解决这个问题的关键就是设计最简洁的API。首先API数量要少,根据研究人类的瞬时记忆只能维持记忆5到9个数字,一下子没记还是会有些挫败感的,所以一个SDK最好是只要用到3到5个API。其次,API要能开箱即用,简单明了,不要错综复杂的配置与初始化,最多调用init()就可以开始干活啦。简洁SDK的目标就是简单好用,让人舒服,保持以下原则会让SDK更容易达成这个目标。

  • Less than more
  • Keep It Simple, Stupid (KISS)
  • Self-documenting code
  • Non-invasive

✎ Asynchronous

一般来说,SDK的API都是被业务线程调用的,而业务线程只有一个目标,就是安全无错快速的执行完业务逻辑。可以想象,如果让开发知道一个SDK中的代码会阻塞业务代码运行,哪怕是一毫秒,估计也是会拒绝的吧。更严重的是,如果SDK中的代码是同步执行,SDK中的异常有可能会抛出到当前业务线程执行栈中,那就真的太恐怖了。因此,异步对于SDK来说基本是必选项,除非是“权限”类的SDK。

✎ Production Ready

关于什么是Production Ready,可以参考这个定义。下面列出了准备好给生产环境使用所需要做的一些事情。做到Production Ready,不仅SDK需要完备的功能,更重要的是让人使用的放心。

  • Unit Test / 单元测试
  • Detailed Debug Logging / 详细的Debug日志输出
  • Detailed Documents/Comments / 详细的代码注释和文档说明
  • Tiny Size / 微型包大小,减少多余的依赖

HEXO × 样式实践笔记

Posted on 2016-05-21 |

Hexo是一个基于Node.js的静态博客框架,由@tommy351创建,按其对自己的描述就是:

A fast, simple & powerful blog framework

本文只会介绍Hexo一些个性化设置的方法,至于如何使用Hexo搭建独立博客可以参考这篇文章。同时,在开始使用Hexo之前,强烈推荐先阅读一下Hexo Docs,该文档可以让你对怎样使用Hexo有一个比较全面清晰的概念。

[注意] 以下内容基于NexT Theme & Github演绎 😉

✔︎ README.md

首次使用hexo d -g发布到Github之后,会发现项目的首页出了文件列表,下面的介绍说明还是空白的。按照Github的规则,我们在项目根目录下添加README.md就好了。但是,如果在Github页面上使用Create new file创建README.md的话,在你下一次Hexo发布时会发现README.md会被删除掉。

正确的方法就是在source目录下创建README.md,这样就没有问题啦。

✔ Favicon.ico

接下来,选择一个自己喜欢的图片作为博客的Favicon吧,参考这里。

Mario's Favicon

✔ 404.html

当访问博客不存在的地址时,默认会显示Github的404页面,如果你觉得这样不符合心意,也可以设置自己的404,过程非常简单。我们只需在source目录下新建一个404.html文件就可以了,内容可以自定义,也可以使用腾讯公益404页面。

需要注意,自定义404页面只能用于顶级域名(如techoffee.me),而对于GitHub的二级域名(如hengliang.github.io)是不起作用的。另外,在使用hexo server本机调试时也没有作用,此时访问不存在的页面只会显示找不到指定路径。

Cannot GET /nothing/

✔ 使用HTML标签

因为Markdown本身理念就是简洁,所以对于繁杂的细节排版并不合适。例如,调整某个字体的大小或者颜色。但是在Hexo中使用Markdown写作时,如果有特殊的排版需求,我们则可以通过HTML标签来实现。例如上面“注意”二字,正是使用了以下的HTML标签。

1
2
3
4
5
6
7
<style>
span.notice {
color: #FE007F;
}
</style>

<span class="notice">[**注意**]</span>

所以,如果想在文章中插入自己的视频,除了使用Hexo插件,也可以使用<video>标签。

✔ 使用KeyStroke样式

参考正上方技巧,填加HTML元素kbd的样式,参考自StackExchange。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<style>
kbd {
display: inline-block;
margin: 0 .1em;
padding: .1em .6em;
font-family: Arial,"Helvetica Neue",Helvetica,sans-serif;
font-size: 11px;
line-height: 1.4;
color: #242729;
text-shadow: 0 1px 0 #FFF;
background-color: #e1e3e5;
border: 1px solid #adb3b9;
border-radius: 3px;
box-shadow: 0 1px 0 rgba(12,13,14,0.2), 0 0 0 2px #FFF inset;
white-space: nowrap;
}
</style>

然后在文章中输入

1
2
<kbd>K</kbd><kbd>E</kbd><kbd>Y</kbd>
<kbd>S</kbd><kbd>T</kbd><kbd>R</kbd><kbd>O</kbd><kbd>K</kbd><kbd>E</kbd>

效果如下:

KEY
STROKE

✔ 使用页内跳转

在阅读文章时,我们会引用一些资料,通常我们会在引用的内容后放置页面内引用标记来关联实际的资料地址,在Hexo中可以按以下方式使用页面内引用。

效果:点击页面内标记跳转至文章底部原始资料地址

1
2
3
4
5
6
7
// 文章内引用标记
// - `<sup>`: 上标`HTML`元素标记
// - `[1](#1)`: 页面内标记
图片收纳应用<sup>[1](#1)</sup>

// 文章底部原始资料地址(注意`id`要与对应的页面内标记相同)
更多Mac工具可以查看:<span id="1">[Mac奇妙工具清单](/mac/tools)</span>

✔ 使用第三方服务

作为一个博客的管理者,当然不是只写写文章就什么都不管啦。例如,我们需要关注每篇文章大家的反应,需要知道每天博客的访问量是多少,需要让自己的文章能够被更多分享。幸运的是,NexT Theme已经集成了一部分这些服务,具体可以参考NexT第三方服务集成。

✔ Hexo资源列表

最后,善用以下的资源,会让你遇见更好的Hexo 😋

  • Hexo Docs: Hexo官方文档,介绍了Hexo的使用方式与内部细节。
  • Hexo Plugins: Hexo官方插件库
  • Hexo Themes: Hexo官方主题库
  • 图灵社区Hexo文章合集
  • NexT FAQ

MacOS × 冷门小技巧

Posted on 2016-05-20 |

这里有一些不太常用的Mac(简单的)小技巧,但是,偶尔拿一个用用是可以提升小小的幸福感哟 😉

⌘ 使用颜文字

在中文输入法以及编辑状态下,使用⇧(SHIFT) + 6呼出颜文字菜单。

⌘ 使用特殊符号

在编辑状态下,使用⌃ + ⌘ + Space呼出颜文字菜单。

⌘ 自定义应用图标

虽然说Mac上的应用基本上好用的都会比较好看,但有时候还是存在个别忍不了的。例如我就把下面的Android File Transfer应用的图标给换了,如果你也觉得有这个需要,可以参考这篇文章。

⌘ 自定义用户头像

Mac用户头像设置中并没有自定义这个选项,有个时候心血来潮想用自己喜欢的头像怎么办呢,下面的小视频帮你解决这个烦恼 😋


⌘ 自定义网络位置

如果平时需要使用多个网络环境配置(例如代理,DNS),那么这个小技巧可以让你免去每次都需要手动去修改这些配置的烦恼,具体看这里。

MacOS × 奇妙工具清单

Posted on 2016-03-11 |

MacOS平台上有很多漂亮又高效的好工具,下面列出来一些自己使用过觉得蛮不错的App,它们都有以下特征:

  • 漂亮的图标
  • 美观的界面
  • 简单的操作
  • 纯粹的功能

简而言之,就是长得要好,用的要爽 ( ´ ▽ ` )ノ

✎ 系统

  • 🆓ClipMenu: 剪贴板神器,默认支持20条历史记录,快捷键为:⌘+⇧+v(最近看到一个国产的剪贴板Pin做的好像也很好)
  • 🆓The Unarchiver: 支持多种压缩包格式,如果双击zip解压缩后文件名乱码,可以使用它来解决
  • 🆓AppCleaner: 卸载非 App Store 安装的 App 时非常方便
  • 🆓EuDict Free: 欧路词典免费版,词典和单词本足矣
  • 💵1Password: 装了没有怎么使用过,但是觉得很酷很好看:P
  • 💵Bartender: 任务栏(右上角)简洁强迫症者的福音啊
  • 💵Magnet: 大屏幕的好搭档,能够快速编排窗口展示位置,据说掌握它的快捷键会提升一个档次的幸福感。
  • 💵iStat Menus: 系统资源监控神器,数值清晰,颜值超高,并且支持定制化,并且比系统自带Activity Monitor占用CPU资源小,堪称完美。

✎ 写作

  • 🆓Quiver: Markdown写作的的好帮手(实践有风险,有保存假象的问题,重新打开后之前保存的内容都没有了,发生过两次把我整崩溃了)
  • 🆓Evernote: (・ω・)ノ
  • 🆓马克飞象: Evernote之Markdown的黄金搭档,语法支持全,使用离线版本更加方便
  • 🆓Haroopad: 对Markdown支持很友好的标记器

✎ 编程

  • 🆓brew.sh: The missing package manager for macOS,相信brew.sh不用再多介绍了,这里想着重提醒的是记得一定要brew install rmtrash,并且alias rm=rmtrash,避免后悔莫及的那一刻。
  • 🆓Terminal: 默认的命令行已经觉得够用啦,但是用过iTerm之后,还是觉得后者更好一些
  • 🆓Go2Shell: 能够从Finder一个点击就到对应目录的Terminal
  • 🆓Dash: (。-_-。)
  • 🆓Sequel Pro: 简洁的MySQL客户端
  • 🆓Sublime Text 3: 一定要用这个版本,然后装上Material Theme 😉
  • 🆓storm: Manage your SSH like a boss.
  • 🆓shuttle: A simple SSH shortcut menu for OS X.
  • 🆓GitUp: 轻巧易用的Git客户端
  • 🆓rmtrash: Put files (and directories) in trash using the trash-put command in a way that is, otherwise as trash-put itself, compatible to GNUs rm and rmdir. (简单来说,就是避免直接把文件给删掉,建议安装💯)

✎ 设计

  • 🆓Sip: 非常好用的取色工具
  • 🆓XMind: 一直使用的思维导图好帮手
  • 💵Sketch: 足够美足够简单的矢量绘图工具
  • 🆓SketchUp: 3D建模

✎ 娱乐

  • 🆓Irvue: 自带美图平台的壁纸自动更换小帮手
  • 🆓OpenEmu: 模拟器平台(神器),第一眼就让你惊艳
  • 🆓Simple Comic: 看漫本神器,支持直接打开RAR
  • 🆓Skim: 功能齐备且免费的PDF阅读神器,支持标记和搜索,特别适合写作文查资料使用

✎ 日常

  • 💵Calendar 366: 非常简洁方便美观的日历,并且支持对Menubar的定制操作,完全可以替代系统时间在Menubar上的现实效果。
  • 🆓Gifox:强烈推荐录屏生成GIF图片的小工具,小而美!
  • 🆓Recordit:小巧简单的录屏工具,特点是即录即上传,适用于简单演示或分享,支持划定区域录制

2017-07-02: 发现一个好地方Awesome Mac,这里收藏了很多在Mac上适合开发和设计的好工具,强烈推荐!

HEXO × Hello HEXO

Posted on 2015-05-20 |

(从此开启新大门)

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

Mario

Mario

TECHOFFEE is a blog for beautiful things and programming skills.
Let's say Programming is Interesting.

7 posts
8 tags
GitHub OnlineTools EMail Music
© 2018 MARIO
Powered by Hexo
|
NexT.Gemini v6.0.6
- - -

SPONSORS