小编Top*_*gio的帖子

使用git管理更改日志的好方法?

我一直在使用Git一段时间了,我最近开始用它来标记我的版本,以便我可以更容易地跟踪更改并能够看到每个客户端正在运行的版本(遗憾的是代码目前要求每个客户都有他们自己的PHP站点副本;我正在改变它,但它很慢).

无论如何,我们开始建立一些动力,我认为能够向人们展示自上次发布以来发生了哪些变化真的很棒.问题是,我没有维护更改日志,因为我不知道如何去做.在这个特定的时间里,我可以浏览日志并手动创建一个,但这会很快累.

我尝试使用谷歌搜索"git changelog"和"git manage changelog",但我没有找到任何真正谈论代码更改工作流程的内容以及与更改日志一致的内容.我们目前正在关注Rein Henrichs的开发工作流程,我很喜欢与之相关的东西.

我缺少一种标准方法,或者这是一个每个人都做自己的事情的领域?

非常感谢您的意见/答案!

git github changelog

202
推荐指数
8
解决办法
10万
查看次数

如何使用Bash递归创建不存在的子目录?

我正在创建一个快速备份脚本,将一些数据库转储到一个漂亮/整洁的目录结构中,我意识到我需要测试以确保在创建目录之前存在这些目录.我的代码有效,但似乎有更好的方法.有什么建议?

[ -d "$BACKUP_DIR" ] || mkdir "$BACKUP_DIR"
[ -d "$BACKUP_DIR/$client" ] || mkdir "$BACKUP_DIR/$client"
[ -d "$BACKUP_DIR/$client/$year" ] || mkdir "$BACKUP_DIR/$client/$year"
[ -d "$BACKUP_DIR/$client/$year/$month" ] || mkdir "$BACKUP_DIR/$client/$year/$month"
[ -d "$BACKUP_DIR/$client/$year/$month/$day" ] || mkdir "$BACKUP_DIR/$client/$year/$month/$day"
Run Code Online (Sandbox Code Playgroud)

bash shell recursion subdirectory

173
推荐指数
3
解决办法
9万
查看次数

在PHP中迭代字符串中的每一行

我有一个表单,允许用户上传文本文件或将文件的内容复制/粘贴到textarea.我可以很容易地区分这两者并将他们输入的任何一个放入一个字符串变量,但是我从那里去哪里?

我需要遍历字符串的每一行(最好不要担心不同机器上的换行符),确保它只有一个令牌(没有空格,制表符,逗号等),清理数据,然后生成SQL查询基于所有线条.

我是一个相当优秀的程序员,所以我知道如何做到的一般想法,但是我用PHP工作已经很久了,我觉得我在寻找错误的东西,从而得出无用的信息.我遇到的关键问题是我想逐行读取字符串的内容.如果它是一个文件,那将很容易.

我主要寻找有用的PHP函数,而不是如何做到的算法.有什么建议?

php string

117
推荐指数
7
解决办法
13万
查看次数

SQL将行转置为列

我有一个有趣的难题,我认为可以用纯粹的SQL解决.我有类似于以下的表:

responses:

user_id | question_id | body
----------------------------
1       | 1           | Yes
2       | 1           | Yes
1       | 2           | Yes
2       | 2           | No
1       | 3           | No
2       | 3           | No


questions:

id | body
-------------------------
1 | Do you like apples?
2 | Do you like oranges?
3 | Do you like carrots?
Run Code Online (Sandbox Code Playgroud)

我想得到以下输出

user_id | Do you like apples? | Do you like oranges? | Do you like carrots?
---------------------------------------------------------------------------
1 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql pivot pivot-without-aggregate

38
推荐指数
3
解决办法
5万
查看次数

我应该如何使用Rails 3.0创建REST API?

我似乎无法在网上找到有关在Rails中构建REST API的不同方法的更多信息; 所以我有两个问题:

  1. 有人能指出一些显示不同方法的优缺点的文章吗?
  2. 请您分享您对以下方法的优缺点的看法?

 

提议的方法

 

  1. 当用户添加.xml到URL的末尾时,使用标准控制器返回XML

    优点:

    • 这是内置于Rails并且非常易于使用
    • 遵循Rails所具有的基于资源的方法,因此现有用户很容易理解/记住

    缺点:

    • API与主站点没有干净的分离,难以维护
    • 人们可能会认为添加.xml将在它没有的地方起作用

  2. 使用命名空间路由创建单独的API控制器,这些控制器仅处理API函数,但仍可访问网站使用的相同模型

    优点:

    • API主要是分开的
    • 仍然使用资源完全控制器

    缺点:

    • URL的格式为site.com/api/resource.xml,这可能会使人们认为所有资源都可用
    • API仍然是网站代码/项目的一部分; 因此,更难维护

  3. 使用路由转发和约束将所有API调用转发到Rack应用程序

    优点:

    • API完全分开
    • 如果我们不想要,则不需要使用资源完整样式
    • 网址清楚地显示它是一个API,您应该检查文档以查看可用的内容(至少,我的思维方式是这样做的;我假设其他开发人员的想法也是如此)

    缺点:

    • 更难使用网站代码中的模型
    • 作为单独的项目更容易维护,但这意味着更难与现有站点集成
    • 必须保持代码库同步,因为模型可能会因站点功能/错误修复而发生变化

