IT之家对话21岁开发者徐正科:很多好玩的点子等我去实现
一、关于我 ​ 大家好,我是iOS开发者徐正科,(即将)毕业于北京信息科技大学。 在高中时期接触到了iPhone和MacBook,其系统流畅性深深的吸引了我。进入大学,决定深入探索iOS,就这样,我成了一名iOS开发者。很幸运,近期曾先后从事于腾讯-QQ音乐和字节跳动-西瓜视频团队。 二、作品 ​ 本次作品的灵感来自于小时候玩过的玩具—-万花尺,也叫繁花曲线规,我们可以选择不同大小的齿轮,将画笔插入到齿轮上的某个孔,绕外齿轮旋转,即可绘制出规整的图案。齿轮的大小,圆孔的位置,都将决定图案的形状。 ​ 通过研究齿轮的转动规律,发现通过代码实现一个繁花曲线规并不难,只需要实时获取圆孔的

Jun 29, 2020

Vue初探 – 使用mpvue框架重构小程序 笔记
Vue初探 近期小程序调整了登录策略,如果强制要求用户登录的话是禁止上架的。团队的小程序项目是以个人日记和社交为基础的,上架阶段是遇到了层层阻碍。同时之前的小程序是在心情不好的时候完成的,代码较为混乱。于是决定使用mpvue框架进行重构,顺便学习一下Vue这个大名鼎鼎的前端框架。 我是通过官网的快速入门文档入手,同时参考了mpvue快速入门文档,对项目完成了重构工作。 接下来是我从对Vue的学习,以及mpvue和原生小程序开发之间的区别做的记录。 在写这篇文章的时候,我对小程序原生开发比较了解,也算是第一次通过大致阅读Vue官方文档粗略了解了一下Vue,所以我认为这篇文章更适合熟悉小程序

Sep 16, 2019

iOS – 使用“AFNetworking”实现一个下载器 (思路)
项目中使用AFN实现一个下载器 (思路,非代码) 在此下载器中,我实现了两个类 * DownloadTaskModel: 下载任务类 * DownloadManager: 下载器核心类 DownloadTaskModel: 下载任务类 该类应该包含和下载任务相关的属性,因为下载器属于一个通用的组件,所以不应该包含实际业务代码中的Model,例如视频Model,图片Model,其他资源的Model等,在下载器外部使用实际业务中的Model去封装一个DownloadTaskModel, 这样下载器在使用model时就与业务代码解耦了。 我认为一个最基本的DownloadTaskModel

Jul 14, 2019

《剑指Offer》题目总结
对《剑指Offer》一书中出现的题目进行总结。 部分新颖的题目或者思路采用 [*] 标签进行标记 牛客网在线训练链接:挑战剑指Offer 二叉树的遍历 通过递归进行前序、中序、后序遍历二叉树 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 // 先序遍历 void preOrder(Node *node) { if (node == nullptr) return ; printf("%d\n", nod

Jul 11, 2019

iOS – AFNetworking部分解析
代码结构分析 * AFNetworking.h 中引入了框架所需的几个头文件 * NSURLSession: 封装了不同类型的网络请求 * Reachability: 封装网络状态管理器 (例如WIFI和WWAN) * Security: 封装HTTPS证书类 * Serialization: 请求的序列化操作 (包装请求头、请求体,解析响应头、响应体) * UIKit: 各种分类解决实际问题 NSURLSession: 网络请求核心代码文件 AFCompatibilityMacros.h 兼容性宏 AFURLSessionManager 我认为这是对iOS原生网络请求的封装,其

Jul 11, 2019

「高校开发者」小程序 + 云开发 = 个人开发者快速创作的平台
个人介绍 大家好,我是Zero,一名大三的前端开发爱好者,目前主要研究微信小程序和iOS开发。 这是第二次参加微信小程序应用开发赛,2018年我们设计了一款通过二维码寻找丢失物品的小程序《蝴蝶寻物》,获得了华北赛区三等奖。  今年,在小程序云开发功能的大力推广下,我决定采用云开发的方式,实现一个双人互动打卡互动的小程序《Mango Daily》(中文名称《芒果日常》)。  得力于云开发提供的API,本项目在较短的时间内就实现了比较理想的效果。 接下来,我想从项目的立项开始,讲讲我是如何依靠小程序+云开发平台将想法快速实现。 1. 立项 1.1 项目背景 熟悉我的朋友都知道,我

Jun 12, 2019

WeApp – 2019小程序应用开发赛总结
2019 — 中国高校计算机大赛 微信小程序应用开发赛 参赛作品。 部分真实信息已经隐藏。 前端采用小程序原生开发 后端采用小程序云开发 部分组件化,自定义组件较多 我学到了什么 1. 小程序云开发的 优点/缺点 在之前的开发中,一般都是用ThinkPHP去开发一个后端api,然后给小程序调用。这是最传统的做法,但是对于个人开发者来讲,一个月的时间去兼职完成一个完整的小程序,还是非常累的。所以小程序云开发能够极大加快个人开发者的进度。(官方发过一篇文: 1个开发如何撑起一个过亿用户的小程序) 小程序提供的云存储\对外开放能力有限,文件url为 cloud:// 开头,可以存储下载多重类

May 21, 2019

百度网盘iOS实习生 - 三面总结
公司: 北京百度网盘 时间: 2018-09-26 应聘岗位: iOS实习生 结果: 一面二面过,三面凉 一面: * 简述iOS的Runtime * [p setName:a] 转换成runtime的写法 ojbc_msgSend() * 假如某一个类中没有func1方法,如果外部调用[p func1]时调用已写好的fun2方法来防止崩溃 重写resolveInstanceMethod方法,动态添加func2方法 class_addMethod([self class], sel, (IMP)func2,

Sep 26, 2018

C – 浅析链表中的点点滴滴 《C语言篇》
最近大家都在学习数据结构,其中链表部分是目前出问题最多的地方,这里就我最近收到的问题进行简单的整理,有出错的地方欢迎指出 本文讨论一下几个问题: 1. 结构体怎么声明和定义变量? 2. struct Node p 和 struct Node *pp 什么区别? 3. typedef 到底定义了什么? 4. 我该如何将一个结构体变量传入自定义的方法并且对其进行操作? 1. 结构体怎么声明和定义变量? 结构体类似下面这种样式 1 2 3 4 struct 结构体名{ int a; double b; }; //注意分号 定义结构体变量 1 struct 结构体名

Oct 16, 2017

C - 链表和文件操作实现「学生信息管理系统」
该管理系统可以实现学生信息的读取、录入、删除、修改、查询、打印、保存。更多的功能大家可以自己拓展(比如排序,按照分数段查询) 注:笔者的 C 语言水暂时位于大一的水平,代码免不了种种问题,望大牛轻喷+指正。 实现学生信息的读取、录入、删除、修改、查询、打印、保存。 读取:从文件中读取已有内容; 录入:录入初始的学生信息数据; 输出:将学生信息数据输出到屏幕; 删除:用户指定学生学号,将该数据删除; 修改:用户指定待修改数据的学生学号,录入修改后的数据; 保存:保存学生信息到文件。 学生信息包括:学号、姓名、性别、班级、5门课程的成绩。 文件的第一行记录学生的个数。 文件其他行,每一行为一个

Dec 24, 2016