Aapanel - 宝塔国际版安装和使用  [draft]

aapanel是宝塔面板的国际版,不需要登录和绑定账号,可以免去很多麻烦,下面是官方的安装脚本: # for centos yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh aapanel # ubuntu / deepin wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh aapanel # debian wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh aapanel 需要说明的是 aapanel汉化 可以参考项目:gacjie/aapanel_chinese: 基于aapanel 制做的中文包

December 12, 2022

Docker学习笔记  [draft]

开发环境 # docker run -p 127.0.0.1:3307:3306 --name mysql -v ~/workspace/db/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 清理docker docker-compose通过yml配置文件创建docker后删除 docker-compose -f <config.yml> up -d docker-compose -f <config.yml> rm -v # stop container and remove it

December 12, 2022

Node.JS 学习笔记  [draft]

项目实践 使用express-generator创建正式项目 cnpm install express-generator -g cd ~/workspace/Node express --view=ejs blog # 指定ejs模板 cd blog cnpm i # 安装所有依赖 DEBUG=blog:* npm start # 这样启动不会实时刷新js文件,需要安装nodemon实时刷新 cnpm install nodemon -S # 将 package.json 文件中 # "start": "node ./bin/www" # 修改为 # "start": "nodemon ./bin/www" # 即可 安装数据库mysql支持 cd ~/workspace/Node/blog cnpm install sequelize -S cnpm install mysql2 -S cnpm install sequelize-cli -g 模型 迁移和种子 cd ~/workspace/Node/blog sequelize init # 配置好mysql配置后,初始化db sequelize db:create --charset 'utf8mb4' # create table migration, 会生成迁移文件和 article模型 sequelize model:generate --name Article --attributes title:string,content:text # 执行迁移操作 sequelize db:migrate # 添加种子文件 sequelize seed:generate --name article # 去seed文件中修改 添加需要的数据 # 执行添加种子操作 sequelize db:seed:all express开发流程如下: 添加评论...

December 9, 2022

调度系统研究  [draft]

目前收集到的现成的一些调度系统有: java: xxl-job: 分布式任务调度平台XXL-JOB PowerJoob: PowerJob/README_zhCN.md at master · PowerJob/PowerJob, 参考对比分析的文章:python分布式任务调度开源_比xxl-job 优秀的分布式定时任务调度框架 go 基于go语言的开源调度系统整理 python Airflow: 浅谈调度工具——Airflow Maat(Airflow二开):深度解析 | 基于DAG的分布式任务调度平台:Maat - 简书 其他 php框架laravel的定时任务调度: codestudiohq/laravel-totem: Manage Your Laravel Schedule From A Web Dashboard

December 1, 2022

TV直播源收藏【保持更新】

家里有 常用源 热门项目 涩涩源 https://raw.githubusercontent.com/YanG-1989/m3u/main/Adult.m3u https://raw.githubusercontent.com/gjwj666/jichang/main/chuanmei2.m3u https://wuyun999.github.io/wuyun/zb/ss.txt `` `` `` ``

November 28, 2022

Nmap命令学习  [draft]

nmap(Network Mapper)绝对是扫描的好工具,新买的服务器经常需要检查下对应开放的端口,比如这个命令可以通吃很多: apt install nmap -y nmap Your_Server_IP -p1-60000 # 扫描ip1-60000端口的情况 下面再说下他的一些基础用法吧。 nmap基础 说到nmap,得先了解下netstat: netstat参数解释: -l (listen) 仅列出 Listen (监听) 的服务 -t (tcp) 仅显示tcp相关内容 -n (numeric) 直接显示ip地址以及端口,不解析为服务名或者主机名 -p (pid) 显示出socket所属的进程PID 以及进程名字 --inet 显示ipv4相关协议的监听 参考 nmap命令

November 27, 2022

Python爬虫笔记  [draft]

