收集提高开发技能的一些书籍文档及博客
Design Patterns
Design Patterns implemented in Swift 5.0
must learn
图说设计模式
本书使用图形和代码结合的方式来解析设计模式;
每个模式都有相应的对象结构图,同时为了展示对象间的交互细节, 我会用到时序图来介绍其如何运行;(在状态模式中, 还会用到状态图,这种图的使用对于理解状态的转换非常直观)
为了让大家能读懂UML图,在最前面会有一篇文章来介绍UML图形符号(看到UML类图和时序图);
在系统的学习设计模式之后,我们需要达到3个层次:
- 能在白纸上画出所有的模式结构和时序图;
- 能用代码实现;如果模式的代码都没有实现过,是用不出来的;即所谓,看得懂,不会用;
- 灵活应用到工作中的项目中;
algorithm
algorithm-pattern-swift
算法模板,最科学的刷题方式,最快速的刷题路径,一个月从入门到 offer,你值得拥有
算法模板顾名思义就是刷题的套路模板,掌握了刷题模板之后,刷题也变得好玩起来了~
目标:完成自己的一套
代码随想录
本站是一套完整的刷题计划,旨在帮助大家少走弯路,循序渐进学算法。
fucking-algorithm
本仓库总共 60 多篇原创文章,都是基于 LeetCode 的题目,涵盖了所有题型和技巧,而且一定要做到举一反三,通俗易懂,绝不是简单的代码堆砌,后面有目录。
LABULADONG 的算法网站
LABULADONG 的算法网站
参考意义比较大 刷leetcode技巧可以参考
leetcode题解
本项目包含 LeetCode、《剑指 Offer(第 2 版)》、《剑指 Offer(专项突击版)》、《程序员面试金典(第 6 版)》等题目的相关题解。所有题解均由多种编程语言实现,包括但不限于:Java、Python、C++、Go、TypeScript、Rust,日常更新
没有思路了可以参考下其它语言的
华为 OJ 题解分享
主要使用JavaScript处理牛客上华为OJ题型
没有思路了可以参考下其它语言的
小浩算法
小浩算法是一套针对小白的完整的算法训练流程!
目前共包括以下几个步骤:
- PART_1_算法基础
- PART_2_力扣图解
- PART_3_大厂面试
- PART_4_CS知识汇总
Interview
iOS-InterviewQuestion-collection
iOS 开发者在面试过程中,常见的一些面试题,建议尽量弄懂了原理,并且多实践。
must learn
Tools
LearnGitBranching
LearnGitBranching is a git repository visualizer, sandbox, and a series of educational tutorials and challenges. Its primary purpose is to help developers understand git through the power of visualization (something that's absent when working on the command line). This is achieved through a game with different levels to get acquainted with the different git commands.
game
cpp-game-engine-book
从零编写游戏引擎教程 Writing a game engine tutorial from scratch
本书以实际项目开发Timeline,完整介绍一个游戏引擎的所有模块,从最基础的OpenGL环境搭建,到骨骼动画、多线程渲染、阴影实现等等,最后实现一个完整的游戏引擎。
少见的关于游戏的书籍
Game-Programmer-Study-Notes
我的游戏程序员生涯的读书笔记合辑。你可以把它看作一个加强版的Blog。涉及图形学、实时渲染、编程实践、GPU编程、设计模式、软件工程等内容。Keep Reading , Keep Writing , Keep Coding.
少见的关于游戏开发的笔记
音视频
FFmpeg原理
本书《FFmpeg原理》主要讲解 FFmpeg 原理性的知识,前面几章主要讲解一些音视频开发的基础知识,例如原始数据 YUV 跟 RGB,封装格式 FLV 跟 MP4 ,压缩编码的基本概念,还有封装格式分析
Deep Learn
动手学深度学习(Dive into Deep Learning,D2L.ai)
本开源项目代表了我们的一种尝试:我们将教给读者概念、背景知识和代码;我们将在同一个地方阐述剖析问题所需的批判性思维、解决问题所需的数学知识,以及实现解决方案所需的工程技能。
我们的目标是创建一个为实现以下目标的统一资源:
所有人均可在网上免费获取;
提供足够的技术深度,从而帮助读者实际成为深度学习应用科学家:既理解数学原理,又能够实现并不断改进方法;
包含可运行的代码,为读者展示如何在实际中解决问题。这样不仅直接将数学公式对应成实际代码,而且可以修改代码、观察结果并及时获取经验;
允许我们和整个社区不断快速迭代内容,从而紧跟仍在高速发展的深度学习领域;
由包含有关技术细节问答的论坛作为补充,使大家可以相互答疑并交换经验。
深度学习推荐书籍
technical skill
Every Programmer Should Know
A collection of (mostly) technical things every software developer should know about
少见的关于游戏开发的笔记