查域名优化方案2022

news/2025/9/29 19:06:16/文章来源:
查域名,优化方案2022,wordpress地址表单,上海建设工程招标网简介 上篇文章已经介绍了数据类型#xff0c;如INTERGER TYPE、BITMASK TYPE、STRING TYPE、LINK LAYER ADDRESS TYPE、 IPV4 ADDRESS TYPE、 IPV6 ADDRESS TYPE、BOOLEAN TYPE、ICMP TYPE、CONNTRACK TYPES等。那么本篇文章主要介绍PRIMARY表达式的相关内容。 PRIMARY EXPR…简介 上篇文章已经介绍了数据类型如INTERGER TYPE、BITMASK TYPE、STRING TYPE、LINK LAYER ADDRESS TYPE、 IPV4 ADDRESS TYPE、 IPV6 ADDRESS TYPE、BOOLEAN TYPE、ICMP TYPE、CONNTRACK TYPES等。那么本篇文章主要介绍PRIMARY表达式的相关内容。 PRIMARY EXPRESSIONS 在防火墙规则配置中主要表达式Primary Expressions是最低阶的表达式它们代表数据包负载中的常量或单个数据项、元数据或者来自有状态模块的数据。这些表达式是构建更复杂表达式的基础用于在防火墙规则、路由决策或数据包处理逻辑中指定具体的条件或值。 META EXPRESSIONS 元数据表达式Meta Expressions指的是与数据包相关联的元数据信息。这些元数据包括数据包的来源、目标、接口信息、时间戳、优先级等对于制定复杂的过滤和路由规则非常有用。元表达式允许防火墙规则基于数据包的元数据来匹配和处理数据包而不是仅仅基于数据包的内容。 主要表达式和元数据表达式在网络规则制定中具有互补的作用前者通常用于处理数据包的内容或单个数据而后者用于描述数据包的元数据信息帮助用户更准确地定义和处理数据包的行为。 meta {length | nfproto | l4proto | protocol | priority} [meta] {mark | iif | iifname | iiftype | oif | oifname | oiftype | skuid | skgid | nftrace | rtclassid | ibrname | obrname | pkttype | cpu | iifgroup | oifgroup | cgroup | random | ipsec | iifkind | oifkind | time | hour | day } 类型 未限定元数据表达式Unqualified Meta Expressions这些表达式直接使用元数据关键字如mark, iif等而不需要前缀meta。然而在某些上下文中为了清晰或遵循特定的语法规则它们也可以被写作限定的形式。 限定的元数据表达Qualified Meta Expressions这些表达式在元数据关键字前加上meta前缀以明确指定它们是对元数据的引用。虽然大多数元数据项可以直接使用但使用meta前缀可以提高代码的可读性和一致性。 常见的元数据项 l4proto用于匹配数据包中的特定传输层协议如TCP、UDP等。对于IPv6数据包它会跳过任何扩展头。 iif/oif 与 iifname/oifname这些用于匹配数据包进入或离开的网络接口。iif和oif基于接口索引进行匹配而iifname和oifname则基于接口名称进行匹配。接口索引在接口被重命名时不会改变但接口名称可能会改变。因此在接口名称可能发生变化的情况下如动态创建的接口使用接口名称进行匹配可能更为灵活。 mark, nftrace, rtclassid 等这些元数据项用于高级的网络处理任务如数据包标记、跟踪和路由类设置。 动态接口和通配符匹配 对于动态创建的接口如tun/tap接口或拨号接口ppp使用iifname或oifname进行匹配可能更为合适因为它们不依赖于接口在系统启动时的存在。在iifname和oifname中可以使用通配符如星号*来匹配接口名称的前缀。但是请注意与iptables不同nftables不接受仅由通配符字符组成的接口名称。如果确实需要匹配字面量的星号字符可以使用反斜杠\进行转义。 元数据表达式类型 关键字描述类型length数据包的长度以字节为单位integer (32-bit)nfproto真实的钩子协议族仅在inet表中有效integer (32-bit)l4proto第四层协议跳过IPv6扩展头部integer (8-bit)protocolEtherType协议值ether_typepriorityTC数据包优先级tc_handlemark数据包标记markiif输入接口索引iface_indexiifname输入接口名称ifnameiiftype输入接口类型iface_typeoif输出接口索引iface_indexoifname输出接口名称ifnameoiftype输出接口硬件类型iface_typesdif从属设备输入接口索引iface_indexsdifname从属设备接口名称ifnameskuid与原始套接字关联的UIDuidskgid与原始套接字关联的GIDgidrtclassid路由领域realmibrname输入桥接接口名称ifnameobrname输出桥接接口名称ifnamepkttype数据包类型pkt_typecpu处理数据包的CPU编号integer (32-bit)iifgroup输入设备组devgroupoifgroup输出设备组devgroupcgroup控制组IDinteger (32-bit)random伪随机数integer (32-bit)ipsec数据包是否经过IPsec加密boolean (1-bit)iifkind输入接口类型更详细字符串/其他oifkind输出接口类型更详细字符串/其他time数据包接收的绝对时间Integer (32-bit) 或 字符串day一周中的哪一天Integer (8-bit) 或 字符串hour一天中的哪个小时字符串 元表达式特定类型 类型        描述iface_index接口索引32位数字。可以以数字形式指定也可以作为现有接口的名称指定。ifname接口名称16字节字符串。不需要实际存在。iface_type接口类型16位数字。uid用户ID32位数字。可以以数字形式指定也可以作为用户名指定。gid组ID32位数字。可以以数字形式指定也可以作为组名指定。realm路由领域32位数字。可以以数字形式指定也可以作为/etc/iproute2/rt_realms中定义的符号名称指定。devgroup_type设备组32位数字。可以以数字形式指定也可以作为/etc/iproute2/group中定义的符号名称指定。pkt_type数据包类型host发送给本地主机、broadcast发送给所有、multicast发送给组、other发送给另一台主机。ifkind接口类型16字节字符串。参见ip-link(8)手册页中的TYPES列表。time可以是整数或ISO格式的日期。例如2019-06-06 17:00。小时和秒是可选的如果省略则默认为午夜。以下三个是等价的2019-06-06、2019-06-06 00:00和2019-06-06 00:00:00。当给定整数时假定为UNIX时间戳。day可以是星期几的名称Monday、Tuesday等或者是0到6之间的整数。字符串匹配不区分大小写并且不需要完全匹配例如Mon可以匹配Monday。当给定整数时0代表星期日6代表星期六。hour表示24小时制中的小时的字符串。秒是可选的。例如17:00和17:00:00是等价的。 使用举例 # 限定元表达式 filter output meta oif eth0 # 此规则指定输出接口为 eth0 的数据包 filter forward meta iifkind { tun, veth } # 此规则表示转发数据包中输入接口种类为 tun 或 veth 的数据包将被匹配# 不限定元表达式 filter output oif eth0 #直接使用了 meta 键指定输出接口为 eth0 的数据包raw prerouting meta ipsec exists accept #这条规则是在原始表raw table的 prerouting 链中 检查数据包是否经过了 IPsec 处理。如果数据包已经经过了 IPsec 加密处理存在相应的元数据信息则执 行 accept 操作即允许数据包继续处理。 Socket expression  Socket expression 是一种在网络过滤或监控系统中使用的表达式它允许你根据特定的条件来搜索或匹配已经打开的 TCP/UDP 套接字socket及其相关属性。这些属性可能与经过网络接口的数据包相关联。Socket expression 提供了强大的灵活性用于在网络数据包处理流程中实施复杂的规则或策略。 搜索已打开的套接字 Socket expression 允许你查找已建立established或已绑定bound但不一定处于监听状态的套接字。这些套接字可能绑定到特定的 IP 地址和端口上也可能绑定到非本地即非 127.0.0.1 或 ::1地址上。这种能力对于监控特定应用程序的网络活动或实施基于套接字的网络策略非常有用。 匹配套接字属性 除了简单地查找套接字外Socket expression 还可以用来匹配套接字的特定属性。这些属性可能包括套接字的类型TCP 或 UDP、状态如已建立、监听等、绑定的 IP 地址和端口等。通过匹配这些属性你可以更精确地控制哪些数据包应该被允许或拒绝。 cgroupv2 套接字匹配 另一个高级功能是匹配套接字所属的 cgroupv2 层级。cgroupv2Control Groups version 2是 Linux 内核中的一种功能用于限制、记录和隔离进程组所使用的物理资源如 CPU、内存、网络带宽等。通过 Socket expression你可以根据套接字所属的 cgroupv2 层级来匹配数据包。这对于实施基于进程组或容器的网络策略特别有用。 socket {transparent | mark | wildcard} socket cgroupv2 level NUM 名称描述类型transparent在找到的套接字中IP_TRANSPARENT套接字选项的值。它可以是0或1。booleanmark套接字的标记值SOL_SOCKET, SO_MARK。markwildcard表示套接字是否绑定了通配符地址例如0.0.0.0或::0。booleancgroupv2此套接字所属的cgroup v2的层次结构或标识符。cgroupv2 使用举例 # 标记与透明套接字相对应的数据包。socket wildcard 0意味着不匹配绑定到通配符地址的监听套接字这通常是您想要的。 table inet x { chain y { type filter hook prerouting priority mangle; policy accept; # 如果数据包对应于一个启用了IP_TRANSPARENT选项的套接字并且该套接字不是绑定到通配符地址的 # 则将该数据包的标记设置为0x00000001并接受该数据包。 socket transparent 1 socket wildcard 0 mark set 0x00000001 accept } } # 追踪标记值为15的套接字对应的数据包。 table inet x { chain y { type filter hook prerouting priority mangle; policy accept; # 如果数据包的标记值等于0x0000000f则设置nftrace标志以进行追踪这通常需要额外的内核配置或工具来实际捕获追踪信息。 socket mark 0x0000000f nftrace set 1 } } # 将数据包的标记设置为套接字的标记。 table inet x { chain y { type filter hook prerouting priority mangle; policy accept; # 如果数据包的目标端口是8080TCP则将数据包的标记设置为与该数据包相关联的套接字的标记。 tcp dport 8080 mark set socket mark } } # 对cgroupv2 user.slice在层级1上的数据包进行计数。 table inet x { chain y { type filter hook input priority filter; policy accept; # 对于输入方向的数据包如果该数据包对应的套接字属于cgroupv2层级1下的user.slice # 则对该数据包进行计数这通常用于监控和统计特定cgroup的网络活动。 socket cgroupv2 level 1 user.slice counter } } osf expression 操作系统指纹Operating System Fingerprinting用于识别和确定目标系统的操作系统类型及其版本。这种技术通过分析从目标系统发出的网络数据包中的特定信息来实现。这种技术涉及分析具有 SYN 位设置的数据包中的某些特征以推断远程主机上运行的操作系统详情。比较通常关注的数据包属性包括窗口大小、最大段大小MSS、选项及其顺序、不分片DF标志以及其他 TCP/IP 数据包属性。通过检查这些数据包属性并将它们与已知与各种操作系统相关的模式进行比较可以了解特定设备上可能运行的操作系统类型而无需主动从事任何侵入式的扫描或探测活动。 osf [ttl {loose | skip}] {name | version} osf属性 名称描述类型ttl对数据包的生存时间TTL进行检查以确定操作系统类型。TTLTime-To-Live是数据包在网络中可以经过的路由器数量的最大值。stringversion对数据包进行操作系统版本的检查。这通常涉及对数据包中特定字段的详细分析以推断操作系统的具体版本。name要匹配的操作系统签名的名称。这些签名通常基于操作系统在网络通信中特有的行为或数据包特征。所有签名都可以在pf.os文件或类似文件取决于使用的工具或系统中找到。如果表达式无法检测到匹配的操作系统签名则可以使用unknown来表示未知或无法识别的操作系统。string 可用的TTL值检查选项 如果没有传递TTL属性则会创建一个真实的IP头部并直接进行TTL值的指纹比对。这种方法通常适用于局域网LANs。 loose宽松检查IP头部的TTL值是否小于指纹中的TTL值。这种方法适用于全局可路由的地址因为它允许一定的TTL值差异可能是由于数据包在到达目标之前经过了不同数量的路由器。skip跳过完全不进行TTL值的比较。这意味着在操作系统指纹识别过程中TTL值将不会被用作判断依据。 使用举例 # 在不比较 TTL 的情况下接受与 Linux 操作系统类型签名匹配的数据包。 # 如果数据包的操作系统指纹与 Linux 匹配那么这个规则允许通过并执行默认策略accept table inet x {chain y {type filter hook input priority filter; policy accept;osf ttl skip name Linux} }fib expression FIBForwarding Information Base转发信息库是路由器用来决定如何转发数据包到目的地的核心数据库。它包含了关于如何基于数据包的目的地地址将其路由到正确的下一跳地址或输出接口的详细信息。 fib {saddr | daddr | mark | iif | oif} [. ...] {oif | oifname | type} 关键字描述类型oif输出接口索引integer (32 bit)oifname输出接口名称stringtype地址类型fib_addrtype* 使用举例 # 检查数据包是否有反向路径。它基于源地址和输入接口查找路由信息。如果找不到匹配的路由输出接口索引将为零然后将对应的数据包丢弃。 filter prerouting fib saddr . iif oif missing drop # 在这个示例中saddr . iif 根据源地址和输入接口查找路由信息。 # oif 从路由信息中选择输出接口索引。 # 如果未找到源地址/输入接口组合的路由则输出接口索引为零。 # 如果将输入接口作为输入键的一部分指定则输出接口索引始终与输入接口索引相同或为零。 # 如果仅给出 saddr oif那么 oif 可以是任何接口索引或零。# 对于目的地址不在传入接口上配置的数据包进行处理。如果目的地址不是本地、广播或多播类型则将这些数据包丢弃。 filter prerouting fib daddr . iif type ! { local, broadcast, multicast } drop#在特定的 blackhole 表0xdead中执行查找操作根据目的地址的标记类型来进行不同的操作blackhole 表示丢弃数据包prohibit 表示跳转到受限制操作unreachable 表示丢弃数据包。 filter prerouting meta mark set 0xdead fib daddr . mark type vmap { blackhole : drop, prohibit : jump prohibited, unreachable : drop } routing expression 路由表达式是指与数据包相关联的路由数据。 rt [ip | ip6] {classid | nexthop | mtu | ipsec} 路由表达式类型 关键字描述类型classid路由领域Routing realm用于分类或标识路由的特定组或区域。realm 路由领域Routing Realm32位数字。可以指定为数字或者在/etc/iproute2/rt_realms文件中定义的符号名称。通过为路由分配不同的领域值可以更容易地管理和控制数据包的路由选择。这些领域值可以是任意32位数字但为了便于理解和记忆可以在/etc/iproute2/rt_realms文件中为这些数字定义符号名称。这样在配置路由时就可以使用这些符号名称来代替数字从而使配置更加清晰和易于维护。realmnexthop路由的下一跳地址可以是IPv4或IPv6地址ipv4_addr/ipv6_addrmtu路由的TCP最大报文段大小TCP Maximum Segment Size用于TCP连接的MTU发现integer (16 bit)ipsec指示路由是否通过IPsec隧道或传输模式进行boolean真/假 ipsec expression ipsec表达式是指与报文相关联的ipsec数据。 需要使用in或out关键字来指定表达式是应该检查入站策略还是出站策略。in关键字可用于预路由、输入和转发钩子。out关键字适用于转发、输出和发送后钩子。可选关键字spnum可用于匹配链中的特定状态默认值为0。 ipsec {in | out} [ spnum NUM ] {reqid | spi} ipsec {in | out} [ spnum NUM ] {ip | ip6} {saddr | daddr} Ipsec expression types KeywordDescriptionTypereqidRequest IDinteger (32 bit)spiSecurity Parameter Indexinteger (32 bit)saddrSource address of the tunnelipv4_addr/ipv6_addrdaddrDestination address of the tunnelipv4_addr/ipv6_addr numgen expression  numgen 表达式用于创建一个数字生成器其操作模式由 inc递增或 random随机关键字控制。这个表达式在需要动态生成一系列数字时非常有用特别是在编程、脚本编写、或任何需要自动化数值处理的场景中。 numgen {inc | random} mod NUM [ offset NUM ]numgen这是启动数字生成器的关键字。 {inc | random}这指定了生成器的操作模式。inc 表示递增模式其中生成的每个数字都是前一个数字的递增值random 表示随机模式其中每次生成的数字都是随机的。 mod NUM这指定了一个上限模数生成的数字不会超过这个值。模数NUM用于确保生成的数字在一个指定的范围内。 [offset NUM]这是一个可选参数允许你为生成的数字添加一个固定的偏移量。这意味着每个生成的数字都会先按照 inc 或 random 模式计算然后再加上这个偏移量。 使用举例 add rule nat prerouting dnat to numgen inc mod 2 map \{ 0 : 192.168.10.100, 1 : 192.168.20.200 } 目的这个规则的目的是在192.168.10.100和192.168.20.200这两个IP地址之间实现轮询Round-Robin负载均衡。 机制通过numgen inc mod 2每次请求都会生成一个递增的数字从0开始然后这个数字对2取模结果只能是0或1。根据这个结果请求会被重定向到map中指定的IP地址。 映射如果生成的数字是0则请求被重定向到192.168.10.100如果是1则重定向到192.168.20.200。由于数字是递增的并且每次都对2取模因此这实现了在两个IP地址之间的交替选择即轮询。add rule nat prerouting dnat to numgen random mod 10 map \{ 0-2 : 192.168.10.100, 3-9 : 192.168.20.200 } 目的这个规则的目的是根据概率将请求分配到两个IP地址但带有一定的偏置使得192.168.20.200接收的请求更多。 机制通过numgen random mod 10每次请求都会生成一个0到9之间的随机数字。然后这个数字被用来在map中查找对应的IP地址。 映射如果生成的数字在0到2之间包含0和2则请求被重定向到192.168.10.100如果数字在3到9之间包含3和9则请求被重定向到192.168.20.200。由于3到9的范围比0到2的范围大因此192.168.20.200接收的请求数量大约是192.168.10.100的三倍8/3 ≈ 2.67但实际上由于随机性比例可能略有不同。 hash expressions jhash通常称为Jenkins Hash和symhash对称哈希是两种常用的哈希函数用于生成一个数字该数字可以作为决策的依据比如决定将数据包发送到哪个服务器。这些哈希函数通过特定的算法处理输入数据如数据包头部信息并输出一个固定范围的数值。 Jenkins Hashjhash 特点 灵活性jhash允许你通过表达式指定数据包头部中哪些参数用于哈希计算甚至可以进行拼接concatenation来创建更复杂的输入。参数 输入数据这是你想要哈希的数据可能是数据包头部的字段拼接而成的字符串。模数modulus通过mod关键字指定的一个上限值确保哈希函数返回的数字不会超过这个值。这对于确保负载均衡的均匀分布非常关键。种子seed可选一个初始值用于哈希函数的计算中。不同的种子值会导致相同的输入数据产生不同的哈希值这有助于在分布式系统中避免哈希碰撞。偏移量offset可选允许你将返回的哈希值增加一个固定的偏移量这在某些特定场景下可能有用。 应用场景 在负载均衡器中jhash可以用来根据数据包的某些特征如源IP、目的IP、端口号等计算出一个哈希值然后根据这个哈希值决定将数据包转发到哪个后端服务器。 对称哈希symhash 特点 对称性尽管symhash的确切特性可能因实现而异但“对称”一词通常意味着该哈希函数在某些方面是对称的比如输入数据的微小变化可能导致哈希值在数值空间中的相对位置发生对称变化。然而这只是一个概念性的解释具体实现可能有所不同。参数与jhash类似symhash也可能需要输入数据、模数、种子和偏移量等参数。 应用场景 与jhash相似symhash也可以用于负载均衡中通过哈希数据包的特征来决定其路由。不过由于symhash的具体实现和特性可能因环境而异因此其在实际应用中的表现也可能有所不同。 举例使用 #对于所有进入网络的数据包系统会根据数据包的源IP地址ip saddr使用jhash来计算一个哈希值。然后这个哈希值会被mod 2操作结果是0或1。根据这个结果数据包的目的地址DNAT会被重定向到两个IP地址之一 如果哈希值mod 2的结果是0数据包的目的地址将被更改为192.168.10.100。 如果哈希值mod 2的结果是1数据包的目的地址将被更改为192.168.20.200。 add rule nat prerouting dnat to jhash ip saddr mod 2 map \{ 0 : 192.168.10.100, 1 : 192.168.20.200 }# 使用 symhash 函数根据对称性哈希算法在两个指定的 IP 地址192.168.10.100 和 192.168.20.200之间进行负载均衡。 对称哈希函数考虑更多的对称性和平衡性以确保流量被均匀地分配到这两个 IP 地址上从而实现对称性负载均衡。 add rule nat prerouting dnat to symhash mod 2 map \{ 0 : 192.168.10.100, 1 : 192.168.20.200 }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922147.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tldr的安装与利用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站内容授权书下列关于网站开发中网友上传

