自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

分享优客

分享优客,分享开源技术

  • 博客(76)
  • 资源 (7)
  • 收藏
  • 关注

原创 万字WebGL应用图像应用技术详解

目录WebGL介绍1.1. WebGL基本原理1.2. WebGL工作原理1.3. WebGL 着色器和 GLSL图像处理2.1. WebGL 图像处理2D 转换、旋转、伸缩、矩阵2.1. WebGL 2D 图像转换2.2. WebGL 2D 图像旋转2.3. WebGL 2D 图像伸缩2.4. WebGL 2D 矩阵3D4.1. WebGL 3D 正交4.1. WebGL 3D 透视4.1. WebGL 3D 摄像机WebGL介绍WebGL 是一种 3D 绘图标准,这

2021-09-12 18:23:03 874

原创 操作系统中内存及内存管理总结

对于计算机系统而言,操作系统充当着基石的作用,它是连接计算机底层硬件与上层应用软件的桥梁,控制其他程序的运行,并且管理系统相关资源,同时提供配套的系统软件支持。对于专业的程序员而言,掌握一定的操作系统知识比不可少,因为不管面对的是底层嵌入式开发,还是上层的云计算开发,都需要使用到一定的操作系统相关知识。目录内存管理有哪几种方式分段和分页的区别是什么什么是虚拟内存什么是内存碎片什么是内碎片什么是外碎片虚拟地址逻辑地址线性地址物理地址有什么区别Cache替换算法有哪些内存管理有哪几种方式常

2021-04-10 15:42:34 572

原创 进程与线程的区别以及优势和作用

进程与线程有什么区别进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,它是系统进行资源分配和调度的一个独立单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等,然后该进程被放入到进程的就绪队列,进程调度程序选中它,为它分配CPU及其他相关资源,该进程就被运行起来。线程是进程的一个实体,是CPU调度和分配的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一组寄存器和栈),但是它可以与同属

2021-04-10 15:29:23 2142

原创 CSS开发中所有基本属性的使用技巧

一、CSS基本属性CSS的单位font字体属性文本属性列表属性overflow属性鼠标的属性 cursor背景属性CSS的单位html中的单位只有一种,那就是像素px,所以单位是可以省略的,但是在CSS中不一样。CSS中的单位是必须要写的,因为它没有默认单位。绝对单位1 in=2.54cm=25.4mm=72pt=6pc。各种单位的含义:in:英寸Inches (1 英寸 = 2.54 厘米)cm:厘米Centimetersmm:毫米Millimeterspt:点Po

2021-03-07 11:18:37 743

原创 百度面试题:字符串的排列(字符串)

题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a, b, c 所能排列出来的所有字符串abc, acb, bac, bac, cab和cab。分析:这题主要考递归思想。依次取出每个字符,剩下的字符的字符串所有排列都打印出来,再加上开始的字符。实现:#include<iostream>#include<stdio.h>#include<stdlib.h>#include<string.h>#incl

2021-02-17 22:14:24 319

原创 网易面试题:和为n连续正数序列(数组)

网易面试题:和为n连续正数序列(数组)题目:输入一个正数n,输出所有和为n连续正数序列。例如:输入15,由于 1+ 2 + 3 + 4 +5 = 4 + 5 + 6 = 7 + 8 = 15, 所以输入3个连续序列1,2,3,4,5 和 4,5,6 和7,8。分析:找连续序列可以从2个开始找,再找3个,4个等等,那到什么时候结束呢?当发现找到的k个数的起始数小于1,终止。还可以分析出,当k为偶数的时候, n*1.0/k = *.5 ,小数位必须是5,否则找不成功,continue。满足条件,就

2021-02-17 22:12:00 255

原创 鹅厂面试题:有一千万条短信,有重复,以文本文件的形式保存,一行一条,有重复

