2021-02-24周三
阿里前端实习一面

年前通过一次内推,在临近年关之际,某个陌生电话打进来说是阿里的,想问我什么时候有时间约个面试。当时因为不抱希望,所以什么都没准备。于是就约在了年后。有点意外,毕竟自己的学历不是很高,但是还是给了我一次机会。 这天是 2021 年 2 月 23 号,当时约的时间是这天下午 1 点半。但是实际等到电话是 2 点了,面试官也表示不好意思耽搁了。为了等这个电话,我还是很忐忑的,毕竟是人生中第一次面试。以至于前一晚一宿未眠。 开始并没有问我任何问题,直接先开始笔试。面试官会发一封邮件到你的邮箱,链接点..

2021-02-07周日
在 UIKit 中使用 Swift UI

本文基于 Xcode 12.3 Swfit 5.3.2 iOS 14.3 macOS 11.2 构建 无意间发现好像不止可以在 Swift UI 中用上 UIKit,反过来亦然。 首先打开 Xcode 新建一个 Cocoa Touch 项目,interface 选择 Storyboard。 随后,新建一个 Swift UI File,命名为 ContentView.swift。文件会自动生成一个 ContentView 的 Swift UI View。 接下来需要把 Swift UI V..

2021-01-18周一
[reprint] Your Own Time Zone

New York is three hours ahead of California, But that doesn’t make California slow. Someone graduated at the age of 22, But waited five years before securing a good job. Some became a CEO at 25, And died at 50. While another became a CEO at 50,..

2020-12-28周一
从零开始的 Swift UI (三)

接上文:从零开始的 Swift UI (二) 上篇文章介绍了如何使用 UserDefaults 和 ObserveableObject 来进行数据管理。 这篇文章来完成 LikeView 的布局和功能实现。 Layout 在 LikeView 中编写如下代码。 struct LikeView: View { @EnvironmentObject var like: Like var likes: [LikeModel] { like.likes } var ..

2020-12-28周一
从零开始的 Swift UI (二)

接上文:从零开始的 Swift UI (一) 在上一篇文章中,我们完成了 HomeView 的基本布局。接下来我们来编写一下数据层(Model ViewModel)。 大概包括两个方面:数据的获取(JSON URLSession) 和 UI ViewModel 的数据同步。 数据的获取 首先我们使用的 Api 是 Hikotoko。随机获取一条 Hikotoko 的 JSON 如下。 { "id": 5716, "uuid": "71396790-6d06-49dd-bc72-2568..

2020-12-28周一
从零开始的 Swift UI (一)

注: 本文编写时,使用 Xcode 12.3、Swift 5.3.2 来构建 App 入门 Swift UI 已经有一段时间了,但是却一直没有写过什么练手项目,虽然之前跟着 Hackingwithswift 上找着写过几个 Demo。突然打算自己独立写一个练手项目,因为是练手项目,所以布局和功能上也很简单,App 的类型大概和 TODO 类似。 准备 打开 Xcode 新建一个项目在此不再展开。在左侧文件树中打开 ContentView.swift,这是 View 的入口文件。你可以看到如..

2020-12-13周日
年终更新小记

记录 9月 至 12月 此网站的更新内容。 前端 增加了日记音乐自动播放 利用 Socket 实时更新文章的最新内容 利用 Socket 实时更新当前文章的评论 其他优化 后端 增加了 GraphQL 的支持 其他 Bug 修复..

2020-09-25周五
Vue 3 正式发布,再度踩坑

Vue 3 终于在 2020.9.18 发布了第一个正式版「One Piece」,到现在已经一周了。终于有时间来体验一把正式版的 Vue 3 是什么样子了。 准备 初始化项目 这次,我不再使用 vite 来建立项目,而使用 vue-cli。 vue create vue3-blog cd vue3-blog vue add typescript yarn add vue-router@next yarn add vuex@next yarn serve 注意在选择 vue 版本的时候选..

2020-09-10周四
每天一个劝退小技巧之位操作

为什么要使用位操作,因为位操作是直接操作二进制数,是所有语言中执行效率最高的运算。 以下代码以 JS 为例,部分代码在所有支持位操作的语言通用。 快速取整: parseInt(2.2) === 2.2 // true parseInt('1.3') === '1.3' // true 1 a ^ c ^ b 任何数于0异或为任何数 0 ^ n => n 相同的数异或为0: n ^ n => 0 let res = 0 arr.forEach(i => res ^= i) // retur..

2020-09-08周二
极简可爱的博客生成器

简介 Candy 是一个基于 Kami 前端精简后的博客生成器. 它是一个纯静态的博客, 类似于 Hexo, hugo, 但是它并不支持更换主题. 它的风格只有一款. 它是基于 NextJS 的优越性, 仅花了一天时间精简移植的产物 功能上, 他只有最基本的写作功能, 甚至连评论都没有加入 要问为什么? ||反正我又不用|| 为什么会选择它? 大概只有一个原因, 只是为了可爱. Candy Live Demo 预览 ..