LOADING...
张小伦的网络日志 · 像素版

全部文章

共 160 篇 · 像素版阅读 demo ·原版列表 →

Codex 风格 Agent Activity Stream:如何展示 Agent 的可观察执行过程

从 Runtime 事件到用户界面,展示 Agent 的可观察工作过程,而不暴露模型的私有思维链。

others

tldraw 源码改造并发布到私有 npm 仓库的完整流程

最近需要在tldraw的源码上二次开发一些定制的功能了。

JavaScrtipt笔记TypeScript

一次图片上传被截断问题引发的思考

最近在开发在线批注工具时,我遇到了一个让人费解的问题。

JavaScrtiptNode.js

从全局变量竞态到Promise互斥锁的解决方案

背景 最近在开发一个Node.js后端服务时,我遇到了一个令人困惑的问题。

JavaScrtiptNode.js笔记

如何让白板工具理解我乱画的图形?

最近我在做一个白板工具,其中要增加那个"智能画笔"功能:用户随便画个歪歪扭扭的图形,工具会自动把它变成标准的形状。

JavaScrtipt笔记算法

在 Node.js 中读取和写入文件

文件操作是 Node.js 常见的使用场景。

Node.js笔记

图片缓存失效问题排查

为什么相同的 URL 请求了两次?——以及“加 crossorigin=anonymous”带来的风险 ## 一、问题背景 最近在优化一个内部文档协作平台的图片加载性能时,我发现一个奇怪的现象: > 同一个图片 URL,在页面中被请求了两次 —— 一次走 no-cors,一次走 cors,且第二次没有命中缓存。

JavaScrtiptNode.js

Tiptap 输入规则深度解析:nodeInputRule vs wrappingInputRule

在 Tiptap 富文本编辑器中,输入规则(Input Rules)是实现 Markdown 风格快捷输入的核心机制。

tiptap笔记

协作编辑系统的互斥锁机制-tldraw开发笔记

