当前位置: 首页 > article >正文

Pytest finalizer执行顺序揭秘

pytest finalizer 执行顺序FILO 原则在 pytest 中finalizer终结器用于在测试完成后执行清理操作。理解 finalizer 的执行顺序对于编写可靠的测试代码至关重要。pytest 遵循 FILOFirst In Last Out原则管理 finalizer 的执行顺序。FILO 原则的核心机制FILO 原则意味着先注册的 finalizer 会后执行。这种机制类似于栈数据结构后进先出。pytest 通过这种设计确保资源按照依赖关系的逆序释放。例如如果测试中先注册了数据库连接的 finalizer后注册了临时文件的 finalizer实际执行时会先清理临时文件再关闭数据库连接。通过 fixture 注册 finalizerpytest 的 fixture 系统是注册 finalizer 的主要方式。使用yield或request.addfinalizer均可实现import pytest pytest.fixture def resource_a(request): print(Setup resource A) def finalize(): print(Teardown resource A) request.addfinalizer(finalize) return A pytest.fixture def resource_b(request): print(Setup resource B) def finalize(): print(Teardown resource B) request.addfinalizer(finalize) return B def test_order(resource_a, resource_b): print(Running test)执行输出Setup resource A Setup resource B Running test Teardown resource B Teardown resource Ayield 方式的 finalizeryield是更简洁的 finalizer 注册方式本质上仍遵循 FILOpytest.fixture def temp_file(): file open(temp.txt, w) yield file file.close() print(File closed) pytest.fixture def db_connection(): conn connect_db() yield conn conn.close() print(DB connection closed) def test_resources(temp_file, db_connection): print(Testing with resources)执行顺序Testing with resources DB connection closed File closed嵌套 fixture 的执行顺序当 fixture 存在依赖关系时finalizer 的执行顺序仍然遵循 FILOpytest.fixture def outer_fixture(request): print(Outer setup) def finalize(): print(Outer teardown) request.addfinalizer(finalize) return outer pytest.fixture def inner_fixture(outer_fixture, request): print(Inner setup) def finalize(): print(Inner teardown) request.addfinalizer(finalize) return inner def test_nested(inner_fixture): print(Running nested test)执行输出Outer setup Inner setup Running nested test Inner teardown Outer teardown手动控制 finalizer 顺序虽然 pytest 自动管理顺序但可以通过调整 fixture 依赖关系来控制pytest.fixture def must_teardown_first(request): res allocate_resource() def finalize(): release_resource(res) request.addfinalizer(finalize) return res pytest.fixture def dependent_fixture(must_teardown_first): # 此 fixture 会先于 must_teardown_first 被清理 return dependent类作用域 fixture 的特殊情况类作用域的 fixture 会在所有测试方法完成后执行 finalizer但仍遵循 FILOpytest.fixture(scopeclass) def class_fixture(request): print(Class setup) def finalize(): print(Class teardown) request.addfinalizer(finalize) class TestClass: def test_one(self, class_fixture): print(Test one) def test_two(self, 努力并不一定能换来成功但每一次感受拼搏的勇气都是在为未来的成就打下坚实的基础。感受到生命的精彩在于每一个小细节珍惜与他人分享的瞬间让生命因彼此的陪伴变得丰富。寻找生活中的细微感动往往在不经意间就能获得心灵的慰藉让快乐与幸福疫情流淌不息。生活虽有起落内心要始终怀有希望勇敢追求理想才能在每一次的奋战中收获新生。生活中的每一块拼图都是塑造完整自我的重要部分要耐心拼接才能发现最终的美丽画面。 https://blog.csdn.net/oqwhzqg6/article/details/159161887 https://blog.csdn.net/c1l44o9i/article/details/159161895 https://blog.csdn.net/kgoubjv5/article/details/159161896 https://blog.csdn.net/v9vvwzsc/article/details/159161902 https://blog.csdn.net/2601_95555428/article/details/159161904 https://blog.csdn.net/b3u4ouqf/article/details/159161903 https://blog.csdn.net/2601_95544175/article/details/159161909 https://blog.csdn.net/njya841u/article/details/159161911 https://blog.csdn.net/2601_95544138/article/details/159161913 https://blog.csdn.net/jm6bgxkp/article/details/159161915 https://blog.csdn.net/qafq81em/article/details/159161916 https://blog.csdn.net/e3n4424y/article/details/159161918 https://blog.csdn.net/2601_95544113/article/details/159161919 https://blog.csdn.net/vywfueu6/article/details/159161920 https://blog.csdn.net/hz335jx4/article/details/159161928 https://blog.csdn.net/dy12tmrf/article/details/159161929 https://blog.csdn.net/pbyli8m8/article/details/159161930 https://blog.csdn.net/ckzm3fuk/article/details/159161933 https://blog.csdn.net/wzq6c1d6/article/details/159161931 https://blog.csdn.net/o9ukk0b7/article/details/159161936 https://blog.csdn.net/iua1h1vt/article/details/159161937 https://blog.csdn.net/kjtnfh5v/article/details/159161943 https://blog.csdn.net/2601_95544149/article/details/159161946 https://blog.csdn.net/vxrxlflk/article/details/159161948 https://blog.csdn.net/ysgvdst2/article/details/159161949 https://blog.csdn.net/sbk698lr/article/details/159161952 https://blog.csdn.net/w3e2ztnx/article/details/159161953 https://blog.csdn.net/ctnjyt7k/article/details/159161941 https://blog.csdn.net/bpneufdg/article/details/159161955 https://blog.csdn.net/ot6hq6nf/article/details/159161954 https://blog.csdn.net/v3n18rtk/article/details/159161959 https://blog.csdn.net/c3atvgx6/article/details/159161958 https://blog.csdn.net/qbnd6lds/article/details/159161960 https://blog.csdn.net/gslb0f3d/article/details/159161961 https://blog.csdn.net/fo3atnop/article/details/159161963 https://blog.csdn.net/2601_95555425/article/details/159161962 https://blog.csdn.net/mnqkny9f/article/details/159161966 https://blog.csdn.net/zwi1y625/article/details/159161967 https://blog.csdn.net/m2be8m9u/article/details/159161973 https://blog.csdn.net/dskkjon0/article/details/159161974 https://blog.csdn.net/2601_95544188/article/details/159161976 https://blog.csdn.net/2601_95544206/article/details/159161979 https://blog.csdn.net/l03ujtje/article/details/159161981 https://blog.csdn.net/2601_95555442/article/details/159161983 https://blog.csdn.net/wko5z6dr/article/details/159161986 https://blog.csdn.net/sqob3rfk/article/details/159161988 https://blog.csdn.net/2601_95555422/article/details/159161989 https://blog.csdn.net/he3gnhm6/article/details/159161990 https://blog.csdn.net/xzkkfd11/article/details/159161993 https://blog.csdn.net/2601_95555421/article/details/159161995 https://blog.csdn.net/s0zymiq0/article/details/159161996 https://blog.csdn.net/2601_95555416/article/details/159161997 https://blog.csdn.net/vdp8kn2a/article/details/159161998 https://blog.csdn.net/2601_95544209/article/details/159161999 https://blog.csdn.net/2601_95555418/article/details/159162000 https://blog.csdn.net/p38ls0ag/article/details/159162003 https://blog.csdn.net/g0fmhue9/article/details/159162004 https://blog.csdn.net/bgluenl8/article/details/159162005 https://blog.csdn.net/2601_95544173/article/details/159162009 https://blog.csdn.net/2601_95555419/article/details/159162012 https://blog.csdn.net/2601_95531899/article/details/159162062 https://blog.csdn.net/2601_95542988/article/details/159162064 https://blog.csdn.net/evztboj7/article/details/159162067 https://blog.csdn.net/2601_95542940/article/details/159162066 https://blog.csdn.net/2601_95555526/article/details/159162069 https://blog.csdn.net/odrjuq3o/article/details/159162080 https://blog.csdn.net/2601_95531606/article/details/159162097 https://blog.csdn.net/ih2w2z3p/article/details/159162102 https://blog.csdn.net/2601_95544404/article/details/159162108 https://blog.csdn.net/gnib9u50/article/details/159162111 https://blog.csdn.net/rbtdhifs/article/details/159162117 https://blog.csdn.net/wdccy26u/article/details/159162122 https://blog.csdn.net/db81eu4b/article/details/159162123 https://blog.csdn.net/eewbe3pd/article/details/159162125 https://blog.csdn.net/fx5m7tst/article/details/159162132 https://blog.csdn.net/2601_95544416/article/details/159162131 https://blog.csdn.net/pa78xqm9/article/details/159162133 https://blog.csdn.net/izygupyd/article/details/159162137 https://blog.csdn.net/mc8l6x4p/article/details/159162138 https://blog.csdn.net/urowjikf/article/details/159162139 https://blog.csdn.net/kwphkbu7/article/details/159162142 https://blog.csdn.net/frgjzjuh/article/details/159162143 https://blog.csdn.net/ldclm301/article/details/159162144 https://blog.csdn.net/bcq5r6g0/article/details/159162145 https://blog.csdn.net/2601_95511291/article/details/159162147 https://blog.csdn.net/x0nt76r5/article/details/159162149 https://blog.csdn.net/sllte1qn/article/details/159162148 https://blog.csdn.net/thv1x8a6/article/details/159162153 https://blog.csdn.net/k147rmx7/article/details/159162152 https://blog.csdn.net/nsvijbk6/article/details/159162155 https://blog.csdn.net/xwvnnnr2/article/details/159162154 https://blog.csdn.net/2601_95542988/article/details/159162157 https://blog.csdn.net/t6u5e5pt/article/details/159162159 https://blog.csdn.net/vu7v70l4/article/details/159162161 https://blog.csdn.net/axrq5nhg/article/details/159162162 https://blog.csdn.net/dsltd6nv/article/details/159162164 https://blog.csdn.net/h4j26d49/article/details/159162165 https://blog.csdn.net/i55xtzjy/article/details/159162168 https://blog.csdn.net/jmy2zg6p/article/details/159162169 https://blog.csdn.net/js0jcl4a/article/details/159162173 https://blog.csdn.net/dhsehlad/article/details/159162174 https://blog.csdn.net/moamqks1/article/details/159162176 https://blog.csdn.net/ef4sc3ar/article/details/159162177 https://blog.csdn.net/j6gnb5md/article/details/159162179 https://blog.csdn.net/enriln3d/article/details/159162180 https://blog.csdn.net/i3idhvpf/article/details/159162181 https://blog.csdn.net/xoqpdzbl/article/details/159162175 https://blog.csdn.net/kk08u35d/article/details/159162182 https://blog.csdn.net/nlrz7ivy/article/details/159162183 https://blog.csdn.net/cyv207bb/article/details/159162184 https://blog.csdn.net/ufmgamnw/article/details/159162185 https://blog.csdn.net/2601_95542940/article/details/159162186 https://blog.csdn.net/2601_95555526/article/details/159162187 https://blog.csdn.net/2601_95531326/article/details/159162188 https://blog.csdn.net/a5yyj01i/article/details/159162189 https://blog.csdn.net/dn5yexoa/article/details/159162194 https://blog.csdn.net/2601_95499172/article/details/159162192 https://blog.csdn.net/da6sx5ow/article/details/159162196 https://blog.csdn.net/2601_95499174/article/details/159162199 https://blog.csdn.net/gyi972y2/article/details/159162200 https://blog.csdn.net/2601_95531928/article/details/159162201 https://blog.csdn.net/x22g8h7z/article/details/159162198 https://blog.csdn.net/g0aa2h7p/article/details/159162205 https://blog.csdn.net/o385fufg/article/details/159162206 https://blog.csdn.net/wswmo6wb/article/details/159162204 https://blog.csdn.net/w4roeu0i/article/details/159162202 https://blog.csdn.net/2601_95511308/article/details/159162212 https://blog.csdn.net/2601_95531655/article/details/159162215 https://blog.csdn.net/nsgt2iha/article/details/159162220 https://blog.csdn.net/rnyc81ut/article/details/159162222 https://blog.csdn.net/2601_95543016/article/details/159162233 https://blog.csdn.net/ovg9x3bz/article/details/159162234 https://blog.csdn.net/2601_95531606/article/details/159162245 https://blog.csdn.net/ih2w2z3p/article/details/159162249 https://blog.csdn.net/edzkj4hw/article/details/159162251 https://blog.csdn.net/kwphkbu7/article/details/159162252 https://blog.csdn.net/fx5m7tst/article/details/159162253 https://blog.csdn.net/axrq5nhg/article/details/159162259 https://blog.csdn.net/j6gnb5md/article/details/159162260 https://blog.csdn.net/wdccy26u/article/details/159162263 https://blog.csdn.net/qug5hwih/article/details/159162262 https://blog.csdn.net/nfl045t0/article/details/159162265 https://blog.csdn.net/pop5v9k5/article/details/159162268 https://blog.csdn.net/db81eu4b/article/details/159162269 https://blog.csdn.net/js0jcl4a/article/details/159162272 https://blog.csdn.net/rbtdhifs/article/details/159162271 https://blog.csdn.net/wswmo6wb/article/details/159162277 https://blog.csdn.net/bcq5r6g0/article/details/159162274 https://blog.csdn.net/2601_95531655/article/details/159162282 https://blog.csdn.net/g0aa2h7p/article/details/159162285 https://blog.csdn.net/eewbe3pd/article/details/159162298 https://blog.csdn.net/ufmgamnw/article/details/159162297 https://blog.csdn.net/ldclm301/article/details/159162299 https://blog.csdn.net/mc8l6x4p/article/details/159162300 https://blog.csdn.net/k147rmx7/article/details/159162302 https://blog.csdn.net/frgjzjuh/article/details/159162304 https://blog.csdn.net/gnib9u50/article/details/159162305 https://blog.csdn.net/dsltd6nv/article/details/159162307 https://blog.csdn.net/urtatwm6/article/details/159162313 https://blog.csdn.net/izygupyd/article/details/159162312 https://blog.csdn.net/moamqks1/article/details/159162315 https://blog.csdn.net/nsgt2iha/article/details/159162316 https://blog.csdn.net/ef4sc3ar/article/details/159162319 https://blog.csdn.net/2601_95498576/article/details/159162320 https://blog.csdn.net/i3idhvpf/article/details/159162324 https://blog.csdn.net/xoqpdzbl/article/details/159162323 https://blog.csdn.net/da6sx5ow/article/details/159162314 https://blog.csdn.net/2601_95531928/article/details/159162328 https://blog.csdn.net/kk08u35d/article/details/159162329 https://blog.csdn.net/w4roeu0i/article/details/159162330 https://blog.csdn.net/x22g8h7z/article/details/159162331 https://blog.csdn.net/vu7v70l4/article/details/159162332 https://blog.csdn.net/zhnh436x/article/details/159162334 https://blog.csdn.net/cyv207bb/article/details/159162338 https://blog.csdn.net/dhsehlad/article/details/159162335 https://blog.csdn.net/i55xtzjy/article/details/159162337 https://blog.csdn.net/urowjikf/article/details/159162339 https://blog.csdn.net/sllte1qn/article/details/159162343 https://blog.csdn.net/rnyc81ut/article/details/159162345 https://blog.csdn.net/thv1x8a6/article/details/159162344 https://blog.csdn.net/h4j26d49/article/details/159162348 https://blog.csdn.net/jmy2zg6p/article/details/159162347 https://blog.csdn.net/o385fufg/article/details/159162350 https://blog.csdn.net/2601_95511308/article/details/159162351 https://blog.csdn.net/2601_95544416/article/details/159162354 https://blog.csdn.net/xwvnnnr2/article/details/159162355 https://blog.csdn.net/a5yyj01i/article/details/159162357 https://blog.csdn.net/gyi972y2/article/details/159162359 https://blog.csdn.net/enriln3d/article/details/159162374 https://blog.csdn.net/ovg9x3bz/article/details/159162384 https://blog.csdn.net/hdj88ii2/article/details/159162426 https://blog.csdn.net/a4z0oe5s/article/details/159162430 https://blog.csdn.net/x8pj1wbe/article/details/159162432 https://blog.csdn.net/ib9ddmvp/article/details/159162433 https://blog.csdn.net/u9nir1i0/article/details/159162434 https://blog.csdn.net/zh05b4r6/article/details/159162435 https://blog.csdn.net/2601_95544472/article/details/159162440 https://blog.csdn.net/2601_95544433/article/details/159162454 https://blog.csdn.net/q8kx46d2/article/details/159162457 https://blog.csdn.net/wnt7cduo/article/details/159162461 https://blog.csdn.net/2601_95544433/article/details/159162481 https://blog.csdn.net/bh4fl5w7/article/details/159162484 https://blog.csdn.net/2601_95544472/article/details/159162493 https://blog.csdn.net/qy6z3qww/article/details/159162494 https://blog.csdn.net/j5dk6upu/article/details/159162498 https://blog.csdn.net/ryvc1pfv/article/details/159162503 https://blog.csdn.net/amrohw7g/article/details/159162506 https://blog.csdn.net/2601_95543360/article/details/159162509 https://blog.csdn.net/ww5wau8l/article/details/159162510 https://blog.csdn.net/2601_95544436/article/details/159162512 https://blog.csdn.net/2601_95555640/article/details/159162513 https://blog.csdn.net/fuofmqz7/article/details/159162514 https://blog.csdn.net/hlau233v/article/details/159162518 https://blog.csdn.net/jl9knual/article/details/159162521 https://blog.csdn.net/2601_95555644/article/details/159162522 https://blog.csdn.net/yrrtbdrp/article/details/159162528 https://blog.csdn.net/ke5mrd7k/article/details/159162529 https://blog.csdn.net/ydlp7pb7/article/details/159162531 https://blog.csdn.net/zzn4a5yv/article/details/159162532 https://blog.csdn.net/2601_95543353/article/details/159162533 https://blog.csdn.net/2601_95555656/article/details/159162537 https://blog.csdn.net/umoq7yhc/article/details/159162539 https://blog.csdn.net/at64ytnc/article/details/159162541 https://blog.csdn.net/2601_95543573/article/details/159162542 https://blog.csdn.net/sfr2omr2/article/details/159162552 https://blog.csdn.net/puibzysa/article/details/159162548 https://blog.csdn.net/y3inka4h/article/details/159162553 https://blog.csdn.net/a4z0oe5s/article/details/159162555 https://blog.csdn.net/2601_95544499/article/details/159162556 https://blog.csdn.net/2601_95544494/article/details/159162557 https://blog.csdn.net/2601_95543323/article/details/159162558 https://blog.csdn.net/h4mob6uc/article/details/159162560 https://blog.csdn.net/2601_95543609/article/details/159162559 https://blog.csdn.net/ojvkvy2p/article/details/159162563 https://blog.csdn.net/tz3lfscp/article/details/159162566 https://blog.csdn.net/zh05b4r6/article/details/159162568 https://blog.csdn.net/u9nir1i0/article/details/159162574 https://blog.csdn.net/2601_95544484/article/details/159162573 https://blog.csdn.net/weykbt2l/article/details/159162577 https://blog.csdn.net/fdv5ou5g/article/details/159162578 https://blog.csdn.net/2601_95544514/article/details/159162579 https://blog.csdn.net/d7qps3rl/article/details/159162582 https://blog.csdn.net/ormsmr6r/article/details/159162584 https://blog.csdn.net/z2dd9wy8/article/details/159162585 https://blog.csdn.net/g9d767s0/article/details/159162588 https://blog.csdn.net/mhabxzpa/article/details/159162590 https://blog.csdn.net/2601_95543578/article/details/159162591 https://blog.csdn.net/ze8rdr89/article/details/159162592 https://blog.csdn.net/wb2jim2r/article/details/159162593 https://blog.csdn.net/boahb9uo/article/details/159162594 https://blog.csdn.net/zxokrvl1/article/details/159162595 https://blog.csdn.net/m5iawuwx/article/details/159162596 https://blog.csdn.net/dzpe6ywg/article/details/159162598 https://blog.csdn.net/osjvisiz/article/details/159162603 https://blog.csdn.net/qd16nupv/article/details/159162602 https://blog.csdn.net/it7c2w9e/article/details/159162599 https://blog.csdn.net/pcefj4w3/article/details/159162607 https://blog.csdn.net/ea7g7axn/article/details/159162608 https://blog.csdn.net/vhmp5w0f/article/details/159162609 https://blog.csdn.net/qogxjoio/article/details/159162612 https://blog.csdn.net/coy6jv07/article/details/159162615 https://blog.csdn.net/p85xy8r3/article/details/159162621 https://blog.csdn.net/2601_95544435/article/details/159162622 https://blog.csdn.net/nrxrdpzt/article/details/159162623 https://blog.csdn.net/teapcxq6/article/details/159162624 https://blog.csdn.net/wnt7cduo/article/details/159162626 https://blog.csdn.net/bytrm7rq/article/details/159162619 https://blog.csdn.net/dkm7yvb0/article/details/159162628 https://blog.csdn.net/2601_95544520/article/details/159162629 https://blog.csdn.net/c45bjmus/article/details/159162627 https://blog.csdn.net/z2a66yk1/article/details/159162631 https://blog.csdn.net/tp8i2zdw/article/details/159162632 https://blog.csdn.net/2601_95555663/article/details/159162630 https://blog.csdn.net/ib9ddmvp/article/details/159162639 https://blog.csdn.net/w0y5tf0e/article/details/159162638 https://blog.csdn.net/dvtzo7c2/article/details/159162637 https://blog.csdn.net/tx6lc2up/article/details/159162640 https://blog.csdn.net/x8pj1wbe/article/details/159162644 https://blog.csdn.net/2601_95543531/article/details/159162647 https://blog.csdn.net/rqspk28k/article/details/159162648 https://blog.csdn.net/vj741tg9/article/details/159162649 https://blog.csdn.net/hdj88ii2/article/details/159162654 https://blog.csdn.net/gw482hxg/article/details/159162655 https://blog.csdn.net/2601_95543569/article/details/159162656 https://blog.csdn.net/q46gqfl1/article/details/159162660 https://blog.csdn.net/x6h7i5j6/article/details/159162673 https://blog.csdn.net/2601_95544514/article/details/159162693 https://blog.csdn.net/vj741tg9/article/details/159162697 https://blog.csdn.net/bytrm7rq/article/details/159162698 https://blog.csdn.net/2601_95555644/article/details/159162702 https://blog.csdn.net/zzn4a5yv/article/details/159162724 https://blog.csdn.net/2601_95544484/article/details/159162732 https://blog.csdn.net/h4mob6uc/article/details/159162733 https://blog.csdn.net/w0y5tf0e/article/details/159162734 https://blog.csdn.net/boahb9uo/article/details/159162735 https://blog.csdn.net/z2dd9wy8/article/details/159162736 https://blog.csdn.net/d7qps3rl/article/details/159162737 https://blog.csdn.net/2601_95544435/article/details/159162738 https://blog.csdn.net/mhabxzpa/article/details/159162741 https://blog.csdn.net/ormsmr6r/article/details/159162742 https://blog.csdn.net/rqspk28k/article/details/159162743 https://blog.csdn.net/ryvc1pfv/article/details/159162744 https://blog.csdn.net/ww5wau8l/article/details/159162745 https://blog.csdn.net/c45bjmus/article/details/159162746 https://blog.csdn.net/2601_95555640/article/details/159162749 https://blog.csdn.net/2601_95544499/article/details/159162751 https://blog.csdn.net/2601_95543578/article/details/159162755 https://blog.csdn.net/z2a66yk1/article/details/159162756 https://blog.csdn.net/ydlp7pb7/article/details/159162759 https://blog.csdn.net/puibzysa/article/details/159162758 https://blog.csdn.net/2601_95543573/article/details/159162760 https://blog.csdn.net/2601_95544520/article/details/159162761 https://blog.csdn.net/2601_95543360/article/details/159162763 https://blog.csdn.net/ze8rdr89/article/details/159162765 https://blog.csdn.net/2601_95544436/article/details/159162764 https://blog.csdn.net/coy6jv07/article/details/159162766 https://blog.csdn.net/qd16nupv/article/details/159162767 https://blog.csdn.net/ojvkvy2p/article/details/159162769 https://blog.csdn.net/qogxjoio/article/details/159162768 https://blog.csdn.net/jl9knual/article/details/159162773 https://blog.csdn.net/gw482hxg/article/details/159162775 https://blog.csdn.net/2601_95555656/article/details/159162788 https://blog.csdn.net/g9d767s0/article/details/159162794 https://blog.csdn.net/dzpe6ywg/article/details/159162802 https://blog.csdn.net/ke5mrd7k/article/details/159162803 https://blog.csdn.net/2601_95543353/article/details/159162805 https://blog.csdn.net/amrohw7g/article/details/159162810 https://blog.csdn.net/q46gqfl1/article/details/159162813 https://blog.csdn.net/m5iawuwx/article/details/159162814 https://blog.csdn.net/fuofmqz7/article/details/159162811 https://blog.csdn.net/pcefj4w3/article/details/159162816 https://blog.csdn.net/fdv5ou5g/article/details/159162821 https://blog.csdn.net/nrxrdpzt/article/details/159162823 https://blog.csdn.net/weykbt2l/article/details/159162826 https://blog.csdn.net/yrrtbdrp/article/details/159162825 https://blog.csdn.net/y3inka4h/article/details/159162828 https://blog.csdn.net/hlau233v/article/details/159162830 https://blog.csdn.net/2601_95555663/article/details/159162835 https://blog.csdn.net/2601_95544494/article/details/159162837 https://blog.csdn.net/tp8i2zdw/article/details/159162838 https://blog.csdn.net/tx6lc2up/article/details/159162839 https://blog.csdn.net/zxokrvl1/article/details/159162841 https://blog.csdn.net/p85xy8r3/article/details/159162842 https://blog.csdn.net/vhmp5w0f/article/details/159162843 https://blog.csdn.net/dvtzo7c2/article/details/159162851 https://blog.csdn.net/dkm7yvb0/article/details/159162857 https://blog.csdn.net/2601_95543609/article/details/159162859 https://blog.csdn.net/2601_95543569/article/details/159162862 https://blog.csdn.net/j5dk6upu/article/details/159162871 https://blog.csdn.net/ea7g7axn/article/details/159162872 https://blog.csdn.net/qy6z3qww/article/details/159162884 https://blog.csdn.net/bh4fl5w7/article/details/159162886 https://blog.csdn.net/osjvisiz/article/details/159162895 https://blog.csdn.net/2601_95543531/article/details/159162897 https://blog.csdn.net/it7c2w9e/article/details/159162900 https://blog.csdn.net/teapcxq6/article/details/159162901 https://blog.csdn.net/sfr2omr2/article/details/159162902 https://blog.csdn.net/tz3lfscp/article/details/159162904 https://blog.csdn.net/umoq7yhc/article/details/159162914 https://blog.csdn.net/x6h7i5j6/article/details/159162915 https://blog.csdn.net/wb2jim2r/article/details/159162927 https://blog.csdn.net/typ19rb8/article/details/159163014 https://blog.csdn.net/2601_95555865/article/details/159163019 https://blog.csdn.net/y0uklb2g/article/details/159163020 https://blog.csdn.net/v9fxgne0/article/details/159163027 https://blog.csdn.net/vdiinc8r/article/details/159163043 https://blog.csdn.net/aq40ist9/article/details/159163046 https://blog.csdn.net/uvyyoqxx/article/details/159163047 https://blog.csdn.net/2601_95555758/article/details/159163050 https://blog.csdn.net/wglqb5h4/article/details/159163053 https://blog.csdn.net/2601_95555822/article/details/159163056 https://blog.csdn.net/tn8oaxzo/article/details/159163057 https://blog.csdn.net/gnp3zgam/article/details/159163060 https://blog.csdn.net/2601_95555837/article/details/159163063 https://blog.csdn.net/d0l9wp31/article/details/159163064 https://blog.csdn.net/cr3onae9/article/details/159163066 https://blog.csdn.net/2601_95555843/article/details/159163068 https://blog.csdn.net/yu1zmwk5/article/details/159163070 https://blog.csdn.net/jt399fi5/article/details/159163069 https://blog.csdn.net/zqii2eb7/article/details/159163072 https://blog.csdn.net/o7u2ewn2/article/details/159163075 https://blog.csdn.net/iixo3rk8/article/details/159163076 https://blog.csdn.net/jg9wmdiq/article/details/159163077 https://blog.csdn.net/tj27gwwm/article/details/159163080 https://blog.csdn.net/bm0hm19k/article/details/159163079 https://blog.csdn.net/gumr1kld/article/details/159163081 https://blog.csdn.net/ldk9bms4/article/details/159163084 https://blog.csdn.net/tsvts08t/article/details/159163085 https://blog.csdn.net/2601_95555885/article/details/159163087 https://blog.csdn.net/2601_95555873/article/details/159163092 https://blog.csdn.net/cm0tnppu/article/details/159163096 https://blog.csdn.net/vjemlkaz/article/details/159163095 https://blog.csdn.net/m0duzzgw/article/details/159163094 https://blog.csdn.net/2601_95555878/article/details/159163097 https://blog.csdn.net/md1ansyh/article/details/159163107 https://blog.csdn.net/spoe4e3k/article/details/159163110 https://blog.csdn.net/yvox48yf/article/details/159163114 https://blog.csdn.net/2601_95555863/article/details/159163115 https://blog.csdn.net/2601_95555869/article/details/159163118 https://blog.csdn.net/cllfqfkb/article/details/159163112

