我正在使用一些非常庞大的报纸文章数据库,我将它们放在MySQL数据库中,我可以查询它们.
我现在正在寻找帮助我用一些描述性标签标记这些文章的方法.
所有这些文章都可以通过如下所示的URL访问:
http://web.site/CATEGORY/this-is-the-title-slug
Run Code Online (Sandbox Code Playgroud)
所以至少我可以使用该类别来确定我们正在使用的内容类型.但是,我也想基于文章文本进行标记.
我最初的做法是这样做:
但事实证明这是一个相当手动的任务,而不是一个非常漂亮或有用的方法.
这也遭受了由空格分割的单词或名称的问题,例如,如果1.000篇文章包含名称"John Doe",并且1.000篇文章包含"John Hanson"的名称,我只会得到"John"这个词出于它,而不是他的名字和姓氏.
当我为我的项目构建自己的系统时,我正在学习很多关于设计模式的知识.我想问你一个我无法找到答案的设计问题.
目前我正在使用多个客户端的套接字构建一个小型聊天服务器.现在我有三个班:
我在酒店级服务器上有一个人员列表,因为现在跟踪在线有多少人会很好(不必遍历所有房间).这些人住在酒店级,因为我希望能够在不搜索房间的情况下搜索特定的人.
这是不好的设计吗?还有另一种实现方式吗?
谢谢.
我目前正在使用以下命名方案:
/#{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
所以我有一个非常简单的 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 记录,以及如何从其他容器查询它们?
我目前想在我的Rails设置中使用NGINX.我已将配置文件放在目录中RAILS_ROOT/config/nginx.这是我的配置文件放置命名development.conf和mime.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) 我创建了以下 Grafana 仪表板:
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)