小编Kri*_*ofe的帖子

无法实时读取redis

我有一个服务器长时间运行应用程序,存储过程如下:

routes.php文件

Route::post('cloud/slice/{modelfileid}', 'CloudController@slice');
Route::get('cloud/slice/sliceProgress', 'CloudController@sliceProgress');
Run Code Online (Sandbox Code Playgroud)

slice()函数的一部分:

while($s = fgets($pipes[2]))
{
    if(strpos($s, "Progress:") !== FALSE)
    {
        Log::info(100 * substr($s, -10, 4) . '%');
        $this->redis->SET('sliceProgress' . $uid, 100 * substr($s, -10, 4) . '%');

    }
}
Run Code Online (Sandbox Code Playgroud)

和我的客户每隔0.5秒请求redis的进度:

public function sliceProgress()
{
    if (!isset($_SESSION["uid"]))
        return Redirect::to('cloud');
    $uid = $_SESSION["uid"];
    return Response::json(array('status' => 'success', 'data' => array('progress' => $this->redis->GET('sliceProgress' . $uid))));
}
Run Code Online (Sandbox Code Playgroud)

$interval(function()
{
    $scope.refreshProgress();
}, 500);
Run Code Online (Sandbox Code Playgroud)

但客户获得进度请求将持续到100%结束,没有低于100%的进度.也就是说,当服务器切片应用程序完成时,我得到进度响应.我认为laravel在处理切片时不会处理第二个请求.


编辑:我使用下面的代码在redis-> SET工作正常后得到slice()中的redis,这输出sliceProgress实时.

Log::info($this->redis->GET('sliceProgress' . $uid));

php controller real-time redis laravel

10
推荐指数
1
解决办法
393
查看次数

__METHOD__和__FUNCTION__

我知道这两者之间的区别,我已经检查了手册.

我有点困惑.我可以__FUNCTION__在类的方法中使用,这表示此方法的名称.当我回应它时,它只输出名称.这里很清楚.

但为什么我可以使用__METHOD__非calss方法.这也只代表正常功能的名称.正常功能是在某些容器中吗?当__METHOD__正常功能回声时,容器什么都没有?

码:

<?php
class dog {
    private $name = 'dog';

    public static function name() {
        echo __METHOD__;
        echo"\n";
        echo __FUNCTION__;
        echo"\n";
    }

}
function test() {
    echo __FUNCTION__;
    echo"\n";
    echo __METHOD__;
}

dog::name();
test();
Run Code Online (Sandbox Code Playgroud)

输出:

ei@localhost:~$ php test.php
dog::name
name
test
test
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.谢谢.

php methods const class function

10
推荐指数
1
解决办法
7632
查看次数

应用模块与库模块

我对库模块和应用模块之间的区别感到困惑。我确实用谷歌搜索过,但我没有发现明显的区别。Android Studio 文档介绍了如何将应用程序模块转换为库模块。

真正的区别是什么?你什么时候用什么?在我看来,两者本质上是一样的。

谢谢

android android-library

9
推荐指数
1
解决办法
4904
查看次数

laravel验证用户功能

blade.php

......
<tr>
  <td>{{ Form::label('cameraMac', 'Mac: ') }}</td>
  <td>{{ Form::text('cameraMac')}}</td>
</tr>
......
Run Code Online (Sandbox Code Playgroud)

Controller.php这样

$data = Input::all();
function transform($cameraMac) {
  return strtoupper($cameraMac);
}

//validation here

$user = User::find($data['user_id']);

if($data["cameraMac"])
{
    $user->camera_id = transform($data["cameraMac"]);
    Cloud_camera::create(['id' => transform($data["cameraMac"]), 'user_id' => $user->id]);
}

$user->save();
Run Code Online (Sandbox Code Playgroud)

我需要将cameraMac转换为主键以存储在db中.如何transform()在验证规则中使用函数'nullable|unique:cloud_cameras,id|size:6'.也就是说,如何在验证过程中调用此函数.

php validation unique laravel

9
推荐指数
1
解决办法
1948
查看次数

如何在我的Swift项目中使用Objective-C项目

注意:我知道如何从Swift调用Objective-C代码,但我不知道如下,

我是ios的新手.我想在我的项目中使用这个EsptouchForIOS的Demo.演示是在OC中编写的,它有一个故事板和控制器.我想知道如何在我的swift项目中集成演示,并在我的快速项目中使用该故事板和它的控制器.

xcode objective-c storyboard uiviewcontroller swift

9
推荐指数
1
解决办法
2586
查看次数

Java使用未声明的名称空间解析xml

每次我们的新android应用发布时,我需要在我们的网站上更新应用信息。因此,我尝试通过AndroidManifest.xml上载到服务器时的apk中的来自动更新应用信息。

我使用AXMLResourcejdom2来获取AndroidManifest.xml并解析它。

final Namespace NS = Namespace.getNamespace("http://schemas.android.com/apk/res/android");

zipFile = new ZipFile(apkPath);
ZipEntry zipEntry = new ZipEntry("AndroidManifest.xml");
inputStream = zipFile.getInputStream(zipEntry);
AXMLResource axmlResource = new AXMLResource();
axmlResource.read(inputStream);

