上次我不得不处理Java是2005年,从那时起我几乎忘了它的一切.
今天我需要在Java之上构建一个GUI应用程序.我想最好使用Scala/Groovy/Clojure语言之一.
问题是:哪个更适合桌面GUI编程?我的程序将转换并显示一系列jpeg/png文件+将有~10个对话框(每个对话框中包含大量选项和所有可能的小部件).
主要要求是紧凑性:我讨厌只编写十几行代码来绘制一个带按钮的简单框架.我在GUI中的背景是(大部分)Tcl/Tk和GTK +.
我愿意使用Google Analytics跟踪有关我的客户端/服务器应用程序使用情况的统计信息(用户计算机上没有浏览器!).
所以我想如果有人试图从服务器端代码处理__utm.gif的请求.
我在谷歌网站上找到了有关请求和相关cookie的一些信息,但没有关于"utmcc"变量中传递的cookie值的详细信息.
我知道我无法"制作"分析服务器从请求本身派生的一些信息(一个对所有人:源IP地址!).我无法从客户端计算机生成请求.
有没有人有这种情况的经验?任何详细信息或资源?任何工作的代码片段(任何语言都可以!:)?
我想尽可能地使用测试驱动开发 - 这是一种很好的工作方式.
我对Symfony2控制器创建并返回一个新Response对象这一事实感到不安.
我希望能够单独测试控制器.
你怎么做呢?
答案是将控制器创建为Plain Old PHP Object,将其注册为服务并使用Dependency Injection将新Response对象(或Response工厂)传递给它?
我最近开始使用JSHint,它要求我使用"use strict"的函数形式.从那以后,AngularJS抛出一个错误:
"错误:参数'webAddressController'不是函数,未定义"
当我删除"use strict"的函数形式时,控制器加载正常.
控制器:
(function () {
"use strict";
function webAddressController($scope, $rootScope, web_address_service) {
// Do things
}
}());
Run Code Online (Sandbox Code Playgroud)
有没有人对这里发生的事情有任何见解?
我有一张名为map_tags:
map_id | map_license | map_desc
Run Code Online (Sandbox Code Playgroud)
另一个table(widgets),其记录包含对记录的外键引用(1到1)map_tags:
widget_id | map_id | widget_name
Run Code Online (Sandbox Code Playgroud)
鉴于所有map_licenses都是唯一的约束(但是没有设置为键map_tags),那么如果我有a map_license和a widget_name,我想widgets在同一个SQL语句的所有内部执行插入:
INSERT INTO
widgets w
(
map_id,
widget_name
)
VALUES (
(
SELECT
mt.map_id
FROM
map_tags mt
WHERE
// This should work and return a single record because map_license is unique
mt.map_license = '12345'
),
'Bupo'
)
Run Code Online (Sandbox Code Playgroud)
我相信我走在正确的轨道上但是马上知道这对于Postgres来说这是不正确的SQL.有没有人知道实现这样一个查询的正确方法?
我有这个方法:
public function getMonth ($month_name)
{
$q = $this->createQueryBuilder('m');
$q->select('m')
->where('m.name = :name')
->setParameter('name', $month_name);
return $q->getQuery()->getResult();
}
Run Code Online (Sandbox Code Playgroud)
从中我希望找到一个月或0个月.我在控制器中以这种方式使用此方法:
$month = $em->getRepository('EMExpensesBundle:Month')
->getMonth($this->findMonth());
$month->setSpended($item->getPrice());
Run Code Online (Sandbox Code Playgroud)
我尝试了这getSingleResult()一切,一切都很完美,直到我遇到一个没有找到月份的情况,一切都失败了!
然后我尝试了getResult(),但它返回一个数组,然后
$month->setSpended($item->getPrice());
Run Code Online (Sandbox Code Playgroud)
据说被称为非对象并修复它我应该到处使用
$month[0]->setSpended($item->getPrice());
Run Code Online (Sandbox Code Playgroud)
是否有更优雅的方法来实现这一点,而无需在任何地方添加不必要的[0]索引?
我试图在我的Symfony 2项目中实现一些ajax功能.使用jquery的$ .post我想将一些数据发送回我的控制器.但是,当我只发布数据时,没有CSRF保护,因为symfony的csrf保护似乎只适用于表单.
实现这个目的的方法是什么?
使用表单时,我可以只使用$ form-> isValid()来查明CSRF令牌是否通过.我目前正在将所有想要POST的内容放在一个表单中然后发布.这基本上意味着我只使用该表单来实现CSRF保护,这似乎是hacky.
我正在寻找Java的模板引擎,其语法类似于Django模板或Twig(PHP).它存在吗?
更新:目标是为不同的语言提供相同的模板文件.
<html>
{{head}}
{{ var|escape }}
{{body}}
</html>
Run Code Online (Sandbox Code Playgroud)
可以使用Twig从python(Django)代码以及PHP渲染.我正在寻找Java解决方案.
Java,PHP和python中提供的任何其他模板系统都是合适的.
我的symfony表单有一些复杂的验证,我需要能够从控制器向特定字段分配错误.现在,我有这样的全局错误:
$error = new formerror("There is an error with the form");
$form->addError($error);
Run Code Online (Sandbox Code Playgroud)
但这会产生一个全局错误,而不是一个绑定到特定字段的错误.
有没有办法从我的控制器抛出特定字段的错误?
有人可以向我解释Adobe Air,Flex和Flash Builder之间的区别吗?
我去了Adobe网站,它说使用Air我可以为桌面或移动设备构建独立的应用程序.他们对Flex说了同样的话.
它说Flash Builider是一个基于Eclipse的开发工具.那是什么意思?然后它说我可以再次为桌面和移动设备构建应用程序.
有很多重叠,我真的不明白首先要学习什么以及采取什么方向.(我非常了解Flash和AS2和AS3.)
symfony ×4
php ×3
adobe ×1
air ×1
ajax ×1
angularjs ×1
apache-flex ×1
clojure ×1
csrf ×1
doctrine-orm ×1
groovy ×1
insert ×1
java ×1
jshint ×1
postgresql ×1
scala ×1
sql ×1
subquery ×1
templates ×1
unit-testing ×1
use-strict ×1