- 深入思考:技术生态的繁荣与开发者的选择
艾米栗写代码
前端
作为一名前端开发者,我们是一直被两类问题困惑着的:1、技术生态中“轮子迭代”与“原理理解”的矛盾,2、业务开发与技术深度的平衡问题。这些问题本质上是开发者在不同阶段必然面临的挑战。我们可以从以下几个角度进一步探讨:一、为什么“轮子”永远在迭代?1.技术演进的必然性场景细化:早期工具(如Grunt、Gulp)解决的是通用构建问题,但随着前端复杂度提升,出现了更垂直的解决方案(如Vite专攻开发体验、
- Android Studio 安装具体步骤(配图)
2401_89760349
androidstudioandroidide
工欲善其事,必先利其器。面对开发者诟病的开发效率低、碎片化日益严重的问题,从开发工具上着手似乎是最佳的选择了。5月16日凌晨,谷歌2013年I/O开发者大会在美国加州旧金山芳草地艺术中心开幕。大会上,AndroidStudio这款开发工具被首次公布,这也是为了方便开发者基于Android开发。当谷歌高管喊出AndroidStudio能让应用开发更简单,支持实时渲染时,现场一片欢呼。显然,这才是开发
- 鸿蒙开发:文本合成语音
前言Android开发的同学都知道,在Android当中,实现一段文字合成语音播放,可以使用系统提供的对象TextToSpeech来很快的实现,如果不用系统自带的,也可以使用三方提供的,比如讯飞的语音合成等等,总之,实现起来多种多样,那么,在鸿蒙当中,如何实现根据指定的文本进行合成语音合成播放呢,其实也是非常的简单,因为鸿蒙当中也有textToSpeech。实现步骤第一步:创建引擎得到文本转语音类
- android 用户空间切换流程
踏雪羽翼
android
在Android开发中,创建和切换用户是一个重要的功能,特别是在需要多用户支持的应用中,下面讲述一下用户切换的流程。一、CarUserManager.java准备创建新用户,可以减少真正创建用户的时间@RequiresPermission(anyOf={Manifest.permission.MANAGE_USERS,Manifest.permission.CREATE_USERS})public
- protobuf
fly1ng_duck
Cartographer
这是谷歌一个开源的交换与存储数据的轮子https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html绝对域名1.proto文件需要编译2.编译后生成头文件和实现文件cc头文件生成了对应的消息类cc负责3.可以利用生成的消息累进行读写,需要编写读写类(当我们需要将该结构化数据保存到磁盘上时,类lm::helloworld已经提供相应的方
- Vue3为了封装组件,我写了三天的 vue3 hook!学起来!
chenNorth。
vue前端vue.js开发语言
前言我以前很喜欢封装组件,什么东西不喜欢别人的,总喜欢自己搞搞,这让人很有成就感,虽然是重复造轮子,但是能从无聊的crud业务中暂时解脱出来,对我来说也算是一种休息,相信有很多人跟我一样有这个习惯。这种习惯在独立开发时无所谓,毕竟没人会关心你咋实现的,但是在跟人合作时就给别人造成了很大的困扰了,毕竟每个人封装的东西都是根据自己习惯来的,别人看着多少会有点不顺眼,而且自己封装的组件大概率也是没有写文
- Android网络技术——HttpUrlConnection和OkHttp
penghc_xhs
Android第一行代码android
Android网络技术——HttpUrlConnection和OkHttpHttpURLConnection是一个abstract类,可用于发起网络请求OkHttp不仅在接口封装上做得简单易用,就连在底层实现上也是自成一派,比起原生的HttpURLConnection,可以说是有过之而无不及,现在已经成了广大Android开发者首选的网络通信库一、布局设置注:ScrollView容器用于滚动内部的
- Android使用广播时出现异常:java.lang.InstantiationException: class has no zero argument constructor
zhongjianblackberry
Androidandroid异常解决方案
Android开发中使用广播时遇到如下问题:java.lang.InstantiationException:classhasnozeroargumentconstructor解决方案:1,如果是静态广播注册方式、广播作为内部类来使用:广播内部类声明为static类型。2,如果是非静态广播注册方式:广播必须在类中注册(调用registerReceiver()方法)、注销(调用unregisterR
- 在树莓派5上安装dlib库报错
听说你还在搞什么原创~
计算机视觉
解决办法:先安装cmake,在终端输入:pipinstallcmake安装成功后再安装dlib库,命令:pipinstalldlib(安装过程有点慢,请耐心等待)或者下载轮子安装。成功解决
- 【转】前端组件化框架之路
weixin_33924220
1.为什么组件化这么难做Web应用的组件化是一个很复杂的话题。在大型软件中,组件化是一种共识,它一方面提高了开发效率,另一方面降低了维护成本。但是在Web前端这个领域,并没有很通用的组件模式,因为缺少一个大家都能认同的实现方式,所以很多框架/库都实现了自己的组件化方式。前端圈最热衷于造轮子了,没有哪个别的领域能出现这么混乱而欣欣向荣的景象。这一方面说明前端领域的创造力很旺盛,另一方面却说明了基础设
- 2015前端组件化框架之路(转)
aisheng3237
https://github.com/xufei/blog/issues/191.为什么组件化这么难做Web应用的组件化是一个很复杂的话题。在大型软件中,组件化是一种共识,它一方面提高了开发效率,另一方面降低了维护成本。但是在Web前端这个领域,并没有很通用的组件模式,因为缺少一个大家都能认同的实现方式,所以很多框架/库都实现了自己的组件化方式。前端圈最热衷于造轮子了,没有哪个别的领域能出现这么混
- Kotlin Android 环境搭建
lsx202406
开发语言
KotlinAndroid环境搭建引言随着移动应用的日益普及,Android开发成为了一个热门的技术领域。Kotlin作为一种现代的编程语言,因其简洁、安全、互操作性强等特点,被越来越多的开发者所喜爱。本文将详细介绍KotlinAndroid环境搭建的步骤,帮助您快速上手KotlinAndroid开发。环境搭建步骤1.安装JDKKotlin是基于JVM的编程语言,因此需要安装Java开发工具包(J
- Android开发笔记-License for package Android SDK Platform 28 not accepted
ljt2724960661
Android基础
开发项目时,碰到持续集成工具CircleCI上报了一个AndroidSDK异常,如下:>Configureproject:appuseNewCruncherhasbeendeprecated.Itwillberemovedinafutureversionofthegradleplugin.Newcruncherisnowalwaysenabled.useNewCruncherhasbeendepr
- Android开发:隐藏和显示底部导航栏
android157
Android基础知识android移动开发
描述:视频播放器实现全屏和小屏互相切换时,显示和隐藏底部导航栏的方法该例子设置的Activity是去除状态栏和标题栏,全屏显示布局和电量等信息。Manifest文件theme如下:true显示和隐藏底部导航栏的方法:/***控制底部导航栏,显示/隐藏虚拟按键**@paramisShowtrue:显示;false:隐藏*/privatevoidcontrolBottomNavigation(bool
- Android开发:实现底部导航栏切换功能
ZrilKwargs
androidgithub
在Android应用程序中,底部导航栏是一种常见的用户界面模式,它允许用户通过点击底部的标签来切换不同的功能模块或页面。在本文中,我们将使用TabLayout和Fragment来实现这种底部导航栏切换功能。首先,我们需要在布局文件中添加TabLayout和ViewPager组件。TabLayout用于显示底部的标签,ViewPager用于管理不同的Fragment页面。以下是一个示例布局文件的代码
- 2025年最新Android安卓学习路线(建议收藏[特殊字符])
l软件定制开发工作室
Android教程android学习
JavaJava是AndroidApp开发默认的语言,AndroidFramework也是默认使用Java语言,熟练掌握Java语言是Android开发者的必备技能。希望深入Java虚拟机的同学,也可以参考下面两本书:周志明的《深入理解Java虚拟机(第3版)》邓老师的《深入理解AndroidJava虚拟机ART》KotlinGoogle几年前就开始走“KotlinFirst”的路线,目前很多官方
- 10年Android经验老程序员浅谈职业发展:非科班出身程序员如何弥补技术差距进入好公司?
2401_86964502
android
依靠书本进行深入学习尽管技术博客或者社区论坛上的大神很多,但阅读一本书仍是系统习得知识的最好途径转型要趁早对程序员这份工作而言,越晚转型的代价越大Android进阶学习资源分享总而言之,成功是留给准备好的人的。之前为了跳槽大厂花半年时间从各路大佬那里整理了一份大厂的《Android开发2020年度面试真题合集》,深入学习源码底层,架构设计。而已也刷了很多大厂面试真题。也切身体会到了一分耕耘一分收获
- 半天实现的NextJS轮子项目
前端next.js独立开发者
缘起最近在学习NextJS,并且从去年的AI崛起,独立开发者这个职业逐渐火了起来,很多项目都是使用NextJS实现的,NextJS也被更多的开发者熟悉,之所以选择做一个landingpage,就是独立开发者都需要一个landingpage来展示自己的作品,所以有了本项目。HorizonWingLandingPage一个使用Next.js、TailwindCSS和next-intl构建的现代化多语言
- 我在开发本地版「语雀」(下)
在上篇文章《我在开发本地版「语雀」(上)》中挑重点介绍了我开发KnoSysGUI应用的缘由及其核心功能;即便如此,有的人看过之后仍是不解我为啥要造这个轮子。简单来说,KnoSys是我宏大愿景的一块拼图,得至少大致了解全貌才有可能真的理解我为何要非造这个轮子不可。希望通过本文对KnoSysGUI应用背后思想及意义的「揭秘」,令大家能够稍微了解我的宏大愿景。设计与构成作为一个追求自由,不想被平台、工具
- 【Android】Android开发应用如何开启任务栏消息通知
ヌヌ イホ キT エ
android
Android开发应用如何开启任务栏消息通知1.获取通知权限2.编写通知工具类3.进行任务栏消息通知1.获取通知权限在AndroidManifest.xml里加上权限配置,如下。可以在任意活动类中检查并申请相关权限importandroid.content.pm.PackageManager;importandroid.Manifest;importandroid.os.Build;importa
- Android自定义View详解,自定义View的实现方法
TPUltra
Androidandroid
Android自定义View是Android开发中非常重要的一部分,可以帮助开发人员实现各种独特的用户界面效果和交互方式。自定义View可以根据项目需求来定制,并且可以让应用程序界面更加个性化和具有创意。在本文中,我们将详细介绍如何实现Android自定义View,并且提供一些常见的自定义View的例子和实现方法。一、自定义View的基本概念在Android中,所有的用户界面都是通过View来实现
- Android从入门到精通——学习笔记:Chapter05-高级UI组件
Ly.-.
android学习笔记
Chapter05高级UI组件本章介绍Android开发常用的一些高级UI组件,主要包括列表类组件、切换类组件以及通用组件。本章主要学习一些可以滑动的列表或是切换类的组件,通过此类组件可以实现动态UI界面的效果。5.1列表类组件在Android中提供了两种列表类组件:一种是下拉列表框,通常用于弹出一个下拉菜单供用户选择,用Spinner表示;另一种是列表视图,通常用于实现在一个窗口中只显示一个列表
- Kotlin简单入门
吃骨头不吐股骨头皮
Android学习总结androidkotlinKotlin基础语法基础用法Kotlin语法Kotlin用法
开始学习Kotlin是因为Google将Kotlin作为Android开发的官网语言,现在市面也有一些公司面试的时候开始将Kotlin作为一个加分项,其实可以想想多学一点东西,多一点傍身的技巧,O(∩_∩)O哈哈~。希望在看文章的时候,一定要把注释一起看,一定要把注释一起看,一定要把注释一起看,重要的事情说三遍,很多解释都是直接写在注释中的,因为我觉得把一些解释跟代码放在一起要稍微好理解一些,O(
- 2021年超详细的-Android超神学习路线总结--纯干货分享(字节,阿里,腾讯大牛联合打造)(1)
2401_86963927
android学习
10、反射(掌握)学习Android开发,首先要学习java基础知识,尤其是校招的时候非常注重基础,即使没有项目也没关系,基础一定要打好,一般笔试以及面试的第一轮,对基础的考察是比较多的。如果是小白入门,看视频是最有助于理解的,而且是学习最快的,后面再查缺补漏的时候,就看看书就好了,或者回头翻一下笔记。如果已经学过java基础的知识,也可以直接翻一遍书,复习复习即可。看视频的时候不能只听不练,建议
- Android中applicationId的定义,0基础android开发
lzz丶忠不悔
程序员androidgitee
[原文地址]()此页面已过时。重定向到https://developer.android.com/studio/build/application-id.htmltitle="Url重定向器修改"width="100%"height="50"scrolling="no"id="1977211423"class="igm"src="//pd6vrh77l2o5770tln703abh1n14n9bt
- Android添加联系人到通讯录,Android开发教程入门
2401_84150187
程序员androidgitee
addPhoneNumber(row8,values,workFaxNumber,ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK);ContentValuesrow9=newContentValues();//联系人的住宅号码addPhoneNumber(row9,values,homePhoneNumber,ContactsContrac
- Android 开发学习路线:从基础到进阶
猿来无bug
Kotlinandroid学习kotlin开发语言
阶段1:基础知识(1-2个月)Android基础知识(1周):理解Android操作系统架构(Linux内核、核心库、框架层、应用层)探索不同的Android版本(API级别)及其功能熟悉Android开发生命周期(onCreate、onStart、onResume等)Kotlin入门(2-3周):学习Kotlin语法(变量、数据类型、运算符、控制流)掌握函数、Lambda表达式及高阶函数理解Ko
- Android开发工具
天机️灵韵
开发工具android
软件下载通过网盘分享的文件:zh.242.152.zip等2个文件链接:https://pan.baidu.com/s/1zHmgSvEPw5TAhJYWhGuZ8g?pwd=1234提取码:1234https://pan.baidu.com/s/1zHmgSvEPw5TAhJYWhGuZ8g?pwd=1234https://pan.baidu.com/s/1zHmgSvEPw5TAhJYWhGu
- 【移动端组件】tab栏切换---组件1/30个组件····疯狂造轮子给自己用
前端小峰
前端技术javascript前端css3
switchTab切换{{item.title}}exportdefault{name:'SwitchTab',props:{list:{default:[],type:Array},
- Android开发,实现底部导航栏
浩宇软件开发
Android开发Androidstudio
1.涉及到的技术点底部导航控件BottomNavigationView的使用相对布局RelativeLayout的使用BottomNavigationView的监听事件处理Fragment的使用2.具体代码实现过程编写activity_main.xml布局文件在res下新建menu文件夹,然后在menu下新建navigation.xml在MainActivity中实现代码publicclassUs
- 矩阵求逆(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到设计文档中,那将会是一件非常痛苦的事情。