小编Car*_*org的帖子

生成易于记忆的随机标识符

正如所有开发人员所做的那样,我们不断处理某种标识符作为日常工作的一部分.大多数时候,它是关于错误或支持票.我们的软件在检测到错误后,会创建一个包含时间戳和版本号格式的包,这是一种创建合理唯一标识符的便宜方式,可避免混淆包.示例:" 错误报告20101214 174856 6.4b2 ".

我的大脑在记住数字方面并不擅长.我希望拥有的是一种生成易于记忆的字母数字标识符的简单方法.

在python中创建如下所示的算法大约需要5分钟,这会产生一半的可用结果:

import random

vowels = 'aeiuy' # 0 is confusing
consonants = 'bcdfghjklmnpqrstvwxz'
numbers = '0123456789'

random.seed()

for i in range(30):
    chars = list()
    chars.append(random.choice(consonants))
    chars.append(random.choice(vowels))
    chars.append(random.choice(consonants + numbers))
    chars.append(random.choice(vowels))
    chars.append(random.choice(vowels))
    chars.append(random.choice(consonants))
    print ''.join(chars)
Run Code Online (Sandbox Code Playgroud)

结果如下所示:

re1ean
meseux
le1ayl
kuteef
neluaq
tyliyd
ki5ias
Run Code Online (Sandbox Code Playgroud)

这已经相当不错了,但是我觉得它们仍然很容易忘记它们是如何精确拼写的,所以如果你走到一个同事办公桌并想要查看其中一个,那么仍然有可能遇到困难.

我知道对文本执行三元分析的算法(比如你用德语为它们提供整本书),并且可以生成外观和感觉像德语单词的字符串,因此通常更容易处理.但是,这需要大量数据,并且使其稍微不适合仅为此目的而嵌入应用程序中.

您知道任何已发布的解决此问题的算法吗?

谢谢!

卡尔

random nlp mnemonics

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

类设计与IDE:非成员非友情函数真的值得吗?

在(另有)优秀的书籍C++编码标准,第44项,标题为"首选写非成员非朋友函数"中,Sutter和Alexandrescu建议只有真正需要访问类成员的函数才能成为该类成员.所有其他只能使用成员函数编写的操作不应该是该类的一部分.他们应该是非成员和非成员.争论是:

  • 它促进了封装,因为需要访问类的内部的代码较少.
  • 它使编写函数模板变得更容易,因为您不必每次都猜测某个函数是否是成员.
  • 它使类保持较小,从而使测试和维护更容易.

虽然我看到了这些论点的价值,但我发现了一个很大的缺点:我的IDE无法帮助我找到这些功能!每当我有某种对象时,我想看看它上面有哪些操作,我不能只输入" pMysteriousObject->"并获得成员函数列表.

保持干净的设计最终会让您的编程生活更轻松.但这实际上会让我更难.

所以我想知道它是否真的值得这么麻烦.你怎么处理那件事呢?

c++ ide class-design function friend

4
推荐指数
3
解决办法
829
查看次数

易递归算法的迭代版本

我想,我有一个非常简单的问题.我有这个问题,可以通过递归函数很容易地解决,但我无法迭代地解决.

假设您有任何布尔矩阵,例如:

L:

111011111110
110111111100
001111111101
100111111101
110011111001
111111110011
111111100111
111110001111
Run Code Online (Sandbox Code Playgroud)

我知道这不是一个普通的布尔矩阵,但它对我的例子很有用.你可以注意到那里有一些零路径......

我想创建一个接收这个矩阵的函数和一个存储零的点,并将同一区域中的每个零转换为2(假设矩阵可以存储任何整数,即使它最初是布尔值)

(就像在Paint或任何图像编辑器中绘制区域一样)

假设我用这个矩阵M调用函数并且右上角的坐标为零,结果将是:

111011111112
110111111122
001111111121
100111111121
110011111221
111111112211
111111122111
111112221111
Run Code Online (Sandbox Code Playgroud)

好吧,我的问题是如何迭代地执行此操作...希望我没有把它弄得太乱

提前致谢!

曼努埃尔

ps:如果你能用C,S,python或伪代码显示函数,我会很感激,请:D

iteration recursion

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

OS X:__TEXT段中的部分是否被其他程序修改?

无论出于何种原因,某些程序(甚至操作系统本身)是否会更改可执行文件__TEXT段的内容?

  • 注意:这里,我指的是"__TEXT"段,而不是"__text"段.

换句话说:我可以依赖可执行文件的__TEXT段中的字节来检测我的可执行文件是否已被损坏(例如通过计算该段上的校验和),或者是否有可能出现误报,因为此段可能被修改程序安装在用户的计算机上后?

谢谢!

binary macos mach-o

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

标签 统计

binary ×1

c++ ×1

class-design ×1

friend ×1

function ×1

ide ×1

iteration ×1

mach-o ×1

macos ×1

mnemonics ×1

nlp ×1

random ×1

recursion ×1