動態

@kongxudexiaoxiongmao

軟件測試/測試開發/全日制/測試管理丨ORM 價值與體系

ORM是一種將對象模型和關係數據庫之間的映射框架,它允許開發者通過使用面向對象的語法來操作數據庫而不是直接使用SQL語句。 簡化數據庫操作: ORM通過將數據庫表映射到對象模型,使得開發者可以使用類和對象的語法來進行數據庫操作,而不必直接編寫SQL語句。這使得數據庫操作更直觀、易讀,減少了開發者需要關注的細節。 提高開發效率: ORM可以顯著提高開發效率,因為它減少了編寫和調試SQL語句的工作量。

kongxudexiaoxiongmao 頭像

@kongxudexiaoxiongmao

昵稱 用户bPc5q3Z

@sorra

Orca ORM的開發狀態和技術路線

在今年元旦那天宣佈了Orca ORM框架的開發《給程序員的新年禮物》。如今已過兩月有餘,給大家更新一下開發狀態,也介紹一下技術路線。 開發狀態 近期主要在編寫框架的核心邏輯,已支持H2和MySQL數據庫,這兩天成功把它在Spring Boot應用程序中運行起來了。最主要的技術挑戰,即“循環關聯的JOIN”,已得到解決。解決這一挑戰所花的時間比預期多很多(重做了N次),因此整個項目進度都延後,但是以

sorra 頭像

@sorra

昵稱 sorra

@diboot

Java ORM 哪家強?10個ORM框架測試對比與選型建議

前言: Java 領域的ORM(Object-Relational Mapping)框架有很多,各家的性能和使用體驗如何?本文將對比體驗以下的Java ORM框架,包括Spring JDBC、Spring Data JPA + Hibernate、QueryDSL、jOOQ、GraphQL、MyBatis、MyBatis-dynamic-sql、MyBatis-plus、Fluent-mybati

diboot 頭像

@diboot

昵稱 JerryMa

@zhuiyi_5e4ea2134d01e

Django學習(2)——ORM

1.什麼是ORM 對象關係映射(Object Relational Mapping,簡稱 ORM )用於實現面向對象編程語言裏不同類型系統的數據之間的轉換。 ORM 在業務邏輯層和數據庫層之間充當了橋樑的作用。ORM 是通過使用描述對象和數據庫之間的映射的元數據,將程序中的對象自動持久化到數據庫中。 Django 模型使用自帶的 ORM。 1.1 使用ORM 的優點: 提高開發效率。 不同

@fenanjiu

pnpm才是前端工程化項目的未來

前言 相信小夥伴們都接觸過npm/yarn,這兩種包管理工具想必是大家工作中用的最多的包管理工具,npm作為node官方的包管理工具,它是隨着node的誕生一起出現在大家的視野中,而yarn的出現則是為了解決npm帶來的諸多問題,雖然yarn提高了依賴包的安裝速度與使用體驗,但它依舊沒有解決npm的依賴重複安裝等致命問題。pnpm的出現完美解決了依賴包重複安裝的問題,並且實現了yarn帶來的所有優

fenanjiu 頭像

@fenanjiu

昵稱 南玖

@fenanjiu

【webpack系列】從核心概念到上手配置

前言 作為前端開發者,相信大家或多或少都接觸過webpack,現如今webpack已經滲透在了前端的各個方面,所以我們有必要來了解並學習webpack,webpack 是一種用於構建 JavaScript 應用程序的靜態模塊打包器,它能夠以一種相對一致且開放的處理方式,加載應用中的所有資源文件(圖片、CSS、視頻、字體文件等),並將其合併打包成瀏覽器兼容的 Web 資源文件。webpack相比其它

fenanjiu 頭像

@fenanjiu

昵稱 南玖

@fenanjiu

【webpack系列】從基礎配置到掌握進階用法

前言 本篇文章將介紹一些webpack的進階用法,演示內容繼承自上一篇文章的內容,所以沒看過上一篇文章的建議先學習上一篇內容再閲讀此篇內容,會更有利於此篇的學習~ 文件指紋 文件指紋指的是打包輸出的文件名後綴,一般用來做版本管理、緩存等 webpack的指紋策略有三種:hash、chunkhash、contenthash,它們之間最主要的區別就是每種hash影響的範圍不同。 佔位符 webpac

fenanjiu 頭像

@fenanjiu

昵稱 南玖

@lusiyuan_

TeamVision:持續交付理念下的一站式研發效能管理平台

隨着技術的不斷髮展,持續交付已經成為了軟件開發領域的核心理念。為了幫助企業和開發團隊提高研發效能,實現從業務需求到產品上線的全流程管理,我們推出了開源項目管理軟件-TeamVision。本文將詳細介紹TeamVision平台的核心功能,並結合持續交付理念,展示如何藉助TeamVision實現研發效能的全面提升。 一、業務需求協作   在持續交付的理念下,需求管理是至關重要的一環。TeamVisio

lusiyuan_ 頭像

@lusiyuan_

昵稱 陸思遠_ོ

@fenanjiu

Docker從入門到部署項目

Docker概念 Docker是一個開源的應用容器引擎,它是基於Go語言並遵從Apache2.0協議開源。Docker可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的linux機器上,也可以實現虛擬化。通過容器可以實現方便快速並且與平台解耦的自動化部署方式,無論你部署時的環境如何,容器中的應用程序都會運行在同一種環境下。並且它是完全使用沙箱機制,相互之間是隔離

fenanjiu 頭像

@fenanjiu

昵稱 南玖

@hea1066

node 項目讀取環境變量

node 項目從 process.env 讀取環境變量時,process.env 有哪些來源? 命令行 使用 cross-env 處理跨平台環境變量設置。 { "scripts": { "dev": "cross-env MY_ENV=hello node ./index.js", "start": "cross-env MY_ENV=hello webpack" } }

hea1066 頭像

@hea1066

昵稱 hea1066

@fanwenjie

NPM 依賴管理的複雜性

這是一個很少被提及的話題 —— 依賴管理(Dependencies Management) 。 在開源文化盛行的現代,多數時候我們都不必從零開始搭建一套軟件系統,轉而可以藉助諸多開放的代碼片段及其他資源更快速高效開發軟件應用,這算的上軟件工程發展史上一次巨大革命,因為它能大幅提升軟件工業的生產效率,我們不必再從底層開始編寫所有代碼,大部分問題與常見的編程模式都能在社區找到相應的解決方案,且這些被反

fanwenjie 頭像

@fanwenjie

昵稱 範文傑

@fenanjiu

【性能監控】如何有效監測網頁靜態資源大小?

前言 作為前端人員肯定經常遇到這樣的場景:需求剛上線,產品拿着手機來找你,為什麼頁面打開這麼慢呀,心想自己開發的時候也有注意性能問題呀,不可能會這麼誇張。那沒辦法只能排查下是哪一塊影響了頁面的整體性能,打開瀏覽器控制枱一看,頁面上的這些配圖每張都非常大,心想這些配圖都這麼大,頁面怎麼快,那麼我們有沒有辦法監測頁面上的這些靜態資源大小,從而避免這種情況的發生。 Performance Perform

fenanjiu 頭像

@fenanjiu

昵稱 南玖

@fenanjiu

淺析Vite本地構建原理

前言 隨着Vue3的逐漸普及以及Vite的逐漸成熟,我們有必要來了解一下關於vite的本地構建原理。 對於webpack打包的核心流程是通過分析JS文件中引用關係,通過遞歸得到整個項目的依賴關係,並且對於非JS類型的資源,通過調用對應的loader將其打包編譯生成JS 代碼,最後再啓動開發服務器。 瞭解到webpack的耗時主要花費在打包上,Vite選擇跳過打包,直接以以 原生 ESM 方式提供源

fenanjiu 頭像

@fenanjiu

昵稱 南玖

@jackzhoumine

前端項目如何規範文件命名

