Skip to main content

标 题: Java(或者python,perl)軟件方案deploy的歷史回顧。

 发信人: netghost (Up to Isomorphism), 信区: Programming
标  题: Java(或者python,perl)軟件方案deploy的歷史回顧。
发信站: BBS 未名空间站 (Fri Feb 19 15:45:50 2021, 美东)

deploy這件事情看起來簡單,但的確是大部分Java方案的頭痛的地方:到底怎麼
deliver?如果同時還要deliver JVM那麼所謂編譯一次到處運行就成了一個笑話,所以
早年當Java程序員還有點堅持的時候就是直接deliver Jar的,但是結果當然也知道了
,就是無窮無盡的煩惱。不僅各個操作系統JVM有不兼容的問題,JVM不同版本也有不兼
容的問題,此外還有M$這種和你搗亂的JVM存在。所以很長一段時間,Java就是慢,崩
的代名詞,很多時候都不一定是Java程序員的問題,而是廚師放的是醬油,但是擋不住
別人賣給你的醬油裏面裝的是醋。

所以到某個點上,Java開發人員也知道死要面子活受罪沒有意義,所以就就和jar一起
shipjvm。但是jvm一般來說有一堆東西,並不是簡單copy幾個文件就完了的,同時因爲
Java開發團隊一般都對Unix的系統瞭解不多,所以怎麼分發這件事情就成了巨大的麻煩
每個系統的底層庫的問題都可以造成jvm的問題,而且要解決這個問題,只會寫Java是沒
有任何辦法的。雖然其實UNIX下面早就有標準接口可以解決這個問題:只要你知道編譯
鏈接的原理,會寫幾行C和shell。

直到docker這個東西出來了,這些人立刻就像撿到了寶貝,因爲知道怎麼不懂UNIX也可
以相對容易的deploy Java的方案了,which我承認的確是部分程度上的確解決了他們的
問題,但是,真的至於嗎?如果稍微認證瞭解一下UNIX program是怎麼運行的,很多年
前就能有出路。

這件事情也apply到python,perl所有這種一堆dependency和運行時環境的程序,賣起
來都有一堆這種問題。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...