自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kaitiren的专栏

移动端研发工作者

原创 Python vs Go!

根据维基百科数据统计,一共有 600 余种不同的编程语言。对于五花八门的开发语言,每门语言都有自己的优缺点。而励志成为一名博学多广的开发者,术业也有专攻,怎奈何也不会学习完百余种语言。 在这些语言中,Java 作为 22 年的常青藤,无论是新爆发的 Kotlin 还是 C、C++、Python、...

2019-01-04 11:38:07 1465 0

原创 2019年1月起Oracle要对JDK8就要收费了!

下载友情提供:美丽世界APP下载 JDK8从2019年1月开始就要收费了,怎么办呢? 其实这个问题本身就是有问题的,因为收费的并不是JDK8 , 而是JDK8后续的update (更新) 。 什么是update? 如果你下载过JDK, 就会看到那些8u191, 8u192这样的东西,19...

2018-12-18 15:41:23 32061 13

原创 阿里P8架构师谈:MySQL数据库的索引原理、与慢SQL优化的5大原则

  MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。 我们...

2018-10-22 13:41:33 410 0

原创 NEW 创建自己的数字货币(ERC20代币)进行ICO (新增修改SOL代码)

本文从技术角度详细介绍如何基于以太坊ERC20创建代币的流程. 本身不太想写这边文章,可是朋友公司遇到最可怕60万代创建ERC20 Token的事件,特此出文! 即将新增:. 以太坊私链,联盟链技术部署细节; . Fabric私链,联盟链技术部署细节; 注部分大学实验室骗局破灭,警示进入区...

2018-10-19 15:11:57 1912 1

原创 如何逆向破解抓包工具Charles!

一、前言 我们在进行应用开发过程中有时候可以需要进行抓包测试数据,比如模拟服务端的下发数据和我们客户端的请求参数数据,特别是测试人员在进行测试的过程中都会进行抓包,当然我们在破解逆向的过程中也是需要用到抓包工具,因为我们抓到数据包可能就是我们破解的突破口,那么我们可能常用的都是Fiddler工具...

2018-10-19 14:44:19 2504 0

原创 【逆水寒】——一个终将走向归零的“伪区块链”游戏

昨天,网易的游戏「逆水寒」官方发布了一篇文章,「家里真的有矿了!逆水寒已内嵌区块链技术」在朋友圈疯狂传播。   大厂做区块链游戏,已经不是什么新鲜事。 网易旗下有「网易星球」。 百度旗下有「百度莱茨狗」、「百度绿洲」、「百度度宇宙」。 小米旗下有「加密兔」。 腾讯旗下有「一起来捉妖」。...

2018-09-12 14:40:43 1186 0

翻译 MIT教授提出可扩展的新共识算法Algorand,彻底消除区块链分叉的可能性

如果公有区块链要想获得成功——无论是被用作货币,智能合约还是其他某些东西——它就需要一种能够扩展的共识算法。 尽管开发者正在竞相开发一种这样的系统,不过最近一位杰出学者的设计可能会成为这场长期探索中取得的一个标志性进展。这种设计被称为“algorand",其创建者是来自麻省理工学院...

2018-09-12 13:54:57 289 0

原创 区块链技术资源教程零基础与Remix 以太坊Solidity IDE搭建与初步使用

区块链技术资源教程零基础 一、    以太坊和区块链的关系      从区块链历史上来说,先诞生了比特币,当时并没有区块链这个技术和名词,然后业界从比特币中提取了技术架构和体系,称之为区块链技术。从比特币提取的区块链技术称之为区块链1.0时代,那个时候的应用主要以电子货币和去中心化交易为主,比...

2018-05-24 17:49:35 2451 0

原创 mysql 百万级数据库优化方案

 一、百万级数据库优化方案1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num...

2018-05-14 11:55:47 1460 0

原创 阿里P9架构师简述从单机至亿级流量大型网站系统架构的演进过程

阶段一、单机构建网站网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate、maven+spring+spring...

2018-05-03 19:47:47 391 0

翻译 以太坊的工作原理 程序篇