SAXBuilder saxBuilder = new SAXBuilder();
Document document = saxBuilder.build(new ByteArrayInputStream(axmlResource.toXML().toString().getBytes("UTF-8")));
Element root = document.getRootElement();
System.out.println(root.getAttributeValue("versionCode",NS));
System.out.println(root.getAttributeValue("versionName",NS));
Run Code Online (Sandbox Code Playgroud)

但是我总是明白

与元素类型“清单”相关联的属性“ data:versionCode”的前缀“ data”未绑定

我打印了AndroidManifest.xml,发现data名称空间未声明。

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    data:versionCode="344"
    data:versionName="3.2.8"
Run Code Online (Sandbox Code Playgroud)

当我检查android studio文档时,发现使用声明的名称空间。

然后,我认为这可能是由我们的应用程序开发人员的违规行为引起的。

但是,当我进一步思考时,为什么AndroidManifest.xml可以发布具有未声明名称空间的应用程序,然后我下载了一些apk,例如facebook,youtube,centos,百度磁盘和支付宝,却发现只有centos不使用未声明名称空间。

对于 com.google.android.youtube.apk

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android" …
Run Code Online (Sandbox Code Playgroud)

java xml android dom namespaces

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

未知选项`allow-unrelated-histories'

我有两个回购:市场和Android.当我将Android合并到Market时,请使用以下步骤:

cd market
git remote add android ../android
git fetch android
git merge --allow-unrelated-histories android/master
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

ei @ localhost:〜/ market $ git merge --allow-unrelated-histories android/master error:unknown option`allow-unrelated-histories'

我的环境:Ubuntu LTS 14.04

ei@localhost:~/market$ git --version
git version 1.9.1
Run Code Online (Sandbox Code Playgroud)

这个选项是从Git合并中删除的,还是需要一些额外的配置?

任何帮助将不胜感激,谢谢!

git version-control android branch git-merge

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

如何在Laravel Form Facade中使用关系值?

我想在模型与Form::label和的关系中使用属性值Form::text.该Form助手从Laravel取出,所以我用'Form' => 'Collective\Html\FormFacade'代替.

以下是Order模型中的关系:

<?php namespace App\Models;

use Illuminate\Database\Eloquent\SoftDeletes;

class Order extends \Eloquent
{
    use SoftDeletes;

    public function account_number()
    {
        return $this->belongsTo('\App\Models\Account_number', 'product_id', 'id');
    }
}
Run Code Online (Sandbox Code Playgroud)

这是Blade模板Form.account_number <td>将显示的文字:

{"id":4,"user_id":52,"account_type":"alipay","account_no":"xxxxxx","account_name":"xxxxxx","phone":"xxxxxx","created_at":"2017-11-15 14:43:51","updated_at":"2017-11-15 14:43:51","deleted_at":null}
Run Code Online (Sandbox Code Playgroud)
{!! Form::model($order, array('files' => true)) !!}
<table border="1">
<tr>
  <td>{!! Form::label('out_trade_no', 'out_trade_no: ') !!}</td>
  <td>{!! Form::text('out_trade_no')!!}</td>
</tr>
<tr>
  <td>{!! Form::label('account_number', 'account_number: ') !!}</td>
  <td>{!! Form::text('account_number')!!}</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

但我想分别显示每个account_number属性的输入,而不是JSON字符串.

我尝试过:

<tr>
  <td>{!! Form::label('account_number.id', 'account_number: …
Run Code Online (Sandbox Code Playgroud)

php forms laravel laravel-5 laravel-eloquent

7
推荐指数
2
解决办法
1756
查看次数

使用web3发送ERC20令牌

我目前正在使用0.2xx版本的Web3 Javascript API.我通过创建智能合约(在REMIX IDE上)来部署我的自定义ERC20令牌.我安装了MetaMask并在https://wallet.ethereum.org/上进行了测试,将一些自定义ERC令牌发送到我的另一个帐户.它运作良好.我想在我的javascript代码中使用Web3添加"发送自定义ERC20令牌"功能.

这是我的代码如下.

var http = require('http');
var Web3 = require('web3');
var Tx = require('ethereumjs-tx');

var abi = [{"...."}]; 
var data = '0x00..';
var contract_addr = '0x00..';
var owner = '0x00..';

var web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/")); 
web3.eth.getBlock("latest", (error, result) => {
//console.log('error:', error);
//console.log('results', result);
});

var myContract = web3.eth.contract(abi);
var myContractInstance = myContract.at(address);

eb3.eth.getDefaultAccount = owner;
var defaultAccount = web3.eth.getDefaultAccount;
console.log('DefaultAccount => ', defaultAccount); 

var total = myContractInstance.totalSupply();
var balance = myContractInstance.balanceOf(defaultAccount);

console.log('DefulatAccount total …
Run Code Online (Sandbox Code Playgroud)

javascript blockchain smartcontracts web3-donotuse erc20

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

是否有XWalkView webview客户端?

我正在尝试在我的Android应用程序中使用XWalkView作为webview替换.我注意到XWalkView对象上没有setWebViewClient方法.问题是我想检查页面何时完成()以及何时加载资源().如何使用XWalkView执行此操作onPageFinishedonLoadResource

我使用本教程嵌入了XWalkView

在Android工作室嵌入人行横道

java android android-webview crosswalk xwalkview

6
推荐指数
2
解决办法
3448
查看次数