分类
iOS开发 IT行业

苹果iPhone12旗舰机上的黑科技激光雷达到底是什么东西?有什么用处?

今年苹果的 iPhone12旗舰机型上面搭载了激光雷达。很多人其实都听说过激光雷达,苹果的发布会上也提了这个东西,但是其实我发现很多人都不了解这个东西到底是怎么回事。

所以,我今天就想从头从原理里,给大家讲清楚激光雷达是什么东西。以及它到底有什么用处。给大家讲明白,为什么苹果会在旗舰机型上放这么一个东西,以及这个东西对我们的未来、对这个世界有什么改变。

分类
Github IT行业

Gitee得到了工信部的支持,将来会完全成为github的替代品吗?

刚才有人在冯大的知识星球上提问,《Gitee得到了工信部的支持!冯老师您觉得将来会完全成为github的替代品吗?》

大辉回复,怎么可能。

我的回答:

如果你觉得github就是一个代码仓库,仓库里面的项目都可以被复制过来,github以后不会继续有人更新,背后没有美国的开源文化、法律、社区的力量的话。那么当然可以替代。明天就可以,哦,不对,最好的带宽估计也要拉上个几个月吧。

其实这个回答可以类比的是,有些人真的以为现代科学就这样了,这个世界的创新也就这样了。所以他们相信脱钩也无所谓,闭关锁国,自力更生,我们也可以做全球最牛的国家。

分类
Github 技术

Github 企业版如何限制访问IP?

有很多公司的 Github 企业版运行在完全的内网,有些公司的 Github 企业版运行在公网上。不管内网还是公网,从企业信息安全的角度上公司、安全人员或者管理人员总是希望给服务器加上 IP 访问控制。

我之前研究了下,原来 Github 企业版已经内置了 UFW 防火墙软件。其实,我们只需要简单的利用 UFW 防火墙增加一些访问规则就可以轻松的给服务器增加 IP 访问控制了。

分类
iOS开发 技术

Xcode 12 比 Xcode 11 有很多改进, 我遇到的一个具体案例

编译差异

最近同时使用 Xcode 11 和 Xcode beta (也就是12),发现,后者性能提升超级明显,而编译器的理解能力也提升很多。

比如,我的一个SwiftUI代码里面,有一个稍微复杂一点的判断逻辑,有三个 if/else 分支,如下:

Group {
    if(index>0 && item.rating>4.0) {
        PoiLargeImageCell(item:item)
    }else if(index==0){
        InvisibleCell(largeHeadView:self.$largeHeadView)
        PoiCell(item: item)
    }else {
        PoiCell(item: item)
    }
}

这个代码在 Xcode 12 可以正常编译,没有任何问题。但是,在 Xcode 11 下就会直接报错,而且是那种完全文不对题的错误信息。错误信息不是在 Swift 5 发布后有改善了么?但是在这个问题下仍旧文不对题,所以,我只能把这个稍微复杂一点的 if/else 语句改为两个 Group 嵌套的做法,如下,这样在 Xcode 11 就可以正常编译了。

Group {
    if(index==0){
        ZStack{
            InvisibleCell(largeHeadView:self.$largeHeadView)
            PoiCell(item: item)
        }
    }else {
        Group {
            if(index>0 && item.rating>4.0){
                PoiLargeImageCell(item:item)
            }else {
                PoiCell(item: item)
            }
        }
    }
}

为了迁就编译器,代码变啰嗦多了。不过暂时需要这么做,期待 Xcode 12 早日正式发布。这么多年以来,第一次感觉苹果的 Beta 版本这么靠谱,感觉苹果今年果然有点进步。

提交上出现的错误信息

今天我用 Xcode 11 提交一个 app ,遇到了一个以前没见过的错误信息,“Profile doesn’t include the com.apple.application-identifier entitlement.”。查了下,原来跟 MacOS Big Sur 有关系,跟 Xcode 11 和 Xcode 12 beta 也有关系。解决方法很搞笑,那就是用 Xcode 11来编译打包,用 Xcode 12 beta 来 upload app。详情可以参考苹果开发者论坛的相关帖子

分类
Github 技术

Github Desktop如何添加使用自签证书的Github企业版账号

Github Desktop 是 Github 自己出品的 Git 和 Github 客户端,特别是针对 Github 的各种特定功能都有支持,所以现在很流行也被广泛的使用。

自签证书会带来的问题

有些企业的 Github 企业版因为种种原因没有申请正式的证书,或者是在POC,内部部署测试期间,没有申请证书。那么有些时候,比如刚刚下载 Github Desktop 就会在默认的欢迎页面遇到困难。例如下图:

解决方法

第一步,在欢迎页选择 skip this step 跳过欢迎页

第二步,正常设置你的 Git 信息

这个信息是提供在提交记录里面你的个人信息的。填写 Name 和 Email 即可。

第三步,填写服务器地址

首先,在菜单里面选择 Preferences:
在弹出的界面选择 Accounts,然后点击 Github Enterprise Server 旁边的 Sign In 按钮。
然后填写你的 Github 企业版服务器地址:

第四步,信任证书。

接下来会提示你这个服务器的证书是自签证书。提示也介绍了,你在试用 Github 企业版服务器的时候,自签证书是很普遍的。

请选择查看证书 View Certificate
然后,在弹出的证书介绍页面选择显示证书

然后选择始终信任即可

第五步,登录你的账号和密码,稍事等待设置就完成了。

完成设置后,你就可以点击 Clone a Repository 把一个 repo 克隆到本地进行操作了。

分类
MacOS

Mac刚升级以后会变慢是正常现象

很多人用了Mac以后,刚升级以后觉得慢就吓着了,以为Mac每次升级都会变得更慢。事实上,我用Mac这么多年,升级新版本往往不会让机器变慢。但是刚升级完的一天半天系统确实会变慢。

分类
技术

为什么初学编程我建议从Python开始

从1992年算起,我写程序已经写了28年,从2001年上班算起,我写程序也写了19年了。编程最早就是我的一个爱好,然后整个职业生涯编程养活了我,让我过了一个还不错的生活。到了这些年,我写文章的收入日益增长,变成主业。但是编程并没有离开我的生活,它又变成了我的一个爱好。

分类
技术

FFMpeg用法收集

我经常剪辑视频,虽然现在已经熟练使用Final cut pro了,但是有的时候,你会发现有些任务还是用命令行最方便,所以我也经常需要使用FFMpeg来做一些素材的调整工作,比如旋转素材(手机拍的,有时候是需要翻转的),所以这个Post不定期更新补充我用到的FFMpeg技巧。

分类
技术

如何集成Jira和Github企业版

Github企业版包含了基本的issue和看板管理,对一般的团队已经足够。但是有的团队仍旧需要把自己习惯使用的Jira和Github企业版集成。这样,团队可以在Jira内看到他们的分支,提交信息,pull requests等等,可以让Github的代码提交记录和Jira的任务管理系统集成在一起,获得便利。

分类
技术

Python使用Flake8做代码静态检查的时候如何忽略一些比较长的语句[E501]

最近开始在Visul Studio Code里面用Flake8做我的Python项目的代码静态检查,感觉不错,确实可以提升可读性。

但是在我的测试样例里面,我发现有时候我要引入一些比较长的JSON字符串,作为测试的样本,格式化然后多行太占地方,而且比较麻烦,而且里面涉及到一些长文本,折行就更麻烦了。