一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Programming Language

样式

本文档贡献者:sunnylqm(100.00%) 在 React Native 中,你并不需要学习什么特殊的语法来定义样式。我们仍然是使用 JavaScript 来写样式。所有的核心组件都接受名为style的属性。这些样式名基本上是遵循了 web 上的 CSS 的命名,只是按照 JS 的语法要求使用了驼峰命名法,例如将background-color改为backgroundColor。 style属性可以是一个普通的 JavaScript 对象。这是最简单的用法,因而在示例代码中很常见。你还可以传入一个数组——在数组中位置居后的样式对象比居前的优先级更高,这样你可以间接实现样式的继承。 实际开发中组件的样式会越来越复杂,我们建议使用StyleSheet.create来集中定义组件的样式。比如像下面这样:

常见的做法是按顺序声明和使用style属性,以借鉴 CSS 中的“层叠”做法(即后声明的属性会覆盖先声明的同名属性)。 文本的样式定义请参阅Text 组件的文档。 现在你已经了解如何调整文本样式了,下面我们要学习的是如何控制组件的尺寸。   from:https://reactnative.cn/docs/style/

龙生   09 Apr 2019
View Details

(转)基于DDD的现代ASP.NET开发框架--ABP分层架构

介绍DDD概念 Eric Evans的“Domain-Driven Design领域驱动设计”简称 DDD,它是一套综合软件系统分析和设计的面向对象建模方法,或者可称为MDD模型驱动方法的一种,区别于MDA模型驱动架构。它是一种分析设计建模方法,它倡导统一语言,提出了实体和值对象以及聚合根等概念,借助DDD我们能够在结构理清需求中领域模型。 过去系统分析和系统设计都是分离的,正如我们国家“系统分析师” 和“系统设计师” 两种职称考试一样,这样割裂的结果导致,需求分析的结果无法直接进行设计编程,而能够进行编程运行的代码却扭曲需求,导致客户运行软件后才发现很多功能不是自己想要的,而且软件不能快速跟随需求变化。 DDD则打破了这种隔阂,提出了领域模型概念,统一了分析和设计编程,使得软件能够更灵活快速跟随需求变化。 DDD是解决复杂大型软件的一套行之有效方式,在国外已经成为主流。DDD认为很多原因造成软件的复杂性,我们不可能避免这些复杂性, 能做的是对复杂的问题进行控制。而一个好的领域模型是控制复杂问题的关键。领域模型的价值在于提供一种通用的语言,使得领域专家和软件技术人员联系在一起,沟通无歧义。   前言 为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术。 为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则,将分为四个层次: 展现层(Presentation):提供一个用户界面,实现用户交互操作。 应用层(Application):进行展现层与领域层之间的协调,协调业务对象来执行特定的应用程序的任务。它不包含业务逻辑。 领域层(Domain):包括业务对象和业务规则,这是应用程序的核心层。 基础设施层(Infrastructure):提供通用技术来支持更高的层。例如基础设施层的仓储(Repository)可通过ORM来实现数据库交互。 根据实际需要,可能会有额外添加的层。例如: 分布式服务层(Distributed Service):用于公开应用程序接口供远程客户端调用。比如通过ASP.NET Web API和WCF来实现。 这些都是常见的以领域为中心的分层体系结构。不同的项目在实现上可能会有细微的差别。 ABP的体系结构 一个简单的解决方案,大致包含5个项目:  每一层可以用一个或多个程序集来实现。   领域层(Domain) 领域层就是业务层,是一个项目的核心,所有业务规则都应该在领域层实现。 实体(Entity)   实体代表业务领域的数据和操作,在实践中,通过用来映射成数据库表。 仓储(Repository)   仓储用来操作数据库进行数据存取。仓储接口在领域层定义,而仓储的实现类应该写在基础设施层。 领域服务(Domain service)   当处理的业务规则跨越两个(及以上)实体时,应该写在领域服务方法里面。 领域事件(Domain Event)   在领域层某些特定情况发生时可以触发领域事件,并且在相应地方捕获并处理它们。 工作单元(Unit of Work)   工作单元是一种设计模式,用于维护一个由已经被修改(如增加、删除和更新等)的业务对象组成的列表。它负责协调这些业务对象的持久化工作及并发问题。 应用层(Application) 应用层提供一些应用服务(Application Services)方法供展现层调用。一个应用服务方法接收一个DTO(数据传输对象)作为输入参数,使用这个输入参数执行特定的领域层操作,并根据需要可返回另一个DTO。在展现层到领域层之间,不应该接收或返回实体(Entity)对象,应该进行DTO映射。一个应用服务方法通常被认为是一个工作单元(Unit of Work)。用户输入参数的验证工作也应该在应用层实现。ABP提供了一个基础架构让我们很容易地实现输入参数有效性验证。建议使用一种像AutoMapper这样的工具来进行实体与DTO之间的映射。   基础设施层(Infrastructure) 当在领域层中为定义了仓储接口,应该在基础设施层中实现这些接口。可以使用ORM工具,例如EntityFramework或NHibernate。ABP的基类已经提供了对这两种ORM工具的支持。数据库迁移也被用于这一层。   WEB与展现层(Web & Presentation) Web层使用ASP.NET MVC和Web API来实现。可分别用于多页面应用程序(MPA)和单页面应用程序(SPA)。 在SPA中,所有资源被一次加载到客户端浏览器中(或者先只加载核心资源,其他资源懒加载),然后通过AJAX调用服务端WebApi接口获取数据,再根据数据生成HTML代码。不会整个页面刷新。现在已经有很多SPA的JS框架,例如: AngularJs、 DurandalJs、BackboneJs、EmberJs。 ABP可以使用任何类似的前端框架,但是ABP提供了一些帮助类,让我们更方便地使用AngularJs和DurandalJs。 在经典的多页面应用(MPA)中,客户端向服务器端发出请求,服务器端代码(ASP.NET MVC控制器)从数据库获得数据,并且使用Razor视图生成HTML。这些被生成后的HTML页面被发送回客户端显示。每显示一个新的页面都会整页刷新。 SPA和MPA涉及到完全不同的体系结构,也有不同的应用场景。一个管理后台适合用SPA,博客就更适合用MPA,因为它更利于被搜索引擎抓取。 SignalR是一种从服务器到客户端发送推送通知的完美工具。它能给用户提供丰富的实时的体验。 已经有很多客户端的Javascript框架或库,JQuery是其中最流行的,并且它有成千上万免费的插件。使用Bootstrap可以让我们更轻松地完成写Html和CSS的工作。 ABP也实现了根据Web API接口自动创建 Javascript的代码函数,来简化JS对Web Api的调用。还有把服务器端的菜单、语言、设置等生成到JS端。(但是在我自己的项目中,我是把这些自动生成功能关闭的,因为必要性不是很大,而这些又会比较影响性能)。 ABP会自动处理服务器端返回的异常,并以友好的界面提示用户。   其它 ABP使用Castle Windsor为整个程序框架提供依赖注入的功能。使用Log4Net日志记录组件,提供给其他各层调用以进行日志记录。   from:https://www.cnblogs.com/anny-1980/p/4535589.html

