AAA游戏中雪的实现
现在越来越多的AAA游戏中都实现了逼真的雪的效果,比如战神4、地平线:黎明时分、荒野大镖客:救赎2、古墓丽影:崛起等都实现了不错的雪地效果。今天我们就来探究一下他们的实现方式。现在主流的实现方式都是通过硬件提供的细分功能来实现的。 Batman: Arkham Origins 这个游戏里面没有地形, ...
海量数据处理方法整理记录
随着现在数据量的不断增加,很多大数量的问题随之而来,就得需要我们想办法解决,我找了一些问题并首先思考,然后找到方法,在这里记录一下,未来有需要的同学可以拿走去用。 1. 在海量日志数据里,提取某天访问量最多的IP。 一般处理海量的思路都是分治处理,就是现将数据进行拆分,然后进行处理,排序等。这个例子 ...
asp.net core系列 25 EF模型配置(隐藏属性)
一. 隐藏属性概述 隐藏属性也叫影子属性,该属性不是在.net实体类中定义的属性,而是在EFCore模型中为该实体类型定义的属性。这些属性的值和状态完全在变更跟踪器中维护。它有二个功能:(1)当数据库中某些字段不想映射到实体类上公开的属性时,隐藏属性非常有用。(2)隐藏属性通常是用于外键属性,其中两 ...
Webpack学习-工作原理(上)
对于webpack的认识始终停留在对脚手架的使用,不得不说脚手架既方便又好用,修改起来也方便,只需要知道webpack中各个配置项的功能,于是对于我们来说,webpack始终就是一个黑盒子,我们完全不清楚里面是如何去运作的。打包时报错,就只能借助google来协助帮忙解决问题,至于为什么要这样解决, ...
2018的穿肠毒药和2019的心灵鸡汤
当你和一个美丽的姑娘坐上两个小时,你会感到好像坐了一分钟;但要是在炽热的火炉边,哪怕只坐上一分钟,你却感到好像是坐了两小时。细数那些从指教溜走的岁月。 ...
客户端缓存机制 - Cookie详解
Cookie 作者:Stanley 罗昊 Cookie不是内置对象,所以用的时候需要new出来,Cookie是由服务端产生的,再发送给客户端保存,它不是内置对象,却是由服务端产生的,产生完后给了客户端; 它存在于客户端,却不是客户端产生的,是服务端产生的,产生完后给你了 Cookie的作用 Cook ...
css3常用动效以及总结
(迁移自旧博客2017 08 06) CSS3 文本效果: box shadow:盒子阴影,可以给卡片添加提高美化效果??晒惴河τ糜谀谌菡故疽趁?。 效果如下: 效果如下: css3 过渡: 最简单的过渡是一个div,给它加上如下代码,便可以从宽度100px华丽的过渡到宽度为300px。 那么再来点高 ...
k8s通过service访问pod(五)--技术流ken
service 每个 Pod 都有自己的 IP 地址。当 controller 用新 Pod 替代发生故障的 Pod 时,新 Pod 会分配到新的 IP 地址。这样就产生了一个问题: 如果一组 Pod 对外提供服务(比如 HTTP),它们的 IP 很有可能发生变化,那么客户端如何找到并访问这个服务呢 ...
2018总结:理财(韭菜)、工作、生活
18年应该是工作10年来最惨的一年,主要是在这个特殊的一年开始理财了,损失惨重。工作上还是进展挺大了,去了一个都是老同事的公司,工作内容也有了新的挑战。 理财 说起来一把泪的18年理财。有句话说得好,去年不炒房、不炒股、不买币、不买P2P,躺着不动就是赢家。先说下周围的朋友,有个朋友去年炒股亏了十几 ...
深入理解Java的三种工厂模式
一、简单工厂模式 简单工厂的定义:提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类 实现汽车接口 奔驰类 宝马类 简单工厂,既能生产宝马又能生产奔驰 测试类 测试结果 根据简单工厂的定义,用户只要产品而不在乎产品如何生产,看起来好像很完美的样子。 ...
C++ 单例模式总结与剖析
[toc] C++ 单例模式总结与剖析 单例可能是最常用的简单的一种设计模式,实现方法多样,根据不同的需求有不同的写法; 同时单例也有其局限性,因此有很多人是反对使用单例的。本文对C++ 单例的常见写法进行了一个总结, 包括懒汉式、线程安全、单例模板等; 按照从简单到复杂,最终回归简单的的方式循序渐 ...
springboot学习之授权Spring Security
SpringSecurity核心功能:认证、授权、攻击防护(防止伪造身份) 涉及的依赖如下: 如上,原本启动项目后,在地址栏中输入//localhost:8080/hello应该显示返回的内容 然而此次加了安全验证后,不管url中访问的地址是什么,hello还是hello111,均返回lo ...
认识RabbitMQ交换机模型
前言 RabbitMQ是消息队列中间件(Message Queue Middleware)中一种,工作虽然有用到,但是却没有形成很好的整体包括,主要是一些基础概念的认识,这里通过阅读《RabbitMQ实战指南》整理笔记并进行代码实践,更好地理解RabbitMQ! 本文只通过讲解RabbitMQ的一些 ...
当我们讨论性能测试时,我们在说什么?
说起性能测试,大家会想到哪些词?录制脚本、模拟高并发?性能需求分析、业务流程梳理?监控资源耗用、性能瓶颈定位?优化代码处理逻辑、提升服务器配置? 但这真的是性能测试的本质和最终目的么?这篇博客,聊聊我对软件性能的一些看法和思考。。。 首先明确一点:技术的存在是为了解决实际的业务发展中遇到的问题和痛点 ...
从零开始单排学设计模式「装饰模式」黑铁 I
阅读本文大概需要 3.6 分钟。 本篇是设计模式系列的第四篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统。 所以现在打算重写,加上距离现在也有一段时间了,也算是自己的一个回顾吧! 学而时习之,不亦说乎。 推荐阅读: 从零开始单排学设计模式「UML类图」 ...
Python Requests库使用指南
本文为译文,原文链接 "python requests library guide" 本人博客: "编程禅师" "requests" 库是用来在Python中发出标准的HTTP请求。 它将请求背后的复杂性抽象成一个漂亮,简单的API,以便你可以专注于与服务交互和在应用程序中使用数据。 在本文中,你将 ...
Feign源码解析系列-那些注解们
开始 Feign在Spring Cloud体系中被整合进来作为web service客户端,使用HTTP请求远程服务时能就像调用本地方法,可见在未来一段时间内,大多数Spring Cloud架构的微服务之间调用都会使用Feign来完成。 所以准备完整解读一遍Feign的源码,读源码,我个人觉得一方面 ...
AtCoder Beginner Contest 118 解题报告
A B +/ A D Match Matching 设$f[i]$表示用了$i$根火柴,能拼出的数的个数,输出答案对每个dp值维护一个vector即可。 $$ f[i]=max\{f[i a[j]]+1\} $$ 每次转移都将原数组的vector也转过去,push个a[j]进去即可。 注意排序,按数 ...
LVS持久化与超时时间问题分析
前言 在上一篇文章 "《搭建DNS+LVS(keepAlived)+OpenResty服务器(Docker环境)》" 中,我搭建了dns+lvs+openresty+web集群;先来回顾一下架构图: 问题现象 可以看到,我把web服务器分成了两组,一组为web01,web02,挂在了openrest ...