我有2 UIButtons
个观点.每个都链接到2个不同的视图.他们必须根据您刚刚点击的按钮传递不同的数据.
我知道有不同的方法,segue
但我想使用prepareForSegue
每个版本(似乎更清楚我segue
在故事板和一些代码来解释发生了什么).
我试过这个......
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue != "historySegue") {
let controller = segue.destinationViewController as! ResultViewController
controller.match = self.match
} else {
let controller = segue.destinationViewController as! HistoryViewController
controller.history = self.history
}
}
@IBAction func showHistory(sender: UIButton) {
performSegueWithIdentifier("historySegue", sender: self)
}
@IBAction func match(sender: UIButton) {
performSegueWithIdentifier("matchSegue", sender: self)
}
Run Code Online (Sandbox Code Playgroud)
但是当我点击按钮时出现错误
(LLDB)
使用 Node/Express + Mongo 制作 API。
我正在写一些单元测试和我观察,如果我尝试获得/profile/1
了_id=1
(我让默认蒙戈把ID,所以我不能有_id=1
)我得到这个错误
MongooseError: Cast to ObjectId failed for value "1" at path "_id"
我以为我会有一个空对象 User。
function getProfile(req, res) {
const userId = req.params.userId
User.findById(userId, "-password", (err, user) => {
if (err) {
console.log(err);
res.status(400)
res.json({
success: false,
err
})
res.end()
return
}
if (!user) {
res.status(404)
res.json({
success: false,
message: `Cannot find an User with the userId: ${userId}`
})
res.end()
return
}
res.json({
success: true,
user: user
})
res.end() …
Run Code Online (Sandbox Code Playgroud) 我正在为我的公司构建数据架构。一个带有内部和外部数据的简单 ETL,旨在构建静态仪表板和其他搜索趋势。
我尝试一步一步地思考 ETL 过程的每一步,现在我正在质疑Load部分。
我计划使用 Spark(开发上的 LocalExcecutor 和 Azure 上的生产服务),所以我开始考虑将 Parquet 用于 Blob 服务。我知道 Parquet 相对于 CSV 或其他存储格式的所有优势,我真的很喜欢这项技术。我读到的大部分关于 Spark 的文章都以df.write.parquet(...)
.
但我不明白为什么我可以启动一个 Postgres 并将所有内容保存在这里。我知道我们不会每天产生 100Go 的数据,但我想在一家快速发展的公司中建立一些面向未来的证明,该公司将按业务以及我们开始记录的日志和指标以指数方式产生数据。
更有经验的开发人员有什么优点/缺点?
编辑:还有什么让我质疑这是这条推文:https : //twitter.com/markmadsen/status/1044360179213651968
我正在使用Node / Express构建后端API,该API从MongoDB中获取数据。前端将用React编写。
我想保护通信客户端/服务器的安全,但是我不知道该如何考虑该过程。
我看到了许多有关passport
或的教程JWT
,但这对用户身份验证很有用。
我不知道基于时间(例如)为每个请求创建令牌是一种好方法还是对于Web应用程序来说太费时了。
但是我的目标是保护数据,因为即使API是私有的,您也可以轻松地找到路由,并尝试弄清楚如何用Postman伪造请求或其他方式来擦除数据。
想要验证我的输入并根据用户交互更改 CSS。
从所需的验证方法开始,我用 a 包装所有输入组件<Field>
并传递给validate
一个 func 数组。就required
目前而言。
但是对于我的所有字段,值保持不变touched: false
并且error: "Required"
. 如果我在输入中触摸或添加内容,这些值保持不变。
验证
export const required = value => (value ? undefined : 'Required')
Run Code Online (Sandbox Code Playgroud)
姓名输入
import React from 'react';
import { Field } from 'redux-form'
import InputItem from 'Components/InputsUtils/InputItem';
import { required } from 'Components/InputsUtils/Validation';
const NameInput = () => (
<Field
name={item.spec.inputName}
type={item.spec.type}
component={InputItem}
validate={[required]}
props={item}
/>
);
export default NameInput;
Run Code Online (Sandbox Code Playgroud)
输入项
import React from 'react';
const InputItem = ({ …
Run Code Online (Sandbox Code Playgroud) 对于 kubernetes 新手,我尝试使用气流启动 K8S(在 GCP 上)pod。第一次运行因“被驱逐”而终止
该节点资源不足:内存。容器基地正在使用 5168120Ki,这超出了其要求的 0。
我不明白这条消息的结尾。超过 0 ?
然后我开始阅读文档并了解请求和限制CPU和内存。我已经在我的机器上运行了我的 Python 程序,发现我需要大约 800Mo 的 RAM。然后我决定设置request = 1G
和limit = 2G
。有了这个集合,我又遇到了另一个错误OOMKilled
。
我什至尝试过3G,但结果是一样的。我的集群有 2 个节点、4 个 vCPU、15Gb RAM。
为什么我在第一种情况下被驱逐,而在第二种情况下 OOM ?
我的 GKE 集群遇到缩减问题,并发现通过正确的配置可以解决此问题。
作为 terraform文档,我可以使用争论autoscaling_profile
并将其设置为OPTIMIZE_UTILIZATION
就像这样:
resource "google_container_cluster" "k8s_cluster" {
[...]
cluster_autoscaling {
enabled = true
autoscaling_profile = "OPTIMIZE_UTILIZATION"
resource_limits {
resource_type = "cpu"
minimum = 1
maximum = 4
}
resource_limits {
resource_type = "memory"
minimum = 4
maximum = 16
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我收到了这个错误:
错误:资源“google_container_cluster”“k8s_cluster”中的 module/gke/main.tf 第 70 行不支持参数:70:autoscaling_profile =“OPTIMIZE_UTILIZATION”
这里不需要名为“autoscaling_profile”的参数。
我不明白?
想要尝试新的任务流 API,我需要有 2 个并行任务。
使用 Airflow v1,我习惯做类似的事情
task_1 >> [task_2, task_3]
[task_2, task_3] >> task_4
Run Code Online (Sandbox Code Playgroud)
现在我们调用任务的方式有所不同PythonOperator
如何使用 TaskFlow 制作列表?
谢谢
使用 Bulma CSS 获得一点帮助,我制作了自定义组件,使我能够使用 redux-form 处理不同类型的输入。
我想为选择输入设置默认值。
import React from 'react';
import { Field } from 'redux-form';
const DropDownItem = ({ spec }) => {
const { name, defaultValue, items, iconLeft } = spec;
return (
<div className="field">
<div className="control has-icons-left">
<div className="select is-fullwidth">
<Field name={name} value={defaultValue} component="select">
{/* loop for countries */}
{items.map((country, i) => (
<option value={country} key={i}>
{country}
</option>
))}
</Field>
</div>
<div className="icon is-left">
<i className={iconLeft} />
</div>
</div>
</div>
);
};
export default DropDownItem;
Run Code Online (Sandbox Code Playgroud)
我有正确的值, …
我正在用feathersjs 构建一个API,我需要发送一封带有附件的电子邮件。
电子邮件似乎已发送,但我什么也没收到。
在我的 mail.service.js
const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({
host: 'smtp.office365.com',
port: 587,
secure: false, // secure:true for port 465, secure:false for port 587
auth: {
user: 'gil.felot@myaccount.com',
pass: 'MyPassWord'
}
});
// Check the connection to the service.
transporter.verify(function(error, success) {
if (error) {
console.log(error);
} else {
console.log('Server is ready to take our messages');
}
});
Run Code Online (Sandbox Code Playgroud)
然后在我的钩子里
hook => {
const file = hook.params.file;
const email = {
from: 'gil.felot@myaccount.com', // sender address
to: …
Run Code Online (Sandbox Code Playgroud) mongodb ×2
node.js ×2
reactjs ×2
redux ×2
redux-form ×2
airflow ×1
apache-spark ×1
email ×1
encryption ×1
express ×1
feathersjs ×1
forms ×1
javascript ×1
kubernetes ×1
mongoose ×1
nodemailer ×1
parquet ×1
postgresql ×1
segue ×1
swift ×1
terraform ×1
xcode ×1