java java開發(fā)怎么做日志功能就是記錄用戶每一步的操作具體做什么了?
java開發(fā)怎么做日志功能就是記錄用戶每一步的操作具體做什么了?具體來說,挺麻煩的。我給你一個想法:如果你想記錄和查看操作日志,你必須將操作日志直接保存到數(shù)據(jù)庫中。日志管理模塊,由于上面有日志記錄,做
java開發(fā)怎么做日志功能就是記錄用戶每一步的操作具體做什么了?
具體來說,挺麻煩的。我給你一個想法:如果你想記錄和查看操作日志,你必須將操作日志直接保存到數(shù)據(jù)庫中。日志管理模塊,由于上面有日志記錄,做一個刪除功能應該很容易做到。我不想詳細說明。最重要的是:如何記錄日志。其思想是:首先分析哪些日志需要記錄,一般記錄數(shù)據(jù)的添加、修改和刪除操作。此外,還應記錄一些特殊的查詢操作。其實,怎么錄。一開始,我們討論了日志存儲?,F(xiàn)在的問題是,什么時候才能做出一個邏輯。這個時間通常是訪客啟動操作的時候。例如,開始在相應的方法體中記錄操作、servlet或控制器。當然,我們需要編寫日志存儲的邏輯。其實,這個日志管理是一個比較完整的功能塊,甚至是一個很小的系統(tǒng)。還有許多小細節(jié)和解決方案。有了想法,如何實現(xiàn)就要看情況了。微信是一種主要基于封閉社區(qū)的社交工具。其搜索功能主要包括6大類:朋友圈、文章、公眾號、小說、音樂、表情。其實可以分為兩類:一類是對用戶內(nèi)部資源的搜索,另一類是對戶外資源的搜索。搜索的主要內(nèi)容如下:兩個官方賬號。
首先,微信主要關注熟人圈。另外,搜索結果的排名是群聊、聊天記錄、收藏和搜索。由此可見,內(nèi)部資源搜索的重點要大于外部資源搜索。因此,微信團隊易于理解,以解決微信信息過多造成的信息冗余問題。
其次,為什么微信的搜索框沒有記錄搜索記錄?牛哥認為微信本身可以作為工具應用。當他看到他感興趣的東西時,他可以收集它們。下次他想看的時候,可以直接從收藏中轉出。因此,從這個角度來看,用戶生成第二次搜索的概率變得更低,并且搜索框的記錄變得冗余。
此外,微信定位的核心是傳播和社交。如第一點所述,它關注熟人網(wǎng)絡。用戶使用微信搜索的場景是在社交過程中尋找自己的聯(lián)系人和內(nèi)容。微信對公眾的影響是圈子,搜索外部資源的場景在微信內(nèi)外都很尷尬。
因此牛哥認為最好不要記錄搜索記錄,為用戶提供更簡潔清晰的界面,也不要引起用戶必要的懷疑。除了張老板極端的產(chǎn)品設計理念只做有用的,不做多余的,相信微信團隊也決定不通過用戶搜索同一關鍵字的行為數(shù)據(jù)來添加歷史搜索記錄。
微信搜索的搜索框為什么不記錄搜索記錄?
我有10年的開發(fā)和培訓經(jīng)驗。在此期間,我經(jīng)歷了Java、web、Android、H5、大數(shù)據(jù)、PHP等不同的發(fā)展方向。我也是軟件培訓公司的金牌講師。我對回答這個問題很感興趣。
您已經(jīng)清楚地解釋了這個問題中的要求,“一個查詢方法應該返回一條記錄,但是可以找到多條記錄”!也就是說,您的查詢應該只有一個結果,但此時或某個時候,會有多個結果,這意味著您的業(yè)務接口可能不滿足冪等性的要求。根據(jù)冪等設計原理,無論怎樣查找,只要參數(shù)相同,返回的結果應該是相同的。
那么如何解決這個問題并拋出異常呢?返回到幾個中的第一個?
我認為這不是一個完美的解決方案。
這對某些人來說是一個解決方案,但是問題解決了嗎?一點也不!問題仍然存在。下次觸發(fā)此條件時,仍將引發(fā)異常。就像說森林里有一只老虎。有一天,它吃人,然后你不解決老虎的問題。你只是在森林里掛了一塊牌子,上面寫著:小心,里面有老虎!這…
事實上,這不是一個好辦法。也許只有一件東西應該被退回。為什么要查詢多個項目?您是否檢查了數(shù)據(jù)庫中數(shù)據(jù)的唯一性?你不覺得每次查詢多個結果然后得到第一個數(shù)據(jù)效率很低嗎?
所以我們應該從根本上解決問題!為什么會產(chǎn)生多個數(shù)據(jù)?如果要手動檢查數(shù)據(jù),則需要手動檢查。如果要鎖定它,應該盡最大努力確保輸入?yún)?shù)相同,結果相同!