Parse 移植:如何將 Parse 服務(wù)器遷移部署到 Heroku 或 AWS 上

原文鏈接:http://www.appcoda.com/parse-server-installation/
作者:Gregg Mojica at AppCoda
原文日期:2016-04-16
譯者:Crystal Sun

繼續(xù)我之前的這篇文章 migrating a parse database to a self-host MongoDB instance长捧,在這次的春季輔導(dǎo)教程中,我們看一下如何將 parse 服務(wù)器遷移到 Heroku 和 Amazon Web Service朱嘴。

對(duì)于還不了解 Parse 之死的人來(lái)說(shuō),這意味著服務(wù)器(處理數(shù)據(jù),與數(shù)據(jù)庫(kù)互動(dòng)大审,發(fā)送接收請(qǐng)求等待)需要遷移到其他地方了余掖。Parse,后端即服務(wù)(BaaS)替废,為開(kāi)發(fā)者提供服務(wù)器和數(shù)據(jù)庫(kù)的服務(wù)。然而泊柬,隨著 Parse 即將在一月份關(guān)閉椎镣,官方建議,在2017年1月28日徹底停止服務(wù)之前兽赁,請(qǐng)遷移 Parse 應(yīng)用状答。Parse 官方建議你先遷移數(shù)據(jù)庫(kù),然后在遷移服務(wù)器刀崖。本節(jié)教程會(huì)假定你一看完成了數(shù)據(jù)庫(kù)的遷移剪况,正如我們?cè)谏掀坛?a target="_blank" rel="nofollow">第一部分中所做的。

幸運(yùn)的是蒲跨,parse-server(GitHub 項(xiàng)目译断,由 Facebook 開(kāi)源,偉大的 Parse 統(tǒng)治者)可以部署在大部分的云服務(wù)上或悲。在本節(jié)教程里孙咪,我們會(huì)講述如何將 parse-serve 部署到 Heroku,Salesforce 旗下知名的云服務(wù)供應(yīng)商巡语。在本篇文章的最后部分翎蹈,我們會(huì)演示如何部署到 Amazon Web Services(AWS)上,世界上很多知名的 App 都在使用 AWS 的服務(wù)男公。

準(zhǔn)備開(kāi)始

首先到 Heroku.com 網(wǎng)站注冊(cè)一個(gè)帳號(hào)荤堪。為了演示 demo,我選擇了免費(fèi)方案枢赔。你根據(jù)自己的需要澄阳,選擇合適的方案,比如付費(fèi)方案踏拜。你可以在這里看到所有的付費(fèi)方案碎赢。

部署到 heroku 有兩種方法可供選擇。第一種是點(diǎn)擊 Deploy to Heroku 按鈕速梗,然后出現(xiàn)一步接一步的提示流程肮塞,因?yàn)?Parse 已經(jīng)在 Heroku 的服務(wù)器上設(shè)置過(guò) parse-server 了襟齿,對(duì)非 Javascript 程序員來(lái)說(shuō),這可能是最簡(jiǎn)單的方法了枕赵。如果你熟悉 git 和命令行猜欺,請(qǐng)隨意使用克隆應(yīng)用然后用命令行完成。話(huà)雖如此拷窜,但是你不能一輩子都避免使用命令行开皿。不管你選擇那種方式,都會(huì)涉及到命令行的装黑。

Option 1: 使用 Heroku 按鈕

點(diǎn)擊上面的按鈕,創(chuàng)建一個(gè)新的 heroku 應(yīng)用弓熏,你會(huì)看到類(lèi)似下方圖片的界面:

設(shè)置向?qū)С霈F(xiàn)恋谭,讓你輸入應(yīng)用名稱(chēng)(全部小寫(xiě)不允許有空格)。

接下來(lái)挽鞠,選擇 runtime 選項(xiàng)疚颊。如果你住在美國(guó),選擇 United States(美國(guó))信认,其他地方材义,選擇 Europe(歐洲)。runtime 選項(xiàng)嫁赏,就是你希望你的應(yīng)用部署在哪個(gè)地方其掂。考慮到性能和速度潦蝇,最好將應(yīng)用服務(wù)器部署在離你較近的地方款熬。

接下來(lái)更新配置,填寫(xiě) Parse 賬戶(hù)里對(duì)應(yīng)的密鑰(或者生成新的密鑰攘乒,如果你不是遷移現(xiàn)存應(yīng)用的話(huà)贤牛,這點(diǎn)以后再說(shuō))。安裝路徑為 /parse则酝。

當(dāng)你填完所有的字段后殉簸,點(diǎn)擊 deploy 按鈕,暫時(shí)先空著 MongoLab(也就做 mLab)開(kāi)發(fā)沽讹。