这篇文章主要讲解以太坊的基本原理,对技术感兴趣的朋友可以看看。原文地址:How does Ethereum work, anyway?简介 不管你们知不知道以太坊(Ethereum blockchain)是什么,但是你们大概都听说过以太坊。最近在新闻里出现过很多次,包括一些专业杂志的封面,但是如果...

2018-03-27 00:30:58 4059 5

原创 以太坊的POS共识机制

Original post by Vitalik Buterin, on December 28th, 2015特别感谢Vlad Zamfir,他提出了按块达成共识这个想法,并且说服我认同它和Casper的其它一些核心想法的价值;以及Vlad Zamfir和Greg Meredith,为他们在这个...

2018-03-19 20:50:56 7094 2

原创 以太坊轻钱包MetaMask详细图文教程

MetaMask是一款在谷歌浏览器Chrome上使用的插件类型的以太坊钱包,该钱包不需要下载,只需要在谷歌浏览器添加对应的扩展程序即可,非常轻量级,使用起来也非常方便。1、Chrome的安装既然是一款运行在谷歌浏览器Chrome上的插件,当然首先需要先安装Chrome了。读者可以进入官网https...

2018-02-09 16:04:09 5269 3

转载 golang Leaf 游戏服务器框架简介

Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服务器的开发,包括 H5(HTML5)游戏服务器。Leaf 的关注点:良好的使用体验。Leaf 总是尽可能的提供简洁和易用的接口,尽可能的提升开发的效率稳定性。Leaf 总是尽可...

2017-11-04 11:43:43 12265 1

翻译 GoLang初探

简介         多核处理器越来越普及,那有没有一种简单的办法,能够让我们写的软件释放多核的威力?答案是:Yes。随着Golang, Erlang, Scale等为并发设计的程序语言的兴起,新的并发模式逐渐清晰。正如过程式编程和面向对象一样,一个好的编程模式需要有一个极其简洁的内核,还有在此之...

2017-10-24 16:49:47 359 0

转载 Havok物理引擎与Unity3D的结合

背景  在重度手游的研发过程当中,游戏中的车辆模拟,场景互动,特效展示等功能很多时候需要物理引擎的介入,以提供丰富的交互体验。目前3D手游的开发主要工具是使用Unity3D引擎,于是,如何在Unity3D的开发过程中结合入物理功能变一个需要仔细考虑的问题。  我们考察的2种物理效果实现方案:Uni...

2017-07-12 22:43:43 18199 1

翻译 Unity3D 渲染路径

