原文:http://big-elephants.com/2015-11/writing-postgres-extensions-part-v/ 编译:Tacey Wong 在关于编写Postgres扩展的系列文章的最后四篇文章中,我们了解了基本的类型和操作符,介绍了调试器并完成了测试套件. 现在让我们添加另一种类型,看看如何在代码库增长时组织代码库. 你可以在github分支上找到最后一篇帖子的代码库part_iv今天的分支可以在分支part_v上找到 版本控制 我们可能对我们的扩展感到满意并在…
原文:http://big-elephants.com/2015-11/writing-postgres-extensions-part-iv/ 编译:http://big-elephants.com/2015-11/writing-postgres-extensions-part-iv/ 在关于编写Postgres扩展的第三部分中,我们使用LLDB调试器修复了一个严重的错误,并使用类型转换完成了base36类型.现在是时候恢复我们实际上已经取得的成就--并做更多的测试. 你可以在github…
原文:http://big-elephants.com/2015-10/writing-postgres-extensions-part-i/ 编译:Tacey Wong Postgres提供了广泛的数据类型.函数.操作符以及聚合功能.但有时它仍然不能满足你的某个特定需求, 幸运的是,通过"扩展"可以很容易地扩展Postgres的功能. 那么为什么不写一个自己的Postgresql扩展呢? 这是编写Postgres扩展系列文章中的第一篇. 你可以按照分支part_i上的代码示例进行操作…
原文:http://big-elephants.com/2015-10/writing-postgres-extensions-part-iii/ 编译:Tacey Wong 在上一篇关于编写Postgres Extensions的文章中,我们从头开始创建了一个新的数据类型base36. 然而,我们留下了一个导致我们的服务器崩溃的严重bug. 现在让我们用调试器来查找这个错误并完成测试工具. 我们根据这些系列中关于编写PostgreSQL扩展的内容创建了一个专用的github repo.上一篇文…
原文:http://big-elephants.com/2015-10/writing-postgres-extensions-part-ii/ 编译:Tacey Wong 在上一篇关于编写Postgres Extensions的文章中,我们介绍了扩展PostgresQL的基础知识.现在是有趣的部分来了--开发我们自己的类型. 一个小小的免责声明 最好不要急于复制和粘贴本文中的代码.文中的代码有一些严重的bug,这些bug是为了说明解释的目的而故意留下的.如果您正在寻找可用于生产的base36类…
深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的Stoyan Stefanov,在他写的由O'Reilly初版的新书<JavaScript Patterns>(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会是件很美妙的事情.具体一点就是编写高质量JavaScript的一些要素,例如避免全局变量,使用单变量声明,在循环中预缓存…
  postgresql 的扩展可以帮助我们做好多强大的事情,支持的开发语言有lua.perl.java.js.c 社区有人开发了一个可以基于golang开发pg 扩展的项目,使用起来很方便,同时为我们生成了 pg 扩展依赖的文件 control .sql 文件,以及编译好的共享库 注意我使用的是centos7 操作系统 环境准备 golang 安装&&配置 这个比较简单,可以直接使用yum 安装,可能需要配置环境变量,以支持bin 工具的使用 安装plgo go get -u githu…
