开发环境软硬件篇
docker安装ubuntu环境双屏设置(12条消息) 使用spacedesk实现两台笔记本的双屏显示_迈皮皮的博客-CSDN博客
切换主显示器
状态机
什么是状态机基本介绍能不能通俗的讲解下什么是状态机? - 知乎 (zhihu.com)
状态机是一种编程思路。一种对对自然界某种事物(或数据)状态变化的抽象。
让你的程序开发维护,思路更加清晰方便。
它规定了一个实例(某种抽象),某一时刻只能有一种状态(属性)。一般用字符串表示。
规定了只能通过实例的方法,即执行某个动作(函数),之后才可以改变状态(属性)。
就这两个规定。
再说有限状态机。和状态变更回调。
有限状态机,指上诉的状态机,总状态数种类是有限个。
且规定变化到某种状态,需要验证当前状态是都合理。实现的话,实例化时候需要接收允许从某状态,变化到哪些状态。然后写一个验证,里面就一行 if 判断是否允许。(例如订单,代码层面,不允许从已付款变成未付款,允许从未付款变成已付款,直接改数据库的不算)
状态变更回调,指状态变更动作之前和之后执行的函数。
状态变更动作可能是异步完成,有时候需要知道开始和结束。例如调试时候。
状态的顺序和路径以不可能破坏特定顺序的方式定义和限制。以咖啡机为例,如果没有事先加热和清洁,就不可能在打开设备后直接煮咖啡。这种机器称为有限状态机。 ...
shell
文件批量重命名rename 命令顾名思义,rename 命令就是用来进行重命名文件名的。rename 命令有非常强大的功能,我们可以用它来实现各种各样复杂的文件名修改。但是,本文只介绍它最最基本的功能。其最基本的格式如下:
1rename 源字符串 目标字符串 文件
其中,源字符串表示原文件名需要替换的字符串,可以是原文件名的全部或部分;
目标字符串就是想要替换成的字符串;
文件就是需要更改文件名的文件列表,可以是一个或多个。
现假如目录下有一堆 atb_mod_01.cpp、atb_mod_02.cpp、atb_mod_03.cpp、atb_mod_04.cpp 等形式的文件,我们的需求是将文件名中的 mod 改成 adb,那么完成这个需求的命令如下:
12345[alvin@VM_0_16_centos exp3]$ lsatb_mod_01.cpp atb_mod_02.cpp atb_mod_03.cpp atb_mod_04.cpp[alvin@VM_0_16_centos exp3]$ rename mod adb *[alvin@VM_0_16_centos exp3] ...
docker基础与进阶
来源:https://www.bilibili.com/video/BV1gr4y1U7CY
Docker简介为什么会有docker出现?假定您在开发一个尚硅谷的谷粒商城,您使用的是一台笔记本电脑而且您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。此外,您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。您希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销。请问?
您要如何确保应用能够在这些环境中运行和通过质量检测?并且在部署过程中不出现令人头疼的版本、配置问题,也无需重新编写代码和进行故障修复?
答案就是使用容器。Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案—–系统平滑移植,容器虚拟化技术。
环境配置相当麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。
之前在服务器配 ...
数据引言
系统认知基建环境与工具office365-excelpython环境数据库环境IDE数据获取数仓监测与爬虫
直接解析网页、接口、文件
python常用工具
urllib、urllib2、requests、scrapy
PhantomJS、beautifulSoup、Xpath(lxml)
埋点填写日志取数
txt、docx、pdf等非格式化数据
mysql、redis等格式化数据
常用取数方法
数据存储数据库mysql非格式化数据数据统计与分析
pandas、numpy
数据可视化数据挖掘数据建模业务维度餐饮物流企业管理岗位数据分析软件自定义集成分析报告报告维度报告自动生成基于算法报告生成
python环境
windows安装python3官网下载:Download Python | Python.org,国外下载慢,网盘:https://www.aliyundrive.com/s/xfEJeFK7Evw
配置环境变量:win10如何安装python3及设置环境变量
如果本机上已经配置了其他版本的python,可以将python3根目录下的python.exe重命名,如python3.11。再用python3.11调用即可
同理配置下pip的环境变量,在python311\Scripts目录
linux安装python3Linux系统安装Python3环境(超详细)
默认情况下,Linux会自带安装Python,可以运行python –version命令查看
查看Linux默认安装的Python位置
1234567891011[root@localhost ~]# whereis pythonpython: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/ ...
数据挖掘方法论
CRISP-DM1.3 数据挖掘方法论 CRISP-DM - 知乎 (zhihu.com)
CRISP-DM方法论_百度百科 (baidu.com)
CRISP-DM方法论 - MBA智库百科 (mbalib.com)
如果你给我一个小时来砍树,我会花二十分钟先磨刀 —— 林肯
在数据分析过程中,开发人员需要与商业人员进行沟通找出一套最佳实践方法,这有助于项目人员更好地站在商业的角度理解数据挖掘的目标。此处,仅拣选以下一种业界普遍认可、使用范围广的数据挖掘方法CRISP-DM作简单介绍,同时概括如何使用Power BI/Tableau帮助流程落地。
CRISP- DM (cross-industry standard process for data mining), 即为”跨行业数据挖掘标准流程”,由欧盟机构联合起草,通过近几年的发展,2014年其采用量已达到43%。所谓跨行业,就代表通用性,其方法并非仅供IT人员、数据科学家专用,也适合不同行业的专业人士在挖掘商业价值时应用。
图 1.3.1 CRISP-DM的步骤流程
如图 1.3‑1所示,CRISP- DM包含了六个步 ...
数据分析导论
需要大量的项目积累,才可谈思维
相关链接:https://www.bilibili.com/video/BV1a7411f7Vi/
数据分析思维如何理解数据收集?
谈谈指标体系的构建?
什么是一个好的指标?
学习方式
阶段式学习
不要妄想一口吃成一个胖子,明确现阶段学习重点,忌讳每天什么都学一点
现实中如果有各种压力,要沉下心来
解决问题
不要不带目的的学习
主动用学习到的内容,求解工作中的问题
量化学习的目标
温故知新
好记性不如烂笔头
输出
输出是一种高效的学习方式
能否准确无误的解释给他人听?能否用通俗易懂的方式解释
三种核心思维结构化实际问题:
想到一点是一点
做假设,乱做假设
一次性分析,没有复用性
没结果
将分析思维结构化
核心论点
将论点归纳和整理
寻找金字塔的塔顶,它可以是假设,是问题,是预测,是原因
结构拆解
将论点递进和拆解
自上而下,将核心论点层层拆解成分论点,上下关系呈因果或依赖关系
MECE
相互独立,完全穷尽
论点之间避免交叉和重复
分论点要尽量完善,将论点完善和补充
验证
不论核心论点还是分论点,都应该是可 ...
hexo博客加载优化
概览
资源类型
文件大小
情景
加载时间
处理方式
前置准备
woff2字体文件
5M+
一:放在source目录下,直接访问托管的github网站
20s+
可以托管在国内的gitee上,但它会莫名封掉不让访问。并且hexo有部分应用依赖github。不考虑托管在国内
无
二:文件挂到七牛云存储上,https://s.qiniu.com/QVNJNf
cdn
1.备案域名2.域名证书
图片
大图
例如:toc_img和底部图
图片格式转为webp,工具:XnConvert
小图
例如自定义鼠标图
资源文件直接放在github托管的网站上,在source目录下css中的可以通过相对路径引用,配置文件可以直接通过域名访问
字体图标默认走的是jsdelivr
图片小图小图还是别放免费图床了,完全属于负优化了,当然如果找到了serverResponse比较快的图床,还是可以的(如果付费图床自己做了cdn,还是放图床上吧)
放图床上
放github上
放七牛云上
对比可以看到,虽然七牛云的contentDownload最快,但 ...
lua基础
背景:现在众多 VIM 插件都有了基于 Lua 的原生 Neovim 版本,使得 Neovim 脱离了传统 VIM 的束缚
基本语法Lua 基本语法
Lua语法快速入门
模块与包模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度。
Lua 的模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table 就行。以下为创建自定义模块 module.lua,文件代码格式如下:
123456789101112131415161718192021-- 文件名为 module.lua-- 定义一个名为 module 的模块module = {} -- 定义一个常量module.constant = "这是一个常量" -- 定义一个函数function module.func1() io.write("这 ...