少有人走的路:独立开发者该如何寻找资源

这一篇其实两个月前就应该写了,不过有一些事情拖延于是就到了现在。前几天和朋友讨论到独立开发的“小众”的概念,我觉得有必要再细致的定义一下。究竟独立开发者要做的这个小众是什么,所谓的细分市场,究竟又该怎么细分。

心灵小众

一说到小众和细分,可能很多人的第一印象是那些无人问津的东西比如学校里一小撮学生的小需求,或者是律师在工作上的一些需求……这里我们回顾一下细分市场:独立开发者该如何确定开发项目中[……]

点击跳转以继续阅读

letsencrypt 工具改名 certbot

今天落格博客的证书到期了,之前我有写过如何用 letsencrypt 来给博客加 https 支持,并且在文章的末尾教大家写了一个定时更新服务,这样你就不用每三个月自己手动去更新了。

不过,如果你的证书要过期了,那么其实 letsencrypt 会有机器人给你发提醒邮件的,内容大致是这样:

Hello,

Your certificate (or certificates) for t[……]

点击跳转以继续阅读

ANNE pro GH60 定制键盘 macOS 键位设置

之前我写过一篇Poker 2 机械键盘 Mac 键位修改的文章,现在由于我买了一个升降桌,然后poker是有线的,于是很不方便,就寻思买一款蓝牙键盘,没想到当年梦想的蓝牙机械键盘已经有了现成的,正好,寻思着就定制一个。

我对poker的wasd方向键情有独钟,尤其是改 capslock 为 fn 后,简直是编程利器,爽的一批,所以这次找键盘也必然是 60键,也要支持 capslock + w[……]

点击跳转以继续阅读

macOS 键盘按键 event 的三种截获方式

一般情况下,你不需要了解这些内容。

在极少数情况下,你的app可能需要去获取用户按下的按键信息,比如盗号木马 开发一款输入法。只有这样你才能给用户提供候选。

怎么在 macOS 下创建一个输入法,我在Swift 使用 InputMethodKit 写输入法这篇文章中有详细的说明,这里略过不提,我们重点放在如何处理用户按键,尤其是修饰按键的处理上。

落格输入法一直以来有一个不大不小[……]

点击跳转以继续阅读

winform 使用 视频 作为窗口背景

最近做 Windows 上的项目,客户要求要做的“炫”一点,所以,动态的窗口背景永远是必不可少的内容(比如手机qq的登录界面对吧?

我本以为这是一个很容易实现的功能于是就满口答应下来……是的,在 winform 里,并不是那么容易就能达到你想要的效果的。

理所当然,我们想到如果要播放视频,那么就用系统自带的 media player,只要添加一个控件就可以搞定——结果就是播放的视频要么[……]

点击跳转以继续阅读

使用 csf 防火墙来有效阻止小规模 DDOS

之前我写过一篇文章,购买了VPS之后你应该做足的安全措施,这里边介绍了如何安装 csf 防火墙,其实很简单就几条命令,不过,由于当时我的无知,导致实际上csf 防火墙并没有真正生效,原因是 csf 和 ufw 一样都是 iptables 脚本,它们处在同一层级,是互相冲突的。

所以,在配置 csf 防火墙时,你应该先执行命令  ufw disable

点击跳转以继续阅读

避免输入法 候选条 被其他窗口挡住

在开发落格输入法 macOS 版本的时候,我遇到了这么一个难题,那就是窗口优先级的问题。在之前 如何让 NSWindow 显示在不同的 Space 或者 Screen 中 这篇文章中我提到了自己实现了落格输入法的候选栏,其实是用一个 NSWindow  实现的。那么既然是一个普通(经过魔改)的 [crayon-5a2e68fb02bd772093[……]

点击跳转以继续阅读

面对coronasdk的物理引擎

关于移动手机的开发,目前网络上主要流行两种开发软件,一个是众所周知的unity(毕竟当年4399小游戏上面的网络版Minecraft由它开发,3d引擎没有任何软件能够超越它),另一个是比较小众化的cocos。cocos占据着2d游戏的主要位置,而unity却占据着3d游戏的主要位置。而我们讲的coronasdk与cocos一样为2d游戏引擎(coronasdk不被人所知主要是因为2010年以前收费[……]

点击跳转以继续阅读

Android 安卓开发板 读取串口

最近接了个工程,需求是给特制的工程安卓板子做串口读写以实现一些特定外接设备的互动——是的你没有看错,安卓板子也是可以有串口的!

很多做移动开发的朋友可能没接触过——其实在这之前我也没接触过。踩了七八个小时的坑,终于爬出来了,这里做一个总结,可能各个工程板子具体情况不同,大家一定要随机应变。

首先你要知道的

跳线,工程板子为了节约 USB 接口,默认的 USB 接口都是对外的不能接电脑调试[……]

点击跳转以继续阅读