V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  sagnitude  ›  全部回复第 5 页 / 共 5 页
回复总数  97
1  2  3  4  5  
2015-12-26 11:57:29 +08:00
回复了 rogwan 创建的主题 Python 为什么有“空格”隔断的字符串, split 切分后取不到值?
把你这句话里面调用任何一个函数的结果,都 print 出来,自己看看
另外, whitespace character 和空格是不一样的
这种问题还请自己搜索,别人回答了和自己找到答案是不一样的,自己找到的答案记得更牢
2015-12-22 12:58:36 +08:00
回复了 crytis 创建的主题 Java 用 java 写桌面程序 ui 只能用 swing 或者 swt 么?
CEF, JCEF

https://bitbucket.org/chromiumembedded/java-cef/
https://bitbucket.org/chromiumembedded/cef/
https://cefbuilds.com/

我司内部工具就在用,用起来不难
JavaFX , DJNativeSwing , browserlauncher 这些旧项目都不太行,以 java 为主去操纵浏览器是不行的,浏览器端发展太快,这些库的更新跟不上 web 的发展,支持浏览器也不够多,不够好
而且 DJNativeSwing 在 mac 上会有致命冲突
2015-12-13 15:58:55 +08:00
回复了 itauge 创建的主题 PHP 提高写代码速度一问?
引号?括号?
phpstorm, sublime, atom 之类都能输入一个引号自动在光标后面加上另一个引号吧
大小中括号也基本都支持的,你用的是什么编辑器居然做不到?
2015-12-11 20:40:35 +08:00
回复了 langzizx39 创建的主题 程序员 发现公司项目里有个类的名字拼错了,要改吗?
要慎重,我们在 model 里改动变量名字或者增删一个变量有时候会需要提前一周通知,相关开发人员一起动手改,新功能暂停开发,所有项目同时更改同时上线。
除非你的所有项目都有完备的自动化测试和构建体系,否则一定要慎重。

服务端改动一个 model 的变量名, iOS , javascript , Android , Java 桌面端,所有的项目都要改,
尤其是前端! javascript 这种语言,服务端改动 model 之后,前端页面里不跑到特定的代码那里根本不知道会出错

我们有很多小项目,半年或者一两年没维护,基本都是跑不了的,因为其他的公共代码修改了,哪怕只是修改了一两个域,也很难查。基本要用的时候都需要安排人修复
2015-12-11 09:30:36 +08:00
回复了 UtopiaCHN 创建的主题 iDev 为什么子线程无法立刻停止 UIActivityIndicatorView 动画
dispatch_get_global_queue 改成 dispatch_get_main_queue()

另外,应该用 NSTimer ,而不是 Thread.sleep
也可以用 performSelector 设定延时
2015-11-20 13:03:27 +08:00
回复了 kaiwei 创建的主题 JavaScript 新手提问: js 如何处理这种情况
补充一下,我觉得保险的话,在发新的请求的时候楼上提到的这些都是要做的:

1. 尚未发送的请求,取消发送(在发送方法里检查 timestamp )
2. 已经发送正在等待返回的, abort
3. 对于请求已经结束,正在处理数据的,用唯一的标识符,在数据处理完的时候拒绝过时的请求的数据
4. 加 loading 屏幕

如果只用其中一种或者若干种,还是有风险的,

因为有时候请求数据的处理是很重的,我经常请求一个数兆的 JSON 文件,然后画到 webgl canvas 里,这时候 JSON 处理根本无法取消,三角化和 geometry 生成也很难取消,只能做多重保险。

再补充一下,在 javascript 里,序列号也可以不用加在请求里,也不用服务器返回。由于 js 的回调机制,回调结束之前,那个函数的 scope 仍然是有效的,可以用局部变量和全局变量来做。

我写了一个简单的例子: https://gist.github.com/sagnitude/b0642604fd1911e016b4

核心的代码是这样:

function sendRequest() {
var timestamp = (new Date()).getTime();

window.lastRequestTimeStamp = timestamp;

Request.Dispatch(params, function(result) {
if (timestamp == window.lastRequestTimeStamp) {
//do something
console.log("success! " + timestamp);
}
});
}
2015-11-02 19:02:14 +08:00
回复了 Jackhuang 创建的主题 Python 学得太杂了,感觉迷茫(吐槽)以及求问怎么写 Python 项目
大学课程的那些语言都只能是入个门、做个题,根本都算不上“学的太杂”吧。。我大学学了四年 java ,还是出来工作才真正熟悉写 java 程序的过程,打基础的时候建议你还是继续刷代码量吧,等你有好想法的时候,有代码量的基础在,能够很快很好地实现出来,我是感觉自己写的远远不够
2015-11-02 18:51:01 +08:00
回复了 Jackhuang 创建的主题 Python 学得太杂了,感觉迷茫(吐槽)以及求问怎么写 Python 项目
python 不是有个 PEP8 么

