树莓派wifi配置

wpa_supplicant.conf ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=CN network={ ssid=“cxy” psk=“cxy12345@2” key_mgmt=WPA-PSK }

2025年7月23日 · 1 分钟 · 10 字

特性和反射

以下是一个示例,展示了如何定义和使用特性,并使用反射来获取特性信息: using System; using System.Reflection; // 自定义特性类 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)] class MyCustomAttribute : Attribute { public string Description { get; } public MyCustomAttribute(string description) { Description = description; } } // 带有特性的类 [MyCustom("This is a class attribute")] class MyClass { [MyCustom("This is a method attribute")] public void MyMethod() { Console.WriteLine("Hello from MyMethod"); } } class Program { static void Main() { // 使用反射获取类的特性 Type classType = typeof(MyClass); MyCustomAttribute[] classAttributes = (MyCustomAttribute[])classType.GetCustomAttributes(typeof(MyCustomAttribute), true); foreach (MyCustomAttribute attribute in classAttributes) { Console.WriteLine("Class Attribute: " + attribute.Description); } // 使用反射获取方法的特性 MethodInfo methodInfo = classType.GetMethod("MyMethod"); MyCustomAttribute[] methodAttributes = (MyCustomAttribute[])methodInfo.GetCustomAttributes(typeof(MyCustomAttribute), true); foreach (MyCustomAttribute attribute in methodAttributes) { Console.WriteLine("Method Attribute: " + attribute.Description); } // 等待用户输入,防止控制台窗口关闭 Console.ReadLine(); } } 在这个示例中,我们首先定义了一个自定义特性类 MyCustomAttribute,它继承自 Attribute。然后,我们在 MyClass 类和 MyMethod 方法上应用了 MyCustomAttribute 特性,并传入了相应的描述信息。 ...

2025年7月23日 · 1 分钟 · 449 字

Fetch、Ajax和Axios

Fetch、Ajax和Axios都是用于进行客户端和服务器之间的数据通信的工具,它们有一些区别: 语法和用法:Fetch是浏览器原生提供的API,使用起来相对较为简洁,基于Promise。它使用fetch()函数发送请求,并通过.then()方法处理响应。Ajax是一种基于XMLHttpRequest对象的技术,需要手动编写XHR对象的代码,并处理回调函数。而Axios是一个独立的第三方库,提供了更简洁的API,使用起来更加直观和方便。 跨域请求:Fetch在进行跨域请求时需要设置特定的HTTP头部信息,如Access-Control-Allow-Origin。Ajax在跨域请求时也需要设置相应的HTTP头部信息。Axios在默认情况下支持跨域请求,并且提供了更简单的配置选项来处理跨域请求。 功能和扩展性:Fetch提供了基本的请求和响应功能,但在处理复杂的请求和响应方面相对较为简单。Ajax相对于Fetch来说功能更为丰富,可以更灵活地处理请求和响应,还可以通过设置XHR对象的属性来实现更高级的功能。Axios提供了更丰富的功能,如拦截请求和响应、请求和响应的转换、取消请求等,并且支持Promise API,可以更好地处理异步操作。 浏览器兼容性:Fetch是浏览器原生提供的API,但在一些旧版本的浏览器中可能不支持。Ajax是一个较为传统的技术,几乎所有的浏览器都支持。Axios是一个独立的第三方库,可以在大多数现代浏览器中使用,但需要引入相应的库文件。 综上所述,Fetch是浏览器原生提供的API,语法简洁但功能相对较为基础;Ajax是一种传统的技术,功能丰富但使用稍显复杂;Axios是一个独立的第三方库,提供了简洁的API和丰富的功能,推荐在现代化的前端开发中使用。选择使用哪种工具取决于你的需求和项目的特定情况。

2025年7月23日 · 2 分钟 · 767 字

钩子在Win7下无效

最近工作需要,用到了鼠标钩子,并且还是全局鼠标钩子,也就是说,这个钩子监视系统所有消息,因此启动这个功能后,发现程序性能有点受影响,这也是正常的。 但是,原本在xp上运行好好的,放到win7上进行测试,发现过段时间,钩子会自动无效掉,这个时候去人工卸载钩子会弹出无效句柄错误消息(Error Code: 1404)。 ...