相关文章:

Pytest finalizer执行顺序揭秘

pytest finalizer 执行顺序:FILO 原则 在 pytest 中,finalizer(终结器)用于在测试完成后执行清理操作。理解 finalizer 的执行顺序对于编写可靠的测试代码至关重要。pytest 遵循 FILO(First In Last Out)原…...

Agent 时代的控制论:Harness Engineering 深度解析(深度硬核),从入门到精通,收藏这一篇就够了!

今年 2 月,OpenAI 发布了一篇文章 Harness engineering: leveraging Codex in an agent-first world,描述了一种新的工作方式:工程师不再直接编写代码,而是设计环境、制定规则,让 agent 在其中完成编码。 这篇文章很快…...

Java毕业设计基于springboot+java云平台的信息安全攻防实训平台

前言 随着信息技术的快速发展,信息安全问题日益凸显,成为制约信息化进程的关键因素之一。为了培养具备扎实信息安全知识和技能的人才,Java基于云平台的信息安全攻防实训平台应运而生。该平台通过模拟真实的信息安全攻防场景,为学生…...

打造可靠的 LLM 检索触发器(深度硬核),语料库统计量方法全解析,收藏这一篇就够了!

摘要 本文提出QuCo-RAG框架,通过预训练语料库统计量而非模型内部信号来量化不确定性,解决动态检索增强生成中的幻觉问题。该方法在多跳问答任务上相比最优基线提升5-12个EM点,并可迁移至未公开训练数据的模型,为动态RAG建立了基于…...

