- 博客(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 337
原创 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 637
原创 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 1512
原创 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 680
原创 使用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 595
原创 优化分支if-else
优化分支的意义按照喵喵讲的,cpu执行指令,有预解码,解码等过程,在执行前一段指令的时候就会将将要执行的指令加载到解码流水线上做预处理,但是如果存在分支的情况下,加载指令可能不是将要执行的代码。---->喵喵利用Intel的vtune测试Hardware Issue选项可以看到分支预测的情况。一般来讲95%的分支预测成功是正常的90%表示还有提高的空间75%表示非常糟糕i...
2020-03-16 23:06:52 290
原创 设计模式之工厂模式
Saying and doing are two different things.简单工厂模型何谓工厂?可以生产产品,产品可以枚举。#include<iostream>class AbstructProduct { public: virtual~AbstructProduct() {}; virtual void show() = ...
2020-03-16 15:40:30 147
原创 设计模式之单例模式
什么事单例模式:单例 Singleton 是设计模式的一种,其特点是只提供唯一一个类的实例,具有全局变量的特点,在任何位置都可以通过接口获取到那个唯一实例;应用场景:设备管理器,系统中可能有多个设备,但是只有一个设备管理器,用于管理设备驱动;数据池,用来缓存数据的数据结构,需要在一处写,多处读取或者多处写,多处读取;实现要点:全局只有一个实例:static 特性,同时禁止用户自己...
2020-03-16 15:37:34 157
原创 Git的基本操作(本地)
努力する人は希望を语り、怠ける人は不満を语る。——いのうえ やすしGit的基本命令应用git initgit init [-q | --quiet] [--bare] [--template=<template_directory>] [--separate-git-dir <git dir>] [--shared[=<permissions&...
2020-03-16 15:35:15 290
原创 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 4226
原创 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 3476
js 数组的find和findIndex
Array.find()array.find(function(currentValue, index, arr),thisValue) 参数 描述 function(currentValue, index,arr) 必需。数组每个元素需要执行的函数。函数参数: 参数 描述 current...
2020-03-09 18:58:31 2283
转载 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"><...
2020-03-07 16:28:53 234
原创 js的RegExp对象,正则向后引用
RegExp 静态属性长名短名说明input$_返回当前所作用的字符串,初始值为空字符串""index 当前模式匹配的开始位置,从 0 开始计数。初始值为 -1,每次成功匹配时,index 属性值都会随之改变lastIndex 当前模式匹配的最后一个字符的下一个字符位置,从 0 开始...
2020-03-07 14:00:09 281
原创 如何快速搭建网站
回忆一下以往自己是如何手工网站的使用html,css,js,vue进行前段的网站的布局设计网页内容和server的数据交互(ajax),这里还需要保留扩展性。使用go或者c++server,server中包含网页数据请求,和数据提交请求的处理等。使用nginx做一个反向代理。那么使用什么软件可以快速的搭建一个自己的网站呢?环境准备:下载一个server:nginx,apache,...
2020-03-07 13:50:38 236
原创 关于如何实现textarea接受Tab键输入
实现textarea接受Tab键的输入首先我们需要知道,在一般情况下网页上按Tab键是切换控件焦点的。在textarea里也是这样,那么当我们需要在文本框里输入Tab的时候,应该怎么办呢?首先我们想到直接看一下 textarea 标签是否有控制Tab的属性没得,好了,下一个。我的解决方案:我们可以通过textarea对象捕捉键盘事件,过滤Tab键,然后悄悄把他的处理方式从切换焦点改成插入...
2020-02-21 22:46:50 2008
原创 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 172
转载 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 197
转载 Nginx的架构浅析
一个设计良好的软件,他的架构必然是高效和优秀的,这对性能和维护都很重要。Nginx的进程结构主进程执行特权操作,如读取配置和绑定端口,还负责创建子进程(下面的三种类型)。缓存加载进程(cache loader process)在启动时运行,把基于磁盘的缓存(disk-based cache)加载到内存中,然后退出。对它的调度很谨慎,所以其资源需求很低。缓存管理进程(cac...
2020-01-06 16:01:15 236
原创 windows重叠IO和IOCP简介
产生重叠IO的原因:对于阻塞IO的读写操作都是需要阻塞等待IO完成的,大大的浪费用户的进程的时间片,降低了程序的性能。所以系统开个后门,悄悄地给你开个后门,开个线程去帮你请求IO,等到IO操作完成之后再通知你,你就可一再接着处理就好了,那么在IO完成之前你就可以放心的做其他的了。重叠IO的重要数据结构:typedef struct _WSAOVERLAPPED { DWORD In...
2020-01-05 23:49:15 411
原创 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 1059
原创 Nginx的rewrite操作
Rewrite的应用场景URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等SEO优化维护:后台维护、流量转发等调整用户浏览的URL,看起来规范为了让搜索引擎收录网站内容,让用户体验更好网站更换新域名后根据特殊的变量、目录、客户端信息进行跳转SyntaxSyntax: rewrite regex replacement [flag];Default: —Con...
2020-01-04 19:20:28 218
原创 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 282
转载 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 240
原创 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 222
原创 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 124
原创 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 371
原创 做一个简单的留言板
效果图:简单的说一说自己的思路:前端代码的编写还是挺简单的,随便写点就好了。其次是后端,后端使用golang编写,golang不需要自己设计httpserve所以简单的很。直接使用golang的内裤http比较重要的是前后端的数据通信。对于我的留言板index.html分成两部分:静态布局+留言的数据动态请求。而数据动态请求,我使用的是ajax的异步请求留言数据。请求数据,设计前后端的...
2019-12-17 16:03:25 837
原创 textarea 中的换行、空格; 如何处理
问题情景:在我做一个博客系统,使用textarea提交数据到后台的时候,从brower提交到后台的过程中的时候,数据经过url编码。(当然也可以在B/S两端建立编码通道,默认是url编码),当默认url编码的时候,数据从textarea的value获取数据,value经过post或者get或者put来提交数据,然后这个过程默认使用的url编码,然而在服务端recv数据后是否会经过url解码呢?我...
2019-12-16 22:42:41 1046
原创 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 666
原创 使用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 504
原创 关于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 253
转载 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 407
原创 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 1127
转载 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 278
原创 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 357
原创 关于线程池的设计和使用场景·浅析
线程池的设计对于线程池可以有很对中设计,最常见的有master-slave模型,和通用线程池。1. master-slave:一个主控线程和多个工作线程,线程池的调度由master线程来执行。2. 通用线程池,如常见的半同步半异步线程池。线程池中的所有线程的地位平等,线程池的所有线程平等竞争池中的任务(variable_condition)3. 设计线程池的原因:线程池的目的在于更大效率的...
2019-10-28 16:46:53 188
转载 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 191
原创 关于c++基类,继承类,子对象的构造和析构顺序
构造和初始化的区别两者从意义上而言:1)初始化:一个变量或者一个对象在产生的时候就赋予一个值,属于伴随性质2)赋值:在一个变量或者一个对象在产生之后的任意时刻赋予一个值,属于任意性质构造函数:1)函数的名字与类的名字相同2)在创建一个对象时,构造函数就自动执行,但是在声明一个类的指针对象时,构造函数不会被调用,当new一个空间的时候,构造函数才会被调用3)构造函数一般用来对数...
2019-10-17 21:59:52 1285
testmod.7z
2020-07-14
multiple io-select
2018-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人