51CTO下载-yui+3.0+学习笔记
云计算笔记3.0

云计算笔记系统:redhat71.关闭防火墙输入Systemctl disable iptables.service关闭防火墙2.名称配置首先切换到root用户或直接用root用户登录,然后cd /etc/sysconfigvim network然后添加networking=yeshostname=(自己的名字)按下esc然后shift+:wq保存退出,shift+:q!不保存退出3.修改计算机IP地址一般我们的计算机设置了自动获取ip地址(DHCP),需要先设置成静态ip,先添加一个网卡配置然后将获取ip地址的方式设置为静态ip并启用配置查看是否更改成功,输入ifconfig查看ip地址等信息4.修改hosts文件,使计算机能够解析计算机名称为IP地址vimetc/hosts按o插入一行,输入刚才设置的ip地址+刚才设置的hostname用老方法wq保存退出5.验证修改是否成功ping 主机名,看是否能显示如下图,按ctrl+c中断pingssh主机名6.安装jdk先将jdk文件复制到虚拟机内,可以创建一个共享目录步骤为:进入虚拟机设置,然后设置好以后如果虚拟机是开机状态的,需要重启虚拟机将jdk安装文件放在刚才设置好的共享目录内,进入linux系统,打开命令行窗口cd /mnt/hgfs文件夹ls一下即可查看到共享目录进一步进入共享目录,即可找到jdk文件创建一个文件夹用来存放解压后的jdk文件。
mkdir /usr/java/然后选择一个jdk版本,这里选择jdk8u121版本,将该jdk拷贝到/usr/java文件夹中cp jdk-8u121-linux-x64.tar.gz /usr/java/进入/usr/java/文件夹输入tar zxvf jdk-8u121-linux-x64.tar.gz即可解压到当前目录内解压好了之后即可看到一个蓝色的文件夹,cdjdk1.8.0_121即可进入,ls查看是否解压成功再vim /etc/profile编辑配置文件在末尾添加export JAVA_HOME="/usr/java/jdk1.8.0_121"export JRE_HOME=/usr/java/jdk1.8.0_121/jreexport PATH=/usr/java/jdk1.8.0_121/bin:$PATHexport CLASSPATH=./:/usr/java/jdk1.8.0_121/lib:/usr/java/jdk1.8.0_121/jre/lib保存推出,输入. /etc/profile即可使配置立即生效,或者重启一次验证是否生效,输入java –version4月5日安装Hadoop软件准备工作:记住自己的java安装目录,hadoop目录,主机名先给hadoop创建一个目录,这里创建在/usr/hadoop/文件夹中,然后将hadooop的安装文件拷贝到当前目录并解压。
网易云课堂笔记

网易云课堂Java笔记SET CLASSPATH=路径SETCLASSPATH=F:\textdemo一旦设置之后,不管在那个磁盘下只要解释Java程序都会跑到同一个目录之中但是严格来讲,所用的程序解释时如果都跑到同一个目录下,是不方便开发。
最好的做法时在当前路径下加载类,那么就可以将CLASSPATH设置为“.”PATH 和CLASSPATH的区别PATH:是属于操作系统属性,定义所有可执行程序的路径CLASSPATH:是JAVA程序解释类文件时所使用的加载路径标识符与关键字Public CLASS {}类名称基本要求如下标识符由字母、数字、- 、$、所组成,其中不能以数字开头不能是java中的关键字和保留字1、在我们编写的时候尽量不要去使用数字:I1,命名尽量有意义2、蓝色为关键字Java有两个未使用到的关键字:goto constJava 有三个特殊含义的标记:true false nullJDK1.4之后增加了ASSERT 关键字JDK1.5之后增加了enum关键字Jdk 可以中文命名随着中国在世界地位的提升。
balabalaHead first javaIf while编程0到99Java分为两大类数据:基本数据类型,引用数据类型数值型:整型:byte 、short、int、long:浮点型:float\double字符型:char:布尔型:boolean:引用数据类型:数组、类、接口整数int 小数使用double 日期时间数字大小使用long如果要实现内容传递编码转换用byte如果实现逻辑的控制使用booleanByte<int<long<double整数int 超过界限数据溢出数据类型转换有以下规律数据范围小的数据与数据范围打的数据进行数学计算的时候,自动向大的范围的数据转后计算Int 和long 计算,自动转化为long数据范围打的数据要变为数据范围小的数据,那么必须采用强制转换如果是常量进行强制转换,有两种是:常量标记(l)Public class TestDemo{Public static void main(String args[]){Float f1=10.2F;Float f2=(float)10.2;System.out.println(f1*f2);}}运行是104.039999实际是104.04单引号声明的内容称为字符‘A’和“a”差32Java用的UNIcode编码可以设置中文字符,只有处理中文的时候字符数据才有那么一点点好用,其他情况几乎无用布尔运算只有true false 取反!0 false 非零true java 不允许用数字只能用true和falseS tring型数据String属于引用数据类型,string 是一个类类名称首字母大写String 表示一个字符串,用双引号申明内容String操作里面可以用“”+“”连接System.out.println("Hello World!");}//字符串常量String str="hello world!"; //字符串变量从数据类型来说,任何数据类型都是向范围大的数据类型进行转换,应该先变为double,而后加法计算,遇到String就变成字符串。
linux笔记全(无图版)

