网站地图 - seaxiang
页面
分类 (7)
标签 (35)
- Linux
- Java
- Spring
- Spring Boot
- docker
- 大数据
- 前端
- 生活
- maven
- golang
- 软件
- spring cloud
- fintech
- mac
- vscode
- 其他
- 区块链
- 以太坊
- V神
- 开发者
- 技术
- 股票
- git
- greenplum
- 分布式事务
- chrome
- mysql
- flink
- kafka
- 设计模式
- 原理
- 鸿蒙
- seo
- rust
- 大模型
最新博客 (100)
- Use References Instead of Raw Pointers When Calling Safe C Functions
- Document Invariant Assumptions for C-Provided Parameters
- Rule Template
- Types Used in FFI Should Have Stable Layout
- Use PhantomData<T> for Variance and Ownership with Pointer Generics
- Use assert! Instead of debug_assert! in Unsafe Functions
- Do Not Expose Uninitialized Memory in Public APIs
- Avoid Double-Free from Panic Safety Issues
- Prefer NonNull<T> Over *mut T
- Read Documentation Carefully When Using std::ffi Types
- Be Aware of Memory Safety Issues from Panics
- Prefer pointer::cast Over `as` for Pointer Casting
- Do Not Let String/Vec Auto-Drop Other Process's Memory
- Validate Non-Robust External Values
- Separate Data and Code When Passing Rust Closures to C
- Avoid Passing Strings Directly to C from Public Rust API
- Consider Safety When Manually Implementing Auto Traits
- Avoid Passing Trait Objects to C Interfaces
- Do Not Create Aliases for Types/Methods Named "Unsafe"
- Unsafe Checker - Section Definitions
- Do Not Implement Drop for Types Passed to External Code
- Prefer Reentrant Versions of C-API or Syscalls
- Do Not Manually Convert Immutable Pointer to Mutable
- Exported Rust Functions Must Be Designed for Thread-Safety
- Mutable Return from Immutable Parameter is Wrong
- Be Careful with UB When Referencing #[repr(packed)] Struct Fields
- Handle Panics When Crossing FFI Boundaries
- Do Not Blindly Use Unsafe for Performance
- Use Third-Party Crates for Bitfields
- Use Portable Type Aliases from std or libc
- Ensure I/O Safety When Using Raw Handles
- Do Not Modify Memory Variables of Other Processes or Dynamic Libraries
- Provide Unsafe Counterparts for Performance Alongside Safe Methods
- Handle Errors Properly in FFI
- Choose Appropriate Data Layout for Struct/Tuple/Enum
- Use Dedicated Opaque Type Pointers Instead of c_void for C Opaque Types
- Do Not Dereference Pointers Cast to Misaligned Types
- Ensure C-ABI Compatibility for Strings Between Rust and C
- Use MaybeUninit<T> for Uninitialized Memory
- Do Not Use Union Variants Across Different Lifetimes
- Add Safety Section in Docs for Public Unsafe Functions
- Ensure Consistent Data Layout for Custom Types
- Unsafe Code Authors Must Verify Safety Invariants
- Do Not Expose Raw Pointers in Public APIs
- FFI Best Practices and Patterns
- Safe Abstraction Examples
- Unsafe Rust Checker
- Unsafe Checker - Quick Reference
- Checklist: Before Writing Unsafe Code
- Checklist: Reviewing Unsafe Code
- Common Unsafe Pitfalls and Fixes
- Machine Learning Domain
- Actionbook
- Web Domain
- Ownership: Comparison with Other Languages
- Ownership Best Practices
- Lifetime Patterns
- Common Ownership Errors & Fixes
- Ownership & Lifetimes
- Domain Modeling
- Rust Learner
- Common Rust Anti-Patterns & Mistakes
- Anti-Patterns
- Concurrency: Comparison with Other Languages
- Thread-Based Concurrency Patterns
- Async Patterns in Rust
- Common Concurrency Errors & Fixes
- Concurrency
- FinTech Domain
- Complete Rules Reference
- Rust Coding Guidelines (50 Core Rules)
- Clippy Lint → Rule Mapping
- Rust Dependencies Visualizer
- Type-Driven Design
- Rust Call Graph
- IoT Domain
- Ecosystem Integration
- Workflow Examples
- Negotiation Protocol
- Rust Question Router
- OS-Checker Integration
- Meta-Cognition Parallel Analysis (Experimental)
- Dynamic Skills Manager
- Rust Daily Report
- Embedded Domain
- Rust Symbol Analyzer
- Rust Performance Optimization Guide
- Performance Optimization
- Zero-Cost Abstraction
- Fix Skill Documentation
- Error Handling: Library vs Application
- Error Handling Patterns
- Error Handling
- Thinking in Rust: Mental Models
- Mental Models
- Domain Error Strategy
- Resource Management
- Resource Lifecycle
- Rust Refactor Helper
- Rust Code Navigator