一、爬虫概述 什么是爬虫? 不知道各位是否遇到过这样的需求.就是我们总是希望能够保存互联网上的一些重要的数据信息为己所用。比如, 在浏览到一些优秀的让人血脉喷张的图片时.总想保存起来留为日后做桌面上的壁纸 在浏览到一些重要的数据时(各行各业),希望保留下来日后为自己进行各种销售行为增光添彩 在浏览到一些奇奇怪怪的劲爆视频时,希望保存在硬盘里供日后慢慢品鉴 在浏览到一些十分优秀的歌声曲目时,希望保存下来供我们在烦闷的生活中增添一份精彩 那么恭喜你.本课程将十分的适合于你.因为爬虫就是通过编写程序来爬取互联网上的优秀资源(图片,音频,视频,数据) 爬虫和Python 爬虫一定要用Python么?非也~用Java也行,C也可以.请各位记住,编程语言只是工具.抓到数据是你的目的.用什么工具去达到你的目的都是可以的。和吃饭一样,可以用叉子也可以用筷子,最终的结果都是你能吃到饭.那为什么大多数人喜欢用Python呢?答案:因为Python写爬虫简单.不理解?问:为什么吃米饭不用刀叉?用筷子?因为简单!好用! 而Python是众多编程语言中,小白上手最快,语法最简单.更重要的是,这货有非常多的关于爬虫能用到的第三方支持库.说直白点儿.就是你用筷子吃饭,我还附送你一个佣人.帮你吃!这样吃的是不是更爽了.更容易了~ 爬虫合法么? 首先,爬虫在法律上是不被禁止的.也就是说法律是允许爬虫存在的.但是,爬虫也具有违法风险的.就像菜刀一样,法律是允许菜刀的存在的.但是你要是用来砍人,那对不起.没人惯着你.就像王欣说过的,技术是无罪的.主要看你用它来干嘛.比方说有些人就利用爬虫+一些黑客技术每秒钟对着bilibill撸上十万八千次.那这个肯定是不被允许的. 爬虫分为善意的爬虫和恶意的爬虫 善意的爬虫,不破坏被爬取的网站的资源(正常访问,一般频率不高,不窃取用户隐私) 恶意的爬虫,影响网站的正常运营(抢票,秒杀,疯狂solo网站资源造成网站宕机) 综上,为了避免进, 我们还是要安分守己.时常优化自己的爬虫程序避免干扰到网站的正常运行.并且在使用爬取到的数据时,发现涉及到用户隐私和商业机密等敏感内容时,一定要及时终止爬取和传播 爬虫的矛与盾 反爬机制 门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取。 反反爬策略 爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站中相关的数据。 robots.txt协议: 君子协议。规定了网站中哪些数据可以被爬虫爬取哪些数据不可以被爬取。 二、爬虫入门 2.1 第一个爬虫 from urllib.request import urlopen url = 'http://www.baidu.com' resp = urlopen(url) print(resp.read().decode("utf-8")) 2.2 request模块入门 安装 pip3 install requests pip3 install -i 第三方镜像地址 requests import requests url = "https://fanyi.baidu.com/sug" hehe = { "kw":input("请输入一个单词") } resp = requests.post(url, data=hehe) print(resp. text)# 拿到的是文本字符串 print(resp.json())#此时拿到的直接是json数据 hehe = {'type'=13, 'start'='0'} headers = {'User-Agent': "xxxx"} resp = requests....

October 22, 2022

JavaScript笔记(二): ES6入门  [draft]

二、 ES6 2.1 let, var, const定义变量 var: 定义变量如果是在函数内部的是局部,外面就是全局的 let: 定义的变量是局部使用的,无法替换跨域 const: 常量定义,无法被改变,但可以单独改变内部变量,比如字符串修改 s[2] = ‘a’; const 声明并不会真的保护数据不被改变。 为了确保数据不被改变,JavaScript 提供了一个函数 Object.freeze(变量)。 2.2 匿名函数 我们通常会使用以下语法: const myFunc = function() { const myVar = "value"; return myVar; } ES6 提供了其他写匿名函数的方式的语法糖。 你可以使用箭头函数: const myFunc = () => { const myVar = "value"; return myVar; } 当不需要函数体,只返回一个值的时候,箭头函数允许你省略 return 关键字和外面的大括号。 这样就可以将一个简单的函数简化成一个单行语句。 const myFunc = () => "value"; 这段代码默认会返回字符串 value。 同时可以通过括号里面的变量进行传参: const mul = (a, b=2) => a*b; console....

September 11, 2022

MongoDB笔记  [draft]

I. install mongodb # docker docker pull mongo:4 # install mongodb 4 docker images # show images docker run --name mymongo -v /usr/local/var/docker/mongodb/data:/data/db -d mongo:4 docker ps docker logs mymongo # install mongo express docker pull mongo-express docker run --link mymongo:mongo -p 8081:8081 mongo-express # mac brew install mongodb-community brew services start mongodb/brew/mongodb-community # 1.1 init mongodb set auth for mongodb You can login mongodb direct without password when your mongodb version grate or enquit v4....

May 24, 2022

Python Flask Note  [draft]

一、flask基础教程 jinja2 模板 数据处理 {% if %}标签 {% if age < 18 %} <p>还未成年,不能进网吧上网</p> {% elif age == 18 %} <p>刚刚成年,先去庆祝一下吧,再去上网</p> {% else %} <p>已经成年了,可以去网吧上网了</p> {% endif %} {% for %}标签 <ul> {% for user in users %} <li>{{ user }}</li> <!-- 如果没有值,空的列表之类的,就会执行else语句 --> {% else %} <li>没有任何值</li> {% endfor %} </ul> <!-- 遍历字典: ---> {% for key,value in person.items() %} <!--{% for key in person.keys() %} 遍历字典的key --> <!--{% for value in person....

May 24, 2022