这主要是一个好奇心问题.考虑以下功能
var closure ;
function f0() {
var x = new BigObject() ;
var y = 0 ;
closure = function(){ return 7; } ;
}
function f1() {
var x = BigObject() ;
closure = (function(y) { return function(){return y++;} ; })(0) ;
}
function f2() {
var x = BigObject() ;
var y = 0 ;
closure = function(){ return y++ ; } ;
}
Run Code Online (Sandbox Code Playgroud)
在每种情况下,在执行函数之后,(我认为)无法到达x,因此BigObject可以被垃圾收集,只要x是对它的最后一个引用.只要评估函数表达式,一个简单的解释器就会捕获整个范围链.(首先,你需要这样做来调用eval工作 - 下面的例子).更智能的实现可能会在f0和f1中避免这种情况.更智能的实现将允许保留y,但不保留 …
我在MySQL服务器数据库中有一个GPS位置列表.用户将在应用程序中输入GPS坐标,他应该获得最近的GPS坐标.
我不介意距离计算是基于"乌鸦的飞行"或其他任何东西.它应该足够快,可以搜索数千个GPS位置.
我更喜欢C#中的解决方案,否则我会尝试获取逻辑并应用自己.
如果我为搜索功能定义了一个jQuery UI按钮:
jQuery("#do_search").button();
Run Code Online (Sandbox Code Playgroud)
如何单击此按钮以使页面重定向到:
/search
Run Code Online (Sandbox Code Playgroud) 我想分发我的软件(.net windows应用程序),评估版本为30天,无论系统时间如何.
我不想使用互联网来获取时间,因为软件将在没有互联网的机器上运行.
任何人都可以建议我如何在不使用系统时间和互联网的情况下分发我的软件?
是否可以限制可以安装它的计算机数量?
我认为服务/应用程序层与Larman所说的GRASP Controller相同,它是GUI层之外的第一个对象,它委派给领域层,并且应该可从其他GUI重用。
服务(Evans)层与应用程序(Fowler)层相同,因为Fowler自己在有关“贫血域模型”的“ bliki”中这样说:http ://martinfowler.com/bliki/AnemicDomainModel.html
Quote:“应用层[服务层的名称]:定义软件应该执行的工作,并指导富有表现力的领域对象解决问题。该层负责的任务对企业来说是有意义的,或者是与之交互所必需的该层保持薄型结构,不包含业务规则或知识,而仅协调任务并将工作委托给下一层的域对象协作,它没有反映业务情况的状态,但它可以具有反映用户或程序的任务进度的状态。”
现在考虑上面的描述(另请参阅fowler的PEAA书,关于从用例中识别服务层方法),还考虑了Fowler对Service层的描述中的图片,该图说明了Service Layer是位于“用户界面”之后的第一层。此URL:http : //martinfowler.com/eaaCatalog/serviceLayer.html
现在,将上述服务/应用程序层描述与Larman关于GRASP Controller的一些话进行比较(在他最畅销的OOAD书籍“应用UML和模式”的第三版中,年龄302-306):“ ...第一个对象除了接收和协调(“控件”)系统操作的UI层之外……”“……表示在其中发生系统事件的用例场景……”“ ...通常,控制器应委派给其他对象则需要完成的工作;它协调或控制了活动。它本身并没有做很多工作。
我认为Larman的GRASP Controller层与Evans / Fowler的Application / Service层相同。别人不同意吗?然后,请解释这些概念之间的显着差异,以及一些Controller类而不是Service / Application类的示例。
我的问题之所以诞生,是因为有人说创建模型域对象是控制器的责任,而不是其他服务/应用程序层的责任。但是,能否给我一个服务层类和控制器类之间的区别的例子?
它可以使枚举中的输出操作符过载吗?我遇到了各种错误(如果我使用类,我没有得到任何错误):
../src/oop.cpp:18:2: error: expected identifier before 'friend'
../src/oop.cpp:18:2: error: expected '}' before 'friend'
../src/oop.cpp:18:2: error: 'friend' used outside of class
../src/oop.cpp:18:16: error: expected initializer before '&' token
../src/oop.cpp:22:1: error: expected declaration before '}' token
Run Code Online (Sandbox Code Playgroud)
我要实现这样的东西(java代码):
public enum Type {
ACOUSTIC, ELECTRIC;
public String toString() {
switch(this) {
case ACOUSTIC: return "acoustic";
case ELECTRIC: return "electric";
default: return "unspecified";
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
编辑:
enum Type {
//ACOUSTIC, ELECTRIC;
inline std::ostream& operator << (std::ostream& os, Type t) // error here
{ …Run Code Online (Sandbox Code Playgroud) 注意:我不是在问哪个学习,哪个更好,或者类似的东西.
我拿起SICP的免费版本,因为我觉得阅读会很好(我听说过很好的东西,而且我对这种编程方面很感兴趣).
我知道Scheme是Lisp的一种方言,我想知道:Scheme和Common Lisp之间的实际区别是什么?
似乎有很多关于'CL有一个更大的stdlib ...方案对现实世界的编程不好......'但实际上并没有说'这是因为CL就是这个/有这个'.
我正在学习Rails 3,但路线让我发疯.我正在尝试使用命名空间来分隔网站的管理部分.问题是命名空间中的某些东西根本不起作用,也会路由到错误的位置.例如,通过指定资源,使用rails生成的路由,当传递对象时,视图指向错误的路径,因此编辑表单将不起作用.
即使路线确实存在,链接与link_to也不起作用.首先,这是从rake路由输出的命名空间路由.
namespace :admin do
resources :users
end
admin_users GET /admin/users(.:format) {:action=>"index", :controller=>"admin/users"}
POST /admin/users(.:format) {:action=>"create", :controller=>"admin/users"}
new_admin_user GET /admin/users/new(.:format) {:action=>"new", :controller=>"admin/users"}
edit_admin_user GET /admin/users/:id/edit(.:format) {:action=>"edit", :controller=>"admin/users"}
admin_user PUT /admin/users/:id(.:format) {:action=>"update", :controller=>"admin/users"}
DELETE /admin/users/:id(.:format) {:action=>"destroy", :controller=>"admin/users"}
Run Code Online (Sandbox Code Playgroud)
控制器:
class Admin::UsersController < ApplicationController
def index
@users = User.all
end
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
def edit
@user = User.find(params[:id])
end
def create
@user = User.new(params[:user])
if @user.save
redirect_to(@user, :notice => 'User was successfully created.') …Run Code Online (Sandbox Code Playgroud) ob_start();
echo 'Désçàui';
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header("Content-type: application/x-msexcel; charset=utf-8");
header("Content-Disposition: attachment; filename=Test.xls");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
ob_end_flush();
Run Code Online (Sandbox Code Playgroud)
我在excel文件中得到的是 Désçà ui
但是,当我尝试时,我确实得到了Désçàui
ob_start();
echo 'Désçàui';
header("Content-Type: text/html; charset=utf-8");
ob_end_flush();
Run Code Online (Sandbox Code Playgroud)
有帮助专家吗?
PS.该文件以标题/编码Unicode(Utf-8)保存在DW中.
鉴于以下表格,我想知道如何编写查询以仅返回其中包含书籍的类别以及每个类别的书籍数量.可以在一个或多个类别中添加书籍.我正在使用PHP和MySQL.
这是我的表格:
类别表
- id
- 名称
- 永久链接
书籍表
- id
- 标题
- 作者
- 描述
- 价格
books_categories表
- id
- book_id
- category_id