我刚刚将我的Android Studio更新为3.0 canary 1.现在我正在使用Android Studio 3.0 canary 1上的现有项目.默认情况下,gradle:我的项目中设置了3.0.0-alpha1:gradle_file.所以我将我的gradle版本更改为2.2.3,现在我收到此错误:
错误:无法完成Gradle执行.
原因:您正在使用的Gradle版本(3.3)不支持BuildActionExecuter上的forTasks()方法.Gradle 3.5和所有更高版本都支持此功能.
我在这里附上我的gradle文件
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud) 以下帖子基于Rails 4.
我实际上正在寻找关于多个嵌套资源(超过1个)的良好最佳实践,并且选项浅:true.
首先在我的路线中,有这样的:
resources :projects do
resources :collections
end
Run Code Online (Sandbox Code Playgroud)
相关的路线是:
project_collections GET /projects/:project_id/collections(.:format) collections#index
POST /projects/:project_id/collections(.:format) collections#create
new_project_collection GET /projects/:project_id/collections/new(.:format) collections#new
edit_project_collection GET /projects/:project_id/collections/:id/edit(.:format) collections#edit
project_collection GET /projects/:project_id/collections/:id(.:format) collections#show
PATCH /projects/:project_id/collections/:id(.:format) collections#update
PUT /projects/:project_id/collections/:id(.:format) collections#update
DELETE /projects/:project_id/collections/:id(.:format) collections#destroy
projects GET /projects(.:format) projects#index
POST /projects(.:format) projects#create
new_project GET /projects/new(.:format) projects#new
edit_project GET /projects/:id/edit(.:format) projects#edit
project GET /projects/:id(.:format) projects#show
PATCH /projects/:id(.:format) projects#update
PUT /projects/:id(.:format) projects#update
DELETE /projects/:id(.:format) projects#destroy
Run Code Online (Sandbox Code Playgroud)
我在文档中读到了嵌套资源的限制:
资源不应该嵌套超过1级深度.
来源:http://guides.rubyonrails.org/routing.html#limits-to-nesting 好的.然后,就像文件说的那样,我将在我的路线中使用"浅".
shallow do
resources :projects do
resources …Run Code Online (Sandbox Code Playgroud) 我正在使用Redux和React创建一个应用程序.我遇到一个问题,我无法将状态映射到组件属性,因为状态具有与我使用的reducer的名称匹配的属性.
根减少器是使用combineReducers方法创建的
const rootReducer = combineReducers({
appReducer
});
Run Code Online (Sandbox Code Playgroud)
最初的状态是
const initialState = {
sources: [],
left: {},
right: {},
diff: {}
}
Run Code Online (Sandbox Code Playgroud)
但是在组件功能中mapStateToProps:
function mapStateToProps(state) {
return {
sources: state.sources
}
}
Run Code Online (Sandbox Code Playgroud)
这state.sources是undefined因为state参数的值是
{
appReducer: {
sources: [],
left: {},
right: {},
diff: {}
}
}
Run Code Online (Sandbox Code Playgroud)
这是redux的一个特性吗?所以当我使用更多reducers时,所有这些都会为state变量添加新属性?或者我身边有什么问题(我在redux教程中从未注意到这种行为).
谢谢
我正在寻找最佳实践,在GitHub上分叉和分支.我在GitHub中读过这个Forking vs. Branching,但它并不重要.
我们的5人团队正在使用相同的存储库,我们希望避免在代码中合并问题,冲突或回归.目标是让5个人在项目的不同部分工作,通常在同一个文件上.
我想知道它是否值得:
我想创建子目录和文件夹来组织我在Qt中的代码.
我试图在我的shell/explorer中手动创建目录,但Qt无法识别它.
我正在使用chrome.identity.launchWebAuthFlow方法从我们的 OAuth2 服务器启动 OAuth2 令牌生成。
在 Identity API 文档中,指定对用户进行身份验证有两种可用的方法:getAuthToken和launchWebAuthFlow。我们使用后者是因为正如文档中所指定的:
如果您的应用程序使用自己的服务器来验证用户身份,则需要使用 launchWebAuthFlow。
我们正在努力缓存结果。在阅读 的文档时getAuthToken,似乎涉及到一些智能缓存。
Chrome 捕获响应并将 和 存储access_token在renew_token浏览器中(此处可见:)chrome://identity-internals/。Chrome仅在过期时才access_token向 OAuth 服务器请求。access_token
然而,使用 时launchWebAuthFlow,我们很难使用 Chrome 缓存,而且它每次都会调用我们的 OAuth 服务器。
有谁知道如何使用API的这种方法缓存结果?
生产中存在很长时间的难题,我们不知道它来自何处.有时候可以在localhost上重现它,Heroku Enterprise支持一直没有这个.
在我们的生产数据库中,我们目前有以下设置:
a SELECT * FROM pg_stat_activity GROUP BY client_addr并计算每个实例的连接数,表明在高峰期间为一个客运进程打开了超过1个PSQL连接.
假设:
passenger-status在这些峰值期间确认)这是一个截图SELECT * FROM pg_stat_activity;:
在屏幕截图中,我们可以看到有45个psql连接来自同一个运行乘客的dyno.如果我们遵循先前的逻辑,那么每个乘客流程不应该有超过1个连接,所以25.
日志看起来并不寻常,没有提到dyno崩溃/进程崩溃.
以下是相同dyno的乘客状态的屏幕截图(不同的时间,只是为了证明没有比为一个dyno创建的25个更多的进程):

