分页原理+软件架构师
分頁
之前寫php的時(shí)候,感覺分頁有點(diǎn)復(fù)雜,沒有搞過,結(jié)果現(xiàn)在天天見。。。
結(jié)果很簡單
其實(shí)想想分頁有什么就知道需要什么了
- 當(dāng)前多少條——每頁頁數(shù)——pageNum
- 總共多少頁——可以說是總頁數(shù),也可以是總條數(shù)(一般是后者)——total
- 每頁數(shù)據(jù)是哪些?——排序,以及起始位置,或者結(jié)束位置——left,start,ORDER BY
沒了
從表層看過去就這么些
然后就是具體實(shí)現(xiàn),代碼不想寫,其實(shí)就是控制入?yún)ⅰ?/p>
算好頁數(shù),做好排序,算好每頁的起點(diǎn),然后對(duì)應(yīng)的發(fā)起請求就行了
高端一點(diǎn)呢?sql怎么寫
書 《高性能Mysql》6.7.5一節(jié)中,對(duì)LIMIT分頁的優(yōu)化有具體的描述,寫的還是很令人信服的,尤其是對(duì)大分頁還是有效果的
軟件架構(gòu)師需要什么
先說正確的廢話:廣度+深度
將廢話翻譯的親娘都不認(rèn)識(shí):
- 廣度:包括知識(shí)見識(shí)層面的廣度,也就是優(yōu)秀的英文能力,良好的表達(dá)能力,優(yōu)秀的溝通能力,優(yōu)秀的技術(shù)功底,對(duì)各種技術(shù)的了解,保持對(duì)技術(shù)的熱情,甚至,對(duì)生活的熱情;
- 深度:技術(shù)上的深度,對(duì)業(yè)務(wù)的了解深度,對(duì)團(tuán)隊(duì)的了解程度,對(duì)圈子環(huán)境的了解程度等;
難么,難,萬里無一的難
想當(dāng)么?想
再引用一些文章吧,知乎的回答些,謝謝了
一
Daniel Mohl是一名專業(yè)的軟件工程師/架構(gòu)師,他的興趣包括理解各種復(fù)雜的編程語言、企業(yè)應(yīng)用架構(gòu)以及如何搭建業(yè)務(wù)與技術(shù),他通曉F#、C#、CoffeeScript、JavaScript、Erlang、ASP.NET、MVC、WPF、WCF、Sliverlight、SQL Server等技術(shù)。有著多年的軟件開發(fā)經(jīng)驗(yàn)。
他經(jīng)常會(huì)被一些有潛力和有前途的程序員問到:“我要怎么做才能成為一名架構(gòu)師?”說實(shí)話,這已經(jīng)是老生常談的話題了,答案當(dāng)然是視情況而定。不過他也根據(jù)自己的經(jīng)驗(yàn),給大家一些建議,并且提供一些資料,助你快速走上架構(gòu)師這條道路。
下面是Daniel Mohl所提出的列表,供大家參考:
首先,你必須不斷地尋求改善和提升自己。而提升自己的最好方法是閱讀,下面有幾本書,對(duì)我的軟件架構(gòu)技能的提升很大。推薦給大家:
軟件架構(gòu)師應(yīng)該知道的97件事
企業(yè)應(yīng)用架構(gòu)模式
敏捷軟件開發(fā),原則,模式和實(shí)踐
企業(yè)集成模式
JavaScript語言精髓
利用遺留代碼有效地工作
領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
企業(yè)架構(gòu)策略
設(shè)計(jì)模式(四人幫)
The Goal
SOA設(shè)計(jì)模式
SOA Principles of Service Design
除了閱讀,還有沒有其他需要注意的、或者在平時(shí)需要關(guān)注的東西呢?
每隔一兩年學(xué)習(xí)一門新語言,F#是個(gè)不錯(cuò)的選擇。
選擇一個(gè)重點(diǎn)領(lǐng)域,但是盡可能對(duì)許多技術(shù)有個(gè)高層次的理解
對(duì)你所關(guān)注的重點(diǎn)領(lǐng)域,開通一個(gè)博客并且繼續(xù)拓展該領(lǐng)域的知識(shí)面,讓自己漸漸成為一名專家。
與不同的技術(shù)、編程語言、設(shè)計(jì)模式和結(jié)構(gòu)等(甚至是它并沒有在日常中給予你直接的幫助)打交道。你永遠(yuǎn)都不知道這些知識(shí)是否會(huì)在未來派上用場,但是對(duì)你絕對(duì)是有益無害。
根據(jù)你的目標(biāo)受眾來談?wù)摗罢Z言”。作為一名架構(gòu)師,你將會(huì)與各種各樣等級(jí)的人打交道,并且他們對(duì)技術(shù)的理解也會(huì)有所不同。所以要學(xué)會(huì)調(diào)整你的講解方式,做到因人制宜,讓他們能夠理解。
閱讀博客、觀看/參加Twitter或G+、聽播客、讀雜志、參加用戶小組會(huì)議和技術(shù)會(huì)議,并且在這些會(huì)議上踴躍發(fā)言。這些都會(huì)給你帶來無窮無盡的知識(shí)和樂趣,建立自己的“品牌”和提供交流機(jī)會(huì)。
紀(jì)律是關(guān)鍵。永遠(yuǎn)做你自己最喜歡的工作,即使它聽起來不那么有趣。每天安排時(shí)間學(xué)習(xí)一些新的東西,即使是15分鐘也可,千萬不要被其他事情占用了這段時(shí)間。
開啟博客之旅。我發(fā)現(xiàn),與閱讀比起來,把東西寫下來會(huì)讓你有更深入的理解。
利用好“閑暇時(shí)間”,這段時(shí)間可以拿本雜志讀讀,或者去聽聽播客等。
了解各種可用的開發(fā)工具,可以使架構(gòu)師的工作更好、更有效
看許多不同項(xiàng)目里的架構(gòu)
學(xué)習(xí)各個(gè)項(xiàng)目的管理方法
學(xué)習(xí)一些評(píng)估技術(shù),對(duì)業(yè)務(wù)可以提供有價(jià)值的評(píng)估
上面是作者總結(jié)出來的列表,雖然看起來有點(diǎn)枯燥無味,但在整個(gè)軟件開發(fā)過程中是樂趣無窮的。如果你還有更好的建議,歡迎與我們分享
二
作者:李道兵
鏈接:https://www.zhihu.com/question/27607979/answer/37312934
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
三
作者:William Wu
鏈接:https://www.zhihu.com/question/36658435/answer/68798316
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1:碼農(nóng)分為真的能寫代碼的,以及自認(rèn)為能寫代碼的。2:真的能寫代碼的碼農(nóng)又分為自認(rèn)為寫的不錯(cuò)的,以及真的還不錯(cuò)的。3:真的能寫不錯(cuò)代碼的碼農(nóng)又分為會(huì)鉆研會(huì)不斷優(yōu)化的,以及安于現(xiàn)狀的。4:會(huì)鉆研的碼農(nóng)又分為喜歡廣度了解新技術(shù)蜻蜓點(diǎn)水的,以及深入鉆研用到知識(shí)的。 了解廣度的碼農(nóng)又有少部分愿意深入某些技術(shù),喜歡深入研究的又往往缺乏廣度知識(shí)。5:極少深度廣度都關(guān)注的碼農(nóng)又分為為技術(shù)而技術(shù)和為業(yè)務(wù)而技術(shù)的。 純?yōu)榧夹g(shù)而技術(shù)的碼農(nóng)在國內(nèi)的軟件行業(yè)需求太少,且需求的往往不是應(yīng)用軟件領(lǐng)域了。6:為業(yè)務(wù)而技術(shù)的深度廣度都了解的碼農(nóng),又需要有良好的溝通能力。7:而溝通好的,又有一部分當(dāng)PM去了。8:然后剩下的,又有一部分慢慢脫離實(shí)際開發(fā)(不再做任何實(shí)現(xiàn))或者開始依靠拿各種中間件搭積木來作為“架構(gòu)”手段。9:除去這些,剩下對(duì)業(yè)務(wù)有一定了解,對(duì)技術(shù)廣度上有多種涉獵,深度上對(duì)部分技術(shù)研究徹底,還有很重要的一點(diǎn),考慮問題足夠細(xì)致全面。10:細(xì)致全面善于溝通,技術(shù)上深度廣度都沒問題, 又喜歡這個(gè)工作,還會(huì)不時(shí)做底層實(shí)現(xiàn),從業(yè)務(wù)和開發(fā)兩個(gè)角度出發(fā),搭出“架構(gòu)”來是為了開發(fā)效率,為了運(yùn)行效率,為了開發(fā)質(zhì)量,為了業(yè)務(wù)靈活和運(yùn)行穩(wěn)定,為了維護(hù)方便等等這樣的人,個(gè)人認(rèn)為可以稱為“架構(gòu)師”。而真能滿足這種需求的,別說題主的10%的比例,1%能不能達(dá)到我也持懷疑態(tài)度。其實(shí)現(xiàn)在的“架構(gòu)師”大多數(shù)都停留在8這個(gè)層次,甚至很多在5這個(gè)層次就當(dāng)上title上的架構(gòu)師了。總之,成為架構(gòu)師,不僅僅是工作上的簡單積累,更需要主動(dòng)接納工作外的大量知識(shí),同時(shí),對(duì)性格上對(duì)于非技術(shù)能力上也有一定的要求,不僅如此連思維方式都很重要,外加職業(yè)發(fā)展中又有很多岔路,最后走到架構(gòu)師這根樹枝上的就寥寥可數(shù)了。
轉(zhuǎn)載于:https://www.cnblogs.com/andy1202go/p/8111078.html
總結(jié)
以上是生活随笔為你收集整理的分页原理+软件架构师的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面相对象(二)
- 下一篇: mybatis基础(一)