小编use*_*001的帖子

如何在Python中将整数转换为最短的url-safe字符串?

我想要一种在URL中表示整数的最短方式.例如,11234可以使用十六进制缩短为"2be2".由于base64使用的是64字符编码,因此应该可以使用比十六进制更少的字符来表示base64中的整数.问题是我无法弄清楚使用Python将整数转换为base64(以及再返回)的最简洁方法.

base64模块有处理字节串的方法 - 所以也许一个解决方案是将一个整数转换为二进制表示形式作为Python字符串...但我不知道如何做到这一点.

python url base64

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

删除部分字符串后的所有内容

我有一个由三部分组成的字符串.我希望字符串是(改变),分离部分(不改变)和最后改变的部分.我想删除分离部分和结束部分.分离部分是" - "所以我想知道的是,如果有一种方法可以在字符串的某个部分之后删除所有内容.

这种情况的一个例子是,如果我想把这个:"Stack Overflow - 一个问题的地方":"Stack Overflow".任何帮助表示赞赏!

java string android replace

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

缩短/重组UUID

首先,我想确保我意识到这一事实,重新发布是一个明智的话题.但是我想听听你的一些意见,你会采取什么方法.

我正在构建一个分布式应用程序,其中节点远程创建由UUID标识的实体.最终,应该在专用的漏极节点处收集所有实体,该节点通过使用这些UUID来存储所有实体.

现在我想创建额外的标识符,这对人类用户来说更方便.编码UUID的Base64仍会创建22个字符的ID,这不适合人类使用.所以我需要像URL缩短服务这样的东西.应用双射函数无济于事,因为它们不会降低信息价值.当然,我知道我需要丢失信息才能缩短身份.而且我也知道任何哈希信息的减少都会增加冲突的可能性.我被卡住了,为了给人类创造更短的ID,减少信息的最合适的方法是什么.

以下是一些先决条件:我将提供通过我的数据存储映射{UUID,缩短ID}的功能.我仍然更喜欢非集中式解决方案.我可能永远不会需要超过大约一百万的ID(~2 ^ 20).

以下是我想到的想法:

  • 自动递增的ID:如果我使用某种自动递增的ID,我可以将此id转移到混淆的字符串并传递它.这将是最简单的方法,只要周围的键很少,键就不会很长.但是,我必须引入一个我不想要的集中实体.
  • 缩短UUID:我可以只取一些原始的128位uuid.然后我应该至少考虑UUID的版本.或者这有什么不对吗?
  • 重新划分UUID:我可以在我的初始UUID上应用第二个哈希算法并存储映射.

还有其他方法吗?有利的是什么?

提前致谢!

hash url-shortener

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

匿名化nginx中的IP日志记录?

为了尊重我的用户的隐私,我试图在nginx日志文件中匿名他们的IP地址.

一种方法是定义自定义日志格式,如下所示:

log_format noip '127.0.0.1 - [$time_local]  '
    '"$request" $status $body_bytes_sent '
    '"$http_referer" "$http_user_agent" $request_time';
Run Code Online (Sandbox Code Playgroud)

这种方法有两个缺点:我无法区分两个用户,也无法使用地理位置工具.

最好的办法是"缩短"IP地址(87.12.23.55会变成87.12.23.1).

是否有可能使用nginx配置脚本来实现这一目标?

谢谢.

ip logging nginx anonymize

27
推荐指数
2
解决办法
9764
查看次数

如何使用Perl正则表达式找到重复的字母?

我正在寻找一个可以找到重复字母的正则表达式.所以任何两次或更多的字母,例如:

booooooot or abbott
Run Code Online (Sandbox Code Playgroud)

我不会提前知道我要找的那封信.

这是我在采访中被问到的一个问题,然后在采访中被问到.没有那么多人认真对待.

regex perl character

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

awk中的整数除法

我想awk使用整数除法将两个数字分开,即截断结果.例如

k = 3 / 2
print k
Run Code Online (Sandbox Code Playgroud)

应该打印 1

根据手册,

师; 因为awk中的所有数字都是浮点数,结果不会舍入为整数

有没有解决方法来获取整数值?