龙生   09 Apr 2019
View Details

State(状态)

我们使用两种数据来控制一个组件:props和state。props是在父组件中指定,而且一经指定,在被指定的组件的生命周期中则不再改变。 对于需要改变的数据,我们需要使用state。 一般来说,你需要在 constructor 中初始化state(译注:这是 ES6 的写法,早期的很多 ES5 的例子使用的是 getInitialState 方法来初始化 state,这一做法会逐渐被淘汰),然后在需要修改时调用setState方法。 假如我们需要制作一段不停闪烁的文字。文字内容本身在组件创建时就已经指定好了,所以文字内容应该是一个prop。而文字的显示或隐藏的状态(快速的显隐切换就产生了闪烁的效果)则是随着时间变化的,因此这一状态应该写到state中。

实际开发中,我们一般不会在定时器函数(setInterval、setTimeout 等)中来操作 state。典型的场景是在接收到服务器返回的新数据,或者在用户输入数据之后。你也可以使用一些“状态容器”比如Redux来统一管理数据流。 每次调用setState时,BlinkApp 都会重新执行 render 方法重新渲染。这里我们使用定时器来不停调用setState,于是组件就会随着时间变化不停地重新渲染。 State 的工作原理和 React.js 完全一致,所以对于处理 state 的一些更深入的细节,你可以参阅React.Component API。 译注:提示一些初学者应该牢记的要点: 一切界面变化都是状态state变化 state的修改必须通过setState()方法 this.state.likes = 100; // 这样的直接赋值修改无效! setState 是一个 merge 合并操作,只修改指定属性,不影响其他属性 setState 是异步操作,修改不会马上生效 看到这里,你可能觉得我们的例子总是千篇一律的黑色文本,太特么无聊了。那么我们一起来学习一下样式吧。   from:https://reactnative.cn/docs/state/

