自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gdl.痕迹 的博客

大化流行,无物常往

  • 博客(121)
  • 资源 (2)
  • 收藏
  • 关注

原创 golang的channel浅析

简介channel是golang的一个重要特性,可用于goroutine同步和通信,channel基于共享内存实现,具有FIFO特性。chan的分类//read and writechan//write onlychan<-//read only<-chan此外还可以分为有缓冲和无缓冲chan。无缓冲chan无缓冲chan,没有缓冲队列,其读写两端需要同步,否之阻塞。可用于goroutine之间的同步操作。创建无缓冲chan:ch := make(chan int)

2020-08-04 18:28:17 309

原创 opentracing & jeager

简介opentracing是一个分布式追踪系统的client接口标准。jeager是uber的tracing系统。收集的资料specification: https://opentracing.io/specification/[1] https://developer.aliyun.com/article/514488[2] http://peter.bourgon.org/blog/2017/02/21/metrics-tracing-and-logging.html?spm=a2c6h.12

2020-08-04 13:46:10 604

原创 multipart/form-data的使用注意

问题描述事情是这样的,我在使用ajax+FormData对象提交数据的时候,使用request.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”); 但服务端接受的数据却是multipart/form-data编码的,还自带boundary。Form的三种encryptapplication/x-...

2020-03-18 14:46:57 1453

原创 Chrome的FormData的get函数未定义

问题描述:在使用ajax和后端交互的过程中,构造FormData对象,然后程序逻辑需要FormData的get方法,但F12调试发现get未定义。解决方案:By default, Chrome does not support the .get() method, as well as delete, get, getAll, has, and set. Although you can...

2020-03-17 18:15:32 637

原创 使用jquery的bind来检测textarea,input等的文本变化

为什么要这样干?当我需要检测textarea的文本变化,从而触发某一回调的时候,发现js原生的textarea的dom事件onchange是textarea的焦点变更事件回调。所以文本回调呢?解决方案可以自己检查textarea的value文本变化来回调,但是需要定时器轮询。使用jq的bindexample<body><input id="line" typ...

2020-03-17 00:21:50 555

原创 优化分支if-else

优化分支的意义按照喵喵讲的,cpu执行指令,有预解码,解码等过程,在执行前一段指令的时候就会将将要执行的指令加载到解码流水线上做预处理,但是如果存在分支的情况下,加载指令可能不是将要执行的代码。---->喵喵利用Intel的vtune测试Hardware Issue选项可以看到分支预测的情况。一般来讲95%的分支预测成功是正常的90%表示还有提高的空间75%表示非常糟糕i...

2020-03-16 23:06:52 269

原创 设计模式之工厂模式

Saying and doing are two different things.简单工厂模型何谓工厂?可以生产产品,产品可以枚举。#include<iostream>class AbstructProduct { public: virtual~AbstructProduct() {}; virtual void show() = ...

2020-03-16 15:40:30 128

原创 设计模式之单例模式

什么事单例模式:单例 Singleton 是设计模式的一种,其特点是只提供唯一一个类的实例,具有全局变量的特点,在任何位置都可以通过接口获取到那个唯一实例;应用场景:设备管理器,系统中可能有多个设备,但是只有一个设备管理器,用于管理设备驱动;数据池,用来缓存数据的数据结构,需要在一处写,多处读取或者多处写,多处读取;实现要点:全局只有一个实例:static 特性,同时禁止用户自己...

2020-03-16 15:37:34 135

原创 Git的基本操作(本地)

