小编dib*_*ndu的帖子

如何在每次"npm install <package>"运行后运行安装后脚本

我正在维护以下目录结构:

/home/user/Desktop/
                 |-- app/
                 |      |-- package.json
                 |      `-- server.js
                 |-- node/
                 |      |-- bin/
                 |      |      |-- node
                 |      |      `-- npm
                 |      |-- include/
                 |      |-- lib/
                 |      `-- share/
                 |
                 `-- npm.sh
Run Code Online (Sandbox Code Playgroud)

我希望我所有本地安装的节点模块都驻留在目录中node.也就是说,如果我npm install在目录中运行app,最初它会将模块安装在当前目录(app)中,然后将node_modules文件夹移动到名为的外部目录node.为此,我编写了一个脚本npm.sh并将mv(move)命令放在postinstall脚本中package.json.

这些是文件npm.shpackage.json.

内容npm.sh:

#/bin/bash

export PATH=/home/user/Desktop/node/bin:$PATH
export NODE_PATH=/home/user/Desktop/node/node_modules
export NODE_MODULE_ROOT=/home/user/Desktop/node
/bin/bash
Run Code Online (Sandbox Code Playgroud)

内容app/package.json:

{
  "name": "app",
  "version": …
Run Code Online (Sandbox Code Playgroud)

node.js npm node-modules npm-install npm-scripts

7
推荐指数
1
解决办法
1517
查看次数

浏览器多次发送对相同内容(PNG 图像)的请求

我有一个名为icons.png的 PNG 文件托管在apache服务器上。基本上这个文件是其他小图像元素(CSS Sprite)的组合。当页面第一次加载时,此文件会以正常的200 OK响应加载。

页面加载后;有一些链接悬停在其上触发自定义工具提示。此工具提示icons.png文件中的部分图像显示为某些HTML 元素的背景图像

例如 HTML 代码是这样的:

jQuery(".profile").tipTip({delay: 200, defaultPosition: "top", content: "<a href='#' style='width: 32px; height: 32px; display: block; 背景:网址(图像/图标.png) no-repeat -200px -64px'></a>"});

[HTML 文件中还有一些其他地方引用了icons.png ]


现在,每次我将鼠标悬停在链接上时,都会显示工具提示,但同时浏览器会向服务器发送一个 HTTP 请求以获取icons.png文件。来自服务器的响应代码是304 Not Modified

虽然没有获取文件的内容,但是每次发送标头(大约 166 字节)的开销仍然存在,这反过来又导致了1.5 秒延迟我的连接速度很慢)。在这段 1.5 秒的时间里,工具提示元素没有背景图像 & 突然图像突然出现。


这是一些屏幕截图

  • Chrome 网络面板:

铬合金

  • 萤火虫网面板:

火狐

  • HTTP 标头: …

cache-control browser-cache http-status-code-304

5
推荐指数
1
解决办法
4687
查看次数

在小于O(n)比较中找到3个最小元素的时间复杂度

关于确定2种算法的时间复杂度,我有2个问题.

问题1

使用比较确定一组n个 不同数字中的最小3个数字.

  1. 可以使用O(log 2 n)比较来确定这3个元素.
  2. O(log 2 n)不够,但可以使用n + O(1)比较来确定它们.
  3. n + O(1)是不够的,但是可以使用n + O(logn)比较来确定它们.
  4. n + O(logn)不够,但可以使用O(n)比较来确定它们.
  5. 以上都不是.

在这里,我想它的方式是采取3个变量(如:MIN 1,MIN 2和MIN 3,其中MIN 1是最小和最小值,3是最大的,这些3),与1个初始化它们ST的3个要素列表并扫描列表一次.对于列表中的每个数字x,我们有以下4种情况:

  1. 如果 x <最小1 那么,最小3 =最小2 ; 最小2 =最小1 ; 最小1 = x;
  2. 否则如果 Min 1 <x <Min 2 Min 3 = Min 2 ; 最小 …

algorithm big-o time-complexity

5
推荐指数
1
解决办法
463
查看次数