w1100n
This site is best viewed in Google Chrome
wiloon, 6/14/2019 13:29

#go语言的模板,text/template包 ##定义 模板就是将一组文本嵌入另一组文本里 ##传入string–最简单的替换 package main import ( “os” “text/template” ) func main() { name := “waynehu” tmpl, err := template.New(“test”).Parse(“hello, {{.}}”) //建立一个模板,内容是”hello, {{.}}” if err != nil { panic(err) } err = tmpl.Execute(os.Stdout, name) //将string与模板合成,变量name的内容会替换掉{{.}} //合成结果放到os.Stdout里 if err != … Continue reading

wiloon, 6/11/2019 13:17

GOGC GOGC是Go运行时支持的最老的环境变量之一。它甚至比GOROOT还老 GOGC 用于控制GC的处发频率, 其值默认为100 意为直到自上次垃圾回收后heap size已经增长了100%时GC才触发运行。即是GOGC=100意味着live heap size 每增长一倍,GC触发运行一次。 如设定GOGC=200, 则live heap size 自上次垃圾回收后,增长2倍时,GC触发运行, 总之,其值越大则GC触发运行频率越低, 反之则越高, 如果GOGC=off 则关闭GC. 虽然go 1.5引入了低延迟的GC, 但是GOGC对GC运行频率的影响不变, 仍然是其值大于100,则越大GC运行频率越高, 反之则越低。 每次GC必须完成如下循环,旧的完成了再开启新的。 sweep termination, mark, mark termination, and sweep https://studygolang.com/articles/6346 https://ieevee.com/assets/2018-01-28-gogc.html http://legendtkl.com/2017/04/28/golang-gc/

wiloon, 6/11/2019 12:19

内存屏障 内存屏障(英语:Memory barrier),也称内存栅栏,内存栅障,屏障指令等,是一类同步屏障指令,是CPU或编译器在对内存随机访问的操作中的一个同步点,使得此点之前的所有读写操作都执行后才可以开始执行此点之后的操作。 https://ieevee.com/assets/2018-01-28-gogc.html

wiloon, 6/10/2019 15:52

