- 博客(213)
- 收藏
- 关注
转载 Go Context
https://www.flysnow.org/2017/05/12/go-in-action-go-context.html控制并发有两种经典的方式,一种是WaitGroup,另外一种就是Context,今天我就谈谈Context。什么是WaitGroupWaitGroup以前我们在并发的时候介绍过,它是一种控制并发的方式,它的这种方式是控制多个goroutine同时完成。fu...
2019-07-22 14:20:23 221
原创 addTwoNumbers
package mainimport "fmt"type ListNode struct { Val int Next *ListNode}func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode { l3 := &ListNode{} figure := 0 node1 := l1...
2019-05-18 16:48:28 356
原创 Narcissistic.py
def narcissistic(n): n_list = [] if n == 1: n_list.append(0) min_num = "1" max_num = "9" bit = n while n-1: min_num += "0" max_num += "9" n -= ...
2019-05-18 16:41:10 307
原创 rotatestring.py
'''样例 1:输入: str="abcdefg", offset = 3输出: str = "efgabcd"样例解释: 注意是原地旋转,即str旋转后为"efgabcd"样例 2:输入: str="abcdefg", offset = 0输出: str = "abcdefg"样例解释: 注意是原地旋转,即str旋转后为"abcdefg"样例 3:输入: str...
2019-05-18 16:39:59 268
原创 single.py
'''样例样例 1:输入:[1,1,2,2,3,4,4]输出:3解释:仅3出现一次样例 2:输入:[0,0,1]输出:1解释:仅1出现一次'''def singleNumber(A): d = {} for i in A: if d.get(i, -1) == -1: d[i] = 1 el...
2019-05-18 16:39:13 232
原创 条码
package mainimport ( "image" "image/color" "image/draw" "image/png" "os" "github.com/boombuler/barcode" "github.com/boombuler/barcode/code128" "golang.org/x/image/font" "...
2019-05-18 16:33:45 517
原创 sftp_download
package mainimport ( "fmt" "github.com/pkg/sftp" "golang.org/x/crypto/ssh" "log" "net" "os" "path" "time")func connect(user, password, host string, port int) (*sftp.Clien...
2019-05-18 16:32:45 887
原创 ubuntu+php+apache2+nginx
//删除 phpsudo dpkg -l | grep phpsudo apt-get autoremove php7*sudo find /etc -name "*php*" |xargs rm -rfsudo apt purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`//检查有没有清理干净sudo dpkg -l |...
2019-04-22 18:31:09 327
转载 mod_evasive防止DDoS
模块mod_evasive用于防止DDoS。我们可以安装: Vim 1 apt install libapache2-mod-evasive 如果您以我们的方式安装Apache,mod_evasive默认情况下将处于活动状态。如果您运行: Vim 1 a2enmod evasive ...
2019-01-25 10:41:07 239
原创 Promise 对象
http://es6.ruanyifeng.com/#docs/promise Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。 const promise = new Promise(function(resolve, reject) { // ... some code if (/* 异步操作成功 */){ ...
2018-12-07 08:49:30 151
原创 SparkMD5 浏览器使用MD5
https://github.com/satazor/js-spark-md5 document.getElementById('file').addEventListener('change', function () { var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.proto...
2018-12-07 08:23:53 2188
原创 laravel-dompdf 添加页码
Controller$pdf = PDF::loadview('contractpdf');$pdf->setOptions(['isPhpEnabled'=> true]);$pdf->setPaper('L', 'landscape');return $pdf->setPaper('a4')->stream(); blade.php...
2018-12-06 10:36:43 893
原创 挂载主机目录
//挂载主机目录docker run -d -P --name web --mount type=bind,source=/home/www(主机目录),target=/app(image目录) friendlyhello(image 名称) //开终端进入容器内docker exec -it web(运行中docker容器名称) /bin/bash //看日志doc...
2018-10-29 14:16:34 286
原创 docker (2)
part3一个docker-compose.yml文件是一个YAML文件,它定义了Docker容器在生产中应如何表现。version: "3"services: web: # replace username/repo:tag with your name and image details image: username/repo:tag deploy:...
2018-10-26 16:39:52 119
原创 docker 入门
文档地址:https://docs.docker.com/get-started/#conclusion-of-part-one1.运行docker --version并确保您拥有受支持的Docker版本2.运行docker info查看有关docker安装的更多详细信息3.docker image ls 查看所有镜像4.docker container ls 查看正在运行的...
2018-10-26 14:06:31 207
原创 pdf2image
https://github.com/Belval/pdf2image from pdf2image import convert_from_path, convert_from_bytesimport os, time, sysdef pdf2jpg(): try: image = convert_from_path(sys.argv[1...
2018-10-09 10:28:48 1894
原创 jquery 使用JSON.stringify转 json
var data = new Array()data["id"] = $(this).val()这样的写法是new了一个数组对象,然后给数组对象设置属性,但是数组序列化的时候只会序列化数组中的元素,会忽略对象上的属性和值。正确写法:var data = {}data["id"] = $(this).val()...
2018-08-09 10:57:02 991
原创 log包的应用
package loggerimport ( "log" "os" "time" "io" "fmt" "cary-lib/api-service/config" "github.com/gin-gonic/gin")type LogFile struct { level map[string]string fileName string dat
2018-07-12 14:55:39 410
原创 读execl 输出 json
package mainimport ( "github.com/Luxurioust/excelize" "fmt" "os" "github.com/gin-gonic/gin/json")func main(){ var aa =[]map[string]string{} xlsx, err:= excelize.OpenFile("C:\\GO_WorkSpace\\...
2018-07-12 14:53:39 197
转载 Go 错误处理 实现Try
func HttpGet(url string){ resp, err:= http.Get(url) if err!= nil{ fmt.Println(err) } defer resp.Body.Close() body, err:= ioutil.ReadAll(resp.Body) if err!= nil{ fmt.Println(err) ...
2018-07-12 14:52:13 1311
原创 使用读写锁来保证数据安全
package initializationimport ( "time" "github.com/gin-gonic/gin" "monitor/server/dingding" "monitor/server/email" "sync")type RLMap struct{ Data map[string]time.Time sync.RWMutex}func (...
2018-07-12 14:51:26 438
原创 Udp通信
Clientpackage mainimport ( "net" "fmt")func main() { sip := net.ParseIP("127.0.0.1") srcAddr := &net.UDPAddr{IP: net.IPv4zero, Port:0} dstAddr := &net.UDPAddr{IP: sip, Port: 9981} ...
2018-07-12 14:50:17 282
原创 与数据库交互(以mysql为例)
与数据库交互(以mysql为例)• 与数据库交互我们需要安装这些包 – "github.com/go-sql-driver/mysql“– "database/sql“• 连接数据库: – db,err := sql.Open("mysql","root:root@tcp(192.168.25.108:3306)/db_goals?charset=utf8")if err!=nil { fmt...
2018-07-12 14:48:55 3755
原创 Xorm 事务
resp := make(map[string] interface{}) db_glass_local_order := database.Db_conn["db_glass_local_order"] sess := db_glass_local_order.NewSession() order_id := c.PostForm("order_id") custom...
2018-07-12 14:47:28 1441
原创 xorm
package mainimport ( _ "github.com/go-sql-driver/mysql" "github.com/go-xorm/xorm" "fmt")type Db_row struct {}func main(){ e,err:=xorm.NewEngine("mysql","root:root@tcp(192.168.25.120)/db_glass_...
2018-07-12 14:43:56 512
转载 MySql判断是否为null或空字符串
ISNULL(aBegBalRule) || LENGTH(trim(aBegBalRule))<1
2018-07-12 11:15:52 61490
原创 golang 模拟请求
package mainimport ( "net/http" "fmt" "io/ioutil" "net/url" "strings" //"time" //"reflect")func HttpGet(url string){ resp, err := http.Get(url) if err
2018-06-29 15:03:34 862
原创 golang,绘图包image
package mainimport ( "os" "image" "image/color" "image/png" "image/draw" "flag" "io/ioutil" "log" "github.com/golang/freetype" "g
2018-06-29 14:48:51 3116
转载 Go语言-select语句
select语句属于条件分支流程控制方法,不过它只能用于通道。它可以包含若干条case语句,并根据条件选择其中的一个执行。进一步说,select语句中的case关键字只能后跟用于通道的发送操作的表达式以及接收操作的表达式或语句。示例如下:ch1 := make(chan int, 1)ch2 := make(chan int, 1)// 省略若干条语句select {case e1 :=...
2018-05-02 21:25:18 2750
转载 Go语言-for语句
for语句代表着循环。一条语句通常由关键字for、初始化子句、条件表达式、后置子句和以花括号包裹的代码块组成。其中,初始化子句、条件表达式和后置子句之间需用分号分隔。示例如下:for i := 0; i < 10; i++ { fmt.Print(i, " ")} 我们可以省略掉初始化子句、条件表达式、后置子句中的任何一个或多个,不过起到分隔作用的分号一般需要被保留下来...
2018-05-02 21:10:09 2901
转载 Go语言-switch语句
与串联的if语句类似,switch语句提供了一个多分支条件执行的方法。不过在这里用一个专有名词来代表分支——case。每一个case可以携带一个表达式或一个类型说明符。前者又可被简称为case表达式。因此,Go语言的switch语句又分为表达式switch语句和类型switch语句。 先说表达式switch语句。在此类switch语句中,每个case会携带一个表达式。与if语句中的...
2018-05-02 21:09:21 2968
转载 Go语言-if语句
Go语言的流程控制主要包括条件分支、循环和并发。在本章,我们先来谈谈基本的流程控制语句。具体到本小节,我们将提及if语句。 if语句一般会由关键字if、条件表达式和由花括号包裹的代码块组成。所谓代码块,即是包含了若干表达式和语句的序列。在Go语言中,代码块必须由花括号包裹。另外,这里的条件表达式是指其结果类型是bool的表达式。一条最简单的if语句可以是:if 100 > numb...
2018-05-02 21:08:48 5994
转载 Go语言-指针
我们在前面多次提到过指针及指针类型。例如,*Person是Person的指针类型。又例如,表达式&p的求值结果是p的指针。方法的接收者类型的不同会给方法的功能带来什么影响?该方法所属的类型又会因此发生哪些潜移默化的改变?现在,我们就来解答第一个问题。至于第二个问题,我会在下一小节予以解答。 指针操作涉及到两个操作符——&和*。这两个操作符均有多个用途。但是当它们作为地址操作符...
2018-05-02 21:08:02 334
转载 Go语言-接口
在Go语言中,一个接口类型总是代表着某一种类型(即所有实现它的类型)的行为。一个接口类型的声明通常会包含关键字type、类型名称、关键字interface以及由花括号包裹的若干方法声明。示例如下:type Animal interface { Grow() Move(string) string} 注意,接口类型中的方法声明是普通的方法声明的简化形式。它们只包括方法名称、参...
2018-05-02 21:02:13 547
转载 Go语言-结构体和方法
Go语言的结构体类型(Struct)比函数类型更加灵活。它可以封装属性和操作。前者即是结构体类型中的字段,而后者则是结构体类型所拥有的方法。 结构体类型的字面量由关键字type、类型名称、关键字struct,以及由花括号包裹的若干字段声明组成。其中,每个字段声明独占一行并由字段名称(可选)和字段类型组成。示例如下:type Person struct { Name str...
2018-05-02 21:00:37 504
转载 Go语言-函数
在Go语言中,函数是一等(first-class)类型。这意味着,我们可以把函数作为值来传递和使用。函数代表着这样一个过程:它接受若干输入(参数),并经过一些步骤(语句)的执行之后再返回输出(结果)。特别的是,Go语言中的函数可以返回多个结果。 函数类型的字面量由关键字func、由圆括号包裹参数声明列表、空格以及可以由圆括号包裹的结果声明列表组成。其中,参数声明列表中的单个参数声...
2018-05-02 20:57:24 299
转载 Go语言-通道类型
通道(Channel)是Go语言中一种非常独特的数据结构。它可用于在不同Goroutine之间传递类型化的数据,并且是并发安全的。相比之下,我们之前介绍的那些数据类型都不是并发安全的。这一点需要特别注意。 Goroutine(也称为Go程序)可以被看做是承载可被并发执行的代码块的载体。它们由Go语言的运行时系统调度,并依托操作系统线程(又称内核线程)来并发地执行其中的代码块。至于怎样编写...
2018-05-01 21:41:05 636
转载 Go语言-字典类型
Go语言的字典(Map)类型其实是哈希表(Hash Table)的一个实现。字典用于存储键-元素对(更通俗的说法是键-值对)的无序集合。注意,同一个字典中的每个键都是唯一的。如果我们在向字典中放入一个键值对的时候其中已经有相同的键的话,那么与此键关联的那个值会被新值替换。 字典类型的字面量如下:map[K]T 其中,“K”意为键的类型,而“T”则代表元素(或称值)的类型。如...
2018-05-01 21:34:27 2876
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人