linux笔记全(⽆图版)1、ls 查看当前⽬录下的所有内容⿊⾊的是⽂件,蓝⾊的是⽂件夹,也就是⽬录2、rm -f anaconda-ks. cfg 彻底删除⽂件(如不确定,则需要先保存备份,也就是快照)3、ifconfig 查看⽹卡的配置信息(ip地址等)4、ifconfig ens33 192.168.18. 201 /24(⽹络地址/⼦⽹掩码)更改ip地址5、systemctl restart network 重启⽹络服务6、桥接模式,直接可以进⾏通信(同⼀⽹段,配置ip)7、能不能通信的2个条件:在同⼀个物理⽹络内,ip地址也在同⼀⽹段内8、仅主机模式,虚拟机和物理机不能进⾏通信,相当于虚拟机和物理机进⾏了隔离与笔记本(真机)通信截图9、NAT模式,⾃动分配⽹络地址和⽹关,以及dns,可以直接上⽹可以访问互联⽹内的主机,但互联⽹内的主机不能访问本机(max特点)10、route -n 查看⽹关11、cat /etc/resolv. conf 查看dns(注意cat后⾯有⼀个空格,空格不可少)12、验证nat模式可以直接上⽹13、shell:通常指linux的字符界⾯,图形界⾯和字符界⾯都属于shell,但图形界⾯的shell常称为gui,字符界⾯的shell常称为cli14、cat /etc/shells 查看⽂件内容(linux⾥⾯提供的所有的shell)15、linux默认使⽤的shell是bash的shell16、echo $SHELL 查看当前使⽤的shell17、shell默认指的是bash,它的应⽤是最⼴泛的18、linux是彻底的多⽤户多任务,它可以直接多个⽤户同时进⾏操作19、ctrl+alt+f2-f6 对应5个shell ctrl+alt+f1 开始图形界⾯shell 作⽤:如何开始shell(也就是如何打开命令界⾯)20、虚拟终端的缩写为tty, 在字符界⾯下执⾏“tty"命令就可以显⽰⽤户⽬前所在的终端编号(终端名称)。
Windchill技术培训笔记

