avatar
文章
107
标签
40
分类
34

Home
Tags
Categories
Music
港乐Live Show
Eden Mo Blog
搜索
Home
Tags
Categories
Music
港乐Live Show

Eden Mo Blog

操作系统MIT 6.S081 xv6内核(二):Util实验
发表于2024-06-06|操作系统Linux操作系统项目C|MIT6.S081
sleep实验 123456789101112131415161718#include <unistd.h>#include <stdio.h>#include <stdlib.h>int main(int argc,const char *argv[]){ if(argc!=2){ printf("Please Input ./sleep <tiem>!\n"); exit(-1); } else{ int time = atoi(argv[1]); sleep(time); exit(0); }} 测试: 1./grade-lab-util sleep pingpong实验 思路没什么问题,问题在于细节,例如pid_t pid = fork()的位置要放在判断前,不要放前面初始化;此外%d: received pong。 123456789101112 ...
操作系统MIT 6.S081 xv6内核(一):环境搭建与Git使用
发表于2024-06-05|操作系统Linux操作系统项目C|MIT6.S081•Git基本使用
最近一直在寻找有关于系统的项目,偶然了解到了这个来自麻省理工大学2020年操作系统课程秋季项目,该项目虽然使用英文传授,但貌似很多前辈着手做了翻译和尝试,项目难度较大,lab设计也比较巧妙,总体评价还是不错的。以下是项目相关记录资料。 翻译课程链接:MIT 6.S081 2020 操作系统 [中英文字幕] 如果喜欢看文字,有大哥将课程所有内容整理出来了: github课程翻译 GitBook版本排版更加舒服:GitBook课程翻译 xv6 Book合实验手册:https://xv6.dgs.zone 环境配置 编程环境 Win10 SSH+虚拟机Ubuntu 18.04 虚拟机安装SSH服务: 1sudo apt-get install openssh-server 启用服务: 1sudo service ssh start 开机自启 1sudo systemctl enable ssh 关闭防火墙 1sudo ufw disable 使用Win终端工具XShell、mabaXterm、Vscode等进行SSH连接即可。 RISCV工具链环境 xv6是 ...
C/C++/Qt 修炼手册
发表于2024-06-01|C++ Qt开发C/C++|C++ Qt•C++高阶
C/C++是偏底层的高级程序涉及语言,有很多细节问题并不符合常规印象,该手册会用于持续记录C/C++各种奇形怪状的坑,也用于记录一些用到就被忘掉的接口函数,混杂一些业务八股。 C语言 C语言细节 char数组的初始化 12char ch[MAXSIZE]={0}; //这意味这每个字符都是'\0',而不是整数0//而不是char ch[MAXSIZE]={'0'} //这是0字符,ASCII码值为48,不是真正的初始化 %x和%p打印 %x用于打印十六进制数,一般接收unsigned int类型,输出没有0x,也不会补0; %p也是打印16进制的(不是绝对),不过这里的16进制专门针对地址的16进制,也就是常说的指针,地址有多少位就输出多少位,高位补0,前缀带0x; struct结构体 匿名结构体:即定义了结构体,也进行了实例化: 1234struct { struct buf buf[NBUF]; struct Hash_bcache[MAX_CBlock];&# ...
解决Pjax导致Aplayer Js加载失败问题
发表于2024-05-08|网站相关|奇奇怪怪的实现
Pjax是一款常用的插件,主要用于实现跳转不刷新网页实现某些事件的连续,例如本站使用了Pjax实现了音乐tag全站连续播放,其原理是通过不刷新网页的方式获取js资源,从而不会阻断连续事件的发生。但是pjax会引入比较大的问题,某些页面跳转时需要刷新加载的部件无法正常加载,例如评论模块、自建Aplayer等,只能手动刷新,导致每次在Music页选择完音乐,重新进入时无法获取正在播放的列表。 最常用的解决方法是:在每次pjax调用完成后,使用回调函数加载js资源,Aplayer列表确实不会丢失了,但是音乐却只能在当页播放,体验一般,本文提供了一种可行的方案,能够完美兼容Aplayer加载问题与Pjax调用问题,主要骨干是pjax回调函数初始化Aplayer,以及用于辅助记录Aplayer歌曲播放状态的函数。 建立一个Aplayer Aplayer可以使用列表语法调用,也可以使用js调用,为了方便函数互调,使用了js语法,如: 1234567891011121314151617181920function BuildPlayer(){ globalPlayer ...
CDN加速
发表于2024-05-03|网站相关
建站问题 部署小网站一般使用的是轻量级服务器,带宽和处理速度一般不高,所以加载时延比较高。如果是部署在平台上而非服务器,境外服务器(国外平台就是略为大方)的链接时延也会更高;另一方面,个人网站容易面临暴露ip的问题,尽管通过域名解析,但是信息交互都是本地的明文ip进行的,例如简单ping一下就可以得到,这也是CDN广为使用的原因。 CDN 内容分发网络(Content Delivery Net,CDN)是一种网站常用的加速服务,利用距离用户最近、时延最低的服务器快速返回资源和响应,提高访问速度。其原理是在域名解析DNS————个人服务器ip之间插入了一个cdn套壳代理,访问目标网站时,DNS会首先将域名解析到cdn中,向cdn服务提供商服务器请求内容,如果这个内容早已以静态资源的方式存储于服务器,那么服务器就会返回该资源,而无需访问原始的低带宽服务器。 另一方面,CDN服务商尤其是大厂,通常有各种策略来提高CDN的返回效率,例如压缩静态资源、选取最优服务器路径、DNS解析路径等,因此能大大访问资源效率、同时也减小了原始服务器流量负载。 部署 采用的服务商是来自多吉云的融合 ...
数据结构算法题目(三):计算技巧方法
发表于2024-04-11|C/C++数据结构数据结构题目|数据结构与算法
记录了一些原理简单、但是具体实现方式要想一想的问题。 手搓函数系列 不是所有设备都有C库函数,会手搓一部分C库是基本素养。 strlen:字符串长度 12345678int strlen(char *str){ int len = 0; while((*str)!='\0'){ //或(*str++)!='\0' len++; str++; } return len;} strcpy:字符串复制函数 注意细节问题: 需要使用staddr保存起始地址,返回的也是该起始地址; 为什么要返回起始地址:其一是因为上述原因,需要起始地址,防止调用时没有保存起始地址;其二可以和其他函数嵌套使用,例如计算长度strlen(strcpy(dest,src));其三也方便进行错误检查。 1234567char* strcpy(char*dest,char*src){ if(src==NULL||dest==NULL) ...
Linux操作系统:网络编程
发表于2024-03-25|操作系统操作系统理论Linux|Linux•网络编程
Linux网络编程是在Linux操作系统上进行的,允许开发人员编写能够进行网络通信的应用程序,如文件传输服务(FTP)、Web服务器、即时通讯工具等;这种编程广泛利用了Linux提供的网络接口和协议栈,使得应用程序可以和不同主机、不同程序进行信息交互,Linux网络编程主要包括使用套接字(Sockets)、系统调用、各种网络协议(著名的TCP/IP协议、UDP协议)来处理各种网络数据。 Socket编程 Socket简介 Socket也是进程间通信方式之一,1982年,Berkeley Software Distributions操作系统引入了socket作为本地进程间的通信接口,1986年,其又扩展了socket使其能够支持UNIX下的TCP/IP通信;socket是一个编程接口,返回一个特殊的文件描述符,使得网络通信方法就像操作本地文件(OPEN--WRITE/READ--CLOSE)一样简便,其可以兼容不同的网络协议,包括TCP/IP、UDP协议等著名协议。 Socket类型 流式套接字(SOCK_STREAM):提供面向连接、可靠的数据传输服务,数据无差错、无重复发 ...
【Openpcdet】部署之二:训练VOD数据集
发表于2024-03-18|Python|3D目标检测
在上一篇文章中,我们在服务器上部署了Openpcdet并完成了KITTI数据集的训练、可视化操作,这篇文章记录了在同样环境下更换数据集过程。 概述 KITTI点云数据是一个四维数据(空间坐标、反射强度),而VOD点云是一个七维数据(空间坐标、反射界面RCS、径向速度、径向补偿速度、时间戳)。我们的起始目标是去除VOD的标定文件,使用纯点云进行训练。但是这个目标没有达成,最大的原因是对于具体空间坐标转换不明确,因此不能代替标定文件。我在kitti上做了尝试,理由是有一款开源软件labelcloud给出了代码,当用户选择kitti格式标注时,它会自动给出这样的转换关系。我把代码应用在VOD数据集上,然而虽然得到了最佳的数据库表现,但是还是不足以用于训练,因为无法得到有效的梯度。另一方面应该说的是,Openpcdet的模块化完成得很好,另一方面是开源团队同样采取了Openpcdet作为他们的框架网络,尽管更改了数据集,只需要对若干个配置文件进行修改即可,而无需过多的修改训练、测试、可视化等demo。以下介绍了基于pointpillars框架训练毫米波雷达数据集的过程。值得注意的是,该文章 ...
关于魔法的咒语
发表于2024-03-07|奇奇怪怪的实现
仅作个人学习与思考记录。 7.19更新 无法访问OpenAI等网站 Cloudflare访问一些网站,如OpenAI的gpt等,会发生频繁跳验证,阻断无法访问等情况,这是因为在国外Cloudflare是一个很大的网络安全厂商,许多大型网站本身就使用了它的安全服务,不仅能够识别恶意的IP,还能阻断自身的IP。所以不是所有的公开官方IP都能够访问,当然如果是非CF提供服务的网站完全没有问题,这也是这个项目最大的缺点,这里将项目的proxyIP设置为能够解锁安全验证的IP,能够解决该问题,如146.70.175.x段(已失效)。 另外,不建议使用Math.random()来随机选择IP,因为只要列表有多个域名解析的IP失效,就会造成丢包情况,表现在卡顿,经常需要刷新,很影响体验,建议固定一个proxyIP即可。 自定义反向代理IP 从网络解决方案厂商那里可以获取特定城市的CF的公开入网IP,以荷兰阿姆斯特丹城市为例子筛选: https://www.zoomeye.hk/: "country:"NL"+city:"Amsterdam"+app:"Cloudflare"+po ...
【OpenPCDet】部署与【Open3d】可视化
发表于2024-03-03|Python|3D目标检测
在此前一篇文章【PointPillars】环境部署全纪实中介绍了原始Pointpillars作者部署模型的方法,由于仓库代码较老软件包版本适配上带来了很多麻烦。更糟糕的是,作者提供了KITTIVIEW可视化方法,利用web进行可视化,然而web集成度高,数据替换难,为后续更换数据带来很多不便。因此今天尝试使用Openpcdet部署pointpillars并实现数据的可视化。 基于KITTI集OpenPCDet框架Pointpillars训练 版本信息 成功验证版本: 显卡型号:3080ti cuda:11.3 python:3.8 pytorch:1.12.0 kornia:0.6.8 open3d:0.18.0(有说0.11.0好的,但是实际上过旧的包scikit-learn包报错会出问题) numpy:1.24.x Deploy Cuda安装 见之前的文章,不同版本同理,wget+sh安装,不赘述。 Pytorch环境搭建 新建环境 1conda create -n opcnet python==3.8 激活环境 12source activateco ...
1…678…11
avatar
Eden
不做前端所以博客不漂亮,纯免费授权码来自公众号:归零者星的日与夜
文章
107
标签
40
分类
34
Follow Me
公告
文章任何错误、疏漏、建议麻烦请联系博主qq邮箱2436444815@qq.com
最新文章
OpenCV C++记录(十一):Mat数据规范化、灰度直方图与均衡算法2025-05-15
OpenCV C++记录(十):形态学处理基础2025-05-12
OpenCV C++记录(九):二值化与图像模糊(滤波)算法2025-05-08
C++ Generic Programming:SFINAF与类型萃取2025-04-26
Modern C++ Design(第二章):Techniques2025-04-20
分类
  • C20
  • C++ Qt开发7
  • C/C++14
  • CPP14
    • C++ Generic Programming3
  • FPGA2
    • verilog2
  • Linux23
标签
3D目标检测 Linux 信号与系统 网络编程 Linux扩容 MIT6.S081 Vivado IP核 读写锁 OpenCV Modern C++ Design 数据结构与算法 引导程序 C++ Generic Programming MathType快捷键 Private Content Stanford CS144 格式化输出 内存管理理论 进程与线程 数据库 Protobuf C++ Qt C++ SFINAF and Type Traits json序列化 C++11 新特性 设计模式 C++基础 高等数学 Effective C++ 奇奇怪怪的实现 Markdown语法 CSAPP 计算机网络理论 线程池 Qt网络编程 vim使用 C++高阶 CMake Git基本使用 MCU开发
归档
  • 五月 20253
  • 四月 20254
  • 三月 20256
  • 二月 20255
  • 一月 20257
  • 十二月 20248
  • 十一月 20242
  • 十月 20245
网站资讯
文章数目 :
107
本站总字数 :
473.9k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2023 - 2025 By Eden
框架 Nodejs|你忘掉理想 只能忙于生活吗
粤公网安备 44010602011738号|粤ICP备2023072610号
搜索
数据库加载中