自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 【DirectX11学习02】绘制单个基本几何体的线框

注:下面涉及的代码都基于这篇文章的内容 https://blog.csdn.net/Kurozaki_Kun/article/details/86709050绘制过程要在DX上绘制一个基本图形,大体流程有以下几步给出输入布局(主要是描述顶点的格式) 给出描述几何体的顶点,索引,拓扑图元 加载并创建各种着色器 创建索引缓冲,顶点缓冲,以及必要的常量缓冲 将以上内容绑定到渲染管...

2019-02-06 21:48:27 2294

原创 【DirectX11学习01】用一个类封装DirectX的初始化

DirectX的初始化步骤较为繁琐,这里将DX的初始化扔进类的初始化(构造函数)里(如果构造函数里还要执行其他逻辑,那就最好把D3D的初始化扔进一个内联函数,这样能够更好地区分逻辑),下次要使用的时候,就直接继承该类,然后在这基础上写自己的东西首先准备一个AppPublic.h,包含了以后可能要用到的所有头文件#pragma once#ifndef _APP_PUBLIC_#def...

2019-01-30 22:05:35 695

原创 DirectX11学习笔记(不定期更新)

目录 1、DX与HLSL的矩阵2、创建常量缓冲区的尺寸需要按照16字节对齐1、DX与HLSL的矩阵DX的矩阵(DirectX::XMMATRIX)按照行主元优先存储,而HLSL的矩阵默认按照列主元优先存储。解决这个问题的方法有两种1)将DirectX的矩阵转置DirectX::XMMATRIX m_matrix; ...DirectX::XMMatrixT...

2019-01-29 17:45:27 476

原创 用Python手写一个JSON解析程序

JSON的组成一个合法的JSON字符串可以包含这几种元素:特殊符号,如 "{"  "}" 表示一个JSON Object,"[" "]" 表示一个JSON Array,":"用于分隔key-value,"," 用于分隔两个元素 字符串,用引号引起来 数字,包含0-9,浮点数带有".",表示符号可带有"+" "-" 常

2018-12-22 10:24:26 884 2

原创 空间索引-四叉树的实现及其应用

什么是四叉树?四叉树(Quad Tree)是一种空间索引树,四叉树的每一个节点都代表着一块矩形区域。我们知道在平面直角坐标系中,平面可以被分为第一二三四象限,四叉树的每一个节点也类似,可以分裂为四个子节点,子节点在满足条件的情况下可以继续分裂,这样构成了一个四元的树状结构,就是四叉树。 四叉树的作用通常使用树结构能够带来高效且简单的检索效果,四叉树也不例外,四叉树主要用于二维空间的...

2018-10-31 15:57:34 14522

原创 网易游戏(互娱)游戏研发一面&二面(已收到offer)

简单来讲下上周面网易互娱的心得(因为我不是走内推而是直接怼笔试的,所以上周才有了笔试结果然后被告知面试),我面的岗位是游戏研发工程师(初级) 一面(40分钟左右)开始是简单的自我介绍C++:关于C++问的比较简单,因为我跟面试官说我主要学的是Java(其实这点我也比较担心会有影响),问得有针对C++问得有virtual关键字和静态库与动态库但是两种语言的共性——面向对象...

2018-09-28 11:04:00 33528 6

原创 【CVTE一面】记一次百里送人头

今天大老远的跑去广州面CVTE的第一轮面试,我面的是Java后端岗位,讲真我对自己的表现并不满意。面试过程一开始见到两个面试官,看起来非常Nice,左边一个全程没说过几句话,主要在记录东西。右边那个就主要问我问题的。面试官开始随便问几句你学校在哪,面试官还不知道五邑大学。进入正题,第一个问题是问我Java语言的特性,我回答了封装继承多态,然后他问我对封装的理解, 对继承的理解。老实说这...

2018-09-14 22:24:37 1517

原创 Huffman树与Huffman编码的代码实现

