皮皮网

【太空人表源码】【压缩算法 源码】【centos源码lnmp】慕课页面源码_慕课页面源码是什么

时间:2024-12-25 00:40:58 来源:amd ubuntu 源码

1.程序员自学网?
2.慕课网上没搜到vue源码,慕课慕课有没有课程透彻分析Vue 源码的页面源码页面源码?
3.0基础如何自学html和css
4.慕课和选修课有什么区别
5.原生JS实现一个日期选择器(DatePicker)组件

慕课页面源码_慕课页面源码是什么

程序员自学网?

       çº¿ä¸Šæ•™è‚²å¹³å°é‚£ä¸ªå¥½ï¼Œæœ‰äº†è§£çš„吗?

       æˆ‘要自学网、腾讯课堂、三人行慕课线上教育平台、慕课网、网易云课堂线上教育平台都是不错的线上教育平台

       1、我要自学网是由来自电脑培训学校和职业高校的老师联手创立的一个视频教学网,网站里的视频教程均由经验丰富的在职老师原创录制,同时提供各类贴心服务,让大家享受一站式的学习体验。网站意在把学校的专业教育带给更多学子,网站的目标是“做出最好的视频教程,提高全国人民计算机水平”。

       2、腾讯课堂线上教育平台是腾讯推出的专业在线教育平台,聚合大量优质教育机构和名师,下设职业培训、公务员考试、托福雅思、考证考级、英语口语、中小学教育等众多在线学习精品课程,打造老师在线上课教学、学生及时互动学习的课堂。

       3、三人行慕课线上教育平台专注在线课程学习,为用户提供一个便捷的学习途径。课程类型涵盖办公效率、IT互联网、设计创作、职业发展、金融财会、语言留学、职业考试、兴趣生活等众多方面。

       4、慕课网是垂直的互联网IT技能免费学习网站。慕课网是初级中级程序员的学习乐园以独家视频教程、在线编程工具、学习计划、问答社区为核心特色。慕课网在内容方面,教程有免费的也有收费的,满足不同的消费者类型,质量过关。

       5、网易云课堂线上教育平台里面我比较感兴趣的就是英语板块,而且课堂里面的英语板块还比较多,而且可以根据自己的兴趣去选择不同方向,还是比较好的,而且里面的老师讲解比较清楚简明,有利于不同层次的人可以听得懂。

       åœ¨å“ªäº›ç½‘站可以自学编程?

       å¦‚果你在自学编程,你可以在慕课网上观看学习视频,慕课网上的视频可以说是包含了所有你想学的知识点;当你的学习遇到了难点的时候,你可以去CSDN上查找解决方法;当你想要写练习题的时候,你可以在力扣网上刷到所有题型。那么关于在哪些网站可以自学编程?以下是我的看法:

       ä¸€ã€æ…•è¯¾ç½‘

       æ…•è¯¾ç½‘上有很多名师讲的课程,这些名师大部分都是名校的教授,他们在慕课网上讲课的内容和他们给自己学生讲课的内容是一样的。慕课网上的视频可以说是包含了所有你想学的知识点,你想学的任何课程在慕课网上都能搜到,而且大部分的课程都是免费的,所以这个网站是非常适合初学者的。

       äºŒã€CSDN

       CSDN是程序员们最喜欢的网站之一,因为在这个网站上很多程序员大佬会分享自己的学习心得,最重要的是这个网站上有很多解决方法和软件的安装教程,当你遇到不会的问题时,你可以去CSDN上搜索一下,基本上都能解决。当你自学编程的时候,安装程序是一大难点,很多人都是因为不会安装软件而放弃编程,但是CSDN上有很多详细的教程,所以如果你在自学编程,一定要使用CSDN。

       ä¸‰ã€åŠ›æ‰£ç½‘

       å­¦ä¹ ç¼–程最重要的就是敲代码,只要代码敲的好,你就可以找到好的工作,所以当你学完一部分课程的时候,一定要敲代码。力扣上的题目是非常多的,不管你学的是哪一种编程语言,力扣上都有题目,而且每一个题目都有对应的解析和视频,所以如果你要自学编程的话,一定要多敲代码。

       é‚£ä¹ˆå…³äºŽåœ¨å“ªäº›ç½‘站可以自学编程?以上是我的看法,你有什么看法?欢迎留言交流。