有一千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。请用5分钟时间,找出重复出现最多的前10条。分析:常规方法是先排序,在遍历一次,找出重复最多的前10条。但是排序的算法复杂度最低为nlgn。可以设计一个hash_table, hash_map<string, int>,依次读取一千万条短信,加载到hash_table表中,并且统计重复的次数,与此同时维护一张最多10条的短信表。这样遍历一次就能找出最多的前10条,算法复杂度为O(n)。实现如下:#include<

2021-02-17 21:13:49 863

原创 微软算法面试(29):请修改append函数, 利用函数实现(链表)

题目:请修改append函数,利用这个函数实现:两个非降序链表的并集,1->2->3 和 2->3->5 并为 1->2->3->5另外只能输出结果,不能修改两个链表的数据。分析:这题很简单,两个指向链表的指针,比较对应的值,并遍历实现如下:#include<iostream>using namespace std;struct Node{ Node(int _v = 0):value(_v),next(NULL)

2021-02-17 21:11:56 199

原创 微软算法面试(28):有一个很大很大的输入流,大到没有存储器可以将其存储下来,而且只输入一次,如何从这个输入 流中随机取得m个记录

题目:有一个很大很大的输入流,大到没有存储器可以将其存储下来,而且只输入一次,如何从这个输入流中随机取得m个记录分析:这题在soso面试的时候也见过,当时没有答出来。现在也每想出好的办法。网上看到一种方法:每次输入一个记录时,随机产生一个0到1之间的随机数,用这些随机数维护一个大小为m的堆。但是这种方法是否是后面的输入的纪录被选取的概率要比前面要大,不太合适随即取的要求。???后续完善。。。继续完善,谢谢_chen_lin_ 提供的思路。模拟数据流生成了1-1000000的整数序列,随

2021-02-17 21:10:29 239

原创 微软算法面试(27):n支队伍比赛,分别编号为0,1,2。。。。n-1

题目:n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系,存储在一个二维数组w中,w[i][j]的值代表编号为i,j的队伍中更强的一支。所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order中,比如order= {4,3,5,8,1…},那么第一轮比赛就是 4对3, 5对8。…胜者晋级,败者淘汰,同一轮淘汰的所有队伍排名不再细分,即可以随便排,下一轮由上一轮的胜者按照顺序,再依次两两比,比如可能是4对5,直至出现第一名编程实现,给出二维数组w

2021-02-03 22:48:05 364

原创 微软算法面试(26):求一个矩阵中最大的二维矩阵(元素和最大)

题目:求一个矩阵中最大的二维矩阵(元素和最大).如:1 2 0 3 42 3 4 5 11 1 5 3 0中最大的是:4 55 3要求:(1)写出算法;(2)分析时间复杂度;(3)用C写出关键代码分析:直接遍历二维数组,求出最大的二维数组就OK了实现如下:#include<iostream>using namespace std;int max_matrix(int (*array)[5], int maxx, int maxy, int& posi, in

2021-02-03 22:41:43 246

原创 微软算法面试(25):使用多线程实现一个队列

题目:实现一个队列队列的应用场景为:一个生产者线程将int类型的数入列,一个消费者线程将int类型的数出列。分析:首先得设计一个队列,并且最好是循环队列,否则队列里面的空间很容易一下就使用完了。题目要求使用生产者线程和消费者线程,所以得设计成线程保护,否则取数据和推送数据很容易搞错。可以使用线程的互斥变量:pthread_mutex_t加pthread_mutex_lock 锁,解锁:pthread_mutex_unlock比如:生产者线程每隔1s推送:1,2,3,4,5,6,7,8,9,10

2021-02-03 22:40:08 278

原创 微软算法面试(24):实现一个挺高级的字符匹配算法

题目:给一串很长字符串,要求找到符合要求的字符串,例如目的串:1231****32 ,123这些都要找出来其实就是类似一些和谐系统。。。。。分析:自然匹配就是对待匹配的每个字符挨个匹配设你的待匹配字串长度位n,模式字符串长度位m.对于待匹配字符串中的任意一个字符最坏情况下要匹配m次,也就是说这个字符不在模式字符串中。所以最坏情况下总共是mn此匹配,时间复杂度就是O(mn)可以简单的实现下:#include<iostream>#include<string.h>u

