问题列表 - 第39628页

FTP over SSH(SFTP)在delphi 2010中

我正在编写一个简单的Delphi应用程序来将一些文件上传到SFTP服务器.我认为我可以使用TIdFTP indy客户端,但它接缝,因为它们不是FTP的选项通过SSH(SFTP)有没有人知道Delphi 2010的任何免费/开源组件,它将支持FTP over SSH(SFTP) ).由于安全原因,我无法使用Active X控件,因此请不要使用Active X解决方案.

谢谢您的帮助,

凯尔

delphi sftp delphi-2010

6
推荐指数
3
解决办法
2万
查看次数

轮询无锁队列的最快的无竞争方法是什么?

假设我们有一个单生产者线程单消费者线程无锁队列,并且生产者可能会长时间没有产生任何数据.当队列中没有任何东西时,让消费者线程休眠是有益的(为了节省电力并为其他进程/线程释放CPU).如果队列不是无锁的,解决这个问题的直接方法是让生成线程锁定互斥锁,执行其工作,发出条件变量信号并解锁,并为读取线程锁定互斥锁,等待条件变量,做它的阅读,然后解锁.但是,如果我们使用无锁队列,使用互斥锁的方式完全相同,就会消除我们首先使用无锁队列所获得的性能.

天真的解决方案是让每个插入队列后的生产者锁定互斥锁,发出条件变量信号,然后解锁互斥锁,保持实际工作(插入队列)完全在锁外,并让消费者做同样,锁定互斥锁,等待条件变量,解锁它,将所有内容从队列中拉出,然后重复,保持队列的读取在锁外.这里有一个竞争条件:在读取器拉出队列并进入睡眠状态之间,生产者可能已经将一个项目插入队列中.现在读者将进入睡眠状态,并且可以无限期地保持这种状态,直到生产者插入另一个项目并再次发出状态变量信号.这意味着您偶尔会遇到特定的项目,这些项目似乎需要很长时间才能通过队列.如果您的队列始终处于活动状态,这可能不是问题,但如果它始终处于活动状态,您可能完全忘记了条件变量.

AFAICT解决方案是让生产者的行为与使用常规需求锁定队列的行为相同.它应该锁定互斥锁,插入无锁队列,发出条件变量信号,解锁.但是,消费者的行为应该不同.当它唤醒时,它应立即解锁互斥锁,而不是等到它读取队列.然后它应尽可能多地拉出队列并处理它.最后,只有当消费者想要进入睡眠状态时,它是否应该锁定互斥锁,检查是否有任何数据,然后如果解锁并处理它,或者如果没有,则等待条件变量.这样,互斥锁的争用频率低于锁定队列的频率,但是没有数据仍然留在队列中的睡眠风险.

这是最好的方法吗?还有替代品吗?

注意:通过'最快',我的意思是'最快没有专门核心来反复检查队列',但这不适合标题; p

一种替代方案:使用天真的解决方案,但让消费者等待条件变量,其超时对应于您愿意容忍通过队列的项目的最大延迟.如果所需的超时时间相当短,则可能低于操作系统的最短等待时间,或者仍然消耗过多的CPU.

queue multithreading mutex condition-variable lockless

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

是否有更快的GDI GetPixel()替代品?

GetPixel()在.NET应用程序中使用gdi32.dll来在屏幕上的任何位置采样像素的颜色.它工作正常,但它对我来说是一个主要的性能瓶颈.

有更快的方法吗?

.net windows winapi gdi+ gdi

8
推荐指数
2
解决办法
6224
查看次数

无点形式与风格

你能转换吗?

