封装一个超级易用的Swift网络请求库
Swift网络库最著名的就是Alamofire,但是在实际项目中,想要尽可能简单的发起网络请求,必须对Alamofire进行一层封装。依赖Alamofire的封装库也有很多优秀的,比如Moya。但是经过项目的使用,我发现Moya用起来并不简单。
一个NSObject对象占用多少内存
OC类型的代码,底层实现都是C/C++语言,可以说,OC语言就是对C/C++语言的封装,比如,任何OC对象,添加__bridge const void *修饰,都可以转变为void指针类型。
Ruby方法中的!和?
换了一个新的网站图标
最近觉得之前的网站图标设计的太简陋,于是我设计了一个新图标,新图标是一个背着的大熊猫图案,灵感来自于背着人们吃竹子的熊猫。通过新图标,我想表达的是一只大熊猫,坐在那里,独自思考的场景,对于这个博客,这个图标比较契合。
![]()
前几年,简单图床发布之后,反映了了,于是我基本上放弃了维护,因为没有来自独立软件的收入,我的开发者账号也没有在续费了。因此软件也自动下架了。
通过此事我也学到了一些小小经验:
要明白软件的目的是为了服务用户
运营很重要
软件收入很重要,即使开个赠个咖啡的入口也行
Dart ...展开操作符
Dart支持展开操作符(spread operator)...和空感展开操作符(null-aware spread operator)...?。
展开操作符支持所有的集合(Collections)类型,包括Set,List,Map。
展开操作符(spread operator)
展开操作符...可以将一个列表的所有值,插入到另一个列表中。
1 | var list = [1, 2, 3]; |
空感展开操作符(null-aware spread operator)
如果展开操作符右边的表达式可能为空,为了避免程序出问题可以使用空感展开操作符(null-aware spread operator)...?。
1 | List<int>? list; |
iOS Category源码探究
Objective-C的Category特性,使的开发者在处理某些问题时,简单而又方便。理解Category的源码,对OC编程的理解会有很大的帮助。
Category的处理源码在libobjc.A.dylib中,苹果已经开源,但是下载后直接使用Xcode编译,会报很多错误。网上有很多帖子,介绍如何解决libobjc编译错误,这里就不介绍了。在github上有个开源项目objc4,提供了可编译版本的objc工程,可按需索取。目前苹果刚发布macOS Big Sur 11.0.1,适配该系统的Objc还没有开源,objc4在这个系统上会有一点错误,不过不影响阅读,各个函数,变量定义之间的跳转也没有问题。
给设计师,产品经理的iOS UI介绍
iOS为一名iOS开发者,在日常工作中常常会遇到设计师,产品经理犯一些常识性的错误,令人啼笑皆非。有些扯皮,因为没有共识,浪费了很多时间。部分设计师和产品经理对iOS系统的理解停留在表面。我这篇分享,将从程序员的角度带你去认识一下iOS系统的UI。
读完之后的目标:
认识iOS操作系统中大部分系统控件的UI
理解iOS开发中视图组织的内部逻辑
一些常识
一些设计资源的分享
关于网上教育的一点思考
最近学了一个网上录播的课程,又想到了大学时代上课的日子,有了一些新的想法。
教育公平的理念强调起点公平、过程公平和结果公平,我们国家一直倡导教育公平,想要尽量均衡的分配教育资源,但是教育公平提出了这么多年,教育公平在社会上的实现依旧不尽人意。就连高考也只是相对的省内公平,各个省市的录取情况一对比,不公平现象立现。高考人数多的省份和高校数量少的省份产生内卷,极度的消耗人才。
就算你走过了高考,上了大学,连大学也分三六九等,985,211,一本二本三本,各个大学之间,教育不公平更是触目惊心。包括教师质量,教学水平,教学设施水平,科研经费划比等等,各个学校千差万别。因此教育公平在大学之间更是无从谈起。
类似教育公平这种社会现象,就是这么奇怪,明明每个人都知道这个事不好,但是因为能凑合,所以大都睁一只眼闭一只眼,然后说一句随大流的话,习惯了就好。我最近思考了这个问题,有一个新想法,希望能为教育公平的实现添一点愚见。
希望国家可以建立统一的课程录播制度。教师可以利用录播的课程,查找自己不足,提升教学水平;学生可以利用录播的课程进行复习;经教育部门或者学校的整理,将优秀的录播课程上传至教育网,可供全国在校的学生观看,学习;教育部门或学校再经过筛选,可以将录播课程放到公网上,供全国的人民观看,学习。这样,每个人都可以学到优秀的课程。目前中国的大学是有互联互通的教育网的,国家互联网也几乎已经通到各个地区,因此实现此想法的基础设施已经具备。我一直相信科技能够改变生活,科技应该为人类过上更加美好的生活服务,合适的利用科技的发展可以促进教育更加公平。
目前很多学校已经对优秀的课程进行录播了,像北大的公开课,还有各个大学和网易合作的公开课等,但是互联互通,公益性,课程的全面性,都做的不好。
我想象有这样的未来,不管你身处何处,只要是中华人民共和国国民,就可以像她的宪法和教育法中说的那样,有公平的受教育的机会,有终身学习的良好条件,可以得到全面发展,摆脱愚昧和无知,做一个幸福的人。