Unity渲染路径: Unity支持不同的渲染路径。您应具体取决于你的游戏内容和目标平台/硬件来选择使用哪一个。不同的渲染路径有不同的特点和性能特点,主要影响灯光和阴影如果图形卡不能处理选定的渲染路径,Unity将自动使用一个较低保真度的设置。因此,在GPU上不能处理延迟照明(Deferred L...

2017-06-14 18:08:39 2253 0

原创 Unity5 GI与PBS渲染从用法到着色代码

本文主要介绍Untiy5以后的GI,PBS,以及光源探头,反射探头的用法以及在着色器代码中如何发挥作用,GI是如何影响渲染的,主要分成三个部分,最开始说明PBS需要的材质与相应概念,二是Unity 里相应GI的操作,三是对应着色器代码的理解。如果没有特殊声明,所有操作与代码都是针对Unity5.3...

2017-06-03 23:20:36 26016 1

翻译 Unity 5 中的全局光照技术详解

简介全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常有挑战性,付出的代价也高,正因为如此,现代游戏会先一定程度的预先处理这些计算,而非游戏执行时实时运算。同一场景里:没有照明(左),只有直接光源(中),和有间接光源的全局光照(右)的表现,注意颜色如何在不同...

2016-05-24 18:22:24 3276 3

翻译 游戏引擎中三大及时光照渲染方法介绍(以unity3d为例)

重要:在目前市面上常见的游戏引擎中,主要采用以下三种灯光实现方式:顶点照明渲染路径细节 Vertex Lit Rendering Path Details正向渲染路径细节 Forward Rendering Path Details延迟光照渲染路径的细节 Deferred Lighting Ren...

2016-03-01 11:09:36 2584 0

原创 UGUI 全方位了解

随着 unity3d 4.6 ~ 5.x + 新 UI 系统终于与大家见面了。这篇文章将不会介绍如何使用按钮、滚动条之类的UI控件,这些内容可以参考 Unity Manual;这篇文章的重点是,如何理解 UI 系统的设计,以便更好的在实际中使用它。 RectTransformUnity UI 系统...

2015-06-29 20:36:23 4633 2

原创 UGUI 技术点笔记 (干货走起)

如果不太熟悉UGUI的同学,请补充一下UGUI教程,这里就不一一说明了.NGUI  与 UGUI 区分:// -------------------------------------------------打包图集: (为了优化图集,我们可以选择把带透明通道图片 和 不带透明通道的图片分开打图集...

2015-06-12 20:02:30 10370 1

转载 U3D批处理的静态与动态问题

在屏幕上渲染物体,引擎需要发出一个绘制调用来访问图形API(iOS系统中为OpenGL ES)。每个绘制调用需要进行大量的工作来访问图形API,从而导致了CPU方面显著的性能开销。 Unity在运行时可以将一些物体进行合并,从而用一个绘制调用来渲染他们。这一操作,我们称之为“批处理”。一般来...

2015-04-16 19:35:43 9116 0

原创 U3D开发性能优化笔记(待增加版本.x)

U3D开发性能优化笔记: .NGUI: Atlas优化; .poolmanager使用; .控制同屏drawcall次数; .SHADER优化顶点和运算; .合批与动态剔除; .逻辑部分优化;(如看到不到的物件不要做公告板位置运算,不要播放animation) .物理帧UPDA...

2015-04-16 10:45:39 6281 0

原创 使用LUA 热更新模块

最近准备在手机项目客户端中使用lua, 以前一直在服务器使用luabind. 另外, tolua++也体验过, LuaPlus也在早年用过. 以下是本人对这些绑定库的个人感觉: luabind 利用boost机制把绑定做到极致, 比较适合主c++, 弱lua的脚本框架. 作者已经停止更新, ...

2015-01-08 14:08:31 2483 0

原创 IOS后台运行机制 与 动作

当用户按下"Home"键或者系统启动另外一个应用时,前台foreground应用首先切换到Inactive状态,然后切换到Background状态。此转换将会导致先后调用应用代理的applicationWillResignActive:和applicationDidEnterB...

2014-07-15 19:11:04 4056 0

翻译 初识 Swift编程语言(中文版)

前言 今天Apple发布了新的编程语言Swift,也提供了一本将近400页的 The Swift Programming Language(Swift编程语言)。 虽然我没有开发者账号,没法实际上机练习Swift代码,但这不影响我阅读这本书,以及用铅笔在纸上运行这些小程序。 Apple的东西...

2014-06-04 17:06:55 2479 0

原创 【C++11】30分钟了解C++11新特性

什么是C++11 C++11是曾经被叫做C++0x,是对目前C++语言的扩展和修正,C++11不仅包含核心语言的新机能,而且扩展了C++的标准程序库(STL),并入了大部分的C++ Technical Report 1(TR1)程序库(数学的特殊函数除外)。 C++11包括大量的新特性...

2014-06-04 17:02:36 1622 2

原创 phoneGap开发IOS,JS调用IOS方法/phoneGap插件开发

开始代码 这个是目录结构 在Plugins下新建文件(在Plugins上右键-new file选择Objective-c class)输入名字(CDVMyPlugin)  next…… 这世间你会发现在Plugins下面有两个文件,分别是:CDVMyPlugin....

2014-04-25 17:37:43 3302 0

原创 基于C++和JavaScript的全平台全栈式游戏开发解决方案的思考

一、JavaScript的机会 近几年JavaScript在各个领域愈发流行起来。JS已经逐渐摆脱了只能做web的局限,在前端,后端,Native,Web,游戏,应用等各个领域遍地开花。 Cocos2d-x支持两种脚本系统,Lua和JavaScript。考虑到未来的趋势,我选择J...

2014-03-26 11:57:04 1929 0

翻译 JavaScript-C/C++ (SpiderMonkey) 引擎嵌入开发指南(中文向导)

JavaScript-C引擎概览 本文档提供了一个JavaScript(JS)引擎的C语言实现的概述,他介绍了你如何在你的应用程序中嵌入脚本引擎来让它们可以使用JS。有两大理由让你在应用程序中嵌入JS引擎:使用脚本来自动操作你的应用程序;同时使用JS引擎和脚本无论何时都可以提供跨平台的功能并消除...

2014-03-24 15:34:11 6990 2

原创 功能强大的JavaScript引擎--SpiderMonkey与实现

JavaScript是由Netscape开发的对象脚本语言,其特点是开发简单、功能灵活,目前已广泛应用于WEB页面及服务器应用程序中。HTML本身是静态的、不允许用户干预,但用JavaScript编写的脚本程序就可以在用户的浏览器端运行,可以同用户进行交互,从而实现动态页面。可以将JavaScri...

2014-03-21 14:23:44 3066 0

原创 SpiderMonkey 脚本化您的应用

和其他的 JavaScript 引擎一样,SpiderMonkey 不直接提供像 DOM 这样的对象,而是提供解析,执行 JavaSccript 代码,垃圾回收等机制。SpidlerMonkey 是一个在 Mozilla 之下的开源项目,要使用 SpiderMonkey,需要下载其源码,然后编译为...

2014-03-19 15:37:45 6172 0

原创 SpiderMonkey-让你的C++程序支持JavaScript脚本

译序 有些网友对为什么D2JSP能运行JavaScript脚本程序感到奇怪,因此我翻译了这篇文章,原文在这里。这篇教程手把手教你如何利用SpiderMonkey创建一个能执行JavaScript脚本的C++程序,并让JavaScript脚本操纵你的C++程序的内部数据、操作。从这篇教程可以看到在...

2014-03-19 14:52:59 1750 0

原创 cocos2d-x 通过JNI实现c/c++和Android的java层函数互调

文章摘要: 本文主要实现两个功能: (1)通过Android sdk的API得到应用程序的包名(PackageName),然后传递给c++层函数。 (2)通过c++函数调用Android的java层函数,显示一个对话框,点击按钮退出程序。 1. 首先来简单学习一下JNI的相关知识,我这篇文章中简单...

2013-09-12 17:05:00 5907 0

原创 WEBSOKET服务器搭建

简单介绍一下tomcat的webSocketAPI使用: 在这里啰嗦几句:【 很多朋友听说webSocket不知道是什么。知道是什么不知道怎么用,知道怎么用不知道具体实现。其实我当初也是这样。 实际上webSocket可以简单的理解为用浏览器与服务器简历socket连接,但是用了一个特殊的...

2013-06-27 14:32:06 5640 1

原创 WebSocket

互联网发展到现在,早已超越了原始的初衷,人类从来没有像现在这样依赖过他;也正是这种依赖,促进了互联网技术的飞速发展。而终端设备的创新与发展,更加速了互联网的进化; HTTP/1.1规范发布于1999年,同年12月24日,HTML4.01规范发布;尽管已到2012年,但HTML4.01仍是主流;虽...

2013-06-20 13:53:00 7461 1

原创 Android NDK下编译google protocol buffer(protobuf)

前面发了一片windows下编译protobuf的文章 后来把生成的.a文件加到android工程后发现不可用 所以只好自己使用NDK编译protobuf了(虽然这样,生成的Inclule的头文件还是很有用的,可以直接用到jni的代码中) Android NDK编译p...

2013-06-07 15:22:00 12400 5

原创 GDB调试精粹及使用实例

一:列文件清单  1. List  (gdb) list line1,line2  二:执行程序  要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。  如果你使用不带参数的run命...

2013-03-29 12:29:59 1297 0

原创 Android游戏开发cocos2d-x调用Java层代码

通过JNI调用 准备工作: 首先用VS工程导入$cocos2d_Root\cocos2dx\platform\android\jni\JniHelper.h 接着导入$Java\jdk1.6.0_10\include\jni.h 再导入$Java\jdk1.6.0_10\include\w...

2013-03-26 17:27:37 2313 0

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