小编ala*_*arr的帖子

JavaEE与PHP - 为什么这么多人认为Java更好?

我需要对网络项目的技术使用进行评估,该团队由4名开发人员组成,项目时间为1年.

我对php更熟悉,但客户端要求我用JAVA EE做.

我对Java及其框架总是有同样的看法:

  • 这么多的xml和类都是为了做简单的事情.在codeigniter我要使用3个文件(模型,视图和控制器)与hibernate + spring + JSF我需要超过10个文件!
  • 滥用服务器.javascript代码失去了重要性,现在它并不好.当然我们可以添加javascript代码,但似乎"java web guys"更喜欢在服务器而不是客户端上做东西.
  • 不好看的应用程序.Richfaces似乎是几年前的网络.
  • 当我看到像liferay,alfresco这样的java应用程序时,它们看起来很沉重而且很慢.

我想我可能有点困惑,因为很多人和大公司继续在网上使用JAVA.为什么?这是关于整合?

另一方面,Java比PHP快,但JAVA的服务器需要大量内存(更昂贵).在具有许多请求的服务器中,我们可以使用像php这样的语言来改进,每个进程的时间更长,每个进程的内存更少,因为服务器永远不会因为内存而崩溃.有时JAVA服务器可能因内存而崩溃,实际生产环境中的平均响应时间将大于php.

我对Codeigniter很满意,为什么这么多人认为Java更好?

提前致谢,

阿尔贝托

php spring hibernate codeigniter java-ee

24
推荐指数
1
解决办法
4万
查看次数

BitmapFactory.decodeFile内存不足,图像为2400x2400

我需要将文件从文件发送到服务器.服务器以2400x2400的分辨率请求图像.

我想要做的是:

1)使用正确的inSampleSize使用BitmapFactory.decodeFile获取位图.

2)以JPEG格式压缩图像,质量为40%

3)在base64中对图像进行编码

4)发送到服务器

我无法实现第一步,它抛出一个内存不足的异常.我确信inSampleSize是正确的,但我想即使使用inSampleSize,Bitmap也很大(在DDMS中大约30 MB).

任何想法怎么办呢?我可以在不创建位图对象的情况下执行这些步骤吗?我的意思是在文件系统而不是RAM内存上进行.

这是当前的代码:

// The following function calculate the correct inSampleSize
Bitmap image = Util.decodeSampledBitmapFromFile(imagePath, width,height);   
// compressing the image
ByteArrayOutputStream baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 40, baos);
// encode image
String encodedImage = Base64.encodeToString(baos.toByteArray(),Base64.DEFAULT));