前言 之前写了四篇HTML和CSS的知识点,也相当于是一个知识点汇总.有需要的可以收藏,平时开发过程中应该会遇到这些点,到时候再查看这些博客可能更容易理解.从这篇开始更多的介绍开发过程经常让人头痛的前端问题,以及如何编写性能比较高的前端代码.本人也是刚入门前端的小菜,希望各位前端大牛多多纠正内容中写的不对的地方,让我提升的更快.最近看到博客园中好多前端大牛,都是在各大bat公司工作,这也是我做开发的梦想... 导航 1.基础篇 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知…
[20141227]编写高质量JS代码的68个有效方法(八) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table,…
编写高质量JS代码的68个有效方法(一) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { marg…
代码组织概念 主要是代码文件,项目和解决方案. 解决方案(.sln)包含多个项目(.csproj),一个项目又包含多个文件(.cs). 集成开发环境(IDE): 由编辑.编译.调试,以及用户图形界面,集成编写,分析,编译,调试等等集成一体化开发程序. 软件名称:Visual Studio 官网下载:https://www.visualstudio.com/…
自从NodeJS,和Golang出来后,很多人都投奔过去了.不为什么,冲着那牛X的性能.那PHP的性能什么时候能提升一下呢?要不然就会被人鄙视了.其实大牛们也深刻体会到了这些威胁,于是都在秘密开发各种秘密武器. HHVM和Hack Facebook自己弄了一套HHVM虚拟机,和一个新语言Hack.HHVM的性能不错,像Wordpress,PHPMyAdmin这样的项目,运行在上面很流畅,但是有个问题很致命,如果你引入了第三方扩展,现有的代码移植过去,没办法运行.如果你希望你的代码运行于HHVM,…
在VS代码中使用版本控制 Visual Studio Code集成了源代码控制,并包含了内置的Git支持.许多其他源代码控制提供程序可通过VS Code Marketplace上的扩展获得. Git历史 2.9M donjayamanne 查看git日志,文件历史记录,比较分支或c ...   Visual Studio Team S ... 902.5K MS-VSTS 连接团队服务,包括Team Foundatio ......   汞 56.1K mrcrowl 集成的Mercurial源…
一.关于GO开发环境的安装和配置        在linux环境中安装编译好的go安装包,参考官方指南的步骤一步步走下来就可以了.需要注意的是以下几个环境变量的配置:        GOROOT - go编译库的目录,类似于java的JAVA_HOME        PATH - 注意把$GOROOT/bin添加上去        GOPATH - go工作目录,类似于eclipse的workspace          以下是具体的安装步骤和环境配置          $ wget https…
1.写在最前 随着互联网飞速发展,lamp架构的流行,php支持的扩展也越来越多,这样直接促进了php的发展. 但是php也有脚本语言不可避免的问题,性能比例如C等编译型语言相差甚多,所以在考虑性能问题的时候最好还是通过php扩展来解决. 那么,怎么去做一个php扩展呢.下面从一个例子开始(本文章需要C基础). 2.解决一个问题 在一个系统中,如果经常要求一个数组的平方和,我们可以这么写. <?php function array_square_sum($data){ $sum = 0; for…
                                                     这个周末断断续续的阅读完了<Effective Python之编写高质量Python代码的59个有效方法>,感觉还不错,具有很大的指导价值.下面将以最简单的方式记录这59条建议,并在大部分建议后面加上了说明和示例,文章篇幅大,请您提前备好瓜子和啤酒! 1. 用Pythonic方式思考 第一条:确认自己使用的Python版本 (1)有两个版本的python处于活跃状态,python2和pyt…
原文链接:https://blog.csdn.net/aaroun/article/details/79074178 将已有项目代码加入svn版本控制 - TortoiseSVN入门篇Windows下SVN实用教程(以TortoiseSVN作为客户端(client)) 翻译: Bravo Yeung Next: 版本库的备份与存储目录 导引    安装Subversion    安装TortoiseSVN    一步步地操作        步骤0. 设置全局忽略文件类型(此步骤为可选)     …
python代码组织 python和其他编程语言一样,采用包管理代码,一个包中可包含许多模块. 使用模块最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块. 使用模块还可以避免函数名和变量名冲突.相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突.但是也要注意,尽量不要与内置函数名字冲突.点这里查看…
将已有项目代码加入svn版本控制 - TortoiseSVN入门篇Windows下SVN实用教程(以TortoiseSVN作为客户端(client)) 翻译: Bravo Young Next: 版本库的备份与存储 目录 导引 安装Subversion 安装TortoiseSVN 一步步地操作 步骤0. 设置全局忽略文件类型(此步骤为可选) 步骤1. 创建版本库Repository数据库 步骤2. 导入初始化 - 将你的项目导入(import)到数据库 步骤3. 创建工作目录 -  将你的项目与…
1 写在前面 最近使用 typescript 与 angular 编写 chrome 扩展, 对繁复的 contextMenus 创建步骤进行了提炼,并总结一个类 2 重构思路 2.1 一般方法 在编写 chrome 扩展中的 contextMenu 中,一般的思路是定义一个 JSON,并且遍历这个JSON数据并且以此创建 menu, 如: const menu = { "menus": [ {"id": "main", "visibl…
[20141220]编写高质量JS代码的68个有效方法(七) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table,…
[20141213]编写高质量JS代码的68个有效方法(六) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table,…
[20141129]编写高质量JS代码的68个有效方法(四) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table,…
[20141030]编写高质量JS代码的68个有效方法(三) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table,…
[20141011]编写高质量JS代码的68个有效方法(二) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table,…
编写高效的Android代码 毫无疑问,基于Android平台的设备一定是嵌入式设备.现代的手持设备不仅仅是一部电话那么简单,它还是一个小型的手持电脑,但是,即使是最快的最高端的手持设备也远远比不上一个中等性能的桌面机. 这就是为什么在编写Android程序时要时刻考虑执行的效率,这些系统不是想象中的那么快,并且你还要考虑它电池的续航能力.这就意味着没有多少剩余空间给你去浪费了,因此,在你写Android程序的时候,要尽可能的使你的代码优化而提高效率. 本页介绍了几种可以让开发者的Android…
1.数据格式 (1)json 示例代码: $jsonData = '[{"title":"The Magic Flute","time":1329636600}, {"title":"Vivaldi Four Seasons","time":1329291000},{"title":"Mozart\'s Requiem","time&qu…
http://www.css88.com/jqapi-1.9/ 编写高效的jQuery代码 最近写了很多的js,虽然效果都实现了,但是总感觉自己写的js在性能上还能有很大的提升.本文我计划总结一些网上找的和我本人的一些建议,来提升你的jQuery和javascript代码.好的代码会带来速度的提升.快速渲染和响应意味着更好的用户体验.谨以此文来提醒自己. 首先,跟大家推荐一下jQuery API 文档 http://www.css88.com/jqapi-1.9/ ,她会告诉你使用jQuery时…
nodejs实践-代码组织 laiqun@msn.cn Contents 1. 代码组织 1. 代码组织 更新版本 npm install -g n n latest 项目文件组织 MVC 前后端代码的分离 清晰明了的组织项目代码 水平文件夹结构: 按文件角色组织 C一组 垂直文件夹结构 按照文件功能组织 项目初始化: 规范的package.json文件 bower.json 模块化: 使用文件 使用函数 module.exports exports 后端项目实践 npm init 一步步输入参…
原文:深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 1.最小全局变量(Minimizing Globals)的重要性 JavaScript通过函数管理作用域.在函数内部声明的变量只在这个函数内部,函数外面不可用.另一方面,全局变量就是在任何函数外面声明的或是未声明直接简单使用的. 原因: 在同一个全局命名空间,如果程序的两个不同部分定义了同名,但不同作用的全局变量的时候,容易发生命名冲突.所以要尽可能少的使用全局变量. 2.单var形式(Single va…