-- tupleUnfold :: forall a. ((forall b. a -> b)) -> a -> ((b))
tupleUnfold :: Int -> ExpQ
tupleUnfold n = do
  xs <- forM [1 .. n] (const . newName $ "x")
  y <- newName "y"
  let y' = varE y
      g (ps', es') x = (varP x : ps', appE (varE x) y' : es')
      (ps, es) = foldl' g ([], []) xs
  lamE [tupP ps, varP y] (tupE es)
Run Code Online (Sandbox Code Playgroud)

在保持清晰度的同时采用无点风格(我知道程序'pointfree',但更愿意不再混淆代码)?

无论哪种方式,可以做出哪些改变来改进功能的风格,或者使其意图更清晰?该功能旨在如下使用.

$(tupleUnfold 3) ((+ 1), …
Run Code Online (Sandbox Code Playgroud)

haskell coding-style pointfree

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

通过接口设计与IoC/DI

很长一段时间以来,我一直在使用基于接口/继承的多态来设计应用程序,以获得松散耦合的代码.据我所知(到目前为止),DI框架/ IoC仅仅提供了使这种"更容易"的工具,但是,额外的抽象级别似乎是多余的,并且需要额外的开销.

我能想到的唯一原因是,如果一个大型团队已经知道特定的DI/IoC框架,那么每个人都可以在同一页面上.

从我的角度来看,DI似乎与界面设计做同样的事情,我希望还有更多的东西,有人可以向我解释为什么使用DI/IoC框架是一个更好的策略吗?

我真的希望我对DI/IoC说错了.

dependency-injection inversion-of-control

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

简单的PHP函数将数字转换为热图HTML背景颜色?

我的问题与将任何正整数转换为RGB值的算法有关但实际上它不是同一个问题 - 那个人主要是数据规范化问题,实际上我有更多的审美颜色选择问题.

我有一堆介于-1.0和+1.0之间的数字.我需要创建一个叠加文本的热图.

使用PHP的最简单方法是将每个数字转换为HTML颜色(#rrggbb),这样生成的颜色不仅直观地与温度相关(即最冷的最热,最热的最红,最流畅的一些)两者之间的过渡)但它也适合作为黑色文本的背景颜色?

html php algorithm heatmap graph-algorithm

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

跨平台简单的TCP/IP API?

我正在制作一个简单的跨平台聊天程序.我正在使用wXWidgets用于GUI,但效果很好,但我需要一种方法来创建套接字并创建服务器客户端设置.是否存在一个API,例如底层在Windows上使用WinSock,以及Linux的本机套接字和osx?

我不是在寻求提升作为解决方案,因为我将把它作为开放源代码而不是每个人都觉得安装一个70多MB的库.

谢谢

c++

6
推荐指数
2
解决办法
1696
查看次数

PresentationCore.dll中发生'System.StackOverflowException'

我有一个WPF UserControl,我尝试在其中实现自定义 MouseClick(因为WPF(用户)控件上没有MouseClick事件)事件.

我得到以下内容:

替代文字

一些代码:

/// <summary>
/// Occurs when users left clicks the MyControl.
/// </summary>
public event MouseButtonEventHandler MouseClick { add { AddHandler(MouseClickEvent, value); } remove { RemoveHandler(MouseClickEvent, value); } }

    protected virtual void OnMouseClick(MouseButtonEventArgs e)
    {
        base.RaiseEvent(e);
        //this.RaiseEvent(new RoutedEventArgs(MouseClickEvent, this));
    }

    protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e)
    {
        base.OnMouseLeftButtonUp(e);
        if (!this.movedAfterMouseDown)
        {
            OnMouseClick(e);
        }
        this.gotLeftButtonDown = false;
        this.movedAfterMouseDown = false;
    }
Run Code Online (Sandbox Code Playgroud)

那么,问题出在哪里?

更新1

protected virtual void OnMouseClick(MouseButtonEventArgs e)
{
    //base.RaiseEvent(e);
    MouseButtonEventArgs args …
Run Code Online (Sandbox Code Playgroud)

.net wpf events wpf-controls

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

RadioButton IsChecked失去了约束力

我正在试图绑定到RadioButton.IsChecked属性,它只能工作一次.在那之后,绑定不起作用,我不知道为什么会发生这种情况.任何人都可以帮忙吗?谢谢!

这是我的代码.

C#

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();

        this.DataContext = new ViewModel();
    }
}

public class ViewModel
{
    private bool _isChecked1 = true;
    public bool IsChecked1
    {
        get { return _isChecked1; }
        set
        {
            if (_isChecked1 != value)
            {
                _isChecked1 = value;
            }
        }
    }

    private bool _isChecked2;
    public bool IsChecked2
    {
        get { return _isChecked2; }
        set
        {
            if (_isChecked2 != value)
            {
                _isChecked2 = value;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

XAML:

<Grid>
    <StackPanel> …
Run Code Online (Sandbox Code Playgroud)

wpf binding

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

如何为现有控制器生成规格?

我已经设置了几个控制器.现在我想开始为它们编写规范测试.是否有自动生成spec文件的命令?我知道rails会为新资源执行此操作,但我不知道它是否也适用于现有的控制器/模型.

rspec ruby-on-rails-3

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