软件编程开发技术
编程导航
程序员重要能力 技术架构(DDD\DCI\MVC等) 编程用项目模板 代码片段(自用) 编程用资源地址 Web+HTML C# Java Android Godot游戏开发
Java C#.NET Android Go Swift Node.js
数据交换
面向对象编程 - OOP
概念: C语言结构体成员不支持函数,且属于值传递,虽然可以用指针模拟,但内存分配比较繁琐,故C++和Java则专门增加了引用类型的Class和Object。
规范标准
语义化版本 - 采用3段式版本格式,v1.0.0起GA,纯数字对应为001 000 000
软件著作权、版权
软著只做形式审查,后登记权利无效,且在登记部门内不能重名,诉讼中只作为初步证明,若不被认可还需提交原件;鉴别材料包括程序和文档,两者均提交其前、后各连续30页(每页50行起/美国则为25页) - 中美计算机软件著作权登记差异与比较
技术方案
IM聊天: 消息DTO结构 - 纯文本、HTML代码(标签白名单)、纯文本混合自定义标记、文本和图片等解析为多个块状标记
编程语法
模块、类、实例化: Java 模块化 module-info.java 类 - class C { void m(){ } } // 实例化:new C(); for/foreach for(var element:arr) { System.out.println(element); } JavsScript 模块化 export const name = "square"; export function f() { } export class c { } ES6 Class类 对象__proto__.constructor属性返回对创建此对象的函数的引用。 class C1 { a = null; // 可选? constructor(name) { this.name = name; } show() { console.log("x"); } // 注意 - 方法名前不能写function关键词 static sum(a, b) { console.log(a+b); } // 静态调用 C1.sum(1, 2); }; new C1("构造函数").show(); 上方class语法糖构造器等同function自动生成的__proto__.constructor: function C1(name) { this.name = name; } C1.prototype.show = function () { console.log("xx"); }; let c1 = new C1("构造函数"); for/foreach forEach((element) => { /* … */ }) forEach((element, index) => { /* … */ }) for (x in person) { console.log(person[x]); }
其他
- docker比podman多一个开机重启参数“--restart=always”,后者需要systemd额外处理。
- [首选]docker.io是Debian以apt的方式管理依赖;docker-ce则是docker官方用go。