- 《Operating System Concepts》阅读笔记:p359-p388
操作系统
《OperatingSystemConcepts》学习第32天,p359-p388总结,总计30页。一、技术总结1.paging(1)定义Acommonmemorymanagementschemethatavoidsexternalfragmentationbysplittingphysicalmemoryintofixed-sizedframesandlogicalmemoryintoblock
- (Kotlin)BaseActivity 和 BaseFragment 的现代化架构:ViewBinding 与 ViewModel 的深度整合
tangweiguo03051987
Kotlin语法kotlin架构开发语言
BaseActivity和BaseFragment实现,集成了ViewBinding,并增加了对Lifecycle和ViewModel的支持,同时进一步简化了代码结构,使其更易用、更灵活。1.启用ViewBinding在build.gradle中启用ViewBinding:android{...viewBinding{isEnabled=true}}2.BaseActivityimportandr
- unity shader卡通渲染(描边)+阴影+多光源处理
QO_GQ
shadershaderunity3d
说道卡通渲染,应该都会想到描边:我所学的描边有三种:一种是计算边缘深度检测描边一种是色差检测描边一种是利用顶点法线向外扩展返回单色pass,使用正面裁剪我用的第三种:pass{//剔除前面(朝向摄像机的面)保留内部渲染CullFrontCGPROGRAM#pragmafragmentfragfloat4_LineColor;float_Line;structa2v{float4pos:POSITI
- 深入理解 Android 中的 ViewModel 和 LiveData:实现数据与 UI 的分离与响应式更新
tangweiguo03051987
androidandroiduiViewModelLiveData
ViewModel和LiveData是Android架构组件中的两个核心类,用于帮助开发者构建健壮、可维护且响应迅速的应用程序。它们通常一起使用,以实现数据与UI的分离,并确保数据在配置更改(如屏幕旋转)时不会丢失。ViewModelViewModel的主要目的是管理与UI相关的数据,并在配置更改时保持数据的持久性。它允许数据在Activity或Fragment销毁和重新创建时保持不变。1.1Vi
- flutter 专题三十七 Flutter混合开发之FlutterFragment
leluckys
Flutter面试与实战fluttergitee
我们知道,原生Android集成Flutter主要有两种方式,一种是创建fluttermodule,然后以原生module那样依赖;另一种方式是将fluttermodule打包成aar,然后在原生工程中依赖aar包,官方推荐aar的方式接入。如何在原生Android工程中以aar的方式接入Flutter,大家可以参考我之前文章的介绍:原生Android工程接入Flutteraar。今天想给大家分享
- RecyclerView必须直接嵌套在SmartRefreshLayout里面,才能触发SmartRefreshLayout的加载更多吗
yzpyzp
androidkotlin
DeepSeekR1思考31秒思考过程用户的问题是关于RecyclerView是否必须直接嵌套在SmartRefreshLayout内才能触发加载更多的功能。根据之前的对话历史,用户之前询问了如何配置SmartRefreshLayout以支持滑动到底部加载更多,尤其是当RecyclerView位于Fragment中的情况。现在用户想确认是否必须直接将RecyclerView放在SmartRefre
- Android - ViewPager 从基础到进阶
whd_Alive
Android基础AndroidViewPager
前言好记性不如烂笔头,学习的知识总要记录下来,通过本文来加深对ViewPager方方面面的理解:ViewPager的基础介绍PagerAdapter+FragmentPagerAdapter&FragmentStatePagerAdapter与Fragment+TabLayout的联动使用Banner轮播图自定义切换动画首次登录引导界面闲话少说,下面进入正题。基础介绍ViewPager是Andro
- OpenGL(4)着色器
一个不务正业的程序猿
OpenGL着色器apache
文章目录一、着色器1、什么是着色器?2、着色器类型2.1、顶点着色器(VertexShader)2.2、片段着色器(FragmentShader)3、着色器属性3.1、`layout`属性3.2、`in`属性3.3、`out`属性3.4、总结4、示例前言:在OpenGL开发中,着色器(Shader)是用于控制图形渲染管线各个阶段的小程序。它们是用GLSL(OpenGLShadingLanguage
- android屏幕旋转生命周期,Activity、Fragment生命周期---横竖屏切换的生命周期
老K先生
android屏幕旋转生命周期
先贴出一张大家众所周知activity流程图onCreate():创建Activity调用,用于Activity的初始化,还有个Bundle类型的参数,可以访问以前存储的状态。onStart():Activity在屏幕上对用户可见时调用,但还不可与用户交互onRestart():在activity停止后,在再次启动之前被调用。onResume():Activity开始和用户交互的时候调用,这时该A
- Android 碎片视图生命周期与按钮事件处理
t0_54manong
android个人开发
在Android开发中,Fragment(碎片)是一个重要的组件,常用于创建多窗格UI或动态修改UI部分内容。本文将通过一个实例,探讨如何在Fragment中正确地设置按钮点击事件,并解释为什么在不同生命周期方法中设置监听器会导致不同的结果。问题描述假设你正在开发一个应用,包含一个菜单界面,其中有一个按钮用于从某个Fragment跳转到数据输入布局。按钮点击事件却无法响应,日志也没有任何输出。示例
- 嵌套子fragment内使用recyclerview无法获取数据
geniusNMRobot专家
android
我的主Mainactivity里面使用了bottomnavigationview.这个会调用到一个fragment,然后这个fragmen会调用另外一个fragmentB,最后在这个fragmentB里面我使用了recyclerView,但是我发现这个时候recyclerview没有数据,经过仔细的查看我发现已经从服务器获取了数据,但是不知道什么原因这个recyclerview的一些本应该被回调的
- Android 应用中的 Fragment 状态保存技巧
t0_54coder
android个人开发
在Android应用开发中,Fragment是非常常用的组件。特别是在处理用户界面(UI)的不同部分时,Fragment能帮助我们创建模块化和灵活的界面设计。然而,在使用Fragment时,如何有效地保存和恢复Fragment的状态是个常见问题。本文将通过一个实际的例子,探讨如何在Android应用中保存HistoryFragment的状态,以避免每次用户访问时重新创建。背景介绍假设我们有一个An
- Android FragmentContainerView如何使用
stevenzqzq
android
嗯,用户之前问过关于AndroidViewModel的使用,现在又问了FragmentContainerView的使用。可能他们正在开发一个包含多个Fragment的应用,需要管理Fragment之间的切换和容器。FragmentContainerView是一个相对较新的组件,用来替代传统的FrameLayout作为Fragment的容器,可能用户之前用的是FrameLayout,现在想迁移或者了
- 顶点着色器和片段着色器
无敌最俊朗@
UnityShader着色器
在Unity渲染中,**顶点着色器(VertexShader)和片段着色器(FragmentShader)**是图形渲染管线中的两个核心阶段。我们可以通过一个比喻来理解它们的分工:想象你要画一幅由三角形组成的3D模型,顶点着色器负责确定每个三角形的“顶点位置”,而片段着色器负责给每个像素“填色”。1.顶点着色器(VertexShader)——定位形状作用:顶点着色器是渲染管线的第一步,它处理模型的
- OpenGL渲染管线
蓝裕安
OpenGL
渲染管线相当于一个工作流程应用阶段-->几何阶段-->光栅化阶段几何阶段:顶点着色器光栅化阶段:片元着色器顶点着色器,片元着色器是可编程的ShaderVertexSharder和FragmentShader是用GLSL(GraphicLibraryShaderLanguage)语言类的c语言写的VAO:位置,颜色教程:主页-LearnOpenGLCN
- Android 开发必备:BaseActivity、BaseFragment 和 BaseApplication 的封装与优化
tangweiguo03051987
androidandroid
在Android开发中,基类(BaseClasses)是提高开发效率、减少重复代码的重要手段。以下是BaseActivity、BaseFragment和BaseApplication的实现,涵盖了常用功能,如生命周期管理、Toast提示、权限处理、Fragment管理等。BaseApplicationBaseApplication是应用的全局基类,用于初始化全局配置、工具类等。importandr
- Fragment 懒加载的优化方案
tangweiguo03051987
androidandroidjava
懒加载方案:使用Lifecycle监听Fragment的生命周期,简化逻辑。结合ViewPager2和FragmentStateAdapter,兼容现代Android开发。封装通用基类,减少重复代码,提高可维护性。这种方式不仅代码简洁,而且性能更好,适合现代Android应用开发以下是完整的Fragment懒加载实现代码,包括基类封装、具体Fragment实现以及ViewPager2的集成。代码经
- vue3与react、 react hooks
caihuayuan5
面试题汇总与解析springbootjava后端大数据课程设计
一、Vue3新特性:setup、ref、reactive、computed、watch、watchEffect函数、生命周期钩子、自定义hooks函数、toRef和toRefs、shallowReactive与shallowRef、readonly与shallowReadonly、toRaw与markRaw、customRef、provide与inject、Fragment、Teleport、Su
- OpenGL ES -> GLSurfaceView常用图片滤镜
Yang-Never
OpenGLESandroid开发语言javaandroidstudiokotlin
滤镜原理概述图像滤镜本质上是一种像素级的变换操作。在OpenGLES中,我们通过编写片段着色器(FragmentShader)来实现这些变换。片段着色器会对每个像素点进行处理,根据特定的算法改变其颜色值,从而实现各种视觉效果。贴图XML文件Activity代码classMainActivity:AppCompatActivity(){privatelateinitvarglSurfaceView:
- flutter 专题三十五 Flutter混合开发模式下的代码调试
leluckys
Flutter面试与实战flutter
众所周知,在做Flutter开发的时候,它是自带有热重载/热重启功能的,不过,或许你会发现,当我们在原生工程中接入Flutter模块后,热重载/热重启好像都失效了,那么怎么才能在混合项目中使用热重载/热重启,以及怎么实现混合项目的代码调试呢?在介绍这些之前,我们先来看看原生接入Flutter模块,不知道如何接入的同学,可以参考下面的文章:Flutter混合开发之FlutterFragment和原生
- 【网络安全 | 渗透测试】GraphQL精讲一:基础知识
秋说
web安全graphql
未经许可,不得转载,文章目录GraphQL定义GraphQL工作原理GraphQL模式GraphQL查询GraphQL变更(Mutations)查询(Queries)和变更(Mutations)的组成部分字段(Fields)参数(Arguments)变量别名(Aliases)片段(Fragments)订阅(Subscriptions)自省(Introspection)GraphQL定义GraphQ
- Android LiveData(一):介绍和简单使用
且听风吟9527
框架原理LiveData框架原理源码分析
传统的组件间的通信方式有Handler、BroadcastReceiver,Interface、EventBus等等方式实现,他们有自己适合的应用场景,也有各自的弊端。这里介绍新的组件通信同时LiveData,它是一个数据持有类,具有以下特点:数据可以被观察者订阅能够感知组件(Fragment、Activity、Service))的生命周期组件处于active状态时,会通知观察者有数据更新对于观察
- 面试题-Vue2和Vue3的区别
奶糖 肥晨
vue3vuevue.jsjavascript前端
文章目录1.响应式系统2.组合式API(CompositionAPI)3.Fragment(碎片)4.Teleport(传送门)5.性能改进6.移除或改变的功能7.构建工具8.TypeScript支持Vue2和Vue3之间存在许多重要的区别,这些区别涵盖了性能、API设计、组合式API(CompositionAPI)、响应式系统以及构建工具等方面。以下是一些关键的区别,并附带代码示例来加以说明。1
- URI和URL区别与联系,从此不再模糊
ZZZ_Tong
java网络前端后端
URI和URL区别与联系文章目录URI和URL区别与联系前言一、联系二、区别总结前言URI(统一资源标识符)和URL(统一资源定位符)URI的格式:模式:模式具体部分,例如:https://www.example.com/index.htmlurn:isbn:9780141036144URL的格式:protocol://hostname[:port]/path/[?query][#fragment
- Android Loader 机制
村里小码农
Android应用开发
1Loader介绍Loader是Android3.0提供的新的异步api,Loader可用于进行异步操作,其实它内部采用的也是类似AsycnTask的异步任务机制,那么既然有了AsyncTask为什么还要有Loader呢?因为AysncTask有一个缺点,当Activity或者Fragment因为为屏幕旋转等因素被销毁重建后,如果处理不当就会造成任务和数据丢失,每次重建都要重新启动一个AsyncT
- Jetpack Architecture系列教程之(八)——Navigation导航
l软件定制开发工作室
JetpackArchitecture教程androidjetpack
目录介绍和第三方框架比较如何使用?添加依赖新建fragment配置NavigationGraph定义节点NavHostNavController调用栈介绍Navigation导航是指允许用户在应用内的不同内容中导航,导入和退出的交互。利用它我们能够更好的实现Fragment的管理,轻松实现单个Activity和多个Fragment的交互模式,这种交互模式其实也是一个APP最“科学”的形式。和第三方
- Jetpack Architecture系列教程之(一)——Jetpack介绍
l软件定制开发工作室
JetpackArchitecture教程androidjetpack
目录背景Support库Support库的弊端AndroidX简介Jetpack分类Foundation(基础组件):Architecture(架构组件):Behavior(行为):UI(界面组件):背景Support库早之前的Android更新迭代是,所有的功能更新都是跟随着每一个特定的Android版本所发布的。例如:Fragment是在Android3.0更新的。MaterialDesign
- 一篇文章搞定《Android布局优化》
小孟来码
Android一篇文章搞定Androidandroid性能优化
------《一篇文章搞定Android布局优化》前言为什么要进行布局优化?Android绘制原理双缓冲机制布局加载原理布局加载优化的一些方法介绍AsyncLayoutInflater方案X2C方案Compose方案一些常规优化手段优化布局层级及复杂度mergeViewStub避免过度绘制前言在使用ViewPager时,如果我们的适配器使用的是Fragment。Android的绘制优化其实可以分为
- Android 第四十二章 Fragment
漂泊的蚂蚁
Androidandroid
一、简介Fragment(碎片)主要用于对ActivityUI模块化,依托Activity存在,当Activity销毁时,Fragment随之销毁二、生命周期onAttach()Fragment和Activity绑定onCreate()初始化onCreateView()创建视图onActivityCreated()Activity已初始化完成onStart()界面可见onResume()获得焦点o
- Android应用开发实践:百度推聊应用源码解析
安检
本文还有配套的精品资源,点击获取简介:本资源包含百度公司某款聊天应用的Android源代码,供学习者深入理解和掌握Android应用开发流程及核心组件。内容涵盖项目结构、Activity与Fragment、Intent机制、Service、BroadcastReceiver等关键知识点,并强调尊重版权和合法使用。开发者将通过解析源码,学习如何实现异步处理、数据持久化、权限管理、UI动画和推送服务,
- 矩阵求逆(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到设计文档中,那将会是一件非常痛苦的事情。