这篇文章是对"a first person engine in 265 lines"[1]的一个Direct2D版的移植.看到这篇文章我立刻就想到了QUAKE,当然QUAKE使用了比这个更高效的技术.但是这个技术无疑更简单,更娱乐,同时也算是一种RayCast原理的使用.于是就想到用Direct2D做一个看看. 由于对Html5不熟,同时参考了Fredrik Wallgren[2]. 同时也参考了MS提供的Direct2D事例[3]. 代码托管:https://d2dfpsengine…
译文:http://blog.jobbole.com/70956/ 原文:http://www.playfuljs.com/a-first-person-engine-in-265-lines/ 这是一篇关于利用 Canvas 实现3D 游戏场景绘制的文章,看完感觉很受启发,所以自己准备总结一下.我们先看下最终效果: 很酷是不是.原作者只使用了265行代码就实现了这么炫酷的效果.代码清晰明,目录结构简答(1个html, 4个图片),原文也对原理也进行了解释.本篇就直接将原作者的代码全部贴上来大家…
本文目的是分解前面的代码.其实,它得逻辑很清楚,只是对于我这种只是用过 Canvas 画线(用过 Fabric.js Canvas库)的人来说,这个还是很复杂的.我研究这个背景天空也是搞了一天,下面就是只加载天空的代码及分析. 在线效果点击:http://1.codemo2.sinaapp.com/3d_demo_265line/index.html   [可以用键盘“左右”键控制][手机浏览器触控有些异常] 原理大概就是: 1. 创建主循环 2. 主循环内重复调用绘制方法 3. 绘制方法: 针…
在平时编码中,经常要做拼接字符串的工作,如把json数据用HTML展示出来,以往字符串拼接与逻辑混在在一起会让代码晦涩不堪,加大了多人协作与维护的成本.而采用前端模板机制就能很好的解决这个问题. 精妙的 tmpl 前端模板类开源的不少,但最属 jQuery 作者 John Resig 开发的 “javascript micro templating” 最为精妙,寥寥几笔便实现了模板引擎核心功能. 它的介绍与使用方式请看作者博客:http://ejohn.org/blog/javascript-m…
简介: 本文是系列博客的第一篇,主要讲解和分析正则表达式规则以及JAVA中原生正则表达式引擎的使用.在后续的文章中会涉及基于NFA的正则表达式引擎内部的工作原理,并在此基础上用1000行左右的JAVA代码,实现一个支持常用功能的正则表达式引擎.它支持贪婪匹配和懒惰匹配:支持零宽度字符(如"\b", "\B"):支持常用字符集(如"\d", "\s"等):支持自定义字符集("[a-f]","[^b-…
<第一行代码——Android> 基本信息 作者: 郭霖 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115362865 上架时间:2014-7-14 出版日期:2014 年7月 开本:16开 页码:553 版次:1-1 所属分类:计算机 > 软件与程序设计 > 移动开发 > Android 更多关于>>> <第一行代码——Android>   编辑推荐 CSDN超人气博主.CSDN 2013年度十大博客之星.资深Android…
<代码的第一行--Android>已经上市近一个月,现在的情况是相当不错的销售,也特别感谢众多朋友的支持. 其实一本好书,假设你想卖.除了给予外力所要求的内容.封面设计是至关重要的,这本书的封面是毋庸置疑的丰富的内容,并披上了华丽的外衣. 作为一个作家.就是将内容写好而已,其它全部相关工作都不是由我负责的.本书封面设计的全部细节都是由陈冰老师一手抓起的,之后他在图灵社区上记录了本书封面的诞生过程.在经过他允许的情况下.我将这篇文章转到我的博客上,也是让感兴趣的朋友们了解一些不为人知的小故事.…
看过<第一行代码>的朋友应该知道“酷欧天气”,作者郭神用整整一章的内容来讲述其从无到有的过程. 最近正好看完该书的第二版(也有人称“第二行代码”),尝试着将项目中的Java代码用Kotlin实现. 原项目获取点这里 Kotlin实现点这里 除了将Java转为Kotlin外,界面与资源的定义也略微做了调整,但是功能上没有变化(这部分后续进行完善,书中有提到可以改进的地方). 1. 界面调整 1.1 将“预告”和“空气质量”两个模块的位置互换,“空气质量”和“温度/天气状态”放在一起感觉会比较直观…
目录 什么是 WebApiEngine? 开源地址 使用方法 使用 [ApiBind] 标签让任何方法变成 WebApi 对 API 进行分类 自定义 API 名称 复制特性 为整个类配置 WebApi 忽略某些特定的方法 忽略某些特定的分类 进阶 本文示例源码下载 什么是 WebApiEngine? WebApiEngine 是一个可用于动态 WebApi 生成的引擎,基于 .NET Core(包括 .NET 5. .NET 6),用于解决前后端分离.微服务.异步 Web 请求场景下的 Web…
大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引擎用的是 Python 的一个游戏库:pgzero.它是对 pygame 的一个封装,让你不需要写多余的套路代码,只要配置游戏的内容逻辑即可. 我们这个游戏用它来写,一共只需要100行代码. 首先需要安装 python 环境.这一步没搞定的同学,可以参考我们 python 入门教程:http://python…
介绍 网络时代已经到来.现在对人们来说,每天上网冲浪已经成为一种最为常见的行为. 在网页浏览器中输入一段文本地址,就像http://www.codeproject.com,等待一下,网页就加载到浏览器窗口中.一个典型的网页是由文本.图像和链接组成的.除去内容上的差异,不同网站的网页也具有不同的外观和感受,以实现在网络上建立自己的身份品牌的目的. 如果你也曾想要了解你屏幕上的这些网页是如何被创建出并以各式各样的方式渲染的,那么这里正是你可以了解到这些知识的地方.让我们一起走进在浏览器中创建了这么多…
一.前言 什么是模板引擎,说的简单点,就是一个字符串中有几个变量待定.比如: var tpl = 'Hei, my name is <%name%>, and I\'m <%age%> years old.'; 通过模板引擎函数把数据塞进去, var data = { "name": "Barret Lee", "age": "20" }; var result = tplEngine(tpl, dat…
今天,将<第一行代码>最后实战的coolweather项目,认真做了一遍. 今晚,在书中第一阶段开发代码认眞在Android studio敲完,发现setOnItemClickListener函数按照书中报错,原书如下所示: 但这样,报错,gradel提示该类不存在,现在还不清楚是不是因为作者版本太旧的原因,有待查证,后面,我用了下面方法,就编译通过,如下: 其实,我就是调用了AdapterView里面的OnItemClickListener方法而已. 此外,还发现一个问题,那就是我在grad…
一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转载!英文出处:iamtrask.欢迎加入翻译组. 概要:直接上代码是最有效的学习方式.这篇教程通过由一段简短的 python 代码实现的非常简单的实例来讲解 BP 反向传播算法. 代码如下:   X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ]) y…
前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路. PS:其实我就是现学现卖,希望我能坚持刷完. 在第一战中,我们创建了第一个App project, Hello World,并分析了项目结构,及运行原理. 链接在此:Android Studio 单刷<第一行代码>系列 01 -- 第一战 He…
[摘要]虽然 Docker 和 Mesos 已成为不折不扣的 Buzzwords ,但是对于大部分人来说它们仍然是陌生的,下面我们就一起领略 Mesos .Docker 和 Go 配合带来的强大破坏力,如何通过 300 行代码打造一个比特币开采系统. 时下,对于大部分 IT 玩家来说, Docker 和 Mesos 都是熟悉和陌生的:熟悉在于这两个词无疑已成为大家讨论的焦点,而陌生在于这两个技术并未在生产环境得到广泛使用,因此很多人仍然不知道它们究竟有什么优势,或者能干什么.近日, John W…
前言(Prologue) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路. PS:其实我就是现学现卖,希望我能坚持刷完. 系列目录在此: Android Studio 单刷<第一行代码>系列目录 关键词 <第一行代码>:CSDN 知名博主郭霖所著,Android 入门书籍. Android Studio :谷歌目前…
前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路. PS:其实我就是现学现卖,希望我能坚持刷完. 系列目录在此: Android Studio 单刷<第一行代码>系列目录 系统广播 Android 内置了很多系统级别的广播,通过监听这些广播可以得到相关的系统状态信息.例如: 系统启动完成 打开.…
前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路. PS:其实我就是现学现卖,希望我能坚持刷完. 在前面刚学习了Fragment,这次来了解一下她的生命周期. 系列目录在此: Android Studio 单刷<第一行代码>系列目录 Fragment 的生命周期 先来看一下 Fragment 的…
前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路. PS:其实我就是现学现卖,希望我能坚持刷完. 在前面已经学习了 Android 四大组件中的 Activity,这次来学习一下Activity 中的 Fragment. 系列目录在此: Android Studio 单刷<第一行代码>系列目录…
前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路. PS:其实我就是现学现卖,希望我能坚持刷完. 系列目录在此: Android Studio 单刷<第一行代码>系列目录 摘要(Abstract) Activity 的生命周期.启动模式.一键退出 App. Activity 的生命周期 Acti…
前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路. PS:其实我就是现学现卖,希望我能坚持刷完. 在 Day 1.Day 2,我们创建了第一个App project,并分析了项目结构.运行原理,实践了 LogCat 的使用. 系列目录在此: Android Studio 单刷<第一行代码>系列目…
曾经阅读过<只有20行JAVASCRIPT代码, 手把手教你写一个页面模版引擎>这篇文章, 对其中实现模版的想法实在膜拜, 于是有了这篇读后感, 谈谈自己对模版引擎的理解, 以及用自己的语言探讨他的实现方式, 加深理解 文章地址: http://krasimirtsonev.com/blog/article/Javascript-template-engine-in-just-20-line 前端编写过程中, 经常性的会出现需要在js中组合, 或生成html插入到页面中 类似: $.get('…
学习Android开发差点儿相同有两年时间了.期间也做了大大小小的一些项目.近来抽出闲暇想把Android基础强化一下,之前在网上看到了郭霖郭大神的几篇博客.从中受益不少.于是花了近一周时间看完了郭神的一本Android教材--<Android第一行代码>.这本书相比其它教材个人感觉更为基础,内容非常有用.看完之后我也有一些收获,学到了一些能够非常好的运用到实际中的Android小技巧.以下从中选出我认为非常有价值的地方做个记录. 同一时候欢迎各位指正补充~~ 1.查看当前界面处于哪个Acti…
前言 事实上我当初决定開始写博客的想法挺简单的,认为自己搞技术这么多年了,总应该要留下点什么.既然没能写出什么出色的应用,那至少也要留下点文字分享给大家,以指引在我后面的开发人员们,毕竟我也从前辈们的博客那里受惠了非常多. 受邀 下定决心之后我就開始了我的博客之旅,令我没想到的是,我写的文章居然非常受大家的欢迎,短时间内就聚集了大量的人气.更令我没想到的事,在我開始写博客不久之后,人民邮电出版社图灵公司的副总编辑陈冰先生就联系上了我,希望我能够写一本关于Android开发技术的书籍! 陈冰,第一…
概要 完成一个程序,作用是统计一个文件夹下面所有文件的代码行数.输入是一个文件夹的绝对路径,输出是代码行数.所以此程序的新特点有两个: 统计某一文件夹下的所有文件: 可以任意指定本机硬盘上任何位置的某一个文件夹. 前言 在上一篇随笔中熟悉了文件的基本操作.但仍然有改进的余地:统计特定文件时,还是需要手动输入文件名.如果文件数量很多怎么办?可不可以直接统计某个文件夹下面的所有文件的代码行数?今天解决的就是这个问题. 思考 我们已经解决了一个问题:写一个带有文件操作的C语言程序,输入文件名,输出此文…
参考:<第一行代码:Android>第2版--郭霖 注1:本文为原创,例子可参考郭前辈著作:<第一行代码:Android> 注2:本文不赘述android开发的基本理论,不介绍入门知识,不介绍Android Studio基本安装,开门见山,直接使用kotlin改写郭前辈的<第一行代码:Android>中的部分例子,有机会的话自己做一些新例子出来! 注3:本文基本以kotlin语言作为Android开发,偶尔涉及java作为对比 注4:开发基于Android Studio…
参考:<第一行代码:Android>第2版--郭霖 注1:本文为原创,例子可参考郭前辈著作:<第一行代码:Android>第2版 注2:本文不赘述android开发的基本理论,不介绍入门知识,不介绍Android Studio基本安装,开门见山,直接使用kotlin改写郭前辈的<第一行代码:Android>中的部分例子,有机会的话自己做一些新例子出来! 注3:本文基本以kotlin语言作为Android开发,偶尔涉及java作为对比 注4:开发基于Android Stu…
Python版本:Python 3.6.1 0x01 命令行交互 在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果.现在,试试输入100+200,看看计算结果是不是300: >>> 100 + 200 300 让Python打印出指定的文字,可以用print()函数,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号: >>> print("Hello World!") Hello…
17年买了一本书,第一行代码(JAVA),李兴华编写的. 一开始我是按照书本一页一页的啃,一个点一个点的去学,虽然当时学的有些枯燥,但里面的知识点大部分还是弄的懂,只是一次偶然,因为有点质疑书上写的(或许是我知识浅薄),所以去找跟这本书关联的文件. 进了李兴华老师的群,这时才发现自己买书时附赠了一本光碟,里面是李兴华的java培训视频,跟书上是紧密关联的,才看了几节课,就深入其中不能自拔,好吧废话少说,直接上干货. 视频分为四个部分共15章: 第一部分Java基础知识 第二部分面向对象 第三部分…