使用C/C++编写Python模块扩展


起步

这是我第一次尝试用c语言给其他语言编写扩展,期望我后面能强到可以为php编写扩展。现在用的python,写的模块也大都是python自身语言写的,为了获得优越的执行性能,利用Python提供的API,如宏,类型,函数等来编写扩展。

前期准备

此次编写的环境为:

  • 系统:Ubuntu 15.10
  • GCC:5.2.1
  • Python:2.7.10

环境版本不一致一般也不会有什么问题,确保已安装python的开发包:sudo apt-get install python-dev


阿里云CentOS7上安装配置caffe(仅CPU)记录


  终于要尝试caffe了,这个框架目前在深度学习领域十分流行,功能也十分强大,caffe的种种优势就不说了,但由于安装过程中实在遇到了太多坑,所以记录下来,供大家参考。附上caffe的官方教程,有空可以看看。   我是用root身份安装的,首先从github上把最新的 caffe pull下来,上传到/root目录下并解压。   1.安装依赖库

 yum install atlas-devel protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel gflags-devel glog-devel lmdb-devel


git入门(二)——git的基本工作流程


一、 git基本的工作流程 1、git使用40个16进制字符的SHA-1 Hash来唯一标示对象 2、如何获取git 仓库 命令:git init 、git clone 2.1 对已有项目进行创建git 仓库: cd到对应目录,执行git init命令 克隆仓库: git clone 远程仓库地址 克隆目的地 2.2 对应流程

绘图1.png


Tornado学习之网站制作篇


  之前介绍过Tornado是一个多用途的Python框架,下面通过两个例子四个方面来介绍如何利用Tornado来制作网站(不适合制作大型网站)。   先看一个简单的例子:

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web

from tornado.options import define, options

define("port", default=8888, help="run on the given port", type=int)

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

def main():
    tornado.options.parse_command_line()
    application = tornado.web.Application([
        (r"/", MainHandler),
    ])
    http_server = tornado.httpserver.HTTPServer(application)
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.current().start()

if __name__ == "__main__":
    main()