关闭

golang context 源码阅读

Context 派生:ctx, _ := context.WithTimeout(context.Background(), (10 * time.Second))源码分析:// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)). // // Canceling this context releases resour...
阅读(40) 评论(0)

golang 字典树 搜索+sugg 示例

package mainimport ( "fmt" "sort" "sync" )type KeyWordKV map[int64]string type CharBeginKV map[string][]*KeyWordTreeNode type PairList []Pairfunc (p PairList) Len() int { return l...
阅读(74) 评论(0)

Gin 框架源码笔记

Gin 服务框架服务端使用示例:package mainimport "github.com/gin-gonic/gin"func main(){ // 建立http路由 router := gin.Default() router.GET("/gin/test/", func(context *gin.Context) { context.JSON(200,...
阅读(64) 评论(0)

golang 值传递和引用传递的总结

典型的引用传递类型:slice,map和channel: 典型的值传递类型:数组package mainimport "fmt"type Test struct { A int64 B string }func main(){ // 引用类型 map_param := make(map[int64]string,0) fmt.Println(map_para...
阅读(104) 评论(0)

golang range 遍历

问题描述:遍历一个数组,修改其中的值:type MyTest struct { X int }arr := make([]MyTest,0,20) for k,v := range arr{ v.X = Y }期待输出,数组中所有的X均被修改成Y 实际输出,数组中所有的X均未发生改变问题分析在Go的for…range循环中,Go始终使用值拷贝的方式代替被遍历的元素本身,简单来说,就...
阅读(53) 评论(0)

govendor 使用命令

常用命令:1. 生成vendor目录:govendor init 2. 将外部依赖一同加入vendor中:govendor add +external 3. 更新外部所有依赖:govendor update +external 4. 更新指定外部依赖:govendor update $PACKAGE_NAME init Create the "vendor" folder and th...
阅读(114) 评论(0)

nginx 读书笔记

nginx http处理11个阶段 // 接收到完整的HTTP头部后处理阶段 NGX_HTTP_POST_READ_PHASE, // 将请求URI与location表达式匹配前,修改URI,即重定向阶段 NGX_HTTP_SERVER_REWRITE_PHASE, // 只能由ngx_http_core_module模块实现,用于根据请求URI寻找location...
阅读(66) 评论(0)

sqlalchemy 读写分离简单封装

源码#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/7/22 21:50 # @Author : wanhongfei@bytedance.com # @Comment : # @File : db_util.py # @Software: PyCharm from sqlalchemy import creat...
阅读(356) 评论(0)

AQS源码分析

AQS介绍AbstractQueuedSynchronizer,AQS是用来构建锁和同步器的框架,Java并发工具包中的可重入所、读写锁都是基于AQS的子类构建的,使用的是组合并发继承,因为对用户(开发者)而言,我们不需要关心底层线程的调度和控制。 * +------+ prev +-----+ +-----+ * head | | <---- |...
阅读(163) 评论(0)

tcc-transaction 执行流程源码分析

1.简单使用请参考如下链接: tcc-transaction demo 例程源码2.流程分析我们根据例程代码分析,可以猜测到事务的执行流程通过spring-aop实现。 ResourceCoordinatorAspect,主要为了完成confirm和cancel的执行,其执行级别为HIGHEST_PRECEDENCE + 1;:@Aspect public abstract class Reso...
阅读(634) 评论(0)

Go web 服务简单使用

package mainimport ( "fmt" "net/http" "log" "encoding/json" )//必须要field的首字母大写才能成功的解析为json格式的数据,或者tag(field首字母还是必须要大写,不然为 空 ).不然为空. type People struct { Name string Age int }fun...
阅读(97) 评论(0)

Go 协程

channel通信:package mainimport ( "fmt" )//线程(协程)间通信:1.共享内存,2.通道 //事实上Go语言主要使用消息机制(channel)来作为通信模型。func count1(ch chan int, i int) { fmt.Println("counter = ", i) ch <- 1 }func main() { chs...
阅读(144) 评论(0)

python 线程、协程简单使用

python简单线程并发示例:import threading import timemutex = threading.Lock()def worker(num): time.sleep(1) mutex.acquire() print "this is ",num mutex.release()if __name__ == '__main__': for...
阅读(79) 评论(0)

Django object转json

def object2AttrDict(obj): res = {} for attr_name in dir(obj): try: attr = getattr(obj, attr_name) if callable(attr): # method con...
阅读(149) 评论(0)

Spring 处理Post参数处理

常用表单提交类型: application/x-www-form-urlencoded 空格转换为 “+” 加号,特殊符号转换为 ASCII HEX 值 multipart/form-data 不对字符进行编码,使用二进制数据传输,一般用于上传文件,非文本的数据传输。 处理方式 普通post表单 application/x-www-form-urlencoded 参考链接 文件上传表单...
阅读(139) 评论(0)
483条 共33页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:196392次
    • 积分:5954
    • 等级:
    • 排名:第4726名
    • 原创:379篇
    • 转载:103篇
    • 译文:1篇
    • 评论:16条
    最新评论