小编Ame*_*lia的帖子

Rails respond_with:它是如何工作的?

我一直在这里阅读respond_withRails 3中的方法有多酷.但我甚至无法在Rails API或搜索源中找到它的引用.任何人都可以向我解释它是如何工作的(你可以使用哪些选项等)或指向我实际实现的地方所以我可以自己仔细阅读代码?

ruby-on-rails ruby-on-rails-3

122
推荐指数
1
解决办法
8万
查看次数

如何将套接字绑定到多个接口

在互联网上搜索了几个小时后,我仍然无法找到问题的答案.

我的任务是创建一个服务器,接受来自可变数量接口的套接字(在配置文件中给出eth0, eth1, etc.).

最简单的方法是什么?有没有办法将一个套接字绑定到多个接口?我还没有办法做到这一点.
或者,我是否必须使用INADDR_ANY并以某种方式找出数据包发送的接口?

有没有其他方法来处理这个问题?

sockets bind interface

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

为什么我的twitter oauth访问令牌无效/过期

我使用Twitter将用户登录到一个网站,这似乎一直在努力,直到我尝试获得有效的访问令牌.

require("twitteroauth.php");
require 'twconfig.php';
session_start();

$twitteroauth = new TwitterOAuth(YOUR_CONSUMER_KEY, YOUR_CONSUMER_SECRET);
$request_token = $twitteroauth->getRequestToken('http://****/tw_response.php');

$oauth_token = $request_token['oauth_token'];
$_SESSION['oauth_token'] = $oauth_token;

$oauth_token_secret = $request_token['oauth_token_secret'];
$_SESSION['oauth_token_secret'] = $oauth_token_secret;

if ($twitteroauth->http_code == 200) {
    url = $twitteroauth->getAuthorizeURL($request_token['oauth_token']);
    header('Location: '.$url);
} else {
    die('Something wrong happened.');
}
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常,将我重定向到Twitter登录并确认访问,之后它返回到tw_response.php(我的回调网址),网址中包含以下变量:

http://example.com/login.php?oauth_token=sO3X...yj0k&oauth_verifier=Ip6T...gALQ 
Run Code Online (Sandbox Code Playgroud)

在tw_response.php中,我然后尝试获取访问令牌,但它报告为无效.我尝试使用以下var_dump方式查看访问令牌的内容:

require("twitteroauth.php");
require 'twconfig.php';
session_start();

$oauth_verifier = $_REQUEST['oauth_verifier'];
$oauth_token = $_SESSION['oauth_token'];
$oauth_token_secret = $_SESSION['oauth_token_secret'];

$twitteroauth = new TwitterOAuth(YOUR_CONSUMER_KEY, YOUR_CONSUMER_SECRET, $oauth_token, $oauth_token_secret);

$access_token = $twitteroauth->getAccessToken($data['oauth_verifier']);
var_dump($access_token);
Run Code Online (Sandbox Code Playgroud)

var_dump"无效/过期令牌"结尾的结果:

array(8) {
    ["oauth_url"] => string(104) ""1.0" encoding="UTF-8"?>/oauth/access_token?oauth_consumer_key=ceE...9Dg" …
Run Code Online (Sandbox Code Playgroud)

php twitter twitter-oauth

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

为什么浮点数打印得如此不同?

大多数浮点数都没有精确存储(使用IEEE-754格式时),这是一种常见的知识.所以不应该这样做:

0.3 - 0.2 === 0.1; // very wrong
Run Code Online (Sandbox Code Playgroud)

......因为它会导致false,除非使用一些特定的任意精度的类型/类(BigDecimal的中的Java/Ruby的,bcmath时在PHP中,数学:: BigInt有/数学:: BigFloat在Perl,仅举几例)来代替.

但我想知道为什么当一个人尝试打印这个表达式的结果时0.3 - 0.2,脚本语言(PerlPHP)给出了0.1,但是"虚拟机"(Java,JavaScriptErlang)提供了更类似的东西0.09999999999999998呢?

为什么它在Ruby中也不一致?版本1.8.6(键盘)给出0.1,版本1.9.3(ideone)给出了0.0999...

javascript php ruby floating-point ieee-754

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

TypeError:需要一个float

无法发布图片,因此: a[i]={(-1)^(i+1)*sin(x)*ln(x)}/{i^2*(i+1)!}

任务:
需要找到a1,a2,...,an.
n是自然而且是给定的.

这就是我尝试这样做的方式:

import math
a=[]
k=0
p=0
def factorial(n):
   f=1
   for i in range(1,n+1):
     f=f*i
   return f

def narys(n):
    x=input('input x: ') #x isn't given by task rules, so i think that is error else.
    float(x)
    k=(math.pow(-1,n+1)*math.sin(x)*math.log10(n*x))/(n*n*factorial(n+1))
    a.append=k

n=int(input('input n: '))
narys(n)
for i in a:
   print(a[p])
   p=p+1
Run Code Online (Sandbox Code Playgroud)

python floating-point types

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

通过php流式传输mp3文件

这是我的PHP代码通过PHP流式传输mp3文件

set_time_limit(0);
$dirPath = "path_of_the_directory";
$songCode = $_REQUEST['c'];
$filePath = $dirPath . "/" . $songCode . ".mp3";
$strContext=stream_context_create(
    array(
        'http'=>array(
        'method'=>'GET',
        'header'=>"Accept-language: en\r\n"
        )
    )
);
$fpOrigin=fopen($filePath, 'rb', false, $strContext);
header('content-type: application/octet-stream');
while(!feof($fpOrigin)){
  $buffer=fread($fpOrigin, 4096);
  echo $buffer;
  flush();
}
fclose($fpOrigin);
Run Code Online (Sandbox Code Playgroud)

它适用于Mac Mini和所有其他PC,但不适用于iPad和iPhone.甚至流媒体也适用于所有其他智能手机.非常感谢您的帮助.

谢谢

php streaming

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

生成随机且唯一的字符串

我需要一种有效的方法来获得一个随机唯一的字符串,重复的可能性为零(或可忽略不计).

我需要[0-9A-z]范围内的角色.

这是我到目前为止:

substr(sha1(mt_rand().uniqid()),0,22);  
Run Code Online (Sandbox Code Playgroud)

php unique

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

查找速度:状态还是数据库?

我的服务器上有一堆单词表,并且我一直打算制作一个简单的开源JSON API,作为密码验证方法,如果密码在列表1上,则返回该API 。我正在使用Flask在Python中执行此操作,并且实际上只是返回是否存在输入。

一个小问题:单词列表总计约1.5亿个条目和1.1GB的文本。

我的API(最低要求)如下。将所有行存储在MongoDB中并重复查找,或者使用单例将整个内容存储在内存中,并在我调用时在启动时填充它,效率更高app.run吗?还是差异是主观的?
此外,做后者甚至是一种好的做法?我认为如果我向公众开放此功能,查找可能会变得很麻烦。我也有人建议使用Trie进行有效搜索。

更新:我已经做了一些测试,并且如此大量的记录使文档搜索非常缓慢。是否有必要为需要有效搜索的单列数据使用具有适当索引的数据库?

from flask import Flask
from flask.views import MethodView
from flask.ext.pymongo import PyMongo
import json

app = Flask(__name__)
mongo = PyMongo(app)

class HashCheck(MethodView):

  def post(self):
    return json.dumps({'result' : 
      not mongo.db.passwords.find({'pass' : request.form["password"])})
    # Error-handling + test cases to come. Negate is for bool.

  def get(self):
    return redirect('/')

if __name__ == "__main__":
  app.add_url_rule('/api/', view_func=HashCheck.as_view('api'))
  app.run(host="0.0.0.0", debug=True)
Run Code Online (Sandbox Code Playgroud)

1:我是安全帽。我在我的登录表单中使用它,并拒绝常见输入。词表之一是UNIQPASS。

python mongodb flask

5
推荐指数
0
解决办法
289
查看次数

如何使PHPUnit忽略文件模式?

我正在为一个项目编写代码覆盖率报告,并且在运行测试时包含或需要大量文件,这些文件实际上并不需要进行测试或添加到覆盖率报告(我正在使用Zend Framework 2; config + Module文件是罪魁祸首)。

有没有简单的方法可以简单地忽略文件模式modules/*/Module.php

这是我的黑名单:

<filter>
    <blacklist>
        <directory>config</directory>
        <directory>vendor</directory>
        <directory>module/*/config</directory>
    </blacklist>
</filter>
Run Code Online (Sandbox Code Playgroud)

但是,添加<file>module/*/Module.php</file>对html代码覆盖率报告没有影响;添加它对Module.php在覆盖率报告中包括文件没有任何影响。

Zend Framework bootstrap.php通常会在phpunit 文件中启动

Application::init(require "config/application.test.php")
Run Code Online (Sandbox Code Playgroud)

除了Module.php将每个模块的文件添加到黑名单之外,PHPUnit可以通过什么方法真正正确地做到这一点?我不是setUp在PHPUnit的测试案例中寻找使用该方法的答案;我正在寻找配置。

我正在使用PHPUnit 4.7 + 4.8。

php phpunit zend-framework2

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

Laravel:JSON响应中日期的意外行为

我正在Laravel中创建一个返回JSON的Web服务.

我创建了一个Account这样的模型:

class Account extends Eloquent {

    // The database table used by the model.
    // (If not defined then lowercase and plural of class name is consider as a table name)
    protected $table = "account";

     // define which column can be mass assign
    protected $fillable = array("user_id", "account_group_id", "generated_by", "image", "name", 
                                "address", "zip", "area_id", "mobile", "email", "phone", "fax",
                                "website", "pan", "cst", "tin", "ecc", "iesc", "transport", 
                                "other", "outstanding", "cform", "status", "mitp");

    // To prevent column from mass assignment. …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-4

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