2021-02-03 22:36:56 165

原创 微软算法面试(23):从1到n的整数中1出现的次数

题目:输入一个正整数n,求从1到n这n个整数的十进制表示1出现的次数。例如:例如输入12, 那么从1到12的整数中出现1的整数为:1,10, 11和12,1一共出现5次。分析:这题可以简单计算每个数中包含的1的个数,再遍历1-n个整数。实现如下:#include<iostream>using namespace std;int count_num(int v){ int i = v; int num = 0; while(i

2021-02-02 22:55:26 201

原创 微软算法面试(22):栈的push、pop序列(栈)

题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。比如:输入的push序列是1,2,3,4,5 ,那么4,5,3,2,1就有可能是一个pop序列。因为可以有如下的push和pop序列:push 1, push 2, push 3, push 4, pop, push 5, pop, pop, pop, pop这样的的得到的pop序列就是4,5,3,2,1.但是序列4,3,5,1,

2021-02-02 22:54:12 677

原创 微软算法面试(21):整数的二进制表示中1的个数

题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。分析:使用移位操作,来实现。具体实现如下:#include<iostream>using namespace std;int binary1num(int d){ int cnt = 0; while(d/2 != 0) { if(d%2 == 1) cnt ++;

2021-02-02 22:53:02 158

原创 JavaScript 创建对象和继承的实现方式

JavaScript 创建对象的方式:(1)第一种是工厂模式,工厂模式的主要工作原理是用函数来封装创建对象的细节,从而通过调用函数来达到复用的目的。但是它有一个很大的问题就是创建出来的对象无法和某个类型联系起来,它只是简单的封装了复用代码,而没有建立起对象和类型间的关系。(2)第二种是构造函数模式。js 中每一个函数都可以作为构造函数,只要一个函数是通过 new 来调用的,那么我们就可以把它称为构造函数。执行构造函数首先会创建一个对象,然后将对象的原型指向构造函数的 prototype 属性,然后将执行

2021-02-02 22:51:19 299 1

原创 JavaScript实现数组的随机排序

// (1)使用数组 sort 方法对数组元素随机排序,让 Math.random() 出来的数与 0.5 比较,如果大于就返回 1 交换位置,如果小于就返回 -1,不交换位置。function randomSort(a, b) {return Math.random() > 0.5 ? -1 : 1;}// 缺点:每个元素被派到新数组的位置不是随机的,原因是 sort() 方法是依次比较的。// (2)随机从原数组抽取一个元素,加入到新数组function randomSort(arr

2021-01-31 11:44:18 909 1

原创 JavaScript不同类型转换规则

isNaN 和 Number.isNaN 函数的区别函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,这种方法对于 NaN 的判断更为准确。其他值到字符串的转换规则抽象操作 ToString ,它负责处理非字符串到字符串的强制类型转换。(1)Null 和 Undefined 类型

2021-01-31 11:40:52 288

原创 JavaScript 原型,原型链,原型方法

JavaScript 原型在 js 中我们是使用构造函数来新建一个对象的,每一个构造函数的内部都有一个 prototype 属性值,这个属性值是一个对象,这个对象包含了可以由该构造函数的所有实例共享的属性和方法。当我们使用构造函数新建一个对象后,在这个对象的内部将包含一个指针,这个指针指向构造函数的 prototype 属性对应的值,在 ES5 中这个指针被称为对象的原型。一般来说我们是不应该能够获取到这个值的,但是现在浏览器中都实现了 proto 属性来让我们访问这个属性,但是我们最好不要使用这个属性,

2021-01-31 11:31:34 147

原创 undefined、undeclared、null的区别