Logstash与FileBeat实战指南

Logstash与FileBeat详解 Logstash和FileBeat是ELK(Elasticsearch、Logstash、Kibana)堆栈中用于数据采集和传输的核心组件。Logstash是一个功能强大的数据处理管道,支持多种输入、过滤和输出插件。FileBeat是一个轻量级的日志文件采集工具&am…...

HTTPS 加密传输原理

在面试后端、Java 开发、网络安全时,HTTPS 加密过程几乎是必考题。很多同学能说出 “加密”,但一深入到对称加密、非对称加密、数字证书、公钥私钥就开始混乱。这篇文章用最通俗、最直白、最适合面试的方式,带你彻底搞懂 HTTPS 到底是怎么加密…...

【网页SSE】

今天我们要深入探讨一个在实时通信领域非常优雅且高效的技术——SSE,也就是服务器发送事件。 为了让大家直观地理解,我们先从生活中的点餐场景说起。想象一下,你点完餐后,是如何知道菜品是否准备好的呢? 在 Web 开发的…...

d3dx9_28.dll完全免费修复方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…...

国央企如何提升技术创新与成果转化效率?

国央企作为国家科技创新的主体力量,肩负着突破关键核心技术、推动产业升级、服务国家战略的重任。然而,在当前数智化浪潮席卷全球,科技成果转化进入“数据密集型创新”新阶段的背景下,国央企传统的技术创新与成果转化模式正面临严…...