想入行程序员有哪些好的学习网站

       åœ¨çº¿å­¦ä¹ ç½‘站很多,但是在线教育的视频并不是全部免费,有些免费的学习教程只会让你看一小部分,目的是吸引你买付费的课程。因为知识本身是无价的,如果没有回报,创作者如何投入更多的时间和精力去完成更多的更优质的课程呢。下面介绍几个大家常见的在线教育平台,大平台,课程种类多,选择多。

       ä¸€ã€B站

       B站虽然不是专业的在线教育视频网站,但是该平台内容多,用户流量大,很多教育创作者还是会上传很多优质的教程上传于B站去扩大自己的影响力。所以,如果你想要找一些免费的学习视频,可以来B站先搜索一下,B站选择多,没有广告,不收费。

       äºŒã€è…¾è®¯è¯¾å ‚

       è…¾è®¯è¯¾å ‚是腾讯推出的专业在线教育平台,聚合大量优质教育机构和名师,下设职业培训、公务员考试、托福雅思、考证考级、英语口语、中小学教育等众多在线学习精品课程,打造老师在线上课教学、学生及时互动学习的课堂。

       ä¸‰ã€ç½‘易云课堂

       äº‘课堂,是网易公司倾力打造的在线实用技能学习平台,主要为学习者提供海量、优质的课程,课程结构严谨,用户可以根据自身的学习程度,自主安排学习进度。立足于实用性的要求,云课堂精选各类课程,课程数量已达+,课时总数超,涵盖实用软件、IT与互联网、外语学习、生活家居、兴趣爱好、职场技能、金融管理、考试认证、中小学、亲子教育等十余大门类,其中不乏数量可观、制作精良的独家课程。

       å››ã€æ…•è¯¾

       ä¸­å›½å¤§å­¦MOOC是由网易与高教社携手推出的在线教育平台,承接教育部国家精品开放课程任务,向大众提供中国知名高校的MOOC课程。在这里,每一个有意愿提升自己的人都可以免费获得更优质的高等教育。

       äº”、极客学院

       æžå®¢â€”jiker,是一群热爱技术、热爱教育的极客们,一起创办的国内领先的IT在线咨询及教育平台。

       å…­ã€è¯¾å ‚在线

       å­¦å ‚在线是清华大学于年月发起建立的慕课平台,是教育部在线教育研究中心的研究交流和成果应用平台,是国家年首批双创示范基地项目,是中国高等教育学会产教融合研究分会副秘书长单位,也是联合国教科文组织(UNESCO)国际工程教育中心(ICEE)的在线教育平台。目前,学堂在线运行了来自清华大学、北京大学、复旦大学、中国科技大学,以及麻省理工学院、斯坦福大学、加州大学伯克利分校等国内外一流大学的超过门优质课程,覆盖大学科门类。

       å…¶å®žï¼Œè‡ªå­¦ç½‘站很多,而且每个方向都会有很多专业学习网站,就不再一一列举了。

       æ•™è‚²ç½‘站千千万,学习方式也很多,不管是通过自学网站学习还是看书学习,都需要学习者自觉且坚持,才能真正的学到东西。不然收集再多优质的课程,也只会躺在你的收藏夹,进不了你的大脑。希望你能通过以上分享找到你喜欢的自学网站和喜欢的教程,然后通过学习提升自己。

java学习的,有视频网站有哪些?

       Java直至现在依然是世界上最受欢迎的编程语言,市场占有率达%。在现实世界中应用广泛,包括网站开发、企业应用开发、物联网开发、云开发等方面,Java培训推荐选择千锋教育,【感兴趣的话,点击此处免费学习一下】。

       ç¨‹åºå‘˜æœ€çˆ±çš„学习网站有:

       1、B站

       å°ç™½å…¥é—¨çº§ç½‘站,目前算是比较火的综合型网站了,学生们、上班族都喜欢到B站上找自己需要的学习视频,种类多又划算.

       2.OSchina开源中国

       å¼€æºä¸­å›½æ˜¯ç›®å‰å›½å†…最大的开源技术社区,拥有超过万会员,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。

       åƒé”‹æ•™è‚²æ‹¥æœ‰å¤šå¹´IT培训服务经验,采用全程面授高品质、高体验培养模式,合作企业达余家,覆盖全国一线二线城市大中小型公司,成功帮助余名人才实现就业。

