小编Naf*_*Kay的帖子

Bash中的简单套接字服务器?

有没有办法快速绑定到TCP端口/ IP地址,只需将所有信息打印到STDOUT?我有一个简单的调试解决方案,它将事情写入127.0.0.1:4444,我希望能够简单地从bash绑定一个端口并打印出来的所有内容.是否有捷径可寻?

sockets linux bash tcp

72
推荐指数
4
解决办法
8万
查看次数

我需要在Python中安全地存储用户名和密码,我有哪些选择?

我正在编写一个小的Python脚本,它将使用用户名和密码组合定期从第三方服务中提取信息.我不需要创建100%防弹的东西(100%甚至存在吗?),但我想要涉及一个很好的安全措施,所以至少需要很长时间才能打破它.

这个脚本没有GUI,并且会定期运行cron,因此每次运行密码时输入密码都不会真正起作用,我必须将用户名和密码存储在加密文件中或加密在SQLite数据库中,这将是更好的,因为我将使用SQLite,我可能需要在某些时候编辑密码.另外,我可能会将整个程序包装在EXE中,因为此时它专门用于Windows.

如何安全地存储用户名和密码组合,以便通过cron作业定期使用?

python security encryption

72
推荐指数
6
解决办法
5万
查看次数

HTTP请求至少需要什么?

我正在尝试netcat通过执行以下操作向我的本地服务器发出GET命令:

echo -e "GET / HTTP/1.1\nHost: localhost" | nc localhost 80
Run Code Online (Sandbox Code Playgroud)

不幸的是,我得到了HTTP/1.1 400 Bad Request回应.HTTP请求至少需要什么?

http

68
推荐指数
6
解决办法
8万
查看次数

如何在setup.py中指定库版本?

在我的setup.py文件中,我已经指定了运行我的项目所需的一些库:

setup(
    # ...
    install_requires = [
        'django-pipeline',
        'south'
    ]
)
Run Code Online (Sandbox Code Playgroud)

如何指定这些库的必需版本?

python buildout

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

为什么浏览器会为CSS属性创建供应商前缀?

也许这是一个明显的答案,但是

为什么地球上会浏览器决定创建自己的供应商前缀border-radius之类的?

我的意思是:为什么我要打字:

-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
Run Code Online (Sandbox Code Playgroud)

是因为每个平台都认为"我们很酷,我们会想出一个更好的方法来做圆角吗?" 为一个输入三行似乎完全无法解释多余.

css vendor-prefix

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

Python模拟中的Mock属性?

mock在Python中使用起来相当困难:

def method_under_test():
    r = requests.post("http://localhost/post")

    print r.ok # prints "<MagicMock name='post().ok' id='11111111'>"

    if r.ok:
       return StartResult()
    else:
       raise Exception()

class MethodUnderTestTest(TestCase):

    def test_method_under_test(self):
        with patch('requests.post') as patched_post:
            patched_post.return_value.ok = True

            result = method_under_test()

            self.assertEqual(type(result), StartResult,
                "Failed to return a StartResult.")
Run Code Online (Sandbox Code Playgroud)

测试实际上返回正确的值,但是r.ok是Mock对象,而不是True.你如何在Python的mock库中模拟属性?

python testing unit-testing mocking python-mock

63
推荐指数
3
解决办法
5万
查看次数

初始数据夹具中的用户

我在默认情况下创建了一些用户,fixtures/initial_data.json以便进行一些测试"主题".我遇到的问题是密码生成.我可以在"字段"中设置密码,但这不会生成哈希密码:

[
    { "model": "auth.user",
        "pk": 1,
        "fields": {
            "username": "user1",
            "password": "password"
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

我需要一种方法来生成用户的密码.我是否必须手动执行此操作并生成{hash_method}${salt}${hashed_password}类似Django 的字符串?

django django-models django-authentication

54
推荐指数
5
解决办法
2万
查看次数

失败的"重试"逻辑的设计模式?

我正在编写一些重新连接逻辑,以定期尝试建立与远程端点的连接.从本质上讲,代码如下所示:

public void establishConnection() {
    try {
        this.connection = newConnection();
    } catch (IOException e) {
        // connection failed, try again.
        try { Thread.sleep(1000); } catch (InterruptedException e) {};

        establishConnection();
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经在很多场合用类似上面的代码解决了这个一般问题,但我对结果感到很不满意.是否有设计模式来处理这个问题?

java io design-patterns

52
推荐指数
6
解决办法
4万
查看次数

滚动日志记录文件大小和时间

我一直在尝试设置一个简单的logback项目来按日期和文件大小滚动我的日志文件,到目前为止,我一直无法让我的appender转到另一个文件.而是写入<file />标记指定的日志.

这是我的logback.xml配置文件:

<?xml version="1.0"?>
<configuration scan="true" scanPeriod="10 seconds">
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
        </layout>
    </appender>

    <appender name="milliroller" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>log/output.log</file>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
        </layout>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>log/mylog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>1KB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

    <root level="DEBUG">
        <appender-ref ref="stdout"/>
        <appender-ref ref="milliroller"/>
    </root>

    <logger name="com.tkassembled.logback" level="DEBUG"/>
</configuration>
Run Code Online (Sandbox Code Playgroud)

乍一看,它看起来应该有效,对吗?有什么我做错了吗?我的整个可构建项目都可以在这里找到:http://www.mediafire.com/file/2bxokkdyz2i/logback.zip

java logging logback

51
推荐指数
2
解决办法
8万
查看次数

警告:您将离开1个提交,而不是连接到任何分支

EGit再次罢工.我犯了一个错误,试图切换到EGit中的一个不同的分支,它以某种方式混乱并检查没有分支.然后我提交了这个非分支,然后当我意识到我没有跟踪正确的分支时,我运行了以下内容:

$ git checkout issue2
Warning: you are leaving 1 commit behind, not connected to any of your branches:

    bada553d My commit message

If you want to keep them by creating a new branch, this may be a good time to do so with:

    git branch new_branch_name ....

Branch issue2 set up to track remote branch issue2 from origin.
Switched to a new branch issue2. 
Run Code Online (Sandbox Code Playgroud)

现在我已经搞砸了,如何将该提交与我当前的分支相关联?我对创建一个全新的分支并不感兴趣,我只想将该提交提取到我的分支中issue2.

git version-control branching-and-merging

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