xml api ruby-on-rails-3

36
推荐指数
1
解决办法
7193
查看次数

反对在RSpec测试中使用before,let和subject的论点是什么?

我刚开始写RSpec的测试,我碰上了thoughtbot的风格指南,其中建议对let,let!,beforesubject(等等).

我也在其他几个地方读过类似的建议(包括旧的RSpec文档警告before(:all)),但我似乎无法找到反对它们的实际论据.

所以问题是:

为什么我不应该在测试中使用这些方法?什么是更好的方法?

ruby testing rspec

29
推荐指数
1
解决办法
4987
查看次数

bash脚本可以判断它是否通过cron运行?

没有太多运气谷歌搜索这个问题,我想在SF上发布它,但它实际上似乎是一个开发问题.如果没有,请随意迁移.

所以,我有一个脚本每天凌晨3点左右通过cron运行.我有时也手动运行相同的脚本.问题是,每次我手动运行脚本并失败时,它都会向我发送一封电子邮件; 即使我可以查看输出并在控制台中查看错误.

有没有办法让bash脚本告诉它是通过cron运行的(也许是通过使用whoami)并且只发送电子邮件,如果是这样的话?当我正在进行测试时,我很想停止接收电子邮件...

bash cron

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

Ruby on Rails RVM $ PATH问题

使用https://rvm.beginrescueend.com/rvm/install/安装ruby(ruby 1.9.2p290)&gems(没问题),然后通过gem install rails(Rails 3.2.0)安装rails .但是当我尝试rails -v在我的/ user目录以外的另一个目录中创建rails应用程序(或问题)时,我得到"程序'rails'当前没有安装.你可以通过键入来安装它:sudo apt-get install rails"I还注意到如果我发布ruby -v我得到"程序'ruby'当前没有安装.你可以通过键入:sudo apt-get install ruby" 来安装它.

显然,这是一个$ PATH的问题,但它已经这么长时间,因为我已经做到这一点,我已经完全忘记了如何解决这个问题.我认为这是一个简单的解决办法,但我现在感觉边缘迟钝,如何解决这个问题.

再说一遍,据我所知,只要我创建一个应用程序或发出命令版本命令......等等我的/用户目录一切顺利.

一些可能有用的东西:

which rails 给了我:/home/j3/.rvm/gems/ruby-1.9.2-p290/bin/rails

which ruby 给我:/home/j3/.rvm/rubies/ruby-1.9.2-p290/bin/ruby

先谢谢,吉姆

ruby-on-rails rvm

19
推荐指数
2
解决办法
3万
查看次数

基于最近时间戳加入两个表的SQL查询

我在SQL中有两个表,我需要能够根据表B中的时间戳进行连接,该时间戳早于或等于表A中的时间戳.

所以,这里有两个表的假数据和所需的输出:

封闭案件(表A)

| id | resolution |         timestamp          |
------------------------------------------------
|  1 |     solved | 2006-10-05 11:55:44.888153 |
|  2 |     closed | 2007-10-07 12:34:17.033498 |
|  3 |    trashed | 2008-10-09 08:19:36.983747 |
|  4 |     solved | 2010-10-13 04:28:14.348753 |

分类(表B)


| id |    value    |         timestamp          |
-------------------------------------------------
|  1 |    freshman | 2006-01-01 12:02:44.888153 |
|  2 |   sophomore | 2007-01-01 12:01:19.984333 |
|  3 |      junior | 2008-01-01 12:02:28.746149 |

期望的结果

| id | …

sql timestamp left-join

16
推荐指数
1
解决办法
2万
查看次数

缩进Bash脚本输出

我试图编写一个bash脚本,我很难使输出看起来整洁有序.我可以使用换行符,但我宁愿让输出易于阅读.例如,当我运行时git clone ...,我想首先回显"克隆存储库",然后输出git缩进.示例输出:

Cloning repository...
    Initialized empty Git repository in /root/client_scripts/jojo/.git/
    remote: Counting objects: 130, done.
    remote: Compressing objects: 100% (121/121), done.
    remote: Total 130 (delta 13), reused 113 (delta 6)
    Receiving objects: 100% (130/130), 176.07 KiB, done.
    Resolving deltas: 100% (13/13), done.
Run Code Online (Sandbox Code Playgroud)

目前,它都是压缩而没有缩进.有谁知道如何做到这一点?我尝试过sed,awk但它似乎没有显示任何更多的输出而不仅仅是Initialized empty Git repository in /root/client_scripts/jojo/.git/.我非常感谢任何评论.

git bash scripting indentation

14
推荐指数
4
解决办法
9675
查看次数