精华内容
下载资源
问答
  • 代码 总结 概述 本篇文章主要分享一个python的简单http服务flask架构。目前主流的python的服务框架有django、flask,相较于django来说,flask更小巧玲珑。至于并发的问题,使用了gevent协程io进行处理。 依赖...

    目录

    概述

    依赖库

    代码 

    总结 


    概述

    本篇文章主要分享一个python的简单http服务flask架构。目前主流的python的服务框架有django、flask,相较于django来说,flask更小巧玲珑。至于并发的问题,使用了gevent协程io进行处理。

    依赖库

    flask安装,使用豆瓣源加速。

    pip install flask -i https://pypi.douban.com/simple

    gevent安装,使用豆瓣源加速。

    pip install gevent -i https://pypi.douban.com/simple

    代码 

    #!/user/bin/env python
    # coding=utf-8
    """
    @project : TestDemo
    @author  : huyi
    @file   : app.py
    @ide    : PyCharm
    @time   : 2021-10-15 11:58:44
    """
    from flask import Flask, request
    from gevent.pywsgi import WSGIServer
    from gevent import monkey
    import json
    
    # 将python标准的io方法,都替换成gevent中的同名方法,遇到io阻塞gevent自动进行协程切换
    monkey.patch_all()
    
    app = Flask(__name__)
    
    
    # 请求返回实体
    class TestResponse:
        def __init__(
                self,
                code,
                success,
                msg, data):
            self.code = code
            self.success = success
            self.msg = msg
            self.data = data
    
    
    @app.route('/progress', methods=['POST'])
    def progress():
        request_data = json.loads(request.data)
        print("进度回调:{}".format(request_data))
        return json.dumps(
            TestResponse(0, True, "progress callback success", None),
            default=lambda obj: obj.__dict__,
            sort_keys=True,
            indent=4)
    
    
    @app.route('/result', methods=['POST'])
    def result():
        request_data = json.loads(request.data)
        print("结果回调:{}".format(request_data))
        return json.dumps(
            TestResponse(0, True, "result callback success", None),
            default=lambda obj: obj.__dict__,
            sort_keys=True,
            indent=4)
    
    
    if __name__ == '__main__':
        print("遇事不决,可问春风。")
        WSGIServer(('0.0.0.0', 8383), app).serve_forever()

    使用postman验证结果

    总结 

    该代码架构简单有效,不用加过多繁重的东西。如果需要异步非阻塞接口调用的话,可以加个线程池,把执行内容扔个线程出去,一样适用。

    如果本文对你有帮助,请点个赞支持一下吧。

     

    展开全文
  • 无码系列-2-代码架构空想

    千次阅读 2019-08-22 15:10:21
    无码系列-2-代码架构空想

    无码系列-2-代码架构空想

    展开全文
  • Autoware 代码架构

    千次阅读 2019-03-06 21:44:29
    代码库地址为:https://github.com/CPFL/Autoware 用于城市自主驾驶的开源软件。http://www.tier4.jp/

    代码库地址为:https://github.com/CPFL/Autoware 

    用于城市自主驾驶的开源软件。 http://www.tier4.jp/

     

    展开全文
  • linux内核代码架构图-清晰版,对阅读linxu内核源码很有帮助。
  • EC修炼之道—代码架构

    千次阅读 2016-03-30 00:06:54
    EC就是笔记本电脑上的一个嵌入式控制器。作为一个主板软件开发人员,一般说EC,就是EC固件程序。...后来,我才了解,他没有在专业主板团队做EC的经验,又得不到EC厂商的技术支持,所以对EC代码架构不了

             EC就是笔记本电脑上的一个嵌入式控制器。作为一个主板软件开发人员,一般说EC,就是EC固件程序。

             想要做好EC,首先要懂代码架构。这个东西说简单就简单,说困难也困难,要有人帮忙点破,然后一切都会OK。我刚到现在的这家公司,一个同事说,他做EC,经常会有很多奇奇怪怪的问题反复出现。后来,我才了解,他没有在专业主板团队做EC的经验,又得不到EC厂商的技术支持,所以对EC代码架构不了解。我比他幸运,因为我刚做EC的时候,台湾的EC工程师JIMMY每月都会有一周的时间到大陆出差,帮客户解决问题。有一天下午,我拉着JIMMY,帮我培训了一个下午(算我半个老师了),感谢JIMMY帮我打下了一个还算不错的基础。当时陪他来我们公司的那个大陆工程师都不耐烦了,但JIMMY仍然耐心地帮我培训。听说他去了联发科,祝愿他能发展得更好。

     

             个人认为,EC的整个代码架构,应该分为4个部分:1,初始化部分;2,运行时中断服务函数;3,运行时Dispatch中断处理函数;4,运行时任务,即在TIMER中断处理函数中加的轮询代码。

     

    1 初始化

             不管是EC,还是其它的系统软件,代码最开始的部分总是初始化。初始化各个功能模块,让其符合代码架构的需要和平台功能模块的需要。

             一般来讲,初始化代码主要做如下几个事情:将中断服务函数与中断入口地址对应起来;设置好堆栈,为C环境做准备;初始化RAM为0;初始化各个模块,包括GPIO,中断控制单元,PWM,AD/DA,PS2,Timer,SMBUS等;设置看门狗;etc

     

    2 运行时中断服务函数

             代码执行过程中,会有各种硬中断及软中断来中断CPU的运行,请求CPU的控制权。CPU会实时跳入到某个中断服务函数中,执行相应的例程。中断服务函数代码段,一般应该尽量短,最好设置一下中断标志,立即跳出。这样一方面不会打断别的程序太久,另一方面也让其它中断服务函数有公平的执行机会。

     

    3 运行时Dispatcher中断处理函数

             在EC初始化完成后,如果不进入低功耗状态,那么EC就需要正常Dispatcher各个中断处理函数。中断服务函数一般不会做太多工作,大部分工作都会交给中断处理函数来执行。

       Dispatcher各个中断处理函数是靠轮询的方式来实现的,这样可以保证各个中断处理函数都有可能被执行,又可以保证一定的优先级。只要把重要的中断处理函数放在前面轮询,就可以保证其优先调用。具体做法,可以查看各个厂商的EC代码,在main()函数里,都会有while(TRUE)类似的语句,在它括起来的代码段里,会有查询各个标志位,然后执行相应函数的代码。

            

    4 添加运行时任务

             为什么用EC,那是因为只要有电,EC的控制权就一直在EC固件手中。X86的CPU就不一样了,一跑进操作系统,BIOS再想做些事情就特别困难。

             我们总是需要EC来检测平台的一些状态,比如电池电量,CPU温度,风扇转速,按键状态,平台功耗等。这时,我们就需要在Timer里,加入自己的代码,每隔一段时间,代码就会被执行一次。

     

             以上就是我所提炼的EC的整个代码架构了。在我接触的EC里,华邦,ITE,ENE都是这种架构,只有瑞萨的EC代码有点例外。不过我还是觉得上述代码架构比较好。

    前年,我带的一个学生要用一款单片机做温控模块。我便给他搭了一个软件架构,让他往中断处理函数里面加代码。他说我怎么做得这么快,一个晚上的时间就帮他搭好了。现在他也在做EC,肯定不再认为我CODE能力好了。因为那套温控模块的代码架构完全就是抄袭EC的思想(^_^),连脑子都不带转一下的。

     

    展开全文
  • 流程图和代码架构

    千次阅读 2011-07-21 16:55:51
    项目中的代码架构的合理性可以的从流程图中简易的看出来。面向对象再怎么面向对象也只是编码思想上的面向对象,实际执行过程还是一个流程上的执行,顶多就是循环和分支结构上的问题。
  • DDD之代码架构

    千次阅读 2020-10-23 08:30:00
    其实那个时候也在陆续写文章,DDD第四篇想写战术模式方面的文章,尤其是代码架构。但一直觉得自己这方面还需要再学习修炼一下。且之前在项目上实践DDD,落地到代码上还是遇到了一些问题的,我也在思考怎样才能更好地...
  • C语言编程代码架构搭建——代码分层

    万次阅读 多人点赞 2017-10-09 22:52:52
    像Linux一样打印系统运行时间编程代码前遵循结构设计,大体分为三部分,底层驱动,硬件抽象层,系统任务调用层,程序设计按照这部分来进行设计。底层驱动底层驱动是对应相应的MCU而制定的,与MCU的库函数,开发环境...
  • WebRTC简介与代码架构

    千次阅读 2018-05-16 11:11:08
    代码架构 这里主要列出网络I/O相关部分的代码 首先下载 WebRTC native代码 git clone https: //webrtc.googlesource.com/src 之前的libjingle已经整合到了WebRTC项目中,主要由 rtc_base + pc + p2p...
  • [OAI] OAI代码架构分析

    万次阅读 2019-03-01 14:21:20
    CODING Turbo和卷积码,编码和解码操作,速率匹配,crc生成部分代码 1. 1 TESTBENCH 独立的测试单元(信道编解码的) 2. INIT 在vars.h中定义的变量,在这里面初始化(分配内存) 3. LTE_ESTIMATION 定时、频偏、...
  • import java.util.concurrent.Callable; public interface CallableTask extends Callable<String> { String readAndSendData2ws(String content); }
  • 在前端架构设计这块也已经工作了一段时间,也翻遍了很多书籍,但是就目前来说笔者还是没有看过真正把前端架构讲好的书,加上现在前端技术的发展诞生了许多新的框架,如:vue、react、angular,这也越来越淡化了前端...
  • BES2300x笔记(1) -- SDK代码架构与Battery模块

    千次阅读 多人点赞 2020-07-03 17:45:36
    哈喽大家好,这是该系列博文的第一篇~ 篇~ 【系列博文索引】快速通道 >> 首先上一个链接:参考链接 ...拿到恒玄的SDK源码之后,结合文档花了一些时间研究,这篇就先介绍下代码的框架和模块之间的解耦处理。
  • 摸清楚系统架构后,项目的整体情况已经成竹在胸了,是不是有点摩拳擦掌,信心十足的要开始码代码了。 但是代码如何下手呢?做项目的话不能再像Demo程序一样,我们有多个功能,有多个人参与开发,代码的组织也需要...
  • mtk_charger_probe init_waitqueue_head(&info->wait_que);//probe函数中初始化等待队列
  • 本文算是一篇漫谈,谈一谈关于android开发中工程初始化的时候如何在初期我们就能搭建一个好的架构。本文先分析几个当今比较流行的android软件包,最后我们汲取其中觉得优秀的部分,搭建我们自己的通用android工程...
  • 每天读一篇一线开发者原创好文 ▎作者简介 作者冯丹是一名非常有激情的一线程序员,喜欢java强大的面向对象能力,scala简洁...领域驱动设计DDD(Domain Driven Design)的主旨思想就是不再把需求分析和代码实现分解
  • <application android:name="ImsApp" android:persistent="true"> ... </application>

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,145,532
精华内容 458,212
关键字:

代码架构