StarUML 免注冊(cè)碼 Mac OS

StarUML 免注冊(cè)碼 Mac OS

StarUML 是什么?

A sophisticated software modeler for agile and concise modeling

文檔:https://docs.staruml.io/

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

圖來自《Kotlin從入門到進(jìn)階實(shí)戰(zhàn)》 (陳光劍,清華大學(xué)出版社)
圖來自《Kotlin從入門到進(jìn)階實(shí)戰(zhàn)》 (陳光劍,清華大學(xué)出版社)

https://kotlinlang.org/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容