public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) {
    // Raw height and width of image
    final int height = options.outHeight;
    final int width = options.outWidth;
    int inSampleSize = 1;

    if (height > reqHeight || width > …
Run Code Online (Sandbox Code Playgroud)

android bitmap

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

使用locale/collat​​ion按键对字典排序

下面的代码忽略了语言环境,Égypt最后会出现什么问题?

dict = {"United States": "United States", "Spain" : "Spain", "England": "England", "Égypt": "Égypt"}

import locale

# using your default locale (user settings)
locale.setlocale(locale.LC_ALL,"fr_FR")
print OrderedDict(sorted(dict.items(), key=lambda t: t[0], cmp=locale.strcoll))
Run Code Online (Sandbox Code Playgroud)

这是输出:

OrderedDict([('England', 'England'), ('Spain', 'Spain'), ('United States', 'United States'), ('\xc3\x89gypt', '\xc3\x89gypt')])
Run Code Online (Sandbox Code Playgroud)

python python-2.7

12
推荐指数
1
解决办法
1180
查看次数

调整大小时,Google Chrome地址栏会消失

在MacOSX Yosemite上运行最新版本的谷歌浏览器(Versión41.0.2272.101(64位)),当我调整地址栏的大小时,我松开了栏,我将重新启动谷歌浏览器.

https://www.youtube.com/watch?v=LMKfWONS_FI

当您为小型设备开发Web应用程序时,这是一件非常糟糕的事情.有任何想法吗?有没有人找到一个可行的解决方法?

google-chrome

9
推荐指数
1
解决办法
6025
查看次数

lsof FD列等于DEL,是什么意思?

我有一个使用太多内存的进程.

当我运行lsof -p <pid>输出时是:

ETL-GRIB 5981 root  DEL    REG    8,4          183633075 /tmp/icom/65516_GRIB/20150921220023_6796_YTXG23EGRR211800__ln_3857.shp
ETL-GRIB 5981 root  DEL    REG    8,4          183633059 /tmp/icom/65516_GRIB/20150921220023_6796_YTXG23EGRR211800__pl_3857.shp
...
Run Code Online (Sandbox Code Playgroud)

DEL是什么意思?可能是进程将文件存储在内存中但是它已被任何其他进程删除了?

unix memory process linux-kernel

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

理解扳手解释

我在 Google Cloud Spanner 中有一个 860M 行的表格,我试图了解解释的工作原理。

该表有一个字符串列geoid,该列有一个索引。

当我运行以下查询时,它只需要 36 毫秒:

SELECT count(*)
FROM usbg_2015
WHERE geoid= '340170175001'
Run Code Online (Sandbox Code Playgroud)

表结构为:

CREATE TABLE usbg_2015 (
    geoid STRING(12),
    quadkey STRING(24),
) PRIMARY KEY (geoid, quadkey)
Run Code Online (Sandbox Code Playgroud)

但是,我不明白为什么解释说它使用Table Scan而不是Index Scan。我将表扫描理解为对的完整扫描,在这种情况下读取 860M 行,它应该花费超过 36 毫秒的时间。我缺少什么?

在此处输入图片说明

google-cloud-spanner

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

Python的最佳Cassandra 1.2驱动程序,我应该忘记CQL吗?

我正在为python寻找一个好的驱动程序:

1)Pycassa.它不支持CQL,他们不认为很快就会这样做.

2)https://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/.

我想使用cassandra-dbapi2但是这里有一个人说"它不支持连接池负载平衡提前功能".另一方面,我可以使用PyCassa,但它不支持CQL.我应该尝试Pycassa并忘记客户端上的CQL吗?

我不关心失去ORM功能,实际上我认为它可能会更糟糕,因为它迫使你的团队学习新东西(你正在使用的ORM API上的新功能),因为SQL是人们所知道的.为什么在熟悉SQL/CQL时学习一门新语言?但这只是一个意见......

你认为最好的选择是什么?我应该忘记CQL吗?

cassandra pycassa

5
推荐指数
1
解决办法
2238
查看次数

基于浏览器语言的 Amazon S3 重定向

我有一个多语言网站。我想将英语用户重定向到 /en,将西班牙语用户重定向到 /es。

目前我是通过 Javascript 来做的,但我觉得有更好的方法。

<html>
<body>
<script type="text/javascript">
    var language = window.navigator.userLanguage || window.navigator.language;
    if (["es","en"].indexOf(language) != -1){
        window.location.replace(language);    
    }
    else{
        // other languages go to en
        window.location.replace("/en");
    }
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services amazon-cloudfront

5
推荐指数
0
解决办法
676
查看次数

Xcodebuild无法为模拟器sdk构建框架库

当我尝试使用xcodebuild构建框架时,我遇到了一些问题.我的xcode版本是6.1.

这条线很好用:

xcodebuild -target Knot3DLib -configuration Release -sdk iphoneos
Run Code Online (Sandbox Code Playgroud)

但它不起作用:

xcodebuild -target Knot3DLib -configuration Release -sdk iphonesimulator
Run Code Online (Sandbox Code Playgroud)

它说:

没有可编译的架构(ARCHS = i386 x86_64,VALID_ARCHS = arm64 armv7 armv7s).

我没有在我的项目中定义i386和x86_64作为archs,为什么xcodebuild尝试构建i386?这是我的架构构建设置:

构建设置

我可以在模拟器和设备中从Xcode运行项目.

我尝试过其他类似的问题,但没有一个能为我效劳.

xcode ios

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