Web
文章平均质量分 80
喜欢特别冷的冬天下着雪
I'm not an excellent Full-stack dev, but I am trying to be...
展开
-
Graphql中的N+1问题
Graphql 是一种 API 查询语言和运行时环境,可以帮助开发人员快速构建可伸缩的 API。然而,尽管 Graphql 可以提供一些优秀的查询性能和数据获取的能力,但是在使用 Graphql 的过程中,开发人员也会遇到一些常见问题,其中最常见的一个问题是 N+1 问题。原创 2023-08-20 11:05:20 · 944 阅读 · 0 评论 -
一个入门级别的前端打包工具
写在前面长期以来,前端的模块化管理都不很成熟(webpack出现之前),为此,早期(ES5时代)为了实现依赖管理,甚至会利用window等全局对象进行模块注册。而如今有了webpack,rollup等优秀的打包工具,让前端开发起来事半功倍,因此笔者觉得很有必要去学习下这种划时代工具的实现思路。因此,本篇将讲述如何一步步实现一个初级的前端打包工具,仅供学习和分享,希望读完后可以让大家对打包工具不只是停留在会用(光看文档)的基础上,而是能够有更多的思考(比如如何优化和按需定制)。如果你准备好了,请先倒一原创 2020-09-13 22:17:28 · 1881 阅读 · 0 评论 -
打造属于自己的MVVM框架: 2.模版渲染引擎
上一篇介绍了MVVM的基本知识,本篇讲针对MVVM的模版渲染引擎进行介绍,不但从原理上对模版引擎的渲染原理进行剖析,而且有会相应的实现代码。源码请戳 原文请戳 什么是模版渲染引擎还是先来看一下上一篇有关knockoutjs的Demo:<p>First name: <strong data-bind="text: firstName"></strong></p><p>Last name: <st原创 2016-05-19 13:38:24 · 2707 阅读 · 0 评论 -
打造属于自己的MVVM框架: 3.双向绑定
MVVM中对Bingding的解析只能算viewModel->view的单项绑定,但MVVM绝不仅仅只有单向绑定,更重要的是如何监控viewModel变化,将信息实时的反馈给view。原文请戳 源码请戳如何监控Object的变化你会可能会遇到一下场景:前端UI已经渲染完成,但并没有数据,因此发送请求向服务器请求数据,AJAX回调完成后,用Callback里的值去更新UI(很可能是暴力的Jquer原创 2016-05-19 13:44:00 · 3544 阅读 · 0 评论 -
React从零学起
原文请戳 初接触React,除了不习惯其组件化的设计原则外,往往它所‘依赖’的众多module也会让初学者感到困惑,使得不知从何学起。此文只是我对React的一些浅析,希望能帮助想要学习React的朋友入门。1.React从来就是独立的正如上面我提到的,React’依赖’了很多module,但是这种依赖并不是所谓的耦合依赖,只是为了更好的去实现React。换句话说,React只是一个View层原创 2016-05-19 14:04:39 · 2031 阅读 · 0 评论 -
Element和Node的区别你造吗?
1.写在前面 我们经常使用document.getElementById去获取DOM中的元素,也会使用childNodes来获取子节点。那么Element和Node的区别是什么?而什么又是HTMLCollection,HTMLElement,和NodeList呢?一个简单的页面:<html> <body> <h1>China</h1> <!-- My comment ...原创 2016-09-21 15:08:54 · 16681 阅读 · 3 评论 -
就是要跨域
由于CORS(跨域)本身是具有安全隐患的,因此浏览器默认是禁止的。但跨域却在web开发中具有很重要的作用,也是前端dev经常为之头痛的领域。那么,前端到底如何跨这个域呢,且往下看。简书同步 blog同步前端常见的跨域手段如下: 1.script/link/img加载外部资源一个网站常常会加载以下外部资源:<script src="https://maxcdn.bootstrapcdn.c原创 2016-10-31 13:21:17 · 688 阅读 · 0 评论 -
ES201X
此Deck为我近期给组内分享的有关ES展望的Session,如下。Slide1: 先说一下我为什么讲这个Session:之前为Tech Radar准备了一个Session,是《ES2017》,可不知道为什么,在不知情的情况下就被别人给讲了,瞬间有一种被潜规则的感觉。都准备的差不多了,不讲还怪可惜的。再加上项目结束后许多同事未来可能会是React+ES6的技术栈,因此我就讲内容进行了调整,准备跟大家原创 2016-12-15 21:58:58 · 903 阅读 · 0 评论 -
一个例子让你明白原型对象和原型链
开篇 之前对js中的原型链和原型对象有所了解,每当别人问我什么是原型链和原型对象时,我总是用很官方(其实自己不懂)的解释去描述。有一句话说的好:如果你不能把一个很复杂的东西用最简单的话语描述出来,那就说明你没有真正的理解。最近正在读《Javascript高级程序设计》,书中对原型对象和原型链的描述让我受益匪浅,下面仅用一个对比性的例子来说明。我们经常会这么写 function Perso原创 2015-06-12 17:51:24 · 35644 阅读 · 8 评论 -
关于Promise的一些
The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value.为什么要重新从定义回顾,是因为我觉得就是因为定义太过于简单,所以细节容易被忽略。比如怎么才算最终的状态?怎么更好的处理异常?如何原创 2018-02-27 09:56:17 · 663 阅读 · 0 评论 -
前端组件化思想
1.开篇 先说说为什么要写这篇文章吧:不知从什么时候开始,大家相信前端摩尔定律:“每18个月,前端难度会增加一倍”。我并不完全认可这个数字的可靠性,但是这句话的本意我还是非常肯定的。 是的,前端越来越简单了,但也越来越复杂了—简单到你可以用一个Github的starter搭建一个框架,集成所有的全家桶,涵盖单元测试和功能测试,包括部署以及发布,甚至你开发时使用的UI库都让你写不了几行c...原创 2018-02-27 09:59:14 · 19905 阅读 · 3 评论 -
WebSocket分享
1.开篇以下为我之前給组内分享的有关WebSocket的话题,略有删减,未完待续。。。长期以来,在web领域中,若想让客户端与服务端交互,我们首(或者说唯一的)选的肯定是Http。而随着web应用的快速发展,数据的消费量和功能需求的强度也逐渐增加,很显然,传统的Http模式早已不能满足我们,更多的需求则希望服务端可以“主动”跟客户端通信来增加交互。不得已,long-polling逐渐...原创 2019-04-12 12:52:26 · 614 阅读 · 0 评论 -
你必须记住的30个CSS选择器[译]
开篇 有30个CSS选择器你必须烂熟于心,它们适应于当今各大主流浏览器。1.** { margin: 0; padding: 0;}*选择器选择的是每一个单一元素。很多程序员用上面的CSS将所有元素的margin和padding清零。虽然这是有效的,但最好还是别这么做,这会使得浏览器的负担很重。*选择器也可以用在孩子选择器中。#container * { border: 1px原创 2016-05-19 13:24:09 · 3255 阅读 · 0 评论 -
RSpec Trial
1 ### 开篇 这篇Deck是近期对RSpec测试框架的一个Session总结,参考了RSpec官方文档那个和Better Rspec的介绍,对RSpec的一些简单用法和最佳时间进行了介绍。 原文请戳原创 2016-05-30 22:18:52 · 851 阅读 · 0 评论 -
打造属于自己的MVVM框架: 1.什么是MVVM
MVVM(Model View ViewModel)是一种基于MVC的设计,开发人员在HTML上写一些Bindings,利用一些指令绑定,就能在Model和ViewModel保持不变的情况下,很方便的将UI设计与业务逻辑分离,从而大大的减少繁琐的DOM操作。起源MVVM这个概念最是在2005年,由微软的工程师John Grossman在其博客中提出,最初这个概念是用在微软的WPF上的。直到最近几年原创 2016-05-19 13:31:05 · 21266 阅读 · 0 评论 -
Asp.net中ListBox的用法!
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Collections;namespace Vocation{原创 2012-09-20 11:39:44 · 6390 阅读 · 1 评论 -
利用Cookies(或Session)制作登录页面!
Login.aspx为登录页面。代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data.SqlClient;usin原创 2012-09-21 17:53:31 · 1373 阅读 · 1 评论 -
Node.js连接Sql Server 2008
最近需要学习Node.js,所以很久没写东西了,疯狂的原创 2014-06-16 11:07:48 · 28036 阅读 · 9 评论 -
Node.js利用Express框架搭建小型网站(上)
一、Express环境搭建Express是Node.js下的一个轻量级W原创 2014-06-16 18:22:12 · 30722 阅读 · 1 评论 -
Nodejs连接sqlserver数据层封装
一、准备模块msnodesql原创 2014-06-21 16:52:31 · 17639 阅读 · 2 评论 -
Node.js利用Express框架搭建小型网站(下)
一、安装必备模块1.ejs原创 2014-06-21 16:21:45 · 13387 阅读 · 1 评论 -
HTML5实现歌词同步
开篇HTML5的最强大之处莫过于对媒体文件的处理,如利用一个简单的vedio标签就可以实现视频播放。类似地,在HTML5中也有对应的处理音频文件的标签,那就是<audio>.标签在线Demoaudio标签实现一个audio标签非常简单,对应的html代码如下:<audio id="player" src="music/我在人民广场吃炸鸡.mp3" autoplay control原创 2015-06-12 14:27:00 · 20119 阅读 · 4 评论 -
Collapsing margins(外边距合并)
开篇 块元素的上边距或下边距有时会合并为一个margin,这种情况称之为外边距的合并,即collapsing margins.一个常见的css样式的bughtml&css:<!DOCTYPE html><html> <style type="text/css"> html, body{ width: 100%; heig原创 2015-07-27 00:00:44 · 1680 阅读 · 0 评论 -
shrink-to-fit(自适应宽度)
自适应宽度是指当未明确设定容器的宽度(或外边距设为auto)时,在特定的情况下容器的宽度会根据情况自行设定,而设定的结果往往并不是我们想要的。W3C规范中描述了几种shrink-to-fit的情况10.3.5 Floating, non-replaced elements 10.3.7 Absolutely positioned, non-replaced elements10.3.8 Ab原创 2015-07-28 14:16:14 · 5281 阅读 · 0 评论 -
理解CSS中的BFC(块级可视化上下文)[译]
开篇 一些元素,如float元素,如position为absolute,inline-block,table-cell或table-caption的元素,以及overflow属性不为visible的元素,它们将会建立一个新的块级格式化上下文。上述定义已经很详细的描述了块级格式化上下文(Block Formatting Context)是如何形成的,为了方便起见,文中均用BFC代替。现在,让我们翻译 2015-08-11 13:07:12 · 1573 阅读 · 0 评论 -
Javascript中的几种继承方式比较
开篇 从’严格’意义上说,javascript并不是一门真正的面向对象语言。这种说法原因一般都是觉得javascript作为一门弱类型语言与类似java或c#之类的强型语言的继承方式有很大的区别,因而默认它就是非主流的面向对象方式,甚至竟有很多书将其描述为’非完全面向对象’语言。其实个人觉得,什么方式并不重要,重要的是否具有面向对象的思想,说javascript不是面向对象语言的,往往都可能没有原创 2015-06-12 17:32:25 · 14277 阅读 · 1 评论 -
网站投票系统!
一、数据库脚本 需要建立两张表,脚本如下: create table VoteTitle --投票主题表(TitleID int identity primary key,--主题编号Title varchar(200) not null,--主题信息SumNumber int default 0,--主题的所有项目投票总数Mode bit defa原创 2012-09-26 15:37:29 · 3184 阅读 · 0 评论