Captain AI:重构Ozon视频营销链路的全流程革命

当Ozon平台视频流量占比突破40%进入"精细化运营2.0"时代,中国卖家却仍困于"脚本靠编、剪辑靠蒙、上传靠等、效果靠猜"的传统困局。Captain AI以"技术驱动效率革命"为核心,通过"全链路数据追踪多模态AI引擎平台规则库…...

光伏储能虚拟同步发电机Simulink仿真模型探索

光伏储能虚拟同步发电机simulink仿真模型 主电路:三相全桥逆变 直流侧电压800V 光伏模块:光伏板结合Boost电路应用MPPT 储能模块:采用双闭环控制,外环直流母线电容稳压,内环为电池电流环控制 Matlab/simulink 2021b版本…...

Redis缓存三大问题(缓存穿透Cache Penetration、缓存击穿Cache Breakdown、缓存雪崩Cache Avalanche)缓存空值、布隆过滤器、逻辑过期、Binlog

文章目录一、Redis缓存三大问题1️⃣ 缓存穿透(Cache Penetration)✔ 本质✔ 解决方案方案1:缓存空值(最常用)方案2:布隆过滤器(Bloom Filter)方案3:参数校验2️⃣ 缓存击…...

2026 轻量模型三国杀:Flash-Lite vs GPT-4.1 Nano vs Haiku,技术选型到底该站谁?

