task_tracker_cli
我的真正意义上的第一个项目,虽然说很大程度上借鉴了别人的智慧,但也算是一个个细节抠过来了 https://github.com/lephuocloc1729/task_tracker_cli 这个项目是怎么从零开始构建的? 这个项目是一个从零开始构建的简单命令行任务管理应用,其构建过程大致可以归纳为以下几个步骤: 项目规划与需求定义 确定项目的目标:实现一个命令行界面的任务管理器,支持添加、更新、删除、标记(如进行中或完成)和列出任务。 设计数据存储方案:例如使用一个 JSON 文件(tasks.json)来存储任务数据。 创建 Git 仓库 在 GitHub 上新建仓库(如 task_tracker_cli)。 本地使用 git init 初始化仓库,然后关联远程仓库(例如使用 git remote add origin ... 命令)。 搭建项目结构 创建主要的 Java 源代码文件: Task.java:定义任务对象的属性和方法。 TaskManager.java:负责管理任务(例如添加、更新、删除任务以及与 tasks.json...
MySQL
简介笔记:MySQL DataBase:简称DB 概念:长期存放在计算机内,有组织,可共享的大量数据的集合 作用:保存,安全管理数据(增删改查) 关系型数据库(SQL): MySQL , Oracle , SQL Server , SQLite , DB2 通过外键关联来建立表与表之间的关系 非关系型数据库(NOSQL): Redis , MongoDB 数据以对象的形式存储,对象之间的关系通过每个对象自身的属性来决定 DBMS:数据库管理系统 ( DataBase Management System ) SQL: SQL 是处理关系数据库的标准语言,用于插入、搜索、更新和删除数据库记录。 SQL 关键字不区分大小写:select 与 SELECT 相同 配置卸载:教你彻底卸载MySQL 并重装(保姆级教程 )_mysql怎么卸载干净重装-CSDN博客 安装:MySQL超详细安装配置教程(亲测有效)_mysql安装教程-CSDN博客 安装推荐使用压缩版 压缩包:MySQL :: Download MySQL Community...
Git
[推荐教程](简介 - Git教程 - 廖雪峰的官方网站) 简介目前世界上最先进的分布式版本控制系统(没有之一) 场景你要用Microsoft Word写过长篇大论: 想删除一个段落,又怕将来想恢复找不回来怎么办?->手动保存一大堆版本 过了一周,你想找回被删除的文字,但是已经记不清删除前保存在哪个文件里了,只好一个一个文件去找 看着一堆乱七八糟的文件,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删 有些部分需要你的财务同事帮助填写,于是你把文件Copy到U盘里给她,一天后,同事再把Word文件传给你,此时,你必须想想,发给她之后到你收到她的文件期间,你作了哪些改动,得把你的改动和她的部分合并,真困难 于是你想,如果有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便? 由此诞生了Git,结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪 集中式 vs...
命令行
命令行GUI、CLICSGO就不是命令行软件 GUI: *Command-Line Interface,命令行界面,*命令行界面用鼠标双击会跳窗口的软件 CLI: Graphical User Interface,图形用户界面在终端里敲键盘才能用的软件 Type GUI CLI 浏览器 Chrome/Firefox w3m/lynx 图像处理 PhotoShop ImageMagick 视频编辑 Pr/Davinci resolve FFmpeg 文本编辑 VSCode/Sublime Vim/TECO 为什么要使用命令行因为我们用计算机的目的不同:程序员要写程序 而命令行比GUI更高效 比如apt install gcc一行就能安装完整的C语言编译工具 *example:*比较两个文件是否相同 命令行: 123文本文件的比较:vimdiff file1 file2非文本文件的比较:diff file1 file2很大的文件:md5sum file1...
赛博扫盲
...
线性回归的从零开始实现(深度学习)
虽然现代的深度学习框架几乎可以自动化地进行所有这些工作,但从零开始实现可以确保我们真正知道自己在做什么。 同时,了解更细致的工作原理将方便我们自定义模型、自定义层或自定义损失函数 生成数据集为了简单起见,我们将根据带有噪声的线性模型构造一个人造数据集。 任务使用这个有限样本的数据集来恢复这个模型的参数 生成一个包含1000个样本的数据集,每个样本包含从标准正态分布中采样的2个特征。 使用线性模型参数$\mathbf{w} = [2, -3.4]^\top$、$b = 4.2$和噪声项$\epsilon$生成数据集及其标签:$$\mathbf{y}= \mathbf{X} \mathbf{w} + b + \mathbf\epsilon$$$\epsilon$可以视为模型预测和标签时的潜在观测误差。在这里我们认为标准假设成立,即$\epsilon$服从均值为0的正态分布。为了简化问题,我们将标准差设为0.01。 123456789101112131415161718192021222324%matplotlib inlineimport...
线性回归(深度学习)
回归(regression)是能为一个或多个自变量与因变量之间关系建模的一类方法 线性回归(linear regression) 线性回归的基本元素 线性模型 损失函数 解析解 随机梯度下降 用模型进行预测 例子根据房屋的面积(平方英尺)和房龄(年)来估算房屋价格(美元)。 训练数据集(training data set) 或训练集(training set):房屋的销售价格、面积和房龄 样本(sample)/数据点(data point)或数据样本(data instance):每行数据 标签(label)或目标(target):试图预测的目标(比如预测房屋价格) 特征(feature)或协变量(covariate):预测所依据的自变量(面积和房龄) 线性模型$$\mathrm{price} = w_{\mathrm{area}} \cdot \mathrm{area} + w_{\mathrm{age}} \cdot \mathrm{age} +...
概率(深度学习)
简单地说,机器学习就是做出预测 概率是一种灵活的语言,用于说明我们的确定程度,并且它可以有效地应用于广泛的领域中 基本概率论掷骰子1234567891011121314%matplotlib inlineimport torchfrom torch.distributions import multinomialfrom d2l import torch as d2lfair_probs = torch.ones([6]) / 6multinomial.Multinomial(1, fair_probs).sample() # tensor([0., 0., 0., 1., 0., 0.])multinomial.Multinomial(10, fair_probs).sample() # tensor([1., 2., 2., 1., 1., 3.])# 将结果存储为32位浮点数以进行除法counts = multinomial.Multinomial(1000, fair_probs).sample()counts / 1000 # 相对频率作为估计值#...
微积分(深度学习)
安装 matplotlib 库和 d2l 库123conda activate d2lpip install matplotlibpip install d2l 验证安装1234import matplotlibprint(matplotlib.__version__)import d2lprint(d2l.__version__) 导数和微分假设我们有一个函数$f: \mathbb{R} \rightarrow \mathbb{R}$,其输入和输出都是标量,如果$f$的导数存在,这个极限被定义为:$$f’(x) = \lim_{h \rightarrow 0} \frac{f(x+h) - f(x)}{h}.$$如果$f’(a)$存在,则称$f$在$a$处是可微(differentiable)的。 1234567%matplotlib inline import numpy as npfrom matplotlib_inline import backend_inlinefrom d2l import torch as d2ldef f(x): ...