在RESTful样式编程中,我们应该使用HTTP方法作为构建块.虽然哪种方法与经典的CRUD方法相匹配,但我有点困惑.GET/Read和DELETE/Delete非常明显.
但是,PUT/POST有什么区别?它们是否与"创建和更新"一对一匹配?
我有一个表,其主键在其他几个表中使用,并有几个外键到其他表.
CREATE TABLE location (
locationID INT NOT NULL AUTO_INCREMENT PRIMARY KEY
...
) ENGINE = InnoDB;
CREATE TABLE assignment (
assignmentID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
locationID INT NOT NULL,
FOREIGN KEY locationIDX (locationID) REFERENCES location (locationID)
...
) ENGINE = InnoDB;
CREATE TABLE assignmentStuff (
...
assignmentID INT NOT NULL,
FOREIGN KEY assignmentIDX (assignmentID) REFERENCES assignment (assignmentID)
) ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)
问题是,当我试图删除其中一个外键列(即locationIDX)时,它会给我一个错误.
"ERROR 1025(HY000):重命名时出错"
如何在不发生此错误的情况下删除上面的分配表中的列?
有没有更清洁的方法来做这样的事情?
%w[address city state postal country].map(&:to_sym)
#=> [:address, :city, :state, :postal, :country]
Run Code Online (Sandbox Code Playgroud)
我想我会%s
做我想做的事,但事实并非如此.它只需要括号之间的所有内容,并使其中的一个大符号.
只是一个小小的烦恼.
我有一个包含几个不同字段集的表单.我有一些Javascript,一次一个地向用户显示字段集.对于支持HTML5验证的浏览器,我很乐意使用它.但是,我需要按照我的条件这样做.我正在使用JQuery.
当用户单击JS链接以移动到下一个字段集时,我需要在当前字段集上进行验证,并阻止用户在出现问题时继续前进.
理想情况下,当用户失去对元素的关注时,将进行验证.
目前无效并使用Javascript.宁愿使用本机方法.:)
最近我的一个同事用一些代码写了一个代码来捕获整个方法的空指针异常,然后返回一个结果.我指出了空指针有多种原因,所以我们将其改为对一个结果进行防御性检查.
但是,捕获NullPointerException似乎对我来说不对.在我看来,Null指针异常是错误代码的结果,而不是系统中的预期异常.
是否有任何情况下捕获空指针异常是有意义的?
如果我arr = [1, 2, 3, 4]
知道我可以做以下事情......
> arr.each_slice(2) { |a, b| puts "#{a}, #{b}" }
1, 2
3, 4
Run Code Online (Sandbox Code Playgroud)
...和...
> arr.each_with_index { |x, i| puts "#{i} - #{x}" }
0 - 1
1 - 2
2 - 3
3 - 4
Run Code Online (Sandbox Code Playgroud)
......但是有没有内置的方法来做到这一点?
> arr.each_slice_with_index(2) { |i, a, b| puts "#{i} - #{a}, #{b}" }
0 - 1, 2
2 - 3, 4
Run Code Online (Sandbox Code Playgroud)
我知道我可以构建自己的并将其粘贴到数组方法中.只是想看看是否有内置功能来做到这一点.
我正在使用Simple_Form和Rails 3,这很棒.我有一个简单的问题.我可以创建一个复选框,f.input
如果类型是幕后布尔值.但是,我希望它被预选为真.
有没有办法通过视图这样做?
我负责开发和维护一组以类似数据为中心的Web应用程序.我当时决定的架构是每个应用程序都有自己的数据库和Web-root应用程序.每个应用程序都维护到自己的数据库的连接池和共享数据的中央数据库(登录等)
一位同事一直认为这种策略不会扩展,因为有这么多不同的连接池将无法扩展,我们应该重构数据库,以便所有不同的应用程序使用单个中央数据库,并且可能是任何修改系统特有的将需要从该数据库中反映出来,然后使用由Tomcat提供支持的单个池.他假定有很多"元数据"在网络中来回传递,以维护连接池.
我的理解是,通过适当的调整,在不同的池中使用尽可能多的连接(小批量应用程序获得更少的连接,大批量应用程序获得更多,等等),池的数量与数量相比无关紧要.连接或更正式地说,与1个30个连接池相比,维护3个10个连接池所需的开销差异可以忽略不计.
最初将系统分解为一个应用程序一个数据库设计的原因是,应用程序之间可能存在差异,并且每个系统都可以根据需要对架构进行修改.同样,它消除了系统数据渗透到其他应用程序的可能性.
不幸的是,公司没有强有力的领导作出艰难的决定.虽然我的同事只是模糊地支持他的担忧,但我想确保理解多个小型数据库/连接与一个大型数据库/连接池的分支.
是否有任何内置方法可以组合Enumerable.select
(查找块等于true的Enumerable.reject
所有内容)和(找到块等于false的所有内容)的函数?
就像是
good, bad = list.magic_method { |obj| obj.good? }
Run Code Online (Sandbox Code Playgroud) 所以,我有一个带有大量JSP,servlet的webapp,其中很多都使用了IceFaces.显然,大部分都必须留在Tomcat.
但是,我被告知Tomcat上的静态内容(HTML,图像等)比Apache之类的纯网络服务器慢.我的理解是,当您使用Tomcat作为独立的Web服务器时,它首先使用的是Apache的一个版本.当然,我可能会误解这一点.
但是从Tomcat提供静态图像或文件的代价是什么?对于低容量网站,是否值得进入自己的网络服务器?
ruby ×3
java ×2
mysql ×2
tomcat ×2
apache ×1
arrays ×1
built-in ×1
checkbox ×1
constraints ×1
crud ×1
database ×1
filter ×1
foreign-keys ×1
html5 ×1
http ×1
http-method ×1
iteration ×1
javascript ×1
jquery ×1
rest ×1
select ×1
validation ×1
webserver ×1