Giter VIP home page Giter VIP logo

halfrost / halfrost-field Goto Github PK

View Code? Open in Web Editor NEW
12.7K 476.0 1.9K 102.82 MB

✍🏻 这里是写博客的地方 —— Halfrost-Field 冰霜之地

Home Page: https://halfrost.com

License: Creative Commons Attribution Share Alike 4.0 International

Objective-C 8.54% Ruby 0.10% Shell 0.21% Objective-C++ 0.13% C 3.42% JavaScript 0.57% Go 49.38% Jupyter Notebook 16.34% HTML 1.60% Stylus 1.71% CSS 18.00%
ios source-code objective-c swift javascript analyze article golang go machine-learning

halfrost-field's Introduction

Halfrost-Field 冰霜之地

visitor badge

GitHub

⭐️ 为什么要建这个仓库

世人都说阅读开源框架的源代码对于功力有显著的提升,所以我也尝试阅读开源框架的源代码,并对其内容进行详细地分析和理解。在这里将自己阅读开源框架源代码的心得记录下来,希望能对各位开发者有所帮助。我会不断更新这个仓库中的文章,如果想要关注可以点 star

📖 目录

🐳 Go

Project Version Article
Go 1.16 darwin/amd64 Go 初学者的成长之路
初探 Go 的编译命令执行过程
深入解析 Go Slice 底层实现
如何设计并实现一个线程安全的 Map ?(上篇)
如何设计并实现一个线程安全的 Map ?(下篇)
面试中 LRU / LFU 的青铜与王者
深入研究 Go interface 底层实现
Go reflection 三定律与最佳实践
深入 Go 并发原语 — Channel 底层实现
空间搜索 golang/geo 如何理解 n 维空间和 n 维时空
高效的多维空间点索引算法 — Geohash 和 Google S2
Google S2 中的 CellID 是如何生成的 ?
Google S2 中的四叉树求 LCA 最近公共祖先
神奇的德布鲁因序列
四叉树上如何求希尔伯特曲线的邻居 ?
Google S2 是如何解决空间覆盖最优解问题的?
-----------------------------------------------------------------------------
Code <T> share keynote

🍉 Machine Learning

Project Version Article
机器学习 Andrew Ng Stanford University 目录
-----------------------------------------------------------------
Week1 —— What is Machine Learning
Week1 —— Linear Regression with One Variable (Gradient Descent)
Week2 —— Multivariate Linear Regression
Week2 —— Computing Parameters Analytically
Week2 —— Octave Matlab Tutorial
Week3 —— Logistic Regression
Week3 —— Regularization
Week4 —— Neural Networks Representation
Week5 —— Neural Networks Learning
Week5 —— Backpropagation in Practice
Week6 —— Advice for Applying Machine Learning
Week6 —— Machine Learning System Design
Week7 —— Support Vector Machines
Week8 —— Unsupervised Learning
Week8 —— Dimensionality Reduction
Week9 —— Anomaly Detection
Week9 —— Recommender Systems
Week10 —— Large Scale Machine Learning
Week11 —— Application Example: Photo OCR

🚀 JavaScript

Project Version Article
JavaScript ECMAScript 6 JavaScript 新手的踩坑日记
从 JavaScript 作用域说开去
揭开 this & that 之迷
JSConf China 2017 Day One — JavaScript Change The World
JSConf China 2017 Day Two — End And Beginning
Vue.js 2.3.4 Vue 全家桶 + Electron 开发的一个跨三端的应用
大话大前端时代(一) —— Vue 与 iOS 的组件化
Ghost 1.24.8 Ghost 博客搭建日记
Ghost 博客升级指南
Ghost 博客炫技"新"玩法
博客跑分优化
--------------------------------------------------------------------------------

📱 iOS

