小编cul*_*lix的帖子

linux syslogger如何工作?

我正在学习linux编程,并希望做到以下几点.我想创建一个像syslog一样工作的迷你记录器.我希望能够替换系统日志(不是在实践中,而只是为了了解每个级别的工作原理).

所以在我的代码中,我会写

#include "miniLogger.h"

....
....
miniLogger(DEBUG, "sample debug message");

----
----
Run Code Online (Sandbox Code Playgroud)

现在,我猜我需要某种守护进程来监听来自我的miniLogger的传入消息,而且我没有使用守护进程的经验.您能否指出我正确的方向,或者让我快速了解消息如何从我的API转移到可配置的目的地.我阅读了手册页,但我需要更多地概述API如何与守护进程通信.

linux syslog

5
推荐指数
1
解决办法
2245
查看次数

使用python多线程时是否需要锁定?

想想这段代码:

#!/usr/bin/env python

from threading import Thread

count = 0

def test():
    global count
    for i in range(10):
        count = count + 1

if __name__ == '__main__':
    for i in range(1000):
        Thread(target = test).start()
    print count
Run Code Online (Sandbox Code Playgroud)

我使用多个线程,但结果总是正确的.这是否意味着我可以在实现像访问者计数器之类的东西时使用没有锁定的python线程?

python multithreading

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

SSL证书细微之处

我一直在阅读有关SSL如何工作的技术基础知识(这在外行/非技术文章/教程/视频的海洋中很难找到).我有3个小问题,它们本身感觉太小而不能混淆SO,但总的来说,我认为可以提供一些有关SSL如何工作以及解决似乎没有详细记录的问题的见解:

  1. 为什么(不是何时如何!)SSL证书到期?这些只是在AES等密码/算法上运行的公钥/私钥对.我假设这里幕后有财务/商业激励措施?!?

  2. 组织需要多少个SSL证书?在你说"这取决于你的组织"之前,我想这个问题的核心是:公司说什么驱动因素,哦,我想我们将需要另一个证书,或者另外10个证书,等等.换句话说:为什么1个证书通常不足以组织?

  3. 为什么公司要求CA提供根证书,然后从该根证书中获取子证书?这种"证书树"提供了哪些好处?(而不是仅仅获得单独的证书.)?

提前致谢!

ssl

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

在多个连接中放置'on'条件哪里更好?(MySQL的)

我有多个连接,包括mysql中的左连接.有两种方法可以做到这一点.

  1. 我可以在每次加入后立即设置"ON"条件:

    select*from A join B ON(A.bid = B.ID)join C ON(B.cid = C.ID)join D ON(c.did = D.ID)

  2. 我可以将它们全部放在一个"ON"子句中:

    select*from A join B join C join D ON(A.bid = B.ID AND B.cid = C.ID AND c.did = D.ID)

哪种方式更好?

如果我在查询中需要左连接右连接,它是否不同?

mysql join on-clause

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

为什么主键通常是关系数据库管理系统中的整数?

在开发数据库设计时,在大多数情况下,我们习惯性地将主键设置为表中唯一标识符的整数类型.为什么不使用字符串或浮点数作为主键?这是否会影响值的可访问性,还是以简单的单词检索速度?有什么具体原因吗?

sql database-design

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

AWS EC2 - 连接时为什么我的SSH公钥不存在?

我正在尝试使用自己的公钥设置新的Amazon EC2实例,以便通过ssh连接.我已经使用所生成的RSA密钥对,ssh-keygen在AWS文档中描述,并使用Web界面上载的公钥亚马逊.密钥通常出现在我的AWS仪表板中.假设我的公钥指纹是 aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa.

我可以使用Web界面创建一个新实例并指定此公钥(是的,我启动机器之前指定了它 - 这是启动前的最后一步).该实例似乎已创建并正常启动.我的公钥列在该实例的"密钥对名称"属性下.我正在使用Ubuntu 12.04 LTS OS,64位映像:ubuntu-precise-12.04-amd64-server-20131003.

但是,当我尝试通过ssh连接时,我看不到我的密钥的指纹:

>无法建立主机'ec2-00-00-00-00.us-west-2.compute.amazonaws.com(00.00.00.00)'的真实性.
> RSA密钥指纹是bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb.
>您确定要继续连接(是/否)?没有

(我在连接时使用实际的IP地址)

我可以使用ec2命令行工具运行'ec2-get-console-output' ,如本答案所示.但是,我的公钥不会出现在控制台输出中的任何位置.还有另外两个键:

>您的公钥已保存在/etc/ssh/ssh_host_rsa_key.pub中.
>关键指纹是:
> bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb:bb root @ ip-00-00-00-00
> ...
> -----开始SSH主机密钥指纹-----
> ec2:1024 cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc :cc:cc root @ ip-00-00-00-00(DSA)

如果我的密钥被部署到实例上,为什么不显示?

ssh amazon-ec2 amazon-web-services

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