小编pix*_*xel的帖子

我为什么要在Android中使用自定义内容提供商?

使用自定义内容提供商有什么好处?为什么这样的内容提供程序优于包含SQL查询的普通类?

android android-contentprovider

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

运行单元测试时,Django无法找到设置文件

我正在尝试在我的django应用程序上运行单元测试但是我遇到了错误.运行应用程序很好.我正在使用pycharm 3.0.

C:\Users\user\my-project-env\Scripts\python.exe "K:\Program Files (x86)\JetBrains\PyCharm 3.0\helpers\pycharm\utrunner.py" C:/Users/user/PycharmProjects/my-project/my_app/ true
Testing started at 20:16 ...
Traceback (most recent call last):
  File "K:\Program Files (x86)\JetBrains\PyCharm 3.0\helpers\pycharm\utrunner.py", line 113, in <module>
    modules = loadModulesFromFolderRec(a[0])
  File "K:\Program Files (x86)\JetBrains\PyCharm 3.0\helpers\pycharm\utrunner.py", line 63, in loadModulesFromFolderRec
    os.path.walk(folder, walkModules, (modules, pattern))
  File "C:\Users\user\my-project-env\lib\ntpath.py", line 259, in walk
    func(arg, top, names)
  File "K:\Program Files (x86)\JetBrains\PyCharm 3.0\helpers\pycharm\utrunner.py", line 51, in walkModules
    modules.append(loadSource(os.path.join(dirname, name)))
  File "K:\Program Files (x86)\JetBrains\PyCharm 3.0\helpers\pycharm\utrunner.py", line 40, in loadSource
    module = imp.load_source(moduleName, fileName)
  File "C:/Users/user/PycharmProjects/my-project/my_app/tests.py", line …
Run Code Online (Sandbox Code Playgroud)

django django-testing pycharm

5
推荐指数
2
解决办法
5165
查看次数

在Splinter中获取href值?

我想href<a>Splinter的元素中获取价值.

那有什么api方法吗?

python href splinter

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

支持androidJavadocs任务找不到的注释

在执行任务期间:androidJavadocs我得到:

javadoc: warning - Class NonNull not found.
Run Code Online (Sandbox Code Playgroud)

看起来即使编译正常,也找不到Android的支持注释.

如何摆脱这种警告?

android annotations javadoc

5
推荐指数
0
解决办法
247
查看次数

在Android中滚动时折叠布局

我想让自定义视图在滚动过程中随着过渡而折叠。

我有AppBarLayout一个Toolbar内部。在此下方,有一个我要折叠的自定义视图。

下面的自定义视图有一个NestedScrollViewLinearLayout

工具栏为绿色,自定义布局为粉红色,线性滚动为灰色:

工具栏自定义视图和

向下滚动后:

向下滚动

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
    </android.support.design.widget.AppBarLayout>


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="170dp"
        android:layout_marginTop="?attr/actionBarSize"
        android:background="@drawable/background"
        android:gravity="center">
    </RelativeLayout>

    <ScrollView
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="170dp"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <include
            layout="@layout/linear"
            android:layout_marginBottom="20dp"
            android:layout_marginTop="20dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </ScrollView>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

我应该选择自定义行为,CoordinatorLayout还是应该NestedScroll使用翻译动画进行翻译?

android nestedlayout coordinator-layout android-coordinatorlayout android-collapsingtoolbarlayout

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

使用 java 流将两个相同大小(和不同类型)的列表合并到域对象列表中

我有两个相同尺寸的名单ids,并results和我想创建一个域对象的新名单。

List<Id> ids = ...

List<Result> results = redisTemplate.opsForValue().multiGet.get(ids);

List<DomainObject> list = // list of domain objects new DomainObject(id, result);
Run Code Online (Sandbox Code Playgroud)

我用过的解决方案:

List<DomainObject> list = new ArrayList<>(ids.size());
for (int i = 0; i < ids.size(); i++) {
    list.add(new DomainObject(ids.get(i), results.get(i)));
}
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方法来做到这一点,例如。使用流?

java collections java-stream

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

如何在 webflux 中获取客户端 IP?

