我正在运行Emacs,在C++模式和PHP模式下编辑文件.我喜欢语法高亮作为一个概念,但默认颜色是一个讽刺.我几乎看不到其中的一些:太黑了.改变价值观的最简单方法是什么?我似乎无法在网上找到任何相关信息.我甚至不介意更改二进制文件,因为我正在编译自己的Emacs.我只想找到蓝色为#0000FF的地方,并将其更改为#AAAAFF.
我有一个由Perl脚本运行的mysql成员资格数据库.帐户创建或登录需要电子邮件地址和密码.然后,Perl脚本设置cookie(密码cookie具有加密值),允许用户创建,拥有和修改记录.成员表包含用户信息.我已经浏览了FacebookConnect信息以及论坛.也许我看不到森林里的树木,也许这是不可能的.为了使用FacebookConnect进行登录/帐户创建,我需要能够将用户电子邮件和密码发送到Perl脚本,以便设置正确的cookie.如果是http,它看起来像这样:
任何提示或建议将不胜感激.
好吧,我正在尝试过滤传递给我的列表/字典并"清理"一下,因为其中有一些我需要摆脱的值.
所以,如果它看起来像这样:
"records": [{"key1": "AAA", "key2": "BBB", "key3": "CCC", "key4": "AAA"...}]
Run Code Online (Sandbox Code Playgroud)
我将如何快速轻松地完成所有操作并将所有"AAA"值替换为"XXX"?
重点是速度和资源,因为这些可能是长列表,我不希望这个过程消耗太多时间.
我有一个MSBuild文件,我正在构建这样的C#项目:
<ItemGroup>
<ProjectsToBuild Include="./source/ProjectA/ProjectA.csproj"/>
<ProjectsToBuild Include="./source/ProjectB/ProjectB.csproj"/>
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(ProjectsToBuild)" Targets="Build">
<Output ItemName="ProjectOutputs" TaskParameter="TargetOutputs"/>
</MSBuild>
<Message Text="@ProjectOutputs"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
我成功获取了一个包含所有构建的.dll文件的Item:
Build:
c:\code\bin\ProjectA.dll;c:\code\bin\ProjectB.dll
Run Code Online (Sandbox Code Playgroud)
我还想从每个项目中获取Content项而不修改.csproj文件.在微软.targets文件中挖掘之后,我几乎能够使用它:
<MSBuild Projects="@(ProjectsToBuild)" Targets="ContentFilesProjectOutputGroup">
<Output ItemName="ContentFiles" TaskParameter="TargetOutputs"/>
</MSBuild>
<Message Text="@(ContentFiles->'%(RelativeDir)')"/>
Run Code Online (Sandbox Code Playgroud)
这种方法的问题是没有正确设置RelativeDir.我正在获得完整的路径而不是相对的:
Build:
c:\ProjectA\MyFolder\MyControl.ascx;c:\ProjectB\MyOtherFolder\MyCSS.css;
Run Code Online (Sandbox Code Playgroud)
代替:
Build:
MyFolder\MyControl.ascx;MyOtherFolder\MyCSS.css;
Run Code Online (Sandbox Code Playgroud)
是否有可以传递给MSBuild任务的属性,这将使RelativeDir行为正常?
或者,更好的是,是否有更简单的方法来获取内容项?
这是验证电子邮件的正则表达式 - \S+@\S+\.\S+我没有写它.我是正则表达式的新手,并不能很好地理解它们.
我有一些问题:
我喜欢我的代码是有序的,即格式正确,可读,设计,测试,检查错误等.事实上我对它很狂热.(甚至可能比狂热更多...)但在我的经验中,帮助代码质量的行动很难实现.(通过代码质量,我的意思是您日常生成的代码的质量.软件质量与开发过程等的整个主题要广泛得多,而不是这个问题的范围.)
代码质量似乎并不受欢迎.我的经验中的一些例子包括
可能每个Java开发人员都知道JUnit,几乎所有语言都实现了xUnit框架,但在我所知道的所有公司中,只有很少的正确单元测试存在(如果有的话).我知道由于技术限制或紧迫的截止日期,并不总是可以编写单元测试,但在我看到的情况下,单元测试可能是一种选择.如果开发人员想为他/她的新代码编写一些测试,他/她可以这样做.我的结论是开发人员不想编写测试.
静态代码分析通常在小型项目中进行,但并不真正用于强制执行编码约定或在企业项目中发现可能的错误.通常甚至会忽略像潜在空指针访问这样的编译器警告.
会议发言人和杂志会谈论很多关于EJB3.1,OSGI,云和其他新技术,但几乎没有关于新的测试技术或工具,新的静态代码分析方法(例如SAT解决方案),有助于保持更高质量的开发流程,如何遗留代码的一些讨厌的野兽被测试,...(我没有参加很多会议,它可能在敏捷主题的会议上看起来不同,因为单元测试和CI等具有更高的价值.)
那么为什么代码质量如此不受欢迎/被认为无聊呢?
编辑:
谢谢你的回答.其中大多数涉及单元测试(并已在相关问题中进行了讨论).但是还有很多其他的东西可以用来保持代码质量很高(参见相关问题).即使您无法使用单元测试,也可以使用每日构建,向IDE或开发过程添加一些静态代码分析,尝试配对编程或强制执行关键代码的审核.
我正在使用这里找到的rails recaptcha插件:http://github.com/ambethia/recaptcha/tree/master
我已经在recaptcha.com上注册了一个帐户,获得了一个公钥和私钥,并且该站点配置了一个全局密钥(暂时).
在config/environment.rb我设置环境变量:
ENV['RECAPTCHA_PUBLIC_KEY'] = 'xxxxxxxxxxxxxxxx'
ENV['RECAPTCHA_PRIVATE_KEY'] = 'XXXXXXXXXXXXXXxx'
Run Code Online (Sandbox Code Playgroud)
在我看来,我像这样渲染验证码:
<%= recaptcha_tags %>
Run Code Online (Sandbox Code Playgroud)
在我的控制器处理这个表单我有这个:
unless verify_recaptcha # <-- always returns false
flash[:error] = "Your captcha entry was invalid"
render :action=>'new'
return
end
Run Code Online (Sandbox Code Playgroud)
我的问题是verify_recaptcha 总是返回false.
我必须遗漏一些简单的东西,但我没有看到它. 在我得到smart-alec回复之前,是的,我在填写方框中键入了正确的单词:)
我有一个使用枚举的数据库表.这已经在使用hibernate(使用XML),我正在尝试将其转换为注释,因为这是仍然使用xml表示法的最后一部分.
列定义:
enum('Active','Pending','Cancelled','Suspend')
Run Code Online (Sandbox Code Playgroud)
以下作品:
<property
name="status"
column="STATUS"
type="string"
not-null="true" />
Run Code Online (Sandbox Code Playgroud)
这不起作用:
@Column(name = "status")
public String status;
Run Code Online (Sandbox Code Playgroud)
注释样式在启动时会导致以下异常:org.hibernate.HibernateException:UserDTO中列状态的列类型错误.找到:枚举,预期:varchar(255)
有没有办法让我强制接受一个字符串,因为它使用XML表示法?