2026 年 Q1 的 AI 模型市场有个明显趋势:巨头们开始卷"便宜好用"这条赛道。Google 放了 Gemini 3.1 Flash-Lite,OpenAI 有 GPT-4.1 Nano,Anthropic 更新了 Claude Haiku。三家都在说自己是"最具性价比的选择"。对使用者来…...

【开题答辩全过程】以 基于SSM在线考试系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...

用 LiteLLM 打通 Codex CLI 与 Claude Code(有key即可实现编程自由)

前言 最近我一直在做一件事:既然 Codex CLI 已经可以通过 LiteLLM 接入 Azure GPT-5.4,那能不能进一步把 Claude Code 也打通,让两套 CLI 共用同一层代理、同一组模型别名、同一套启动方式? 更重要的是,这个过程不能…...

2026国际国内大中型PLC行业市场分析

当前,中国大中型PLC市场正处于“外资主导”向“外资与国产并存”的结构性转折期。2025年市场规模已达95–100亿元,外资品牌仍占据约81%份额,但国产品牌加速突围。在国际供应链波动、国家自主可控政策加速落地、国产品牌技术成熟度提升三重因素…...

聚焦技术落地!巨有科技AI伴游破解文旅智能化痛点,复刻服贸会热点实效

2026年服贸会文旅专题展上,“AI文旅”成为核心热点,AI数字人、XR沉浸导览等技术刷屏全场,让行业看到了文旅智能化的广阔前景。但CSDN平台多数技术开发者、文旅技术负责人反馈,当前AI文旅落地陷入“三重困境”:技术与场…...

