Posts
Ligengxin's Blog
Cancel

使用Dockerfile自定义镜像

  最近准备用Node和TS整点玩具练下手,俗话说工欲善其事必先利其器.所以首先就是整开发环境,然后再搭建CI CD.那么为了做到环境统一,因为觉得Docker比kubernates出来的早应该有更多资源可以参考.所以选择了用Docker.于是踩坑的一天又开始了.下面记录下在构建自己的ubuntu镜像中遇到的问题.附录有构建镜像的实际代码.也可以访问我的github仓库获取最新的代码. 1...

React diff算法分析和理解

  距离上次研究 React 工作原理以及有一段时间了,最近又在忙着看小程序方面的东西.忙里偷闲来继续回顾下以前看的 React diff 算法方面的知识. 1. 传统的 diff 算法   传统的 diff 算法的通过循环递归来比对节点的,这里时间复杂度是 O(n^2) 于此同时还需要对 diff 的节点做修改的操作这里的话是 O(n)的时间复杂度,结合到一起就变成了 O(n^3)的时...

使用SQL Server中处理JSON数据

  这次的任务是需要计算Azure中每个API访问的数量以及访问的方式,为了避免数据库数据冗余,所以就将source这个字段在kusto的查询中处理成了一个JSON.然后在存入到了数据库中.具体需求如下图 1.具体代码 我们首先纵向展开上图的原始数据,可以得到下图的数据 SELECT t1.apiPath, t1.operation, t1.[source], t1.[...

React机制分析总结

1.Virtual DOM   简单说下我对于 Virtual DOM的理解.顾名思义就是虚拟DOM,其实就是在内存中表示的DOM树.那如何在内存中表示DOM树呢,很简单使用一个JSON对象,通过不断在children属性中加入一个个类似的JSON对象,这样就能在内存构建出一棵虚拟的DOM树. { tagName: 'div', // 标签名 properties: { // 属性...

forEach中使用async/await

1.发现的问题   今天在写Azure Function的时候发现了一个问题,就是为了方便定位问题,于是给下面这段代码添加了log信息 // 大致是需要请求一个接口获取数据然后在把结果发送给另外一个接口 let count = 0; const result = await fetchDataFromDataBase(); result.forEach(async (item) =>...

使用Ant design Form组件获取Upload组件的fileList信息

  简述下我的业务场景,一个Modal组件中使用了Form组件,而这个Form组件又包含了一些别的组件,然后在点击Modal的确认按钮把Form表单的数据全部发送给Api. 不看过程直接看代码的 1.发现的问题   在完成一切后,我发现点击确认按钮后并不能获取到Form组件下面Upload组件的信息,当时就想应该这个组件Api是支持的,然后看了一遍Form组件和Upload组件的发现了一...

前端使用Ant design Upload组件上传文件到阿里云OSS的坑

  业务需求需要上传文件,那就想办法整呗,一顿操作过后选择了阿里云OSS. 1.发现的问题   跟着阿里云文档一步步操作过来的,但是还是出现了一个403错误 <Error> <Code>SignatureDoesNotMatch</Code> <Message>The request signature we calculated ...

我的2020年终总结

1.前言   今年我觉得最成功的一个决定就是4月份跳槽来了上海,跳槽的原因可以看这篇blog.因为来上海后感觉自己才真正踏入了程序世界.这份新工作让我见识了不少新东西,让去年刚毕业的,认为程序的世界只有java web的我的视野一下子扩宽了好多.当然,也怪以前自己太菜,获取信息的姿势不对,所以导致在网上找的资源大部分都是关于java web相关的. 2. 学习方面   以前在学校的...

Azure 踩坑合集

  记录在使用Azure过程中遇到的的一系列问题和解决办法. 1.Azure Function Invalid ELF header from build/Release/nodegit.node 错误信息: ‘Error: /home/site/wwwroot/node_modules/nodegit/build/Release/nodegit.node: invalid...

深入React技术栈第2章总结

  深入React技术栈第2章总结 1.React 的事件机制   React有自己的事件机制,所以你在React使用事件函数比如在onClick的时候,你会发现他的写法是驼峰式命名,而原生的事件直接就是onclick.而且在常用的事件,比如onclick的回调函数中,获取的event并不是一个原生事件,打印出来是一个SyntheticEvent对象(proto: SyntheticEve...