原因是我想得到一个带有整数索引[0到num-1] 的数组的中间元素.

awk integer division

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

捕获bash命令的输出,解析它并存储到不同的bash变量中

说明:

我有一个小的bash脚本,它只运行任何 Linux命令(例如说ifconfig)

ifconfig的典型输出是这样的:

eth0      Link encap:Ethernet  HWaddr 30:F7:0D:6D:34:CA
          inet addr:10.106.145.12  Bcast:10.106.145.255  Mask:255.255.255.0
          inet6 addr: fe80::32f7:dff:fe6d:34ca/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1104666 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2171 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:444437904 (423.8 MiB)  TX bytes:238380 (232.7 KiB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.255.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:15900 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15900 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 …
Run Code Online (Sandbox Code Playgroud)

linux bash shell scripting

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

在Windows 7上运行cygwin中的bash脚本

我试图在Windows 7上的cygwin中运行下面的bash脚本

REPEATTIMES="$1"

if [ $# = 0 ]; then

    echo "Usage: fetch topN repeatTimes"
    exit 1
fi

for (( i=1; i<=$REPEATTIMES; i++ ))
do
    echo "ITERATION: $i"
    echo "GENERATING"

    log=thelogs/log 

    bin/nutch generate crawl/segment -topN 10 > $log
    batchId=`sed -n 's|.*batch id: \(.*\)|\1|p' < $log`

    echo "batch id: $batchId "

    # rename log file by appending the batch id
    log2=$log$batchId
    mv $log $log2
    log=$log2

    echo "FETCHING"
    bin/nutch fetch crawl/segments/$batchId >> $log

    echo "PARSING"
    bin/nutch parse crawl/segments/$batchId >> $log


    echo "UPDATING …
Run Code Online (Sandbox Code Playgroud)

bash cygwin windows-7

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

使用bash按第5列排序csv文件

该文件看起来像

5.1,3.5,1.4,0.2,Banana
4.9,3.0,1.4,0.6,Apple
4.8,2.8,1.3,1.2,Apple
Run Code Online (Sandbox Code Playgroud)

我需要拥有它

4.9,3.0,1.4,0.2,Apple
4.8,2.8,1.3,1.2,Apple
5.1,3.5,1.4,0.2,Banana
Run Code Online (Sandbox Code Playgroud)

我一直在尝试使用

sort -t, -k5 file.csv > sorted.csv
Run Code Online (Sandbox Code Playgroud)

它所做的一切就是成功

5.1,3.5,1.4,0.2,Banana
4.8,2.8,1.3,1.2,Apple
4.9,3.0,1.4,0.6,Apple
Run Code Online (Sandbox Code Playgroud)

我怎么做到这样?它似乎根本没有排序.

linux bash

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

澄清如何在Rails 3中使用"thumbs_up"投票宝石

我试图在Rails 3应用程序上实现thumbs_up投票gem,但是指令在实际实现上并不清楚.在需要gem [ gem'sontumb_up' ]并且在创建并运行适当的迁移[ rails generate thumbs_up && rake db:migrate ]之后,README解释了以下内容:

要为模型投票,您可以执行以下操作:
*速记语法
voter.vote_for(可投票)#添加+1投票
voter.vote_against(可投票)#添加-1投票
voter.vote(可投票,投票)#Adds +1或-1投票:投票=>真(+1),投票=>假(-1)

voter.vote_exclusively_for(可投票)#删除该特定投票人的任何先前投票,并投票赞成.
voter.vote_exclusively_against(可投票)#删除该特定选民以前的任何投票,并投反对票.*

我一直认为在README示例中使用'voter'和'voteable'是应用程序中对象的替身,但是对我来说使用仍然模糊不清.

我的视图,控制器和routes.rb文件应该是什么样子的文字示例将是一个非常有用的帮助.我花了好几天试图解决这个问题!

在我的应用程序中,我有用户在帖子上投票 - 其中有两种类型 - 事件链接.使用<%= render:partial => @posts%>调用帖子,并且每个帖子使用其视图" _event.html.erb "或" _link.html.erb " - 取决于它是事件还是链接.

vote-up-buttons ruby-on-rails-3

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