前言 上篇主要是理论的概述,本篇会多些实践,来讲讲canvas的基础用法,并包含一些基础三角函数的应用,推荐没有canvas基础的朋友阅读,熟悉的朋友可以跳过. 本人能力有限,欢迎牛人共同讨论,批评指正. 一起来画画吧 canvas的API有很多,如果一一列举30分钟你是绝对看不完的,而且怎么流水账还不如自己去看文档呢(笑),本教程的思路是用实例一步一步从无到有讲解基础用法. canvas相关文档 准备工作 布置画布:通过添加<canvas>标签,添加canvas元素: 获取画布:通过<…
前言 本文虽说是基础教程,但这是相对动画/游戏领域来说,在前端领域算是中级教程了,不适合前端小白或萌新.阅读前请确保自己对前端三大件(JavaScript+CSS+HTML)的基础已经十分熟悉,而且有高中水平的数学和物理知识.demo采用ES6编写,遵循Airbnb规范,不依赖第三方框架或库,请在现代浏览器里运行. 大部分例子来自<Foundation HTML5 Animation with JavaScript>,感谢这本书作者的辛劳和启发.本教程也可以算是该书的精(tian)简(you)…
前言 一路沿着本系列教程学习的朋友可能会发现,前面教程中都尽量避免提及质量的概念,很多运动概念也时刻提醒大家这不是真实的物体运动.因为真实的物体运动其实跟质量都是密不可分的,而且质量的引入自然必须提及力学概念,所以为了不内容冗余才忽略了质量. 从本篇开始,将会正式引入物理力学概念,给每个物体赋予质量概念,为了更加真实的模拟现实环境的物体运动. 阅读本篇前请先打好前面的基础. 本人能力有限,欢迎牛人共同讨论,批评指正. 动量与动量守恒 [科普]一般而言,一个物体的动量指的是这个物体在它运动方向上保…
前言 本篇主要讲坐标旋转及其应用,这是编程动画必不可少的技术. 阅读本篇前请先打好前面的基础. 本人能力有限,欢迎牛人共同讨论,批评指正. 坐标旋转 模拟场景:已知一个中心点(centerX,centerY),旋转前物体ball(x1,y1),旋转弧度(rotation):求旋转后物体(x2,y2).(如下图) 坐标旋转就是说围绕某个点旋转坐标,我们要依据旋转的角度(弧度),计算出物体旋转前后的坐标,一般有两种方法: 简单坐标旋转 灵活运用前章节的三角函数知识可以很容易解决,基本思路: 计算物体…
前言 本系列前几篇中常出现物体跑到画布外的情况,本篇就是为了解决这个问题. 阅读本篇前请先打好前面的基础. 本人能力有限,欢迎牛人共同讨论,批评指正. 越界检测 假定物体是个圆形,如图其圆心坐标即是物体的x轴和y轴坐标. 越界是常见的场景,一般会有两种场景的越界:一是整个物体移出区域,二是物体接触到区域边界.我们以画布边界为例进行讨论,示例中矩形边界即是: let top = 0; let bottom = canvas.height; let left = 0; let right = can…
前言 本篇主要讲解关于计算机颜色系统的概念,后续结合一些canvas的应用.因为是"你不知道也没关系"的边缘知识,所以作为本系列教程的扩展,没有兴趣的同学可以跳过. 开始我们万紫千红的故事吧! 本人能力有限,欢迎牛人共同讨论,批评指正. 先从老朋友CSS讲起 我们熟悉的CSS风格颜色表示方式,大体有下面几种,canvas大体是直接沿用这些写法的,但最后包含透明度的写法有些许不同. #RRGGBB:十六进制格式,红绿蓝分别用两位十六进制数表示. #RGB:简写的十六进制格式,转换成6位格…
前言 本文是接续系列教程的extra1,主要是介绍颜色系统在canvas中的应用. 本来是与extra1一起成文的,因为segmentfault莫名其妙的字数限制bug只能分割放送了. canvas操纵像素 你如果认为canvas只是画图工具,那接下来的操作会颠覆你的认知.canvas提供api可以获取画布上任何一个像素,并可以自由的操作他们. 获取像素 直接访问像素的功能由canvas上下文中的ImageData对象提供,它提供了以下一组方法,都会返回ImageData对象. getImage…
前言 解决运动和碰撞问题后,我们为了让运动环境更加自然,需要加入一些环境因子,比如常见的重力加速度和模拟摩擦力. 阅读本篇前请先打好前面的基础. 本人能力有限,欢迎牛人共同讨论,批评指正. 重力加速度 [科普]重力加速度是一个物体受重力作用的情况下所具有的加速度.也叫自由落体加速度,用g表示.方向竖直向下.通常指地面附近物体受地球引力作用在真空中下落的加速度,记为g.为了便于计算,其近似标准值通常取为980厘米/秒的二次方或9.8米/秒的二次方. 真实的物体是有质量的,所以其重力加速度是由于重力…
最近在学习RabbitMQ,在网上找了不少资料发现都特高端.动辄集群部署,分布式架构什么的,对于一个初学者实在不够友好.心想求人不如求自己,为什么不自己整理一套资料呢?于是<30分钟学玩转RabbitMQ>诞生. 一.准备工作 据说RabbitMQ是可以部署到Windows环境的,不过作为一个专业级的开发人员怎么能够让这样的事情发生呢?自然我们的准备工作从Linux开始.首先在虚拟机中安装CentOS 7,选择英文,最小安装,默认开启网络以及创建一个root用户: 完成以后进入系统,由于最小安…
作为帅气小编,我已经把python一些模块的甩在这儿了qwq,只要你拿到这些干货,包你玩转python,直接冲向"大佬"的段位,如果已经学了C或者C++或者说如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们.Python入门教程.热爱python的小伙伴可以加我Q群867067945,里面都是想学习编程的小伙伴,还有大佬专门给你解答编程类的难题哦python web开发2.Python网络爬虫Pyth…
时隔一年终于又推出了一篇30分钟系列,上一篇<30分钟学会反向Ajax>是2016年7月的事情了.时光荏苒,岁月穿梭.虽然一直还在从事Java方面的开发工作,但是私下其实更喜欢使用C++.不过今天,我们要再次回归到Java的主题,来谈一谈如何使用——Spring Web Services框架. Spring Web Services(下简称ws)本质上是基于SpringBoot的项目,因此如果有对SpringBoot不太了解的同学,回头再来看比较合适. ws分为server端与client端两…
交互是游戏的根本.缺少了用户交互,游戏就不能称之为游戏,只能说是动画或电影.事件是浏览器响应用户交互操作的一种机制. 1.事件和事件执行 事件定义了用户与页面交互时产生的各种操作(主要通过鼠标或热键的动作引发),例如单击页面中某一个对象时,就产生一个单击(onClick)操作事件.浏览器在程序运行的大部分时间都等待交互事件的发生,并在事件发生时,自动调用事件处理函数,完成事件处理过程. 事件不仅可以在用户交互过程中产生,而且浏览器自己的一些动作也可以产生事件,例如,当载入一个页面时,就会发生on…
其实css3动画是就是2种实现,一种是transition,另一种就是animation.transition实现的话就是只能定制开始帧,和结束2帧:而animation实现的话可以写很多关键帧.没有前戏,直进主题. transition 包含4个值,例如:-webkit-transition:all .5s ease 1s;  分别顺序是(m代表必须): 变换的属性(m).变换过渡的时间(m).变换的速率.变换延时执行的时间.来个小demo: <!DOCTYPE html> <html…
阅读目录 一:什么是webpack? 他有什么优点? 二:如何安装和配置 三:理解webpack加载器 四:理解less-loader加载器的使用 五:理解babel-loader加载器的含义 六:了解下webpack的几个命令 七:webpack对多个模块依赖进行打包 八:如何独立打包成样式文件 九:如何打包成多个资源文件 十:关于对图片的打包 十一:React开发神器:react-hot-loader   什么是webpack? 他有什么优点? 首先对于很多刚接触webpack人来说,肯定会…
Python 30分钟入门指南 为什么 OIer 要学 Python? Python 语言特性简洁明了,使用 Python 写测试数据生成器和对拍器,比编写 C++ 事半功倍. Python 学习成本很低,只要您熟练掌握 C++/Pascal,您只要花30分钟看完本文并完成实验,即可初步掌握 Python编写脚本: NOI Linux (Ubuntu) 自带 Python,这意味着它可以是您在考场上虐题时的最佳拍档. 为什么我们要准备一个30分钟入门指南? 按理说,在一个库中加入一个从零开始学习…
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05-日历组件的实现 4. 微信小程序开发04-打造自己的UI库 5. 微信小程序开发03-这是一个组件 6. 微信小程序开发02-小程序基本介绍 7. 微信小程序开发01-小程序的执行流程是怎么样的? 阅读本文之前,如果大家想对小程序有更深入的了解,或者一些细节的了解可以先阅读上述文章,本文后面点需要对…
看到漂漂亮亮的PowerBI报表,手痒痒怎么办?! 有没有面对着稀奇古怪的DAX而感到有点丈八金刚摸不着头脑或者干瞪眼?! 有没有想得到某个值想不出来DAX怎么写而直跳脚!? 看完这篇文章,你会恍然大悟,捂脸偷笑.呼呼呼~ 前言: 这篇文章对于具有一点SQL查询基础人会十分容易理解,譬如:掌握SELECT,SUM,GROUP BY等. 注:此文不涉及到Filter Context(筛选上下文)的介绍. 正文: 对于对SQL有一定了解的人来说,咋看DAX,怎么都不习惯. 但是,如果理解以下几个后,…
每天记录一点:NetCore获得配置文件 appsettings.json   用NetCore做项目如果用EF  ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如SqlSugar,NH,Dapper等,在读取连接字符串的时候,往往把信息保存到一个配置文件中,例如appsetting.json, 网上有很多关于读取appsetting.json都是通过注入的方式,  在ORM读取配置的时候,都是在一个类库里面,所以用注入的方式有时候不适合[个人理解] 因以上场景…
“ 我想学 Python,但是学完 Python 后都能干啥 ?” “ 现在学 Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少 Python 的初学者,都会遇到上面的这些问题.大家都知道 Python 很吃香,薪资高.就业面广,但具体的,有哪些方向.哪些最适合自己,可能就没有具体的了解了. 今天,我们整理了 Python 的 7 大就业方向,希望大家能找到适合自己的,然后学习下去,完成人生的目标. 一.Web 开发(Python 后端) Python 有很多优秀的 W…
30分钟手把手教你学webpack实战 阅读目录 一:什么是webpack? 他有什么优点? 二:如何安装和配置 三:理解webpack加载器 四:理解less-loader加载器的使用 五:理解babel-loader加载器的含义 六:了解下webpack的几个命令 七:webpack对多个模块依赖进行打包 八:如何独立打包成样式文件 九:如何打包成多个资源文件 十:关于对图片的打包 十一:React开发神器:react-hot-loader 回到顶部 什么是webpack? 他有什么优点?…
ES6基础智商划重点在实际开发中,ES6已经非常普及了.掌握ES6的知识变成了一种必须.尽管我们在使用时仍然需要经过babel编译.ES6彻底改变了前端的编码风格,可以说对于前端的影响非常巨大.值得高兴的是,如果你熟悉ES5,学习ES6并不需要花费太多的时间就可以掌握,因为常用的基础语法并不多,花少量的时间,就可以开始我们的ES6之旅了.这篇文章不会详细的告诉你ES6的每一个细节知识,只会根据我自己的开发经验,将我在实际开发中常常用到的知识点分享给大家,给大家学习ES6一个方向的指引.这是因为考…
  目录 一.附言: 1 二.购买域名和购买服务器: 2 三.搭建服务器环境: 5 四.配置APP前端部分: 8 1.工具以及文件准备: 9 2.配置后端接口地址 11 3.配置APP启动图和启动图标 12 五.搭建APP后端部分 13 步骤,一步步输入并且回车. 13 1. 登录方才已经安装好的宝塔软件以及创建通信网站. 15 2. 导入数据库测试是否连通. 20 六.搭建APP后台管理端部分 24 七.打包APP下载并测试 31       一.附言:   [干货]30分钟让你拥有一个完整属…