Undefined 和 Null首先 Undefined 和 Null 都是基本数据类型,这两个基本数据类型分别都只有一个值,就是 undefined 和 null。undefined 代表的含义是未定义,null 代表的含义是空对象。一般变量声明了但还没有定义的时候会返回 undefined,null主要用于赋值给一些可能会返回对象的变量,作为初始化。undefined 在 js 中不是一个保留字,这意味着我们可以使用 undefined 来作为一个变量名,这样的做法是非常危险的,它会影响我们对

2021-01-31 11:22:32 1349

原创 js 有哪些内置对象

内置对象js 中的内置对象主要指的是在程序执行前存在全局作用域里的由 js 定义的一些全局值属性、函数和用来实例化其他对象的构造函数对象。一般我们经常用到的如全局变量值 NaN、undefined,全局函数如 parseInt()、parseFloat() 用来实例化对象的构造函数如 Date、Object 等,还有提供数学计算的单体内置对象如 Math 对象。全局的对象( global objects )或称标准内置对象,不要和 “全局对象(global object)” 混淆。这里说的全局的对象是说

2021-01-31 11:17:34 1276

原创 JavaScript基本数据类型以及内存分配

js 的基本数据类型js 一共有六种基本数据类型,分别是 Undefined、Null、Boolean、Number、String,还有在 ES6 中新增的 Symbol 类型,代表创建后独一无二且不可变的数据类型,它的出现我认为主要是为了解决可能出现的全局变量冲突的问题。JavaScript 有几种类型的值涉及知识点:栈:原始数据类型(Undefined、Null、Boolean、Number、String)堆:引用数据类型(对象、数组和函数)两种类型的区别是:存储位置不同。原始数据类

2021-01-31 11:15:21 1772

原创 微软算法面试(20):跳台阶问题

题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。分析:采用递归思想,从第n个台阶开始研究,第 n 个台阶有两种跳法,一种是跳一级,还有 n -1级台阶要跳,另一种是跳两级,还有n -2级需要跳。公式如下:f(n) = f(n-1) + f(n-2),其中 f(1) = 1, f(2) = 2。实现如下:#include<iostream>using namespace std;int findSteps(int n)

2021-01-31 11:04:22 243

原创 微软算法面试(19):左旋字符串

题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。例如把字符串"abcdef" 左旋2位 得到字符串“cdefab"。请实现字符串左旋转的函数。要求时间对长度n的字符串操作的复杂度位O(n),辅助内存为O(1).分析:这题的难点是辅助内存只能只用O(1),相当于只能进行字符串中字符的替换操作,如果需要移动字符串,则需要mn次替换操作,这样复杂度也上来了,O(nn).只能想技巧了。实现如下:#include<iostream>#include<str

2021-01-31 11:03:09 98

原创 微软算法面试(18):字符串中找最长数字字符串

题目:在字符串中找出连续最长字符串,并把这个串的长度返回。例如:字符串“abcd12345ed125ss123456789”,他的最长字符串为“123456789“,长度为9.实现如下:#include<iostream>#include<stdlib.h>#include<string.h>using namespace std;int continumax(char *outputstr,char *intputstr){ int m

2021-01-31 10:52:48 179

原创 微软算法面试(17):单链表就地逆置

题目是:链表操作,单链表就地逆置分析:这题只需要设置三个指针就搞定了,ListNode* p 表示当前指针, ListNode* fp: 上一个节点指针, ListNode * ep :下一个节点指针p ->next = fp;fp = p;p = ep;ep = p->next;具体实现如下:#include<iostream>using namespace std;struct ListNode{ ListNode(int _v):value(_v),

2021-01-31 10:51:37 134

原创 微软算法面试(16):输入两个整数n和m, 从数列1,2,...,n中任意选择几个数,使其和等于m, 要求编写程序输出所有的组合

编程求解:输入两个整数 n和 m,从数列1,2,3…n中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.分析:可以使用递归思想, 从第n个数开始找其组合,1)包括n的所有组合2)不包括n的所有组合把所有组合整合起来就OK了。下面来看具体的实现:#include<iostream>#include<vector>#include<set>#include<math.h>using namespace std;voi