龙生   08 Apr 2019
View Details

Props(属性)

大多数组件在创建时就可以使用各种参数来进行定制。用于定制的这些参数就称为props(属性)。 以常见的基础组件Image为例,在创建一个图片时,可以传入一个名为source的 prop 来指定要显示的图片的地址,以及使用名为style的 prop 来控制其尺寸。

  译注:在 iOS 上使用 http 链接的图片地址可能不会显示,参见这篇说明修改。从 Android9 开始,也会默认阻止 http 请求,请参考相关配置 请注意{pic}外围有一层括号,我们需要用括号来把pic这个变量嵌入到 JSX 语句中。括号的意思是括号内部为一个 js 变量或表达式,需要执行后取值。因此我们可以把任意合法的 JavaScript 表达式通过括号嵌入到 JSX 语句中。 自定义的组件也可以使用props。通过在不同的场景使用不同的属性定制,可以尽量提高自定义组件的复用范畴。只需在render函数中引用this.props,然后按需处理即可。下面是一个例子:

  我们在Greeting组件中将name作为一个属性来定制,这样可以复用这一组件来制作各种不同的“问候语”。上面的例子把Greeting组件写在 JSX 语句中,用法和内置组件并无二致——这正是 React 体系的魅力所在——如果你想搭建一套自己的基础 UI 框架,那就放手做吧! 上面的例子出现了一样新的名为View的组件。View 常用作其他组件的容器,来帮助控制布局和样式。 仅仅使用props和基础的Text、Image以及View组件,你就已经足以编写各式各样的 UI 组件了。要学习如何动态修改你的界面,那就需要进一步学习 State(状态)的概念。   from:https://reactnative.cn/docs/props/

龙生   08 Apr 2019
View Details

iOS9 & iOS10 & iOS11 HTTP 不能正常使用的解决办法

今天升级Xcode 7.0 bata发现网络访问失败。 输出错误信息

  Google后查证,iOS9引入了新特性App Transport Security (ATS)。详情:App Transport Security (ATS) 新特性要求App内访问的网络必须使用HTTPS协议。 但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。 最终找到以下解决办法: 在Info.plist中添加NSAppTransportSecurity类型Dictionary。 在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES 看到很多同学修改后还是不能用添加一下截图: 在Filter中搜索Info.plist,选择Info.plist进行编辑 按照上面提到的方式添加信息,正确的修改会看到下图这个样子,注意类型NSAppTransportSecurity为Dictionary,NSAllowsArbitraryLoads为Boolean,复制粘贴的时候,不要多了空格,segment fault 页面上直接复制,经常会多一个出空格! 注意⚠️,单元测试下面也有一个Info.plist,修改那个文件是没有作用的! 补充说明 上面介绍的方法虽然解决了网络访问的问题,但是苹果提供的安全保障也被关闭了。 不过,按照国内的现状,关闭这个限制也许是更实际的做法。 至于原因就太多了,第三方SDK(几乎都是访问HTTP),合作伙伴接入(不能要求它们一定要支持HTTPS)。 如果你的App没有受到这些原因的限制,还是更建议你增加HTTPS支持,而不是关闭限制。 请大家根据项目的实际情况作调整。 出于安全考虑我们提倡使用HTTPS,退而求其次,优先考虑使用例外:将允许访问的域加入到配置列表中 @banxi1988 补充了配置的方法 对于实在不支持HTTPS的应该首先考虑添加例外 添加例外的方式也很简单: 左键Info.plist选择open with source code 然后添加类似如下的配置:

  根据自己需要的域名修改, NSIncludeSubdomains 顾名思义是包括子域的意思。 参考: App Transport Security support aka apps on iOS 9 don’t work #4560 711_networking_with_nsurlsession.pdf 总结: 苹果正在加大应用安全的管控,这个举措可以看出苹果对信息安全的重视,也暴露出大部分应用传输数据时都是未经过加密的,或使用私有方式加密,以至于苹果开始对开发者提出要求。 私有加密虽然一定程度上是安全的,但是终究不是一个长久之计。全世界这么多安全专家在维护HTTPS安全,早日使用HTTPS确保信息安全才是王道!也省去了私有加密协议的安全隐患!   from:https://segmentfault.com/a/1190000002933776

