1

理解 KMP 算法

KMP(The Knuth Morris Pratt Algorithm)算法用于字符串匹配,从字符串中找出给定的子字符串。但它并不是很好理解和掌握。而理解它概念中的部分匹配表,是理解 KMP 算法的关键。 这里的讨论绕开其背后晦涩难懂的逻辑,着重从其运用上来理解它。 字符串查找 比如从字符串 ab ...

刘哇勇 发布于 2019-04-23 23:46 评论(0)阅读(54)
6

互联网公司的架构设计要怎么落地?

你做架构设计了吗?你认为要不要做架构设计?你的公司有没有做架构设计?互联网公司的架构设计又要怎么做?我不知道你是怎么想的,在我得到的答复中,大部分人认为要做架构设计,但自己却很少做,自己经历的公司也少有做架构设计。这里是矛盾的,难道大部分人和公司都犯错了吗?应该不是这样。专职的架构师越来越少,架构部 ...

arch-system 发布于 2019-04-23 15:21 评论(1)阅读(520)
32

ASP.NET Core 身份验证(一)

前言 这篇文章我想带领大家了解一下 ASP.NET Core 中如何进行的身份验证,在开始之前强烈建议还没看过我写的 Identity 系列文章的同学先看一下。 Identity 入门系列文章: "Identity 入门一" "Identity 入门二" "Identity 入门三" 名词解释 做 ...

Savorboard 发布于 2019-04-23 09:09 评论(19)阅读(1543)
3

Golang 入门 : 映射(map)

映射是一种数据结构,用于存储一系列无序的键值对,它基于键来存储值。映射的特点是能够基于键快速检索数据。键就像是数组的索引一样,指向与键关联的值。与 C++、Java 等编程语言不同,在 Golang 中使用映射不需要引入任何库。因此 Golang 的映射使用起来更加方便。我们可以通过下图简要的理解一 ...

sparkdev 发布于 2019-04-23 08:41 评论(0)阅读(443)
3

BeetleX快速构建多平台的TCP和SSL TCP应用

对于普通开发者而言编写TCP应用通讯是一件相对复杂的工作,毕竟需要一系列的bytes操作;如果再针对SSL的安全性处理相信会把很多普通开发者拒之门外.为了简化这一问题BeetleX引入了Stream操作模式并提供PipiStream操作对象让开发者在TCP流操作上变得非常简便;由于PipiStrea ...

smark 发布于 2019-04-22 11:00 评论(0)阅读(219)
1

[译]背景:着色的物理和数学(2)

本文是翻译的Naty Hoffman的《Background: Physics and Math of Shading》。我希望通过翻译此文,彻底理解PBR的原理。某些我实在不知道如何恰当翻译的地方,就把英文原文也放上了。 ...

BIT祝威 发布于 2019-04-20 23:55 评论(0)阅读(66)
1

React 虚拟 DOM 的差异检测机制

React 使用虚拟 DOM 将计算好之后的更新发送到真实的 DOM 树上,减少了频繁操作真实 DOM 的时间消耗,但将成本转移到了 JavaScript 中,因为要计算新旧 DOM 树的差异嘛。所以这个计算差异的算法是否高效,就很关键了。React 中其计算差异的过程叫 Reconciliatio ...

刘哇勇 发布于 2019-04-20 21:34 评论(0)阅读(116)
2

[译]背景:着色的物理和数学(1)

本文是翻译的Naty Hoffman的《Background: Physics and Math of Shading》。我希望通过翻译此文,彻底理解PBR的原理。某些我实在不知道如何恰当翻译的地方,就把英文原文也放上了。原文太长,因此分几部分依次放上来。 ...

BIT祝威 发布于 2019-04-19 17:26 评论(0)阅读(112)
3

Winform/WPF中内嵌BeetleX的HTTP服务

在新版本的BeetleX.FastHttpApi加入了对netstandard2.0支持,如果程序基于.NetFramework4.6.1来构建WinForm或WPF桌面程序的情况下可以直接把BeetleX的HTTP嵌入到程序中,轻易就能实现一个本地化的HTTP服务并提供静态资源和WebAPI的调用 ...

smark 发布于 2019-04-19 10:05 评论(5)阅读(348)
0

理解 Node.js 的 Event loop

