项目需求: 将map中的内容部分填充到表格 没有数据的填写符号” - ” Go 的html/template包对HTML模板提供了丰富的模板语言。主要用于Web应用程序,在客户端的浏览中以结构化的方式显示数据。 go提供的模板填充接口,支持各种所以结构。 当渲染模板时,要访问模板中的数据,最前的变量是通过{{. }} 来访问。其中花括号中的点(.) 称为管道和root。 模板使用语法: {{/* comment */}} 定义一个注释 {{.Title}} 在嵌套元素中显示Title对应的字段 {{.}} 显示根元素 {{if .Title}} {{else}} {{end}} if else条件选择 {{range .Title}} {{.}} {{end}} 在Title上做循环显示每个元素 接口调用代码: func getResultHtml(mapInfo map[string]string) string { buf := new(bytes. 继续阅读 >>


卢晓丹 18/08/11 21:27:57
题目1 : 单词搜索 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例: board = [ [‘A’,’B’,’C’,’E’], [‘S’,’F’,’C’,’S’], [‘A’,’D’,’E’,’E’] ] 给定 word = “ABCCED”, 返回 true. 给定 word = “SEE”, 返回 true. 给定 word = “ABCB”, 返回 false. 解题思路:简单DFS,注意边界条件的判断和点的回溯(index和visted) #include <iostream> #include <vector> #include <string> using namespace std; class Solution { public: strin 继续阅读 >>


刘生玺 18/08/11 09:54:45
生产者消费者模型 生产者消费者模型 一、 生产者消费者问题 二、 问题分析 三、 伪代码实现 四、代码实现(C++) 五、 互斥锁与条件变量的使用比较 一、 生产者消费者问题 生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了共享固定大小缓冲区的两个线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。 . 要解决该问题,就必须让生产者在缓冲区满时休眠(要么干脆就放弃数据),等到下次消费者消耗缓冲区中的数据的时候,生产者才能被唤醒,开始往缓冲区添加数据。同样,也可以让消费者在缓冲区空时进入休眠,等 继续阅读 >>


王良 18/08/11 00:43:20
特点 Linux 内核于内核2.6.25提供了一种创建定时器的 API, 那就是 Linux 特有的 timerfd API, 并且该定时器可以从文件描述符中读取其创建的定时器到期通知. 这也意味着, 可以将文件描述符通过多路复用监听并读取, 而其他的定时器想要将一个 (或多个) 定时器与一组文件描述符放在一起同时监听可不是一件容易的事. 函数接口 timerfd 系列 API 有三个系统调用 : 第一个系统调用, 该系统调用创建一个新的定时器对象 : #include <sys/timerfd.h> int timerfd_create(int clockid, int flags); //成功返回一个指代该对象的文件描述符, 失败返回-1及errno 第一个参数 clockid 可以设置为 CLOCK_REALTIME 和 CLOCK_MONOTONIC CLOCK_REALTIME 可设定的系统级实时时钟. 相对时间,从1970. 继续阅读 >>


吕子健 18/08/10 22:26:11
July 29, 2018 Dispaly the new row entry !!! During GUADEC, my mentors told me that I needed to complete the project before ui freeze. It took only two weeks to calculate the time. So I dare not stay too much. I immediately set off to return to China and continue my project. After I returned to China, I started my daily work. We discussed during GUADEC. Starting from 7.13, there will be a shorter meeting at 9:00 pm Beijing time. I need to report to t 继续阅读 >>


刘嘉辉 18/08/10 20:03:04
FastCGI 协议分析 FastCGI(快速通用网关接口)是一种让交互程序与Web服务器通信的协议,可以算是CGI的增强版本。FastCGI减少了网页服务器与CGI程序之间的开销,使得服务器可以同时处理更多的网页请求。目前很多常见的网页服务器都已经支持了该种协议。 通信格式 Web服务器与FastCGI程序之间通过流式套接字来通信,既包含Unix域套接字(Unix Domain Socket),也可以使用最常见的TCP/IP协议族套接字。FastCGI程序提供的内容与普通的CGI程序相似。由于与CGI程序具有环境变量、标准输入和标准输出等众多获取信息的渠道不同,FastCGI程序仅仅通过Socket获取信息。 消息头 FastCGI规定,任意一个FastCGI数据包必须以一个8字节的消息头开始: struct FCGI_Header { unsigned char version; unsigned char type; unsigned char requestIdB 继续阅读 >>


娄泽豪 18/08/10 16:43:56
一、 对象已死嘛 引用计数法 给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被利用的。 引用计数法的实现简单,判定效率也高,但是它很难解决对象间相互循环引用的问题。 比如对象A和B都有字段instance,赋值令A.instance = B且B.instance = A,除此之外,这两个对象再无任何引用。实际上这两个对象已经不可能再被访问,但是它们因为互相引用着对方,导致它们的引用计数都不为0,于是引用计数法无法通知GC收集器回收它们。 可达性分析算法 通过一系列称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连时,则表明此对象是不可用的。 可作为GC Roots的对象包括下面几种: 虚拟机栈(栈帧中的本地变量表)中引用的对象 方法区中类静态属性、常量引用的对象 本地方法栈中JNI引用的对象 引用 继续阅读 >>


李猛 18/08/10 15:04:26
转自:https://blog.csdn.net/zyj1286076714/article/details/50375935 MATLAB中自带的cftool拟合工具箱不能将多条曲线同时画在同一副图中,而常规的plot()函数又不能拟合平滑直线,接下来总结一种可以利用cftool导出的代码,在一张图中拟合多条平滑曲线。 首先输入所要拟合的数据,如x, y, x1, y1, x2, y2等等。 之后打开cftool工具箱,使用数据拟合曲线,在拟合方式一栏选择Smoothing Spline。可以得到图像。 之后在文件菜单栏中点击Generate Code,之后将在工作空间里看到导出的m文件。 function [fitresult, gof] = createFit(x, y)%CREATEFIT(X,Y)% Create a fit.%% Data for ‘untitled fit 1’ fit:% 继续阅读 >>


殷健翔 18/08/09 22:16:13
介绍 时间轮顾名思义,就是将不同时间的定时任务放在一个轮子上,既然是轮子,肯定是会转动的,时间轮内指向槽的指针,以恒定的速度顺时针转动,每转动一步就指向下一个槽。,一次转动称为一次滴答(tick)。一个滴答的时间称为时间轮的槽间隔si,也就是心搏时间。一个时间轮若有N个槽,在它运转一周的时间是N * si。同一个槽上的定时器它们的定时时间相差N * si的整数倍。 对于时间轮来说,要提高精度,就要使si值足够小;要提高执行效率,则要求N值足够大。如图所示: 由图可知定时器在时间轮的槽上是以链表的形式存储的(双向链表),并且相同一条链(也就是同一个槽)上的定时器:它们的定时时间相差N*si的整数倍。时间轮就是利用这个关系将定时器散列到不同的链中。在插入槽中的时候采用的是头插的方法,这样可以减少不必要的遍历时间。但是正是因为一股脑的头插(无序),也造成了在我们每次转动的时候都不得不去遍历一遍链表。 对于时间轮来说,添加一个定时器的时间复杂度为O(1),删除一个定时器的时间复杂度也是O(1),执行一 继续阅读 >>


李佳灏 18/08/09 16:49:07
Really Get Correct log entries from journal! && GUADEC July, 10, 2018 The most memorable thing about this period is to participate in GUADEC–2018. Since there will be a blog dedicated to what you have seen and heard during GUADEC, I won’t go into details here. Entering the theme, it is obvious that after meeting with my two mentors, some of my problems have been solved. About reading new log messages and how to set up a correct cursor system 继续阅读 >>


刘嘉辉 18/08/08 17:48:25