这个问题最初询问哪种是在SSIS中通过SFTP或FTPS上传文件的最佳方法.现在只列出每种解决方案的优缺点.我个人现在使用CozyRoc的SFTP库,但我已经在某个方面使用了以下每个解决方案.
SSIS组件库
方法:从CozyRoc,Codeplex,BizCrypto,PragmaticWorks或每个开发和生产服务器上的某些其他供应商安装SSIS组件库,并使用SFTP任务上载文件.
优点:易于使用.它看起来,闻起来和感觉就像一个正常的SSIS任务.SSIS还将密码识别为敏感信息,并允许您保护敏感信息的所有常规选项,而不是仅以非安全方式将其存储为明文.适用于其他SSIS任务,例如ForEach Loop Containers.上传和下载失败时出错.当您不知道要下载的远程FTP站点上的文件名称或者在运行时之前您不知道要上载的文件的名称时,可以正常工作.
缺点:除了Codeplex解决方案之外,这需要花费在生产环境中许可.需要在每台开发和生产计算机上安装库.如果是Codeplex解决方案,那么您使用的是任何特定供应商都不支持的软件.这也使您依赖供应商在每个版本之间更新其库.例如,在2008 RTM之前,我在2008年的CTP版本上开发了一个新服务器,而CozyRoc 2005库与它不兼容.最终他们发布了2008兼容版本,但我不得不暂时使用命令行解决方案来解决这个问题.
命令行SFTP程序
方法:安装一个免费的命令行SFTP应用程序,如Putty和WinSCP,并通过运行批处理文件或操作系统进程任务来执行它.这里列出了通过WinSCP执行此操作的说明.
优点:免费,免费,免费.如果您使用Putty,您可以确定它是安全的,因为许多GUI FTP客户端似乎使用Putty.您肯定知道您使用的是SSH2而不是SSH.
缺点:我尝试过的两个命令行实用程序(Putty和Cygwin)需要将SFTP密码存储在非安全位置.我没有找到一种在上传文件时捕获失败或错误的好方法.这个过程看起来并不像SSIS.大多数代码都封装在文本文件中而不是SSIS本身.如果您不知道要上载或下载的文件的确切名称,则很难使用.
一个3RD PARTY C#或VB.NET LIBRARY
方法:安装SFTP或FTPS库并使用引用库的脚本任务来上载文件.(我从未尝试过这个,所以我会猜测它的优点和缺点)
优点:可能很容易捕获错误.应该可以很好地处理变量,因此即使您不知道要上传或下载的文件的确切名称,它也可能很容易使用.
缺点:这是一个结合.NET库的脚本任务.如果您正在使用SSIS,那么您可能更熟悉SSIS任务,然后是.NET代码.脚本任务也很难排除故障,因为它们没有与常规.NET项目相同的调试工具和功能.创建对第三方代码的依赖关系,这些代码可能在不同版本的SQL Server之间不起作用.公平地说,它可能更有可能在不同版本的SQL Server之间工作,而不是第三方SSIS任务库.另一个巨大的骗局 - 我还没有找到一个免费的C#或VB.NET库.所以如果有人知道,那么请告诉我!
消息总线[1]和消息代理[2]之间的区别是什么
正如我所看到的,唯一相关的区别是用来代表每一个的图片.
如果之间存在一些差异,请告诉我什么.
如果它们是相同的,请告诉我为什么两个概念引用相同的功能.
谢谢.
[1] http://www.eaipatterns.com/MessageBus.html
[2] http://www.eaipatterns.com/MessageBroker.html
我的服务器上安装了GitLab CE(至少v8.5).我想将它与sonarqube集成,以便合并请求在评论部分显示任何问题.有没有人成功整合这两个系统?
目前,我发现只有sonarqube插件如下,但我无法成功将其与GitLab集成.
https://gitlab.talanlabs.com/gabriel-allaigre/sonar-gitlab-plugin
我使用了一个docker容器for sonarqube(v5.5)并将插件复制到extensions目录中.在sonarqube的插件设置页面中配置了gitlab用户令牌和gitlab uri.
我正在使用GitLab CI进行持续集成,我为sonarqube做了以下构建工作(使用gradle)
sh gradlew sonarqube -Psonar.analysis.mode=preview -Psonar.issuesReport.console.enable=true \
-Psonar.gitlab.commit_sha=$CI_BUILD_REF -Psonar.gitlab.ref_name=$CI_BUILD_REF_NAME \
-Psonar.gitlab.project_id=$CI_PROJECT_ID
Run Code Online (Sandbox Code Playgroud)
但是,我不确定在此之后该怎么做.几个问题:
当合并请求不存在时会发生什么?在我的git工作流程中,用户将在完成分支工作后提交合并请求.那么,这个插件将如何知道要更新哪个合并请求?
现在我将sonarqube valiation任务设置为仅在master分支上运行.我认为这也需要改为用户分支,对吧?
我确实尝试过提交合并请求,但我没有看到任何评论被添加.我想我缺少一些配置或过程.真的很感激,如果你能帮我指出正确的方向.
我将在一些其他控件下面添加一个python控制台小部件(进入C++ GUI):
许多类将暴露给python代码,包括对GUI的一些访问(也许我会考虑PyQt).
我应该在一个单独的线程中运行Python代码吗?
我认为这是一个很好的方法,因为GUI在执行长命令时不会被冻结.但另一方面,是否应禁用其他控件来保留对象的状态并避免冲突?
特别:
为什么我需要一直显式启用"启用无基础合并"?我正在从我的分支集成到主干.
"启用对已删除目标的集成"是什么意思?它不应该默认这样做吗?如果该文件不存在,并且您使用该文件集成到该分支,则应该创建该文件,对吧?
什么"不要获得所选文件的最新版本"与集成有什么关系?我应该选择源修订版和目标版(以创建新的目标修订版).
"忽视间接整合历史"是什么意思?我从来没有用过它,因为它听起来很吓人.
我很高兴知道,因为当我尝试从我们的主干到各个分支执行各种集成任务时,我不太确定要启用哪些选项,反之亦然.(我不是构建大师,但是,嘿,我想知道他知道什么).
我想知道一些事情,我知道为了让你的测试更容易,你应该在单元测试期间使用mock来测试你想要的组件,而不需要外部依赖.但在某些时候,你必须咬紧牙关并测试与数据库,文件,网络等交互的类.
我的主要问题是:你如何测试这些课程?
我不认为在我的CI服务器上安装数据库是一种很好的做法,但你有其他选择吗?
我是否应该使用其他CI工具创建另一个服务器,具有所有外部依赖性?
我应该像我的单元测试一样经常在我的CI上运行集成测试吗?
也许全职人员应该负责手动测试这些组件?(或负责创建测试环境并配置类和外部依赖关系之间的交互,例如编辑应用程序的配置文件)
我想知道你在现实世界中是怎么做的.
在带有MinGW的 Windows下使用Eclipse Integration插件编译自定义窗口小部件的正确过程是什么?
我尝试了以下步骤,但我无法在窗口小部件栏中看到窗口小部件.
configure -release -qtnamespace QtCppIntegrationC:\eclipse\plugins\com.trolltech.qtcppdesignerplugins.win32.x86_1.6.1eclipse -clean重置插件当然,小部件工作得很好Qt Designer,我可以在那里正确使用它.
这是我一直努力工作很长时间的事情.它首先从Prestashop开始,作为与我需要为整个网站制作的其他脚本或拼图的集成.我目前仍在使用Prestashop作为我的网店,但后来改用了Magento.
我转而使用Magento,因为它具有复杂的灵活性,因为总体而言我认为这是最好的解决方案,最好的支持和最好的整体电子商务脚本.
话虽如此,我与Prestashop所遇到的问题看起来是一样的,我会继续在任何方面,我试图将事物完美地融合在一起.
我有Magento设置,作为网站的主要部分,在Magento里面的子文件夹中我将Wordpress安装在一个名为"articles"的文件夹中,我也使用FluxBB作为我的消息论坛因为它没有垃圾的简单性加载了我不太关心的臃肿的额外功能,这是在一个名为"论坛"的子文件夹中.
从这一点来说,我们知道Magento,Wordpress和FluxBB都有自己管理用户的方式; 创建,管理和跟踪它们.
我想要做的是找到最适合我的网站的三种或更多种方式,以使客户的体验尽可能顺畅和实用.在通过电子邮件发送有才华且乐于助人的Alan Storm之后,他告诉我他所知道的最佳解决方案是制作他们都指向的第三方用户管理,并管理客户身份验证.我相信他的想法可能是最好的,但我想在StackOverFlow上把它放在那里,我也可以在Magento上发布这个,以获得喜欢挑战的magento开发者和聪明人的广泛关注.
我有几个想法,没有人可以工作,有些可能工作半屁股,或者一个可能只是可行的东西.但首先让我告诉你到目前为止我取得的成就.我已经完成了整合我的页眉和页脚整体设计的必要步骤,所以Wordpress和FluxBB基本上被包装并包含在Magento的外部设计层中.因此,据说我已经做到了Magento将检查会话以查看用户是否登录到Magento,通过说"Hello Guest"或"Hello User".这是我已经达到停止点的地方,因为我不在我的深度并想要帮助,无论是我们在纯粹的挑战中共同创造的东西,还是有人说如果我付钱给他们他们会帮助我,无论我想要这个实现.如果我得到的代码是通过支付小组努力的帮助,我想让其他人可以免费使用这个概念用于他们自己的项目.
脑屁#1:
调整Wordpress和FluxBB的用户表以更符合Magento的结构,如密码和用户名/电子邮件登录部分.其余字段可以分别保留,以用于帖子计数等.
从那里,我想弄清楚Magento中哪个类在注册时创建客户时实际输入数据库.当我找到该代码时,我想扩展它将用户凭据复制到Wordpress和FluxBB数据库中的其他两个表的能力.如果这看起来像是一个更好的想法,它可以只是Wordpress和FluxBB的一些额外的字段,是的,我的意思是Magento创建的实际加密密码,我希望它也是安全的.
从那里,当我们知道客户向Magento注册时,数据被复制到其他两个表,那么我们至少已经取得了进展,这个进展是否真的有效,还有待确定.
然后,我们可以通过Wordpress和FluxBB以任何方式禁用登录/注销和注册链接,因为我们希望用户通过Magento的一个位置注册,登录和注销,因此不再需要它们.
然后是我眼中的有趣部分,在他们订购产品,审查wordpress文章并可能留下评论,发送给朋友等等时,在整个网站上保持该死的会话,以及发布主题,回复等等. FluxBB容量.
对我来说,这是创建字段或添加Magento客户注册数据的地方,我可以检查他们是否已经登录Magento,从那里我们可以让它自己验证.这可能是过度杀戮,或者这可能只是需要做的事情.但是对我来说,如果凭证位于所有三个数据库中,则应该能够通过更改Wordpress和FluxBB中的代码或添加代码来验证它们.是的我知道如果客户希望更改他们的信息,我们还必须对配置文件编辑和密码编辑做些什么.
但这是我第一次想到这是否是正确的决定,我想听听这里人们的丰富知识,他们拥有比Magento,PHP和其他一切更多的经验和知识.
脑屁#2
由于Magento的复杂性以及整体设置如何,这种不合逻辑的想法对我来说似乎完全是一种外在的延伸.
但想法是删除/编辑Wordpress和FluxBB(以及任何其他第三方软件)几乎忽略它自己的注册,登录,注销,编辑和查看Magento的凭据和建立新客户的方法.基本上使它们成为Magento的超大模块.
我只知道Magento的设置方式是模块化,其复杂性似乎需要更多的编码和故障排除才能做到这一点.
脑屁#3
转储Wordpress和FluxBB并查看Magento连接存储中的模块,它几乎具有我需要的所有功能,并且可以向它们添加缺少的内容,而不是试图集成第三方软件.
我喜欢Wordpress,我认为用模块复制它,至少在我查看CMS /新闻相关的所有可用模块的几个小时之后是一个艰难的电话.FluxBB我可以接受或离开它,如果有人已经可行的解决方案使用phpBB或vBulletin或SimpleMachines我会跟他们一起去.我宁愿它是免费的开源软件,不是因为我是一个廉价的滑板,而是因为我尽可能地支持开源.
脑屁#4
这可能是一个cookie,但只有在它们允许cookie时才有效,或者可以某种方式添加到会话中以允许事物通过但Magento设置不同的会话或允许你也让他们的事情相互崩溃所以这可能根本不是一个想法,也可能是一个想法.
我知道我没有举例说明我曾尝试过的东西,我看过的文件或与此有关的任何内容,我道歉,我提供了一些相关的链接,但到目前为止没有具体找到与我想要完成的内容相符的内容.我试图将一些事情与一些有趣的灾难性结果合并在一起.
链接示例? : http ://www.magentocommerce.com/wiki/doc/webservices-api/api/customer#customer.create http://www.magentogarden.com/blog/how-are-passwords-encrypted-in -magento.html http://www.nicksays.co.uk/magento_events_cheat_sheet/ http://www.magentocommerce.com/wiki/5_-_modules_and_development/customers_and_accounts/registration_fields 如何从Magento外部访问Magento客户的会话?
任何有关这方面的帮助都会很好,我正在尝试同时处理网站的几个部分,这个很麻烦,我会说每个人都会发现很难或者发现它很难.有人喜欢挑战吗?:)
---------编辑:
我已经让Magento和Wordpress与CodeCanyon网站上的James Kemp模块(Magento和Wordpress的单点登录)完美配合,我将调整它以适应FluxBB或其他任何工作.
只是传递信息...我看到这是编辑,不知道编辑和不关心.只是传递了自发布以来我发现的信息.
我一直在寻找如何创建在Gmail中发送或接收电子邮件时触发的webhook.例如,有人发送电子邮件,该电子邮件作为JSON对象被POST为我的一个应用程序.我发现很多中间人应用程序/服务都是这样做的(zapier提供了我想要的所有功能,但它需要花钱),但是我找不到任何关于如何自己实际执行此操作的文档,所以我不需要付费它.
这可能吗?
假设我在单独的RouteBuilder类中创建了我的路由.看起来像:
我想在没有JMS代理和没有DB的情况下对这条路线进行单元测试.我知道我可以模拟我的处理器实现,但这还不够.我不想改变这条路线(假设我在jar文件中得到了这个类).据我所知,从Camel in Action(第6.2.6节)中,为了能够使用端点和其他东西的模拟,我需要更改我的路由端点定义(在本书的示例中,这是"mina:tcp:/"的更改/ miranda"to"mock:miranda"etc).
是否可以在不改变路径定义的情况下完全隔离测试流量?如果我将RouteBuilder作为一个单独的类,我是否被迫以某种方式"复制"路由定义并手动更改它?是不是测试了错误的东西?
我对Camel很新,对我而言,能够在发布路线时进行隔离单元测试真的很酷.只是为了能够改变一些东西,运行小测试,观察结果等等.