Project Version Article
Weex 0.10.0 Weex 是如何在 iOS 客户端上跑起来的
由 FlexBox 算法强力驱动的 Weex 布局引擎
Weex 事件传递的那些事儿
Weex 中别具匠心的 JS Framework
iOS 开发者的 Weex 伪最佳实践指北
BeeHive v1.2.0 BeeHive —— 一个优雅但还在完善中的解耦框架
组件化 路由与解耦 iOS 组件化 —— 路由设计思路分析
ReactiveObjC 2.1.2 函数响应式编程 (FRP) 从入门到 "放弃"—— 基础概念篇
函数响应式编程 (FRP) 从入门到 "放弃"—— 图解 RACSignal 篇
ReactiveCocoa 中 RACSignal 是如何发送信号的
ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(上)
ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(中)
ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(下)
ReactiveCocoa 中 RACSignal 冷信号和热信号底层实现分析
ReactiveCocoa 中 集合类 RACSequence 和 RACTuple 底层实现分析
ReactiveCocoa 中 RACScheduler 是如何封装 GCD 的
ReactiveCocoa 中 RACCommand 底层实现分析
ReactiveCocoa 中 奇妙无比的“宏”魔法
Aspect iOS 如何实现Aspect Oriented Programming (上)
iOS 如何实现Aspect Oriented Programming (下)
ObjC objc runtime 680 神经病院 Objective-C Runtime 入院第一天—— isa 和 Class
神经病院 Objective-C Runtime 住院第二天——消息发送与转发
神经病院 Objective-C Runtime 出院第三天——如何正确使用 Runtime
ObjC 对象的今生今世
iOS Block 深入研究 Block 捕获外部变量和 __block 实现原理
深入研究 Block 用 weakSelf、strongSelf、@weakify、@strongify 解决循环引用
iOS Simulator 给iOS 模拟器“安装”app文件
Remote debugging on iOS with Safari Web Inspector
xcconfig 手把手教你给一个 iOS app 配置多个环境变量
Jenkins Weekly Release 2.15 手把手教你利用 Jenkins 持续集成 iOS 项目
StoryBoard 关于 IB_DESIGNABLE / IBInspectable 的那些需要注意的事
WWDC 2016 WWDC2016 Session 笔记 - Xcode 8 Auto Layout 新特性
WWDC2016 Session 笔记 - iOS 10 UICollectionView 新特性
WWDC2016 Session 笔记 - iOS 10 推送 Notification 新特性
Jekyll 如何快速给自己构建一个温馨的"家"——用 Jekyll 搭建静态博客
Swift 2.2 iOS如何优雅的处理“回调地狱Callback hell”(二)——使用Swift
PromiseKit iOS如何优雅的处理“回调地狱Callback hell”(一)——使用PromiseKit
WebSocket 微信,QQ 这类 IM app 怎么做——谈谈 Websocket
Realm Realm 数据库 从入门到“放弃”
手把手教你从 Core Data 迁移到 Realm
Core Data iOS Core Data 数据迁移 指南
Cordova iOS Hybrid 框架 ——PhoneGap
Remote debugging on iOS with Safari Web Inspector
Animation iOS app 旧貌换新颜(一) — Launch Page 让 Logo "飞"出屏幕
Interview iOS 面试总结
Phabricator 搭建Phabricator我遇到的那些坑
Code review - Phabricator Use guide introduce
-----------------------------------------------------------------------

📝 Protocol

Project Version Article
HTTP 1.1 HTTP 基础概述
HTTP 2 [RFC 7540] Hypertext Transfer Protocol Version 2 (HTTP/2)
解开 HTTP/2 的面纱:HTTP/2 是如何建立连接的
HTTP/2 中的 HTTP 帧和流的多路复用
HTTP/2 中的帧定义
HTTP/2 中的 HTTP 语义
HTTP/2 中的注意事项
HTTP/2 中的常见问题
[RFC 7541] HPACK: Header Compression for HTTP/2
详解 HTTP/2 头压缩算法 —— HPACK
HTTP/2 HPACK 实际应用举例
[RFC 7301] TLS Application-Layer Protocol Negotiation Extension
WebSocket Version 13 全双工通信的 WebSocket
Protocol-buffers proto3 高效的数据压缩编码方式 Protobuf
高效的序列化/反序列化数据方式 Protobuf
FlatBuffers 1.9.0 深入浅出 FlatBuffers 之 Schema
深入浅出 FlatBuffers 之 Encode
深入浅出 FlatBuffers 之 FlexBuffers
TCP TCP/IP 基础概述
Advance_TCP
TLS Cryptography
密码学概述
漫游对称加密算法
翱游公钥密码算法
消息的“指纹”是什么?
消息认证码是怎么一回事?
无处不在的数字签名
随处可见的公钥证书
秘密的实质——密钥
无法预测的根源——随机数
TLS TLS 1.3
如何部署 TLS 1.3 ?
[RFC 6520] TLS & DTLS Heartbeat Extension
[RFC 8446] The Transport Layer Security (TLS) Protocol Version 1.3
TLS 1.3 Introduction
TLS 1.3 Handshake Protocol
TLS 1.3 Record Protocol
TLS 1.3 Alert Protocol
TLS 1.3 Cryptographic Computations
TLS 1.3 0-RTT and Anti-Replay
TLS 1.3 Compliance Requirements
TLS 1.3 Implementation Notes
TLS 1.3 Backward Compatibility
TLS 1.3 Overview of Security Properties
HTTPS TLS 1.2/TLS 1.3 HTTPS 温故知新(一) —— 开篇
HTTPS 温故知新(二) —— TLS 记录层协议
HTTPS 温故知新(三) —— 直观感受 TLS 握手流程(上)
HTTPS 温故知新(四) —— 直观感受 TLS 握手流程(下)
HTTPS 温故知新(五) —— TLS 中的密钥计算
HTTPS 温故知新(六) —— TLS 中的 Extensions
QUIC v44 如何部署 QUIC ?
------------------------------------------------------------------------

