macOSX开发之Safari App Extension初探

Safari App Extension简介

什么是Safari App Extension

Safari App Extension,即Safari浏览器应用拓展。它是苹果新推出的一种Safari扩展开发技术,最低支持Safari10.0,主要由三个部分组成分别是:

Read more

在一台电脑搭建多个不同的hexo+github博客

hexo+github是目前比较受欢迎的搭建个人博客的组合,hexo最终的发布依赖于github的。因此解决在同一台电脑搭建多个不同的hexo+github博客的根本在于:解决如何在一台电脑上绑定多个github账号。

Read more

在MacOS系统中使用OpenCV库(sandbox supported)

最近因工作需要研究图片格式转换相关的知识点,其中使用到OpenCV库(一个基于BSD许可(开源)发行的跨平台计算机视觉库,很强大)中的ssim(结构相似性)算法实现来计算两张图片的相似度,用以做图片转换前后的对比。因此需要在Xcode中配置OpenCV库并且能在沙盒下使用,这一过程花费了将近一天的工作时间才配置成功,由于网上大多数资料基本上都是在非沙盒条件下的配置教程,对我没有太多实质性的帮助,这也是写这篇博客的意义所在。

Read more

剖析@synchronizd底层实现原理

@synchronizd是Objective-C中的一个语法糖,用于给某个对象加锁,因为使用起来简单方便,所以使用频率很高。然而,滥用@synchronizd很容易导致代码效率低下。本篇博客旨在结合@synchronizd底层实现源码并剖析其实现原理,这样可以更好的让我们在适合的情景使用@synchronizd。

Read more

JavaScript的this关键字

这是一篇翻译文章,原文地址*点击这里*。

JavaScript中一个常用的语法特征就是this关键字,同时这也是JavaScript最容易被误解和造成困惑的特征。this关键字的含义是什么且决定其含义的依据是什么?

这篇文章试着解开这个的疑惑并给出一个简单清晰的解释。

Read more

Cocoa程序退出前发送HttpRequest请求

最近在视频投送项目中遇到一个奇葩问题,花费了一整天时间才得以解决。这个问题比较隐晦,值得记录一下。

根据功能需要,需要在cocoa程序退出前,发送一个关闭设备的指令,本质上就是post一个Http请求,用于中止当前出于投送状态的设备。

Read more

原生JS代码模拟鼠标点击消息

近两天都忙于更新之前做的一个关于国外某知名音乐网站项目,因为自己一直做iOS开发并没有系统的学习过JS,所以属于半吊子水平。

由于该音乐网站对网页进行了全新的改版,导致之前注入的JS代码全部失效,且原网站中使用的第三方JQuery库也被去掉了。意味着只能使用原生JS重写注入代码。

期间遇到了一个“棘手”的问题:使用原生JS代码模拟鼠标点击消息来改变音量,不同于普通的鼠标点击的是消息里面需要附带鼠标坐标。在各种尝试之后,耗费了大半天时间才得以解决,个人觉得有点价值,记录下解决思路以供参考。

Read more

解除NSTimer潜在的“保留环”问题

NSTimer是Foundation框架中的一个使用频率很高的类,然而其调用过程中很容易引入潜在的“保留环“问题。可能是因为NSTimer的提供的API足够便利与顺手,以至于这个问题不容易被察觉到。这篇博客旨在阐述这个问题并提供解决方法。

Read more