我是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) 我已经设法在我的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) 我知道,角色属性是由W3C在WAI-ARIA 1.0中引入的,然后在HTML5中进行了调整.
当HTML5是新的并且许多浏览器没有实现本机元素时,人们建议使用角色属性来支持它们<nav role="nav">…</nav>,但他们也提到这将很快变得不必要.
但目前,有不同的意见:
一个引导成员在GitHub上声明WAI-ARIA规则比当前的HTML5规范"更重要".此外,其他第三方网站(如TutorialsPoint或W3Schools)也建议添加该属性以授予完全可访问性.
另一方面,当您输入带有role属性的可疑表单标记时,W3C-Validator会发出以下警告.
<form role="form"></form>
Run Code Online (Sandbox Code Playgroud)
元素表单不需要角色属性.
这显然不包括角色属性.
是否已经花时间忽略备份本机HTML5标签(和表单),或者是否仍然需要保证完全可访问的网站(例如残障人士/有屏幕阅读器的人)?是否有某种"官方声明"或指南(最新的)?
当显示HTTP错误页面(404,500等)时,我想保留当前项目的标准设计,包括页眉和页脚.我的项目还包括一个注册系统.当用户登录并收到错误消息时,他将被重定向到相应的错误页面,但Laravel 无法识别用户已登录.那是因为自定义错误页面(位于resources/views/errors/{code}.blade.php不通过正常的Web中间件运行(由于某些原因)).
此行为已经报告了几次,但没有提供足够的答案.一个hacky解决方案是将StartSession中间件设置为应用于每个请求,但这在我的情况下是不够的.
如何在自定义错误页面上使用Auth/Session中间件?
StartSession为每个请求添加中间件(或任何其他)我有很多.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作为自动构建工具,并且希望看到使用此工具的解决方案以及任何需要的额外软件包.
现在我正在创建一个 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) 我知道您可以使用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变量(或访问端点以检索该值,但是这种解决方案最不利)。
我有一个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) 好吧,假设我有一个带有属性的Post模型name,slug和content.我想用我的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) 我有一个非常简单的查询(刚开始使用 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) php ×5
laravel ×3
html ×2
laravel-5 ×2
mongodb ×2
connection ×1
database ×1
factory ×1
flask ×1
forms ×1
gulp ×1
html5 ×1
ios ×1
java ×1
javascript ×1
laravel-5.3 ×1
laravel-5.4 ×1
middleware ×1
minify ×1
mongoose ×1
mysql ×1
pdo ×1
python ×1
rx-swift ×1
search ×1
spring-batch ×1
spring-boot ×1
sqlalchemy ×1
ssh-tunnel ×1
swift ×1
vuejs2 ×1
wai-aria ×1