编程导航学习打卡话题讨论

学习打卡

6.2w 参与
分享

欢迎参与编程导航学习打卡,坚持每日记录分享自己的学习心得,养成好的学习习惯!

🚀 参与方式:在编程导航平台打卡分享,并且打上 #学习打卡# 标签

📚 可以分享以下内容: 1)这是打卡第几天?如:day 1 2)今天做了什么?进度如何?有哪些感受心得? 3)明天要做什么?有什么计划? 4)其他分享(比如心得感悟,鸡汤)

💪🏻 加油,每天进步一点点,未来的你会感谢现在努力的你!

点击登录,快来和大家讨论吧~
表情
图片
话题
打卡
综合
交流
文章
问答

Day 1 ✅ 今天做了: ⏰ 明天计划: 📚 今日感悟:

day 61 今天来学校上课了,和教授谈了,可以接下RA工作,不过一周只能charge 10h, 工资很少,不过一个月600刀也勉强比没有好。 今天的工作还没做完,最近在做知识库构造,Ui/UX上周就设计完,现在在做底座的建设 今天也让Claude直接帮我把Neetcode150 题目+解题思路+代码给我整理了,我发现我真的只有找碎片化时间才能做题,我还不如先背先回忆(之前都做过) 祝祖国母亲节日快乐,也祝各位假期快乐🎉 我会继续努力,假期过后争取多进一些面试。

Day1 今天学习了java中if的使用

Day 17 🧭行动:学习了Python最后一个知识点:异常处理 🤓体会:Python 程序一旦发生异常,如果没有捕获处理,程序就会直接崩溃终止。 使用`try-except`捕获异常,可以预先写好异常处理方案:比如打印友好提示、记录日志、释放资源,保证程序不会直接退出,还能继续运行。 🧑‍💻代码: try: print("================================") # print(my_name) # print(1 / 0) # print("ABC"[10]) print("ABC".hello) print("================================") except NameError as e: # 捕获的是 NameError 类型的异常 print("名字不存在,请检查变量或函数名字,异常信息:", e) except ZeroDivisionError as e: print("0不能做被除数,异常信息:", e) except IndexError as e: print("索引错误,异常信息:", e) except Exception as e: # 捕获所有的异常 print("程序运行出错了,请联系管理员,错误信息:", e) finally: # 无论程序是否正常运行,finally代码块中的代码都会运行 print("资源释放 ~") # 异常的传递 def fun1(): print("fun1 ... running ...") fun2() def fun2(): print("fun2 ... running ...") fun3() def fun3(): print("fun3 ... running ...") print(my_color) if __name__ == '__main__': try: fun1() except Exception as e: print("程序运行出错了,请联系管理员,错误信息:", e)

Day 29 ✅ 今天做了:Redis消息队列 ⏰ 明天计划:继续学消息队列

项目部署 | 宝塔 Linux 面板—万能视频下载器

