- 使用Debug-View Kotlin,提升你的Android调试体验!
侯深业Dorian
使用Debug-ViewKotlin,提升你的Android调试体验!去发现同类优质开源项目:https://gitcode.com/1、项目介绍Debug-ViewKotlin是一个专为Android开发者设计的高效、直观的浮层调试控制台。它会在应用界面的最上方提供实时的性能指标和日志信息,包括但不限于内存占用、帧率(FPS)、启动时间和各种自定义的日志数据。只需简单集成,就能让开发和测试过程变
- android ROOM kotlin官方文档完全学习
androidROOMkotlin官方文档完全学习2.6使用Room将数据保存到本地数据库|AndroidDevelopers(google.cn)一、简介1.1引入dependencies{defroom_version="2.6.1"implementation"androidx.room:room-runtime:$room_version"//如下三选一annotationProcesso
- Cannot find tomcat目录/bin/setclasspath.sh This file is needed to run this program
sailor7
linuxtomcat
问题:Cannotfind/opt/tomcat/apache-tomcat-8.5.79/bin/setclasspath.shThisfileisneededtorunthisprogram原因:没有在setclasspath.sh上设置JAVA_HOME和JRE_HOME解决:打开setclasspath.sh,设置JAVA_HOME和JRE_HOMEsudovisetclasspath.s
- 音视频流媒体开发【二十九】ffplay播放器-音视频同步
AlanGe
音视频流媒体开发-目录12以⾳频为基准⾳频主流程ffplay默认也是采⽤的这种同步策略。此时⾳频的时钟设置在sdl_audio_callback:audio_callback_time=av_gettime_relative();................../*Let'sassumetheaudiodriverthatisusedbySDLhastwoperiods.*/if(!isnan
- 深入解析 Spark:关键问题与答案汇总
※尘
sqlhivespark
在大数据处理领域,Spark凭借其高效的计算能力和丰富的功能,成为了众多开发者和企业的首选框架。然而,在使用Spark的过程中,我们会遇到各种各样的问题,从性能优化到算子使用等。本文将围绕Spark的一些核心问题进行详细解答,帮助大家更好地理解和运用Spark。Spark性能优化策略Spark性能优化是提升作业执行效率的关键,主要可以从以下几个方面入手:首先,资源配置优化至关重要。合理设置Exec
- 2015笔记——富文本
满庭花醉三千客
鉴于之前遇到富文本的东西,一窍不通,如今是要好好学习学习了,先从最基本的开始吧:屏幕快照2015-12-1016.28.40.png我分别设置了字号、字体颜色、下划线、字体及大小、删除线。接下来给label赋值:屏幕快照2015-12-1016.29.09.png为了直观,我给label添加了背景色。接下来就是看效果了:屏幕快照2015-12-1016.33.43.png是不是很简单呢?加油!
- LeetCode 633.平方数之和(python题解)
wendong97
LeetCode从零起步#双指针leetcodepython算法
LeetCode633.平方数之和(python题解)题目示例分析题解用到的基础知识计算平方和平方根取整参考题目给定一个非负整数c,你要判断是否存在两个整数a和b,使得a2+b2=c示例输入:5输出:True解释:1*1+2*2=5分析本题与上一题LeetCode167.两数之和II非常相似,把两数之和变成了平方数之和,利用上一题答案的思路,同样设置两个一左一右的指针,很容易就可以解答出来。这里要
- Flutter(十六)路由导航
AlanGe
我们通常会用屏(Screen)来称呼一个页面(Page),一个完整的App应该是有多个Page组成的。在之前的案例(豆瓣)中,我们通过IndexedStack来管理了首页中的Page切换:首页-书影音-小组-市集-我的通过点击BottomNavigationBarItem来设置IndexedStack的index属性来切换除了上面这种管理页面的方式,我们还需要实现其它功能的页面跳转:比如点击一个商
- vscode怎么装python_vscode如何安装python
vscode安装python的方法:1、在vscode的扩展中输入"extinstallpython"安装python插件打开VScode,Ctrl+p输入"extinstallpython",搜索时间可能会比较长安装过程不能停止,否则重新安装;2、在配置文件“settings.json”修改python的安装路径修改用户设置-settings.json,将"python.pythonPath":
- 删除debian xdm自启动ibus的配置项
沙老师
debian服务器运维
htop和systemctlstatus检查,dbus-daemon和dbus-x11几个进程都是xdm.service启动的,都是root用户,网上很难找到答案,只能自己试,用mc的文件内容查找功能,在/etc里面找,把找到的几个我认为没用的,就地删掉,然后删除/etc/X11/xdm目录后,发现完蛋了,登录界面和进去的桌面样子全变了,估计是因为用户设置是由缺省设置调用的,现在没调用了。卸载重装
- 视频直播源码在Android端实现1对1音视频实时通话
程序员老舅
音视频开发进阶音视频androidstudio视频编解码webrtc实时音视频
我们要使用WebRTC进行音视频互动时需要申请访问硬件的权限,至少要申请以下三种权限Camera权限RecordAudio权限Intenet权限在Android中,申请权限分为静态权限申请和动态权限申请,这对于做Android开发的同学来说已经是习以为常的事情了。下面我们就看一下具体如何申请权限:静态权限申请在Android项目中的AndroidManifest.xml中增加以下代码:视频直播源码
- Android音视频探索之旅 | C++层使用OpenGL ES实现音频渲染
慢行的骑兵
音视频android音视频NDK
一.前言OpenGLES实现视频渲染已经实现-在Android音视频探索之旅|C++层使用OpenGLES实现视频渲染中,这一次我们使用OpenGLES实现音频渲染。二.通过OpenSLES播放音频2.1.整体流程1.创建OpenSL引擎2.创建混音器3.创建播放器4.执行播音操作(OpenSLES的播音过程比较特别,不像视频那样每放完一帧就主动休眠,而是每帧音频播放结束会自己回调,在回调的时候才
- Android音视频探索之旅 | Webrtc 1对1音视频通话核心流程分析
慢行的骑兵
音视频android音视频webrtc
一.前言使用Webrtc实现1对1的音视频通话,先从Web端进行学习要比直接从Android端进行学习要轻松许多(若没有JS和Html以及Node基础,查找相关基础教程,能梳理代码的逻辑即可)。本文Android端接入Webrtc是通过引入官方的sdk来实现的。本文涉及到的Demo代码包含三部分,服务器端、Web端、Android端。服务器端使用的是Node,Web使用的是Html和JS,Andr
- 让投票不再烦恼:专业团队助你轻松搞定评选活动
口碑信息传播者
在如今这个信息爆炸的时代,评选活动已经成为企业、组织和个人展示实力、吸引关注的重要手段。然而,筹备一场成功的评选活动并非易事,繁琐的细节和流程往往让人烦恼不已。别担心,专业团队来帮忙!我们将为你提供全方位的支持和协助,让你轻松搞定评选活动。一、专业策划,让你的评选活动更具吸引力我们的专业团队拥有丰富的评选活动策划经验,能够为你量身定制一场独具特色的评选活动。从活动主题、评选标准到奖项设置,我们都会
- Flutter-VS-Kotlin-跨平台开发市场的最终由谁统治?
曾经有一段时间,跨平台开发就是"使用ReactNative和Flutter构建应用"的代名词。个人开发者和移动应用开发公司都会依赖这两个框架,从而以更加经济和高效的方式同时在Android和iOS上推出自己的产品。但是现在,Kotlin也加入了这场竞赛。谷歌甚至宣布Kotlin现在是Android应用程序开发人员的首选语言。于是所有人都想知道谁将成为跨平台开发市场的最终统治者。我们在早些时候已经对
- CentOS 7 安装nginx
土豆丶杨
centosnginxlinux
1.添加Nginx官方yum仓库sudovi/etc/yum.repos.d/nginx.repo写入以下内容[nginx]name=nginxrepobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=0enabled=12.安装Nginxsudoyuminstall-ynginx3.启动Nginx并设置
- React Native Android全栈开发:如何构建企业级应用
AI天才研究院
AI人工智能与大数据reactnativeandroidreact.jsai
ReactNativeAndroid全栈开发:如何构建企业级应用关键词:ReactNative、Android集成、企业级应用、跨平台开发、性能优化摘要:本文从企业级应用开发的实际需求出发,结合ReactNative(以下简称RN)与Android的技术特性,系统讲解如何从0到1构建高可用、易维护的跨平台移动应用。内容涵盖核心概念解析、Android端集成技巧、企业级架构设计、性能优化实战及未来趋
- vue3 路由设置滚动条置顶
开源字节
vue大前端vuerouterroute
constrouter=createRouter({history:createWebHistory(),routes,//跳转路由后导航栏置顶scrollBehavior(to,from,saveScrollPosition){return{left:0,top:0};},});
- uni-app开发小程序,根据图片提取主题色值
需求,在页面根据传入的图片提取图片主色值并用来设置区块背景色{{item.name}}{{item.calorie}}千卡/{{item.unit}}分钟importproductChangefrom'./product-change.vue'exportdefault{name:'productItem',components:{productChange},props:{name:{type:
- 2019-09-16 input光标
natsu啊
1.设置input框默认光标位置lettemp=document.getElementById('temp')window.addEventListener("keydown",(event)=>{letkeys=event.keyCodeif(keys===37){//Rightxxxxx}elseif(keys===39){//Leftxxxxx}elseif(keys===9){//tabt
- ES from、size用法
化石心
from,size使用from表示从第几条起,size是查询多少条,默认是10有点类似limit0,10GET_search{"from":"0","size":"10","qeury":{"term":{"filed":2}}}请注意,from+size不能超过index.max_result_window默认设置为10,000的索引设置。有关进行深度滚动的更有效方法请参见Scroll或Sear
- STM32手搓I2C注意事项【STM32篇】
叫我刘老刘
嵌入式stm32嵌入式硬件单片机
1)I2C从机地址如果有多个相同的设备,那么通常地址高位确定,不能改变,低位是可以通过引脚接高低电平改变,这样就保证了,相同设备地址不同2)GPIO脚需要配置成开漏输出(高电平,高阻态,断开,低电平,导通)3)时序细节1、SCL&SDA起始,结束默认都设置为高电平状态2、发送数据默认SCL低电平结束,SDA无所谓,这样做好拼接时序3、在从机发送的时候要释放SDA总线,也就是SDA高电平END~~
- JavaWeb 文件上传和下载
dawsonenjoy
一、文件上传步骤前端部分1.提供一个post方法的表单,并设置enctype属性(设置请求内容的MIME类型)为multpart/from-data,代表该表单支持文件上传2.提供一个文件上传框:举例:后端部分将内容通过流读取进来,举例:publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServl
- STM32硬件I2C的注意事项
蓝黑墨水
stm32单片机嵌入式硬件
文章目录软件模拟I2C硬件的实现方式最近在研究I2C的屏幕使用。有两种使用方式,软件模拟I2C、硬件HAL使用I2C。软件模拟I2C发送数据是通过设置引脚的高低电平实现的。/*引脚配置*/#defineOLED_W_SCL(x)GPIO_WriteBit(GPIOB,GPIO_Pin_6,(BitAction)(x))#defineOLED_W_SDA(x)GPIO_WriteBit(GPIOB,
- 京东隐藏优惠券是真的吗?京东隐藏优惠券怎么设置?
古楼
在网购时代,优惠券成为了消费者们热衷的追求。京东作为中国知名的电商平台,自然也有一份独特的优惠券玩法。今天,我们就来揭秘京东隐藏优惠券,看看它究竟是否存在,又如何才能获取到。一、京东隐藏优惠券真的存在吗?答案是肯定的。京东隐藏优惠券是真实存在的,它通常用于清理库存、提高销量、吸引消费者等目的。这些优惠券不会直接展示在商品页面上,而是需要消费者通过特定的渠道去领取。二、京东隐藏优惠券怎么设置?京东商
- uView UI 组件大全
uViewUI是一个基于uni-app的高质量UI组件库,提供丰富的跨平台组件(支持H5、小程序、App等)。以下是其核心组件的分类大全及功能说明,结合最新版本(1.2.10)整理:一、基础组件按钮(Button)支持主题色、镂空、禁用等样式,可设置openType(如微信小程序授权)和回调事件。图标(Icon)内置多种图标,支持自定义颜色、大小、背景色和渐变色。布局(Layout)提供栅格系统(
- Android-skin-support换肤原理详解
CurtainSystem
android
一.背景公司业务上需要用到换肤.为了不重复造轮子,并且快速实现需求,并且求稳,于是到Github上找了一个star数比较多的换肤框架-Android-skin-support(一款用心去做的Android换肤框架,极低的学习成本,极好的用户体验.一行代码就可以实现换肤,你值得拥有!!!).简单了解之后,可以快速上手,并且侵入性很低.作为一名合格的程序员,当然需要了解其背后的原理才能算是真正的灵活运
- Android NDK开发实战详解
大王算法
androidc++开发语言
目录一、概念二、AndroidNDK的作用三、开发中需要注意的问题3.1、明确使用场景3.2、JNI(JavaNativeInterface)3.3、ABI(应用二进制接口)兼容性3.4、内存与线程安全3.5、调试与工具链3.6、安全风险3.7、构建配置(CMake/ndk-build)3.8、兼容性与版本管理3.9、异常处理四、工程实践建议4.1、隔离原生代码:4.2、单元测试:4.3、渐进集成
- ffmpeg音视频开发实战6,flutter开源项目商业化
2401_84408734
程序员ffmpegflutter开源
正文Java集合:使用场景、源码阅读GC机制虚拟机对象内存分配要学好Android,必须要有扎实的Java基础(当然,现在还有Kotlin)。这里只列出了四点,但Java的体系非常庞大,重难点当然不只这些,列出来的是在实际项目和面试中常用或常见的。Android常用/重要类ActivityHandlerHandlerThreadAsyncTaskBinderAndroid这几个类在编程时是比较高频
- 一文读懂 Android FFmpeg 视频解码过程与实战分析
2401_85667460
androidffmpeg音视频
–本文首先以FFmpeg视频解码为主题,主要介绍了FFmpeg进行解码视频时的主要流程、基本原理;其次,文章还讲述了与FFmpeg视频解码有关的简单应用,包括如何在原有的FFmpeg视频解码的基础上按照一定时间轴顺序播放视频、如何在播放视频时加入seek的逻辑;除此之外,文章重点介绍了解码视频时可能容易遗漏的细节,最后是简单地阐述了下如何封装一个具有基本的视频解码功能的VideoDecoder。前
- 矩阵求逆(JAVA)初等行变换
qiuwanchi
矩阵求逆(JAVA)
package gaodai.matrix;
import gaodai.determinant.DeterminantCalculation;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 矩阵求逆(初等行变换)
* @author 邱万迟
*
- JDK timer
antlove
javajdkschedulecodetimer
1.java.util.Timer.schedule(TimerTask task, long delay):多长时间(毫秒)后执行任务
2.java.util.Timer.schedule(TimerTask task, Date time):设定某个时间执行任务
3.java.util.Timer.schedule(TimerTask task, long delay,longperiod
- JVM调优总结 -Xms -Xmx -Xmn -Xss
coder_xpf
jvm应用服务器
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
典型设置:
java -Xmx
- JDBC连接数据库
Array_06
jdbc
package Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
//完
- Unsupported major.minor version 51.0(jdk版本错误)
oloz
java
java.lang.UnsupportedClassVersionError: cn/support/cache/CacheType : Unsupported major.minor version 51.0 (unable to load class cn.support.cache.CacheType)
at org.apache.catalina.loader.WebappClassL
- 用多个线程处理1个List集合
362217990
多线程threadlist集合
昨天发了一个提问,启动5个线程将一个List中的内容,然后将5个线程的内容拼接起来,由于时间比较急迫,自己就写了一个Demo,希望对菜鸟有参考意义。。
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
public c
- JSP简单访问数据库
香水浓
sqlmysqljsp
学习使用javaBean,代码很烂,仅为留个脚印
public class DBHelper {
private String driverName;
private String url;
private String user;
private String password;
private Connection connection;
privat
- Flex4中使用组件添加柱状图、饼状图等图表
AdyZhang
Flex
1.添加一个最简单的柱状图
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
<?xml version=
"1.0"&n
- Android 5.0 - ProgressBar 进度条无法展示到按钮的前面
aijuans
android
在低于SDK < 21 的版本中,ProgressBar 可以展示到按钮前面,并且为之在按钮的中间,但是切换到android 5.0后进度条ProgressBar 展示顺序变化了,按钮再前面,ProgressBar 在后面了我的xml配置文件如下:
[html]
view plain
copy
<RelativeLa
- 查询汇总的sql
baalwolf
sql
select list.listname, list.createtime,listcount from dream_list as list , (select listid,count(listid) as listcount from dream_list_user group by listid order by count(
- Linux du命令和df命令区别
BigBird2012
linux
1,两者区别
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
- AngularJS中的$apply,用还是不用?
bijian1013
JavaScriptAngularJS$apply
在AngularJS开发中,何时应该调用$scope.$apply(),何时不应该调用。下面我们透彻地解释这个问题。
但是首先,让我们把$apply转换成一种简化的形式。
scope.$apply就像一个懒惰的工人。它需要按照命
- [Zookeeper学习笔记十]Zookeeper源代码分析之ClientCnxn数据序列化和反序列化
bit1129
zookeeper
ClientCnxn是Zookeeper客户端和Zookeeper服务器端进行通信和事件通知处理的主要类,它内部包含两个类,1. SendThread 2. EventThread, SendThread负责客户端和服务器端的数据通信,也包括事件信息的传输,EventThread主要在客户端回调注册的Watchers进行通知处理
ClientCnxn构造方法
&
- 【Java命令一】jmap
bit1129
Java命令
jmap命令的用法:
[hadoop@hadoop sbin]$ jmap
Usage:
jmap [option] <pid>
(to connect to running process)
jmap [option] <executable <core>
(to connect to a
- Apache 服务器安全防护及实战
ronin47
此文转自IBM.
Apache 服务简介
Web 服务器也称为 WWW 服务器或 HTTP 服务器 (HTTP Server),它是 Internet 上最常见也是使用最频繁的服务器之一,Web 服务器能够为用户提供网页浏览、论坛访问等等服务。
由于用户在通过 Web 浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而 Web 在 Internet 上一推出就得到
- unity 3d实例化位置出现布置?
brotherlamp
unity教程unityunity资料unity视频unity自学
问:unity 3d实例化位置出现布置?
答:实例化的同时就可以指定被实例化的物体的位置,即 position
Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object
这样你不需要再用Transform.Position了,
如果你省略了第二个参数(
- 《重构,改善现有代码的设计》第八章 Duplicate Observed Data
bylijinnan
java重构
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusE
- struts2更改struts.xml配置目录
chiangfai
struts.xml
struts2默认是读取classes目录下的配置文件,要更改配置文件目录,比如放在WEB-INF下,路径应该写成../struts.xml(非/WEB-INF/struts.xml)
web.xml文件修改如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class&g
- redis做缓存时的一点优化
chenchao051
redishadooppipeline
最近集群上有个job,其中需要短时间内频繁访问缓存,大概7亿多次。我这边的缓存是使用redis来做的,问题就来了。
首先,redis中存的是普通kv,没有考虑使用hash等解结构,那么以为着这个job需要访问7亿多次redis,导致效率低,且出现很多redi
- mysql导出数据不输出标题行
daizj
mysql数据导出去掉第一行去掉标题
当想使用数据库中的某些数据,想将其导入到文件中,而想去掉第一行的标题是可以加上-N参数
如通过下面命令导出数据:
mysql -uuserName -ppasswd -hhost -Pport -Ddatabase -e " select * from tableName" > exportResult.txt
结果为:
studentid
- phpexcel导出excel表简单入门示例
dcj3sjt126com
PHPExcelphpexcel
先下载PHPEXCEL类文件,放在class目录下面,然后新建一个index.php文件,内容如下
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('
- 爱情格言
dcj3sjt126com
格言
1) I love you not because of who you are, but because of who I am when I am with you. 我爱你,不是因为你是一个怎样的人,而是因为我喜欢与你在一起时的感觉。 2) No man or woman is worth your tears, and the one who is, won‘t
- 转 Activity 详解——Activity文档翻译
e200702084
androidUIsqlite配置管理网络应用
activity 展现在用户面前的经常是全屏窗口,你也可以将 activity 作为浮动窗口来使用(使用设置了 windowIsFloating 的主题),或者嵌入到其他的 activity (使用 ActivityGroup )中。 当用户离开 activity 时你可以在 onPause() 进行相应的操作 。更重要的是,用户做的任何改变都应该在该点上提交 ( 经常提交到 ContentPro
- win7安装MongoDB服务
geeksun
mongodb
1. 下载MongoDB的windows版本:mongodb-win32-x86_64-2008plus-ssl-3.0.4.zip,Linux版本也在这里下载,下载地址: http://www.mongodb.org/downloads
2. 解压MongoDB在D:\server\mongodb, 在D:\server\mongodb下创建d
- Javascript魔法方法:__defineGetter__,__defineSetter__
hongtoushizi
js
转载自: http://www.blackglory.me/javascript-magic-method-definegetter-definesetter/
在javascript的类中,可以用defineGetter和defineSetter_控制成员变量的Get和Set行为
例如,在一个图书类中,我们自动为Book加上书名符号:
function Book(name){
- 错误的日期格式可能导致走nginx proxy cache时不能进行304响应
jinnianshilongnian
cache
昨天在整合某些系统的nginx配置时,出现了当使用nginx cache时无法返回304响应的情况,出问题的响应头: Content-Type:text/html; charset=gb2312 Date:Mon, 05 Jan 2015 01:58:05 GMT Expires:Mon , 05 Jan 15 02:03:00 GMT Last-Modified:Mon, 05
- 数据源架构模式之行数据入口
home198979
PHP架构行数据入口
注:看不懂的请勿踩,此文章非针对java,java爱好者可直接略过。
一、概念
行数据入口(Row Data Gateway):充当数据源中单条记录入口的对象,每行一个实例。
二、简单实现行数据入口
为了方便理解,还是先简单实现:
<?php
/**
* 行数据入口类
*/
class OrderGateway {
/*定义元数
- Linux各个目录的作用及内容
pda158
linux脚本
1)根目录“/” 根目录位于目录结构的最顶层,用斜线(/)表示,类似于
Windows
操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件。 2)/bin /bin 目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要
linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、d
- ubuntu12.04上编译openjdk7
ol_beta
HotSpotjvmjdkOpenJDK
获取源码
从openjdk代码仓库获取(比较慢)
安装mercurial Mercurial是一个版本管理工具。 sudo apt-get install mercurial
将以下内容添加到$HOME/.hgrc文件中,如果没有则自己创建一个: [extensions] forest=/home/lichengwu/hgforest-crew/forest.py fe
- 将数据库字段转换成设计文档所需的字段
vipbooks
设计模式工作正则表达式
哈哈,出差这么久终于回来了,回家的感觉真好!
PowerDesigner的物理数据库一出来,设计文档中要改的字段就多得不计其数,如果要把PowerDesigner中的字段一个个Copy到设计文档中,那将会是一件非常痛苦的事情。