龙生   08 Apr 2019
View Details

搭建开发环境macOS-Android

欢迎使用 React Native!这篇文档会帮助你搭建基本的 React Native 开发环境。如果你已经搭好了环境,那么可以尝试一下编写 Hello World。 Follow these instructions if you need to build native code in your project. For example, if you are integrating React Native into an existing application, or if you "ejected" from Create React Native App, you’ll need this section. 根据你所使用的操作系统、针对的目标平台不同,具体步骤有所不同。如果想同时开发 iOS 和 Android 也没问题,你只需要先选一个平台开始,另一个平台的环境搭建只是稍有不同。 如果阅读完本文档后还碰到很多环境搭建的问题,我们建议你还可以再看看由本站提供的环境搭建视频教程(macOS iOS、macOS Android、windows Android)、windows 环境搭建文字教程、以及常见问题。注意!视频教程或者其他网络上的博客和文章可能和本文档有所出入,请以最新版本的本文档所述为准! 开发平台: macOS 目标平台: Android 安装依赖 必须安装的依赖有:Node、Watchman 和 React Native 命令行工具以及 JDK 和 Android Studio。 虽然你可以使用任何编辑器来开发应用(编写 js 代码),但你仍然必须安装 Android Studio 来获得编译 Android 应用所需的工具和环境。 Node, Watchman 我们推荐使用Homebrew来安装 Node 和 Watchman。在命令行中执行下列命令安装:

  如果你已经安装了 Node,请检查其版本是否在 […]

龙生   07 Apr 2019
View Details

搭建开发环境macOS-IOS

欢迎使用 React Native!这篇文档会帮助你搭建基本的 React Native 开发环境。如果你已经搭好了环境,那么可以尝试一下编写 Hello World。 Follow these instructions if you need to build native code in your project. For example, if you are integrating React Native into an existing application, or if you "ejected" from Create React Native App, you’ll need this section. 根据你所使用的操作系统、针对的目标平台不同,具体步骤有所不同。如果想同时开发 iOS 和 Android 也没问题,你只需要先选一个平台开始,另一个平台的环境搭建只是稍有不同。 如果阅读完本文档后还碰到很多环境搭建的问题,我们建议你还可以再看看由本站提供的环境搭建视频教程(macOS iOS、macOS Android、windows Android)、windows 环境搭建文字教程、以及常见问题。注意!视频教程或者其他网络上的博客和文章可能和本文档有所出入,请以最新版本的本文档所述为准! 开发平台: macOS 目标平台: iOS 安装依赖 必须安装的依赖有:Node、Watchman 和 React Native 命令行工具以及 Xcode。 虽然你可以使用任何编辑器来开发应用(编写 js 代码),但你仍然必须安装 Xcode 来获得编译 iOS 应用所需的工具和环境。 Node, Watchman 我们推荐使用Homebrew来安装 Node 和 Watchman。在命令行中执行下列命令安装:

如果你已经安装了 Node,请检查其版本是否在 v8.3 以上。安装完 Node 后建议设置 npm 镜像以加速后面的过程(或使用科学上网工具)。 […]

龙生   07 Apr 2019
View Details

