数据结构
文章平均质量分 92
数据结构衡量的是空间效率,算法衡量的是时间效率,这个专栏研究常见的数据结构和它们的空间复杂度。
xosg
这个作者很懒,什么都没留下…
展开
-
Web Component 单文件组件
实现单文件 Web 组件可能每个了解Vue.js 框架的人也听说过它的单文件组件。这个超级简单的想法允许 Web 开发人员在一个文件中定义组件的整个代码。这是一个非常有用的解决方案,以至于已经出现了将这种机制包含在浏览器中的倡议。然而,它似乎已经死了,不幸的是,自 2017 年 8 月以来没有取得任何进展。 尽管如此,研究这个主题并尝试使用现有技术使单文件组件在浏览器中工作是一个有趣的实验。单文件组件了解渐进增强术语的Web 开发人员也知道“层分离”的口头禅。对于组件,没有任何变化。事实...原创 2021-12-19 15:59:49 · 522 阅读 · 0 评论 -
【polyfill】Promise.allSettled
最新的EcmaScript标准推出了Promise.allSettled这个标准API方法,弥补了Promise.all不适应的一些场景。和all一样,allSettled也是若干个异步promise任务并发执行,不同的是,allSettled不会因为某个promise失败而导致所有promise停止运行(这是all方法的痛点)。allSettled会等到所有promise独立地运行结束,无论其结果是resolved还是rejected。原创 2020-07-28 11:19:23 · 2282 阅读 · 2 评论 -
KMP算法完整教程!!
KMP算法完整教程全称: Knuth_Morris_PrattAlgorithm(KMP算法)类型: 高级检索算法功能: 字符串匹配查找提出者:原创 2017-05-04 10:28:40 · 650 阅读 · 0 评论 -
最小生成树的两大解法:Prim和Kruskal【完美教程】
2020年6月12日:本文是N多年前在Microsoft Word(还是iWork的pages我忘了)上写的,后来懒得转成HTML就以图片的形式发布到新浪博客,3年前搬家到CSDN后图片失效了,最近考古自己的老文章发现了这篇,朦胧印象中当时写的还挺认真的,虽然现在已经看不懂了,但还是把他重置出来纪念一下。...原创 2017-05-04 10:16:00 · 548 阅读 · 0 评论 -
异步认证与同步认证的分离史
这里不谈技术,只谈思想自由凭证取代浏览器Cookie浏览器cookie是上世纪90年代用于在客户端和服务器间保持短连接的会话机制,但在本世纪的第18年,cookie退出了历史舞台,不信你看现在的http请求方法fetch默认都不带cookie了,如下图:这里的cookie指的是浏览器自带的cookie机制,是一个狭义的概念。浏览器cookie被淘汰了,取而代之的是自定义会...原创 2020-01-01 16:26:24 · 1329 阅读 · 1 评论 -
介绍下我的腾讯云+社区专栏
我在腾讯云的开发者社区"云+社区"(cloud.tencent.com)开放了博客专栏, 叫WebHub, 地址如下:https://cloud.tencent.com/developer/column/72646上面备份了一些CSDN的精选文章, 以及一些写的很棒的转载文章, 主题也是围绕整个软件行业.可喜的是, 这个专栏是个多人博客, 只要你有腾讯账号都欢迎加入到我的专栏里...原创 2019-02-20 21:58:50 · 1076 阅读 · 0 评论 -
JSON Schema了解一下?
如果说typescript是JS with types,那json schema就是json with types↑↑ 不是很理解这个logo(⊙﹏⊙)为啥会出现json schema?json schema也是理科生搞出来的一种标准,因为我们程序员没工夫搞这些标准,就都甩给计算机科学家来设计了,如果不好用的话不就可以甩锅了?作为工科生的我们,直接拿来即用,不用考虑信息熵,数据压缩...原创 2019-03-20 23:30:33 · 3593 阅读 · 0 评论 -
【随笔】如何向传统企业推荐极简的UI
这里不谈技术,只谈思想关于我的毕业设计。。。这篇文章目的很简单,就是想把之前零零碎碎的东西找个地方记下来,主要是做个记录。如果恰巧能帮到你那是我的荣幸。经过若干小时的跪舔,导师终于同意将原来的毕设主题---“移动端自动化测试????”’,改成做一个web app,正好符合我的技术栈,而且可喜可贺的是我可以将之前给公司做的管理系统CompetenceX照搬过来,毕业基本没压力了,...原创 2019-04-03 18:42:33 · 1634 阅读 · 3 评论 -
深刻理解Vue中的组件 (为了生存不得不学Vue)
转自:https://segmentfault.com/a/1190000010527064#articleHeader142018-07-19更新:更新作用域插槽的属性:scope->slot-scope; 添加了对象解构。2017-08-06 发布 读完需要 52 分钟今天看了下Vue官网上关于组件的教程,感觉内容还挺多,现在把组件中基本的知...转载 2019-05-29 19:54:07 · 462 阅读 · 0 评论 -
fetch一下需要await两次?【http玄学】
Response.json()为啥返回一个promise?自从基于promise的fetch api横空出世以后,AJAX也改名叫AJAJ了。处理http请求变得更简单了,但使用fetch的时候经常需要这样写:let response = await fetch(MY_URL);let json = await response.json();其中第一个awai...原创 2019-05-29 23:13:27 · 3096 阅读 · 3 评论 -
谈谈可视化编程 (转)
原文链接:https://mp.weixin.qq.com/s/G1zDUG5mCGOKQpYBk5Na2Q在计算中,可视化编程语言(VPL)允许用户通过图形化操作程序元素而不是通过文本指定来创建程序。但一直以来,除了在一些非常有限的领域外,可视化编程都未成功。对此,有人认为文本编程语言混淆了编程的本质,也有网友表示为支持编程而开发的工具并不重要,那么可视化编程的出路到底在哪里?对此...转载 2019-06-17 20:32:16 · 15405 阅读 · 2 评论 -
关于HTTP的几个个人预言
不得不说, http同html一样, 虽然拥有来自着上个世纪的资历和荣耀, 同时也携带着着来自上个世纪的历史包袱. 所以我们能看到, 从http/1.1到h2再到草稿中的http/3, http显然在革新的路上努力挣扎. 但依旧被历史包袱拖得速度缓慢.下面介绍些未来可能发生的变化, 和一些已经在草稿中的变化.状态码语义化http返回包中的状态码(Status Code)是一个用来表示h...原创 2019-06-28 09:46:01 · 4263 阅读 · 24 评论 -
谈谈软件行业普遍存在的`立即数`和`引用数`
事情是这样的, 最近没事玩玩前端的polyfill, 就是填充浏览器的标准库, 之前写了几篇, 比如<Fuck标准库系列:Object.prototype.filter>, <赶在标准化前构造一个RegExp.escape方法>, 然后昨天公司里做Vue前端路由的时候需要实现一个url参数的封装, 就封装了一个window.location.parameter.F...原创 2019-07-04 16:57:34 · 975 阅读 · 3 评论 -
"您与此网站之间建立的连接并非完全安全" ????
有时候即使SSL证书有效, Chrome还是显示"并非完全安全"原创 2019-02-11 10:20:57 · 14402 阅读 · 4 评论 -
是时候统一一波编辑器标准了! /框架推荐
做UI --- 看似没有太高深的技术含量, 但是确实整个前后端最烦人的任务, 尤其是web应用, 里面有各种控件和文本框, 除此之外还要合理的用UI表现数据的状态和关系, 暗示用户操作等待, 我每次考虑倒着写细节的时候都非常不开森.在介绍我最爱的json-editor之前先来思考几个问题:有没有思考过, 几乎所有的表单/编辑器都是一个json?比如这个:其中输入框/大文本框/(...原创 2019-02-16 15:34:26 · 1900 阅读 · 1 评论 -
这年头在云村生存这么难?
在之前的几年里,我一直把网易云音乐作为主力听歌渠道,在各平台上安装的也基本都是网易云音乐和一款本地播放器(foobar2000或phonograph)。今年年初的时候,网易在Android平台上发布了网易云音乐5.0。升级后,点开这软件,5秒后,我在App info界面中点击了uninstall。其实很长时间之前我就开始对这个平台不太满意了,具体原因之后会提到。彻底弃用一个曾经使用过一千天...原创 2018-11-13 08:40:35 · 2081 阅读 · 2 评论 -
复习一下吧, 排序算法
先来张图片Sorting Comparison冒泡排序算法描述<1>.比较相邻的元素。如果第一个比第二个大,就交换它们两个; <2>.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; <3>.针对所有的元素重复以上的步骤,除了最后一个; <4>.重复步骤1~3,直到排序完成。...原创 2018-11-15 11:38:04 · 1606 阅读 · 1 评论 -
将客户端信息记录到服务器的简便方法
JavaScript调试在Web应用程序开发中是一件非常麻烦的事情。因为如果您编写的JavaScript代码中存在任何错误,许多Web浏览器都不会通知您。他们只是默默地失败并阻止以下代码执行。为了调试JavaScript代码,我们需要一个良好的日志机制来帮助我们记录错误信息,我们经常需要将JavaScript代码中的错误记录到服务器以便在生产Web应用程序中进行调试,我们应该做什么?我们想...原创 2018-01-05 11:04:33 · 1387 阅读 · 0 评论 -
理解JavaScript中的“原型”
出于本文的目的,我将使用ECMAScript 5.1中定义的语法来讨论JavaScript对象。第3版中存在基本语义,但它们并没有很好地暴露出来。一个全新的对象在JavaScript中,对象是键和值对(在Ruby中,这种结构称为Hash;在Python中,它称为字典)。例如,如果我想描述我的名字,我可以有一个带有两个键的对象:firstName指向“Yehuda”并lastName指向“K...原创 2017-09-16 14:28:08 · 594 阅读 · 0 评论 -
快速上手最棒的网格框架ag-Grid
由于对aggrid由衷的感谢, 又忍不住写了一篇软文来推广它(其实主要是为了弥补我把enterprise版扣下来后内心的愧疚...)ag-Grid是速度最快,功能最丰富的JavaScript datagrid组件, 没有之一, 事实证明了它确实是业内口碑最高的框架之一Datagrid是您在用户界面中可能多次遇到的问题。它是一个以表格形式显示数据的组件。数据中的每个项目都显示为一行,分为项目...原创 2018-12-15 22:33:05 · 21941 阅读 · 20 评论 -
全栈设计模式套餐MVVM, RESTful, MVC的历史探索
众所周知, 软件开发时遵守一个规范的设计模式非常重要, 学习行业内主流的design pattern往往能够为你节省大部分时间.根据我2年的全栈经验, 在Web应用程序领域最流行的, 并且若干年内不会过时的设计模式套餐分别是: 前端的MVVM, 后端的MVC, 以及中间的restful api设计模式, 这三个设计模式的搭配非常完美, 以至于几乎所有的互联网服务都效仿这个标准来开发应用....原创 2018-12-27 11:58:09 · 2437 阅读 · 1 评论 -
停止学习框架
这是一篇译文,原文在 Hacker News 上获得接近 500 个点赞。每过几年都有类似的文章出现,然而程序员却依然疲于学习新的框架,看完此文希望对你有所启示。那么,译文开始。 我们是程序员,每天都在了解最新的技术,每天都在学习编程语言、框架和库。因为我们知道的现代编程工具越多越好,对吧?不停地追随 Angular、React、Vue、Riot、Ember、Knockout...转载 2018-12-21 23:20:14 · 2516 阅读 · 15 评论 -
死锁与囚徒困境的辩证关系
最近在复习<操作系统>的重修考试o(╥﹏╥)o, 原来准备戴上耳机来一场硬核复习, 但是发现死记硬背没用还浪费生命, 只好假装喜爱这一门学科, 顺带研究了下一些OS的底层原理, 期间通过研究银行家算法原理时发现了一些有趣的现象, 顺便联想到一些哲学思想, 想和大家分享一下: )首先谈谈OS在预防死锁的时候和进程之间进行了哪些博弈.操作系统进程死锁是一个古典问题, 由于进程之...原创 2019-01-04 15:16:43 · 1700 阅读 · 0 评论 -
嘿, 你知道吗, 再也不需要for循环了!
做一个优雅的程序员JavaScript是一门优雅的语言, 这个'优雅'体验在JS逻辑层次处于高段位的水平, 什么意思呢, 就是一个js应用的主线剧情一定全部是函数式表达的高层可读逻辑, 还是不懂? 再举个栗子: 一个node.js应用程序中index.js文件里面从来都不会出现一些封装的工具比如斐波那契求和函数, 也不会出基础现常量表达式比如数值, 字符串, 正则表达式, 因为这些都属于数...原创 2019-01-07 15:23:21 · 2757 阅读 · 2 评论 -
2019 | 开启新的堕落生活
时光荏苒,岁月如梭.. 又一年的时间一晃而过,加入CSDN 2年了,参加工作快1年多时间的我,兜子里还是像以前一样一贫如洗,不过还好我的'博客砖家'头衔给了2018年一个基本交代,基本符合当初定下的目标吧,当初我的技术博客从原来的新浪博客(现在没落了)到后来的阿里云栖社区博客再到自己搭建nodejs博客失败(流量太少, 不爽(# ̄~ ̄#))最后选择了CSDN, 主要是这里百度的收录真的很...原创 2019-01-03 14:21:51 · 3135 阅读 · 3 评论 -
函数式编程与Filter-MapReduce
什么是MapReduce?MapReduce来自Hadoop, 但是却被推广到所有领域, 它的中文名叫映射规约, 这个翻译非常讲究, 也非常准确, 但是我还是想把MapReduce扩展成Filter-MapReduce, 即过滤-映射-规约 三步骤,这个思考过程对我的编程有很大帮助.MapReduce是获取对象列表并对列表中的每个对象(即map)运行某些操作以生成新列表或计算单个值(即...原创 2019-01-25 13:48:36 · 1662 阅读 · 0 评论 -
Material Design Component 4 Web 框架推送
MD不用多说了, GUI领域处于统治地位的规范, 上次我们介绍了基于MD实现的web框架mdl, 但是很遗憾mdl的开发团队于多年前放弃这个项目了, 取而代之的是MDC:Material Design ComponentMDC更像是一款ui插件而不是ui框架, 因为mdc里面每一个ui组件都是可以拿出来单独使用的.在MDC的开发主页上我们可以看到, Google已经贴心的提供了4个...原创 2019-01-29 13:35:12 · 3182 阅读 · 3 评论 -
古今中外著名14大悖论
1. 全能悖论The Omnipotence Paradox 假如一个万能的人(例如神)制造一颗石头重到他也无法举起,那他还是万能的吗? 这悖论表示假如一个万能的人可以做任何的事,那他也可以限制自己做某些事,因此他就无法做任何的事,但另一方面假如他无法限制自己的能力的话,那这就会是一件他无法做的事。 2. 堆垛悖论The Sorites’ Paradox 这悖...原创 2017-05-04 10:18:21 · 7162 阅读 · 0 评论