问题 考察如下代码,脑回路中运行并输出结果: console.log("1"); setTimeout(function setTimeout1() { console.log("2"); process.nextTick(function nextTick1() { console.log("3" ...

刘哇勇 发布于 2019-04-18 23:33 评论(1)阅读(157)
14

都 9012了,该选择 Angular、React,还是Vue?

尽管 Web开发的典型应用场景除了将服务器用作平台、浏览器用作客户端之外,几乎很少活跃于其他业务领域,但不可否认JavaScript 语言和框架的使用已经成为了主流。Angular、React 和 Vue,作为 JavaScript 的三大框架已逐步发展成熟,三者的差异性也越发明显,假设JavaSc... ...

葡萄城技术团队 发布于 2019-04-18 16:54 评论(13)阅读(3756)
0

命令行中的 vi 模式

命令行中修改已经输入的命令比较麻烦,如果你不知道一些快捷键的话,只能使用方向键一个一个字符地移动到目标位置进行修改,对于比较复杂且过长的命令来说,效率不高。 以下信息来自 bash 的 man 页面: $ man bash ... Commands for Moving beginning of l ...

刘哇勇 发布于 2019-04-17 23:21 评论(0)阅读(167)
3

Golang 入门 : 切片(slice)

切片(slice)是 Golang 中一种比较特殊的数据结构,这种数据结构更便于使用和管理数据集合。切片是围绕动态数组的概念构建的,可以按需自动增长和缩小。切片的动态增长是通过内置函数 append() 来实现的,这个函数可以快速且高效地增长切片,也可以通过对切片再次切割,缩小一个切片的大小。因为切 ...

sparkdev 发布于 2019-04-17 07:52 评论(1)阅读(1976)
0

Vue 之白话理解 getter/setter

当你把一个普通的 JavaScript 对象传给 Vue 实例的 选项,Vue 将遍历此对象所有的属性,并使用 "Object.defineProperty" 把这些属性全部转为 "getter/setter" 。Object.defineProperty 是 ES5 中一个无法 shim 的特性, ...

子迟 发布于 2019-04-16 07:54 评论(0)阅读(245)
0

React + TypeScript:元素引用的传递

React 中需要操作元素时,可通过 findDOMNode() 或通过 createRef() 创建对元素的引用来实现。前者官方不推荐,所以这里讨论后者及其与 TypeScript 结合时如何工作。 React 中的元素引用 正常的组件中,可通过创建对元素的引用来获取到某元素然后进行相应操作。比如 ...

刘哇勇 发布于 2019-04-15 23:32 评论(0)阅读(114)
0

迷人的算法-排列组合

需求 最近工作中碰到一个需求:我们的数据表有多个维度,任意多个维度组合后进行 group by 可能会产生一些”奇妙”的反应,由于不确定怎么组合,就需要将所有的组合都列出来进行尝试。 抽象一下就是从一个集合中取出任意元素,形成唯一的组合。如 [a,b,c] 可组合为 [a]、[b]、[c]、[ab] ...

枕边书 发布于 2019-04-15 19:02 评论(0)阅读(160)
0

Python 学习 第十六篇:networkx

networkx是Python的一个包,用于构建和操作复杂的图结构,提供分析图的算法。图是由顶点、边和可选的属性构成的数据结构,顶点表示数据,边是由两个顶点唯一确定的,表示两个顶点之间的关系。顶点和边也可以拥有更多的属性,以存储更多的信息。 对于networkx创建的无向图,允许一条边的两个顶点是相 ...

悦光阴 发布于 2019-04-15 10:37 评论(0)阅读(199)
2

Golang 入门 : 数组

数组是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素(element),这种类型可以是任意的原始类型,比如 int、string 等,也可以是用户自定义的类型。一个数组包含的元素个数被称为数组的长度。在 Golang 中数组是一个长度固定的数据类型,数组的长度是类型的一部分,也就是说 ...

sparkdev 发布于 2019-04-15 09:17 评论(1)阅读(1176)
6

在 Angular 8 中,我们可以期待些什么

Angular 作为一款优秀的前端框架,自诞生之日起,就致力于面向前端开发者提供一整套全功能解决方案。与其他流行框架所追求的理念不同,Angular并非作为一款可以并入 Web 应用程序的轻量级框架而生,而是设计为:包含了一个完整的工作流,用于从项目创建开始,持续地维护并更新你的应用程序。 ...

葡萄城技术团队 发布于 2019-04-15 09:12 评论(3)阅读(433)
39

基于Jenkins Pipeline的ASP.NET Core持续集成实践

最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署效率,因此这里总结一下。Jenkins 是一款流行的开源持续集成(CI)与持续部署(CD)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。流水线Pipeline是一... ...

Edison Chou 发布于 2019-04-14 23:19 评论(15)阅读(2348)