- 博客(78)
- 收藏
- 关注
原创 配置Spring项目http请求body大小
build.gradle里面添加了依赖spring-boot-starter-web,这个依赖默认使用tomcat作为底层web容器。如果前端有提交比较大的文件要修改允许的最大文件大小,可以在application.properties中使用:spring.http.multipart.max-file-size=200MBspring.http.multipart.max-reques...
2018-03-07 19:11:54 12104
翻译 OpenGL超级宝典7th简体中文-第五章-数据
我们会学到什么如何创建缓冲和纹理,用它们来存储数据,以及程式如何访问数据。如何使得OpenGL自动为我们的顶点属性提供数据。如何从着色器中访问纹理和缓冲。至今为止的示例中,我们要么在着色器直接使用硬编码的数据,要么将值一个一个地传入到着色器中。但要充分地演示OpenGL管线的构造,这很难代表现代图形编程。现代的图形处理器设计为流式处理器,可以吞吐大量的数据。
2016-01-20 22:09:34 1829
翻译 OpenGL超级宝典7th简体中文-第四章-3D图形中的数学
本章我们会学到什么向量是什么,以及为什么我们要关心它们矩阵是什么,以及为什么我们要关心它们我们如何使用矩阵和向量来移动几何图形OpenGL约定和坐标空间是什么
2016-01-04 13:37:09 834
翻译 OpenGL超级宝典7th简体中文-第三章-管线一览
第三章 管线一览本章我们会学到什么OpenGL管线的每个阶段做什么的如果连接着色器和固定功能管线阶段如果创建一个程式同时使用图形管线的每个阶段在本章我们将从始至终过一遍OpenGL管线,对每个阶段进行考察,包括固定功能块和可编程着色器块。我们已经对顶点着色器和片段着色器有了初步的大致了解。然而,我们创建的应用只能简单地在固定位置绘制一个三角形。
2015-12-24 00:08:14 1336 3
翻译 OpenGL超级宝典7th简体中文-第二章-我们的第一个OpenGL程式
第二章 我们的第一个OpenGL程式我们会从本章学到什么如何创建并编译着色器代码如何使用OpenGL绘图如何使用本书的应用框架来初始化我们的程式并进行清理在本章中,我们引入本书中几乎所有示例都会使用的一个简单的应用框架。本章会向我们展示如何使用书中的应用框架创建主窗口并渲染简单图形到上面。我们还会看到一个很简单的GLSL着色器是怎样的,如何编译它,以及如何用它来渲染简单的点。
2015-12-20 11:56:24 2527
翻译 OpenGL超级宝典7th简体中文-第一章:简介
第一章简介我们从这章能学到什么什么是图形管线(Graphics Pipeline)以及OpenGL如何与它关联OpenGL的起源以及它如何演变成现在的模样我们在全书中都会使用到的一些基本概念OpenGL是一种接口,在我们的应用程序中可以用它来访问或者控制它所运行的设备的图形子系统。它所运行的设备可以从一个高端图形工作站到商用台式机、视频游戏主机甚至是一台智能手机。
2015-12-17 01:46:35 4494
原创 《Java疯狂讲义》中关联、组合和聚合的谬误
本文参考如下资料(建议阅读):a). difference-aggregation-acquaintance-and-composition-as-used-by-gang-of-fourb). AssociationVsAggregationVsCompositionc). Design Patterns Elements of Reusable Object-Oriented So
2015-08-23 23:42:28 1158
原创 iOS Code Signing到底什么鬼
本文参考如下资料(建议阅读):a). 公钥加密算法到底什么鬼b). The ins and outs of code signing an iOS appc). 代码签名探析我们先从code signing的作用说起吧1. 作用code signing的最终作用就是保证我们在iOS上的应用从开发者机器上build出来后,到最终安装到用
2015-08-22 13:09:06 2987
原创 公钥加密算法到底什么鬼
本文参考如下资料(建议阅读):a). 公钥加密b). Diffie-Hellman密钥交换c). 公钥证书公钥加密算法又称非对称加密算法,围绕这一算法延伸出很多东西,比如:公私密钥对,密钥交换,身份验证,证书,签名。。。1. 密钥对我们先从密钥对说起,这是其他所有拓展技术的核心。公私密钥对实际上是一种数学元素延伸出来的产物,产生的过程如下(起源的方式):
2015-08-19 14:18:25 5989 4
原创 Websocket Application Messaging Protocol
(写得有点粗糙,待补充)官网:www.wamp.wsspecification地址:https://github.com/tavendo/WAMP/blob/master/spec (篇幅小,建议有兴趣的通读)1. 基础档案引入:WAMP协议是一种建立在Websocket之上可以进行publish&subscribe和rpc的通信协议。它实现了类似Ze
2015-08-18 13:20:58 2087 2
原创 JS的几个值得注意的地方
1. 变量的声明使用var来声明一个变量,然后就可以使用了。如果未声明而使用一个变量,则相当于到全局对象查找这个变量(有点lua metatable的感觉),举例来说:function () {var i;}这声明一个local变量(local的定义在2中述)i。如果是这样:function () {i = 10;}这
2015-08-18 13:18:29 807
原创 WebSocket协议简析
websocket由rfc6455所定义,主要用于在html5上模拟raw socket通信,这个牛逼的feature需要浏览器支持(很显然的)。websocket是传统的c/s协议,服务端和客户端(通常是浏览器)分别遵循rfc6455的定义进行实现,由浏览器暴露接口给js进行客户端编程(暴露给js的接口用起来很简单,本文就不讨论了)。根据rfc6455所述(6455的篇幅较为短小,跟以前读过
2015-08-18 13:14:13 5103
原创 Java与c++的一些同异
运行时:main函数参数作为一个拥有python/c背景的程序员,第一把接触java的main函数还是小震惊了一下,记住哟,java的main函数第一个参数不是可执行文件/脚本的路径。编译时:类java的类是不能多根继承的,而且抽象类(拥有纯虚函数的类)在java中更倾向于表达为接口,这和c++表达面向对象的设计思路是有些不一样的。类倾向于对
2015-08-18 13:02:58 612
原创 看“平行宇宙”有感
近日看了豆瓣上推荐的一部叫“平行宇宙”的电影,据说本来是一部美剧,结果搞了一部电影出来了。电影的故事还算新颖,虽然我觉得违和感还是挺强的......里面一直强调一个概念:我们不是穿越了时间,只是到了另一个空间。这一点我是非常赞同的,我也觉得穿越时间是不太可能的,或者说是无意义的,霍金那混蛋(还是爱因斯坦)说什么超过光速就可以逆转时间,反正吹吹牛逼又不犯法。我觉得时空只是事物发展的所形成的一
2015-06-20 18:59:47 1954
原创 sicp Exercise 1.3 强行解答
题目如下:Exercise 1.3. Define a procedure that takes three numbers as arguments and returns the sum of thesquares of the two larger numbers. 看到题目后,我个傻逼就严格遵循题意去解题了,在三个数中找到前两个大数,求其和。(解完后看网上的答
2015-06-19 15:01:58 1049
原创 kbengine 源代码读
第一时间更新地址:kbengine bbs以下摘自百度百科:"""KBEngine是一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互, 使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d, HTML5, 等等)技术结合形成一个完整的客户端。服务端底层框架使用c++编写,游戏逻
2015-04-23 13:19:01 7609 3
原创 记一hiredis redisCommand坑
实际上应该说是redisvFormatCommand的坑,代码如下:case 'b': arg = va_arg(ap,char*); size = va_arg(ap,size_t); if (size > 0) newarg = sdscatlen(curarg,arg,size); break;就是%b的时
2015-01-06 14:30:46 11694 5
原创 python os walk笔记
1.原型os.walk(top, topdown=True, onerror=None, followlinks=False)返回
2014-05-13 11:28:41 771
原创 html结合qt混合ui交互架构
qwebkit为c++和html建起了一个沟通的桥梁,让软件的底层开发和ui的开发解耦,只要底层的api足够稳定强大,那ui的开发就算变化多端都会很轻松了(对于qt c++开发者来说,不用编译了...^ _ ^),同时可以即时更新ui,或者淘汰旧的版本(更换服务端的html即可),或者增加js统计..等等,万维网之所以有趣,我想很多也来自于提供商有超级强大的控制能力和内容分发能力.而传统的nati
2014-03-09 21:46:29 7455 1
原创 qml layout行为的探究
先上点代码:总结1:layout的大小默认为0,0,当不进行显式指定时,会随着包含的元素的总大小而自动增长,当使用width,height显式指定layout大小后,大小固定,但这里有个概念,就是显示出的内容区域的大小和占用的区域大小...这两个没有太大的正相关,就是说可能一个元素只占用了10x10的大小,但在ui界面上显示出1000x1000的内容,这会发生什么事呢,重合,显
2014-03-09 21:10:04 2107 1
原创 qsqlite 存储和展示一个blob字段的数据
qsqlite存储一个blob字段第一种,通过直接使用sql语句进行存储: sql = QString("INSERT INTO phone_video_fragment_display (_id,thumbnail,name,video_fragment_id) VALUES(%1,:thumbnail,'%2',%3);") .a
2014-02-19 14:28:48 2135 1
原创 c的list和c++的list
众所周知,从1972年以来,c的list应该怎么写,今天2014也还应该怎么写typedef struct demo{ demo* next;} demo;而,c++的到来,使得list变成了std::list.我接触了stl的list,当然还有map,vector等众多容器之后,我果断不再使用c的list了,有人觉得,这是一个关于懒惰的问题,但我觉得不是.从编码的角度来看
2014-01-18 01:47:10 8582
原创 QDir 翻译
QString QDir::canonicalPath() constReturns the canonical path, i.e. a path without symbolic links or redundant "." or ".." elements.On systems that do not have symbolic links this function wil
2013-12-16 23:43:46 2049
原创 qml delegate内的一些问题
delegate: Component { Rectangle { id:wrapper width: parent.width; height: 30; BorderImage { id:bg_
2013-12-09 18:02:08 6635
原创 各编译器内置宏
__cpluspluswindows平台:_WIN32mac平台:__APPLE__linux平台:__linux__ msvc编译器:_MSC_VER intel 编译器:__INTEL_COMPILER clang编译器:__clang__ borland编译器:__BORLANDC__gcc 编译器(且值
2013-11-22 15:47:41 2572
原创 unix like命令小记
lsusb 获取usb设备信息,使用-v得出所有信息,包括id,sn等dmidecode 获取硬件信息,包括内存,cache,cpu(/proc/cpuinfo亦可),bios,电池。。。hdparm 获取磁盘的详细信息,包括制造商,序列号,扇区大小,支持功能。。。
2013-11-22 12:15:25 1415
原创 中文报错newline in constant
使用某些编辑器打开这个文件,比如sublime text,保存时选择utf8+bom保存,再编译即可.
2013-11-19 19:41:22 14679
原创 vs2012 qmake支持xp部署
在vs 2012中就是改一下platform toolset,同样的,在qmake中等价转换 win32-msvc2012 { QMAKE_CXXFLAGS += /D "_USING_V110_SDK71_" CONFIG(x86,x86|x86_64) { QMAKE_LFLAGS += /SUBSYSTEM:CONS
2013-11-18 00:14:21 1529
原创 windows qmake中静态编译
在vs里面就是在code generation中将MD之类的改为MT,多半时候还需要忽略一些库.在qmake中其实也就是在pro文件等价填写这些参数 QMAKE_CFLAGS_RELEASE += /MT QMAKE_CXXFLAGS_RELEASE += /MT QMAKE_CFLAGS_DEBUG += /MTd QMAKE_CXXFLAGS_D
2013-11-18 00:12:23 4625
原创 mysql 6.1.2部署windows 2003出错
这两天在要升级我们公司(上海甲驭网络科技有限公司)的注册服务器,为了利用现有的资源,就在一台阿里云的windows 2003上进行部署,结果程序跑的时候老报InitializeConditionVariable无法定位在kernel32,查了一下msdn,果然这个接口在vista以上才支持,然后一想,我们的注册服务器模块中只有我们公司自己的FDB库,boost库,mysql c connector
2013-11-18 00:10:13 3637 2
原创 c free时程序失去响应或崩溃
今天调个程序,在free时失去响应,代码大致如下int i = 10; char* p_buffer = (char*)malloc(4);sprintf(p_buffer,"%04x",i);free(p_buffer);几番检查后查阅了sprint的手册才发现,sprint自动在末尾添加‘\0’的结束符。导致p_buffer访问越界。很多str类的填充函数
2013-11-08 00:39:14 3143
原创 freeglut CreateWindow做了些什么
今天看到opengl super bile fifth上面的获取显卡支持的点大小的代码段,就自己试了下最先写的就只有一个main,然后里面就是GLfloat arfPointSizeRange[2] = {0};GLfloat rfPointSizeStep = 0;glGetFloatv(GL_POINT_SIZE_RANGE,arfPointSizeR
2013-08-07 20:25:52 1060
原创 使用mysql c的问题
1.mysql_com.h(243) : error C2146: syntax error : missing ';' before identifier 'fd' 大抵就是my_socket没有类型,在包含mysql.h之前包含winsock2.h(其他平台还没试)然后链接ws2_32.lib 2.各种重定义主要是链接了
2013-08-07 20:25:07 659
原创 记boost process的一些问题
boost process不是boost官方库,使用的时候一些问题记下.首先,去soc2011官网下,是最新的(虽然叫最新,但其实是2010的了...)在编译的过程中碰到几个问题
2013-08-07 20:24:28 4311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人