StarUML 免注冊(cè)碼 Mac OS
StarUML 是什么?
A sophisticated software modeler for agile and concise modeling

The key features of StarUML are:
Multi-platform support (MacOS, Windows and Linux)
UML 2.x standard compliant
Entity-Relationship diagram (ERD)
Data-flow diagram (DFD)
Flowchart diagram
Multiple windows
Modern UX
Dark and light themes
Retina (High-DPI) display support
Model-driven development
Open APIs
Various third-party extensions
Asynchronous model validation
Export to HTML docs
Automatic updates.
下載安裝

首先下載安裝 StarUML :http://staruml.io/download
安裝 npm 工具 asar
需要先安裝node.js的npm包管理工具.
輸入以下指令安裝asar
npm install -g asar
打開安裝目錄,找到 app.asar
app.asar文件是Electron加密打包時(shí)的中間產(chǎn)物,electron 調(diào)用resources文件夾下的app.asar, 從而實(shí)現(xiàn)不用解壓縮而高效直接讀取文件內(nèi)容.
安裝目錄:
/Applications/StarUML.app/Contents/Resources
找到 app.asar :
jack@chenguangjian Resources % ls
StarUML.icns
...
app.asar
...
切換到app.asar所在文件夾,然后輸入
sudo asar extract app.asar app
進(jìn)入 app 目錄 /Applications/StarUML.app/Contents/Resources/app/src/engine 下面:
jack@chenguangjian engine % tree
.
├── canvas2svg.js
├── clipboard-manager.js
├── command-manager.js
├── default-commands.js
├── diagram-export.js
├── engine.js
├── factory.js
├── font-manager.js
├── license-manager.js
├── pdf-graphics.js
├── project-manager.js
├── selection-manager.js
├── unicode.js
└── update-manager.js
0 directories, 14 files
修改 license-manager.js
修改這一段 setStatus(this, true) .
代碼如下:
checkLicenseValidity () {
this.validate().then(() => {
setStatus(this, true)
}, () => {
setStatus(this, true)
// setStatus(this, false)
// UnregisteredDialog.showDialog()
})
}
重新打包,自動(dòng)替換原來的 app.asar,激活完畢
asar pack app app.asar
Kotlin開發(fā)者社區(qū)

專注分享 Java、 Kotlin、Spring/Spring Boot、MySQL、redis、neo4j、NoSQL、Android、JavaScript、React、Node、函數(shù)式編程、編程思想、"高可用,高性能,高實(shí)時(shí)"大型分布式系統(tǒng)架構(gòu)設(shè)計(jì)主題。
High availability, high performance, high real-time large-scale distributed system architecture design。
*分布式框架:Zookeeper、分布式中間件框架等
分布式存儲(chǔ):GridFS、FastDFS、TFS、MemCache、redis等
分布式數(shù)據(jù)庫:Cobar、tddl、Amoeba、Mycat
云計(jì)算、大數(shù)據(jù)、AI算法
虛擬化、云原生技術(shù)
分布式計(jì)算框架:MapReduce、Hadoop、Storm、Flink等
分布式通信機(jī)制:Dubbo、RPC調(diào)用、共享遠(yuǎn)程數(shù)據(jù)、消息隊(duì)列等
消息隊(duì)列MQ:Kafka、MetaQ,RocketMQ
怎樣打造高可用系統(tǒng):基于硬件、軟件中間件、系統(tǒng)架構(gòu)等一些典型方案的實(shí)現(xiàn):HAProxy、基于Corosync+Pacemaker的高可用集群套件中間件系統(tǒng)
Mycat架構(gòu)分布式演進(jìn)
大數(shù)據(jù)Join背后的難題:數(shù)據(jù)、網(wǎng)絡(luò)、內(nèi)存和計(jì)算能力的矛盾和調(diào)和
Java分布式系統(tǒng)中的高性能難題:AIO,NIO,Netty還是自己開發(fā)框架?
高性能事件派發(fā)機(jī)制:線程池模型、Disruptor模型等等。。。*
合抱之木,生于毫末;九層之臺(tái),起于壘土;千里之行,始于足下。不積跬步,無以至千里;不積小流,無以成江河。

