- 博客(145)
- 收藏
- 关注
原创 linux 使用fdisk分区扩容
其实,在Mono中成功部署MVC3也不是一件新鲜的事情,早前就已经有不少成功的案例,园子中也有一些关于如何在Mono中部署MVC3的文章,各位读者如有兴趣,可以自行查阅,当然,读者们也可以从本文中直接找到方法,我们在这里采用的是Step By Step的讨论学习方法,一步一步的说明白如何操作,并指出当中需要注意的地方和解析原因。“不对,直接是飞不起来了。其实,无论是MVC3还是MVC4,它们的部署方法都是类似的,我们在上小节中详讲了MVC3的部署就是为了能够在部署MVC4起到一定的参考作用。
2024-10-16 11:05:52 1637
原创 Linux三剑客之awk命令
awk简介awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。awk 是一种很棒的语言,它适合文本处理和报表生成,其语法较为常见,借鉴了某些语言的一些精华,如 C 语言等。
2024-10-16 10:56:22 1095
原创 10 分钟学会Linux常用 bash命令
几乎与任何编程语言一样,您可以使用函数以更逻辑的方式对代码段进行分组,或者实践递归的神圣艺术。ls有很多选项:-l列出“长格式”的文件,其中包含文件的确切大小,拥有该文件的人员,有权查看该文件,以及何时进行上次修改。函数内的参数以与给脚本的参数相同的方式进行处理。任何脚本中的这一行来确定脚本的执行能力,如独立的可执行文件,而不是在终端中预先键入sh,bash,python,php等。bash中的变量可以包含数字,字符,字符串等。您可以使用grep搜索与一个或多个正则表达式匹配的文本行,并仅输出匹配的行。
2024-10-16 10:44:26 1457
原创 Linux find运行机制详解
注意,-name评估的对象是未被-print输出的文件,而不是未被-type评估的文件。虽然在本示例中是等价的,但如果-print前还有-a条件,如 find /tmp -type f -a "*.txt" -print -o -name "*.log" ,这里的-name评估的对象是未被输出的文件,也就是(-type f -a -name .txt)的取反,而不是"-type f"的取反,所以log结尾的普通文件也会被-name评估,但因为没有后续的action,评估的结果会作废。
2024-10-15 10:36:58 721 1
原创 Linux开机详细流程
最后从虚根切换到实根。装第一个操作系统时,boot loader可以装在/dev/sda上,也可以选择装在/dev/sda1上,这时装的是MBR和VBR,任选一个都会将另一个也装上,从第二个操作系统开始,装的是EBR而非MBR,且应该指定boot loader位置(如/dev/sda5和/dev/sda8),否则默认选项是装在/dev/sda上,但这会覆盖原有的MBR。实际上/etc/init.d/下的脚本才是真正的脚本,放入rcN.d目录中的文件只不过是/etc/init.d/目录下脚本的软链接。
2024-10-15 10:23:21 1162
原创 Linux下PAM模块学习总结
然后通过pam_unix.so模块来提示用户输入密码,并将用户密码与/etc/shadow中记录的密码信息进行对比,如果密码比对结果正确则允许用户登录,而且该配置项的使用的是“sufficient”控制位,即表示只要该配置项的验证通过,用户即可完全通过认证而不用再去走下面的认证项。在Linux中进行身份或是状态的验证程序是由PAM来进行的,PAM(Pluggable Authentication Modules)可动态加载验证模块,因为可以按需要动态的对验证的内容进行变更,所以可以大大提高验证的灵活性。
2024-10-15 10:11:15 1039
原创 Linux iptables用法与NAT
第二个表示ALL(SYN,ACK,FIN,RST,URG,PSH)的标志都检查,但是只有设置了SYN和ACK的匹配。其实Iptables服务不是真正的防火墙,只是用来定义防火墙规则功能的"防火墙管理工具",将定义好的规则交由内核中的netfilter即网络过滤器来读取,从而真正实现防火墙功能。iptables中的规则表是用于容纳规则链,规则表默认是允许状态的,那么规则链就是设置被禁止的规则,而反之如果规则表是禁止状态的,那么规则链就是设置被允许的规则。如果你是在xinetd 下面运行的,则不需要。
2024-10-14 20:49:22 926
原创 Linux下Nagios的安装与配置
Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在nagios主目录下的/libexec里放有nagios自带的可以使用的所有插件,如,check_disk是检查磁盘空间的插件,check_load是检查CPU负载的,等等。nagios.cfg默认的路径为/usr/local/nagios/etc/nagios.cfg,是nagios的核心配置文件,所有的对象配置文件都必须在这个文件中进行定义才能发挥其作用,这里只需将对象配置文件在Nagios.cfg文件中进行引用即可。
2024-10-14 20:42:18 1617
原创 Linux Shell编程基础
下一步,我们使用shift命令将第一个和第二个参数从参数列表中删除,这样原来的第三个参数就成为参数列表$*的第一个参数。这里的 && 就是一个快捷操作符,如果左边的表达式为真则执行右边的语句,你也可以把它看作逻辑运算里的与操作。任何优秀的脚本都应该具有帮助和输入参数。虽然可以为命令建立“链接”解决长文件名的问题,但对于带命令行参数的命令,链接就无能为力了。挑个自己喜欢的编辑器,输入上述内容,并保存为文件first,然后执行 chmod +x first 使其可执行,最后输入 ./first 执行该脚本。
2024-10-14 20:32:51 829
原创 linux 查看系统信息命令
uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# lsmod # 列出加载的内核模块# env # 查看环境变量资源# free -m # 查看内存使用量和交换区使用量# df -h # 查看各分区使用情况。
2024-10-13 20:27:15 6596
原创 Linux文件系统详解
一般都说文件存放在某个目录中,其实目录中存入的只是文件在i-节点表的入口,而文件的内容则存储在数据区。硬连接 :源文件名和链接文件名都指向相同的物理地址,目录不能够有硬连接,文件在磁盘中只有一个复制,可以节省硬盘空间,由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除软连接(符号连接)用ln -s命令创建文件的符号连接,符号连接是linux特殊文件的一种,作为一个文件,它的资料是它所连接的文件的路径名,类似于硬件方式,******可以删除原始文件 而连接文件仍然存在。
2024-10-13 20:20:04 1498
原创 linux netlink通信机制
1,netlink使用简单,只需要在include/linux/netlink.h中增加一个新类型的 netlink 协议定义即可,(如 #define NETLINK_TEST 20 然后,内核和用户态应用就可以立即通过 socket API 使用该 netlink 协议类型进行数据交换);(4)nlmsg_seq:消息序列号,用以将消息排队,有些类似TCP协议中的序号(不完全一样),但是netlink的这个字段是可选的,不强制使用;(1)nlmsg_len:整个netlink消息的长度(包含消息头);
2024-10-13 20:13:27 649
原创 linux 安装redis 完整步骤
vi /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)输入 redis-cli 进入命令模式,使用 auth '*****' (****为你设置的密码)登陆。//(redis-cli -h 127.0.0.1 -p 6379 -a ****(****为你设置的密码))
2024-10-12 23:09:54 2192 1
原创 在Linux中使用线程
目录3.1 绑定属性3.2 分离属性3.3 调度属性3.4 堆栈大小属性3.5 满栈警戒区属性5.1 互斥锁5.2 条件变量 我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级。首先说明一下,在Linux编写多线程程序需要包含头文件pthread.h。也就是说你在任何采用多线程设计的程序中都会看到类似这样的代码:当然,进包含一个头文件是不能搞定线程的,还需要连接libpthread.so这个库,因
2024-10-12 23:03:03 815
原创 Linux epoll模型
该程序一个简单的聊天室程序,用Linux C++写的,服务器主要是用epoll模型实现,支持高并发,我测试在有10000个客户端连接服务器的时候,server处理时间不到1秒,当然客户端只是与服务器连接之后,接受服务器的欢迎消息而已,并没有做其他的通信。LT(level triggered):水平触发,缺省方式,同时支持block和no-block socket,在这种做法中,内核告诉我们一个文件描述符是否被就绪了,如果就绪了,你就可以对这个就绪的fd进行IO操作。程序共包含2个头文件和3个cpp文件。
2024-10-12 22:54:45 818
原创 Spring Security 入门原理及实战
之后我们介绍了spring security 是通过filter的形式在web应用中发生作用的,并列举了filter列表,介绍了入口filter,介绍了springboot是如何载入spring security入口filter的。在第一节中,我们通过在pom文件中增加spring-boot-starter-security依赖,便使得我们的项目收到了spring security保护,又通过增加SecurityConfiguration实现了一些安全配置,实现了链接资源的个性化访问控制。
2024-10-11 20:16:57 754
原创 微服务网关 Spring Cloud Gateway
API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。现在Spring Cloud中引用的还是Zuul 1.x版本,而这个版本是基于过滤器的,是阻塞IO,不支持长连接。执行所有的“pre”过滤逻辑,然后发出代理请求,最后执行“post”过滤逻辑。像Nginx这类网关,性能肯定是没得说,它适合做那种门户网关,是作为整个全局的网关,是对外的,处于最外层的;优先级最高的过滤器将会是“pre”阶段中的第一个过滤器,同时它也将是“post”阶段中的最后一个过滤器。
2024-10-11 20:05:34 932
原创 Spring Boot(二):Web 综合开发
但实际上前端工程师的职责更多应该关注于页面本身而非后端,使用 JSP,Velocity 等传统的 Java 模板引擎很难做到这一点,因为它们必须在应用服务器中渲染完成后才能在浏览器中看到结果,而 Thymeleaf 从根本上颠覆了这一过程,通过属性进行模板渲染不会引入任何新的浏览器不能识别的标签,例如 JSP 中的 form:input,不会在 Tag 内部写表达式。validate :每次加载 hibernate 时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
2024-10-11 19:49:27 710
原创 Spring常用注解汇总
Spring 容器中的 Bean 是有生命周期的,Spring 允许在 Bean 在初始化完成后以及 Bean 销毁前执行特定的操作,您既可以通过实现 InitializingBean/DisposableBean 接口来定制初始化之后 / 销毁之前的操作方法,也可以通过 元素的 init-method/destroy-method 属性指定初始化之后 / 销毁之前调用的操作方法。答案是肯定的,我们通过 Spring 2.5 提供的@Component 注释就可以达到这个目标了。
2024-10-10 16:03:16 995
原创 Spring Data JPA 实例查询
查询时,对一个要进行匹配的属性(如:姓名 name),只能传入一个过滤条件值,如以Customer为例,要查询姓“刘”的客户,“刘”这个条件值就存储在表示条件对象的Customer对象的name属性中,针对于“姓名”的过滤也只有这么一个存储过滤值的位置,没办法同时传入两个过滤值。正是由于这个限制,有些查询是没办法支持的,例如要查询某个时间段内添加的客户,对应的属性是 addTime,需要传入“开始时间”和“结束时间”两个条件值,而这种查询方式没有存两个值的位置,所以就没办法完成这样的查询。
2024-10-10 15:49:15 1102
原创 Spring Boot中集成Spring Security 专题
当然,Spring Security明确的设计可以处理这种常见需求,但是作为替代你应该使用项目的域对象的安全能力来实现这个目标。例如在默认的安全配置中authorizeRequests(),formLogin()、httpBasic()这三个方法返回的分别是ExpressionUrlAuthorizationConfigurer、FormLoginConfigurer、HttpBasicConfigurer,他们都是SecurityConfigurer接口的实现类,分别代表的是不同类型的安全配置器。
2024-10-10 15:42:49 1915
原创 Spring Boot(十六):使用 Jenkins 部署 Spring Boot
很显然这其中包含了两个独立的物理事务,当退栈到方法4的事务切面时,会发现没有到事务最外层,所以不会有真正的物理提交。同理,退栈到方法1的事务切面时也会触发物理提交。如果事务块内的代码发生了异常,则会根据TxInfo里面的TxAttr配置的rollback规则看看这个异常是不是需要回滚,不需要回滚就尝试提交,否则就尝试回滚。而在非最外层事务的时候会由具体txMgr子类给对应的事务打个的标记用于标识这个事务该回滚,这样的话在所有同一物理事务方法退栈过程中在事务切面中都能读取到事务被打了应该回滚的标记。
2024-10-09 20:18:55 2404 1
原创 spring security简介与使用
注意这里我们创建的User需要实现UserDetails对象,这样我们可以根据principal.getAuthorities()获取到权限,如果不实现UserDetails,那么需要自定义authorities并添加到UsernamePasswordAuthenticationToken中。由于前后端不通过保存session和cookie来进行判断,所以为了保证spring security能够记录登录状态,所以需要传递一个值,让这个值能够自我验证来源,同时能够得到数据信息。获取当前的登录信息。
2024-10-09 20:11:48 1257
原创 Spring AOP详细介绍
下面我们就来实现动态代理的实现。Spring中的AOP代理还是离不开Spring的IOC容器,代理的生成,管理及其依赖关系都是由IOC容器负责,Spring默认使用JDK动态代理,在需要代理类而不是代理接口的时候,Spring会自动切换为使用CGLIB代理,不过现在的项目都是面向接口编程,所以JDK动态代理相对来说用的还是多一些。AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。
2024-10-09 20:00:34 1105
原创 Lua和C++交互详细总结
注意: lua_push*族函数都有"创建一个类型的值并压入"的语义, 因为lua中所有的变量都是lua中创建并保存的, 对于那些和c中有对应关系的lua类型, lua会通过api传来的附加参数, 创建出对应类型的lua变量放在栈顶, 对于c中没有对应类型的lua类型, lua直接创建出对应变量放在栈顶."如果你想要什么, 你告诉我, 我来产生"就可以保证, 凡是lua中的变量, lua要负责这些变量的生命周期和垃圾回收, 所以, 必须由lua来创建这些值(在创建时就加入了生命周期管理要用到的簿记信息)
2024-10-08 21:35:13 1532
原创 常见排序算法C++总结
还有必要再重复一下C++字符串和C字符串转换的问题,许多人会遇到这样的问题,自己做的程序要调用别人的函数、类什么的(比如数据库连接函数Connect(char*,char*)),但别人的函数参数用的是char*形式的,而我们知道,c_str()、data()返回的字符数组由该字符串拥有,所以是一种const char*,要想作为上面提及的函数的参数,还必须拷贝到一个char*,而我们的原则是能不使用C字符串就不使用。而at()会检查,如果使用at()的时候索引无效,会抛出out_of_range异常。
2024-10-08 21:26:33 944
原创 C++模板template用法总结
例如我们定义的stack类模板,如果是char*类型的栈,我们希望可以复制char的所有数据到stack类中,因为只是保存char指针,char指针指向的内存有可能会失效,stack弹出的堆栈元素char指针,指向的内存可能已经无效了。考虑我们写一个简单的栈的类,这个栈可以支持int类型,long类型,string类型等等,不利用类模板,我们就要写三个以上的stack类,其中代码基本一样,通过类模板,我们可以定义一个简单的栈模板,再根据需要实例化为int栈,long栈,string栈。
2024-10-08 21:19:28 958
原创 详解C++11智能指针
weak_ptr 是一种不控制对象生命周期的智能指针, 它指向一个 shared_ptr 管理的对象. 进行该对象的内存管理的是那个强引用的shared_ptr, weak_ptr只是提供了对管理对象的一个访问手段。除了可以通过new来构造,还可以通过传入auto_ptr, unique_ptr,weak_ptr来构造。这样的话,资源B的引用开始就只有1,当pb析构时,B的计数变为0,B得到释放,B释放的同时也会使A的计数减1,同时pa析构时使A的计数减1,那么A的计数为0,A得到释放。
2024-10-07 21:43:29 968
原创 C++:引用的简单理解
这种情况下,函数fn2()的返回值不产生副本,而是直接将变量temp返回给主函数,即主函数的赋值语句中的左值是直接从变量temp中拷贝而来(也就是说c只是变量temp的一个拷贝而非别名) ,这样就避免了临时变量的产生。虽然不存在局部变量的被动销毁问题,但如果被返回的函数的引用只是作为一个临时变量出现,而没有将其赋值给一个实际的变量,那么就可能造成这个引用所指向的空间(有new分配)无法释放的情况(由于没有具体的变量名,故无法用delete手动释放该内存),从而造成内存泄漏。3.不能返回局部变量的引用。
2024-10-07 21:37:07 782
原创 C++:STL标准入门汇总
对于之前不太了解STL的读者来说,上面的文字只是十分概括地描述了一下STL的框架,对您理解STL的机制乃至使用STL所起到的帮助微乎甚微,这不光是因为深入STL需要对C++的高级应用有比较全面的了解,更因为STL的三个部分算法、容器和迭代器三部分是互相牵制或者说是紧密结合的。可以说,适应STL处理问题的方法是需要花费一定的时间的,但是以此为代价,STL取得了一种十分可贵的独立性,它通过迭代器能在尽可能少地知道某种数据结构的情况下完成对这一结构的运算,所以下决心钻研STL的朋友们千万不要被一时的困难击倒。
2024-10-07 21:28:51 942
原创 C++面试常见题
本来“* head”代表的是传指针的,但是只能改变head指向的内容,而“* &head”意思是说head是传进来的指针的同名指针,就能既改变*head指向的内容,又能改变head这个指针。称带有纯虚函数的类为抽象类。因为类类型的数据成员对象在进入函数体前已经构造完成(先进行了一次隐式的默认构造函数调用),也就是说在成员初始化列表处进行构造对象的工作,调用构造函数,在进入函数体之后,进行的是对已经构造好的类对象的赋值,又调用了拷贝赋值操作符才能完成(如果并未提供,则使用编译器提供的默认按成员赋值行为)。
2024-10-06 20:42:59 1532
原创 C++ Template
例如我们定义的stack类模板,如果是char*类型的栈,我们希望可以复制char的所有数据到stack类中,因为只是保存char指针,char指针指向的内存有可能会失效,stack弹出的堆栈元素char指针,指向的内存可能已经无效了。考虑我们写一个简单的栈的类,这个栈可以支持int类型,long类型,string类型等等,不利用类模板,我们就要写三个以上的stack类,其中代码基本一样,通过类模板,我们可以定义一个简单的栈模板,再根据需要实例化为int栈,long栈,string栈。
2024-10-06 20:32:41 1312
原创 C++指针详解
第二,它是一个指针,该指针的类型是TYPE*,该指针指向的类型是TYPE,也就是数组单元的类型,该指针指向的内存区就是数组第0号单元,该指针自己占有单独的内存区,注意它和数组第0号单元占据的内存区是不同的。&a的运算结果是一个指针,指针的类型是a的类型加个*,指针所指向的类型是a的类型,指针所指向的地址嘛,那就是a的地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。该指针所指向的类型是p的类型,这里是int*。
2024-10-06 20:25:32 929
原创 python机器学习实战(一)
该系统实现的方法与前面的约会网站的类似,就不多说了。先来点开胃菜,在上面的代码中,我们导入了两个模块,一个是科学计算包numpy,一个是运算符模块,在后面都会用到,在createDataSet函数中,我们初始化了group,labels,我们将做这样一件事,[1.0,1.1]和[1.0,1.0] 对应属于labels中 A 分类,[0,0]和[0,0.1]对应属于labels中的B分类,我们想输入一个新的二维坐标,根据上面的坐标来判断新的坐标属于那一类,在这之前,我们要实现k-近邻算法,下面就开始实现。
2024-10-05 21:47:39 1268
原创 Python(九)Tornado web 框架
Tornado是FriendFeed使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像web.py或者Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关有用工具及优化。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其非阻塞的方式和对epoll。
2024-10-05 21:37:00 1752
原创 python数据类型详解
列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。Python的元组与列表类似,不同之处在于元组的元素不能修改;每个键与值必须用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。这就意味着他们可以组合和复制,运算后会生成一个新的元组。元组中只有一个元素时,需要在元素后面添加逗号,例如:tup1 = (50,);元组与字符串类似,下标索引从0开始,可以进行截取,组合等。
2024-10-05 20:46:48 1228
原创 linux systemctl 指令
一、由来历史上,Linux 的启动一直采用init进程。下面的命令用来启动服务。这种方法有两个缺点。一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。二是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。二、Systemd 概述Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。根据 Linux 惯例,字母d是守护进程(daemon)的缩写。
2024-10-04 10:38:22 1499
原创 linux中fork()函数详解
p3224和p3225死亡后,p3226,p3227就没有父进程了,这在操作系统是不被允许的,所以p3226,p3227的父进程就被置为p1了,p1是永远不会死亡的,至于为什么,这里先不介绍,留到“三、fork高阶知识”讲。在子进程中,fork函数返回0,在父进程中,fork返回新创建子进程的进程ID。第二步:假设父进程p3224先执行,当进入下一个循环时,i=1,接着执行fork,系统中又新增一个进程p3226,对于此时的父进程,p2043->p3224(当前进程)->p3226(被创建的子进程);
2024-10-04 10:17:20 1221
原创 Linux fcntl函数详解
如果read(2)调用没有可读取的数据,或者如果write(2)操作将阻塞,read或write调用返回-1和EAGAIN错误 O_APPEND 强制每次写(write)操作都添加在文件大的末尾,相当于open(2)的O_APPEND标志。fcntl的返回值: 与命令有关。F_SETFL 设置给arg描述符状态标志,可以更改的几个标志是:O_APPEND, O_NONBLOCK,O_SYNC和O_ASYNC。
2024-10-04 10:10:22 1087
原创 C++的函数重载
更加详细的对应关系,如那个数字对应那个返回类型,哪个字符代表哪重参数类型,就不去具体研究了,因为这个东西跟编译器有关,上面的研究都是基于g++编译器,如果用的是vs编译器的话,对应关系跟这个肯定不一样。为了了解编译器是如何处理这些重载函数的,我们反编译下上面我们生成的执行文件,看下汇编代码(全文都是在Linux下面做的实验,Windows类似,你也可以参考《一道简单的题目引发的思考》一文,那里既用到Linux下面的反汇编和Windows下面的反汇编,并注明了Linux和Windows汇编语言的区别)。
2024-10-02 11:14:33 1430
堆排序详细图解(通俗易懂)+排序算法-堆排序(超详细)
2024-09-30
java读取txt文件乱码解决方案
2024-09-30
史上最全Python 语法及入门 (超全超详细)
2024-09-30
【计算机毕业设计选题】精品毕设项目分享(源码+论文)
2024-09-30
2024nity3D/UE4/UE5引擎/iOS和Android原生开发
2024-09-30
2024最新DES加密解密算法(简单、易懂、超级详细)
2024-09-26
十大经典排序算法堆排序详细图解(通俗易懂)
2024-09-26
2024版遗传算法详解 附python代码实现
2024-09-26
2024年最全嵌入式开发一嵌入式开发新手入门
2024-09-26
基于遗传算法+matlab+原理介绍+示例源码
2024-09-25
Java安装Java实验报告.zip
2024-09-25
linux安装tcpingLinux网络调试助手
2024-09-25
2024yolov10-yolo v10资源
2024-09-25
2024版MySql 安装与使用(非常详细)
2024-09-24
2024版Java基础知识总结(超详细整理)
2024-09-24
2024CODESYS平台的ST语言笔记(史上最全)
2024-09-24
(附源码)学生算法数据结构实验报告模板
2024-09-24
2024数据分析之方差分析(ANOVA)
2024-09-23
2024深入理解SLAM技术概述SLAM从入门到精通(基本SLAM框架)
2024-09-23
2024数据结构-学习笔记-入门必看建议收藏
2024-09-23
2024年最新版linux系统如何安装软件(详细文字教程)
2024-09-23
2024最新版手把手教你入门vue+springboot开发SpringBoot + vue 管理系统
2024-09-22
2024年全国研究生数学建模竞赛资料
2024-09-22
2024年华为杯数学建模小白全攻略分享比赛思路
2024-09-22
2024年经典SQL练习题-IT类课程习题资源(史上最全资料)
2024-09-22
HALCON-从入门到入门Halcon基础大全
2024-09-21
CSP-J/S, NOIP, 信息学奥林匹克竞赛真题收录
2024-09-21
算法数据结构-超全的位运算介绍与总结
2024-09-21
2024年最新华为OD算法真题目录(史上最全指南)
2024-09-21
2024最新版Springboot入门到精通(超详细文档)
2024-09-20
2024IDEA常用插件推荐 - 程序员必备神器
2024-09-20
2024秋招信息秋招信息资源
2024-09-20
2024最新版PyCharm安装教程,图文教程(超详细)
2024-09-19
c语言文件读写操作代码(个人学习笔记)
2024-09-19
2024数据库课程设计-客户信息管理系统
2024-09-19
史上最全java零基础从入门到精通*(保姆级教程)
2024-09-19
人工智能-机器学习概述AI人工智能+区块链+物联网
2024-09-18
数据结构学习笔记基数排序 详细讲解
2024-09-18
2024最新版Spring高手之路指南
2024-09-18
C#Net权限管理及快速开发框架、最好用的权限工作流系统
2024-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人