開發與維運

開發與維運

現代cmake–閱讀筆記

1. Running cmake 1.1. cmake選項 –build 指定輸出目錄 -j 指定並行度 –target 指定編譯目標 1.2. 選擇編譯器 EXPORT CC=clang CXX=clang++ cmake .. 1.3. 選擇生成器

開發與維運

基於SSM實現水果商城批發平臺

作者主頁:編程指南針 作者簡介:Java領域優質創作者、CSDN博客專家 、掘金特邀作者、多年架構師設計經驗、騰訊課堂常駐講師 主要內容:Java項目、畢業設計、簡歷模板、學習資料、面試題庫、技術互助 文末獲取源碼 一,項目簡介 項目編號:BS-SC-029 本系統主要為種值水果和農戶和水果經銷商搭建一個B2B的電子商務平臺,系統共包含三個角色:農戶、經銷商和管理員。 1.農戶角色功能 前臺首頁、用戶註冊登錄、新聞公告、查看水果詳情、收藏、留言、個人中心、我的收藏、意見反饋、發佈水果、我的銷售等功能。 2.經銷商角色功能 前臺首頁、用戶註冊登錄、新聞公告、查看水果詳情、收藏、留言、個人中心、我的收藏、意見反饋、在線購買、下單結算、查看我的訂單等功能。 3.管理員後臺功能 用戶管理、管理員管理、網站內容管理、水果類型管理、水果信息管理、採購訂單管理、用戶評價管理、意見反饋管理、留言交流管理等 二,環境介紹 語言環境:Java:  jdk1.8 數據庫:Mysql: mysql5.7 應用服務器:Tomcat: 

開發與維運

聊聊java中NIO的2.0版本AIO