2021-01-30 22:53:26 832

原创 如何提高网站性能优化

标杆对比(Benchmarking); 多应用服务;不要在应用服务上保持状态;无状态;架构优化;缓存点击率高的内容;用测量和检测数据说话,不要猜测;网页静态化;权衡缓存的应用;缓存整个页面;缓存局部页面;缓存复杂的数据;理解MySql查询缓冲;复制数据库表读操作,不要复制写操作;写操作分区表。但96%的应用可以忽略这点;主-主架构使得数据库结构在线更新变得更为方便;创建统计数据库表代替在运行时使用COUNT和..

2021-01-30 22:48:10 1308 1

原创 微软算法面试(15):输入一个表示整数的字符串,把该字符串转换成整数并输出

题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。分析:可以直接使用atoi函数, 但这个题目显然不希望你这么做我们还是按照常规方法来做,比如整数字符串长度为n= strlen(str)。最右边的为个数,往左依次是十位,百位等。右边—左边0 1 2 …比如说个数是a0, 十位为a1, 百位为a2等等, 结果为:实现如下:#include<iostream>#include<math.h>#include&l

2021-01-30 22:40:55 532

原创 微软算法面试(14):用最快的方法计算出 Fibonacci数列中的第n项

使用通项公式的方式,算法复杂度为o(1),应该是最快的。先看下Fibonacci数列的定义:使用通项公式的概念,可以得到:使用矩阵计算可以得到:计算详细过程,请参考:http://blog.csdn.net/zyearn/article/details/7878657实现过程如下:#include<iostream>#include<math.h>using namespace std;int fi(int n){ if(n < 0) re

2021-01-30 22:37:34 172 1

原创 微软算法面试(13):n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始

题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。分析:最初的想法是想设计一个数据结构,实现随机存取,又能快速删除的数据结构。最开始想到的是循环数组,发现删除不好处理,得移动大量的数据,效率上比较低。如果使用链表的话,又没法实现随机存取。后面使用百度搜了下,看到一种方法,看看他的分析:n个数字(0,1

2021-01-30 22:32:59 542

原创 微软算法面试(12):在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b

题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。分析:一般方法是使用每个字符间都比较一次,算法复杂度为o(n^2)可以使用空间换时间的方法,字符在ASCII码的表示范围内(0~256),使用捅排序思想。使用int str[256] 表示256个字符在此字符串中出现的次数,遍历一次就能统计出字符的出现次数。再找出次数为1的第一个字符,算法复杂度为o(n)。来看看实现:#include<iostream>#include<string.h&g

2021-01-29 23:03:27 382

原创 微软算法面试(11):输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印

输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。例如输入8/ /6 10/ / / /5 7 9 11输出86 10 5 7 9 11。#include<iostream>using namespace std;struct BTree{ BTree(int _v):value(_v), left(NULL), right(NULL) {} int value; BTree* left; BTree* right; void add

2021-01-29 23:01:46 139

原创 微软算法面试(10):输入一颗二元查找树,将该树转换为它的镜像

题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。例如:8/ /6 10// //5 7 9 11输出:8/ /10 6// //11 9 7 5分析:可以使用递归思想,BTree* root ; 先转换左子树(root->left), 再转换右子树(root->right),最后把左子树的结果和右子树的结果对换下,就OK了。很简单吧,看看实现:#include&lt

2021-01-29 23:00:05 273

原创 微软算法面试(9):输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字

题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。分析:通过设置数组首尾指针,i = 0, j = len -1,因为数组是有序的,当array[i] + array[j] 大于给定的数字value时,j – ,如果小于, i++如果相等,就恭喜你,找到了。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。实现如下:#in

2021-01-29 22:57:35 666

原创 微软算法面试(8):输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针

题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。分析:单链表只能向后遍历,不能向前遍历,尾指针好找,倒数第K个不能从尾指针向前找。倒的不好找,正的好找,我们只需要知道链表的总长度,就可以知道正数第几个节点(len(list) - k -1)。实现如下:#include<iostream>using namespace std;struct ListNode{ ListNode(int _v = 0):value(_v), next(NU

2021-01-29 22:55:50 1489

原创 微软算法面试(7):判断整数序列是不是二元查找树的后序遍历结果

题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历结果如果是返回true,否则返回false。分析:问题的关键是要找到二元查找树的后序遍历结果,字符串的比较很简单。下面看看实现:输入整数序列为:5,7,6,9,11,10,8二元查找树:8/ /6 10/ / / /5 7 9 11此二元查找树的后序遍历结果为:5,7,6,9,11,10,8由此可判断 返回true.#include<iostream>#include<stdlib.h>#i

2021-01-29 22:52:47 245

原创 微软算法面试(6):判断俩个链表是否相交

链表假设是单链表,这题需要找到相交的特征,相交后,最后一个节点肯定相同,所以,如果相同则是相交,否则不相交。下面看看实现:#include<iostream>using namespace std;struct LNode{ LNode(int _d = 0):data(_d),next(NULL) {} int data; LNode* next;};bool findInsecNode(LNode* l1, LNode* l

2021-01-29 22:43:43 115

原创 微软算法面试(5):查找最小的k个元素(数组)

题目:输入n个整数,输出其中最小的k个。例如输入7,2,4,5,1,3,6,8这8个数字,则最小的4个数字为1,2,3和4。下面使用快速排序和分治法的思想,1)先找选一个元素a遍历一次剩余的其他元素,使得a左边的元素都是小于它的,a右边的元素都是大于它的。2)再统计a 左边的元素或者包括a 与 k的关系,等于的话,就直接输出,大于,那就在左边里面继续1),小于的话,那就在右边里面继续查找k-左边元素的个数-1个最小的整数。#include <iostream>#include<

