├── LICENSE
├── README.md
├── css
├── reset.css
└── style.css
├── data
├── ai.xml
├── back.xml
├── bd.xml
├── cc.xml
├── cp.xml
├── dev.xml
├── img
│ ├── Android.png
│ ├── Angular2.png
│ ├── Apollo.png
│ ├── Architect.png
│ ├── BigData.png
│ ├── CloudComputing.png
│ ├── Container.png
│ ├── DBA.png
│ ├── EmbeddedEngineer.png
│ ├── HTML5.png
│ ├── Hadoop.png
│ ├── IntelligentDevOps.png
│ ├── Kubernetes.png
│ ├── MicroService.png
│ ├── MobileOptimization.png
│ ├── MobileTesting.png
│ ├── OpenResty.png
│ ├── ProgrammingLanguage.png
│ ├── Security.png
│ ├── WEB.png
│ ├── iOS.png
│ └── jqxx.jpg
├── index.xml
├── tech.xml
├── xmind
│ ├── DBA.xmind
│ ├── HTML5.xmind
│ ├── IOAM.xmind
│ ├── Java.xmind
│ ├── big-data.xmind
│ ├── cloudComputing.xmind
│ ├── dev-lang-Go.xmind
│ ├── dev-lang-total.xmind
│ ├── frontEnd.xmind
│ ├── micro-service.xmind
│ └── security.xmind
└── yy.xml
├── img
├── aimob.png
├── bdmob.png
├── ccmob.png
├── cd-sprite-1.svg
├── cd-sprite-2.svg
├── cd-sprite-3.svg
├── cpmob.png
├── devmob.png
├── icon.svg
├── img.png
├── logo.PNG
├── mob.svg
├── techmob.png
└── yymob.png
├── index.html
├── js
├── ajax.js
├── jquery-2.1.4.js
├── main.js
├── min
│ └── main-min.js
└── modernizr.js
└── post
├── ai.html
├── bd.html
├── cc.html
├── cp.html
├── css
└── style.css
├── dev.html
├── tech.html
└── yy.html
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) [2019] [CanMeng]
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Full internet tech map
2 |
3 |  
4 |
5 | 
6 |
7 | ### Start enjoying:
8 |
9 | > [Techmap Index](https://techmap.canmeng.net)
10 | >
11 | > [GitHub Page](https://canmengfly.github.io/techmap/)
12 |
13 |
14 |
15 | The main significance of this project is to summarize the relevant Xmind of all Internet technologies and help develop the knowledge needed to quickly get started with relevant technical positions.
16 |
17 | Part of the content comes from [Skill-map old github project](https://github.com/TeamStuQ/skill-map), the project will be continuously updated, and subsequent technical KOLs such as Tencent and Alibaba will be updated.
18 | If you think the project is great, please add Star.
19 |
20 | Code follows [**MIT**](https://opensource.org/licenses/MIT)
21 |
22 | Some maps follow the [**CC-BY-NC-SA 4.0**](https://creativecommons.org/licenses/by-nc-sa/4.0/)
23 |
24 | ------
25 |
26 | ### 点击如下链接即可查看:
27 |
28 | > [ 图谱首页](https://techmap.canmeng.net)
29 | >
30 | > [GitHub Page](https://canmengfly.github.io/techmap/)
31 |
32 | 部分章节来自 [Skill-map](https://github.com/TeamStuQ/skill-map) 老项目, 已经一年没有任何更新,感觉弃掉很可惜,所以把它接起来。
33 | 此分支项目的主要意义在于收集所有互联网相关技术图谱,帮助互联网从业者快速理清相关技术岗位所需要的知识技能与发展方向,差缺补漏。
34 |
35 | 本项目将持续更新,后续会邀请腾讯,阿里巴巴等技术 KOL 进行布道。
36 | 如果觉得项目很棒,别忘了点 Star 哦~
37 |
38 | 代码遵循 [**MIT**](https://github.com/canmengfly/techmap/blob/master/LICENSE)
39 |
40 | 部分图谱遵循 [**CC-BY-NC-SA 4.0**](https://creativecommons.org/licenses/by-nc-sa/4.0/)
41 |
42 |
43 |
44 | 如需运行在本地,请直接Clone,运行 index.html 即可。
45 |
46 |
47 |
48 | ------
49 |
50 | ### 鸣谢:
51 |
52 |
53 |
54 | | 排名不分先后 |
55 | | ------------------------------------------------------------ |
56 | | **TechMap 项目** |
57 | | @梁飞|资深前端架构师 |
58 | | @沈言单|阿里首席架构师 |
59 | | **skill-map 项目** |
60 | | [@徐英凯](https://github.com/kevinhsu)|闪银机器学习工程师 |
61 | | [@Apollo 技术布道师团队](http://apollo.auto/index_cn.html) |
62 | | [@祝海林 ](https://github.com/allwefantasy)|丁香园大数据技术专家 |
63 | | @高扬|欢聚时代资深大数据技术专家 |
64 | | [@张丹](http://blog.fens.me/)|况客创始人 |
65 | | [@jayli(拔赤)](https://github.com/jayli/)|阿里巴巴前端技术专家 |
66 | | [@Jackson Tian ](https://github.com/JacksonTian)|阿里巴巴前端技术专家 |
67 | | [@刘恒兵(河伯)](https://github.com/herbertliu)|腾讯前端技术专家、IvWeb 负责人 |
68 | | [@Phodal(黄峰达)](https://github.com/Phodal)|ThoughtWorks 咨询师 |
69 | | [@汤桂川](https://github.com/lightningtgc)|广发证券前端技术专家 |
70 | | @沈剑|58到家技术委员会主席/技术总监 |
71 | | [@温铭](https://github.com/moonbingbing)|OpenResty Inc. 合伙人 |
72 | | [@李雨来](https://github.com/blacktear23)|SpeedyCloud 迅达云技术 VP |
73 | | [@李孟](https://github.com/x8s)|SpeedyCloud 迅达云首席架构师 |
74 | | @费良宏|AWS 首席云计算技术顾问 |
75 | | @夏艳|UnitedStack 公共关系总监 |
76 | | [@林帆 ](https://github.com/linfan)|ThoughtWorks DevOps 咨询师 |
77 | | [@王磊 ](https://github.com/wldandan)|西安尚度元科技技术总监 |
78 | | [@余弦 ](https://github.com/evilcos)|知道创宇技术 VP |
79 | | [@Tanky Woo ](https://github.com/tankywoo)|知道创宇资深运维工程师 |
80 | | [@杨一 ](https://github.com/TeamStuQ/skill-map/blob/master)|杭州有赞科技有限公司 DBA 专家 |
81 | | [@林帆 ](https://github.com/linfan)|ThoughtWorks DevOps 咨询师 |
82 | | [@张磊](https://github.com/resouer)|Hyper HQ & CNCF Meber |
83 | | [@李响](https://github.com/xiang90)|CoreOS 分布式系统组主管 |
84 | | [@TesterHome 社区](https://testerhome.com/) |
85 | | [@陈晔 Monkey](https://github.com/monkeytest15) |
86 | | [@唐巧](https://github.com/tangqiaoboy) |猿题库小猿搜题产品技术负责人 |
87 | | [@anly_jun](https://github.com/mingjunli) |
88 | | [@顾浩鑫(ASCE1885)](https://github.com/ASCE1885)| 平安金融科技移动研发工程师 |
89 | | [@Phodal(黄峰达)](https://github.com/phodal) |ThoughtWorks 咨询师 |
90 | | [@吴坚 ](https://github.com/jamsonwoo)|南航软件工程师 |
91 | | [@谢孟军 ](https://github.com/astaxie)|Apple 资深技术专家 |
92 | | [@Loretta ](https://github.com/lorettahe)|SwiftKey 软件工程师 |
93 | | [@ZoomQuiet(大妈) ](https://github.com/ZoomQuiet)|猎豹移动技术专家 |
94 | | [@张淞 ](https://github.com/HaskellZhangSong)|网易杭州研究院高级开发工程师 |
95 | | [@桑世龙(i5ting) ](https://github.com/i5ting)|去哪儿网前端架构师 |
96 | | [@张汉东(Alex)](https://github.com/ZhangHanDong) |
97 | | [@Zhang Wei](https://github.com/zhangwei217245) |
98 | | [@吴坚 ](https://github.com/jamsonwoo)|南航软件工程师 |
99 | | @黄勇|特赞科技 CTO、EGO 会员 |
100 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/css/reset.css:
--------------------------------------------------------------------------------
1 | /* http://meyerweb.com/eric/tools/css/reset/
2 | v2.0 | 20110126
3 | License: none (public domain)
4 | */
5 |
6 | html, body, div, span, applet, object, iframe,
7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8 | a, abbr, acronym, address, big, cite, code,
9 | del, dfn, em, img, ins, kbd, q, s, samp,
10 | small, strike, strong, sub, sup, tt, var,
11 | b, u, i, center,
12 | dl, dt, dd, ol, ul, li,
13 | fieldset, form, label, legend,
14 | table, caption, tbody, tfoot, thead, tr, th, td,
15 | article, aside, canvas, details, embed,
16 | figure, figcaption, footer, header, hgroup,
17 | menu, nav, output, ruby, section, summary,
18 | time, mark, audio, video {
19 | margin: 0;
20 | padding: 0;
21 | border: 0;
22 | font-size: 100%;
23 | font: inherit;
24 | vertical-align: baseline;
25 | }
26 | /* HTML5 display-role reset for older browsers */
27 | article, aside, details, figcaption, figure,
28 | footer, header, hgroup, menu, nav, section, main {
29 | display: block;
30 | }
31 | body {
32 | line-height: 1;
33 | }
34 | ol, ul {
35 | list-style: none;
36 | }
37 | blockquote, q {
38 | quotes: none;
39 | }
40 | blockquote:before, blockquote:after,
41 | q:before, q:after {
42 | content: '';
43 | content: none;
44 | }
45 | table {
46 | border-collapse: collapse;
47 | border-spacing: 0;
48 | }
--------------------------------------------------------------------------------
/css/style.css:
--------------------------------------------------------------------------------
1 | /* --------------------------------
2 |
3 | Primary style
4 |
5 | -------------------------------- */
6 | *, *::after, *::before {
7 | box-sizing: border-box;
8 | }
9 |
10 | html {
11 | font-size: 62.5%;
12 | }
13 |
14 | body {
15 | font-size: 1.6rem;
16 | font-family: "Source Sans Pro", sans-serif;
17 | color: #69696b;
18 | background-color: #ffffff;
19 | }
20 |
21 | a {
22 | color: #6d6d6d;
23 | text-decoration: none;
24 | }
25 |
26 | img {
27 | max-width: 100%;
28 | }
29 |
30 | /* --------------------------------
31 |
32 | Stretchy Nav style - common to:
33 | - basic navigation
34 | - add-content navigation
35 | - edit-content navigation
36 |
37 | -------------------------------- */
38 | .cd-stretchy-nav {
39 | position: fixed;
40 | z-index: 2;
41 | top: 40px;
42 | right: 5%;
43 | pointer-events: none;
44 | }
45 | .cd-stretchy-nav .stretchy-nav-bg {
46 | /* this is the stretching navigation background */
47 | position: absolute;
48 | z-index: 1;
49 | top: 0;
50 | right: 0;
51 | width: 60px;
52 | height: 60px;
53 | border-radius: 30px;
54 | background: #5755d9;
55 | box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
56 | -webkit-transition: height 0.2s, box-shadow 0.2s;
57 | -moz-transition: height 0.2s, box-shadow 0.2s;
58 | transition: height 0.2s, box-shadow 0.2s;
59 | }
60 | .cd-stretchy-nav.nav-is-visible {
61 | pointer-events: auto;
62 | }
63 | .cd-stretchy-nav.nav-is-visible .stretchy-nav-bg {
64 | height: 100%;
65 | box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
66 | }
67 |
68 | .cd-nav-trigger {
69 | position: absolute;
70 | z-index: 3;
71 | top: 0;
72 | right: 0;
73 | height: 60px;
74 | width: 60px;
75 | border-radius: 50%;
76 | /* replace text with image */
77 | overflow: hidden;
78 | white-space: nowrap;
79 | color: transparent;
80 | pointer-events: auto;
81 | }
82 | .cd-nav-trigger span, .cd-nav-trigger span::after, .cd-nav-trigger span::before {
83 | /* this is the hamburger icon */
84 | position: absolute;
85 | width: 16px;
86 | height: 2px;
87 | background-color: #ffffff;
88 | }
89 | .cd-nav-trigger span {
90 | /* middle line of the hamburger icon */
91 | left: 50%;
92 | top: 50%;
93 | bottom: auto;
94 | right: auto;
95 | -webkit-transform: translateX(-50%) translateY(-50%);
96 | -moz-transform: translateX(-50%) translateY(-50%);
97 | -ms-transform: translateX(-50%) translateY(-50%);
98 | -o-transform: translateX(-50%) translateY(-50%);
99 | transform: translateX(-50%) translateY(-50%);
100 | -webkit-transition: background-color 0.2s;
101 | -moz-transition: background-color 0.2s;
102 | transition: background-color 0.2s;
103 | }
104 | .cd-nav-trigger span::after, .cd-nav-trigger span::before {
105 | /* top and bottom lines of the hamburger icon */
106 | content: '';
107 | top: 0;
108 | left: 0;
109 | -webkit-backface-visibility: hidden;
110 | backface-visibility: hidden;
111 | -webkit-transition: -webkit-transform 0.2s;
112 | -moz-transition: -moz-transform 0.2s;
113 | transition: transform 0.2s;
114 | }
115 | .cd-nav-trigger span::before {
116 | -webkit-transform: translateY(-6px);
117 | -moz-transform: translateY(-6px);
118 | -ms-transform: translateY(-6px);
119 | -o-transform: translateY(-6px);
120 | transform: translateY(-6px);
121 | }
122 | .cd-nav-trigger span::after {
123 | -webkit-transform: translateY(6px);
124 | -moz-transform: translateY(6px);
125 | -ms-transform: translateY(6px);
126 | -o-transform: translateY(6px);
127 | transform: translateY(6px);
128 | }
129 | .no-touch .cd-nav-trigger:hover ~ .stretchy-nav-bg {
130 | box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
131 | }
132 | .nav-is-visible .cd-nav-trigger span {
133 | background-color: transparent;
134 | }
135 | .nav-is-visible .cd-nav-trigger span::before {
136 | -webkit-transform: rotate(-45deg);
137 | -moz-transform: rotate(-45deg);
138 | -ms-transform: rotate(-45deg);
139 | -o-transform: rotate(-45deg);
140 | transform: rotate(-45deg);
141 | }
142 | .nav-is-visible .cd-nav-trigger span::after {
143 | -webkit-transform: rotate(45deg);
144 | -moz-transform: rotate(45deg);
145 | -ms-transform: rotate(45deg);
146 | -o-transform: rotate(45deg);
147 | transform: rotate(45deg);
148 | }
149 |
150 | .cd-stretchy-nav ul {
151 | position: relative;
152 | z-index: 2;
153 | padding: 60px 0 30px;
154 | visibility: hidden;
155 | -webkit-transition: visibility 0.3s;
156 | -moz-transition: visibility 0.3s;
157 | transition: visibility 0.3s;
158 | text-align: right;
159 | }
160 | .cd-stretchy-nav ul a {
161 | position: relative;
162 | display: block;
163 | height: 50px;
164 | line-height: 50px;
165 | text-decoration: none;
166 | padding: 0 calc(1em + 60px) 0 1em;
167 | color: #5755d9;
168 | font-size: 1.4rem;
169 | -webkit-transition: color 0.2s;
170 | -moz-transition: color 0.2s;
171 | transition: color 0.2s;
172 | }
173 | .cd-stretchy-nav ul a::after {
174 | /* navigation item icons */
175 | content: '';
176 | position: absolute;
177 | height: 16px;
178 | width: 16px;
179 | right: 22px;
180 | top: 50%;
181 | -webkit-transform: translateY(-50%) scale(0);
182 | -moz-transform: translateY(-50%) scale(0);
183 | -ms-transform: translateY(-50%) scale(0);
184 | -o-transform: translateY(-50%) scale(0);
185 | transform: translateY(-50%) scale(0);
186 | opacity: .6;
187 | background: url(../img/icon.svg) no-repeat 0 0;
188 | }
189 | .cd-stretchy-nav ul a::before {
190 | /* line visible next to the active navigation item */
191 | content: '';
192 | position: absolute;
193 | width: 3px;
194 | height: 16px;
195 | top: 50%;
196 | right: 60px;
197 | -webkit-transform: translateX(3px) translateY(-50%) scaleY(0);
198 | -moz-transform: translateX(3px) translateY(-50%) scaleY(0);
199 | -ms-transform: translateX(3px) translateY(-50%) scaleY(0);
200 | -o-transform: translateX(3px) translateY(-50%) scaleY(0);
201 | transform: translateX(3px) translateY(-50%) scaleY(0);
202 | background-color: #f9f9f9;
203 | }
204 | .cd-stretchy-nav ul li:first-of-type a::after {
205 | /* change custom icon using image sprites */
206 | background-position: -32px 0;
207 | }
208 | .cd-stretchy-nav ul li:nth-of-type(2) a::after {
209 | background-position: -64px 0;
210 | }
211 | .cd-stretchy-nav ul li:nth-of-type(3) a::after {
212 | background-position: -48px 0;
213 | }
214 | .cd-stretchy-nav ul li:nth-of-type(4) a::after {
215 | background-position: 0 0;
216 | }
217 | .cd-stretchy-nav ul li:nth-of-type(5) a::after {
218 | background-position: -16px 0;
219 | }
220 | .cd-stretchy-nav ul li:nth-of-type(6) a::after {
221 | background-position: -80px 0;
222 | }
223 | .cd-stretchy-nav ul li:nth-of-type(7) a::after {
224 | background-position: -96px 0;
225 | }
226 | .cd-stretchy-nav ul li:nth-of-type(8) a::after {
227 | background-position: -112px 0;
228 | }
229 |
230 | .cd-stretchy-nav ul span {
231 | /* navigation item labels */
232 | display: block;
233 | opacity: 0;
234 | -webkit-transform: translateX(-25px);
235 | -moz-transform: translateX(-25px);
236 | -ms-transform: translateX(-25px);
237 | -o-transform: translateX(-25px);
238 | transform: translateX(-25px);
239 | }
240 |
241 | .cd-stretchy-nav.nav-is-visible ul {
242 | visibility: visible;
243 | }
244 | .cd-stretchy-nav.nav-is-visible ul a::after {
245 | /* navigation item icons */
246 | -webkit-transform: translateY(-50%) scale(1);
247 | -moz-transform: translateY(-50%) scale(1);
248 | -ms-transform: translateY(-50%) scale(1);
249 | -o-transform: translateY(-50%) scale(1);
250 | transform: translateY(-50%) scale(1);
251 | -webkit-animation: scaleIn 0.15s backwards;
252 | -moz-animation: scaleIn 0.15s backwards;
253 | animation: scaleIn 0.15s backwards;
254 | -webkit-transition: opacity 0.2s;
255 | -moz-transition: opacity 0.2s;
256 | transition: opacity 0.2s;
257 | }
258 | .cd-stretchy-nav.nav-is-visible ul a.active {
259 | color: #5755d9;
260 | }
261 | .cd-stretchy-nav.nav-is-visible ul a.active::after {
262 | opacity: 1;
263 | }
264 | .cd-stretchy-nav.nav-is-visible ul a.active::before {
265 | -webkit-transform: translateX(3px) translateY(-50%) scaleY(1);
266 | -moz-transform: translateX(3px) translateY(-50%) scaleY(1);
267 | -ms-transform: translateX(3px) translateY(-50%) scaleY(1);
268 | -o-transform: translateX(3px) translateY(-50%) scaleY(1);
269 | transform: translateX(3px) translateY(-50%) scaleY(1);
270 | -webkit-transition: -webkit-transform 0.15s 0.3s;
271 | -moz-transition: -moz-transform 0.15s 0.3s;
272 | transition: transform 0.15s 0.3s;
273 | }
274 | .cd-stretchy-nav.nav-is-visible ul span {
275 | opacity: 1;
276 | -webkit-transform: translateX(0);
277 | -moz-transform: translateX(0);
278 | -ms-transform: translateX(0);
279 | -o-transform: translateX(0);
280 | transform: translateX(0);
281 | -webkit-animation: slideIn 0.15s backwards;
282 | -moz-animation: slideIn 0.15s backwards;
283 | animation: slideIn 0.15s backwards;
284 | -webkit-transition: -webkit-transform 0.2s;
285 | -moz-transition: -moz-transform 0.2s;
286 | transition: transform 0.2s;
287 | }
288 | .no-touch .cd-stretchy-nav.nav-is-visible ul a:hover {
289 | color: #5755d9;
290 | }
291 | .no-touch .cd-stretchy-nav.nav-is-visible ul a:hover::after {
292 | opacity: 1;
293 | }
294 | .no-touch .cd-stretchy-nav.nav-is-visible ul a:hover span {
295 | -webkit-transform: translateX(-5px);
296 | -moz-transform: translateX(-5px);
297 | -ms-transform: translateX(-5px);
298 | -o-transform: translateX(-5px);
299 | transform: translateX(-5px);
300 | }
301 | .cd-stretchy-nav.nav-is-visible ul li:first-of-type a::after,
302 | .cd-stretchy-nav.nav-is-visible ul li:first-of-type span {
303 | -webkit-animation-delay: 0.05s;
304 | -moz-animation-delay: 0.05s;
305 | animation-delay: 0.05s;
306 | }
307 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(2) a::after,
308 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(2) span {
309 | -webkit-animation-delay: 0.1s;
310 | -moz-animation-delay: 0.1s;
311 | animation-delay: 0.1s;
312 | }
313 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(3) a::after,
314 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(3) span {
315 | -webkit-animation-delay: 0.15s;
316 | -moz-animation-delay: 0.15s;
317 | animation-delay: 0.15s;
318 | }
319 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(4) a::after,
320 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(4) span {
321 | -webkit-animation-delay: 0.2s;
322 | -moz-animation-delay: 0.2s;
323 | animation-delay: 0.2s;
324 | }
325 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(5) a::after,
326 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(5) span {
327 | -webkit-animation-delay: 0.25s;
328 | -moz-animation-delay: 0.25s;
329 | animation-delay: 0.25s;
330 | }
331 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(6) a::after,
332 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(6) span {
333 | -webkit-animation-delay: 0.30s;
334 | -moz-animation-delay: 0.30s;
335 | animation-delay: 0.30s;
336 | }
337 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(7) a::after,
338 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(7) span {
339 | -webkit-animation-delay: 0.35s;
340 | -moz-animation-delay: 0.35s;
341 | animation-delay: 0.35s;
342 | }
343 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(8) a::after,
344 | .cd-stretchy-nav.nav-is-visible ul li:nth-of-type(8) span {
345 | -webkit-animation-delay: 0.4s;
346 | -moz-animation-delay: 0.4s;
347 | animation-delay: 0.4s;
348 | }
349 |
350 | /* --------------------------------
351 |
352 | add-content navigation style
353 |
354 | -------------------------------- */
355 | .cd-stretchy-nav.add-content {
356 | bottom: 50px;
357 | top: auto;
358 | left: 50%;
359 | right: auto;
360 | -webkit-transform: translateX(-50%);
361 | -moz-transform: translateX(-50%);
362 | -ms-transform: translateX(-50%);
363 | -o-transform: translateX(-50%);
364 | transform: translateX(-50%);
365 | width: 300px;
366 | }
367 | .cd-stretchy-nav.add-content .stretchy-nav-bg {
368 | left: 50%;
369 | right: auto;
370 | -webkit-transform: translateX(-50%);
371 | -moz-transform: translateX(-50%);
372 | -ms-transform: translateX(-50%);
373 | -o-transform: translateX(-50%);
374 | transform: translateX(-50%);
375 | background-color: #8ac57f;
376 | -webkit-transition: width 0.2s, box-shadow 0.2s;
377 | -moz-transition: width 0.2s, box-shadow 0.2s;
378 | transition: width 0.2s, box-shadow 0.2s;
379 | }
380 | .cd-stretchy-nav.add-content.nav-is-visible .stretchy-nav-bg {
381 | width: 100%;
382 | box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
383 | }
384 |
385 | .cd-stretchy-nav.add-content .cd-nav-trigger {
386 | left: 50%;
387 | right: auto;
388 | -webkit-transform: translateX(-50%);
389 | -moz-transform: translateX(-50%);
390 | -ms-transform: translateX(-50%);
391 | -o-transform: translateX(-50%);
392 | transform: translateX(-50%);
393 | background-color: #9acd91;
394 | }
395 | .cd-stretchy-nav.add-content .cd-nav-trigger span {
396 | background-color: transparent;
397 | }
398 | .cd-stretchy-nav.add-content .cd-nav-trigger span::before {
399 | /* used to create the plus icon */
400 | -webkit-transform: rotate(90deg);
401 | -moz-transform: rotate(90deg);
402 | -ms-transform: rotate(90deg);
403 | -o-transform: rotate(90deg);
404 | transform: rotate(90deg);
405 | }
406 | .cd-stretchy-nav.add-content .cd-nav-trigger span::after {
407 | /* used to create the plus icon */
408 | -webkit-transform: rotate(0deg);
409 | -moz-transform: rotate(0deg);
410 | -ms-transform: rotate(0deg);
411 | -o-transform: rotate(0deg);
412 | transform: rotate(0deg);
413 | }
414 |
415 | .cd-stretchy-nav.add-content.nav-is-visible .cd-nav-trigger {
416 | box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);
417 | }
418 | .cd-stretchy-nav.add-content.nav-is-visible .cd-nav-trigger span::before {
419 | -webkit-transform: rotate(-135deg);
420 | -moz-transform: rotate(-135deg);
421 | -ms-transform: rotate(-135deg);
422 | -o-transform: rotate(-135deg);
423 | transform: rotate(-135deg);
424 | }
425 | .cd-stretchy-nav.add-content.nav-is-visible .cd-nav-trigger span::after {
426 | -webkit-transform: rotate(-225deg);
427 | -moz-transform: rotate(-225deg);
428 | -ms-transform: rotate(-225deg);
429 | -o-transform: rotate(-225deg);
430 | transform: rotate(-225deg);
431 | }
432 |
433 | .cd-stretchy-nav.add-content ul {
434 | padding-top: 0;
435 | }
436 | .cd-stretchy-nav.add-content ul::after {
437 | clear: both;
438 | content: "";
439 | display: table;
440 | }
441 | .cd-stretchy-nav.add-content ul li {
442 | display: inline-block;
443 | float: left;
444 | width: 60px;
445 | }
446 | .cd-stretchy-nav.add-content ul li:nth-of-type(2) {
447 | /* space occupied by the navigation trigger */
448 | margin-right: 60px;
449 | }
450 | .cd-stretchy-nav.add-content ul a {
451 | padding: 0;
452 | height: 60px;
453 | width: 100%;
454 | }
455 | .cd-stretchy-nav.add-content ul a::after {
456 | top: 50%;
457 | left: 22px;
458 | right: auto;
459 | -webkit-transform: translateY(-50%) scale(0);
460 | -moz-transform: translateY(-50%) scale(0);
461 | -ms-transform: translateY(-50%) scale(0);
462 | -o-transform: translateY(-50%) scale(0);
463 | transform: translateY(-50%) scale(0);
464 | background-image: url(../img/cd-sprite-2.svg);
465 | }
466 | .cd-stretchy-nav.add-content ul li:first-of-type a::after {
467 | background-position: -16px 0px;
468 | }
469 | .cd-stretchy-nav.add-content ul li:nth-of-type(2) a::after {
470 | background-position: 0px 0px;
471 | }
472 | .cd-stretchy-nav.add-content ul li:nth-of-type(3) a::after {
473 | background-position: -48px 0px;
474 | }
475 | .cd-stretchy-nav.add-content ul li:nth-of-type(4) a::after {
476 | background-position: -32px 0px;
477 | }
478 | .cd-stretchy-nav.add-content ul li:first-of-type a::after,
479 | .cd-stretchy-nav.add-content ul li:nth-of-type(4) a::after {
480 | -webkit-animation-delay: 0.2s;
481 | -moz-animation-delay: 0.2s;
482 | animation-delay: 0.2s;
483 | }
484 | .cd-stretchy-nav.add-content ul li:nth-of-type(2) a::after,
485 | .cd-stretchy-nav.add-content ul li:nth-of-type(3) a::after {
486 | -webkit-animation-delay: 0.1s;
487 | -moz-animation-delay: 0.1s;
488 | animation-delay: 0.1s;
489 | }
490 |
491 | .cd-stretchy-nav.add-content.nav-is-visible ul a::after {
492 | -webkit-animation-name: scaleIn;
493 | -moz-animation-name: scaleIn;
494 | animation-name: scaleIn;
495 | -webkit-transform: translateY(-50%) scale(1);
496 | -moz-transform: translateY(-50%) scale(1);
497 | -ms-transform: translateY(-50%) scale(1);
498 | -o-transform: translateY(-50%) scale(1);
499 | transform: translateY(-50%) scale(1);
500 | }
501 |
502 | .cd-stretchy-nav.add-content ul span {
503 | position: absolute;
504 | left: 0;
505 | top: -20px;
506 | width: 100%;
507 | padding: 0.6em 0;
508 | opacity: 0;
509 | visibility: hidden;
510 | background-color: rgba(0, 0, 0, 0.8);
511 | border-radius: 2px;
512 | font-size: 1.2rem;
513 | line-height: 1;
514 | white-space: nowrap;
515 | text-align: center;
516 | -webkit-transition: opacity 0.2s, visibility 0.2s;
517 | -moz-transition: opacity 0.2s, visibility 0.2s;
518 | transition: opacity 0.2s, visibility 0.2s;
519 | /* reset default style */
520 | -webkit-transform: translateX(0);
521 | -moz-transform: translateX(0);
522 | -ms-transform: translateX(0);
523 | -o-transform: translateX(0);
524 | transform: translateX(0);
525 | }
526 | .cd-stretchy-nav.add-content ul span::after {
527 | /* triangle below the tooltip */
528 | content: '';
529 | position: absolute;
530 | top: 100%;
531 | left: 50%;
532 | right: auto;
533 | -webkit-transform: translateX(-50%);
534 | -moz-transform: translateX(-50%);
535 | -ms-transform: translateX(-50%);
536 | -o-transform: translateX(-50%);
537 | transform: translateX(-50%);
538 | height: 0;
539 | width: 0;
540 | border: 4px solid transparent;
541 | border-top-color: rgba(0, 0, 0, 0.8);
542 | }
543 |
544 | .cd-stretchy-nav.add-content.nav-is-visible ul span {
545 | /* reset default style */
546 | -webkit-animation: none;
547 | -moz-animation: none;
548 | animation: none;
549 | }
550 |
551 | .no-touch .cd-stretchy-nav.add-content.nav-is-visible ul a:hover span {
552 | opacity: 1;
553 | visibility: visible;
554 | /* reset default style */
555 | -webkit-transform: translateX(0);
556 | -moz-transform: translateX(0);
557 | -ms-transform: translateX(0);
558 | -o-transform: translateX(0);
559 | transform: translateX(0);
560 | }
561 |
562 | /* --------------------------------
563 |
564 | edit content
565 |
566 | -------------------------------- */
567 | .cd-editable-content {
568 | /* used to wrap the image and the navigation */
569 | position: relative;
570 | width: 90%;
571 | max-width: 400px;
572 | margin: 4em auto;
573 | }
574 | .cd-editable-content img {
575 | display: block;
576 | border-radius: .25em;
577 | }
578 |
579 | .cd-stretchy-nav.edit-content {
580 | position: absolute;
581 | top: 15px;
582 | right: 15px;
583 | }
584 | .cd-stretchy-nav.edit-content .stretchy-nav-bg {
585 | height: 30px;
586 | width: 30px;
587 | background-color: rgba(0, 0, 0, 0.4);
588 | box-shadow: none;
589 | -webkit-transition: background 0.2s, height 0.2s;
590 | -moz-transition: background 0.2s, height 0.2s;
591 | transition: background 0.2s, height 0.2s;
592 | }
593 | .cd-stretchy-nav.edit-content.nav-is-visible .stretchy-nav-bg {
594 | height: 100%;
595 | background-color: rgba(0, 0, 0, 0.8);
596 | /* reset default style */
597 | box-shadow: none;
598 | }
599 |
600 | .cd-stretchy-nav.edit-content .cd-nav-trigger {
601 | height: 30px;
602 | width: 30px;
603 | }
604 | .cd-stretchy-nav.edit-content .cd-nav-trigger span {
605 | opacity: 0;
606 | background-color: transparent;
607 | }
608 | .cd-stretchy-nav.edit-content .cd-nav-trigger span::before {
609 | -webkit-transform: rotate(-45deg);
610 | -moz-transform: rotate(-45deg);
611 | -ms-transform: rotate(-45deg);
612 | -o-transform: rotate(-45deg);
613 | transform: rotate(-45deg);
614 | }
615 | .cd-stretchy-nav.edit-content .cd-nav-trigger span::after {
616 | -webkit-transform: rotate(45deg);
617 | -moz-transform: rotate(45deg);
618 | -ms-transform: rotate(45deg);
619 | -o-transform: rotate(45deg);
620 | transform: rotate(45deg);
621 | }
622 | .cd-stretchy-nav.edit-content .cd-nav-trigger span, .cd-stretchy-nav.edit-content .cd-nav-trigger span::before, .cd-stretchy-nav.edit-content .cd-nav-trigger span::after {
623 | /* used to create the 'X' icon when the navigation is open */
624 | width: 12px;
625 | }
626 | .cd-stretchy-nav.edit-content .cd-nav-trigger::after {
627 | /* edit icon */
628 | content: '';
629 | position: absolute;
630 | height: 16px;
631 | width: 16px;
632 | left: 50%;
633 | top: 50%;
634 | bottom: auto;
635 | right: auto;
636 | -webkit-transform: translateX(-50%) translateY(-50%);
637 | -moz-transform: translateX(-50%) translateY(-50%);
638 | -ms-transform: translateX(-50%) translateY(-50%);
639 | -o-transform: translateX(-50%) translateY(-50%);
640 | transform: translateX(-50%) translateY(-50%);
641 | background: url(../img/cd-sprite-3.svg) no-repeat 0 0;
642 | }
643 | .cd-stretchy-nav.edit-content .cd-nav-trigger span, .cd-stretchy-nav.edit-content .cd-nav-trigger::after {
644 | -webkit-transition: opacity 0.2s;
645 | -moz-transition: opacity 0.2s;
646 | transition: opacity 0.2s;
647 | }
648 | .no-touch .cd-stretchy-nav.edit-content .cd-nav-trigger:hover ~ .stretchy-nav-bg {
649 | box-shadow: none;
650 | background-color: rgba(0, 0, 0, 0.8);
651 | }
652 |
653 | .cd-stretchy-nav.edit-content.nav-is-visible .cd-nav-trigger span {
654 | opacity: 1;
655 | }
656 | .cd-stretchy-nav.edit-content.nav-is-visible .cd-nav-trigger span::before {
657 | -webkit-transform: rotate(45deg);
658 | -moz-transform: rotate(45deg);
659 | -ms-transform: rotate(45deg);
660 | -o-transform: rotate(45deg);
661 | transform: rotate(45deg);
662 | }
663 | .cd-stretchy-nav.edit-content.nav-is-visible .cd-nav-trigger span::after {
664 | -webkit-transform: rotate(135deg);
665 | -moz-transform: rotate(135deg);
666 | -ms-transform: rotate(135deg);
667 | -o-transform: rotate(135deg);
668 | transform: rotate(135deg);
669 | }
670 |
671 | .cd-stretchy-nav.edit-content.nav-is-visible .cd-nav-trigger::after {
672 | /* hide edit icon */
673 | opacity: 0;
674 | }
675 |
676 | .cd-stretchy-nav.edit-content ul {
677 | padding-top: 30px;
678 | }
679 |
680 | .cd-stretchy-nav.edit-content ul a {
681 | width: 30px;
682 | height: 30px;
683 | line-height: 30px;
684 | padding: 0;
685 | }
686 | .cd-stretchy-nav.edit-content ul a::after {
687 | right: 7px;
688 | background-image: url(../img/cd-sprite-3.svg);
689 | }
690 |
691 | .cd-stretchy-nav.edit-content ul li:first-of-type a::after {
692 | background-position: -16px 0;
693 | }
694 |
695 | .cd-stretchy-nav.edit-content ul li:nth-of-type(2) a::after {
696 | background-position: -32px 0;
697 | }
698 |
699 | .cd-stretchy-nav.edit-content ul li:nth-of-type(3) a::after {
700 | background-position: -48px 0;
701 | }
702 |
703 | .cd-stretchy-nav.edit-content ul li:nth-of-type(4) a::after {
704 | background-position: -64px 0;
705 | }
706 | .cd-stretchy-nav.edit-content ul span {
707 | position: absolute;
708 | top: 0;
709 | right: 35px;
710 | height: 30px;
711 | line-height: 30px;
712 | padding: 0 1em;
713 | opacity: 0;
714 | visibility: hidden;
715 | background-color: rgba(0, 0, 0, 0.55);
716 | border-radius: 2px;
717 | text-align: center;
718 | -webkit-transition: opacity 0.2s, visibility 0.2s;
719 | -moz-transition: opacity 0.2s, visibility 0.2s;
720 | transition: opacity 0.2s, visibility 0.2s;
721 | }
722 | .cd-stretchy-nav.edit-content ul span::after {
723 | /* triangle below the tooltip */
724 | content: '';
725 | position: absolute;
726 | left: 100%;
727 | top: 50%;
728 | bottom: auto;
729 | -webkit-transform: translateY(-50%);
730 | -moz-transform: translateY(-50%);
731 | -ms-transform: translateY(-50%);
732 | -o-transform: translateY(-50%);
733 | transform: translateY(-50%);
734 | height: 0;
735 | width: 0;
736 | border: 4px solid transparent;
737 | border-left-color: rgba(0, 0, 0, 0.55);
738 | }
739 |
740 | .cd-stretchy-nav.edit-content.nav-is-visible ul span {
741 | /* reset default style */
742 | -webkit-animation: none;
743 | -moz-animation: none;
744 | animation: none;
745 | }
746 | .no-touch .cd-stretchy-nav.edit-content.nav-is-visible ul a:hover span {
747 | opacity: 1;
748 | visibility: visible;
749 | /* reset default style */
750 | -webkit-transform: translateX(0);
751 | -moz-transform: translateX(0);
752 | -ms-transform: translateX(0);
753 | -o-transform: translateX(0);
754 | transform: translateX(0);
755 | }
756 |
757 | /* --------------------------------
758 |
759 | main content basic style
760 |
761 | -------------------------------- */
762 | .cd-main-content {
763 | position: relative;
764 | z-index: 1;
765 | padding: 0px 0;
766 | background-color: #ffffff;
767 | }
768 |
769 | /* --------------------------------
770 |
771 | keyframes
772 |
773 | -------------------------------- */
774 | @-webkit-keyframes scaleIn {
775 | from {
776 | -webkit-transform: translateY(-50%) scale(0);
777 | }
778 | to {
779 | -webkit-transform: translateY(-50%) scale(1);
780 | }
781 | }
782 | @-moz-keyframes scaleIn {
783 | from {
784 | -moz-transform: translateY(-50%) scale(0);
785 | }
786 | to {
787 | -moz-transform: translateY(-50%) scale(1);
788 | }
789 | }
790 | @keyframes scaleIn {
791 | from {
792 | -webkit-transform: translateY(-50%) scale(0);
793 | -moz-transform: translateY(-50%) scale(0);
794 | -ms-transform: translateY(-50%) scale(0);
795 | -o-transform: translateY(-50%) scale(0);
796 | transform: translateY(-50%) scale(0);
797 | }
798 | to {
799 | -webkit-transform: translateY(-50%) scale(1);
800 | -moz-transform: translateY(-50%) scale(1);
801 | -ms-transform: translateY(-50%) scale(1);
802 | -o-transform: translateY(-50%) scale(1);
803 | transform: translateY(-50%) scale(1);
804 | }
805 | }
806 | @-webkit-keyframes slideIn {
807 | from {
808 | opacity: 0;
809 | -webkit-transform: translateX(-25px);
810 | }
811 | to {
812 | opacity: 1;
813 | -webkit-transform: translateX(0);
814 | }
815 | }
816 | @-moz-keyframes slideIn {
817 | from {
818 | opacity: 0;
819 | -moz-transform: translateX(-25px);
820 | }
821 | to {
822 | opacity: 1;
823 | -moz-transform: translateX(0);
824 | }
825 | }
826 | @keyframes slideIn {
827 | from {
828 | opacity: 0;
829 | -webkit-transform: translateX(-25px);
830 | -moz-transform: translateX(-25px);
831 | -ms-transform: translateX(-25px);
832 | -o-transform: translateX(-25px);
833 | transform: translateX(-25px);
834 | }
835 | to {
836 | opacity: 1;
837 | -webkit-transform: translateX(0);
838 | -moz-transform: translateX(0);
839 | -ms-transform: translateX(0);
840 | -o-transform: translateX(0);
841 | transform: translateX(0);
842 | }
843 | }
844 |
845 | /* --------------------------------
846 |
847 | index
848 |
849 | -------------------------------- */
850 | @keyframes offset {
851 | to {
852 | stroke-dashoffset: 0px;
853 | }
854 | }
855 |
856 | .svg_yingwen,.svg_wz{
857 | animation: offset 40s linear forwards;
858 | }
859 | .svg_yingwen{
860 | animation: offset 20s linear forwards;
861 | }
862 |
863 | .svg_wz{
864 | stroke-dasharray: 2839px;
865 | stroke-dashoffset: 2839px;
866 | }
867 |
868 | .svg_tx{
869 | animation-timing-function: ease-in-out;
870 | animation-name: breathe;
871 | animation-duration: 2700ms;
872 | animation-iteration-count: infinite;
873 | animation-direction: alternate;
874 | }
875 | @keyframes breathe {
876 | 0% { opacity: .2; box-shadow:0 1px 2px rgba(255,255,255,0.1);}
877 | 100% { opacity: 1; border:1px solid rgba(59,235,235,1); box-shadow:0 1px 30px rgba(59,255,255,1);}
878 | }
879 | .svg_wz, path {
880 | stroke: #b5b5b5;
881 | stroke-width: 2;
882 | }
883 | .svg_yingwen path {
884 | stroke: #b5b5b5;
885 | stroke-width: 0;
886 | }
887 | .svg_tx path {
888 | stroke-width: 0;
889 | }
890 | .svg_center{
891 | margin-top: 150px;
892 | margin-bottom: 150px;
893 | }
894 |
895 | /* --------------------------------
896 |
897 | psot
898 |
899 | -------------------------------- */
900 | .hdli { /*设置li位置、字体大小*/
901 | position: relative;
902 | float: left;
903 | padding: 0 10px 0 10px;
904 | }
905 | /*利用:before实现下划线宽度从0-100%*/
906 | .hdli:before {
907 | content: "";
908 | position: absolute;
909 | top: 0;
910 | left: 100%; /*下划线从右侧开始显示*/
911 | width: 0;
912 | height: 100%;
913 | border-bottom: 2px solid #5755d9;
914 | transition: 0.2s all linear; /*动画效果*/
915 | }
916 | .hdli:hover:before {
917 | left: 0; /*鼠标滑过时,下划线从右向左移动*/
918 | width: 100%; /*同时,下划线宽度从0-100%*/
919 | }
920 | .hdli:hover ~ li:before { /*~ 选择器:查找指定元素后面的所有兄弟结点*/
921 | left: 0; /*处于hover后面元素的下划线从左侧开始显示*/
922 | }
923 | .hdli_bottom {
924 | border-bottom: 1px solid #ddd;
925 | }
926 | .nav>li>a:focus, .nav>li>a:hover {
927 | text-decoration: none;
928 | background-color: #fff0;
929 | }
930 | a:focus, a:hover {
931 | color: #5755d9;
932 | }
933 | .embed-responsive-16by9 {
934 | padding-bottom: 30.25%;
935 | }
936 | .page-header {
937 | padding-bottom: 9px;
938 | margin: 20px 0 20px;
939 | border-bottom: 1px solid #42404000;
940 | }
941 | .footer {
942 | padding-top: 20px;
943 | padding-bottom: 20px;
944 | }
945 | .footer-copyright {
946 | text-align: center;
947 | }
948 | .post_img{
949 | margin: 1em 0 1em;
950 | }
951 | .position { /*按钮特效*/
952 | margin-left:auto;
953 | margin-right:auto;
954 | text-align:center;
955 | margin-top:5%;
956 | margin-bottom: 5%
957 | }
958 | #workarea {
959 | position:absolute;
960 | width:100%;
961 | height:100%;
962 | background-color:#1e1a3e;
963 | font-family:Raleway
964 | }
965 | #personal {
966 | color:#69696b;
967 | text-decoration:none;
968 | position:absolute;
969 | bottom:15px;right:2%
970 | }
971 | .spot {
972 | position:absolute;
973 | width:100%;
974 | height:100%;
975 | top:0;left:0
976 | }
977 | .svg-wrapper{
978 | margin-top:0;position:relative;
979 | width:150px;height:40px;
980 | display:inline-block;
981 | border-radius:3px;
982 | margin-left:5px;
983 | margin-right:5px
984 | }
985 | #shape{
986 | stroke-width:6px;
987 | fill:transparent;
988 | stroke:#69696b;
989 | stroke-dasharray:85 400;
990 | stroke-dashoffset:-220;
991 | transition:1s all ease
992 | }
993 | .svg-wrapper:hover #shape{
994 | stroke-dasharray:50 0;
995 | stroke-width:3px;
996 | stroke-dashoffset:0;
997 | stroke:#5755d9
998 | }
999 | #post_bt{
1000 | margin-top:-35px;
1001 | text-align:center
1002 | }
1003 | #post_bt a{
1004 | text-decoration:none;
1005 | }
--------------------------------------------------------------------------------
/data/ai.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
12 |
13 |
14 |
19 |
20 |
21 |
22 |
23 |

24 |
25 |
44 |
45 | CC-BY-NC-SA 4.0 @徐英凯|闪银机器学习工程师
46 |
47 |
48 |
49 |
50 |

51 |
52 |
71 |
72 |
73 | CC-BY-NC-SA 4.0 @Apollo 技术布道师团队
74 |
75 |
76 |
77 |
78 |
79 |

80 |
81 |
100 |
101 |
102 | CC-BY-NC-SA 4.0 @Phodal(黄峰达) |ThoughtWorks 咨询师
103 |
104 |
105 |
106 |
107 |
108 |
109 |
--------------------------------------------------------------------------------
/data/back.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
12 |
13 |
14 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | 
32 |
33 |
52 |
53 |
54 | CC-BY-NC-SA 4.0 @徐英凯|闪银机器学习工程师
55 |
--------------------------------------------------------------------------------
/data/bd.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
12 |
13 |
14 |
18 |
19 |
20 |
21 |
22 |

23 |
24 |
43 |
44 |
45 | CC-BY-NC-SA 4.0 @祝海林 |丁香园大数据技术专家
46 | CC-BY-NC-SA 4.0 @高扬|欢聚时代资深大数据技术专家
47 |
48 |
49 |
50 |
51 |
52 |

53 |
54 |
73 |
74 |
75 | CC-BY-NC-SA 4.0 @张丹|况客创始人
76 |
77 |
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/data/cc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
12 |
13 |
14 |
20 |
21 |
22 |
23 |
24 |

25 |
26 |
45 |
46 |
47 | CC-BY-NC-SA 4.0 @费良宏|AWS 首席云计算技术顾问
48 |
49 |
50 |
51 |
52 |

53 |
54 |
73 |
74 |
75 | CC-BY-NC-SA 4.0 @林帆 |ThoughtWorks DevOps 咨询师
76 |
77 |
78 |

79 |
80 |
99 |
100 |
101 | CC-BY-NC-SA 4.0 @王磊 |西安尚度元科技技术总监
102 |
103 |
104 |

105 |
106 |
107 |
108 |
114 |
115 |
116 |
117 |
123 |
124 |
125 |
126 |
127 | CC-BY-NC-SA 4.0 @余弦 |知道创宇技术 VP
128 |
129 |
130 |
131 |
132 |
--------------------------------------------------------------------------------
/data/cp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
12 |
13 |
14 |
17 |
18 |
19 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/data/dev.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
12 |
13 |
14 |
21 |
22 |
23 |
24 |
25 |

26 |
27 |
46 |
47 |
48 | CC-BY-NC-SA 4.0 @Tanky Woo |知道创宇资深运维工程师
49 |
50 |
51 |
52 |
53 |

54 |
55 |
74 |
75 |
76 | CC-BY-NC-SA 4.0 @沈剑|58到家技术委员会主席/技术总监
77 |
78 |
79 |

80 |
81 |
100 |
101 |
102 | CC-BY-NC-SA 4.0 @温铭|OpenResty Inc. 合伙人
103 |
104 |
105 |

106 |
107 |
108 |
109 |
115 |
116 |
117 |
118 |
124 |
125 |
126 |
127 |
128 | CC-BY-NC-SA @杨一 |杭州有赞科技有限公司 DBA 专家
129 |
130 |
131 |

132 |
133 |
134 |
135 |
141 |
142 |
143 |
144 |
150 |
151 |
152 |
153 |
154 | CC-BY-NC-SA 4.0 @张磊|Hyper HQ CNCF Meber
155 |
156 |
157 |
158 |
159 |
--------------------------------------------------------------------------------
/data/img/Android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/Android.png
--------------------------------------------------------------------------------
/data/img/Angular2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/Angular2.png
--------------------------------------------------------------------------------
/data/img/Apollo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/Apollo.png
--------------------------------------------------------------------------------
/data/img/Architect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/Architect.png
--------------------------------------------------------------------------------
/data/img/BigData.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/BigData.png
--------------------------------------------------------------------------------
/data/img/CloudComputing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/CloudComputing.png
--------------------------------------------------------------------------------
/data/img/Container.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/Container.png
--------------------------------------------------------------------------------
/data/img/DBA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/DBA.png
--------------------------------------------------------------------------------
/data/img/EmbeddedEngineer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/EmbeddedEngineer.png
--------------------------------------------------------------------------------
/data/img/HTML5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/HTML5.png
--------------------------------------------------------------------------------
/data/img/Hadoop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/Hadoop.png
--------------------------------------------------------------------------------
/data/img/IntelligentDevOps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/IntelligentDevOps.png
--------------------------------------------------------------------------------
/data/img/Kubernetes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/Kubernetes.png
--------------------------------------------------------------------------------
/data/img/MicroService.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/MicroService.png
--------------------------------------------------------------------------------
/data/img/MobileOptimization.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/MobileOptimization.png
--------------------------------------------------------------------------------
/data/img/MobileTesting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/MobileTesting.png
--------------------------------------------------------------------------------
/data/img/OpenResty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/OpenResty.png
--------------------------------------------------------------------------------
/data/img/ProgrammingLanguage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/ProgrammingLanguage.png
--------------------------------------------------------------------------------
/data/img/Security.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/Security.png
--------------------------------------------------------------------------------
/data/img/WEB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/WEB.png
--------------------------------------------------------------------------------
/data/img/iOS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/iOS.png
--------------------------------------------------------------------------------
/data/img/jqxx.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/img/jqxx.jpg
--------------------------------------------------------------------------------
/data/index.xml:
--------------------------------------------------------------------------------
1 |
2 |
243 |
244 |
484 |
--------------------------------------------------------------------------------
/data/tech.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
12 |
13 |
14 |
24 |
25 |
26 |
27 |
28 |

29 |
30 |
49 |
50 |
51 | CC-BY-NC-SA 4.0 @吴坚 |南航软件工程师
52 |
53 |
54 |
55 |
56 |

57 |
58 |
77 |
78 |
79 | CC-BY-NC-SA 4.0 @jayli(拔赤)|阿里巴巴前端技术专家
80 | CC-BY-NC-SA 4.0 @Jackson Tian |阿里巴巴前端技术专家
81 |
82 |
83 |

84 |
85 |
86 |
94 |
95 |
96 |
102 |
103 |
104 |
105 |
106 | CC-BY-NC-SA 4.0 @Phodal(黄峰达)|ThoughtWorks 咨询师
107 |
108 |
109 |

110 |
111 |
112 |
113 |
119 |
120 |
121 |
122 |
128 |
129 |
130 |
131 |
132 | CC-BY-NC-SA 4.0 @刘恒兵(河伯)|腾讯前端技术专家、IvWeb 负责人
133 |
134 |
135 |

136 |
137 |
138 |
139 |
145 |
146 |
147 |
148 |
154 |
155 |
156 |
157 |
158 | CC-BY-NC-SA 4.0 @陈晔 Monkey
159 |
160 |
161 |

162 |
163 |
164 |
165 |
171 |
172 |
173 |
174 |
180 |
181 |
182 |
183 |
184 | CC-BY-NC-SA 4.0 @顾浩鑫(ASCE1885)| 平安金融科技移动研发工程师
185 |
186 |
187 |

188 |
189 |
190 |
191 |
197 |
198 |
199 |
200 |
206 |
207 |
208 |
209 |
210 | CC-BY-NC-SA 4.0 @唐巧 |猿题库小猿搜题产品技术负责人
211 |
212 |
213 |

214 |
215 |
216 |
217 |
223 |
224 |
225 |
226 |
232 |
233 |
234 |
235 |
236 | CC-BY-NC-SA 4.0 @汤桂川|广发证券前端技术专家
237 |
238 |
239 |
240 |
241 |
--------------------------------------------------------------------------------
/data/xmind/DBA.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/DBA.xmind
--------------------------------------------------------------------------------
/data/xmind/HTML5.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/HTML5.xmind
--------------------------------------------------------------------------------
/data/xmind/IOAM.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/IOAM.xmind
--------------------------------------------------------------------------------
/data/xmind/Java.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/Java.xmind
--------------------------------------------------------------------------------
/data/xmind/big-data.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/big-data.xmind
--------------------------------------------------------------------------------
/data/xmind/cloudComputing.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/cloudComputing.xmind
--------------------------------------------------------------------------------
/data/xmind/dev-lang-Go.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/dev-lang-Go.xmind
--------------------------------------------------------------------------------
/data/xmind/dev-lang-total.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/dev-lang-total.xmind
--------------------------------------------------------------------------------
/data/xmind/frontEnd.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/frontEnd.xmind
--------------------------------------------------------------------------------
/data/xmind/micro-service.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/micro-service.xmind
--------------------------------------------------------------------------------
/data/xmind/security.xmind:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/data/xmind/security.xmind
--------------------------------------------------------------------------------
/data/yy.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
12 |
13 |
14 |
17 |
18 |
19 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/img/aimob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/img/aimob.png
--------------------------------------------------------------------------------
/img/bdmob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/img/bdmob.png
--------------------------------------------------------------------------------
/img/ccmob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/img/ccmob.png
--------------------------------------------------------------------------------
/img/cd-sprite-1.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/img/cd-sprite-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/img/cd-sprite-3.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
15 |
--------------------------------------------------------------------------------
/img/cpmob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/img/cpmob.png
--------------------------------------------------------------------------------
/img/devmob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/img/devmob.png
--------------------------------------------------------------------------------
/img/icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
133 |
--------------------------------------------------------------------------------
/img/img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/img/img.png
--------------------------------------------------------------------------------
/img/logo.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/img/logo.PNG
--------------------------------------------------------------------------------
/img/mob.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
--------------------------------------------------------------------------------
/img/techmob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/img/techmob.png
--------------------------------------------------------------------------------
/img/yymob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canmengfly/techmap/4cb7f10baf7d42375af650fc1a0bc9a032ad62c0/img/yymob.png
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | 互联网技术图谱 - canmeng
13 |
14 |
15 |
34 |
35 |
36 |
37 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/js/ajax.js:
--------------------------------------------------------------------------------
1 | function remove(){
2 | document.getElementById("index").classList.remove("active");
3 | document.getElementById("ai").classList.remove("active");
4 | document.getElementById("bd").classList.remove("active");
5 | document.getElementById("cc").classList.remove("active");
6 | document.getElementById("tech").classList.remove("active");
7 | document.getElementById("dev").classList.remove("active");
8 | document.getElementById("cp").classList.remove("active");
9 | document.getElementById("yy").classList.remove("active");
10 | }
11 |
12 | //首页加载
13 | function main()
14 | {
15 | var xmlhttp;
16 | if (window.XMLHttpRequest)
17 | {
18 | // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
19 | xmlhttp=new XMLHttpRequest();
20 | }
21 | else
22 | {
23 | // IE6, IE5 浏览器执行代码
24 | xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
25 | }
26 | xmlhttp.onreadystatechange=function()
27 | {
28 | if (xmlhttp.readyState==4 && xmlhttp.status==200)
29 | {
30 | document.getElementById("main_ajax").innerHTML=xmlhttp.responseText;
31 | }
32 | }
33 | xmlhttp.open("GET","data/index.xml",true);
34 | xmlhttp.send();
35 | remove();
36 | document.getElementById("index").classList.add("active");
37 | }
38 | //人工智能
39 | function ai()
40 | {
41 | var xmlhttp;
42 | if (window.XMLHttpRequest)
43 | {
44 | // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
45 | xmlhttp=new XMLHttpRequest();
46 | }
47 | else
48 | {
49 | // IE6, IE5 浏览器执行代码
50 | xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
51 | }
52 | xmlhttp.onreadystatechange=function()
53 | {
54 | if (xmlhttp.readyState==4 && xmlhttp.status==200)
55 | {
56 | document.getElementById("main_ajax").innerHTML=xmlhttp.responseText;
57 | }
58 | }
59 | xmlhttp.open("GET","data/ai.xml",true);
60 | xmlhttp.send();
61 | remove();
62 | document.getElementById("ai").classList.add("active");
63 | }
64 | //大数据
65 | function bd()
66 | {
67 | var xmlhttp;
68 | if (window.XMLHttpRequest)
69 | {
70 | // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
71 | xmlhttp=new XMLHttpRequest();
72 | }
73 | else
74 | {
75 | // IE6, IE5 浏览器执行代码
76 | xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
77 | }
78 | xmlhttp.onreadystatechange=function()
79 | {
80 | if (xmlhttp.readyState==4 && xmlhttp.status==200)
81 | {
82 | document.getElementById("main_ajax").innerHTML=xmlhttp.responseText;
83 | }
84 | }
85 | xmlhttp.open("GET","data/bd.xml",true);
86 | xmlhttp.send();
87 | remove();
88 | document.getElementById("bd").classList.add("active");
89 | }
90 | //云计算
91 | function cc()
92 | {
93 | var xmlhttp;
94 | if (window.XMLHttpRequest)
95 | {
96 | // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
97 | xmlhttp=new XMLHttpRequest();
98 | }
99 | else
100 | {
101 | // IE6, IE5 浏览器执行代码
102 | xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
103 | }
104 | xmlhttp.onreadystatechange=function()
105 | {
106 | if (xmlhttp.readyState==4 && xmlhttp.status==200)
107 | {
108 | document.getElementById("main_ajax").innerHTML=xmlhttp.responseText;
109 | }
110 | }
111 | xmlhttp.open("GET","data/cc.xml",true);
112 | xmlhttp.send();
113 | remove();
114 | document.getElementById("cc").classList.add("active");
115 | }
116 | //通用技术
117 | function tech()
118 | {
119 | var xmlhttp;
120 | if (window.XMLHttpRequest)
121 | {
122 | // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
123 | xmlhttp=new XMLHttpRequest();
124 | }
125 | else
126 | {
127 | // IE6, IE5 浏览器执行代码
128 | xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
129 | }
130 | xmlhttp.onreadystatechange=function()
131 | {
132 | if (xmlhttp.readyState==4 && xmlhttp.status==200)
133 | {
134 | document.getElementById("main_ajax").innerHTML=xmlhttp.responseText;
135 | }
136 | }
137 | xmlhttp.open("GET","data/tech.xml",true);
138 | xmlhttp.send();
139 | remove();
140 | document.getElementById("tech").classList.add("active");
141 | }
142 | //服务运维
143 | function dev()
144 | {
145 | var xmlhttp;
146 | if (window.XMLHttpRequest)
147 | {
148 | // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
149 | xmlhttp=new XMLHttpRequest();
150 | }
151 | else
152 | {
153 | // IE6, IE5 浏览器执行代码
154 | xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
155 | }
156 | xmlhttp.onreadystatechange=function()
157 | {
158 | if (xmlhttp.readyState==4 && xmlhttp.status==200)
159 | {
160 | document.getElementById("main_ajax").innerHTML=xmlhttp.responseText;
161 | }
162 | }
163 | xmlhttp.open("GET","data/dev.xml",true);
164 | xmlhttp.send();
165 | remove();
166 | document.getElementById("dev").classList.add("active");
167 | }
168 | //产品
169 | function cp()
170 | {
171 | var xmlhttp;
172 | if (window.XMLHttpRequest)
173 | {
174 | // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
175 | xmlhttp=new XMLHttpRequest();
176 | }
177 | else
178 | {
179 | // IE6, IE5 浏览器执行代码
180 | xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
181 | }
182 | xmlhttp.onreadystatechange=function()
183 | {
184 | if (xmlhttp.readyState==4 && xmlhttp.status==200)
185 | {
186 | document.getElementById("main_ajax").innerHTML=xmlhttp.responseText;
187 | }
188 | }
189 | xmlhttp.open("GET","data/cp.xml",true);
190 | xmlhttp.send();
191 | remove();
192 | document.getElementById("cp").classList.add("active");
193 | }
194 | //运营
195 | function yy()
196 | {
197 | var xmlhttp;
198 | if (window.XMLHttpRequest)
199 | {
200 | // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
201 | xmlhttp=new XMLHttpRequest();
202 | }
203 | else
204 | {
205 | // IE6, IE5 浏览器执行代码
206 | xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
207 | }
208 | xmlhttp.onreadystatechange=function()
209 | {
210 | if (xmlhttp.readyState==4 && xmlhttp.status==200)
211 | {
212 | document.getElementById("main_ajax").innerHTML=xmlhttp.responseText;
213 | }
214 | }
215 | xmlhttp.open("GET","data/yy.xml",true);
216 | xmlhttp.send();
217 | remove();
218 | document.getElementById("yy").classList.add("active");
219 | }
--------------------------------------------------------------------------------
/js/main.js:
--------------------------------------------------------------------------------
1 | jQuery(document).ready(function(){
2 | if( $('.cd-stretchy-nav').length > 0 ) {
3 | var stretchyNavs = $('.cd-stretchy-nav');
4 |
5 | stretchyNavs.each(function(){
6 | var stretchyNav = $(this),
7 | stretchyNavTrigger = stretchyNav.find('.cd-nav-trigger');
8 |
9 | stretchyNavTrigger.on('click', function(event){
10 | event.preventDefault();
11 | stretchyNav.toggleClass('nav-is-visible');
12 | });
13 | });
14 |
15 | $(document).on('click', function(event){
16 | ( !$(event.target).is('.cd-nav-trigger') && !$(event.target).is('.cd-nav-trigger span') ) && stretchyNavs.removeClass('nav-is-visible');
17 | });
18 | }
19 | });
--------------------------------------------------------------------------------
/js/min/main-min.js:
--------------------------------------------------------------------------------
1 | jQuery(document).ready(function(){if($(".cd-stretchy-nav").length>0){var n=$(".cd-stretchy-nav");n.each(function(){var n=$(this),t=n.find(".cd-nav-trigger");t.on("click",function(t){t.preventDefault(),n.toggleClass("nav-is-visible")})}),$(document).on("click",function(t){!$(t.target).is(".cd-nav-trigger")&&!$(t.target).is(".cd-nav-trigger span")&&n.removeClass("nav-is-visible")})}});
--------------------------------------------------------------------------------
/js/modernizr.js:
--------------------------------------------------------------------------------
1 | /* Modernizr 2.8.3 (Custom Build) | MIT & BSD
2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
3 | */
4 | ;window.Modernizr=function(a,b,c){function C(a){j.cssText=a}function D(a,b){return C(n.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a){var e=a[d];if(!F(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),H(e,b,c))}function J(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=E(e[d],"function"),E(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return I("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!I("indexedDB",a)},s.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(j.backgroundColor,"rgba")},s.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(j.backgroundColor,"rgba")||F(j.backgroundColor,"hsla")},s.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return I("backgroundSize")},s.borderimage=function(){return I("borderImage")},s.borderradius=function(){return I("borderRadius")},s.boxshadow=function(){return I("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return D("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return I("animationName")},s.csscolumns=function(){return I("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return C((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),F(j.backgroundImage,"gradient")},s.cssreflections=function(){return I("boxReflect")},s.csstransforms=function(){return!!I("transform")},s.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return I("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var K in s)B(s,K)&&(x=K.toLowerCase(),e[x]=s[K](),v.push((e[x]?"":"no-")+x));return e.input||J(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)B(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},C(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=y,e.prefixed=function(a,b,c){return b?I(a,b,c):I(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f
2 |
3 |
4 |
5 | ai-techmap
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
人工智能 AI
15 |
人工智能 AI
16 |
人工智能 AI
17 |
人工智能 AI
18 |
人工智能 AI
19 |
人工智能 AI
20 |
人工智能 AI
21 |
人工智能 AI
22 |
人工智能 AI
23 |
人工智能 AI
24 |
人工智能 AI
25 |
人工智能 AI
26 |
人工智能 AI
27 |
人工智能 AI
28 |
人工智能 AI
29 |
人工智能 AI
30 |
人工智能 AI
31 |
人工智能 AI
32 |
人工智能 AI
33 |
人工智能 AI
34 |
人工智能 AI
35 |
人工智能 AI
36 |
人工智能 AI
37 |
人工智能 AI
38 |
人工智能 AI
39 |
人工智能 AI
40 |
人工智能 AI
41 |
人工智能 AI
42 |
人工智能 AI
43 |
人工智能 AI
44 |
人工智能 AI
45 |
人工智能 AI
46 |
人工智能 AI
47 |
人工智能 AI
48 |
人工智能 AI
49 |
人工智能 AI
50 |
人工智能 AI
51 |
人工智能 AI
52 |
人工智能 AI
53 |
人工智能 AI
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/post/bd.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ai-techmap
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
大数据 BigData
15 |
大数据 BigData
16 |
大数据 BigData
17 |
大数据 BigData
18 |
大数据 BigData
19 |
大数据 BigData
20 |
大数据 BigData
21 |
大数据 BigData
22 |
大数据 BigData
23 |
大数据 BigData
24 |
大数据 BigData
25 |
大数据 BigData
26 |
大数据 BigData
27 |
大数据 BigData
28 |
大数据 BigData
29 |
大数据 BigData
30 |
大数据 BigData
31 |
大数据 BigData
32 |
大数据 BigData
33 |
大数据 BigData
34 |
大数据 BigData
35 |
大数据 BigData
36 |
大数据 BigData
37 |
大数据 BigData
38 |
大数据 BigData
39 |
大数据 BigData
40 |
大数据 BigData
41 |
大数据 BigData
42 |
大数据 BigData
43 |
大数据 BigData
44 |
大数据 BigData
45 |
大数据 BigData
46 |
大数据 BigData
47 |
大数据 BigData
48 |
大数据 BigData
49 |
大数据 BigData
50 |
大数据 BigData
51 |
大数据 BigData
52 |
大数据 BigData
53 |
大数据 BigData
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/post/cc.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ai-techmap
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
云计算 Cloud
15 |
云计算 Cloud
16 |
云计算 Cloud
17 |
云计算 Cloud
18 |
云计算 Cloud
19 |
云计算 Cloud
20 |
云计算 Cloud
21 |
云计算 Cloud
22 |
云计算 Cloud
23 |
云计算 Cloud
24 |
云计算 Cloud
25 |
云计算 Cloud
26 |
云计算 Cloud
27 |
云计算 Cloud
28 |
云计算 Cloud
29 |
云计算 Cloud
30 |
云计算 Cloud
31 |
云计算 Cloud
32 |
云计算 Cloud
33 |
云计算 Cloud
34 |
云计算 Cloud
35 |
云计算 Cloud
36 |
云计算 Cloud
37 |
云计算 Cloud
38 |
云计算 Cloud
39 |
云计算 Cloud
40 |
云计算 Cloud
41 |
云计算 Cloud
42 |
云计算 Cloud
43 |
云计算 Cloud
44 |
云计算 Cloud
45 |
云计算 Cloud
46 |
云计算 Cloud
47 |
云计算 Cloud
48 |
云计算 Cloud
49 |
云计算 Cloud
50 |
云计算 Cloud
51 |
云计算 Cloud
52 |
云计算 Cloud
53 |
云计算 Cloud
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/post/cp.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ai-techmap
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 |
互联网产品
33 |
互联网产品
34 |
互联网产品
35 |
互联网产品
36 |
互联网产品
37 |
互联网产品
38 |
互联网产品
39 |
互联网产品
40 |
互联网产品
41 |
互联网产品
42 |
互联网产品
43 |
互联网产品
44 |
互联网产品
45 |
互联网产品
46 |
互联网产品
47 |
互联网产品
48 |
互联网产品
49 |
互联网产品
50 |
互联网产品
51 |
互联网产品
52 |
互联网产品
53 |
互联网产品
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/post/dev.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ai-techmap
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 |
服务运维
33 |
服务运维
34 |
服务运维
35 |
服务运维
36 |
服务运维
37 |
服务运维
38 |
服务运维
39 |
服务运维
40 |
服务运维
41 |
服务运维
42 |
服务运维
43 |
服务运维
44 |
服务运维
45 |
服务运维
46 |
服务运维
47 |
服务运维
48 |
服务运维
49 |
服务运维
50 |
服务运维
51 |
服务运维
52 |
服务运维
53 |
服务运维
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/post/tech.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ai-techmap
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 |
通用技术
33 |
通用技术
34 |
通用技术
35 |
通用技术
36 |
通用技术
37 |
通用技术
38 |
通用技术
39 |
通用技术
40 |
通用技术
41 |
通用技术
42 |
通用技术
43 |
通用技术
44 |
通用技术
45 |
通用技术
46 |
通用技术
47 |
通用技术
48 |
通用技术
49 |
通用技术
50 |
通用技术
51 |
通用技术
52 |
通用技术
53 |
通用技术
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/post/yy.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ai-techmap
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 |
互联网运营
33 |
互联网运营
34 |
互联网运营
35 |
互联网运营
36 |
互联网运营
37 |
互联网运营
38 |
互联网运营
39 |
互联网运营
40 |
互联网运营
41 |
互联网运营
42 |
互联网运营
43 |
互联网运营
44 |
互联网运营
45 |
互联网运营
46 |
互联网运营
47 |
互联网运营
48 |
互联网运营
49 |
互联网运营
50 |
互联网运营
51 |
互联网运营
52 |
互联网运营
53 |
互联网运营
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------