Tags
- emacs 19
- org-mode 4
- camera 1
- Windows 6
- comp arch 1
- 寶寶取名 2
- Field Bus 1
- baby 2
- Deutsch 29
- Français 34
- c prog 1
- lessons 2
- team 2
- MS office 1
- tools 2
- cygwin 2
- etiquette 1
- management 4
- communication 2
- leadership 3
- subversion 1
- uml 1
- plantuml 1
- travel 2
- habit 1
- learning 1
- quality 1
- thinking 1
- health 2
- phubbing 1
- phone 1
- cprog 1
- productivity 3
- art 1
- gift 1
- taboo 1
- industry 24
- culture 1
- English 170
- Linux 2
- python 1
- life 6
- Fraiçais 1
- yearly 1
- School 1
- iOS Swift 1
- Firefox 1
- Tooltip 1
- IIoT 1
- Italiano 1
- clojure 6
- mechanical 1
- poem 1
- development 1
- Docker 1
- Azure 1
- Clojure 4
- DevOps 1
- shadow-cljs 1
- Leiningen 1
- Emacs 1
- Cider 1
- ClojureScript 1
- manjaro 1
- wsl2 1
- movie 2
- Rust 2
- energy 4
- OPC UA 2
- lisp 1
- work 1
- CppCoreGuidelines 278
- OPCUA 2
- IoT 1
- Latin 21
- SOA 1
- cybersecurity 1
- cpp 1
- nostr 4
- programming 7
- SOLID 1
- C++ 1
- blockchain 1
- opcua 2
emacs
- Use org2jekyll to publish my blog
- Background Color of Inline Image for Orgmode in Dark Theme
- Send and Receive outlook email in WSL2 Emacs with mu4e, offlineimap and gnugpg
- s-exp operations in emacs
- 在 Windows WSL2 中安装 Manjaro 通过 XServer 使用 Emacs
- 在 Windows 上用 Emacs+offlineimap+mu4e 查收邮件
- 在 Emacs 中用 mu4e 和 offlineimap 查看 O365 Exchange 邮件
- 设置 Emacs 窗口大小
- Compile Emacs Version 26.1
- How to setup ac-clang-complete-async
- 有道詞典劃詞功能開啓導致 emacs mouse-set-region 按鍵衝突
- elisp function to toggle symbol highlight at the point
- Remove GREP_OPTIONS is deprecated warning
- dired move line wrap up
- Emacs coding system for correctly copy and paste Chinese characters
- How to input special German and French characters in emacs
- Open current working directory in cmd/mintty from emacs
- Windows 下通過 MinGW 編譯安裝 emacs
- export .org to .html file in other folder
org-mode
- Background Color of Inline Image for Orgmode in Dark Theme
- Extend orgmode link type to support new kind of links
- Drawing UML with plantuml
- export .org to .html file in other folder
camera
Windows
- Build clojure with maven on Windows 10
- Windows 深色主题深色标题栏
- Compile Emacs Version 26.1
- Change mouse scroll direction under Windows
- Authentication realm failed during SVN operation in Jenkins
- Window 7 黑屏无法登陆
comp arch
寶寶取名
Field Bus
baby
Deutsch
- 单词本:status quo
- 单词本:pretzel
- 单词本:sauerkraut
- 单词本:rire jaune
- 单词本:der Impfstoff
- 单词本:碳中和
- 单词本:饮用水
- 看新闻学单词:华为起诉美国政府
- 看新聞學外語:艾米·克罗布切
- 单词本:太阳系
- 单词本:猪
- 看新聞學外語:Was du hier als Erstes siehst, ist von deinem Alter abhängig
- 看新闻学语言:China reagiert
- 单词本:代码分支不可至
- 单词本:水果之橙子
- 单词本:水果之香蕉
- 單詞本:德語單詞 benötigen
- 单词本:洪荒之力
- 单词本:德语单词 Putsch
- 单词本:德语单词 auskommen
- 單詞本:德語單詞 aufbauen
- 單詞本:德語單詞 laufen
- 單詞本:德語單詞 prost
- 單詞本:德語單詞 laufen
- 單詞本:德語單詞 die Krise
- 單詞本:德語單詞 verteidigen
- 單詞本:德語單詞 das Fisch
- 單詞本:德語單詞 der Sauerstoff
- 單詞本:德語單詞 Ding
Français
- 单词本:culprit
- 单词本:redingote
- 单词本:flirter
- 单词本:paucity
- 单词本:sal volatile
- 单词本:encore
- 单词本:concur
- 单词本:arbitrage
- 单词本:sabotage
- 单词本:fait accompli
- 单词本:tarnish
- 单词本:de rigueur
- 单词本:en masse
- 单词本:rire jaune
- 单词本:déjà vu
- 单词本:vis a vis
- 单词本:impasse
- 单词本:éclipser
- 单词本:dormant
- 单词本:la cryptomonnaie
- 单词本:Esprit de corps
- 单词本:碳中和
- 单词本:饮用水
- 法语单词:biscuit
- 单词本:法语单词 debut
- 单词本:太阳系
- 单词本:猪
- 看新聞學外語:Trump n'a pas dit «tous les terroristes sont à Paris»
- 单词本:水果之香蕉
- 单词本:洪荒之力
- 單詞本:rire
- 單詞本:法語單詞 cuisine
- 單詞本:法語單詞 fermer
- 單詞本:法語單詞 an 和 année
c prog
lessons
team
MS office
tools
cygwin
etiquette
management
communication
leadership
subversion
uml
plantuml
travel
habit
learning
quality
thinking
health
phubbing
phone
cprog
productivity
art
gift
taboo
industry
- SECS/SEM 半导体行业的工厂通信标准
- PowerizeD 项目
- 动力电池管理系统(BMS)关键技术
- 什么是 SCADA?
- 什么是 RPA?
- 什么是 SOA
- EUROMAP 77:注塑机和 MES 之间的标准通信
- Siemens Xcelerator
- ABB基于5G的工业机器人测试床
- 聊一聊 Matter 协议
- 经典 OPC 与 OPC UA
- OPC UA 的发展历史
- 聊一聊 OPC UA
- Server with variables
- open62541 firststep on windows
- 汽车动力电池的数字孪生架构
- 机械设计基础 - 螺纹连接
- EdgeX 简介
- 談一談 ABB 智能傳感器解決方案
- ABB自動化世界
- 歷屆 ABB 自動化世界
- 从2016汉诺威工业展看工业4.0的发展现状
- ABB PLC 產品學習
- 工業 4.0 的基本概念
culture
English
- 单词本:excruciatingly
- 单词本:grok
- 单词本:ammunition
- 单词本:algorithm
- 单词本:avant-garde
- 单词本:to throw in the towel
- 单词本:be a fly on the wall
- 单词本:have skin in the game
- 单词本:canary in the coal mine
- 单词本:abut
- 单词本:pie in the sky
- 单词本:triumvirate
- 单词本:esoteric
- 单词本:formidable
- 单词本:culprit
- 单词本:de facto
- 单词本:conversant
- 单词本:shepherd
- 单词本:modus operandi
- 单词本:impromptu
- 单词本:plutocracy
- 单词本:oxymoronic
- 单词本:auspicious
- 单词本:redingote
- 单词本:unencumbered
- 单词本:flirter
- 单词本:aspiration
- 单词本:deviate
- 单词本:paucity
- 单词本:furlough
- 单词本:ethereal
- 单词本:endorse
- 单词本:taurus
- 单词本:perpectual
- 单词本:sal volatile
- 单词本:pedal
- 单词本:lunatic
- 单词本:encore
- 单词本:Thereby hangs a tale
- 单词本:concur
- 单词本:anchorite
- 单词本:idiosyncratic
- 单词本:impetus
- 单词本:staycation
- 单词本:status quo
- 单词本:circumcision
- 单词本:circumscribe
- 单词本:inter alia
- 单词本:nepotism
- 单词本:argumentum ad ignorantiam
- 单词本:a priori
- 单词本:ad nauseam
- 单词本:boycott
- 单词本:people person
- 单词本:ostracism
- 单词本:arbitrage
- 单词本:sabotage
- 单词本:anaphora
- 单词本:mercenary
- 单词本:fait accompli
- 单词本:vandalism
- 单词本:expunge
- 单词本:surreptitious
- 单词本:streamline
- 单词本:obsolescence & adolescence
- 单词本:triage
- 单词本:dexterous
- 单词本:serendipity
- 单词本:drive sb. nuts
- 单词本:whatnot
- 单词本:belligerently
- 单词本:hedonism
- 单词本:in situ
- 单词本:primus inter pares
- 单词本:pro forma
- 单词本:soldiering
- 单词本:quid pro quo
- 单词本:ad hominem
- 单词本:carpe diem
- 单词本:repercussion
- 单词本:irate
- 单词本:tarnish
- 单词本:pelikan
- 单词本:circadian
- 单词本:confiscate
- 单词本:obfuscate
- 单词本:en masse
- 单词本:pretzel
- 单词本:top-notch
- 单词本:sauerkraut
- 单词本:harp on
- 单词本:quandary
- 单词本:penchant
- 单词本:rire jaune
- 单词本:juxtapose
- 单词本:déjà vu
- 单词本:oestrus
- 单词本:flounder
- 单词本:ultimatum
- 单词本:to act in concert
- 单词本:paranoid
- 单词本:at risk of default
- 单词本:worth salt
- 直白的英语
- 单词本:gut feeling
- 单词本:先生
- 单词本:aficionado
- 单词本:vis a vis
- 单词本:en passant
- 单词本:Kakorrhaphiophobia
- 单词本:leitmotiv
- 单词本:loaf
- 单词本:impasse
- 单词本:tsunami
- 单词本:dormant
- 单词本:maverick
- 单词本:red tape
- 单词本:Esprit de corps
- 单词本:therblig
- 单词本:碳中和
- 法语单词:biscuit
- 单词本:法语单词 debut
- 单词本:太阳系
- 单词本:猪
- 单词本:母老虎
- 单词本:易怒的木片
- 单词本:无人机
- 单词本:作秀
- 单词本:亡命之徒
- 单词本:前所未有
- 单词本:通用语言
- 单词本:水果之浆果
- 单词本:水果之橙子
- 单词本:水果之香蕉
- 单词本:水果之苹果
- 单词本:蔬菜之菠菜
- 单词本:蔬菜之莴笋
- 单词本:蔬菜之竹笋
- 单词本:蔬菜之黄花菜
- 单词本:蔬菜之芦笋
- 单词本:蔬菜之洋葱
- 单词本:蔬菜之大蒜
- 单词本:蔬菜之韭菜
- 单词本:蔬菜之豆豆
- 单词本:蔬菜之瓜瓜
- 单词本:蔬菜之南瓜
- 单词本:蔬菜之西葫芦
- 单词本:蔬菜之黄瓜
- 单词本:蔬菜之红辣椒
- 单词本:蔬菜之番茄
- 单词本:茄子
- 单词本:蔬菜之芹菜
- 单词本:速度和芹菜无关
- 单词本:蔬菜之花菜
- 单词本:精神焕发
- 单词本:蔬菜之卷心菜
- 单词本:蔬菜
- 单词本:食物
- 单词本:牛的
- 单词本:洪荒之力
- 單詞本:搶座
- 单词本:采石场
- 单词本:撕咬
- 单词本:不许抄袭
- 单词本:英语单词 arbitration
- 单词本:英语单词 versatile
- 单词本:英语单词 provisional(临时的)
- 單詞本:英語單詞 symbiosis
- 單詞本:英語單詞 hermit
- 單詞本:英語單詞 Referendum
Linux
python
life
Fraiçais
yearly
School
iOS Swift
Firefox
Tooltip
IIoT
Italiano
clojure
- s-exp operations in emacs
- Using clj cli on Windows
- Clojure Database Access String
- Load clj libs directly from github
- Build clojure with maven on Windows 10
- Connect to Oracle DB from Clojure
mechanical
poem
development
Docker
Azure
Clojure
- Clojure deps & clj guide
- Handle date time from Excel in clojure
- Clojure/Script Development Setup
- Use Azure DevOps Pipeline to automatically deploy to Azure Web App
DevOps
shadow-cljs
Leiningen
Emacs
Cider
ClojureScript
manjaro
wsl2
movie
Rust
energy
OPC UA
lisp
work
CppCoreGuidelines
- CppCoreGuidelines Per.12 避免重复的别名
- CppCoreGuidelines Per.11 把计算从运行时转移到编译时
- CppCoreGuidelines Per.10 依托于类型系统进行自动优化
- CppCoreGuidelines Per.7 设计之初就要考虑优化
- CppCoreGuidelines Per.6 没有测量不要声明性能
- CppCoreGuidelines Per.5 底层代码不一定比高层代码快
- CppCoreGuidelines Per.4 复杂代码并不一定比简单代码快
- CppCoreGuidelines Per.3 非性能关键之处,无需优化
- CppCoreGuidelines Per.2 不要过早的进行优化
- CppCoreGuidelines Per.1 没有理由不要优化
- CppCoreGuidelines ES.107 不要用无符号类型做下标,使用 gsl::index
- CppCoreGuidelines ES.106 避免赋值负数给无符号类型
- CppCoreGuidelines ES.105 不要除以整数 0
- CppCoreGuidelines ES.104 避免向下溢出
- CppCoreGuidelines ES.103 不要产生溢出
- CppCoreGuidelines ES.102 数值计算用有符号类型
- CppCoreGuidelines ES.101 在进行比特位操作的时候用无符号类型
- CppCoreGuidelines ES.100 有符号、无符号类型不要混合在一起计算
- CppCoreGuidelines ES.87 不要在判断条件中添加多余的 == 或 !=
- CppCoreGuidelines ES.86 不要在 for 循环内修改循环控制变量
- CppCoreGuidelines ES.85 要很容易识别出空语句
- CppCoreGuidelines ES.84 不要声明匿名局部变量
- CppCoreGuidelines ES.79 只用 default 处理共用的逻辑
- CppCoreGuidelines ES.78 不要在 switch 语句中使用默认向下执行机制
- CppCoreGuidelines ES.77 在循环中尽量少用 break 和 continue
- CppCoreGuidelines ES.76 避免 goto
- CppCoreGuidelines ES.75 避免 do 语句
- CppCoreGuidelines ES.74 最好在 for 循环的初始语句中定义循环变量
- CppCoreGuidelines ES.73 如果循环变量不明显,则 while 比 for 更恰当
- CppCoreGuidelines ES.72 如果明显有一个循环变量,for 比 while 语句更好
- CppCoreGuidelines ES.71 首选带范围的 for
- CppCoreGuidelines ES.70 如果有的选,选择 switch 语句,而不要选择 if 语句
- CppCoreGuidelines ES.64 用 T{e} 方式进行构造
- CppCoreGuidelines ES.63 不要进行对象切片
- CppCoreGuidelines ES.62 不要在不同数组间比较指针
- CppCoreGuidelines ES.61 用 delete[] 删除数组,用 delete 删除非数组
- CppCoreGuidelines ES.60 避免在资源管理函数外调用 new 和 delete
- CppCoreGuidelines ES.56 只有需要显式的把对象移动到另一个作用域范围时才用 std::move()
- CppCoreGuidelines ES.55 避免范围检测
- CppCoreGuidelines ES.50 不要强制类型转换掉 const
- CppCoreGuidelines ES.49 如果需要强制类型转换,可以用带名字的转换
- CppCoreGuidelines ES.48 避免类型转换
- CppCoreGuidelines ES.47 用 nullptr,不要用 0 或 NULL
- CppCoreGuidelines ES.46 避免那些导致精度损失的变窄、截断数值类型转换
- CppCoreGuidelines ES.45 避免“魔数”,用符号常量
- CppCoreGuidelines ES.44 代码的正确与否不应该基于函数参数的求值顺序
- CppCoreGuidelines ES.43 避免求值顺序未定义的表达式
- CppCoreGuidelines ES.42 确保指针的使用简单明了
- CppCoreGuidelines ES.41 如果不确定操作符优先级,添加括号
- CppCoreGuidelines ES.40 避免复杂的表达式
- CppCoreGuidelines ES.34 不要定义 C 风格的可变长参数的函数
- CppCoreGuidelines ES.33 如果必须用到宏,请使用独一无二的名字
- CppCoreGuidelines ES.32 宏名字要全部大写字母
- CppCoreGuidelines ES.31 不要用宏定义常量或“函数”
- CppCoreGuidelines ES.30 避免用宏进行程序代码文本操作
- CppCoreGuidelines ES.28 使用 lambda 初始化复杂对象,尤其是常变量
- CppCoreGuidelines ES.27 栈中数组用 std::array 或 stack_array
- CppCoreGuidelines ES.26 不要把变量用于多个目的
- CppCoreGuidelines ES.25 把对象声明为 const 或 constexpr,除非之后要修改
- CppCoreGuidelines ES.24 使用 unique_ptr
管理指针 - CppCoreGuidelines ES.23 首选 {} 花括号初始化语法
- CppCoreGuidelines ES.22 不要在没有能用的初始值之前声明变量
- CppCoreGuidelines ES.21 不要在需要使用之前引入一个变量或常量
- CppCoreGuidelines ES.20 确保对象总是被初始化
- CppCoreGuidelines ES.12 不要在嵌套作用域内重用变量名
- CppCoreGuidelines ES.11 使用 auto 避免重复的类型名
- CppCoreGuidelines ES.10 一个声明语句只声明一个变量
- CppCoreGuidelines ES.9 避免全大写的命名
- CppCoreGuidelines ES.8 避免似是而非的名字
- CppCoreGuidelines ES.7 常见局部变量名尽量短,不常见非局部变量名可稍长
- CppCoreGuidelines ES.6 在 for 语句的初始化和条件判断处声明变量,限制变量范围
- CppCoreGuidelines ES.5 小作用域范围
- CppCoreGuidelines ES.3 不要重复、避免多余
- CppCoreGuidelines ES.2 请使用适当的抽象机制
- CppCoreGuidelines ES.1 相比非标准库和自己编写代码,首选标准库
- CppCoreGuidelines R.37 不要以指针或引用的方式传递智能指针的别名
- CppCoreGuidelines R.36 用 const shared_ptr
& 参数表明函数会保留对象的引用计数 - CppCoreGuidelines R.35 使用 shared_ptr
& 参数表示函数会重座共享指针 - CppCoreGuidelines R.34 用 shared_ptr 参数表示共享所有权
- CppCoreGuidelines R.33 用 unique_ptr
& 参数表示函数会重座该 widget - CppCoreGuidelines R.32 用 unique_ptr 参数标明函数接收指针的所有权
- CppCoreGuidelines R.31 如果要非标准库的智能指针,请遵循标准库的设计模式
- CppCoreGuidelines R.30 只有在需要表达生存周期机制的时候使用智能指针
- CppCoreGuidelines R.24 用 std::weak_ptr 打破 shared_ptr 循环
- CppCoreGuidelines R.23 用 make_unique 创建 unique_ptr
- CppCoreGuidelines R.22 用 make_shared 创建 shared_ptr
- CppCoreGuidelines R.21 最好用 unique_ptr,除非有共享所有权的需要,则用 shared_ptr
- CppCoreGuidelines R.20 用 unique_ptr 或 shared_ptr 表达所有权
- CppCoreGuidelines R.15 重载匹配的分配/释放函数对
- CppCoreGuidelines R.14 用 span 做参数,不要用 []
- CppCoreGuidelines R.13 一个表达式中只显式地分配一个资源
- CppCoreGuidelines R.12 对于直接分配的资源,立即用一个对象管理起来
- CppCoreGuidelines R.11 避免直接调用 new 和 delete
- CppCoreGuidelines R.10 避免使用 malloc() 和 free()
- CppCoreGuidelines R.6 避免使用全局变量
- CppCoreGuidelines R.5 首选带作用域的对象,避免不必要的堆分配
- CppCoreGuidelines R.4 原始引用是无主的
- CppCoreGuidelines R.3 原始指针是无主的
- CppCoreGuidelines R.2 在接口中,只用原始指针表示独立的对象
- CppCoreGuidelines R.1 通过资源句柄和 RAII 自动管理资源
- CppCoreGuidelines Enum.8 需要的时候才指定枚举项的值
- CppCoreGuidelines Enum.7 只有必要的时候才指定枚举项的数据类型
- CppCoreGuidelines Enum.6 不要用没名字的枚举类型
- CppCoreGuidelines Enum.5 不要使用全大写的枚举
- CppCoreGuidelines Enum.4 为了安全且简单的使用,基于枚举值定义操作
- CppCoreGuidelines Enum.3 用 enum class,而不要用普通枚举
- CppCoreGuidelines Enum.2 使用枚举来表示一组相关的常量
- CppCoreGuidelines Enum.1 用枚举不要用宏
- CppCoreGuidelines C.183 不要使用 union 实现类型双关
- CppCoreGuidelines C.182 使用匿名 union 实现带标签的 union
- CppCoreGuidelines C.181 避免裸露的 union
- CppCoreGuidelines C.180 用 union 节省内存
- CppCoreGuidelines C.170 如果你想要重载一个 lambda,请使用泛型 lambda
- CppCoreGuidelines C.168 在操作对象的名字空间中定义重载的操作符
- CppCoreGuidelines C.167 按照约定习俗使用操作符
- CppCoreGuidelines C.166 只有作为智能指针和引用的系统部分的时候重载一元操作符 &
- CppCoreGuidelines C.165 在客制化处使用 using
- CppCoreGuidelines C.164 避免隐式的转换操作
- CppCoreGuidelines C.163 只重载大体相似的操作符
- CppCoreGuidelines C.162 重载大致相似的操作符
- CppCoreGuidelines C.161 对称操作符用非成员函数实现
- CppCoreGuidelines C.160 操作符函数要模仿习惯用法
- CppCoreGuidelines C.153 首选虚函数,而非类型转换
- CppCoreGuidelines C.152 不要把派生类的数组指针赋值给基类指针
- CppCoreGuidelines C.151 用 make_shared() 创建 shared_ptr
- CppCoreGuidelines C.150 使用 make_unique() 构建 unique_ptr
- CppCoreGuidelines C.149 用 new 创建对象的时候,使用 unique_ptr 或 shared_ptr,避免忘记删除对象
- CppCoreGuidelines C.148 使用 dynamic_cast 转换成指针类型的时候,无法找到要转换的类型时,不会抛出异常,可以用来进行进行分支判断
- CppCoreGuidelines C.147 使用 dynamic_cast 转换成引用类型的时候,如果无法转换,就会认为出错了,抛出异常
- CppCoreGuidelines C.146 当在类的继承层级之间切换不可避免的时候,使用 dynamic_cast
- CppCoreGuidelines C.145 通过指针或引用访问多态对象
- CppCoreGuidelines C.140 不要提供给虚函数和重写的函数不同的默认参数
- CppCoreGuidelines C.139 少用 final
- CppCoreGuidelines C.138 通过 using 在派生类重载基类的函数
- CppCoreGuidelines C.137 使用虚的基类,避免过度通用的基类
- CppCoreGuidelines C.136 使用多重继承来表示实现属性的集合
- CppCoreGuidelines C.135 使用多重继承来表达多重不同的接口
- CppCoreGuidelines C.134 确保非const的成员数据有同级别的访问层级
- CppCoreGuidelines C.133 避免使用 protected 数据
- CppCoreGuidelines C.132 不要不明所以的将一个函数设置为虚的
- CppCoreGuidelines C.131 避免使用细枝末节的 getter 和 setter
- CppCoreGuidelines C.130 多态类的深拷贝,建议使用虚clone函数,而不要用公开的拷贝构造赋值函数
- CppCoreGuidelines C.129 设计类层级时,请区分实现继承与接口继承
- CppCoreGuidelines C.128 必须指定虚函数为 virtual, override 或 final
- CppCoreGuidelines C.127 一个有虚函数的类应该也要有一个虚的或保护的析构函数
- CppCoreGuidelines C.126 抽象类一般不需要用户提供一个构造函数
- CppCoreGuidelines C.122 如果接口和实现要彻底分开,请使用抽象类作为接口
- CppCoreGuidelines C.121 如果基类用来表示接口,请将其设为纯抽象类
- CppCoreGuidelines C.120 用类层级表示层级继承结构的概念
- CppCoreGuidelines C.109 如何一个资源句柄有指针的语义,提供 * 和 -> 操作
- CppCoreGuidelines C.104 赋予容器一个默认构造函数构造一个空容器
- CppCoreGuidelines C.103 赋予容器初始化列表构造函数
- CppCoreGuidelines C.102 赋予容器移动操作
- CppCoreGuidelines C.101 赋予容器一种数值语义
- CppCoreGuidelines C.100 参考 STL 实现容器类
- CppCoreGuidelines C.90 用构造函数和赋值函数,不要用 memset 和 memcpy
- CppCoreGuidelines C.89 Hash 函数不可抛出异常
- CppCoreGuidelines C.87 注意基类的 == 操作
- CppCoreGuidelines C.86 == 操作应该是对称的,且 noexcept
- CppCoreGuidelines C.85 swap 函数应是 noexcept 的
- CppCoreGuidelines C.84 swap 函数不可运行失败
- CppCoreGuidelines C.83 对于值类型,考虑提供 noexcept 的 swap 函数
- CppCoreGuidelines C.82 不要在构造/析构函数中调用虚函数
- CppCoreGuidelines C.81 如果不想要默认行为,请添加 =delete
- CppCoreGuidelines C.80 如果要明确使用默认机制,请添加 =default
- CppCoreGuidelines C.67 一个多态类应该隐藏公开的赋值和移动操作
- CppCoreGuidelines C.66 移动操作应是 noexcept
- CppCoreGuidelines C.65 确保可以安全的自己赋值给自己
- CppCoreGuidelines C.64 移动操作应该移动,并确保移动的源数据状态有效
- CppCoreGuidelines C.63 移动赋值操做不能是虚的,接收 && 参数,返回非常量引用&
- CppCoreGuidelines C.62 自拷贝应当安全可行
- CppCoreGuidelines C.61 赋值拷贝操作须拷贝
- CppCoreGuidelines C.60 拷贝赋值/复制赋值函数应为非虚的,并接受 const& 参数,返回非 const& 结果
- CppCoreGuidelines C.52 用继承的构造函数为子类导入构造函数,从而无需重复初始化成员变量
- CppCoreGuidelines C.51 把类里通用的构造部分放到一个共用构造函数里
- CppCoreGuidelines C.50 如果初始化阶段需要一些虚行为,可以用工厂函数
- CppCoreGuidelines C.49 在构造函数中进行初始化操作,不要进行赋值操作
- CppCoreGuidelines C.48 对于初始化为常量的成员,用类内成员初始化方法
- CppCoreGuidelines C.47 按照成员变量的声明顺序进行初始化
- CppCoreGuidelines C.46 默认的,声明单参数构造函数为显式的
- CppCoreGuidelines C.45 如果只是初始化数据成员变量,不需要定义默认构造函数,用类内成员初始式即可
- CppCoreGuidelines C.44 默认构造函数尽量简单且不要抛出异常
- CppCoreGuidelines C.43 确保可复制类有默认构造函数
- CppCoreGuidelines C.42 如果构造函数不能构造一个有效对象,抛出一个例外
- CppCoreGuidelines C.41 构造函数须创建初始化完全的对象
- CppCoreGuidelines C.40 如果类中有固定结构,为其定义一个构造函数
- CppCoreGuidelines C.37 把析构函数标注为 noexcept
- CppCoreGuidelines C.36 析构函数不许执行失败抛出异常
- CppCoreGuidelines C.35 基类的析构函数须为public且virtual,或protected且非virtual
- CppCoreGuidelines C.33 如果类拥有指针成员的所有权,则须定义析构函数
- CppCoreGuidelines C.32 考虑类是否可以拥有其成员原始指针和引用
- CppCoreGuidelines C.31 类获取的资源必须在析构函数中释放
- CppCoreGuidelines C.30 如果某个类需要特定的对象析构,请定义析构函数
- CppCoreGuidelines C.22 保持默认操作一致性
- CppCoreGuidelines C.21 复制、移动和析构函数要同时定义或同时删除
- CppCoreGuidelines C.20 尽量不去修改类的默认操作
- CppCoreGuidelines C.12 类的成员数据不可为 const 或引用
- CppCoreGuidelines C.11 编写常规的具体类型
- CppCoreGuidelines C.10 具体类比层级继承好
- CppCoreGuidelines C.9 最小化数据展露
- CppCoreGuidelines C.8 如果有不公开的成员,请使用 class,不要用 struct
- CppCoreGuidelines C.7 不要定义类和枚举的同时声明变量
- CppCoreGuidelines C.5 类的帮助函数跟类放在相同的名字空间里
- CppCoreGuidelines C.4 成员函数直接访问类的内部数据
- C++ 函数的统一调用格式
- CppCoreGuidelines C.3 用类区别接口与实现
- CppCoreGuidelines C.2 如果数据结构里面有一些不变要素,用 class,如果成员变量可以互相独立修改,用 struct
- CppCoreGuidelines C.1 把相关数据整理到数据结构中(struct/class)
- CppCoreGuidelines F.56 避免不必要的嵌套条件判断
- CppCoreGuidelines F.55 规避 va_arg
- CppCoreGuidelines F.54 如果 lambda 会把 this 也捕获到,那最好写明捕获哪些变量
- CppCoreGuidelines F.53 如果不在局部使用(返回、存在堆中、传入另一个线程),不要从 lambda 返回引用
- CppCoreGuidelines F.60 如果参数可以是空的话, T* 比 T& 更合适
- CppCoreGuidelines F.52 在 lambda 中捕获引用,可局部使用,或传给STL算法
- CppCoreGuidelines F.51 首选默认参数,其次函数重载
- CppCoreGuidelines F.50 当不能用函数实现的时候(使用局部变量,写局部函数),使用 lambda
- CppCoreGuidelines F.48 不要返回 std::move(local)
- CppCoreGuidelines F.47 赋值操作符返回 T&
- CppCoreGuidelines F.46 main() 的返回值类型是 int
- CppCoreGuidelines F.45 不要返回 T&&
- CppCoreGuidelines F.44 在不需要复制且不要返回空对象的时候返回引用 T&
- CppCoreGuidelines F.43 不要(直接或间接)返回指向局部对象的指针或引用
- CppCoreGuidelines F.42 返回 T* 表示一个内存地址
- CppCoreGuidelines F.27 用 shapred_ptr
共享所有权 - CppCoreGuidelines F.26 用 unique_ptr
传递指针所有权 - CppCoreGuidelines F.25 用 zstring 或 not_null
表示 C 风格字符串 - CppCoreGuidelines F.24 用 span
或 span_t 表示半开序列 - CppCoreGuidelines F.23 用 not_null
表示“null”是无效的 - CppCoreGuidelines F.22 用 T* 或 owner
表示单个对象 - CppCoreGuidelines F.21 如果要输出多个值,返回结构体或元组更好
- CppCoreGuidelines F.20 需要输出值的话,返回值比输出参数更好
- CppCoreGuidelines F.19 要“完美转发”参数,通过 TP&& 传递参数,只用 std::forward 转发参数
- CppCoreGuidelines F.18 要移动的参数,通过 X&& 传递,并用 std::move 移动
- CppCoreGuidelines F.17 输入输出参数,通过非 const 引用传递
- CppCoreGuidelines F.16 入参:复制成本低的用值传递;其他用 const 引用
- CppCoreGuidelines F.15 首选简单、常规的方式传递信息
- CppCoreGuidelines F.9 不用给没有用到的参数命名
- CppCoreGuidelines F.8 首选纯函数
- CppCoreGuidelines F.7 一般情况使用 T* 或 T&,不要使用智能指针
- CppCoreGuidelines F.6 如果函数不能抛出异常,声明为 noexcept
- CppCoreGuidelines F.5 把时延敏感的小函数声明为 inline
- CppCoreGuidelines F.4 如果函数可以在编译期计算出结果,可以声明为 constexpr
- CppCoreGuidelines F.3 函数要短小、简洁
- CppCoreGuidelines F.2 一个函数只处理一个逻辑操作
- CppCoreGuidelines F.1 把一组相关的操作封装成仔细命名的函数
- CppCoreGuidelines I.30 把例外的操作封装隔离起来
- CppCoreGuidelines I.27 对于稳定库 ABI,考虑 Pimpl 惯例
- CppCoreGuidelines I.26 如果需要跨编译器的 ABI,使用 C 风格子集
- CppCoreGuidelines I.25 用空抽象类作为类层级的接口
- CppCoreGuidelines I.24 避免相邻参数类型一样的情况下,交换其顺序,意义却不同
- CppCoreGuidelines I.23 函数参数的数量不要太多
- CppCoreGuidelines I.22 避免对全局对象进行复杂的初始化
- CppCoreGuidelines I.13 不要以单独指针传递数组
- CppCoreGuidelines I.12 用 not_null 声明不能为 null 的指针
- CppCoreGuidelines I.11 切不可通过原始指针(T*)或引用(T&)转移所有权
- CppCoreGuidelines I.10 使用异常
- CppCoreGuidelines I.9 如果是模板接口,用 concept 编写参数文档
- CppCoreGuidelines I.8 首选 Ensures() 表达后置条件
- CppCoreGuidelines I.7 声明后置条件
- CppCoreGuidelines I.6 首选 Expects() 表达前置条件
- CppCoreGuidelines I.5 尽量声明输入条件
- CppCoreGuidelines I.4 精确强化接口的类型
- CppCoreGuidelines I.3 避免使用单例模式
- CppCoreGuidelines I.2 避免使用全局变量
- CppCoreGuidelines I.1 接口定义要清晰明确
- CppCoreGuidelines P.13 选用适当的库
- CppCoreGuidelines P.12 选用适当的工具
- CppCoreGuidelines P.11 通过封装整理混乱代码
- CppCoreGuidelines P.9 不要浪费计算时间和计算空间
- CppCoreGuidelines P.10 能用不可变数据就不用可变数据
- CppCoreGuidelines P.8 不要泄漏任何资源
- CppCoreGuidelines P.7 尽早捕获运行时错误
- CppCoreGuidelines P.6 不能在编译时检查的,要能在运行时检查
- CppCoreGuidelines P.5 编译时检查比运行时检查好
- CppCoreGuidelines P.4 理想情况下,程序应该要静态类型安全
- CppCoreGuidelines P.3 明确地表达程序意图
- CppCoreGuidelines P.2 用 ISO C++ 标准写代码
- CppCoreGuidelines P.1 直接地用代码表达编程设计理念
OPCUA
IoT
Latin
- 单词本:excruciatingly
- 单词本:triumvirate
- 单词本:de facto
- 单词本:modus operandi
- 单词本:impromptu
- 单词本:oxymoronic
- 单词本:deviate
- 单词本:taurus
- 单词本:concur
- 单词本:impetus
- 单词本:status quo
- 单词本:circumscribe
- 单词本:inter alia
- 单词本:argumentum ad ignorantiam
- 单词本:a priori
- 单词本:surreptitious
- 单词本:in situ
- 单词本:primus inter pares
- 单词本:pro forma
- 单词本:quid pro quo
- 单词本:ad hominem
SOA
cybersecurity
cpp
nostr
programming
- 依赖倒置原则,Dependence Inversion Principle,DIP
- 接口隔离原则,Interface Segregation Principle,ISP
- 利斯科夫替代原则,Liskov substitution principle,LSP
- 开放封闭原则,Open–closed principle,OCP
- C++17 string_view
- 单一责任原则,Single-responsibility principle,SRP
- SOLID 原则