我最近更新我的本地Git的安装1.8.1
从1.8.0.1
.
我注意到,当我在GitHub上工作时,它不会在推送时提示我输入用户名和密码.
这让我很烦恼,因为我认为每次都要输入用户名和密码作为一个很好的安全措施.(如果其他人使用我的电脑怎么办?)
我检查了以下内容:
1.8.0.1
在另一台计算机上仍然要求用户名和密码.~/.ssh
想法.那里没有错.~/.gitconfig
单个<proj>/.git/config
文件中.~/.netrc
.我在git 发行说明存档中找不到任何内容.
有谁知道这是一个新的git行为?如何恢复提示?
我需要禁用OS X的凭证帮助程序: git credential-osxkeychain
它在全局配置文件和本地配置文件中都被禁用,实际上它从未启用过.它仍然记住我的github登录详细信息.
我在笔记本电脑上,所以我不希望自动无密码访问我的回购.
我将使用ssh密钥.这是一台新计算机,整个系统设置仍在进行中.
现在我使用了https
repo refs,凭证助手一直在努力.
这些是我的conf文件:
git config --edit
=>
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = false
[remote "origin"]
url = https://github.com/user/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "develop"]
remote = origin
merge = refs/heads/develop
[branch "deploy"]
remote = origin
merge = refs/heads/deploy
Run Code Online (Sandbox Code Playgroud)
git config --global --edit
=>
[user]
email = **************** …
Run Code Online (Sandbox Code Playgroud) Nginx允许您将文件扩展名映射到mime类型.正如文档所说,它甚至带有预先构建的mime类型列表(粘贴在问题的最后).
我总是信任这个列表,事情很有效,但现在我注意到有些类型缺失了.
怎么样application/javascript
和application/json
?
它使用旧的弃用application/x-javascript
,我想这是为了确保IE支持......但它真的没问题吗?
还有哪些类型应该被压缩?
我总是使用下面代码片段中的列表,虽然我承认它只是一个示例nginx conf文件的一部分,几年前,当我第一次开始使用nginx时,我用它作为一个例子.
我还应该包括application/json
吗?
http {
include mime.types;
default_type application/octet-stream;
gzip_types text/plain text/xml text/css
text/comma-separated-values
text/javascript application/x-javascript
application/atom+xml;
# text/html is included in the gzip list by default
# ...
}
Run Code Online (Sandbox Code Playgroud)
默认的mime类型/etc/nginx/mime.types
.
types {
text/html html htm shtml;
text/css css;
text/xml xml;
image/gif gif;
image/jpeg jpeg jpg;
application/x-javascript js;
application/atom+xml atom;
application/rss+xml rss;
text/mathml mml;
text/plain txt;
text/vnd.sun.j2me.app-descriptor jad;
text/vnd.wap.wml wml;
text/x-component htc;
image/png …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Rails 4 ActionController::Live
和Server Sent Events.我正在使用MRI 2.0.0和Puma.
我可以看到,每个连接的客户端都保持与服务器的活动连接.我想知道是否可以在不保持所有响应流运行的情况下利用SSE.
Puma使用线程管理多个连接,我想cuncurrent连接的数量是有限的.
如果我想支持数以千计的客户注册到我的Rails应用程序进行SSE事件的真实场景,该怎么办?
有什么例子吗?
此外,我通常在nginx反向代理后面运行Rails应用程序服务器.它需要任何特定的设置吗?
我试图理解继承应用程序中的测试,我需要一些帮助.
有很多像这样的规范组(视图规范):
let(:job_post) { FactoryGirl.create(:job_post) }
# ...
before do
expect(view).to receive(:job_post).at_least(:once).and_return(job_post)
end
it "should render without error" do
render
end
Run Code Online (Sandbox Code Playgroud)
... job_post
作为控制器上定义的辅助方法.(是的,他们本可以使用@instance变量,而我正在重构它).
现在,在我看来,使用expect
内部before
块是错误的.让我们暂时忘掉这一点.
通常上面的测试是绿色的.
但是,如果我删除该expect
行,则测试失败.在这种情况下似乎是在expect
视图上存根方法.事实上,替换expect
用allow
似乎有完全一样的效果.
我认为正在发生的事情通常是 - 当与服务器一起运行时 - 视图将调用job_posts
并且消息将落在控制器上的辅助方法上,这是预期的行为.
然而,在这里,expect
设定一个期望,同时,view
用固定的返回值来固定方法.由于视图模板将调用该方法,因此测试通过.
关于那个意外的"存根"副作用expect
,我在rspec-mocks自述文件中发现了这个:
(...)我们还可以设置消息期望,以便在未调用find时示例失败:
Run Code Online (Sandbox Code Playgroud)person = double("person") expect(Person).to receive(:find) { person }
RSpec 用它自己的类似测试的方法取代了我们使用它进行存根或模拟的方法.在示例的最后,RSpec验证任何消息期望,然后恢复原始方法.
有没有人对这种方法的具体使用有任何经验?
这个问题主要是关于Ruby内部,速度可以用简单的基准来衡量.
在ruby中记忆返回值的最有效方法是什么?
我总是记住以下值:
def method
@value ||= calculate_value
end
Run Code Online (Sandbox Code Playgroud)
但由于它在技术上扩展到:
@value = @value || calculate_value
Run Code Online (Sandbox Code Playgroud)
我想知道每次重新执行相同作业的效率.
这会更好吗?
def method
@value ? @value : (@value = calculate_value)
end
Run Code Online (Sandbox Code Playgroud)
另外,它是否会在不同的口译员中发生变化?MRI,Rubinius等
我正在使用Rails 4.2.5
,并且正在尝试测试来自控制器的预期400响应,以防请求格式错误。参数验证逻辑由处理strong_parameters
。
在我的控制器中,我有:
def user_params
params.require(:user).permit(:foo, :bar, :baz)
end
Run Code Online (Sandbox Code Playgroud)
我user_params
在POST请求中引用,Accept
并且ContentType
标头设置为application/json
。
在中development
,不带user
参数的POST 将引发ActionController::ParameterMissing
异常。
如果我在environments/development.rb
文件中设置了此设置:
Rails.application.configure do
config.consider_all_requests_local = false
end
Run Code Online (Sandbox Code Playgroud)
Rails的行为类似于in production
并返回简单的400响应,而不是调试页面。大。
尽管(rspec-rails ~> 3.4
),我在控制器测试中做同样的事情有麻烦。
具体来说,这将通过:
expect {
post :action, malformed_params
}.to raise_error(ActionController::ParameterMissing)
Run Code Online (Sandbox Code Playgroud)
但这不是因为引发异常:
post :action, malformed_params
expect(response.status).to eql 400
Run Code Online (Sandbox Code Playgroud)
我已经尝试过将其consider_all_requests_local
用于测试环境,但无济于事。
有什么办法吗?对此有一个旧的答案,但是它没有帮助(甚至询问者也认为它没有用)。
如评论中所要求的,这是控制器规范中的参数:
let(:user_data) do
{ foo: "foo", bar: "bar", baz: "baz" …
Run Code Online (Sandbox Code Playgroud) 我正在设置一个服务器,我需要运行Ruby On Rails 3应用程序以及一些PHP网站.该服务器是运行Apache 2.4.3的CentOS 5.8计算机.服务器用于测试和PRE生产,因此性能不是问题.
我正在为Rails应用程序使用Phusion Passenger,我创建了一堆虚拟主机(带有相关的文件夹和数据库帐户).然后,我打算将其他v-hosts用于PHP.
可能吗?我该怎么办?
非常感谢你
细节:
httpd.conf:
LoadModule passenger_module /app/auser/.rvm/gems/ruby-1.9.3-p286/gems/passenger-3.0.17/ext/apache2/mod_passenger.so
PassengerRoot /app/auser/.rvm/gems/ruby-1.9.3-p286/gems/passenger-3.0.17
PassengerRuby /app/auser/.rvm/wrappers/ruby-1.9.3-p286/ruby
Run Code Online (Sandbox Code Playgroud)
(......)
##
## Virtual hosts
Include conf/extra/httpd-vhosts-phpmyadmin.conf
Include conf/extra/httpd-vhosts-rails01.conf
Include conf/extra/httpd-vhosts-rails02.conf
Include conf/extra/httpd-vhosts-php01.conf
Include conf/extra/httpd-vhosts-php02.conf
....
Run Code Online (Sandbox Code Playgroud)
乘客管理的v-hosts将如下:
包括conf/extra/httpd-vhosts-rails01.conf
<VirtualHost *:80>
ServerName rails01.lcl
DocumentRoot "/app/auser/apps/rails01/public"
<Directory "/app/auser/apps/rails01/public">
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
基于PHP的v-hosts将如下:包括conf/extra/httpd-vhosts-php01.conf
<VirtualHost *:80>
ServerName php01.lcl
DocumentRoot "/app/auser/apps/php01/public"
<Directory "/app/auser/apps/php01/public">
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 有没有办法在 Go 中的应用程序上下文中访问交互式 REPL 控制台?
作为参考,我正在考虑Ruby 的 irb或pry(以及基于它们构建的Ruby On Rails 控制台)、 Node.js REPL、Scala REPL(和Play console)或Elixir 的 IEx 的功能。所有这些都是用于在应用程序上下文中打开 REPL 的开发(或生产!)工具。例如,它们允许访问应用程序的类、对象和常量,并通过扩展与应用程序的资源(例如数据库)进行交互。
有一些 Go REPL,例如gore,但尚不清楚如何将它们插入应用程序。
我想可以启动一个gore
会话,然后导入所有包,但是 中发生的初始化又如何呢main
?
我的直觉告诉我,应该有一种方法来提供另一种“仅 REPL”main
来编译不同的二进制文件,将应用程序作为 REPL 启动 - 而不是 HTTP 服务器。
有没有既定的方法可以做到这一点?或者参考实现?
ruby ×5
git ×2
github ×2
nginx ×2
rspec ×2
apache ×1
go ×1
html ×1
http-headers ×1
memoization ×1
mime-types ×1
passenger ×1
php ×1
puma ×1
rspec-mocks ×1
seo ×1