首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
13,438 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
11,049 阅读
3
gradle-5.4.1-all.zip下载
8,967 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
7,862 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,888 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
623
篇文章
累计收到
618
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
623
篇与
的结果
2023-01-14
Git 常用指令笔记,pycharm+gitlab,保姆级笔记
前言其实,我不用指令来管理代码版本,毕竟Pycharm提供的version control工具这么好用,效率这么高,还用啥指令嘞,但是吧,一切为了准备面试。 然后,昨晚睡不着,刷掘金,发现了一篇文章十分通俗易懂URL: https://juejin.cn/post/7084966730506141704因此也想借鉴一篇(码农的事情怎么能说是抄袭呢)本文将以Pycharm编辑器,Gitlab作为远程仓库介绍相关使用,不使用Github因为他老抽风(刚刚本来想用github演示,结果拉不下来了)。以我在Github创建的GitDemo为例。URL: https://gitlab.com/vastsa/gitdemo常用指令1. 拉取项目命令git clone 仓库地址操作其实也可以直接用pycharm的,但是为了体现标题,所以用系统终端拉取。打开终端,选择好目录。复制仓库地址。粘贴回车执行。如果是首次拉取Github代码,可能需要你登录认证,我之前拉取过,所以就不好演示了。然后记得cd切换到到项目目录2. 查看本地分支命令git branch操作既然说是pycharm,那就打开pycharm的终端,我这里用的是新版ui执行git branch目前只有一个main分支,并且颜色为绿色,表示正在当前分支3. 新建分支指令git branch <branch name>操作创建一个dev分支,执行git branch dev,然后再执行git brach查看本地分支新分支会根据现有分支进行创建4. 切换分支指令git checkout <branch name>操作我们现在切换到刚刚新建的dev分支,执行指令git checkout dev,并查看本地分支Tip:可以使用git checkout -b <branch name>新建并切换到该分支5. 查看(文件的)状态报告指令git status操作执行指令git status,可以查看未提交至暂存区以及发生更改的文件Tips:在提交(commit)代码之前,我们需要将发生变化的文件(staged changes)存入一个位置——暂存区暂存区的意义在于,它会追踪变化,只会提交有变化的文件。6. 添加文件到暂存区指令git add <文件名或文件夹>操作我新增了三个文件newfile、newhtml.html、test\newpy.py。执行指令git add .,这个.就表示当前文件夹下的所有文件,也可以直接换成文件名,只添加这一个文件。通过status可以看见,该目录下所有文件以及子目录的文件都添加进暂存区。7. 提交暂存区文件指令git commit -m 'hello www.lanol.cn'后面这个-m 就是message,就是说明这次提交的,相当于注释。操作执行指令git commit -m 'hello www.lanol.cn'推送分支至远程仓库指令git push操作我们在本地新建了dev分支,但是远程还没有,这时候我们执行git push的话,会怎么样呢。fatal: The current branch dev has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin dev告诉我们需要先用这条指令,推当前分支。回到gitlab,可以看见文件都已经上来了。
2023年01月14日
140 阅读
0 评论
0 点赞
2023-01-13
【逻辑智力题】水桶倒水问题
缘起今天逛牛客,然后看见了这个题目不禁想起了我的第一份offer,当时面笔试的时候最后一道题就是这个。然后发现还有几个类似的,汇总过来,记录一下题目1、取4L的水问题:水资源无限,3L和5L水桶各一个,怎样取4L的水?步骤:5L桶装满,倒满3L桶,5L桶剩2L3L桶倒空,5L桶倒至3L桶,3L桶剩2L5L桶装满,倒满3L桶,此时5L桶剩4L2. 取3L的水问题水资源无限,5L和6L水桶各一个,怎样取3L的水?步骤:6L桶装满,倒满5L桶,6L桶剩1L5L桶倒空,6L桶倒至5L桶,5L桶剩1L6L桶装满,倒满5L桶,6L桶剩4L5L桶倒空,6L桶倒至5L桶,5L桶剩2L6L桶装满,倒满5L桶,6L桶剩3L3. 3、取2个5L的水问题一个装了10L水的桶,一个7L的空桶,一个3L的空桶,怎样变成2个5L?步骤10L桶倒满3L桶,3L桶倒至7L桶 7 3 010L桶倒满3L桶,3L桶倒至7L桶 4 6 010L桶倒满3L桶,3L桶倒满7L桶 1 7 27L桶倒至10L桶 8 0 23L桶倒至7L桶 8 2 010L桶倒满3L桶,3L桶倒至7L桶 5 5 0总结这种题目其实有多种解法,我当时做出来后,回来和我同学说,发现有些同学的方法和我不一样,但是结果是对的。
2023年01月13日
329 阅读
0 评论
0 点赞
2023-01-13
链表设计 python
单链表class MyLinkedList: def __init__(self, head=None, size=0): self.head = head self.size = size def get(self, index): if index >= self.size or not self.head: return -1 cur = self.head while index: cur = cur.next index -= 1 return cur.val def add_at_head(self, val): self.head = ListNode(val, self.head) self.size += 1 def add_at_tail(self, val): if not self.head: self.head = ListNode(val) else: cur = self.head while cur.next: cur = cur.next cur.next = ListNode(val) self.size += 1 def add_at_index(self, val, index): if not index > self.size: if index <= 0: self.add_at_head(val) else: cur = self.head while index - 1: cur = cur.next index -= 1 cur.next = ListNode(val, cur.next) self.size += 1 def delete_at_index(self, index): if index < self.size: if not index: self.head = self.head.next else: cur = self.head while index - 1: cur = cur.next index -= 1 cur.next = cur.next.next self.size -= 1
2023年01月13日
85 阅读
0 评论
1 点赞
2023-01-12
递归,迭代 list序列化listnode 以及反序列化 python
递归法def list2node(data): # 列表转节点 if not data: return None return ListNode(data[0], list2node(data[1:])) def node2list(head): # 节点转列表 if not head: return [] return [head.val] + node2list(head.next)迭代法# 迭代法 def list2node(data): # 列表转节点 head = ListNode() p = head for i in data: p.next = ListNode(i) p = p.next return head.next def node2list(head): # 节点转列表 data = [] while head: data.append(head.val) head = head.next return data
2023年01月12日
98 阅读
0 评论
0 点赞
2022-12-22
AttributeError: module 'asyncio' has no attribute 'to_thread'
进入docker后发现python版本为3.8,然后这个to_thread是3.9的
2022年12月22日
334 阅读
0 评论
0 点赞
2022-12-09
开源:匿名口令分享文本,文件-口令文件箱-文件快递柜
文件快递柜-轻量 FileCoxBox-Lite 匿名口令分享文本,文件,像拿快递一样取文件 视频介绍{bilibili bvid="BV1fD4y187Yk" page=""/}主要特色[x] 轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI[x] 轻松上传:复制粘贴,拖拽选择[x] 多种类型:文本,文件[x] 防止爆破:错误次数限制[x] 防止滥用:IP限制上传次数[x] 口令分享:随机口令,存取文件,自定义次数以及有效期[x] 匿名分享:无需注册,无需登录[x] 管理面板:查看所有文件,删除文件[x] 一键部署:docker一键部署未来规划2022年12月14日这个项目主要是以轻量为主,主要是单用户,离线环境,因此也不需要加太多东西,所以其实这个项目到这基本功能已经完成了,剩下的就是维护和完善现有功能。也不会再加入新的大功能了,如果有新的功能的话,那就是我们的Pro版本了,当然也是继续开源的,能和@veoco一起开源挺荣幸的,在他的代码中我学到了许多,此前我基本上是使用Django那一套,对Fastapi仅限于使用,他的许多写法让我受益匪浅,也让我对Fastapi有了更深的了解,所以我也会在Pro版本中使用Fastapi。根据目前一些使用反馈来说,希望加入登录功能,还有多存储引擎等,欢迎各位继续提意见,加入我们共同开发。如果你有更好的想法和建议欢迎提issue。预览例站https://share.lanol.cn寄件 取件 管理部署方式Docker一键部署docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:latest其他方式仅供参考,历史版本->部署文档配置文件如果需要修改配置,可以将该文件放在/opt/FileCodeBox/目录下,并命名为.env,然后重启容器即可。如果不是Docker,则需要在项目同目录下新建一个data文件夹,然后在创建.env文件# 端口 PORT=12345 # Sqlite数据库文件 DATABASE_URL=sqlite+aiosqlite:///database.db # 静态文件夹 DATA_ROOT=./static # 静态文件夹URL STATIC_URL=/static # 是否开启上传 ENABLE_UPLOAD=true # 错误次数 ERROR_COUNT=5 # 错误限制分钟数 ERROR_MINUTE=10 # 上传次数 UPLOAD_COUNT=60 # 上传限制分钟数 UPLOAD_MINUTE=1 # 管理地址 ADMIN_ADDRESS=admin # 管理密码 ADMIN_PASSWORD=admin # 文件大小限制,默认10MB FILE_SIZE_LIMIT=10 # 网站标题 TITLE=文件快递柜 # 网站描述 DESCRIPTION=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件 # 网站关键词 KEYWORDS=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件 # 存储引擎 STORAGE_ENGINE=filesystem状态免责声明本项目开源仅供学习使用,不得用于任何违法用途,否则后果自负,与本人无关。使用请保留项目地址谢谢。
2022年12月09日
1,210 阅读
37 评论
0 点赞
2022-11-20
ffmpeg批量压缩视频 python
import os base_path = './input' out_path = './output' if not os.path.exists(base_path): print('请将要转码的视频放置在{}文件夹下面!'.format(base_path)) os.mkdir(base_path) if not os.path.exists(out_path): print('请将要转码的视频放置在{}文件夹下面!'.format(out_path)) os.makedirs(out_path) suffix = ('mov', 'mp4', 'mpeg', 'avi', 'flv', 'mkv') #max_proc = int(input('请输入最大工作进程数量(建议为2~4) >> ')) #del_flag = input("处理完成后是否删除源文件?(y/n) >> ").lower() del_flag = False def run_func(path): name = path.split('\\')[-1] pid = os.getpid() os.system("ffmpeg -i ./input/{} -s 1920x1080 -b:v 1M -r 20 ./output/{}".format(name, name)) print('exit') for root, dirs, files in os.walk(base_path, topdown=False): for name in files: if name.lower().endswith(suffix): p = os.path.join(root, name) run_func(p) print('处理完成!')将需要压缩的视频放到./input文件夹下,创建一个output文件夹。
2022年11月20日
269 阅读
0 评论
0 点赞
1
...
11
12
13
...
89