使用KVM克隆用于Oracle DB的主机

首先,通过现有的vm1「在上篇文章 使用KVM创建OEL虚拟机 已创建」克隆出一个vm,名字叫做db1,然后修改一些配置,使其更适用于Oracle DB的主机。

  • 1.通过克隆vm1生成db1
  • 2.解决virsh console db1 卡住问题
  • 3.修改配置 CPU、内存、磁盘大小
  • 4.配置局域网yum源

1.通过克隆vm1生成db1

克隆一个VM,以vm1为模版克隆db1:

--clone vm:
# virsh suspend vm1

# virt-clone \
--connect qemu:///system \
--original vm1 \
--name db1 \
--file /flash/vm-images/db1.img

# virsh resume vm1

# virsh start db1

2.解决virsh console db1 卡住问题

使用virt-manager图形进入终端,修改IP地址之后就可以ssh连接IP地址登陆了,再来配置解决virsh console db1 问题;

1)在 /etc/securetty 文件尾部追加内容:

echo ttyS0 >> /etc/securetty

2)在 /etc/inittab 文件尾部追加内容:

echo "S0:12345:respawn:/sbin/agetty/ ttyS0 115200" >> /etc/inittab

3)修改 /etc/grub2.cfg

在指定位置后添加console=ttyS0,具体在系统内核版本这里:

[root@localhost ~]# uname -a
Linux localhost 5.4.17-2102.201.3.el7uek.x86_64 #2 SMP Fri Apr 23 09:05:55 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux

    100         linux16 /vmlinuz-5.4.17-2102.201.3.el7uek.x86_64 root=/dev/mapper/ol-root ro rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet LANG=en_US.UTF-8
    101         initrd16 /initramfs-5.4.17-2102.201.3.el7uek.x86_64.img

--在第100行这里修改添加“console=ttyS0”,示例如下:

    100         linux16 /vmlinuz-5.4.17-2102.201.3.el7uek.x86_64 root=/dev/mapper/ol-root ro rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet console=ttyS0 LANG=en_US.UTF-8
    101         initrd16 /initramfs-5.4.17-2102.201.3.el7uek.x86_64.img

重启之后再次执行virsh console db1,回车后输入账号密码登录,如果要退出执行 Ctrl+]

[root@bogon ~]# virsh console db1
连接到域 db1
换码符为 ^]


Oracle Linux Server 7.9
Kernel 5.4.17-2102.201.3.el7uek.x86_64 on an x86_64

localhost login: root
Password:
Last login: Sat Jan  7 23:38:36 on ttyS0
[root@localhost ~]#
[root@bogon ~]#
[root@bogon ~]# virsh console db1
连接到域 db1
换码符为 ^]


[root@localhost ~]#

测试执行virsh console db1,回车后输入账号密码登录,退出执行 Ctrl+] 退出,此时再次执行virsh console db1,回车后甚至都无需再次输入密码。
已达成期望效果。

3.修改配置 CPU、内存、磁盘大小

需求是将db1的VM修改为:4 vcpu,16GB,100GB存储;

db1当前配置:

[root@bogon ~]# virsh dominfo db1
Id:             7
名称:       db1
UUID:           43e26717-973d-44f8-8dfb-1a3bd7e5b04f
OS 类型:    hvm
状态:       running
CPU:          2
CPU 时间:   184.7s
最大内存: 2097152 KiB
使用的内存: 2097152 KiB
持久:       是
自动启动: 禁用
管理的保存: 否
安全性模式: selinux
安全性 DOI: 0
安全性标签: system_u:system_r:svirt_t:s0:c532,c921 (enforcing)

下面开始修改:
1)先创建一个100GB的文件:

# dd if=/dev/zero of=/flash/vm-images/db1-lun1.img bs=1M count=102400

[root@bogon qemu]# dd if=/dev/zero of=/flash/vm-images/db1-lun1.img bs=1M count=102400
记录了102400+0 的读入
记录了102400+0 的写出
107374182400字节(107 GB)已复制,279.12 秒,385 MB/秒
```shell

2)关闭vm修改其配置文件,调整VCPU为4,最大内存为16G,增加一块100GB的磁盘:

```shell
# virsh shutdown db1
# virsh edit db1

--修改CPU:
  <vcpu placement='static'>4</vcpu>

