首页
学习
活动
专区
工具
TVP
发布

不止是前端

专栏作者
40
文章
81144
阅读量
29
订阅数
TypeScript 在 Vue 的实践
在 vue-cli 3.0 的脚手架出来以后,官方我们提供了一套 Vue 的 TypeScript 模板,解决了许多模块以及类型问题,官方的东西真香,因此可以使用 TypeScript 搞一波事情。
MrTreasure
2018-12-24
2.5K0
Vue 的打包优化之路Vue的打包优化之路
ECharts的JSON地图文件占了很大一部分,大概有1.96MB gzip以后900KB,这一部分是没有办法做处理的。然后ECharts也应该使用按需加载
MrTreasure
2018-12-24
2.3K0
大厂的第一堂课,完整的git流程
大厂有着数量庞大的代码库以及复杂的权限验证体系,囊括着开发、测试、上线的完整流程。因此必然会有一套代码仓库的管理流程,而不再是个人的代码随意开发、随意提交。这也是我从小厂出来学习到的第一堂课——完整的git提交流程。下面我们以一位头条大佬的仓库为例,讲解如何对线上仓库进行开发
MrTreasure
2018-10-10
9910
从Highlight浅谈Webpack按需加载
最近有在使用 highlight.js 做代码的高亮展示,主要是展示对 SQL 语言的处理。看了看 highlight.js 的提供的相关代码
MrTreasure
2018-08-09
1.9K0
React下ECharts的数据驱动探索
使用过Vue React框架我们就知道,我们不再更改某个DOM的innertext和innerhtml属性就能完成视图的改变,两者都是通过对状态的改变,唤起 virtualDOM 的diff方法,最终生成patch反应到真实DOM上。区别是Vue通过依赖收集观测数据的变化,而React是通过调用setState方法,不要小看这个区别。在结合ECharts的过程中,有着极大的不同。
MrTreasure
2018-08-09
1K0
从实现一个Promise说起
前言 const p = new Promise((resolve, reject) => { console.log('A') setTimeout(() => { console.log('B') resolve('C') }) }) p.then(res => { console.log(res) }) // A B C D 尽管工作中用了无数次Promise async await,但是在写下这篇文章之前,却不知道Promise背后发生了些什么,我一直以为的逻辑是
MrTreasure
2018-06-19
4070
问起Vue的原理时不要再只说defineProperty了
前言 面试的时候问起vue的原理,大部分的人都会说通过Object.defineProperty修改属性的get, set方法,从而达到数据改变的目的。然而作为vue的MVVM驱动核心,从数据的改变到视图的改变,远远不止这句话就能解释,而是通过Observer, Dep, Watcher, Compile 4个类以及一个CpompileUtil辅助类完成,本文将以深入浅出的方式,分析从初始化DOM和data到数据的渲染,MVVM背后究竟发生了什么 本文代码翻译于文章 掘金——看完这篇关于MVVM的文章,面
MrTreasure
2018-06-19
6050
Vue驱动原理
面试的时候问起vue的原理,大部分的人都会说通过Object.defineProperty修改属性的get, set方法,从而达到数据改变的目的。然而作为vue的MVVM驱动核心,从数据的改变到视图的改变,远远不止这句话就能解释,而是通过Observer, Dep, Watcher, Compile 4个类以及一个CpompileUtil辅助类完成,本文将以深入浅出的方式,分析从初始化DOM和data到数据的渲染,MVVM背后究竟发生了什么
MrTreasure
2018-06-08
7000
从实现一个Promise说起
尽管工作中用了无数次Promise async await,但是在写下这篇文章之前,却不知道Promise背后发生了些什么,我一直以为的逻辑是先等待Promise构造方法中的异步函数完成后,再调用then方法执行其中的函数。然而事情并没有这么简单,这篇文章将以深入浅出的方式理解Promise背后究竟发生了什么
MrTreasure
2018-06-08
6640
密码学术语以及nodejs实现
基础准备工作 const secret = 'Sunshine' const salt = 'Treasure' const plainText = '始终相信美好的事情即将发生' const publicKey = `-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7ikxFcifEdVZ7IxSvd65vUQKx xvYZRx+qSz0Cl1Xj+PwyT9hnw4M6rglvbjgpQhQnnumY/KkmI7CCgl
MrTreasure
2018-05-10
1K0
一次搞懂Event loop
事件循环 EventLoop 事件循环 事件循环被称作循环的原因在于,它一直在查找新的事件并且执行。一次循环的执行称之为 tick, 在这个循环里执行的代码称作 task while (eventLoop.waitForTask()) { eventLoop.processNextTask() } 任务(Tasks)中同步执行的代码可能会在循环中生成新的任务。一个简单的生成新任务的编程方式就是 setTimtout(taskFn, deley),当然任务也可以从其他的资源产生,比如用户的事件、网络事件或
MrTreasure
2018-05-10
9790
浅谈node中的cluster集群
结论 虽然平常通过设置为CPU进程数的工作进程,但是可以超过这个数,并且并不是主进程先创建 if (cluster.isMaster) { // 循环 fork 任务 CPU i5-7300HQ 四核四进程 for (let i = 0; i < 6; i++) { cluster.fork() } console.log(chalk.green(`主进程运行在${process.pid}`)) } else { app.listen(1314) // export app 一个
MrTreasure
2018-05-10
1.1K0
API网关的常用功能及架构图
API Gateway is a type of service in a microservices architecture which provides a shared layer and API for clients to communicate with internal services. The API Gateway can route requests, transform protocols, aggregate data and implement shared logic li
MrTreasure
2018-05-10
1.9K0
TS+React+Router+Mobx+Koa打造全栈应用
效果图 Todo.gif Typescript 在TS下开发首先要做好相应的环境配置,一些需要进行设置的编译选项 # tsconfig.json { "compilerOptions":{
MrTreasure
2018-05-10
1.7K0
TS从装饰器到注解到元编程
先看一段代码 import {Controller, Path, GET, POST, PathParam, BodyParam} from 'iwinter' @Path('/api/orders') class OrdersController extends Controller { @GET @Path('/:name/:id', (ctx, next)=> ~~ctx.params.id > 20) getAllOrders(@PathParam('id') id: n
MrTreasure
2018-05-10
2.8K0
深入Node
本篇是深入的Node的读书笔记,相关知识点的归纳以及自己的简介《深入Node》 Node架构一览 Node架构 libuv架构 libuv架构 V8架构 V8架构 现代JS引擎执行: 源代码(.j
MrTreasure
2018-05-10
6410
Node:使用Puppeteer完成一次复杂的爬虫
架构图 Puppeteer架构图 Puppeteer 通过 devTools 与 browser 通信 Browser 一个可以拥有多个页面的浏览器(chroium)实例 Page 至少含有一个
MrTreasure
2018-05-10
3.3K0
Node下RabbitMQ的使用
相关代码 github 确保主机已经安装 RabbitMQ 并映射到 5762 端口 多 worker 下默认调度是 RR RabbitMQ 的一些名词定义 Producer 生产者是一个用户端程序,用来发送消息 Consumer 消费者是一个服务端程序,用来接收消息 Queue 队列是一个RabbitMQ的内部对象,用来存储消息 Message acknowledgment 消息回执 在实际应用中,可能会发生消费者收到Queue中的消息,但没有处理完成就宕机(或出现其他意外)的情况,这种情况下
MrTreasure
2018-05-10
1.1K0
Vue:(1)从80%搭建个人管理后台
前言 如果说有一个自己的服务器是一个后台程序员的浪漫,那么有一个个人的后台管理则是一个前端的浪漫。大大小小的仪表盘,各种丰富多彩的图表,形形色色的表单。每一个男孩子小时候都想着有一个自己的秘密仓库,里面有很多的工具,管理着自己所有的秘密。只是后来长大了,那些小时候的愿望不知道丢到哪里去了。还好作为一个程序员,虽然没有了自己的秘密仓库,但我还是能搭建一个管理后台,管理自己的所有网站。 传统的管理后台使用JQ+iframe的形式制作,这样导致了会有许多html页面,项目的结构复杂,维护起来也不方便。看过了许多J
MrTreasure
2018-05-10
3.7K1
实用主义:前端cookie介绍及操作封装
前言 前端开发中,少不了对cookie进行操作,那么cookie究竟是什么东西呢? Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于 RFC2109 和 2965 中的都已废弃,最新取代的规范是 RFC6265[1] 。(可以叫做浏览器缓存) ——百度百科 说白了cookie就是用来存储数据的,并且cookie可以通过HTTP请求进行同域传播(CORS跨域请求默认是不带的)。由于HTTP是无状
MrTreasure
2018-05-10
1K0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档