ci

底层string工具类,持续更新中

China☆狼群 提交于 2020-01-19 01:41:57
1.翻转字符串 function reverseString ( str ) { return str . split ( "" ) . reverse ( ) . join ( "" ) ; } `` 2. 字符串中出现最多次数的字符 function findMaxDuplicateChar ( str ) { var cnt = { } , //用来记录所有的字符的出现频次 c = '' ; //用来记录最大频次的字符 for ( var i = 0 ; i < str . length ; i ++ ) { var ci = str [ i ] ; if ( ! cnt [ ci ] ) { cnt [ ci ] = 1 ; } else { cnt [ ci ] ++ ; } if ( c == '' || cnt [ ci ] > cnt [ c ] ) { c = ci ; } } console . log ( cnt ) return c ; } 3. 判断回文字符串 `` `javascript function palindrome ( str ) { var reg = /[\W\_]/g ; var str0 = str . toLowerCase ( ) . replace ( reg , "" ) ; var str1 = str0 . split (

什么是 CI/CD?

大兔子大兔子 提交于 2020-01-19 01:20:23
CI/CD 是一种通过在应用开发阶段引入 自动化 来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:“ 集成地狱 ”)。 具体而言,CI/CD 在整个应用生命周期内(从集成和测试阶段,到交付和部署)引入了持续自动化和持续监控。这些关联的事务通常被统称为“CI/CD 管道”,由 开发和运维团队 以敏捷方式协同支持。 CI 和 CD 之间(以及不同 CD 之间)有什么区别? 缩略词 CI / CD 具有几个不同的含义。CI/CD 中的“CI”始终指持续集成,它属于开发人员的自动化流程。成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到共享存储库中。该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。 CI/CD 中的“CD”指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。两者都事关管道后续阶段的自动化,但它们有时也会单独使用,用于说明自动化程度。 持续 交付 通常是指开发人员对应用的更改会自动进行错误测试并上传到存储库(如 GitHub 或容器注册表),然后由运维团队将其部署到实时生产环境中。这旨在解决开发和运维团队之间可见性及沟通较差的问题。因此,持续交付的目的就是确保尽可能减少部署新代码时所需的工作量。 持续 部署

预处理1

若如初见. 提交于 2020-01-17 07:54:46
import pandas as pd import matplotlib . pyplot as plt import numpy as np import os , time , sys import xlrd path = './train/' path_name = os . listdir ( path ) tuo = [ ] wei = [ ] ci = [ ] for i in path_name : #i=str(i) df = pd . read_csv ( path + i ) if df [ 'type' ] [ 0 ] == '拖网' : tuo . append ( i ) elif df [ 'type' ] [ 0 ] == '刺网' : ci . append ( i ) else : wei . append ( i ) #分数据 def divide_data ( data_name , path , X_data ) : for i in data_name : i = str ( i ) df = pd . read_csv ( path + i ) X_data . append ( df ) return X_data tuo_data = [ ] wei_data = [ ] ci_data = [ ] Tuo_data =

MYSQL中的COLLATE是什么?

