技术文章

如何打造多媒体互动展厅设计?

南笙酒味 提交于 2021-02-19 17:03:35
  多媒体是多种媒体的集成,通常包括文本、声音和图像以及其他媒体形式。随着科学技术的发展,如今的 展厅设计 将以前的静态图片和文字转变为多媒体互动的方式,其展示效果也得到了企业和观众的认可。 多媒体互动 技术利用科学技术来设计一些互动活动,增加展厅的展示效果。多媒体互动展厅具有很强的互动性,它可以激发观众的参与和注意力,但是还需要以观众为起点进行设计,只有顺应观众的特点和内心,才能抓住观众的灵魂。展厅设计中展示的内容是观众所希望看到和理解的内容,观众才能与展品产生共鸣,达到公司宣传的目的,并充分发挥科技的魅力。 多媒体互动展厅 是以内容为核心,多媒体技术只是一种表现手段,它不能独立于展厅设计的内容而存在。因此,展厅设计想要深入探讨企业展厅设计的主题,只有突出的主题,才能为科技手段注入强大的生命力,提升展厅是设计效果。展厅的设计应以展示效果为目标。 企业展厅的设计符合企业的利益,多媒体互动展厅 http://www.heihuoshi.com/ 的出发点是更好地吸引用户的注意力,达到推广的目的,扩大企业的知名度和品牌效应,并通过技术整合达到直接的效应,社会效益和经济效益等方面的成功。 来源: oschina 链接: https://my.oschina.net/heihuoshi/blog/4955979

Spring AOP 浅析