2021-01-29 22:42:03 229 1

55套完整企业网站源码模板带完整带后台

55套完整企业网站源码模板带完整带后台,科技、家具、机械、绿色环保、金属材料、装修等各行各业企业官方网站模板带完整后台数据,直接安装使用。

2023-05-08

200G大数据云计算技术.txt

Zookeeper分布式技术与Dubbo微服务; 大数据Spark SQL技术; 大数据云计算高级架构进阶 ; Google面试题锦集;(百度云盘高清视频无密码)

2021-04-10

200G高清Python高级开发技术资料.txt

Python基础高架构开发资料; Python3数据科学与实战 ; Python机器学习; Python高级并发编程技巧与实战;

2021-04-10

200G高清C++架构师修炼技术(高级开发精品资料).txt

C/C++架构师高级开发资料;

2021-04-10

Web大前端架构资料.txt

Web大前端架构资料; Web系统运维高级架构师大数据方向资料; Web大前端基础到架构实战;

2021-04-10

1200G高清Java高价架构师架构学习资料.txt

Java高级架构师资料(基础、中级、高级);Java从基础到高级架构实战(Java基础+进阶、JavaWeb技术、Mybatis框架、Spring框架、SpringMVC框架、Oracle数据库、Maven高级、SSM实战、Lucene全文检索技术、Elasticsearch分布式搜索引擎、Spring Data JPA框架、Spring Boot框架、微服务电商实战);Java高并发与解决方案;Spring Cloud微服务架构实战;Redis高可用分布式架构实战;Java算法大全;Spring源码深度分析;

2021-04-10

机器学习思维导图.rar

10张高清机器学习思维导图,详细归纳了机器人学习的知识点和技能,助你快速步入人工智能的大门,人工智能是目前最火也是最难学的技术,入门门槛比较高,学习成本也比较高,想学习的同学可以借助思维导图快速提高自己的专业技能。

2020-11-21

PHP高级开发详细思维导图18张

PHP高级开发详细思维导图18张高清,学习PHP线路高清图。

2019-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除