PLY 是纯粹由 Python 实现的 Lex 和 yacc(流行的编译器构建工具)。PLY 的设计目标是尽可能的沿袭传统 lex 和 yacc 工具的工作方式,包括支持 LALR(1)分析法、提供丰富的输入验证、错误报告和诊断。因此,如果你曾经在其他编程语言下使用过 yacc,你应该能够很容易的迁移到 PLY 上。 2001 年,我在芝加哥大学教授“编译器简介”课程时开发了的早期的 PLY。学生
好的开发者总是会用版本控制系统管理他们的代码,那为什么不同样对数据库进行版本控制呢? Phinx 可以让开发者简洁的修改和维护数据库。 它避免了人为的手写 SQL 语句,它使用强大的 PHP API 去管理数据库迁移。开发者可以使用版本控制管理他们的数据库迁移。 Phinx 可以方便的进行不同数据库之间数据迁移。还可以追踪到哪些迁移脚本被执行,开发者可以不再担心数据库的状态从而更加关注如何编写出更
APM 是一个缩写,但是具体是哪个好像还有不同说法: Application Performance Management / 应用性能管理 Application Performance Monitoring / 应用性能监控 Application Performance Management & Monitoring / 应用性能管理与监控 我们不探究,反正就是这么回事了。
翻译自 Pinpoint 的 github 首页内容 介绍 Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统。 仿照 Google Dapper , Pinpoint 通过跟踪分布式应用之间的调用来提供解决方案,以帮助分析系统的总体结构和内部模块之间如何相互联系. 注:对于各个模块之
本文向大家介绍Assembly介绍,包括了Assembly介绍的使用技巧和注意事项,需要的朋友参考一下 示例 汇编语言是机器语言或机器代码的一种人类可读形式,它是处理器逻辑在其上操作的位和字节的实际序列。通常,与二进制,八进制或十六进制相比,人类用助记符进行阅读和编程更为容易,因此人类通常以汇编语言编写代码,然后使用一个或多个程序将其转换为处理器可以理解的机器语言格式。 例: 汇编程序是一种程序,
本文向大家介绍AQS 介绍 ?相关面试题,主要包含被问及AQS 介绍 ?时的应答技巧和注意事项,需要的朋友参考一下 AQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包下面。 AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Sema
本文向大家介绍unity3d 介绍,包括了unity3d 介绍的使用技巧和注意事项,需要的朋友参考一下 示例 预制件是一种资产类型,可以存储完整的GameObject及其组件,属性,附加组件和序列化的属性值。在许多情况下这很有用,包括: 在场景中复制对象 在多个场景中共享一个公共对象 能够一次修改预制件并将更改应用于多个对象/场景 创建具有轻微修改的重复对象,同时可以从一个基础预制件中编辑公共元素
Tango 是一个微内核易扩展的Go语言Web框架,他兼有Beego的效率和Martini的中间件设计。 简介 安装Tango: go get github.com/lunny/tango 一个经典的Tango例子如下: package main import ( "errors" "github.com/lunny/tango" ) type Action struct {
本书首先介绍了使用Go官方库开发RPC服务的方法,然后介绍流行gRPC库以及其它一些RPC框架如Thrift等,后面重点介绍高性能的分布式全功能的RPC框架 rpcx。读者通过阅读本书,可以快速学习和了解Go生态圈的RPC开发技术,并且应用到产品的开发中。 RPC介绍 远程过程调用(Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。 该协议允许运行于一台计算机的程序
Lavas 是什么 Lavas 是一个基于 Vue 的 PWA (Progressive Web Apps) 完整解决方案。我们将 PWA 的工程实践总结成多种 Lavas 应用框架模板,帮助开发者轻松搭建 PWA 站点,且无需过多的关注 PWA 开发本身。 Lavas 做什么 简单来说,站点 PWA 化需要做什么,Lavas 就做什么。要更好的理解 Lavas ,我们需要从 PWA 是什么讲起。
基于 Vue 的 PWA 解决方案,帮助开发者快速搭建 PWA 应用,解决接入 PWA 的各种问题 开始吧 通过本教程,您将很快可以创建一个属于您的 PWA 应用 探索 Lavas 了解 Lavas 解决方案提供了什么功能,学习如何使用命令行工具生成的工程进行快速开发 开始探索 了解 PWA 学习 PWA,了解这项技术的创新点和要解决的问题,以及将会给您的项目带来的收益 点击了解 查看示例 基于
什么是Pact? Pact框架家族提供对消费者驱动的契约测试的支持。 消费者驱动的契约 契约是在客户端(消费者)与API端(提供者)之间的一组约定,描述了两者之间所发生的交互。 消费者驱动的契约是一种从消费者视角来驱动提供者开发的模式。 Pact是一种可用于确保这些契约被满足的测试工具。 为什么使用Pact 信心 更快 更不容易出错 持续演进你的代码库,Pact将会保证契约被满足。 不用再搭建端到
安装 本节介绍各个操作系统下如何安装Xdebug。 基础特性 本节介绍Xdebug的基本功能,包括在错误条件下显示堆栈轨迹、最大嵌套级别保护和时间跟踪。 变量打印特性 本节介绍Xdebug替换了PHP的var_dump()函数来打印变量。Xdebug的版本包含不同类型的不同颜色,并限制数组元素/对象属性的数量,最大深度和字符串长度。还有一些其他功能处理变量显示。 堆栈跟踪 本节介绍当Xdebug被
什么是 Lumen? Lumen 是一个由 Laravel 组件搭建而成的微框架, 由 Laravel 官方维护. Lumen 为速度而生, 是当前最快的 PHP 框架之一, 甚至比类似的微框架 Silex 速度还要快. Lumen 比其他微框架的优点是, 构建在 Laravel 之上, 使其具备 Laravel 强大的功能, 如 路由, 依赖注入, Eloquent ORM, 数据库迁移管理,
Hprose 3.0 设计与实现 本文档重点讲述 Hprose 3.0 的 RPC 核心构架的设计,该设计是通用的,与具体的序列化格式和 RPC 协议编码方式无关。其次,会讲解在具体实现时可能遇到的问题以及解决方法。 构架简介 上下文对象 服务方法管理器 插件处理器 编解码器 传输接口 处理器接口 服务端 客户端 Hprose 3.0 插件设计指南 本文档以 Hprose 3.0 内置实现的插件为