余生颓废 提交于 2021-02-19 17:02:18
Spring AOP是由接入BeanPostProcessor后置处理器开始的,它是Spring IoC容器经常使用的一个特性,这个Bean后置处理器是一个监听器,可以监听容器触发的Bean声明周期时间。向容器注册后置处理器之后,向容器中管理的Bean就具备了接受IoC容器回调事件的能力。 BeanPostProcessor的使用非常简单,只需要提供一个BeanPostProcess接口的实现类 BeanPostProcessor的源码如下: public interface BeanPostProcessor { //在Bean的初始化之前提供回调入口 @Nullable default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { return bean; } //在Bean的初始化之后提供回调入口 @Nullable default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { return bean; } } BeanPostProcessor后置处理器的调用发生在Spring

ASP.NET Core如何自动生成小写的破折号路由

为君一笑 提交于 2021-02-19 17:01:43
默认情况下,ASP.NET Core使用如 >举例.NET常见路由http://localhost:5000/User/ListPages想要的效果http://localhost:5000/user/list-pages 1、如何生成小写的路由可以这样设置 services.ConfigureRouting(setupAction => { setupAction.LowercaseUrls = true;}); 2、生成带破折号并且小写的路由可以这样设置 [Route("dashboard-settings")]class DashboardSettings:Controller { public IActionResult Index() { // ... }} 似乎上面使用特性路由可以解决这个问题。但是我不想使用,因为每个action都要手动去设置,太繁琐也很容易出错。 我想要的效果是在程序中写个扩展类做到可配置处理。 3、解决方案 以下支持Asp.Net Core Version>=2.2 要做到这一点,首先创建SlugifyParameterTransformer类应该如下所示 public class SlugifyParameterTransformer : IOutboundParameterTransformer{ public string

ImportError: cannot import name DispatcherMiddleware错误

守給你的承諾、 提交于 2021-02-19 17:01:26
执行脚本错误如下: root @ubuntu123 :/opt/miniNomad# python mini_jt.py Traceback (most recent call last): File "mini_jt.py", line 8, in <module> from flask_spyne import Spyne File "/usr/local/lib/python2.7/dist-packages/flask_spyne/__init__.py", line 1, in <module> from flask_spyne import Spyne, SpyneService, SpyneController File "/usr/local/lib/python2.7/dist-packages/flask_spyne/flask_spyne.py", line 3, in <module> from werkzeug.wsgi import DispatcherMiddleware ImportError: cannot import name DispatcherMiddleware 原因: 1、没有安装werkzeug 2、werkzeug的版本为1.0.0,这个版本中没有DispatcherMiddleware方法 解决办法: 卸载werkzeug

Redmine-4.1.1 使用Thin作为Web服务器(Ubuntu 20.04.2)

↘锁芯ラ 提交于 2021-02-19 17:00:52
准备工作 按 Redmine 官方文档 Installation Guide 安装好了Redmine 4.1.1. 具体的环境见最后“ 环境信息 ” 使用webrick可以运行redmine: bundle exec rails server webrick -e production 安装thin $ sudo apt install thin $ thin -v thin 1.7.2 codename Bachmanity 配置 Redmine4.1.1 的gemfile # samxiao @ rm411 in ~/redmine-4.1.1 [12:16:42] $ vi Gemfile.local # samxiao @ rm411 in ~/redmine-4.1.1 [12:17:12] $ cat Gemfile.local gem 'thin' 运行thin作为web服务的Redmine # samxiao @ rm411 in ~/redmine-4.1.1 [12:19:41] C:127 $ bundle exec rails server thin -e production => Booting Thin => Rails 5.2.4.2 application starting in production on http://0.0.0.0:3000

C#下利用封包、拆包原理解决Socket粘包、半包问题(新手篇)

心已入冬 提交于 2021-02-19 16:53:08
C#下利用封包、拆包原理解决Socket粘包、半包问题(新手篇) 参考文章: (1)C#下利用封包、拆包原理解决Socket粘包、半包问题(新手篇) (2)https://www.cnblogs.com/sungong1987/p/5267011.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/stackoom/blog/4955947

AWS使用场景:如何选择三种实例类型?

我的未来我决定 提交于 2021-02-19 16:40:38
用户场景 某互联网公司将业务运行在AWS上,该业务采用标准的三层架构:WEB、APP、DB。 当前web和APP都运行在Amazon EC2上,数据库在Amazone RDS上。根据业务需要,目前的使用方式只会持续6个月。根据这个场景,如果选择实例,才最便宜,同时不影响业务。 方案分析 其实就是三种实例方式如何选择:按需实例、预留实例、竞价型实例 由于该业务是互联网业务,显然,竞价型实例不适合,因为竞价型实例会随时被打断,而影响业务。 按需实例是最能满足要求,但比较贵。 预留实例很难满足互联网业务的随时突发,但可以作为数据库的使用,因为数据库的量一般都是可预测的。 结论和建议 WEB和APP采用按需实例,数据库采用预留实例。 名词解释 按需实例:根据业务需要申请资源,最大资源保证,提供最稳定的资源支持,但价格最高。一般用于难以预测且不能中断的业务。 预留实例(Reserved):与按需实例对比,可以提供大幅折扣(最大可达72%),并按1年到3年的使用期进行购买。其实就是承诺一个使用量,类似于批发价。 竞价型实例(Spot):可以允许利用AWS云中未使用的EC2容量。与按需实例的价格相比,使用竞价型实例最高可以享受90%的折扣。就是可以使用暂时空闲的资源,但缺点是,别人如果需要使用的时候,就会被回收(提前2分钟收到通知),导致业务中断,所以一般来说,适合非实时性业务

Java截取字符串的方式

让人想犯罪 __ 提交于 2021-02-19 16:27:46
我的上一篇随笔记录了HANA数据现库截取字符串的方式,那么,对于Java开发来说,现实的开发里肯定也会遇到截取字符串截取的问题。 Java里截取字符串的方式的有三种。 1.使用java.lang包里的String.split()方法 split()方法里传进来一个正则,用来作为截取的标准。 例子: String str = "Shi,Wan,Ger,Wei,Shen,Mer";//以逗号","作为分隔标准,返回一个字符串类型数组String[] arr = str.split(",");//结果为:ShiString s1 = arr[0];//结果为:WanString s2 = arr[1]; 使用这种方式存在以下注意点: 1)使用这种方式来截取字符串会比较影响效率,因为编译器在解释正则表达式的时候比较费时间; 2)如果想使用"."作为分隔符,比如在"."前面加上"\\",如split("\\."),第一个\是转义,\.是正则,同理,"|"也必须这样写; 3)当字符串有多个分隔符时,可以用"|"把分隔符连接,比如 String str1 = "Shi,Wan%Ger%Wei,Shen,Mer";//返回一个字符串类型数组 String[] arr1 = str1.split(",|%");//结果为:Shi String a1 = arr1[0];//结果为:Wan

收藏从未停止!阿里Spring全栈学习宝典2021全新开源

谁说我不能喝 提交于 2021-02-19 15:15:28
Spring 5.0 我们做这行的对于Spring的学习,可以说是一直未停止。前段时间Spring5.0发布,多了很多新功能,这些新功能改变了我们使用该框架的方式。但是 很多铁汁对于Spring 5.0的新增功能并不是很了解,更别说利用这些新功能使用Spring MVC构建应用程序,使用Spring Framework构建并扩展微服务,以及如何开发和部署云应用程序了。 对于Spring,虽然大家在工作中离不开这个框架,但是在简历上却没有太多人敢写精通。如果大家想要深入学习Spring,真正成为一名Spring精通者,那么下面这份Spring全栈宝典大家可一定不要错过! 这份Spring全栈宝典演示了应用程序架构的进化过程——从单体架构到围绕微服务构建的架构。此外,还介绍来SpringBoot的高级功能,并通过强大的实例演示这些功能。 由于文档有358页篇幅限制不能全部为大家展示出来,需要的朋友帮忙点zan+zhaun发,关注我之后直接添加小助理vx:bjmsb2020 即可获取免费下载方式! Spring全栈宝典 目录总览 向Spring Framework 5.0进化&依赖注入 使用Spring MVC 构建Web应用程序 向微服务和云原生应用程序进化 使用Spring Boot构建微服务 扩展微服务 Spring Boot的高级功能 Spring Data Spring

Java 在 Word 里面添加多行水印图片

半腔热情 提交于 2021-02-19 15:13:31
Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行图片水印效果,即水印效果以多个图片平铺到页面。 思路及方法: 获取Word页眉,添加图片到页眉段落,并复制图片。 程序环境: 使用spire.doc.jar,版本3.9.0 import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.documents.TextWrappingStyle; import com.spire.doc.fields.DocPicture; //java项目源码www.fhadmin.org public class ImageWatermark { public static void main(String[] args) { //加载Word文档 Document doc=new Document(); doc.loadFromFile("input.docx"); //加载图片 DocPicture picture = new DocPicture(doc); picture.loadImage("logo.png"); picture.setTextWrappingStyle