密码学方向硕士,做实验需要用Charm
来实现一些密码学算法。Charm
是基于Python
的密码学开发框架,用于快速原型设计先进的密码系统。常用的基础密码库基本都有支持,包括对称加密、消息摘要、数字签名等。
由于我的 PD 虚拟机在新系统下各种崩溃,在Ubuntu
下操作太费劲了,故尝试在macOS 13
系统下进行了安装,踩了一些坑后最终安装成功。
密码学方向硕士,做实验需要用Charm
来实现一些密码学算法。Charm
是基于Python
的密码学开发框架,用于快速原型设计先进的密码系统。常用的基础密码库基本都有支持,包括对称加密、消息摘要、数字签名等。
由于我的 PD 虚拟机在新系统下各种崩溃,在Ubuntu
下操作太费劲了,故尝试在macOS 13
系统下进行了安装,踩了一些坑后最终安装成功。
网络编程时,当业务逻辑变得复杂,难免会遇到回调嵌套。Javascript
的async/await
异步处理方案让我们不再受callback
回调噩梦的困扰。
本文介绍一种让Alamofire
实现类似于async/await
的同步请求方案,优雅摆脱回调地狱。演示如下,基于 Alamofire 5.0+。
// 异步请求
AF.request(LOGIN_URL, method: .post, parameters: params).responseDecodable(of: MyNetWorkModel.self) { (response) in
if response.result == .success { ... }
}
// 同步请求
let response = AF.request(LOGIN_URL, method: .post, parameters: params).responseDecodable(of: MyNetWorkModel.self)
if response.result == .success { ... }
前两天在开发iOS
程序的验证码输入框时遇到了一个问题,当我给UITextField
实例对象更改 keyboardType 属性为 .numberPad 时,如果系统正在使用第三方输入法,则不能强行调用系统数字键盘。搜索发现要禁用第三方键盘需要在AppDelegate
中实现:
func application(_ application: UIApplication, shouldAllowExtensionPointIdentifier extensionPointIdentifier: UIApplication.ExtensionPointIdentifier) -> Bool {
return false
}
可如此一来就全局禁用了第三方键盘,不是我想要的结果。本文介绍一种针对某个UITextField
实现禁用第三方键盘的方案。
在WWDC2020
开发者大会上,苹果正式发布了新版macOS
,命名为Big Sur
。此次发布的操作系统是自Mac OS X
被推出以来变化最为重大的一次,也迎来了它的一个新纪元——10.X 版本的结束,11.X 版本的开始。
尝试Hackintosh
后发现,11.0 Beta 的安装过程中BaseSystem
操作环境已经不再吃prelinked kernel
这一套了,但装好的系统仍然可以,于是就有了用虚拟机装好系统再用OpenCore
在本机上启动的方案。
目前Intel
平台相关安装教程已经比较丰富,本文重点讨论一下如何在AMD
平台吃上黑苹果,也是分享下我给台式机 (B450+3700X) 的安装流程。
更新:目前正式版的 OpenCore 已经支持 U 盘直接安装系统,无需使用本文方案。
最近参与了一款帮助黑苹果
用户实现各种功能的工具性软件 HackintoshBuild 的开发。
该工具的基本原理是在各种复杂的shell
命令基础上套一层GUI
,增强可视化和交互性,实现各种功能,如:编译引导/驱动、挂载 EFI 分区、查看 SIP 状态、更换锁屏壁纸、查看 IOReg、解锁系统分区读写、修复权限重建缓存、开启安装软件未知来源、查看系统信息等等。
本篇文章将重点讨论下 macOS App 运行时获取 root 权限的几种方案。
以前,我的一些 Project 的部署流程基本都是纯手动的。
1、push to the repository (GitHub / Bitbucket)
2、connecting via SSH to server
3、clone the repository
4、install dependencies
5、stop old service and run the new project
之后,我在合作项目中接触到了持续集成
、流水线
的概念,使得一个应用程序从构建、部署、测试到发布整个过程实现自动化,觉得甚是好用,便决定在自己的项目中尝试一把CI
。
本文将较为全面地介绍Drone
的概念、安装、使用和一些可能遇到的坑。