使用自定义内容提供商有什么好处?为什么这样的内容提供程序优于包含SQL查询的普通类?
我正在尝试在我的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) 在执行任务期间:androidJavadocs我得到:
javadoc: warning - Class NonNull not found.
Run Code Online (Sandbox Code Playgroud)
看起来即使编译正常,也找不到Android的支持注释.
如何摆脱这种警告?
我想让自定义视图在滚动过程中随着过渡而折叠。
我有AppBarLayout一个Toolbar内部。在此下方,有一个我要折叠的自定义视图。
下面的自定义视图有一个NestedScrollView用LinearLayout。
工具栏为绿色,自定义布局为粉红色,线性滚动为灰色:
向下滚动后:
<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
我有两个相同尺寸的名单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)
有没有更优雅的方法来做到这一点,例如。使用流?
我曾经调用 HttpServletRequest.getRemoteAddr() 来获取客户端 ip。
我想知道如何通过 ServerWebExchange 获得它。
我最好的猜测是:
serverWebExchange.getRequest().getRemoteAddress().getAddress().getHostAddress();
Run Code Online (Sandbox Code Playgroud)
这是正确的吗?
我正在尝试注册我自己的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?
我有一个自定义身份验证方案。我有一个 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) 我有一个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)")
android ×3
spring-boot ×2
android-collapsingtoolbarlayout ×1
annotations ×1
collections ×1
django ×1
href ×1
java ×1
java-stream ×1
javadoc ×1
kotlin ×1
nestedlayout ×1
pycharm ×1
python ×1
splinter ×1