西门子1500PLC在仓储物流立体仓库项目中的实践

西门子1500PLC仓储物流 立体仓库程序,附带图纸堆垛机西门子PLC程序输送线程序。 物流仓储。 1.涵盖通信,算法,运动控制,屏幕程序,可电脑仿真测试,实际项目完整程序。 3.西门子S7-1200 4.博途V16编程 5.采用…...

黄仁勋2026GTC演讲:推理时代到来,2026年Groq芯片(B300),龙虾是新操作系统

黄仁勋GTC演讲:推理时代到来,2026年Groq芯片(B300),龙虾是新操作系统 📈AI已从“生成时代”进入“推理时代”,未来算力需求将爆炸式增长,而OpenClaw“龙虾”操作系统将成为驱动这一时…...

3D Tiles 2.0 技术审查整理稿

基于 134th OGC Member Meeting: 3D Tiles 2.0 Preview 自动字幕整理并做了轻度顺稿处理,以便阅读。个别产品名和技术术语在语义明确的情况下做了规范化处理。 Amanda Morgan 在开场时表示,3D Tiles 已经改变了地理空间计算领域原本能够做到的事情。自从…...

gogs安装教程

Gogs安装过程记录 Gogs 是一个轻量级的自托管 Git 服务,适用于资源有限的环境。以下是如何在 Ubuntu 系统上安装和配置 Gogs 的步骤。 步骤 1:更新系统并安装依赖 更新系统包: sudo apt update && sudo apt upgrade -y安装必要的软件…...