努力する人は希望を语り、怠ける人は不満を语る。——いのうえ やすしGit的基本命令应用git initgit init [-q | --quiet] [--bare] [--template=<template_directory>] [--separate-git-dir <git dir>] [--shared[=<permissions&...

2020-03-16 15:35:15 249

原创 golang使用xlsx操纵excel浅析

欢迎直接访问我的博客:http://www.yqun.xyz:1313Introductionxlsx is a library to simplify reading and writing the XML format used by recent version of Microsoft Excel in Go programs.Installation使用go get...

2020-03-14 23:34:05 4109

原创 hugo的使用和配置

Description:A Fast and Flexible Static Site Generator built with love by bep, spf13 and friends in Go.安装:可以直接下载源码然后编译。源码地址:https://github.com/gohugoio/hugo也可以直接下载可执行文件 可执行文件地址:https://gith...

2020-03-11 14:51:15 3398

js 数组的find和findIndex

Array.find()array.find(function(currentValue, index, arr),thisValue) 参数 描述 function(currentValue, index,arr) 必需。数组每个元素需要执行的函数。函数参数: 参数 描述 current...

2020-03-09 18:58:31 2237

转载 FormData提交数据

<!DOCTYPE html><html><head> <title>Title</title> <meta charset="utf-8"> <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">&lt...

2020-03-07 16:28:53 210

原创 js的RegExp对象,正则向后引用

RegExp 静态属性长名短名说明input$_返回当前所作用的字符串,初始值为空字符串""index 当前模式匹配的开始位置,从 0 开始计数。初始值为 -1,每次成功匹配时,index 属性值都会随之改变lastIndex 当前模式匹配的最后一个字符的下一个字符位置,从 0 开始...

2020-03-07 14:00:09 253

原创 如何快速搭建网站

回忆一下以往自己是如何手工网站的使用html,css,js,vue进行前段的网站的布局设计网页内容和server的数据交互(ajax),这里还需要保留扩展性。使用go或者c++server,server中包含网页数据请求,和数据提交请求的处理等。使用nginx做一个反向代理。那么使用什么软件可以快速的搭建一个自己的网站呢?环境准备:下载一个server:nginx,apache,...

2020-03-07 13:50:38 213

原创 关于如何实现textarea接受Tab键输入

实现textarea接受Tab键的输入首先我们需要知道,在一般情况下网页上按Tab键是切换控件焦点的。在textarea里也是这样,那么当我们需要在文本框里输入Tab的时候,应该怎么办呢?首先我们想到直接看一下 textarea 标签是否有控制Tab的属性没得,好了,下一个。我的解决方案:我们可以通过textarea对象捕捉键盘事件,过滤Tab键,然后悄悄把他的处理方式从切换焦点改成插入...

2020-02-21 22:46:50 1846

原创 Nginx--array数据结构解析

ngx_array_t是nginx内置的一个数据结构。核心数据结构:typedef struct { void *elts; //数组的第一个元素的地址 ngx_uint_t nelts; //未使用的元素的索引 size_t size; //数组中的每个元素的大小 ngx_uint_t nalloc; /...

2020-02-02 17:28:41 145

转载 Nginx内存池源码解读

首先解释一下Nginx内存池的结构:内存池接口概览//内存池创建,重置和销毁ngx_pool_t *ngx_create_pool(size_t size, ngx_log_t *log);void ngx_destroy_pool(ngx_pool_t *pool);void ngx_reset_pool(ngx_pool_t *pool);//内存分配void *ngx_pal...

2020-01-07 18:07:05 179

转载 Nginx的架构浅析

一个设计良好的软件,他的架构必然是高效和优秀的,这对性能和维护都很重要。Nginx的进程结构主进程执行特权操作,如读取配置和绑定端口,还负责创建子进程(下面的三种类型)。缓存加载进程(cache loader process)在启动时运行,把基于磁盘的缓存(disk-based cache)加载到内存中,然后退出。对它的调度很谨慎,所以其资源需求很低。缓存管理进程(cac...

2020-01-06 16:01:15 208

原创 windows重叠IO和IOCP简介

产生重叠IO的原因:对于阻塞IO的读写操作都是需要阻塞等待IO完成的,大大的浪费用户的进程的时间片,降低了程序的性能。所以系统开个后门,悄悄地给你开个后门,开个线程去帮你请求IO,等到IO操作完成之后再通知你,你就可一再接着处理就好了,那么在IO完成之前你就可以放心的做其他的了。重叠IO的重要数据结构:typedef struct _WSAOVERLAPPED { DWORD In...

2020-01-05 23:49:15 373

原创 Nginx的upstream指令

upstream的作用:ngx_http_upstream_module模块用于定义可以由proxy_pass,fastcgi_pass,uwsgi_pass,scgi_pass,memcached_pass和grpc_pass指令引用的服务器组。SyntaxSyntax: upstream name { ... }Default: —Context: httpDescription...

2020-01-05 17:00:53 1017

原创 Nginx的rewrite操作

Rewrite的应用场景URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等SEO优化维护:后台维护、流量转发等调整用户浏览的URL,看起来规范为了让搜索引擎收录网站内容,让用户体验更好网站更换新域名后根据特殊的变量、目录、客户端信息进行跳转SyntaxSyntax: rewrite regex replacement [flag];Default: —Con...

2020-01-04 19:20:28 204

原创 Nginx的运行和控制

Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]Options: -?,-h : this help -v : show version and exit -V : show version and configure ...

2020-01-04 14:24:00 256

转载 Nginx的配置

vi /usr/local/webserver/nginx/conf/nginx.conf#运行用户user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes 1;#全局错误日志及PID文件#error_log logs/error.log;#error_log logs/error.log notice;#error_log l...

2020-01-04 11:01:53 134

原创 nginx的安装

Nginx installNginx 安装系统平台:CentOS release 6.6 (Final) 64位。一、安装编译工具及库文件yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel二、首先要安装 PCREPCRE 作用是让 Nginx 支持 Rewrite 功能。1、下载 PCRE ...

2020-01-04 10:47:56 172

原创 我的Nginx学习笔记

nginx简介安装nginx···今天开个头

2020-01-04 10:39:14 104

原创 css ---- @font-face

首先可以看一下@font-face的用法@font-face { font-family: <webFontName>; src: <source> [<format>][,<source> [<format>]]*; [font-weight: <weight>]; [font-style...

2020-01-03 20:32:37 99

原创 js加载xml(字符串或者文件)

1. 加载XML文件使用ajax加载xml文件var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");xhr.open("GET", "data.xml", false);xhr.send(null);var xmlDoc = xhr.respons...

2019-12-17 19:58:10 336

原创 做一个简单的留言板

效果图:简单的说一说自己的思路:前端代码的编写还是挺简单的,随便写点就好了。其次是后端,后端使用golang编写,golang不需要自己设计httpserve所以简单的很。直接使用golang的内裤http比较重要的是前后端的数据通信。对于我的留言板index.html分成两部分:静态布局+留言的数据动态请求。而数据动态请求,我使用的是ajax的异步请求留言数据。请求数据,设计前后端的...

2019-12-17 16:03:25 800

原创 textarea 中的换行、空格; 如何处理

问题情景:在我做一个博客系统,使用textarea提交数据到后台的时候,从brower提交到后台的过程中的时候,数据经过url编码。(当然也可以在B/S两端建立编码通道,默认是url编码),当默认url编码的时候,数据从textarea的value获取数据,value经过post或者get或者put来提交数据,然后这个过程默认使用的url编码,然而在服务端recv数据后是否会经过url解码呢?我...

2019-12-16 22:42:41 952

原创 js中Date对象的构造

我所遇到的情景如下:我通过serve端向浏览器的request发送响应,响应中包含time字段,由于在服务端使用int64来存储时间相对节约内存和方便,然后再在客户端进行time_t 转 Date. 以下记录解决方案。JS中的Date对象:https://www.w3school.com.cn/jsref/jsref_obj_date.aspDate对象的构造方法:new Date(...

2019-12-15 16:20:13 629

原创 使用ajax和golang的Form实现bs异步交互

Ajax:Asynchronous Javascript And XML(异步 JavaScript 和 XML)。Ajax 的核心是 js 对象:XMLHttpRequest。XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,...

2019-12-11 15:23:58 472

原创 关于golang的context浅析

首先来看一段关于谷歌官方的描述Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes.大概意思就是: Context ...

2019-12-02 23:54:01 207

转载 golang实现聊天服务器

学了一段时间的golang,不得不说go的内裤的设计和抽象层次很高,很漂亮,用来来很爽。直接上代码:chatServer:package mainimport ( "bufio" "fmt" "log" "net")type client chan<- stringvar ( entering = make(chan client) leaving = m...

2019-11-28 15:52:23 385

原创 golang的smtp发送实例

好久没有更新博客了,来记录一个smtp的实例。package mainimport ( "bytes" "encoding/base64" "fmt" "io/ioutil" "net/smtp" "strings" "time")type SendMail struct { user string password string host str...

2019-11-28 14:21:44 1090

转载 Finite-State Machine的golang简单实现

FSM(Finite-State Machine)package mainimport ( "errors" "fmt" "reflect")type State interface { //get name of state. Name() string //是否允许同态转移. EnableSameTansit() bool //begin OnBegin()...

2019-11-13 20:27:41 253

原创 golang接口实现泛性日志接口设计

直接上代码吧//have a try, implement a logger system, simple.package mainimport ( "errors" "fmt" "os")//Writer.type Writer interface { Write(data interface{}) error}//Logger.type Logger struc...

2019-11-07 20:29:51 323

原创 关于线程池的设计和使用场景·浅析

线程池的设计对于线程池可以有很对中设计,最常见的有master-slave模型,和通用线程池。1. master-slave:一个主控线程和多个工作线程,线程池的调度由master线程来执行。2. 通用线程池,如常见的半同步半异步线程池。线程池中的所有线程的地位平等,线程池的所有线程平等竞争池中的任务(variable_condition)3. 设计线程池的原因:线程池的目的在于更大效率的...

2019-10-28 16:46:53 168

转载 gdb调试篇

GDB​ http://ftp.gnu.org/gnu/gdb/​ http://www.gnu.org/software/gdb/​ GDB, the GNU Project debugger, allows you to see what is going on `inside’ another program while it executes – or what another...

2019-10-24 23:13:27 163

原创 关于c++基类,继承类,子对象的构造和析构顺序

构造和初始化的区别两者从意义上而言:1)初始化:一个变量或者一个对象在产生的时候就赋予一个值,属于伴随性质2)赋值:在一个变量或者一个对象在产生之后的任意时刻赋予一个值,属于任意性质构造函数:1)函数的名字与类的名字相同2)在创建一个对象时,构造函数就自动执行,但是在声明一个类的指针对象时,构造函数不会被调用,当new一个空间的时候,构造函数才会被调用3)构造函数一般用来对数...

2019-10-17 21:59:52 1165

testmod.7z

在golang中,项目依赖管理的方式有两种,一种事golang1.11之前使用GOPATH来管理项目的依赖,在go1.11增加了mod管理,从此golang的项目依赖管理的到了更好的管理,本资源是一个通过mod导入一个本地的module的实例。

2020-07-14

multiple io-select

IO multiplexing这个词可能有点陌生,但是如果我说select,epoll,大概就都能明白了。有些地方也称这种IO方式为event driven IO。我们都知道,select/epoll的好处就在于单个process就可以同时处理多个网络连接的IO。它的基本原理就是select/epoll这个function会不断的轮询所负责的所有socket,当某个socket有数据到达了,就通知用户进程。

2018-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除