大三下总结

前言

从2月份短暂实习结束回到学校已经过了3个月了

希望借这篇博客回顾一下这3个月的学习生活

编程

Swift on Server Side

Book and Course

MachO Header & Disassembler

  • 了解MachO Header结构和dylib加载过程
  • 使用Hopper进行iOS反编译练习

推荐两个实用Demo

Apps

  1. WerewolfSimulation

    四月初去把和熊老师合作的论文项目结束了一下,修复了一下显示bug

    https://github.com/Kyle-Ye/WerewolfSimulation

    mac

    watch

  2. 大学生程序设计大赛

    1

    2

    3

  3. watermelon

    完善处理了合成大西瓜,并最后以此为codebase提交了WWDC21 Swift Student Challenge

    • iOS version
    • iPadOS version(支持120帧高刷模式)
    • macOS version(支持TouchBar和liveResize)
    • watchOS version(支持使用DigitalCrown进行操作)
    • 支持各版本之间的Handoff接力

    主要使用SwiftUI + SpriteKit 完成核心底层逻辑并被所有版本复用,然后为不同设备系统的交互层分开编码实现

    https://github.com/Kyle-Ye/watermelon (current private repo)

    watch

    TouchBar

  1. MangaHelper

    Apple 全平台漫画阅读器(支持Apple Watch),目前仅针对部分网站API进行了硬编码

  2. VideoHelper(Developing)

    一款可抓取不同平台视频并观看的视频辅助app(原bili-helper)

  3. Minesweeping(Developing)

    Mac上重新移植实现Windows经典扫雷游戏

    准备用NSDocument + AppKit 实现

    参考 https://apps.apple.com/cn/app/%E6%89%AB%E9%9B%B7-%E7%BB%8F%E5%85%B8%E7%89%88/id1475921958?mt=12 (缺陷:初始可能会踩雷,快速扫雷逻辑有bug)

Watch App 开发

参见李卓力大神的这篇的博客 WatchKit渲染原理以及SwiftUI桥接

这段时间其实做了不少Watch App的开发,虽然主要是用SwiftUI实现的,但鉴于SwiftUI的缺陷,有部分还是希望fall back到UIKit去做的,最后发现因为WatchOS 1的历史包袱,导致WatchKit在很多方面都是残废,本质是UIKit但是隐藏了大量的UIKit方法,最后还是只能用SwiftUI去曲折实现

比如对DigtalCrown的旋转回调,在WatchKit/UIKit中除了可以得到旋转角度外还可以在idle的时候得到通知

1
2
3
4
5
// SwiftUI
func digitalCrownRotation<V>(_ binding: Binding<V>)
// UIKit
func crownDidRotate(WKCrownSequencer?, rotationalDelta: Double)
func crownDidBecomeIdle(WKCrownSequencer?)

目标

  • 使用Vapor(Swift) + TailwindCSS 重构博客系统,替换原来的hexo引擎模版,自己造一波轮子,体会一下前/后端开发的快乐
  • 希望能更好地参与开源社区
    • 参与Swift Evolution,提出自己的一份proposal
    • 阅读 Blender 源码,添加 TouchBar Support

学业

大三下

这学期核心课程:信号与系统 + 计算机网络

4月份主要在准备考试周考试

6月份预计日语四级备考

虽然目前仍在保研线内(10%左右),但是应该是不准备读研了,大三下也没有为读研这方面做准备

目标

  • 6.12 日语四级考试
  • 暑假实习假期重温操作系统网课

工作

简历&面试

因为之前有过某厂的寒假短期实习,所以这次就只投了这家

用了内推码后只有一面,面了iOS这边很基础的Runloop和UIKit中一些底层知识,因为准备得不是很充分,平时UI拿SwiftUI写很少用UIKit,最后基本都没答上来,心态💥

不过最后还是被前Mentor捞了上来,希望这次到了之后好好表现

目标

  • Swift & OC 混编推进

  • XX for watchOS and macOS?

如果你想到了一个非常好的idea

别跟你的Mentor或者Leader说这东西多好多好

先一个人试着把它做到能让大家看到

这样所有人才能理解你的意图

💡停留在🧠里是毫无价值的

能切实地落地执行下来才有意义

游戏

第五人格

平时没课的时候除了学习就是沉迷第五人格了,然后就是3月底开始的深渊4中国大陆赛区和5月初的全球总决赛(这波上课去不了杭州看决赛,希望明年工作了可以五一有假期去线下应援一波🥺)

然后就是粉上了GG战队(🦐宝和小🐴哥)和狼队,5月份开始也会不定时在排位时间看他们的CC直播

目标

  • 平时玩第五人格时注意时间控制
  • 明年线下看深渊

生活

M1 Mac

实习两个月回来了打开Apple Store,选择了💰♻️计划,入了现在在用的这台M1 MBP,不得不说相较于以前使用的Y7000黑果,生产力和工作效率有了极大的提升,而且使用场景从以前的带电源游戏本变成了轻薄本,便携性也大大提高了,同时M1的续航真不是吹的,可以在外几乎工作一整天都不用🔋,总之这次的M1 Mac对我真的帮助不少。

锻炼计划

买了 ⌚️之后运动频率确实比以前提高了不少,但是还是希望能继续加油,保持每日晚跑好习惯

1 2

目标

  • 早睡早起(23:00 - 7:00)
  • 有时间中午/下午去健身房锻炼(华科健身房这学期到期了,应该不用去续了,反正目前实习的地方有健身房😊)
  • 一周3-5次晚跑🏃(22:00)
  • 睡前运动

总结

总的来说,这3个月的学习进度是差强人意的

希望这次暑假实习期能够继续提升自我,遇见更好的自己

作者

Kyle-Ye

发布于

2021-05-28

更新于

2021-05-28

许可协议