- Vue 列表渲染&数据更新
爱菜鸟高高飞
vue每日一更前端vue.jselementuijavascript
一.基本使用基本列表人员列表(遍历数组){{p.name}}-{{p.age}}汽车信息(遍历对象){{k}}-{{value}}测试遍历字符串(用得少){{char}}-{{index}}测试遍历指定次数(用得少){{index}}-{{number}}Vue.config.productionTip=falsenewVue({el:'#root',data:{persons:[{id:'001
- C++ STL常用二分查找算法
basketball616
C++基础算法c++数据结构
lower_boundlower_bound是C++标准库算法,通常用于有序序列中查找第一个不小于给定值的元素。它属于头文件,并且是基于二分查找实现的,因此要求输入序列必须是有序的。基本语法#include//引入算法库Iteratorlower_bound(Iteratorfirst,Iteratorlast,constT&value);first和last是迭代器,分别表示容器的起始位置和结束
- 时序数据库IoTDB可实现的基本操作及命令汇总
时序数据说
时序数据库iotdb数据库物联网大数据开源
一、数据写入、删除与导出1.1数据写入在物联网场景下,元件产生的数据通常会自动写入。但有时,需要修改过去的数据,可以使用INSERT语句插入修改后的值,覆盖原数据。示例:INSERTINTOroot.BHSFC.Q1.W003(timestamp,speed)VALUES(1657472400000,2);1.2数据删除1.2.1SQL语句删除删除整个时间序列:DELETEFROMroot
- day02 数组part02
hwt819
算法java数据结构
209.长度最小的子数组滑动窗口,窗口满足条件,就开始移左边。classSolution{publicintminSubArrayLen(inttarget,int[]nums){intlength=Integer.MAX_VALUE;intsum=0;intleft=0;for(inti=0;i=target){//记录长度length=Math.min(length,i-left+1);//缩
- 前端基础知识JavaScript系列 - 25(Javascript本地存储)
前端小白从0开始
前端javascript开发语言
一、方式javaScript本地缓存的方法我们主要讲述以下四种:cookiesessionStoragelocalStorageindexedDBcookieCookie,类型为「小型文本文件」,指某些网站为了辨别用户身份而储存在用户本地终端上的数据。是为了解决HTTP无状态导致的问题作为一段一般不超过4KB的小型文本数据,它由一个名称(Name)、一个值(Value)和其它几个用于控制cooki
- 2025.最新java高频面试题(八股文)
Java进阶八股文
java算法jvmspringspringbootspringcloud
1.String的底层实现是怎样的?1.String类由final修饰,不可以被继承2.底层是由char数组实现的3.value用final修饰,不能修改value的引用地址(value不可变)4.private修饰和成员变量没有提供setter接口,保证了不可以通过外部接口来修改String的值5.在JDK9中,将底层的char[]数组改为了byte[]数组存储。原因:char类型是2字节的,使
- Kotlin 退出循环总结
xiangxiongfly915
Kotlinkotlin
文章目录Kotlin退出循环总结for循环forEach()嵌套for循环lambda函数inline函数Kotlin退出循环总结for循环for((index,value)inlist.withIndex()){if(value=="c"){break//退出循环}println("$index-$value")}//0-a//1-bforEach()list.forEach{if(it=="c
- 37道uni-app面试八股文(答案、分析和深入提问)整理
1.简述uniApp如何本地存储数据?回答在uni-app中,可以使用内置的uni.setStorageSync和uni.getStorageSync方法来进行本地存储。以下是存储和获取数据的基本步骤:本地存储数据使用uni.setStorageSync方法//设置数据uni.setStorageSync('key','value');//设置对象uni.setStorageSync('userI
- 鸿蒙版保存图片功能实现
harmonyos
保存图片///拍照并保存到相册Future_takePhoto()async{print("[拍照]开始拍照并保存");//检查相机初始化状态if(_cameraController==null||!_cameraController!.value.isInitialized){print('[拍照]相机未初始化,无法拍照');return;}try{//拍摄照片print("[拍照]正在拍摄..
- sql优化:
墨京
mysqlsql数据库
1.插入语句sql优化:insert语句优化:1.批量插入,这样可以避免多次的和数据库交互,提高性能。建议500-1000条数据一次批量插入。insertintot_ordervalues('1','o1','1'),('2','o2','1'),('3','o3','1')2.手动提交事物:避免多次的事物提交操作,当所有要插入的数据插入完成后,手动提交。STARTTRANSACTIONinser
- SQL 存储过程(下)
阿亮爱学代码
MYSQLsql数据库sql存储过程mysql
此篇为关于介绍SQL存储过程介绍的下篇,如有需要同学可以根据上一篇结合这一篇,通透理解关于sql存储过程的理解,希望可以帮到大家,万分感激。目录1.8case1.9循环while2.0循环-repeat2.1循环-loop2.2游标-cursor1.8case语法一:CASEcase_valueWHENwhen_value1THENstatement_list1[WHENwhen_value2TH
- N-P准则下的多传感器融合(python)
不会打架的锤子
机器学习自动化算法算法pythonvscode
本文设计了一个主程序:main_sensor_fusion,和一个函数程序:cal_fuse。主程序里面包含主干部分和绘图部分,函数程序包含数据生成函数gen,检测概率计算函数cal,非0逻辑矩阵函数No_zero_value,单传感器判决函数fus_seq,多传感融合函数fusion。需要的点赞私聊if__name__=="__main__":begin_time=time()#Measurep
- SQL Server 等待数据库引擎恢复句柄失败
y523648
数据库服务器运维
用管理员身份运行PowerShell,模拟扇区大小为4KbNew-ItemProperty-Path"HKLM:\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device"-Name"ForcedPhysicalSectorSizeInBytes"-PropertyTypeMultiString-Force-Value"*4095"验
- 模板函数使用is_same的注意事项
Ethan Wilson
C++c++
在模板函数中使用is_same判断类型的话,编译器会实例化所有路径,即使某些路径在运行时不会被执行。这意味着编译器会检查所有的分支,确保它们都是有效的。例如如果存在从string转为int的路径,即便T为string时不会进入该路径,依旧会编译失败。templatevoidf(){if(is_same::value){Ta=1;}else{Ts="23";//errorC2440:“初始化”:无法
- webdriver常用方法+鼠标键盘事件+浏览器高级操作
要站在顶端
UI自动化selenium
文章目录webdriver操作元素、获取元素常用方法浏览器控制浏览器cookies鼠标事件键盘事件**常用方法**上传文件内嵌网页iframe切换浏览器标签页切换页面滚动截图警告框处理下拉框处理webdriver操作元素、获取元素常用方法常用方法clear():清除文本。send_keys(value):模拟按键输入(被操作元素需要是个文本输入框)。click():单击元素。其他方法#size:返
- 9-STM32的ADC采样和DAM配置
水果里面有苹果
嵌入式软件stm32单片机嵌入式硬件
STM32的ADC采样和DAM配置Adc_Init();//ADC初始化My_DMA_Config(DMA1_Channel1,(u32)&ADC1->DR,(u32)&ADC1_Value,ADC_CHANNEL_NUM*ADC_C_VAL_TIMES);//配置DMA通道DMA_Cmd(DMA1_Channel1,ENABLE);//启动DMA通道ADC_SoftwareStartConvCm
- @Cacheable 和 @CacheEvict 注解的详细使用说明及参数解析,结合 Spring Cache 的核心功能和实际开发场景
大手你不懂
JavaJava项目实战Redisspringjavaredis
一、@Cacheable注解详解1.核心作用@Cacheable用于标记方法的返回值需要被缓存。执行逻辑:方法调用前检查缓存:若缓存存在且有效,直接返回缓存值;否则执行方法并将结果存入缓存。2.关键参数参数名作用示例value/cacheNames必填,指定缓存名称(命名空间),可配置多个缓存。@Cacheable(value="users",key="#id")key指定缓存键(支持SpEL表达
- 深入理解Jackson的@JsonValue注解及其应用实例
t0_54manong
java开发语言个人开发
深入理解Jackson的@JsonValue注解及其应用实例在Java的JSON处理库中,Jackson无疑是最流行的库之一。它提供了强大的数据绑定功能,允许开发者轻松地将Java对象序列化成JSON格式,以及将JSON字符串反序列化成Java对象。在Jackson库中,@JsonValue注解是一个特别有用的特性,它允许开发者自定义对象的序列化值。本文将详细探讨@JsonValue注解的使用,并
- JSON简介及其应用
Jackson@ML
MongoDBJavaScriptNode.jsjsonJavaScriptNode.js
JSON简介及其应用
[email protected]的概念JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,采用键值对(key-value)的方式组织数据,语法类似JavaScript对象,易于人阅读和机器解析。2.JSON的作用JSON有几方面的作用如下:•在前后端数据交互中传
- k8s中topologyKey 的作用
容器云
容器云kubernetes容器云原生
spec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:-matchExpressions:-key:rcs-msg-notify-prodoperator:Invalues:-'true'podAffinity:requiredDuringSchedulingIgnor
- 在C#中 属性(Properties)get 和 set
周杰伦fans
ai学习参考学习C#的笔记c#服务器
在C#中,属性(Properties)是一种特殊的方法,用于封装类、结构或接口中的字段。属性允许你控制对字段的访问,并可以在设置或获取值时执行额外的逻辑。属性通常由两个访问器组成:get和set。基本属性定义publicclassPerson{privatestringname;publicstringName{get{returnname;}set{name=value;}}}在这个例子中,Na
- android15 修改默认亮度及关闭自动亮度调节
darling_user
Androidandroid
默认亮度1、先把设备亮度手动调整到对应亮度2、通过adb命令获取对应亮度值adbshellsettingsgetsystemscreen_brightness3、代码上修改默认亮度值SYS/frameworks/base/core/res/res/values/config.xml-102+255SYS/frameworks/base/packages/SettingsProvider/res/v
- android15设备不带闪烁指示灯,去掉设置及日历下的指示灯选项
darling_user
Androidandroid
SYS/vendor/sprd/platform/frameworks/base/core/FrameworkResOverlay/res/values/config.xml-true+falseSYS/vendor/sprd/platform/frameworks/base/core/res/res/values/config.xml-true+false</bool
- springboot 外卖-Day3-1
CHARLIIE
springbootjava后端
进度好难推救命自定义注解注解@Target和@Retention的作用_target注解retention注解-CSDN博客其实都是规定动作AOP三点:切面、切入点、通知SpringBoot中使用Aspect实现切面,超详细_aspect切面-CSDN博客自定义注解中定义了value这个方法参数要有@AutoFill(value=OperationType.INSERT)@RequestBody要
- for...in 与 for...of的区别是啥?用错后果很严重
for…in与for…of循环详解在JavaScript中,for...in和for...of是两种常用的循环语句,但它们在使用场景和行为上有显著区别。下面我将详细解释它们的差异,并通过示例代码进行说明。核心区别对比表特性for...infor...of遍历目标对象的可枚举属性可迭代对象的值返回值类型键名(key)值(value)适用对象普通对象、数组(不推荐)数组、字符串、Map、Set、Nod
- #Vue3篇: vue3梳理 :&ref自动解包&key使用
程序员xiaolibao
Vue3篇vue
vue3Attribute绑定同名简写如果attribute的名称与绑定的JavaScript值的名称相同,那么可以进一步简化语法,省略attribute值在模板中使用ref时,我们不需要附加.value。为了方便起见,当在模板中使用时,ref会自动解包(有一些注意事项)。import{ref}from'vue'exportdefault{setup(){constcount=ref(0)func
- ts学习笔记七:泛型
//泛型的用处在于当我们调用的时候确定类型,而不是一开始就写好类型,类型不确定,只有在执行的时候才能确定//1.单个泛型声明的时候需要用(times:number,value:T):Array{//根据对应参数的类型给T赋值//letresult=[];//for(leti=0;i{//[key:number]:T//}//interfaceICreateArray{//interface后面的类
- Domain 层完全指南(面向 iOS 开发者)
依旧风轻
AppArchitectureSQIiOSDomainEntity
目录为什么需要Domain层清晰的三层架构核心概念:Entity/ValueObject/UseCase/RepositorySwift代码实战测试策略在旧项目中落地的步骤结语1为什么需要Domain层在传统MVC/MVVM中,我们往往把业务规则写进ViewController或ViewModel。问题随规模放大而爆发:痛点具体表现可测试性差单元测试必须启动UIKit,跑真机或模拟器业务难复用同样
- C++:vector容器(上篇)
李白同学
C++c++开发语言
1.vector的介绍及使用1.1vector的介绍vector文档说明链接:vector-C++Reference(cplusplus.com)1.2vector的使用1.2.1vector的定义(constructor)构造函数声明接口说明vector()(重点)无参构造vector(size_typen,constvalue_type&val=value_type())构造并初始化n个val
- C++中对象传参的几种方式
递归书房
c++
在C++中传递对象作为函数参数有多种方式,每种方式都有不同的语义、性能特点和适用场景。以下是全面的分析和最佳实践指南:1.按值传递(PassbyValue)voidprocessObject(MyClassobj){//操作obj的副本}MyClassoriginal;processObject(original);//复制构造新对象特点:创建对象的完整副本函数内修改不影响原始对象调用时发生复制构
- redis学习笔记——不仅仅是存取数据
Everyday都不同
returnSourceexpire/delincr/lpush数据库分区redis
最近项目中用到比较多redis,感觉之前对它一直局限于get/set数据的层面。其实作为一个强大的NoSql数据库产品,如果好好利用它,会带来很多意想不到的效果。(因为我搞java,所以就从jedis的角度来补充一点东西吧。PS:不一定全,只是个人理解,不喜勿喷)
1、关于JedisPool.returnSource(Jedis jeids)
这个方法是从red
- SQL性能优化-持续更新中。。。。。。
atongyeye
oraclesql
1 通过ROWID访问表--索引
你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.
2 共享SQL语句--相同的sql放入缓存
3 选择最有效率的表
- [JAVA语言]JAVA虚拟机对底层硬件的操控还不完善
comsci
JAVA虚拟机
如果我们用汇编语言编写一个直接读写CPU寄存器的代码段,然后利用这个代码段去控制被操作系统屏蔽的硬件资源,这对于JVM虚拟机显然是不合法的,对操作系统来讲,这样也是不合法的,但是如果是一个工程项目的确需要这样做,合同已经签了,我们又不能够这样做,怎么办呢? 那么一个精通汇编语言的那种X客,是否在这个时候就会发生某种至关重要的作用呢?
&n
- lvs- real
男人50
LVS
#!/bin/bash
#
# Script to start LVS DR real server.
# description: LVS DR real server
#
#. /etc/rc.d/init.d/functions
VIP=10.10.6.252
host='/bin/hostname'
case "$1" in
sta
- 生成公钥和私钥
oloz
DSA安全加密
package com.msserver.core.util;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
public class SecurityUtil {
- UIView 中加入的cocos2d,背景透明
374016526
cocos2dglClearColor
要点是首先pixelFormat:kEAGLColorFormatRGBA8,必须有alpha层才能透明。然后view设置为透明glView.opaque = NO;[director setOpenGLView:glView];[self.viewController.view setBackgroundColor:[UIColor clearColor]];[self.viewControll
- mysql常用命令
香水浓
mysql
连接数据库
mysql -u troy -ptroy
备份表
mysqldump -u troy -ptroy mm_database mm_user_tbl > user.sql
恢复表(与恢复数据库命令相同)
mysql -u troy -ptroy mm_database < user.sql
备份数据库
mysqldump -u troy -ptroy
- 我的架构经验系列文章 - 后端架构 - 系统层面
agevs
JavaScriptjquerycsshtml5
系统层面:
高可用性
所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速
- 利用ant进行远程tomcat部署
aijuans
tomcat
在javaEE项目中,需要将工程部署到远程服务器上,如果部署的频率比较高,手动部署的方式就比较麻烦,可以利用Ant工具实现快捷的部署。这篇博文详细介绍了ant配置的步骤(http://www.cnblogs.com/GloriousOnion/archive/2012/12/18/2822817.html),但是在tomcat7以上不适用,需要修改配置,具体如下:
1.配置tomcat的用户角色
- 获取复利总收入
baalwolf
获取
public static void main(String args[]){
int money=200;
int year=1;
double rate=0.1;
&
- eclipse.ini解释
BigBird2012
eclipse
大多数java开发者使用的都是eclipse,今天感兴趣去eclipse官网搜了一下eclipse.ini的配置,供大家参考,我会把关键的部分给大家用中文解释一下。还是推荐有问题不会直接搜谷歌,看官方文档,这样我们会知道问题的真面目是什么,对问题也有一个全面清晰的认识。
Overview
1、Eclipse.ini的作用
Eclipse startup is controlled by th
- AngularJS实现分页功能
bijian1013
JavaScriptAngularJS分页
对于大多数web应用来说显示项目列表是一种很常见的任务。通常情况下,我们的数据会比较多,无法很好地显示在单个页面中。在这种情况下,我们需要把数据以页的方式来展示,同时带有转到上一页和下一页的功能。既然在整个应用中这是一种很常见的需求,那么把这一功能抽象成一个通用的、可复用的分页(Paginator)服务是很有意义的。
&nbs
- [Maven学习笔记三]Maven archetype
bit1129
ArcheType
archetype的英文意思是原型,Maven archetype表示创建Maven模块的模版,比如创建web项目,创建Spring项目等等.
mvn archetype提供了一种命令行交互式创建Maven项目或者模块的方式,
mvn archetype
1.在LearnMaven-ch03目录下,执行命令mvn archetype:gener
- 【Java命令三】jps
bit1129
Java命令
jps很简单,用于显示当前运行的Java进程,也可以连接到远程服务器去查看
[hadoop@hadoop bin]$ jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:
- ZABBIX2.2 2.4 等各版本之间的兼容性
ronin47
zabbix更新很快,从2009年到现在已经更新多个版本,为了使用更多zabbix的新特性,随之而来的便是升级版本,zabbix版本兼容性是必须优先考虑的一点 客户端AGENT兼容
zabbix1.x到zabbix2.x的所有agent都兼容zabbix server2.4:如果你升级zabbix server,客户端是可以不做任何改变,除非你想使用agent的一些新特性。 Zabbix代理(p
- unity 3d还是cocos2dx哪个适合游戏?
brotherlamp
unity自学unity教程unity视频unity资料unity
unity 3d还是cocos2dx哪个适合游戏?
问:unity 3d还是cocos2dx哪个适合游戏?
答:首先目前来看unity视频教程因为是3d引擎,目前对2d支持并不完善,unity 3d 目前做2d普遍两种思路,一种是正交相机,3d画面2d视角,另一种是通过一些插件,动态创建mesh来绘制图形单元目前用的较多的是2d toolkit,ex2d,smooth moves,sm2,
- 百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序
bylijinnan
java算法面试百度招聘
import java.util.Arrays;
/**
* 最早是在陈利人老师的微博看到这道题:
* #面试题#An array with n elements which is K most sorted,就是每个element的初始位置和它最终的排序后的位置的距离不超过常数K
* 设计一个排序算法。It should be faster than O(n*lgn)。
- 获取checkbox复选框的值
chiangfai
checkbox
<title>CheckBox</title>
<script type = "text/javascript">
doGetVal: function doGetVal()
{
//var fruitName = document.getElementById("apple").value;//根据
- MySQLdb用户指南
chenchao051
mysqldb
原网页被墙,放这里备用。 MySQLdb User's Guide
Contents
Introduction
Installation
_mysql
MySQL C API translation
MySQL C API function mapping
Some _mysql examples
MySQLdb
- HIVE 窗口及分析函数
daizj
hive窗口函数分析函数
窗口函数应用场景:
(1)用于分区排序
(2)动态Group By
(3)Top N
(4)累计计算
(5)层次查询
一、分析函数
用于等级、百分点、n分片等。
函数 说明
RANK() &nbs
- PHP ZipArchive 实现压缩解压Zip文件
dcj3sjt126com
PHPzip
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。
一、解压缩zip文件 01 02 03 04 05 06 07 08 09 10 11
- 精彩英语贺词
dcj3sjt126com
英语
I'm always here
我会一直在这里支持你
&nb
- 基于Java注解的Spring的IoC功能
e200702084
javaspringbeanIOCOffice
- java模拟post请求
geeksun
java
一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。 此处用HttpComponents的httpclient来完成使命。
import org.apache.http.HttpEntity ;
import org.apache.http.HttpRespon
- Swift语法之 ---- ?和!区别
hongtoushizi
?swift!
转载自: http://blog.sina.com.cn/s/blog_71715bf80102ux3v.html
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:
var stringValue : String
//
- centos7安装jdk1.7
jisonami
jdkcentos
安装JDK1.7
步骤1、解压tar包在当前目录
[root@localhost usr]#tar -xzvf jdk-7u75-linux-x64.tar.gz
步骤2:配置环境变量
在etc/profile文件下添加
export JAVA_HOME=/usr/java/jdk1.7.0_75
export CLASSPATH=/usr/java/jdk1.7.0_75/lib
- 数据源架构模式之数据映射器
home198979
PHP架构数据映射器datamapper
前面分别介绍了数据源架构模式之表数据入口、数据源架构模式之行和数据入口数据源架构模式之活动记录,相较于这三种数据源架构模式,数据映射器显得更加“高大上”。
一、概念
数据映射器(Data Mapper):在保持对象和数据库(以及映射器本身)彼此独立的情况下,在二者之间移动数据的一个映射器层。概念永远都是抽象的,简单的说,数据映射器就是一个负责将数据映射到对象的类数据。
&nb
- 在Python中使用MYSQL
pda158
mysqlpython
缘由 近期在折腾一个小东西须要抓取网上的页面。然后进行解析。将结果放到
数据库中。 了解到
Python在这方面有优势,便选用之。 由于我有台
server上面安装有
mysql,自然使用之。在进行数据库的这个操作过程中遇到了不少问题,这里
记录一下,大家共勉。
python中mysql的调用
百度之后能够通过MySQLdb进行数据库操作。
- 单例模式
hxl1988_0311
java单例设计模式单件
package com.sosop.designpattern.singleton;
/*
* 单件模式:保证一个类必须只有一个实例,并提供全局的访问点
*
* 所以单例模式必须有私有的构造器,没有私有构造器根本不用谈单件
*
* 必须考虑到并发情况下创建了多个实例对象
* */
/**
* 虽然有锁,但是只在第一次创建对象的时候加锁,并发时不会存在效率
- 27种迹象显示你应该辞掉程序员的工作
vipshichg
工作
1、你仍然在等待老板在2010年答应的要提拔你的暗示。 2、你的上级近10年没有开发过任何代码。 3、老板假装懂你说的这些技术,但实际上他完全不知道你在说什么。 4、你干完的项目6个月后才部署到现场服务器上。 5、时不时的,老板在检查你刚刚完成的工作时,要求按新想法重新开发。 6、而最终这个软件只有12个用户。 7、时间全浪费在办公室政治中,而不是用在开发好的软件上。 8、部署前5分钟才开始测试。