在开发tldraw的时候,在它的demo中看到一段注释 ```javascript // Very simple mutex using promise chaining, to avoid race conditions // when loading rooms.

Node.js笔记

有了pnpm,为什么还要nx来做monorepo

docmost项目已经有了阶段性成果,暂时告一段落。

pnpmnxmonorepo

drawio是如何通过svg文件恢复整个文件

在实现笔记接入私有化部署的drawio时,发现一个有意思的现象:使用draw绘图之后,在笔记系统中保存的是一个svg文件,在编辑时drawio能够恢复完整的绘图信息,甚至包括了多页。

drawiosvg

兼容H5的软键盘,痛苦的折磨

最近在做docmost的二次开发,需要对H5上做一些适配。

笔记CSSJavaScrtipt

记一次光暗模式下的兼容性问题

react-drawio 在保存时,导出的svg文件在低版本浏览器中默认图形被填充为黑色。

CSSJavaScrtipt

深入浅出:Electron 应用中的自定义协议与 URL 编码处理

在开发桌面应用时,我们经常需要处理本地资源的访问。

Node.js笔记Electron

Lettura 开发日志:SQLite 数据库迁移实践

背景 在开发 [Lettura](https://github.com/lettura/lettura) RSS 阅读器的过程中,我遇到了一个数据库设计需要优化的场景。

笔记SQLiteRust

Lettura开发日志-设置Accpet提高对源的命中🎯

过一段时间的忙碌,我终于有时间来继续改进我的开源项目——Lettura,这是一个免费的RSS阅读器。

Rust笔记

小吐槽一下Node.js

之前一直在Mac系统上开发Bookwise,一直没有遇到开发环境的问题。

Node.jsJavaScrtipt

Node.js高可用架构设计与实践的整理

在web应用的生命周期中,最关键的转折点往往出现在流量增长阶段。

Node.js架构笔记

如何使用 NestJs 创建分页、可排序和可过滤的接口

分页、排序和过滤是用于处理 API 返回的大型数据集的常用技术,例如在列出端点时。

笔记Node.jsNest.js

Lettura开发日志-在Tauri中打印应用日志

[Lettura](https://github.com/zhanglun/lettura) 是一个开源的RSS阅读器,是我的开源项目。

TauriRust

修改commit的作者信息要几步呢?

我有两台Mac,一台mac mini在家使用,一台macbook用于工作,偶尔周末也会开发一些side project代码。

日记

给自己的五年计划

2011年的时候,我刚上大一。

Node.jsJavaScrtipt日记

Lettura开发日志-给订阅的源增加健康标记

[Lettura](https://github.com/zhanglun/lettura) 是一个开源的RSS阅读器,是我的开源项目。

Rust笔记Tauri

Sentry中的Issue和Alert

花了点时间私有化部署了一套Sentry服务,本周接入了项目的测试环境。

JavaScrtiptNode.js

Lettura开发日志-使用游标分页获取文章列表

[Lettura](https://github.com/zhanglun/lettura) 是一个开源的RSS阅读器,是我的开源项目。

RustSQLite笔记

记录快乐的五一

刚度过了一个快乐的五一假期,写一篇小小的流水帐简单记录一下。

日记

Lettura开发日志-添加快捷键操作

[Lettura](https://github.com/zhanglun/lettura) 是一个开源的RSS阅读器,是我的开源项目。

笔记RustTauri

学习项目管理-项目目标的确定

定义项目要解决的问题 项目是用来解决问题的手段,有了项目目标,项目组就可以明确这个项目要解决什么样的问题,甚至是达到什么样的结果。

项目管理读书笔记

学习项目管理-激励机制与绩效考评

**激励机制的构成要素** “激励机制”是在组织系统中,激励主体系统运用多种激励手段并使之规范化和相对固定化,而与激励客体相互作用、相互制约的结构、方式、关系及演变规律的总和。

项目管理读书笔记

【译】Rust模块系统的清晰解释

看到一篇关于Rust模块系统的文章,文章内容言简意赅,通俗易懂,清晰解释了Rust的模块系统个。

Rust

给Nest应用加上自定义配置

在 [**使用飞书机器人串起前端研发流程**](https://zhanglun.github.io/blogs/%E4%BD%BF%E7%94%A8%E9%A3%9E%E4%B9%A6%E6%9C%BA%E5%99%A8%E4%BA%BA%E4%B8%B2%E8%B5%B7%E5%89%8D%E7%AB%AF%E7%A0%94%E5%8F%91%E6%B5%81%E7%A8%8B/) 一文中提高的飞书机器人初版发布上线,目前运行状况良好。

Node.jsJavaScrtipt

使用飞书机器人串起前端研发流程

我想开发一个飞书机器人,将日常的工作信息串起来,集中到飞书消息中。

Node.jsJavaScrtipt

在 Rust 中使用全局变量

虽然在编程世界中,前辈们总是会告诉我们关于全局变量的缺点,但在实际开发过程中,有少数情况却很适合使用全局变量。

Rust笔记

学习项目管理-多角色的项目经理

项目经理扮演的角色 项目管理是以个人负责制为基础的管理体制,项目经理就是项目的负责人,有时也称为项目管理者或项目领导者。

项目管理读书笔记

如何在 Astro 中使用相对路径的图片

春节期间开发了一个astro的博客模板 [astro-theme-facile](https://github.com/zhanglun/astro-theme-facile),遇到了一个当时无法解决的图片问题一直搁置。

Viteastro

学习项目管理-项目团队的建设

项目团队的主要特点 在现代项目管理中,项目经理需要直接领导项目团队为实现、完成具体项目目标和各项任务而共同努力,协调一致和有效地进行工作。

项目管理读书笔记

Tauri和Rust异步进程的交互

在开发Pavo时,我想利用一个独立的进程来执行壁纸的定时切换任务。

RustTauri

修复 TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ts 的报错

今天用 TypeScript 写了一小段适配器模式的代码,本想着使用 `ts-node` 直接在terminal中跑一下。

Node.jsTypeScript笔记

Neovim 配置体验

Neovim 是一个基于Vim的可拓展的文本编辑器,可通过一些插件和配置,将其打造成一个顺手的开发工具。

Neovim笔记

在Rust中使用条件编译区分不同操作系统

使用wallpaper.rs修改壁纸 在开发 [Pavo](https://github.com/zhanglun/pavo) 项目时,使用网友开发的 [wallpaper.rs](https://github.com/reujab/wallpaper.rs)实现壁纸的切换能力。

RustTauri

Tauri + Yew 创建我的桌面应用-Pavo

在项目[Pavo](https://github.com/zhanglun/pavo)中尝试使用Rust来实现Web前端部分的实现,选择了Yew作为前端框架。

RustTauriYew

Tauri App 的升级

本文主要内容来自:[https://tauri.app/v1/guides/distribution/updater](https://tauri.app/v1/guides/distribution/updater)。

Tauri

学习项目管理-项目管理的流程

项目管理过程的组成 项目管理是由一系列子过程构成的,每个项目管理子过程又是由一系列项目管理的具体活动构成的。

项目管理读书笔记

结合Diesel实现翻页查询

书接上文,本文记录了我在开发Lettura项目时基于Diesel实现的翻页能力。

RustSQLite

使用Rust抓取网页内容

在[Lettura](https://github.com/zhanglun/lettura)中已经基本实现了RSS阅读器的能力,日常的基本使用已经没有太大问题。

Rust

学习项目管理-项目管理的意义

项目管理无论是对组织还是个人,都具有一定的价值。

项目管理读书笔记

基于PNPM的项目改造

背景 因为历史原因,前端项目的代码按照业务模块,分散在不同的代码仓库中。

笔记架构

学习项目管理-项目的生命周期

什么是项目周期 任何项目都会有自己的生命周期,可能有人会说,项目都是一次性的,为什么还存在“项目周期”呢?的确,单从一个项目来看,是不应该用周期来描述的。

项目管理读书笔记

学习项目管理-项目管理的定义

什么是项目管理 项目管理是“对项目进行管理”。

项目管理读书笔记

使用 SVG 建立图标系统

背景 前段时间Iconfont关闭了服务,影响到了项目的正常开发和迭代。

JavaScrtiptCSSNode.js

Style Dictionary 和 Design Token 的实战

在[使用 Style Dictionary 管理 Design Token](https://zhanglun.xyz/blogs/%E4%BD%BF%E7%94%A8%20Style%20Dictionary%20%E7%AE%A1%E7%90%86%20Design%20Token/)中简单介绍了Style Dictionary及其使用,本文将介绍Style Dictionary在团队中的使用经验。

JavaScrtiptNode.jsCSS

使用 Style Dictionary 管理 Design Token

在之前的文章中,我介绍了Design Token 相关的基本概念。

CSSJavaScrtipt架构

Storybook 使用手册——自定义主题

虽然Storybook 提供的默认的样式已经挺漂亮的,但是当在落地自己的设计系统时,还是希望能够在整体风格上做出属于自己的定制。

JavaScrtiptStorybook

浅谈 Design Token

我认为,在聊 Design Token之前,必须先理解什么设计系统(Design System)和 原子设计理论(Atomic Design)。

CSS架构

Storybook 使用手册——组织你的Storybook

在前面的文章中,通过个人博客的案例,展示了如何在现有项目中集成Storybook。

StorybookJavaScrtipt

Storybook 使用手册——实战演练

在Storybook使用手册系列文章中,介绍了Storybook的基本概念和文档编写方式。

StorybookJavaScrtipt

「译」衡量Web性能,多快才算快?

> 原作者:  [**Medhat Dawoud**](https://medhatdawoud.net/) > 原文链接:[**https://medhatdawoud.net/blog/measuring-web-performance**](https://medhatdawoud.net/blog/measuring-web-performance) 在生活中,任何难题都必须是有目标性的,以便于定性,或者能够被证明是可定性的。

Performance

Storybook 使用手册——MDX 和 Doc Blocks

MDX MDX是一种标准的文件格式,由Markdown和JSX组合而成,文件后缀是`.mdx`。

JavaScrtiptCSSStorybook

「译」为什么性能很重要

> 原作者:  [**Medhat Dawoud**](https://medhatdawoud.net/) > 原文链接:[**https://medhatdawoud.net/blog/why-performance-matters**](https://medhatdawoud.net/blog/why-performance-matters) 现如今,性能优化是所有web开发者的基本技能了,不再是可有可无的,也不是可以吹嘘的花哨东西,在这篇文章中,我将解释为什么性能如此重要,为什么

Performance

「译」是什么使网络慢?浏览器的瓶颈

> 原作者:  [**Medhat Dawoud**](https://medhatdawoud.net/) > 原文链接:[**https://medhatdawoud.net/blog/what-makes-the-web-slow**](https://medhatdawoud.net/blog/what-makes-the-web-slow) 在上一篇文章中我解决了性能优化背后的动机。

PerformanceJavaScrtipt

Storybook 使用手册——编写组件文档

其实在使用手册的前两篇中,已经实现了组件文档的编写。

JavaScrtiptCSSStorybook

Storybook 使用手册——组件命名和结构层次

上一篇中介绍了什么是Storybook,以及基本的使用方法。

JavaScrtiptCSSStorybook

Node.js 将要内置测试模块

前两天上网冲浪时,在Node的Github仓库中,有这么一个Pull Request [test: add initial test module #42325](https://github.com/nodejs/node/pull/42325) ,顺着这个PR,可以找到一个[提案:Proposal: Adding a built-in test runner](https://github.com/nodejs/node/issues/40954) 。

Node.js

Storybook 使用手册——基本概念

什么是Storybook Storybook 是一个用于UI开发的开源工具,通过隔离组件,使开发更快、更容易。

CSSStorybookJavaScrtipt

《架构师修炼之道》摘录13-鼓励团队参与架构设计

> 本系列内容来自《架构师修炼之道》。

笔记架构

《架构师修炼之道》摘录12-架构评估

> 本系列内容来自《架构师修炼之道》。

笔记架构

《架构师修炼之道》摘录11-描述架构

> 本系列内容来自《架构师修炼之道》。

笔记架构

《架构师修炼之道》摘录10-展示设计决策

> 本系列内容来自《架构师修炼之道》。

笔记架构

使用SQLite做为Rust项目的数据库

在使用 Rust 开发应用时,需要用到 SQLite 做为应用的本地数据库。

SQLiteRust

《架构师修炼之道》摘录09-召开架构设计研讨会

> 本系列内容来自《架构师修炼之道》。

笔记架构

《架构师修炼之道》摘录08-建立模型,化繁为简

再成功的软件系统也难免走向复杂。

笔记架构

《架构师修炼之道》摘录07-架构模式

> 本系列内容来自《架构师修炼之道》。

笔记架构

使用CSS追踪用户信息-CSS Fingerpoint

今天网上冲浪时看到这个网站 [https://csstracking.dev/](https://csstracking.dev/) ,提到一种使用CSS技术实现用户信息追踪的方案,挺有意思的。

CSS

《架构师修炼之道》摘录06-主动选择架构

> 本系列内容来自《架构师修炼之道》。

笔记架构

《架构师修炼之道》摘录05-挖掘关键架构需求

> 本系列内容来自《架构师修炼之道》。

笔记架构

将阿拉伯数字转换成大写中文

今天同事分享了一个有意思的算法题,感觉挺有意思的。

算法

《架构师修炼之道》摘录04-换位思考

> 本系列内容来自《架构师修炼之道》。

笔记架构

JavaScript深拷贝的新方法-structureClone

对象拷贝这个话题算是老生常谈了,从浅拷贝到深拷贝,从最简单的JSON.stringfy()到递归遍历赋值,作为面试八股文的常客,字节的朋友甚至写出了[惊艳面试官的深拷贝](https://juejin.cn/post/6844903929705136141),不得不佩服。

JavaScrtipt

【译】防御性CSS

> 原文:[https://ishadeed.com/article/defensive-css/](https://ishadeed.com/article/defensive-css/) 有时候,我们希望有一种方式来避免遇到某种CSS的问题或者行为。

CSS

《架构修炼师之道》摘录03-制定设计策略

> 本系列内容来自《架构师修炼之道》。

笔记架构

《架构修炼师之道》摘录02-设计思维基础

> 本系列内容来自《架构师修炼之道》。

笔记架构

博客又搬家了

不知不觉,从14年到现在,自己的博客已经维护了8年了。

GatsbyNotion

《架构修炼师之道》摘录01-成为软件架构师

> 本系列内容来自《架构师修炼之道》。

笔记架构

ParseInt()的迷幻行为

最近看到一片文章 [Solving a Mystery Behavior of parseInt() in JavaScript]([https://dmitripavlutin.com/parseint-mystery-javascript/](https://dmitripavlutin.com/parseint-mystery-javascript/)),讲的是JavaScript中的`parseInt()`的一个奇怪现象。

Javascript

劝架CommonJS和ESModule

今天在开发过程中遇到一个报错 ```bash Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /root/projects/build-tool/node_modules/ora/index.js require() of ES modules is not supported.