--修改最大内存:
  <memory unit='KiB'>16777216</memory>

--原有磁盘内容不变:
<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2'/>
  <source file='/flash/vm-images/db1.img'/>
  <target dev='vda' bus='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>

--仿照原有格式,增加内容,主要修改文件路径、设备名称、slot位置,还有设备类型为raw,其他不变:(注意这里slot的0x08也被用了,所以改为0x10)
<disk type='file' device='disk'>
  <driver name='qemu' type='raw'/>
  <source file='/flash/vm-images/db1-lun1.img'/>
  <target dev='vdb' bus='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x10' function='0x0'/>
</disk>

# virsh create /etc/libvirt/qemu/db1.xml
# virsh dominfo db1
# virsh setmem db1 16777216

修改完成后查看:

[root@bogon qemu]# virsh dominfo db1
Id:             9
名称:       db1
UUID:           43e26717-973d-44f8-8dfb-1a3bd7e5b04f
OS 类型:    hvm
状态:       running
CPU:          4
CPU 时间:   30.1s
最大内存: 16777216 KiB
使用的内存: 16777216 KiB
持久:       是
自动启动: 禁用
管理的保存: 否
安全性模式: selinux
安全性 DOI: 0
安全性标签: system_u:system_r:svirt_t:s0:c565,c897 (enforcing)

4.配置yum源

这个是为了后续安装Oracle时,方便直接yum安装所需包。

可以参考之前文章
Linux的yum源配置总结 配置,这里不再赘述。

AlfredZhao©版权所有「从Oracle起航,领略精彩的IT技术。」
本文转载于网络 如有侵权请联系删除

