小编rob*_*ess的帖子

Matlab中是否有类似于java函数String.split(delimiter)的函数?

是否存在(默认)Matlab函数,其行为类似于java方法split(delimiter),您可以在其中基于arbritary定界符对字符串进行标记化?

string matlab

10
推荐指数
2
解决办法
9378
查看次数

AccountManagerFuture.getResult()导致"无法登录"屏幕

我正在尝试使用AccountManager获取已安装的Google帐户的令牌.当我在我的AccountManagerFuture对象上调用getResult()时,我在设备上看到"无法登录"屏幕(进一步说,"有一个探测器与Google服务器通信.稍后再试.".我检查了一下在调用此方法之前,网络连接可用.我还在浏览器中检查了我能够访问的设备,例如google.com.这是我的AccountManagerCallback的代码:

amf = accMgr.getAuthToken(account, authTokenType, null, true,  
    new AccountManagerCallback<Bundle>() {  
        public void run(AccountManagerFuture<Bundle> arg0) {  
            Bundle result;  
            Intent i;  
            String token;  

                try {        
                    result = arg0.getResult();  
                if (result.containsKey(AccountManager.KEY_INTENT)) {  
                     i = (Intent)result.get(AccountManager.KEY_INTENT);  
                     if (i.toString().contains("GrantCredentialsPermissionActivity")) {  
                         // Will have to wait for the user to accept  
                         // the request therefore this will have to  
                         // run in a foreground application  
                         cbt.startActivity(i);  
                     } else {  
                         cbt.startActivity(i);  
                     }

                     token = (String)result.get(AccountManager.KEY_AUTHTOKEN);  

                     } else {  
                         token = (String)result.get(AccountManager.KEY_AUTHTOKEN);       

                     }  
                 } catch (OperationCanceledException e) { …
Run Code Online (Sandbox Code Playgroud)

java android accountmanager

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

文件在PC上显示为空但在智能手机上显示为非空

我的三星Galaxy Nexus有一个奇怪的问题,在我的应用程序中创建和写入的文件在手机本身(通过ES文件资源管理器)访问时显示正常,但当我尝试在我的PC上查看相同的文件时(通过USB连接手机),它们显示为0字节(打开时为空).

这些应该是普通的文本文件,我使用新的File(dir,filename)创建并使用PrintWriter的write方法写入.我还使用MediaScannerConnection.scanFile将新文件添加到内容数据库.

我在之前的应用程序(> 6个月前)中使用了基本相同的代码,没有任何问题,所以我真的很困惑为什么它现在不能正常工作.有人有过类似的问题吗?

更新:

仍然在解决这个......另外两个观察让我完全糊涂了:

  1. 我尝试在另一台PC上访问相同的文件,它们工作正常.这让我觉得它可能是一些驱动程序问题,但这仍然是奇怪的,因为我根本没有改变驱动程序(我之前从未经历过这个问题).

  2. 我尝试使用我之前创建的其他应用程序创建文件.它使用基本相同的FileIO类来创建文件等.此应用程序没有遇到此类问题.

android printwriter android-mediascanner

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

即使 pip freeze 显示已安装软件包,使用 python venv 时也会出现 ModuleNotFoundError

一般来说,我是 Python 的 venv 和虚拟环境的新手。我使用以下方法创建了一个名为 .venv 的环境:

python3 -m venv .venv
Run Code Online (Sandbox Code Playgroud)

然后我激活它并安装了一些软件包。当我使用 列出软件包时pip freeze,我得到以下信息:

(.venv) $ pip freeze
boto==2.48.0
bz2file==0.98
certifi==2017.7.27.1
chardet==3.0.4
click==6.7
...
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试导入这些包中的任何一个ModuleNotFoundError,我会得到一个,例如:

(.venv) $ python -c 
"import click"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'click'
Run Code Online (Sandbox Code Playgroud)

我错过了什么???

python python-venv

6
推荐指数
0
解决办法
709
查看次数

与默认的Ubuntu构建相比,为什么使用大量CPU重新编译PHP?

我有一个连续运行的多进程PHP(CLI)应用程序.最初,我使用的是PHP的标准Ubuntu 10.04包构建(5.3.2-1ubuntu4.18).但是,我正在尝试优化内存使用量,因为每个进程使用的内存量限制了我可以在任何给定时间运行的分叉数(因为我有可用的内存量有限).按照preinheimer给出的建议,我重新编译PHP,禁用所有扩展,然后只重新启用我的应用程序所需的那些(mysql,curl,pcntl,posix和json).我的configure命令是:

'./configure'  '--prefix=/usr/local/phpbare' '--with-config-file-path=/etc \
/php5/clibare' '--disable-all' '--with-mysql=mysqlnd' '--with-curl' \
'--enable-pcntl' '--enable-posix' '--enable-json'
Run Code Online (Sandbox Code Playgroud)

这个新的"裸骨"构建允许我的应用程序运行,但令我惊讶的是,当我查看使用的运行进程时top,它使用与以前相同的内存量(甚至更有问题),它使用大量的CPU时间(在top报告的数量通常为0-1%之前,通常占CPU的15-20%).是否有可能我缺少一些PHP扩展,它以某种方式优化脚本以使用更少的计算资源??? 或者Ubuntu构建是否可能针对Ubuntu架构进行了优化,而我的自定义构建缺少这些优化?如果是这样,我如何确定在Ubuntu构建中使用哪些优化,以便在我的"裸骨"构建中重新创建它们?

这是输出的片段,ps aux | grep php用于在下面的评论中证明我的观点:

root  12952  0.3  0.9  33176  4968 pts/2    S    Feb14  11:15 s.php 5
root  12955  0.3  0.9  32664  4732 pts/2    S    Feb14  11:12 s.php 5
root  12958  0.3  0.9  32664  4796 pts/2    S    Feb14  10:51 s.php 5
root  12961  0.3  0.9  32740  4752 pts/2    S    Feb14  11:07 s.php 5
root  14162  0.3 …
Run Code Online (Sandbox Code Playgroud)

php optimization ubuntu compilation

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

IntelliJ / Play 框架中 scala.html 和路由文件的语法突出显示

我对 IntelliJ 和 Play 框架都很陌生。我注意到安装 IntelliJ 并导入我的第一个 Play 应用程序后,*.scala.html 文件和路由文件的语法突出显示都无法正常工作。我能够修改 *.scala.html 文件的设置,将它们识别为 Scala 文件,但这实际上并不正确,因为 scala 模板系统不是纯 Scala。

这是一个屏幕截图,以防有帮助:

在此输入图像描述

在官方的 Play 视频教程中,这些模板文件似乎有一个特殊的语法突出显示设置,但我不知道如何将其添加到 IntelliJ 中。这是本教程的屏幕截图以及我希望语法突出显示的外观:

在此输入图像描述

另外,我找不到路线文件的任何解决方案。非常感激任何的帮助!”

PS 我在安装 IntelliJ 期间启用了 Vim 模拟器。我不知道这是否对语法突出显示默认值有任何影响......

syntax-highlighting intellij-idea playframework

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

方法参数的自定义注释未执行

我实现了一个自定义注释,@Password以对我的方法的参数执行验证setPassword()。注释的定义如下:

// Password.java
import java.lang.annotation.*;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;

import javax.validation.*;

@Target({METHOD, FIELD, PARAMETER, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy = PasswordValidator.class)
@Documented
public @interface Password {
    String message() default PasswordValidator.message;
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
}
Run Code Online (Sandbox Code Playgroud)

验证器的当前实现是这样的:

// PasswordValidator.java
package utils;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

public class PasswordValidator implements ConstraintValidator<Password, String> {

    /* Default error message */
    final static public String message = "error.invalid.password";

    /**
    * Validator init
    * Can be …
Run Code Online (Sandbox Code Playgroud)

java validation annotations

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

如何使用多个参数在Matlab中执行"查找"?

我正在寻找一种"矢量化"以下代码的方法.也就是说,我想摆脱for循环,这需要很长时间(这个for循环嵌套在另一个for循环中,重复超过40,000次).

for k=1:length
    if coords(k,1)<=4 && coords(k,2) <=8
        upperLeft(countUL,:) = coords(k,:);
        countUL=countUL+1;
    end
    if coords(k,1)>4 && coords(k,2) <=8
        upperRight(countUR,:) = coords(k,:);
        countUR=countUR+1;
    end
    if coords(k,1)>4 && coords(k,2) >8
        lowerRight(countLR,:) = coords(k,:);
        countLR=countLR+1;
    end
    if coords(k,1)<=4 && coords(k,2) >8
        lowerLeft(countLL,:) = coords(k,:);
        countLL=countLL+1;
    end
end
Run Code Online (Sandbox Code Playgroud)

我首先尝试使用Matlab find函数(例如find(coords(k,1)<=4)),但在我的情况下,我有两个参数,我需要"找到".我尝试了类似的东西find(coords(:,1)<=4 && coords(:,2)<=8),但由于操作数&&不是标量,这不起作用.关于如何做到这一点的任何想法将非常感谢!

matlab

4
推荐指数
1
解决办法
2363
查看次数

将浮点值舍入到java中最接近的整数的最有效方法是什么?

我已经看到很多有关舍入浮点值的SO的讨论,但考虑到效率方面没有可靠的问答.所以这里是:

将浮点值舍入到最接近的整数的最有效(但正确)方法是什么?

(int) (mFloat + 0.5);
Run Code Online (Sandbox Code Playgroud)

要么

Math.round(mFloat);
Run Code Online (Sandbox Code Playgroud)

要么

FloatMath.floor(mFloat + 0.5);
Run Code Online (Sandbox Code Playgroud)

或者是其他东西?

我最好使用标准java库中可用的东西,而不是我必须导入的一些外部库.

java optimization rounding floating-accuracy

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

有没有办法创建SQL"别名"?

如果有一个我想多次执行的复杂查询,有没有办法将其存储为"别名"?例如,商店:

SELECT 
    table_schema "Data Base Name", 
    SUM( data_length + index_length) / 1024 / 1024 "Data Base Size in MB" 
FROM information_schema.TABLES 
GROUP BY table_schema ;
Run Code Online (Sandbox Code Playgroud)

GET_DB_SIZES
Run Code Online (Sandbox Code Playgroud)

有可能吗?

mysql

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

如何在Matlab中执行这种矩阵划分?

这个问题可能与Matlab关系不大,而与矩阵代数有关(我大多数时候忘记了我的大学课程).说我有一个m x n矩阵X和一个m x 1矩阵B.如何将划分X通过B使得所有元素iX的第i行被分段由分割iB的第i行,从而导致另一个m x n矩阵Y

例如

X = [2 4 8; 3 9 27; 4 16 64]
B = [2; 3; 4]

X ? B = [2/2 4/2 8/2; 3/3 9/3 27/3; 4/4 16/4 64/4]
ans   = 
           1     2     4
           1     3     9
           1     4    16
Run Code Online (Sandbox Code Playgroud)

matlab linear-algebra

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