最后我们从Heroku支持获得了一个响应(惊人的支持btw)
我还看到之前有关乘客利用比预期更多连接的报告,但不幸的是,大多数人因复制困难而被关闭.
在Passenger文档中,解释了Passenger自己处理ActiveRecord连接.
任何线索赞赏.谢谢!
各种信息:
2.4.x5.1.x5.3.x10.x5.1.x如果您需要更多信息,请在评论中告诉我,我很乐意更新这篇文章.
最后一件事:我们使用ActionCable.我读过某个地方乘客正在处理奇怪的套接字连接(打开一个隐藏的过程以保持连接活着).这是我们的一个主角,但到目前为止,没有运气在localhost上重现它.如果任何人都可以确认Passenger如何处理ActionCable连接,那将非常感激.
更新1(01/10/2018):
尝试:
我需要一些关于Ruby on Rails 最佳实践的信息,特别是对于必须做很多事情的Controller,因此,一个简单的"show"动作现在就行了.我知道,它不是很好,我有特定的代码.
这是一个示例代码:
def show
sound = Sound.find(params[:id])
@xml_path = File.dirname(sound.file.path)
s3 = AWS::S3.new(
:access_key_id => 'XXX',
:secret_access_key => 'XXX')
@url = s3.buckets['dev'].objects[sound.file.path[1..-1]].url_for(:read, :expires => 10*60)
if sound.id_job != 0 && sound.transcript_progress != 100
@response = Savon.client("http://srap.php?wsdl").request(:avance) do
soap.body = {
:Jeton => "abcdef",
:ID_job => sound.id_job,
}
end
@response = @response.to_hash
@progress = @response[:avance][:avancement].to_s.split("#")[1]# ID_job received is formed like "OK#123", we keep "123"
if @progress == "Termine"
sound.transcript_progress = 100
elsif @progress == "ERROR" …Run Code Online (Sandbox Code Playgroud) 我实际上正在开发Spree电子商务解决方案,我想个性化" 帐户 "视图(127.0.0.1:3000/account),但我无法在Spree的核心中找到它.
我也在搜索spree_auth_devise Gem来个性化它,但我无法理解它是如何工作的.
在狂欢的文档中找不到正确的方法.
如果有人有线索,我会打开(:
actioncable ×1
api ×1
devise ×1
git ×1
git-branch ×1
git-fork ×1
git-merge ×1
github ×1
gradle ×1
heroku ×1
javascript ×1
passenger ×1
postgresql ×1
qt ×1
qt-creator ×1
reactjs ×1
redux ×1
rest ×1
ruby ×1
spree ×1
state ×1