小编fen*_* ce的帖子

npm会缓存程序包吗?

在我的服务器中,npm不缓存任何程序包,并且缓存目录为空。

#www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ nvm current
v9.4.0
# www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ npm config get cache
/home/www/.npm
# www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ ls
anonymous-cli-metrics.json  _cacache  _locks
Run Code Online (Sandbox Code Playgroud)

我的npm配置

www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ npm config ls
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/5.6.0 node/v9.4.0 linux x64"

; node bin location = /home/www/.nvm/versions/node/v9.4.0/bin/node
; cwd = /home/www/.npm
; HOME = /home/www
; "npm config ls -l" to show all defaults.
Run Code Online (Sandbox Code Playgroud)

===== 更新

我发现在node@5.0 npm之后,将缓存数据存储在已配置的缓存中一个不透明的目录中,名为_cacache。https://docs.npmjs.com/cli/cache

www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ du -h --max-depth=1
56M ./_cacache
4.0K    ./_locks
8.0K    ./node-sass
56M .
Run Code Online (Sandbox Code Playgroud)

_cacache目录只有56MB

www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ …
Run Code Online (Sandbox Code Playgroud)

node.js npm npm-install

8
推荐指数
1
解决办法
5738
查看次数

在 PostGIS 中,哪一种是计算两点之间距离的最准确方法?

我在 postgis 中遇到了 st_distance 函数的问题。我有三种计算距离的方法,但我不知道哪种方法最准确。

SELECT ST_Distance('POINT(115.25 39.26)'::geography, 'POINT(117.30 41.04)'::geography) as distance;
--result is 263753.911823565
SELECT ST_Distance_Sphere(ST_GeomFromText('POINT(115.25 39.26)',4326), ST_GeomFromText('POINT(117.30 41.04)',4326)) as distance;
--result is 263674.468686404
SELECT ST_Distance( ST_Transform(ST_GeomFromText('POINT(115.25 39.26)',4326),32650),ST_Transform(ST_GeomFromText('POINT(117.30 41.04)', 4326),32650)) as distance;
--result is 263669.651755417
Run Code Online (Sandbox Code Playgroud)

gis postgresql geometry postgis

2
推荐指数
1
解决办法
661
查看次数

高并发下Go`net/http`的一些混淆

高并发下的一些混乱.

我用WRK测试杜松子酒,还有成才的不确定性.杜松子酒似乎并不安全.

  package main

  import (
    "fmt"
    "sync/atomic"

    "github.com/gin-gonic/gin"
  )

  var count int64 = 0

  func Test(c *gin.Context) {
    atomic.AddInt64(&count, 1)
    fmt.Println(count)
    c.String(200, "success")
  }

  func main() {
    gin.SetMode(gin.DebugMode)
    router := gin.New()
    router.GET("test", Test)
    router.Run(":8080")
  }
Run Code Online (Sandbox Code Playgroud)

测试shell代码

  wrk -t50 -c50 -d 1s http://localhost:8080/test
Run Code Online (Sandbox Code Playgroud)

杜松子酒输出重复数据

重复数据

======== ========更新

即使打印代码是这样的.

  countCopy := count
  go func() {
    fmt.Println(countCopy)
  }()
Run Code Online (Sandbox Code Playgroud)

我也用ab测试吧,同样的问题.

======== ========更新

与net/http相同,仍然有重复数据.

  package main

  import (
    "fmt"
    "net/http"
    "sync/atomic"
  )

  var count int64 = 0

  func Test(w http.ResponseWriter, req …
Run Code Online (Sandbox Code Playgroud)

logging gwt-gin go

0
推荐指数
1
解决办法
72
查看次数

标签 统计

geometry ×1

gis ×1

go ×1

gwt-gin ×1

logging ×1

node.js ×1

npm ×1

npm-install ×1

postgis ×1

postgresql ×1