FOO
  • 2024-09-12dotnet C# 警惕可空结构体的方法内部赋值无效
    本文将记录一个C#dotnet里的一个稍微隐藏的行为,那就是如果有一个结构体存在某个的方法,此方法的作用是修改结构里面的字段或属性的值,那此时将会在可空的结构体调用此方法时,发现没有真正修改到可空结构体局部变量本身其实这个问题非常好理解,只不过可能在编写代码的时候,由于语法
  • 2024-09-11机械学习—零基础学习日志(Python做数据分析04)
    列表与元组对比,列表的长度可变、内容可以被修改。你可以用方括号定义,或用list函数:操作列表:增添:append方法,insert方法,list.extend(list)删除:del方法,pop方法,remove方法判断元素是否在列表内:in方法排序:sorted(list),list.sort()。二分搜索和维护已排序的列表bisect模块支
  • 2024-09-10模板
    太懒,于是就有了这个博客板子#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefsigneduns;typedefdoubledob;typedefunsignedlonglongull;#definepir(a,b)pair<a,b>#defineMP(a,b)map<a,b>#defineUMP(a,b
  • 2024-09-08学习makefile(2)
    1、Makefile规则 HelloWorld基本上所有程序员的所有编程语言一个最简单的例子,虽然makefile不是一门编程语言,但是我们同样可以在一个命令中终端上输出一个helloworldall:echo"HelloWorld"那上述例子中就有我们学习的第一个语法,echo前面必须只有TAB,且至少有一个TAB,不
  • 2024-09-06C++入门基础
    6.C++入门基础1.函数重载1.什么是函数重载函数重载是实现C++多态的一个重要技术,是在同一作用域内相同函数名因为参数的类型不同或者个数不同或者都不同构成重载2.C++是如何支持函数重载的1.命名改变根据对应的参数类名改成比如voidfoo(int)voidfoo(double)_fo
  • 2024-09-06【转】[C#] NVelocity 用户手册 英文原版
    转自:https://velocity.apache.org/engine/devel/user-guide.htmlUserGuide-Contents¶UserGuide-ContentsAboutthisGuideWhatisVelocity?WhatcanVelocitydoforme?TheMudStoreExampleVelocityTemplateLanguage(VTL):AnIntroductionHello
  • 2024-08-31gflags的使用
      C++gflags库使用说明_c++gflags使用-CSDN博客跨文件使用命令行参数  如果你想要访问在另一个文件定义的gflags变量呢?使用DECLARE_,它的作用就相当于用extern声明变量。为了方便的管理变量,我们推荐在.cc或者.cpp文件中DEFINE变量,然后只在对应.h中或者单
  • 2024-08-30redis-热key大key
    BIGKEY作者:w08eBigkey,hotkey傻傻分不清楚什么是大keyRedis中的"大Key"通常指的是一个占用较大内存空间的键(Key)。这可能会对Redis的性能产生负面影响,因为大Key可能导致内存碎片化、删除延迟以及网络传输时间延长等问题。大Key可能出现在不同的场景中,例如:
  • 2024-08-29【Linux】Linux Bash Shell 教程
    LinuxBashShell入门教程Linuxbash(Bourne-AgainSHell)是一种为GNU操作系统编写的命令行解释器,它是大多数Linux发行版中最常用的shell。Bash提供了一种强大的方式来控制和管理操作系统,支持命令历史记录、别名、管道、重定向、变量、条件判断、循环以及自定
  • 2024-08-27makefile基础知识
    makefile知识 1、 Makefile五大内容(显示规则、隐晦规则、变量定义、文件指示、注释)1.1、显示规则:如何生成一个或多个目标文件(要生成的文件,文件依赖的文件,生成命令);stm32:main.ohello.ogcc-ostm32main.ohello.o1.2、隐晦规则:Makefile的自动推导功能,所以隐晦规则可
  • 2024-08-24dotnet C# 结构体出方法弹栈之后的行为
    本文记录我在.NET9里测试的行为,在方法里面创建的在栈上的结构体,在方法执行结束之后,栈上的结构体将会被弹栈进入不受管理区域,此时的结构体内存内容不会立刻被清空或被改写这是我在对dotnetX11栈空间被回收导致调用XPutShmImage闪退博客的内容进行更多的测试,确保和X11没
  • 2024-08-23dlopen 加载使用了std::thread 的so 导致crash的问题分析
    c++11的的createimplement是在thread.cc中实现的,这意味着创建代码在libstdc++.so中,创建代码需要使用与平台有关的apigcc(g++isapartofgcc)的预期:没有调用的thread的代码,不会产生对pthread的依赖,更重要的,不同配置的gcc的线程模型是不同的,依赖库也不同(即不一定是pthrea
  • 2024-08-22C++模板的细节改进
    emsp;emsp;C++11改进了编译器的解析规则,尽可能的将多个右尖括号(>)解析称模板参数结束符,方便我们编写模板相关的代码。1.模板的右尖括号emsp;emsp;在C++98/03的泛型编程中,模板实例化有一个很繁琐的地方,那就是连续两个右尖括号(>>)会被变异器解释称右移操作符,而不是模板参数表的结束
  • 2024-08-22BufferQueue的试用笔记
    简介BufferQueue是一个用.NET编写的高性能的缓冲队列实现,支持多线程并发操作。源码网站:https://github.com/eventhorizon-cli/BufferQueue功能设计支持创建多个Topic,每个Topic可以有多种数据类型。每一对Topic和数据类型对应一个独立的缓冲区。支持创建多个Cons
  • 2024-08-21【python】类的特殊成员
    上文介绍了Python的类成员以及成员修饰符,从而了解到类中有字段、方法和属性三大类成员,并且成员名前如果有两个下划线,则表示该成员是私有成员,私有成员只能由类内部调用。无论人或事物往往都有不按套路出牌的情况,Python的类成员也是如此,存在着一些具有特殊含义的成员,详情如下:__in
  • 2024-08-19linux第一宏
    在ubuntu内下载源代码并找到宏源码vim-toffsetof987#ifndefoffsetof988#defineoffsetof(typ,memb)((unsignedlong)((char*)&(((typ*)0)->memb)))989#endifvim-tcontainer_of240/**241*Returnsapointertothecontainerofthislistelement.
  • 2024-08-18ansible 流程控制
    目录ansibleif流程控制变量控制结构过滤器注释Jinja2api示例test语句ansiblewhen流程控制简单示例多条件示例ansibleif流程控制大部分的Ansible任务,需要对用户的输入内容或任务的运行结果进行判断,这中间体现了流程控制的作用像ansible的模板文件,以.j2结尾的都是Jinja2
  • 2024-08-18size of rust closure
    principlehttps://doc.rust-lang.org/reference/types/closure.html?highlight=fnonce#closure-typesdemo1fnf<F:FnOnce()->String>(g:F){println!("{}",std::mem::size_of::<F>());println!("{}",g());}fnm
  • 2024-08-17Golang使用Option设计模式优雅处理可选参数
    go语言不像其他语言函数的参数可以设置默认值以下是参考第三方库的写法packagemainimport"fmt"typeUserstruct{namestringageintidint}//Option代表可选参数typeOptionfunc(foo*User)//WithName为name字段提供一个设置器funcWithName(name
  • 2024-08-15ansible 变量
    打印playbook变量var01.yaml----hosts:ubuntuvars:foo:bartasks:#Prints"Variable'foo'issettobar".-debug:msg="Variable'foo'issetto{{foo}}"打印文件中的变量var02.yaml
  • 2024-08-1222:函数作用域、匿名函数、高阶函数、尾调用优化
    deftest1():print('inthetest1')deftest():print('inthetest')returntest1res=test()print(res())#1.函数的定义:#1.test1是一个函数,当它被调用时,会打印出'inthetest1'。#2.test是另一个函数,当它被调用时,会先打印出'inthetest
  • 2024-08-12从汇编层看64位程序运行——有惊无险的栈溢出
    大纲main进入时寄存器状态rbp:1rsp:df18分析过程离开时寄存器状态rbp:df10rsp:def8foo7进入时寄存器状态rbp:df10rsp:def8分析过程离开时寄存器状态rbp:df10rsp:def0foo进入时寄存器状态rbp:df10rsp:def8分析过程离开时寄存器状态rbp:df10rsp:def8main进入时寄
  • 2024-08-09Linux项目自动构建工具 make/makefile
    目录0.前言1.make/makefile是什么2.makefile的语法2.1基本语法2.2依赖关系2.3.示例:一个简单的C程序3.使用指令自动构建与清除3.1自动构建3.2自动清除3.3自动化工作流3.4扩展:更多伪目标4.make的工作原理5.使用make/makefile的优势6.小结(图像由AI生成)0.前
  • 2024-08-09以Zed项目为例学习大型Rust项目的组织与管理
    说明Zed项目代码:https://github.com/zed-industries/zed.git本文项目代码:https://github.com/VinciYan/zed_workspace.gitZed是一款由Atom创始人开发的高性能、协作友好的现代开源代码编辑器,使用Rust编写,集成AI辅助功能,旨在结合传统编辑器的速度和现代IDE的智能特性Zed项目
  • 2024-08-03Node.js path模块
    在Node.js中,path模块用于处理和转换文件路径。以下是一些常用的path模块方法及其说明:path.basename(path[,ext])返回路径中的最后一部分,即文件名。示例:constpath=require('path');console.log(path.basename('/foo/bar/baz/asdf/quux.html'));//输出:'quux.htm