我想要一种在URL中表示整数的最短方式.例如,11234可以使用十六进制缩短为"2be2".由于base64使用的是64字符编码,因此应该可以使用比十六进制更少的字符来表示base64中的整数.问题是我无法弄清楚使用Python将整数转换为base64(以及再返回)的最简洁方法.
base64模块有处理字节串的方法 - 所以也许一个解决方案是将一个整数转换为二进制表示形式作为Python字符串...但我不知道如何做到这一点.
我有一个由三部分组成的字符串.我希望字符串是(改变),分离部分(不改变)和最后改变的部分.我想删除分离部分和结束部分.分离部分是" - "所以我想知道的是,如果有一种方法可以在字符串的某个部分之后删除所有内容.
这种情况的一个例子是,如果我想把这个:"Stack Overflow - 一个问题的地方":"Stack Overflow".任何帮助表示赞赏!
首先,我想确保我意识到这一事实,重新发布是一个明智的话题.但是我想听听你的一些意见,你会采取什么方法.
我正在构建一个分布式应用程序,其中节点远程创建由UUID标识的实体.最终,应该在专用的漏极节点处收集所有实体,该节点通过使用这些UUID来存储所有实体.
现在我想创建额外的标识符,这对人类用户来说更方便.编码UUID的Base64仍会创建22个字符的ID,这不适合人类使用.所以我需要像URL缩短服务这样的东西.应用双射函数无济于事,因为它们不会降低信息价值.当然,我知道我需要丢失信息才能缩短身份.而且我也知道任何哈希信息的减少都会增加冲突的可能性.我被卡住了,为了给人类创造更短的ID,减少信息的最合适的方法是什么.
以下是一些先决条件:我将提供通过我的数据存储映射{UUID,缩短ID}的功能.我仍然更喜欢非集中式解决方案.我可能永远不会需要超过大约一百万的ID(~2 ^ 20).
以下是我想到的想法:
还有其他方法吗?有利的是什么?
提前致谢!
为了尊重我的用户的隐私,我试图在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配置脚本来实现这一目标?
谢谢.
我正在寻找一个可以找到重复字母的正则表达式.所以任何两次或更多的字母,例如:
booooooot or abbott
Run Code Online (Sandbox Code Playgroud)
我不会提前知道我要找的那封信.
这是我在采访中被问到的一个问题,然后在采访中被问到.没有那么多人认真对待.
我想awk使用整数除法将两个数字分开,即截断结果.例如
k = 3 / 2
print k
Run Code Online (Sandbox Code Playgroud)
应该打印 1
根据手册,
师; 因为awk中的所有数字都是浮点数,结果不会舍入为整数
有没有解决方法来获取整数值?
原因是我想得到一个带有整数索引[0到num-1] 的数组的中间元素.
说明:
我有一个小的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) 我试图在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) 该文件看起来像
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)
我怎么做到这样?它似乎根本没有排序.
我试图在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 " - 取决于它是事件还是链接.