如何让 NSWindow 显示在不同的 Space 或者 Screen 中

在写落格输入法 Mac 版的过程当中,我遇到了这么一个问题,系统的候选条 API 年久失修,很多功能 API 存在但根本无效,比如:

这个方法是用来设置候选条风格的,里边除了默认的 IMKCandidatesSendServerKeyEventFirst 这个能生效外,其他的一概无视。

这就尴尬了,现在平明动辄高分4k要么就视网[……]

点击跳转以继续阅读

URL 遇到 中文字符 无法初始化

在 Swift 中,大家经常会用 URL 来初始化一个路径,比如网页的链接。比如这样:

当用户点击按钮(比如说这个帮助按钮),那么一下子就帮用户打开默认的浏览器,并打开指定的页面(这里是个论坛)。

那么,如果你的链接是这样的: "https://v2mm.tech/topic/618/怎样优雅地使用落格输入法的点划功能" 那么很不幸,崩溃。

崩[……]

点击跳转以继续阅读

Gradle 配置代理

Gradle 默认直连网络,即使 Mac 设置了全局代理也是一样。就算你给 Android Studio 设置了代理,它依旧会风轻云淡地直连那个你在中国一辈子也不可能连上的网站……

要让 Gradle 走代理,你需要给它进行单独的配置,在每个项目的  gradle-wrapper.properties 中插入如下配置语句,记住 https 千万不能省!
[crayon-67[……]

点击跳转以继续阅读

如何给服务器端做最基本的密码安全

做 app 做网站,难免要和服务器、后台、数据打交道,那么作为一名后台开发,当涉及到注册登录,你最应当想到的应该是用户的安全,尤其是密码安全。

现在安全界几乎天天都有某网站、某公司被脱裤,也就是整站的数据库被偷走被下载。那么你的用户数据全部落入了歹徒手中,应该怎么防范即使如此,歹徒也不能拿到用户的真实密码呢?

这里我们定义,“不能拿到”指的是在“有生之年”他得不到,理论上如果有足够的时间([……]

点击跳转以继续阅读

设计三要素:独立开发者该凭借什么抓住用户的心?

中国的互联网是垄断的,大多数互联网用户日常上网都逃不开那几个大厂的服务,换个角度来讲,他们也不需要这几个大厂之外的服务。因为日常上网的服务都被大厂所垄断,作为独立开发者,你没有足够的人力物力财力,不思考着力点、不研究用户期望,冒然去与大厂抗衡逆风而行,那么未来的失败是必然的。

上一篇文章我们讨论了细分市场对于独立开发者的重要性,那么这次我们就一起来看看,一个没钱没团队没设计师的独立开发者,该如何[……]

点击跳转以继续阅读

用 NextCloud 搭建个人私有云

 

背景交代

之前给大家写了一篇 用 ownCloud 搭建个人私有云 的文章,直到现在网盘纷纷停止服务已经有一段时间了,现在 ownCloud 的团队也弃坑了,全都跳槽去开发一个新的网盘”NextCloud“。

ownCloud 的版本号一直维持在 v9.x.x ,然而 Nextcloud 作为一个新生儿,初始的版本就是[[……]

点击跳转以继续阅读

细分市场:独立开发者该如何确定开发项目

俗话说,好的开始是成功的一半。
不少朋友找我聊天,说想做独立开发者,说有个想法或者项目。等他们一开口,我就知道他最终的结果是去投简历。

很多独立开发者从一开始就注定会(比其他人更可能会)失败。 为什么这么说呢?很多开发者尝试去做独立开发,最后发现自己做的 app 根本没人用。最终导致心灰意冷,重新回到了办公室。

独立开发和企业开发不同,你做独立开发,那么你一个人就要身兼数职,除了最必备的[……]

点击跳转以继续阅读

给服务器添加 ipv6 支持 以通过苹果审核

给 iOS 应用做后端服务器,需要做 ipv6 的支持,虽然 6 在中国几乎不怎么用,但遗憾的是苹果现在要求所有上架的 app 都需要支持纯 ipv6 网络,所以,我们的服务器至少要在 ipv6 的环境下跑起来。

由于国内大多数服务器商不能提供 ipv6 网络,所以我们只能自己找隧道,现在用的比较广的是这一家,我也用的是他们的服务,是免费的,注册一下就好。

注册之后,选择左下方的 “C[……]

点击跳转以继续阅读

落格输入法是如何实现按键音的

众所周知,落格输入法不需要获取“完全访问权限”,所以根据苹果的权限,自然就无法播放按键音了。

不过,最近的落格输入法更新中加入了这一功能——在后续的版本中甚至可以加入按键震动了。然而我还是无需获取“完全访问权限”。

那么,我是怎么做到的呢?

iOS 里的声音和震动

其实是同一回事。在 iOS 里,震动其实也是声音,也就是说,首先,只要能播放声音,就可以震动,因为在 iOS 的[……]

点击跳转以继续阅读