BLCL的博客小馆

标签 · 随笔

首页

关于

归档

loading..
总结随笔编程语言

漫谈编程语言

编程语言,一种特殊的语言。前言本文来自于 我在公司内部的一次分享。主要简述了编程语言的阵营,语义的表达形式,不同的思维范式,以及常见规范和执行机制。正文编程语言三种阵营学术派You are a poet and a mathematician. Programming is your poetry语言代表:Haskell Lisp Scala Closure学术阵营认为编程语言是一种思想的表达。这些语言往往是从上向下去设计,从一个纯粹的理想角度对语言建模,它们充斥着各种概念: 函数式,类型系统,模式匹配… 它们痛斥操作系统,编译器带来的各种缺陷,所以在设计时 很少去考虑,甚至有的学术派语言 完全找不到相应概念的映射(Lisp)。虽然它们的结构精妙 概念完美,但从实用角度上 完全不占优势。主要原因有二:如果..

更多
loading..
随笔前端架构

前端架构发展史

前端改革 30 年,从一片荒芜到微前端兴起。前言本文主要简述前端系统级架构的演讲历史,不涉及应用级架构: MVC,MVMM…正文前置术语应用:指的是一个整体的应用,可由多个模块组成。模块:指的是整体应用下 被划分的子应用。无架构在 1990 年,Tim Berners-Lee 在他的 NeXT 电脑上部署了第一套“主机-网站-浏览器”构成的 Web 系统,这标志着前端的开始。在最初,前端是一片荒芜的,经过浏览器大战,W3C 标准化的过程 前端才慢慢成长了起来。在此时期,诞生了 CSS、JavaScript、DHTML 等重要技术。前端也从最开始的纯静态页面,逐步存在于 PHP、ASP、JSP 这些模板技术中。由于前端涉及到的功能简单,只需操作 DOM,并不需要代码管理与模块支持。所以 最初的前端只是 MV..

更多
loading..
随笔Apple

Apple 一家建筑公司

我与墙的故事。前言本文只从技术发展角度出发,资本层面不允置评。正文筑墙的公司如果一家公司有自研的操作系统,有完善的设备生态,并且还拥有一大批成千上万的粉丝用户,那么很可能会发生一个现象:墙的出现。我说的墙指的是,如果你想在我的圈子牟利,你必须遵守我的规矩,必须用我提供的工具,且必须维护我的利益。这样的一堵墙不仅束缚了开发者,无形中还阻碍了它自身的发展。Apple,正是一家喜欢筑墙的公司。我的经历这两天,我针对网站在平板上的显示问题,特地去调整了一下Tomotoes的样式。结果便陷入了与墙的对抗之中。第一堵墙我遇到的第一堵墙是Apple专有的浏览器内核。因为Tomototes在平板下存在层叠渲染 Bug,我单纯地以为只是Safari的问题,结果当下载了好多个浏览器之后,惊奇地发现:网站显示的问题居然一致。不..

更多
随笔Python算法

用堆找出最小的 N 个数

不知道为啥,突然想水一篇很水的算法文章。 今天整理 MySQL 的笔记,看到了这样一句话: MySQL 在执行 ORDER BY x LIMIT n 这类语句,且 LIMIT 的数量有限时(比如只需要 3 条数据),MySQL 会尽量通过堆来构建优先队列,减少排序所需的时间。 这是堆的一个经典应用:从海量数据中找出最大(小)的 n 个数。 之前只用堆写过堆排,没有用堆处理过在线算法,所以就写了写。 用一句话概括这个算法:要找最小的数,就要构建大顶堆。 在处理数据时,我们会构建一个大顶堆 H,那么 H[0] 的值也就是当前数据中最小的 N 个数中的最大值,也就是第 N 小的数。 当处理新的数时,如果这个数小于堆顶的数,那么就把它变成堆顶,然后再对堆进行维护,以保证有序。 此算法的时间复杂度为 O(Ml..

更多