❄️ 星霜荏苒

Project Version Article
开篇 开篇
2017 【星霜荏苒】 - 程序员如何在技术浪潮的更迭中保持较高的成长速度 ?
2018 【星霜荏苒】 - 如何看待软件开发 ?
2019 【星霜荏苒】 - 不甘当学渣,努力作学霸,最终是学民
2020 【星霜荏苒】 - 下一个五年计划起航 !
2021 后疫情时代下美国留学 CS Master 申请纪实
-----------------------------------------------------------------------------------------

❗️ 勘误

  • 如果在文章中发现了问题,欢迎提交 PR 或者 issue,欢迎大神们多多指点🙏🙏🙏

♥️ 感谢

感谢Star!

Stargazers over time

🌈 公众号

©️ 转载

知识共享许可协议
作品halfrost 创作,采用知识共享署名 4.0 国际许可协议进行许可。

halfrost-field's People

Contributors

bazingame avatar devsc avatar halfrost avatar ricoliu avatar somnus-l avatar stonehao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

halfrost-field's Issues

【文章勘误】深入研究 Block 用 weakSelf、strongSelf、@weakify、@strongify 解决循环引用

文章链接:深入研究 Block 用 weakSelf、strongSelf、@weakify、@strongify 解决循环引用
我注意到文章最后的更新说明,没清楚最后想说什么

例3:

#import "ViewController.h"
#import "Student.h"

@interface ViewController ()
@property (copy,nonatomic) NSString *name;
@property (strong, nonatomic) Student *stu;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    Student *student = [[Student alloc]init];
    
    self.name = @"halfrost";
    self.stu = student;
    
    student.study = ^{
        NSLog(@"my name is = %@",self.name);
    };
    
    student.study();
}

这里实际会造成循环引用 vc -> stu -> student -> study -> vc(self)。

s2架服务

你好!请问你用S2-geometry写的应用是用哪个版本的,最终需要架服务么?我用C++写的,现在不知道怎样用nodejs架服务,能指点一下么?多谢

导数公式小bug

Machine Learning部分的梯度偏导数关系部分,第一个导数公式分子多了个右括号).

导数

🙂

Protocol-buffers-encode中Varints编码举例有误

原文:
Varint 的编码,以 300 举例:

  1. 100101100 | 10000000 = 1 1010 1100
  2. 110101100 >> 7 = 1010 1100
  3. 100101100 >> 7 = 10 = 0000 0010
  4. 1010 1100 0000 0010 (最终 Varint 结果)

此处,第二步有误,第一步得出的结果取后8位就是前面一个字节的编码结果,根据源码应该没有这一步。

how is used afalg function on openssl?

1.看到您写的tls协议分析很透彻,确认是个英文水平和代码逻辑很好的大牛,不知道可否提需求如标题?
2.afalg 和 ktls 为什么会同时出现?

细节错误

在“Google S2 中 cellid 是如何生成的“一文中:

“上面这一步是把经纬度转换成弧度。由于经纬度是角度,弧度转角度乘以 π / 180° 即可”。

应该是“角度转弧度乘以 π / 180° 即可。“吧。
此外还有问题想请教一下,LatLngFromDegree()输入的经纬度参数的格式是 ”d.ddddd"还是度分秒的格式啊。

