- 博客(40)
- 收藏
- 关注
原创 [实习]git指令
git指令 本篇主要记录在实习过程中常用到的git指令 git status 查看当前分支,还有文件情况 git branch name 创建新的分支 git branch 查看所有分支 git checkout name 转移到新分支 git add . 把所有要commit的文件更新保存 git commit -m “name” commit,并报存备注为name git push 把刚刚commit的东西push git push -f 强制覆盖并push。一般是遇到冲突的时候,暴力解决方式 g
2020-12-21 16:46:29
317
原创 [Git]记录Git Rebase和PR经验
1.Git Pull Request 大概说一下,PR这个操作是你作为一个collaborator切出来了一个分支,在上面做了某些操作,可能是协作开发,可能是优化等,在此之后希望owner把你的代码pull到某个分支(比如master)上的时候发出的请求。简单来说就是你让owner来pull你的代码。 2.git rebase 在开发的时候发现了一些问题,比如我的pull request和master有很多冲突需要解决,没办法自动合并。(这里也有一个问题就是没必要的一些setting并不需要git add到
2021-05-05 01:35:55
796
原创 [实习]一些关于shell的学习使用
本文章用于记录平时零零散散的学习,持续更新 1. 各种括号的含义 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern) 1.1 ${var} 首先花括号代表的是引用变量本身 先说最常见的变量形式都是$var,直接使用。如 $ v
2021-01-26 16:03:33
261
原创 [Linux]查看linux当前版本 How to check Linux version?
我发现百度搜出来的结果多多少少只有一种,就是cat /etc/issue。但是因为最近在做docker,所以发现部分容器的镜像可能采用的是比较简易的轻量级Linux环境(有mini, kit之类的)。这些环境可能没有etc/issue,所以记录一下其他的方法。 1. lsb_release command(2种) $ lsb_release -a Output: No LSB modules are available. Distributor ID: Debian Description: Debian
2021-01-25 16:06:09
832
原创 [实习]docker概念以及DockerFile详解
Docker 首先docker有三个非常关键的概念需要理解:镜像、容器、仓库 (我以前就是一直听过镜像用过镜像但是解释不清楚镜像)镜像是 Docker 运行容器的前提,仓库是存放镜像的场所,可见镜像更是Docker的核心。 这三部分组成了Docker的整个生命周期,如下图所示,容器是由镜像实例化而来的,这和我们学习的面向对象的概念十分相似,我们可以把镜像想象成类,把容器想象成类经过实例化后的对象,这样就非常好理解镜像和容器的关系了。 接下来详细说说三个概念 1. Docker镜像 Docker镜像是一个只
2021-01-13 14:36:13
390
转载 [实习]git ci/cd概念,创建流程以及常见字段含义
1.基本概念 1.1 CI/CD CI,Continuous Integration,为持续集成。即在代码构建过程中持续地进行代码的集成、构建、以及自动化测试等;有了 CI 工具,我们可以在代码提交的过程中通过单元测试等尽早地发现引入的错误; CD,Continuous Deployment,为持续交付。在代码构建完毕后,可以方便地将新版本部署上线,这样有利于快速迭代并交付产品。 1.2 GitLab CI/CD GitLab CI/CD(后简称 GitLab CI)是一套基于 GitLab 的 CI/CD
2021-01-12 15:58:42
3343
转载 ES常见搜索字段介绍,hits,took,timeout
ES搜索结果中各个字段介绍 转自 https://blog.youkuaiyun.com/qq_36868951/article/details/108127909 空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档: GET /_search 返回的结果(为了界面简洁编辑过的)像这样: { "hits" : { "total" : 14, "hits" : [ { "_index": "
2021-01-11 14:36:01
1917
原创 [实习]训练解决问题的能力
个人感觉 感觉这是一个对我较大的启发吧。这次mentor就丢了一个任务给我,发现skywalking上数据出现重复,然后丢了一个project给我,叫我去排查。刚开始以为是一个小项目,结果发现这个project巨大,根本找不到,没头没尾的。然后让mentor带我走了一遍,有一说一真的学到了非常非常多。 打开网页进入skywalking页面,在database模块查看信息。显示的数据库如下。首先这些数据库以及对应数据取自es database。es节点只有3个,但是显示出来es数据库总共有5个,重复了2个,画
2021-01-04 17:31:42
495
原创 [实习]一些常用指令
tail -f mkdir vi (退出:q) ps aux查看进程 netstat -ano 查看端口占用情况 jstack
2020-12-30 11:24:08
169
原创 [实习]Skywalking
SkyWalking 1.是什么 skywalking是一个包含监控,追踪,并拥有故障诊断能力的分布式系统。它主要的作用是全链路监控,收集数据,分析处理数据,然后可视化呈现。这么说有点抽象,接下来画图来说 这是skywalking的架构。它通过Service(client agent)收集数据,然后传输给receiver cluster,然后接下来在内部部分需要原始数据或者需要进行整合的下发给aggregator,其他需要做es的发给es(Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据
2020-12-25 20:17:47
867
2
原创 [实习]关于广告模块的认识入门
1.广告投放系统 名词解释: Demand-Side Platform也叫DSP广告需求方平台 DSP的特点包括,通过一个独立的用户界面,可以将广告互换和其他媒体提供者连接;自动化的竞标管理功能,一般包含了实时的竞标系统;捕捉和管理品牌数据及提高目标客户群的第三方数据的能力;结合所有媒体资源,控制预算和竞争率;通过多媒体供应商,完全集成竞争对手的性能报告。 DMP(Data Management Platform)数据管理平台,是把分散的多方数据进行整合纳入统一的技术平台,并对这些数据进行标准化和细分
2020-12-22 16:00:27
498
原创 Java Lambda表达式(写给自己看的)
Java Lambda表达式 Lambda表达式主要是为了使得代码变得更加简洁的Java8之后的特性功能,他的常见功能有替代匿名内部类,对集合内部进行迭代(一般是forEach),实现map和reduce和filter。 lambda常见函数语法定义 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。 可选的大括号:如果主体包含了一个语句,就不需要使用大括号。 可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值
2020-12-22 13:46:25
265
转载 Runtime.getRuntime().addShutdownHook(Thread thread)介绍
通过我们的程序中运行完之后都会进行一些清理工作,比如关闭数据库资源,同步等操作。这时我们的钩子函数addShutdownHook有了用武之地。 1.钩子程序执行时机: 当程序正常退出,系统调用 System.exit方法或虚拟机被关闭时才会执行添加的shutdownHook线程。其中shutdownHook是一个已初始化但并不有启动的线程,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以可通过这些钩子在jvm关闭的时
2020-12-21 18:43:03
354
原创 [实习]Maven(updating)
实习的时候遇到了一些情况,对于maven很不熟悉,希望在这边能记录一些关于maven的学习心得 POM.XML MAVEN指令与生命周期 首先一个maven project能不能过不是靠直接run的,一般是通过用maven指令来操作。maven build的生命周期主要如下图所示 阶段 处理 描述 验证 validate 验证项目 验证项目是否正确且所有必须信息是可用的 编译 compile 执行编译 源代码编译在此阶段完成 测试 Test 测试 使用适当的单元测试框架(例如JUn
2020-12-21 17:51:25
394
原创 [实习篇]kafka以及向talos的转移,druid数据库(持续更新)
1. Kafka 首先要先明白kafka是什么要先了解一下中间件的概念。 中间件 中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。目前,它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。从这个意义上可以用一个等式来表示中间件:中间件=平台+通信,这也
2020-12-09 14:04:27
647
原创 [Mysql]表关系和表联结
表关系 先了解一个概念,外键: 在一个表中,定义一个字段,这个字段中存储的数据是另外一张表中的主键 就是在一个表中的字段,代表着这个数据属于谁 了解: 外键实现的方式,有两种:物理外键、逻辑外键 物理外键: 就是在创建表时,就指定这个表中的字段是一个外键,并且强关联某个表中的某个字段 需要在定义字段时,使用sql语句来实现。 但是这种方法也有很大的缺点,就是不灵活。比如想删除某个表中的某个数据,如果 他和另一个表有强关
2020-12-01 20:38:28
508
原创 [Mysql]数据库子查询
Mysql数据库允许多个查询合并,也就是将某个查询的结果直接作为下个查询的条件进行多次嵌套的做法,举两个例子: 1. 普通查询 假如需要列出订购物品TNT2的所有客户,应该怎样检索? 第一种,分步查询 (1) 检索包含物品TNT2的所有订单的编号。 select order_num from orderitems where prod_id = ‘TNT2’; ±----------+ | order_num | ±----------+ | 20005 | | 20007 | ±----------+ (
2020-12-01 14:15:44
558
原创 [密码学复习]Cryptography
整合 Week 2对称加密 Two requirements: A strong encryption algorithm A secret key known only to participants. 1. 有三部分构成: 1.加密算法 2.可能使用的密钥数量:数量越大越安全 3.text文本的处理:分为stream ciphers整段传输和block ciphers, 将文本切成固定块大小传输 2. 密码攻击有以下几种: Ciphertext only, Known plaintext, Ch
2020-11-30 12:42:43
4830
3
原创 [Mysql]Mysql数据类型
Mysql数据类型 在设计表时,应该特别重视所用的数据类型。使用错误的数据类型可能会严重地影响应用程序的功能和性能。 更改包含数据的列不是一件小事(而且这样做可能会导致数据丢失)。 最常见数据类型:整型、浮点型、字符串、日期等 1、字符串数据类型 最常用的数据类型是串数据类型。它们存储串,如名字、地址、电 话号码、邮政编码等。 不管使用何种形式的串数据类型,串值都必须括在引号内。有两种基本的串类型,分别为定长串和变长串 1.1 定长串:char 接受长度固定的字符串,其长度是在创建表时指定的。 定长列不允
2020-11-03 15:41:33
347
原创 [Mysql]基础操作
库 mysql -u username -p //回车之后输入密码即可进入 show databases; //查看数据库 一定要加分号 create database 库名 default charset=utf8; //创建数据库 drop database 库名; //删除数据库 use 库名; //打开数据库 quit; //退出 表 格式为create table (if not exists) 表名(字段名称1 字段类型 其他约束, 字段名称2 字段类型 其他约束,…) engine=
2020-11-03 15:26:00
247
转载 [java基础复习] 反射
反射详解 https://blog.youkuaiyun.com/agoodcoder777/article/details/89392307
2020-10-17 17:26:48
162
原创 [Java基础复习] 枚举
介绍 枚举是JDK1.5之后引入的概念,在层级上他和class属于一个层面的。在JDK1.5 之前,我们定义常量都是: public static fianl… 。很难管理。 枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 举个例子,用于定义有限数量的一组同类常量,例如: 错误级别: 低、中、高、急 一年的四季: 春、夏、秋、冬 在枚举类型中定义的常量是该枚举类型的实例。 枚举的定义格式 权限修饰符 enum 枚举名称 { 实例1,实例2,实例3,实例4; other
2020-10-17 17:20:43
296
原创 [java基础复习]网络编程传输序列化文件
目前作业有一个问题是说给一个图书管理系统编写使用网络传输+多线程的实现方法来完成序列化文件传输。做法其实跟序列化差不多,这里记一些遇到的错误: 服务端代码 package com.java.Server; import com.java.DAO.ExpressDAO; import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class Server { static int client_num
2020-10-15 02:02:24
289
原创 [Java基础复习] 网络编程入门
本篇只讲述和TCP有关的概念,没有UDP网络编程内容 Socket 首先了解一个概念,什么是socket。 简单来说Socket是两台计算机之间通信的端点 , 是网络驱动提供给应用程序编程的一种接口,一套标准, 一种机制。 它用于定位ip和传输信息。 Server Server端常用的方法是ServerSocket,用于创建服务器。创建完毕后, 会绑定一个端口号, 然后此服务器可以等待客户端连接。每连接一个客户端 , 服务器就会得到一个对应于该客户端的新的Socket对象, 只用于跟该客户端进行通信。 常用
2020-10-14 11:59:18
225
原创 [Xcode]Xcode更新导致的一系列毛病
我更新成xcode12之后遇到了一大堆问题,首先原来11写的文件打不开了,报错信息如下:Build input file cannot be found: xxx/xxx/…/xxx.swift,文件中多了一个根本不存在的标红虚无文件。 查了一下才发现每一次xcode更新可能都会或多或少的作妖,解决方法是 File -> WorkSpace Settings -> Legacy Build System (default是New Build System) 接下来他就会用可以合法build的方法
2020-10-08 15:41:54
679
原创 [黑科技]Git项目clone
因为github原网站在外网,有的时候clone会非常慢,学到了一个黑科技,不管什么编译器都可以用 首先先到git,去复制自己想要clone的链接。拿我参与的课程作业为例 复制网址: 把原网址“https://github.com/xxx”改成“https://github.com.cnpmjs.org/xxx”就可以提速从几kb/s到1mb/s!(就是在原网址的基础上在.com后面加上.cnpmjs.org即可) 目前非常有效且不用修改ip地址设置DNS配置等等。 ...
2020-10-08 13:48:55
352
原创 [Java基础复习] 线程实现
线程实现的三种方法 1. 继承Thread 这种方法是继承,接下来实现run方法,在方法下写上作为线程被调用的时候需要运行的代码。 注意下面的代码,调用MyThread成为线程,并且start()以后,只会运行run里面的代码。除非你直接运行MyThread,不然main方法是不会运行的。 public class MyThread extends Thread { @Override public void run() { for(int i = 0; i < 10;
2020-09-24 02:41:56
252
原创 [Java基础复习]进程线程,同步异步和并发并行
线程和进程 进程:指在系统中正在运行的一个应用程序(但是现在也有很多应用软件是多进程的);程序一旦运行就是进程;或者更专业化来说:进程是指程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。 线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。 进程——资源分配的最小单位,线程——程序执行的最小单位。 线程调度 1、分时调度 所有线程轮流使用CPU使用权,平均分配每个线程使用CPU的时
2020-09-23 17:50:10
158
原创 [java基础复习] IO和File
File class 在Java中,class File是java用来处理文件的对象。它的使用一般是 File file = new File("e://"); // File e = new File("absolutePath"); //获取file1的父路径,在该路径下创建一个名为newFile的文件夹 File f = new File(file1.getParentFile(), "newFile"); //File f = new File(String parent, String chil
2020-09-20 11:02:00
178
原创 [Java基础复习] Collection和Map(Java类集)
开头先强调一下,Collection和Map才是同级的!List和Set是Collection子类,很多人误认为他们和Map同级!下面放上java类集结构图: Collection Collection 分为Set和List,下面将从这两个部分介绍。主要内容面向细节和实现,还有针对面试的突击,常用方法请查看JDK api.chm或者百度 List List下的子类有ArrayList, Vector, LinkedList,它们的使用率是94%, 4%, 1%。 ArrayList和Vector非常像,主
2020-09-18 23:08:19
443
原创 [Java基础复习] 泛型
泛型 概述 泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定 义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。 主要作用就是1. 提高代码复用率 2. 泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型) 注意点 泛型的T符号只出现在实现类或者创建方法的时候用到,而不是在实例化的时候用到。逻辑很简单,因为你实例化的时候必须定义泛型该成为什么类型的,你这时候还用T肯定就要报错了。但是这里可以用"?",我们
2020-09-14 17:35:11
408
原创 [Cryptography]1.对称密钥和非对称密钥 2.计算modulo inverse 3.计算possible key
对称密钥和非对称密钥 对称密钥顾名思义就是两个end users使用同一个key,Secret Key来进行加密解密。最大的问题就是如何安全的传输SK给另一方。 非对称密钥就是说每个人都拥有一个public key和一个private key。public key来进行加密,private key用于解密。public key一般存放于一个受信任的第三方机构或者自己发放,private key仅私人拥有不对外开放。这种做法拥有绝对安全,但是效率比较慢,解密花费的时间成本较高。 所以通常来说,我们使用非对称加
2020-09-14 11:18:36
820
原创 [Java基础复习] 异常处理以及Finally详解
异常处理 什么是异常处理? 异常是在程序中导致程序中断运行的一种指令流。 例如,现在有如下的操作代码: public class ExceptionDemo01{ public static void main(String argsp[]){ int i = 10 ; int j = 0 ; System.out.println("============= 计算开始 =============") ; int temp = i / j ; // 进行除法运算 System.
2020-09-13 00:51:06
421
原创 并查集以及例题
并查集最常见的题目是朋友圈之类的问题(以后有找到相关的题目会继续更新) 今天做了一下并查集的题目,洛谷P2661 信息传递,面试刚好也遇到了这题 题目核心就是求最小环。我最开始的想法是把每个节点都遍历,去寻找他的环,然后记下最小环大小,通过率只有50%,其他都是超时。然后就学了并查集,一个很酷的类型。 并查集是一种树的衍生,参考资料: 1. 并查集寻找是否有环 2. 并查集超详细讲解 这里总结一下我做这道题的经验吧。 首先并查集主要的就是合并和查找。那么根据题目其实已经给出了一个有向图,假设这个给定的数组
2020-09-12 22:44:25
322
原创 内部类,可变传参
内部类 内部类总共有5种 成员内部类(最普通的内部类) 但是要注意一下,如果内部类和外部类的方法或者变量发生重名的话,内部类无法直接使用外部类的方法或者变量。必须要使用 外部类.this.变量/方法。以上面为例子,如果inner里面也有一个x,那么要这么访问 Outer.this.x 想要创建Inner的话有两种方法: 1.Outer o = new Outer(); Inner i = o.new Inner(); 2.Inner i = new Outer().new Inner(); 局部内部类(定
2020-09-12 16:27:02
314
原创 [Java基础复习] 多态, instanceof
多态 多态的意思其实就是说类可以有多种形态,方法也行。 具体来说就是父类的多种形态是他的不同子类,方法的多态就是重载和重写 多态这里可以Student s = (Student)new Person(); //这里是因为小的往大的转要强制转,不然的话系统默认有溢出风险会报错。就像double可以等于int,但是int = (int) double 也可以Person p = new Student(); 上述就是多态的使用:对象的类型转换(分别为向上转型和向下转型) 但是同级子类不能转换,比如Studen
2020-09-12 16:24:11
323
原创 java继承, super,重写
java继承 首先要明白java没有多继承,只有单继承和多重继承(即A继承B,B继承C) 原因是java的继承可以让他调用父类的参数以及方法,但是如果多继承的话,两个父类参数又一样的话就会冲突会报错,因此java拒绝了这种继承的实现。同时实例化顺序是先去父类看构造方法,如果父类没有再返回子类寻找构造方法 这里要注意⚠️: 子类必须满足父类的至少一种构造方法。因为创建对象的时候,子类需要先调用父类的构造方法(super),然后再回来调用子类自己的构造方法完成对象创建。如果父类为默认构造方法,那么子类可以不需要
2020-09-12 16:21:46
663
原创 [Java基础复习] 抽象类 和 接口
抽象类 抽象类是一种特殊类,是因为考虑到有些方法是无法在子类统一而创建的。比如人类,有一个方法是说话。但是医生和学生说的话肯定不同,但是考虑到父类都是人类,那这时候抽象化即可。同时记住一点,抽象类不能实例化。(因为抽象类必须有抽象方法,而抽象方法都是没实现的方法,因此不能实例化。但是抽象类也可以有具体的方法,这种方法子类可以直接调用。比如喝水,每个人类都需要喝水,那么可以直接给子类使用。) 写法: public/ protected abstract class xxx{ 至少一个抽象方法; } 抽象方法写
2020-09-12 16:13:23
183
原创 [Java基础复习] java的概念,重载和内存加载
java是面向对象的语言 面向过程是你需要去操作每一步 而面向对象是你指使类去管理和操作数据和步骤 面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,是一种对现 实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。 面向对象是相对于面向过程来讲的,指的是把 相关的数据和方法组织为一个整体 来看待,从更高的层次来进行系 统建模,更贴近事物的自然运行模式。 面向过程到面向对象思想层面的转变: 面向过程关注的是执行的过程,面向对象关注的是具备功能
2020-09-12 16:06:12
213
原创 Java封装概念,static,this,代码块
封装(private) 封装是为了保护数据不被错误修改。并且可以保护类属性不被类意外类以外成员随意修改(比如粗心,或者恶意篡改等) 封装原则:隐藏对象的属性和实现的细节,仅对外公开方法,并控制访问级别 一般来说最常见的方法就是setter和getter This关键字 this关键字指的是当前对象。所以this.attribute指的是当前class对象里面的attribute。所以如果想要调用还没对象初始化的类的构造方法,需要在方法里用this.(指代当前对象)+构造方法/属性 举个例子,下图这个类,我们
2020-09-12 15:51:12
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