你好,我是悟空哥,「7年项目开发经验,全栈工程师,开发组长,超喜欢图解编程底层原理」.我还手写了2个小程序,Java刷题小程序,PMP刷题小程序.我的 GitHub. 前言 大家看到这篇文章的时候,我和一枝花.Guide哥.Guide哥的妹纸一起恰饭去啦! 离国庆还有几天,无心写技术干货,那就来点珍藏的私活(货)吧.谐音梗有没有发现? 大家可能不知道,我并不是「计算机专业的,在大学都是自学编程.单片机.嵌入式的」,和计算机专业的学生还是有些差距. 要是说单片机.嵌入式我还能给您倒腾倒腾,毕竟大学…
随便说几句: 自己一直学的都是 C++和 Java 以及 Python语言,根本不懂高大上的 CSS 和 著名的 HTML5.感觉那些能自己设计那么漂亮的博客的朋友都好厉害.可以自己加上博客公告栏的小宠物和微博以及加上背景音乐,都感觉好牛逼,好高大上,博客的亲切感立马就上来了. 可是我又没学过 CSS等前端的东西,心想,搞这么漂亮的博客会不会很难啊?那些</class>这些什么鬼?会不会很繁琐?难道要我把 前端的东西学习一边才行? 开始: 然而并非如此,我不会前端,可是我也可以弄:小宠物和微博…
不少同学从Hello world学到文件操作之后,回顾感觉会又不会? 学会了又感觉没学会?这种不踏实.模糊虚无的感觉?   原因在于编程不同于理论学科,你听懂和理解了理论就可以运用. 比如历史地理,看完书,我们在讨论的时候:"北美洲和南美洲的分界是什么?辛亥革命是什么时候?"这些问题只要你看到过,脑子有记忆你都可以说出来,从大脑记忆到用嘴表达是我们很顺理成章的事情,因此你会觉得很容易.   但如果是编程,比如我们在谈论数组的时候,你想到的只能是书本上 "int a[10]&q…
不少同学从Hello world学到文件操作之后,回顾感觉会又不会? 学会了又感觉没学会?这种不踏实.模糊虚无的感觉? 原因在于编程不同于理论学科,你听懂和理解了理论就可以运用,比如历史地理,看完书,我们在讨论的时候:"北美洲和南美洲的分界是什么? 辛亥革命是什么时候? "这些问题只要你看到过,脑子有记忆你都可以说出来,从大脑记忆到用嘴表达是我们很顺理成章的事情,因此你会觉得很容易. 如果是编程,比如我们在谈论数组的时候,你想到的只能是书本上 "int a[10]"…
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发跨平台App开发(三) 带你从零学ReactNative开发跨平台App开发(四) 带你从零学ReactNative开发跨平台App开发(五) 带你从零学ReactNative开发跨平台App开发(六) 带你从零学ReactNative开发跨平台App开发(七) hot:更多>> 贴一个交流群二维…
最近,不少高校延迟开学,大家只能宅家上网课. 有一些朋友,想趁此期间,多学点计算机的专业课,却不知从何学起. 211,985大学的计算机专业课都是经过授课教师精心安排的,从大一到大四,课程合理设置,循序渐进地学习. 而那些非计算机专业的同学,想要学习CS专业课,应该怎么安排呢? 为了帮助大家在家也能系统地学到大学计算机系学生的专业课程,实验楼特地推出了一条计算机专业课学习路径,有满满 37 门计算机课程,计算机必修到选修课,全部涵盖在此. 这些面向大学计算机专业课程的在线实验,将计算机上机课搬到…
你的大学生活是什么样的呢?你在大学有学到特殊的技能吗?你可以在大学毕业的时候找到一份满意的工作吗?当这些问题摆在你面前的时候,你会迷茫吗,绝大多数的人在毕业的时候并不能找到一份好的工作,那不是因为你的专业不好,而是你就没有付出努力.那么你该怎么找见一份差不多的工作,这里告诉你就是Linux,帮助你快速掌握一门技术,把握自己的命运,接下来说下怎么学习与现阶段学习的优势. 动力: 1.    毕业找工作的压力:当我们看到身边的同学都找到工作的时候,你会不会感觉到莫名的压力呢,就是这种压力,可以让你更…
什么是闪存: 快闪存储器(英语:flash memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器 存储原理 要讲解闪存的存储原理,还是要从EPROM和EEPROM说起. EPROM是指其中的内容可以通过特殊手段擦去,然后重新写入.其基本单元电路(存储细胞),常采用浮空栅雪崩注入式MOS电路,简称为FAMOS.它与MOS电路相似,是在N型基片上生长出两个高浓度的P型区,通过欧姆接触分别引出源极S和漏极D.在源极和漏极之间有一个多晶硅栅极浮空在SiO2绝缘层中,…
源码学习第一步,Spring源码编译 之所以写这么一篇文章是因为群里的小伙伴在编译源码时碰到了问题,再加上笔者自身正准备做一个源码的注释版本,恰好也需要重新编译一份代码,至于为什么要将源码编译到本地就不用多说了吧? 比如,你可以任意的添加注释,一边读源码一边记笔记,甚至你可以修改源码,更好的调试程序等等.但是如果你坚持通过导入依赖或者引入jar包的方式来学习源码,我觉得也可以,没有最好的,只有最适合自己的! 本文的主要目的是帮助那些在源码学习之初就被源码编译劝退的同学重拾信心! 话不多说,我们开…
2017年被称为中国人工智能元年--在两会时期,人工智能曾经成为国度计策,同时被写进当局报告.在从前的一年里,人工智能获得注重,已逐步浸透到别的行业,无人超市.主动驾驶.人脸识别.智能家居等"黑科技"早已成为各大媒体的头条.据麦肯锡公司估计,到2018年,中国当局对人工智能研发的投入可望到达150亿美元,当局.市集对高端IT人才的需求将会倍增. 想处置人工智能研发的相干工作,就必需先理解人工智能的相干编程,像大数据.云计较.深度进修.算法.机械人手艺.语音识别手艺等作为人工智能的手艺储…
最近在做项目的时候需要用到shiro做认证和授权来管理资源 在网上看了很多文章,发现大多数都是把官方文档的简介摘抄一段,然后就开始贴代码,告诉你怎么怎么做,怎么怎么做 相信很多小伙伴即使是跟着那些示例代码做完配完,并且成功搭建,估计也是一头雾水,可能会不理解,为什么要这么做 本人也是在看了大量文章之后,然后又自己动手搭了一便,得出如下使用的感悟,特此分享给大家 依照程序,我要在这里对shiro做一些简介,以下内容翻译与官网首页 Apache SHIO是一个功能强大.易于使用的Java安全框架,它…
我的思路一般是先搞定框架的route.也就是说,明白一个请求的url地址是对应的哪个controller处理的,找到controller后,再理解一下它的类库加载方案,也就是说一些辅助类以及自己逻辑类都是怎么加载的,然后再看看view是怎么加载的.这三个搞定后,整个框架的50%就差不多了,剩下的不影响整体流程,需要时去了解即可 作者:萧东链接:https://www.zhihu.com/question/50593811/answer/136381744来源:知乎著作权归作者所有.商业转载请联系…
原文发布时间为:2009-06-13 -- 来源于本人的百度文章 [由搬家工具导入] ASP.NET MVC 1.0 发布了投递人 itnews 发布于 2009-03-19 00:46 评论(8) 有6431人阅读 [收藏] 看到Silverlight 3 Beta发布了后,听说ASP.NET MVC 1.0发布了,就去ASP.NET MVC的官方站看了下,果然看到是1.0发布了,下面是下载地址: http://go.microsoft.com/fwlink/?LinkId=144444 下面…
一题非常简单的最短路题目,但是我就是很撒比的错在了,1.初始化:2.判断重边 堆优化,使用优先队列的堆优化:复杂度:O(ElogE); #include <stdio.h> #include <iostream> #include <string.h> #include <math.h> #include <stdlib.h> #include <queue> #include <set> #include <sta…
一.5G功能体之间的接口类型 5G不同功能体之间提供了两种接口: 服务化接口:Service-basedinterface,这个是类似微服务化架构的服务注册和服务发现来实现的功能体对外暴露的接口,这种接口只针对于单个功能体,相关功能体通过服务化接口向外与其他的功能体进行交互,而其他的功能体通过该功能体暴露的接口与此功能体进行交互,实际上这种机制提供了一种多对一访问的机制,并且由于采用服务注册和服务发现,相互之间无需相互知道对方地址即可访问 参考点:reference point,参考点类似于传统…
一.以操纵子方式格式化 数据输入输出的格式控制使用系统头文件<iomanip>中提供的操纵符.把它们作为插入操作符<<的输出对象即可.如setiosflags.setw.setfill.setprecision.hex.oct等. (一).常用的流操纵算子: (二).ios类的枚举常量  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3…
一.齐次变换 1.平移变换 变换矩阵不能包含X,Y,Z等坐标变量 如果x坐标向右平移了5个单位长度,则x~=x+5.在变换矩阵中表示的时候添加一个w坐标变量.通过加入一个w坐标,可以实现平移变换 1>如果w>0,这表示一个真实物理世界的点,因为你可以用x,y,z三个坐标初一w得到这个真是的点. 2>如果w=0,表示一个无穷远处的点 3>在实际应用中,w等于0通常用来表示一个向量 齐次坐标的优点:只需在渲染管线的最后做一次 除法(除以w)就能将齐次坐标转换为非齐次. 一般的平移矩阵:…
#猜数字--核心代码--猜测次数--随机函数和屏蔽错误代码---优化代码及注释 #!usr/bin/env python #-*-coding:utf-8-*- #QQ124111294 import random number = random.randint(1,99)#设定答案(可以假设成年龄吧) amount = random.randint(3,8) #设定猜测次数 print('本次游戏次数为',amount,'次') count = 0 #设定初始次数 while count <=…
​ 算术运算符: 算术运算符是对数值类型的变量进行运算的,在 Java 程序中使用的非常多. 运算符 说明 例子 结果 + 加法-相加运算符两侧的值 9+9 18 - 减法-左操作数减去右操作数 10-8 2 * 乘法-相乘操作符两侧的值 7*8 56 / 除法-左操作数除以右操作数 9/9 1 % 取余-左操作数除以右操作数的余数 11%9 2 ++ 自增(前):先运算后取值 自增(后):先取值后运算 a=2;b=++a; a=2;b=a++; a=3;b=3 a=3;b=2 -- 自减(前)…
因为干活要用到,所以我大概于19年5月开始学python,大概学了1个月后,我就能干公司的活了,而且这python项目还包含了机器学习等要素,大概3个月后,我还承担了项目里开发机器学习数据分析的任务.所以我感到,虽然python里包含了爬虫.机器学习和数据分析等热门要素,但python并不难学,而且如果方法得当,学到能干项目的程度也很快.在这篇文章里,就讲给出我学Python的流程,向大家展示如何高效学python. 1  搭建开发环境 由于我有学java的基础,所以我知道首先得搭建开发环境,当…
一.推荐专业书单: 1)         C语言方面: n  明解C语言——适合初学者 豆瓣链接:https://book.douban.com/subject/23779374/ 推荐理由:<明解C语言>图文并茂,示例丰富,设有190段代码和164幅图表,对C语言的基础知识进行了彻底剖析,内容涉及数组.函数.指针.文件操作等.对于C语言语法以及一些难以理解的概念,均以精心绘制的示意图,清晰.通俗地进行讲解. n  C程序设计语言——经典 豆瓣链接:https://book.douban.co…
在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以“85”开头的很大的数字(此时该段内存中为一个垃圾数,为了避免出现较常规的数而使程序员误以为自己已给变量进行过初始化),这个“85”开头的数叫“填充字”,提醒程序员没有初始化变量. #include<stdio.h> int main(void) { int i; printf("i = %d\n", i); } 运行后:   变量对应于内存中的…
OC语法入门(一) 数据类型和运算符 1.1凝视 凝视和其它语言一样,同意单行 ,多行凝视,一份规范的代码里面须要有一些正式的凝视,例如以下凝视: /* 这是多行 凝视 */ //这是多行凝视 OC语言临时不支持嵌套凝视.(swift里面支持这一特性) 1.2标示符和变量 1.2.1分隔符  1.分号 每个句子以分号结尾,一行能够多个语句,一个语句也能够跨多行.可是变量名不能分开    合法的:  NSString *name  = @"你好"; int age  = 20;  NSS…
学习别人的经验和体会 零.前言 我认为人生就是一次次地从<存在>到<光明>. 一.软件工程师的成长 0.这是一个博客索引 同学们在上这门课的时候基本都是大三,觉得在大学里,到教室来听课有意思么?请看:你为何要来上课并且认真参与(8.25修改). 你在学校里的困难和迷茫,别人一定有过.请看看别人怎么学习的,有些是科班,有些是野路子,有些成功,有些失败.请阅读完"一.1"中的题目,有选择地阅读下方的博客或者整个读完 (读这些博客你不吃亏,你也不上当!) 科班出身:…
<程序设计语言--实践之路(英文第三版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382234 内容简介 <程序设计语言--实践之路(第3版)>是一本很有特色的计算机教材,其核心是讨论程序设计语言的基本原理和技术.本书融合了传统的程序设计语言教科书和编译教科书的有关知识,并增加了一些有关汇编层体系结构的材料,以满足没学过计算机组织的学生们的需要.书中通过各种语言的例子,阐释了程序设计语言的重要基础概念,讨论了各种概念之…
<程序设计语言--实践之路[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382240 内容简介 <程序设计语言--实践之路(第3版)>是一本很有特色的计算机教材,其核心是讨论程序设计语言的基本原理和技术.本书融合了传统的程序设计语言教科书和编译教科书的有关知识,并增加了一些有关汇编层体系结构的材料,以满足没学过计算机组织的学生们的需要.书中通过各种语言的例子,阐释了程序设计语言的重要基础概念,讨论了各种概念之间的关系,解释了语言中…
概述 在计算机网络这门课中,往往是将各层协议拆开一章一章的讲,每层协议是干嘛的,都各种怎么工作的.但如果有人问,这些协议之间怎么协调工作,有什么关系,往往处于懵逼状态. 网络分层 网络为什么分层,其实理解很简单,复杂的东西都要分层.就像写代码,有Controller层,service层,dao层等,如果这个代码很复杂,都写在一个类里里,不利于你后期维护(可能过两天你自己都看不懂了),和同事之间的交流沟通也不方便.所以复杂的程序都要分层,这是基本的程序设计要求. 这是一次用户发起的请求,浏览器用h…
[2019BUAA软工助教]第0次个人作业 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大学里,到教室来听课有意思么?请看:你为何要来上课并且认真参与. 你在学校里的困难和迷茫,别人一定有过.请看看别人怎么学习的,有些是科班,有些是野路子,有些成功,有些失败. 请阅读完“二.2”中的题目,有选择地阅读下方的博客或者整个读完 (读这些博客你不吃亏,你也不上当!) 主题 索引号 阅读前提问 链接 科班…
/* 微生物增殖 题目: 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍). 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y. 现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目. 如果X=10,Y=90呢? 本题的要求就是写出这两种初始条件下,60分钟后Y的数目. 题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质! 也许因为你消灭的那只 Y 就是最终导致 Y 种群灭绝的最…
Three.js粒子特效,shader渲染初探 转载来源:https://juejin.im/post/5b0ace63f265da0db479270a 这大概是个序 关于Three.js,网上有不多不少的零碎教程,有些过于初级,有些云里雾里,而Three.js官网上的示例逼格之高又令人望而却步,这些对于没学过计算机图形学的童鞋来说,就像入门迈槛不知先迈左脚还是右脚,兴趣使然,于是我就先双脚蹦了进去试试水...... 本文将以尽量戏剧化的语言描述网页3D世界的构建流程及表面原理(因为深层原理我目…