首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
齐舞647
掘友等级
工程师
|
字节跳动
95后,喜欢研究各类技术,目前就职于字节跳动。内推链接:https://juejin.cn/post/7172204499094732830
获得徽章 24
掘金技术团队
动态
文章
专栏
沸点
课程
收藏集
关注
作品
赞
506
文章 346
沸点 160
赞
506
返回
|
搜索文章
最新
热门
iOS 如何抓取线程的“方法调用栈”?
本文将通过一个具体的 demo ,阐述如何进行抓栈操作。 在我们程序运行中,通常存在一个函数调用另一个函数的情况。 例如,在某个线程中,调用了 func A。在 func A 执行过程中,调用了 func B。 转移控制 :暂停 func A ,并开始执行 func B,并在 …
Flutter 究竟是如何渲染的?
《上篇博客》主要讲解了iOS APP渲染的流程,以及GPU的渲染流水线。 但关于Flutter是如何渲染的?我上篇写的并不是很透彻。 先从Flutter的整体架构说起,共分为三层,又下到上分别为:Embedder层、Engine层、Framework层。 Embedder层:操…
iOS 浅谈GPU及“App渲染流程”
—— 将 “3D坐标” 转换成 “2D坐标” ,再将 “2D坐标” 转换为 “实际有颜色的像素” 。 该阶段输入的是顶点数据(Vertex Data),顶点数据是一系列顶点的集合。顶点着色器主要的目的是把 3D 坐标转为 “2D” 坐标,同时顶点着色器可以对顶点属性进行一些基本…
Go语言基础(五)—— 并发编程
相信大家肯定都知道 “线程” 与 “进程” 的概念。 而在Go语言中,“协程”可以理解为更轻量级的线程。 通过调度“协程”就可以把系统Kernel的效率发挥到极致。 通过一张表格,我们来对比一下协程与线程的区别。 Thread vs. Groutine: 线程之间的切换会牵扯到…
Golang 包和依赖管理
package是基本复用模块单元。 package名可以与目录名不一致。(但建议一致) 同一目录下的Go文件,必须属于同一个package。 第一步:我们要配置GoPath。将我们的工程路径写入GoPath内。 首先,创建一个series包,作为一个会被外部引用的package…
WebSocket双端实践(iOS/ Golang)
第一步:将Starsream导入到项目。 接着pod install。 第二步:实现WebSocket能力。 同时,我用三个Button的点击事件,分别模拟了connect(连接)、write(通信)、disconnect(断开)。 遵守并实现WebSocketDelegate…
今天我们来聊一聊WebSocket(iOS/Golang)
WebSocket = “HTTP第1次握手” + TCP的“全双工“通信 的网络协议。 首先,通过HTTP第一次握手保证连接成功。 其次,再通过TCP实现浏览器与服务器全双工(full-duplex)通信。(通过不断发ping包、pang包保持心跳) 最终,使得 “服务端” …
Go语言基础(四)—— 优质的容错处理
接下来,我们来看看在Go语言中如何做容错处理。 首先,我们要知道:Go语言中没有try/catch异常机制。 其次,要实现容错处理:使用error类型即可,默认实现error接口。 通过errors.New快速创建error实例。 我们把之前写的Fibonacci的例子加上容错…
Go语言基础(三)—— 面向对象编程
答案是:是也不是。 隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。 提高代码复用性;继承是多态的前提。 父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。 然而,Go语言并不支持继承。提倡使用组合(ha…
Go语言基础(二)—— 基本常用语法
首先,介绍一下Go语言中如何测试我们的程序。 创建一个first_test.go文件。 1,1,2,3,5,8,13,... 创建一个fibonacci_test.go文件。 第三种:快速声明,编译器会根据所附的值推断出该变量的类型。 不支持指针运算。 string是值类型,其…
下一页
个人成就
2022年度人气作者No.32
优秀创作者
文章被点赞
1,021
文章被阅读
186,626
掘力值
5,552
掘金技术团队
关注了
122
关注者
3,327
收藏集
7
关注标签
38
加入于
2017-07-27