JavaScrtiptNode.js

关于JavaScript的随机数

最近正在实现一个动画特效,有一个非常简单的需求 > 请求获取到一个数组A之后,将数组的内容以动画弹窗的方式展示给用户,要求: > 1.

others

如何在项目中接入single-spa

之前的文章[single-spa源码解析-registerApplication和start](../single-spa源码解析-registerapplication和start)中,对single-spa提供的两个关键方法的源码进行了简单分析。

others

single-spa源码解析-registerApplication和start

首先将问题简化,假定主应用和子应用都已经准备好的情况下,针对应用的注册和启动这两个关键操作进行分析。

others

使用 single-spa 实现微前端

背景 随着组织架构调整,目前来车服租车团队已经有一段时间了。

others

在滴滴的这几年:基于Git的平台文档解决方案

背景 所在团队承接了架构部所有的底层服务的用户系统的建设,包括面向业务方的自助服务系统和面向运维同学的后台系统。

others

Zen Reborn 计划

背景 作为业务组件库,zen在多个租车B端系统中被广泛使用。

others

在滴滴的这几年:基于 Node.js 的私有云 Web 管控系统

在大概18年上半年,有幸被抽调到一个FT,参与云平台私有云项目的开发中。

others

在滴滴的这几年:组件库的设计和开发