OpenClaw完全指南:从入门到精通的六大实用场景与实战案例

核心价值:OpenClaw 实现了从“AI顾问”到“数字员工”的本质跃迁。传统AI只能提供建议,而OpenClaw能直接操作系统,完成从邮件整理到代码部署的真实任务。通过本地优先架构保障数据隐私,借助ClawHub技能市场13729个技能覆盖30核心领…...

牙齿不好竟成心脑血管的“隐形杀手”|从细胞到疾病的深层剖析

导语:“医生,我胸口闷得慌,是不是心脏出问题了?”这是心血管门诊最常见的问诊场景。但你或许想不到,未来医生可能会多追问一句:“最近刷牙出血吗?牙龈有没有反复肿痛?”这并非无厘头…...

baijiacms-master 审计实验

01动态数据流动 为什么默认这个&#xff0c;观察参数流动 搜索关键字 给两个文件都打上断点&#xff0c;看最终流向 最终流向这里 观察代码 跳转 <?php defined(IN_IA) or exit(Access Denied);?><?php defined(SYSTEM_IN) or exit(Access Denied);?><div…...

全平台 Docker 部署 CPA(CLIProxyAPI Plus) 灵活定制指南 (Linux/Windows)——接入Codex

对于经常折腾 AI 工具的朋友来说&#xff0c;搭建一个专属的 API 中转代理&#xff08;如 CLIProxyAPI Plus&#xff09;是必不可少的技能。它可以帮你解决网络连通性问题、集中管理多个 OpenAI 账号。 网上很多教程喜欢把路径和端口“写死”&#xff0c;导致新手一旦想换个硬…...

