分类
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字符串,作为测试的样本,格式化然后多行太占地方,而且比较麻烦,而且里面涉及到一些长文本,折行就更麻烦了。

分类
MacOS

我遇到的MacOS Catalina Beta bug一例

我有两台常用的Mac,Mac OS Catalina在我的RMBP上面工作的相当正常,没发生太大的问题,但是在我的Mac pro垃圾桶上面问题很多。最近时不时的就打不开任何新应用了,chrome也打不开新的网页,但是老的网页却正常。

这么一说,有点像是进程数的问题。在终端执行任何命令也会发生错误zsh: fork failed: resource temporarily unavailable。

现在问题已经解决。

原来是我之前有一个cron设置一分钟启动一次,当前系统有个bug这些cron任务执行完了不会自动释放,结果刚才我发现系统内有1000多个cron进程,如果几天不关机当然会累计更多,我把那个cron设置取消,把这些cron进程都干掉,现在系统的进程数量就比较健康了。

我再观察几天,估计这个问题不会再出现。

分类
MacOS 技术

IntelliJ IDEA可能会在MacOS 10.15 Catalina下崩溃

最近我频繁遇到在安装了MacOS 10.15 Catalina的机器上IntelliJ IDEA会崩溃的问题,最后这篇文章解决了我的问题

我之前试着用Visual Studio Code来开放我的Java代码,一开始还好,后来不知道做了什么动作,就不对了,找不到类名,执行错误。我折腾来折腾去也没搞好。暂时认为VSC可以用来做我的Java开发,但是配置太麻烦,暂时也不支持导入IntelliJ IDEA的项目,所以暂时放弃了用VSC开发Java的打算,不过用VSC写Go,等,我目前体验不错,Flutter还没来得及用。