小编ast*_*nic的帖子

如何在git中找到"丢失"的代码

曾几何时,一个坏人从我们的GIT仓库管理的源代码中删除了一个常量.

到目前为止,没有人注意到这个问题.

然而,我想弄清楚这个常数在哪个提交中消失了,坏人是谁.

我只知道它的名字FOOBAR.

一些更好的方法是git blame --reverse什么?

git version-control

8
推荐指数
1
解决办法
1644
查看次数

结束bash脚本后保持目录更改

我的bash脚本:

#!/bin/bash
cd /tmp
Run Code Online (Sandbox Code Playgroud)

在运行我的脚本之前:

pwd: /
Run Code Online (Sandbox Code Playgroud)

运行我的脚本后:

pwd: /
Run Code Online (Sandbox Code Playgroud)

运行后我的脚本通过采购它:

pwd: /tmp
Run Code Online (Sandbox Code Playgroud)

如何在没有采购脚本的情况下保持脚本的路径?

bash shell cd

8
推荐指数
3
解决办法
1663
查看次数

xpath查找没有类且没有id的节点

如何在xhtml文档中找到没有id和class属性的节点?

xhtml xpath css-selectors

8
推荐指数
1
解决办法
2848
查看次数

修改ruby中图像的颜色

我怎样才能改变这个颜色:

进入这个:

我使用Gimp生成输出图像,输入图像为第一层,图像背景颜色为第二层,在"图层"面板中我选择了模式"颜色"

我想保留背景颜色,但希望颜色是棕色.

有什么想法与ChunkyPNG这样做?或者我应该使用带有颜色查找表的ImageMagick?

ruby colors imagemagick image-processing chunkypng

8
推荐指数
1
解决办法
966
查看次数

Bcrypt用于密码哈希,因为它很慢?

我今天在not-implemented.com阅读:

在需要高速散列函数的大多数情况下,应选择Sha-256.它被认为是安全的,没有已知的理论漏洞,并且它具有32字节的合理摘要大小.但是,对于像哈希用户密码这样的东西,设计为慢速的功能是首选:一个很棒的是bcrypt.

有人可以解释最后一句话:

但是,对于像哈希用户密码这样的东西,设计为慢速的功能是首选:一个很棒的是bcrypt.

我不是说这不正确,我的问题很简单:

为什么优先使用散列用户密码来使用慢速功能?

security hash

8
推荐指数
2
解决办法
5242
查看次数

如何裁剪和填充Paperclip(或RMagick)?

我上传了一张照片,它是一个矩形.我如何才能将其调整大小并填充到正方形?

我的意思是当照片水平放置时,它应该在其上方和下方,两个白色区域(用于保持正方形的形状),当它是垂直时,它应该在照片的两侧有两个白色区域.

当我使用PHP时,a使用了这个http://www.verot.net/php_class_upload_samples.htm

看看吧

100x150,保持比例,填充顶部和底部

我正在使用Paperclip和RoR.最好的方法是怎样做的?

resize ruby-on-rails image paperclip

7
推荐指数
1
解决办法
6259
查看次数

Rails Postgres功能索引

我应该如何将包含函数的multicolum索引输入schema.rb?

例如,这不起作用:

add_index "temporary_events", ["templateinfoid", "campaign", "date(gw_out_time)", "messagetype"], :name => "temporary_events_campaign_tinfoid_date_messagetype"
Run Code Online (Sandbox Code Playgroud)

rake db:test:load

耙子流产了!

PGError:错误:列"date(gw_out_time)"不存在

:CREATE INDEX"temporary_events_campaign_tinfoid_date_messagetype"ON"temporary_events"("templateinfoid","campaign","date(gw_out_time","messagetype")

sql postgresql indexing ruby-on-rails

7
推荐指数
2
解决办法
4644
查看次数

Capistrano 3/SSHKit写入自定义任务中的文件

我想用我的版本号标记当前部署的目录.

我试过这种方法:

获取本地应用程序版本,将其存储到变量中,并在远程主机上将其存储在文件中.

namespace :deploy do
  desc "Set a release number as the app version"
  task :mark_release do
    release_number = `git describe`
      on roles(:web) do
        execute("echo #{release_number} > #{current_path}/RELEASE")
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

问题是,当我通过以下方式运行时:

cap deploy:mark_release
Run Code Online (Sandbox Code Playgroud)

命令看起来像这样:

echo v9.3.0-254-g178d1f8; > /foo/bar/current/RELEASE
Run Code Online (Sandbox Code Playgroud)

分号正在制造麻烦.我的RELEASE文件当然是空的.

我认为这是由于SSHKit的一些转义.

有线索吗?

ruby git deployment capistrano3 sshkit

7
推荐指数
1
解决办法
3168
查看次数

美洲狮/缺少日志

为什么我在日志中看不到任何Rails特定条目?

我正在使用Puma 2.7.1和Nginx代理,在正常的Debian盒子上,通过RVM没什么花哨的,ruby 1.9.3.

我的美洲狮配置:

#!/usr/bin/env puma
environment 'sandbox'
bind 'unix://tmp/puma.sock'
stdout_redirect 'log/puma.log', 'log/puma_error.log', true
pidfile 'tmp/pids/puma.pid'
state_path 'tmp/pids/puma.state'
daemonize true 
workers 4
Run Code Online (Sandbox Code Playgroud)

我开始彪马通过:

bundle exec puma -C config/puma/config.rb
Run Code Online (Sandbox Code Playgroud)

我知道了:

[23664] Puma starting in cluster mode...
[23664] * Version 2.7.1, codename: Earl of Sandwich Partition
[23664] * Min threads: 0, max threads: 16
[23664] * Environment: sandbox
[23664] * Process workers: 4
[23664] * Phased restart available
[23664] * Listening on unix://tmp/puma.sock
[23664] * Daemonizing...
Run Code Online (Sandbox Code Playgroud)

我跑:

tail -f log/puma*
Run Code Online (Sandbox Code Playgroud)

我知道了: …

ruby ruby-on-rails nginx puma

6
推荐指数
1
解决办法
9582
查看次数

测试 Go 中的构造函数

如何测试我的结构NewClient的构造函数Client

package busybus

import (
    "bufio"
    "net"
)

type Client struct {
    counter  integer
    conn     net.Conn
    bufin    *bufio.Reader
    bufout   *bufio.Writer
    messages chan string
    state    string
}

func NewClient(conn net.Conn, messages chan string) *Client {
    return &Client{
        counter:  0,
        conn:     conn,
        bufin:    bufio.NewReader(conn),
        bufout:   bufio.NewWriter(conn),
        messages: messages,
        state:    "waiting",

    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了一些这样的测试:

package busybus

import (
    "net"
    "testing"
)

func TestNewClient(t *testing.T) {
    ln, _ := net.Listen("tcp", ":65535")
    conn, _ := ln.Accept()
    messages := make(chan string)

    client …
Run Code Online (Sandbox Code Playgroud)

testing unit-testing go

6
推荐指数
1
解决办法
3171
查看次数