小编man*_*niL的帖子

RxSwift - 误解了一些概念

我是RxSwift的初学者,我试着从一个简单的登录屏幕开始.所以我有2个文本字段和一个登录按钮,它绑定到一个PublishSubject所以每次点击按钮时,我都会发送网络请求来执行身份验证.

由于身份验证可能会失败,Driver因此我每次单击按钮都可以重播我的请求.

我有2个版本,我认为是相同的代码,但一个工作,一个不.我试图了解幕后发生的事情.

这是第一个有效的版本(每次触摸按钮时请求):

let credentials = Driver.combineLatest(email.asDriver(), password.asDriver()) { ($0, $1) }
self.signIn = signInTaps
    .asDriver(onErrorJustReturn: ())
    .withLatestFrom(credentials)
    .flatMapLatest { email, password in // returns Driver<Result<AuthenticateResponse, APIError>>
        return provider.request(.Authenticate(email: email, password: password))
            .filterSuccessfulStatusCodes()
            .mapObject(AuthenticateResponse)
            .map { element -> Result<AuthenticateResponse, APIError> in
                return .Success(element)
            }
            .asDriver { error in
                let e = APIError.fromError(error)
                return Driver<Result<AuthenticateResponse, APIError>>.just(.Failure(e))
            }
            .debug()
    }
Run Code Online (Sandbox Code Playgroud)

这是一个不起作用的(请求只在第一次点击时触发):

