Consumer】的更多相关文章

天河在阔别了十几天之后终于又回来了.其实这篇文章里的demo是接着(天河微信小程序入门<三>)后面就做了的,但是因为最近在做别的项目,所以就偷懒没有发出来.放到今天来看,从前台提交数据到数据库已经是没有什么可写的了.不过既然开篇了就不能太监么,所以还是分享出来给大家.我当时的目的是为了实验api的功能和跟后台数据的通讯存储,所以没有考虑到美观之类的,界面非常丑请大家包涵.一个带form表单的页面在这里定义好自己form表单的元素名称   01 02 03 04 05 06 07 08 09 1…
原文链接:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=505&extra=page%3D1 天河君在申请到https证书后就第一时间去部署后台环境,但是发现每次访问https都要带上8443端口实在是很坑爹啊,作为一个强迫症晚期,我要做的自然是不带端口直接访问.打开你tomcat下的conf文件夹,编辑里面的server.xml <Connector port="80" protocol=&quo…
<社交网络>里的Mark Zackburg被女朋友甩后,在舍友的启发下,充分发挥了技术宅男自娱自乐的恶搞天分,做出了Facemash网站,对学校女生的相貌进行排名打分,结果网站访问流量过大,直接把学校网络搞瘫痪了.Facemask大受欢迎的关键就在于Zackburg基友Eduardo写在窗户上的排名公式,看电影之时就对这个排名公式非常感兴趣,上网了解下,才发现这条公式就是大名鼎鼎的ELO等级分制度.ELO的应用非常广泛,大部分棋类比赛,现在流行的MODB游戏,像11平台的DOTA天梯系统,都是…
为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习:一:微信小程序的特点张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使用的应用,它出现了触手可及的梦想,用户扫一扫或者搜一下即开打开应用,也出现了用完即走的理念,用户不用关心安装太多应用的问题,应用随处可用,但又无须安装卸载.我当时是这样来定义什么是小程序的. 1:无需下载:我们直接使用它,所以无须安装是小程序最基础的一个特性: 2:触手可及:当我们拿着智能手机接触周边的…
世界那么大,我想去看看 引言 通过对前九篇的介绍,至此我们已经了解了UE里的游戏世界组织方式和游戏业务逻辑的控制.行百里者半九十,前述的篇章里我们的目光往往专注在于特定一个类或者对象,一方面固然可以让内容更有针对性,但另一方面也有了身在山中不见山的困惑.本文作为GamePlay章节的最终章,就是要回顾我们之前探讨过的内容,以一个更高层总览的眼光,把之前的所有内容有机组织起来,思考整体的结构和数据及逻辑的流向. 游戏世界 如果我们在最初篇所问的,如果让你来制作一款3D游戏引擎,你会怎么设计其结构?…
我的世界,我做主 引言 上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIController.Actor的逻辑编写介绍完了,那么本篇,我们继续爬升,对于由Actors组成的Level这一层次,UE又是怎么控制的呢? 对Level记不太清楚的朋友,可以翻回去查看"GamePlay架构(二)Level和World"的讲述,简单概括就是World是由一个PersisitentLe…
PlayerController:你不懂,伴君如伴虎啊 AIController:上来,我自己动 引言 上文我们谈到了Component-Actor-Pawn-Controller的结构,追溯了AController整个家族的崛起和身负的使命.本篇我们继续来探讨Controller家族中最为人所知的PlayerController和AIController. 作为一个Controller,我们讨论的依然是该如何控制.我们已经知道了Controller可以Possess并控制Pawn,但是Cont…
<InsideUE4>-6-GamePlay架构(五)Controller Tags: InsideUE4 GamePlay 那一天 Pawn又回想起了 被Controller所支配的恐惧 引言 如上文所述,UE从Actor中分化了一些专门可供玩家"控制"的Pawn,那我们这篇就专门来谈谈该怎么个控制法! 所谓的控制,本质指的就是我们游戏的业务逻辑.比如说玩家按A键,角色自动找一个最近的敌人并攻击,这个自动寻找目标并攻击的逻辑过程,就是我们所谈的控制. Note1:重申一下…
<InsideUE4>-5-GamePlay架构(四)Pawn Tags: InsideUE4 我像是一颗棋 进退任由你决定 我不是你眼中唯一将领 却是不起眼的小兵 引言 欢迎来到GamePlay架构章节的下半部分! 在上一篇的内容里,我们谈到了UE的3D游戏世界是由Object->Actor+Component->Level->World->WorldContext->GameInstance->Engine来逐渐层层构建而成的.那么从这下半章节开始,我们…
面试题4.1:实现一个函数,检查二叉树是否平衡.在这个问题中,平衡树的定义如下:任意一个结点,其两颗子树的高度差不超过1. 思路:两个方法,第一种速度较快 package cc150; public class Balance { public static void main(String[] args) { // TODO 自动生成的方法存根 } public class TreeNode { int val = 0; TreeNode left = null; TreeNode right…
面试题3.1:描述如何只用一个数组来实现三个栈. 方法1:固定分割 方法2:弹性分割(较难) package cc150; public class ArrayStack { public static void main(String[] args) throws Exception { // TODO 自动生成的方法存根 ArrayStack theStack = new ArrayStack(); theStack.push(0, 1); theStack.push(0, 2); theS…
面试题2.1:编写代码,移除未排序链表中的重复结点 进阶:如果不得使用临时缓冲区,该怎么解决? package cc150; import java.util.HashMap; import java.util.Map; public class DeleteDups { public static void main(String[] args) { // TODO 自动生成的方法存根 LinkedListNode Node0 = new LinkedListNode(1); LinkedLi…
面试题1.1:实现一个算法,确定一个字符串的所有字符是否全都不同.假使不允许使用额外的数据结构,又该如何处理? 注意:ASCII字符共有255个,其中0-127的字符有字符表 第一种解法:是<CC150>里面的解法 public static boolean checkDifferent(String iniString) { if(iniString == null || iniString.length() <= 0) return true; String newString =…
这篇记录一下<Invert>用到的工具.资源和服务.秉承两个原则:一,绝不侵犯版权:二,尽量节省开支. 首先是工具.游戏引擎使用免费的Unity个人版: 编码IDE使用免费的VisualStudio社区版: Shader编写脚本使用可免费试用的SublimeText: 版本控制工具使用开源免费的SourceTree: 然后是各种Unity插件.缓动函数插件DOTween(免费): 本地存档插件Easy Save($29.99): Json解析插件JSON .NET For Unity($25)…
有趣的函数式数据结构<一>----不可变栈 什么是不可变?往栈中插入一个元素,原来的栈保持不变,返回一个新的栈(已插入新的元素). push, pop,getMax 等操作都要求在 常数时间内完成. 可能读者会产生疑惑,既然要返回一个新的栈,是不是就必须先拷贝一份原来的栈,然后在新的栈中插入元素. 但是这样复杂度就是线性的,如何能够在常数时间内完成呢?? 这里,就是immutable DATA STRUCTRUE 的强大.. 本文给出一个C++ 的实现版本,基本理想是利用内存共享,以及均摊时间…
14.反馈与触发器 振荡器不需要人的干涉即可自主且不断地实现断开和闭合.所有计算机都靠某种振荡器来使其他部件同步工作. 当两个开关都断开时,电路有两个稳定状态,这样的一个电路称为触发器.触发器具有记忆性,可以保持信息.各种触发器如下表: <code>书中常用的电路 振荡器 分频器 8位行波(异步)计数器 8-1选择器 3-8译码器 15.字节与十六进制 看完这一章,个人认为十六进制的出现应该就是为了要简单清晰的表示字节吧.四进制表示就只比二进制缩短了1倍,八进制实现不了8个位组成的字节,二百五…
1.电筒密谈 Morse code表 文中提到"英语词汇就是一种编码".这句话仿佛有一种哲学思想在里面,万物皆可以以任何形式编码,只是编码的方式和途径不同.有些编码简单易懂易于接受,有些编码复杂难以理解. 简单的编码分配给常用的情况,复杂的编码分配给不常用的情况,这样可以提高效率. 实际上任何两种不同的东西经过一定的组合都可以代表任何种类的信息.二进制可以表示一切嘛! 2.编码与组合 树的用处.这个可能就是二叉树的原型吧? 3.布莱叶盲文与二元编码 摩尔斯编码是不定长的,但是布莱叶盲文…
<OOC>笔记(4)——自动化地将C#代码转化为C代码(结构版) 我在<C表达面向对象语言的机制——C#版>中已经说明了从C#到C的转换方法.这次看<OOC>也是想对比一下看看有没有更好的设计思路.结果有点失望. 要写这个程序还是有点费时间的.我得抓紧学算法了,这个程序先放一放.本篇就占个坑好了.…
<OOC>笔记(3)——C语言变长参数va_list的用法 C语言中赫赫有名的printf函数,能够接受的参数数目不固定,这就是变长参数.C#里也有params这个关键字用来实现变长参数. printf("Hello Mozart!"); printf("Hello %s!", "Mozart"); printf(, "Mozart"); 用C实现一个能接受变长参数的函数 举例如下. #include <st…
<OOC>笔记(1)——C语言const.static和extern的用法 C语言中const关键字用法不少,我只喜欢两种用法.一是用于修饰函数形参,二是用于修饰全局变量和局部变量. 用const修饰的函数形参 直接修饰 一个形如 int Minus(const int a, const int b, int testCase); 的函数,const的意义是什么呢? 答:参数a被const修饰,说明在Minus函数内,编译器不允许a被别的变量(例如x)赋值(修改).参数b同理. 如果你写了a…