一、IO的演進 在jdk1.4之前,java中的IO類庫實在是超級原始,很多我們現在熟知的概念都還沒有出現,比如說管道、緩衝區等等。正是由於這些等等原因,C語言和C++一直都是IO方面的首選。這是原始的IO方式,也叫作BIO,它的原理很簡單,我們使用一張圖來表示一下: 也就是說BIO時代,每次有一個客戶端連接進來的時候,都會有一個新的線程去處理,缺點顯而易見,如果連接比較多的時候,我們就要建立大量的線程去一一處理。 幾年之後,2002年,jdk1.4開始被正式發佈了,做出的一個巨大的改變就是新增了NIO包。它提供了很多異步的IO操作方法,比如說緩衝區ByteBuffer、Pipe、Channel還有多路複用器Selector等等。新的NIO類庫的出現,極大地促進了java對異步非阻塞式編程的發展。NIO的原理也是很簡單。在這裡同樣使用一張圖來演示一遍: 現在我們可以看到,所有的客戶端連接都可以只用一個線程就可以實現了。 不過時代總是在一點一點的變化,逐漸的java官方為我們提供的NIO類庫越來越不能滿足需求,比如說不支持異步文件讀寫操作、沒有統一的文件屬性等等。於是過了幾年,在2011年7月28日,官方將用了將近十年的NIO類庫做了升級,也被稱為NIO2.0。後來也叫作AIO。AIO的原理是在之前的基礎上進行的改進,意思是異步非阻塞式IO,也就是說你的客戶端在進行讀寫操作的時候,只需要給服務器發送一個請求,不用一直等待回答就可以去做其他的事了。 下面我們使用代碼敲一遍來看看如何實現AIO。 二、AIO的實現 這個案例很簡單,就是服務端和客戶端一個簡單的通信。我們先把代碼寫好,然後再去分析代碼的含義。 1、服務端 第一步:定義Server啟動類 class AioServer{ public static void main(String[] args){ new AioServerHandle().start();

開發與維運

Sentry(v20.12.1) K8S 雲原生架構探索,SENTRY FOR JAVASCRIPT SDK 配置詳解(二)

Default Integrations 所有 Sentry 的 SDK 都提供了集成(integrations),擴展了 SDK 的功能。 默認情況下,系統集成(System integrations)是啟用的,以集成到標準庫或解釋器本身中。它們已記錄在案,因此您既可以知道它們在做什麼,也可以在它們引起問題時禁用它們。 Enabled by Default InboundFilters Import name: Sentry.Integrations.InboundFilters 通過這種集成,您可以根據給定異常中的類型,消息或 URL 忽略特定錯誤。

開發與維運

Sentry(v20.12.1) K8S 雲原生架構探索, SENTRY FOR JAVASCRIPT 手動捕獲事件基本用法

基本用法 Sentry 的 SDK 掛接到您的運行時環境中,並自動報告錯誤(errors)、異常(exceptions)和拒絕(rejections)。 關鍵術語: event 是向 Sentry 發送數據的一個實例。通常,該數據是一個錯誤(error)或異常(exception)。 issue 是一組類似事件。 事件的報告稱為 capturing。捕獲事件後,會將其發送給 Sentry。 最常見的捕獲形式是捕獲錯誤(capture errors)。可以捕獲的錯誤因平臺而異。通常,如果您有一些看起來像異常(exception)的東西,它可以被捕獲。對於某些 SDK,還可以省略 capture_exception 的參數,Sentry 將嘗試捕獲當前異常。對於向 Sentry

開發與維運

Java程序員必須要知道的單元測試框架Junit詳解

一、為什麼需要單元測試 在平時的開發當中,一個項目往往包含了大量的方法,可能有成千上萬個。如何去保證這些方法產生的結果是我們想要的呢?當然了,最容易想到的一個方式,就是我們通過System.out來輸出我們的結果,看看是不是滿足我們的需求,但是項目中這些成千上萬個方法,我們總不能在每一個方法中都去輸出一遍嘛。這也太枯燥了。這時候用我們的單元測試框架junit就可以很好地解決這個問題。 junit如何解決這個問題的呢?答案在於內部提供了一個斷言機制,他能夠將我們預期的結果和實際的結果進行比對,判斷出是否滿足我們的期望。相信到這,你已經迫不及待的想認識一下junit,下面我們直接通過案例,來分析一下這個機制。 二、從案例講起 1、預備工作 junit4是一個單元測試框架,既然是框架,這也就意味著jdk並沒有為我們提供api,因此在這裡我們就需要導入相關的依賴。對於IDEA來說,你在構建Maven項目的時候會直接自動添加相關的依賴,如果沒有,手動添加即可: <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> 這裡的版本是4.12。當然還有最新的版本。你可以手動選擇。這裡選用的是4的版本。 2、案例 這裡我們要測試的功能超級簡單,就是加減乘除法的驗證。 public class Calculate { public int

開發與維運

碼二說之封裝自己的專屬數組

前言 你可以把數組想象成是把數據碼成一排進行存放,在強語言中數據的類型是確認的,而在弱語言中數據的類型是不確認的,但是也有方法可以進行確認。js 中的數組是有侷限性的。 還是那句老話:光看文章能夠掌握兩成,動手敲代碼、動腦思考、畫圖才可以掌握八成。源碼倉庫 不要完美主義。掌握好“度”。 太過於追求完美會把自己逼的太緊,會產生各種焦慮的心態,最後甚至會懷疑自己,溫故而知新,不要停止不前,掌握好這個度,不存在你把那些你認為完全掌握了,然後就成了某一個領域的專家,相反一旦你產生很濃厚的厭惡感,那麼就意味著你即將會放棄或者已經選擇了放棄,雖然你之前想把它做到 100 分,但是由於你的放棄讓它變為 0 分。 學習本著自己的目標去。不要在學的過程中偏離了自己的目標。要分清主次。難的東西,你可以慢慢的回頭看一看。那樣才會更加的柳暗花明,更能提升自己的收穫。 先簡單認識一下數組 相像一下,把一個一個的數據近挨著排成一排。在數組中有一個很重要的概念叫做索引,也就是數組元素的編號,編號從 0 開始的,所以最後一個元素的索引為數組的長度-1 即 n-1,可以通過數組名[索引]來訪問數組中的元素。 ‘use strict’; //

Scroll to Top