hchong3210 / hchong3210.github.io Goto Github PK
View Code? Open in Web Editor NEW个人博客地址
个人博客地址
http://hchong.net/2019/02/24/Git%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86/
git基本原理常见的git工作流如下, 来分解下看常见的工作流背后的逻辑. git hash-object -w ${要保存的文件} => 生成要保存的文件(Git对象)的HASH值 git update-index --add --cacheinfo 100644 ${Git对象的HASH值} ${要
http://hchong.net/2018/09/13/iOS%E5%BC%80%E5%8F%91%E5%9F%BA%E7%A1%80-hash-isEqual/
UIView系列之—iOS的动态高度UIView系列之—UIView和CALayerUIView系列之—UIView的常见layout方法UIView系列之—iOS的动态高度UIView系列之—如何写一个自定义View 不论是UITableViewCell的高度也好, 或者是一个输入框也好, 都会用到动态布局. 实际上
http://hchong.net/2017/05/24/Cocoapods%E5%AE%9E%E8%B7%B5/
Cocoapods是一个基于Ruby的包管理工具, 类似的还有Carthage. Cocoapods的安装在这里不在详述, 请自行百度, 在这里着重讲一下如何使用Cocoapods制作私有包, 以及Cocoapods的实现原理. 1 Cocoapods的实现原理cocoapods安装成功后, 我们怎么来使用它呢. 这
内存泄漏是开发中常见的一种问题, 下面我们就开发中常见的容易出现内存泄漏的场景做一个总结和分析. Block下的循环引用在ARC下基本上不用我们内存管理释放, block中导致的内存泄漏常常就是因为强引用互相之间持有而发生了循环引用无法释放. AFNetWorking上的经典代码, 防止循环引用. //创建__weak
http://hchong.net/2018/04/17/React%20Native%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/
背景介绍前端大致的开发流程就是: 用 HTML 创建 DOM, 构建整个网页的布局, 结构 用 CSS 控制 DOM 的样式, 比如字体, 字号, 颜色, 居中等 用 JavaScript 接受用户事件, 动态的操控 DOM 在React中, 我们使用JSX语法, 它是一种 JavaScript 语法拓展. JSX
http://hchong.net/2017/02/13/%E7%BB%9F%E8%AE%A1%E6%89%93%E7%82%B9%E7%9A%84AOP%E5%AE%9E%E7%8E%B0/
统计打点的AOP实现每一个App, 必然会有大量的分析数据来统计用户行为. 而这些统计对应在客户端就是, 统计打点, 又称埋点.关于埋点的本质, 我理解的就是用户出发一个行为后, 调用一个特定的接口. 服务端拿到我们的请求后, 根据客户端传的参数也就是事件ID来区分是什么操作(注意, 这里的事件ID是具有唯一性的, 不
http://hchong.net/2018/03/12/Autoreleasepool%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90/
Autoreleasepool是用来管理内存的好工具, 官方推荐了几个我们要使用的地方: If you are writing a program that is not based on a UI framework, such as a command-line tool. If you write a loop
http://hchong.net/2018/01/24/KVO%E8%AF%A6%E8%A7%A3/
KVO用法与自定义实现KVO用法KVO 是 Objective-C 对观察者模式(Observer Pattern)的实现。也是 Cocoa Binding 的基础。当被观察对象的某个属性发生更改时,观察者对象会获得通知. KVO的用法在这里不做叙述, 十分简单. 首先注册, 添加一个观察者: - (void)addO
iOS开发中有大量的人机交互事件, 我们怎么来处理这些人机交互, 就需要代表用户操作事件的传递和视图的响应来完成整个传递链.iOS中的事件分为3大类型: 触屏事件(手势), 传感器事件(摇一摇, 陀螺仪), 远程控制事件(耳机的线控, 外接手柄). 按照时间顺序, 事件的生命周期概括如下: 事件的产生和传递 找出最
http://hchong.net/2017/04/13/Xcode%E7%A5%9E%E5%99%A8-Instruments%E5%A4%A7%E6%B3%95/
Xcode调试神器-Instruments大法用户体验, 是每个App开发很重要的点, 是每个程序猿都应该时刻被想到的点. 好的用户体验就必然要有好的性能. Xcode给我们提供了强大的性能分析工具Instruments. 打开Xcode, 选择Xcode -> Open Developer Tool打开
http://hchong.net/2017/05/23/iOS%E7%9A%84%E6%A8%A1%E5%9D%97%E5%8C%96%E5%AE%9E%E8%B7%B5/
iOS的组件化实践随着工程的变大, 业务的复杂, 开发人员的增多, 如何提高成员间的开发效率和最大程度的复用代码, 成为了亟待解决的问题. 除了更加清晰的结构目录外, 模块化, 应该是一种比较优雅解决方案. 关于组件化我们要达成的一个目标就是重用高度抽象化的代码单元. 参考文章系列基本上可以代表业界目前对组件化的一些思
http://hchong.net/2019/07/11/iOS%E5%BC%80%E5%8F%91UI-UIView%E7%9B%B8%E5%85%B3/
这些事之前的总结, 基本上囊括了UIView的常见用法: UIView系列之—UIView和CALayer UIView系列之—UIView的常见layout方法 UIView系列之—iOS的动态高度 UIView系列之—如何写一个自定义View
http://hchong.net/2016/09/18/%E5%86%85%E5%AD%98%E5%88%86%E9%85%8D/
iOS开发的内存分配计算机系统中, 应用程序的数据都保存在内存中, 不同类型的数据, 保存的区域不同. RAM ROM RAM: 运行内存, 不能掉电存储.ROM: 存储型内存, 可以掉电存储, 例如内存卡, FLash. 由于RAM类型不具备掉电存储的能力, 所以App程序一般存放在RMO中. RAM的访问速度
http://hchong.net/2018/04/08/iOS%E4%BA%8B%E4%BB%B6%E4%BC%A0%E9%80%92%E6%B5%81%E7%A8%8B/
iOS中的事件分为3大类型: 触屏事件(手势), 传感器事件(摇一摇, 陀螺仪), 远程控制事件(耳机的线控, 外接手柄). 按照时间顺序, 事件的生命周期概括如下: 事件的产生和传递 找出最合适的View后事件的处理 下面以触摸事件为例. 事件的产生和传递事件的产生发生触摸事件后, 系统会将该事件加入到一个由U
http://hchong.net/2018/05/07/OC%E4%B8%AD%E7%9A%84%E6%A1%A5%E6%8E%A5Toll-Free%20Bridging/
Core Foundation框架(CoreFoundation.framework)具有一系列概念性的基于Objective-C的基础框架, 以C语言实现了编程的接口, 它们为iOS应用程序提供基本数据管理和服务功能. Core Foundation可以访问低级函数, 原始数据类型和各种集合类型, 并与Foundat
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.