小编Nje*_*rus的帖子

在模板构建器模式中分解重复的构造函数调用

考虑以下类似于构建器的类,它最终允许我构造一个具有成员变量的某些(运行时)值的对象,以及嵌入由多个(编译时)类型携带的某些行为.

相同的构建允许更新成员变量(通常的构建器模式),以及更改与构建器的类型携带状态相关联的模板类型参数(仅显示有几个模板类型参数和成员,但在实践中,会有更多):

template <typename T1 = DefaultT1, typename T2 = DefaultT2>
class Builder {
  int param1, param2;
  Builder(int param1, int param2) : param1{param1}, param2{param2} {}
public:
  Builder() : Builder(default1, default2) {}

  // methods to change param1 and param2 not shown

  /* return a new Builder with T1 changed to the given T1_NEW */
  template <typename T1_NEW>
  Builder<T1_NEW, T2   > withT1() { return {param1, param2}; }

  template <typename T2_NEW>
  Builder<T1   , T2_NEW> withT2() { return {param1, param2}; …
Run Code Online (Sandbox Code Playgroud)

c++ templates builder c++11

14
推荐指数
3
解决办法
285
查看次数

如何使用Spring使用OAuth2保护MVC应用程序?

对不起,我的英文.

我有一个应用程序,我可以通常的方式登录.

@Configuration
@EnableWebSecurity
public class LoginSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        System.out.println("LoginSecurityConfig :: configure");

        auth.jdbcAuthentication().dataSource( getDataSource() )
            .passwordEncoder( new BCryptPasswordEncoder(16) )
            .usersByUsernameQuery(
                "select user_name as username,password,enabled from users where user_name=?")
            .authoritiesByUsernameQuery(
                "select user_name as username, role_name from users_roles ur join users u on ur.user_id = u.user_id and u.user_name = ?");

    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {


        http
        .csrf().disable()
        .authorizeRequests()
        .antMatchers("/login*").anonymous()
        .antMatchers("/resources/**").permitAll()
        .antMatchers("/fotos/**").permitAll()
        .antMatchers("/users").access("hasRole('ROLE_ADMIN')")
        .antMatchers("/user").access("hasRole('ROLE_ADMIN')")
        .anyRequest().authenticated()
        .and()

        .formLogin()
        .loginPage("/loginPage")
        .defaultSuccessUrl("/home", true) …
Run Code Online (Sandbox Code Playgroud)

spring-mvc spring-security-oauth2

10
推荐指数
2
解决办法
1013
查看次数

recyclerview中的Webview不会扩展到位.(不缩小底部)

我正在研究类似于'谷歌收件箱'的东西,这需要我在recyclerView中有多个webview,我可以通过点击标题来扩展和折叠内容,这将添加/删除标题下的webview.

到目前为止,这是该项目的要点

Fragment
 -> RecyclerView (match_parent on height and width)
   -> Adapter + ViewModel/Model
     -> XML + Databinding.
Run Code Online (Sandbox Code Playgroud)

XML结构

LinearLayout (vertical)
 -> Header (match_parent on width, wrap_content on height)
 -> WebView (match_parent on width, wrap_content on height) 
(Webview does not scroll and it scales with the contents.
 the recyler view handles scrolling)
Run Code Online (Sandbox Code Playgroud)

默认情况下,所有Web视图的可见性都消失了,当用户第一次点击标题时,调用webview.loadDataWithBaseUrl()时会加载它应该加载的内容并打开可见性.webview缩放其高度以完全显示内容.当用户再次单击标题时,它会将可见性变为已消失,整个行将折叠为标题.再次单击先前展开的标题,我不必再次加载数据,而只是打开可见性.

一切都很有效,但对于这个非常讨厌的问题. https://nofile.io/f/UBCh5PO7Wv9/screencapture-1525973579493.mp4这是Google收件箱中的录音和我的应用程序有完全相同的问题.

当我点击标题进行扩展并在webview中加载内容时,一些webview会在下面展开,我的意思是标题保持不变,看起来内容加载在点击的标题下方.

但对于某些内容,webviews会向上扩展,这意味着它会推动单击的标题以展开内容.这意味着我在看内容的结尾而不是顶部.就像收件箱的这种情况一样,我正在查看电子邮件的结尾,但不是在电子邮件的顶部.

我在我分享的视频中复制了电子邮件的来源,并使用它们加载我的网页视图,这是我的发现.

  • 它与加载的内容无关,因为即使我混淆了它也会发生
  • 它与webview的计数或给定webview的索引无关
  • 如果我将内容从上到下展开,就不会发生这种情况.意思是从索引0..n - >但是但它总是发生在我把所有东西都折叠起来并且我从下到上扩展内容......从n到0.

在此输入图像描述

基本上,如果A和B是webview的顶部和底部边缘,理想情况下A应该保持稳定,B应该增加向下推动它下面的recyclerView内容.但相反,当我从下向上扩展内容时,底线B保持稳定并且webview增加并推动标题和给定行上方的项目以及它导致查看结束时的恼人行为内容比谷歌收件箱中的顶部更好.

这是一个发生什么的gif - 当我点击紫色标题时,webview(粉红色)加载电子邮件.当我点击最后一个时,webview将在下面展开.但是当我点击最后一个时,它会向上扩展,然后向上推动标题.

有什么想法吗?救命?

谢谢

html android android-webview recycler-adapter android-recyclerview

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

如何从csv读取没有标题的列并使用Python将输出保存在txt文件中?

我有一个包含许多列的文件"TAB.csv".我想从CSV文件中选择一个没有标题的列(该列的索引是3).然后创建一个新的文本文件"NEW.txt"并在那里写入该列(不带标题).

下面的代码读取该列,但带有标题.如何省略标题并将该列保存在新的文本文件中?

import csv
with open('TAB.csv','rb') as f:
    reader = csv.reader(f)
    for row in reader:
        print row[3]
Run Code Online (Sandbox Code Playgroud)

python csv

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