com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor和oracle不识别

出现的错误一: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource     [applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException:     Failed to parse config resource: class path resource [mybatis-config.xml];     nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.ClassCastException:     com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:742)     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)     at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5017)     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5531)     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1263)     at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1948)     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)     at java.util.concurrent.FutureTask.run(FutureTask.java:262)     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)     at java.lang.Thread.run(Thread.java:745) Caused by: org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [mybatis-config.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.ClassCastException: com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor     at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:500)     at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:380)     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)     … 25 more Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.ClassCastException: com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor     at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:121)     at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:99)     at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:494)     … 28 more Caused by: java.lang.ClassCastException: com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor     at org.apache.ibatis.builder.xml.XMLConfigBuilder.pluginElement(XMLConfigBuilder.java:183)     at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:110)     … 30 more 十月 09, 2017 10:25:39 上午 org.apache.catalina.core.StandardContext listenerStart 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [mybatis-config.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.ClassCastException: com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:742)     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)     at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5017)     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5531)     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1263)     at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1948)     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)     at java.util.concurrent.FutureTask.run(FutureTask.java:262)     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)     at java.lang.Thread.run(Thread.java:745) Caused by: org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [mybatis-config.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.ClassCastException: com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor     at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:500)     at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:380)     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)     … 25 more Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.ClassCastException: com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor     at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:121) […]

龙生   05 Apr 2019
View Details

win2008 r2折腾php7.1记录

  00×0需要的下载地址以及当前环境 操作系统:Windows 2008 R2 – 64位 08r2-64位系统edk资源 Tips:迅雷打开 Mysql5.7 php7.0 00×1 php版本中Non-Thread-safe与Thread-safe版本选择 如果是采用IIS+ISAPI的话,就是使用TS版本。 如果是采用IIS+FastCGI的话,就使用NTS版本。 01×0 配置PHP

 

1

 

1

 

1 2 如果需要用到asp则勾选asp,如果需要用shtm需要开启在服务器端的包含文件。安装sqlserver一定要勾选 asp.net.。net扩展性。需要运行php则要安装cgi

 

1 安全权限配置: 添加好网站后,打开网站目录,新建一个index.html,然后用记事本打开,输入“hello dede”做测试。 还需要配置权限,回到IIS管理器中,在网站“localhost”上右键,点击“编辑权限”,进入后点击“安全”选项卡,再点击其中的“编辑”, 打开“编辑”窗口后点击“添加”按钮。添加一个“IUSR”到权限用户列表中,然后为其勾选除了“完全控制”之外的权限。然后点击“确定”。

 

1 2

 

1 点击编辑,更改监视对文件所做的更改,环境变量,点旁边的安装.点“添加”, Name:PHP_FCGI_MAX_REQUESTS Value:10000 确定 哦了../ “php-cgi.exe – FastCGI 进程意外退出” 的解决办法 服务器windows2008上面配置PHP时。 IIS7.0显示正常,但phpinfo.php显示不正常,出现“HTTP 错误 500.0 – Internal Server Error C:\PHPServer\PHP\php-cgi.exe – FastCGI 进程意外退出”的提示。 双击PHP目录下的文件php.exe则出现“msvcr110.dll”丢失的提示。 到Microsoft网站下载“Microsoft Visual C++ 2012 Redistributable”软件包安装,注意86及64都安装,安装好后,再双击PHP目录下的文件php.exe,则就不提示“msvcr110.dll”丢失了,一切正常。 网站测试http://localhost/phpinfo.php也出现了“PHP Version 7.1.x”版本的信息提示。说明支持PHP了。 文件下载地址: http://www.microsoft.com/zh-CN/download/details.aspx?id=30679   from:https://blog.csdn.net/pythonniu/article/details/71038365

龙生   03 Apr 2019
View Details

Unity3D

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。 外文名 unity3d 分    类 游戏引擎、游戏开发工具 开发公司 Unity Technologies 支持的维度 3D,2D 编程语言 C#(JS以及Boo已被放弃支持)   from:https://baike.baidu.com/item/Unity3D

龙生   31 Mar 2019
View Details
1 71 72 73 175