Bckground
我有一个用C#编写的网络应用程序.我的服务器程序有一个UI和几个通信线程,从tcp套接字读取并在控制器UI上显示消息.
与每个客户端的通信是通过一个单独的线程完成的.当我从一个客户端收到一些消息流时,该客户端的线程在UI上写入,这是一个Form上的richtextbox.
我调用表单的SetTextHelper(字符串文本)方法.
看起来像这样
private delegate void MyTextUpdateHandler(string text);
public void SetTextHelper(string text)
{
BeginInvoke(new MyTextUpdateHandler(SetText), new object[] { text });
}
public setText(string text)
{
richtext.Text+= text;
}
Run Code Online (Sandbox Code Playgroud)
问题
- 如果我使用BeginInvoke,当我向UI写入大量数据时,我的UI完全没有响应 - Invoke解决了这个问题,但我读到了多线程环境,其中很多人共享相同的资源调用可能导致死锁我分享共同点大约16个线程之间的ichtextbox - 对我的情况有什么好处?
在我的php应用程序中,我使用$ _SESSION来跟踪用户是否已登录.如果用户在我的网站http://mysite.com上留下任何页面并转到http://someotherwebsite.com,我想要自动注销,如果他们返回http://mysite.com上的任何页面,他们需要再次登录.
是否有捷径可寻?
当您分支一些代码时,完成分支的工作,并将其合并回主干,您如何处理分支?从存储库中删除它?保留供参考?
看起来你会把它作为参考,但我想这个/branches目录可能会变得混乱.
(如果这不是人们普遍认同的,请发表评论,我会将其作为社区维基.)
jleedev 是对的 - 我们应该指定我们正在谈论的版本控制系统.
我考虑过Subversion,但也希望听到有关其他系统的回复.请说明您正在回答哪一个,或者,如果您想获得接受的答案<贿赂> <bribery>,请比较和对比几个系统.
给出以下行:
[aaaa bbbb cccc dddd] [decimal](18, 0) NULL,
Run Code Online (Sandbox Code Playgroud)
如何在Vim的第一组括号之间替换空格?/ s命令会是什么样的?
更新:
这是预期的结果
[aaaa_bbbb_cccc_dddd] [decimal](18, 0) NULL,
Run Code Online (Sandbox Code Playgroud) 我想只使用UTF8.问题是我不知道每个网页的字符集.如何检测并转换为UTF8?
<?php
$url = "http://vkontakte.ru";
$ch = curl_init($url);
$options = array(
CURLOPT_RETURNTRANSFER => true,
);
curl_setopt_array($ch, $options);
$data = curl_exec($ch);
// $data = magic($data);
print $data;
Run Code Online (Sandbox Code Playgroud)
请参阅:http://paulisageek.com/tmp/curl-utf8
什么是magic()?
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
string temp;
vector<string> encrypt, decrypt;
int i,n, co=0;
cin >> n;
for(i=0;i<n;i++)
{
cin >> temp;
encrypt.push_back(temp);
}
for(i=0;i<n;i++)
{
cin >> temp;
decrypt.push_back(temp);
}
for(i=0;i<n;i++)
{
temp = encrypt[i];
if((binary_search(decrypt.begin(), decrypt.end(), temp)) == true) ++co;
}
cout << co << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它读取两个相等的字符串列表,并且应该打印出第一个列表中有多少单词也可以在第二个列表中找到,简单.不给我经过考验的结果,我认为问题出在binary_search中.你能告诉我为什么吗 ?
你在谷歌应用引擎上使用哪一个?
你决定背后的原因是什么?
我正试图在我正在创建的按钮的控制模板上复制如今时尚的"反射"效果.
基本思想是创建一个矩形,其渐变填充从白色到透明,然后用矩形几何体剪切一些半透明矩形.
问题是我不知道如何定义相对矩形几何.我通过定义一个大值(1000)来解决宽度问题,但高度是一个问题.例如,它适用于高度为200的按钮,但对于较小的按钮不起作用.
有任何想法吗?
<Rectangle RadiusX="5" RadiusY="5" StrokeThickness="1" Stroke="Transparent">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,0.55">
<GradientStop Color="#66ffffff" Offset="0.0" />
<GradientStop Color="Transparent" Offset="1.0" />
</LinearGradientBrush>
</Rectangle.Fill>
<Rectangle.Clip>
<RectangleGeometry Rect="0,0,1000,60" />
</Rectangle.Clip>
</Rectangle>
Run Code Online (Sandbox Code Playgroud) 提交表单时,请求中不会提交已禁用的表单字段.
因此,如果您的表单具有禁用的表单字段,那么它会让您Zend_Form::isValid()感到有点沮丧.
$form->populate($originalData);
$form->my_text_field->disabled = 'disabled';
if (!$form->isValid($_POST)) {
//form is not valid
//since my_text_field is disabled, it doesn't get submitted in the request
//isValid() will clear the disabled field value, so now we have to re-populate the field
$form->my_text_field->value($originalData['my_text_field']);
$this->view->form = $form;
return;
}
// if the form is valid, and we call $form->getValues() to save the data, our disabled field value has been cleared!
Run Code Online (Sandbox Code Playgroud)
无需重新填充表单,并创建重复的代码行,解决此问题的最佳方法是什么?
如何直接从视图调用服务?我正在尝试${my.domain.service.method},但它抱怨它找不到属性.
不,我不想使用控制器,因为视图是模板.