可能需要你輸入你的信用卡般卑。

Option 2: 克隆 Heroku 應(yīng)用

parse-server 是開(kāi)源項(xiàng)目,目前可以在 GitHub 上下載爽雄。如果你選擇的是命令行椭微,而不是點(diǎn)擊 heroku 按鈕,那么繼續(xù)下方的操作盲链。開(kāi)始前蝇率,先打開(kāi)終端(Terminal)迟杂,使用下方的命令來(lái)克隆應(yīng)用:

cd ~
cd Desktop
 
git clone https://github.com/ParsePlatform/parse-server-example.git
git add .
git init
git commit -m "Initial Commit"

現(xiàn)在,你已經(jīng)成功地將 parse-server 克隆到桌面上了本慕。

修改數(shù)據(jù)庫(kù)的 URI

不管你在上面選擇了哪個(gè)方式排拷,現(xiàn)在你的應(yīng)用在一定程度上已經(jīng)設(shè)置過(guò)了。如果你使用是 Option 1锅尘,你需要在你電腦里復(fù)制一份本地代碼副本监氢,首先用下列命令行(也會(huì)將 App 克隆到電腦桌面)。

注意:下方的選項(xiàng)適用于選擇了 Option 1 的人

$ heroku login 
 
$ cd ~/Desktop
$ heroku git:clone -a your-app-name
$ cd your-app-name
 
$ git add .
$ git commit -am "make it better"
$ git push heroku master

登錄后藤违,需要輸入認(rèn)證(之后會(huì)詳細(xì)說(shuō)明浪腐,不過(guò)現(xiàn)在只需要輸入 Heroku 帳號(hào)的郵箱和密碼,密碼不會(huì)出現(xiàn)在屏幕上)顿乒。

現(xiàn)在议街,打開(kāi)你最喜歡的文本編輯器(我比較喜歡 Sublime Text),打開(kāi)新克隆的庫(kù)(repository)(對(duì)于新手來(lái)說(shuō)璧榄,你可以直接將整個(gè)文件夾拖到 sublime text 圖標(biāo)上特漩,然后 sulime text 會(huì)自動(dòng)文件,或者使用頂部菜單的 File -> Open)骨杂。

現(xiàn)在涂身,我們需要打開(kāi) index.js 文件,修改 API 變量搓蚪。注意第 14-23 行蛤售。

從第 14 行開(kāi)始,我們需要修改 databaseURL 參數(shù)妒潭。替換路徑悍抑,使用在本教程第一部分生成的路徑,例如杜耙,我會(huì)使用下面的 url搜骡,不過(guò)你必須用你自己的 url 來(lái)替換。

mongodb://admin:mypassword@ds017678.mlab.com:17678/appcoda-test

接下來(lái)佑女,我們需要填寫(xiě) appIdmasterKey 參數(shù)记靡。如果你是在遷移一個(gè)已經(jīng)存在的應(yīng)用,到 parse.com 上找到對(duì)應(yīng)的數(shù)據(jù)团驱。如果這是你第一次使用 parse-server 創(chuàng)建一個(gè)新工程摸吠,你可以生成隨機(jī)的字幕數(shù)字組成的密鑰。

在 parse.com 網(wǎng)站上登錄你的 Parse 帳號(hào)嚎花,找到 Settings(設(shè)置)寸痢,在這里,選擇 Security & Keys紊选。復(fù)制粘貼你的 Application ID(這個(gè)應(yīng)用的啼止,不要復(fù)制成其他應(yīng)用的)和 Master Key道逗。下面的圖片可供你參考(我的密鑰出于安全考慮遮擋住了)。

注意:如果你選的是 Option 1献烦,你已經(jīng)設(shè)置了你的密鑰滓窍,你可以直接跳過(guò)這一步。即使如此巩那,我還是建議你看一下吏夯,這樣你能對(duì) parse-server 的工作機(jī)制有更深入的理解。

index.js 文件里替換上你剛剛復(fù)制來(lái)的新密鑰即横,你也可以添加 clientKey 作為一個(gè)參數(shù)噪生,從 Parse 中獲取。

最后东囚,記住保存你的操作跺嗽,快捷鍵 Command+S(Mac電腦上)。

如果你不是遷移應(yīng)用舔庶,那么使用隨機(jī)生成器(例如 random.org 或其他類(lèi)似的東西)來(lái)生成字母數(shù)字密鑰抛蚁。

接下來(lái)陈醒,部署 Heroku惕橙。

將 Parse 服務(wù)器部署到 Heroku