Huffman树构建过程1、给定集合S,包含n个元素,每个元素拥有一个权值w2、从集合中取出集合最小的两个元素,创建一个新的父节点,左右子节点分别指向这两个节点,父节点的权值为两节点权值之和,将父节点放回集合中3、将步骤(2)重复n-1次,最后获得的父节点作为树的根节点,Huffman树构建完成。Huffman编码对于哈夫曼树的每个节点,到左孩子的边标记为0,右孩子标记为1,(...

2018-09-12 17:32:22 945

原创 【笔记】LetsEncrypt免费证书配置HTTPS

我用到的证书是Let's Encrypt,这是一个免费、开放,自动化的证书颁发机构,由 ISRG(Internet Security Research Group)运作。ISRG 是一个关注网络安全的公益组织,详情参见官网 https://letsencrypt.org/环境我用的环境如下Ubuntu 16.04.1NginxTomcat 7.0证书主是通过Nginx配置的,...

2018-09-11 22:40:52 1196

原创 字典树与前缀匹配

简介前缀匹配大家都不陌生,运用也很广泛,常见的应用是输入框的自动提示,像Linux这样的操作系统命令行的自动补全,也是前缀匹配的一个应用。字典树字典树有如下性质1,根节点不包含字符,除根节点意外每个节点只包含一个字符。2,从根节点到某一个节点,路径上经过的字符连接起来,为该节点对应的字符串。3,每个节点的所有子节点包含的字符串不相同。代码实现字典树节点的定义 ...

2018-09-10 09:07:13 2110

原创 模糊匹配之——BK树与拼写纠正

介绍拼写纠错功能常常出现在比较高级的文本编辑应用中,例如大家熟知的word,高级一点的IDE例如Jet Brains系列,在一些在线翻译上,也有自动校正拼写的功能,例如谷歌翻译。原理拼写纠正的实现方式有多种,这里使用的是一种名为BK树的数据结构,也叫作Burkhard-Keller树,是由Burkhard,Keller这两人提出来的,不过网上能找到的相关资料并不多,参见ACM文档htt...

2018-09-09 11:18:18 1550 1

原创 ThreadLocal源码解读

ThreadLocal的作用用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据。 ThreadLocal的主要方法主要方法有 get(),set(),remove()分别对应获取值,设置值,删除值对于同一个线程,在没有set或remove之后,get会得到null值 Thread,T...

2018-08-27 20:24:24 221

原创 迷宫的生成——深度优先搜索

生成一个迷宫的算法有好几种,下面来介绍一下用深度优先搜索的思想来生成一个迷宫。 算法描述迷宫的初始状态是一张有众多单元格组成的网格,单元格的初始状态是“四面有墙”,DFS的步骤如下1.将起点作为当前迷宫单元并标记为已访问2.当还存在未标记的迷宫单元,进行循环 1.如果当前迷宫单元有未被访问过的的相邻的迷宫单元 1.随机选择一个未访问的相邻迷宫单元 2.将当前迷宫单...

2018-08-13 22:58:23 964 1

原创 手写一个简化版Mybatis

1、引包引入dom4j包以及数据库连接包,我用的是mysql数据库,因此引入mysql-connector包2、数据库创建数据库比较简单,创建sql如下CREATE DATABASE db_test;use db_test;CREATE TABLE `tb_user` ( `id` int(11) NOT NULL, `name` varchar(20) NOT ...

2018-08-07 16:06:28 1053

原创 关于HTTP的Content-Length与Chunk编码方式

最近在学习netty,里面提到了一个TCP拆包粘包的问题,查阅资料了解到了几种解决的办法,例如使用特殊分隔符 定长数据帧以及 自定义消息头+消息体,在消息头中定义数据包的长度关于最后一种实现手段,最典型的代表就是我们常见的HTTP协议。关于Content-LengthContent-Length是HTTP头部的一个字段,用于表示HTTP的body数据的长度。但是在HTTP 1.0...

2018-07-18 16:55:31 4516

原创 关于 0.1+0.2 == 0.3 不成立的一些细节

很早之前看到一关于js的问题,如下实际上 0.1+0.2 != 0.3 这个问题不是js特有,来看一段java代码 @Test public strictfp void test() { System.out.println(0.1f + 0.2f == 0.3f); System.out.println(0.1 + 0.2 == 0.3); ...

2018-07-11 15:25:57 11953

原创 自己动手实现BlockingQueue

    Java的java.util.concurrent.*包下有许多在并发场景下使用的集合,ArrayBlockingQueue是其中之一,它是一个循环队列,这个队列的特别之处在于take方法与put方法,分别对应队列的元素出列和元素入列操作,当队列为空时,take会使得线程进入等待状态,直到队列不为空,有元素能够出列才会继续执行;同理,当队列满时,put方法也会使得线程进入等待状态。    ...

2018-07-01 21:23:18 1320

原创 ArrayBlockingQueue源码解读

ArrayBlockingQueue主要由以下几个重要方法方法返回或超时返回阻塞     插入offer(E e) / offer(e, long timeout, TimeUnit unit)put(E e)移除poll() / poll()poll(long timeout, TimeUnit unit)take()插入元素1、offer(E e) / offer(e, long timeou...

2018-06-30 10:07:44 212

原创 Java的迭代器与迭代子模式

概括Java集合容器是Java的一个重要组成部分,而迭代器(Iterator)就是对外提供访问集合元素的一种方式。访问数组元素的方式访问数组的方式并不陌生,如下public class Test { public static void main(String[] args) { int[] arr = {2, 0, 1, 8, 0, 6, 0, 7}; ...

2018-06-09 11:03:18 607

原创 第九届蓝桥杯国赛参赛心得

ps:这是我第一次参加蓝桥杯的国赛,非专门玩ACM的,也很少去彻底钻研很高深的算法        我参加的是C/C++大学B组,客观来说题目从题难度不高,总共6道,我估计自己做出了4.5道,最后拿的是国二,没有一等奖有点遗憾,不过归根结底还是自己水平还不够吧。简单说下国赛的题目内容吧。        第一题签到题,大概意思是用面额为1,2,5的钞票换取200的金额,并且有约束条件“面额为2的张数恰...

2018-05-28 22:11:27 2117

原创 用Java写一个Photo Mosaic

早在两星期前也写了个“马赛克拼图”,不过只支持黑白色的图片,昨天试了下拼彩色图片,先来一张预览图,效果还是可以的实现思路1、准备大量小张方形素材,为了方便表述,姑且称这些图片为“Tile”2、对于每一个Tile,作如下处理:统一压缩成同一大小,我压缩成了32x32计算平均RGB值“简化”RGB值,我这么做是因为Tile素材量还不够大,我希望能将平均RGB值相近的Tile都归为一组,分组也方便后面对...

2018-04-12 14:36:14 738

原创 用Java实现简单的“马赛克拼图”

先来一张效果图这些头像都来自微信好友的,放大看这不过是一张众多头像拼成的大图,缩小或远看能够发现这些头像其实拼出了一个有趣的图案。这个实现思路并不复杂(这个思路暂时只针对黑白的图片,如果要支持彩图会更复杂一点,可以了解下 foto-mosaik-edda)首先需要一张“参考图片”和大量小图片(最好都是方形的,头像是个很好的选择)计算每一张方形小图片的平均灰度值,计算公式为 gray = (77*r...

2018-03-28 11:33:09 2399 1

原创 【算法题】最大的奇约数

题目来源:网易我的解法:         一开用的是始逐项求最大奇数然后相加的解法,由于后面几个测试用例的n比较大,所以运行超时了,这样就不得不从中找规律来解。        不难发现,当x为奇数时,f(x)=x。        当n为奇数,s(n) = f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + .... + n = (1 + 3 + 5 + 7 + .....

2018-03-22 11:25:56 289

原创 【算法】跳石板问题(广度优先搜索)

题目描述(来源:网易的笔试题) 小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3.......这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。  例如: N = 4,M...

2018-03-08 15:34:04 402

原创 【算法题】不使用四则运算求A+B

题目描述最近看到一道比较有趣的算法题,原题是这样的: 写一个函数,求两个整数(int)之和,要求在函数体内不得使用+、-、*、/四则运算符号。我的解法public int add(int num1, int num2) { return (num1 & num2) == 0 ? num1 ^ num2 : add(num1 ^ num2, (num1 & num2) << 1);

2018-02-03 18:45:05 495

原创 Spring学习笔记——IOC的一些注解

Spring支持用注解的方式配置Bean,这相比传统的XML配置方式,极大减少了对Bean的配置量。不过在使用注解之前,还是需要在配置文件上添加一行<context:component-scan base-package="com.yotwei.ioc"/>这告诉Spring我想要配置的Bean位于包com.yotwei.ioc下,Spring将会自动扫描该包下的类。Component, Contr

2018-02-01 22:12:07 257

原创 Java NIO实现WebSocket服务器

这里用了原生的NIO来与HTML5中WebSocket API的数据格式对接。而不是使用Java现有的架包或框架

2017-12-19 16:03:20 7608 3

原创 ServerSocket实现超简单HTTP服务器

使用ServerSocket与Socket实现一个简单的HTTP服务器

2017-12-09 11:21:05 6879 2

原创 网络协议学习——HTTP协议POST方法的格式

关于http的介绍这不赘述,主要总结下post方法里不同形式的body的提交格式。先谈谈get与post的区别很多人说get方法比post方法安全,我本人并不赞同,这是个片面的说法。在本地环境下,post的参数通常不会保存在浏览器历史里,在提交请求时,get方法的参数直接放在URL上,而post方法则是放在body里,相比于get,post不能直接看到所提交的参数。 想象一下,如果提交的密码是一个

2017-11-27 21:01:26 43801 2

原创 回溯法简单应用--解数独

介绍用回溯法解标准数独,附上Java代码

2017-11-06 14:21:45 1901 2

原创 SHA1算法以及Java代码实现(不使用MessageDigest类)

最近课程上了点密码学,稍微了解了下哈希函数,并且试着用Java实现了一下sha1算法。为了理解其原理,我没有使用Java带的MessageDigest类。而是从头开始实现一遍

2017-10-28 19:48:33 2632

DirectX演示例子

一个DirectX的例子,包含了最近学习的一些DX相关的内容

2019-01-28

空空如也

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

TA关注的人

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