2010-03-13 回答
最好用的转换工具----视频转换大师--超强的视频转换软件 http://china.winmpg.com/ 全面支持任意格式到手机3gp、mp4、avi、mp3,nokia,sony,ipod等格式,转换--转换步骤(其它步骤相似) http://china.winmpg.com/xbz/mp4.htm 视频转换大师(winmpg video convert)高度兼容导入rmvb和rm格式; 把各种视频格式转换成便携视频:手机3gp/mp4/ipod/psp/amv/asf/wmv/pda; 把各种视频转换成标准的dvd、svcd、vcd、mpeg、rmvb; 把各种视频格式转换成avi、xvid、divx、mjpeg、h264; 把各种视频格式转换成swf、flv、gif、mov; 从各种视频中抽取各种音频(mp3/wav/wma/ac3/ogg/mmf/aac等);及音频间互相转换; 视频转换大师(winmpg video convert)为视频格式文件转换提供了终极解决方案,它能够读取各种视频和音频文件,并且将他们快速转换为流行的媒体文件格式。拥有非常漂亮友好的界面. 它几乎涵盖了所有流行的影音多媒体文件格式, 包括avi, mpg, rm, rmvb, 3gp, mp4, amv, mpeg, mpeg1, mpeg2, mpeg4, vcd, svcd, dvd, xvid, divx, asf, wmv, swf, ipod, psp, gif, mjpeg, quicktime, mov, flv, mkv, dv以及所有的音频格式. 支持导入的媒体格式列表: · real video(.rmvb, .rm) · macromedia flash video flv (.flv) · avi(.avi) · real video (.rm) · 3gp, .mp4, ipod, psp · matroska (.
今天我们就总结下织梦几个常用的js文件功能说明吧:
1、Javascript代码
$(function(){
$("dl.tbox dt span.label a[_for]").mouseover(function(){
$(this).parents("span.label").children("a[_for]").removeClass("thisclass").parents("dl.tbox").children("dd").hide();
$(this).addClass("thisclass").blur();
$("#"+$(this).attr("_for")).show();
});
$("a[_for=uc_member]").mouseover();
});
主要用途是首页右侧的互动中心中踩踩、评论、会员三个选项的切换效果;
function CheckLogin(){
var taget_obj = document.getElementById('_userlogin');
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("{dede:global.cfg_cmspath/}/member/ajax_loginsta.php");
DedeXHTTP = null;
}
主要用途是判断会员是否登录,如果已经登录,则在互动中心的会员框里显示/member/ajax_loginsta.php登陆后的内容;
function multi(pagenum,tagid)
{
var taget_obj = document.getElementById(tagid);
var taget_obj_page = document.getElementById("page_"+tagid);
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("/plus/arcmulti.php?mtype=0&pnum="+pagenum+'&tagid='+tagid);
myajax = new DedeAjax(taget_obj_page,false,false,'','','');
myajax.SendGet2("/plus/arcmulti.php?mtype=1&pnum="+pagenum+'&tagid='+tagid);
DedeXHTTP = null;
}
主要用途是右侧的推荐内容分页,也是DedeV5.6版的新增功能(arclist标签分页);P.s:其实默认的ajax评论也是通过此种方式制作的。
function check(){
if(document.formsearch.searchtype.value=="")
document.formsearch.action="http://www.google.cn/custom"
else
document.formsearch.action="{dede:field name='phpurl'/}/search.php"
}
作用是顶部的goole搜索那,具体的含义,当我们选择的搜索类型(searchtype)为空,那么提交的目标地址就是http://www.google.cn/custom,否则就提交到站内搜索的地址/plus/search.php!
2、JS文件
/include/dedeajax2.js
引入DedeCMS 的ajax框架,作用主要是在模板中的一些特效,比如登陆后改变登陆状态、内容页顶与踩、评论列表的支持与反对等等(如果您不需要上述功能,这段代码可以删除);
服务器操作系统安装命令行 内容精选
换一换
如果默认的yum/apt/zypper源不可用,工具安装过程中会从华为开源镜像站匹配对应的镜像文件,并给出下载地址。如果没有匹配到,请自行获取对应操作系统版本的镜像文件,镜像文件名称请参见鲲鹏开发套件兼容性查询助手。openEuler、EulerOS、CentOS 7.6及以上版本操作系统默认开启SELinux强制模式,会导致工具安装失败
当云服务器密码即将过期、密码泄露或首次登录时(首次登录云服务器建议您修改初始密码),您可以参考本节操作在操作系统内部修改弹性云服务器密码。优先推荐您参考在控制台重置云服务器密码,在控制台重置实例的登录密码。可以登录弹性云服务器。弹性云服务器的密码规则如表1所示。远程登录Windows弹性云服务器。登录方法请参见Windows云服务器云主机
服务器操作系统安装命令行 相关内容
如果默认的yum/apt/zypper源不可用,工具安装过程中会从华为开源镜像站匹配对应的镜像文件,并给出下载地址。如果没有匹配到,请自行获取对应操作系统版本的镜像文件,镜像文件名称请参见鲲鹏开发套件兼容性查询助手。openEuler、EulerOS、CentOS 7.6及以上版本操作系统默认开启SELinux强制模式,会导致工具安装失败
Atlas 800 训练服务器(型号 9000)安装上架、服务器基础参数配置、安装操作系统等操作请参见《Atlas 800 训练服务器 用户指南 (型号9000, 风冷)》或《Atlas 800 训练服务器 用户指南 (型号9000, 液冷)》。Atlas 800 训练服务器(型号 9000)适配操作系统如表1所示。请参考表2下载驱动和固
服务器操作系统安装命令行 更多内容
用户启用应用备份前,需先在本地服务器或虚拟机上更改安全组和安装客户端。本章节指导用户下载并安装客户端。目前仅支持64位操作系统的主机,暂不支持32位操作系统的主机。登录管理控制台。单击管理控制台左上角的,选择区域和项目。选择“存储 > 云备份 > 应用备份 > 客户端”。参数说明:http://xxx.myhuaweicloud.com/
针对不同操作系统,obsutil的下载地址如表1所示。obsutil版本修订记录信息:ChangeLog。在不同操作系统,下载obsutil的方式也有所不同,下载后无需安装,即可开始使用。Windows操作系统在浏览器中打开表格中对应的下载地址将obsutil工具下载至本地。下载完成后,将其解压至指定文件夹。在解压后的文件夹中双击运行ob
Atlas 800 训练服务器(型号 9010)安装上架、服务器基础参数配置、安装操作系统等操作请参见《Atlas 800 训练服务器 用户指南 (型号9010)》。Atlas 800 训练服务器(型号 9010)适配操作系统如表1所示。请参考表2下载驱动和固件包。Atlas 800 训练服务器(型号 9010)软件包名称软件包说明获取方
华为认证openEuler操作系统工程师(HCIA-openEuler)培养与认证具备企业数据中心核心操作系统基础操作与管理能力的工程师。通过学习认证掌握openEuler用户管理、网络管理、权限管理、存储管理、软件管理、服务管理,shell基础知识,Samba服务器搭建及使用。
来自:其他
GPU加速型云服务器,需要安装Tesla驱动和CUDA工具包以实现计算加速功能。使用公共镜像创建的计算加速型(P系列)实例默认已安装特定版本的Tesla驱动。使用私有镜像创建的GPU加速型云服务器,需在创建完成后安装Tesla驱动,否则无法实现计算加速功能。本节操作介绍GPU云服务器安装Tesla驱动及CUDA工具包的操作步骤。云服务器已
鲲鹏性能分析工具安装脚本的命令格式如下,参数说明如表1所示。./install.sh [-i | -r | -u] [-a | -j | -s] [-d=install path] -ip=web server IP [-p=web server port] [-mip=mallumadIP] [-mp=mallumad port] [-
function fun_page(){
var url="${root}/book/page"; 获取一个地址
var data={"index":index,"size":size,"step":step}; 以键值对封装分页的参数:第几页,显示的行数,起始页
$.getJSON(url,data,function(result){ 到该地址(路由)去
$(result.items).each(function(){
var row=$(' '); row.append('
'+this.bid+''); row.append('
'+this.btitle+''); row.append('
'+this.bauthor+''); row.append('
'+this.bpublic+''); row.append('
修改'+ '删除
'); row.appendTo($("#tblbook tbody"));
});
@ResponseBody
@RequestMapping(value="/book/page",method=RequestMethod.GET,
produces={"application/json;charset=utf-8"})
public String method1(@RequestParam(name="index",defaultValue="1")int index, 从封装的data里面获取
@RequestParam(name="size",defaultValue="1")int size,
@RequestParam(name="step",defaultValue="1")int step){
String json=JSONObject.toJSONString(bookService.getBookList(index, size, step, "")); 去数据库里面查询,以json的形式返回
return json;
}
$(result.items).each(function(){ //这个items是分页实体类里的一个当前页数据List
var row=$(' '); //然后一个个的赋值到html桌面 row.append('
'+this.bid+''); row.append('
'+this.btitle+''); row.append('
'+this.bauthor+''); row.append('
'+this.bpublic+''); row.append('
修改'+ '删除
'); row.appendTo($("#tblbook tbody"
本文实例为大家分享了laypage.js分页插件的使用方法,供大家参考,具体内容如下
1、引用依赖
a.layui.js
b.layui.css
c.laypage.js
2、HTML代码部分
3、js代码部分
$(function(){
//加载菜单列表数据
menuPageData();
});
function menuPageData() {
//以下将以jquery.ajax为例,演示一个异步分页
$.getJSON('../../menu/page/1', {
rows : 10 //每页显示的数据条数
},
function (res) { //从第1页开始请求。返回的json格式可以任意定义
laypage({
cont: 'page-nav', //容器。值支持id名、原生dom对象,jquery对象。【如该容器为】:
pages: res.pageCount, //通过后台拿到的总页数
curr: 1, //初始化当前页
skin: '#5a98de',//皮肤颜色
groups: 5, //连续显示分页数
skip: true, //是否开启跳页
count:res.total, //数据总数
limit: 10, //每页显示的条数。laypage将会借助 count 和 limit 计算出分页数
limits:[10, 20, 30, 40, 50], //每页条数的选择项。如果 layout 参数开启了 limit,则会出现每页条数的select选择框
first: '首页', //若不显示,设置false即可
last: '尾页', //若不显示,设置false即可
prev: '上一页', //若不显示,设置false即可
我想实现自动提示文本box.I已经检查了其他职位似乎没有任何要工作我,我无论是在Web应用程序试图与website.Please在我的代码计算outthe错误英寸当我在文本框中键入字母时,什么都不会发生。我可以在浏览器中看到webservice结果。自动提示使用AJAX
delete.aspx
Inherits="WebApplication2.Delete" %>
Assembly="AjaxControlToolkit"%>
Untitled Page EnablePartialRendering="true"
runat="server">
TargetControlID="myTextBox"
ServiceMethod="Information"
ServicePath="~/WebService1.asmx"
OnClientItemOut="Information"
MinimumPrefixLength="1"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="5"
ShowOnlyCurrentWordInCompletionListItem="true">
webservice1.asmx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace WebApplication2
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class WebService1 : System.Web.Services.WebService
{
[System.Web.Services.WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string[]Information(string prefixText)
{
RDFEntities db = new RDFEntities();
var allrows = from s1 in db.
vue.js获取ajax参数 内容精选
换一换
获取标签所有技术栈您可以在API Explorer中调试该接口。GET /v2/stacks状态码: 200状态码: 403状态码: 404状态码: 406状态码: 500获取标签所有技术栈状态码: 200OK请参见错误码。
Widget代码中需预置的内容说明如下。SITE_ROOT_PATH:获取站点URL地址的根路径假如某个页面的URL地址为“https://10.10.10.1:12900/magno/render/cool__app_0000000000NABzEjpNIH/page1”,则使用SITE_ROOT_PATH获取的根路径为“/magno/
vue.js获取ajax参数 相关内容
开放管理为用户提供了嵌入多块大屏到第三方应用的统一密钥,避免了用户在新增、删除大屏时需要维护单个大屏和密钥的对应关系。使用AppKey集成大屏到第三方应用之前,大屏必须处于发布状态,并且在大屏发布时已开启了Token验证。在第三方系统中集成DLV大屏时,大屏的URL地址要携带应用的AppKey和密钥。DLV大屏和组合大屏均可以集成到第三方
FGS.Function用于创建函数工作流服务的函数资源。无
vue.js获取ajax参数 更多内容
华为云运营管理员在云客服完成鉴权接口相关配置。https://servicestage.besclouds.com/service-cloud/webclient/chat_client/js/thirdPartyClient.js?&t=1595993533588参数说明参数名是否必填说明$ContextPathM1中请求地址的可变部分
华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。
获取依赖包列表。您可以在API Explorer中调试该接口。GET /v2/{project_id}/fgs/dependencies无状态码: 200状态码: 200ok请参见错误码。
建议使用Node.js 12.13版本。Node.js 6.10函数定义Node.js6.10 函数的接口定义如下所示。export.handler = function(event, context, callback)入口函数名(handler):入口函数名称, 需和函数执行入口处用户自定义的入口函数名称一致。执行事件(event):
已注册华为云,并完成实名认证。并已开通视频点播服务。已获取projectID,具体请参见获取项目ID。已获取点播的终端节点Endpoint,具体请参见地区和终端节点。已获取临时AK、SK和securityToken,上传SDK只支持临时AK、SK和securityToken进行签名鉴权。为了避免永久AK和SK暴露在请求中,不支持使用永久A
使用JavaScript语言调用APP认证的API时,您需要先获取SDK,然后新建工程,最后参考API调用示例调用API。JavaScript SDK支持Node.js和浏览器两种运行环境。本章节以IntelliJ IDEA 2018.3.5版本、搭建Node.js开发环境为例介绍。已获取API的域名、请求url、请求方法、集成应用的Ke
使用JavaScript语言调用APP认证的API时,您需要先获取SDK,然后新建工程,最后参考API调用示例调用API。本章节以IntelliJ IDEA 2018.3.5版本、搭建Node.js开发环境为例介绍。已获取API的域名、请求url、请求方法、AppKey和AppSecret等信息,具体参见认证前准备。获取并安装Nodejs
使用JavaScript语言调用APP认证的API时,您需要先获取SDK,然后新建工程,最后参考API调用示例调用API。JavaScript SDK支持Node.js、浏览器、微信小程序等运行环境。关于开发环境搭建,本章节以IntelliJ IDEA 2018.3.5版本、搭建Node.js环境为例。浏览器与微信小程序等,只提供代码示例
如果您擅长编写JS代码,您可以不使用事件编排器中的内置动作,直接通过手动编写JS代码实现事件的逻辑功能;系统支持在手动编写JS代码时,进行代码联想提示;系统封装了一些常用功能的接口,并将其中典型接口做成模板,您可以直接拖动相关模板至代码编辑区域,直接使用。当代码较多时,您可单击代码编辑区域右上侧的,最大化代码编辑页面。
新建检查任务但是不执行。您可以在API Explorer中调试该接口。POST /v2/{project_id}/task状态码: 200状态码: 200Request succeeded!状态码: 400Bad Request状态码: 401Unauthorized请参见错误码。
设置FunctionGraph函数的加密配置和环境变量,无需对代码进行任何更改,可以将设置动态参数传递到函数代码和库,如图1所示。例如Node.js语言加密配置和环境变量的值(value)可以通过Context类中的getUserData(string key)获取,详细请参见Node.js函数开发指南。其他语言的环境变量的值(value
For what it is worth, I have used a PHP proxy file that accepts an object as a post -- I will post it here. It works by providing class name, method name, parameters (as an array) and the return type. This is limited as well to only execute classes specified and a limited set of content types to return.
// =======================================================================
$allowedClasses = array("lnk","objects"); // allowed classes here
为了活跃游戏气氛,满足玩家需求,让广大玩家可以体验更精彩的洪门世界,9377《剑灵洪门崛起》将于2018年4月16日对部分区服进行合服操作,合服期间玩家不能登录游戏,请各位玩家知晓并相互转告,感谢大家的支持!服务器开放时间会根据维护操作完成时间提前或者延迟开启,不便之处敬请体谅!
详细合区安排如下:
合区时间:2018年4月16日22:00-24:00
参与合区:
第1组合服区域:s1-s2区
第2组合服区域:s3-4区
合服规则:
一、帐号处理
1、删除帐号
1)角色等级 ≤ 50级
2)角色充值点券 = 0(有领取充值返还点券的角色不会被视为0)
3)未登录游戏天数 ≥30天
以上3个条件同时满足时,该角色信息删除,但不影响帐号。
2、同名处理
如果数据互通区有重名玩家,区服号将直接显示在角色名前方。
3、门派同名
如果数据互通区有重名门派,区服将直接显示在门派前方。
二、数据整合
1、所有排行榜数据重新排列;
2、试炼之路/门派Boss/比武场1v1本服排行榜数据将会重新排列;
3、门派战数据清空;
4、数据互通后浮游岛影响说明:在数据互通完成当天,所有区服在浮游岛匹配中关联到涉及数据互通的区服时,都可能会出现当天无法参与浮游岛的情况,这些受到影响的区服所有开启浮游岛功能的角色将收到补偿。
5、数据互通后,浮游岛战绩将以最靠前区服的战绩为准;
6、邮件数据可能将被删除,请及时领取邮件附件奖励。
三、登录方式
数据互通后,玩家依旧从原区服入口登录。
四、狂欢活动(数据互通后开启)
9377《剑灵洪门崛起》运营团队
2018年4月16日
Ubuntu 21.04系统安装 + Nvidia RTX3080 Ti 显卡驱动安装+驱动安装后重启黑屏解决+cuda+pytorch深度学习环境搭建 前言
因为要做论文的实验,实验室新购置了3080TI,配置ubuntu深度学习环境,因为在安装3080TI的显卡驱动上遇到很多次问题,便做一个经验分享
1. Ubuntu 21.04 系统安装 1.1 准备系统盘 在ubuntu 官网下载官方镜像 (21.04 河马系统)
使用 Rufus 制作系统盘
尝试了18.04、20.04系统,能装系统,但和新卡3080TI驱动兼容的不是很好,遂考虑21.04,终于是成功了,可用去做跑实验了
1.2 安装流程 安装系统时选择其他选项,手动地分配各项空间,默认主动分区,不用设为逻辑分区
因为我是双硬盘:1T固态硬盘+4T机械硬盘,空间就比较自由
固态硬盘:
名称分配大小类型备注EFI200MB自动确定如果电脑时单系统,一定要配置;双系统则无需配置。/204800MBExt4系统盘大小, 200GB 为佳。 因此一些系统软件会在这里安装,e.g., CUDA, apt-get install 等。自动确定65536MB交换空间一般和电脑内存一样大,64GB 为佳。/home剩下所有内存Ext4相当与Windows C: 盘了。 一些用户软件会在这里安装,e.g., anaconda 及其环境, pycharm 等机械硬盘:
名称分配大小类型备注/home/data4T(全部机械硬盘)EXT4data也可以起别的名字 安装完毕后,重启并移除U盘。 如进入系统则安装完成。
2. 显卡驱动安装 (RTX 3080 Ti) 2.1 下载驱动程序 下载nvidia驱动程序,RTX 3080 Ti 下载的是 470 版本
将 该 .run file 拷贝到 /home 下, 以方便获取并安装 2.2 Ubuntu 系统环境准备 安装必要的依赖
Javascript中大多数的框架如 jquery(jquery ui、jquery easyui)、Mootools 等,在发出 Ajax 请求时,都会发送额外的 HTTP_X_REQUESTED_WITH 头部信息,所以每当发送一个ajax请求你就能够在服务器端侦测到是 Ajax 请求; php
一、经过传递_GET参数的方法简单实现网页请求的判断。
url上这么传递:*******.php?ajax
php这么判断: html
if(isset($_GET['ajax'])){
...这是一个ajax请求,而后...
}
else{
...这不是一个ajax请求,而后...
}
这种实现方法不好劲,至关容易容易容易伪造。判断和不判断没有任何区别。
因此又出来一种自认为很科学的处理方式,这种方式确实有必定的学习价值。
二、经过PHP获取预约义变量中的XMLHttpRequest判读。 jquery
首先你必须使用jquery或Js发送ajax请求,经过jquery发送的$.ajax, $.get or $.post方法请求网页内容时,它会向服务器传递一个HTTP_X_REQUESTED_WITH的参数,这个参数的值是XMLHttpRequest。
代码: ajax
beforeSend : function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("X_Requested_With","XMLHttpRequest");
};
参数名X_Requested_With,参数值XMLHttpRequest,你能够任意定义。Php取得时候要在参数名前面加上大写的http字样(即一个“HTTP_”前缀)而后“X_Requested_With”这个变量所有大写(必定要大写),而后再$_SERVER这个超级变量中找就能够了。 浏览器
代码: 服务器
/**
* 判断是否Ajax请求
*/
function is_ajax_request(){
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
return true;
}
else
{
return false;
}
} 若是你的jquery请求是经过iframe打开网页的,那么HTTP_X_REQUESTED_WITH参数不会被传递,也就是说你没有办法判断请求的类型。
IE5,IE6老版本的浏览器中$.ajax, $.get or $.post方法不会自动发送HTTP_X_REQUESTED_WITH的参数到头部信息,所以PHP中也是没法获取参数进行判断。除非你本身构造XMLHttpRequest对象出来,而后再发送给php脚本,至关于用最原始的Js实现ajax功能。但这样的话jquery框架原本封装好的ajax就失去意义了。 session
在对实际应用过程中,ADC的采集大多是多个通道同时采集的,比如同时采集多个传感器的数据,就可能需要我们配置多个通道的ADC采集了,而多通道的ADC采集大多用到了DMA,笼统的讲通过DMA来传输数据不经过CPU,可以有效的为CPU减负,我们在使用时只需要通过CPU完成相应的初始化,而传输本身呢,是由DMA来进行的,而对于采集到的不同通道的数据我们只需要将其放入指定的数组便可以获得到不同通道具体的数据了。
DMA通道配置过程:
1、在DMA_CPARx寄存器中设置外设寄存起的地址,发生外设数据请求时,这个地址将是数据传输的源或目标。
2、在DMA_CMARx寄存器中设置数据存储寄存器的地址,发生外设数据请求时,传输的数据将从这个地址读出或写入这个地址。
3、在DMA_CNDTRx寄存器中设置要传输的数据量。在每个数据传输后,这个数值递减。
4、在DMA_CCRx寄存器的PL[1:0]位中设置优先级。
5、在DMA_CCRx寄存器中设置数据传输的方向、循环模式、外设和存储器的增量模式、外设和存储器的数据宽度、传输一半产生中断,或
传输完成产生中断。
6、设置DMA_CCRx寄存器的ENABLE位,启动该通道。
具体的配置过程我们通过代码来 展示
首先定义一个数组以便我们存放数据,数组大小按照实际需求即可。
u16 ADC_convered[2]={0,0}; 然后是io口的初始化(我这儿把ADC的时钟也直接使能了) static void ADC_GPIO_CONFIG(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1 , ENABLE ); //使能 ADC1通道时钟 //PA1 作为模拟通道输入引脚 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;//初始化两个GPIO GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //模拟输入引脚 GPIO_Init(GPIOA, &GPIO_InitStructure); } 再接下来便是重头戏了——DMA和ADC的初始化(有些部分是需要配置多个通道的)
static void ADC_MODE_CONFIG_(void) { DMA_InitTypeDef DMA_InitInstructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE); DMA_DeInit(DMA1_Channel1);//复位 DMA_InitInstructure.DMA_PeripheralBaseAddr =(u32)(&(ADC1->DR));//配置外设的基址,取adc 数据寄存器的地址 DMA_InitInstructure.DMA_MemoryBaseAddr = (u32)ADC_convered;//把DMA的数据存入数组 DMA_InitInstructure.DMA_DIR = DMA_DIR_PeripheralSRC;//外设到DMA DMA_InitInstructure.DMA_BufferSize = 2;//2个通道 DMA_InitInstructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;// DMA_InitInstructure.DMA_MemoryInc = DMA_MemoryInc_Enable; DMA_InitInstructure.
医院信息系统机房与布线
2017 版
尚邦治
:2017r09
医院信息系统机房与布线
?基础设施是建设信息系统的一个重要组成部 分。
€基础设施是支撑医院应用信息系统运行的网 络、软件、硬件、机房环境及管理流程、制 度、人员等的总和。
€机房和网络是基础设施的一部分。
机房建设
机房建设
右机房是信息系统的核心之一,它的性能、稳定性直 接影像信息系统运行状态。
右机房定义:中心机房、楼层机房和设备间(以下统 称机房)是放置各种硬件设备的场所,特别是中心 机房存有关键设备,其内部设施和环境的安全直接 影响到设备的稳定运行和寿命,而且维护点较多, 需要给予特殊、充分的重视。
右医院目前主要存在三大类机房:中心机房、楼层机 房、其他设备间。
右大型医院还有可能将中心机房分为:数据中心、网 络中心和管理(运行)中心,但在建设规格上还应 按照这三类机房来设计。
&按照《数据中心设计规范》(GB50174 - 2017 )规定:
?机房组成:主机房、辅助区、支持区、行政管理区。
右主机房:主要用于数据处理设备安装和运行的建筑空 间,包括服务器机房、网络机房、存储机房等功能区 域。
右目前,一般医院没有第二主机房,但是,随着医院的 发展,设备的更新换代,第二主机房的规划、设计、 建设将提到日程上。
务辅助区:用于电子信息设备和软件的安装、调试、 维护、运行监控和管理的场所,包括进线间、测试 机房、总控中心、消防和安防控制室、拆包区、备 件库、打印室、维修室等区域。
?支持区:为主机房、辅助区提供动力支持和安全保 障的区域,包括变配电室、柴油发电机房、电池室 、空调机房、动力站房、不间断电源系统用房、消 防设施用房等。
?辅助区和支持区的面积之和可为主机房面积的1. 5倍 ?2. 5倍。
右行政管理区:用于日常行政管理及客户对托管设 备进行管理的场所,包括工作人员办公室、门厅 、值班室、盥洗室、更衣间和用户工作室等。
b硬件及软件人员办公室等有人长期工作的房间,
使用面积可按5nf/人?7nf/人计算。
机房建设内容
机房建设内容:
设备耗电量估算;
配电柜:市点配电柜、UPS输入配电柜、UPS输出配电柜
UPS: UPS容量计算,UPS选型、UPS安装;
机房地线;防雷设施;
空调:空调、新风机组;
环境监控系统;
布线系统;
KVM系统
照明系统;
消防系统
安防系统、门禁系统
机房地面/墙面装修。
要求:在ajax发送请求时,呈现获取数据的一个loading界面,但数据请求成功时loading界面消失。
//html
//css
.loadingcontainer{
width: 100%;
height: 100%;
background-color: rgba(255,255,255,.4);
position: fixed;
z-index: 300;
top:0;
}
@media only screen and (max-width: 350px){
.a_conts p{font-size: 10px;}
.a_conts h2{font-size: 12px;}
}
@-webkit-keyframes leftRight {
0% {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
100% {
-webkit-transform: translate3d(150%, 0, 0);
transform: translate3d(150%, 0, 0);
}
}
@keyframes leftRight {
0% {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
原文地址::https://www.cnblogs.com/ybqjymy/p/13254287.html
相关文章
1、Qchart 中清空绘图----https://blog.csdn.net/fsfsfsdfsdfdr/article/details/84628610
最近使用Qchart画图也是要画疯的节奏,最近又碰到了疑难杂症,在网chart汇入线条后,想把他们清除掉,结果发现怎么也清除不了,
在别的博客上说用这样的函数,
1 m_series1->clear(); 2 m_scatseries1->clear(); 然而结果却是变成下面这个样子:
内心很狂躁,后来仔细研究了下QLineSeries类的append和replace这个两个函数,
为什么会出现上面得我问题,其实是画图的时候将数据点使用append方法进行绘图,这个函数实际上在之前线条的基础上添加数据,因此就会发现出现直勾勾的回拉线,使用clear方式也无法将数据删除,但是当我使用了replace方法后, 这个方法就是讲之前绘画的点读出来然后将添加的点加到pointf数组中,然后重新绘画折线图。
其实简单的理解为就是使用append方式是有时间先后顺序的,最后添加的点会与上一个点连接,但你想绘画的线在你上一个点的左边的时候,就会有回拉线的出现,实际上我们只希望这些点能连贯的连接起来,所以显然这样不合适了,因此使用replace方式。就像下面这种:
1 QVector<QPointF> Points = m_series0->pointsVector(); 2 QVector<QPointF> Points2 = m_series0->pointsVector(); 3 int i; 4 for(i = 0;i< len-8 ;i++) 5 { 6 Points[i] = Points2[i+1]; 7 } 8 Points[i]=QPointF(t.toMSecsSinceEpoch(),data.real); 加入新点 9 viewtool->m_series0->replace(Points); //利用replace函数更新数据 当你想清空所有线条时可以将
QVector<QPointF> points 清空然后replace
1 QVector<QPointF> points ;//清空然后replace 2 m_SplineSeries->replace(points); //利用replace函数更新数据
企业微信是很多小伙伴在日常工作中都会使用到的一款办公软件,它可以有效的提高团队的交流效率,让大家的办公更加简单高效,不少小伙伴都会在软件中设置多位管理员来协助自己管理企业,提高企业的管理效率促进企业发展,但是还是有些小伙伴还不清楚企业微信该怎么添加管理员,所以今天小编就为大家带来了软件添加管理员的方法,感兴趣的小伙伴一起来看看吧。
类别:聊天工具 大小:199.76M 语言:简体中文
评分:8
1、登录企业微信的后台。在后台界面,点击页面上方的“我的企业”选项。
2、点击进入后,选择左侧的“权限管理”。
3、点击后可以看到相关的企业微信管理员,点击管理员界面的“+”号图标。
4、进入选择页面中的“添加”选项,选择添加的管理员。
5、在企业的搜索框内,输入需要添加管理员的人员名字,进行搜索,然后选择后点击“确定”。
6、然后,为选择的管理员分配相关的管理权限,点击保存即可。
以上就是小编带来的软件添加管理员方法了,还不清楚怎么做的小伙伴只需要按照文章的步骤进行,就可以轻松设置管理员了,以上就是文章的全部内容了,希望能够帮助到大家。
我正在尝试创建文件共享程序。到目前为止,连接和文件传输部分都被照顾到了。但我目前在如何正确接收和保存文件时遇到问题。基于TCP Socket的文件传输:正确接收和保存文件
我可以成功接收文件当且仅当我将在服务器端指定它的名称和扩展名。现在我的问题是,如何检索文件的名称和扩展名,以便我可以在服务器上成功接收文件?我的意思是,我不想每次收到文件时都指定一个名称。这可能吗?我正在考虑通过另一个网络流发送文件名,但我想有更好的方法来做到这一点。
在此先感谢!
下面是错误的屏幕截图。
服务器端代码
While True
Dim c As TcpClient = server.AcceptTcpClient
Dim s As NetworkStream = c.GetStream
FileOpen(1, filePath, OpenMode.Binary)
Dim buffer(1024 - 1) As Byte
Do While True
Dim bytesRead As Integer = s.Read(buffer, 0, buffer.Length)
If bytesRead = 0 Then Exit Do
FilePut(1, buffer)
Loop
FileClose(1)
s.Close()
c.Close()
End While
客户端代码
Dim nstm As Stream = cli.GetStream()
Dim fstm As Stream = New FileStream(filePath, FileMode.
这一次我们来使用ajax来实际做一个登陆的例子那么我们之前有一篇文章叫做《人事系统收获之MVC+EasyUI+EF
》中我提到过我说的项目所以我们要基于这个架构来进行学习的,那么我们主要对客户端进行讲解
HTML代码:
ajax代码:
//调用js登陆方法验证用户名,和密码 如果通过,条页面!
function login() {
//获取用户名和密码
var userid = $("#username").val();
var password = $("#password").val();
//验证用户名不为空
if (userid == "" || null ) {
$.messager.alert("提示", "请输入用户名", "info");
return;
}
//验证密码不为空
else if (password == "" || null) {
$.messager.alert("提示", "请输密码", "info");
return;
} else {
//验证通过,调用LoginController中的confirmation()方法,去B层验证密码是否正确
$.ajax({
url: "/Login/confirmation",
data: { userid: userid, password: password }, //传入的数据
type: "POST", //返回的类型
dataType: 'text',
success: function (data) { //接收返回的数据 判断 成功则跳页面,失败则返回
AJAX+JSP实现基于WEB的文件上传的进度控制.doc
1.引言
2.实现代码
2.1.服务器端代码
2.1.1. 文件上传状态类(FileUploadStatus)
2.1.2. 文件上传状态侦听类(FileUploadListener)
2.1.3. 后台服务类(BackGroundService)
2.1.4. 文件上传状态控制类(BeanControler)
2.2. 客户端代码
2.2.1. AjaxWrapper.js
2.2.2. fileUpload.html
2.2.3. result.jsp
2.2.4. fileUpload.css
2.3. 配置文件
3. 结语 ?1.?引言
基于浏览器的文件上传,特别是对于通过标签来实现上传的情况, 存在着严重的性能问题,因为用户提交了文件之后,在浏览器把文件上传到服务器的过程中,界面看上去似乎是静止的,如果是小文件还好些,如果不幸需要上传的是几兆、几十兆甚至上百兆的文件,我相信那是一种非常痛苦的体验,我们中间的很多人应该都有过此种不堪的经历。(一笑)
现在我就针对这个问题给出一个解决方案,我们将实现一个具有监控能力的WEB上传的程序——它不仅把文件上传到服务器,而且"实时地"监视文件上传的实际过程。
解决方案的基本思路是这样的:
在Form提交上传文件同时,使用AJAX周期性地从Servlet轮询上传状态信息
然后,根据此信息更新进度条和相关文字,及时反映文件传输状态
如果用户取消上传操作,则进行相应的现场清理工作:删除已经上传的文件,在Form提交页面中显示相关信息
如果上传完毕,显示已经上传的文件内容(或链接)
在介绍源代码之前,我们先来看看程序运行界面:
?2.?实现代码
实现代码想当然的有服务器端代码和客户端代码(呵呵),我们先从服务器端开始。
?2.1.?服务器端代码
??2.1.1.?文件上传状态类(FileUploadStatus)
使用FileUploadStatus这个类记录文件上传状态,并将其作为服务器端与web客户端之间通信的媒介,通过对这个类对象提供上传状态作为服务器回应发送给web客户端, web客户端使用JavaScript获得文件上传状态。源代码如下:
/**
* 本例程演示了通过Web上传文件过程中的进度显示。您可以对本例程进行任何修改和使用。
* 如果需要转载本例程,请您注明作者。
*
* 作者: 刘作晨
* EMail:liuzuochen@
*/
package liuzuochen.sample.upload;
import java.util.*;
public class FileUploadStatus {
//上传用户地址
private String uploadAddr;
//上传总量
private long uploadTotalSize = 0;
这种类型的提交, 必须配合 multipartResolver,
$("button:submit").click(function(){
$.ajax({
type :‘POST‘,
url :‘${sys_config.root_path}/login.html‘,
cache:false,
processData:false,
contentType:false,
data :new FormData($(‘#login_form‘)[0]),
dataType :"json"}).done(function(data) {if(data.success) {
//...}
});return false;
});
需要在Spring配置文件中使用, 没有这个的话, request中的parametersMap是空的
在dependency中要添加commons-fileupload.
在Controller中, 使用正常的方式即可
@RequestMapping(value = {"/login"}, method = RequestMethod.POST, produces="application/json;charset=UTF-8")
@ResponseBodypublicString doLoginPost()
{
Map params =getRequest().getParameterMap();
..}
另外在Spring的配置中还需要注意添加 content-negotiation-manager, 没有这个的话, 使用produces="application/json"会出406错误. 其中关键的一个参数是favorPathExtension, 这个必须为false, 另外ignoreAcceptHeader这个参数不能加, 加上也会导致406.
json=application/json
xml=application/xml
对于普通的提交, 使用这种方式即可, 不需要multipartResolver
$("button:submit").click(function(){
$.ajax({
type :‘POST‘,
url :‘${sys_config.root_path}/login.html‘,
cache:false,
data : $(‘#login_form‘).serialize(),//new FormData($(‘#login_form‘)[0]),
dataType : "
我的Select2 3.4.5无法使用JSON数据。
这是我在HTML上的输入框:
…还有我的JavaScript
$(".itemSearch").select2({
placeholder: "Search for an Item",
minimumInputLength: 2,
ajax: {
url: "/api/productSearch",
dataType: 'json',
quietMillis: 100,
data: function (term, page) {
return {
option: term
};
},
results: function (data, page) {
var more = (page * 10) < data.total;
return {
results: data.itemName,
more: more
};
}
},
formatResult: function (data, term) {
return data;
},
formatSelection: function (data) {
return data;
},
dropdownCssClass: "
最近迷上了ESXI,打算组装一台二手服务器虚拟化软路由和NAS。于是在闲鱼上低价淘了一套配件,超微X8SIL-F主板1156针内置IPMI,至强处理器低功耗L3426,HP P410阵列卡。
超微X8SIL-F板载网卡是
2x Intel® 82574L Gigabit Ethernet Controllers
Supports 10BASE-T, 100BASE-TX, and 1000BASE-T, RJ45 output
很幸运,ESXI安装程序默认识别到了P410和X8SIL的板载网卡,但是出现了下面的问题,折腾了好久才解决:
1.主机只安装了ESXI,还没有进行任何设置,也没有安装任何系统/软路由
2.使用板载网卡上传Windows镜像到ESXI,ESXI大约在10秒钟断开失联,两个板载网口均出现这个问题,
一直不知道什么原因,为此还更换了好几个ESXI版本,还以为是阵列卡不兼容;
3.无意中切换到PCI-E的一张博通的4口千兆网卡之后,没有再次发生这个问题,速度正常。。。。。。
今天把家里两张intel 82580 I340 T4插上并使用之后,再次出现这个问题。
今天,尝试在另外一台超微X7SBI-LN4上安装EXSI6.5发现ESXI6.5上传文件正常,不会出现这个问题,进入ESXI中发现网卡驱动是E1000E;而进入X8SIL-F的ESXI6.5中发现网卡驱动是NE1000;仔细在https://vibsdepot.v-front.de/wiki/index.php/Net-e1000e 中查阅,发现这两个网卡的驱动程序都应该为E1000E;所以认定网卡的驱动程序错误导致此问题的出现。
SSH进入ESXI主机,执行下列命令卸载NE1000
esxcli software vib remove -n ne1000
reboot
发现系统已经自动安装上了网卡正确的驱动程序E1000E
至此问题解决。
用C语言输出平行四边形图案 程序分析:首先需要输出平行四边形前面的空格,可以将其看为一个等腰直角三角形进行输出(循环结束条件为行号等于列号)
#include<stdio.h> #include<math.h> #include<stdlib.h> int main() { int i, j; for (i = 0; i < 5 ; i++) { for (j = 0; j <= i; j++) { printf(" ");//打印前面的空格 } printf("* * * * *\n"); } system("pause"); return 0; } 调试结果:
《文华财经 软件特色功能介绍修改》由会员分享,可在线阅读,更多相关《文华财经 软件特色功能介绍修改(67页珍藏版)》请在人人文库网上搜索。
1、文华财经文华财经 研究部研究部 赢顺(赢顺(WH6)使用技巧介绍)使用技巧介绍 赢顺(赢顺(WH6)下单功能介绍)下单功能介绍 使用使用 技巧技巧 登录软件登录软件 常用窗口基本操作常用窗口基本操作 行情模块使用技巧行情模块使用技巧 下单下单 方法方法 三键下单使用技巧三键下单使用技巧 画线下单使用技巧画线下单使用技巧 炒单热键使用技巧炒单热键使用技巧 止损单的使用止损单的使用 条件单的使用条件单的使用 下单页面下单页面 使用使用 技巧技巧 登录软件登录软件 常用窗口基本操作常用窗口基本操作 行情模块使用技巧行情模块使用技巧 登录登录 测速 选择延时时间 最短(ping值 最小) 动态备份 支。
2、持交易+行情 同时登录 使用使用 技巧技巧 登录软件登录软件 常用窗口基本操作常用窗口基本操作 行情模块使用技巧行情模块使用技巧 报价列表报价列表 1 3 4 56 2 1工具条工具条 2报价抬头报价抬头 3二级书签二级书签 4一级书签一级书签 5关注报价关注报价 6新闻滚动新闻滚动 条条 1、查找不同市场的报价列表、查找不同市场的报价列表 方法一:方法一:工具条工具条行情下拉行情下拉 菜单菜单选择相应市场的报价选择相应市场的报价 列表列表 方法二:一级书签查找市场方法二:一级书签查找市场 二级书签查找详细分类二级书签查找详细分类 2、报价列表新增抬头域、报价列表新增抬头域 60秒速涨=(最新。
3、价(最新价-前前5分钟或分钟或3分钟最新价)分钟最新价)/前前5分钟或分钟或3分钟分钟 最新价最新价 沉淀资金=持仓持仓*最新价最新价*单位手数单位手数*保证金比例保证金比例 资金流向=(持仓持仓*收盘价收盘价 (持仓持仓-日增仓日增仓)*昨收昨收)*每手手数每手手数 * 保保 证金比例证金比例 (股票的资金流向含义计算:服务器计算。 该股的今日成交额-昨日成交额) 投机度=成交量成交量/持仓量持仓量 3、添加预警合约、添加预警合约 声音提示声音提示 窗口提示窗口提示 分时走势图分时走势图 回车回车 1 2 3 4 5 1股指期货价格分时走势线 2均价线 3股指现货价格分时走势线 4多空能量红。
ZED-F9P/F9K开发板 MH16-F9千寻位置 RTK北斗GPS模块/ZED-F9P/F9K开发板 u-blox宣布推出首款基于u-blox F9技术的高精度GNSS模块 2018年4月26日,中国北京——全球定位及无线通信技术领先供应商u-blox公司(SIX:UBXN)近日宣布推出集成多频段实时动态(RTK)技术的ZED-F9P多频段GNSS模块,该模块可用于机器控制、地面机器人车辆和高精度无人机(UAV)应用。ZED-F9P的尺寸仅为22 x 17 x 2.4 mm,采用最新推出的u-blox F9平台的技术,可在数秒内提供稳定的高精度定位功能。
u-blox ZED-F9P是首款大众市场多频段接收器,可同时从四个GNSS星座接收信号(GPS、GLONASS、伽利略、北斗)。通过接收来自多个频段(L1 / L2 / L5)的GNSS信号并结合RTK技术,ZED-F9P可在数秒内达到厘米级精度,并能在任何给定的时间内接收更多的卫星信号,即使在诸如城市等复杂的环境中,也可以实现厘米级的精度。
凭借极高的更新频率,ZED-F9P是无人机等高动态应用的理想之选。其芯片上集成有先进的多频段RTK算法,无需额外的硬件或第三方RTK库;而且该模块即装即用、易于集成,能够使产品开发人员快速地将自身创意应用于市场之中。
ZED-F9P完全扫除了厘米级定位精度系统打入大众市场应用的三大主要障碍:成本、尺寸和功耗。ZED-F9P比现有解决方案体积更小、能效更高;而且作为颇具成本效益的替代产品,ZED-F9P将为大众市场带来全新的高精度定位应用。
“新型ZED-F9P GNSS接收器是基于我们的NEO-M8P高精度GNSS模块研发的,但它能够利用所有可用的GNSS信号,全面提升设备性能。”u-blox产品中心定位部门高级主管产品管理MårtenStröm表示,“通过使稳健且经济的高精度定位技术更易于使用,我们希望能够推动创新并实现新一代高精度GNSS导航应用。
TDA4 德州仪器(TI)Jacinto 7 处理器平台包含两款汽车级芯片:TDA4VM 处理器和 DRA829V 处理器,前者应用于 ADAS,后者应用于网关系统,以及加速数据密集型任务的专用加速器,如计算机视觉和深度学习。此外,这两款处理器包含支持功能安全的微控制器(MCU),使得汽车厂商(OEM)和一级供应商能够用单芯片同时支持 ASIL-D 高安全要求的任务和功能。
确保汽车要具有更灵敏的感知能力
在智能汽车上,感知系统好比汽车的眼睛、耳朵、神经系统,伴随汽车自动驾驶程度越高,对汽车的感知能力要求越高,ADAS 技术可以帮助汽车适应周围的环境。在联网汽车中,随时采集大量信息,需要汽车处理器快速有效地对其进行管理,同时功耗不能太高。针对功耗问题,Sameer Wasson 解释,“TDA4VM 处理器仅使用 5 到 20W 的功率执行高性能 ADAS 运算,无需主动冷却。
NV AGX 和TI的TDA4平台 先来比较下一些基本的参数吧!
产品CPU主频算力NV AGX Xavier自研 Carmel x 81,100 (可调整)30 TOPSNV AGX OrinCortex-A78AE (Hercules) x 122,000+(猜的)200 TOPSTI Jacinto™7 TDA4VMCortex-A72 x 21,8008 TOPS 从CPU架构及主频来看,TDA4 介于 NV AGX的 Xavier 及 Orin 之间;但算力肯定比不上精于GPU的英伟达,毕竟 TI 是比较擅长的是 DSP 领域。
一点点补充,因为自己python基础知识用到的时候总要百度,索性自己总结下:
1.pandas 数据框选取数据
df_1[:3] #数据框前三行 df_1 = df.iloc[0:10000,0:3] #选取数据前多少行,前多少列;如果只需要多少列,[:,0:3] 2.将数据框中的数据替换为0
data.replace(np.NaN,0) data['a'].replace(1,0) 3.pandas改变列顺序
原始数据框:
data_1:
cols = list(data_1) cols.insert(0, cols.pop(cols.index('Name'))) #这里0,表示插入第一列 data_1 = data_1.loc[:, cols] data_1 运行代码,更改列顺序:
4.pandas 合并数据框
纵向合并
df1.append(df2) 横向合并
new_data = pd.concat([df_1,df_2,df_3],axis=1,ignore_index=False) #按照索引合并 #内连接,外连接,通过哪个字段连接,需要自行判断 new_data = pd.merge(df_1,df_2,how = 'inner',on = 'id') 5.pandas删除重复数据
data.drop_duplicates(subset = ['id']) 6.pandas 输出字段中前两位
data['new_id'] = data['id'].apply(lambda x: x[:2]) 7.pandas 改变字段类型
data['kk'] = data['kk'].astype(dtype = 'str) 8.pandas 根据某个字段来统计另一个字段的数据量
data['stay'].groupby(data['gender']).value_counts() 9.pandas 改变数据框索引
data.set_index('id',drop = True) #drop表示去除原来的索引 10.
题目描述
两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。
输入
无
输出
3000以内的全部亲密数(输出格式:(A,B),不加换行,不加分隔符号)
一对亲密数只输出一次, 小的在前
样例输入
无 样例输出
(220,284)(1184,1210)(2620,2924) #include<stdio.h> int main() { int a, b, c; for (a = 200; a < 3000; a++) { b = 0; for (int i = 1; i <= a / 2; i++) if (a % i == 0) b += i; c = 0; for (int j = 1; j <= b / 2; j++) if (b % j == 0) c += j; if (a == c && a < b) printf("
简单文字说明:
先还原数据库
修改Account 下的
AccountServer.ini
sql_ip = 127.0.0.1
sql_port = 3306
sql_account = sa 数据库用户名
sql_password = 123456 密码
//
sql_inout_ip = 127.0.0.1
sql_inout_port = 3306
sql_inout_account = sa数据库用户名
sql_inout_password = 123456密码
server_ini_dir = D:\sgserver\SolData 服务端路径
修改 DataBase
DBServer.ini
server_ini_dir = D:\sgserver\SolData
修改 LONGIN
LoginServer.ini
Version = 7.0.2.7 修改为:Version = 7.5.0.0
server_ini_dir = D:\sgServer\SolData 修改成你的服务器路径
[GM_IP]
check_gm_player = 1 ; 1 = GM 角色登入IP非认可的话无法登入
ip = 127.0.0.1 填你的登陆IP 上线就是GM
// JavaScript Document
jQuery.extend({
createUploadIframe:function(id,uri)
{
//create frame
varframeId='jUploadFrame'+id;
if(window.ActiveXObject)//var io = document.createElement('');
(jQuery.browser.version=="9.0"||jQuery"10.0"){
vario=document.createElement('iframe');
io.id=frameId;
io.name;
}else"6.0""7.0""8.0"'');
(typeofuri=='boolean'){
io.src'javascript:false';
}
'string'=uri}
else{
);
io;
io}
io.style.position'absolute'.top'-1000px'.left;
document.body.appendChild(io);
returnio},
createUploadFormfileElementIddata//create form
varformId'jUploadForm';
varfileId'jUploadFile'varform=jQuery'
'varoldElement'#'+fileElementId); varnewElement(oldElement).clone();
jQuery).attr'id'fileId);
jQuery).before(newElement).appendTo(form);
//add data
(data{
forvariindata{
$'
}
varrequestDone=false;
// Create the request object
varxml={};
){
jQuery"ajaxSend"[xml]);
}
varuploadCallback(isTimeout){
// Wait for a response to come back
.getElementById(frameIdtry.contentWindow){
xml.responseText=io.document?io.innerHTML:null;
xml.responseXMLXMLDocument:io.contentDocumentcatch(e.handleErrorxmle(xml||isTimeout"timeout"){
requestDonetruevarstatustry{
status=isTimeout!="timeout"?"success":"error"// Make sure that the request was successful or notmodified
从客户端调用后台静态方法
1.Ajax Library方式
C#代码:
[WebMethod]
public static DateTime GetCurrentTime(string str)
{
return DateTime.Now;
}
JS代码:
function GetCurrentTime1() {
PageMethods.GetCurrentTime('NewEgg ajax training', CheckIsSuccess);
}
function CheckIsSuccess(result) {
alert(result);
}
说明:
C#方法必须加 "[WebMethod]"
前台页面必须使用引用 服务器控件
调用方法: PageMethods.后台方法名(参数[,参数....], 成功后调用的方法名);
Ajax Library
2. jQuery方式 C#代码:
[WebMethod]
public static string ABC(string ABC)
{
return ABC;
}
JS代码:
$().ready(
function() {
$("#AjaxDemo").click(function() {
$.ajax({
type: "POST",
url: "Default.aspx/ABC",
data: "{'ABC':'test'}",
contentType: "application/json; charset=utf-8",
success: function(msg) {alert(msg); }
【实例简介】
jdicom的使用 虽然是英文但是全能看懂放心
Getting started
Installation
http://www.tiani.com/udicom/instalL/
Windows including a JVM
Linux including a JVM
Java Installation
I] install th s application on a Winco eg syster
ave irs: all. exe in a temporary dirEc ory cn our system as a hinary file. Important: To download a binary file and save it under the
ct rae, you usually hat'e to rignt cl ch on " he flt
彐nd
from the popup menu
4 个答案:
答案 0 :(得分:3)
您想为链接设置ajax。要求:
为链接编写处理程序。
当有人点击某个链接(重定向到该页面)时,我们必须取消浏览器的默认行为。
删除从服务器收到的旧数据ajax并使#ajax-wrap保持新鲜。
通过ajax加载远程页面并将其设置为#ajax-wrap。
现在将其滑下来。
醇>
// Document Ready
$(function () {
// attaching click handler to links
$("a.home-right").click(function (e) {
// cancel the default behaviour
e.preventDefault();
// get the address of the link
var href = $(this).attr('href');
// getting the desired element for working with it later
var $wrap = $('#ajax-wrap');
$wrap
// removing old data
.html('')
// slide it up
.slideUp()
有时候我们在有段时间未使用arcgis时会碰到许可停止,但用许可管理器却启动起不来的情况。
单纯的点击启动的话,其实并不能启动许可,且程序会未响应。这个时候我们可以打开任务管理器,在服务中看一下许可情况。在服务的详细信息里面如果有显示启动类型为自动(延迟启动),就将该项设置为自动或者手动,然后重启电脑即可解决。
Docker 简介与安装 1. 简介 1.1 基本概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。
1.2 实现方式 Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)、Cgroup 等技术。
在 LXC 的基础上,Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。
1.3 Docker 和传统虚拟化方式的不同 容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件的基础上,虚拟出自己的系统,再在系统上部署相关的 APP 应用。
传统虚拟化方案:
Docker虚拟化方案:
Docker 虚拟化有三个概念需要理解:镜像、容器、仓库。
镜像:docker 的镜像其实就是模板,跟我们常见的 ISO 镜像类似,是一个样板。
容器:使用镜像所创建的应用或者系统,我们称之为一个容器。
仓库:仓库是存放镜像的地方,分为公开仓库(Public)和私有仓库(Private)两种形式。
1.4 Docker 虚拟化特点 操作启动快
运行时的性能可以获取极大提升,管理操作(启动,停止,开始,重启等等)都是以秒或毫秒为单位的。
轻量级虚拟化
你会拥有足够的『操作系统』,仅需添加或减小镜像即可。在一台服务器上可以布署几百个 Containers 容器。但是传统虚拟化,你虚拟 20 个虚拟机就不错了。
开源免费
开源的,免费的,低成本的。由现代 Linux 内核支持并驱动。轻量的 Container 必定可以在一个物理机上开启更多“容器”,注定比 VMs 要便宜。
2. 在 CentOS 上安装 Docker 以下 CentOS 的版本是 8 。另外,以下命令默认以 root 进行操作。
1、问题阐述 \qquad 使用C++ ADO连接MySQL时,在调用ADO函数GetRecordCount时总是返回-1,不能返回正确的记录数量。
2、问题解决 \qquad 使用静态的游标,在连接语句之前添加下述语句:其中m_pConn是连接指针。
m_pConn->CursorLocation = adUseClient; //游标类型 THE END
如何使用windows bat脚本命令一键启动MySQL服务
发布时间:2021-03-20 14:14:37
来源:亿速云
阅读:87
作者:小新
这篇文章主要介绍如何使用windows bat脚本命令一键启动MySQL服务,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!@echo off
rem Copyright (c) 2019 Moses and/or its affiliates.
rem Get Administrator Rights
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
rem start
如下所示:
import Vue from 'vue'
let service = {
url: 'http://host.xxxxx.com/xxx.php'
}
service.ajaxReuqest = (url, options, type, fileFlag) => {
for (const i in options) {
if (!options[i] && options[i] !== 0 && (options[i].length && options[i].length > 0)) {
delete options[i]
}
}
let promise = new Promise((resolve, reject) => {
if (fileFlag) {
Vue.axios.post(url, options, {
headers: {
'Content-Type': 'multipart/form-data'
}
}).then((res) => {
resolve(res)
})
} else if (type === 'GET') {
这篇文章主要给大家介绍了关于如何利用Ajax检测用户名是否被占用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
适合人群:Ajax和jQuery入门
采用Ajax实现用户名验证
使用jQuery给出提示信息
用户注册的时候,使用Ajax实现检测用户名是否已经被注册过,很多细节没有实现,给大家做个简单普及。
pageEncoding="utf-8"%>
用户注册页面 var xmlHttp;
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
}
}
function validate(account){
createXMLHttpRequest();
xmlHttp.open("Get","ValidateServlet?account="+account,true);
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
}
function callback(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var text = xmlHttp.responseText;
if(text=="true"){
//document.getElementById("msg").innerHTML = "该手机号已经被注册过";
$("#msg").text("该手机号已经被注册");
$("#sub").attr("disabled","true");//添加disabled属性,让按钮不可用
}else{
//document.getElementById("msg").innerHTML = "";
$("#msg").text("");
$("#sub").removeAttr("disabled");//移除disabled属性,让按钮可用
}
}else{
alert("请求失败,错误码="+xmlHttp.status);
}
}
}
function checkInfo(){
var account = $("#account").val();
var pwd1 = $("#pwd1").val();
概述
很多地方都存在以Tab页来呈现数据的方式,比如网易、新浪、搜狐、QQ等知名的门户网站的首页,还有大家熟知的博客园首页,都是用了tab页来显示数据。大家之所以喜欢用Tab,因为它能大大的增加显示数据的空间,能在固定的空间中显示更多的数据。分页也是为了方便数据的显示,在应用系统中必不可少。这篇文章使用Jquery在ASP.NET MVC中使用Tab页,以及在Tab页中实现异步无刷新的分页功能。估计这个大家都会用得到的。
在ASP.NET MVC中实现分页,在之前的一篇博文:ASP.NET MVC2右键菜单和简单分页中已经实现了。实现的方式很简单,在table下面加上一段...的html就行了。
先介绍一个Jquery插件:Tab,可以到http://jqueryui.com/download上下载。看下它自带一个例子的截图:
效果图:
实现
按照它的Demo,在ASP.net mvc项目中引入js和css,以及Jquery。我在ASP.net MVC的母板页中引入这些文件:
引入之后,参考它的Demo在MVC项目中View中使用Tab。 可以看到比tab自带的demo多来了一个getContentTab函数。他有两个参数,用于表示你要显示
哪个tab页的第几页数据。这里默认加载的时候,显示tabs-Shoes的第一页数据。
$(document).ready(function() {
$("#tabs").tabs();
getContentTab('Shoes', 1);
});
ShoesElectronicsFood
ajax所包含的技术(The technology that ajax contains)
ajax所包含的技术(The technology that ajax contains)
The technologies contained in AJAX
As you all know, AJAX is not a new technology, but a combination of several existing technologies. It is made up of the following techniques.
1. use CSS and XHTML to represent.
2. use the DOM model to interactively and dynamically display.
3. use XMLHttpRequest to communicate asynchronously with the server.
4. use JavaScript to bind and call.
情景比如: 一个load数据的按钮,因为网络比较慢或其他原因,用户一直狂点这个按钮,就会发出N多ajax请求出去。因为网络延迟,多个ajax返回的回调处理函数可能会交叉影响,造成意料外的结果。
其中一种方式是,对按钮的点击做限制,某个时间段内不允许重复点击,但是治标不治本,网络差的时候,也会发生意外状况。
这里想到的是一个目前还相对简单的处理方式,使用jQuery的jQuery ajaxPrefilter方法做预处理。普通ajax请求同理也是可以处理的。代码如下:
/* ajax请求预前过滤器 */
$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
var args = originalOptions;
var _url = args.url || location.href;
var data = args.data || {};
//参数名+url做唯一判定
var xhrId = [_url];
for(var key in data) {
xhrId.push(key);
};
xhrId = xhrId.join('');
var cacheXhr = window[xhrId];
if(cacheXhr && cacheXhr.readyState != 4) {
cacheXhr.abort();
};
window[xhrId] = jqXHR;
})
前言
微信小程序提供了网络请求方法,但是用起来不太方便,就自己封装了下。
封装源码
// 引用封装的API
import API from './_api.js'
export default {
/**
* fetch是封装的请求方法
* 参数:
* url: 接口地址
* data: 参数
* method: 请求方式
* success: 成功后调用的方法
* fail: 失败后调用的方法
*/
fetch (url, data, method, success, fail) {
// 请求之前的任务 (loading等)
const accessToken = wx.getStorageSync('userInfo');
wx.request({
url: url,
data: data,
header: {
'content-type': 'application/json; charset=UTF-8',
'Authorization': accessToken.sessionid // 用户token 信息
},
method: method,
success: function (res) {
摘要:
随着企业规模的不断扩大,随之带来的是企业网络拓扑结构的日益复杂,这就给企业网络中应用服务器的性能数据监测带来了极大的难度。在此情况之下,原本单纯依靠网络管理员手动管理的应用服务器管理方式已经无法满足当前要求,因此当前有必要对应用服务器进行开发与研究。一款成熟的应用服务器数据监控系统能够有效地实现对应用服务器的性能监控,满足当前复杂企业网络运行的要求。 本文对应用服务器数据监控系统的相关理论进行了研究,并设计并实现一种应用服务器数据监控系统。在本课题所设计的系统中,首先完成对应用服务器的性能数据的采集工作。此后,被采集的数据被存放至系统的数据库中,形成监测系统的历史数据。在之后,对于数据库中的性能数据进行相关分析处理,并且当应用服务器存在性能瓶颈时能够及时向管理员发送报警信息。通过所接收到的告警信息,网络管理人员能够及时有效地对应用服务器所存在的缺陷问题进行处理。首先对应用服务器性能监测的相关基础知识及其关键技术进行了介绍,随后对所设计系统的各个模块分别进行需求分析与详细的设计与实现工作。本课题所设计的应用服务器数据监控系统的主要功能模块被分为六个模块。服务器数据管理模块完成对应用服务器性能数据的采集与管理。服务器数据分析模块完成对所采集数据的数据分析工作。服务器数据显示模块为管理人员提供一个人机交互的窗口,便于对性能数据进行实时监控。告警数据模块与告警分析模块实现对服务器缺陷的及时告警,并对告警数据进行相关的分析。系统工具模块则完成对系统的设置管理。最后对所设计的系统平台进行仿真实验,证实当前系统平台能够实现对应用服务器性能的监测。同时,当对所设计系统进行故障测试时,系统能够及时向管理员发送报警信息,使管理员能够及时处理,从而保障所监测应用服务器的正常运行。
展开
普通类和抽象类区别 1.抽象类和普通类都可以被继承,也可以发生向上转型,动态绑定;
2.抽象类不能被实例化
3.抽象类就是用来继承的
4.抽象类中可以有普通方法
5.抽象类不能被private修饰
6.如果一个抽象类继承了一个抽象类,可以不重写抽象方法,但是如果这个抽象类被一个普通类继承,一定要在普通类中重写抽象方法
7.抽象类不能被final修饰
抽象类和接口的区别 1.抽象类是功能不完整的类,而接口是抽象方法声明和静态不能被修改的集合,从某种意义上将接口是特殊的抽象类
2.接口使用关键字interface来修饰,接口方法默认public abstract;
3.抽象类不能被实例化,接口也不能被实例化;
4.抽象类和接口的直接关系是implements,此时接口的所有方法被重写
5.一个类可以实现多个接口,但只能继承一个类
6.抽象类和接口都可以实现向上转型,动态绑定
7.类和接口是implements,而接口与接口之间是extends;
内部类 1.静态内部类:
相当于外部类的静态成员,隶属于外部类,使用static修饰,不能访问外部非静态方法,使用时相当于一个独立的静态类。
2.实例内部类:
相当于外部类的普通方法,隶属于于外部类的具体对象,当定义时,要先创建外部类的实例,在创建内部类的实例。
3.局部内部类:
定义在方法的方法体中,只是短暂使用,只能使用final和abstract修饰,只能访问final修饰的局部变量。
4.匿名内部类:
定义在方法体中,没有具体的名字,具有较大的灵活性。
文 | 花小花Posy
小伙伴们,好久不见呀,小花又回来了!
最近关注对比学习,所以ACL21的论文列表出来后,小花就搜罗了一波,好奇NLPers们都用对比学习干了什么?都是怎么用的呀?效果怎样呀?
接收列表中有21篇论文题目包含了关键词“contrastive”。下图是题目的词云,其中最显著的是使用对比学习去学习表示或者帮助语义理解,还有机翻、摘要、关系抽取。
小花选择了10篇有意思的论文跟大家分享,方向包括句子表示[1-3],自然语言理解[4-6], 生成式摘要[7],意图检测[8],多模态理解[9], 机器翻译[10]。当然还有其它的,比如用于事件抽取[12]、QA[13]等等,大家感兴趣可以自行补充!
为了大家快速get到跟对比学习最相关的部分,主要涉及论文中哪里用了对比,对比的对象是谁。
对比学习最重要的原料就是正例和负例的对比,以及在不同的应用场景下应该如何构造合理的正例和负例,如何设计对比损失函数。正负例的构造,可以分为利用显式的数据增强方式构造正负例[3-5,8-10],或者通过在语义空间/模型层面采样/生成正负例[1-2,6]。从对比损失函数的使用上来讲,可以分为与原始的MLM损失加和一起进行joint训练[1,5,10],或者进行pipeline训练[7-8]。
下面有请今天的主角们登场,大家开心食用!
从BERT中提取出句子向量的easy模式,想必大家都超熟了,使用[CLS]的表示或者使用不同的pooling操作。但这就够了嘛?当然不够!
从预训练语言模型中提取出句子表示的最优方法是什么,仍是研究者们在不断探索的问题。除了之前推送过的强者SimCSE以外,下面前三篇的主题都是如何利用对比学习去学习到更好的句子/文本片段表示。
[1] 自我引导的对比学习(一个BERT不够,那就两个) Self-Guided Contrastive Learning for BERT Sentence Representations
https://arxiv.org/pdf/2106.07345.pdf
来自首尔大学,讨论的问题是如何在不引入外部资源或者显示的数据增强的情况下,利用BERT自身的信息去进行对比,从而获得更高质量的句子表示?
文中对比的是:BERT的中间层表示和最后的CLS的表示。模型包含两个BERT,一个BERT的参数是固定的,用于计算中间层的表示,其计算分两步:(1) 使用MAX-pooling获取每一层的句子向量表示 (2)使用均匀采样的方式从N层中采样一个表示;另一个BERT是要fine-tune的,用于计算句子CLS的表示。同一个句子的通过两个BERT获得两个表示,从而形成正例,负例则是另一个句子的中间层的表示或者最后的CLS的表示。
文中还对比了不同负例组合的方式,最后发现只保留CLS的表示 和隐藏层的表示 之间的对比,忽略CLS和CLS以及中间层和中间层之间的对比是最优的,即保留(1)(3)。
这篇论文没有选择直接从底层数据增强角度出发,是稍微偏模型方法的改进的,侧重挖掘模型内部的信息。主实验是在STS和SentEval任务上测试的,从结果来看的话,仍然是SimCSE要好很多,而且SimCSE操作起来是更简单的。不过本文也是提供了一个不一样的思路。
[2] 花式数据增强 ConSERT: A Contrastive Framework for Self-Supervised Sentence Representation Transfer
https://arxiv.org/pdf/2105.11741.pdf
来自北邮的工作,也是研究如何在无监督的模式下,学习更好的句子表示。该工作主要对比了使用4种不同的数据增强方式进行对比对句子表示的作用。
模型是在STS任务上进行评估的。和SimCSE一样也用了NLI做监督,整体性能比SimCSE低1-2个点。
[3] 无监督文本表示 DeCLUTR: Deep Contrastive Learning for Unsupervised Textual Representations
https://arxiv.org/pdf/2006.03659.pdf
DeCLUTR来自多伦多大学,是NLP领域使用对比学习中较早的一篇,去年6月份就放到arxiv上面了。
文章研究的问题同样是:如何利对比学习从大量无标注数据学习更好的通用句子表示?文中的对比体现在两个方面:
对比来自不同文档的文本片段(span)的语义。如果两个文本片段(span)来自同一个文档,那么他们的语义表示的距离应该相对较近,否则距离远;
对比来自同一文档的文本span。当两个文本片段都来自同一个文档,如果他们在文档中的位置距离比较近,他们的语义表示距离近,否则远。
在采样正例的时候有些讲究。具体来讲是先从一个文档中采样N(>=1)个原始文本片段 (锚点span),然后从每个锚点span周围采样,作为正例 span。采样规则是正例span可以与锚点span交叠、相邻、从属。负例是从一个batch中随机采样得到的。对比学习的损失函数是InfoNCE。模型整体的损失函数是InfoNCE和MLM的加和。
实验是在SenEval benchmark(28个数据集)上进行测试的,包含有/半监督任务和无监督任务。有/半监督任务的baseline有InferSent,Universal Sentence Encoder和Sentence Transformers;无监督任务的baseline有QuickThoughts。最显著的实验结果是DeCLUTR在大部分的数据集上取得了SOTA,并且在无监督任务上取得了和有监督任务相当的结果。
AI训练与推理芯片
训练芯片
1.1.云燧T20
基于邃思2.0芯片打造的面向数据中心的第二代人工智能训练加速卡,具有模型覆盖面广、性能强、软件生态开放等特点,可支持多种人工智能训练场景。同时具备灵活的可扩展性,提供业界领先的人工智能算力集群方案。
高密的计算芯片
57.5mm × 57.5mm超大封装尺寸提供高密的澎湃人工智能算力。
强劲的单精算力
最高达40TFLOPS(FP32)、160TFLOPS(TF32)的单精度算力。
先进的堆叠存储
基于HBM2E存储方案,最高可支持64GB容量,1.8TB/s带宽。
灵活的算力扩展
300GB/s的独立片间互联通道提供灵活的多芯片算力扩展方案。
邃思2.0芯片基于人工智能领域专用处理器架构设计,提供强劲的全精度人工智能算力、先进的存储方案、灵活的可扩展性,广泛支持视觉、语音语义、强化学习等各技术方向的模型训练。
GCU-CARA 2.0架构
具有完全自主知识产权的通用计算架构,集成领先的计算引擎、数据引擎和互联引擎,提供高密的全精度人工智能算力,广泛支持各类型深度学习模型训练。
先进存储
搭载业界领先的HBM2E存储方案,具备超大存储容量和访存带宽,最高达到64GB和1.8TB/s,高效支持超大规模模型训练。
高速互联
燧原智能互联(GCU-LARE)是专为人工智能训练集群研发的互联技术,提供300GB/s互联带宽,支持数千张云燧加速卡互联,具备优异的线性加速比。
性能表现
参数
1.2.云燧T21
基于OCP(开放计算项目)OAM(开放加速模组)标准设计、兼容OCP OAI标准(开放加速器基础设施)的高性能人工智能训练加速模组,基于邃思2.0芯片打造的,面向数据中心,可广泛应用于互联网、金融、教育、医疗、工业以及政务等行业。
高密的计算芯片
57.5mm × 57.5mm超大封装尺寸提供高密的澎湃人工智能算力。
强劲的单精算力
最高达40TFLOPS(FP32)、160TFLOPS(TF32)的单精度算力。
先进的堆叠存储
基于HBM2E存储方案,最高可支持64GB容量,1.8TB/s带宽。
灵活的算力扩展
300GB/s的独立片间互联通道提供灵活的多芯片算力扩展方案。
邃思2.0芯片基于人工智能领域专用处理器架构设计,提供强劲的全精度人工智能算力、先进的存储方案、灵活的可扩展性,广泛支持视觉、语音语义、强化学习等各技术方向的模型训练。
生态开放
基于OCP OAM标准(开放加速模组)
兼容OCP OAI标准(开放加速器基础设施)
提供更高效的服务器和数据中心设计。
高速互联
燧原智能互联(GCU-LARE)是专为人工智能训练集群研发的互联技术,提供300GB/s互联带宽,支持数千张云燧加速卡互联,具备优异的线性加速比。
GCU-CARA 2.0架构
具有完全自主知识产权的通用计算架构,集成领先的计算引擎、数据引擎和互联引擎,提供高密的全精度人工智能算力,广泛支持各类型深度学习模型训练。
性能表现
参数
推理芯片
云燧i10是一款面向云端数据中心的高性能人工智能推理加速卡,可广泛应用于计算机视觉、自然语言处理、语音识别与合成、知识图谱等多类型云端推理场景。
性能表现
参数
软件平台
特性
计算及编程平台
产品应用
CLOUDBLAZER T20
云燧T20是基于邃思2.0芯片打造的面向数据中心的第二代人工智能训练加速卡,具有模型覆盖面广、性能强、软件生态开放等特点,可支持多种人工智能训练场景。同时具备灵活的可扩展性,提供业界领先的人工智能算力集群方案。
CLOUDBLAZER T21
云燧T21是基于OCP(开放计算项目)OAM(开放加速模组)标准设计、兼容OCP OAI标准(开放加速器基础设施)的高性能人工智能训练加速模组,基于邃思2.0芯片打造的,面向数据中心,可广泛应用于互联网、金融、教育、医疗、工业以及政务等行业。
参考链接:https://www.enflame-tech.com/
IIT工作岗位汇总及岗位要求
一、软件研发工程师
工作职责:
-负责核心产品功能和架构开发-负责核心技术算法的研究、实现和优化-负责前瞻技术的跟踪调研和产品创新
-深刻理解计算机数据结构和算法设计,精通C/C++、Java、PHP中至少一门编程语言-了解windows、unix、linux等主流操作系统原理,熟练运用系统层支持应用开发
移动软件研发工程师
工作职责:
-开发移动互联网应用产品或框架-移动应用核心技术研发-学习和研究移动客户端新技术-根据开发过程中的体验对产品提出改进建议-配合市场等其他部门,提供产品相关技术支持
-精通一门常用编程语言(C/C++/Java/Objective C) -对数据结构和算法设计有较为深刻的理解 -熟悉手机研发平台(Android/iPhone/windows phone 7等)者优先 -熟悉HTML/WML/CSS等相关规范-熟悉Javascript与DOM规范-熟悉webkit或其他任意一种浏览器内核-熟悉HTML5编程技术-熟悉Linux操作系统-熟悉数据库原理和技术,熟练使用SQL-熟悉TCP/IP,HTTP,HTTPS等网络协议优先
Web前端研发工程师
工作职责:
-各产品Web前端研发-各产品易用性改进和界面技术优化-Web前沿技术研究和新技术调研
-精通JavaScript、Ajax等Web开发技术 -精通HTML/XHTML、CSS等网页制作技术,熟悉页面架构和布局 -熟悉W3C标准,对表现与数据分离、Web语义化等有深刻理解
-具有Mobile WEB/WAP、HTML5/CSS3、nodejs、Flash开发经验-精通一种模板语言(Smarty、Velocity、Django等)-熟悉Linux平台,掌握一种后端开发语言(PHP/Java/C/C++/python等)-有前端性能优化经验-具有一定的软件工程意识,对数据结构和算法设计有充分理解
机器学习/数据挖掘工程师
工作职责:
-研究数据挖掘或统计学习领域的前沿技术,并用于实际问题的解决和优化-大规模机器学习算法研究及并行化实现,为各种大规模机器学习应用研发核心技术-通过对数据的敏锐洞察,深入挖掘产品潜在价值和需求,进而提供更有价值的产品和服务,通过技术创新推动产品成长
-具有以下一个或多个领域的理论背景和实践经验:机器学习/数据挖掘/深度学习/信息检索/自然语言处理/机制设计/博弈论-至少精通一门编程语言,熟悉网络编程、多线程、分布式编程技术,对数据结构和算法设计有较为深刻的理解-良好的逻辑思维能力,对数据敏感,能够发现关键数据、抓住核心问题
-熟悉文本分类、聚类、机器翻译,有相关项目经验-熟悉海量数据处理、最优化算法、分布式计算或高性能并行计算,有相关项目经验
深度学习算法研发工程师
工作职责:
-从事前沿人工智能技术研发,使互联网产品像人一样智能,能听,能看,能思考-至少涉及以下一种职责,包括机器学习、计算机视觉、图像处理,语义理解等的算法和系统研发-将技术创新推向亿万用户
-在以下至少一个领域有深入的研究: 1)统计机器学习(如深度神经网络、Boosting, 图模型,概率统计,最优化方法、等) 2)计算机视觉(如图像识别理解,人脸检测识别、目标检测和跟踪、OCR、增强现实、图像质量评价,图像分割增强等) 3)语义理解检索 (如知识图谱表示,结构化预测,语义解析,信息检索,知识挖掘等)-熟悉和掌握C/C++和脚本语言编程(如Shell, Python, Perl等)
-有机器学习/视觉技术研发/信息检索/移动开发等相关实践经验者优先
计算机视觉算法研发工程师
工作职责:
-负责计算机视觉相关的技术、系统、产品的研发工作,包括但不限于:移动图像技术应用、图像内容搜索、人脸检测识别、图像分类标注、OCR、增强现实、图像质量评价、图像处理等 -将技术创新推向亿万用户-掌握计算机视觉和图像处理基本算法,并在如下一个或多个相关方向有较深入研究:移动图像技术应用、图像内容搜索、人脸检测识别、图像分类标注、OCR、增强现实、图像质量评价、图像处理等-了解机器学习基本算法,如分类、回归、聚类、概率模型等 -熟悉和掌握C/C++和脚本语言编程(如Shell, Python, Perl等)
自然语言处理工程师
广义的自然语言处理技术,既囊括了几乎所有自然语言处理的经典方向,又包括智能交互、机器学习、推荐、个性化、社会计算等更广泛的技术内容。-有自然语言处理、机器翻译、机器学习、数据挖掘、信息检索及、推荐与个性化技术及语音识别语音合成等领域的任一方向的经验皆可。
云计算研发工程师
工作职责:
-云计算平台核心系统的研发工作,包括云端架构,云存储,云计算
原文发在我的bloghttp://blog.csersoft.net/archives/196
前言
前几天使用UBoot恢复mtd分区时因为误操作导致flash全部被擦除。这下设备上电时连StartCode都跑不了。写内存跑StartCode都不行外部设备没有初始化无法访问DRAM> mdw 0x82000000
data abort at 0x82000000, dfsr = 0x00001008
可以看到原本是放置StartCode的地址现在都无法访问。折腾了几天大致成功的利用JTAG完成硬件初步初始化并且可以加载StartCode到内存并成功运行了。
问题解决思路
想要写内存来运行代码就必须对内存进行初始化操作。但这个初始化操作应该都是StartCode里做的。现在StartCode都跑不起更别说写内存了。
如果用JTAG来模拟StartCode的初始操作的话也不太现实毕竟100多KB的代码分析起来就够累人了别说模拟了。但是如果能找到一个平衡点模拟少量的操作让硬件环境刚好够我利用来跑StartCode这样实现还是比较容易的。
在网上查了很多关于ARM处理器复位时的流程和低级bootloader做的工作相关的资料。大致感觉有路可走
一般对于采用非可直接寻址的存储设备(Nand Flash)来引导的话CPU内部会有一个bootrombootrom在上电时会从非可直接寻址的存储设备的固定位置装载固定大小的内容到片内SRAM比如从Nand Flash的0地址读取2KB内容到片内SRAM然后设置pc过去并运行。这很小的一部分bootloader就会做简单的初始化操作然后读取完整的bootloader到内存中的指定位置并运行。
逆向分析StartCode
StartCode的一开始就是ARM经典的中断向量表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24seg000:00000000;---------------------------------------------------------------------------
seg000:00000000Bsub_5C
seg000:00000004;---------------------------------------------------------------------------
seg000:00000004LDRPC,=sub_820003A0
seg000:00000008;---------------------------------------------------------------------------
seg000:00000008LDRPC,=loc_82000400
seg000:0000000C;---------------------------------------------------------------------------
seg000:0000000CLDRPC,=loc_82000460
seg000:00000010;---------------------------------------------------------------------------
seg000:00000010LDRPC,=loc_820004C0
seg000:00000014;---------------------------------------------------------------------------
seg000:00000014LDRPC,=loc_82000520
seg000:00000018;---------------------------------------------------------------------------
seg000:00000018LDRPC,=loc_82000580
seg000:0000001C;---------------------------------------------------------------------------
seg000:0000001CLDRPC,=loc_820005E0
seg000:0000001C;---------------------------------------------------------------------------
seg000:00000020off_20DCDsub_820003A0;DATAXREF:seg000:00000004
seg000:00000024off_24DCDloc_82000400;DATAXREF:seg000:00000008
seg000:00000028off_28DCDloc_82000460;DATAXREF:seg000:0000000C
seg000:0000002Coff_2CDCDloc_820004C0;DATAXREF:seg000:00000010
seg000:00000030off_30DCDloc_82000520;DATAXREF:seg000:00000014
seg000:00000034off_34DCDloc_82000580;DATAXREF:seg000:00000018
seg000:00000038off_38DCDloc_820005E0;DATAXREF:seg000:0000001C
学习笔记:
1.在终端执行
sudo apt update sudo nano /etc/netplan/50-cloud-init.yaml 3.将以下代码改成如下
network: ethernets: eth0: dhcp4: true optional: true version: 2 wifis: wlan0: dhcp4: true access-points: "你的wifi的ssid": password: "你的密码" 4.验证
sudo netplan try sudo netplan apply 5.再验证
sudo apt-get update
# 记录:华为配置小程序后台服务器
## 零、前言
之前做个一个RSS阅读器的微信小程序,还取了个名字:**真简阅读器**,后端由腾讯云驱动,最近刚好到期了,就迁移到了华为云。最明显的不同就是华为云默认有安全组,只开放了少数几个端口,所以需要手动开放80,443端口。
## 一、准备工作
0. 连接我本地电脑上`xshell`,`xftp`全家桶
输入华为云服务器的IP地址,root密码等信息就连接好了
1. 更新一下
```bash
yum update
```
2. 添加一个自己的用户名,设置密码
```bash
useradd hechenxi
passwd hechenxi
```
3. 添加用户到sudoer列表中
Linux默认是没有将用户添加到sudoers列表中的,需要root手动将账户添加到sudoers列表中,才能让普通账户执行sudo命令。
```bash
vi /etc/sudoers
```
在` root ALL=(ALL) ALL`那一行后加上一行:`hechenxi ALL=(ALL) ALL`。
## 二、安装mysql(mariadb)
1. 安装
```bash
sudo yum install mariadb-server mariadb
```
2. 启动mariadb服务
```bash
sudo systemctl start mariadb
```
3. 设置root账户的密码
```bash
mysqladmin -u root password"new_password";
```
4. 连接mariadb服务器
```bash
mysql -u root password"