程序员学习一般去哪些网站?

       GitHub

       å›½å¤–的网站,各种知名的公司以及开源框架源码,可以直接把框架源码clone到本地,也可以大胆把你所想写出来,pull上去成为贡献者,向国内外各种大佬学习他们的优秀编程思想和架构技术,也是一个体现程序员级别的地方。

       csdn

       ä¸“业IT技术社区:号称国内的github,为1亿技术人员提供一个优秀的学习和交流的平台,以技术博客论坛为主,无数的星级大牛博主,有些更是出书的大牛,每天都在上面分享一些自己的点点滴滴。坚持写作,从点滴做起。

       çŸ¥ä¹Ž

       æœ¬æ˜¯ä¸€ä¸ªåˆ†äº«å„种人生杂谈,和一些鲜为人知以及各种大牛的免费和付费的知识型网站。由于流量逐步扩大,吸引了大批优秀的程序员在上面分享自己的技术创作,也是一个程序员常去的网站之一,不仅仅是为了学习技术。

       OSChina(开源中国)

       å¼€æºä¸­å›½ï¼Œä¸Šé¢æœ‰éžå¸¸éžå¸¸å¤šçš„各种开源软件和插件。没准你公司用的哪个网站或app就是从上面copy下来的,有免费的有收费的,各种各样琳琅满目。算是一个比较古老的大而全的技术论坛和博客社区了,值得收藏。

       StackOverFlow

       è¿™æ˜¯ä¸€ä¸ªç”±å¤–国人创办的专为程序员提供的国际性问题解答交流社区,正如网站签名:StackOverflow-WhereDevelopersLearn,Share,BuildCareers。这个网站非常的纯粹,一般人还真不太习惯用这个,没有一手好英语还看不太懂全英文的技术交流与问答。

       ?简书

       ç®€ä¹¦æ˜¯ä¸€ä¸ªä¸ä»…仅为程序员提供的创作分享社区,上面充满了各种各样精彩的博文,不难看出这个网站的创始人的初衷是做全品类的创作社区,野心还是蛮大的哟。不过要做大而全就很难做到专业了,相比较与csdn个人认为在技术创作方面就略低一筹了。

       ?牛客网

       å¶ç„¶å‘现上面的东西真的很有价值,这个网站不像csdn和OSChina以技术博客论坛为主了。但是在你需要的时候,却是相当有价值,里面有面试技巧、各种知名的不知名的互联网公司的对应往年校招社招面试题库,刷到你手软。

       cnBlogs(博客园)

       ä¹Ÿæ˜¯å›½å†…早起一批专为程序员们提供的一个免费技术论坛博客,上面有各种各样你想要寻找的解决方案,以及各种各样你见到的没见到的疑难杂症,值得拥有。

       LeetCode

       å‡ ä¹Žæ¯ä¸ªç®—法大牛都知道的神奇网站,这个网站上面有:算法、数据库、Shell、多线程等多种类型供你学习。多数人在上面练习编程算法,尤其是给想进入一线互联网公司的技术人员,提供了一个免费又方便的题库。面试前都会在上面进行长期和充分的刷题,是你的不二选择。

慕课网上没搜到vue源码,有没有课程透彻分析Vue 源码的慕课慕课?

       有,你在实战里找是页面源码页面源码huangyi讲的,印象中是慕课慕课从 Vue 的跨平台编译入手,从 Vue 的页面源码页面源码太空人表源码几个核心能力开始分析Vue 源码。 Vue 的慕课慕课静态全局 API 与属性, Vue 的页面源码页面源码响应式原理,异步组件、慕课慕课组件化、页面源码页面源码diff 算法等等方面,慕课慕课都是页面源码页面源码进行了详细的分析,最后还附带了vuex和vuerouter。慕课慕课