Linux系统是使用Linux内核及开源自由软件组成的一套操作系统,是一种类UNIX系统,其内核在1991年10月5日由林纳斯·托瓦兹首次发布. 它的主要特性:Linux文件一切皆文件.完全开源免费.支持多用户和多任务.同时还支持多种架构平台.可靠的安全性.良好的稳定性.具有强大的网络功能.多样图形界面: 近几年Linux系统慢慢吸引了不少人,正是由于它的强大,支撑着巨大的项目,并不断影响着大多数人的生活.其实大家对于Linux系统并不陌生,或多或少都有接触过,因为你身边已经无处不在了, 比如你…
笔记-7天学完Java基础之0/7 1.常用命令提示符(cmd) 启动:Win+R,输入cmd​…
本文首发于公众号「5分钟学Go」,一个让你每次花 5 分钟就能掌握一个技能点的公众号.目前在博主连更 5 分钟学Go系列,大家可以关注下,第一时间掌握Go技能.如果想要加群交流,可以在公众号后台回复「加群」,回复「gogogo」,还有博主精心整理的一份Go语言从入门.进阶到高阶的学习宝典.欢迎你的关注. 最近几年,随着云计算.区块链等技术的发展,有一门语言逐渐成为大家热衷讨论的对象,成为了继 Python 之后的另一块香饽饽,那就是 Go 语言. 其实如果要追溯历史的话,Go 语言诞生于 Goo…
简明易懂,将细节隐藏,面向新手树立web开发概念 --学完Java基础语法,超快速上手JavaWeb开发 Web本质(先忽视各种协议) Web应用可以理解为浏览器和服务器之间的交互. 我们可以看一个简单的例子 1.我们在浏览器上方输入www.baidu.com并回车. 2.此时我们的浏览器便对百度的服务器发送数据(请求). 3.百度的服务器收到并分析了我们的请求后,对我们的浏览器发送数据(响应,里面就有我们拿到的百度主页的这个页面的数据) 4.经过我们浏览器的处理,我们便看到了如下的页面: ![…
1.狂妄的WPF 相对传统的Windows图形编程,需要做很多复杂的工作,引用许多不同的API.例如:WinForm(带控件表单).GDI+(2D图形).DirectX API(3D图形)以及流媒体和流文档等,都需要不同的API来构建应用程序. WPF就是看着上面的操作复杂和不爽,自己决定做老大,想用DirectX技术涵盖一切,于是想要将上述的东西全部融合到自身,减少复杂度,让编程变得爽起来的技术. 而不可否认的是,WPF虽然很狂妄,但是这种技术里面还是有不少的可圈可点的东西.而支持WPF狂妄的…
Objective-C 30分钟入门教程 我第一次看OC觉得这个语言的语法有些怪异,为什么充满了@符号,[]符号,函数调用没有()这个,但是面向对象的高级语言也不外乎类,接口,多态,封装,继承等概念.下面会把OC里面的一些定义与Java,C++作对比,让有其他面向对象语言的同学可以快速的了解OC是个神马语言. 1.类定义 类用@interface定义,而不是@class,相当于Java中的class了.而Object-C中接口(Java中的接口)是用@protocol(下面有介绍)表示. 头文件…
本篇内容大多总结自张开涛的<跟我学Shiro>原文地址:http://jinnianshilongnian.iteye.com/blog/2018936 我并没有全部看完,只是选择了一部分对我来说急需在项目中使用的知识加以学习.并且对于大多数第一次接触Shiro的同学来说,掌握这些也应该足够了. 一.架构 要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙.Shiro的应用不依赖任何容器,它也可以在JavaSE下使用.但是最常用的环境还是JavaEE.下面以…