多平台移动项目开发工具Elements发布v9.1,支持Visual Studio 2017
Elements是一款多平台移动项目开发工具软件,它包含Oxygene、C#、Swift三种编程语言和相关工具,并且提供这三种语言丰富的开发经验以及最新的Fire开发环境,极大的方便开发人员开发软件项目。Fire此版本是Fire最重要的更新。性能改进Fire在许多方面都进行了精简和性能改进。代码编辑器的响应速度更快,例如,在构建过程中CPU占用低。100%的响应一直是Fire的首要目标。Fire的大部分工作都是在极低功耗的12“MacBook”Adorable“上完成的,而我们的基准是,即使是最低端的硬件,Fire也可以使用,9.1版本更是如此。互动调试控制台Fire的调试功能在许多方面得到了加强,最出色是引入了新的交互式调试控制台。当你的应用程序进入调试器时,底部控制台视图现在允许你使用调试器命令提示符与调试器进行交互。在使用LLDB的平台(如Cocoa和一些Islandtargets)上,你可以使用所有功能访问LLDB的完整命令界面;在其他平台上你会收到我们的edb提示,它提供必要的命令并将随着时间的推移而扩展。GradleR
人脸识别和语音识别智能照相机
语音识别,语义理解一站式解决之智能照相机(人脸识别,olami)如果有代码排版和图片显示问题,请访问CSDN博客。转载请注明CSDN博文地址:http://blog.csdn.net/ls0609/a...olamisdk实现了把录音或者文字转化为用户可以理解的json字符串从而实现语义理解,用户可以定义自己的语义,通过这种方式可以实现用户需要的语义理解。前面写了两篇语音识别,语义理解的博文,分别是语音在线听书和语音记帐软件,本篇是语音智能照相机。1.智能照相机的功能手机后摄像头像素比较高,如果用后设想头对准自己自拍,那么看不到屏幕的情况下怎么知道自己在不在镜头中呢?而本篇做的智能照相机就可以为您解决这个问题。想要做的是这样一个照相机app,可以语音切换摄像头,人脸识别并语音播报识别的人脸是否在屏幕中央,是偏向哪里,当人脸居中的时候,提示用户可以拍照了,用户说“拍照”,“茄子”就会自动抓拍并保存图片在手机中。抓了两张应用运行时的图片:2.eclipse中的lib目录结构如下assets下面的事tts播报的资源文件libs
Visual Studio 20年
这是一个暴露年龄的话题,如果一个程序员从第一个版本开始使用VisualStudio的话,现在应该是40多岁的中年大叔了。我的程序员生涯是从Visualbasic6.0(vb6)开始的,一晃就过去17年了,虽然我早已经不记得用vb编写的第一个程序是什么了,但此刻的我依然对vb6充满着怀旧之情,因为它为我打开了一扇程序的大门。半道入行,几乎没有什么基础,最早接触程序还是高中时代,在一个朋友的小霸王学习机上,照猫画虎敲了一堆不知所云的qbasic程序。入行后,拖拽几个控件,就可以简单编写一个程序的vb6成为我的最佳入门工具。我至今还保留着当初去电脑城买的vb6的盗版安装光盘,虽然它早就无法使用了。2000年的时候,互联网没有像如今这么发达,学习编程资料几乎都是从书店购买的编程书籍,照着书,一行行敲代码,经常忙活到深夜,现在回忆起来,那时候的我对编程充满着激情。在当年,msdn(MicrosoftDeveloperNetwork)可以说最好的开发文档,这也是VisualStudio受到热捧的一个重要原因。2002年2月微软visual
可视化编程中的几个基础概念及个人理解
纹理可将纹理简单理解一张图片。用来修改由光栅化产生的片元颜色的图像。将纹理贴到图元的过程,称为纹理映射。纹素:纹理元素,纹素从纹理内存中获得,表示的是将纹理贴到相应片元上的颜色。也就是说,纹素可简单理解为一个颜色值,根据使用环境的不同,其值(RGB情况下)有可能是(0-1)或者(0-255)。纹理单元:可简单理解为纹理的索引,一个纹理单元与一个纹理图像相互对应绑定,控制着该纹理图像的处理步骤,一个纹理单元在一个纹理通道中维护纹理的各种状态,如:滤波、环绕方式、环境、纹理坐标等。在Mipmap中,多重纹理包含一组连续的纹理单元。Mipmap在opengl或者osg中显示时,类似于数据金字塔,即:当可视化对象距离视角越近,图像像素越高,看到的图像也就越清晰,当距离视角较远时,像素质量降低。纹理采样器:在着色器中,用来从纹理采样的一种变量。关系:纹理单元的主要目的是让我们在着色器中可以使用多于一个的纹理。通过把纹理单元赋值给采样器,我们可以一次绑定多个纹理,只要我们首先激活对应的纹理单元。通过关联一个采样器变量和一个纹理单元,使用GLSL的内置函
Visual Studio2017 15.4提供预览版,面向Windows 10秋季更新(FCU)
鉴于VisualStudio15.3现已发布(一并给出了些许更新),Microsoft已将注意力转向近期宣布的VS201715.4版本。15.4目前处于预览状态,该版本所关注的是添加对即将发布的Windows10FCU(FallCreatorsUpdate)的支持,FCU已确定将在2017年秋季发布。尽管15.4预览版本现已对所有感兴趣的用户可下载,但是要使用FCU的特定特性,还需要成为Windows测试人员(Insider),并下载相应的Windows10SDK。当前VS2017的稳定版本是15.3.x,其中包括对.NETCore2的支持,但是UWP应用依然要支持.NETStandard2。在15.4版中对此加以了改进,允许针对FCU和.NETStandard2的UWP应用开发,这将提升代码重用,并简化开发人员编写支持跨多平台(Mono、Xamarin、.NETFramework、.NETCore等)的软件库。鉴于15.4当前只是预览版,应该注意的是该构建版本存在一个严重的已知问题(KnowIssue),
Vue单元测试---Karma+Mocha+Chai实践
本文基于vue-webpack-boilerplate。官方推荐使用Karma+Mocha+Chai来进行单元测试。介绍Karma:一个测试运行器,用于启动浏览器,运行测试案例并将结果报告给我们。该工具的主要作用是将项目运行在各种主流Web浏览器进行测试。Mocha:一个测试框架。可结合chai断言库使用。Chai:一个测试断言库,提供了更好的断言语法。所谓断言,就是对组件做一些操作,并预言产生的结果。如果测试结果与断言相同则测试通过。Chai断言库中,tobebeenisthatwhichandhashavewithatofsamebutdoes这些语言链是没有意义的,只是便于理解而已。BDD英文文档中文文档实践组件无依赖,无props对于无需导入任何依赖,也没有props的,直接编写测试案例即可。MyComponent.vue<template><span>{{message}}</span></template><scr
OpenCV配置
准备:使用工具:VS2015NuGet包管理工具使用NuGet包管理工具的优点:方便快捷,且不需要担心OpenCV的版本问题准备材料:随便一张图片,例如:过程:在VS中新建一个空项目,然后点击工具-NuGet工具包管理:搜索OpenCV,并将其安装到项目中:然后在源.cpp中写入测试代码:#include<iostream>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>usingnamespacecv;intmain(){//读入一张图片(游戏原画)Matimg=imread("pic.jpg");//创建一个名为"游戏原画"窗口namedWindow("游戏原画");//在窗口中显示游戏原画imshow("游戏原画",img);//等待6000ms后窗口自
Visual Studio 2017 v15.5预览版的新特性先睹为快
Microsoft延续了VisualStudio2017快速迭代开发的步伐,最新发布了15.5预览版,这是VS2017这一广受欢迎的IDE自发布以来的第五次更新,该预览版的发布使用户可以先睹为快。该预览版启用了一个称为“SteppingBack”的调试历史新特性。IntelliTrace会在整个断点的每一步上,自动对应用状态做快照,这将赋予开发人员浏览断点前后状态的能力,更易于观察在断点前后的运行效果。VisualStudio2017下载>>>此外,Microsoft还进一步改进了基于C#和VisualBasic的解决方案的加载速度。据其宣称,所有解决方案应可在10秒内至少加载一半以上。相应地,C++开发人员应能看到IntelliTrace在执行常见命令时,性能得到了显著的提升,其中包括重命名(Rename)、更改签名(ChangeSignature)和找出所有引用(FindAllReferences)等。VS201715.4的IDE为C#、VB和Python开发人员提供了一种通过“Control键+
Qt实现的局域网对战五子棋
GoBang使用Qt5.7.0完成的五子棋小软件,支持人人对战,人机对战,局域网联机对战学习Qt后的一个练手项目,完成自己曾经在命令行下的五子棋的升华^_^人机对战使用基于评分表的策略来完成电脑下子,算不上AI吧。。但是电脑的棋力还是很高的(至少我败多胜少)。这个评分表的来自onezeros的博客评估当前棋局中,哪个位置的得分最高。五子棋要赢,必然要有五个棋子在一起成线,那么我们就可以计算棋盘中每一个五格相连的线,一下称之为五元组。一般情况(包括专业五子棋)下棋盘是15*15的。那么应该是572个五元组。同时,针对五元组中黑子和白子的数量(可以不考虑相对位置)的不同,给该五元组评不同的分。然后每一个位置的得分就是包含这个位置的所有五元组的得分之和。评分表如下,是基于电脑黑棋,电脑白棋将评分表反过来即可//tupleisemptyBlank,//tuplecontainsablackchessB,//tuplecontainstwoblackchessesBB,//tupl
能让你开发效率翻倍的 VSCode 插件配置(上)
工欲善其事必先利其器,软件工程师每天打交道最多的可能就是编辑器了。入行几年来,先后折腾过的编辑器有EditPlus、UltraEdit、VisualStudio、EClipse、WebStorm、Vim、SublimeText、Atom、VSCode,现在仍高频使用的就是VSCode和Vim了。实际上我在VSCode里面安装了Vim插件,用Vim的按键模式编码,因为自从发现双手不离键盘带来的效率提升之后,就尽可能的不去摸鼠标。折腾过Atom的我,首次试用VSCode就有种Vim的轻量感,试用之后果断弃坑Atom。Atom之前,我还使用过SublimeText,但它在保存文件时会不时弹出购买授权的弹窗,实在是令人烦恼。每每上手新的编辑器,我都会根据自己的开发习惯把它调较到理想状态,加上熟悉编辑器各种特性,这个过程通常需要几周的时间。接下来,我就从外观配置、风格检查、编码效率、功能增强等4方面来侃侃怎么配置VSCode来提高工作幸福感。外观配置外观是最先考虑的部分,从配置的角度,无非是配色、图
搭建同时支持PHP和ASP.NET的Linux服务器环境
注:本文只是个人研究以及探索的方法,可能不太严谨,如果犯了什么专业性的错误,还希望各位看官加以指正,谢谢。(´・ω・`)特别感谢:阔空晴云(每次遇到什么问题都问你真是太麻烦你了膜拜)本文由赤石俊哉原创撰写,您可以用于任何的学习交流用途,不得用于任何形式的商业用途。如需转载请注明原作者的版权信息和来源。环境简述本地调试操作系统:UbuntuServerx6414.04.1LTS参考官方说明CPU资源:IntelCorei73610QM(VirtualBox仅适用一个核心)MEM资源:512MBDDR31600MHz存储资源:10Gb笔记本机械硬盘服务器端操作系统:Ubuntu14.04X86CPU资源:Intel(R)Xeon(R)CPUE31245@3.30GHz(4cores)MEM资源:524288kB(512MB)存储资源:20GBSSD想法发起HTTP请求之后,先经过Nginx,如果是PHP站点则转发到Apache2,如果是ASP.NET站点则转发到Jexus。配
ASP.NET Core 第三方登入大成功。
1.1.1参见代码https://github.com/aspnet/Sec...吐槽一下为什么要用Bower管理包而不是NPM…
B/S(Web)实时通讯解决方案
B/S的实时通讯实现起来比较麻烦,因为http协议是无状态的,导致一些实时消息通知和聊天等功能比较难以实现,本文主要简述几种自己之前常用的几种方式。1、传统的HTTP协议是无状态的传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如浏览器)主动发起,服务端进行处理后返回response结果,而服务端很难主动向客户端发送数据,多个用户进行实时的交流也比较困难,比如聊天系统。2、目前比较流量的实时通讯方式轮询条件:任何Web端客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。长轮询条件:任何Web端客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。Flashsocket条件:需要安装Flash插件在页面中内嵌入一个使用了Socket类的Flash程序JavaScript通过调用此Flash程序提供的Socket接口与服务器端的Socket接口进行通信,JavaScript
基于MemoryCache来实现的ASP.NET Web应用程序简单定时任务调度解决方案
在ASP.NETMVC中实现简单的定时任务调度有很多方式(注:这里提到的是简单的定时任务调度解决方案,复杂的定时任务调度不在本文的涉及范围),本站之前也给读者朋友们推荐了几款关于.NETWEB应用程序实现定时任务调度的组件,包括:Quartz.Net:基于ASP.NETMVCC#和Quartz.Net组件实现的定时执行任务调度FluentScheduler系列之一:推荐一个简单、轻量、功能非常强大的C#/ASP.NET定时任务执行管理器组件--FluentSchedulerFluentScheduler系列之二:简单、轻量、功能非常强大的C#/ASP.NET定时调度任务执行管理组件--FluentScheduler之实例篇今天再分享一个基于MemoryCache来实现的ASP.NETWeb应用程序定时任务调度解决方案,即用MemoryCache的CacheItemRemovedCallback回调方法来实现。先看一下核心代码:privatestaticCacheItemRemovedCallbackOnC
ASP.NET MVC - 附加类型“Model Name”的实体失败,因为相同类型的另一个实体具有相同的主键值。
执行更新操作的时候,遇到的问题。在执行更新操作有去验证数据是否存在,然后也使用了查询出的数据,做部分更新。然后就异常。。解决方法。使用AsNoTracking()解释。我们查询出的数据会被缓存system.data.entity.dbcontext中,这个对象是会被跟踪的。so,使我正在加载的对象不被跟踪,或者说不被缓存到system.data.entity.dbcontext中即可。usingSystem.Data.EntityAsNoTracking()
ASP.NET Core 2加入了Razor页面特性
最近发布的ASP.NETCore2.0,连同新发布的.NETCore2和EntityFrameworkCore2.0y,一并构成了.NETCore2.0生态中的三元组。此发布给出了多个新特性和改进,其中包括通用性能的改进、Razor页面、新的开发模板以及更好的AzureDiagnostics支持。让我们首先看一下Razor页面。Razor页面类似于标准的MVC视图,只是通过使用@Page指令标明自身为Razor页面。Microsoft现在考虑将Razor页面作为ASP.NETCore中构建Web应用UI的推荐方法,当然开发人员也可自由地选择最适合自己的方法。使用Razor页面编写的Web页面,无需经过控制器即可直接处理请求,正如在标准的ASP.NETMVC应用中那样。转向ASP.NETCore2平台的另一个好处是简化了对软件包的引用。在项目的.csproj文件中,仅需引用Microsoft.AspNetCore.All。这是一个Meta-package,它在简化了引用问题的同时,确保应用所需的所有库是可用的。而在发
.Net Performance[译]
英文版.NetPerformance作者SashaGoldshtein,DimaZurbalev,IdoFlatow目录前言关于作者关于审计员鸣谢本书介绍第一章:性能评定标准第二章:性能测试方法第三章:内部类型第四章:垃圾回收第五章:集合和泛型第六章:并发和并行第七章:网络、I/O和序列化第八章:不安全代码(unsafecode)和互通性第九章:算法优化第十章:性能模式第十一章:WebApplication性能附录本书介绍写本书的原因是我们感觉到目前没有相对权威的文字,能够覆盖到与.NetApplication性能相关到三个方面:确定应用程序的性能标准,然后测量应用程序是否符合该标准。在一些领域里面提升程序性能:内存管理、网络、I/O、并发等。充分理解CLR和.Net内部细节,设计和开发高性能的应用程序,解决因性能引起的问题。我们相信,如果软件开发者不能很好的理解这三个方面,那么就不能有很好的高性能的软件解决方案。例如.Net内存管理(由CLR垃圾收集器(GC)推进工作)是
DDD理论学习系列(13)-- 模块
1.引言Module,即模块,是指提供特定功能的相对独立的单元。提到模块,你肯定就会想到模块化设计思想,也就是功能的分解和组合。对于简单问题,可以直接构建单一模块的程序。而对于复杂问题,则可以先创建若干个较小的模块,然后将它们组装、链接在一起,从而构成复杂的软件系统。在DDD中,模块的用途也是如此,通过分解领域模型为不同的模块,以降低领域模型的复杂性,提高领域模型的可读性。2.DDD中的模块模块是一个笼统的概念,比较宽泛,为了正确发挥模块的威力,理解模块的概念就十分重要。下面我们从具体的问题着手,来尝试说明模块的概念。如何对在线商城的顾客进行建模?对于顾客来说,一般需要维护顾客的个人信息、收货地址、支付方式。这些信息是紧密相关的,不可独立存在。我们可以抽象出三个简单的聚合Customer、AddressBook和Wallet。那这些类该如何存放呢?是为每一个聚合创建一个文件夹存放还是放在同一个文件夹?我想答案不言而喻。这三个聚合就是一个模块,一个客户模块。通过定义一个Customer文件夹,来将相关
FastReport.Net 报表连接数据库
通常开发人员在学习FastReport.Net时出现的第一个问题就是:如何将数据连接到报表中?幸运的是,该报告生成器有一个直观的界面设计器。为节省您的时间,我将简单谈论一下在报表中连接数据源。接下来我将为您展示如何从用户应用程序中传递连接字符串。所以,本文分为两部分:在报表中连接数据库和将连接字符串传递到报表。在报表中连接数据库1、有2种方式将新的数据源添加到报表中:通过工具栏上“报表”选项卡图标;从“数据”窗口中的Actions下拉菜单中;让我们看一个例子。创建数据源。在打开的窗口中,选择新的连接。可以选择不同类型的连接,以连接到数据库。这里采用MSAccessconnection。进一步选择我们要工作的表单。你可以可以选择使用SQL查询的数据(没有XML数据库)。为此有一个查询生成器,你需要手动撰写需求。下一步,设置查询的参数;接下来重写列的数据类型。我选择了2张表:员工表和订单。它们有字段EmpNo绑定,要做到这一点,打开“数据”的Action菜单,选择新的关系。父表是员工,孩子表-订单。绑定EmpNo字段。我们
FastReport .Net:通过FTP发送PDF报表
FastReport.Net支持多种格式导出报表,可以通过邮件发送,同样也可以通过FTP发送。在本文中,我想将重点转移到通过FTP报表传输到服务器。值得注意的是,并非运行每个报表以及通过FTP手动执行发送都是非常方便的,要是有大量的报表需要发送到服务器又该如何呢?这个问题的解决方案:直接使用FTP连接文件管理器发送所有报表文件,所有的报表应输出到所期望的格式;使用FastReport输出和发送报表,但通过应用程序代码来实现。很明显,第二种方式在导出所需格式报表方面更节省时间,除此之外,你完全可以实现过程自动化。例如,把所有报表都放到时间表或单击按钮服务器上。我将展示一个例子,你将看到如同通过FTP从应用程序代码中发送报表一样的简单操作。创建窗体应用程序。放置窗体按钮。把库添加到使用:usingFastReport;usingFastReport.Export;usingFastReport.Utils;为按钮单击处理程序添加代码:privatevoidbutton1_Click(objectsender,EventA