入职的时候团队加上老板就三个人,需要对接5+个公共服务团队,为公共服务开发控制台,每个团队两个控制台系统。

others

使用 CSS variables 实现主题色切换

最近在写自己的小项目时,想试试 CSS variables,于是便有了此文。

CSS

为Promise增加abort方法

对于Promise而言只有三个状态: `Pending`, `Resolve` 和 `Reject`。

others

浅谈TreeShaking在前端中的应用 - Rollup VS Webpack

前言 `Tree Shaking`是一种死码清除(dead code elimination)技术,通常用于在ECMAScript方言比如Dart,JavaScript或者TypeScript打包成一个文件时,移除未使用的代码以此来优化代码。

others

JavaScript异步编程方案回顾

如标题所述,本文主要是重新梳理JavaScript的异步编程方案,部分内容来自网络 ## 同步 在开始之前,先简单说说JavaScript中的同步。

JavaScript

再谈EventLoop

首先明确一点,事件循环这个概念并非JavaScript语言中的。

others

IntersectionObserver、MutationObserver和ResizeObserver

在之前的[从getboundingclientrect到intersection-observer](../从getboundingclientrect到intersection-observer/index.md)中提到了`Intersection Observer API`,今天趁热打铁,将现有的其他几个Observer API 一并整理,方便查阅 ## IntersectionObserver 字面翻译:交叉的观察者。

