小编Nik*_*as9的帖子

查看Docker中运行/停止容器的完整命令

如何在Docker中查看正在运行的容器/进程的完整命令?

$ docker ps --all
CONTAINER ID    IMAGE          COMMAND                 CREATED          STATUS                     PORTS    NAMES
5b6291859b61    nginx:1.7.8    "nginx -g 'daemon of    4 minutes ago    Exited (0) 4 minutes ago            thirsty_brattain
Run Code Online (Sandbox Code Playgroud)

我只能在这里看到"nginx -g"守护进程,而不是完整的命令.

docker

223
推荐指数
6
解决办法
15万
查看次数

如何避免GitHub/BitBucket上的merge-commit地狱

在我们的回购中,我们最终会收到很多这样的提交:

Merge branch 'master' of bitbucket.org:user/repo
Run Code Online (Sandbox Code Playgroud)

每当开发人员将他/她的本地分支同步到顶级仓库时,就会发生这种情况.

无论如何要避免这种合并提交地狱混乱所有的回购日志?在以某种方式启动拉取请求时可以避免它们吗?

我知道如果仅在我的本地VM中完成,我可以执行git rebase,GitHub/BitBucket UI中是否有任何等价物?

你们是怎么做到的?

git github bitbucket

88
推荐指数
2
解决办法
3万
查看次数

找到python lxml版本

如何在Linux系统中找到已安装的python-lxml版本?

>>> import lxml
>>> lxml.__version__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute '__version__'

>>> from pprint import pprint
>>> pprint(dir(lxml))
['__builtins__',
 '__doc__',
 '__file__',
 '__name__',
 '__package__',
 '__path__',
 'get_include',
 'os']
>>>
Run Code Online (Sandbox Code Playgroud)

似乎无法找到它

python lxml

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

如何使用Gin Web框架将参数传递给Golang中的路由器处理程序?

我正在使用Gin,https: //gin-gonic.github.io/gin/,用Golang构建一个简单的RESTful JSON API.

路线设置如下:

func testRouteHandler(c *gin.Context) {
    // do smth
}

func main() {
    router := gin.Default()
    router.GET("/test", testRouteHandler)
    router.Run(":8080")
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何将参数传递给testRouteHandler函数?例如,公共数据库连接可能是想要在路由之间重用的东西.

在全局变量中使用它的最佳方法是什么?或者Go中有一些方法可以将额外的变量传递给testRouteHandler函数吗?Go中的函数是否有可选参数?

PS.我刚刚开始学习Go,所以可能是一些我很想念的东西:)

go go-gin

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

如何在Python验证期间要求时间戳为零填充?

我正在尝试验证一个字符串,该字符串应该包含ISO 8601格式的时间戳(通常用于JSON).

strptime在验证零填充时,Python 似乎非常宽容,请参阅下面的代码示例(注意小时缺少前导零):

>>> import datetime
>>> s = '1985-08-23T3:00:00.000'
>>> datetime.datetime.strptime(s, '%Y-%m-%dT%H:%M:%S.%f')
datetime.datetime(1985, 8, 23, 3, 0)
Run Code Online (Sandbox Code Playgroud)

它优雅地接受一个字符串,该字符串例如小时不填充零,并且不会ValueError像我期望的那样抛出异常.

有没有办法强制执行strptime来验证它是否为零填充?或者Python的标准库中是否还有其他内置函数?

我想避免regexp为此写自己的.

python

11
推荐指数
1
解决办法
1079
查看次数

在Python中使用编码检测,是否使用chardet库?

我正在编写一个应用程序,它需要大量的文本作为输入,可以是任何字符编码,我想以UTF-8保存它们.我不会接收或不信任随数据定义的字符编码(如果有的话).

我有一段时间使用Pythons库chardet检测原始字符编码http://pypi.python.org/pypi/chardet,但最近遇到了一些问题,我发现它不支持斯堪的纳维亚语编码(例如ISO-8859-1).除此之外,获取结果需要大量的时间/ CPU/mem.对于2MB的文本文件,大约40秒.