前端部署 ==== 1. 本地的前端路径下 npm run build 生成 dist 文件夹 ![](https://pic.code-nav.cn/post_picture/2044391901041291265/FiJrHxeSthGlJtWe.webp) 2. 将本地的 dist 文件夹传至宝塔 Linux 服务器中,会有个 index.html 文件命名相同,选择**覆盖文件** ![](https://pic.code-nav.cn/post_picture/2044391901041291265/sVfXwsCK0uoIwsmw.webp) ![](https://pic.code-nav.cn/post_picture/2044391901041291265/Bd4MFyA6Wszd0WJ3.webp) 3. 新建站点 ![](https://pic.code-nav.cn/post_picture/2044391901041291265/mQPP1UrC96l7kU5M.webp) 4. 访问地址,就能打开前端界面了 ![](https://pic.code-nav.cn/post_picture/2044391901041291265/tLXQssL01JSMv43q.webp) 5. 在宝塔 HTML 站点填入 Nginx 配置 原本前端无法访问到后端服务,通过 Nginx 来进行转发 1. 进入宝塔面板 → 网站 → 找到你刚才新建的HTML 项目站点 → 点【设置】 2. 左侧菜单选择【配置文件】(就是 Nginx 配置) 3. 把原来默认全部内容清空,粘贴截图里这段代码,然后修改两处: ```markdown server { listen 80; server_name shturl.cc/9Ngqh; # 👉这里改成你的域名,没有域名就填服务器公网IP # 前端静态文件 location / { root /www/wwwroot/your-project/dist; # 👉改成你服务器上dist真实路径!! try_files $uri $uri/ /index.html; } # 后端 API 代理 location /api { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 600s; # SSE流式传输需要较长的超时时间 } } ``` ✅ 重点修改: * `server_name`:填你的域名,没有域名就写服务器公网 IP * `root`:写宝塔里这个网站目录下 dist 完整路径,例如 `/www/wwwroot/vue-project/dist` 4. 点【保存】,然后点【重启 Nginx】 验证:此时直接访问 IP / 域名,Vue 页面就可以打开了,但是点击接口会报错,因为 Python 后端还没启动 后端部署 ==== 建议先把本地的后端代码上传至 GitHub ,再通过 git 下载至服务器 1. 把本地的后端文件夹上传到宝塔 Linux 服务器 2. 安装 Python 软件商店,搜索 Python,下载 ![](https://pic.code-nav.cn/post_picture/2044391901041291265/ck3NmfbWAUrUR7r8.webp) 3. 创建虚拟环境,便于管理项目版本 ![](https://pic.code-nav.cn/post_picture/2044391901041291265/b965tRTDtnBxazvE.webp) 建议选择 Python 3.10+ 的版本,适配本项目 ![](https://pic.code-nav.cn/post_picture/2044391901041291265/QNn6o5u52mDP4OUH.webp) 最后点击右下角的 [ 创建 ] 即可 4. 创建项目 ![](https://pic.code-nav.cn/post_picture/2044391901041291265/jLh5OihIkB69WzZq.webp) 注意: 1. 填写环境变量时,把 .env 文件中的密钥全都放到这里,等号左右两边不要有空格,一行写一个密钥,最后不用加标点符号 2. 选择‘从文件加载 ’,可能会遇到宝塔已经读取环境变量,但是代码执行到 load_dotenv(override=True) 的时候,会覆盖环境变量等问题,导致最终无法成功读取环境变量,出现以下问题 ![](https://pic.code-nav.cn/post_picture/2044391901041291265/WabF7yF0zTodzb4m.png) 5. 在**虚拟环境**中安装依赖、 ffmpeg、Playwright 浏览器 打开终端,通过虚拟环境的终端安装依赖 ![](https://pic.code-nav.cn/post_picture/2044391901041291265/QX5pINuT7DjDbW2T.webp) ```markdown # 安装依赖 pip install -r requirements.txt # 安装 ffmpeg yum install ffmpeg # 安装 Playwright 浏览器(每个人的解析视频的方法不一样,需要先判断自己的项目是否有用到这个工具) playwright install ``` 测试验证 ==== 1. 打开前端部署时写的域名,看能否成功下载视频、AI 总结、登录 2. 通过其他设备看能否打开并使用该网站 Bug === 前端、后端部署完后,可以打开界面,但是无法读取 DEEPSEEK_API_KEY 环境变量 ![](https://pic.code-nav.cn/post_picture/2044391901041291265/CeV1litTafNPMtcs.png) 排查思路: 核心思路:查看日志,定位是什么错误,自己先在网上查询文档、问 AI ,最后还是不行再向其他人请教 1. Nginx 的 /api 代理配置写错 2. 后端服务是否启动成功 最终解决办法:直接在宝塔项目的环境变量区域填写这个 key。修改后完整停止并重新启动 Python 项目

day48 伙伴匹配系统开始用ai编写了,基本上都是描述,让ai改动。写好了卡片还有redis,个人用户编辑可以完成了,同时完善了很多前后端功能。不过,我细节没有去做,所以我并不是很熟悉改动了啥。 科大讯飞笔试,选择题还行一半一半,出了很多操作系统,数据结构的题,这部分还没刷,编程题很简单,max-a,卡了一会儿,后面觉得是简单leetcode。aicoding先是readme,后面再根据报错改动,原来过程没有数据库只是有一个类相当于数据库,最后7812,后面半个小时基本上改不动,问ai改了好多遍没用。 平安面试,简单自我介绍,依旧学校专业开局,两段一到两个月的实习,主学Javaspringboot。自我介绍还是要优化一下,太单薄了。后面问项目登录模块,我就说了下,还问了redis,等等,没问八股文,问了有没有offer(没有),学校,18分钟就结束了,最后反问技术栈,数据库不是mysql,没听太清,语言还是主流Java,感觉没了,后面就没继续问了,明天问问hr结果吧。早知道多看看用户管理中心的面试题了,以后面试之前都要看看,不对,现在做伙伴匹配系统,可以一边复习一遍做项目。 后面没有笔试和面试了,感觉26届,9月份笔试面试也不多,自己确实投递也少,能投的也少,自己掌握的东西也少,加油! 域名备案完成了,我的网站也可以用了。 算法一题,操作系统基础。

Day 28 ✅ 今天做了:Redisson分布式锁 ⏰ 明天计划:秒杀优化 📚 今日感悟:讲源码太困了, 跳跳跳跳

Day 27 ✅ 今天做了:9.26和对象去游乐园玩, 晚上有发烧, 吃了药好了点, 9.27回学校了 ⏰ 明天计划:9.28周一继续学分布式锁

day5,今天学习了: ①面向对象基础: - 类与实例 - 访问限制(封装)私有变量的创建与操作 - 继承与多态 - 获取对象信息:type函数、isinstance、使用dir - 实例属性与类属性的区分,二者千万不要重名 ②面向对象高级: - 使用__slots__限制能够添加的实例属性 - 使用@property把一个方法变为属性以供调用,还可以把setter方法也转化为属性 - 多重继承:在定义一个类时,可以使用MixIn为其增置其他父类,主父类不用添加该后缀,这样的方式可以综合不同父类的不同方法构筑多功能子类 - 定制类:使用__str__、__iter__、__getitem__、__getatter__等特殊函数名构建出一系列具有特殊功能的定制类 - 枚举类:通过引入enum模块的Enum类可以从1开始默认计数的常量枚举类,还可以调用enum里的@unique装饰器自定义派生枚举类 - 元类:type()函数不仅可以判断数据类型,还可以动态创建类,需要传入class名称、父类集合以及方法名称和函数绑定;我们还可以使用metaclass(元类)来动态创建类,顺序是先定义metaclass(以Metaclass结尾),再创建类,最后创建实例,动态创建类的最常应用场景在ORM,一类对应一表 ③错误、调试和测试: - 错误处理:try-except(-else)-finally - 调试:print()、assert()、logging(可以输出到文件)、pdb(逐行执行)、pdb.set_trace()设置断点、IDE可视化断点调试,最常用的是logging和IDE - 单元测试:TDD开发的基石,确保逐个模块的可用性,再函数改变后依然可以起到验证效果 - 文档测试:doctest—函数下方注释里的可执行测试,测试类就是在想要测试的类的文档注释里写入交互示例,在if __name__ = "__main__"下方引入doctest,命令行运行后可以进行测试,单独作为模块引入不会进行测试

下载 APP