我用 pycharm 写的时候,只要照着 IDE 的代码提示改,代码风格就还行,我在 Inspection 里打开了 PEP8 检查
2015-10-30 09:32:03 +08:00
回复了 shenqiu15 创建的主题 程序员 [吐槽]Windows 最最 SB 的就是按 delete 键回退到上一页
我试了一下,如果跳转了再回来,这个回复框里的内容还在,这个回复框是个 form
我开了个有常规 input (不是 form 元素)的网页,跳转再回来,框里的内容还在,不知楼主的应用场景是如何清空的,我是 chrome 48
Safari 并不会后退,但是仍然会保留 Input 和 form 元素中的已输入的值
Firefox 会后退,均会保留
Opera 会后退,均会保留
2015-10-30 09:21:03 +08:00
回复了 Dylan8024 创建的主题 Xcode Xcode 编译 C 语言的时候缺少库函数该如何添加路径呢?
@Dylan8024 这一栏填的是 Path ,文件夹,不是文件路径,填 “/usr/local/opt/igraph/include/igraph ”
你把.a 文件直接拖进 X
code 就可以了,另外 Link Binary With Libraries 左下角有个加号
2015-10-29 23:19:15 +08:00
回复了 Dylan8024 创建的主题 Xcode Xcode 编译 C 语言的时候缺少库函数该如何添加路径呢?
如果是引号导入的,把.h 文件拖进项目就行
如果是尖括号导入, Build Settings ,左上角打开 All ,右上角输入"Header Search Paths"
2015-10-17 17:41:36 +08:00
回复了 flavoury 创建的主题 晒晒更健康 说一说大家在用的付费订阅服务
linode
PS Plus jp+us
Pocket
百度云
Pomotodo
Office 365
115
2015-10-17 11:34:53 +08:00
回复了 xuexixuexi 创建的主题 Node.js 用 node-webkit 开发桌面程序怎么样?
@xuexixuexi 还是说你是起了 100 个线程,每个完成加 1%?
2015-10-17 11:34:06 +08:00
回复了 xuexixuexi 创建的主题 Node.js 用 node-webkit 开发桌面程序怎么样?
@xuexixuexi 你用回调函数不就是异步的么

大约是如下的吧,参考了 http://www.cnblogs.com/yupeng/p/3469444.html

htmlpage.js

function requestNodejs() {
require('nodejs-c-extension').execute(params, function onTrunkGotCallback(percent) {
//update the progress
updateHtmlProgress(percent);
}, function onFinishCallback(responseData){
//task finished
updateHtmlByData(responseData);
});
}

nodejs-c-extension.cc

#include <node.h>

using namespace v8;

Handle<Value> HandleCall(const Arguments& args) {
HandleScope scope;

/*
* 3 arguments: params, trunkCallback, finishCallback
*/
Local<Value> params = Local<Value>::Cast(args[0]);
Local<Function> trunkCallback = Local<Function>::Cast(args[1]);
Local<Function> finishCallback = Local<Function>::Cast(args[2]);

const unsigned argc = 1;
Local<Value> argv[argc];
//Do some stuff and report the progress
for (int i = 0; i < 100; i++) {
argv[argc] = { Local<Value>::New(String::New(i) };
trunkCallback->Call(Context::GetCurrent()->Global(), argc, argv);
}

//finished, replace argv with data got
finishCallback->Call(Context::GetCurrent()->Global(), argc, argv);

return scope.Close(Undefined());
}

/*
* Define function exports.execute as HandleCall
*/
void Init(Handle<Object> exports, Handle<Object> module) {
exports->Set(String::NewSymbol("execute"),
FunctionTemplate::New(HandleCall)->GetFunction());
}

NODE_MODULE(nodejs-c-extension, Init)
2015-10-16 10:40:10 +08:00
回复了 xuexixuexi 创建的主题 Node.js 用 node-webkit 开发桌面程序怎么样?
@xuexixuexi 写一个 nodejs 的 c/c++扩展

js 调用 nodejs->nodejs 调用扩展->扩展调用外部 c/c++程序->nodejs 获得返回值->js 获得返回值->用 js 更新页面
最后一步需要 nw.js 或者 Electron 框架(在 html 页面内和 nodejs 交互)

这是我猜的。。我只用过 CEF 。。
2015-10-15 21:37:39 +08:00
回复了 xuexixuexi 创建的主题 Node.js 用 node-webkit 开发桌面程序怎么样?
基于这个开发就完全是前端的风格了,不管是干什么,都是 js ,不需要你去管底层,底层是 Chromium 框架接管了。
平时开发就完全是 js 环境了,按了一个按钮发生了什么是不用关心的,浏览器内核接管了,按按钮的处理也是由客户端 javascript 处理的,你如果想要按按钮去触发额外的 c++调用的话可能比较困难,需要自己接入 chromium 或者 nodejs 框架,然后自己编译一遍。
1  2  3  4  5  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3410 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 04:33 · PVG 12:33 · LAX 21:33 · JFK 00:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.