小编Ada*_*tan的帖子

静态类何时初始化?

考虑一个只有静态字段Java类,没有构造函数:

public class OnlyStatic {
   static O1 o1 = new o1();
   static O2 o2 = new o2();

   public static int compute(int whatever) {
       return o1.foo+o2.bar+whatever;
   }
}
Run Code Online (Sandbox Code Playgroud)

在另一个类中,使用该方法compute,或者通过static import:

static import OnlyStatic.compute
int a = OnlyStatic.compute(3);
Run Code Online (Sandbox Code Playgroud)

或者直接假设调用者在同一个包中:

int a = OnlyStatic.compute(3);
Run Code Online (Sandbox Code Playgroud)

o1和o2何时初始化?在导入时,还是compute()第一次调用时?

java import initialization static-import

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

Unicode字符和浏览器

考虑一个编码为UTF-8的HTML页面,其中出现一个奇怪的unicode字符 - 形成一种罕见的语言或其他一些Unicode特性.

这种情况是否存在标准行为?浏览器会尝试找到合适的字体吗?可以使用HTML参数配置浏览器行为吗?

browser unicode html5 fonts

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

Graphviz:控制节点在子图中对齐

考虑以下子图,包含5个Mrecod节点:

在此输入图像描述

有没有办法强制垂直方向,节点在彼此之上?rankdir=TB在子图中试过,没有效果.

我在Ubuntu下运行graphviz,没有特殊参数:

dot -Tpng graph.dot -o img/graph.png
Run Code Online (Sandbox Code Playgroud)

graphviz subgraph orientation nodes

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

SQL:创建一个包含24小时行的表

在PostreSQL中,使用日期和当前小时创建时间戳相当容易:

vioozer=> SELECT to_char(NOW(), 'YYYY-MM-DD HH24:00');
     to_char
------------------
 2014-08-12 12:00
(1 row)
Run Code Online (Sandbox Code Playgroud)

前一小时可以使用NOW()-interval '1 hour'以下方式显示:

vioozer=> SELECT to_char(NOW()-interval '1 hour', 'YYYY-MM-DD HH24:00');
     to_char
------------------
 2014-08-12 11:00
(1 row)
Run Code Online (Sandbox Code Playgroud)

有没有办法在过去的24小时内轻松生成一个包含24列的表格,a-la:

vioozer=> SELECT MAGIC_FROM_STACK_OVERFLOW();
     to_char
------------------
 2014-08-12 12:00
 2014-08-12 11:00
 2014-08-12 10:00
 ...
 2014-08-11 13:00
(24 row)
Run Code Online (Sandbox Code Playgroud)

sql postgresql time

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

非贪婪 nginx 位置正则表达式返回 404 错误

我想配置一个 nginxlocation指令来重定向以下 URL:

/api/v2/<map_id>/region
Run Code Online (Sandbox Code Playgroud)

到:

http://SOME-URL/api/v2/<map_id>/region
Run Code Online (Sandbox Code Playgroud)

哪里map_id有不包含 的字符串/

我努力了:

location /api/v2/((?U).*)/region {
    proxy_pass http://SOME-URL/api/v2/$1/region;
}
Run Code Online (Sandbox Code Playgroud)

但我仍然收到 404 错误。我也尝试过替换$1$2,但没有运气。

有什么想法如何修复这个正则表达式吗?

更新 - 修复了区域差异。

regex pcre nginx

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

git:无法创建上游分支

问题

由于这个git(或github?)特性,我要去香蕉 - 我已经创建了一个新的分支,但是我无法将它推送到github上的上游回购.这不是我推动这个回购的第一个分支,到目前为止一切顺利.

演练

我创建了一个新的分支:

$ git checkout -b adam/no-push-bugfix
Run Code Online (Sandbox Code Playgroud)

对文件进行了一些更改,并添加了一些(这意味着某些更改未提交):

$ git add --patch path/to/some/file
Run Code Online (Sandbox Code Playgroud)

确保更改是正确的:

$ git diff --staged
$ git commit -v
$ git status
Run Code Online (Sandbox Code Playgroud)

并试图推动:

$ git push --set-upstream origin adam/no-push-bugfix
$ fatal: adam/whatever-name-bugfix cannot be resolved to branch.
Run Code Online (Sandbox Code Playgroud)

知道为什么我的新分支从上游被拒绝了?

git branch github upstream-branch

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

GeoAlchemy2:得到一个点,一点点

