自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vic_torsun的博客

不可回收的那种

  • 博客(95)
  • 资源 (6)
  • 收藏
  • 关注

原创 敏捷数据科学—大数据项目中的敏捷开发

敏捷数据科学,它的目标是记录探索数据分析的过程并促进和指导这一过程,以期发现实现一款引人注目的数据分析产品的关键路径,并沿着这条路走下去。敏捷数据科学深入本质,关注探索数据分析的过程,并记录在过程中收获的认知。敏捷数据分析把这些当作产品的主要工作。通过抓住本质,我们把整个过程的焦点放在可预测的事务上,而不是放在产品不可预测的输出上,这样便于我们管理整个过程。

2019-09-21 15:14:44 1657

原创 [Etcd]分布式系统中如何使用乐观锁保证Mysql和Etcd数据最终一致性

在写业务代码时,很多时候需要保证数据存储在不同中间件中的一致性。以笔者为例,就遇到了需要将mysql中已存储的数据转存到etcd中,同时还要考虑到并发场景下如何保证数据最终一致性的问题。从中我们可以分析出,产生这个问题的本质原因是因为服务A1、A2、B1和B2没有共用一块物理内存,这也是微服务拆分的必然结果。

2023-03-04 20:22:51 1849 1

原创 [c++] 基于workflow开发web服务器(入门)

本文介绍了在centos7系统中如何通过源码下载和安装workflow,以及利用cmake配置项目环境,跑通demo的过程。

2022-05-30 22:31:44 3086 5

原创 ubuntu20 安装 openstack(使用devstack-victoria)