基于matlab的结构有限元分析。包括基于4节点四面体单元的空间块体分析、基于4节点四边形单元的矩形薄板分析、基于3节点三角形单元的矩形薄板分析、三梁平面框架结构的有限元分析、四杆桁架结构的有限元分析、基于8节点六面体单元的空间块体分析。每个程序都要相应的文档说明。…

DataGridView表格控件使用说明

可以添加和编辑列设置头部设置列的样子:设置高度 ,需要多个属性配合使用完全居中 ,每个列都需要进行设置效果展示:数据绑定 先设置属性public class SysAlarm{public string AlarmTime { get; set; }public string…

题解:P7126 [Ynoi2008] rdCcot

题意:很简单了,不再赘述。 做法: 考虑怎么数连通块,钦定一个代表元,因为这个东西是 \(C\) 邻域状物,跟深度有关,我们可以考虑一下 bfs 序,那么我们就以 bfs 序最小的元素为代表元。 然后我们就要考虑一个元素什…

阿里云网站 模板建设装修公司报价如何计算

查看源码发现 PHP非法参数名传参问题,详细请参考我的这篇文章:谈一谈PHP中关于非法参数名传参问题 正则这里绕过使用%0a换行符绕过,payload: /?b.u.p.t23333%0a 得到下一步信息:secrettw.php 注释中的是JsFuck,用这…

网站开发项目拖延周期免费建设视频网站

作者 | 徐运元,杭州谐云科技合伙人及资深架构师,云计算行业和 Kubernetes 生态资深从业者 导读:什么是 OAM?2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(花名:小…

毕业答辩为什么做网站网站建设云技术公司推荐

1.PC按键控制 移动摄像头:WSADQE、鼠标右键 模拟双手:左手(左Shift)、右手(右Shift) 将模拟的双手保持在视野中:T或Y 旋转模拟手部:按住Ctrl并移动鼠标 捏合手势:左Shift/空格 + 鼠标左键 2.常用脚本 (1)HandInteractionTouch(需搭配NearInteractionTouchableVolum…

专业的网站开发团队xampp php网站模板

相关免费学习推荐:python视频教程原理十进制转n进制都可以使用倒除法:对十进制进行除n的运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来.n进制转十进制:(例子:二进制转十进制)101001 > 2^5 …

灰系网站深圳建站公司兴田德润放心

.gitignore简介 .gitignore文件是Git 版本控制系统中的一个重要配置文件,它用于指定哪些文件或目录应该被Git忽略,即不被纳入版本控制中。 .gitignore编写规则 在文件中添加要忽略的文件和目录的模式。每一行表示一个模式。 使用通配符来匹配多个文件或目…

网站备案 备注关联性沈阳男科最好的男科医院

1、首先配置正确Project Struct 保证需要引用的jar包库添加到Libraries里,尽管添加到Modules里依然可以测试运行或调试,但导出的jar包会遇到问题。 2、导出jar,方式选择如下 选择”From modules with dependencies" 然后去掉以上“Extr…

MyBatis技术详解:从入门到高效开发 - 详解

MyBatis技术详解:从入门到高效开发 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

做美食网站有哪些网络广告策略有哪些

本博客主要讲述Center的审计策略表安装和策略添加 使用事务添加 1、开启事务 my->StartTransaction(); 2、编写sql语句 //清除原来数据,防止数据污染my->Query("DROP TABLE IF EXISTS t_strategy");string sql "CREATE TABLE t_strategy (…

解码数据结构队列

队列的基础原理 核心定义与原则本质:队列(Queue)是线性结构,与栈同属线性存储,核心差异在于操作原则:栈遵循 “后进先出(LIFO)”,仅允许一端操作; 队列遵循 “先进先出(FIFO,First Input First Output)”,…

实用指南:Linux Shell 脚本:从零到进阶的实战笔记

实用指南:Linux Shell 脚本:从零到进阶的实战笔记pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

解决升级 Windows 11 24H2 后 NAS 共享无法显示的问题

问题原因 Windows 11 24H2 策略强制默认只能访问签名的 SMB 共享用户,并且不允许使用 不安全的来宾(Guest)登录 模式连接文件共享。 解决方法 终端管理员模式下依次运行: Set-SmbClientConfiguration -RequireSecu…

实用指南:汽车地带AutoZone EDI需求分析及对接指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

商城类电商购物APP网购原型——实战计划原型

商城类电商购物APP网购原型——实战计划原型2025-09-29 18:42 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bl…

怎样登录建设银行官方网站楼盘网站建设方案

写在前面 考试顺便整理博文内容整理 使用 Ansible 部署 samba 客户端和服务端理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的&#xff0c…

【还未找到原题】宝石(GEM) - Harvey

【还未找到原题】宝石(GEM)题意 给定 \(m\) 对关系,表示 \(a\) 比 \(b\) 小,此时问最先确定每一个点的排名的关系最小编号,如果最后还未确定排名,则此点输出-1。 由于没有原题,给个样例: input: 4 4 2 4 3 1 4…

第八篇

今天是9月29日,今天是满课,上午上的是统一建模语言和算法与数据,下午上的是Java,收获颇丰,上午明白了链表的增删改查,下午Java练习了编程。