考虑以下SQLAalchemy/ GeoAlchemy2ORM和几何字段:

from geoalchemy2 import Geometry, WKTElement

class Item(Base):

    __tablename__ = 'item'

    id = Column(Integer, primary_key=True)
    ...
    geom = Column(Geometry(geometry_type='POINTZ', srid=4326))
Run Code Online (Sandbox Code Playgroud)

当我更新PostgreSQL shell中的项目时:

UPDATE item SET geom = st_geomFromText('POINT(2 3 0)', 4326) WHERE id = 5;
Run Code Online (Sandbox Code Playgroud)

获取该字段:

items = session.query(Item).\
    filter(Item.id == 3)

for item in items:
    print item.geom
Run Code Online (Sandbox Code Playgroud)

得到:

01e9030000000000000000004000000000000008400000000000000000
Run Code Online (Sandbox Code Playgroud)

这不是一个合适的WKB - 至少,它没有用Shapelyloads解析.

我如何获得该领域的lat/ ?longeom

gis postgis wkt geoalchemy2 wkb

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

如何在AWS js SDK中配置区域?

我的问题

我正在编写一个简单的js函数,该函数从AWS CloudWatch Logs中读取一些信息。

遵循Node.js AWS开发工具包中的配置区域中的答案以及AWS nodejs SDK文档中的内容,我提出了以下内容:

var AWS = require('aws-sdk');

var cloudwatchlogs = new AWS.CloudWatchLogs();

console.log(AWS.config.region)              // Undefined

AWS.config.region = 'eu-central-1'          // Define the region with dot notation
console.log(AWS.config.region) .            // eu-central-1

AWS.config.update({region:'eu-central-1'}); // Another way to update
console.log(AWS.config.region) .            // eu-central-1


var params = {
  limit: 0,
//   logGroupNamePrefix: 'STRING_VALUE',
//   nextToken: 'STRING_VALUE'
};

// This call is failing
cloudwatchlogs.describeLogGroups(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js aws-sdk aws-sdk-js aws-regions

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

减少无服务器框架发送的节点模块zip的大小

我正在使用无服务器框架编写一些nodejs函数。该package.json文件需要一些依赖项:

{
  "name": "adam-test-sls",
  "version": "0.1.0",
  "description": "Test package to play with sls/lambda",
  "main": "handler.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Adam Matan <adam@binaris.com>",
  "license": "UNLICENSED",
  "dependencies": {
    "aws-sdk": ">= 2.0.9",
    "json": "^9.0.6",
    "underscore": "^1.8.3",
    "uuid": "^3.1.0"
  },
  "devDependencies": {
    "eslint": "^4.2.0",
    "eslint-config-airbnb": "^15.0.2",
    "eslint-config-airbnb-base": "^11.2.0",
    "eslint-plugin-import": "^2.7.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

node-modules目录的大小几乎为50mb:

# du -smc node_modules
47  node_modules
47  total
Run Code Online (Sandbox Code Playgroud)

压缩时间约为9.5MB,部署时间超过35秒:

# time serverless deploy function --function hello -v …
Run Code Online (Sandbox Code Playgroud)

dependencies node.js npm aws-lambda serverless-framework

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

Filebeat:监控两级目录层次结构

我的问题

考虑以下目录结构:

/var/log/quodo/campaigns/deployment_29/campaign-32/users.log
/var/log/quodo/campaigns/deployment_29/campaign-12/ads.log
/var/log/quodo/campaigns/deployment_55/campaign-77/users.log
/var/log/quodo/campaigns/deployment_55/campaign-37/ads.log
...
Run Code Online (Sandbox Code Playgroud)

/var/log/quodo/campaigns/<whatever1>/<whatever2>我想使用 Filebeat将所有日志发送到 ElasticSearch。

Filebeat不具有目录的递归监控功能

要从预定义级别的子目录中获取所有文件,可以使用以下模式:/var/log/*/*.log.

这会.log从 的子文件夹中获取所有文件/var/log。它不会从/var/log文件夹本身获取日志文件。目前不可能递归地获取目录的所有子目录中的所有文件。

我尝试过什么

filebeat.prospectors:
- input_type: log
  paths:
    - /var/log/quodo/campaigns/*/*/*
  scan_frequency: 1s
output.elasticsearch:
   <connection data>
Run Code Online (Sandbox Code Playgroud)

我的问题

我可以在 Filebeat 配置中使用两个级别的*目录层次结构吗?

logging filebeat

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