小编Kas*_*bbe的帖子

如何自动标记所需的内容,算法和建议

我正在使用一些非常庞大的报纸文章数据库,我将它们放在MySQL数据库中,我可以查询它们.

我现在正在寻找帮助我用一些描述性标签标记这些文章的方法.

所有这些文章都可以通过如下所示的URL访问:

http://web.site/CATEGORY/this-is-the-title-slug
Run Code Online (Sandbox Code Playgroud)

所以至少我可以使用该类别来确定我们正在使用的内容类型.但是,我也想基于文章文本进行标记.

我最初的做法是这样做:

  1. 获取所有文章
  2. 获取所有单词,删除所有标点符号,按空格分割,并按出现次数计算
  3. 分析它们,过滤常见的非描述性词语,如"他们","我","这个","这些","他们的"等.
  4. 当所有常用词被过滤掉时,唯一剩下的就是标记值得的词.

但事实证明这是一个相当手动的任务,而不是一个非常漂亮或有用的方法.

这也遭受了由空格分割的单词或名称的问题,例如,如果1.000篇文章包含名称"John Doe",并且1.000篇文章包含"John Hanson"的名称,我只会得到"John"这个词出于它,而不是他的名字和姓氏.

tags tagging nlp

28
推荐指数
4
解决办法
2万
查看次数

两个彼此依赖的对象.那不好吗?

当我为我的项目构建自己的系统时,我正在学习很多关于设计模式的知识.我想问你一个我无法找到答案的设计问题.

目前我正在使用多个客户端的套接字构建一个小型聊天服务器.现在我有三个班:

  1. 持有缺口,年龄和房间对象等信息的人类.
  2. 房间类,包含房间名称,主题和当前在该房间的人员列表等信息.
  3. 酒店级,其中包含人员列表和服务器上的房间列表.

我已经制作了一个图表来说明它:

我在酒店级服务器上有一个人员列表,因为现在跟踪在线有多少人会很好(不必遍历所有房间).这些人住在酒店级,因为我希望能够在不搜索房间的情况下搜索特定的人.

这是不好的设计吗?还有另一种实现方式吗?

谢谢.

oop dependencies dependency-management

7
推荐指数
2
解决办法
3258
查看次数

用于性能的Amazon AWS S3文件命名策略

我目前正在使用以下命名方案:

/#{bucket_name}/#{customer_name}/fi/le/na/filename.jpg
Run Code Online (Sandbox Code Playgroud)

因此,dsca007.jpg为客户命名的文件的图像bent将存储在此处:

/images/bent/ds/ca/00/dsca007.jpg
Run Code Online (Sandbox Code Playgroud)

但我可以理解S3想要一个不同的形式:

在此输入图像描述

资料来源:http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html

来源:https://www.youtube.com/watch?v = uXHw0Xae2ww#t = 535

我知道他们希望我将我的命名方案改为:

/#{bucket_name}/fi/le/na/#{customer_name})filename.jpg
Run Code Online (Sandbox Code Playgroud)

但他在YouTube视频中显示了这张幻灯片:

在此输入图像描述

这是否意味着我的第一种方法很好?

我真的很喜欢第一个结构,因为我能够获得一个客户拥有的文件列表,有没有办法用最后提到的命名方案列出客户下的所有文件?

通过运行此命令,可以很容易地确定每个客户使用的存储量:

s3cmd du s3://images/#{customer_name}
Run Code Online (Sandbox Code Playgroud)

我怎么能用新的命名方案呢?

naming file naming-conventions amazon-s3 amazon-web-services

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

Docker Swarm 集群与 DNS 联网并查询 SRV 记录

所以我有一个非常简单的 Docker Swarm 集群,首先我像这样初始化它:

apt-get update && apt-get upgrade
apt install docker docker-compose

docker stack deploy --prune --compose-file=docker-compose.yml testapp
Run Code Online (Sandbox Code Playgroud)

这是docker-compose.yml文件:

version: "3.7"

services:
  db:
    image: postgres:10.5-alpine
    environment:
      - POSTGRES_DB=test_app_production
      - POSTGRES_USER=test_app_user
      - POSTGRES_PASSWORD=test_app_password
    ports:
      - "5432:5432"
    deploy:
      replicas: 1
      restart_policy:
        condition: "on-failure"

  redis:
    image: redis:4.0.11-alpine
    ports:
      - "6379:6379"
    deploy:
      replicas: 1
      restart_policy:
        condition: "on-failure"
Run Code Online (Sandbox Code Playgroud)

如何查询 docker DNS 中的 SRV 记录?我知道我可以查询 DNS 并获得循环答案:

ping db
Run Code Online (Sandbox Code Playgroud)

但是我如何告诉集群每个服务有哪些 SRV 记录,以及如何从其他容器查询它们?

dns docker docker-compose docker-swarm moby

5
推荐指数
0
解决办法
699
查看次数

为什么NGINX想要使用./logs/error.log作为默认值?

我目前想在我的Rails设置中使用NGINX.我已将配置文件放在目录中RAILS_ROOT/config/nginx.这是我的配置文件放置命名development.confmime.types-file.

我想将我的日志放在RAILS_ROOT/log-directory中.

这是我的development.conf:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
  include       mime.types;
  default_type  application/octet-stream;

  # main access log
  access_log log/nginx.access.log;

  # main error log
  error_log log/nginx.error.log debug;

  sendfile      on;

  keepalive_timeout  65;

  server {
    listen 9001; #omg!
    server_name local.woman.dk;

    rewrite ^/(.*)/$ /$1 last;

    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_max_temp_file_size  0;

    location / {
      ssi on;
      proxy_pass http://127.0.0.1:3000;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我使用此命令从我的RAILS_ROOT启动NGINX:

nginx -p …
Run Code Online (Sandbox Code Playgroud)

nginx osx-lion

4
推荐指数
2
解决办法
8016
查看次数

两个 Grafana 面板 singlestat 和具有相同查询的图形之间的区别

我创建了以下 Grafana 仪表板:

在此处输入图片说明singlestat面板使用以下查询:

SELECT sum("value") FROM "rails.pageviews" 
WHERE $timeFilter 
GROUP BY time($__interval) fill(null)
Run Code Online (Sandbox Code Playgroud)

图面板采用了完全相同的查询:

SELECT sum("value") FROM "rails.pageviews" 
WHERE $timeFilter 
GROUP BY time($__interval) fill(null)
Run Code Online (Sandbox Code Playgroud)

如何让单统计面板显示总浏览量?它应该是 12 (8+2+2) 而不是 4,对吧?


当我调试从 Influxdb 返回的数据时:

response:Object
  results:Array[1]
    0:Object
    statement_id:0
    series:Array[1]
      0:Object
      name:"rails.pageviews"
      columns:Array[2]
        0:"time"
        1:"sum"
      values:Array[73]
        0:Array[1530870900000,null]
        (...)
        37:Array[1530882000000,null]
        38:Array[1530882300000,8]
        39:Array[1530882600000,null]
        (...)
        44:Array[1530884100000,null]
        45:Array[1530884400000,2]
        46:Array[1530884700000,null]
        (...)
        53:Array[1530886800000,null]
        54:Array[1530887100000,2]
        55:Array[1530887400000,null]
        (...)
        72:Array[1530892500000,null]
Run Code Online (Sandbox Code Playgroud)

time influxdb grafana

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