let credentials = Observable.combineLatest(email.asObservable(), password.asObservable()) { ($0, $1) }
self.signIn = signInTaps.asObservable()
    .withLatestFrom(c)
    .flatMapLatest { email, …
Run Code Online (Sandbox Code Playgroud)

ios swift rx-swift

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

使用Mongodb进行模糊搜索?

我已经设法在我的mongodb应用程序中设置搜索功能.请参阅下面的代码.这非常有效,但它只返回确切的结果.如何更改代码以使其接受更"模糊"的搜索结果?谢谢!

router.get("/", function(req, res){
    if (req.query.search) {
       Jobs.find({"name": req.query.search}, function(err, foundjobs){
       if(err){
           console.log(err);
       } else {
          res.render("jobs/index",{jobs:foundjobs});
       }
    }); 
    }

  Jobs.find({}, function(err, allJobs){
       if(err){
           console.log(err);
       } else {
          res.render("jobs/index",{jobs:allJobs});
       }
    });
});
Run Code Online (Sandbox Code Playgroud)

search mongoose mongodb

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

角色属性在表单或导航标签中已过时

介绍

我知道,角色属性是由W3C在WAI-ARIA 1.0中引入的,然后在HTML5中进行了调整.

当HTML5是新的并且许多浏览器没有实现本机元素时,人们建议使用角色属性来支持它们<nav role="nav">…</nav>,但他们也提到这将很快变得不必要.

但目前,有不同的意见:


引导

一个引导成员在GitHub上声明WAI-ARIA规则比当前的HTML5规范"更重要".此外,其他第三方网站(如TutorialsPointW3Schools)也建议添加该属性以授予完全可访问性.


W3C

另一方面,当您输入带有role属性的可疑表单标记时,W3C-Validator会发出以下警告.

<form role="form"></form>
Run Code Online (Sandbox Code Playgroud)

元素表单不需要角色属性.

这显然不包括角色属性.


最后

是否已经花时间忽略备份本机HTML5标签(和表单),或者是否仍然需要保证完全可访问的网站(例如残障人士/有屏幕阅读器的人)?是否有某种"官方声明"或指南(最新的)?

html forms html5 wai-aria twitter-bootstrap

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

Laravel 5.3:在自定义错误页面上使用auth/middleware

问题

当显示HTTP错误页面(404,500等)时,我想保留当前项目的标准设计,包括页眉和页脚.我的项目还包括一个注册系统.当用户登录并收到错误消息时,他将被重定向到相应的错误页面,但Laravel 无法识别用户已登录.那是因为自定义错误页面(位于resources/views/errors/{code}.blade.php不通过正常的Web中间件运行(由于某些原因)).

此行为已经报告了几次,但没有提供足够的答案.一个hacky解决方案是将StartSession中间件设置为应用于每个请求,但这在我的情况下是不够的.

如何在自定义错误页面上使用Auth/Session中间件?

解决方案不适合

  • 我不想StartSession为每个请求添加中间件(或任何其他)

相关问题和链接

php error-handling middleware laravel laravel-5

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

缩小HTML,但不要使用Gulp触及PHP

问题

我有很多.php文件,大多数都包含HTML,但顶部还有一些PHP行(例如表单触发器代码或类似代码).所以他们看起来像

<?php
if($someValue){
    //doSth
}
//more content
?>
<!DOCTYPE html>
<html lang="de">
<head>
    <title>My Website</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body>
<!-- Content and scripts here -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

目标

我的目标是缩小 HTML(甚至可能是内联的javascript,但这只是额外的一点),而不是触及顶部的PHP.我正在使用Gulp作为自动构建工具,并且希望看到使用此工具的解决方案以及任何需要的额外软件包.

html javascript php minify gulp

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

Php-Pdo SSH 隧道

现在我正在创建一个 ssh 隧道,这样我就可以连接到我的远程数据库,但由于某种原因连接仍然拒绝......我的脚本:

try {

    $host = 'remote host';
    $sshuser = 'ssh user';
    $sshpass = 'ssh password';
    $dbuser = 'db user';
    $dbpass = 'db user';
    $dbname = 'db name';

    shell_exec("ssh -p$sshpass ssh -o StrictHostKeyChecking=no -f -L 3307:127.0.0.1:3306 $sshuser@$host");

    $dbh = new PDO('mysql:host=127.0.0.1;port=3307;dbname=' .$dbname. '', $dbuser, $dbpass);

    $sth = $dbh->prepare("SELECT * from table");

    $sth->execute();

    $result = $sth->fetchAll();

    print_r ($result);

    shell_exec("kill $(ssh-pid)");

    $dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
Run Code Online (Sandbox Code Playgroud)

结果我得到:

Error!: SQLSTATE[HY000] …
Run Code Online (Sandbox Code Playgroud)

php database connection pdo ssh-tunnel

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

Laravel 5-有条件地追加变量

之前的几句话

我知道您可以使用protected $appends = ["your", "vars", "here"];数组将变量附加到模型数组和json表示形式。但想象一下以下情况:

情况

我们的用例将是一个虚构的游戏或类似的游戏:

想象一下,我们有一个User模型,其中包含有关(人类)用户的简单信息,例如全名,地址等。

现在,我们还有一个Faction表示该用户的派系/起源/行会/ ...的模型。

Faction检索用户时会急于加载该模型,因为几乎每次显示用户信息时都需要Faction名称。

A User还具有DailyStatistics,其中包含有关其每日分数的一些信息(简单的分数就足够了)。

线索

因为我想知道一个派系的点,即用户点的总和,所以我考虑添加一个新变量totalPoints

getTotalPointsAttribute函数将如下所示:

function getTotalPointsAttribute(){
    return $this->users->sum->getTotalPoints();
}
Run Code Online (Sandbox Code Playgroud)

问题

每当我们现在检索用户时,热切的派系也会希望计算totalPoints属性。这意味着,每个用户的开销很大

问题

有办法避免这种情况吗?我可以“有条件地”追加变量吗?隐藏属性时会计算属性吗?

我试图将totalPoints变量包装在一个简单的函数中,而不是访问器中。问题在于,像VueJS这样的Frontend-Frameworks需要访问totalPoints变量(或访问端点以检索该值,但是这种解决方案最不利)。

php laravel vuejs2 laravel-5.4

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

只有一半的MongoDB数据库在Spring批处理中处理

我有一个Spring Boot批处理使用MongoDB数据库来提供MySQL数据库.我的大约一半的数据库由程序处理,但在我的日志中只有200个错误.

BATCH_STEP_EXECUTION表让我知道该过程进展顺利(状态已完成)并显示READ_COUNT5692,尽管我在数据库中有11800个文档.

我是否忘记了配置中的某些内容以防止不通过整个数据库?

这是我的配置类:

@Configuration
@EnableBatchProcessing
@Import(PersistenceConfig.class)
public class BatchConfiguration {
    @Autowired
    MongoTemplate mongoTemplate;

    @Autowired
    SessionFactory sessionFactory;

    @Bean
    @StepScope
    public ItemReader<CourseData> reader() {
        MongoItemReader<CourseData> mongoItemReader = new MongoItemReader<>();
        mongoItemReader.setTemplate(mongoTemplate);
        mongoItemReader.setCollection("foo");
        mongoItemReader.setQuery("{}");
        mongoItemReader.setTargetType(CourseData.class);
        Map<String, Sort.Direction> sort = new HashMap<>();
        sort.put("_id", Sort.Direction.ASC);
        mongoItemReader.setSort(sort);

        return mongoItemReader;
    }

    @Bean
    public ItemProcessor<CourseData, MatrixOne> processor() {
        return new CourseDataMatrixOneProcessor();
    }

    @Bean
    public ItemWriter<MatrixOne> writer() {
        HibernateItemWriter writer = new HibernateItemWriter();
        writer.setSessionFactory(sessionFactory);
        System.out.println("writing stuff");
        return writer;
    }

    @Bean
    public Job importUserJob(JobBuilderFactory jobs, …
Run Code Online (Sandbox Code Playgroud)

java mysql mongodb spring-batch spring-boot

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

Laravel 5 - 在模型工厂中使用模型变量

好吧,假设我有一个带有属性的Post模型name,slugcontent.我想用我的ModelFactory生成模型,但想设置一个特定的名称,我通过覆盖该值来完成:

factory(App\Post::class)->create(["name" => "Something here"]);
Run Code Online (Sandbox Code Playgroud)

但是现在我希望slug通过使用(新)名称自动生成并且不将其作为参数传递.喜欢

"slug" => str_slug($name);
Run Code Online (Sandbox Code Playgroud)

这是可能的还是我需要手动编写slug?使用下面的工厂时,->create(['name' => 'anything']);不会创建slug.


我现在的工厂

$factory->define(App\Post::class, function (Faker\Generator $faker) {
    static $name;

    return [
        'name' => $faker->name,
        'slug' => $name ?: str_slug($name),
        'content' => $faker->sentences(),
    ];
});
Run Code Online (Sandbox Code Playgroud)

php factory laravel laravel-5 laravel-5.3

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

使用 Python、flask 和 SQLAlchemy 如何在 HTML 页面上打印数据库查询的结果?

我有一个非常简单的查询(刚开始使用 SQLAlchemy),我知道它正在工作,因为它在终端中打印,但不在 HTML 页面上打印,这就是问题所在。

如下:

from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import *
from models import db, Candidate, User, Template
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

some_engine = create_engine('databse_url')
Session = sessionmaker(bind=some_engine)
session = Session()

@application.route("/", methods=['GET', 'POST'])
def index():
    res = session.query(Template).all()
    for temp in res:
            print temp.spark_id
    return render_template('index.html')
Run Code Online (Sandbox Code Playgroud)

在终端中,打印了 2 个“spark_id”,但在 HTML 页面上我什么也没得到。

在 index.html 页面中,我有:

% if res %}
    {% for temp in res %}

        <p>{{ temp.spark_id }}</p>
        <p>{{ temp.created_at }}</p>

    {% endfor %} …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask flask-sqlalchemy

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