Python Web 框架之FastAPI

有一个非常简单的需求:编写一个 HTTP 接口,使用 POST 方式发送一个 JSON 字符串,接口里面读取发送上来的参数,对其中某个参数进行处理,并返回。 如果我们使用 Flask 来开发这个接口,那么代码是这样的: from flask import Flask, request app = Flask(__name__) @app.route('/insert', methods=['POST']) def insert(): info = request.json print(info,...阅读全文

简书 2020-02-11 16:33:00 羋虹光

golang实现文件的新增,删除,编辑,进行通知

### Go的文件系统通知 ** 文章转自go语言中文文档 [http://www.topgoer.com](http://www.topgoer.com/?from=studygolang "文章转自go语言中文文档http://www.topgoer.com") ** 官网地址:https://github.com/fsnotify/fsnotify fsnotify利用golang.org/x/sys而不是syscall从标准库。通过运行以下命令确保已安装最新版本: ...阅读全文

Go语言中文网 2020-02-11 14:37:33 lu569368

图解kubernetes容器探活机制核心实现

在k8s中通过kubelet拉起一个容器之后,用户可以指定探活的方式用于实现容器的健康性检查,目前支持TCP、Http和命令三种方式,今天介绍其整个探活模块的实现, 了解其周期性探测、计数器、延迟等设计的具体实现 1. 探活的整体设计 1.1 线程模型 探活的线程模型设计相对简单一些,其通过worker来进行底层探活任务的执行,并通过Manager来负责worker的管理, 同时缓存探活的结果 1.2 周期性探活 根据每个探活任务的周期,来生成定时器,则只需要监听定时器事件即可 1.3 探活机制...阅读全文

掘金 2020年02月11日 8小时_2020

如何把golang的Channel玩出async和await的feel

引言 如何优雅的同步化异步代码,一直以来都是各大编程语言致力于优化的点,记得最早是C# 5.0加入了async/await来简化TPL的多线程模型,后来Javascript的Promise也吸取这一语法糖,在ES 6中也加入了async和await. 那么,被大家一称赞并发性能好、异步模型独树一帜的golang,能否也有async和await呢? 其实,这对于golang的CSM来说是一点也不难! 核心代码如下: done := make(chan struct{}) go func() { /...阅读全文

掘金 2020年02月10日 raining1127

go-gRPC 初体验

微服务想必大家都不陌生了。刚接触到golang,那么在golang中怎么使用微服务呢。这里使用gRRC框架写了一个简单的例子。 环境要求 go>=1.13; set GO111MODULE=on 安装 protoc 安装 Protoc plugin-go 示例代码 iris-grpc-example 项目结构 iris-grpc-example │ .gitignore │ go.mod │ go.sum │ README.md │ ├─proto │ README.md │ servers.p...阅读全文

Segmentfault 2020-02-15 14:32:33 旧梦发癫

基于Golang开发的开源微信小程序(页面高仿大众点评)

小程序基于Taro2.0 + React Hooks开发 测试数据采集自微信小程序--大众点评 服务端api基于 Golang 计划添加基于Reactjs的后台管理系统、PC版、Wap版 目前主要是已浏览页面为主,接下来会继续做其他业务. Github https://github.com/i-coder-robot/dp-min-program 服务端api 项目地址:https://github.com/i-coder-robot/mock-food 最后 喜欢别忘了Star 本项目长期更新...阅读全文

Segmentfault 2020-02-15 12:32:34 欢喜哥

Go语言一知半解上手记(一)

一、缘起   从团队里几个同事在自研的发布工具中开始用Go语言实现一些模块,到后来微服务的服务发现工具从Eureka换成了Go语言实现的Consul,虽然自己也一直想早点去了解Go语言,也在考虑将Go语言作为团队技术路线中的一部分,无奈杂事缠身,陆陆续续也就是看了些关于Go的文章。在这个过程中,Go语言的发展真快,心里的那股吸引也是越来越强烈。   年前开始,首先在“极客时间”上观看了《Go语言从入门到实战 蔡超》的视频教程,有其他语言基础的筒子们可以拿来看看,55节课从浅到深的讲了Go语言的特...阅读全文

简书 2020-02-11 00:32:45 明峰_ed45

源码角度解析Go语言并发[1]---M,P,G的定义,状态转换及一些"边角料"

转载至本人知乎文章!还望您点赞,收藏! 从这篇文章开始我将尝试从源码的角度解析Go语言并发之道。这次的源码解析可比python源码解析难度要大的多。鄙人不才,有问题还请指教。 啰嗦一句,还请阅读我之前的文章,了解协程和Go语言并发模型的基本知识。 go语言并发原理和机制【一】 go语言并发原理和机制【二】 目录 目录 1. Go程序入口——m0、g0 go语言并发模型调度器的源码大多集中在/runtime/文件夹之下。此文件夹之下有很多文件。包括 .s 类型的汇编码和 .go 类型的go语言源码...阅读全文

简书 2020-02-11 00:32:45 甘蔗JS

async.waterfall变为async/await

1. 我的工作主要是pomelo node.js后端主程,因为之前经常用async.waterfall 这个第三方async库,并且这个库也很好用,就是代码有些多,后来换工作了公司用了新框架。2. 开始大量使用async/await来开发, 或者用promise或者其他的东西,主要目的就是为了解决低于地狱回调的问题。3. 使用async/await的过程中发现一个问题,因为服务器端开发,所以对错误是很敏感的,并不允许有错误,而不去管它,当时能想到的方案有两个。其一:对用到 await的地方用tr...阅读全文

简书 2020-02-10 23:32:52 夏伊馨

[自助建站]模板渲染的三次革命

为啥想写这篇文章呢?培养自己一个良好的学习习惯:多总结 再以一个参与者的角度,总结一下我们渲染模板的心酸路程。 使用Vue渲染模板 开发前期,为了快速开发,编辑器和渲染使用同一套代码。所以决定渲染也使用Vue! SEO问题由后端单独写一个程序。 开发初步完成,测试环境下,主管发现这套方案行不通 原因如下: 百度等爬虫会对比爬虫抓到的和用户真实看到的,如果不一致百度就会认为这是在欺骗爬虫,百度会有处罚,不利于seo; 一些爬虫不会有指定的UA, 如微信 钉钉他们的爬虫就和正常人访问一样,这个时候就...阅读全文

简书 2020-02-10 23:32:50 merrylmr

leetcode_168

Golang: 思路:这题有点诡异,理解很好理解,可以当作一个二十六进制的转换,比如,701=26*251+25*260,当然,再举一个例子,如果是260呢?就不是260=10*261+0*260,而应该是260=9*261+26*260 代码如下: func convertToTitle(n int) string { imap:=make(map[int]byte) for i:=1; i<=26; i++ { imap[i]=byte('A'+i-1) } if n==0 { return...阅读全文

简书 2020-02-10 23:32:50 淳属虚构

go-gRPC 初体验

微服务想必大家都不陌生了。刚接触到golang,那么在golang中怎么使用微服务呢。这里使用gRRC框架写了一个简单的例子。 环境要求 go>=1.13; set GO111MODULE=on 安装 protoc 安装 Protoc plugin-go 示例代码 iris-grpc-example 项目结构 iris-grpc-example │ .gitignore │ go.mod │ go.sum │ README.md │ ├─proto │ README.md │ servers.p...阅读全文

简书 2020-02-10 23:32:49 旧梦发癫

基于Golang开发的开源微信小程序(页面高仿大众点评)

小程序基于Taro2.0 + React Hooks开发 测试数据采集自微信小程序--大众点评 服务端api基于 Golang 计划添加基于Reactjs的后台管理系统、PC版、Wap版 目前主要是已浏览页面为主,接下来会继续做其他业务. Github https://github.com/i-coder-robot/dp-min-program 服务端api 项目地址:https://github.com/i-coder-robot/mock-food 最后 喜欢别忘了Star 本项目长期更新...阅读全文

简书 2020-02-10 23:32:49 欢喜哥在学习

如何把golang的Channel玩出async和await的feel

引言 如何优雅的同步化异步代码,一直以来都是各大编程语言致力于优化的点,记得最早是C# 5.0加入了async/await来简化TPL的多线程模型,后来Javascript的Promise也吸取这一语法糖,在ES 6中也加入了async和await. 那么,被大家一称赞并发性能好、异步模型独树一帜的golang,能否也有async和await呢? 其实,这对于golang的CSM来说一点也不难! 核心代码如下: done := make(chan struct{}) go func() { //...阅读全文

简书 2020-02-10 23:32:45 海之方

关于Go1.14,你一定想知道的性能提升与新特性

Go官方团队将在今年2月份发布1.14版本。相比较于之前的版本升级,Go1.14在性能提升上做了较大改动,还加入了很多新特性,我们一起来看一下Go1.14都给我们带来了哪些惊喜吧! 1.性能提升 先列举几个Go1.14在性能提升上做的改进。 1.1 defer性能“异常”牛逼 异常牛逼是有多牛逼呢?我们可以通过一个简单benchmark看一看。用例如下(defer_test.go): package main import ( "testing" ) type channel chan int ...阅读全文

掘金 2020年02月10日 绘你一世倾城

金山云api签名(go语言)

1.前言 云计算是当下非常流行的技术,各互联网公司基本上都在使用着不同云厂商的资源。我们要查看或者操作购买的云计算资源,一般都通过控制台登录直接操作。但是如果我们要批量操作资源,或者是开发自己的平台调用资源,那么我们该怎么办呢?其实各云计算厂家都提供了资源操作的接口,api和sdk。其中,api接口需要我们自行实现接口的签名认证,再调用厂商的各种方法,然后二次开发;sdk是厂商已经封装好的操作接口,我们可以直接调用,再在此基础上做开发。 2.代码实现 本文主要用go语言实现了金山云的api签名,...阅读全文

51CTO博客 2020-02-09 18:15:58 Rainbowhhy

图解kubernetes容器运行时状态缓存数据结构

缓存和发布订阅都是后端开发中常用的手段,其中缓存主要是用于可丢失数据的暂存,发布订阅主要是用于消息传递,今天给大家介绍一个k8s中带有发布订阅的缓存实现,其目标是给定一个时间,只关注该时间后续的事件,主要是用于近实时状态数据的获取 1. 业务背景 在k8s中的kubelet中支持不同的容器运行时,为了缓存容器运行时当前所有可见的Pod/Container就构造了一个Cache结构,当一个事件发生后,kubelet接收到事件后,此时需要获取当前Pod的状态,此时要获取的状态,就必须要求是在事件产生...阅读全文

掘金 2020年02月10日 8小时_2020

十分钟学会用Go编写Web中间件

本文首发于公众号,关注文末公众号回复gohttp03 获取文章所用完整源代码。 中间件(通常)是一小段代码,它们接受一个请求,对其进行处理,每个中间件只处理一件事情,完成后将其传递给另一个中间件或最终处理程序,这样就做到了程序的解耦。如果没有中间件那么我们必须在最终的处理程序中来完成这些处理操作,这无疑会造成处理程序的臃肿和代码复用率不高的问题。中间件的一些常见用例是请求日志记录,Header操纵、HTTP请求认证和ResponseWriter劫持等等。 画外音:上面这段描述中间件的文字,跟我两...阅读全文

掘金 2020年02月08日 kevinyan