这是代码 actions.js
export function exportRecordToExcel(record) {
return ({fetch}) => ({
type: EXPORT_RECORD_TO_EXCEL,
payload: {
promise: fetch('/records/export', {
credentials: 'same-origin',
method: 'post',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(data)
}).then(function(response) {
return response;
})
}
});
}
Run Code Online (Sandbox Code Playgroud)
返回的响应是一个.xlsx文件.我希望用户能够将其保存为文件,但没有任何反应.我假设服务器正在返回正确类型的响应,因为它在控制台中说
Content-Disposition:attachment; filename="report.xlsx"
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我该怎么做减速机?
我正在使用验证器验证Laravel 5.4中的请求,请参阅文档:https://laravel.com/docs/5.4/validation#validating-arrays
基本上,这是Controller中的代码:
public function createSomeResource(Request $request)
{
$this->validate($request, [
'items' => 'required',
];
...
}
Run Code Online (Sandbox Code Playgroud)
我想要求字段"items"的存在,并且此代码执行它,但问题是当"items"字段是空数组时验证失败,即
{
"fields": []
}
Run Code Online (Sandbox Code Playgroud)
,这是一种不受欢迎的行为.我知道这是"必需"参数的记录行为,但我没有看到任何"干净"的解决方法.我也尝试过:
public function createSomeResource(Request $request)
{
$this->validate($request, [
'items' => 'required_unless:items,[]',
];
...
}
Run Code Online (Sandbox Code Playgroud)
但它也失败了,可能是因为文档说它在"required_unless"子句之后适用于不同的字段,但我并不完全确定.
你能否建议我一种方法来要求存在字段"items"而不禁止空数组?
编辑:我想到的另一个"显而易见"的方法是使用"present | array"规则,它几乎可以实现我想要的,但不幸的是,一个空字符串也通过了验证规则,这可能是一个错误Laravel,也许不是 - 我在Laravel github存储库上为它打开了一个问题:https://github.com/laravel/framework/issues/18948
我正在努力找到一种干净的方式(没有原始SQL)来设置alembic中的列顺序.例如,我想在'id'列之后添加一个名为'name'的新列,如下所示:
from alembic import op
import sqlalchemy as sa
...
op.add_column(
'people',
sa.Column(
'name',
sa.String(),
nullable=False
),
after='id'
)
Run Code Online (Sandbox Code Playgroud)
但是当然,alembic没有'after'参数,因此这段代码失败了,而且我没有在docs中找到与'after'参数相当的东西.我只能将列附加到表的末尾.
任何人都可以建议如何在alembic/sqlalchemy中实现我想要的东西?没有原始SQL可能吗?
我正在尝试使用名为jira-ruby的 gem从JIRA获取issuses .问题是,结果包含70个问题,但我只能看到前50个.当直接使用JIRA REST API时,我可以将maxResults参数(在JQL之外)设置为更高的数字.但我无法在红宝石中发现这种可能性.
有没有可能直接使用这个ruby gem或任何其他同样简单的解决方案设置maxResults标志?
代码如下:
require 'jira'
class PagesController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
def home
options = {
:username => 'xxx',
:password => 'xxx',
:site => "https://xxx.atlassian.net",
:context_path => '',
:auth_type => :basic
}
client = JIRA::Client.new(options)
@issues = 0
client.Issue.jql("project = AA AND fixVersion = it11").each do |issue|
@issues += 1 # "#{@issues} <br> #{issue.id} - …Run Code Online (Sandbox Code Playgroud) 这是代码片段:
var fetch = require("node-fetch");
var fetchMock = require("fetch-mock");
function setupMockBlockChainExplorer() {
fetchMock.mock("https://cardanoexplorer.com/api/addresses/summary/DdzFFzCqrhsmagp4fDZpcY9UaBJk4Z8GaDfxqMCSwxPs3PnVoXmJWUZcgAxw3diCHVYauontEfk7YGeAu2LvAwq3aG2XQ8Mtsz7Vc8LA", {
"status" : 200,
"body" : "override"
});
}
async function makeRequest(url, method = "get", body = null, headers = null) {
const res = await fetch(url, {
method: method,
headers: headers,
body: body,
});
return res.json()
};
setupMockBlockChainExplorer();
var req = makeRequest("https://cardanoexplorer.com/api/addresses/summary/DdzFFzCqrhsmagp4fDZpcY9UaBJk4Z8GaDfxqMCSwxPs3PnVoXmJWUZcgAxw3diCHVYauontEfk7YGeAu2LvAwq3aG2XQ8Mtsz7Vc8LA");
// I would expect it to print "override" but it prints the http response from the real request instead
req.then(console.log)
Run Code Online (Sandbox Code Playgroud)
因此,正如您在上面的代码中看到的那样,我试图覆盖HTTP请求,但是我仍然使用fetch来访问真实的URL。我已经阅读了fetch-mock文档(http://www.wheresrhys.co.uk/fetch-mock/installation.html),并且还尝试过这样的配置:
fetchMock.config …Run Code Online (Sandbox Code Playgroud) 我对Liquidsoap有一个非常奇怪的问题.我有以下播放列表:
myplaylist = playlist(mode="normal",playlist_file,reload_mode="rounds",reload=1)
myplaylist = on_metadata(apply_metadata,myplaylist)
Run Code Online (Sandbox Code Playgroud)
其中apply_metadata调用python脚本,该脚本在调用时立即更新播放列表,但有时Liquidsoap会在重新加载后继续播放旧的播放列表,即使调用了apply_metadata过程也是如此.
在此先感谢您的帮助.
Liquidsoap脚本的完整代码:
# This function is called when
# a new metadata block is passed in
# the stream.
def apply_metadata(m) =
title = m["filename"]
artist = m["artist"]
print("Now playing: #{title} by #{artist}")
filename = string.split(separator="/",title) # rozdelime cestu po lomitkach
filename = list.nth(list.rev(filename),0) # vezmeme meno suboru
filename = list.nth(string.split(separator="\.",filename),0) # odpojime koncovku .mp3
command = "python3.3 feedback.py " ^ filename
system(command)
end
#!/usr/bin/liquidsoap
# Log dir
set("log.file.path","/tmp/basic-radio.log")
#tidy up before …Run Code Online (Sandbox Code Playgroud) 我想知道,为什么在union-find算法中 - 你按照它们的高度合并两棵树 - 将较小的树连接到较高的树(在没有路径压缩的简单变体中).
如果你按照元素的数量合并它们会更糟糕吗 - 用更少的元素将树用更少的元素附加到树上?
我在 Amazon EC2 实例上托管一个 create-react-app,每次部署新版本的 Web 应用程序(即 run )时yarn react-scripts build,都会有几分钟的停机时间,直到应用程序构建完成。build/该应用程序由 直接从文件夹提供服务serve ./build -s。
我考虑过从不同的文件夹提供服务,例如deployed/,仅在文件夹中的构建build/完成后才复制到该文件夹。这应该可以最大限度地减少停机时间。但我没有发现其他人推荐这种做法,如果真的推荐的话,我猜这react-scripts build会做类似的开箱即用的事情,以防止提供部分构建的资产。
所以我的问题是,在服务器上构建资产时是否有某种标准方法可以防止停机。
reactjs ×2
alembic ×1
algorithm ×1
fetch ×1
fetch-mock ×1
flux ×1
javascript ×1
jira ×1
laravel ×1
laravel-5 ×1
laravel-5.4 ×1
liquidsoap ×1
node.js ×1
php ×1
python ×1
reactjs-flux ×1
ruby ×1
sqlalchemy ×1
stream ×1
streaming ×1
union-find ×1
validation ×1