最近打算在業(yè)余時(shí)間做一個(gè)項(xiàng)目屏富,主要是我很久沒獨(dú)立做過項(xiàng)目了店雅,最近一次獨(dú)立全棧完成前后端,還是在三年前了太援,為什么很久沒做了呢幅骄?
主要是因?yàn)樽詮倪M(jìn)到大公司劫窒,和以前小公司自己做東西不太一樣,分工比較明確拆座,我只需要做好自己負(fù)責(zé)的那一塊就行了主巍,其它工作由其它同事負(fù)責(zé)解決冠息。
長(zhǎng)期下來,我發(fā)現(xiàn)自己以前會(huì)的很多技能孕索,就好像溫水煮青蛙一般自然而然的消失了逛艰,或者說沒有那么熟練了,忘得非掣阈瘢快散怖,程序員的很多技能,包括編程語言肄渗,只要很長(zhǎng)時(shí)間不用镇眷,那么自然而然就忘記了,所以我想重新把那些技能撿起來翎嫡,為以后的計(jì)劃做鋪墊欠动,因此打算通過做一個(gè)項(xiàng)目把全棧工程師的技能撿起來。
我想起以前自己獨(dú)立做一個(gè)項(xiàng)目還是很快的惑申,一兩周就搞定后臺(tái)開發(fā)具伍,自己獨(dú)立搭各種框架,前端也是一兩周就搞定了∪ν眨現(xiàn)在不知道還能不能保持以前的水平了沿猜。
以前認(rèn)識(shí)的老朋友花錢讓我?guī)退鲆粋€(gè)電商后臺(tái)雛形,也就用了兩周時(shí)間碗脊,從0開始啼肩,后面他有了自己開發(fā)團(tuán)隊(duì),在我的基礎(chǔ)上繼續(xù)開發(fā)衙伶。
好懷念以前的那種時(shí)光祈坠,現(xiàn)在感覺好像沒那么快了。
不過我還是想起來以前做項(xiàng)目的時(shí)候的規(guī)劃的矢劲,我自己做項(xiàng)目的規(guī)劃一般是以下幾個(gè)階段:
全新項(xiàng)目->原型設(shè)計(jì)->接口設(shè)計(jì)-數(shù)據(jù)庫表設(shè)計(jì)->后臺(tái)開發(fā)->前端赦拘,安卓,ios
- 首先是原型設(shè)計(jì)芬沉,使用pencil或者axure
- 接口設(shè)計(jì)就是這個(gè)項(xiàng)目用到哪些接口躺同,哪些crud的接口,登陸接口丸逸,上傳接口等等
- 數(shù)據(jù)庫表設(shè)計(jì)蹋艺,要用哪些數(shù)據(jù)庫,mysql還是pg黄刚,其次就是數(shù)據(jù)庫的表的設(shè)計(jì)了捎谨,需要哪些數(shù)據(jù),數(shù)據(jù)模型是怎么樣的
- 后臺(tái)開發(fā),就是具體后臺(tái)實(shí)現(xiàn)的業(yè)務(wù)邏輯和增刪改查那些了涛救,使用什么后臺(tái)技術(shù)畏邢,springboot,還是python检吆,如果是簡(jiǎn)單的后臺(tái)接口舒萎,就肯定用python flask,復(fù)雜的使用springboot
- 前端的話蹭沛,就是安卓逆甜,ios,小程序致板,html5那些前端展示的應(yīng)用交煞,現(xiàn)階段主要考慮uniapp來做跨平臺(tái)應(yīng)用,當(dāng)然以前uniapp沒那么火的時(shí)候斟或,那時(shí)候我是用vue來寫后臺(tái)管理的素征,還沒涉及到用戶前端。
這個(gè)項(xiàng)目的名字是在線運(yùn)行代碼萝挤,就是在前端編寫好代碼御毅,然后在云端運(yùn)行,面向的群體是程序員的初學(xué)者怜珍,或者需要臨時(shí)調(diào)試代碼端蛆,在車上,公交上酥泛,地鐵上今豆,可以實(shí)時(shí)運(yùn)行得到結(jié)果,驗(yàn)證自己的想法柔袁。
運(yùn)行的代碼主要是一些片段性的example代碼呆躲,舉個(gè)例子:
public class Example{
public static void main(String args[]){
//creating a string by java string literal
String str = "Beginnersbook";
char arrch[]={'h','e','l','l','o'};
//converting char array arrch[] to string str2
String str2 = new String(arrch);
//creating another java string str3 by using new keyword
String str3 = new String("Java String Example");
//Displaying all the three strings
System.out.println(str);
System.out.println(str2);
System.out.println(str3);
}
}
def hello():
print('Hello, World!')
hello()
# Prints Hello, World!
后續(xù)可能基于一些常用的python或者java庫來羅列一些example,來幫助學(xué)習(xí)和輔助開發(fā)捶索,初步打算支持java和python兩個(gè)比較流行的語言的學(xué)習(xí)
后續(xù)可能進(jìn)一步開放go語言插掂,js語言,這些流行的語言的學(xué)習(xí)
總的來說這個(gè)項(xiàng)目通過在線運(yùn)行調(diào)試代碼片段達(dá)到學(xué)習(xí)的目的腥例。
軟件會(huì)內(nèi)置很多代碼片段
總的功能概括如下:
- 支持代碼片段編輯和運(yùn)行辅甥,運(yùn)行時(shí)間最大不超過8s,防止惡意暫停線程燎竖,占用系統(tǒng)資源璃弄,以及限制單個(gè)片段可以使用的cpu和內(nèi)存
- 內(nèi)置大量的基礎(chǔ)代碼學(xué)習(xí)片段,可以直接基于代碼片段運(yùn)行
- 內(nèi)置語言里面常用庫的運(yùn)用和使用片段底瓣,對(duì)于java而言谢揪,可能是spring,apache的utils工具捐凭,對(duì)于python而言拨扶,可能是json,yaml處理的庫茁肠,或者機(jī)器學(xué)習(xí)的庫
- 后續(xù)進(jìn)一步支持代碼長(zhǎng)時(shí)間的收費(fèi)運(yùn)行患民,可綁定域名等
目前想到的就這些了,后續(xù)的文章和公眾號(hào)會(huì)進(jìn)一步記錄我的開發(fā)歷程垦梆,謝謝閱讀