前两天看了电影《无问西东》,里面的台词很好:“如果提前了解了你所要面对的人生,不知你是否还会有勇气前来?”,大到人生,小到工作,都一样,如果你提前了解了你要面对的工作内容,你是否还有勇气选择。
一、不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的等价于——具体地说,就是直接用作替代品(用于样式)。在XHTML或者HTML4中,我们常看到这样的代码: My super duper page 05您找到你想要的搜索结果了吗?是的没有找到为什么使用scoped就可以使组件的样式不相互污染?Vue中的scoped属性的效果主要是通过PostCss实现的。以下是转译前的代码:01怎样才能写出更好的 CSS让我们开门见山:编写优秀的 CSS 代码是件十分痛苦的事情。很多开发人员都不想做 CSS 开发。你让我干什么都行,但是 CSS 还是算了吧。01前端-微信小程序开发(2):小程序基本介绍前面我们研究了下微信小程序的执行流程,因为拿不到源码,只能算我们的猜想,我们需要更加了解小程序还需要做具体的项目,于是我们将原来那套还算复杂的业务拿出来:03总结 XSS 与 CSRF 两种跨站攻击作者:Jiangge Zhang 来源:https://blog.tonyseek.com/post/introduce-to-xss-and-csrf/(点击文末阅读原文前往) 那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式。在这个年代, 参数化查询已经成了普遍用法,我们已经离 SQL 注入很远了。但是,历史同样悠久的 XSS 和 CSRF 却没有远离我们。由于之前已经对 XSS 很熟悉了,所以我对用户输入的数据一直非常小心。如果输入的时候没有08前端常见的6种HTML5错误用法一、不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的等价于——具体地说,就是直接用作替代品(用于样式)。在XHTML或者HTML4中,我们常看到这样的代码:01Flask 模板 - 宏、继承、包含Jinja2支持宏,还可以导入宏,需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复。02WebGL中着色器shader的处理方法WebGL中,所谓的固定渲染管线是不存在的。估计会有人问,什么是固定渲染管线?先来简单说明一下。0421. Flask 模板 - 宏、继承、包含Jinja2支持宏,还可以导入宏,需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复。01htmx,它到底是框架还是库?在最近的前端开发技术的探讨中,htmx经常成为热议的话题。一些人批评它,认为尽管htmx批评现代前端框架过于复杂,但它自己却似乎也是一个复杂的框架。这种看法值得我们深入思考。因为当你将任何第三方代码引入你的项目时,无论是htmx还是其他,都意味着你需要理解并维护它,尤其是在升级的时候。所以,让我们仔细分析一下这种批评,并探究htmx在解决它所宣称的问题时的实际表现。01React中JSX的理解JSX是快速生成react元素的一种语法,实际是React.createElement(component, props, ...children)的语法糖,同时JSX也是Js的语法扩展,包含所有Js功能。02前端学习自学笔记:day01在这里要跟大家说声抱歉,本人拖更太久啦.现在在自学前端,我每天会把自己的总结笔记发上来分享给大家,希望对大家有帮助. 在此之前先为大家显示下前端工程师的路线图: 📷 第一天的笔记:HTML AND CSS 早上学习知识: 1.注册freeCodeCamp&GitHub 2.freeCodeCanp基本操作 3.代表一个HTML元素,h1是一级标题。 h2,3,4....代表2,3,4。。。。级标题 注释:浏览器会自动地在标题的前后添加空行。 注释:默认情况下,HTML 会自动地在块级元素前后添加一个额外的空05jquery插件与扩展要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统。这好比大公司们争相做平台一样,得平台者得天下。苹果,微软,谷歌等巨头,都有各自的平台及生态圈。03保证你不知道的Vue 3技巧在每个组件或HTML标签上,我们可以使用一些特殊的(文档没写的)钩子作为事件监听器。这些钩子有:02编写模块化CSS:命名空间本文翻译自Zell的博客——【Writing modular CSS (Part 2) — Namespace】,原文地址:https://zellwk.com/blog/css-architectu07【重构前端知识体系之HTML】讲讲对HTML5的一大特性——语义化的理解在之前的文章中提到HTML最重要的特性,那就是标签。但是项目一大,标签多的看不懂,一堆叠着一堆。一些命名奇奇怪怪,想维护被劝退,团队协作导致团战开始!01kfold交叉验证k越大_内部交叉验证设X是一个9*3的矩阵,即9个样本,3个特征,y是一个9维列向量,即9个标签。现在我要进行3折交叉验证。03HTML 使用 table 布局的一些记录这学期终于有了前端课,虽然基本全会了,但终归是野路子出家,有很多东西还是第一次见到的。 比如本篇要扯的 table 布局03我对 Twitter 前 10 行源代码的理解过去几周,我一直在为我的家具租赁公司 Pabio 招聘一名高级全栈 JavaScript 工程师。由于是一个远程团队,面试是在 Zoom 上进行的。根据我的观察,部分开发人员不擅长现场编码或白板面试,即使他们对这项工作很在行。所以取而代之,我们会进行一小时的技术讨论,我会问他们关于 Web Vitals、可访问性、浏览器战争以及其他类似 Web 话题的问题。我很喜欢问的一个问题是:“解释一下 Twitter 源代码的前十几行”。02CSP——前端安全第一道防线⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 内容安全策略的主要作用就是尽量降低网站遭受 XSS 跨站脚本攻击的可能。浏览器没办法区分要执行的代码是否为页面本身的还是恶意注入的,XSS 就是03JavaScript数据类型判断instanceof可以用来判断对象是否是某个类的实例。instanceof的实现原理出门左转查看手撕instanceof02如何构建你的第一个 Vue.js 组件协作翻译 原文:How to build your first Vue.js component 链接:https://medium.freecodecamp.org/build-your-first-vue-js-component-2dc204bca514 译者:凉凉_ 📷 记得当那天使用 CakePHP 开发的时候,我很喜欢它简易入门的特性。其文档不仅结构严密,详尽,而且对用户友好。多年以后,我在 Vue.js 上找到了同样的感觉。然而,与 Cake 相比,Vue 文档还有一个缺点:(缺乏)真实的项目05Web标准中的常见问题大概在2004年的时候,Web标准的概念藉由一本名为《网站重构》的书开始被国内人所了解。随后的几年中,其更少的代码量、更好的搜索引擎友好性、更好的浏览器兼容性使得Web标准迅速受到重视并逐渐普及,网易、新浪等各大网站相继采用Web标准进行网站重构。05前端框架 React 和 Svelte 的基础比较在 JavaScript 前端开发框架中,Svelte 算是一个新来的搅局者,在网上我们已经听到很多关于 Svelte 的哔哔。因此我决定试试这个家伙,顺便跟 React 做个简单的比较。05前端容器化第三弹 - vue3 项目容器化 - 通过 meta 注入后端地址静态编译到所有文件中, 肯定是不可取的, 总不能后端变更一个访问域名,前端都要重新构建一次镜像吧?03PKW: Flask-JSGlue 库简介(第 6 期)今天介绍一个有用的胶水库,Flask-JSGlue,看它的名字,也基本可以看出是连接 Flask 和 JavaScript 的桥梁。 我们先来看看它主要解决的问题03谈谈对 html 语义化的理解语义是指对一个词或者句子含义的正确解释。很多 HTML 标签也具有语义的意义,也就是说元素本身传达了关于标签所包含内容类型的一些信息。例如,当浏览器解析到标签时,它将该标签解释为包含这一块内容的最重要的标题。h1 标签的语义就是用它来标识特定网页或部分最重要的标题。01外贸网站seo怎么做?先看看alt标签有没有奶爸最近看了好几个朋友的外贸网站,发现除了标题和描述不到位外,最常见的一个问题就是图片LAT标签缺失。所以本文给大家介绍下图片ALT标签在Google SEO中的作用,以及应该怎么写。00CSS 删除线:在 CSS 中使用文本装饰和划线CSS 删除线是一个 CSS 属性,它使文本看起来像是被删除线一样,就像这样。在网络开发和写作中,这经常用于表示文本已被删除或不再相关。但它也可以用于不同的事情。00kbone,十分钟让 Vue 项目同时支持小程序微信小程序开发过程中,许多开发者会遇到 小程序 与 Web 端一起的需求,由于 小程序 与 Web 端的运行环境不同,开发者往往需要维护两套类似的代码,这对开发者来说比较耗费力气,并且会出现不同步的情况。02HTML5_自己写的第一个html5页面如果你是初学者,那么你很幸运,因为你和我一样,都是一个菜鸟,因为我今天才开始学习html502前端框架「React」 VS 「Svelte」在 JavaScript 前端开发框架中,Svelte 算是一个新来的搅局者,在网上我们已经听到很多关于 Svelte 的哔哔。因此我决定试试这个家伙,顺便跟 React 做个简单的比较。03React vs Svelte在 JavaScript 前端开发框架中,Svelte 算是一个新来的搅局者,在网上我们已经听到很多关于 Svelte 的哔哔。因此我决定试试这个家伙,顺便跟 React 做个简单的比较。03详解基于Vue的开发框架——mpvue接触微信小程序有一段时间的开发者或开发团队,我相信多多少少都会为自己搭建封装一些便于开发的框架/脚手架,尤其是一些做过Web开发的开发者,受到现如今Web主流开发框架如Angular,React,Vue等的核心思想的影响,对数据/状态管理、组件化、跨平台等都有较高的追求。03HTML语义化语义化可以总结为 根据内容选择标签,用最恰当的标签来标记内容 例如网页中的标题使用~这样的标签,而不是使用+css01停止滥用div! HTML语义化介绍我们喜欢(使用)标签。它们已经存在了几十年,这几十年来,当需要将一些内容包裹起来达到(添加)样式或者布局目的的时候,它们成为首选元素。查看线上站点时,看到像下面这些内容的情况依旧很常见:04前端-CSS变量(自定义属性)实践指南Sass和Less这样的预处理器,让我们的CSS代码保持良好的结构和可维护性。像变量、混合(mixins)、循环控制等特性,增强了动态编写CSS的能力,从而减少重复代码,也加快了我们开发速度。02salesforce零基础学习(七十二)项目中的零碎知识点小总结(一)010【译】停止滥用div! HTML语义化介绍我们喜欢(使用)标签。它们已经存在了几十年,这几十年来,当需要将一些内容包裹起来达到(添加)样式或者布局目的的时候,它们成为首选元素。查看线上站点时,看到像下面这些内容的情况依旧很常见:02《JavaScript 模式》读书笔记(8)— DOM和浏览器模式1在本书的前面章节中,我们主要集中关注于核心JavaScript(ECMAScript),而并没有太多关注在浏览器中使用JavaScript的模式。本章将探索一些浏览器特定的模式,因为浏览器是使用JavaScript最为常见的环境。同时也是很多人不喜欢使用JavaScript的原因,他们认为JavaScript只是一种浏览器脚本。考虑到在浏览器中存在很多前后矛盾的主机对象和DOM实现,这种想法也是可以理解的。很明显通过使用一些较好的可以减少客户端脚本负担的实践技巧,可以获益颇多。03CSS中HTML和Body到底有什么区别?「前端每日一题v22.11.20」在我们日常的开发中,经常会把一些样式写在body上,比如页面的最小宽度,最小高度,以及初始化的一些属性02第85天:HTML5语义化标签语义标签对于我们并不陌生,如表示一个段落、表示一个无序列表 ~ 表示一系列标题等,在此基础上HTML5增加了大量更有意义的语义标签,更有利于搜索引擎或辅助设备理解HTML页面内容。02Vue.js 系列教程 2:组件,Props,Slots原文:intro-to-vue-2-components-props-slots 译者:nzbin 这是关于 JavaScript 框架 Vue.js 五个教程的第二部分。在这一部分,我们将学习组件010《JavaScript 模式》读书笔记(8)— DOM和浏览器模式1在本书的前面章节中,我们主要集中关注于核心JavaScript(ECMAScript),而并没有太多关注在浏览器中使用JavaScript的模式。本章将探索一些浏览器特定的模式,因为浏览器是使用JavaScript最为常见的环境。同时也是很多人不喜欢使用JavaScript的原因,他们认为JavaScript只是一种浏览器脚本。考虑到在浏览器中存在很多前后矛盾的主机对象和DOM实现,这种想法也是可以理解的。很明显通过使用一些较好的可以减少客户端脚本负担的实践技巧,可以获益颇多。02WordPress开发人员犯的12个最严重的错误原本之前还有篇ruby的,拖得时间有点久了,同时本身没想过去过多接触ruby,所以暂且就不再祸害那篇文章了,有兴趣的可自己去看Creating a Ruby DSL: A Guide to Advanced Metaprogramming,以下为本文的英文原文链接:01优化 CSS 代码的12个小技巧上述属性都是对性能要求比较高的。如果这些属性使用较少,那这就不是问题。但是如果一个页面出现几百次,那么整体的CSS可能会受到影响,所以要谨慎使用。04标签云我们博客的文章(Post)模型除了通过 ForeignKey 关联了 Category(分类)外,还通过 ManyToMany 关联了 Tag(标签)。在我们的 Demo 的侧边栏可以看到一个标签云效果的全部标签列表。现在我们来给博客实现这个效果,让 Django 从数据库中获取全部标签的数据列表,然后在模板中显示它们,并且点击相应的标签,就可以显示该标签下的全部文章列表。 获取标签列表 很明显的能够发现,标签和之前我们开发的分类功能是十分类似的,唯一的不同是一篇文章(Post)只能指定一个分类,但是却可以08扫码添加站长 进交流群领取专属 10元无门槛券手把手带您无忧上云相关资讯HTML标签和CSS样式列表Python3练习项目01:转换文档为HTML(上)HTML和CSS新增了5个令人期待的功能python爬虫-爬取盗墓笔记如何利用Python爬取网络小说热门标签更多标签云服务器即时通信 IMICP备案对象存储实时音视频活动推荐运营活动广告关闭
Vue中的scoped属性的效果主要是通过PostCss实现的。以下是转译前的代码:
让我们开门见山:编写优秀的 CSS 代码是件十分痛苦的事情。很多开发人员都不想做 CSS 开发。你让我干什么都行,但是 CSS 还是算了吧。
前面我们研究了下微信小程序的执行流程,因为拿不到源码,只能算我们的猜想,我们需要更加了解小程序还需要做具体的项目,于是我们将原来那套还算复杂的业务拿出来:
作者:Jiangge Zhang 来源:https://blog.tonyseek.com/post/introduce-to-xss-and-csrf/(点击文末阅读原文前往) 那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式。在这个年代, 参数化查询已经成了普遍用法,我们已经离 SQL 注入很远了。但是,历史同样悠久的 XSS 和 CSRF 却没有远离我们。由于之前已经对 XSS 很熟悉了,所以我对用户输入的数据一直非常小心。如果输入的时候没有
一、不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的等价于——具体地说,就是直接用作替代品(用于样式)。在XHTML或者HTML4中,我们常看到这样的代码:01
Jinja2支持宏,还可以导入宏,需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复。
WebGL中,所谓的固定渲染管线是不存在的。估计会有人问,什么是固定渲染管线?先来简单说明一下。
在最近的前端开发技术的探讨中,htmx经常成为热议的话题。一些人批评它,认为尽管htmx批评现代前端框架过于复杂,但它自己却似乎也是一个复杂的框架。这种看法值得我们深入思考。因为当你将任何第三方代码引入你的项目时,无论是htmx还是其他,都意味着你需要理解并维护它,尤其是在升级的时候。所以,让我们仔细分析一下这种批评,并探究htmx在解决它所宣称的问题时的实际表现。
JSX是快速生成react元素的一种语法,实际是React.createElement(component, props, ...children)的语法糖,同时JSX也是Js的语法扩展,包含所有Js功能。
在这里要跟大家说声抱歉,本人拖更太久啦.现在在自学前端,我每天会把自己的总结笔记发上来分享给大家,希望对大家有帮助. 在此之前先为大家显示下前端工程师的路线图: 📷 第一天的笔记:HTML AND CSS 早上学习知识: 1.注册freeCodeCamp&GitHub 2.freeCodeCanp基本操作 3.代表一个HTML元素,h1是一级标题。 h2,3,4....代表2,3,4。。。。级标题 注释:浏览器会自动地在标题的前后添加空行。 注释:默认情况下,HTML 会自动地在块级元素前后添加一个额外的空
要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统。这好比大公司们争相做平台一样,得平台者得天下。苹果,微软,谷歌等巨头,都有各自的平台及生态圈。
在每个组件或HTML标签上,我们可以使用一些特殊的(文档没写的)钩子作为事件监听器。这些钩子有:
本文翻译自Zell的博客——【Writing modular CSS (Part 2) — Namespace】,原文地址:https://zellwk.com/blog/css-architectu
在之前的文章中提到HTML最重要的特性,那就是标签。但是项目一大,标签多的看不懂,一堆叠着一堆。一些命名奇奇怪怪,想维护被劝退,团队协作导致团战开始!
设X是一个9*3的矩阵,即9个样本,3个特征,y是一个9维列向量,即9个标签。现在我要进行3折交叉验证。
这学期终于有了前端课,虽然基本全会了,但终归是野路子出家,有很多东西还是第一次见到的。 比如本篇要扯的 table 布局
过去几周,我一直在为我的家具租赁公司 Pabio 招聘一名高级全栈 JavaScript 工程师。由于是一个远程团队,面试是在 Zoom 上进行的。根据我的观察,部分开发人员不擅长现场编码或白板面试,即使他们对这项工作很在行。所以取而代之,我们会进行一小时的技术讨论,我会问他们关于 Web Vitals、可访问性、浏览器战争以及其他类似 Web 话题的问题。我很喜欢问的一个问题是:“解释一下 Twitter 源代码的前十几行”。
⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 内容安全策略的主要作用就是尽量降低网站遭受 XSS 跨站脚本攻击的可能。浏览器没办法区分要执行的代码是否为页面本身的还是恶意注入的,XSS 就是
instanceof可以用来判断对象是否是某个类的实例。instanceof的实现原理出门左转查看手撕instanceof
协作翻译 原文:How to build your first Vue.js component 链接:https://medium.freecodecamp.org/build-your-first-vue-js-component-2dc204bca514 译者:凉凉_ 📷 记得当那天使用 CakePHP 开发的时候,我很喜欢它简易入门的特性。其文档不仅结构严密,详尽,而且对用户友好。多年以后,我在 Vue.js 上找到了同样的感觉。然而,与 Cake 相比,Vue 文档还有一个缺点:(缺乏)真实的项目
大概在2004年的时候,Web标准的概念藉由一本名为《网站重构》的书开始被国内人所了解。随后的几年中,其更少的代码量、更好的搜索引擎友好性、更好的浏览器兼容性使得Web标准迅速受到重视并逐渐普及,网易、新浪等各大网站相继采用Web标准进行网站重构。
在 JavaScript 前端开发框架中,Svelte 算是一个新来的搅局者,在网上我们已经听到很多关于 Svelte 的哔哔。因此我决定试试这个家伙,顺便跟 React 做个简单的比较。
静态编译到所有文件中, 肯定是不可取的, 总不能后端变更一个访问域名,前端都要重新构建一次镜像吧?
今天介绍一个有用的胶水库,Flask-JSGlue,看它的名字,也基本可以看出是连接 Flask 和 JavaScript 的桥梁。 我们先来看看它主要解决的问题
语义是指对一个词或者句子含义的正确解释。很多 HTML 标签也具有语义的意义,也就是说元素本身传达了关于标签所包含内容类型的一些信息。例如,当浏览器解析到标签时,它将该标签解释为包含这一块内容的最重要的标题。h1 标签的语义就是用它来标识特定网页或部分最重要的标题。
奶爸最近看了好几个朋友的外贸网站,发现除了标题和描述不到位外,最常见的一个问题就是图片LAT标签缺失。所以本文给大家介绍下图片ALT标签在Google SEO中的作用,以及应该怎么写。
CSS 删除线是一个 CSS 属性,它使文本看起来像是被删除线一样,就像这样。在网络开发和写作中,这经常用于表示文本已被删除或不再相关。但它也可以用于不同的事情。
微信小程序开发过程中,许多开发者会遇到 小程序 与 Web 端一起的需求,由于 小程序 与 Web 端的运行环境不同,开发者往往需要维护两套类似的代码,这对开发者来说比较耗费力气,并且会出现不同步的情况。
如果你是初学者,那么你很幸运,因为你和我一样,都是一个菜鸟,因为我今天才开始学习html5
接触微信小程序有一段时间的开发者或开发团队,我相信多多少少都会为自己搭建封装一些便于开发的框架/脚手架,尤其是一些做过Web开发的开发者,受到现如今Web主流开发框架如Angular,React,Vue等的核心思想的影响,对数据/状态管理、组件化、跨平台等都有较高的追求。
语义化可以总结为 根据内容选择标签,用最恰当的标签来标记内容 例如网页中的标题使用~这样的标签,而不是使用+css01
我们喜欢(使用)标签。它们已经存在了几十年,这几十年来,当需要将一些内容包裹起来达到(添加)样式或者布局目的的时候,它们成为首选元素。查看线上站点时,看到像下面这些内容的情况依旧很常见:04
Sass和Less这样的预处理器,让我们的CSS代码保持良好的结构和可维护性。像变量、混合(mixins)、循环控制等特性,增强了动态编写CSS的能力,从而减少重复代码,也加快了我们开发速度。
我们喜欢(使用)标签。它们已经存在了几十年,这几十年来,当需要将一些内容包裹起来达到(添加)样式或者布局目的的时候,它们成为首选元素。查看线上站点时,看到像下面这些内容的情况依旧很常见:02
在本书的前面章节中,我们主要集中关注于核心JavaScript(ECMAScript),而并没有太多关注在浏览器中使用JavaScript的模式。本章将探索一些浏览器特定的模式,因为浏览器是使用JavaScript最为常见的环境。同时也是很多人不喜欢使用JavaScript的原因,他们认为JavaScript只是一种浏览器脚本。考虑到在浏览器中存在很多前后矛盾的主机对象和DOM实现,这种想法也是可以理解的。很明显通过使用一些较好的可以减少客户端脚本负担的实践技巧,可以获益颇多。
在我们日常的开发中,经常会把一些样式写在body上,比如页面的最小宽度,最小高度,以及初始化的一些属性
语义标签对于我们并不陌生,如表示一个段落、表示一个无序列表 ~ 表示一系列标题等,在此基础上HTML5增加了大量更有意义的语义标签,更有利于搜索引擎或辅助设备理解HTML页面内容。
表示一个段落、
原文:intro-to-vue-2-components-props-slots 译者:nzbin 这是关于 JavaScript 框架 Vue.js 五个教程的第二部分。在这一部分,我们将学习组件
原本之前还有篇ruby的,拖得时间有点久了,同时本身没想过去过多接触ruby,所以暂且就不再祸害那篇文章了,有兴趣的可自己去看Creating a Ruby DSL: A Guide to Advanced Metaprogramming,以下为本文的英文原文链接:
上述属性都是对性能要求比较高的。如果这些属性使用较少,那这就不是问题。但是如果一个页面出现几百次,那么整体的CSS可能会受到影响,所以要谨慎使用。
我们博客的文章(Post)模型除了通过 ForeignKey 关联了 Category(分类)外,还通过 ManyToMany 关联了 Tag(标签)。在我们的 Demo 的侧边栏可以看到一个标签云效果的全部标签列表。现在我们来给博客实现这个效果,让 Django 从数据库中获取全部标签的数据列表,然后在模板中显示它们,并且点击相应的标签,就可以显示该标签下的全部文章列表。 获取标签列表 很明显的能够发现,标签和之前我们开发的分类功能是十分类似的,唯一的不同是一篇文章(Post)只能指定一个分类,但是却可以
领取专属 10元无门槛券
手把手带您无忧上云