天道酬勤,学无止境

技术分享

无法在 Windows 10 中使用 DataTransferManager 共享图像(Unable to share image using DataTransferManager in Windows 10)

问题 要求:在 Windows 10 中使用DataTransferManager将文本和图像共享到 Facebook。 问题:无法共享图像。 下面显示的是我使用的代码, private async void DataTransferManager_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { DataRequestDeferral deferral = args.Request.GetDeferral(); args.Request.Data.Properties.Title = "Sharing sample"; args.Request.Data.SetText("Testing share in universal app"); var imageUri = "http://cdn.vrworld.com/wp-content/uploads/2015/01/microsoft-announces-windows-10_ahab.1920.jpg"; //var storageFile = await StorageFile.CreateStreamedFileFromUriAsync("ShareFile", new Uri(imageUri), null); //List

2021-09-20 18:09:52   c#   facebook   windows-10   fileshare

使用 Robotium 和 Cucumber 截取屏幕截图的正确方法(Correct way to take screenshot with Robotium and Cucumber)

问题 当一个场景使用Robotium和Cucumber失败时,截取屏幕截图的最佳方式是什么? 我已经尝试过(没有成功,因为它不执行runTest方法): import cucumber.api.CucumberOptions; import cucumber.api.java.After; import cucumber.api.java.Before; @CucumberOptions(features = "features", tags = {"~@ignore"}) public class CustomInstrumentationTestCase extends ActivityInstrumentationTestCase2<LaunchActivity> { protected Solo solo; public CustomInstrumentationTestCase() { super(LaunchActivity.class); } @Before public void before() throws Exception { //... } @After public void after() throws Exception { //... } @Override protected void runTest() throws Throwable {

2021-09-20 18:09:47   android   cucumber   robotium   android-testing

如果调用析构函数并将分配的内存再次用于其他对象,会发生什么情况?(What happens if you call a destructor and use the allocated memory again for other objects?)

问题 class base { virtual ~base(); }; class der1 :public base { int i; } class der2 :public base //I used double that der2 is bigger than der1 { double d; } int main() { base* ptr = new der2; ptr->~base(); //Destructor call just for the //case that the der2 had a pointer member der1* ptr2 = static_cast<der1*>(ptr); *ptr2 = der1(); delete ptr; return 0; } 如果你执行上面显示的代码会发生什么? 这会产生内存泄漏,如果是,为什么? 是否有可能将占用的内存用于不同类型而不先释放它? (请不要回答你为什么需要这个,这只是兴趣) 编辑: ~base() 什么都不做,因为这是一个例子。 回答1 这是未定义的行为,因为您在其生命周期结束后分配和删除对象,这是 C++11,[basic.life]/5 禁止的: 在一个对象的生命周期结束之后,并且在该对象所占用的存储空间被重用或释放之前,任何指向该对象将要或曾经被定位的存储位置的指针都可以使用

2021-09-20 18:09:42   c++   pointers   memory-leaks

使用 XOAUTH2 访问谷歌域用户的电子邮件数据(Accessing google domain users email data with XOAUTH2)

问题 我正在尝试从我们的谷歌应用程序中访问我们学生的 gmail 数据,用于使用 xoauth2 的域。 我一直在讨论这个问题,谷歌的文档组织得非常糟糕,而且还有很多旧文档在你被引导时不再起作用,所以它很有趣。 我基本上已经使用我创建的启用了域委派的服务帐户在 python 中使用 googles oauth2client 使用以下代码工作。 from oauth2client.client import SignedJwtAssertionCredentials client_email = 'serviceaccount@developer.gserviceaccount.com' with open("testserviceaccount.p12") as f: private_key = f.read() credentials = SignedJwtAssertionCredentials(client_email, private_key, 'https://www.googleapis.com/auth/gmail.readonly', sub='student email address') from httplib2 import Http http_auth = credentials.authorize(Http()) from apiclient

2021-09-20 18:09:37   ruby-on-rails   gmail   google-oauth   google-apps

使用 Stream API 来组织应用程序管道(Using Stream API for organising application pipeline)

问题 据我所知,Stream API 旨在应用于集合。 但是我非常喜欢它们的想法,所以我尝试在我可以和不应该时应用它们。 最初我的应用程序有两个线程通过BlockingQueue通信。 首先会填充新元素。 其次对它们进行转换并保存在磁盘上。 一次对我来说似乎是一个完美的直播机会。 我最终得到的代码: Stream.generate().flatten().filter().forEach() 我想在那里放一些map ,但结果我必须拖一个额外的字段直到forEach 。 因此,我要么必须创建具有两个字段和模糊名称的无意义类,要么使用AbstractMap.SimpleEntry来承载两个字段,这对我来说似乎没什么。 无论如何,我已经重写了我的应用程序,它甚至似乎可以工作。 但是,有一些注意事项。 由于我有无限流,“东西”无法停止。 现在我在守护进程线程上启动它,但这不是解决方案。 业务逻辑(如连接丢失/查找,这可能不是 BL)看起来疏远了。 也许我只需要代理。 另一方面,队列人口存在自由懒惰。 一个线程而不是两个线程(不确定这有多好)。 希望其他开发人员熟悉模式。 所以我的问题是使用 Stream API 进行应用程序流组织的可行性如何? 还有更多的水下岩石吗? 如果不推荐有什么替代品?

2021-09-20 18:08:34   java   java-8   pipeline

R - 将文件写入()到 SAMBA 共享(R - write() a file to a SAMBA share)

问题 我在 R 中加载了一个文件,我想将其移至 samba 共享 它就像 write(some-file, file = "|smbclient -U user //ip password") 它连接到 samba,但随后(我认为)输出在smb: \> “执行”,我不希望文件被执行,我不知道如何将文件传递到目的地put函数放入 smbclient。 编辑:这与第一篇文章不同。 第一个帖子由我解决并回答。 那里的重点是连接到 samba。 现在我已经连接到它,但是 write() 函数不会创建文件,而是单独输出单词。 我只是想知道如何让它在一个句子中创建一个文件。 回答1 我通过改变哲学找到了答案: 首先,我在本地写文件,比如 write(some-file, there) 然后我用system()函数调用smbclient,把已经写好的文件 system("smbclient -U user //ip/dir password -c \"put some-file some-file\"") 我的脚本更复杂,它在一个 Shiny 应用程序中,但总而言之,这就是解决方案

2021-09-20 18:08:29   r   file   put   SAMBA

显示所有 textarea 行而不滚动[重复](display all textarea rows without scrolling [duplicate])

问题 这个问题在这里已经有了答案: 创建具有自动调整大小的文本区域(44 个回答) 6年前关闭。 如何显示所有 textarea 行而不是垂直滚动。 我曾尝试使用 css 使用 min-height 和 max-height 和 height: auto 但不起作用。 .form-control{ width:400px; min-height: 100px; max-height: 900px; height: auto;} 我真的不知道是否可以用 css 做到这一点。 也许使用原生 javascript 是可能的,所以我正在尝试这样的事情 function expandtext(expand) { while (expand.rows > 1 && expand.scrollHeight < expand.offsetHeight) { console.log("display all rows!")> } } 我在这里找到了一些不错的东西,但它只会增加和减少行,所以如何在不使用滚动的情况下显示所有 textarea 行。 不需要固定高度的解决方案,需要一些动态的解决方案或其他仅适用于 chrome 浏览器或仅适用于像 Object.observe() 这样的 firefox 的解决方案。 演示 function expandtext(expand) { while

2021-09-20 18:08:24   javascript   html   css

“System.MissingMemberException: The server factory could not be found”启动 Microsoft.Owin 在 TeamCity 中自托管(“System.MissingMemberException: The server factory could not be located” starting Microsoft.Owin self-hosted in TeamCity)

问题 当 Teamcity 运行启动自托管 Web 应用程序的集成测试时,测试失败并显示错误: System.MissingMemberException: The server factory could not be located for the given input: Microsoft.Owin.Host.HttpListener 抛出此错误的代码是: var webApp = WebApp.Start<Startup>("http://*:52203/") 使用 Visual Studio(使用 Resharper 测试运行程序)执行时,测试运行良好。 Teamcity 配置为使用JetBrains.BuildServer.NUnitLauncher.exe可执行文件来运行测试。 我看到很多关于此错误的帖子都与因为Microsoft.Owin.Host.HttpListener.dll不存在于 bin\debug 或 bin\release 文件夹中有关。 我可以确认此文件(以及随附的 .xml 文件)都存在于 TeamCity buildAgent 使用的 bin\release 文件夹中。 不存在 bin\debug 文件夹。 回答1 我在我的 Powershell 脚本中遇到了这个问题,它迭代我们所有的解决方案并使用 MSBuild 构建它们

2021-09-20 18:08:19   .net   teamcity   owin   self-hosting

Visual Studio 2015 错误 500.19(Visual Studio 2015 Error 500.19)

问题 我在 VS 2015 中打开项目时遇到问题。在 VS 2012 和 VS 2013 中一切正常。 但是当我在 VS 2015 中启动 Web 应用程序时,我在加载 css 和 js 文件时遇到错误 500.19。 我知道,这应该是因为权限问题,所以我设置了 NETWORK、NETWORK SERVICE 和 IIS_IUSRS 来读取、写入、修改我的项目文件夹,但它没有帮助。 有人知道吗? 回答1 我终于可以应付了。 我只需要从我的 web.Config 中删除 <staticContent> <mimeMap fileExtension=".less" mimeType="text/css" /> </staticContent > 回答2 如果你想使用你的 mimeMap 而不是 IIS 上的那个,只需在添加你的配置文件之前更改你的配置文件以删除现有的: <staticContent> <remove fileExtension=".less" /> <mimeMap fileExtension=".less" mimeType="text/css" /> </staticContent >

2021-09-20 18:08:15   iis-7   visual-studio-2015

鼠标左键向上事件和 openfiledialog(Mouse left button up event and openfiledialog)

问题 我在网格中只有很少的图像,然后当我单击一个按钮时,会出现一个“打开文件对话框”。(当然,在图像上) Microsoft.Win32.OpenFileDialog dlgOpenFiles = new Microsoft.Win32.OpenFileDialog(); dlgOpenFile.DoModal(); 这些图像附加了一个 LeftButtonUp 事件。 问题是,如果我通过双击选择一个文件,打开的文件对话框将关闭(这很好),但除此之外,单击文件后面的图像正在接收一个根本不好的 LeftButtonUp 消息。 我正在使用 wpf/c#/vs2010 回答1 绕过它的简单方法是,每当您需要按钮向上事件的处理程序时,添加按钮向下事件,在其中执行CaptureMouse() 。 现在,在您的按钮事件中,您可以忽略所有事件,这些事件在没有IsMouseCaptured情况下IsMouseCaptured 。 并确保不要忘记ReleaseMouseCapture() : private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { CaptureMouse(); } private void OnMouseLeftButtonUp(object sender

2021-09-20 18:08:11   c#   wpf   mouse   openfiledialog