Loading...
346 1 分钟

# 0.ns3 推荐资料 # 前言 随着 2008 年 6 月 ns3 第一个稳定版本的但是,在学术界研究和使用 ns3 的文献逐年增多,然而当前介绍 ns3 的资料确非常少,甚至很多都还是停留在 first.cc 的运行。为了记录下学习 ns3 的过程和分享一些经验吧,写了这样一个专题。希望能有所帮助。 # 资料 NS3 官方文档,非常适合查看 ns3 的 api Documentation | ns-3 相关博客 ns3 系列博客,讲述了一些常见模块代码层面上的一些内容。 中文书籍,入门用的,很杂但内容不深 ns3 网络模拟器基础及应用 ns3 强化学习模块 GitHub -...
383 1 分钟

# 推荐一个前端 js 练习网站 # 1. 背景 通常面试的时候,面试官会提一些 JavaScript 手写的面试题,主要是为了考察面试者 JavaScript 基础的掌握程度。这些题目一般包含一些常用 api 或者功能的简单实现。练习的时候虽然也能写出来,但是因为并不能确定是否满足所有情况,对于正确性无法确定。 基于上述背景,推荐一个很好用的前端 js 练习网站 Front-End Interview Coding Problems | BFE.dev - prepare for Front-End job interviews. # 2. 介绍 该网站包含 175 道题,大部分是前端...
4.3k 4 分钟

# formily 表单初识 # 背景 Formily 是 alibaba 开源表单框架,抽象了表单领域模型的 MVVM 表单解决方案。 这里引用官网的介绍: 众所周知,表单场景一直都是前端中后台领域最复杂的场景,它的复杂度主要在哪里呢? 字段数量多,如何让性能不随字段数量增加而变差? 字段关联逻辑复杂,如何更简单的实现复杂的联动逻辑?字段与字段关联时,如何保证不影响表单性能? 一对多 (异步) 多对一 (异步) 多对多 (异步) 表单数据管理复杂 表单值转换逻辑复杂...
3k 3 分钟

# 在 React JS 应用程序中借助 Google Tag Manager 实现 Google Analytics # 背景 几乎每个网站都会统计自身的浏览状况:日 IP、PV、跳出率、转换率、浏览者属性等等。了解这些数据有助于更好地改进服务。 Google Analytics 是一个非常好用的用户活动追踪工具,可以满足大多数需求,接下来会介绍一些如何在 React JS 应用程序中实现 Google Analytics(GA) 和 Google Tag Manager(GTM) 。 # 介绍 # GTM GTM...
3.2k 3 分钟

# react 自定义 hook # 1. 什么是自定义 hook 自定义 Hook 是一个函数,其名称以 “use” 开头,函数内部可以调用其他的 Hook。 函数名 :以 “use” 开头,比如 useState。为什么要以 “use” 开头。这是因为,如果不以 “use” 开头的话,无法判断这个函数是否包含对其内部 Hook 的调用,React 将无法自动检查这个自定义 Hook 是否违反了 Hook 的规则。 参数 :并没有特殊要求,只是 React 官网中有提到过,可以接收另一个 Hook 的返回值作为参数,实现在多个 Hook 之间传递信息的功能。 函数内部...
503 1 分钟

# js 中的事件委托 # 服务端渲染与客户端渲染 # 概念: 服务端渲染 (SSR): ​ 在服务器端完成把数据和模板转换成最终的 HTML 文件,然后浏览器接收到这个文件,就可以直接解析展示。 客户端渲染 (CSR) ​ 一个网页是由 JS 在客户端渲染出来的,而不是服务器直接返回回来的。 # 服务端渲染优缺点 # 优点: 不占用前端的资源,前端耗时少,尤其是移动端,也可以更省电。 有利于 SEO。因为在后端有完整的 html 页面,所以爬虫更容易爬取获得信息 使用服务器页面缓存,这样就可以减少数据库查询浪费的时间了,且对于数据变化不大的页面非常高效 。 #...
5.9k 5 分钟

# js 中的事件委托 ​ 那什么叫事件委托呢?它还有一个名字叫事件代理, JavaScript 高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子,就是取快递来解释这个现象,我仔细揣摩了一下,这个例子还真是恰当,我就不去想别的例子来解释了,借花献佛,我摘过来,大家认真领会一下事件委托到底是一个什么原理: ​ 有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台 MM...
1.7k 2 分钟

# 6. Z 字形变换 难度:中等 # 题目: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行  Z 字形排列。 比如输入字符串为 "PAYPALISHIRING"  行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如: "PAHNAPLSIIGYIR"。 请你实现这个将字符串进行指定行数变换的函数: string convert(string s, int numRows); 示例...
2k 2 分钟

# 优先队列 js 写法 ​ 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。 而在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出的行为特征。实际上采用的是二叉堆的形式进行存储。由于 js 没有提供现成的优先队列,所以记录一下其 js 的实现过程。 # 思路: ​ 对于一个完全二叉树来说,一个节点的编号为 i (从 0 开始计算),则其父节点的编号为 Math.floor((i-1)/2 , 其左右子节点的编号为 2*i+1 、 2*i+2 。此外对于一个堆来说最重要的就是插入和删除操作。 #...
4k 4 分钟

# react 简易版 useState 实现方式 # 前言: ​ react 的 hooks 是应用的很常见的一个技术,而 useState 更是一个很常见的 hook , 这里介绍其实现方式。写法实际上是 react 源码的简化版。 # 思路: ​ 那么首先我们需要知道 hooks 的基础用法。对于 useState 来说比较常见的用法是 function APP(){ const [val,setVal]=useState(initialVal); ... setVal((val)=>{ ......