我曾经调用 HttpServletRequest.getRemoteAddr() 来获取客户端 ip。

我想知道如何通过 ServerWebExchange 获得它。

我最好的猜测是:

  serverWebExchange.getRequest().getRemoteAddress().getAddress().getHostAddress();
Run Code Online (Sandbox Code Playgroud)

这是正确的吗?

spring-webflux

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

在反应式编程模型中注册自定义 AuthenticationProvider

我正在尝试注册我自己的AuthenticationProvider.

我的配置:

@EnableWebFluxSecurity
class SecurityConfig {

  @Bean
  fun customAuthenticationProvider(): CustomAuthenticationProvider {
    return CustomAuthenticationProvider()
  }

  @Bean
  fun securityWebFilterChain(http: ServerHttpSecurity): SecurityWebFilterChain {
    return http.authorizeExchange()
        .anyExchange().authenticated()
        .and().build()
  }
}
Run Code Online (Sandbox Code Playgroud)

但由于我使用 webflux 我无法使用WebSecurityConfigurerAdapter.

启用此类功能的正确方法是什么AuthenticationProvider

spring-security spring-boot spring-webflux

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

使用 spring-security 和反应式 spring 的自定义身份验证

我有一个自定义身份验证方案。我有一个 REST 端点,它具有userIdhttp uri 路径和tokenhttp 标头。我想检查此类请求是否由具有有效令牌的有效用户执行。用户和令牌存储在 mongo 集合中。

我不知道我应该在哪个班级授权用户。

我的SecurityConfig

@EnableWebFluxSecurity
class SecurityConfig {

  @Bean
  fun securityWebFilterChain(http: ServerHttpSecurity): SecurityWebFilterChain {

    val build = http
        .httpBasic().disable()
        .formLogin().disable()
        .csrf().disable()
        .logout().disable()
        .authenticationManager(CustomReactiveAuthenticationManager())
        .securityContextRepository(CustomServerSecurityContextRepository())
        .authorizeExchange().pathMatchers("/api/measurement/**").hasAuthority("ROLE_USER")
        .anyExchange().permitAll().and()

    return build.build()
  }

  @Bean
  fun userDetailsService(): MapReactiveUserDetailsService {
    val user = User.withDefaultPasswordEncoder()
        .username("sampleDeviceIdV1")
        .password("foo")
        .roles("USER")
        .build()

    return MapReactiveUserDetailsService(user)
  }
}
Run Code Online (Sandbox Code Playgroud)

我的ServerSecurityContextRepository

class CustomServerSecurityContextRepository : ServerSecurityContextRepository {

  override fun load(exchange: ServerWebExchange): Mono<SecurityContext> {
    val authHeader = exchange.request.headers.getFirst(HttpHeaders.AUTHORIZATION)
    val path = exchange.request.uri.path …
Run Code Online (Sandbox Code Playgroud)

spring-security kotlin spring-boot spring-webflux

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

将 Flux 排放与重复合并?

我有一个Flux发出项目的:

data class Item(
  val isEgg: Boolean,
  val isBasket: Boolean
)
Run Code Online (Sandbox Code Playgroud)

考虑 2 个“篮子”和 4 个“鸡蛋”排放。我想将这些排放物合并为两个:每个包含一个“篮子”和 4 个“鸡蛋”:

通量排放及其转化

有人知道这种转变吗?Flux 是有限的,不应超过 1K 项。

编辑:

到目前为止我取得的成就 - 我将排放分为GroupedFlux. 现在我需要将GroupedFluxcontains Basket1,Basket2与第二个包含 'Eggs'结合起来,以便在每个篮子中生成两个带有“重复”鸡蛋的篮子。

    val flux = Flux.just("Egg1", "Egg2", "Basket1", "Egg3", "Egg4", "Basket2")

    val block = flux.groupBy {
        it.startsWith("Egg")
    }
Run Code Online (Sandbox Code Playgroud)

所需流量: Flux.just("Basket1(Egg1,Egg2, Egg3, Egg4)","Basket2(Egg1,Egg2, Egg3, Egg4)")

project-reactor

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