Golang 编译器代码浅析
本书主要目的是让读者在源码层面熟悉 Go 编译器的实现,因此会以代码讲解为主。但编译器的实现涉及到非常多的细节处理,本文会尽量避免大段的贴代码来对其进行分析(实际上也是不可行的),而是建议读者将文章当着一个参考,自己动手去源码中进行探索。因此每个主题的文章基本会按照如下结构进行组织:
1. 该模块的简介,需要涉及到的理论知识复习。例如词法、语法分析中涉及到很多形式语言与自动机的知识,文章都会先尽可能少地温习一下相关知识
2. 核心数据结构介绍,意在搭建该模块的骨架
3. 核心逻辑介绍,意在了解该模块实现的主体算法思路
4. 特殊案例分析,详细分析典型案例的处理流程
另外作者还开了两个坑《Linux核心概念详解》和《极简计算机结构介绍》,也写了一些内容不过还不太完整。
文档
本书主要目的是让读者在源码层面熟悉 Go 编译器的实现,因此会以代码讲解为主。但编译器的实现涉及到非常多的细节处理,本文会尽量避免大段的贴代码来对其进行分析(实际上也是不可行的),而是建议读者将文章当着一个参考,自己动手去源码中进行探索。因此每个主题的文章基本会按照如下结构进行组织:
1. 该模块的简介,需要涉及到的理论知识复习。例如词法、语法分析中涉及到很多形式语言与自动机的知识,文章都会先尽可能少地温习一下相关知识
2. 核心数据结构介绍,意在搭建该模块的骨架
3. 核心逻辑介绍,意在了解该模块实现的主体算法思路
4. 特殊案例分析,详细分析典型案例的处理流程
另外作者还开了两个坑《Linux核心概念详解》和《极简计算机结构介绍》,也写了一些内容不过还不太完整。
文档
日前Google Cloud 再次宣布打破了百万亿位的圆周率计算纪录,Google Cloud 团队表示,其借助计算引擎(Compute Engine)服务完成了本次新挑战。期间用到了 N2 机器家族、虚拟 NIC @ 100 Gbps 出口带宽,以及平衡持久磁盘(balanced Persistent Disks)等新功能。目前 Google Cloud 团队已同吉尼斯世界纪录官方取得了联系,以验证其最新壮举。
最终 Google Cloud 计算到的百万亿位圆周率的最后 100 位数字为:
4658718895 1242883556 4671544483 9873493812 1206904813 2656719174 5255431487 2142102057 7077336434 3095295560 。
最终 Google Cloud 计算到的百万亿位圆周率的最后 100 位数字为:
4658718895 1242883556 4671544483 9873493812 1206904813 2656719174 5255431487 2142102057 7077336434 3095295560 。
知名代码托管平台 GitHub 宣布了 Atom 软件开发环境已走到终点。
作为 GitHub 在 2011 年推出的软件开发文本编辑器,该平台将于 2022 年 12 月 15 日归档 Atom 存储库和社区中剩余的所有其它资源。作为 Electron 框架的基础,Atom 为包括微软 Visual Studio Code、Slack 和 GitHub Desktop 在内的数千款应用程序提供了支撑。
但是近年来,随着更多新工具的出现,GitHub 发现 Atom 社区的参与度有所下降。而在过去几个月里,除了简单的维护和安全更新,Atom 本身也没有看到任何重大的功能开发。
GitHub 表示,未来它将重新专注于 Microsoft Visual Studio Code (VS Code) 和 GitHub Codespaces —— 后者也是该公司力推的云驱动型开发环境。与此同时,GitHub 意识到仍有不少社区内开发者在使用 Atom,并承认需要耗费一定的时间和精力,才能完成向替代解决方案的迁移工作。
作为 GitHub 在 2011 年推出的软件开发文本编辑器,该平台将于 2022 年 12 月 15 日归档 Atom 存储库和社区中剩余的所有其它资源。作为 Electron 框架的基础,Atom 为包括微软 Visual Studio Code、Slack 和 GitHub Desktop 在内的数千款应用程序提供了支撑。
但是近年来,随着更多新工具的出现,GitHub 发现 Atom 社区的参与度有所下降。而在过去几个月里,除了简单的维护和安全更新,Atom 本身也没有看到任何重大的功能开发。
GitHub 表示,未来它将重新专注于 Microsoft Visual Studio Code (VS Code) 和 GitHub Codespaces —— 后者也是该公司力推的云驱动型开发环境。与此同时,GitHub 意识到仍有不少社区内开发者在使用 Atom,并承认需要耗费一定的时间和精力,才能完成向替代解决方案的迁移工作。
无需前端经验用Python写web应用的框架
没有HTML/Javascript。使用纯Python构建复杂的多页向导式工作流程和演练。
更少的代码。注重保持应用程序代码的简单、简明和清晰。
简单性。页面流程遵循代码流程。
简洁性。用最少的代码行数来表达对一个特定问题的解决方案。
清晰性。编写应用程序时无需跳过回调、请求处理程序或事件处理程序。
最小的API。只有三个函数:view()、box()、option(),以及用于布局的可选行()和列()。
包含电池。庞大的复杂的、无障碍的小工具和数据可视化库。
库。Nitro是一个库,而不是一个服务器。与Django、Flask、Starlette、Tornado、Uvicorn和其他流行的框架集成。可以集成到你现有的应用程序中。
原型设计到生产。精心设计的API可以快速建立新想法的原型,然后随着时间的推移逐步改善展示和美学,而不影响最初的实施的简单性,或牺牲控制。
Unix哲学。试图做一件事,并把它做好:显示交互式用户界面。带上你自己选择的网络应用程序/服务器,并遵循其关于托管、部署、安全、监控、度量和数据管理的建议。
广泛的文档。运行nitro docs可以访问交互式文档和150多个实时示例。
Nitro | #框架
没有HTML/Javascript。使用纯Python构建复杂的多页向导式工作流程和演练。
更少的代码。注重保持应用程序代码的简单、简明和清晰。
简单性。页面流程遵循代码流程。
简洁性。用最少的代码行数来表达对一个特定问题的解决方案。
清晰性。编写应用程序时无需跳过回调、请求处理程序或事件处理程序。
最小的API。只有三个函数:view()、box()、option(),以及用于布局的可选行()和列()。
包含电池。庞大的复杂的、无障碍的小工具和数据可视化库。
库。Nitro是一个库,而不是一个服务器。与Django、Flask、Starlette、Tornado、Uvicorn和其他流行的框架集成。可以集成到你现有的应用程序中。
原型设计到生产。精心设计的API可以快速建立新想法的原型,然后随着时间的推移逐步改善展示和美学,而不影响最初的实施的简单性,或牺牲控制。
Unix哲学。试图做一件事,并把它做好:显示交互式用户界面。带上你自己选择的网络应用程序/服务器,并遵循其关于托管、部署、安全、监控、度量和数据管理的建议。
广泛的文档。运行nitro docs可以访问交互式文档和150多个实时示例。
Nitro | #框架