我有rails 5 rc1的这个问题.有没有人知道如何在环境文件中配置它以及rails 5活动记录的默认连接池大小是什么.
Puma caught this error: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use (ActiveRecord::ConnectionTimeoutError)
/home/bsethi/.rvm/gems/ruby-2.2.2/gems/activerecord-5.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:202:in `block in wait_poll'
/home/bsethi/.rvm/gems/ruby-2.2.2/gems/activerecord-5.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:193:in `loop'
/home/bsethi/.rvm/gems/ruby-2.2.2/gems/activerecord-5.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:193:in `wait_poll'
/home/bsethi/.rvm/gems/ruby-2.2.2/gems/activerecord-5.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:154:in `internal_poll'
/home/bsethi/.rvm/gems/ruby-2.2.2/gems/activerecord-5.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:278:in `internal_poll'
/home/bsethi/.rvm/gems/ruby-2.2.2/gems/activerecord-5.0.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:148:in `block in poll'
Run Code Online (Sandbox Code Playgroud) 我在使用这些日志消息连接到非开发环境中的websocket时遇到问题
Failed to upgrade to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: close, HTTP_UPGRADE: )
Finished "/cable/"[non-WebSocket] for 127.0.0.1 at 2016-07-06 09:44:29 +1000
Run Code Online (Sandbox Code Playgroud)
我稍微调试了一下,发现浏览器发送的请求/ javascript与unicorn收到的请求(与nginx一起运行)不完全相同.
浏览器的请求标头是
GET ws://cc-uat.com.au/cable HTTP/1.1
Host: cc-uat.com.au
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
Origin: http://cc-uat.com.au
Sec-WebSocket-Version: 13
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Cookie: <Lot of cookies>
Sec-WebSocket-Key: QGdJkYIA2u7vtmMVXfHKtQ==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported
Run Code Online (Sandbox Code Playgroud)
这里的连接是'升级'但是websocket请求的连接'已关闭'(可能是nginx搞乱了吗?)
websocket驱动程序中的这段代码失败了
def self.websocket?(env)
connection = env['HTTP_CONNECTION'] || ''
upgrade = …Run Code Online (Sandbox Code Playgroud) 我想在hbase中写一个值为65的值.我必须在hbase shell上运行以下命令:
put 'table','key','cf:qual','A'
Run Code Online (Sandbox Code Playgroud)
但有没有办法直接写它:
put 'table','key','cf:qual',65 (this is not allowed though)
Run Code Online (Sandbox Code Playgroud)
如果您了解其他问题,请告诉我,我会解释更多.
更新:
到65岁时,我打算将'A'直接放在'A'的ascii值上.对我来说真正的问题是我想把shell中的值放在128-255范围内.
我正在尝试通过Facebook登录网站设置omniauth.问题是Facebook没有发送'info'字段.
我为不同的环境设置了2个facebook应用程序.
对于一个应用程序,响应具有字段
#<OmniAuth::AuthHash credentials=#<OmniAuth::AuthHash expires=true expires_at=14
42913734 token="CAAU6NSaozowBANJoDeZCakDuUZAiIZBGQ5cmFYRTwQwo7SK2JK7uhcRK7WIadpp
zjKfict9pMASS2k9XJZBTgnI8WJvJA42er9Xj8nuoeLjbEQo8TKB7b5hVlsOwRs5kcPpOPwyUTUc0ekF
uu2w4ubNZBMXZBw5xjGkQwZBZA46fATGOvDXJSrWOOAiQteWnkSO9JkeZC2SfmZCQqcSR0zdV52"> ex
tra=#<OmniAuth::AuthHash raw_info=#<OmniAuth::AuthHash id="xxxxxxxxxx" na
me="xxxxxxx">> info=#<OmniAuth::AuthHash::InfoHash image="http://graph.facebo
ok.com/xxxxxxxxxxx/picture" name="xxxx"> provider="facebook" uid="xxxxxxxx">
Run Code Online (Sandbox Code Playgroud)
在开发环境中,我得到了回应
#<OmniAuth::AuthHash credentials=#<OmniAuth::AuthHash expires=true expires_at=14
42912896 token="CAAPK1ZAgrDtEBAKKvcj4jGu6iaIxYYJV7LZCJ6MZCELZCgNyowkqPeB5kHBsVw4
ZBKoZCv4DD6my4s8qhO1hJyEFzcb1IpKt03ydzWORZCR3PCf1bw6A9jRudmcJn1N37WgqckmuKUj4k1y
qb3fcRpNPxAxx0asXJlaUJTcVR5wi0sRIOc9l3yFm6XyuMA464MBz5vt9AvNcVB9DAGm5kHr"> extra
=#<OmniAuth::AuthHash raw_info=#<OmniAuth::AuthHash email="xxxxx@yahoo.co.in"
first_name="xxxx" gender="male" id="xxxxx" last_name="xxxx" link="h
ttps://www.facebook.com/app_scoped_user_id/xxxx/" locale="en_US" na
me="xxxx" timezone=10 updated_time="2015-06-06T03:35:33+0000" verified=tru
e>> info=#<OmniAuth::AuthHash::InfoHash email="xxxxxxx" first_name="
xx" image="http://graph.facebook.com/xxx/picture" last_name="xxxxx" name="xxxxx" urls=#<OmniAuth::AuthHash Facebook="https://www.facebook.c
om/app_scoped_user_id/xxxxx/"> verified=true> provider="facebook" ui
d="xxxxxxxxxxxxxxxx">
Run Code Online (Sandbox Code Playgroud)
我想知道它是否是应用程序级别设置,因为两者的代码相同.应用程序方面唯一的区别是API v2.3,其他是2.4
在查看拓扑排序的步骤时,我有一个困惑,我发现 DFS 的相反顺序是拓扑排序的预期解决方案。
我也尝试了一个小代码
void graph::dfs(void)
{
for(std::vector<vertex>::iterator iter =vertexes.begin();iter < vertexes.end();iter++ ){
iter->visited = WHITE;
}
for(std::vector<vertex>::iterator iter =vertexes.begin();iter < vertexes.end();iter++ ){
if(iter->visited == WHITE){
dfs_visits(*iter);
}
}
std::cout << "-----------------dfs------------------"<<std::endl;
for(std::list<int>::reverse_iterator riter = q.rbegin() ; riter != q.rend();riter++)
std::cout << *riter << std::endl;
std::cout << "-----------------topological_sort------------------"<<std::endl;
for(std::list<int>::iterator iter = q.begin() ; iter != q.end();iter++)
std::cout << *iter << std::endl;
q.clear();
}
void graph::dfs_visits(vertex& source){
source.visited = GREY;
for(std::list<edge>::iterator iter = source.list.begin();iter != source.list.end();iter++){
if(vertexes[iter->destination_vertex].visited == WHITE){
dfs_visits(vertexes[iter->destination_vertex]);
} …Run Code Online (Sandbox Code Playgroud) 我正在学习使用Pundit进行授权。但是我看到的是资源授权而不是页面授权。如果用户无权使用pundit访问该页面,我希望将其重定向到未经授权的页面。
例如
class OnlyAdminCanVisitController < ApplicationController
before_filter :admin_authenticate
Run Code Online (Sandbox Code Playgroud)
停止非管理员角色的用户。
另外,我想处理如下的组合方案(考虑到有Admin,Manager,Employee,Outsider等4个角色。下面的设计显然很糟糕)
class AdminManagerCanVisitController < ApplicationController
before_filter :admin_or_manager_authenticate
class AdminEmployeeCanVisitController < ApplicationController
before_filter :admin_or_employee_authenticate
class AdminOutsiderCanVisitController < ApplicationController
before_filter :admin_or_outsider_authenticate
class AdminManagerEmployeeCanVisitController < ApplicationController
before_filter :admin_or_manager_employee_authenticate
Run Code Online (Sandbox Code Playgroud)
我有4个角色,并且想为这些控制器编写允许任意组合授权的权威策略。
让我知道专家是否旨在解决这个问题。
谢谢
我正在尝试编写通用矩阵转置函数
void reverse(int** v , int vertexes )
{
for(int i=0;i<vertexes;i++)
for(int j=0;j<vertexes;j++)
{
if(v[i][j] == 1 && v[j][i]==0){
v[j][i] = -1;
v[i][j] = 0;
}
}
for(int i=0;i<vertexes;i++)
for(int j=0;j<vertexes;j++)
{
if(v[i][j] == -1 )
v[i][j] = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
而主要功能是
void matrix_graph::process()
{
int v[7][7] = {
{0,1,0,0,0,0,0},
{0,0,1,1,0,0,0},
{1,0,0,0,0,0,0},
{0,0,0,0,1,0,0},
{0,0,0,0,0,1,0},
{0,0,0,1,0,0,1},
{0,0,0,0,0,1,0}
};
reverse(v,7);
}
Run Code Online (Sandbox Code Playgroud)
我按预期得到了一个
error C2664: 'reverse' : cannot convert parameter 1 from 'int [7][7]' to 'int **'
Run Code Online (Sandbox Code Playgroud)
我们能做些什么吗?
我们可以做的最好的访问i,j传递 …
Get/Set方法用于保护我的类字段.
但是由于Java正在使用引用,我的私有字段仍然暴露出来..
例如
private Date d;
Date getDate(){
return d;
}
void setDate(Date inD){
//Checks for inD
d = inD;
}
//Still the issue is
getDate().setHours(xyz);
Run Code Online (Sandbox Code Playgroud)
什么是正确的方法?因为我不想在不使用setDate的情况下更改我的日期.