LeetCodeHot100|链表总结

最近把leetcode的链表刷完了&#xff0c;所以想着来写一个关于链表的小结刷过的题目表相交链表、反转链表、回文链表、环形链表、环形链表二、两个合并有序链表、删除链表的倒数第N个结点、两两交换链表中的节点、K个一组翻转链表、随机链表的复制、排序链表、LRU缓存这些都是关…...

企业考勤系统场景适配能力深度解析:2号人事部的考勤适配多场景吗?

企业考勤系统场景适配能力深度解析&#xff1a;2号人事部如何覆盖全链路用工需求&#xff1f;对于处于购买决策最后阶段的企业HR而言&#xff0c;选择考勤系统的核心诉求早已从“能打卡”升级为“能解决具体场景的痛点”。当远程办公、多班次倒班、跨区域连锁、灵活用工等场景成…...

lumenpnp4.01方型主控板改外接闭环步进电机

一、现状 在lumenpnp4.01开源贴片机中,我使用的时10x10cm的4.01版本的LUMENPNP贴片机控制板,主控板如下图,x,y轴为板载TMC2209驱动,TMC2209步进电机驱动具有以下优点: 1. 极致静音与低振动(StealthChop2 技术) 采用 电压模式 PWM 斩波,运行时几乎无噪音,适合对静…...

黄仁勋GTC 2026演讲感悟及算力云平台选型方向

开篇感悟&#xff1a;演讲核心启示&#xff0c;算力价值再定义2026年3月&#xff0c;黄仁勋在GTC大会上的演讲&#xff0c;以扎实的技术突破和可落地的全栈方案&#xff0c;重塑了我们对AI算力价值的认知。“数据中心就是AI工厂”“SaaS终将升级为AaaS”的论断&#xff0c;以及…...

解决 SVG 作为 CSS 背景图无法 background-size: 100% 100% 拉伸的问题

1. 问题描述 在 Vue 或 Element Plus 项目中&#xff0c;为容器&#xff08;如 .el-table__header&#xff09;设置 SVG 背景图时&#xff0c;即使指定了 background-size: 100% 100%&#xff0c;SVG 依然保持原始比例&#xff0c;导致两侧留白或显示不全&#xff0c;无法自适应…...