一般文件比较小的话可以将文件全部读入内存中,然后转换成string再按行分割一下 func GetFileContentAsStringLines(filePath string) ([]string, error) { logger.Infof(“get file content as lines: %v”, filePath) result := []string{} b, err := ioutil.ReadFile(filePath) if err != nil { logger.Errorf(“read file: %v error: %v”, filePath, err) return result, err } s := string(b) … Continue reading

wiloon, 6/9/2019 23:35

ng new project0 ng add @angular/pwa –project project0 ng build –prod cd project0 && http-server -p 8080 -c-1 dist/project0/ curl http://127.0.0.1:8080/ngsw/state chrome://serviceworker-internals/ ng new my-app –routing

wiloon, 6/9/2019 17:57

鲤鱼 https://www.aidiao.com/baike/8567.html 大黄花鱼,黄鱼 https://www.xiantao.com/yu/1454.html

wiloon, 6/9/2019 11:42

豆角 – 自花传粉 黄瓜 黄瓜和甜瓜采用对花传粉方法,在雌雄花同时开放的上午,将雄花摘下,除去花瓣,然后用雄蕊均匀涂抹雌花雌蕊柱头就可以了!雌雄花非常容易看,带小瓜的是雌花,不带小瓜的是雄花。西红柿和辣椒其实在花期,轻摇植株就能传粉,它们都是两性花;辣椒还可以用手均匀涂抹花蕊部分来传粉,西红柿可以采用弹花蕊的方法进行。只是,西红柿花后能否结果,有温度条件,若温度过高,持续在30度以上,则花后很难结果!

wiloon, 6/8/2019 16:38

yarn add @angular/material @angular/cdk @angular/animations https://material.angular.io/ https://material.angular.cn/guides https://github.com/stbui/angular-material-app/tree/master/src/app https://material.io/ https://material.angular.io/components/categories

wiloon, 6/8/2019 11:18

server{ listen 80; server_name localhost; root /var/www; index index.htm; }

wiloon, 6/7/2019 12:00

查询》基本业务查询》电子发票 https://iservice.10010.com/e4/transact/einvoiceNew/einvoiceIndex.html

wiloon, 6/6/2019 16:06

chromium \ –user-data-dir=/path/to/cache/dir \ –incognito \ –no-first-run \ –process-per-site \ –app=’https://baidu.com’

wiloon, 6/6/2019 12:42

Intel® Compute Stick STCK1A32WFC Intel Atom® Processor Z3735F (2M Cache, up to 1.83 GHz) Intel® Compute Stick STK1A32SC Intel Atom® x5-Z8300 Processor (2M Cache, up to 1.84 GHz) Intel® Compute Stick STK1AW32SC Intel Atom® x5-Z8300 Processor (2M Cache, up to … Continue reading

wiloon, 6/2/2019 23:57

https://stackoverflow.com/questions/53482324/how-can-i-use-javascript-code-in-angular-7

wiloon, 6/2/2019 22:51

ng build –aot “` server { listen 8081; server_name localhost; location / { root C:/website/angular/ng-prime/dist; // 这是angular生成的dist文件夹存放的位置 index index.html; try_files $uri $uri/ /index.html; // 注意此句,一定要加上。否则配置的子路由等无法使用 } <pre><code> error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } … Continue reading

wiloon, 6/2/2019 22:19

chrome://flags/#enable-experimental-web-platform-features Note: Like most other powerful web APIs, the Wake Lock API is only available when served over HTTPS. let wakeLock; let wakeLockRequest; async function toggleWakeLock() { if (‘getWakeLock’ in navigator) { console.log(”, ‘navigator.getWakeLock is supported’); try { wakeLock = … Continue reading

wiloon, 5/31/2019 12:54

https://github.com/ksky521/nodeppt https://github.com/hakimel/reveal.js/

wiloon, 5/30/2019 18:31

Alibaba开源的Java诊断工具 https://alibaba.github.io/arthas/

wiloon, 5/30/2019 9:51

https://my.oschina.net/shawnplaying/blog/1518144 安装Apache的时候,为什么要安装apr和apr-util呢 要测APR给tomcat带来的好处最好的方法是在慢速网络上(模拟Internet),将Tomcat线程数开到300以上的水平,然后模拟一大堆并发请求。如果不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待。但是配上APR之后,并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,新的请求会毫无阻塞的进来。 APR对于Tomcat最大的作用就是socket调度。 你在局域网环境测,就算是400个并发,也是一瞬间就处理/传输完毕,但是在真实的Internet环境下,页面处理时间只占0.1%都不到,绝大部分时间都用来页面传输。如果不用APR,一个线程同一时间只能处理一个用户,势必会造成阻塞。所以生产环境下用apr是非常必要的。 注:APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。 在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用APR而已。 一般情况下,APR开发包很容易理解为仅仅是一个开发包,不过事实上并不是。目前,完整的APR实际上包含了三个开发包:apr、apr-util以及apr-iconv,每一个开发包分别独立开发,并拥有自己的版本。

wiloon, 5/28/2019 8:18

敏捷开发点数估算 为什么用点数比用小时和天数更好? 故事点数是通过对比以前开发过的大小相似的用户故事得到的。这种对比相对大小的估算方式,在有大量样本数据的情况下,比独立估算每个用户故事要准确得多。 举个例子,我们可以很容易的说出,从大连到长春的距离是从大连到沈阳的两倍,而不是大连到长春的距离是676.1千米, 大连到沈阳的距离是378.9千米。(数据来自百度地图) 这样,团队不用花太多的时间来估算每个用户故事所要花费的准确时间和天数,就可以快速完成所有用户故事的估算。 不同的开发团队,是否可以使用统一的故事点数基准? 不同的开发团队,对于故事点数有不同的度量基准,取决于各个团队所要估计的用户故事。除非他们是在开发相同的系统,否则团队A开发1个点的工作量和团队B在不同系统中开发1个点的工作量是不同的。这种差异将会影响团队的迭代交付速率。 如果有一个很大的项目,需要分成多个小团队来共同开发,人们很可能想去尝试定义一种点数标准应用到所有小团队。这有悖于估算用户故事点数的目的,每个小团队都会有自己的主观衡量标准。 我们如何估算试探性研究(Spike)的用户故事? 为了弄明白如何实现一个特定的功能,或者验证某种概念,我们需要试探性研究故事(Spike)。由于很难知道到底总共需要多少工作量,通常我们要提前在团队中达成共识,对这种研究做出一定时间限制。这些用户故事可是通过观察交付速率趋势图,转换成大致的点数。 例如,如果需要计划一周的时间来完成一个试探性研究,而交付速率是16个点(迭代周期为两周),那么就可以估算这个故事为8个点。 用户点数是否和业务价值有关? 用户故事点数是对实现用户故事所需要工作量的团队内部度量。无论如何,与用户故事所能提供多少业务价值没有关系。 很可能在同一个系统中,1个点数的用户故事会比4个点的故事有更大的业务价值。业务价值最好是留给产品经理和相关的业务决策者来衡量。 在介绍敏捷估算的方法之前,我们先来回顾一下基于人天的传统估算的思路。传统的工作量估算是估计一个绝对值,单位是人天或者人时。 比如: David喝完一小杯热咖啡花费1.2个小时(工作量 1.2人时) David喝完一大杯热咖啡花费2.4个小时(工作量 2.4人时) 由于人的能力是有差异的,所以David的工作量对于Tom来讲可能就不适用,Tom喝完一小杯热咖啡可能需要1.5小时。这样一来,工作量、参与人以及完成这些工作的时间周期就是强相关的,因为强相关会带来如下挑战: 做计划时必须把人和周期关联到具体的任务上,会让计划很复杂。 团队成员的分工发生变化时对计划的影响比较大,管理和维护计划成本高。(这是甘特图的价值所在 ) 由于第二条的原因,这种工作量的估算方式不利于团队协作。 接下来,我们来看看敏捷估算的思路。 在探讨具体的思路之前,我们先思考一下做估算的目的什么,通常有两个目的: 核算成本和周期,我们要了解这这个项目或产品的投资回报。 做计划,根据项目的需要,我们要知道什么时间点应该交付什么内容才可以满足市场、用户或客户的期望。 做敏捷估算时,请先忘掉人天或人时,敏捷估算关注的是工作量的规模(大小),而不关心谁来做,不关心花多长时间做完。它的规模计量单位使用的是一个抽象的单位——故事点,故事点是一个相对值,是一个相对倍数,和人天,人时没有关系,它和公里、吨、摄氏度类似,只是一个计量单位而已。我们可以定义喝一小杯热咖啡花费的工作量为参考基准,是 1 个故事点。中杯看起来是小杯的2倍大,所以我们可以估算喝一中杯热咖啡花费的工作量是小杯的两倍, 是 2个故事点,大杯是小杯的三倍,所以工作量是3个故事点。 敏捷估算的步骤: 找一个参考基准,作为一个故事点。比如:把开发一个简单的查询页面工作量作为基准,定义为一个故事点。 拿其它的故事和基准进行比较,估算他们之间的倍数,从而得到其它故事的故事点数。比如:查看个人基本信息这个故事和开发一个简单的查询页面的规模差不多大,所以它也是1个点,录入个人基本资料的这个故事要复杂一些,大概时3个点。 3 . … Continue reading

next page
辽ICP备14012896