深入解析 Go 中 Slice 底层实现 中代码bug

https://github.com/halfrost/Halfrost-Field/blob/master/contents/Go/go_slice.md

func main() {
	arrayA := [2]int{100, 200}
	testArrayPoint(&arrayA)   // 1.传数组指针
	arrayB := arrayA[:]
	testArrayPoint(&arrayB)   // 2.传切片
	fmt.Printf("arrayA : %p , %v\n", &arrayA, arrayA)
}

func testArrayPoint(x *[]int) {
	fmt.Printf("func Array : %p , %v\n", x, *x)
	(*x)[1] += 100
}

testArrayPoint方法传入的是切片的指针
testArrayPoint(&arrayA) // 1.传数组指针 这里不能传入数据指针
@halfrost

求Hash Map一文的绘图工具分享

RT。

拜服Hash Map一文,深感作者的研究思路清晰和细致,其中的图标也很好的起到了解析的作用,甚是好看,请问可以share这个工具吗?

4阶希尔伯特曲线错误

你好!
你博客里4阶希尔伯特曲线(带有红色数字标注)是错误的,那是翻转后的曲线,正确的应该是没有翻转的,你需要沿着左上到右下翻转一次,ij都弄反了。请及时更正,会误导人,谢谢。

細節錯誤

hi 感謝對 flatbuffer encode 的詳細解說,
雖然沒寫過 go 但還是大致了解了 encode 的原理了

FlatBuffers 之 Encode 內序列化 table 的部分

最后一步需要修正 sword 对象头部的 offset,修改成距离 vtable 的 offset。由于当前 vtable 在低地址,所以 sword 对象在它的右边,offset 为正数,offset = vtable size = 8 字节。对应代码实现见第 10 步。

看起來第9步才是對的

github徽章

你好,你的徽章好棒啊。我想问下,记录下载次数的徽章咋弄呢?我的下载次数统计是无效的,没找到好的方法。

请教一个关于cell id的问题

你好
在看cell_id 源码的时候看到这样一个代码,不求甚解,盼大佬解答:
image
zhe'g
这个next 就是把最小的精度位置直接+1了
希尔伯特的最小单元不是有4种u型么。。按理说 +1 不一定是cellId的next啊
那为啥这里是这样处理的呢?

请问您博客的框架是怎么写的?

你好,关注您好久了。今天看到您的博客框架,标题清晰,层级合理,我想问下您是自学前端写的博客页面吗?
我之前用过hexoghost,目前在用hexo,不过必须将仓库名 命名为 username.github.io 的形式。
感谢回复~

错别字

HTTPS 温故知新(二) —— TLS 记录层协议 中
Uploading image.png…
当 Server 接收并处理记录时会使用 Client 写参数,反之亦然。例如:Client 使用 client write MAC key、client write encryption key、client write IV 密钥块加密消息,Server 接收到以后,也需要使用 Client 的 client write MAC key、client write encryption key、client write IV 的密钥进行解密。

Remove colon(:) from filename

Can you please remove colon(:) & chinese unicode character from few filenames? Its difficult to clone on windows system.

细节错误

《HTTPS 温故知新(一) —— 开篇》里面 (二、部署 HTTPS 有何好处)的第 7 点,ATS 写成 APS 了😂😂😂

注释缺失

Halfrost-Field/contents/Protocol/Protocol-buffers-encode.md
3.4标量类型对应关系的图片中的注释标记对应的注释缺失

Protocol-buffers-encode文章中的一个小BUG

Halfrost-Field/contents/Protocol/Protocol-buffers-encode.md

"由于 300 超过了 7 位(Varint 一个字节只有 7 位能用来表示数字,最高位 msb 用来表示后面是否有更多字节),所以 300 需要用 2 个字节来表示。"
"读到这里可能有读者会问了,Varint 不是为了紧凑 int 的么?那 300 本来可以用一个字节表示,现在变成 2 个字节了,哪里紧凑了,花费的空间反而变多了?!"

1个字节最多表示0-255, 300即便不用varint表示也是不能用1个字节来表示的。改成用200做例子就恰当了。

神奇的德布鲁因序列的补充

神奇的德布鲁因序列中:

第一次没看明白那个魔术的描述,我觉得应该加一个限定:魔术师实现是知道牌的排列顺序的,切牌后仍然是一个环路,只是魔术师不知道起点现在是哪张牌了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.