Golang vs PHP 之文件服务器
前两天有同事遇到一个问题,需要一个能支持上传、下载功能的HTTP服务器做一个数据中心。我刚好弄过,于是答应帮他搭一个。HTTP服务器,首先想到的就是PHP + nginx。于是开撸,先写一个PHP的上传<?php if ($_FILES[&am
38张思维导图搞定网络知识架构
今天给大家整理了一份网络思维导图,非常适合零基础入门或基础不扎实的小伙伴。传输介质简介以太网帧结构IP编址ICMP协议ARP协议传输层协议路由基础静态路由基础距离矢量路由协议——RIP链路状态协议——OSPFHDLC&PPP原理与应用帧中继原理与配置PPPoENAT网络地址转换交换网
golang sql连接超时An established connection was aborted by the software in your host machine.
如果是mysql数据库的话,数据库本身有一个超时时间,超过这个时间,数据库自动就断开连接查看数据库断开连接时间show global variables like "%timeout%"主要看
golang-redis之list类型简单操作
1:安装redigogo get github.com/garyburd/redigo/redis2:连接redis(通过ip端口)import ( "github.com/garyburd/redigo/redis")c
golang数据定义
1.函数返回值问题:在函数有多个返回值时,只要有⼀个返回值有名 称,那么其他返回值也⼀定要有名称2.结构体的⽐较问题 :结构体⽐较规则之⼀: 只有相同的类型的结构体才可以⽐较(1 结构体的属性类型, 2 属性的顺序)结构体⽐较规则之⼆: 即使两个结构体的属性类型和顺序相同,但是⾥⾯存在不可⽐较类型,
blob:http 地址的原理及生成方法
blob 其实是 h5 表征的 Blob 对象数据,具体请看文档。我们可以使用 Blob 对象隐藏真实的资源路径,在一定程度上可以起到数据的加密性,更多的是为了干扰爬虫。比如日常使用的一些音频,视频,图片,我们都可以使用其 Blob 二进制数据流来表征数据,而非使用 uri,就像经常用到的 imag
golang的goroutine调度机制
调度器
主要基于三个基本对象上,G,M,P(定义在源码的src/runtime/runtime.h文件中)
G代表一个goroutine对象,每次go调用的时候,都会创建一个G对象
M代表一个线程,每次创建一个M的时候,都会有一个底层线程创建;所有的G任务,最终还是在M上执行
P代表一个处理器,每
Golang并发模型GMP浅尝
从进程谈起进程与线程的区别是什么?这是一个老生长谈的一道面试题。处于不同层面对该问题的理解也大不相同。对于用户层面来说,进程就是一块运行起来的程序,线程就是程序里的一些并发的功能。对于操作系统层面来说,标准回答是“进程是资源分配的最小单位,线程是cpu调度的最小单位”。接下来先从操作系统层面介绍一下
RabbitMQ在Tp5.0 中使用PhpAmqpLib
PhpAmqpLib 下载地址 https://github.com/php-amqplib/php-amqplib
包内的PhpAmqpLib文件夹放入到 根目录的 extend目录下
在控制器中引入就可以使用了
支付宝notify_url没有回调的问题排查
支付宝notify_url回调接收不到信息确认自己的回调地址notify_url配置无误之后,在开发环境自己用Postman请求自己设置的回调地址,是可以正常进入到Controller的接口层。遂即便怀疑测试环境服务器负载配置是否正确,通过跟踪nginx的access.log,发现自己模拟发起的请求
23 种设计模式的通俗解释
01 工厂方法追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德基,只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即
查看mysql库中所有表的大小和记录数
SELECT TABLE_NAME,DATA_LENGTH,INDEX_LENGTH,(DATA_LENGTH+INDEX_LENGTH) as length,TABLE_ROWS,concat(round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,3), 'MB')