Kotlin 簡介
Kotlin是一門非研究性的語言,它是一門非常務(wù)實(shí)的工業(yè)級(jí)編程語言,它的使命就是幫助程序員們解決實(shí)際工程實(shí)踐中的問題。使用Kotlin 讓 Java程序員們的生活變得更好,Java中的那些空指針錯(cuò)誤,浪費(fèi)時(shí)間的冗長的樣板代碼,啰嗦的語法限制等等,在Kotlin中統(tǒng)統(tǒng)消失。Kotlin 簡單務(wù)實(shí),語法簡潔而強(qiáng)大,安全且表達(dá)力強(qiáng),極富生產(chǎn)力。
Java誕生于1995年,至今已有23年歷史。當(dāng)前最新版本是 Java 9。在 JVM 生態(tài)不斷發(fā)展繁榮的過程中,也誕生了Scala、Groovy、Clojure 等兄弟語言。
Kotlin 也正是 JVM 家族中的優(yōu)秀一員。Kotlin是一種現(xiàn)代語言(版本1.0于2016年2月發(fā)布)。它最初的目的是像Scala那樣,優(yōu)化Java語言的缺陷,提供更加簡單實(shí)用的編程語言特性,并且解決了性能上的問題,比如編譯時(shí)間。 JetBrains在這些方面做得非常出色。
Kotlin語言的特性
用 Java 開發(fā)多年以后,能夠嘗試一些新的東西真是太棒了。如果您是 Java 開發(fā)人員,使用 Kotlin 將會(huì)非常自然流暢。如果你是一個(gè)Swift開發(fā)者,你將會(huì)感到似曾相識(shí),比如可空性(Nullability)。 Kotlin語言的特性有:
1.簡潔
大幅減少樣板代碼量。
2.與Java的100%互操作性
Kotlin可以直接與Java類交互,反之亦然。這個(gè)特性使得我們可以直接重用我們的代碼庫,并將其遷移到 Kotlin中。由于Java的互操作性幾乎無處不在。我們可以直接訪問平臺(tái)API以及現(xiàn)有的代碼庫,同時(shí)仍然享受和使用 Kotlin 的所有強(qiáng)大的現(xiàn)代語言功能。
3.擴(kuò)展函數(shù)
Kotlin 類似于 C# 和 Gosu, 它提供了為現(xiàn)有類提供新功能擴(kuò)展的能力,而不必從該類繼承或使用任何類型的設(shè)計(jì)模式 (如裝飾器模式)。
4.函數(shù)式編程
Kotlin 語言一等支持函數(shù)式編程,就像Scala一樣。具備高階函數(shù)、Lambda 表達(dá)式等函數(shù)式基本特性。
5.默認(rèn)和命名參數(shù)
在Kotlin中,您可以為函數(shù)中的參數(shù)設(shè)置一個(gè)默認(rèn)值,并給每個(gè)參數(shù)一個(gè)名稱。這有助于編寫易讀的代碼。
6.強(qiáng)大的開發(fā)工具支持
而由于是JetBrains出品,我們擁有很棒的IDE支持。雖然Java到Kotlin的自動(dòng)轉(zhuǎn)換并不是100% OK 的,但它確實(shí)是一個(gè)非常好的工具。使用 IDEA 的工具轉(zhuǎn)換Java代碼為 Kotlin 代碼時(shí),可以輕松地重用60%-70%的結(jié)果代碼,而且修改成本很小。
Kotlin 除了簡潔強(qiáng)大的語法特性外,還有實(shí)用性非常強(qiáng)的API以及圍繞它構(gòu)建的生態(tài)系統(tǒng)。例如:集合類 API、IO 擴(kuò)展類、反射API 等。同時(shí) Kotlin 社區(qū)也提供了豐富的文檔和大量的學(xué)習(xí)資料,還有在線REPL。
A modern programming language that makes developers happier. Open source forever