我试过使用标准的Linux文件

file -bi name.txt
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的所有文件都为我提供了100%的结果.对于2MB的文件,这个约为0.1s.它也支持斯堪的纳维亚字符编码.

所以,我猜使用文件的优势很明显.有什么缺点?我错过了什么吗?

python encoding chardet

10
推荐指数
1
解决办法
5112
查看次数

表达式中的组匹配

我有一个像变量

a = 3
Run Code Online (Sandbox Code Playgroud)

对于a的某些值,我有我想调用的相同函数:

case a of
     3 -> print "hello"
     4 -> print "hello"
     5 -> print "hello"
     6 -> print "hello something else"
Run Code Online (Sandbox Code Playgroud)

因此,对于a = 3,a = 4和a = 5,我进行相同的函数调用.我能把这些组合得更好吗?我有点想找到一个解决方案:

case a of
     3 || 4 || 5 -> print "hello"
     6           -> print "hello something else"
Run Code Online (Sandbox Code Playgroud)

这当然不起作用,但希望你得到我想要的结果.

谢谢.

haskell

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

无法使用PyMySQL连接到Cloud SQL

我正在尝试从运行在Google App Engine之上的Python应用程序(使用PyMySQL 0.7.9)连接到Cloud SQL.

我的连接字符串看起来像这样(凭证当然是假的):

pymysql.connect(unix_socket='/cloudsql/gae_project_name:cloudsql_instance_name', 
                user='user', password='', db='database_name')
Run Code Online (Sandbox Code Playgroud)

我收到的错误消息是:

OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 97] Address family not supported by protocol)")

这就像PyMySQL没有意识到我正在尝试通过Unix套接字连接并尝试使用host参数的默认值(我认为是localhost)

我能够使用相同的连接字符串连接MySQLdb.

python google-cloud-sql pymysql google-app-engine-python

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

饥饿的 Python 工人的内存泄漏

我有一些工作人员正在侦听 RabbitMQ 队列,并且正在执行一些磁盘 I/O 密集型工作 - 打开 ~18MB 文件,进行一些解析并写入一些文件。在处理一项工作时,一个工人可能会占用多达 200MB 的内存......这很好。

但是,我的问题是工作人员继续处于空闲状态并仍在保留此数量的内存。工作完成后,我盲目地尝试使用 gc.collect() 手动进行一些垃圾收集,但没有任何结果。

我收到工作的工人班看起来像这样:

class BuildWorker(worker.Worker):

    def callback(self, ch, method, properties, body):
        fp = FileParseAndStuff()
        fp.execute_job(ch, method, properties, body)
        fp = None
Run Code Online (Sandbox Code Playgroud)

不应该在 fp 中发生的所有事情都包含在内存中并在我将该对象设置为 None 后将其删除吗?我也尝试使用 Python 的 del 语句,但没有任何改进。

如果重要的话,我正在使用 Python 2.7 和 python-pika 与 RabbitMQ 服务器进行通信。

python garbage-collection memory-leaks rabbitmq

6
推荐指数
1
解决办法
564
查看次数

在 Django 中 Ping MySQL 以保持连接处于活动状态

我有一堆工人在等待任务(使用 Django 作为 ORM)。我的问题是,如果在给定的时间内没有任务(无论 MySQL wait_timeout 变量设置为什么),MySQL 连接就会超时,因此工作人员会死亡。

我解决这个问题的第一种方法是简单地将 wait_timeout 增加到一个更高的整数,但我认为更好的解决方案可能是每 30 分钟左右 ping MySQL,如果没有保持连接活动的任务。

所以我的问题是;我如何使用 Django ORM 简单地 ping MySQL 来保持连接活跃?这里的最佳实践是什么,只做一个简单的愚蠢查询?

python mysql django rabbitmq

6
推荐指数
1
解决办法
3368
查看次数