小编eri*_*ork的帖子

我在哪里加盐并哈希我的密码?在客户端还是主机?

我认为直接在客户端的机器上加密和散列密码会更聪明.原因是,我实际上从不想获得用户的密码.这是一个字符串应该是他的秘密,而不是我们两个人.现在有人争辩说,你想让盐保密,所以你不能通过频道以明文形式发送它.显然,事实并非如此.所以现在我没有看到任何理由,为什么我不应该只是从客户端请求哈希.你怎么看?

编辑讨论向主机发送客户端密码的问题实际上不是直接问题.客户端的问题是将密码从他的计算机中发送出去.乐观的客户可能会认为他的计算机是保存区域.但是那条电缆(或天线)的一切都是夏娃的领地.在安全场景中,你永远不会偏执.所以再次:密码永远不会离开客户端计算机!

security

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

为什么strcpy会在char*s中失败而在char [1024]中失败?

为什么会发生以下情况:

char s[2] = "a";
strcpy(s,"b");
printf("%s",s);
Run Code Online (Sandbox Code Playgroud)

- >执行没有问题

char *s = "a";
strcpy(s,"b");
printf("%s",s);
Run Code Online (Sandbox Code Playgroud)

- > segfault

不应该第二个变体也分配2个字节的内存s,因此有足够的内存来复制"b"吗?

c segmentation-fault

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

执行"from xyz import Abc"时,解释器会做什么?

在这些案件中,口译员做了什么?

  1. from xyz import Abc
  2. from xyz import *

是否必须解析完整的文件xyz.py?一种方式应该比另一种更快吗?或者仅仅是可读性问题,人们更喜欢第一种方法到第二种?

python python-2.x python-2.7

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

"Programminglanguage X的字母"是指真正的字符还是单词?

在Dragonbook的练习3.3.1中,学生应该

查阅语言参考手册以确定(i)形成输入字母表的字符集(不包括那些可能仅出现在以下每种语言的字符串或注释中的字符:[...].

这是没有真正意义,我真的很喜欢形容所有字符a,b,/一种语言,哪怕是对编译器的练习.编程语言的字母表不是一组可能的单词,比如{id, int, float, string, if, for, ... }

如果你认为它在这个词的基本概念中真正成为"人物",那么??/在C中是一个还是三个(或两者)?

programming-languages

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

在Mac上编译C++代码

我想在我的Mac上编写非常简单的C++程序,但是我遇到了错误.我没有很多C++(和gcc)的经验,网上的简单指南也没有讨论这个主题.

请看看我简单的hello world程序:

erik2:~[03:38 pm]$ cat hw.cpp 
#include <iostream>

int main ()
{
  cout<<"Hello World!";
  return 0;
}
erik2:~[03:38 pm]$ gcc hw.cpp 
hw.cpp: In function ‘int main()’:
hw.cpp:5: error: ‘cout’ was not declared in this scope
Run Code Online (Sandbox Code Playgroud)

到目前为止回答答案(非常感谢),我放回了(!)命名空间声明,但这不会导致成功,但是:

erik2:~[03:51 pm]$ cat hw.cpp 
using namespace std;
#include <iostream>

int main ()
{
  cout<<"Hello World!";
  return 0;
}
erik2:~[03:51 pm]$ gcc hw.cpp 
Undefined symbols:
  "___gxx_personality_v0", referenced from:
      ___gxx_personality_v0$non_lazy_ptr in ccphDFtO.o
  "std::ios_base::Init::~Init()", referenced from:
      ___tcf_0 in ccphDFtO.o
  "std::basic_ostream<char, std::char_traits<char> >& std::operator<<     <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> …
Run Code Online (Sandbox Code Playgroud)

c++ gcc namespaces std

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

PHP/Apache error.log不执行new_line字符,为什么?

例如,而不是获得以下内容

post:Array (
  "a" => "b",
  "c" => "d"
)
Run Code Online (Sandbox Code Playgroud)

我得到这个:

post:Array (\n  "a" => "b",\n  "c" => "d"\n)
Run Code Online (Sandbox Code Playgroud)

在调试我的代码时阅读它真的很不舒服.因此,如果您对为何无法正常工作有任何建议,请告诉我.

我在连接到Ubuntu虚拟服务器的Windows7 Putty中运行它,据说它运行默认的Apache/PHP配置.(可能不是,但一如既往,团队中没有人记得改变了什么)

编辑:有人请求写入error.log的代码:

<?php
error_log(print_r(array("a"=>"b","c"=>"d"),1));
?>
Run Code Online (Sandbox Code Playgroud)

查看错误日志的命令是:

sudo tail -f /var/log/apache2/error.log
sudo vim /var/log/apache2/error.log
sudo cat /var/log/apache2/error.log
Run Code Online (Sandbox Code Playgroud)

在所有情况下,都会出现\n未按预期执行的问题.

php apache error-handling ubuntu

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

如何阻止Replicaset重新启动?

我通过以下方法开始测试我的kubernetes安装是否运行良好:

$ kubectl run -it hello --image=busybox -- sh
Run Code Online (Sandbox Code Playgroud)

但是它没有用。现在,我想先清理所有内容,然后再确定如何继续。但是,如果我delete重新启动它的Pod,我想应该有一个对应的副本集。但是,如果我也重新启动delete it。我现在该怎么做以清理kubectl run所做的一切?

replicaset kubernetes kubectl

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

替代3行类似java的代码?

假设你有一个函数,有时会返回一个值,有时则不会,因为在这种情况下你真的没有什么东西可以返回,甚至没有默认值.现在你想对结果做些什么,但当然只有在有结果的时候.

例:

result = function_call(params)
if result:
    print result
Run Code Online (Sandbox Code Playgroud)

有没有办法以更加pythonic的方式写这个,甚至可能在一行?

像那样:

print function_call(params) or #nothing
Run Code Online (Sandbox Code Playgroud)

(注意,我的意思是它不应该打印"没有"或"无".它实际上根本就不打印,如果结果是None)

python python-2.7

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

如何在同一个函数调用中使用可选的命名参数和*mulit_vars?

假设你有这样的功能:

def example(var1=None,var2=None,var3=None,*multi_values):
    print (var1,var2,var3,*multi_values)
Run Code Online (Sandbox Code Playgroud)

你可以绕过调用所有可选参数,只是添加到最后一个?

例:

>>> multi=range(3)
>>> example(???)
(None,"hi",None,(1,2,3))
Run Code Online (Sandbox Code Playgroud)

我不想这样做:

>>> multi=range(3)
>>> example(None,None,None,*multi) #bad -> this doesn't use the default values
Run Code Online (Sandbox Code Playgroud)

python python-2.x

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

在Python脚本中调用系统的Python或virtualenv的Python

假设您编写了一个Python shell脚本.它可能会从这样的事情开始:

#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

问题是,如果你经常使用virtualenv这个电话是完全错误的.你真的希望这个脚本调用virtualenv的python二进制文件,如果它在这个环境中,/usr/bin/python/否则.就像你的shell决定,当你写python一个shell命令.

您如何编写您的#!生产线以满足此要求?

python shell virtualenv

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

Eclipse Java控制台:为什么有时候没有输出?

我经常提供这样的体验,即Eclipse中的Console视图会产生令人困惑的结果.大多数混淆(如在某些标准输出之间写入错误输出),但有一种类型我根本无法生存.有时你System.out.println();的代码中有一个地方,你可以验证代码之前的代码sysout和代码之后的代码,但是你仍然不会看到任何结果打印到控制台.这是为什么?

目前我在JUnit4测试中看到了这一点(但这不是第一次).我的测试看起来像这样:

@Test
public void testSomething(){
  //prep
  ...
  String expected = ...
  //exec
  String actual = executeTestcase();
  //assert
  System.out.println(Formatter.doSomeformatting(actual));
  Assert.assertEquals(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)

java eclipse

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

如何在for循环中使用列表索引?

可能重复:
在循环中查找列表的索引

假设你有一个列表,其中不仅值具有意义,索引也有.

counts = [3,4,5,3,1]
Run Code Online (Sandbox Code Playgroud)

让我们说这意味着"我们有3个零类型的对象,4个类型为1的对象,依此类推".

您想要从中创建对象列表,并为这些对象提供信息详细信息:

[CountObject(amount=a,type=???) for a in counts]
Run Code Online (Sandbox Code Playgroud)

你会怎么做?

python indexing for-loop

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

如何从正在运行的进程中分叉?

我经常这样做:

$ gitk &
Run Code Online (Sandbox Code Playgroud)

启动一个程序(就像gitk在这种情况下,但哪个无关紧要)并返回到 shell 提示符以继续在同一个 shell 中工作。在你已经写完之后你会怎么做

$ gitk
Run Code Online (Sandbox Code Playgroud)

没有&?是否有像^z那样的组合键,可以将进程置于后台但不会中断它?

bash

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