others

从getBoundingClientRect到Intersection Observer

平时在写页面交互的时候经常使用兼容性不错的 getBoundindClientReact 方法,以快速获取元素大小和元素位置。

others

浅谈 HTTP 缓存

说到缓存大家可能觉得很简单。

HTTP

巧用 webpack loader 实现项目的定制化

背景 有这样的需求:项目交付的版本要求支持针对客户定制产品的LOGO、登录界面的背景。

Webpack

在 CentOS 上部署 pyspider 爬虫项目

前言 之前在腾讯云的云主机中,部署了一个pyspider爬虫项目,专门爬链家上的二手房信息。

Python

TypeScript学习笔记-在Webpack中配置TypeScript

上篇说到TypeScript简单的基本知识,包括什么是TypeScript、TypeScript的安装以及TypeScript中的基本类型。

TypeScript

TypeScript学习笔记-入门:安装与基础知识

TypeScript 是由微软推出的开源编程语言,官网的定义如下: > TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.

TypeScript

个人服务器常用基础配置

买了一个服务器,系统是CentOS7.2 .做了一番基础设置,在此记录一下。

Linux配置

最近几次面试的小总结

前几天离职了,离职前几天开始物色合适的下家。

随笔

整理Object的一些方法

ES5 和 ES6 中 Object 添加了很多新的方法,现在很多开源代码中有用到了这些,今天来整理一番。