设置root密码 并切换到root(已设置可跳过)sudo passwd rootsu更换pip源mkdir ~/.pipsudo vi ~/.pip/pip.conf填入以下内容:[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simpletrusted-host = pypi.tuna.tsinghua.edu.cn安装软件包apt-get install bridge-utils git vim python

2022-03-20 22:00:43 3001

原创 【2021第二届云原生编程挑战赛2:实现一个柔性集群调度机制】基于docker容器的测试集群搭建

比赛链接:https://tianchi.aliyun.com/competition/entrance/531923/information比赛内容: Apache Dubbo 作为一款可拓展性极高的 RPC 框架,支持高度自定义化的集群调度机制,本次比赛要求参赛者基于 Dubbo 提供的集群调度自定义化能力,辅以调用过滤链机 制、自定义负载均衡机制等功能,设计一种柔性调度机制。本文主要介绍,如何在单台linux服务器中,使用docker部署测试环境。1. 安装启动NACOS1.1. 安装.

2021-09-17 18:42:19 441

原创 [Unity与强化学习] ML-Agents Python Api 环境配置与开发

Unity 机器学习代理工具包 (ML-Agents) 是一个开源项目,它使游戏和模拟能够作为训练智能代理的环境。 unity官方提供基于PyTorch的强化学习算法的实现,使游戏开发人员和爱好者能够轻松地为 2D、3D 和 VR/AR 游戏训练智能代理。 研究人员还可以使用提供的简单易用的 Python API 来训练使用强化学习、模仿学习、神经进化或任何其他方法的代理。本文主要围绕官方提供的 Getting Started 文档介绍环境搭建及API的使用,并补充部分我在实际使用中遇到的问题。安.

2021-08-22 10:56:05 3352 5

原创 [Redis] Redis集群基础知识总结

1. Redis集群三种模式1.1. 主从同步/复制为了避免单点故障,通常的做法是将数据库复制多个副本以部署在不同的服务器上,这样即使有一台服务器出现故障,其他服务器依然可以继续提供服务。为此, Redis 提供了复制(replication)功能,可以实现当一台数据库中的数据更新后,自动将更新的数据同步到其他数据库上。在复制的概念中,数据库分为两类,一类是主数据库(master),另一类是从数据库(slave)。主数据库可以进行读写操作,当写操作导致数据变化时会自动将数据同步给从数据库。而从数据库一

2021-06-21 22:31:23 250

原创 [转转转]面试常见逻辑推理题目及答案整理

程序员面试喜欢考察应聘者的逻辑思考能力,但是存在一个弊端就是由于题目有限有些应聘者之前接触过被考察的题目就可以很流畅的回答出来,而没接触过的应聘者即使有相同的逻辑推理能力也很难流畅的表达出来。这样显得这个环节不太公平,但是我们只能通过增强自身的经验来克服这种情况。下面是我收集整理的一些逻辑推理类型的题目:经典面试智力题200+题和解答中有更多类似的逻辑推理题目,感兴趣的同学可以看一下,我这里只列举常见的逻辑题目。1. 1000个瓶子里有一瓶毒药,老鼠喝了毒药之后一天后死亡, 一次可以喝多瓶毒药,问检

2021-06-08 15:58:13 8051 4

原创 各大常见应用场景中Redis的使用方法

最受欢迎的文章统计例如博客网站需要对文章的点赞数进行排名,从而找出网站中今天最有趣的50篇文章放入首页。我们的程序就需要对每篇文章产生一个能够根据时间流逝而不断减少的评分,程序需要根据文章的发布时间和当前时间来计算文章评分,具体的计算方法为:将文章的点赞数G * 常量E + 文章发布时间T得到的就是文章的评分。我们使用发布文章时Unix 时间的秒数作为文章发布时间T,选取的常量E为432(这一常量是通过假定热门文章一天的点赞数为200得到的,即一天的秒数86400/200),这样就得到一个可以根据时间和

2021-05-13 17:13:27 627

原创 [nginx]配置nginx转发时保留原始请求域名

举例,访问test.com,通过nginx转发到了127.0.0.1:8080的项目,现在需要在项目中通过代码获取到test.com在nginx配置中添加如下配置即可。proxy_redirect off;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;说明proxy_red

2021-05-01 19:01:24 9686

原创 [Unix]了解Unix环境编程

这篇文章的目的是对Unix环境编程建立一个简单的认知,同时梳理一下自己的知识体系。文章目录1. UNIX 体系结构2. 用户登录与Shell启动2.1. 登录2.2. Shell3. 文件和目录4. 输入和输出4.1. 文件描述符4.2. 标准输入、标准输出和标准出错4.3. 不用缓存的I/O4.4. 标准I/O5. 程序和进程5.1.1. 程序5.1.2. 进程和进程ID5.1.3. 进程控制5.1.4. 线程和线程ID6. 信号7. 系统调用和库函数1. UNIX 体系结构严格意义上,可以将操作系

2021-03-27 18:42:37 616

原创 一篇了解分布式实时搜索引擎——Elasticsearch

什么是Elasticsearch?Elasticsearch是一款分布式实时搜索引擎,内部基于Lucene做索引与搜索。上面这段简短的介绍有几个关键字值得注意:实时,实时意味着ES的数据在入库后1s内就可以被搜索到。分布式,ES支持动态调整集群规模,弹性扩容。Lucene则是一款全文搜索框架,提供建立索引和执行搜索的功能,但是并不包含分布式服务。目前除了搜索,ES还提供了大量的聚合功能,所以它不仅仅是一款搜索引擎,还可以进行数据分析、统计,生成指标数据,所有这些功能都在快速迭代。文章目录1. 基本

2021-03-21 12:05:51 2279 5

原创 [Unity 3D] Nordeus Demo 安装

Unity引擎在其2017.3版本中引入了C# Job System、Burst Compiler以及Entity Component System,使得开发者能够利用CPU的多核硬件并行处理游戏逻辑,大大提升了游戏效率。Nordeus Demo是Unite Austin会议上展示的通过利用上述技术实现了PC平台上数以万计角色同屏的效果。有一个问题是Unity本身以及DOTS相关package都更新太快了,很多读者想要运行起来这个demo难免遇到很多问题,这篇文章就记录一下我的一些解决方法。下载源.

2021-03-19 17:37:59 475

原创 [面面面]搞定计算机面试常见知识点——网络篇

之前的一篇总结已经写到了十万字,阅读起来太不方便了,所以按照类别拆分成多个短篇分享给大家。文章目录1. 网络类1.1. HTTP/1.0/1.1/2.0的区别1.2. OSI七层模型与TCP/IP五层模型1.2.1. 为什么有5层7层之分1.3. TCP与UDP的区别1.4. TCP粘包问题1.5. 网络数据包结构1.6. TCP1.6.1. TCP拥塞控制1.6.1.1. 慢启动1.6.1.2. 拥塞窗口和可发送窗口1.6.1.3. 加法式增加/乘法式减少拥塞窗口1.6.1.4. 拥塞感知1.6.1.5

2021-03-05 13:50:50 811

原创 [面面面]搞定计算机面试常见知识点——算法篇

之前的一篇总结已经写到了十万字,阅读起来太不方便了,所以按照类别拆分成多个短篇分享给大家。文章目录7. 算法7.1. 二进制表示7.2. 红黑树与AVL7.2.1. 红黑树7.2.2. AVL树7.2.3. 比较7.3. 大数据下订单去重7.4. 找出一篇文章中,出现次数最多的单词7. 算法7.1. 二进制表示在计算机中,负数以原码的补码形式表达。原码:一个正数,按照绝对值大小转换成的二进制数;一个负数按照绝对值大小转换成的二进制数,然后最高位补1,称为原码。反码:正数的反码与原码相同,负数的反

2021-03-05 13:50:25 446

原创 [面面面]搞定计算机面试常见知识点——操作系统篇

之前的一篇总结已经写到了十万字,阅读起来太不方便了,所以按照类别拆分成多个短篇分享给大家。文章目录6. OS类6.1. 页面置换算法6.1.1. 最佳置换算法(OPT)6.1.2. 先进先出置换算法(FIFO)6.1.3. 最近最久未使用(LRU)算法6.1.4. 最少使用(LFU)置换算法6.2. 线程和进程6.2.1. 区别6.2.2. 地址空间6.3. select,poll,epoll6.4. 内核态与用户态的区别6.5. 用户级线程和内核级线程6.6. 大内核和微内核有什么区别?6.7. 进程状

2021-03-05 13:49:37 639

原创 [面面面]搞定计算机面试常见知识点——工具篇

之前的一篇总结已经写到了十万字,阅读起来太不方便了,所以按照类别拆分成多个短篇分享给大家。文章目录5. 工具类5.1. Redis5.1.1. Redis为什么要作为缓存?5.1.2. redis和memcached的区别5.1.3. Redis常用数据结构以及数据结构底层5.1.4. 定期删除、惰性删除5.1.5. 内存淘汰机制5.1.6. 持久化机制5.1.7. 缓存穿透,缓存击穿,缓存雪崩5.1.8. 并发竞争key问题5.1.9. 如何保证缓存与数据库的双写一致性5.1.10. Redis为什么是

2021-03-05 13:48:36 1579 2

原创 [面面面]搞定计算机面试常见知识点——框架篇

之前的一篇总结已经写到了十万字,阅读起来太不方便了,所以按照类别拆分成多个短篇分享给大家。文章目录4. 框架类4.1. Spring与Spring Boot的区别与联系4.2. Kafka、ActiveMQ、RabbitMQ、RocketMQ 区别4.3. mybatis与hibernate的联系与区别4.4. Servlet4.4.1. 调用Servlet4.4.2. 处理请求4.4.3. 多个请求4.5. Spring的初始化4. 框架类4.1. Spring与Spring Boot的区别与联系

2021-03-05 13:46:55 356

原创 [面面面]搞定计算机面试常见知识点——数据库篇

之前的一篇总结已经写到了十万字,阅读起来太不方便了,所以按照类别拆分成多个短篇分享给大家。文章目录3. 数据库3.1. 必备技能 寿司SQL3.1.1. 超过5名学生的课3.1.2. 查询出各科成绩最高分的同学3.2. SQL3.2.1. Left Join 和 Right Join3.3. SQL优化3.4. SQL执行过程3.5. 死锁及优化3.5.1. 同时Update3.5.2. 先查询在插入3.6. ACID3.7. 数据库事务、隔离级别、Innodb和Myisam的区别3.7.1. 脏读、幻读

2021-03-05 13:45:24 260

原创 [面面面]搞定计算机面试常见知识点——Java篇

之前的一篇总结已经写到了十万字,阅读起来太不方便了,所以按照类别拆分成多个短篇分享给大家。文章目录2. 语言类2.1. 进程和线程的区别2.2. 协程与线程2.2.1. 协程的优势2.3. 线程安全的定义、线程的状态2.4. 多线程的实现方式(Runnable和Callable的区别)、start/run方法的区别2.5. 子线程异常捕捉2.6. wait()/notify()/sleep()/yield()/join()几个方法的意义2.7. notifyAll实现原理及等待池和锁池的概念2.8. 线程

2021-03-05 13:43:38 2108

原创 [面面面]一篇搞定计算机面试常见知识点(10w字更新中)

写这篇文章的目的是为了在摸鱼或者备考时打开看一看,感受一下计算机知识海洋的浩瀚。本文部分内容是我自己的理解也有部分是网络上我认为总结的比较好进而抄录整理得来。

2020-12-29 17:08:28 6494 2

原创 [刷刷刷] 力扣做题笔记(更新中)

1.1. 位运算1.1.1. 给定范围按位与给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)因为范围中只要有一次变化则该位就必为0,所以这题就是求高位无变化数,找到递增过程中一直没有变化过的高位1,如 :110 和 100 结果为 10011101110 和 10101110 则结果为 10000000 public static int rangeBitwiseAnd(in

2020-12-27 16:04:58 989

原创 如何在原生Android应用中嵌入cocos2d-x(v4.0)开发的游戏

最近接到的一个需求是在我们已有的Android应用中嵌入cocos2d-x开发的小游戏,但是由于网络上关于v4.0版本相关的文章比较少,尤其是实现这种特定的需求更是几乎没有,所以笔者将自己的方法分享出来,以方便他人。

2020-09-09 09:56:59 2804 1

原创 一种解决spark解析json文件出现_corrupt_record异常的方法

使用下面由scala编写的spark程序读取json文件时,json格式解析异常。val dfjs = sc.read.json("test.json")dfjs.printSchema()解析出来的异常json格式为root |-- _corrupt_record: string (nullable = true)test.json 文件内容为:{ "a":"123"}通过分析json文件内容可知,这是由于多余的换行符导致spark的json解析器没有正确解析。网络上有通过添加

2020-07-11 13:19:58 2253

原创 scala语言中case关键字的三种用途,以及在spark中的一种特殊用法

在scala中,case关键字有多种用途可以用作模式匹配,例如 var arr = Array(1,2,3,4,5,6) arr.foreach(i => { case 1 => println("==1") case _ => println("!=1") })可以使用在类class前面声明为case classclass之前添加case可以自动生成equal、hashcode、toString、copy方法和他的伴

2020-07-09 21:32:40 6740

原创 PySpark MLlib HashingTF源码分析

在处理文本数据,尤其是自然语言处理的场景中,hashingTF使用的比较多。Mllib使用hashing trick实现词频。元素的特征(即词)应用一个hash函数映射到一个索引,通过这个索引计算词频。这个方法避免计算全局的词-索引映射,因为全局的词-索引映射在大规模语料中花费较大。 def __init__(self, numFeatures=1 << 20): self.numFeatures = numFeatures self.binary =.

2020-07-07 01:09:55 668 1

原创 解决kafka正常运行producer连接却出现NoBrokersAvailableError错误的问题

kafka正常运行,producer连接时却出现NoBrokersAvailableError错误这是由于kafka默认使用hostname作为meta信息,如果producer使用ip连接的时候就会导致zookeeper无法识别从而报错。这样就有两种解决思路,一是配置host,然后使用host进行连接。二是如果不愿意配置host的话,可以修改默认的listener参数:进入/usr/local/kafk(kafka的安装目录)修改config/server.properties中的默认参数,有一

2020-06-15 01:39:54 3647 1

原创 一种在centos7安装kafka单机测试环境并设置自启动的方法

1、安装kafka下载地址:http://kafka.apache.org/downloads cd /opt wget http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.11-2.3.0.tgz tar zxvf kafka_2.11-2.3.0.tgz mv kafka_2.11-2.3.0 /usr/local/apps/ cd /usr/local/apps/ ln -s kafka_2.11-2.3.0 kafka2、启动测试

2020-06-13 23:55:16 470

原创 一种重置mysql5.7版本root密码的方法——通过修改配置文件跳过密码检查

一不小心忘记了mysql的密码,通过以下步骤对root密码进行重置:修改配置文件vi /etc/my.conf在[mysqld]中添加如下配置行,以跳过权限检查skip-grant-tables然后重启mysql服务service mysqld restart无密码登录接下来通过mysql客户端登录就无须输入密码了mysql -u root -p设置密码在MySQL Shell 中输入命令修改root密码update mysql.user set authentic

2020-06-07 12:11:24 574

原创 AS build安卓项目出现“Read timed out”错误

错误日志org.gradle.internal.exceptions.LocationAwareException: A problem occurred configuring root project 'TextureMusic'.Caused by: org.gradle.api.ProjectConfigurationException: A problem occurred conf...

2020-04-13 16:13:26 3309

原创 动态规划 | 最长上升字符串问题

题目描述首先定义上升字符串,对于任意的0<i<len(s),s[i]≥s[i−1],比如aaa,abc是,acbd不是给n个上升字符串,选择任意个拼起来,问能拼出来的最长上升字符串长度?思路这道题首先想到利用动态规划的思路,动态规划的基本思想就是:问题的最优解如果可以由子问题的最优解推导得到,则可以先求解子问题的最优解,在构造原问题的最优解;若子问题有较多的重复出现,...

2020-04-13 12:28:49 498

原创 Java技术点速记 | JVM字节码执行引擎

一、概述在不同的虚拟机实现里面,执行引擎在执行Java代码的时候可能会有解释执行(通过解释器执行)和编译器执行(通过即时编译器产生本地代码执行)两种选择,所有的Java虚拟机的执行引擎都是一致的:输入的是字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果。每个字节码指令都由一个1字节的操作码和附加的操作数组成。二、运行时栈帧结构栈帧(Frame Frame)是用于支持虚拟机运行方...

2020-03-07 00:47:41 166

原创 Java技术点速记 | 虚拟机类加载机制

Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。一个类从被加载到卸载,它的整个生命周期将会经历加载、验证、准备、解析、初始化、使用、卸载七个阶段。加载加载阶段由三个基本动作组成:通过类型的完全限定名,产生一个代表该类型的二进制数据流(没有指明从哪里获取、怎样获取)...

2020-03-05 20:38:51 143

原创 Java技术点速记 | 字节码与类文件

java之所以可以“一次编写,到处运行(Write Once, Run Anywhere)”,是因为java代码被翻译成各个平台的java虚拟机都可以理解的程序存储格式——字节码(Byte Code)。java语言中的各种语法、关键字、变量常量和运算符号的语义最终都会由多条字节码指令组合来表达,使用Java编译器可以吧Java代码编译成储存字节码的Class文件。Class类文件结构Cla...

2020-03-04 23:37:16 400

原创 Java技术点速记 | JVM性能优化

不适当的JVM参数设置往往会导致我们的java应用出现故障或者性能问题,下面简述了几点优化方向。减少GC时间调整内存设置控制垃圾收集频率通过分析出现Full GC的原因适当调整各类型堆空间容量。选择合适的收集器降低延迟根据应用使用场景选择最合理的垃圾收集器。可以参考JVM技术点速记 | 垃圾收集与内存分配。升级JDK版本JDK每一代新的版本都有一定量的性能提升,如果为了追...

2020-03-03 17:32:31 158

原创 Java技术点速记 | 垃圾收集与内存分配

1.1. 垃圾标记方法引用计数可达性分析1.2. 垃圾收集方法标记-清除标记对象后统一回收,存在回收效率和内存碎片的问题。标记-复制将存活对象统一移动到另一部分内存空间里去,问题是内存可用率降低。标记-整理移动存活对象向空间的某一端然后释放边界外空间,问题是计算负担较大。1.3. 垃圾收集器Serial :早期新生代垃圾收集器,简单高效内存消耗小但是存在停顿时间长的...

2020-03-01 20:34:43 201

原创 机器学习 | 抗2019-nCoV药物的机器智能设计

美国密歇根州立大学的研究人员发现2019-nCoV和SARS-CoV的蛋白酶抑制剂结合位点几乎相同,这意味着所有潜在的抗SARS-CoV化学疗法也是潜在的2019-nCoV药物。研究人员报告了一类由机器智能生成网络复合体(GNC)产生的潜在2019-nCoV药物家族。还分析了一些现有的HIV药物治疗2019-nCoV的潜在有效性。本文将对“Machine intelligence design ...

2020-02-29 21:25:03 1196

原创 elasticsearch出现OutOfMemoryError故障分析及处理

最近我们的elasticsearch6.6.1集群出现了停止服务的故障,客户端提示多个节点连接无响应。检查服务器上的日志,发现如下错误日志:从错误日志可以看到,jvm首先进行了Full GC。一般老年代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象。所谓大对象,是指需要大量连续内存空间的java对象,例如很长的数组,此种对象会直接进入老年代,而老年代虽然有很大的剩余空间,但...

2020-02-22 19:31:21 6052 2

原创 计算机网络—拥塞控制(2)TCP

4. TCP拥塞控制4.1. 源算法拥塞控制源算法描述Tahoe-TCP慢启动、拥塞避免、快速重传三算法.(早期较为普遍采用的版本)paper: congest avoid.pdfReno-TCPRFC5681加上快速恢复.NewReno-TCP引入了部分确认和全部确认的概念.SACK-TCP规范了TCP中带选择的确认消息.Vegas-TCP...

2020-01-02 16:20:02 859

原创 计算机网络——p2p

三代P2P网络之间的定义和差异是什么? 三代有各自特点和应用环境Napster和Gnutella的原理*掌握Chord协议 要会算 查找、join伪代码理解Kademlia的原理,例如Kademlia协议是如何找到资源的 核心数据结构K桶掌握Bitcoin原理(论文)以及区块链概念。为什么挖矿,如果有51%的算力怎么进行攻击,把图画出来 建议看论文1. P2P系统既是客户端con...

2020-01-02 16:16:54 5216

openstack安装时github下载所需文件.zip

openstack安装时github下载所需文件.zip

2022-03-20

cirros-0.5.2-x86_64-disk.img

cirros-0.5.2-x86_64-disk.img

2022-03-20

python实现的使用c-means k-means人群分组聚类算法

包含测试数据

2021-09-17

vue及nodejs前端相关技术学习资料

vue及nodejs前端相关技术学习资料, 部分网页资源前端相关技术学习资料

2019-01-31

sql server创建房产数据表及视图(习题)

2017-04-09

计算机组成原理--cpu子系统

cpu子系统

2016-10-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除