images/default1.jpg

MySQL JOIN MIN()/MAX() 组合使用

Tuesday, Jun 9, 2020

这次阿航在开发后端接口, 写复杂SQL查询时碰到了这个问题, 我需要将MySQL的JOIN关键字和MIN()同时使用. 本篇文章就来记录下MySQL JOIN MIN()/MAX()的组合使用. 应用场景 大家都有过淘宝网购的经历, 应该记得在搜索时, 出来的结果列表都是每个产品的最小价格. 点进去后, 选择不同的型号会有相应的价格. 阿航碰到的是我有两个表, 一个是SPU(产品表), 一个是SKU(商品表), 它们是一对多的关系(因为一款产品会有多个型号). 我需要在查询SPU的同时, 再把对应的最便宜的SKU的价格进行返回. 总结: 一对多关联查询, 并且把多的表的最大/最小值返回. 实战开始 [epcl_box type=“information”]为了方便大家理解, 阿航在这里进行相应的简化[/epcl_box] 数据关系 先来看下两个表的关系: 其中, 一个SPU对应多个SKU ( 比如一件衣服有多个颜色 ). 💡 解析 初始化数据库 进入数据库, 运行以下SQL语句定义并初始化数据表: CREATE DATABASE mysql_join_demo DEFAULT CHARACTER SET = 'utf8mb4'; USE mysql_join_demo; CREATE TABLE t_spu( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', name VARCHAR(32) NOT NULL COMMENT '产品名', PRIMARY KEY (id) ) COMMENT = '产品SPU表'; CREATE TABLE t_sku( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', spu_id BIGINT NOT NULL COMMENT '产品ID', spec VARCHAR(32) NOT NULL COMMENT '型号', price BIGINT NOT NULL COMMENT '价格', PRIMARY KEY (id) ) COMMENT = '商品表'; INSERT INTO `mysql_join_demo`.
2 minute read
images/default2.jpg

Github/Gitlab 等远程Git仓库fork后与原仓库同步

Thursday, Jun 4, 2020

看到这篇文章, 说明你也是个勤奋的贡献者🤝🤝. 同学们在贡献代码 PR 前, 都需要将原仓库fork下来. 但有时原仓库的代码比我们fork后的代码新, 并且github目前似乎并未提供自动fork的机制. 本篇文章就来记录下Github/Gitlab 等远程Git仓库fork后与原仓库同步的方法. 适用场景 github等远程仓库的原仓库代码有大量变更, 需要将自己fork下来的仓库和原仓库同步. 需具备的条件 本篇教程假定: 你已经掌握基础的CMD/Bash/Shell终端命令. 你已经掌握了基本的Git命令以及Github操作. 你已经有了待同步的、fork下来的代码仓库. [epcl_box type=“notice”]本篇教程将会尽可能减少废话, 只放干货. 所以请你仔细阅读并严谨遵循教程步骤![/epcl_box] 解决方案 查看当前远程仓库配置 打开终端, cd至仓库目录内. 输入以下命令以查看当前的远程仓库: git remote -v 正常情况下, 会返回类似于: git remote -v origin https://github.com/你的用户名/你的仓库名.git (fetch) origin https://github.com/你的用户名/你的仓库名.git (push) [epcl_box type=“notice”]如果你未返回数据, 请检查你的本地仓库是否关联了远程仓库. 若格式和上面不一致, 请检查你的仓库状态.[/epcl_box] 绑定上游远程仓库 紧接着输入以下命令行, 绑定上游仓库: git remote add upstream "https://github.com/上游用户名/上游仓库名.git" 再次查看当前仓库: git remote -v 正常情况下, 会返回类似于: git remote -v origin https://github.com/你的用户名/你的仓库名.git (fetch) origin https://github.com/你的用户名/你的仓库名.git (push) upstream https://github.
1 minute read
images/default3.jpg

开启Win10的内置Linux系统(Ubuntu)

Wednesday, Jun 3, 2020

不知道从哪个版本开始, Windows开始内置Linux系统了. 在之前的开发中, 两个系统切换超级麻烦, 不管是虚拟机、双系统还是双电脑, 极大的降低了开发速度, 并不符合程序员思维. 所以只能舍弃其中一个. 然而大多数的软件开发环境还是Linux更舒适. 本篇文章就来记录下如何开启Win10内置的Linux系统. 需具备的条件 本篇文章的阿航的电脑系统及配置(配置略低, 莫笑😝😝): 电脑配置 Windows 10 版本 [epcl_box type=“notice”]注意对照系统版本, 若你的版本过旧, 可能无法顺利遵循本文章进行配置内置Linux系统.[/epcl_box] 开始 开启开发者模式 点击开始, 输入开发者设置: 点击进入, 选中开发人员模式, 它会自动安装一些东西, 耐心等待完成: 启用Linux子系统 点击开始, 输入启用或关闭Windows功能: 出现一个非常可爱的窗口, 向下拉, 找到适用于 Linux 的 Windows 子系统, 勾选, 确定: 将会分别经过三个步骤: 跟随引导, 点击"立即重新启动"(别忘了保存阿航的教程啊, 等下还要回来呢😄😄😄😄) 安装Ubuntu 开机后, 点击开始, 输入Microsoft Store, 点击进入. 点击右上角"搜索", 输入Ubuntu, 可以搜索到如下结果: 选择你需要的Ubuntu版本(如果不知道怎么选, 就直接选第一个Ubuntu), 点击进入详情页: 点击获取按钮. 可能遇到的问题: 如果你遇到了你所在的地区不支持通过 microsoft.com 购买的解决方案, 可阅读这篇文章 : 如果你点击获取按钮没反应, 可阅读这篇文章 解决. 获取中: 获取完成, 点击安装:
1 minute read
images/default2.jpg

Windows 10 Microsoft应用商店点击获取按钮无法下载、没反应

Sunday, May 31, 2020

在使用Microsoft应用商店, 准备下载某个应用时, 点击获取按钮. 手都tm按麻了也没见开始下载…甚至连提示都没有!! 服了这微软. 本篇文章就来记录下如何解决此问题. 问题展示 所在地区不支持 如果你是如图的问题, 请先移步《你所在的地区不支持通过 microsoft.com 购买的解决方案》 : 点击获取按钮无反应: 当你点击如下图的获取按钮后, 界面一动不动, 没有任何回应、提示: 本篇文章就是来解决这个问题的. 解决方案 方案一: 清理Microsoft应用商店缓存 先关闭所有打开的应用商店窗口. 右键开始, 点击Windows Powershell(管理员): 在命令行中输入wsreset: 输入回车, 耐心等一下(因为不会有反馈, 甚至进度条也没有), 阿航大概等了3分钟左右. 清理完成后会弹出商店: 再次进入应用下载页, 点击获取: 当然, 这种方式可能无法解决问题, 若如此, 请继续看下面的解决方案. 方案二: 重置Microsoft应用商店 点击开始, 输入应用和功能: 点击进入, 向下拉, 找到Microsoft Store, 单击它, 点击高级选项: 进入到高级选项窗口, 向下拉, 找到重置: 点击重置, 并确认重置: 等待, 转圈: 重置完成后, 重置按钮右边会出现"√": 再次打开应用商店, 看看是否成功. [epcl_box type=“success”]阿航在这一步成功了![/epcl_box]
1 minute read