iris

Go实战--也许最快的Go语言Web框架kataras/iris初识三(Redis、leveldb、BoltDB)

▼魔方 西西 提交于 2019-11-26 20:30:56
生命不止,继续 go go go !!! 之前介绍了iris框架,介绍了如何使用basic认证、Markdown、YAML、Json等: Go实战–也许最快的Go语言Web框架kataras/iris初识(basic认证、Markdown、YAML、Json) 介绍了如何使用TOML、Cache、Cookie等: Go实战–也许最快的Go语言Web框架kataras/iris初识二(TOML、Cache、Cookie) 继续跟大家一起学习iris框架. Redis 关于redis,之前也有介绍过: Go实战–golang中使用redis(redigo和go-redis/redis) Go实战–通过httprouter和redis框架搭建restful api服务(github.com/julienschmidt/httprouter) 启动Windows上redis服务 credis-server .exe redis .windows .conf 如果出现 [9376] 25 Oct 15:09:11.726 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error ,证明启动成功。 main.go: package main import ( "time" "github.com/kataras

【GO】12.Iris Web框架实例

若如初见. 提交于 2019-11-26 20:30:02
Iris号称最快的go语言Web框架 安装iris go get -u github.com/kataras/iris 官方的一个简单的web实例 package main import "github.com/kataras/iris" func main(){ app := iris.Default() app.Get("/ping", func(ctx iris.Context) { ctx.JSON(iris.Map{ "message": "pong", }) }) // listen and serve on http://0.0.0.0:8080. app.Run(iris.Addr(":8080")) } 访问 http://localhost:8080/ping 结果: {"message":"pong"} 注册路由 func main() { app := iris.Default() // Simple group: v1. v1 := app.Party("/v1") { v1.Post("/login", loginEndpoint) v1.Post("/submit", submitEndpoint) v1.Post("/read", readEndpoint) } // Simple group: v2. v2 := app.Party("/v2")

Go Iris 实现认证与授权

十年热恋 提交于 2019-11-26 20:29:38
文章目录 Go Iris 实现认证与授权 1. 常见的认证类型 HTTP Basic Auth OAUth2.0 JWT 认证 2. Iris 实现HTTP BASIC认证 HTTP BASIC认证过程 3. Iris 实现OAUth2.0 OAUth2.0授权过程 Go Iris 实现认证与授权 1. 常见的认证类型 HTTP Basic Auth 在HTTP中,基本认证(Basic access authentication)是一种用来允许网页浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。 虽然基本认证非常容易实现,但该方案创建在以下的假设的基础上,即:客户端和服务器主机之间的连接是安全可信的。特别是,如果没有使用SSL/TLS这样的传输层安全的协议,那么以明文传输的密钥和口令很容易被拦截。该方案也同样没有对服务器返回的信息提供保护。 OAUth2.0 OAuth在"客户端"与"服务提供商"之间,设置了一个授权层(authorization layer)。“客户端"不能直接登录"服务提供商”,只能登录授权层,以此将用户与客户端区分开来。"客户端"登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。 "客户端"登录授权层以后,"服务提供商"根据令牌的权限范围和有效期,向"客户端

go之web框架 iris

大城市里の小女人 提交于 2019-11-26 20:27:46
前言 最近开始学习GO的WEB框架,IRIS号称是Go最快的后端Web框架,目前发展最快的Go Web框架。提供完整的MVC功能并且面向未来。 所以先从它开始。 github地址 https://github.com/kataras/iris 文档 https://docs.iris-go.com/ 安装 go get -u github.com/kataras/iris 编辑main.go package main import "github.com/kataras/iris" func main() { app := iris .Default () // Method: GET // Resource: http://localhost: 8080 / app .Handle ( "GET" , "/" , func(ctx iris .Context ) { ctx .HTML ( "Hello world!" ) }) // same as app .Handle ( "GET" , "/ping" , [...]) // Method: GET // Resource: http://localhost: 8080 / ping app .Get ( "/ping" , func(ctx iris .Context ) { ctx .WriteString (

Go iris 入门

空扰寡人 提交于 2019-11-26 20:27:12
文章目录 Go iris 入门 1. Iris 框架 2. 安装 3. 示例程序 4. 配置 5. 路由 6. Handler 7. 错误处理 Go iris 入门 1. Iris 框架 Iris 以简单而强大的 api 而闻名。 除了提供的低级访问权限, Iris 同样擅长 MVC 。 它是唯一一个拥有 MVC 架构模式丰富支持的 Go Web 框架,性能成本接近于零。 Iris具有以下强大的特性,可以很高效地用于后台开发: 专注于高性能 简单流畅的API 高扩展性 强大的路由和中间件生态系统 上下文 身份验证 视图系统.支持五种模板隐隐 完全兼容 html/template Websocket库, 其API类似于socket.io [如果你愿意,你仍然可以使用你最喜欢的] 热重启 2. 安装 iris安装要求go版本至少为1.8,建议1.9 $ go get -u github.com/kataras/iris 3. 示例程序 安装完Iris,我们就可以跟着下面的简单示例运行我们的第一个web应用程序了: //server.go package main import ( "github.com/kataras/iris" ) func main ( ) { app := iris . New ( ) //输出html // 请求方式: GET // 访问地址: http:/

统计学习方法 | 第2章 感知机

那年仲夏 提交于 2019-11-26 00:17:37
第2章 感知机 1.感知机是根据输入实例的特征向量 对其进行二类分类的线性分类模型: 感知机模型对应于输入空间(特征空间)中的分离超平面 。 2.感知机学习的策略是极小化损失函数: 损失函数对应于误分类点到分离超平面的总距离。 3.感知机学习算法是基于随机梯度下降法的对损失函数的最优化算法,有原始形式和对偶形式。算法简单且易于实现。原始形式中,首先任意选取一个超平面,然后用梯度下降法不断极小化目标函数。在这个过程中一次随机选取一个误分类点使其梯度下降。 4.当训练数据集线性可分时,感知机学习算法是收敛的。感知机算法在训练数据集上的误分类次数 满足不等式: 当训练数据集线性可分时,感知机学习算法存在无穷多个解,其解由于不同的初值或不同的迭代顺序而可能有所不同。 二分类模型 给定训练集: 定义感知机的损失函数 算法 随即梯度下降法 Stochastic Gradient Descent 随机抽取一个误分类点使其梯度下降。 当实例点被误分类,即位于分离超平面的错误侧,则调整 , 的值,使分离超平面向该无分类点的一侧移动,直至误分类点被正确分类 拿出iris数据集中两个分类的数据和[sepal length,sepal width]作为特征 In [1]: import pandas as pd import numpy as np from sklearn.datasets import

Sklearn实现knn

只谈情不闲聊 提交于 2019-11-25 19:09:24
#----------------------------------Sklearn实现Knn------------------------------ # KNeighborsClassifier(n_neighbors=5, weights=’uniform’, # algorithm=’auto’, leaf_size=30, p=2, metric=’minkowski’, # metric_params=None, n_jobs=None, **kwargs)[source] #--------------------------------------实例一----------------------------------------------- from sklearn import datasets from sklearn.neighbors import KNeighborsClassifier from sklearn.cross_validation import train_test_split import numpy as np np.random.seed(0)#设置随机种子,设置后每次产生的随机数都一样 #加载数据集 iris=datasets.load_iris() #样本是150*4二维数据,代表150个样本,每个样本有4个特征 X