0基础如何自学html和css

       ã€€ã€€

       Web前端的学习误区

       ã€€ã€€ç½‘页制作是计算机专业同学在大学期间都会接触到的一门课程,而学习网页制作所用的第一个集成开发环境(IDE)想必大多是Dreamweaver,这种所见即所得的“吊炸天”IDE为我们制作网页带来了极大的方便。

       ã€€ã€€

       ã€€ã€€å…¥é—¨å¿«ã€è§æ•ˆå¿«è®©æˆ‘们在不知不觉中已经深深爱上了网页制作。此时,很多人会陷入一个误区,那就是既然借助这么帅的IDE,通过鼠标点击菜单就可以快速方便地制作网页。

       ã€€ã€€é‚£ä¹ˆæˆ‘们为什么还要去学习HTML、CSS、JavaScrpt、jQuery等这些苦逼的代码呢?页面源码页面源码这不是舍简求繁吗?

       ã€€ã€€ä½†æ˜¯éšç€å­¦ä¹ çš„深入,就会发现我们步入了一种窘境——过分的依赖IDE导致我们不清楚其实现的本质,知其然但不知其所以然。

       ã€€ã€€å› æ­¤åœ¨é¡µé¢æ•ˆæžœå‡ºçŽ°é—®é¢˜æ—¶ï¼Œæˆ‘们便手足无措,更不用提如何进行页面优化以及完成一些更高级的应用了。其原因是显而易见的——聪明的IDE成全了我们的惰性,使我们忽略了华丽的网页背后最本质的内容——code。

       ã€€ã€€

       ã€€ã€€é‚£ä¹ˆæˆ‘们应该怎么学习前端开发这门技术呢? 现在很多小伙伴喜欢在互联网上找视频资料学习网页制作,但是光看视频你是不可能学会网页制作的,没有人指导你,而且很多视频已经过时了,并没有什么用!  如果你真的想学习网页制作这门技术,你可以来这个裙,前面是,中间是零六思,最后是!在这里有最新的HTML课程免费学习 也有很多人指导你进步,不需要你付出什么,只要你是真心想学习的,随便看看的就不要加了,加了也是浪费大家的时间。

       ã€€ã€€ã€€ã€€æ­£ç¡®çš„方向胜过无谓的努力

       ã€€ã€€æœ‰ä¸¤åªèš‚蚁想翻越一段墙,寻找墙那头的食物。一只蚂蚁来到墙脚就毫不犹豫地向上爬去,可是每当它爬到大半时,就会由于劳累、疲倦而跌落下来。虽然它不气馁,一次次跌下来,又迅速地调整一下自己,重新开始向上爬去

       ã€€ã€€å¦ä¸€èš‚蚁观察了一下,决定绕过墙去。很快,这只蚂蚁绕过墙来到食物前,开始享受起来;而另一只蚂蚁还在不停地跌落下去又重新开始。

       ã€€ã€€å¾ˆå¤šæ—¶å€™ï¼ŒæˆåŠŸé™¤äº†å‹‡æ°”、坚持不懈外,更需要方向。也许有了一个好的方向,成功来得比想象的更快。如果在错误的路上奔跑,再怎么努力也是白搭。学习Web前端也是如此,首先应该选择一个正确的学习路线。

       ã€€ã€€

       ã€€ã€€

慕课和选修课有什么区别

       主要有以下几种区别:

       1、课程范围不同

       慕课课程范围是慕课慕课以连通主义理论和网络化学习的开放教育学为基础的。这些课程跟传统的大学课程一样循序渐进地让学生从初学者成长为高级人才。课程的范围不仅覆盖了广泛的科技学科,比如数学、统计、计算机科学、自然科学和工程学,也包括了社会科学和人文学科。压缩算法 源码

       选修课是为介绍先进科学技术和最新科学成果;有些选修课是为扩大学生知识面(如中国语言文学专业的学生选修通史,化学专业的学生选修生物学,会计专业的学生选修法学概论等);还有些选修课是为满足学生的兴趣爱好,发展他们某一方面的才能(如专业的学生选修文学、音乐、绘画、戏剧等课程)。

       2、授课形式不同

       慕课课程不是搜集,而是一种将分布于世界各地的授课者和学习者通过某一个共同的话题或主题联系起来的方式方法。尽管这些课程通常对学习者并没有特别的要求,但是所有的慕课会以每周研讨话题这样的形式,提供一种大体的时间表,其余的课程结构也是最小的,通常会包括每周一次的讲授、研讨问题、以及阅读建议等等。

       选修课分为限制性选修课与非限制性选修课。限制性选修课也称指定选修课,指学生须在某一学科门类的领域或一组课程中选修;如有的专业教学计划规定高年级学生须在某一专门组或选修组中选修若干门课程。所有选修课学生必须按时参加选修课的centos源码lnmp教学。

       3、考核形式不同

       慕课每门课都有频繁的小测验,有时还有期中和期末考试。考试通常由同学评分(比如一门课的每份试卷由同班的五位同学评分,最后分数为平均数)。一些学生成立了网上学习小组,或跟附近的同学组成面对面的学习小组。

       选修课有学分考核制度,公共选修课一般要求的学分不高,在个学分左右,部分学校有限制其中要含有几个学分的人文类和科技类课程。 专业选修课一般只有本专业的学生可以选,大多为专业课程,总学分要求在分以上,是掌握专业知识的重要途径。 选修课的学分要求一般是毕业的硬性指标,在修满学分后才有毕业资格。