搭建Windchill环境开发工具设置在Eclipse中选择:Window --> Preferences --> java --> Compiler --> Building去掉:□的选中注意:一定要取消选中,否则在清工作区时将删除windchillcodebase下的文件5.此时会在Eclipse的工作空间里面生成一个HelloWindchill的文件,此文件很小只有几KB创建Java项目➢第一种创建方式:1.在Eclipse中选择:File --> New --> Java Project 创建一个Test 的Java项目2.在当前创建的java项目Test:在Eclipse中选择:当前项目上(Test)--> New --> Properties --> Java Build Path--> Add Class Folder --> Create New Folder单击ok 完成codebase 文件夹的创建和指定(由于Windchill的codebase文件夹很大,所以这一步骤需要等待片刻)成功之后,将会看到:➢第二种创建方式:1.在Eclipse中选择:File --> New --> Java Project 创建一个TestWindchill 的Java项目→Link additional source --> Browse --> Finish2.Browse →选择codebase3.添加自定义的library库3.指定codebase 的映射:3.指定codebase文件夹编译之后的.class 文件和工程下面的java源文件的映射关系在Eclipse中选择:当前项目上(HelloWindchill)--> New --> Properties --> Java Build Path --> Browse-->单击OK 之后,你可能会发现Java 项目Referenced Libraries里面有个codebase 文件夹了4.添加Windchill环境所需的jar包(推荐使用1)D:\ptc\Windchill_9.1\Windchill里面需要的被导入的jar文件按有:lib、srclib、installlib、WHC\WEB-INF\lib、ant\lib、codebase\WEB-INF\lib、codebase\lib 7个文件夹下的所有jar文件➢ 1.可用自定义一个类库,然后把Windchill 7个lib下面的jar都添加到该库中,以后就可以在开发中直接引用该类库(注意:最好不要覆盖相同名字的jar包,因为他们的jar 的文件大小不同,所以作用也不同,避免在开发中因jar的冲突和版本问题而引起些莫名奇妙的错误)在Eclipse中选择:当前项目上(HelloWindchill)--> New --> Properties --> Java Build Path --> Libraries 选项卡➢ 2.直接引用,7个lib下面的所有jar包第一个Hello World创建HelloWorld.java在Eclipse中选择:当前项目上(HelloWindchill)src --> New --> Package创建一个TestWindchill.java 的类package angus ;publicclass TestWindchill {/*** @param args*/publicstaticvoid main(String[] args) {// TODO Auto-generated method stubSystem.out.println(" Hello World....");}}启动Windchill 服务1.启动Oracle10g 监听服务:OracleOraDb10g_home1TNSListener2.启动Oracle10g 主数据库服务:OracleServiceWIND3.启动Apache 服务4.启动Tomcat 服务成功标志:5.启动control-panel.bat 服务D:\ptc\Windchill_9.1\WindchillDS\server\bat6.启动Windchill Shell 服务,输入windchill start目标:D:\ptc\Windchill_9.1\Windchill\bin\windchill.exe shell 起始位置:D:\ptc\Windchill_9.1\Windchill\bin7.观察Windchill 的两个窗口:ServerManager :MethodServer8.Windchill 启动成功的标志:在MethodServer窗口出现如下标志,表明Windchill 服务启动成功运行HelloWorld.java1.Eclipse控制台会打印:Hello World…2.此时会在Windchill系统的安装目录(D:\ptc\Windchill_9.1\Windchill\codebase)生成如下目录:angus--> com里面会生成TestWindchill.java源文件的编译后的文件:TestWindchill.class此时表明第一个Hello World 程序运行成功3.第一个JSP与Hello Word创建index.jsp在Windchill的安装目录(D:\ptc\Windchill_9.1\Windchill\codebase\netmarkets\jsp)下面新建一个文件夹angus,在里面新建一个index.jsp页面页面内容为:<%@ page language="java" import="java.util.*,angus .*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'index.jsp' starting page</title><meta -equiv="pragma" content="no-cache"><meta -equiv="cache-control" content="no-cache"><meta -equiv="expires" content="0"><meta -equiv="keywords" content="keyword1,keyword2,keyword3"><meta -equiv="description" content="This is my page"></head><body>ddd<% TestWindchill tst = new TestWindchill();%><br><%= tst.helloWindchill() %><%= tst %></body></html>创建TestWindchill.javaTestWindchill.java里面的内容package angus ;publicclass TestWindchill {/*** @param args*/publicstaticvoid main(String[] args) {// TODO Auto-generated method stubSystem.out.println("第一个Windchill程序");}public String helloWindchill(){return"this is the Hello World Windchill...";}}编译后的TestWindchill.class文件会自动映射,放到D:\ptc\Windchill_9.1\Windchill\codebase\angus\com 目录下注意:该目录下的TestWindchill.class 的更新时间访问:在浏览器地址栏输入:://localhost/Windchill/netmarkets/jsp/angus/index.jsp就可以在Windchill目录使用jsp页面调用Windchill目录java 类的方法。
EmuELEC笔记

EmuELEC笔记分区结构在img写⼊后, 会产⽣两个分区EMUELEC: ⽤于启动的⽂件, 例如dtb⽂件等, 以及system.img & system.img.md5, EmuELEC的系统⽂件都在这个img⾥⾯STORAGE: 空运⾏中⽬录结构/dev/mmcblk1p1 511.7M 373.6M 138.2M 73% /flash/dev/loop0 357.5M 357.5M 0 100% //dev/mmcblk1p2 28.6G 3.5G 25.1G 12% /storage启动后, EMUELEC分区被挂载为 /flash, STORAGE分区被挂载为 /storage, system.img 通过 /dev/loop0 被挂载为系统根⽬录 /所以, ⽤户能修改的仅仅是 /flash 和 /storage ⽬录下的内容root⽤户的home⽬录被定位到 /storage, 如果需要添加登录后⾃动执⾏的命令(例如添加alias), 可以直接在 /storage ⽬录下新建 .profile ⽂件来实现开机启动顺序这个是在uboot中进⾏管理的, 可以通过fw_printenv命令进⾏查看EmuELEC:/usr/sbin # fw_printenv...baudrate=115200boot_count=0bootcmd=if test ${bootfromnand} = 1; then setenv bootfromnand 0; saveenv; else run bootfromsd; run bootfromusb; fi; run storebootbootcount_check=echo bootcounts=${boot_count}; if itest ${boot_count} == 0; then setenv boot_count 1;saveenv;else if itest ${boot_count} == 1; then setenv boot_count 2;saveenv;else if itest ${boot_count} == 2; then setenv boot_count 3;save bootdelay=0bootfromnand=0bootfromsd=mmcinfo; if fatload mmc 0 ${loadaddr} kernel.img; then run sddtb; setenv bootargs ${bootargs} bootfromsd; bootm; fibootfromusb=usb start 0; if fatload usb 0 ${loadaddr} kernel.img; then run usbdtb; setenv bootargs ${bootargs} bootfromusb; bootm; fibootmode_check=get_rebootmode; echo reboot_mode=${reboot_mode};if test ${reboot_mode} = factory_reset; then defenv_reserv;setenv upgrade_step 2; save;fi;cmdline_keys=if keyman init 0x1234; then if sec_keyunify read mac ${loadaddr} str; then setenv bootargs ${bootargs} mac=${mac} androidboot.mac=${mac};fi;fi;...可以看到其中的 bootfromnand 变量是⽤于控制设备的启动顺序, 如果值为1, 那么从nand(设备内部存储, eMMC等), 如果值为0, 那么依次从sd, 从usb启动, 在这个过程中如果某个介质可以启动了, 就把这个⽅式加到bootargs变量的值当中去, 例如setenv bootargs ${bootargs} bootfromsd;.然后调⽤系统函数bootm启动内核. bootm会调⽤ ./lib_arm/armlinux.c的do_bootm() ⽅法, ⾥⾯会调⽤./common/cmd_bootm.c的do_bootm_linux()如果这些都不成功, 那就调⽤storebootstoreboot=if imgread kernel boot ${loadaddr}; then bootm ${loadaddr}; fi;run update;⽽update会依次尝试从各个媒介升级update=run usb_burning; run sdc_burning; if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;中间还会记录启动次数, 如果启动次数达到4, 就会执⾏ recovery_from_flashrecovery_from_flash=setenv bootargs ${bootargs} aml_dt=${aml_dt} recovery_part={recovery_part} recovery_offset={recovery_offset};if imgread kernel ${recovery_part} ${loadaddr} ${recovery_offset}; then wipeisb; bootm ${loadaddr}; fiES的Quit菜单中的Reboot From NAND, 实际执⾏的就是 /usr/sbin/rebootfromnand 这个命令, ⾥⾯将 bootfromnand 值设为了1EmuELEC:/usr/sbin # more rebootfromnand#!/bin/sh# SPDX-License-Identifier: GPL-2.0-or-later# Copyright (C) 2016-2018 kszaq (kszaquitto@)# Copyright (C) 2018-present Team CoreELEC (https://)if /usr/sbin/fw_printenv whereToBootFrom > /dev/null 2>&1; then /usr/sbin/fw_setenv whereToBootFrom internal; fi/usr/sbin/fw_setenv bootfromnand 1服务启动顺序系统启动的服务是通过systemd管理的, 启动脚本位于 /usr/lib/systemd/system/ 下, 因为是过loop设备挂载的, 所以这⾥⾯的⽂件都不可修改. 默认的启动target为EmuELEC:/usr/lib/systemd/system # systemctl get-defaultemuelec.targetEmuELEC:/usr/lib/systemd/system # ll def*.*lrwxrwxrwx 1 root root 14 Nov 19 00:42 default.target -> emuelec.target服务依赖关系为EmuELEC:/usr/lib/systemd/system # systemctl list-dependencies emuelec.targetemuelec.target●├─emuelec-autostart.service●├─emustation.service●├─retroarch.service●├─tmp-assets.mount●├─tmp-cores.mount●├─tmp-database.mount●├─tmp-joypads.mount●├─tmp-overlays.mount●├─tmp-shaders.mount●├─graphical.target●│├─unbind-console.service●│└─multi-user.target●│├─avahi-daemon.service●│├─connman.service●│├─dbus.service●│├─entware.service●│├─iptables.service●│├─nmbd.service●│├─pulseaudio.service●│├─rpcbind.service●│├─sixaxis@multi-user.service●│├─smbd.service●│├─sshd.service●│├─systemd-ask-password-wall.path●│├─systemd-logind.service●│└─basic.target●│├─add-entropy.service●│├─amlogic-dvb.service●│├─fstrim.service●│├─hwdb.service●│├─kvimfan.service●│├─show-version.service●│├─swap.service●│├─tmp.mount●│├─var.mount●│├─wetekdvb.service●│├─paths.target●│├─slices.target●││├─-.slice●││└─system.slice●│├─sockets.target●││├─dbus.socket●││├─systemd-initctl.socket●││├─systemd-journald-audit.socket●││├─systemd-journald-dev-log.socket●││├─systemd-journald.socket●││├─systemd-udevd-control.socket●││└─systemd-udevd-kernel.socket●│├─sysinit.target●││├─debug-shell.service●││├─debugconfig.service●││├─dev-hugepages.mount●││├─dev-mqueue.mount●││├─kmod-static-nodes.service●││├─machine-id.service●││├─openssl-config.service●││├─sys-fs-fuse-connections.mount●││├─sys-kernel-config.mount●││├─sys-kernel-debug.mount●││├─systemd-ask-password-console.path●││├─systemd-hwdb-update.service●││├─systemd-journal-catalog-update.service●││├─systemd-journal-flush.service●││├─systemd-journald.service●││├─systemd-modules-load.service●││├─systemd-sysctl.service●││├─systemd-tmpfiles-setup-dev.service●││├─systemd-tmpfiles-setup.service●││├─systemd-udev-trigger.service●││├─systemd-udevd.service●││├─tz-data.service●││├─usercache.service●││├─userconfig.service●││├─local-fs.target●│││├─kernel-overlays.service●│││├─libmali.service●│││├─tmp.mount●│││└─var.mount●││└─swap.target●│└─timers.target●│└─systemd-tmpfiles-clean.timer●└─multi-user.target●├─avahi-daemon.service●├─connman.service●├─dbus.service●├─entware.service●├─iptables.service●├─nmbd.service●├─pulseaudio.service●├─rpcbind.service●├─sixaxis@multi-user.service●├─smbd.service●├─sshd.service●├─systemd-ask-password-wall.path●├─systemd-logind.service●└─basic.target在 emuelec-autostart.service ⾥, 执⾏了/storage/.config/autostart.sh在autostart.sh的结尾, ⼜执⾏了 /storage/.config/custom_start.sh最后⼀步, 通过 emustation.service, 把/usr/bin/emulationstation启动起来通过ScreenScraper⾃动下载游戏说明和截图⾸先到注册⼀个帐号, 需要邮箱验证在EmuELEC界⾯上, 通过 SCRAPE 菜单, 填充帐号和⼝令, 依次选择Scrape From: SCREENSCRAPERImage Source: SCREENSHOT(游戏运⾏画⾯), TITLE SCREENSHOT(游戏开始画⾯), MIX (游戏运⾏截图+游戏盒⼦合并在⼀起的⼀张图)Box Source: NONE (游戏包装, 2d或3d, 因为⾊深为24bit, ⽂件size会⽐较⼤, 都是200~400K⼤⼩, 如果⽤列表展⽰, 就不需要下载这个)Logo Source: WHEELScrape Ratings: YESScrape Videos: NO然后点击Scrape Now, 选择要下载的集合, 选择处理冲突的⽅式, 建议⾃动.系统就会在后台⾃动下载, 因为来源在国外所以速度会⽐较慢.修改时区系统默认时区为墨西哥, 界⾯上没有修改时区的地⽅, 需要命令⾏登录后修改 /emuelec/configs/emuelec.conf , ⾥⾯有timezone配置. 改为system.timezone=Asia/Shanghai连发键的设置Autofire, Turbo Button, Duty Cycle这个其实是RetroArch的配置, 和以往的连发键设置不太⼀样, RetroArch⽤的是开关触发的机制, 有三处相关的设置Settings->Input->Turbo Period, 连发键开启时, 在连发当中每次按下的时间长度(多少帧)Settings->Input->Duty Cycle, 连发键开启时, 在连发当中按下的时间占空⽐Settings->Input->User/Port[1,2,3,4] Binds->User/Port[1,2,3,4] Turbo, 开启连发的键使⽤⽅法是, 按住需要连发的按键后, 按⼀下开启连发的键, 这个按住的键就开启连发了. 这个开启连发的效果只在按住时有效, 松开按键后连发的效果就消失, 需要再来⼀遍.输⼊设备按键测试查看所有输⼊设备, 列出各设备对应的event编号cat /proc/bus/input/devices输⼊设备测试# ⼿柄测试, 需要对应上⾯命令输出的js编号jstest --event /dev/input/js0# 通⽤的输⼊事件测试, 需要对应上⾯命令产⽣的event编号对于乐视尚酷版⼿柄, ⽆法设置select键的问题: 这个⼿柄在输⼊设备⾥会产⽣两个设备, 分别是I: Bus=0003 Vendor=0101 Product=1d79 Version=0110N: Name="MY-POWER LeWGP-201"P: Phys=usb-xhci-hcd.0.auto-1.4/input0S: Sysfs=/devices/c9000000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.4/1-1.4:1.0/0003:0101:1D79.0003/input/input4U: Uniq=H: Handlers=js0 event4B: PROP=0B: EV=1bB: KEY=7fff0000 0 0 0 0 0 0 0 0 0B: ABS=3063fB: MSC=10I: Bus=0003 Vendor=0101 Product=1d79 Version=0110N: Name="MY-POWER LeWGP-201"P: Phys=usb-xhci-hcd.0.auto-1.4/input1S: Sysfs=/devices/c9000000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.4/1-1.4:1.1/0003:0101:1D79.0004/input/input5U: Uniq=H: Handlers=kbd event5B: PROP=0B: EV=1fB: KEY=3007f 0 0 0 0 483ffff 17aff32d bf544446 0 0 1 120c13 b17c000 267bfa d941dfed 9e1680 4400 0 10000002B: REL=40B: ABS=1 0B: MSC=10其中js0:event4设备可以响应除了back键和底下⼀排三个键以外其他所有按键, ⽽kbd:event5设备则正好相反. 可以通过evremap将event5的按键映射到event4# Enable 'BACK' key on LeWGP-201 gamepadevremap /dev/input/by-id/usb-MY-POWER_LeWGP-201-event-if01 /dev/input/by-id/usb-MY-POWER_LeWGP-201-event-joystick将其添加到 /storage/.config/custom_start.sh ⽂件中, 将来开机就会⾃动⽣效.另外对于乐视尚酷版⼿柄在连接后每隔⼏秒钟会断开⼀秒(断开时可以看到⼿柄上⽅4个灯⼀起闪, 连接好以后应该是只亮⼀个灯的)的问题, 这个通过dmesg看并⽆硬件通断事件,如果连接头连接在usbhub上就容易有这个问题, 在R3300L上, 通过otg⼝连接到盒⼦的microusb⼝, 就不会出现断开的问题了. 推断是因为乐视这个接收头对电压的要求较⾼, usbhub的电压不⾜以使其稳定⼯作所致.。
Yonyou U9 V3.0 新增功能操作手册-商业分析安装部署

Yonyou U9 V3.0 商业分析安装部署说明用友优普信息技术有限公司2014年10月Yonyou U9 V3.0商业分析安装部署说明目录第1章安装部署方案 (1)1.1网络拓扑解决方案 (1)1.2软件环境要求 (2)1.3U9和U9商业分析安装部署说明 (2)第2章产品安装 (3)2.1安装前注意事项 (3)2.2安装时注意事项 (3)2.3使用前注意事项 (5)2.4安装盘内容 (7)2.5安装步骤 (7)2.5.1启动分析报表工具安装程序 (7)2.5.2具体安装过程 (7)第3章产品升级方案 (14)附注 (14)附一、W INDOWS S ERVER 2008上安装IIS的方法 (14)附二、W INDOWS S ERVER 2012上安装IIS的方法 (18)Yonyou U9 V3.0商业分析安装部署说明第1页第1章 安装部署方案1.1网络拓扑解决方案图1-1 U9商业分析 网络部署解决方案U9商业分析从U9的数据库中提取数据进行报表分析,所以U9商业分析的服务器需要与U9的服务器部署在同一局域网内。
本产品的推荐配置为2*CPU p4 2.8GHZ 以上 内存建议4G 以上,最好有8G ,硬盘空余空间10G 以上,考虑U9的硬件需求,推荐U9商业分析服务器与U9服务器分离部署,以保证U9商业分析查询效率,同时保证U9业务操作的效率。
U9商业分析需要从U9的数据库服务器抽取数据,根据网络不同,有如下两种应用:1. 子公司与集团间有DDN 等专线U9商业分析服务器直接与分公司数据库服务器连接,抽取数据。
后续数据查询、分析Yonyou U9 V3.0商业分析安装部署说明 第2页时可以断开连接。
2. 子公司与集团间没有DDN 等专线集团需要建立与各分子公司相对应的账套,使用数据复制等方式将分子公司数据实时更新到集团,同时集团的子公司数据源指定到“克隆”的账套,U9商业分析服务器将直接从“克隆”账套抽取数据,“克隆”账套的服务器需要与U9商业分析服务器位于同一局域网内。
moodle学习笔记

datalib.php所有与数据库操作的函数函数1 addslashes_object ( $dataobject )避免数据记录中所有的危险字符。
其中$dataobject 是包含有所需数据的对象,addslashes 方法是用来避免SQL的不友好字符如quotes等。
函数2 get_admin ()以$user对象的形式返回主要的admin用户。
主要用户就是那些具有最小role_assignment id的admin用户。
函数3 get_admins()返回所有的admin用户列表。
函数4 get_courses_in_metacourse($metacourseid)返回metacourse表中所有的课程。
函数5 get_courses_notin_metacourse($metacourseid,$count=false)返回不在metacourse表中的课程。
函数6 count_courses_notin_metacourse($metacourseid)返回不在metacourse表中的课程的记录数。
函数7 search_users($courseid, $groupid, $searchtext, $sort='', $exceptions='') 在课程用户中进行搜索。
如果$coursid定义了课程网站,那么该方法将搜索所有未被删除且确定的用户。
datalib.php建立和输出XHTML的所有函数Moodle的一些重要文件夹admin:包含一些控制行政人员的接口auth:包含所有的认证模块,其子目录每一个就是一个认证模块,这些认证模块控制着对用户的建立,用户信息数据和用户访问系统的权利。
backup:包含备份课程的核心设备,主要服务于备份、恢复和对课程的引入blocks:是在moodle页面的左侧或者右侧显示盒装信息,这是最简单的模块course:这是最重要的一个模块,因为moodle就是围绕课程而开发的,开发者倾向于更改或增加课程和报告的格式。
diang一些小笔记

过滤行为,比如最大值和最小值
"""
price_min = django_filters.NumberFilter(name="shop_price", lookup_expr='lt')
price_max = django_filters.NumberFilter(name="shop_price", lookup_expr='gt')
2.然后将当前数据py文件加入到导包路径:
pwd = os.path.dirname(os.path.realpath(__file__))
sys.path.append(pwd + "../")
3.将django默认DJANGO_SETTINGS_MODULE变量加到环境变量
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MxShop.settings")
7.关于djangorestframework的跨域问题
1.安装django-cors-headers
2.注册app子应用:corsheaders
3.中间建在django之前加:corsheaders.middleware.CorsMiddleware
4.设置参数为True:CORS_ORIGIN_ALLOW_ALL = True
leve1_intance.save()
4.关于djangorestframework的分页
全局设置:通过setting中设置对应的参数,比如每页显示10条
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
YUI 3 学习笔记(1)-YUI Global对象
YUI模块是YUI3中的单一核心,所有需要使用YUI3的页面都必须包含该
模块,该模块提供加载功能,可以使用该功能动态加载指定模块,其依
赖模块会被自动加载,所以YUI模块可以看成YUI的一个种子。
YUI模块创建了一个全局对象:YUI,一个页面可以共享一个YUI实例,也
可以使用多个实例。
1 要使用YUI全局对象,只需添加如下引用:
Html代码
2 如果你想要使用拖放和动画功能,可以使用use()方法加载:
Javascript代码
该方法的最后一个参数是一个回调函数,该函数在完成所有指定模块的加载
后被调用,调用时传递一个参数:一个YUI的实例。
3 YUI全局对象有一个Lang对象,其中没有设什么新鲜东西,就是javascript 语言
本身的一些功能,但是在这里做了一个统一以便于使用:
Javascript代码
YUI 3 学习笔记(2)- Node
Node是用来操作DOM node的工具,实际上每一个Node实例都代表着一个DOM node,每一
个NodeList都代表着一组DOM node.
从YUI2.x到YUI3.0相关的api发生了一些变化,具体可以参见本文的最后部分。
1. 要使用Node,首先要引入YUI3的种子文件:
Html代码
然后加载相应模块:
Javascript代码
2. 获得Node
可以使用YUI.one()获取Node,该方法的参数可以是一个Node,也可以是一个选择器(selector),
在使用选择器时,返回第一个匹配的元素。
默认情况下css3选择器不被支持,如果要使用,需要
加载“selector-css3”模块。
关于css3 selector可以参见这里:
/TR/css3-selectors
以下是使用YUI.one()的例子:
Javascript代码
3. 访问Node属性
可以使用Node的set,get方法访问Node的属性,需要注意的是如果返回节点的话返回的是
YUI Node而不是DOM node,这一点在其他地方也要注意。
以下是相关的例子:
Javascript代码
4. 事件监听
可以用on方法添加事件监听器:
Javascript代码
5. DOM方法
Y.Node提供了所有DOM node的原有方法
6. NodeList的使用
NodeList提供了与Node相似的API,但是它的处理时对所有NodeList中的所有Node作用的。
例如如下代码对demo的所有子元素添加'bar'类:
Javascript代码
7. 查找
Node提供one,all,test方法分别实现查找第一个匹配元素,查找所有匹配元素,测试
是否存在匹配元素的功能
8. YUI 2.x和YUI 3.x的对应表
YUI2.x的Node功能是由YAHOO.util.Dom提供的,其与YUI3.0的对应关系如下:
(图太大·在下面···)
YUI 3 学习笔记(3)- Event
YUI的Event包可以用来操纵DOM事件,也可以自定义事件。
1. 要使用Event,首先要引入YUI3的种子文件:
Html代码
然后加载相应模块:
Javascript代码
2. 设置事件响应函数:on()
有两个on方法,一个是YUI的,一个是Node的
Y.on("click", handleClick, "#foo p") 设置元素"#foo p"的click事件处理函数为handleClick。
foo.on("click", handleClick) 的作用与上面的一样
对于YUI的on方法,参数如下:
1) 事件名。
关于各事件在主要浏览器中的兼容性,可以参见这里:
/dom/events/index.html
2) 事件处理句柄
3) 元素,可以是多个,多个的写法是这样:["#foo p", "#bar"]
4) 上下文对象,即事件处理函数中的this,如果忽略,就是target元素的Node
5) 参数,可以有多个,按顺序为事件处理函数中event之后的参数
3. 移除事件响应函数
有三种方式:
1) 在事件名前加前缀,然后用YUI的detach移除
2) 保存事件句柄,然后通过该句柄移除
3) 用YUI的detach,指定事件名、处理函数和元素
Javascript代码
另外,Event.purgeElement可以清理所有通过on添加的事件处理函数,而且可以
设定是否对子元素递归清理。
4.模拟鼠标事件
可以通过Node.simulate()模拟鼠标事件,可以模拟7种鼠标事件:
* click
* dblclick
* mousedown
* mouseup
* mouseover
* mouseout
* mousemove
同时可以指定一些附加信息,例如:
Javascript代码
模拟按下Shift键的click事件,这些附加信息包括:
* detail - click的次数.
* screenX/screenY
* clientX/clientY
* ctrlKey/altKey/shiftKey/metaKey
* button - 0:左,1:右, 2:中
* relatedTarget
5. 模拟键盘事件
可以模拟以下事件:
* keyup
* keydown
* keypress
keyup和keydown必须指定keyCode,keypress必须指定charCode,另外还可以指定ctrlKey, altKey, shiftKey和metaKey,以下是几个例子:
Javascript代码
6. available(onAvailable)和contentready(onContentReady)事件
available事件在一个元素刚刚出现在DOM树中时触发。
contentready事件在一个元素和它的下一个元素都可以用getElementById获得
时触发,以保证该元素已加载完毕(除了动态加载的内容以外)
7. domready(onDOMReady)事件
domready事件在DOM树构建完成时触发,有可能是在图像加载完毕以前。
8. delegate方法
事件代理(Event delegate)机制可以在父元素处唯一绑定一个listener监听该
父元素的多个子元素处发生的事件,以如下的html为例:
以下这段代码将一listener绑定到"container",却监听着其3个子元素(<li>)处的
click事件:
9. focus和blur事件
DOM的focus和blur事件是不做冒泡传递的,但YUI的Event utility的focus和blur事件却可以,因此可以实现集中的事件处理。
以下是一段示例代码:
其中"#toolbar"是一个包含3个按钮的<div>,如下:
10. mouseenter和mouseleave事件
YUI也提供mouseenter和mouseleave事件,代码如下所示:
11. 自定义事件
可以使用on实现简单的自定义事件。
注册listener是这样的:
激发这个事件是这样的:
另外可以用augment将一对象提升为Event target,用publish定义一个Event,注册listener 还是用on,激发事件还是用fire,下面是示例代码:
(图小的话自己放大·)。