JavaScript

JavaScrip模块系统详解

在这几天的工作中,我需要调用同事编写的兼容jQuery和React的通用组件。

JavaScript

深入理解 ES6 的解构赋值

解构赋值(destructuring assignment)语法是一个Javascript表达式,这种语法能够更方便的提取出 Object 或者 Array 中的数据。

JavaScript

使用Firebase构建云端应用-数据库的管理

上回讲到Firebase 的[创建项目和用户管理]()。

ReactJavaScript

使用Firebase构建云端应用:创建项目和用户管理

在构建自己的在线云工具应用时,我使用 Firebase 为自己的“无后端项目”提供服务,把在开发期间接触到的一些内容整理在一起,制成系列笔记。

ReactJavaScript

【译】CSS Grid, Flexbox 和 Box Alignment:网页布局的新系统

>原文标题:CSS Grid, Flexbox And Box Alignment: Our New System For Web Layout > 原文链接:[https://www.smashingmagazine.com/2016/11/css-grids-flexbox-and-box-alignment-our-new-system-for-web-layout/](https://www.smashingmagazine.com/2016/11/css-grids-flexbox

CSS译文

使用 React-Router 创建单页应用

最近业余时间在学习 React,配合 Redux 和 React-Router 正在不紧不慢地开发一个小工具[moviemaster](https://github.com/zhanglun/moviemaster),用于管理硬盘中的电影剧集。

ReactJavaScript

实现一个稍微复杂的simplelist

使用过一些清单类的应用程序,像 WunderList, Google Keep等,用来记录一些计划和安排,也试着将自己的计划安排同笔记一起整理在 Evernote 中,但是无论哪种方式用起来总觉得少了点什么,如果两者的一些功能能够结合起来,就很完美了。

前端

输入框插入表情的实现

在普通的 textarea 中,只能显示普通的文本。

JavaScript

Electron 开发的 gulp 配置

源自 Atom-shell 的 Electron 目前是一个很火的项目。

electron

真的是好久没写博客了

记录可查,自从毕业之后就没怎么写过博客。

随笔

Chrome内存分析工具概述

>原文标题:4 Types of Memory Leaks in JavaScript and How to Get Rid Of Them >原文链接:[https://auth0.com/blog/2016/01/26/four-types-of-leaks-in-your-javascript-code-and-how-to-get-rid-of-them/](https://auth0.com/blog/2016/01/26/four-types-of-leaks-in-your-ja

译文JavaScript

CSS 布局的未来:网格布局

原文链接: [The future of layout with CSS: Grid Layouts](https://medium.com/@patrickbrosset/css-grid-layout-6c9cba6e8a5a#.cz5qhhi87) # The future of layout with CSS: Grid Layouts 在这片文章中,我们一起来探索 CSS 网格布局的美妙世界。

CSS

JavaScript 中不使用 new 的构造函数(以及由此引发的联想)

在JavaScript 中,调用构造函数的方法很简单。

笔记

规范之路-line-height的工作原理

> 有人问我,“line-height到底是怎么一回事?”,“元素高度到底是怎么计算出来的?”。

CSS笔记

定时将图片保存在SAE的Storage中

>前几天一直在看Node相关的书,做了一些笔记,挂在自己的博客上。

webpyPython

Node学习笔记-Wrangling the File System

在开发过程中,有时候会需要访问一些本地的文件,对文件进行一些操作。

笔记Node.js

Node学习笔记-Data Sources and Flow Control

>额在之前的笔记中,提到了使用middleware,设置路由,发送数据,处理请求,渲染模板等。

笔记Node.js

Node学习笔记-Server-Side Templates

> 因为各种版本的更新,文中的例子可能失效无法运行。

笔记Node.js

Node学习笔记-Serving the content

Node中的MiddleWare >In the context of a web server, middleware is a layer between the guts of the server and the code you’re writing to run on it that provides a set of abstractions anyone writing code for the platform will be likely to need.

笔记Node.js

规范之路-重新认识了Float

> 总是喜欢在阴雨绵绵的时候收拾自己的小窝,无论是在家还是在学校。

CSS笔记

我的响应式web开发实践笔记-Media Queries 初探

> 很久以前就接触到了响应式Web开发这回事,自己也玩弄过一阵。

CSS

使用python抓取知乎日报的API数据

使用 `urllib2` 抓取数据时,最简单的方法是: import urllib2, json def getStartImage(): stream = urllib2.urlopen('http://news-at.zhihu.com/api/3/start-image/1080*1776') start_image = json.load(stream) start_image = json

Python笔记

CSS的盒模型-过去和将来

>CSS 诞生已经二十年了,我接触 CSS 才两年。

CSS笔记

规范之路-Normal Flow

Normal Flow 在正常流中的盒子们都是一个格式化上下文(formatting context)中的成员,可以表现成一个block或者inline,但是不能既是block又是inline。

CSS笔记

CSS元素居中对齐大法

>原文标题:Centering in CSS: A Complete Guide 原文链接:[http://css-tricks.com/centering-css-complete-guide/](http://css-tricks.com/centering-css-complete-guide/) > 在CSS-tricks上看到一篇关于CSS居中的文章,综合和大部分的CSS居中的解决方案,暂且称作“CSS元素居中大法”好了。

译文CSS笔记

CSS 中的权重问题

> 自己对以后的方向很明确,但是却一直做不到。

CSS笔记

Git 使用笔记(三)-分支的使用

简单介绍 之前说过,每次修改之后,Git 并不是保存这些修改之后的差异变化,实际上就像一个照相机一样,将修改后的文件拍下作为文件快照,记录在一个微型的文件系统中。

Git笔记

规范之路-CSS中的定位简介

在 CSS2.1 中,一个盒子会根据下面三种定位方案进行排列: * 标准流(Normal flow):在 CSS2.1 中包括 块级盒子形成的块级格式化上下文(block formatting context),行级格式化上下文(inline formatting context)和采用了绝对定位(relative positioning)的盒子。

CSS笔记

如何将页面的footer保持在页面的底部一

我敢说这一定是很常见的问题,因为到处都是页面不够长而上吊的footer,而。

CSS兼容性

规范之路-visual formatting model 概述

[视觉格式化模型](http://www.w3.org/TR/CSS21/visuren.html) CSS 视觉格式化模型(visual formatting model)是一种用来处理文档,将其呈现在可视化媒体中的算法。

CSS笔记

踩坑日记-IE中的 hasLayout 属性

原文链接:[http://www.sitepoint.com/web-foundations/internet-explorer-haslayout-property/](http://www.sitepoint.com/web-foundations/internet-explorer-haslayout-property/) 在理想的世界中中,我们真的不需要了解任何关于 `hasLayout` 的事情,就像在理想社会中不用担心自己没钱一样。

CSS笔记兼容性

Grunt的简单配置和使用

Grunt 和 Grunt 的插件都是通过 Node.js 的包管理器 npm 来安装和管理的。

Grunt工具

git 使用笔记(二)-撤销操作

在最近使用 git 的过程中,有时候遇到这样的一个问题:习惯性的 "add -A",这会将所有的修改都添加到暂存区,可是有两个文件的修改暂时不想添加的呀,这该怎么办?git 提供了一些撤销操作的方法。

Git笔记

踩坑日记-IE下 A 标签的虚线框和必须要会用的 CSS 选择器

IE 下 a标签的虚线框 在 IE 中,点击 a 标签时, a 标签会被加上一个虚线框,很丑!!!!! 不同版本的IE解决方案不同:IE8 下只需为 a 标签添加一条 CSS 属性就可以 `outline:none`,顺便一提 ,这条属性可以取消浏览器中输入框获得焦点是丑逼逼的外框 但是在高贵的 IE7 中,即使是添加了 `outline: none`,虚线框依旧存在,在 HTML 上加 `hidefocus="true"` 如

CSS笔记兼容性

Git 使用笔记(一)-入门级的操作

一般处理 初始化: ```bash $ git init ``` 这样就会在当前目录创建版本库.

Git笔记

利用pip安装Django

pip的安装 先下载一个 python 文件 : [get-pip.py](https://bootstrap.pypa.io/get-pip.py)。

Python

(译)阻止事件传播的危害

>原文标题:The Dangers of Stopping Event Propagation 原文链接:[http://css-tricks.com/dangers-stopping-event-propagation/](http://css-tricks.com/dangers-stopping-event-propagation/) 这是 [Philip Walton](http://philipwalton.com/) 发布在 [css-trick](http://c

译文JavaScript

Node学习笔记—Node.js核心API之Util

最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态。

笔记Node.js

Node学习笔记-Node.js中的核心API之HTTP

最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态。

笔记Node.js

Node学习笔记-Nodejs中的核心API之Events

最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态。

笔记Node.js

学习sass时了解到的一些好玩特性

很久很久以前,我根据网上的博文总结写了一篇博客[《sass基本语法》](http://zhanglun.github.io/2014/03/10/sass%E8%AF%AD%E6%B3%95/)。

SassCSS

【译】Node.js的 EventEmitter 教程

>原文标题:Node.js EventEmitter Tutorial 原文链接:[http://www.hacksparrow.com/node-js-eventemitter-tutorial.html](http://www.hacksparrow.com/node-js-eventemitter-tutorial.html) 听说过 Node.js 中的 EventEmitter 吗?也许你知道大部分内置的 Node.js 库 都使用它,也许你总是对 EventEmitter

译文Node.js

【译】Node.js的全局变量

>原文标题:Global Variables in Node.js 原文链接:[http://www.hacksparrow.com/global-variables-in-node-js.html ](http://www.hacksparrow.com/global-variables-in-node-js.html) 你可能正在使用一些 Node.js 的模块,或者一个框架比如 Express.js ,并且突然感觉你需要创建一些全局变量。

译文Node.js

【译】Node.js的模块-exports和module.exports

>原文标题:Node.js Module – exports vs module.exports 原文链接:[http://www.hacksparrow.com/node-js-exports-vs-module-exports.html ](http://www.hacksparrow.com/node-js-exports-vs-module-exports.html) ##exports 和 module.exports 有什么区别? 你一定很熟悉 N

译文Node.js

Node学习笔记-Node.js中的模块

之前简单的了解了 Node.js 。

笔记Node.js

Node.js入门-Node.js 介绍

Node.js学习入门 ##Node.js 是什么 Node.js 不是一种独立的语言,与 PHP,Python 等”既是语言优势平台“不同,它也不是一个 JavaScrip 框架,不同于 CakePHP,Django,更不是一个 JavaScript 库,不能和 jQuery 相提并论。

Node.js

高性能网站优化-确保异步加载脚本时保持执行顺序

> 《高性能网站建设进阶指南》 脚本如果按照常规方式加载,不仅会阻塞页面中其他内容的下载,还会阻塞脚本后面所有元素的渲染。

web优化

Hello hexo

敬以此文纪念成功折腾出自己的github page 之前用 jeykll 折腾自己的 github 博客,看中的是 jeykll 提供的华丽主题。

随笔

JavaScript中的事件处理程序

JavaScript和HTML之间的交互是通过事件实现的。

JavaScript

高性能网站优化-无阻塞加载脚本

>《高性能网站建设进阶指南》 按理来说,JavaScript在浏览器中的性能问题是开发人员面对的最重要的可用性问题。

web优化

高性能网站优化-创建快速响应的Web

>《高性能网站建设进阶指南》 ##优化原则 优化的目的是希望降低程序的整体开销。

web优化

Sass基本语法

sass是一种基于ruby语言开发的CSS预处理器。

CSSSass