小编use*_*612的帖子

Smali .local格式

我用一个Android应用程序反汇编baksmali,并研究了生成的smali代码.其中一个类包含以下行:

.local v1, "future":Lcom/android/volley/toolbox/RequestFuture;, "Lcom/android/volley/toolbox/RequestFuture<Ljava/lang/Void;>;"
Run Code Online (Sandbox Code Playgroud)

我不确定这行代码的含义.

是否v1包含a RequestFuture<Void>,它对应future于原始代码中的变量?(即原始代码:RequestFuture<Void> future;?)或者它是不同的东西?

android dex smali

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

防火墙"secured_area"的Symfony InvalidConfigurationException

我是Symfony的新手,我正在尝试Symfony中显示的不同示例.但是,我的security.yml文件出现以下错误

SecurityExtension.php第430行中的InvalidConfigurationException:没有为防火墙"secured_area"注册身份验证侦听器.

我的security.yml文件看起来像这样

security:
    providers:
        in_memory:
            memory:
              users:
                foo:
                  password: $2a$12$2nJYjp5DxX0o.ZgGL8ybEOG/MepViC08G1HKVFpjb0BoTDiZd9bCq
                  roles: ROLE_ADMIN

    firewalls:
        secured_area:
            logout:
                path: /logout
                target: /example

        dev:
            pattern: ^/(_(profiler|wdt|error)|css|images|js)/
            security: false


        default:
            anonymous: ~
            http_basic: ~


    access_control:
        - { path: ^/administer, roles: ROLE_ADMIN }

    encoders:
        Symfony\Component\Security\Core\User\User:
            algorithm: bcrypt
            cost: 12
Run Code Online (Sandbox Code Playgroud)

php symfony

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

awk/sed替换换行符

介绍:

我收到了一个CSV文件,其中字段分隔符是管道分类(即|).此文件具有预定义数量的字段(例如N).我可以N通过读取CSV文件的标题来发现它的价值,我们可以认为这是正确的.

问题:

某些字段错误地包含换行符,这使得该行看起来比所需的短(即,它具有M字段,带M < N).

我需要创建的是一个sh脚本(不是bash)来修复这些行.

尝试解决方案:

我尝试创建以下脚本来尝试修复该文件:

if [ $# -ne 1 ]
then
    echo "Usage: $0 <filename>"
    exit
fi

# get first line
first_line=$(head -n 1 $1)

# get number of fields
num_separators=$(echo "$first_line" | tr -d -c '|' | awk '{print length}')

cat $1  | awk -v numFields=$(( num_separators + 1 )) -F '|' '
{
    totRecords = NF/numFields
    # loop over …
Run Code Online (Sandbox Code Playgroud)

csv shell awk replace

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

如何在 Kotlin 中使用泛型创建地图?

我需要创建一个 Map,其中键是类,值是适当类的对象。

喜欢:

mapOf<KClass<T>, T>(
    Int::class to 10,
    String::class to "Ten"
)
Run Code Online (Sandbox Code Playgroud)

我想使用泛型来避免“无效”条目,例如 Int::class to "Ten"

我该如何实施?

generics kotlin

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

Dagger 2 组件具有不同范围的模块

语境

我有两个 Dagger 2 模块:

  1. NetworkModule,具有@Singleton范围,提供 HTTP 客户端;
  2. ApiModule,具有自定义@UserScope范围,它使用 HTTP 客户端为 Github 的 API 创建使用者。

然后,我创建一个 Dagger 2 组件,以提供 Retrofit 客户端。

网络模块.kt

@Module
class NetworkModule {
    @Provides
    @Singleton
    fun provideHttpClient(): OkHttpClient = OkHttpClient.Builder().build()
}
Run Code Online (Sandbox Code Playgroud)

ApiModule.kt

@Module(includes = [NetworkModule::class])
class ApiModule(private val user: String) {

    @Provides
    @UserScope
    fun provideApi(httpClient: OkHttpClient): GithubApi = Retrofit.Builder()
            .baseUrl("https://api.github.com/")
            .client(httpClient)
            .build()
            .create(GithubApi::class.java)
}
Run Code Online (Sandbox Code Playgroud)

ApiComponent.kt

@Component(modules = [ApiModule::class])
@UserScope
interface ApiComponent {
    fun inject(target: GithubRetriever)
}
Run Code Online (Sandbox Code Playgroud)

问题

当我尝试构建应用程序时,如果我将范围添加@UserScope到,ApiComponent …

java kotlin dagger-2

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

指针设置为nil时的Objective-C引用计数(不带ARC)

我试图理解引用计数是如何工作的,所以我禁用了ARC并编写了一个简单的类:( Foo.h未粘贴,因为它未被修改)

Foo.m

@implementation Foo

- (instancetype)init
{
    NSLog(@"Init object");
    return [super init];
}

- (void)dealloc
{
    NSLog(@"Dealloc object");
    [super dealloc];
}

@end
Run Code Online (Sandbox Code Playgroud)

的main.m

#import <Foundation/Foundation.h>
#import "Foo.h"

int main(int argc, const char * argv[]) {

    Foo *obj = [[Foo alloc] init];

    obj = nil;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在我希望看到dealloc object日志,因为Foo对象的唯一引用已经消失,但我得到的唯一消息是init object.

我为什么不看?分配时是否释放了对象obj = nil

xcode reference-counting objective-c

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

(Golang)JWT签名验证问题

我正试图在Golang中了解JWT令牌.我正在使用github.com/dgrijalva/jwt-go.

让我措手不及的是我可以输入多个有效签名.

例如,转到http://jwt.io - 输入MySuperSecretKey以获取密码

此令牌有效:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NTc3MzAyODMsInVzZXIiOiJ1c2VyMSJ9.SxshVL42DUH9e7jXUblbB_bTwKxhe4jo70DrvbQMlaU

以及这一个:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NTc3MzAyODMsInVzZXIiOiJ1c2VyMSJ9.SxshVL42DUH9e7jXUblbB_bTwKxhe4jo70DrvbQMlaV

事实上,如果我将最后一个字母更改为V,W或X,我会收到"Signature Verfied"消息.

谁能告诉我这里发生了什么?

go jwt

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

Kotlin 内在的“areEqual”方法的目的是什么?

假设我有一个

data class Eq(x: Int?)
Run Code Online (Sandbox Code Playgroud)

这将生成一个equals看起来像这样的方法

public boolean equals(Object other){
    if(this == other) return true;
    if(!(other instanceof Eq)) return false;
    Eq otherEq = (Eq) other;
    return Intrinsics.areEqual(this.x, otherEq.x);
}
Run Code Online (Sandbox Code Playgroud)

内在的

public static boolean areEqual(Object first, Object second){
    return first == null ? second == null : first.equals(second);
}
Run Code Online (Sandbox Code Playgroud)

我不太明白这背后的动机。

保持静态调用而不是内联其实现有什么好处?

compiler-construction language-design kotlin

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

Kotlin - 使用 SimpleXml 解析带有列表的 Xml 响应

我正在尝试解析来自 API 的 XML 响应,但“Field”元素列表有问题。我正在尝试创建具有元素内部属性和文本的 Field 对象,例如该对象的属性,但无法找出我需要为元素文本使用什么注释。\n我尝试使用

\n\n
  @get:Text\n  @set:Text\n
Run Code Online (Sandbox Code Playgroud)\n\n

\n\n
@field:Text\n
Run Code Online (Sandbox Code Playgroud)\n\n

但得到了同样的错误

\n\n
java.lang.RuntimeException: org.simpleframework.xml.core.PersistenceException: Constructor not matched for class NetworkTestContainer$Field\n
Run Code Online (Sandbox Code Playgroud)\n\n

任何人都可以为我提供适合此案例的适当注释吗?

\n\n

有XML结构:

\n\n
<response>\n<commands>\n    <command>\n        <nick>QUEUECAUSES_LIST</nick>\n        <result>\n            <DATASET Version="1.0" Class="TQueryAdv" Name="">\n                <Row Index="1">\n                    <Field Name="SHOPID" Type="6" Size="0">-1</Field>\n                    <Field Name="IDCODE" Type="6" Size="0">3000000000001</Field>\n                    <Field Name="CAPTION" Type="1" Size="255">\xd0\x9a\xd0\xbe\xd0\xbd\xd1\x81\xd1\x83\xd0\xbb\xd1\x8c\xd1\x82\xd0\xb0\xd1\x86\xd0\xb8\xd1\x8f</Field>\n                    <Field Name="PRIORITY" Type="6" Size="0">0</Field>\n                </Row>\n                <Row Index="2">\n                    <Field Name="SHOPID" Type="6" Size="0">-1</Field>\n                    <Field Name="IDCODE" Type="6" Size="0">3000000000021</Field>\n                    <Field Name="CAPTION" Type="1" Size="255">\xd0\x9e\xd1\x87\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb4\xd1\x8c</Field>\n                    <Field Name="PRIORITY" Type="6" Size="0">1</Field>\n                </Row>\n            </DATASET>\n        </result>\n    </command>\n</commands>\n</response>\n
Run Code Online (Sandbox Code Playgroud)\n\n …

kotlin simple-framework retrofit

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

如何使用jsoup抓取多个url

我有下面的代码,它使用 JSoup 抓取网站,但我想同时抓取多个URL。我将 URL 存储在一个数组中,但我无法让它工作。如果我想使用这段代码,如何在多线程中实现它?多线程对这样的应用程序有好处吗?

public class Webcrawler {
    public static void main(String[] args) throws IOException {

        String [] url = {"http://www.dmoz.org/","https://docs.oracle.com/en/"}; 
        //String [] url = new String[3];
        //url[0] = "http://www.dmoz.org/";
        //url[1] = "http://www.dmoz.org/Computers/Computer_Science/";
        //url[2] = "https://docs.oracle.com/en/";

        for(String urls : url){
            System.out.print("Sites to be crawled\n " + urls);
        }
        //String url = "http://www.dmoz.org/";
        print("\nFetching %s...", url);

        Document doc = Jsoup.connect(url[0]).get();
        org.jsoup.select.Elements links = doc.select("a");
        //doc.select("a[href*=https]");//(This is the one you are looking for)selects if value of href contatins https …
Run Code Online (Sandbox Code Playgroud)

java web-crawler jsoup

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