抢不到火车票?不妨来看看我!
抢不到火车票?不妨试试这个项目12306抢票小助手不过,抢票软件并非万能,巧coder难为无票之炊,除了技术,你可能还需要一点点运气。
无论采取哪种交通方式,祝大家都能开开心心过年回家,平平安安回来搬砖~
原项目地址https://github.com/testerSunshine/12306
其实作者已经没有在维护了…
我只是拿剩下的进行了二开
多多少少会有些问题..🐷
Python Version
2.7.10 - 2.7.15(目前根据作者代码来看已经不支持)
3.6 - 3.7.4(推荐)
2.7.9(不太确定)
3.8.x(今天测试-不支持)
已实现功能
自动打码
自动登录
准点预售和捡漏
智能候补
邮件通知
server酱通知
短信通知提示(2020-1-11日新增)
更新Token参数(优先调用)
预获取Cookie(待增加)
设置支付接口(直接调用支付-(这个暂且不太想考虑了...有些不安全))
短信通知为本人新加,有任何问题请在评论区联系评论
依赖库
验证码目前可以本地识别,需要下载模型,放于项目根目录.
这个可以不用克隆 ...
本站公告
关于本站说明🐷🌔
没啥可说明的…一个日常分享运维日常的博客
希望得到大家的喜欢,不定时会分享自己觉得非常🤙的项目
关于本站友链申请格式
需要放置友链页面留言板..
1234- name: Northern Ireland link: https://blog.micomint.top avatar: https://i.loli.net/2020/12/15/JCUBW61Mjm7hfbe.jpg descr: 平凡的脚步也可以走出伟大的行程
2.0 关于本站一些技术教程问题的提问http://wenda.micomint.top提问格式如下,留言板直接留言即可
12- 问题描述- 提问原站教程链接
2020-12-8更新
投稿邮箱:beilanzhisen@163.com
站长联系:3441789878
新年愿望:祝大家在新的一年里越来越好
最后感谢各位一年多以来的阅读陪伴🌃
等我加载完就会有彩蛋出现哦
Kubernete-Secret资源
Secret加密数据存在ETCD里面,让Pod容器以挂载Volume的方式进行访问.
创建Secret
12345678apiVersion: v1kind: Secretmetadata: name: mysecrettype: Opaquedate: username: YWRtaW4= password: MTc2MTE0NjY1MTdBYmM=
挂载方式(变量方式)
12345678910111213141516171819apiVersion: v1kind: Podmetadata: name: mypodspec: containers: - name: nginx image: nginx env: - name: SECRET_USERNAME valueFrom: secretKeyRef: name: mysecret key: username - name: SECRET_PASSWORD valueFro ...
Kubernete-Ingress网络详解
Ingress网络
NodePort:实现通过IP+端口号进行访问.
NodePort缺陷:在每个节点上都会起到端口,在访问时候通过任何节点,IP+端口即可实现访问,每个端口只能适用一次。
Ingress与Pod的关系
Pod和Ingress通过service进行关联
Ingress作为统一入口,由Service关联一组Pod
Ingress需要维护更多地域名
Kubernete-Pod操作管理集合
有状态与无状态
有状态和无状态的区别
无状态
认为Pod都是一样的
没有顺序要求
不用考虑在哪个Node运行
随意进行伸缩和扩展
无状态
有关无状态的因素都需要考虑
让每个Pod都是独立的,保持Pod启动顺序的唯一性
唯一的网络标识符,持久化存储数据
有序化,例如MYSQL主从
无头Service
ClusterIP:None
部署StatefulSet123456789101112131415161718192021222324252627282930313233343536# 首先构建一个无头ServiceapiVersion: v1kind: Servicemetadata: name: nginx labels: app: nginxspec: ports: - port: 80 name: web clusterIP: None selector: app: nginx---apiVersion: apps/v1kind: StatefulSetmetadata: name: nginx-statefulset na ...
Kubernetes-Deployment
Deployment应用场景
部署无状态应用Web或者微服务
管理Pod和ReplicaSet
部署、滚动升级
Pod资源限制1234567resource: # 调度时候资源配置大小 requests: memory: "64Mi" cpu: "250m"limits: # Pod的最大值 memory: "64Mi" cpu: "250m"
健康检查1234567livenessProbe: exec: command: - cat - /tmp/healthy initalDelaySeconds: 5 periodSeconds: 5
livenessProbe: 存活检查
readinessProbe:就绪检查
检测方式如下
HTTPGET:通过发送HTTP请求进行检测,范围200-400为正确
EXEC:通过进入容器执行命令进行检测
TCPSocker:通过建立Socker连接来进行检测
生成Yaml文件1kubectl create deployment web --image=nginx:1.7.9 -o yaml > ...
Kubernetes-1.6.2详细部署
准备环境
2 GB or more of RAM per machine (any less will leave little room for your apps 2 CPUs or more
Swap disabled. You MUST disable swap in order for the kubelet to work properly
注意:服务器CPU为2核心 内存2GB以上
三台同配服务器
更换阿里云yum地址1234mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakcurl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repomv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bakcurl -o /etc/yum.repos.d/epel.repo http://mirrors.a ...
Python模拟RabbitMQ生产者与消费者
Producer
123456789101112131415161718192021222324252627282930# -*- coding: utf-8 -*- # @Time : 2021/2/20 9:19 上午 # @Author : Forest# @File : Producer.pyimport jsonimport pikaimport datetime#生成消息入口处def get_message(): for i in range(10): #生成10条消息 message=json.dumps({'id': "10000%s" % i, "amount": 100 * i,"name":"tony","createtime":str(datetime.datetime.now())}) print(i) producter(message)#消息生产者def producter(message):#消息生产者 # 获取与rabbitmq 服务的连接,虚拟队列需要指定参数 virtual_host,如果是默认 ...
Redis集群搭建
Redis集群搭建Redis单机安装教程本博客都有
Redis主从搭建
Redis哨兵搭建
Redis Cluster(Redis集群)简介
redis是一个开源的key value存储系统,受到了广大互联网公司的青睐。redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,我这里用的是redis3.0.0版本;
redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点;
redis集群是没有统一的入口的,客户端(client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例;
为了实现集群的高可用,即判断节点是否健康(能否正常使用),redis-cluster有这么一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了,那么这个节点就挂了(fail)。这是判断节点是否挂了的方法;
那么如何判断集群是否挂了呢? -> 如果集群中任意一个节点挂了,而且该节点没有从节点(备份节点),那么这个集群就挂了。这是判断集群是否挂了的方法;
那么为什么任意 ...
不要在用Kill -9 直接下必杀令了
如果你不怕MYSQL堵死….你就用
1234567891011121314[root@bogon ~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO ...
MinBox Logging
MinBox Logging
MinBox Logging是一款分布式、零侵入式的链路日志分析框架,支持SpringCloud微服务架构下配置使用,内部封装了RestTemplate、OpenFeign两种方式透传链路信息。
零侵入式MinBox Logging无需使用注解配置采集链路日志,只需要添加依赖后简单配置Minbox Loggin Admin的相关地址或服务名称即可,每次在收到请求时就会把请求对应的链路日志详细信息自动上报到MinBox Logging Admin进行后续分析、告警通知等。
链路日志分析图
日志客户端链路日志的采集端,也就是具体的业务服务,只需要添加minbox-logging-client客户端进行简单的配置就可以实现日志的采集以及日志的异步上报。
日志管理端对外提供安全的日志上报功能,通过整合Spring Security来完成Basic Auth基础认证,管理端接收到采集端上报的日志后会自动将日志存储到数据库,考虑到扩展方便,同样也提供监听日志上报事件(ReportLogEvent)的方式来自定义存储日志到消息队列、logstash、文件等存储 ...
Python-方法反射
Python-方法反射
Python3.x
引言
什么是反射?
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。
简而言之 :反射就是通过字符串的去操作对象中的属性
反射的方法getattr() : 用于返回一个对象属性值。
hasattr(): 用于判断对象是否包含对应的属性
delattr(): 用于删除属性。
setattr(): 用于设置属性值,该属性不一定是存在的。
实例化对象1234567891011class Person(): def __init__(self,name,age): self.name = name self.age = age def walk(self): print("%s is walking..."% self.name) def talk(self): print("%s 调用成功" % self.name)p = Pers ...
Jenkins回滚版本
Jenkins-Build后回滚操作 就是用于生产业务环节的版本回滚
例如上线新版本报错…{wode fuck Error!!!}
更新新版本有Bug
Jenkins常用shell变量123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354以下变量可用于Shell脚本BUILD_NUMBER当前的内部版本号,例如“ 153”BUILD_ID当前版本ID,与在1.597+中创建的版本的BUILD_NUMBER相同,但对于较早版本的YYYY-MM-DD_hh-mm-ss时间戳BUILD_DISPLAY_NAME当前版本的显示名称,默认情况下类似于“#153”。JOB_NAME此版本的项目名称,例如“ foo”或“ foo / bar”。JOB_BASE_NAME此构建的项目的简称,它剥离了文件夹路径,例如“ bar / foo”的“ foo”。BUILD_TAG字符串“ jenkins- $ {JOB_NAME} - $ {BUI ...
Prometheus+Grafana监控
Prometheus
更新于2021-01-20
Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。现在,它是一个独立的开源项目,并且独立于任何公司进行维护。为了强调这一点并阐明项目的治理结构,Prometheus在2016年加入了 Cloud Native Computing Foundation,这是继Kubernetes之后的第二个托管项目。
有关Prometheus的详细说明,请参见媒体部分中的资源链接 。
组件Prometheus生态系统包含多个组件,其中许多是可选的:
Prometheus主服务器,它会刮取并存储时间序列数据
客户端库,用于检测应用程序代码
一个支持短期工作的推送网关
诸如HAProxy,StatsD,Graphite等服务的专用出口商
一个alertmanager处理警报
各种支持工具
建筑下图说明了Prometheus的体系结构及其某些生态系统组件:
Prometheus直接或通过中间推送网关从已检测作业中删 ...
开源SQL审核平台
Yearning SQL 审核平台
推荐一个SQL语句审核平台
US_ENUS_EN guide
Depend on 依赖项Gemini front-end
Yee web framwork
Website 官网www.yearning.io
Community 社区Gitter
Yearning2.0(Go) 使用交流 Q 群: 747364310
Feature 功能
SQL 查询
查询工单
导出
自动补全,智能提示
查询语句审计
SQL 审核
流程化工单
SQL 语句检测与执行
SQL 回滚
历史审核记录
自定义审核层级
推送
E-mail 工单推送
钉钉 webhook 机器人工单推送
用户权限及管理
角色划分
基于用户的细粒度权限
注册
其他
todoList
LDAP 登录
动态审核规则配置
AutoTask 自动执行
Install 安装及使用日志使用及安装文档 解决 95%的疑问,不做十万个为什么!
Develop 二次开发二次开发注意事项
About 联系方式E-mail: henry@yearning.io
Recommend 推荐 ...
Nacos问题集合
Nacos报错问题汇总各种方法不一….请按具体问题解决
问题11errorMsg: errCode: 100, errMsg: Nacos serialize for class [com.alibaba.nacos.common.http....
问题212021-01-18 15:21:12,490 ERROR Event listener exception : {}
问题312NACOS页面报错如下Unable to process the request at this time: System triggered degradation
问题41caused: errCode: 500, errMsg: java.util.concurrent.ExecutionException: com.alibaba.nacos.consistency.exception.ConsistencyException: The conformance protocol is temporarily unavailable for reading, Invalid state for ...
docker的iptables转发问题
解决Docker容器 iptables问题这个错误大家都见过吧!!!
这就是搞心态就是,直接重启docker服务就能解决….
上面方法别直接用…
12docker: Error response from daemon: driver failed programming external connectivity on endpoint quizzical_thompson (c2b238f6b003b1f789c989db0d789b4bf3284ff61152ba40dacd0e01bd984653): (iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.3 --dport 24224 -j ACCEPT: iptables: No chain/target/match by that name. (exit status 1)).
大概原因
目前探测到的应该是docker网桥与iptables转发规则之间的冲突
docke ...
Gitlab+Jenkins部署
DevOps开发运维一体化-CICD安装配置信息看下面
CPU
Memory
Database
4 cores supports up to 500 users
4GB RAM
MYSQL/PSQL
8 cores supports up to 1000 users
8GB RAM
MYSQL/PSQL
Gitlab安装
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
el6:centos6
el7:centos7
el8:centos8
清华开源镜像站 国内从这儿下
12wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.7.1-ce.0.el7.x86_64.rpmrpm -ivh gitlab-ce-13.7.1-ce.0.el7.x86_64.rpm
若提示依赖有错误,看下面的
12yum -y localinstall gitlab-ce-13.7.1-ce.0.el7.x86_64.rpmgi ...
DevOps简介
DevOps开发运维一体化-CICD究竟是什么?什么是DevOps?DevOps(这就是开发和运维的简写)是一种方法或理念,它涵盖开发、测试、运维的整个过程。DevOps是提高软件开发、测试、运维、运营 等各部门的沟通与协作质量的方法和过程,DevOps强调软件开发人员与软件测试、软件运维、质量保障(QA)部 门之间有效的沟通与协作,强调通过自动化的方法去管理软件变更、软件集成,使软件从构建到测试、发布更加快 捷、可靠,最终按时交付软件。
当然也并没有黑产品经理的意思哈哈哈
常用的DevOps平台
代码托管:Gitlab/SVN
项目管理:jira/禅道/Teambition
运维平台:腾讯蓝鲸腾讯还算不错的平台
持续交付:Jenkins/Gitlab
DevOps定义
研发:开发流程高效、稳定、快速、交付结果可预期
运维:容器监控、自动化运维、降低维护成本
质量:持续进行自动化测试,提升交付质量
DevOps:研发运维一体化、持续集成、持续交付
DevOps优势
速度:应用版本快速迭代更新,以更好地适应不断变化的市场需求。
快速交付:更快的将应用交付到生产场景
可靠性:保证应 ...
Ansible执行Shell模块问题
Ansible远程执行寻找不到环境变量问题问题Ansible调用shell远程启动java包,找不到JAVA_HOME或者直接输出为空。
123[root@bogon ~]# ansible testserver -m shell -a "nohup java -jar /server/share-0.0.1-SNAPSHOT.jar --spring.profiles.active=test3 > /server/nohup.out &"172.16.87.11 | CHANGED | rc=0 >>nohup: failed to run command ‘java’: No such file or directory
解决过程
首先,在/etc/profile中声明java的变量,发现执行ansible-playbook返回为空
1234export JAVA_HOME=/usr/local/javaexport JRE_HOME=/usr/local/java/jreexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOM ...