小编ial*_*der的帖子

使用Android音频和方向传感器进行机械安全开裂

我正在编写一个应用程序,通过安全操作帮助锁定史密斯,主要是通过创建动态需要的图表.当试图通过操纵进入安全装置时,需要对"轮组"进行详细分析,并通过绘制"栅栏"在"门"上的相对深度来完成.如果所有门都排列在包装上,则栅栏杆将落入凸轮门,锁将打开.如果有人对更详细的解释感兴趣,你可以在这里找到Matt Blaze的一个很棒的治疗方法(从3.3左右开始):www.crypto.com/papers/safelocks.pdf

制作图表非常重要,而且它真正需要的是精确测量表盘上的两个位置,一遍又一遍,并记录两个声音之间的拨号距离.因此,假设"下降"点在10到15之间,声音事件可能发生在11.5和14.5,或者下一次可能发生在12和15.锁定史密斯制作这些之间的距离图表数字和查找,数字缩小,在图表上,或者可能只是图表中的最低位置.

我正在通过我的Androids耳机插孔使用老式收音机电话拾音器(吸盘式麦克风)来收听声音事件.为了精确测量发生事件的表盘,我简单地将手机安装到带魔术贴的表盘上,并使用SensorManager根据手机从音频尖峰事件旋转到尖峰的距离来计算声音之间的距离-事件.这很好,但我想在不将手机安装到表盘的情况下这样做.一些公司过去通过使用网络摄像头看表盘本身来完成它,但这似乎不如仅仅安装手机准确,因为我可以使用分数旋转来获得更高的精度.

一旦你进入插入位置,你总是会听到一个声音,然后将表盘备份到下一个声音,所以我想我可以简单地听一下声音事件,然后一旦表盘将方向测量反转到下一个声音事件,但这需要表盘不变,这在现实生活中不会发生.而且我想我可以通过使用动态像素或伺服来移动锁匠的表盘,但同样,这不是一个好的解决方案.所以我的问题是,如果你们中的任何一个聪明的人都能想到这些相关费率(声音事件之间的距离和拨号位置的变化)可以量化而无需将手机安装到表盘上吗?

java algorithm android android-sensors

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

使用JavaParser解析变量的正确方法是什么?

使用JavaParser我可以使用以下方法获取我的方法和字段列表:

//List of all methods
System.out.println("Methods: " + this.toString());
List<TypeDeclaration> types = n.getTypes();
for (TypeDeclaration type : types)
{
    List<BodyDeclaration> members = type.getMembers();
    for (BodyDeclaration member : members)
    {
        if (member instanceof MethodDeclaration)
        {
            MethodDeclaration method = (MethodDeclaration) member;
            System.out.println("Methods: " + method.getName());
        }
    }
}

//List all field variables.
System.out.println("Field Variables: " + this.toString());
List<TypeDeclaration> f_vars = n.getTypes();
for (TypeDeclaration type : f_vars)
{
    List<BodyDeclaration> members = type.getMembers();
    for (BodyDeclaration member : members)
    {
        if (member instanceof FieldDeclaration)
        { …
Run Code Online (Sandbox Code Playgroud)

java javaparser

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

Ruby代码块与javascript匿名函数distiction

我正在做我的第一次实习,这很好,我正在努力跟上其他程序员所谈论的一切.一位高级程序员前几天告诉我,Ruby将代码块直接传递给函数的能力比在JavaScript中使用匿名函数要好得多.我的理解是JS匿名函数完全相同 - 只需通过变量作为参数传递代码块.是否存在代码块参数优于匿名函数的真实示例?或者仅仅是一种语言优先于另一种语言,代码可读性/可重用性问题,还是我只是误解了其他一些基本概念?这是一个关于某种任务使用哪种语言的相对优点的传递对话,而不是具体的工作问题,这也许是为什么我感到困惑.我用Google搜索了几个简单的代码块示例,并且在JS中实现它们没什么问题.期待有关此事的任何意见(匿名或其他).

javascript ruby

6
推荐指数
1
解决办法
1037
查看次数

我如何制作星球大战介绍塑造textarea?

通常情况下,textareas只是枯燥的老长方形:

一个普通的textarea,带有Empire Strikes Back的开场白.

但是,是否有可能形成类似于星球大战入门的文本区域?

The Empire Strikes Back着名的开场白.

**注意:灵感来自SO#20734620:textarea的异常形状 - 请注释.*

更新:感谢Niet the Dark Absol我能够让它运转起来.只需要玩字体和颜色. 形状像星球大战的文字区域爬行

textarea {
width:600px;
height:500px;
transform:perspective(1000px) rotateX(45deg);
display:block;
margin:0 auto;
text-align: center;
line-height:200%;
color: yellow;
background-color: black;
font-size: 1.75em;
}
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

6
推荐指数
1
解决办法
3846
查看次数

为什么foreach lambda比其他循环慢得多?

我有需要迭代的列表.我使用的是Java 8中的新foreach.我发现它比旧的不那么优雅的方法慢得多.我已经阅读了这个堆栈讨论,它更多地关注最佳实践,而不是真实世界的实现.我理解,对于lambda来说,还有额外的开销来源于方法传递,但我仍然不理解第一个和第三个案例之间的差异,并且我认为我可能错误地使用它.还没有为lambda实现优化,还是有更好的方法可以使用它们来获得更高的性能?下面是一个示例性示例,而不是我的实际代码.

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class Main {
        public static void main(String[] args) {

            List<Memes> memesList =
                    Arrays.asList(
                            new OldMemes(),
                            new TrendingMemes()
                    );

            //----------------------------Benchmark
            long start, end;
            start = System.nanoTime();
            System.out.format("for each started @%d\n", start);
            //Old way.
            for(Memes memes : memesList){
                memes.showMeme();
            }
            //-----------------------------Benchmark
            end = System.nanoTime();
            System.out.println((end - start));
            start = System.nanoTime();
            System.out.format("for started @%d\n", start);
            //Other way
            for(Iterator<Memes> i = memesList.iterator(); i.hasNext(); ) {
                i.next().showMeme();
            }
            //-----------------------------Benchmark
            end = System.nanoTime(); …
Run Code Online (Sandbox Code Playgroud)

java optimization foreach lambda java-8

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