首先在電腦上安裝 Heroku 工具條,從鏈接中可以找到官方安裝指南钉跷。安裝完成后弥鹦,在終端(Terminal)中輸入下列命令行:

heroku login

接下來(lái)輸入登錄 Heroku 信息,注意當(dāng)你輸入密碼的時(shí)候爷辙,密碼不會(huì)出現(xiàn)在屏幕上彬坏。

如果你選擇的是 Option 1,就沒(méi)有必要用下面的命令行創(chuàng)建一個(gè) Heroku 應(yīng)用了膝晾。如果你選擇的是 Option 2栓始,確保輸入下列命令行來(lái)創(chuàng)建一個(gè) Heroku 應(yīng)用。

heroku create

Heroku 會(huì)給你創(chuàng)建一個(gè)應(yīng)用血当,現(xiàn)在提交修改內(nèi)容幻赚,代碼如下:

git add .
git init
git commit -m "Updated api config"
git push heroku master

現(xiàn)在,你已經(jīng)成功部署了 Heroku臊旭!如果你遇到任何錯(cuò)誤落恼,請(qǐng)?jiān)谙路降脑u(píng)論欄中留意,我將盡力幫助你离熏。

設(shè)置 Heroku 的環(huán)境變量

接下來(lái)佳谦,我們需要設(shè)置 Heroku 的環(huán)境變量,回到終端(Terminal)滋戳,輸入下列命令行(使用你的 MongoDB 實(shí)例中的URI钻蔑,我們之前談?wù)撨^(guò))啥刻。

heroku config:set DATABASE_URI=mongodb://admin:mypassword@ds017678.mlab.com:17678/appcoda-test

回到 Heroku 網(wǎng)頁(yè)上,點(diǎn)擊你的應(yīng)用矢棚,在 Settings tab 頁(yè)下郑什,點(diǎn)擊 reveal config variables

現(xiàn)在你應(yīng)該可以看到 Heroku 的 config Variables 里有了 database URI蒲肋。

恭喜你蘑拯!你的 parse-server 已經(jīng)成功地部署到了 Heroku。唯一的問(wèn)題是:還沒(méi)有連接到你的 iOS 應(yīng)用上兜粘。

定位 Parse 服務(wù)器的 URL

為了能夠?qū)⒛愕膽?yīng)用連接到新的 parse-server申窘,首先要從 Heroku 應(yīng)用設(shè)置里定位托管地址(hosting url)。

回到 index.js 孔轴,找到第 27 行剃法,注意找 moutPath 變量是 /parse

這個(gè)變量表示 parse 在 Heroku 服務(wù)器上的地址路鹰。目前來(lái)說(shuō)贷洲,地址是 /parse。所以晋柱,可以在 yourapp.herokuapp.com/parse(改成你自己的域名) 中訪(fǎng)問(wèn) parse-server。

設(shè)置 iOS 應(yīng)用

現(xiàn)在钦椭,我們已經(jīng)正確地配置和部署了服務(wù)器碑诉,是時(shí)候來(lái)設(shè)置 iOS 應(yīng)用設(shè)置選項(xiàng)了,讓 iOS 應(yīng)用連接到新的 parse 服務(wù)器上德挣。

在 Xcode 里格嗅,打開(kāi)應(yīng)用祸泪,選擇 appdelegate.swift 文件,刪除你以前的 app key 和 client key(然后寫(xiě)上你自己的密鑰和服務(wù)器的 url)懂扼。

把下面這段代碼刪掉:

Parse.setApplicationId(“xxxxxxxxxxxxxxxxxxxxxxxx”, clientKey: “xxxxxxxxxxxxxxxxxxxxxxxx”)

替換成:

let config = ParseClientConfiguration(block: {
   (ParseMutableClientConfiguration) -> Void in
   ParseMutableClientConfiguration.applicationId = "xxxxxxxxxxxxxxxxxxxxxxxx";
   ParseMutableClientConfiguration.clientKey = "xxxxxxxxxxxxxxxxxxxxxxxx";
   ParseMutableClientConfiguration.server = "xxxxxxxxxxxxxxxxxxxxxxxx.com/parse";
});
 
Parse.initializeWithConfiguration(config);

完成操作后阀湿,點(diǎn)擊 Run 按鈕陷嘴,測(cè)試一下應(yīng)用。正常情況下應(yīng)用會(huì)和遷移以前一樣運(yùn)行邑退。如果你使用的YY待命劳澄,你可能需要修改一下代碼,來(lái)適應(yīng)新的 parse 服務(wù)器環(huán)境莫矗。我們會(huì)在下一個(gè)教程中涉及這個(gè)話(huà)題作谚。另外庵芭,在下一個(gè)教程里妹懒,我們還會(huì)介紹在服務(wù)器里托管 Parse 的 dashboard。不過(guò)現(xiàn)在而言喳挑,你可以繼續(xù)使用 parse.com 的 dashboard彬伦,知道官方徹底關(guān)閉服務(wù)滔悉,也就是在 2017 年的一月伊诵。

恭喜你!你已經(jīng)成功地在 Heroku 上部署了 parse-server回官。

將 Parse 服務(wù)器部署到 AWS

注意:如果你已經(jīng)將 parse-server 部署到了 Heroku 上曹宴,那么就不需要再部署到 AWS 上了歉提,畢竟你的服務(wù)器只能使用一個(gè)云服務(wù)笛坦。這部分主要是用來(lái)參考的版扩。如果你不想使用 Heroku,想使用 AWS礁芦,你可以繼續(xù)閱讀下面的章節(jié)。然而,我會(huì)假設(shè)你已經(jīng)閱讀過(guò)上面 Heroku 部分的教程內(nèi)容柿扣,如果出現(xiàn)同樣的設(shè)置內(nèi)容肖方,我不會(huì)再次贅述了。

Amazon Web Services(AWS)是全球知名的云服務(wù)提供商未状,為科技界許多知名的大型公司提供云服務(wù)俯画。實(shí)際上,很大大型科技公司都在使用 AWS 的服務(wù)司草,例如蘋(píng)果公司的 iCloud艰垂,Hulu,AirBnb埋虹,Lyft材泄,Adobe,Slack (這些都是國(guó)外知名的科技公司)等等吨岭,這些只是使用 AWS 云存儲(chǔ)服務(wù)的眾多公司中一小部分拉宗。

那么,為什么我先介紹 Heroku 呢辣辫?不同于 AWS 的是姐浮,Heroku 更容易設(shè)置蛋逾。對(duì)于大部分的設(shè)置亏钩,你可以直接進(jìn)行無(wú)需輸入賬單信息。AWS 則不一樣栅哀,設(shè)置方法比較復(fù)雜躬厌。為了演示如何部署到 AWS 上屹篓,我們將使用另外一個(gè)部署按鈕和設(shè)置向?qū)В瑏?lái)讓所有的工作簡(jiǎn)單流暢。

再次強(qiáng)調(diào)一下,如果你已經(jīng)將應(yīng)用部署到了 Heroku系任,而且對(duì) Heroku 的服務(wù)比較滿(mǎn)意恳蹲,你可以直接跳過(guò)這部分了。然而俩滥,如果你對(duì)如何部署到 AWS 上感興趣嘉蕾,那么讓我們開(kāi)始吧!

第一件事举农,到 AWS 上注冊(cè)一個(gè) AWS 帳號(hào)荆针,需要提供你的付款信息喉悴,這樣才能使用免費(fèi)方案棱貌。

完成后,點(diǎn)擊下方的按鈕箕肃,創(chuàng)建一個(gè)新的 AWS 應(yīng)用婚脱,AWS 提供一組云服務(wù)工具,每個(gè)工具都有自己的獨(dú)特的功能,在本節(jié)教程中障贸,我們使用 Elastic Beanstalk(和 Elastic Cloud Compute Engine 或簡(jiǎn)稱(chēng) EC2 緊密相關(guān))。

什么是 Elastic Beanstalk ?

根據(jù) Amazon 上的簡(jiǎn)介哆致,Elastic Beanstalk 是一個(gè)易于使用的删掀,用于部署和擴(kuò)展網(wǎng)頁(yè)應(yīng)用和服務(wù),適用的語(yǔ)言有 Java袁波、.NET瓦阐、PHP、Node.js篷牌、Python睡蟋、Ruby、Go枷颊、Docker戳杀,例如 Apache, Nginx, Passenger,和 IIS。

好炫的語(yǔ)言是吧夭苗?或許吧豺瘤,總而言之,我們將使用這個(gè)服務(wù)來(lái)設(shè)置和運(yùn)行我們的 parse 服務(wù)器听诸。如果你想了解更多有關(guān) Elastic Beanstalk 的信息坐求,請(qǐng)參考官方網(wǎng)頁(yè)

點(diǎn)擊按鈕后晌梨,會(huì)出現(xiàn)一個(gè)增加應(yīng)用名稱(chēng)的界面桥嗤,如下圖。

下一步仔蝌,確保你的設(shè)置如下圖泛领,然后繼續(xù)。

在接下來(lái)的界面里使用正確的密鑰上傳 parse 設(shè)置敛惊,parse 裝在 /parse 下渊鞋。

現(xiàn)在,點(diǎn)擊 upload and deploy 按鈕瞧挤,完成最后一步锡宋。不出意外應(yīng)用已經(jīng)正確設(shè)置在 AWS 上了。

當(dāng)年設(shè)置 iOS 應(yīng)用時(shí)特恬,確保你已經(jīng)定位了 AWS 的 URL执俩,可以在 elastic beanstalk 里找到(如下圖)。

恭喜你癌刽!你成功將 parse 服務(wù)器部署到了 AWS 上役首!剩下需要做的事情就是用適當(dāng)?shù)拿荑€和新的服務(wù)器 url 來(lái)設(shè)置 iOS 應(yīng)用(后綴 /parse)尝丐。

結(jié)束

在本節(jié)教程中,我們深入了解了部署 parse 服務(wù)器的過(guò)程衡奥,估計(jì)現(xiàn)在你對(duì)部署過(guò)程已經(jīng)掌握的比較牢固了爹袁。

然而,我們還留下了一些小細(xì)節(jié)沒(méi)有處理(感覺(jué)這句話(huà)翻譯的不對(duì))矮固。如果你使用的是云代碼呢簸,你不得不修改代碼,來(lái)保證運(yùn)行正常乏屯。另外根时,你可能還想要一個(gè) Parse dashboard 的替代品。幸運(yùn)的是辰晕,Parse 團(tuán)隊(duì)已經(jīng)將 dashboard 開(kāi)源了蛤迎,并提供了分步指南,供你更新云代碼含友。在之后即將到來(lái)的教程中替裆,我們會(huì)詳細(xì)討論這些內(nèi)容。不過(guò)現(xiàn)在窘问,你還是應(yīng)用集中將應(yīng)用部署到 AWS 或 Heroku 上辆童!

你覺(jué)得本教程怎么樣?請(qǐng)盡情地留下評(píng)論惠赫,分享你的想法把鉴。

本文由 SwiftGG 翻譯組翻譯,已經(jīng)獲得作者翻譯授權(quán)儿咱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末庭砍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子混埠,更是在濱河造成了極大的恐慌怠缸,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钳宪,死亡現(xiàn)場(chǎng)離奇詭異揭北,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)吏颖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)搔体,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人侦高,你說(shuō)我怎么就攤上這事嫉柴。” “怎么了奉呛?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵计螺,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我瞧壮,道長(zhǎng)登馒,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任咆槽,我火速辦了婚禮陈轿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秦忿。我一直安慰自己麦射,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布灯谣。 她就那樣靜靜地躺著潜秋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胎许。 梳的紋絲不亂的頭發(fā)上峻呛,一...
    開(kāi)封第一講書(shū)人閱讀 51,482評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音辜窑,去河邊找鬼钩述。 笑死,一個(gè)胖子當(dāng)著我的面吹牛穆碎,可吹牛的內(nèi)容都是我干的牙勘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼所禀,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼谜悟!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起北秽,我...
    開(kāi)封第一講書(shū)人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤葡幸,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后贺氓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蔚叨,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年辙培,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蔑水。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡扬蕊,死狀恐怖搀别,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情尾抑,我是刑警寧澤歇父,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布蒂培,位于F島的核電站,受9級(jí)特大地震影響榜苫,放射性物質(zhì)發(fā)生泄漏护戳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一垂睬、第九天 我趴在偏房一處隱蔽的房頂上張望媳荒。 院中可真熱鬧,春花似錦驹饺、人聲如沸钳枕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鱼炒。三九已至,卻和暖如春卡儒,著一層夾襖步出監(jiān)牢的瞬間田柔,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工骨望, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留硬爆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓擎鸠,卻偏偏與公主長(zhǎng)得像缀磕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子劣光,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 作者:AppCoda袜蚕,原文鏈接,原文日期:2016-04-16譯者:Crystal Sun绢涡;校對(duì):numbbbbb...
    梁杰_numbbbbb閱讀 506評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理牲剃,服務(wù)發(fā)現(xiàn),斷路器雄可,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,810評(píng)論 6 342
  • Heroku平臺(tái) Heroku平臺(tái)的靈活性極高且支持多種編程語(yǔ)言凿傅。若想把程序部署到Heroku上,開(kāi)發(fā)者要使用Gi...
    超net閱讀 103,977評(píng)論 12 56
  • 1 后臺(tái)有位讀者說(shuō):“小魚(yú)聪舒,我要不要給他打電話(huà)?” 他是誰(shuí)虐急?是讀者的前男友箱残。 看得來(lái),女孩子很想念男孩止吁。兩個(gè)分手一...
    小小在隱身閱讀 892評(píng)論 3 5