- Android 蓝牙音频audio-a2dp分析
短距WCN协议开发分享
Bluetooth手机平板穿戴知识分享hfpandroid蓝牙bluetoothaudio
同学,别退出呀,我可是全网最牛逼的Android蓝牙分析博主,我写了上百篇蓝牙文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。Android系统中,对音频设备进行管理的,主要为AudioFlinger与AudioPolicyService。从职能分布上来讲,AudioPolicyService是策略的制定者,比如什么时候打开音频接口设备、某种
- 【bluedroid】A2dp Source播放流程源码分析(1)
byte轻骑兵
解读Android通信协议蓝牙BluedroidC++
在蓝牙音频传输领域,A2DP(AdvancedAudioDistributionProfile,高级音频分发协议)扮演着关键角色,它能够实现高质量音频(如立体声音乐)通过蓝牙在不同设备间的传输。在Android系统所采用的Bluedroid蓝牙协议栈里,A2DPSource承担着音频流发送的重任,将音频数据传输至A2DPSink(像车载音响、蓝牙耳机等接收设备)。一、概述Bluedroid作为An
- apk反编译有哪些重要作用
ios
哈喽呀,大家好呀,淼淼又来和大家见面啦,这一期淼淼要讲一讲apk反编译的一些相关内容,APK反编译在Android开发、安全分析、软件调试、个人学习及软件定制等领域扮演着重要角色,其重要作用主要包括但不限于以下几点:1.学习与研究:对于开发者而言,反编译他人应用是一种快速学习软件架构、设计模式和实现技巧的方式。通过查看高质量的应用代码,开发者能够提升自己的编程技能,了解行业最佳实践。2.软件本地化
- 融云 IM 干货丨如何确保私有云IMKit的跨平台兼容性?
融云im即时通讯
确保私有云IMKit的跨平台兼容性,可以参考以下方法和建议:1.适配不同操作系统和硬件平台统一接口封装:通过抽象出公共的功能模块,使得SDK能在多个平台无缝工作。例如,融云的IMKit通过适配不同操作系统和硬件平台,确保在Android、iOS、Web等多个平台上集成使用。适配层技术:采用适配层技术,为不同平台提供对应的实现。例如,Android与iOS的UI渲染机制与线程管理存在明显区别,通过适
- 使用HBuilderX高效开发微信小程序全流程指南
斯~内克
vue知识点开发记录微信小程序notepad++小程序
一、为什么选择HBuilderX开发微信小程序?1.1跨平台开发利器HBuilderX作为DCloud推出的前端开发工具,凭借其强大的uniapp框架支持,已成为多端开发的首选工具。通过一套代码即可编译生成微信小程序、H5、Android/iOS等多端应用,极大提升开发效率。1.2深度集成的小程序开发支持内置微信小程序语法提示和代码块实时预览与真机调试功能自动处理路径别名和文件引用支持条件编译实现
- android camera慢动作,关于android:这可能是全网关于Camera慢动作录像SlowMotion介绍最全的文章了...
weixin_42465953
androidcamera慢动作
这是一篇对于慢动作录像(slowmotion)的文章,看完后置信你对慢动作录像不会再感到生疏了~这篇文章针对上面几点来开展:1)写这篇文章的原由?2)什么是慢动作录像(SlowMotionRecord)?3)Android上如何实现慢动作录像?4)调试demo下载地址?5)调试遇到的问题及解决?一、写这篇文章的原由?2月份的时候,在一个音视频开发的学习交换群里,有位网友问到“Android相机有啥
- mt4j android,Brainstorming und Mind-Mapping im Multi-Device-Kontext. Konzeption und prototypische Im...
Oxygenfia
mt4jandroid
摘要:DievorliegendeArbeitbeschreibtdieKonzeptionundprototypischeImplementierungeinerAnwendungzurelektronischenUnterstützungvonBrainstorming-undMind-Mapping-SitzungenaneinemmultitouchfhigenTabletopmitSma
- 存储优化(protobuf与mmkv)
Ya-Jun
androidkotlin
存储优化(protobuf与mmkv)在Android应用开发中,数据存储是一个基础且关键的环节。随着应用功能的日益复杂,数据量的增加,传统的存储方式如SharedPreferences、SQLite等在性能上的局限性逐渐显现。本文将深入探讨两种高效的存储优化方案:ProtocolBuffers(protobuf)和MMKV,帮助开发者构建更高效、更可靠的数据存储系统。一、传统存储方式的局限性在讨
- 第29讲 Android Camera2 API SlowMotion实战
deepinout_camera
AndroidCamera2API详解androidhtml5
本讲是AndroidCamera专题系列的第29讲,我们介绍AndroidCamera2API专题的SlowMotion实战,包括如下内容:判断是否支持SlowMotionSlowMotion支持的Size和FPSCamera流程控制MediaRecorder流程控制视频在线观看:极客笔记:极客笔记在线课程判断是否支持SlowMotionCamera方面Capability是否支持REQUEST_
- android系统架构的前世今生,超强Android进阶路线知识图谱
m0_64319298
程序员面试android移动开发
4.Android专有的驱动程序除了上面这些不同点之外,最重要的是,为了突出android特性,支持android设备,Android还对Linux设备驱动进行了增强,主要如下所示。1)AndroidBinder基于OpenBinder框架的一个驱动,用于提供Android平台的进程间通信(InterProcessCommunication,IPC)功能。源代码位于drivers/staging/
- 谈谈Android项目框架的前世今生
积木zz
Android笔记javaandroid项目架构kotlin
嗨,大家好,今天出了大太阳,真是美好的开始。这篇文章和大家说说Android届流行的三大框架,了解下架构的前世今生,以及我对于这些框架的一些认识和看法。三大框架区别MVC架构介绍Model:数据模型,比如我们从数据库或者网络获取数据View:视图,也就是我们的xml布局文件Controller:控制器,也就是我们的Activity模型联系View-->Controller,也就是反应View的一些
- android系统架构的前世今生,事件分发机制面试题
code高级开源
Android经验分享面试
前言一位网友在职场论坛上发了一个帖子,他说自己今年三十七岁了,是一名Android老兵,因为和上家公司的领导闹矛盾有了嫌隙,一气之下就裸辞了,如今已经辞职四个月了,也失业了四个月。每天都在努力投简历,共投出去了五百封简历,但只有三家通知自己过去面试,其他的都石沉大海。自己很纳闷,就找了一个做猎头的朋友询问,朋友说自己已经超龄了,没有什么岗位可以给自己这个年龄的人了,只有少数的能放宽到四十岁,但也不
- [android_gallery_4.0]gallery主要类介绍(四)
buleideli
Android开发androidAndroidANDROIDgalleryGallery
3.1.6SlideshowPage处理幻灯片动画显示。其类图如下。1)SlideshowView负责处理幻灯片播放的view。1.1)SlideshowAnimation其继承自Animation,负责具体幻灯片切换的显示。这里用到两个对象,mPrevAnimation负责上一张图片动画显示,mCurrentAnimation负责当前图片动画显示,显示动画效果就是扩大,淡入淡出。Animatio
- [android_gallery_4.0]gallery主要类介绍(一)
buleideli
Android开发androidAndroidANDROIDgalleryGallery
继续上篇,本篇介绍gallery的主要类。3.1.1Gallerygallery的主程序类。其类图如下。相关类说明1)GalleryActionBar用于在相册主界面出现的排序下拉框,如下。3.1.2AbstractGalleryActivity实现基本的activity操作的类,作为某些类的基类。其类图如下。相关类说明1)GalleryActivity接口类,主要是一些获取AbstractGal
- Android官方架构组件ViewModel_从前世今生到追本溯源
2401_84519718
程序员android架构
对于开发者来讲,在开发过程中可以大幅减少UI层和Model层相互调用的代码,转而将更多的重心投入到业务代码的编写。ViewModel的概念就是这样被提出来的,我对它的形容类似一个状态存储器,它存储着UI中各种各样的状态,以登录界面为例,我们很容易想到最简单的两种状态:classLoginViewModel{valusername:String//用户名输入框中的内容valpassword:Stri
- udp2raw android,关于udpspeeder和udp2raw部署的一些补充,及使用体会
鱼吞舟
udp2rawandroid
本帖最后由zardon于2018-1-1915:12编辑首先还是感谢开发者@wangyu-提供这么好用的工具,也感谢ASUS固件及插件的作者,本人上海电信,起初使用koolgame,效果相当明显。但是使用一段时间后会莫名大量丢包,似乎是被运营商QOS了,并且koolgame时不时掉线,在高峰期几乎无法正常使用。使用udpspeederV2+udp2raw之后晚上9-10点高峰期能够正常玩战地,没有
- Android定时任务:深入理解AlarmManager和PendingIntent
t0_54program
编程问题解决手册android个人开发
在Android应用开发中,定时任务是非常常见的一个需求,特别是对于需要定期执行某些操作的应用来说,如每天凌晨进行数据处理或者更新。今天,我们将深入探讨如何在Android中使用AlarmManager和PendingIntent来实现一个每天凌晨运行的任务,并解决常见的开发问题。背景介绍最近,我在开发一个Android应用时,遇到了一些关于AlarmManager和PendingIntent的问
- Android Retrofit 框架适配器模块深入源码分析(五)
&有梦想的咸鱼&
AndroidRetrofit原理androidretrofit
AndroidRetrofit框架适配器模块深入源码分析一、引言在Android开发中,网络请求是一个常见且重要的功能。Retrofit作为一个强大的网络请求框架,以其简洁的API和高度的可定制性受到了广泛的欢迎。适配器模块(CallAdapter)是Retrofit框架中非常重要的一部分,它负责将Call对象转换为其他类型,如Observable、Completable、Single等,从而实现
- android 权限申请开源,安卓开源Android_permission访问权限
人间马戏团
android权限申请开源
满意答案suzie0126推荐于2017.11.25采纳率:51%等级:9已帮助:866人android.permission.ACCESS_NETWORK_STATE允许程序访问有关GSM网络信息636f70793231313335323631343130323136353331333335323465(Allowsapplicationstoaccessinformationaboutnetw
- android 自定义开关键设置大小,Android 自定义Switch开关按钮的样式实例详解
weixin_39747721
android自定义开关键设置大小
封面GitHub传送门1.写在前面本文主要讲的是在Android原生Switch控件的基础上进行样式自定义,内容很简单,但是在实现的过程中还是遇到了一些问题,在此记录下来,希望对大家能够有所帮助,看下效果图:自定义样式2.自定义样式2.1原生样式首先看下原生的效果(Android7.1):原生效果布局文件如下:android:layout_width="wrap_content"android:l
- Android Low Storage机制(DeviceStorageMonitorService)
wd623894174
CommonFrameworkAndroid
文章目录1.lowstorage简介(DeviceStorageMonitorService)2.DeviceStorageMonitorService代码介绍2.1服务初始化2.2DeviceStorageMonitorInternal提供的接口2.3check()/data分区3监听lowStorage广播1.lowstorage简介(DeviceStorageMonitorService)D
- ### **Android核心系统服务深度解析(AMS/ATMS/WMS/DMS)**
凤翎鹤冢
python开发语言
------####**一、AMS(ActivityManagerService)****职责**:管理应用生命周期、进程调度、四大组件(Activity/Service/Broadcast/ContentProvider)协调、权限控制、内存管理等。---#####**1.源码路径**-**核心类**:-`frameworks/base/services/core/java/com/androi
- Android art monitor_android.cc 源码分析
月盈五
android
源码分析#include"monitor.h"#include#include#include#include#include#include"art_method.h"#include"jni/jni_env_ext.h"#include"palette/palette.h"#include"thread.h"//定义了一个日志标签EVENT_LOG_TAG_dvm_lock_sample,用于
- Android soong/ui/build/finder.go FindSources源码分析
月盈五
androiduigolang
//FindSourcessearchesforsourcefilesknowntoandwritesthemtothefilesystemfor//uselater.//在一个给定的上下文中,使用配置信息和finder.Finder实例来搜索特定类型的源文件,并将这些文件的路径列表写入到文件系统中,以便后续使用funcFindSources(ctxContext,configConfig,f*f
- Android 滑块开关 自定义Switch
Cui晨
android
自定义Switch开关:cSwitch.setOnCheckedChangeListener(newCompoundButton.OnCheckedChangeListener(){@OverridepublicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){Log.i(TAG,"onCheckedChanged改变状
- android storage_state
月盈五
android
storage_state是android用来输出磁盘状态的event类型的日志,下面我们看下它的定义和使用以及磁盘状态介绍。定义#---------------------------#DeviceStorageMonitorService.java#---------------------------#Storagevolumestateandusablespaceinbytes2749st
- 安卓Android与iOS设备管理对比:企业选择指南
EasyControl移动设备管理
MDM介绍androidios安卓企业管理企业设备管理IT运维
目录一、管理方式差异AndroidEnterprise方案包含三种典型模式:AppleMDM方案主要提供两种模式:二、安全防护能力Android系统特点:三、应用管理方案四、设备选择建议五、典型场景推荐需求场景推荐方案六、决策建议要点在企业移动设备管理中,Android和iOS是两大主流选择。企业需要从安全性、灵活性、应用管理能力和使用场景四个维度进行评估。本文通过对比AndroidEnterpr
- Android Service封装实战:基于Binder与接口的高效通信方案
tangweiguo03051987
androidbinderjava
通过封装Service,可以简化Service的使用和管理,提升代码的可维护性和复用性。无论是本地Service还是跨进程通信,封装都能让代码更加清晰和易于扩展。1.封装Service的步骤1.1创建基础Service类创建一个基础的Service类,封装通用的逻辑(如启动、停止、绑定等)。publicabstractclassBaseServiceextendsService{privatefi
- android:实现圆角效果
沪cares
android开发android
activity本身没有圆角相关的属性,但可以通过以下方法实现圆角效果,步骤如下:在res/drawable下创建xml文件,我命名rounded_corners.xml-->其中,shape元素来定义背景的形状。solid元素设置了背景的颜色,corners元素设置了圆角的半径。stroke元素设置了边框。在布局文件中应用该背景。
- android渲染是skia与egl,opengl和skia哪个快 游戏电脑问题解决分享!
赵阿萌
从Honeycomb[3.x]版本起,Andorid便支持GPU加速,但目前Android并没有使用SkiaGPU进行Webkit渲染。SkiaGPU使用OpenGL进行后台加速渲染,未来也许会代替Skia。很多人觉得,即使Android成功使用了GPU加速Webkit渲染,在访问浏览如雅虎等一般的网站时,用户也感觉不到太大的差异。因为Webkit的资源大多数消耗在了Javascript脚本和布局
- 矩阵求逆(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到设计文档中,那将会是一件非常痛苦的事情。