• Home
  • Github
  • 掘金
  • 关于作者

Sorzen

Talk is cheap Show me your code.

  • April 12, 2020

    socket.io简介及使用

    socket.io 简介

    socket.io 是一个为实时应用提供跨平台实时通信的库。socket.io 旨在使实时应用在每个浏览器和移动设备上成为可能,模糊不同的传输机制之间的差异。

    socket.io 的名字源于它使用了浏览器支持并采用的 HTML5 WebSocket 标准,因为并不是所有的浏览器都支持 WebSocket ,所以该库支持一系列降级功能。

    • Sorzen
    • 6 Minutes
  • April 12, 2020

    Node的异步I/O

    为什么要异步I/O

    Node是面向网络进行设计,web应用已经不再是单台服务器就能胜任的,在现今高并发已经是现代编程经常遇到的问题,网络的访问关系到用户的体验与资源的分配及资源的合理利用。
    随着网站或应用的不断膨胀,数据将会分布在多台服务器上,资源分布后将会造成获取资源耗时变长,会更加造成异步与同步在性能上的差异,只有后端能够快速响应资源,才能让前端的体验更好。
    单线程同步编程模型会阻塞I/O导致硬件资源得不到更优的使用,多线程编程模型也因为编程中的死锁、状态同步问题都会造成开发的难度,Node在两者之间给出的解决方案:利用单线程原理多线程死锁、状态同步等问题;利用异步I/O,让单线程原理阻塞,以更好地使用CPU。

    Node的异步I/O整个过程包括事件循环、观察者和请求对象等,接下来将会从这几方面介绍Node的异步I/O

    • Sorzen
    • 5 Minutes
  • April 12, 2020

    Buffer的理解

    什么是Buffer

    Buffer是一个像Array的对象,但它主要用于操作字节。在引入 TypedArray 之前,JavaScript 语言没有用于读取或操作二进制数据流的机制。 Buffer 类是作为 Node.js API 的一部分引入的,用于在 TCP 流、文件系统操作、以及其他上下文中与八位字节流进行交互。

    • Sorzen
    • 7 Minutes
  • April 12, 2020

    了解进程

    什么是线程与进程

    进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。

    线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。同样多线程也可以实现并发操作,每个请求分配一个线程来处理。

    • Sorzen
    • 8 Minutes
  • April 12, 2020

    表格的表头及多列冻结

    一、什么是表格冻结

    当数据较多时将某些行列进行冻结,即固定在某一位置展示,比如当数据较多时,表头可以固定在首行展示,不受滚动影响。由于项目中表格及交叉透视表的功能已经实现,因此只能在原来基础上进行功能的改造,因此需要在原来表格基础上添加表头及多列冻结。

    • Sorzen
    • 24 Minutes
  • April 11, 2019

    pm2在项目中的初次尝试

    PM2简介

    PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。

    • Sorzen
    • 10 Minutes
  • October 24, 2018

    前端监控

    背景

    TD第二届黑客马拉松赛题其中一个就是进行前端错误和性能监控,之前一直想过做这么一件事情,当线上发生代码错误或者资源引用错误时不是通过用户反馈得知,而是开发人员能在第一时间知晓,这次终于有机会进行尝试,与另外两名前端同事在10月20日进行了一天一夜的代码长跑。

    • Sorzen
    • 19 Minutes
  • September 26, 2018

    使用Web Worker开启浏览器多线程

    前言

    javascript是单线程模型,如果要处理一些密集型任务时可能会拖慢主进程的执行(如页面UI卡顿),是否可以使javascript像其他语言使用多线程方式运行,一部分运行在UI线程下,另一部分运行一个独立线程(如只进行某些复杂运算)。

    Web Worker作用就是为javascript提供一个创建多线程环境,但是这是浏览器的功能,实际和javascript语言本身几乎没什么关系,浏览器可以提供多个引擎实例,各自运行在自身的线程上,这样就可以在不同的线程上运行不同的程序。在worker内部是无法访问主程序的任何资源,这意味着你不能访问它的任何全局变量,也不能访问页面的DOM或者其他资源,这是一个完全独立的线程。

    • Sorzen
    • 9 Minutes
  • May 3, 2018

    开发过程采坑记录

    起因

    最近开发中遇到一些不太常遇到的问题,心血来潮记录一下他们产生的原因,有些问题找了很久才发现问题所在,也给需要的人一些帮助。

    • Sorzen
    • 5 Minutes
  • March 3, 2018

    JS设计模式

    前言

    了解前端常见设计模式,使代码更加系统化与规范化

    • Sorzen
    • 16 Minutes
  • 1

© 2020 Sorzen
POWER BY HEXO, THEME BY LAUGHING