有没有办法快速绑定到TCP端口/ IP地址,只需将所有信息打印到STDOUT?我有一个简单的调试解决方案,它将事情写入127.0.0.1:4444,我希望能够简单地从bash绑定一个端口并打印出来的所有内容.是否有捷径可寻?
我正在编写一个小的Python脚本,它将使用用户名和密码组合定期从第三方服务中提取信息.我不需要创建100%防弹的东西(100%甚至存在吗?),但我想要涉及一个很好的安全措施,所以至少需要很长时间才能打破它.
这个脚本没有GUI,并且会定期运行cron,因此每次运行密码时输入密码都不会真正起作用,我必须将用户名和密码存储在加密文件中或加密在SQLite数据库中,这将是更好的,因为我将使用SQLite,我可能需要在某些时候编辑密码.另外,我可能会将整个程序包装在EXE中,因为此时它专门用于Windows.
如何安全地存储用户名和密码组合,以便通过cron作业定期使用?
我正在尝试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请求至少需要什么?
在我的setup.py文件中,我已经指定了运行我的项目所需的一些库:
setup(
# ...
install_requires = [
'django-pipeline',
'south'
]
)
Run Code Online (Sandbox Code Playgroud)
如何指定这些库的必需版本?
也许这是一个明显的答案,但是
为什么地球上会浏览器决定创建自己的供应商前缀border-radius之类的?
我的意思是:为什么我要打字:
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
Run Code Online (Sandbox Code Playgroud)
是因为每个平台都认为"我们很酷,我们会想出一个更好的方法来做圆角吗?" 为一个输入三行似乎完全无法解释多余.
我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库中模拟属性?
我在默认情况下创建了一些用户,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 的字符串?
我正在编写一些重新连接逻辑,以定期尝试建立与远程端点的连接.从本质上讲,代码如下所示:
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)
我已经在很多场合用类似上面的代码解决了这个一般问题,但我对结果感到很不满意.是否有设计模式来处理这个问题?
我一直在尝试设置一个简单的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
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.