小编net*_*men的帖子

python动态构建函数

我有几个小功能f1,f2,f3和功能f.

我想f是一个"容器"来f1,f2,f3:做一些操作f1,f2,f3,这取决于程序配置(例如f1f2f1f3或全部三个),仅此而已.

我看到两个简单的解决方案:首先if在函数中添加一些f:

if configuration_f1_f2:
    f1()
    f2()
Run Code Online (Sandbox Code Playgroud)

第二,我可以添加一个操作列表f:

for op in operations:
    op()
Run Code Online (Sandbox Code Playgroud)

并添加f1,f2,f3operations或者根据配置中删除它们.

但我可以采用某种构造增加了它"F"的动态代码的调用f1,f2f3精确我需要什么,没有任何if的或list的或for的?我的意思是像快速代码操作.因此,如果我的配置是" f1f3",我设置的代码是f这样的

f1()
f3()
Run Code Online (Sandbox Code Playgroud)

当我的配置更改为" …

python

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

由于android.widget.BubblePopupHelper导致的内存泄漏

我正在使用MemoryAnalyzer工具在我的Android应用程序中查找内存泄漏.所以我运行我的应用程序,访问所有活动,然后按回去,直到我到达桌面.然后我使用DDMS来获取内存转储(已经多次按下Cause GC).

然后我使用OQL查询select * from instanceof android.app.Activity来查找泄漏活动,然后按下Merge Shortest Path to GC Roots - >排除泄漏对象上的所有幻像/弱/软/等参考.在这里,我有这张照片:

在此输入图像描述

所以系统中的某个地方似乎有一个静态对象BubblePopupHelper.sHelper,它保留了对EditText我活动视图的引用,导致整个活动泄漏!但这是什么BubblePopupHelper?我在官方文档中找不到关于此课程的任何信息.如何防止我的活动由于被这个奇怪的对象引用而被保留在内存中?

我在LG L40设备上测试,运行API19

android memory-leaks

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

Jade mixin默认参数

我在Jade中有以下mixin:

mixin indicator(slide_to, active)
  - active = active || '' // this is an ugly method to create a default value
  li(class=active, data-target='#' + CAROUSEL_ID, data-slide-to=slide_to)
Run Code Online (Sandbox Code Playgroud)

我称之为:

+indicator(1) 
+indicator(2, 'active')
Run Code Online (Sandbox Code Playgroud)

我希望参数active的默认值为''.我发现了我的代码示例中显示的丑陋的解决方法.在翡翠中有更好的方法吗?

pug

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

根据字符串长度动态调整行中列的权重

我有一个包含两个文本的布局,一个在左侧,一个在右侧。如果两个文本都很长,则左文本应占宽度的 60%,右文本应占宽度的 40%。但如果右侧文本短于 40%,则左侧文本应占据所有可用空间。

以下是示例: 右长部分 和: 在此输入图像描述 所以我想写这样的东西:

Row {
    Text(text = left, modifier = modifier.padding(8.dp).weight(<min 0.6f>))
    Text(text = right, modifier = modifier.padding(8.dp).weight(<max 0.4f>))
}
Run Code Online (Sandbox Code Playgroud)

有什么办法可以实现这一点吗?

android-jetpack-compose

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

Django:分页ListView数据库性能

我有一个ListView分页:

class StoriesListView(ListView):
    model = Story
    paginate_by = 20

    def get_queryset(self):
        return Story.objects.all().order_by('-updated_at')
Run Code Online (Sandbox Code Playgroud)

Story在数据库中有1000个对象.当用户加载我的视图时会发生什么?是从数据库查询所有1000还是只查询20?我该如何优化呢?

database django django-generic-views django-pagination

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

SearchView.isFocused 始终返回 false

我正在尝试确定SearchViewActionBar 中的 a 是否获得焦点。但是当我打电话时,SearchView.isFocused()我总是得到false结果,即使视图真正聚焦(内部有光标,并且显示软键盘)。

如何检查 a 是否SearchView聚焦?

android widget android-actionbar searchview

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

Android注释gradle警告

我正在使用带有gradle插件1.0.1的Android Studio 1.1 beta 4,并尝试在正式版本之后将Android Annotations添加到我的项目中.所以我得到以下build.gradle文件:

apply plugin: 'com.android.application'
apply plugin: 'android-apt'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "ru.itloft.moneytracker"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    packagingOptions {
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
    }
}
def AAVersion = '3.2'
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    apt "org.androidannotations:androidannotations:$AAVersion"
    compile …
Run Code Online (Sandbox Code Playgroud)

android gradle android-annotations

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

在Firebase中维护动态计算的值

我有一个简单的firebase数据库:/rides是这样的简单对象的列表

{
  car: "Toyota"
  minutes: 15
}
Run Code Online (Sandbox Code Playgroud)

我需要显示所有行程的分钟数总和。显而易见的解决方案是加载所有游乐设施并计算总和。但是,如果我有数百次骑行,这将非常缓慢,可能需要几秒钟。

因此,看来我必须为此/totalMinutes在数据库中维护一个单独的字段。但是因此,/totalMinutes每次添加/删除/更改行程时,我都必须手动更新。无论如何,这不是一件大事。

但是,如果我只需要为部分游乐设施计算总分钟数呢?例如仅适用于“丰田”汽车或“福特”汽车?手动维护/totalMinutesFord/totalMinutesToyota现在似乎并不容易。

那么在Firebase中维护此类动态值的正确方法是什么?

android firebase firebase-realtime-database

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

链式调用和继承

我有一个以下的类层次结构

open class B {
    fun b() = this
}

open class C : B() {
    fun c() = 0
}
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

fun test(c: C) {
    c.b().c() // error: c.b() returns B, not C
}
Run Code Online (Sandbox Code Playgroud)

我明白为什么这样的问题在Java中存在,但科特林具有智能管型,那么为什么编译器可以不聪明投c.b()C在这种情况呢?

有没有 Kotlin中的Java更好的解决方法来使链接调用与继承一起正常工作?

kotlin

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

运行scrapy crawler的最简单方法,这样它就不会阻塞脚本

官方文档提供了许多scrapy从代码运行爬虫的方法:

import scrapy
from scrapy.crawler import CrawlerProcess

class MySpider(scrapy.Spider):
    # Your spider definition
    ...

process = CrawlerProcess({
    'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'
})

process.crawl(MySpider)
process.start() # the script will block here until the crawling is finished
Run Code Online (Sandbox Code Playgroud)

但它们都阻止脚本,直到爬行完成。python中以非阻塞、异步方式运行爬虫的最简单方法是什么?

python scrapy

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