Kaka Blog

追求自我价值的实现

用Geth搭建以太坊私链

前言 为了与区块链进行通信,我们必须使用区块链客户端。客户端是能够与其他客户建立p2p通信信道,签署和广播交易,挖掘,部署和与智能合约交互等的软件。客户端通常被称为节点。 安装Geth 安装Geth有多种方式,这里给出两种:系统包管理器(apt-get)安装和源码安装。 一、apt-get sudo apt-get install software-properties-commo...

以太坊简介

以太坊的出现 2014年1月,Vitalik Buterin(V神)在自己任编辑的比特币杂志上发布了《以太坊:一个下一代智能合约和去中心化应用平台》,7月,启动以太坊众筹募资。2015年7月30日,以太坊主网上线,以太坊系统诞生。 发展阶段:2015年7月30日-前言(Frontier) -> 2016年3月家园(Homestead) -> 大都会(Metropolis) ...

机器学习——KNN算法

简介 KNN(K-Nearest Neighbors)算法是当前主流的分类算法之一,最初有Cover和Hart于1968年提出。 基本思想 有那么一堆已经知道类别的数据,当有一个新数据进入时,依次计算这个数据和每个训练数据的距离,然后挑出离这个数据最近的K个点,看看这个K个点属于什么类型,然后用少数服从多数的原则,给新数据归类。 算法实现 实现步骤 构建训练数据集(数据标准...

腾讯面试题

计算机网络 1、TCP 三次握手四次挥手 第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。 第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并...

Spring Boot 2集成Activiti7

Activiti简介 Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。其核心是基于 JAVA 的超快速、超稳定的 BPMN2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向业务人员。 Activiti快速使用 1、创建Spring Boot应用,最近Spring Initializr默认http...

Web前端开发面试题

1、怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答:在router目录下的index.js文件中,对path属性加上/:id。 使用router对象的params.id 2、axios是什么?怎么使用?描述使用它实现登录功能的流程? 答:请求后台资源的模块。npm install axios -S装好,然后发送的是跨域,需在配置文件中config...

Java面试题

互联网三高:高可用、高扩展、高性能 高性能:低延迟(响应快),高并发(高吞吐量) Amdahl定律:想要显著加速整个系统,必须提升全系统中相当大的部分的速度。 单机高性能: 提高响应时间 提高吞吐量(增加线程) 多线程 synchronized synchronized(t):并行变串行,给t加锁会修改t对象的markword,非公平锁,需要和操作系统打交道,涉及到线...

Java各种锁介绍

偏向锁/轻量级锁/重量级锁 这三种锁特指 synchronized 锁的状态,通过在对象头中的 mark word 来表明锁的状态。 偏向锁。如果自始至终,对于这把锁都不存在竞争,那么其实就没必要上锁,只需要打个标记就行了,这就是偏向锁的思想。一个对象被初始化后,还没有任何线程来获取它的锁时,那么它就是可偏向的,当有第一个线程来访问它并尝试获取锁的时候,它就将这个线程记录下来,以后...

jenkins结合gitlab实现自动部署

Jenkins和Gitlab均采用Docker方式部署。Gitlab部署见以前的文章。 docker启动Gitlab: docker run --detach --hostname IP --publish 8320:443 --publish 8321:8321 --publish 8322:22 --name gitlab --restart always --volume /dat...

MyBatis-Spring 源码解析

版本对应关系 MyBatis-Spring-Boot-Starter MyBatis-Spring Mybatis Spring Framework Spring Boot Java 2.1 2.0 (need 2.0.2+ for enable...