小编Way*_*ner的帖子

元编程有什么用?

我读了:

我在元编程/代码生成背后的目的上承认了一些困惑.

有没有人有一个具体的例子,他们使用元编程/代码生成?更好的是伴随解释为什么它比替代品更好.

编辑:是否会被视为元编程?

language-agnostic code-generation metaprogramming

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

Python的字符串连接与str.join的速度有多慢?

由于我在这个帖子的回答中的评论,我想知道+=运营商和运营商之间的速度差异''.join()

那两者之间的速度比较是什么?

python string list string-concatenation

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

如何在Jupyter笔记本中将列表输出为表格?

我知道我以前在某个地方见过一些例子,但对于我的生活,我在google搜索时找不到它.

我有一些数据行:

data = [[1,2,3],
        [4,5,6],
        [7,8,9],
        ]
Run Code Online (Sandbox Code Playgroud)

我想在表格中输出这些数据,例如

+---+---+---+
| 1 | 2 | 3 |
+---+---+---+
| 4 | 5 | 6 |
+---+---+---+
| 7 | 8 | 9 |
+---+---+---+
Run Code Online (Sandbox Code Playgroud)

显然,我可以使用类似漂亮的库或下载熊猫或其他东西,但我对此非常不感兴趣.

我只想在Jupyter笔记本单元格中输出行作为表格.我该怎么做呢?

python jupyter-notebook

60
推荐指数
5
解决办法
7万
查看次数

将asyncio与多处理相结合会出现什么样的问题(如果有的话)?

几乎每个人都知道他们第一次看到Python中的线程时,GIL会让那些真正希望并行处理的人生活变得悲惨 - 或者至少给它一个机会.

我目前正在研究像Reactor模式这样的实现.实际上我想在一个线程上监听传入的套接字连接,当有人试图连接时,接受该连接并将其传递给另一个线程进行处理.

我(还)不确定我可能会遇到什么样的负担.我知道目前设置的传入消息上限为2MB.从理论上讲,我们每秒可以获得数千(虽然我不知道我们是否已经看到过类似的东西).处理消息所花费的时间并不是非常重要,但显然更快会更好.

我正在研究Reactor模式,并开发了一个使用该multiprocessing库的小例子(至少在测试中)似乎工作得很好.但是,现在/很快我们将有asyncio库可用,它将为我处理事件循环.

是否有任何东西可以通过组合asyncio和咬我multiprocessing

python multithreading asynchronous multiprocessing python-asyncio

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

mod_wsgi,mod_python还是只是cgi?

我一直在玩我自己的网络服务器(Apache + Ubuntu)和python.从我所看到的有三种(?)主要方式:

  1. Apache配置为将.py作为cgi处理
  2. Apache配置为使用现在过时的mod_python(?)
  3. Apache配置为使用mod_wsgi

我记得读过Django更喜欢mod_wsgi,我对学习Django很感兴趣(我听说他们的官方教程非常优秀).

什么是"推荐"设置?我认为没有理由再使用mod_python了,但处理.py作为cgi和mod_wsgi之间的区别是什么?是否有可能同时运行它们(你想要吗?),或者这只是一个荒谬的想法,我应该停止思考这些疯狂的事情?

我想我真的只是在寻找关于Apache + Python的入门知识(链接也很好) - 到目前为止我所遇到的一切都非常有用 - 它们主要是指导方针.

python apache cgi mod-wsgi

43
推荐指数
4
解决办法
2万
查看次数

流星直播改变有动画吗?

Meteor如何处理实时更改?例如,我不希望变化是瞬时的,而是使用某种类型的动画.如果我们使用css设置更改项目动画/过渡是否有效?那些旧版浏览器的jQuery动画呢?

meteor

40
推荐指数
2
解决办法
5871
查看次数

Code Golf:XOR加密

来自:加密公司
收件人:x $*sj4(就是你)

如果您选择接受它,您的任务就是用最短的击键次数创建一个程序

  • 采用两个文件名参数(命令行或标准输入),第一个是包含密钥的文件,第二个是一些消息.这两个文件都是纯文本.

  • 使用XOR加密将密钥应用于邮件,覆盖文件.

例:

输入文件:

StackOverflow很酷

键:

Code Golf

加密输出文件的十六进制转储:

0000000: 101b 0506 4b08 1909 1425 030b 1200 2e1c  ....K....%......
0000010: 4c25 2c00 080d 0a                        L%,....
Run Code Online (Sandbox Code Playgroud)

为简单起见,假设文件可以适合内存


此消息将在5 ... 4 ... 3 ... 2 ... 1中自加密...

     #####
    #### _\_  ________
    ##=-[.].]| \      \
    #(    _\ |  |------|
     #   __| |  ||||||||
      \  _/  |  ||||||||
   .--'--'-. |  | ____ |
  / __      `|__|[o__o]|
_(____nm_______ /____\____ 
Run Code Online (Sandbox Code Playgroud)

如果密钥的大小大于或等于消息的大小并且密钥是由无偏的随机过程生成的,则XOR加密是不可能破解的.见:一次性垫.所以这里没有"糟糕的加密".

encryption code-golf xor

37
推荐指数
8
解决办法
6247
查看次数

如何使用InnoSetup安装.NET框架作为先决条件?

我有一个类似于Inno Setup的问题:验证是否已安装.NET 4.0,但它似乎略有不同.

[Files]
Source: "dependencies\dotNetFx40_Full_x86_x64.exe"; DestDir: {tmp}; Flags: deleteafterinstall; Check: FrameworkIsNotInstalled
Source: "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\MySql.Data\v4.0_6.5.4.0__c5687fc88969c44d\MySql.Data.dll"; DestDir: "{app}\lib"; StrongAssemblyName: "MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, ProcessorArchitecture=MSIL"; Flags: "gacinstall sharedfile uninsnosharedfileprompt"

[Run]
Filename: {tmp}\dotNetFx40_Full_x86_x64.exe; Description: Install Microsoft .NET Framework 4.0; Parameters: /q /norestart; Check: FrameworkIsNotInstalled

[code]
function FrameworkIsNotInstalled: Boolean;
begin
  Result := not RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\Microsoft\.NETFramework\policy\v4.0');
end;
Run Code Online (Sandbox Code Playgroud)

如您所见,我正在尝试向GAC注册文件.不幸的是,在某些机器上可能没有安装.NET框架.所以我需要先安装它.无论如何,我尝试注册文件之前,我是否可以强制安装.NET运行时?

.net inno-setup

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

将String转换为java.util.Date

我将日期存储在SQLite数据库中,格式如下:

d-MMM-yyyy,HH:mm:ss aaa
Run Code Online (Sandbox Code Playgroud)

当我用这种格式检索日期时,除了小时之外,我得到的每件事都很好.小时总是00.这是我的输出:

String date--->29-Apr-2010,13:00:14 PM
After convrting Date--->1272479414000--Thu Apr 29 00:00:14 GMT+05:30 2010
Run Code Online (Sandbox Code Playgroud)

这是代码:

    Date lScheduledDate = CalendarObj.getTime();
    DateFormat formatter = new SimpleDateFormat("d-MMM-yyyy,HH:mm:ss aaa");
    SomeClassObj.setTime(formatter.format(lScheduledDate));

    String lNextDate = SomeClassObj.getTime();
    DateFormat lFormatter = new SimpleDateFormat("d-MMM-yyyy,HH:mm:ss aaa");
    Date lNextDate = (Date)lFormatter.parse(lNextDate);
    System.out.println("output here"+lNextDate);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

java date datetime-format

31
推荐指数
2
解决办法
12万
查看次数

什么是内存泄漏?

显然,维基百科有关于该主题的大量信息,但我想确保我理解.从我可以告诉它的重要性来理解堆栈/堆关系真正了解内存泄漏?

所以这就是我(我想)的理解.更正是非常受欢迎的!

首次启动程序时,会分配一块内存,例如0x000到0xFFF.第一部分(比如0x000到0x011)是加载程序代码的代码/文本段.

+--------------+ 0x011
| Program Code |
+--------------+ 0x000
Run Code Online (Sandbox Code Playgroud)

然后你有堆栈(比如0x012到0x7ff)保存局部变量,它们被存储/检索FIFO.所以,如果你有类似的东西

char middleLetter(string word){
     int len = word.length();
     return word[len/2];
}

int main(){
   int cool_number;
   char letter;
   letter = middleLetter("Words");
   ...
Run Code Online (Sandbox Code Playgroud)

然后你的变量将被分配在堆栈上,如下所示:

+-------------+ 0x7ff
|             |
|             |
|             |
| ...         |
| len         |
| letter      |
| cool_number |
+-------------+ 0x012
Run Code Online (Sandbox Code Playgroud)

当然,如果你在某处(使用mallocnew)分配内存,但从不释放它,那么你的堆可能看起来像这样,你现在有内存泄漏:

+-------------+ 0xfff
|             |
| malloc(20)  | 0xf64
| malloc(50)  | 0xf32
| malloc(50)  | 0xf00
| ... …
Run Code Online (Sandbox Code Playgroud)

memory-leaks

25
推荐指数
3
解决办法
7937
查看次数