扩展资料:

       优秀的慕课学习平台:

       1、Coursera:目前发展最大的MOOC平台,拥有相近门来自世界各地大学的课程,门类丰富,android搜索源码不过也良莠不齐。

       2、edX:哈佛与MIT共同出资组建的非营利性组织,与全球顶级高校结盟,系统源代码开放,课程形式设计更自由灵活。

       3、Udacity:成立时间最早,以计算机类课程为主,课程数量不多,却极为精致,许多细节专为在线授课而设计。

       百度百科——慕课

       百度百科——选修课

       百度百科——大学选修课

原生JS实现一个日期选择器(DatePicker)组件

       前言:

       最近在慕课网上看到了一个关于实现日期选择器组件的课程,空闲时间学习了下,觉得挺有参考价值的。于是结合自己的理解,用最简单的方式描述了整个实现过程,希望对初学者有所帮助。文章中可能会涉及一些拓展知识,希望大家不要错过。

       文章知识点:

       本文将使用原生HTML/CSS/JavaScript技术,java获取源码完成一个日期选择器组件的开发。主要内容包括:datepicker静态结构的编写、日历数据的获取、组件的渲染以及事件处理。

       实现效果:

       一.什么是日期选择器(datepicker)?

       日期选择器在网站或应用中非常常见,它允许用户快速选择日期。虽然类型多样,但总体上与下图类似:

       我们这次的目标就是实现类似的效果,重点在于理解实现思路和方法。

       二.组件化开发思想

       随着前端技术的发展,组件化开发理念越来越受欢迎。组件化开发不仅限于前端,其他语言或桌面程序等也都有所应用。只要涉及到UI开发,组件化思想就不可或缺。一个组件是一个独立的个体,页面可以由多个组件构成,例如按钮、侧边栏等。

       更多关于组件化的知识,请参考以下文章:

       三.编写页面结构和样式

       (一)HTML结构

       HTML结构相对简单,分为head和body两部分。需要注意的是,我们给元素取的类名比较长、特殊,这是因为我们采用组件化开发,类名要尽可能独特,避免重名。

       此时页面没有样式,但可以大致看出结构:

       更多关于表格结构的知识,请参考以下文章:

       (二)添加样式

       新增style.css文件,主要设置表头和表格样式。补充一个不常用的样式属性:

       此时日期选择器的基本结构已完成:

       四.日历中的核心数据

       所谓核心数据,就是日历中显示每一天的数据,如下所示:

       这些数据的作用:

       五.需要事先了解的知识点

       (一)日期对象——Data

       W3C上的部分说明:

       具体详情请参考:

       这里我们主要使用以下方式进行传值,因为用户选择日期时,实际上是将点击的值传入Date对象,然后获取值:

       注意:日期对象有“越界自动进(退)位”的特性。

       (二)其他API——getFullYear()/getMonth()/getDate()/getDay()

       W3C上的解释:

       1.getFullYear()

       详情请参考:

       2.getMonth()

       W3C上的解释:

       具体详情请参考:

       3.getDate()

       W3C上的解释:

       详情请参考:

       4.getDay()

       W3C上的解释:

       详情请参考:

       (三)日期对象获取天数

       这里为什么会单独拿出来说明呢?因为这里有一些令人疑惑的地方:

       这里我们可以看到获取当月最后一天时,月份并没有-1,而是默认获取下一个月,然后将天数设置为0。这里就解释了前面所说的“越界自动进(退)位”。

       注意:传入的月份范围:0~

       为什么会有这样的定义呢?打个比方,我们要获取某年2月份的最后一天,这时候很多人可能会这样写:

       这里大家应该已经看出来了,2月份的天数是不固定的,所以传入值时可能会不确定。但是有了上面的规则,我们就可以这样写:

       利用“越界自动进(退)位”的特性,让系统自动获取最后一天,这样我们就不必担心了。任何事物存在必有它的道理。

       六.编写我们的JavaScript

       (一)获取日历数据

       我们新建一个data.js文件

       index.html页面添加如下代码:

       此时我们看一下打印台上打印的内容:

       很明显,这里已经打印出了2月份所有的天数。至于为什么会打印这么多天,留给读者思考。

       (二)数据渲染

       获取到了数据,接下来就是将其渲染到日历中。

       新建一个main.js

       index.html页面加上:

       可以看到我们的数据已经能够正常渲染出来了。值得注意的是,我们在js中进行了渲染,因此index.html中的部分代码可以删除,如下:

       注意:我们没有引用第三方插件或库,所以渲染时使用字符串拼接。但实践中通常采用第三方插件或库。更多知识请参考以下文章:

       (三)细节修改

       我们都知道,很多日期选择器的样式都是一个选择框,点击选择框后才弹出日历。我们还没有实现这个功能,所以现在来修改一下:

       此时的index.html变为:

       然后修改main.js,动态创建我们的div:

       此时页面上多了一个文本框,但页面上已经没有div了。整个包含日历的div元素由js代码创建。

       (四)日历的展开收起

       我们可以看到,一进入页面,日历就已经存在了。一般情况下,需要点击输入框才显示日历。我们需要采用定位方式来限定日历位置,因为页面上有其他元素。如果不采用定位,就会影响其他元素。

       在style.css中添加一个类来控制显示或隐藏:

       此时在main.js的init函数中设置显示或隐藏,并根据输入框位置动态添加top和left值,这样可以适用于多种场景。此时init函数变为:

       这样编写之后,我们就能通过点击输入框实现日历的显示或隐藏了,而且也能通过定位方式确定日历位置。

       点击之后:

       (五)月份切换和日期选择

       我们将实现月份切换的逻辑也放在init函数中:

       这里需要注意的是:我们的init函数只执行了一次。如果我们直接将事件绑定在btn上,那么事件就只在渲染页面时初始化一次,意味着只绑定了一次。但在渲染之后,我们的按钮会根据html字符串重新渲染,也就是按钮会不断销毁和重建。因此,绑定的事件无法生效。所以我们这里采用将事件绑定在不变的外层元素wrapper上。

       这里修改的地方较多,最终的main.js代码如下:

       这里改动的地方较多,主要增加日期选择和两个按钮事件,期间将一些逻辑单独提取为方法。由于担心讲解时遗漏,所以直接贴出main.js的最终代码。

       四.总结

       主要实现步骤:

       到这里,日期选择器组件就完成了。总的来说,实现过程较为复杂,但只要细心、肯思考,编写代码后收获肯定不少。另外,在我编写文章时,可能存在遗漏或错误,导致代码出现错误。特别是添加按钮点击事件和添加选择日期功能,这两步改动较多,所以没有一一说明。请不要卡壳,继续往下走,后面你会发现问题所在。此篇文章也是我在观看慕课网视频的过程中自己总结的,深刻理解其中的代码逻辑等。

       源代码请参考以下链接:

推荐资讯
盧秀燕問鼎黨主席? 國民黨:未在討論範圍

盧秀燕問鼎黨主席? 國民黨:未在討論範圍

仿淘宝商城源码2017_仿淘宝商城源码html

仿淘宝商城源码2017_仿淘宝商城源码html

答题h5源码_h5答题游戏源码

答题h5源码_h5答题游戏源码

免抠图源码下载_免抠图素材app

免抠图源码下载_免抠图素材app

2度交保、發回更裁!鄭文燦涉貪3進羈押庭 面色凝重嚴肅

2度交保、發回更裁!鄭文燦涉貪3進羈押庭 面色凝重嚴肅

go盘网盘源码_网盘 源码

go盘网盘源码_网盘 源码

copyright © 2016 powered by 皮皮网   sitemap