S*r
2 楼
三国里说吕布的武力值相当强,单挑刘关张三兄弟都能赢,曾经怀疑过这是不是有点夸
张了,历史上真正的吕布单挑有这么厉害么,先不说张飞和刘备,关羽的武力值可并不
差啊,不过看过一些历史资料后,发现吕布的实力确实不能小看。
翻阅过一些三国正史,里面说吕布的武力值确实强,但是此人属于有勇无谋,并且胸无
大志,就是个及时享乐的类型,每天喜欢沉迷于酒色之中,要不是他喜欢酒色,就不至
于上当被貂蝉这个美女给迷惑杀了董卓了。
吕布这个人的情绪化也很严重,总是反复无常,并且占领了一块地方,就不想去占领更
多的了,也不想称王,就想在自己的这块地方上享受,跟曹操刘备孙权的称帝之野心是
不能相比的,所以吕布最终还是变成了曹操的阶下囚。
本来曹操还看中了吕布的武力值,想要拿来作为自己的下属,可是刘备担心吕布活着会
影响自己的利益,就提醒曹操说,吕布杀了自己两个义父,于是乎吕布被杀。
这样的一个人也是挺悲剧的,空有一身好本领,却是一介莽夫而已,就算真的能单挑干
过刘关张三兄弟,也还是难成大器。
张了,历史上真正的吕布单挑有这么厉害么,先不说张飞和刘备,关羽的武力值可并不
差啊,不过看过一些历史资料后,发现吕布的实力确实不能小看。
翻阅过一些三国正史,里面说吕布的武力值确实强,但是此人属于有勇无谋,并且胸无
大志,就是个及时享乐的类型,每天喜欢沉迷于酒色之中,要不是他喜欢酒色,就不至
于上当被貂蝉这个美女给迷惑杀了董卓了。
吕布这个人的情绪化也很严重,总是反复无常,并且占领了一块地方,就不想去占领更
多的了,也不想称王,就想在自己的这块地方上享受,跟曹操刘备孙权的称帝之野心是
不能相比的,所以吕布最终还是变成了曹操的阶下囚。
本来曹操还看中了吕布的武力值,想要拿来作为自己的下属,可是刘备担心吕布活着会
影响自己的利益,就提醒曹操说,吕布杀了自己两个义父,于是乎吕布被杀。
这样的一个人也是挺悲剧的,空有一身好本领,却是一介莽夫而已,就算真的能单挑干
过刘关张三兄弟,也还是难成大器。
S*o
3 楼
http://www.qidian.com/BookReader/1880844,31473288.aspx
自寻道,向前找,自有人间道,水和山走了多少数不着
天不老,保我家乡永远的好
看尽尽是青山,青山处处是雨箭风刀
故园路,怎么是走不尽长路
道人道,道神道,自求人间道,妖与魔都说自己好
风疾雷暴,天地鬼哭神号
旧日江山为什么变成了血海滔滔
故园路,怎么是不归路
问人间,到底道在那里找
自寻道,向前找,自有人间道,水和山走了多少数不着
天不老,保我家乡永远的好
看尽尽是青山,青山处处是雨箭风刀
故园路,怎么是走不尽长路
道人道,道神道,自求人间道,妖与魔都说自己好
风疾雷暴,天地鬼哭神号
旧日江山为什么变成了血海滔滔
故园路,怎么是不归路
问人间,到底道在那里找
t*r
4 楼
int atoi(const char *str) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if (!str){return 0;}
int i=0;
bool pos=true;
int res=0;
while (str[i]==' '){ i++;}
if (str[i]=='+'){ pos=true;i++;}
if (str[i]=='-'){ pos = false;i++;}
if (!isdigit(str[i])){return 0;}
while (isdigit(str[i])){
if (pos && res>INT_MAX/10){return INT_MAX;}
if (pos && res==INT_MAX/10 && int(str[i]-'0')>=7){return INT_MAX;}
if (!pos && -res if (!pos && -res==INT_MIN/10 && int(str[i]-'0')>=8){return INT_
MIN;}
res = res*10 + int(str[i]-'0');
i++;
}
if (pos){return res;}
else{return -res;}
}
会了atoi走遍天下都不怕
// Start typing your C/C++ solution below
// DO NOT write int main() function
if (!str){return 0;}
int i=0;
bool pos=true;
int res=0;
while (str[i]==' '){ i++;}
if (str[i]=='+'){ pos=true;i++;}
if (str[i]=='-'){ pos = false;i++;}
if (!isdigit(str[i])){return 0;}
while (isdigit(str[i])){
if (pos && res>INT_MAX/10){return INT_MAX;}
if (pos && res==INT_MAX/10 && int(str[i]-'0')>=7){return INT_MAX;}
if (!pos && -res
MIN;}
res = res*10 + int(str[i]-'0');
i++;
}
if (pos){return res;}
else{return -res;}
}
会了atoi走遍天下都不怕
S*i
6 楼
吕布挑不过赵云吧
f*g
7 楼
faint,就一章刚开始就推啊,这也太粉丝了。
知秋怎么也开始弄仙侠了,这世道。。。
【在 S******o 的大作中提到】
: http://www.qidian.com/BookReader/1880844,31473288.aspx
: 自寻道,向前找,自有人间道,水和山走了多少数不着
: 天不老,保我家乡永远的好
: 看尽尽是青山,青山处处是雨箭风刀
: 故园路,怎么是走不尽长路
: 道人道,道神道,自求人间道,妖与魔都说自己好
: 风疾雷暴,天地鬼哭神号
: 旧日江山为什么变成了血海滔滔
: 故园路,怎么是不归路
: 问人间,到底道在那里找
知秋怎么也开始弄仙侠了,这世道。。。
【在 S******o 的大作中提到】
: http://www.qidian.com/BookReader/1880844,31473288.aspx
: 自寻道,向前找,自有人间道,水和山走了多少数不着
: 天不老,保我家乡永远的好
: 看尽尽是青山,青山处处是雨箭风刀
: 故园路,怎么是走不尽长路
: 道人道,道神道,自求人间道,妖与魔都说自己好
: 风疾雷暴,天地鬼哭神号
: 旧日江山为什么变成了血海滔滔
: 故园路,怎么是不归路
: 问人间,到底道在那里找
T*c
10 楼
我靠,知秋怎么也写仙侠啊
纠结,太纠结了,lol
纠结,太纠结了,lol
t*t
11 楼
我上次需要写一段code读一堆大文件, 文件里全是floating point number. 我一开始就
拿标准的strtod/atof写, 发现很慢. 后来到网上搜了一段code 代替strtod, 发现效率
提高400%以上...
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
拿标准的strtod/atof写, 发现很慢. 后来到网上搜了一段code 代替strtod, 发现效率
提高400%以上...
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
a*e
13 楼
这位同学基本功还需要加强啊... 先写个 integer 的 regular expression 来看看,
就知道错在哪里了。
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
就知道错在哪里了。
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
d*i
15 楼
你这个把很多边角情况考虑了,zlike要的版本可能不需要那么复杂,另外你的code有
错,cast的时候应当是res = res*10 + (int)(str[i]-'0'); 其实也不需要cast,char
自动promote成int.
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
错,cast的时候应当是res = res*10 + (int)(str[i]-'0'); 其实也不需要cast,char
自动promote成int.
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
n*t
17 楼
str[i] 的写法累赘了,直接 *str
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
o*l
18 楼
养肥了再开始看
【在 S******o 的大作中提到】
: http://www.qidian.com/BookReader/1880844,31473288.aspx
: 自寻道,向前找,自有人间道,水和山走了多少数不着
: 天不老,保我家乡永远的好
: 看尽尽是青山,青山处处是雨箭风刀
: 故园路,怎么是走不尽长路
: 道人道,道神道,自求人间道,妖与魔都说自己好
: 风疾雷暴,天地鬼哭神号
: 旧日江山为什么变成了血海滔滔
: 故园路,怎么是不归路
: 问人间,到底道在那里找
【在 S******o 的大作中提到】
: http://www.qidian.com/BookReader/1880844,31473288.aspx
: 自寻道,向前找,自有人间道,水和山走了多少数不着
: 天不老,保我家乡永远的好
: 看尽尽是青山,青山处处是雨箭风刀
: 故园路,怎么是走不尽长路
: 道人道,道神道,自求人间道,妖与魔都说自己好
: 风疾雷暴,天地鬼哭神号
: 旧日江山为什么变成了血海滔滔
: 故园路,怎么是不归路
: 问人间,到底道在那里找
l*d
20 楼
张学友的歌词啊。
b*s
21 楼
我觉得你放弃c++改java是正确的
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
g*g
24 楼
不知道是不是想写 月落那样游历西方的。
r*t
26 楼
凡人就是当代的大法师
d*d
30 楼
秋姐。。。
d*i
38 楼
我搞错了这两个是等价的。但是用指针的方式access array比用array的方式快这在以
前的编译器确实是这样的。
http://stackoverflow.com/questions/2305770/efficiency-arrays-vs
【在 t****t 的大作中提到】
: a[i]从最开始就是完全等同于*(a+i)的, 你这说的完全不靠谱.
:
: +
前的编译器确实是这样的。
http://stackoverflow.com/questions/2305770/efficiency-arrays-vs
【在 t****t 的大作中提到】
: a[i]从最开始就是完全等同于*(a+i)的, 你这说的完全不靠谱.
:
: +
L*e
54 楼
如果说不是随着要处理的文件size的增加,效率比越来越大的话,那么两个code在算法
上应该没有根本区别。通配的function比较慢通常是因为要handle的case比较多,可能
会做一些额外的处理。而你搜来的code只需要能handle你需要handle的case就可以了。
。。
如果真的是算法上的提高,可以去要求update标准的function。。。
始就
★ 发自iPhone App: ChineseWeb 8.2.2
【在 t****t 的大作中提到】
: 我上次需要写一段code读一堆大文件, 文件里全是floating point number. 我一开始就
: 拿标准的strtod/atof写, 发现很慢. 后来到网上搜了一段code 代替strtod, 发现效率
: 提高400%以上...
上应该没有根本区别。通配的function比较慢通常是因为要handle的case比较多,可能
会做一些额外的处理。而你搜来的code只需要能handle你需要handle的case就可以了。
。。
如果真的是算法上的提高,可以去要求update标准的function。。。
始就
★ 发自iPhone App: ChineseWeb 8.2.2
【在 t****t 的大作中提到】
: 我上次需要写一段code读一堆大文件, 文件里全是floating point number. 我一开始就
: 拿标准的strtod/atof写, 发现很慢. 后来到网上搜了一段code 代替strtod, 发现效率
: 提高400%以上...
t*t
89 楼
http://code.google.com/p/retrobsd/source/browse/trunk/src/libc/
.c?spec=svn509&r=509
【在 T********i 的大作中提到】
: Thrust,
: 能不能share一下你在网上搜到的code? 我看看是不是比我现在用的快?
:
: 始就
.c?spec=svn509&r=509
【在 T********i 的大作中提到】
: Thrust,
: 能不能share一下你在网上搜到的code? 我看看是不是比我现在用的快?
:
: 始就
D*r
90 楼
我也来抄写一遍:(擦,写了半个小时放弃了,又要判断是不是负数,又要判断上下界
,记不住interger的上下界macro,超出上下界还得返回errno,需要exit么?。面试挂
了。)
int atoi(const char *str) {
int i, result, t;
char* p;
if (!str) return 0;
i = 0;
result = 0;
t = 0;
p = str;
while (*p) {
t = (int)(p[i]-'0');
if (!isdigit(t)) return -1;
result = result * 10 + t;
}
}
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
,记不住interger的上下界macro,超出上下界还得返回errno,需要exit么?。面试挂
了。)
int atoi(const char *str) {
int i, result, t;
char* p;
if (!str) return 0;
i = 0;
result = 0;
t = 0;
p = str;
while (*p) {
t = (int)(p[i]-'0');
if (!isdigit(t)) return -1;
result = result * 10 + t;
}
}
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
g*i
92 楼
哈哈,好久不做了,再来重新找找感觉
T*i
93 楼
多谢thrust。我曾经自己做了个类似的。
我还做了个encoding的。
size_t Convert::encodeFloatValue(double value, char *buffer) {
char floatBuffer[FLOAT_BUFFER_LEN];
int dec, sign;
int result;
#if defined(_MSC_VER)
result = _ecvt_s(floatBuffer, FLOAT_BUFFER_LEN, value, 15, &dec, &
sign);
return ecvtBuffer2String(floatBuffer, buffer, dec, sign);
#else
char *ret = ecvt(value, 15, &dec, &sign);
return ecvtBuffer2String(ret, buffer, dec, sign);
#endif
}
ecvtBuffer2String的原理和这个decoder类似。
【在 t****t 的大作中提到】
: http://code.google.com/p/retrobsd/source/browse/trunk/src/libc/
: .c?spec=svn509&r=509
我还做了个encoding的。
size_t Convert::encodeFloatValue(double value, char *buffer) {
char floatBuffer[FLOAT_BUFFER_LEN];
int dec, sign;
int result;
#if defined(_MSC_VER)
result = _ecvt_s(floatBuffer, FLOAT_BUFFER_LEN, value, 15, &dec, &
sign);
return ecvtBuffer2String(floatBuffer, buffer, dec, sign);
#else
char *ret = ecvt(value, 15, &dec, &sign);
return ecvtBuffer2String(ret, buffer, dec, sign);
#endif
}
ecvtBuffer2String的原理和这个decoder类似。
【在 t****t 的大作中提到】
: http://code.google.com/p/retrobsd/source/browse/trunk/src/libc/
: .c?spec=svn509&r=509
g*g
95 楼
我来贴标准答案了。把radix hardcode成10就行。
public static int More ...parseInt(String s, int radix)
440 throws NumberFormatException
441 {
442 if (s == null) {
443 throw new NumberFormatException("null");
444 }
445
446 if (radix < Character.MIN_RADIX) {
447 throw new NumberFormatException("radix " + radix +
448 " less than Character.MIN_
RADIX");
449 }
450
451 if (radix > Character.MAX_RADIX) {
452 throw new NumberFormatException("radix " + radix +
453 " greater than Character.MAX
_RADIX");
454 }
455
456 int result = 0;
457 boolean negative = false;
458 int i = 0, len = s.length();
459 int limit = -Integer.MAX_VALUE;
460 int multmin;
461 int digit;
462
463 if (len > 0) {
464 char firstChar = s.charAt(0);
465 if (firstChar < '0') { // Possible leading "-"
466 if (firstChar == '-') {
467 negative = true;
468 limit = Integer.MIN_VALUE;
469 } else
470 throw NumberFormatException.forInputString(s);
471
472 if (len == 1) // Cannot have lone "-"
473 throw NumberFormatException.forInputString(s);
474 i++;
475 }
476 multmin = limit / radix;
477 while (i < len) {
478 // Accumulating negatively avoids surprises near MAX_
VALUE
479 digit = Character.digit(s.charAt(i++),radix);
480 if (digit < 0) {
481 throw NumberFormatException.forInputString(s);
482 }
483 if (result < multmin) {
484 throw NumberFormatException.forInputString(s);
485 }
486 result *= radix;
487 if (result < limit + digit) {
488 throw NumberFormatException.forInputString(s);
489 }
490 result -= digit;
491 }
492 } else {
493 throw NumberFormatException.forInputString(s);
494 }
495 return negative ? result : -result;
496 }
public static int More ...parseInt(String s, int radix)
440 throws NumberFormatException
441 {
442 if (s == null) {
443 throw new NumberFormatException("null");
444 }
445
446 if (radix < Character.MIN_RADIX) {
447 throw new NumberFormatException("radix " + radix +
448 " less than Character.MIN_
RADIX");
449 }
450
451 if (radix > Character.MAX_RADIX) {
452 throw new NumberFormatException("radix " + radix +
453 " greater than Character.MAX
_RADIX");
454 }
455
456 int result = 0;
457 boolean negative = false;
458 int i = 0, len = s.length();
459 int limit = -Integer.MAX_VALUE;
460 int multmin;
461 int digit;
462
463 if (len > 0) {
464 char firstChar = s.charAt(0);
465 if (firstChar < '0') { // Possible leading "-"
466 if (firstChar == '-') {
467 negative = true;
468 limit = Integer.MIN_VALUE;
469 } else
470 throw NumberFormatException.forInputString(s);
471
472 if (len == 1) // Cannot have lone "-"
473 throw NumberFormatException.forInputString(s);
474 i++;
475 }
476 multmin = limit / radix;
477 while (i < len) {
478 // Accumulating negatively avoids surprises near MAX_
VALUE
479 digit = Character.digit(s.charAt(i++),radix);
480 if (digit < 0) {
481 throw NumberFormatException.forInputString(s);
482 }
483 if (result < multmin) {
484 throw NumberFormatException.forInputString(s);
485 }
486 result *= radix;
487 if (result < limit + digit) {
488 throw NumberFormatException.forInputString(s);
489 }
490 result -= digit;
491 }
492 } else {
493 throw NumberFormatException.forInputString(s);
494 }
495 return negative ? result : -result;
496 }
c*3
96 楼
要考虑到这么多cases,只好挂了。
【在 g*****g 的大作中提到】
: 我来贴标准答案了。把radix hardcode成10就行。
: public static int More ...parseInt(String s, int radix)
: 440 throws NumberFormatException
: 441 {
: 442 if (s == null) {
: 443 throw new NumberFormatException("null");
: 444 }
: 445
: 446 if (radix < Character.MIN_RADIX) {
: 447 throw new NumberFormatException("radix " + radix +
【在 g*****g 的大作中提到】
: 我来贴标准答案了。把radix hardcode成10就行。
: public static int More ...parseInt(String s, int radix)
: 440 throws NumberFormatException
: 441 {
: 442 if (s == null) {
: 443 throw new NumberFormatException("null");
: 444 }
: 445
: 446 if (radix < Character.MIN_RADIX) {
: 447 throw new NumberFormatException("radix " + radix +
S*A
97 楼
如果有速度区别那个是很弱的编译器了。
在 LLVM 里面指针和数组的内部表示是一样的。
你做这样的编译测试还要加上 -O2 之类的。
【在 d****i 的大作中提到】
: 我搞错了这两个是等价的。但是用指针的方式access array比用array的方式快这在以
: 前的编译器确实是这样的。
: http://stackoverflow.com/questions/2305770/efficiency-arrays-vs
在 LLVM 里面指针和数组的内部表示是一样的。
你做这样的编译测试还要加上 -O2 之类的。
【在 d****i 的大作中提到】
: 我搞错了这两个是等价的。但是用指针的方式access array比用array的方式快这在以
: 前的编译器确实是这样的。
: http://stackoverflow.com/questions/2305770/efficiency-arrays-vs
S*A
98 楼
你其实不应该用 isdigit()。
isdigit() 和当前的 local 有关系。
完全有可能在个奇葩的 local 里面把类似 “一二”
这样的本土语言数字返回真,你的程序就彻底歇菜了。
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
isdigit() 和当前的 local 有关系。
完全有可能在个奇葩的 local 里面把类似 “一二”
这样的本土语言数字返回真,你的程序就彻底歇菜了。
【在 t**r 的大作中提到】
: int atoi(const char *str) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: if (!str){return 0;}
: int i=0;
: bool pos=true;
: int res=0;
: while (str[i]==' '){ i++;}
: if (str[i]=='+'){ pos=true;i++;}
: if (str[i]=='-'){ pos = false;i++;}
相关阅读
与其无意义的争论,不如干点实事在手机上怎么远程控制一个房间的灯亮灯灭? (转载)C++能不能加入一些Matlab的能力呢?半婊子中国海洋大学半婊子保研黑幕 2003年大连理工大学电子系考研失利的青岛二中学生邢慧强被中国海洋大学电子系破格录取为中国海洋大学电子系的硕士,如果给半婊子中国海洋大学加上一个形容词的话,我希望是java programmer们不用太悲哀c++14出来了?吵什么吵,尼玛真无聊怎么comment out大块包含/* */的code?MongoDB for Node.js Developers (转载)用AWS Elastic Beanstalk怎么配置连接MySQL数据库?Py2exe or Portable Python说几个backend从C++导向Java的知名公司吧能推荐一本linux c++ 的书吗?大牛们评价下front-end是否需要学习底层的技术?关于clojureLinus 工资多少?练java的来说说怎么用java替代vtk itk qt拿c++和汇编作比较的肯定没文化老了clojure括号那么多怎么办?