Created with Sketch.
Created with Sketch.
首页
发现
小书
登录
注册
×
注册小专栏
通过微信登录
通过微博登录
通过Github登录
通过邮箱
注册
、
登录
友情提示
Login FAQ
.
×
邮箱登录
通过微信、微博、Github 登录
登录
×
邮箱注册
通过微信、微博、Github 登录
注册
icon_photo_1
Created with Sketch.
肥肥瑞的小酒馆
打工人,打工魂,打工才是人上人
100 / 140
打工人,打工魂,打工才是人上人
关注 1
被关注 7
获得赞 13
Created with Sketch.
Created with Sketch.
+ 关注
取消
确定
个人书籍
个人专栏
从零开始调咖啡
给阿姨倒一杯卡布奇诺
已发表 5
订阅数 7
iOS溯源
在闭源的iOS世界里做一枚黄金矿工
已发表 23
订阅数 42
文章
订阅
回复
喜欢
肥肥瑞的小酒馆
in
从零开始调咖啡
Maven和Tomcat
前言 本博客简单介绍下Maven的使用 Maven安装和配置 首先从 Maven 官方地址:http://maven.apache.org/download.cgi 下载最新版本apache-maven-xxx-bin.tar.gz,解压放在/usr/local/下,可以将文件夹改名为maven,由此maven的文件夹...
肥肥瑞的小酒馆
in
从零开始调咖啡
HTTP 拾遗
前言 HTTP其实是应用层协议,应用层协议存在的本身只是为了制定数据的解析格式,数据在互联网中的传输实际上由传输层、网络层、链路层和物理层来实现的,数据传输这部分内容在我另一篇文章中有写h...
肥肥瑞的小酒馆
in
从零开始调咖啡
一步步推MySQL的底层数据结构
前言 本文来源自腾讯技术的这篇文章https://zhuanlan.zhihu.com/p/113917726 ,相当于自己写一篇学习笔记 磁盘与IO 通常所说的机械硬盘就是上述结构,持久化的数据会存储其中,从磁盘读数据到内存中实际上就...
肥肥瑞的小酒馆
in
从零开始调咖啡
Linux 拾遗
Shell 这篇文章介绍了shell/bash/zsh等术语的区别 https://zhuanlan.zhihu.com/p/34197680 首先作者对“编译型”和“解释型”的编程语言给出了自己的看法: 编程语言没有编译型和解释型的区别,只能说某个语言常...
肥肥瑞的小酒馆
in
从零开始调咖啡
互联网数据传输基础
前言 https://www.zhihu.com/question/19916403 知乎的这个提问下有不少推荐方式,下面我先看第一个回答的内容: 阮一峰的互联网协议入门 http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html 不同于常见的...
肥肥瑞的小酒馆
in
iOS溯源
iOS 自定义转场
前言 转场简单来说就是从一个VC转到另一个VC,系统提供了两大类转场方式: 1. NavigationController的push/pop 2. ViewController的present(以前称为modal模态转场,老接口modalPresent被废弃了) present系统模态转场 在讲...
肥肥瑞的小酒馆
in
iOS溯源
关于Table/Collection Cell 那些事
前言 这部分知识的上下限差距很大,也就是说入门很容易,但细节也很多 AccessoryView & Self-Sizing Cell 概述 先说自适应高度cell(Self-Sizing Cell,为什么不是自适应大小,因为一般cell的宽短都是固定的),...
肥肥瑞的小酒馆
in
iOS溯源
iOS权限申请与设置
前言 这篇博客写下iOS的各种权限的申请与设置 很多内容参考自这篇博客 下面包括了如下权限内容: 日历 通讯录 相机 相册 麦克风 位置 基础 上述权限iOS都给了请求接口,调用后弹出一个请求权限...
肥肥瑞的小酒馆
in
iOS溯源
iOS CollectionView 进阶
前言 这篇文章讲一下CollectionView的高级用法,比如自定义布局 自定义布局 先写个入门的布局代码: import UIKit class ViewController: UIViewController,UICollectionViewDataSource,UICollectionViewDelegate { var flowLayout : UICollect...
肥肥瑞的小酒馆
in
iOS溯源
函数派发机制 & iOS消息传递机制
函数派发机制 先来了解下 编译型语言 和 非编译型语言 的区别吧: 编译型和非编译型参考自这篇知乎文章 编译型语言:需要将高级语言(比如C/OC)需要通过编译器转换成平台(比如Windows/iOS/Android)能够理...
肥肥瑞的小酒馆
in
iOS溯源
WWDC 17-230 & 16-216 UIKit Animations
2017-230 Advanced Animations with UIKit WWDC原文,这篇博客权当做一下翻译 首先吹了一波UIViewPropertyAnimator: UIView做动画: UIView.animate(withDuration: 3.0, animations: { self.redV!.frame = self.redV!.frame.offsetBy(dx: 0, dy: 30...
肥肥瑞的小酒馆
in
iOS溯源
iOS 布局
这篇博客总结下我接触过的iOS布局方式 Masonry/SnapKit Masonry-Github🔗 Masonry最大的好处是用链式操作简化了NSLayoutConstraints的复杂语法,举个例子,分别用原生语法和Masonry来写一个距屏幕内边距10pt的一个正...
肥肥瑞的小酒馆
in
iOS溯源
关于TableView刷新的那些事
前言 之前的需求一直专注于有关Feed的底层逻辑,对TableView/CollectionView的UI层的系统接口还是比较生疏,尤其是刷新部分 reloadData reloadData是最常用的方法,reloadData方法实现内部会调用下面一系列方法(顺序...
肥肥瑞的小酒馆
in
iOS溯源
iOS HOOK 总结
这篇博客总结下iOS中常用的hook方法和原理,所谓hook也就是侵入原有的方法实现,在运行时改变方法 持续更新ing... 原始Method Swizzling 参考nshipster的文章,感觉都是上个世纪的文章了。。 最基本的Method Sw...
肥肥瑞的小酒馆
in
iOS溯源
iOS 内存管理
内存虚拟内存 虚拟内存技术可以使一个应用程序认为自己有一段连续的内存空间(多个大小相同的内存页page组成的逻辑地址空间),使得程序编写和运行起来容易;同时隐藏了真实的物理内存地址,起到一...
肥肥瑞的小酒馆
in
iOS溯源
iOS APP间通信
前言 苹果对每个APP进程设计了诸多限制,所以能够进行APP间通信的方法并不多,目前有两个API: API- (BOOL)openURL:(NSURL*)url; - (void)openURL:(NSURL*)url options:(NSDictionary<UIApplicationOpenExternalURLOptionsKey, id> *)options ...
肥肥瑞的小酒馆
in
iOS溯源
iOS 唯一标识汇总
前言 最近几个需求经常用到唯一标识(唯一标识主要用于埋点上报,比如网络请求ID、日志ID等),下面总结下自己用到的标识吧 NSUUID 这个类我之前都没有听说过,总之是系统提供的生成唯一标识的类,...
肥肥瑞的小酒馆
in
iOS溯源
应届iOS秋招总结
2021秋招提前批都快结束了,赶快总结下自己2020年的秋招和经验:) 首先得明确自己想做什么吧,定了方向才好准备,客户端、前端、后端、数据分析等选一个大方向,然后大方向里有些还有细分,比如...
肥肥瑞的小酒馆
in
iOS溯源
iOS WebView & JSB
本篇博客总结下iOS环境下WebView的使用 WKNavigationDelegate 这里先介绍下WebView加载的代理 - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPoli...
肥肥瑞的小酒馆
in
iOS溯源
App 生命周期 & 后台启动
前言 平常用到再想着看,值到学到后台下载部分才意识到APP生命周期掌握的不够系统,这里系统的整理下。本篇博客完全借鉴自苹果官方文档 现在生命周期大致分了两类:Scene-Based 和 App-Based。前者是新...
肥肥瑞的小酒馆
in
iOS溯源
iOS URLSession & HTTP协议
URLSession URLSession是一个管理类,处于会话层,通过URLSessionConfiguration可以创建三类session: default:disk-persisted global cache, credential and cookie storage ephemeral:memory-storaged global cache, credential and cookie background: A ...
肥肥瑞的小酒馆
in
iOS溯源
iOS 渲染
先来张渲染的流程图: 这张图其实有很多误导,我的更改如下: 可以看到整个流程是一个pipeline(一次pipeline要跨越三帧)形式的,下面对每个步骤都做一个解释: 1.Handle Events: 处理事件,比如点击事件...
肥肥瑞的小酒馆
in
iOS溯源
sizeToFit & sizeThatFits:
以前总觉的sizeToFit和sizeThatFits神乎其神的,看了源码发现原来很简单winObjc源码 源码 直接上源码: //UIView.mm - (void)sizeToFit { CGRect curSize; // Get current size curSize = [self frame]; // Get preferred size ...
肥肥瑞的小酒馆
in
iOS溯源
CALayer & CATransaction & Core Animation
主要就动画侧总结下CALayer/CATransaction/CoreAnimation的内容 以下内容主要参考博客 CALayer隐式动画 首先隐式动画是指,对CALayer的Animatable Properties进行改动时,即使没有加任何显示的动画代码,也会有一段渐变...
肥肥瑞的小酒馆
in
iOS溯源
ProtoBuf、JSON和iOS数据传输
本篇文章主要讲PB在iOS客户端的使用和iOS数据传输的一些内容 PB在iOS上的安装使用 安装和简单使用这部分主要参考了这篇文章 首先要安装protoc命令,protoc命令提供了将.proto模型文件转换成java c++ objective...
肥肥瑞的小酒馆
in
iOS溯源
为什么说重写了drawRect:后会增加内存开销
前言 很多博客都会写显示重写了drawRect:会增加额外的内存开销,但很少有写具体原因的,下面我就从源码来解释这个“常识” UIKit框架是闭源的,但是可以根据微软的winObjc提供的源码来看 详解 首先给dr...
肥肥瑞的小酒馆
in
iOS溯源
iOS Runloop
这篇博客系统地讲一下iOS系统下Runloop和布局渲染的本质,参考的源码是winObjc 微软开发winObjc的目的是让coder可以在Visual Studio上使用Objective-C语言来编写UWP应用,所以微软自己实现并开源了苹果的基础库代...
肥肥瑞的小酒馆
in
iOS溯源
iOS日期接口:如何考虑闰月情况判断一个日期在几天前
某条产品经理又出幺蛾子:让我们来统一Feed列表、详情页、评论区的日期时间显示吧 需求背景 每篇文章、评论等的数据都会带一个publishTime的绝对时间表示用户创作并提交的时间,数据格式是NSTimeInterval...
Created with Sketch.
top
Created with Sketch.