编程语言
未读JAVASCRIPT 简介javascript 最初被创建的原因是作在浏览器环境中使得浏览器的交互效果更加生动 javascript 这种编程语言写出来的程序称之为脚本 ,即是可以被直接写在网页的 HTML 中,在页面加载的时候自动执行。脚本被以纯文本的形式提供和执行。它们不需要特殊的准备或编译即可运行 发展到如今 JavaScript 不仅能在浏览器中执行,也可以在服务端执行,甚至可以在任意存在 Javascript 引擎的设置中执行 浏览器中嵌入了 JavaScript 引擎,有时也称作“JavaScript 虚拟机”。 比如:V8(javascript engine)、SpiderMonkey 等 引擎是如何工作的? 引擎很复杂,但是基本原理很简单。 引擎(如果是浏览器,则引擎被嵌入在其中)读取(“解析”)脚本。 然后,引擎将脚本转化(“编译”)为机器语言。 然后,机器代码快速地执行。 引擎会对流程中的每个阶段都进行优化。它甚至可以在编译的脚本运行时监视它,分析流经该脚本的数据,并根据获得的信息进一步优化机器代码。 浏览器中的 JavaScript 能做什么?现代的 ...
工程治理工程管理GITssh key configssh(secure shell)是一种加密网络传输协议,用于在不安全的网络环境中提供安全的方式来访问网络服务,SSH 协议主要是用来远程登录、管理系统、安全传输文件等,在数据传输的过程中采用加密保证数据的安全性和完整性 ssh 协议通信的基本流程: SSH 版本协商阶段:服务器监听 22 端口信息,客户端发送 TCP 连接,建立请求,服务端返回一个 SSH 信息给客户端判断 密钥和算法协商阶段 客户端认证 会话请求 交互会话 ssh:SSH 客户端实现 & scp, sftp:rcp 的替代方案,传输文件 & sshd:SSH 服务端的视线 & ssh-keygen:产生 RSA 或 ECDSA 密钥,用来认证 & ssh-agent, ssh-add:帮助用户不需要每次输入密钥或密码的工具 & ssh-keysacn:收集大量主机的 ssh 主机公钥 Ssh-keygen 参数:-C (comment) - 提供一个注释 -t (type) - 提供生成的密钥类型 -b (bits) - ...
前言: 在七月份面试了整整四个星期拿到了满意的实习offer, 于是发篇博客记录一下 (主要包括内容是: 上一段实习 + 面经 + 感想) 第一段实习经历第一段实习是在明汯投资管理里面做实习生, 因为是第一段实习所以还是格外的珍惜, mentor对我很好, 总会请我喝咖啡, 吃饭和聊天, 遇到的人都是很好的人, 而且也不执行打卡制度,下午六点钟大伙就都走的差不多了,唯一的缺点是公司规模很小, 也不是互联网公司, 开发流程很草台班子, 开发人员也很少(? ) 收获沟通能力可能增加了一点(? ) 也变得更加自信了(确信), 也在mt的建议下多去找人交流沟通, 锻炼自己的表述能力, 多去表达一下自己, 能够锐利一点可以抓住事情的重点. 这些都是我欠缺的部分, 也在一直慢慢的改善!!! 七月的全部面试 快手(电商 - 杭州): 一面秒挂 滴滴(北京日常实习): 一面挂, 另外投了暑期实习国际化的岗位, 两轮技术面一轮总leader面, 最后offer 炎魂网络(杭州): 线下一面, offer 字节跳动国际电商(珠海): 一面二面过, 三面挂 字节跳动AILab(上海): 两轮技术面一 ...
网络库的封装和实现背景 背景: 虽然在前端领域有很多成熟的请求库, 但是在实际的开发过程中, 很难符合契合实际的开发需求 比如经典的库: axios 并不具备以下功能 请求重试 请求缓存 请求幂等 请求串行 请求并发 … SWR / VueRequest 虽然提供的三方功能很多, 仍然存在 与上层框架过度绑定导致开发场景受限, 无法提供统一的 API 成熟度不很完全(?) 不能自己随时开口子改设计 没有聚合基础的请求库, 依然需要手动整合 公共库并不包含内部制定的协议规范, 即便使用公共库,也需要进行二次封装 需要自行封装一套适配公司业务的前端请求库 方案和设计库结构的宏观设计 整个库结构包含三层, 从下往上依次是: 请求实现层: 提供请求基本功能 request-core: 提供网络上层控制, 比如请求串行, 请求并行, 请求重试, 请求防重等功能 request-bus: 为请求绑定业务功能, 该层是接入公司内部协议规范和接口文档, 向外提供业务接口 API 层是对代码逻辑的划分,具体实现有很多种 每一层是一个包, 可以使用多包管理(momorepo) ...
基本语法HelloWorld简单示例1234package mainfunc main(){ fmt.Println("Hello World!")} 终端运行 12$ go run helloworld.goHello World go run表示直接运行 直接编译 go 语言并执行应用程序,一步完成 也可以先 go build helloworld.go || ./helloworld.go build成静态语言然后在执行 go 语言的语言, 写出规范的一致代码是很重要的 比如写函数的时候’{‘ 必须和函数名在同一行 建议使用 go 的默认格式化程序来约束 上面的执行流程是 package main: 定义了包名 必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main 表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包 import “fmt”: 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入 ...
leetcode
未读2023/12/27/10:56leetcode 2660 easy 1234567891011121314151617/** * @param {number[]} player1 * @param {number[]} player2 * @return {number} */var isWinner = function (player1, player2) { let sum1 = 0, sum2 = 0 const generate = (player, index) => (player[index - 1] === 10 || player[index - 2] === 10 ? 2 : 1) * player[index] for (let i = 0; i < player1.length; i++) { sum1 += generate(player1, i) sum2 += generate(player2 ...
TypeScript 简介TypeScript 作为 Javascript 语言的超集、为 JavaScript 添加可选择的类型标注,大大的增加了代码的可维护性和迭代性。同时会不断的发展 javascript 的新特性,是现在流行的前端技术 TypeScript 的特点 始于 JavaScript,归于 JavaScriptTypeScript 终归是通过编译形成 Javascript 可以运行在任何浏览器上和 nodejs 等运行时环境中 强大的工具构建大型应用程序 类型允许 JavaScript 开发者在开发 JavaScript 应用程序时使用高效的开发工具和常用操作比如静态检查和代码重构。 类型是可选的,类型推断让一些类型的注释使你的代码的静态验证有很大的不同。类型让你定义软件组件之间的接口和洞察现有 JavaScript 库的行为。 先进的 JavaScript TypeScript 提供最新的和不断发展的 JavaScript 特性,包括那些来自 2015 年的 ECMAScript 和未来的提案中的特性,比如异步功能和 Decorators,以帮助建立健壮的组件。 ...
应用题lodash 中的 get 函数123456789101112131415161718192021function _get( origin: Record<string, any>, path: string | string[], defualtValue: any = 'explosion') { // judge if (typeof path === 'string') { // match const reg = /[^\[\].]+/g path = path.match(reg) as string[] } let result = origin for (const key of path) { if (result && typeof result === 'object' && key in result) { result = result[key] ...
工程化配置momorepo简介由于我们React库中有React-dom库,React-native库等等等,为了管理这些工程文件库可以使用momorepo来进行版本控制和管理 momorepo: 一种项目库的管理方式 可以很方便的协同管理不同独立的库的生命周期 一些简单的工具:npm-workspace、Yarn-workspace、pnpm-workspace 专业工具:nx、bit、turborepo、rush、lerna 包管理器选择pnpm作为我们项目的包管理器 安装依赖更快 解决了npm的一些疑难问题 pnpm 初始化 12npm install -g pnpmpnpm init pnpm实验momorepo:建立 pnpm-workspace.yaml文件去书写配置 1234567packages: # all packages in direct subdirs of packages/ - 'packages/*' # all packages in subdirs of components/ - 'component ...