2025年7月23日 · 2 分钟 · 743 字

什么是IntPtr

IntPtr是一种特殊的数据类型,它通常用于在编程语言中表示指针或句柄的整数值。“IntPtr"是"Integer Pointer"的缩写。 在许多编程语言中,指针是一种变量,它存储了内存地址的值,可以用来访问内存中的数据。然而,某些编程语言不直接支持指针,或者在特定的上下文中需要使用整数值来表示指针。这时,可以使用IntPtr类型来存储指针或句柄的整数值。 ...

2025年7月23日 · 2 分钟 · 723 字

什么是S.O.L.I.D

S.O.L.I.D 是一個面向對象設計(Object-Oriented Design)的原則集合,它由五個原則組成,每個原則都代表著一個特定的設計原則,旨在幫助開發人員設計出易於擴展、可維護和可重用的軟件。 這些原則是: 單一職責原則(Single Responsibility Principle,SRP):一個類別應該只有一個職責,即只有一個引起它變化的原因。這樣可以使類別更加聚焦,易於理解、擴展和維護。 開放封閉原則(Open-Closed Principle,OCP):軟件實體(類別、模塊、函數等)應該對擴展是開放的,對修改是封閉的。這意味著當需求變化時,應該通過擴展現有代碼來實現變化,而不是修改現有代碼。 里氏替換原則(Liskov Substitution Principle,LSP):子類別應該能夠替換父類別,而不會影響程序的正確性。這意味著在使用繼承時,子類別應該遵守父類別的契約(即父類別定義的行為和屬性),並且不應該改變父類別的行為。 接口隔離原則(Interface Segregation Principle,ISP):用戶不應該強迫依賴它們不需要使用的接口。這意味著應該根據客戶端的需要,將大的接口拆分為更小的、特定的接口,從而避免不必要的依賴。 依賴反轉原則(Dependency Inversion Principle,DIP):高層模塊不應該依賴於低層模塊,它們都應該依賴於抽象。這意味著應該通過定義抽象接口或基類,讓高層模塊和低層模塊都依賴於這些抽象,從而實現模塊之間的解耦和可替換性。 遵循 S.O.L.I.D 原則可以幫助開發人員設計出高質量、可擴展和易於維護的軟件。

2025年7月23日 · 2 分钟 · 629 字

id还是code

背景 在系统设计时,经常会出现id,code的属性。这个标准是什么,如何使用,有规律吗? 譬如 下面举个例子仓库,有三个字段,用JSON表达如下 { id:5 code:"SH01" name:"上海昆山仓库" } 现在要建一个库存表,这时库存表里应该设计为增加仓库ID,还是仓库code? 本文结合自己的一些经验,归纳终结一下啊。有不同意见的,欢迎讨论。 ...

2025年7月23日 · 4 分钟 · 1512 字

关于MQTT

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。 ...

2025年7月23日 · 2 分钟 · 582 字

erp中三大订单CO、PO、MO各是代表什么

ERP即 企业资源计划 (Enterprise Resource Planning),由美国 Gartner Group 公司于1990年提出。 ERP系统是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。 ERP中三大订单CO、PO、MO的意思分别如下: CO:客户订单,或销售订单 PO:采购订单 MO:生产订单 ...

2025年7月23日 · 19 分钟 · 9315 字

使现有的VSCode成为便携版

Visual Studio代码支持可移植模式.此模式使VS Code创建和维护的所有数据都可以在其附近存储,因此可以在不同环境中移动。 此模式还提供了一种设置VS Code扩展的安装文件夹位置的方法,对于阻止在Windows AppData文件夹中安装扩展的公司环境非常有用。 Windows的ZIP下载和TAR支持便携模式。适用于Linux的GZ下载,以及适用于macOS的常规应用程序下载。请参阅[下载页面](/Download),找到适合您平台的正确的.zip/.tar.gz文件。 ...

2025年7月22日 · 3 分钟 · 1320 字