前端項目如何規範文件命名 ls-lint 是一個非常快的文件和目錄名稱 linter,可方便約束項目目錄和文件的命名。 特點: 快速 依賴少 適用所有文件 配置簡單 安裝依賴 npm install @ls-lint/ls-lint -D 在 husky 加入 git hook: "husky": { "hooks": { "pre-commit": "ls-lint

jackzhoumine 頭像

@jackzhoumine

昵稱 JackZhouMine

@fenanjiu

Vite本地構建:手寫核心原理

前言 接上篇文章,我們瞭解到vite的本地構建原理主要是:啓動一個 connect 服務器攔截由瀏覽器請求 ESM的請求。通過請求的路徑找到目錄下對應的文件做一下編譯最終以 ESM的格式返回給瀏覽器。 基於這個核心思想,我們可以嘗試來動手實現一下。 搭建靜態服務器 基於koa搭建一個項目: 項目結構如上,服務使用koa搭建,bin指定cli可執行文件的位置 #!/usr/bin/env node

fenanjiu 頭像

@fenanjiu

昵稱 南玖

@fanwenjie

前端工程化系列一:序言

1. 關於這個系列 我認為,工程化是前端各類細分技術領域中最為基礎而關鍵,最具有知識廣度與深度因而學習曲線較為陡峭,但同時也是對整體開發效率、質量增益最大因而對個體而言最具有學習價值的高階技能之一。 具體來説,工程化領域向上可以探索學習各種構建工具、靜態代碼分析工具、CI/CD 與開發工作流等具象工具;橫向可認真研判、梳理、落地各類研發規則,提前幫助業務開發者做出技術選擇,以實現更高效而規範地業務

fanwenjie 頭像

@fanwenjie

昵稱 範文傑

@biocrosscoder

六邊形架構最佳實踐探索

在工作中,我接觸到的產品均採用了微服務架構,後端項目開發普遍採用了六邊形架構:六邊形架構提供了一套良好的設計思想,但它缺乏對項目代碼組織細節的指導;同時,項目中並沒有使用專門的微服務框架,而是普遍使用Gin框架,這使得代碼組織過於靈活,沒有提供充分的編碼約束,以致於在過去的業務需求實現中,後端服務的項目代碼組織充斥着各種各樣的問題;為了解決這些問題、提高開發效率、保障工程質量,基於工作一年的實踐和

biocrosscoder 頭像

@biocrosscoder

昵稱 BioCrossCoder

@steven_code

browserslist 使用簡介

頁面為了能在各個品牌、各個版本的瀏覽器上正常顯示,需要處理各種兼容問題:將現代的 JavaScript 語法(ESNext)轉譯為舊版的 JavaScript 語法(ES5);為不兼容的 CSS 樣式添加瀏覽器前綴(-webkit-、-moz-);等等。 現代的前端頁面開發流程,都有相應的工具為開發者自動地處理這些兼容問題:Autoprefixer - 為 CSS 樣式,自動添加不兼容的瀏覽器前綴

steven_code 頭像

@steven_code

昵稱 Steven

@ddup365

一文讀懂 NPM 版本

這是前端工程化的系列文章 版本號組成 node package 版本號由四部分組成:major.minor.patch[-prerelease],比如:1.0.2-beta.1,其中 prerelease 可選。 major:代表主版本號,通常在需要提交不能向下兼容的情況下對該版本號進行升級 minor:代表次版本號,通常在新增功能時才對該版本號進行升級 patch:代表修復版本號,升級該

ddup365 頭像

@ddup365

昵稱 specialcoder

@ddup365

認識包管理工具: npm、yarn和pnpm

包管理工具的發展 2010 年 1 月,一款名為 npm 的包管理器誕生。它確立了包管理器工作的核心原則。 npm 的發佈誕生了一場革命,在此之前,項目依賴項都是手動下載和管理的。npm 引入了文件和元數據字段,將依賴項列表存儲在 package.json 文件中,並且將下載的文件保存到 node_modules 文件夾中。 後來因為 npm 的缺陷或者舊版本的不足,又出現了一個個替代

ddup365 頭像

@ddup365

昵稱 specialcoder

@fenanjiu

深入瞭解Vite:依賴預構建原理

前言 前面我們有提到Vite在開發階段,提倡的是一個no-bundle的理念,不必與webpack那樣需要先將整個項目進行打包構建。但是no-bundle的理念只適合源代碼部分(我們自己寫的代碼),vite會將項目中的所有模塊分為依賴與源碼兩部分。 依賴: 指的是一些不會變動的一些模塊,如:node_modules中的第三方依賴,這部分代碼vite會在啓動本地服務之前使用esbuild進行預構建。

fenanjiu 頭像

@fenanjiu

昵稱 南玖

@amc

騰訊 tRPC-Go 教學——(1)搭建服務

2023 年底騰訊統一的 RPC 框架 tRPC 正式開源。遍觀全網,似乎大部份是對 tRPC 概念上的宣傳、架構上的設計,而如何開發、如何部署的文章鳳毛麟角。於是筆者小試牛刀撰此文,或許會成為一系列,希望能拋磚引玉。 系列文章 騰訊 tRPC-Go 教學——(1)搭建服務 騰訊 tRPC-Go 教學——(2)trpc HTTP 能力 騰訊 tRPC-Go 教學——(3)微服務間調用 騰

amc 頭像

@amc

昵稱 amc

@amc

騰訊 tRPC-Go 教學——(2)trpc HTTP 能力

上一篇文章 中我們快速搭建了一個 http API 服務,並且我們可以看到,對外提供了 URL query 和 application/json 兩種服務模式。那麼實際上,我們到底實現了什麼、並且能夠做些什麼?讀者可能還是沒有直觀的感受,因此必要先來簡單 review 一下。就讓我們先放下敲代碼的小手,一起看看剛剛寫出來的都是些什麼玩意兒吧。 系列文章 騰訊 tRPC-Go 教學——(1)搭建

amc 頭像

@amc

昵稱 amc

@amc

騰訊 tRPC-Go 教學——(3)微服務間調用

前兩篇文章(1、2),我構建了一個簡單的 HTTP 服務。 HTTP 服務是前後端分離架構中,後端最靠近前端的業務服務。不過純後台 RPC 之間,出於效率、性能、韻味等等考慮,HTTP 不是我們的首選。本文我們就來看看騰訊是怎麼使用 tRPG-Go 構建後台微服務集羣的。 本文我們將開始涉及 tRPC 的核心關鍵點之一: tRPC 服務之間如何互相調用 系列文章 騰訊 tRPC-Go 教

amc 頭像

@amc

昵稱 amc