我是研究僧i 提交于 2020-01-16 02:32:53
在mysql中执行 show create table <tablename> 指令,可以看到一张表的建表语句,example如下: CREATE TABLE `table1` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `field1` text COLLATE utf8_unicode_ci NOT NULL COMMENT '字段1', `field2` varchar(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '字段2', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8_unicode_ci; 大部分字段我们都能看懂,但是今天要讨论的是COLLATE关键字。这个值后面对应的 utf8_unicode_ci 是什么意思呢?面试的时候用这个题目考一考DBA,应该可以难倒一大部分人。 COLLATE是用来做什么的? 使用phpmyadmin的开发可能会非常眼熟,因为其中的中文表头已经给出了答案: phpmyadmin截图 所谓 utf8_unicode_ci ,其实是用来排序的规则。对于mysql中那些字符类型的列,如 VARCHAR , CHAR ,

Jenkins + k8s 实现企业 CI/CD 落地

风格不统一 提交于 2020-01-16 01:16:51
一、概述 1.1、环境介绍 我们使用的是 AWS 的 EC2 来搭建我们的集群,安装方式使用 kubeadm 来进行安装,如果使用二进制安装,可以参考我相关文档。 系统版本:ubuntu 16.04 k8s 版本:1.17.1 docker 版本:18.06-ce 1.2、流程图 1.3、集群配置 名称 配置 内网IP 外网IP k8s-master 2核4GB 172.31.20.184 54.226.118.74 k8s-node1 2核4GB 172.31.27.69 52.90.221.230 k8s-node2 2核4GB 172.31.30.9 3.85.219.119 二、k8s 部署 2.1、安装 docker 安装源大家可以参照官方文档 https://docs.docker.com/install/linux/docker-ce/ubuntu/ ,我这里不再进行演示,如没有特殊说明,操作将在三台集群上面都要执行。 apt-get install docker-ce=18.06.3~ce~3-0~ubuntu systemctl enable docker 2.2、安装 kubeadm, kubelet and kubectl 安装源文档请参考官方文档 https://kubernetes.io/docs/setup/production-environment

[非原创] 获取CPUID;

喜欢而已 提交于 2020-01-15 22:28:50
    【注】本文是参考百度百科对CPUID指令的介绍而简要写的一个总结;但并不一定所有CPU都能支持获取CPUID;关于CPU序列号的表示可能不同人有不同写法。还有关于CPU缓存的信息的获取,需要根据返回的信息去查一个对照表,看起来不够简洁明了,所以关于CPU缓存信息获取的代码我就不写进去了。     相关代码如下: code_getCpuId 1 // GetCPUID.cpp : Defines the entry point for the console application. 2 // 3 4 #include " stdafx.h " 5 #include < string .h > 6 7 typedef unsigned long DWORD; 8 9 #define CI_VENDOR 0x01 10 #define CI_BRAND 0x02 11 #define CI_SERIAL 0x04 12 #define CI_ALL (CI_VENDOR|CI_BRAND|CI_SERIAL) 13 14 typedef struct _CPUINFO 15 { 16 unsigned int nMask; 17 char szVendor[ 16 ]; 18 char szBrand[ 52 ]; 19 char szSerial[ 32 ]; 20

[DevOps + docker + CI/CD] 3.Jenkins 2.x 在 docker方式下的gitlab凭证添加与验证

血红的双手。 提交于 2020-01-11 17:29:13
1. 登录至gitlab服务器 2. 找到Access Token生成的路径,如下图所示 3. 配置Gitlab的Access Token访问凭证 4. 复制新生成的Access Token填入Jenkins对应的框内 5. 点击应用,然后保存 至此,已经完成Jenkins访问Gitlab凭证的配置,等待后续测试建立新的Jenkins打包任务发布即可。 来源: CSDN 作者: CodeCaptain 链接: https://blog.csdn.net/mimica/article/details/103936900

java对于开头字母排列的处理

淺唱寂寞╮ 提交于 2020-01-08 15:04:19
1、mysql处理方式 order by convert(a.brand_name using gbk) collate gbk_chinese_ci asc 以上的 sql 语句即表明以表 a 的 brand_name 拼音首字母来排序,不过这种写法是针对字段的字符编码 utf8_general_ci 的。 如果字符编码是 latin1_swedish_ci ,用以下的写法: order by birary(a.brand_name) asc 2、java代码中的处理方式 先按照销量倒叙,再按照首字母升序 userRank.stream().sorted(Comparator.comparing(ERPUserRankVo::getTotalMoneyTC,Comparator.nullsFirst(BigDecimal::compareTo)).reversed().thenComparing(ERPUserRankVo::getSalerName,Collator.getInstance(java.util.Locale.CHINA))).collect(Collectors.toList()); 来源: CSDN 作者: haha_66666 链接: https://blog.csdn.net/haha_66666/article/details/103890704

Kubernetes与Jenkins的CI/CD

丶灬走出姿态 提交于 2020-01-07 18:44:24
结构 发布流程设计 部署Harbor镜像仓库 部署Git仓库 构建Jenkins-Slave镜像 在Kubernetes中部署Jenkins Jenkins与Kubernetes集成 流水线发布Java项目 回滚 1.发布流程设计 软件环境: Jenkins + Kubernetes + Git + Maven + Harbor 工作流程:手动/自动构建 -> Jenkins 调度 K8S API ->动态生成 Jenkins Slave pod -> Slave pod 拉取 Git 代码/编译/打包镜像 ->推送到镜像仓库 Harbor -> Slave 工作完成,Pod 自动销毁 ->部署到测试或生产 Kubernetes平台 。 2. 部署Harbor镜像仓库 https://192.168.1.25/harbor 3. 部署Git仓库 192.168.1.25 4. 构建Jenkins-Slave镜像 Jenkins-Slave:作用是缓解master上的负载压力 master 分派任务(job)给Jenkins-Slave 完成工作 参考文档: https://github.com/jenkinsci/docker-jnlp-slave [root@docker jenkins-salve]# ls dockerfile-jenkins-slave jenkins

docker jenkins ci/cd

北慕城南 提交于 2020-01-06 23:14:54
Jenkins 是一个很老的 ci/cd 服务了,但是至今并未过时,几乎是各种公司的首选,足见其功能强大 最近用 docker 搭建了一个 Jenkins 服务,实现了代码提交后自动触发测试和部署,再也不用手动发布了,节省了大量的时间 制作 docker 镜像 FROM jenkins/jenkins:2.191 COPY executors.groovy /usr/share/jenkins/ref/init.groovy.d/executors.groovy USER root RUN apt-get update RUN apt-get install -y build-essential 这里我在基础镜像上安装了 make 工具,因为我大部分项目都是用 make 构建 部署 jenkins 到 docker swarm 我将 jenkins 服务本身也部署到了 docker 集群中,compose 文件内容如下: version: "3.5" services: jenkins: image: hatlonely/jenkins:${version} hostname: jenkins user: root ports: - "8080:8080" - "50000:50000" deploy: replicas: 1 restart_policy: condition: