- 博客(21)
- 资源 (2)
- 收藏
- 关注
原创 Paxos——分布式一致性协议
目录1. Paxos的理解困境2. Paxos和分布式存储系统3. 确定一个不可变变量的取值3.1 如何定义“确定一个不可变变量的取值”这样的系统问题?3.2 确定一个不可变变量的难点4 确定一个不可变变量的方案4.1 方案1:单 Acceptor + 多 Proposer4.1.1 基于互斥访问权的 Acceptor 的实现:4.1.2 propose(var, V) 的两阶段实现4.1.3 评价4.2 方案2:抢占式访问权4.2.1 基于抢占式访问权的Ac
2021-05-26 17:49:33 443
原创 Redis(2): 5种数据结构及使用场景
本文参考《Redis开发与运维》。Redis有5种数据结构,它们是键值对中的“值”。键的类型全部是string。
2021-05-13 10:23:43 184 2
原创 Python如何实现多线程
方法:继承threading.Thread示例为,python多线程并发修改数据库中一个表的同一行。from time import timeimport pymysql as MySQLdbimport threadingimport randomimport timesource_site = "us"account_id = 101001domain_num = 100db_host = "10.64.22.200"db_db = "hesui"db_user = .
2021-05-12 15:17:33 277
原创 Redis(1):特性/使用场景/预备知识
本文参考《Redis开发与运维》。1. 简介Redis相当于一个NoSQL的内存数据库。2. 特性3. 使用场景4. 预备知识
2021-05-10 14:30:42 143
原创 阿里笔试题记录1
要求:1.限时一个小时完成;2.在线编辑,不运行,语法小错误问题不大,只看逻辑和思路;3.不要百度/谷歌等搜索,价值观保证;题目如下:1. 自定义一个链表数据结构,并对该链表实现两两翻转。比如构造的链表是:1->2->3->4->5,翻转之后输出:2->1->4->3->5 // 直接在这边编码class Node{ int value; Node next; public Node(int value){ thi...
2021-05-09 11:44:46 137
原创 如何在本地 IDEA向AWS SQS发送message调试
目录1. 问题描述2. 问题解决2.1idea 安装 AWS Toolkit2.2 配置credentials2.3 创建 SpringBoot 项目2.4 编写 SQS 相关代码2.5 单元测试1. 问题描述在写代码的时候,有向 AWS SQS 发送 message 的需求,需要在本地调试。2. 问题解决2.1idea 安装 AWS Toolkit在 IDEA 的plugin 中搜索 AWSToolkit,安装。需要 Restart IDE。...
2021-05-08 17:35:12 703
原创 Java 泛型
目录1. 什么是 Java 泛型(generics)?2. 经典使用场景3. 特性4. 泛型的使用4.1 泛型类4.2 泛型接口4.3 泛型方法4.3.1 基本写法4.3.2 泛型类中的泛型方法4.3.3 泛型类中的静态泛型方法4.3.4 可变参数泛型方法1. 什么是 Java 泛型(generics)?泛型,即参数化类型。变量可以是参数,实际使用时,再确定它的值。那么,类型,也可以是一个参数,实际使用时,再确定它到底是什么类型。2. 经典使.
2021-05-08 14:35:19 76
原创 AWS Cli 创建 lambda function
环境:linux 操作系统软件:安装有 aws cli,并且配置好 credentials参数:--function-name:指定所创建的lambda function 的 name--zip-file:指定上传哪个文件--handler:指定入口函数是哪个文件的哪个函数--timeout:指定 lambda function 最长可以运行多少,单位是秒,最长是900s, 也就是15min--runtime:指定运行时环境--role:指定 iam role,决定了这个 .
2021-05-08 10:05:47 397
原创 怎么从 AWS ECR 私有仓库拉取 docker 镜像
问题描述一般情况下,要从仓库 pull docker image,都需要使用 “docker login ******”,然后输入账号密码,但是,当使用 AWS ECR 作为私有仓库时,由于登录时都是使用密钥文件,*.pem,*.ppk 之类,没有办法输入账号密码。那么,怎么办呢?问题解决使用 aws cli 解决。操作系统:centos1. 安装aws cli (pip install awscli)。2. 配置 aws access key, region 和secu..
2021-05-08 09:01:39 1109
原创 SpringBoot 与 Mybatis 整合的 Demo
1. 创建项目创建 SpringBoot 项目。2. 依赖pom.xml<dependencies> <!-- mybatis相关依赖 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version&g
2021-05-06 10:14:57 238 1
原创 SpringBoot JPA: 打造通用的持久化层
1. 基本操作步骤1.1 依赖pom.xml<dependencies> <!-- spring data jpa --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
2021-04-30 15:37:52 376 1
原创 SpringBoot JDBC 连接数据库
目录1. 基本操作步骤1.1 依赖1.2Driver 属性的配置1.3 Java代码1.3.1 pojo1.3.2 service1.4 单元测试2. 原理1. 基本操作步骤1.1 依赖pom.xml<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo..
2021-04-28 20:44:47 363
原创 com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver 的适用场景
问题描述今天在写 SpringBoot JDBC demo 的时候,使用了 driver 是 com.mysql.jdbc.Driver。spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://10.64.22.200:3306/test username: uiadmin password: uiadmin但是有如下warning:Loading c
2021-04-28 20:25:49 1434
原创 JDBC:为不同关系数据库提供相同的访问方式
1. 定义JDBC:Java Database Connectivity。是一种规范,提供一套访问数据库的接口。数据库生产厂商根据 JDBC Driver 的接口,去实现各自的应用驱动。2. 常见类DriverManager:管理数据库驱动程序的列表,查看加载的驱动是否符合 JAVA Driver API 的规范。Connection:客户端与数据库所有交互都是通过connection对象完成的。Statement:用于向数据库发送 SQL 语句。Preper...
2021-04-28 15:48:18 514
原创 数据持久化:ORM,JPA和Hibernate
1. 持久化持久化就是把数据(内存中的 object )保存到可永久保存的存储设备中,比如磁盘文件,关系数据库,XML数据文件等。2. 持久层某个特定系统的一个逻辑层面 专注于持久化,将数据的使用者和数据实体相关联3. ORM在关系型数据库和对象之间做一个映射。操作 DB 时,无需使用 SQL 语句,而是像操作对象一样操作它。ORM 是持久化的技术。为什么要做持久化和 ORM 的设计?MVC 框架非常普遍,其中,Model 有以下特征:OR...
2021-04-28 12:45:55 349
原创 Dijkstra 算法求单源最短路径
1. 简述Dijkstra 算法是从一个顶点到其余各顶点的最短算法,解决的是有权图中最短路径问题。从源点 source 开始,采用贪心算法,每次找到距离 source 最近且未加入最短路径顶点集合的顶点 v,并根据 v,更新 source 到其他顶点的距离。2. 举例dist:source 到各个顶点的最短距离数组S:已确定到 source 最短路径的顶点集合初始化:S = {}dist = [∞, ∞, 10, ∞, 30, 100]第一步:将 source .
2021-04-28 11:42:43 848
原创 根据memberOf属性获取AD group的Domain Users的members
背景描述我所在的部门做的一款 LDAP Sync 的 windows 系统的应用,可以把用户 Directory Server 的数据,包括 LDAP User,LDAP Group,上传到我们的产品里来。该 application 是用 C# 开发的,使用System.DirectoryServices.Protocols.dll 库 ( 该库提供一系列 LDAP 的 API )。在我本机上,该 dll 所在路径:C:\Program Files (x86)\Reference Assem.
2021-04-23 11:42:21 1395
原创 Python 自定义字段名构造万能 insert SQL 语句
背景描述要从多个文件中读取数据,构造 insert 语句,执行,插入到 DB 中。文件格式:每个文件中是一个表的数据。 文件中,第一行是字段名,之后的每一行代表数据表的一行 record。 是通过 json.dumps() 生成的每一行的记录。难点:要处理多个表的数据,每个表结构都不相同,构造的 insert 语句要根据每个表的结构。而且每个表,之后还可能有变动,这个程序要能自适应之后表结构的变动,因此,不能直接写死字段名,要根据文件来确定 insert 语句中的字段。 如果字段名为
2021-04-21 10:15:32 730 1
原创 Linux 防火墙打开关闭端口
查看防火墙状态systemctl status firewalld查看防火墙所有开放的端口firewall-cmd --zone=public --list-ports开放防火墙端口firewall-cmd --zone=public --add-port=8010/tcp --permanentfirewall-cmd --zone=public --add-port=8080/tcp --permanentfirewall-cmd --zone=public --add-p
2021-04-20 22:40:28 121
原创 Python使用json.dumps遇到的问题
目录背景描述问题一:字段是 datetime 格式解决方案:问题二:字段是 byte 格式问题三:在 json.dumps(row) 后再加“\r\n”, 会发现多了一个"\r".背景描述要做 data migration 的功能,把 AWS 上一个 site 的 DB 里数据,通过 S3 bucket 作为中转站,搬迁到另一个 site 的 DB 中。DB 数据导出到文件时,由于各个字段中可能都含有特殊字符,拟通过 json 格式输出到文件中。对select出的..
2021-04-19 17:40:02 2456
原创 Linux中常见目录作用
根目录中有一些一级目录。Linux是一个严谨的操作系统,每个一级目录的作用都是严格规定的。常见一级目录的作用都应该是固定的。可以在家目录root或home,以及tmp目录下随便放内容,别的不可以随便放。也不推荐在根目录下放,不方便查找。1. bin和sbin根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的。区别在
2017-02-21 17:09:17 356
管道铺设最优方案
2013-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人