最近通過《Android源碼設計模式解析與實戰》對MVP應用架構進行了瞭解,摘其重點記錄於此。 MVP簡介 MVP模式全稱Model View Presenter。能: 1.有效地降低View複雜性,避免業務邏輯被塞進View中; 2.解除View與Model的耦合,保證了系統的整潔性、靈活性。 理想化的MVP模式可以實現同一份邏輯代碼搭配不同的顯示頁面,因為它們之間並不依賴於具體(c
首先是,這是我第一次把公眾號文章複製粘貼到sf.gg來。 其次是,很久很久之前,我挖了一個yield的一個坑,自己挖的坑自己填,不然遲早會把自己埋掉。 最後是,如果想看之前那個坑,請發送“yield”給文章末尾的公眾號,我開通了高大上的自動回覆功能,稀罕地不得了! PS:那篇文章中在最後我犯了一個錯誤,誤下了一個結論:foreach中不能使用send並猜測這是PHP的bug,實際上並不是,真實的原
其實,我並不是因為迭代或者生成器或者研究PHP手冊才認識的yield,要不是協程,我到現在也不知道PHP中還有yield這麼個鬼東西。人家這個東西是從PHP 5.5就開始引入了,官方名稱叫做生成器。你要説為什麼5.5年代的東西,現在才拿出來。我還想問你喲,PHP 5.3就有了的namespace為毛到最近這幾年才開始正式投產。 那麼,問題來了,這東西到底是有何用? 先來感受一個問題,給你100Kb
某產品: “哎呀,這個功能怎麼用不了呀”;然後某前端和某後台開始定位問題,然後發現是後台接口返回錯誤,某前端:“沒我啥事,虛驚一場 o_O”,後面如此往復,導致某前端不經感嘆:“要是有能發現是否是後台接口問題的告警就好了,一目瞭然,再也不用一起折騰”。筆者可以開心的告訴某前端:這正是這篇文章的主題:如何做cgi監控。 cgi監控的意義 保證一個項目的質量,全面的測試時必要的;但是也不能保證萬無一失
一、foreach 第一題: //1.for循環執行幾次 //for($i=0;$i=1;$i++){ // echo $i; //} $i==1條件很成立,死循環 for($i=0;$i==1;$i++){ echo $i; } 由於條件$i==1條件不成立,所以for循環不執行 第二題: class SomeClass { private $properties =
網站,很多it行業的人都瞭解。 網站的成長過程,卻是很多it行業人士並不理解的過程,往往還有人調侃:做個淘寶網多少錢?本文將逐步講述網站的成長過程。講述網站的訪問量從0到1,從1到100,從100到1000,從1000到1000000+的過程。 靜態網站 這是所有網站的起步階段,幾乎只有幾個頁面,固定的html代碼。部分網站是由程序員偷懶直接創建,可能會繞過這個環節。 這時候往往使用虛擬主機發布。
阿里雲最近在做活動,低至2折,有興趣可以看看: https://promotion.aliyun.com/... 為了保證的可讀性,本文采用意譯而非直譯。 這是 Web 性能優化的第二篇,上一篇在下面看點擊查看: Web 性能優化: 使用 Webpack 分離數據的正確方法 圖像是web上提供的最基本的內容類型之一。他們説一張圖片勝過千言萬語。但是如果你不小心的話,圖片大小有時
一:什麼是 CGI? 服務器端編程語言如(如php/java)與Web服務器之間傳遞信息的協議,約定了http頭、表單等信息的傳遞接口; 二:FastCGI 是什麼? 本質上是協議,升級版的 CGI,回到題目,起什麼作用,規範作用,所有協議的作用都是規範。 注意不是進程,Nginx 根據此協議拓展了一個模塊,也叫FastCGI,但是重要的話説三遍, FastCGI 與 CG
柯里化 高階函數 在説明柯里化之前,首先需要理解高階函數的定義 高階函數是指以函數作為參數的函數,偽代碼可以理解為 function higherOrderFunction(fn) { console.log(typeof fn) // "function" } 定義 在計算機科學中,柯里化(Currying)是把接受多個參數的函數變換成接受一個單一參數(最初函數的第一個參數)
無疑,Nginx是一種Web服務器,接觸已經兩三年了,習慣了用面板,對Web服務器沒有一個很好的認知,導致這個坎好久沒有邁過去; 現在理清了思路,覺得豁然開朗,Nginx,以index.php請求為例,首先接收到請求的是Nginx,Nginx一看,後綴是php,自己搞不定,去求助服務器端編程語言,php,php返回html文本給Web服務器,由Web服務器將內容返還給瀏覽器。 認為php就是服務器
3月1日,三星電子研究所公司機試。 之前HR介紹,機試題主要考察分析和邏輯能力,不會用到複雜的算法,而且現場也不能使用除了輸入輸出流之外的其他的庫或包。 總體過程: 在公司的一間機試屋子考試,有VisualStudio和Eclipse兩種編譯器可選。機試有專門的系統,可以查看題目,並且在下方編程(沒有提示,得全程手打,而且不提醒語法錯誤,建議用編譯器),該頁面同時可以進行測試案例調試,運行後
以前我寫過一篇關於 MVP 架構的文章《Android架構—MVP架構在Android中的實踐》。 隨着業務的複雜化,我們會發現傳統的 MVP 架構依然會有很多問題。 下面我將和大家一起探討下在使用 MVP 架構過程中遇到的比較大的問題以及解決方案。 隨着業務邏輯複雜化,我們可能會遇到下面幾個比較大的問題: Presenter 中充斥着非常多的業務回調方法,Presenter 非常臃腫 頂層
起因 使用mybatis動態sql進行遍歷條件的時候報了下面這個錯誤: Caused by: java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_item_0'. It was either not specified and/or could not be
點我看看~ 前言:可能存在闡述不準確之處,歡迎指正~ Promise在long time ago就活躍於Javascript社區,受到開發者歡迎,只不過到近幾年才被納入ECMA規範。 我們為什麼要使用Promsie? 因為: 我們不希望,過了幾個月之後,代碼只有上帝才看得懂; 我們不希望,回調代碼越寫越往右,只能換更大的顯示器看; 我們希望,哪怕過了很久,代碼依舊邏輯清晰,看懂不費吹灰
CGI(Common Gateway InterFace) 既然webserver想把這個請求交給可以處理的人來做,是不是該告訴人家一些基本的,並且人家看得懂的信息信息? Webserver會傳那些基本信息給後端處理請求的解析器呢?url,get請求的query_string,POST數據,Http Header等,那麼CGI就規定了要傳哪些參數,以及以一個什麼樣的格式傳過去,後端處理完這個請求,
本文首發於個人博客:Vince'Blog 項目源碼:NodeMail,歡迎star,説不定哪天脱單了就能用到了 寫在前面 自從用郵箱註冊了很多賬號後,便會收到諸如以下類似的郵件,剛開始還以為是一張圖片,後來仔細一看不是圖片呀,好像還是HTML呀,於是好奇寶寶我Google一下,查閲多篇資料後總結出怎麼用前端知識和Node做一個這樣的“郵件網頁”。 確認主題 知道怎麼實現功能後,思考着我該寫什麼主
一. less形式 //定義一個變量和一個mixin(全局) @fontSizeBase: 75;//基於視覺稿橫屏尺寸/100得出的基準font-size .px2rem(@name, @px){ @{name}: @px / @fontSizeBase * 1rem; } //使用示例: .fontsize {
bind 是返回對應函數,便於稍後調用;apply 、call 則是立即調用 。 apply、call 在 javascript 中,call 和 apply 都是為了改變某個函數運行時的上下文(context)而存在的,換句話説,就是為了改變函數體內部 this 的指向。 JavaScript 的一大特點是,函數存在「定義時上下文」和「運行時上下文」以及「上下文是可以改變的」這樣的概念。
轉載請註明文章出處:https://tlanyan.me/public-dns... 本文整理知名的國內外公共DNS服務器。穩定、可靠、優質的DNS服務會消耗不少資源,因此對公眾開發的DNS服務一般由大公司、機構或ISP提供。 不少公司提供了各具特色的DNS服務,本文將根據官網介紹一一指出。 注意事項 請按照自身所在位置和需求就近選擇服務器; 如果服務器失效,請及時進入官網查看。例如許多網站
聲明:本博客的註冊登錄退出功能將使用django-allauth,參考資源如下: django-allauth文檔 django-allauth教程 1、安裝django-allauth pip install django-allauth 2、配置信息 安裝後設置blog/settings.py,將allauth相關APP加入到INSTALLED_APP裏去。 INSTALLED_
基礎知識 karma作用為提供瀏覽器測試環境,mocha為真正測試框架,chai為斷言庫 測試用例基礎 describe塊稱為"測試套件"(test suite),表示一組相關的測試。它是一個函數,第一個參數是測試套件的名稱("加法函數的測試"),第二個參數是一個實際執行的函數。 describe鈎子: `describe('hooks', function()
首先需要閲讀《創建Python虛擬環境——下》 《創建Python虛擬環境——下》 創建虛擬環境 1、 打開虛擬環境 workon venv(自己創建的虛擬環境名稱) 2、 在這裏使用pip安裝python包 直接安裝 pip install 包名 使用國內鏡像安裝 python包國內鏡像: 清華:https://pypi.tuna.tsinghua.ed... 阿里雲:http://mirro
最近升級PHP到PHP7版本,並重新部署了新的Nginx,啓動的時候發現了一個問題,全局變量$_SERVER['PHP_SELF']的值發生了改變,從而影響到代碼的功能。因此我們來了解下$_SERVER全局變量中的PHP_SELF/PATH_INFO/SCRIPT_NAME等參數以及其關係。 CGI 1.1規範 之前的文章 [ php-fpm進程數管理 ] 已經簡單説過CGI的內容,這裏我們再詳細
react項目中使用mocha結合chai斷言庫進行單元測試 git地址:https://github.com/yancekang/... 如果對你有所幫助,感謝start 項目搭建 create-react-app react-mocha-test 創建一個名稱為 react-mocha-test 的react項目 進入 react-mocha-test 安裝 Mocha 為了操作的方便,請在全