Jimliu


一只刚上路的前端程序猿


  1. 关于项目的一些总结(一)

    在公司工作3年有余,主导经历的项目大大小小也有十几个,挑一些有代表性的项目来做一些总结。 酒店收益–预测分析平台先上一个数据的流程图: 数据来源系统数据来源有两个: 酒店订房系统(PMS)直连数据 酒店用户上传数据 因为与我们合作的PMS服务商数量有限,一部分使用我们系统的酒店用户采用的是其他厂商的PMS,只能通过上传数据来使用预测分析平台。 PMS直连数据 PMS数据到达我们公司内部大数据 …

    于  js, node 继续阅读

  2. cookie SameSite

    背景1.我们业务系统有被第三方系统嵌套使用,通过Node端下发cookie来实现一键登录。 2.Chrome 80.0中将SameSite的默认值设为Lax。 解释SameSite详解SameSite Cookie,防止 CSRF 攻击因为 HTTP 协议是无状态的,所以很久以前的网站是没有登录这个概念的,直到网景发明 cookie 以后,网站才开始利用 cookie 记录用户的登录状态。cook …

    于  chrome, js 继续阅读

  3. 再谈跨域

    之前有写过什么样情况下是跨域和一般跨域的解决方案。 之前状态我在工作中 一般遇到跨域会通过jsonp或者同域代理来解决。一般情况下不需要使用其他的技术方案。 需求场景前端: 各个独立域名的系统需要统一公共头及导航。对接统一的用户中心及导航权限。 后端: 使用node像前端下发,需要当前用户权限。 开发我开始按照正常开发接口来进行开发,调试,ok接口没问题。交给同组负责前端同事。 他一调,接口报错。 …

    于  js 继续阅读

  4. JavaScript 如何工作:V8引擎内部+关于如何编写优化代码的5个技巧

    原文地址 几周之前,我们开始了一系列旨在深入挖掘JavaScript及其实际工作原理的系列:我们认为通过了解JavaScript的构建块以及它们如何共同发挥作用,您将能够编写更好的代码和应用程序。 本系列的第一篇文章重点介绍了引擎,运行时和调用堆栈的概述。 第二篇文章将深入探讨谷歌V8 JavaScript引擎的内部部分。 我们还将提供一些关于如何编写更好的JavaScript代码的快速提示 - …

    于  js, 翻译 继续阅读

  5. [转]JavaScript 如何工作:对引擎、运行时、调用堆栈的概述.

    1原文地址: https://juejin.im/post/5a05b4576fb9a04519690d42#comment 随着JavaScript越来越流行,越来越多的团队广泛的把JavaScript应用到前端、后台、hybrid 应用、嵌入式等等领域。 这篇文章旨在深入挖掘JavaScript,以及向大家解释JavaScript是如何工作的。我们通过了解它的底层构建以及它是怎么发挥作用的,可 …

    于  js 继续阅读

  6. 前端下载文件

    简介前端下载文件是一个非常常见的需求,但由于浏览器的安全策略的限制,我们通常只能通过一个额外的页面,访问某个文件的 url 来实现下载功能,但是这种用户体验非常不好。不过HTML5提供了download的属性。 1<a href="http://somehost/somefile.zip" download="filename.zip">下载文件</a> 上面的例子就是HT …

    于  js 继续阅读

  7. js中引入模块那些事

    系统的总结一下 js 引入模块的方式。 主流模块及规范在es6以前,还没有提出一套官方的规范,从社区和框架推广程度而言,目前通行的javascript模块规范有两种:CommonJS 和 AMD CommonJS在CommonJS中,暴露模块使用module.exports和exports;在一个node执行一个文件时,会给这个文件内生成一个 exports和module对象,而module又有一 …

    于  js 继续阅读

  8. JavaScript错误类型

    1.Error对象JavaScript解析或执行时,一旦发生错误,引擎就会抛出一个错误对象。JavaScript原生提供一个Error构造函数,所有抛出的错误都是这个构造函数的实例。12var err = new Error('出错了');err.message // "出错了" Error构造函数接受一个参数,表示错误提示,可以从实例的message属性读到这个参数。 根据语言标准,Error对 …

    于  js 继续阅读

  9. 前端代码错误收集(一)

    前端的异常收集常用的两种方式: 1.try catch使用一个webpack的loader babel_try_catch_loader对js代码进行包裹。打包完成后,所有的函数块会被加上try catch 我们只需在全局空间定义catch的函数,然后进行收集。使用try catch 我们可以捕获到 1.错误信息 2.文件名 3.函数块行号 4.函数名称 当然其他的一些信息我们可以在catch的 …

    于  js 继续阅读

  10. 跨域

    什么是跨域:1234567891011121314151617URL 说明 是否允许通信http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许http://www.a.com/lab/a.jshttp://www.a.com/script/b.js 同一域名下不同文件夹 允许http: …

    于  js 继续阅读