相关文章

  • fa关于代码

    `点击监听={ onTouch=function(v,e) ife.action==0then 缩放动画(v,1,0.95,250) else 缩放动画(v,1.2,1,250) end end}function缩放动画(view,startscale,endscale,time) localanimatorSetsuofang=AnimatorSet() localscaleX=ObjectAnimator.ofFloat(view,"scaleX",{startscale,endscale}) localscaleY=ObjectAnimator.ofFloat(view,"scaleY",{startscale,endscale}) animatorSetsuofang.setDuration(time) animatorSetsuofang.setInterpolator(DecelerateInterpolator()) animatorSetsuofang.play(scaleX).with(scaleY); animatorSets

  • vue路由history模式下刷新页面404

    #原因vue的路由是由js来控制的,但是,当你刷新浏览器的时候,是向服务器发送请求的一个过程,当访问不到的时候必然会返回404。#解决办法#后台配合将请求同意指向一个有效地址。比如,你的首页请求地址为www.aaa.com/go.html,但是路由变为www.aaa.com/main,这时候你可以与后端人员商量,将www.aaa.com/...统统指向www.aaa.com/go.html,这样就解决了404问题。#仿真路由路由后带.html后缀。我遇到一个问题,就是页面初次加载时是携带参数的,www.aaa.com/go.html?p=123,根据参数p决定是跳转路由A还是路由B,加入跳转到了路由A,也就是www.aaa.com/routerA,这时候刷新,就会出现404问题,这时候后端人员帮忙解释解决不了的,因为还需要携带参数。我的解决办法是:先将路由仿真:也就是将/routerA变为/routerA.html,冰袋跳转时谢丹参数,this.router.push({path:/routerA.html{this.这时在www.aaa.com下真的存放一个routerA.html,

  • 腾讯云COS部署 + 配置CDN

    #腾讯云COS部署+配置cdn由于项目中需要图片上传的功能,所以买了腾讯云的对象存储功能,下面就记录下具体流程,希望能给xdm做些参考##COS部署购买对象存储后,进入控制台,在对象存储中找到存储桶列表,创建存储桶,配置桶名称、地域、权限等。然后,貌似就配置的差不多了。。。那么现在找到对应的接口文档,可以开始在项目里部署了:按照文档的要求,现在在maven文件中加入依赖:图片上传接口:添加COS的配置信息类其中的两个秘钥信息要去这里单独获取:其他的信息在配置管理中均能找到:由于COS默认的访问域名过长,建议使用自定义域名:经过测试,图片上传功能搞定,但是。。。图片下载速度实在不敢恭维,前端从COS加载图片的时间接近2s,速度十分感人,完全达不到业务需求,于是决定尝试下CDN。###配置CDN肯定要先破费咯。。。进入内容分发网络控制台,在域名管理下添加域名:在配置表单里填写域名等信息:配置证书注意,此处的证书内容,不仅要有cert.pem中的内容,后面还要把ca证书(即..chain文件)的内容追加到证书内容后面,否则会报错“证书链错误”,这里感觉COS的文档并没有提及。获取证书链在添加

  • 企业网站建设用哪种cms网站管理系统好?

    现在要建立一个企业网站,使用cms网站管理系统是最好的方法,可以仿站,可以使用现成的模板,也可以定制模板,虽然前端模板是大头,但是网站后台的好坏我们也需要讲究一下,cms网站管理系统很多,但是主流的,成熟的网站系统也不是很多,主要有PageAdminCms、织梦cms,帝国cms,phpcms等,并且包含这几种系统的模板都可以在A5站长站下载,至于哪个cms好一点,其实这个真没有固定的,有的人觉得织梦好,有的人觉得pageadmin好,也有的人觉得帝国cms好用。那么如果是企业建站的话,怎么选择呢?大多数企业建站首先看网站模板是否符合需求、实际上看网站管理系统,不能只看模板,因为模板都是可以改的,而后台才是衡量一个系统好坏的标准,安全,速度,灵活,易用,很多企业在淘宝花很低价格买了一套非常漂亮的模板,以为占了大便宜了、但是后期维护发现后台这里不行,哪里不行,或者过几天就被黑了,这种情况比比皆是,所以对于系统的选择要注意下面几点。一、安全性上面介绍的几种系统中,织梦安全性最差,织梦被黑的频率始终高于其他几种系统、这些都是因为织梦团队解散导致的,网上有很多修补教程,上面几种系统中,page

  • WordPress 博客去除 category 的几种方法

    WordPress默认路径自带category目录,如果不去除最后文章网址会多一个/category/,为了去掉这个无用的路径,我们可以采取插件和代码的方法。本来本文内容是网络上到处都有的,插件和代码多到烂大街的地步了,但是偏偏晚上就有群友问到wordpress博客如何去除category,老魏去魏艾斯博客搜索了一番也没找到,看来是应该在博客里面记录一下,留着以后用了。对于网站的seo优化要求网站路径越浅越好,理论上说搜索引擎认为/category/7237.html的权重不如/7237.html的权重高,蜘蛛来访问的时候抓取后者速度要更快、更多页面,所以要去除category。实际上这些年搜索引擎也在不断发展进化,只要你的网页路径不是四五层那种深度,一般抓取都没问题,但是咱能提前给优化的还是做了呗,网站优化就是这些细节一点点积累起来,由量变到质变的。说说就跑题了,下面继续说去除category的方法。一、最常见的是在wordpress后台>>设置>>固定链接>>可选>>分类目录前缀的空格里,输入英文状态的.再保存,这样可以轻松去除cat

  • Java案例-俄罗斯方块/蜘蛛纸牌

    《俄罗斯方块》(Tetris,俄文:Тетрис)是一款由俄罗斯人阿列克谢·帕基特诺夫于1984年6月发明的休闲游戏。该游戏曾经被多家公司代理过。经过多轮诉讼后,该游戏的代理权最终被任天堂获得。任天堂对于俄罗斯方块来说意义重大,因为将它与GB搭配在一起后,获得了巨大的成功。《俄罗斯方块》的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。相关截图: 链接:https://pan.baidu.com/s/1htysJIk密码:72v2Java开发蜘蛛纸牌《蜘蛛纸牌》是由OberonGames开发的一款休闲益智类游戏,该游戏已由Microsoft于2010年发行。同时该游戏也是WindowsME及后续版本所自带的小游戏,游戏的目标是以最少的移动次数将牌面中的十叠牌以及待发的五组,共计八副牌整理移除。当所有牌被移除整理到界面的左下方,游戏获胜。在“游戏”菜单上,单击“开局”开始游戏。牌面上有十叠牌,前四叠每叠6张,后六叠每叠5张,只有每叠的第一张正面朝外,其他均为正面朝内。界面的右下角有五组共计50张牌,没有全部翻开。windowsxp版本中,界面的中

  • H2数据库集群_数据库集群搭建

    大家好,又见面了,我是你们的朋友全栈君。H2数据库集群1.H2数据库简介1.1H2数据库优势常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL。其中H2,HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独立的客户端和服务器端。 H2的优势: 1、h2采用纯Java编写,因此不受平台的限制。 2、h2只有一个jar文件,十分适合作为嵌入式数据库试用。 3、性能和功能的优势 H2比HSQLDB的最大的优势就是h2提供了一个十分方便的web控制台用于操作和管理数据库内容,这点比起HSQLDB的swing和awt控制台实在好用多了。 H2和各数据库特征比较1.2H2特征1.2.1主要特征•超快的数据库引擎 •开源 •纯JAVA编写 •支持标准SQL和JDBC •支持内嵌模式、服务器模式和集群 •高强度的安全保障 •支持PostgreSQL的ODBC驱动 •多种并发机制1.2.2其他特征•支持磁盘和内存数据库,支持只读数据库,支持临时表 •支持事务(读提交和序列化事务隔离),支持2阶段提交 •支持多连接,支持表级锁 •使用基于成本的优化

  • 读《构建之法》一二六章有感

    前言  自从进入大学,不管是在与软件工程有关的课堂上还是相关实践中,对于软件工程技术流程,团队合作以及需求分析,我一直以来的理解都比较模糊而且并不具象,所以这本《构建之法》于我便来的及时又有效,下面是在精读第一、二、六章之后的一些感悟和疑惑。 第一章 概论 Part1  书的开头写到“程序=数据结构+算法”,这句话我们的数据结构老师上课时曾经也说过,而由此引申出问题:我们写算法到底有什么实际用处。通过后面书中航空业和软件业的类比中我有了初步的理解,二叉树等算法是基本知识,所有看起来不知实际用处的算法在经过需求分析设计等一系列努力后逐渐才能成为具有有效功能且成熟的软件,在查询有关资料后,惊讶的发现有关二叉树的应用居然还有游戏方面,这也说明了有时我们的见识总是有些浅薄的,路漫漫其修远兮,只有上下而求索才能变得丰富而广博。  而我的问题出现在软件功能基本完备后,书中以飞机出现故障类比,写道虽然概率仅为百万分之一,但是我们依旧会做这些安全设备,但是对于软件来说,除了在出现故障后进行维护我们如何知道软件可能存在的隐患从而未雨绸缪呢。还是从经验上进行防范,比

  • 跟我一起写 Makefile(一)[转]

    原文链接 http://bbs.chinaunix.net/thread-408225-1-1.html(出处:http://bbs.chinaunix.net/) 陈皓 概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。makefile带来的好处就是——“

  • Linux服务器器上Nginx安装

    下载压缩包并上传  http://nginx.org/en/download.html安装依赖 yum-yinstallgcczlibzlib-develpcre-developenssl openssl-devel复制   创建⼀一个⽂文件夹,上传本地提供的nginx包 tar-zxvfnginx-1.18.0.tar.gz //执⾏行行命令 ./configure make makeinstall复制   默认安装路路径  /usr/local/nginx访问配置 cd/usr/local/nginx/sbin ./nginx复制   防⽕火墙开放端⼝口,阿⾥里里云⽹网络安全组配置80端⼝口   配置完成。 Welcometonginx! https://www.cnblogs.com/wxk515/

  • C#树的实现

    ddd ///<summary> ///遍历,线索化等操作的接口 ///</summary> interfaceITravelBinTree { voidPreOrderTravel(); voidInOrderTravel(); voidRevOrderTravel(); voidPrint(IBinNodet); } interfaceIInsertBinTree { voidInsert(IBinNodenode,Positionpos); }复制 ///<summary> ///二叉树节点的抽象定义 ///</summary> interfaceIBinNode { boolisLeaf(); objectElement{get;set;} IBinNodeLeft{get;set;} IBinNodeRight{get;set;} } ///<summary> ///Normalactualizeofbintree ///</summary> classBinNodePtr:IBinNode {

  • 【题解】牛客练习赛41-D 最小相似度

    题目链接 \(\text{Solution:}\) 首先考虑我们到底要求啥,实际就是要快速求出对于一个数\(x,\)所有数与它异或后的SIM值。 一种naive的想法是直接枚举\(T,\)显然复杂度爆炸,因为\(n\)太大了,是\(O(2^m\timesn)\)的。 考虑把\(n\)干掉,倒着想。题目的描述引导我们去二分答案。 设当前答案是\(mid,\)目标就是看是否存在一个\(x\)满足最大SIM不超过\(x.\) 考虑设\(f_x\)表示\(x\)在二进制下\(0\)的个数,寻找一个逆向的突破口: 不能直接枚举\(x,\)考虑什么情况下我们可以知道存在这样一个\(x.\) 那么发现,每个数\(v_i\)在经过变换后的值就是\(v_i\text{xor}x,\)那不妨从这个最终状态出发。 考虑预处理出所有二进制下\(0\)的个数等于\(i\)的数,那么设\(g_x\)表示\(x\)这个数是否有贡献,那么把\(cnt\leqmid\)的贡献都算上,现在我们就有了两个多项式: \[f,g \]那么设\(c,c_x=\sum_{i\text{xor}j=x}f_i\timesg_j\)

  • RSTP

    STP的收敛速度特点:【不是那么高效、快速】端口从阻塞状态过渡到转发状态,转发延迟就会消耗30秒; 发生故障时,处于阻塞状态的端口无法收到BPDU,它默认会等待20秒,也就是等待MaxAge计时器超时,才会触发交换机重新计算STP。【判断链路是否无法与根桥取得连接】   改善STP的问题:端口在从阻塞状态进入转发状态,需要经历学习、侦听两个状态,这些过渡状态都是必要的吗?所连设备根本不是交换机的端口也必须在其他状态中进行等待才能过渡到转发状态,这合理吗?交换机将等待根交换机发送CBPDU的时间为根交换机发送CBPDU间隔(默认为2秒)的10倍,这个等待时间是否过长?   RSTP的特点:取消和修改了STP标准中定义的某些端口状态; 定义了几个新的端口角色和一些可以让端口直接由阻塞状态过渡到转发状态的情形; 减少了交换机等待根交换机发送CBPD的时间。【6s=3X2s hello报文间隔】   RSTP的端口角色: 根端口(RP); 指定端口(DP); 预备端口(AP); 备份端口(BackupPort,BP)。   预备端口与备份端口比

  • 路飞学城——字典作业

    1#1.用你能想到的最少的代码生成一个包含100个key的字典,每个value的值不能一样 2''' 3#importrandom 4key={} 5foriinrange(100): 6key.setdefault(i,i) 7#key.setdefault(random.randrange(101),random.randrange(101)) 8#setkey[range(100)=range(100)ifrange(100)notinkey] 9print(key) 10#setD[k]=difknotinD 11''' 12 13#2.{'k0':0,'k1':1,'k2':2,'k3':3,'k4':4,'k5':5,'k6':6,'k7':7,'k8':8,'k9':9} 14#请把这个dict中key大于5的值value打印出来。 15''' 161. 17dic={'k0':0,'k1':1,'k2':2,'k3':3,'k4':4,'k5':5,'k6':6,'k7':7,'k8':8,'k9':9} 18forkindic: 19ifdic[k]>5: 20

  • springframework的ReflectionUtils反射工具类功能举例

    importcom.shein.dms.common.BasicCase; importcom.shein.dms.utils.MathUtils; importcom.shein.dms.utils.TimeUtils; importlombok.extern.slf4j.Slf4j; importorg.springframework.util.Assert; importorg.springframework.util.ReflectionUtils; importorg.testng.annotations.Test; importjava.lang.reflect.Method; /** *@author:gongxr *@description:测试反射工具类 */ @Slf4j publicclassTestReflectionUtilsextendsBasicCase{ /** *指定无参方法反射执行 *步骤:找方法、实例化、反射执行 */ @Test publicvoidtestFindMethod()throwsException{ Class<TimeU

  • jmeter 中文乱码问题解决

    1、解决查看结果数里response中文乱码  1).jmeterbin目录下找到并打开jmeter.properties文件,做如下修改      2).重启jmeter 2、解决httprequest输入参数值为中文时乱码1).jmeterbin目录下找到并打开jmeter.properties文件,取消注释如下一行:     2).重启jmeter  3、是jmeter的一个bug需要下载jar包将jar包放在jmeter的lib/ext/ 中,重启jmeter 链接: https://pan.baidu.com/s/1GjbJnDGmmgmrLcVIAu1Kvw 提取码:uqax 然而以上问题都操作完还是显示乱码     最终根据链接https://blog.csdn.net/weixin_44383795/article/details/122866207 中写的,替换新的jar包ok了

  • py--haslib

    摘要算法简介 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 举个例子,你写了一篇文章,内容是一个字符串'howtousepythonhashlib-byMichael',并附上这篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'。如果有人篡改了你的文章,并发表为'howtousepythonhashlib-byBob',你可以一下子指出Bob篡改了你的文章,因为根据'howtousepythonhashlib-byBob'计算出的摘要不同于原始文章的摘要。 可见,摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。 摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过digest反推data却非常困难。而且,对原始数据做一个bit的修改,都会导致计算出的摘要完全不

  • 02.语言元素

    1、华氏度转摄氏度 huashidu=float(input('请输入华氏度:')) sheshidu=(huashidu-32)/8 print('摄氏度为{a}'.format(a=sheshidu))复制   2、输入半径,计算圆的周长和面积 r=float(input('请输入圆的半径:')) zhouchang=2*3.14*r mianji=3.14*r**2 print('该圆的周长为{a},面积为{b}'.format(a=zhouchang,b=mianji))复制   3、输入年份判断是否为闰年 year=int(input('请输入年份:')) is_leap=year%4==0andyear%100!=0oryear%400==0 print(is_leap)复制  

  • [转]Windows 服务

      原文:http://www.cnblogs.com/hfliyi/archive/2012/08/12/2635290.html   windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境特别适合,它没有用户界面,不会产生任何可视输出,任何用户输出都回被写进windows事件日志。计算机启动时,服务会自动开始运行,他们不要用户一定登陆才运行。 可以通过选择菜单“开始”-〉“控制面板”-〉“管理工具”-〉“服务”来查看现有系统中的服务,如下图:     创建window服务 新建一个window服务项目MyService,如下图     切换到代码视图修改. 1usingSystem; 2usingSystem.Collections.Generic; 3usingSystem.ComponentModel; 4usingSystem.Data; 5usingSystem.Diagnostics; 6usingSystem.IO; 7usingSystem.Linq; 8usingSystem

  • vue drag 对表格的列进行拖动排序

    用drag实现拖动表格列进行列排序   以下是用到的主要方法   1.dragstart拖动开始返回目标对象 2.dragenter拖动过程中经过的对象 3.dragend拖动结束返回目标对象   部分代码*****************************************************************   html   <tableclass="el-tableel-table--borderel-table--small"style="margin-top:20px;"> <theadclass="el-table__header-wrapperhas-gutter"> <tr> <thv-for="(columns,index)intablesColumns"draggable='true'@dragstart="dragstartEvent(index)"@dragenter="dragenterEvent($event,columns)"@dragend

  • 《技术管理之巅》读书笔记

    《技术管理之巅-如何从零打造高质效的互联网技术团队》 作者:黄哲坚 一号店的CTO 读后有感 这本书是互联网技术管理的科普之作,涵盖的面很广,有管理上的,技术上的,项目上的,科普文学,可以读一读了解一下。 我感觉是这样的,可能我还没有到那个高度。 记录我get到的 零售业的渠道模式 单渠道 多渠道 跨渠道指的是各渠道之间的数据全部打通,给会员提供的服务是一致的,这样顾客在任何一个渠道的购买行为,偏好都被汇集成会员的大数据 全渠道在跨渠道的基础上,实现顾客与企业间的双向互动,共同定制个性化服务。 技术管理的终极目标 使技术与业务高度融合。 技术管理是通过一系列的方法、制度、流程、工具、理念,来使生意中各个环节高效协同在一起,使得技术与业务高度融合,它的结果是生态链的创新,是打造出体验一流的产品和服务。 解决分歧的办法 建立数据反馈机制--描述要使用数据,而不是大幅度提高,极大,等这些模糊的词。 低成本的快速试错--A/B测试,让以下部分用户先体验一下 想办法融合,解决问题,而不是给老板制造问题不去解决。(重要) CTO工作成效评估表 工作类别 工作内容 得分(1-5)

相关推荐

推荐阅读