精华内容
下载资源
问答
  • 小暑南风十八朝,晒得南山竹也焦。不知不觉已经迎来了小暑,小暑来临也意味着,天气逐渐开始转热,三伏天也即将来临,虽然进入小暑的伊始...为什么说小暑黄鳝赛人参呢?进入小暑后哪5种食物别错过!小暑之后该如何养...

    小暑南风十八朝,晒得南山竹也焦。不知不觉已经迎来了小暑,小暑来临也意味着,天气逐渐开始转热,三伏天也即将来临,虽然进入小暑的伊始还没有那么炎热,但是热量已经整装待发了。因为三伏天是在小暑与大暑的中间阶段开始,而在处暑的阶段结束。炎热才会真正的结束。那么进入小暑以后,随着天气的变化,饮食上也跟上变化,才能让身体更健康,心情更愉悦。为什么说小暑黄鳝赛人参呢?进入小暑后哪5种食物别错过!小暑之后该如何养生?

    3edb9fc21c24b000ae08892a542ce45f.png

    为什么说小暑黄鳝赛人参呢?

    之所以说小暑的黄鳝赛人参,是因为这个季节的有它的特点,黄鳝生于水岸泥窟中,而小暑前后雨水丰沛,因此以小暑前后一个月的鳝鱼最为滋补美味。而夏季又是慢性支气管炎、支气管哮喘、风湿性关节炎等疾病的缓解时期,黄干性温温肝,具有补中益气、补肝脾、除风湿、强筋骨等作用。《黄帝内经》中说冬病夏治,那么夏天也是调理身体的好时机,所以小暑时节天时地利人和,最适宜吃黄鳝,另外黄鳝还有丰富的蛋白质和铁,以及其他多种矿物质和维生素,还能帮助起到降低血胆固醇浓度的作用,这个时节常吃黄鳝,对人体来说是大有裨益的。

    4dd569865f1a10fdeab0a875daf623c6.png

    进入小暑后哪5种食物别错过!

    小暑以后,除了吃黄鳝,还有一些食物特别适合在这个季节吃,比如以下5种食物,既营养又是民俗:

    1.食新,老话说,“小暑吃黍,大暑吃谷。”因为“吃新”又有“吃辛”的意思,小暑以后天气比较炎热,夏季也比较难熬,吃掉辛,自然也就能过的舒畅一些,当然除了食新是习俗以外,新米还能帮助缓解苦夏的问题。

    0adeba1a7e27dce16065d0a66850d632.png

    2.吃饺子,也是小暑的一个习俗,都说头伏饺子,小暑后开始进入伏天,容易出现食欲不振,往往容易出现苦夏的问题,还会影响健康,而饺子在传统习俗中有开胃解馋的作用,能够缓解苦夏的问题,增强人的食欲,而饺子馅由多种食物构成,还能丰富食物种类,为身体补充营养素。

    00f30f80661f1fba8bc9364e7f41f92c.png

    3.吃面,伏天吃面的习俗,其实从三国时期就已经开始了,《魏氏春秋》中有记载:“伏日食汤饼,取巾拭汗,面色皎然。”伏天可以吃一些过水面或者是炒面,不仅可以增强食欲,炒面还能够起到解烦热、止泻等作用。

    9645c7006ecee097e5f0131ea03eb017.png

    4.吃藕,藕是小暑时节的时令食物,吃藕除了是民俗,藕中还富含丰富的碳水化合物、钙、磷、铁钾、膳食纤维等营养元素,具有清热、养血、除烦等功效,特别适合夏天食用,另外加入蜂蜜做成蜜汁藕,还能起到安神入睡,缓解血虚失眠的作用。

    9c5c805c7c714fd48f9e6eaeec4dfccd.png

    5.紫菜:小暑以后,天气会逐渐炎热,解暑成了最重要的注意,小暑以后吃一些紫菜,可以帮助消除暑热,保持新陈代谢的平衡,除了做汤还可以煮粥,加入肉丝,可以起到清热化痰、补肾养心的作用。

    5b3eca914126e94917108e11eacbf32f.png

    小暑之后应该如何养生?

    刚刚进入小暑,还觉得小暑和蔼可亲,毕竟天气还能感觉到凉爽,也因为有梅雨的加持,让气温没有上升的那么快,但是小暑可不是表面看起来的那么温顺,它可是暗藏玄机呢?所以进入小暑以后,一定要先发制人,从饮食和生活习惯上调整让小暑不那么难受,除了前面提到的民俗以及最适合吃的食物,还有一些清凉解暑的食物,比如:苦瓜、西瓜、黄瓜、冬瓜,以及多种新鲜的蔬菜和水果,并且一定要注量饮水,每天2000ml。甜饮料最好不喝,但可以搭配一些酸梅汤以及山楂汤,不仅健脾开胃,还能清热降脂,有助于心脑血管疾病患者。

    6851520354934746f1ced865f1d00847.png

    另外还要注意,小暑天热,保护好皮肤,除了做好防晒,出门涂防晒、打伞以外,还应该注意勤洗澡,时间充裕的可以一天两次,因为炎热的天气流汗较多,皮肤容易滋生细菌,如果不及时清洗容易诱发皮肤病,除了洗澡,还要给身体佩戴的饰物洗澡,因为这些细菌也会留在食物上,如果不经常清洗,容易出现皮肤过敏的问题。最后阳光较好的时候,记得让家里的物品,尤其是床上用品,尤其是凉席多晒太阳,消除细菌及虫卵,以免损伤皮肤,影响健康。

    3861a1b0859c934cd9c356fc333c441e.png

    #你好,小暑##夏天来了#

    展开全文
  • class A { private int i; private int j; ... public void set(int a,int b) ... // System.out.printf("%d\n"+"无函数调用了");...为什么函数调用了前面加"%d\n"+会报哪,只能把"%d\n"+去掉哪。
  • 什么算法工程师也叫调狗?

    千次阅读 2019-01-24 10:47:18
    这位是广东仲恺毕业算法工程师。...算法工程师都自嘲自己为调师、调狗、特征猪、指标奴。 这就和我们常常说的产品汪、运营喵、程序猿,是一样一样的。   算法工程师的工作流水帐   下面这部分的...

    这位是广东仲恺毕业算法工程师。

    曾在广州棒谷(跨境电商)工作,近期入职环球易购(跨境电商)

    还记得上一篇文章中提及到当算法工程师发现导航的时间和实际时间有差异时会做什么吗?

    没错,就是要调整其算法中的参数。

    算法工程师都自嘲自己为调参师、调参狗、特征猪、指标奴。

    这就和我们常常说的产品汪、运营喵、程序猿,是一样一样的。

     


    算法工程师的工作流水帐

     

    下面这部分的流水帐,不建议你们看,可直接路过看图。

    1. 接到一个项目之后心潮澎湃,脑子里马上闪现出faster rcnn、resnet、mask rcnn等各种牛逼的算法。
    2. 结果发现图片都不知道存在哪……于是反馈给产品经理,开了一通会议,确定图片数据库在某个位置,准备读表爬虫!
    3. 结果发现表的信息是乱七八糟的,一张表里面有图片链接,但没有这个图片的标签信息;另一张表里面有标签信息,但又没有图片链接。找了许久才发现两张表可以用图片id来结合,行吧,不就是查表的事情,写一堆代码把这些信息整理起来吧!
    4. 花了一天终于整理出图片链接的csv了,交给爬虫组爬了三天三夜,期间在YY到时图片下下来之后可以用什么算法。
    5. 拿到图片了,发现类别有了,但是bbox、关键点坐标信息都没有啊!咋整,上网找了个labelme自己整个1000张用着先呗,然后花了两天整了少量图片出来,期间还要劝服同事帮忙。
    6. 剩下的图片交给标注员去标注。接着就是根据前两天YY到的算法,上github找找有没有现成的模型,然后git clone。修改了一点输入输出,用公共数据集顺利跑通!看来还是不错的嘛!
    7. 回头把自己的数据放进去试试,简直一塌糊涂,那是当然的。现在就得回去仔细研究论文,看看作者的各种实现细节,然后魔改模型finetune。再次测试,咦,有点效果喔
    8. 这时候领导紧急开了个会议,说现在目标有点改变,我们往另一个方向走吧。
    9. 开始研究这个领域的所有经典论文,每篇论文都看上好几次,看到最后几乎把整个领域的主要脉络摸清了,然后磨刀霍霍向模型!
    10. 国际惯例先找github,但是很不幸我想要的算法并没有开源实现,那我来做第一个吧!
    11. 马上照着菜单(论文),啪啪啪构建proposal模型,各种自定义层结构,特殊的loss function,菜单中提到的weight decay、learning rate decrease,几乎把论文所有角落的细节都翻遍了,目前为止进度还行,但是慢着!论文里提到的一个层,作者只是一笔带过了,没详细说明这是怎么实现的!
    12. 都到这地步了还能放弃?开玩笑,立刻照着related work那一章提到的所有论文寻找线索,于是各种谷歌github知乎stackoverflow,终于弄懂了这个层的数学原理!
    13. 好不容易把模型复现出来了,好家伙,开始用标注员准备好的数据来训练。
    14. 慢着,这loss曲线不对劲啊?为啥会是直线,而且一轮收敛?不不不,肯定哪里出了错误,我得把代码重头检查一遍!
    15. 费好大劲终于找出bug,代码也顺利跑通了,然后进入各种调参无限死循环。
    16. 老板:那个,我们决定还是换个方向吧,需求变了

    从土黄色的Justin Ho开始,到黄色的数据异常及调参,则是整个算法工作的闭环。

    这基本上是整个图像识别算法工程师,大致的工作流。

     

    一句话:

    定义问题-数据预处理(ETL/特征工程/特征筛选等)-模型评估-模型训练及优化-应用


    举2个例子

     

    假设

    Eno想要买一个杯子

    它是长成这样

    打开淘宝拍照搜商品

    哇!!!

    有没有发现

    发现11个点星星

    组成星座图

    自动识别出:相似马克杯/杯子

    点击查看

     

    一模一样

    黑外壳

    白内衬

    大耳朵

    Eno选了一家商店进行购买

    交易新增量为1

     


     

    过两天Eno老婆生日,之前其老婆在商场里看中了一条皮裤,大约是这样的。

    淘宝扫描之后,是这样的

     

    商品却是这样的

    于是,Eno就默默的关闭了淘宝

    交易新增量为0

    交易新增量为0


    这个背后,算法工程师们做了什么呢?

    • 定义问题:提高以图搜商品交易量5%
    • 数据预处理:提取1亿张杯子或皮裤的图片数据,完成特征工程及特征筛选
    • 模型评估:自己开发算法模型或使用开源算法模型
    • 模型训练及优化:看最终是否得出那个星座图
    • 应用:直接上线到淘宝上面

    从上面可以看出,显然杯子的算法模型训练得非常杯,而皮裤的算法模型可能还需要进一步优化,是不是特征的筛选有问题,不过至少黑色这个特征是没有问题的。

     

    本期内容就到这里,此次是以图像识别算法来举例,下期我们进行到第三个问题:算法工程师的分类等交易新增量为0


    这个背后,算法工程师们做了什么呢?

    • 定义问题:提高以图搜商品交易量5%
    • 数据预处理:提取1亿张杯子或皮裤的图片数据,完成特征工程及特征筛选
    • 模型评估:自己开发算法模型或使用开源算法模型
    • 模型训练及优化:看最终是否得出那个星座图
    • 应用:直接上线到淘宝上面

    从上面可以看出,显然杯子的算法模型训练得非常杯,而皮裤的算法模型可能还需要进一步优化,是不是特征的筛选有问题,不过至少黑色这个特征是没有问题的。

     

    本期内容就到这里,此次是以图像识别算法来举例,下期我们进行到第三个问题:算法工程师的分类等


    名词通俗解释

     

    CV:

    Compute Vision,计算机视觉,(这可不是HR眼中的那个CV哦)

     

    关键节点信息:

    还记得马克杯上的星座图式的点吗?其实我们知道整个图片都是由一个又一个图素组成,每个相素都是有坐标的。这些坐标,就是关键节点信息的一种。

    RGB的色系,也是关键节点信息

     

    特征工程:

    获取关键节点信息的过程,就是特征工程

     

    特征筛选:

    将无关的关键节点信息删除,以免影响算法的结果。比如马克杯,如果其扫描出背景颜色的信息作为特征,可能会出现灰色的马克杯。

    RCNN 目标检测技术

     

    我们只要理解,将图片切割成不同的区域,然后将区域中的关键节点信息放入到CNN(卷积网络),再通过CNN进行判定,哪个部分是人。

     

    CNN:

    简单理解为,假设我们使用Photoshop做设计时,我们需要把不同的图片放在不同的图层。这样,我们可以把不相关的图层进行隐藏,做好目标图层的设计,再放其他部分放出来,这样我们可以更专注设计,而不会受其他图层的干扰。CNN,大致的意思也是类似的吧。

     

    RESNET(CNN)残差网络

     

    用一张图解释会比较好,柱状图是误差值。

    ResNet 层次是152层,而之前的GoogleNet 才22 层,VGG才19层。(只是个名字)

    一种误差更小的CNN模型。

    1080P的视频为什么更清晰,480P的视频为什么会差一些,大致是因为像素差一些。

    题外话

    提出ResNet模型的人是一个中国人,何凯明。

    2003年广东省高考理科状元,2007年清华本科,2011年香港中文大学博士。

    其导师孙剑博士,旷视科技(Face++)首席科学家。

     

    题目

     

    特征工程和特征筛选,与HR领域的什么工作最相似?

    展开全文
  • 卖人参

    2019-02-21 05:38:39
    嗯,你看的没,一个ioser正在卖人参。我的家乡那里就是美丽的长白山,长白山不生产程序员,但是有很多人参。 至于为什么卖人参?1个是想赚点零花钱,另外就是看到了江浙沪这边的人参品相参差不齐,有的一看就是用...

    嗯,你看的没错,一个ioser正在卖人参。我的家乡那里就是美丽的长白山,长白山不生产程序员,但是有很多人参。

    至于为什么卖人参?1个是想赚点零花钱,另外就是看到了江浙沪这边的人参品相参差不齐,有的一看就是用硫磺熏过的,关键还都卖的死贵,简直叔可忍婶不可忍。

    还有我是一个iOS开发者,众所周知,ios开发者不是在改行就是在改行的路上……哈哈,开个玩笑(是不是开玩笑谁知道),卖点人参不影响我转行大前端对不对?我卖的人参至少价格公道,质量保真,保证是长白山的人参!咱们程序员不坑程序员~~

    那么人参有啥用呢?emm,首先他并不能让你长头发(我也很遗憾啊!!!),其次你可能吃完以后龙精虎猛(但是你要先有1个女朋友),反正年轻人吃多了不好,但是我们可以送老人呀~补补身子特别棒!炖鸡汤特别棒!

    话说了不少了,上图:

    好了,有兴趣的朋友可以直接下方评论,也可以微信加我好友,就这样~

    展开全文
  • 网页脚本技术 JavaScript1 JavaScript概述1.1 什么是JavaScript?1.2 JavaScript特点1.3 JavaScript的基础结构1.4 入门小程序2 JavaScript入门2.1 js的引用方法2.1.1 行内引用2.1.2 内部引用2.1.3 外部引用3 ...

    0.网页脚本技术 JavaScript

    1 JavaScript概述

    之前我们学习了HTML,可以在网页展示数据,又学习了CSS样式,能够一定程度上美化我们的页面,

    但是大家要注意一个问题,就是我们学习页面的目的,是为了让他更好的帮助我们进行数据的处理,
    所以你光靠展示数据肯定是不够的,你还得让你的页面有数据上的交互,才能完成我们在页面上进行数据的添加、删除、修改和查询操作;

    所以现在问题又来了,固定写死的页面怎么能让他"动"起来呢?
    这时你就需要用到JavaScript技术了;

    1.1 什么是JavaScript?

    JavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本语言;
    有面向对象的特性

    什么是事件驱动?
    本身拥有这个功能 ,但是 必须由外界事件触发 ,才能执行这个功能;

    比如说,页面有一个按钮,它的单击事件我们已经编写好了,但是必须等这个按钮单击的时候才能够执行这个那个功能,这个就是事件驱动

    1.2 JavaScript特点

    1. 向HTML页面中添加交互行为
    2. 脚本语言,语法和Java类似
    3. 解释性语言,边执行边解释

    1.3 JavaScript的基础结构

    在这里插入图片描述

    1.4 入门小程序

    在页面中添加如下代码:

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			alert("Hello,JavaScript!");
    		</script>
    	</head>
    	<body>		
    	</body>
    </html>
    

    运行页面的时候会出现如下效果:
    在这里插入图片描述
    页面会弹出一个窗口,所以此处的alert(“要输出的内容”)就是一个脚本语言,对应的功能就是页面弹窗展示某段文字

    2 JavaScript入门

    2.1 js的引用方法

    js和css一样有三种引用方法

    2.1.1 行内引用

    代码 :

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    	</head>
    	<body>
    		<button type="button" onclick="javascript:alert('Hello,JS!');">				点击弹窗
            </button>
    	</body>
    </html>
    

    大家注意一个问题

    此处使用了标签的 onclick 属性,这个属性表示当单击这个标签的时候会发生什么事情;

    那会发生什么事情呢?

    就是后面的javascript:alert()这个事件了,其中 javascript: 固定前缀代表要开始写js代码了

    后面的alert() 这个就是js代码;

    这种js的写法是行内JS优缺点和行内CSS一样;而且大部分的标签都有 单击事件 不是按钮独有的

    2.1.2 内部引用

    和内部CSS一样是用script标签统一写到页面中的

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			alert("Hello,JavaScript!");
    		</script>
    	</head>
    	<body>		
    	</body>
    </html>
    

    2.1.3 外部引用

    <script type="text/javascript" src="js/jquery-1.9.1.js" ></script>
    

    这种是最常用的引入JS的方式,将写好的js代码放入一个后缀名为.js的文件中,然后通过引用的方式引入html里,这样又美观而且还不互相影响;

    引用JS文件的时候必须是双标签引用 ,如果不是双标签页面肯定会报错

    3 JavaScript编程基础

    在编写JavaScript脚本的时候和我们编写java代码一样,需要了解其核心代码语法,我们在学习js的时候应该关注以下内容:
    在这里插入图片描述

    3.1 核心语法详解

    3.1.1 定义注释

    1. 单行注释 : 单行注释以 // 开始,以行末结束
    2. 多行注释 : 多行注释以 /* 开始,以 / 结束,符号 /…… */ 指示中间的语句是该程序中的注释
    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			// 单行注释
    			/*
    			多行注释
    			*/
    		</script>
    	</head>
    	<body>
    	</body>
    </html>
    

    3.1.2 定义变量

    语法 :
    var 变量名称 = 变量的值;
    比如:

    var str = "hello,JavaScript!";
    alert(str);
    

    在这里插入图片描述
    str变成了undefined类型,这是个啥类型呢?那么这里我们就要说说JS的数据类型了
    在这里插入图片描述
    根据上图我们可以知道,虽然js声明变量的时候只有一个var 但是其实它也是可以区分出很多数据类型的;

    3.1.2 定义数组

    但是又有问题 : 定义一个变量是这么定义,如果定义一个数组怎么定义呢?

    定义数组的语法:
    var 变量名称 = new Array();
    或者
    var 变量名称 = [值1,值2,值3,值4…]
    这个比较类似于Java中ArrayList集合的使用
    比如:

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			// 定义数组
    			var arrays = new Array();
    			arrays[0] = "香蕉";
    			arrays[1] = "苹果";
    			arrays[2] = "鸭梨";
    			alert(arrays);
    		</script>
    	</head>
    	<body>		
    	</body>
    </html>
    

    直接效果:
    在这里插入图片描述
    JS语法和java差不了多少,因为JavaScript就是把java代码转移到页面去写而已,不信教你遍历一下这个数组;
    for循环的用法:

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			// 定义数组
    			var arrays = new Array();
    			arrays[0] = "香蕉";
    			arrays[1] = "苹果";
    			arrays[2] = "鸭梨";
    			for (var i = 0; i < arrays.length; i++) {
    				alert(arrays[i]);
    			}
    		</script>
    	</head>
    	<body>		
    	</body>
    </html>
    

    怎么样是不是很像,就连数组的length属性都是一模一样,所以学习完javaSE之后其实学js一点都不难;

    数组除了有length属性外,还有一些方法需要大家记住:
    在这里插入图片描述
    代码 :
    添加元素

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			// 定义数组
    			var arrays = new Array();
    			arrays[0] = "香蕉";
    			arrays[1] = "苹果";
    			arrays[2] = "鸭梨";
    			
    			// 向数组中添加元素
    			var fruit = "椰子";
    			arrays.push(fruit);
    			alert(arrays);
    		</script>
    	</head>
    	<body>		
    	</body>
    </html>
    

    在这里插入图片描述

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			// 定义数组
    			var arrays = new Array();
    			arrays[0] = "香蕉";
    			arrays[1] = "苹果";
    			arrays[2] = "鸭梨";
    			
    			// 向数组中添加元素
    			var fruit = "椰子";
    			arrays.push(fruit);
    			// 排序
    			arrays.sort();
    			alert(arrays);
    		</script>
    	</head>
    	<body>		
    	</body>
    </html>
    

    在这里插入图片描述
    注意:

    sort()方法默认按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

    椰子的 UTF-8编码是 椰子
    苹果的UTF-8编码是 苹果
    香蕉的UTF-8编码是 香蕉
    鸭梨的UTF-8编码是 鸭梨

    我们验证一下 : 比如添加一个荔枝 UTF-8编码 荔枝

    添加之后排序应该是在苹果的下面 香蕉的上面
    代码:

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			// 定义数组
    			var arrays = new Array();
    			arrays[0] = "香蕉";
    			arrays[1] = "苹果";
    			arrays[2] = "鸭梨";
    			
    			// 向数组中添加元素
    			var fruit1 = "椰子";
    			arrays.push(fruit1);
    			var fruit2 = "荔枝";
    			arrays.push(fruit2);
    			// 排序
    			arrays.sort();
    			alert(arrays);
    		</script>
    	</head>
    	<body>		
    	</body>
    </html>
    

    在这里插入图片描述
    数组转字符串:

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			// 定义数组
    			var arrays = new Array();
    			arrays[0] = "香蕉";
    			arrays[1] = "苹果";
    			arrays[2] = "鸭梨";
    			
    			// 向数组中添加元素
    			var fruit1 = "椰子";
    			arrays.push(fruit1);
    			var fruit2 = "荔枝";
    			arrays.push(fruit2);
    			// 排序
    			arrays.sort();
    			alert(arrays.join());
    		</script>
    	</head>
    	<body>
    	</body>
    </html>
    

    在这里插入图片描述
    字符转UTF-8编码网站
    http://tool.chinaz.com/tools/utf-8.aspx

    4 JSON(非常重要)

    刚才我们定义了变量,知道了数据类型,也定义了数组并且也遍历了数组,那么这时候就会产生一个疑问,定义一个变量可以了,那怎么定义一个对象呢?

    问题 : 假设有两个人
    1 孙建国 男 24岁 北京市人
    2 赵文明 男 24岁 河北省人

    需要你用js将这两个人的信息定义出来;

    要解决这个问题不简单,如果说在java时期你看到这样的数据一定会先想到定义一个person类然后创建id(编号)name(姓名) sex(性别)age(年龄)from(籍贯)这些属性
    在这里插入图片描述
    定义好类直接new对象保存到一个数组,齐活;
    在这里插入图片描述
    在这里插入图片描述
    看完这个结果我们瑟瑟发抖,Java可以定义类保存对象,JS定义啥保存对象呢?
    回答 : JS定义JSON来保存对象!

    4.1 什么是JSON?

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
    要求 符合 以下特性的数据 才叫做json

    {key:val,key:val}

    JSON为什么那么重要?
    因为它是页面中OOP思想的体现
    如果要保存这个人员类下的一个对象的话
    1 孙建国 男 24岁 北京市人

    var obj = {“id”:1,“name”:“赵文明”,“sex”:“男”,“age”:24,“from”:“北京市”}

    通过以上的定义,我们可以发现,JS中定义对象是定义与赋值一起进行的,就是因为它又方便又面向对象,所以JSON这种数据格式才被前端人员广泛使用。

    JSON是Douglas Crockford在2001年开始推广使用的数据格式,在2005年-2006年正式成为主流的数据格式,雅虎和谷歌就在那时候开始广泛地使用JSON格式。

    4.2 JSON入门使用

    在 JS 语言中,一切都是对象。

    因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。

    但是对象和数组是比较特殊且常用的两种类型:

    对象表示为键值对
    数据由逗号分隔
    花括号保存对象
    方括号保存数组

    其实说白了JSON就是JavaScript中用于定义对象的一种数据格式
    JSON存储的对象,而不是单个变量的值!

    打个比方,比如存储一个Person类的对象
    Person p = new Person();

    设置属性
    p.setId(1);

    设置属性的时候其实大家可以看到 ,是属性名称 ,然后对应一个值, 如果我们把属性名称看成是键,然后值就看成是值的话,就得到了JSON对象的定义

    JSON定义一个对象

    var p = { "id":1,"name":"赵文明","sex":"男","age":18,"from":"河北省" };
    

    JSON定义时候需要注意

    JSON中如果key的值是简单类型,比如数字(整数和浮点),boolean类型,这时可以不用加 “”, 如果是字符串是必要要加 “” 的!

    JSON定义单个对象

    var p1 = { "id":1,"name":"孙建国","sex":"男","age":24,"from":"北京市" };  // JSON对象
    var p2 = { "id":2,"name":"赵文明","sex":"男","age":35,"from":"河北省" };  // JSON对象
    

    JSON定义一个数组

    var persons = [p1,p2];
    

    调用数组里元素的属性值

    persons[1].name
    

    4.3 JSON入门小结

    4.3.1 JSON数据格式总结

    定义对象 {"key" : "val","key":"val"........}
    定义数组 [ {"key" : "val","key":"val"........}, {"key" : "val","key":"val"........}, {"key" : "val","key":"val"........}]
    

    跨时代的意义 :JSON 弥补了JavaScript中不能定义类的遗憾,有了JSON,JavaScript就能更好的发挥编程语言的工作完成更多的功能,逐渐超过java超过Python超过大数据成为No1,当然这是不太现实的…
    在这里插入图片描述

    4.3.2 JSON定义总结

    通过上面的定义不难发现,JSON的这种数据格式类似于map形式的key/value形式的存储
    在定义JSON的时候需要注意以下几点

    1. {} 代表是一个JSON对象
    2. 所有的字符都必须带双引号 “”
    3. 每个属性都是 key : value 的形式

    那我们定义完了一个JSON对象怎么定义一个JSON数组呢?
    非常简单!

    JSON数组的定义

    var arrays = [{JSON对象1},{JSON对象2}.........]
    

    4.4 JSON入门练习

    用JSON保存这两个人并输出他们的信息
    1 孙建国 男 24岁 北京市人
    2 赵文明 男 24岁 河北省人
    代码实现 :

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			// 创建JSON数组保存两个JSON对象
    			var persons = [];
    			// 创建JSON对象
    			var p1 = {"id":1,"name":"孙建国","sex":"男","age":18,"from":"北京市"};
    			var p2 = {"id":2,"name":"赵文明","sex":"男","age":24,"from":"河北省"};
    			// 数据保存对象
    			persons.push(p1);
    			persons.push(p2);
    			// 遍历数据
    			for (var i = 0; i < persons.length; i++) {
    				var p = persons[i];
    				alert(p.id + "||" + p.name + "||" + p.sex + "||" + p.age + "||"+  p.from);
    			}
    		</script>
    	</head>
    	<body>		
    	</body>
    </html>
    

    在这里插入图片描述

    5 JavaScript分支结构

    5.1 业务需求 : 接收页面输入的数字,判断是奇数还是偶数

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			// 判断一个数是奇数还是偶数
    			// 定义一个数
    			var num = prompt("请输入一个数字",0);
    			// 开始判断是奇数还是偶数
    			if(num%2==0){
    				alert("是偶数");
    			}else{
    				alert("是奇数");
    			}
    		</script>
    	</head>
    	<body>		
    	</body>
    </html>
    

    上面的代码中有一个 prompt(提示语句,默认值); 这个方法,它是干嘛的呢?
    它可以接收用户输入哦!
    在这里插入图片描述

    6 JavaScript调错

    6.1 Chrome开发人员工具(F12打开开发人员工具)

    在这里插入图片描述

    6.2. alert()方法

    7 JavaScript函数

    7.1 JS函数的定义

    上面的代码编写起来好是好,但是也会出现一个问题,就是这些代码好比我们写的测试类,每次测试还可以,如果完成功能的话那就很尴尬了,比说如我想单击某个按钮执行什么操作,现在的JS是办不到的!

    那么怎么才能都让JS帮助我们完成更多的事情呢?这时你就要学习JS函数的定义了;

    7.1.1 什么是函数?

    函数(function),最早由中国清朝数学家李善兰翻译,出于其著作《代数学》。之所以这么翻译,他给出的原因是“凡此变数中函彼变数者,则此为彼之函数”,也即函数指一个量随着另一个量的变化而变化,或者说一个量中包含另一个量。

    函数的定义通常分为传统定义和近代定义,函数的两个定义本质是相同的,只是叙述概念的出发点不同,传统定义是从运动变化的观点出发,而近代定义是从集合、映射的观点出发。

    JS函数就是Java中的方法,可以写带参数的,也可以写不带参数的,而且需要注意的就是因为JS中没有类型一说(都是var)所以定义函数的时候返回值类型 和 参数类型都不需要定义。

    7.1.2 语法规则

    在这里插入图片描述

    7.1.3 举例 : 定义无参函数

    业务需求 : 点击一个按钮输出Hello,JavaScript!
    代码:

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			function sayHello(){
    				alert("Hello,JavaScript!");
    			}
    		</script>
    	</head>
    	<body>
    		<button type="button" onclick="sayHello();">别说话,点我!</button>
    	</body>
    </html>
    

    在这里插入图片描述

    7.1.4 举例 : 定义有参函数

    需求 : 点击按钮计算 1+1=?
    代码 :

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			function jisuan(num1,num2){
    				alert(num1 + "+" + num2 + "=" + (num1+num2));
    			}
    		</script>
    	</head>
    	<body>
    		<button type="button" onclick="jisuan(1,1);">别说话,点我!</button>
    	</body>
    </html>
    

    在这里插入图片描述

    7.1.5 需求 : 传输 姓 和 名进行拼接输出

    代码 :

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			function xingming(x,m){
    				alert(x+m);
    			}
    		</script>
    	</head>
    	<body>
    		<button type="button" onclick="xingming('','文明');">别说话,点我!</button>
    	</body>
    </html>
    

    在这里插入图片描述
    此处需要注意的是,如果有参数的方法参数值是字符类型需要特殊标记 ‘字符’ 因为不管是Java 还是 JavaScript 字符还是字符! 是字符就需要 ‘字符值’

    什么? 为什么不用 “字符值”? 双引号代表字符串,而且再说双引号里面如果不转义是写不了双引号的,假如你写了…

    <!DOCTYPE html>
    <html>
    	<head lang="en">
    		<meta charset="UTF-8">
    		<title>HTML案例</title>
    		<script type="text/javascript">
    			function xingming(x,m){
    				alert(x+m);
    			}
    		</script>
    	</head>
    	<body>
    		<button type="button" οnclick="xingming("赵","文明");">别说话,点我!</button>
    	</body>
    </html>
    

    在这里插入图片描述

    7.2 JS函数的触发事件

    类似鼠标单击事件,其实网页标签还有很多事件可以触发,如下图
    在这里插入图片描述

    7.3 JS中的预定义函数

    当然,JS除了我们自己定义函数以外,给预定了很多很好用的系统函数,如
    parseInt (“字符串”)
    将字符串转换为整型数字
    如: parseInt (“86”)将字符串“86“转换为整型值86

    parseFloat(“字符串”)
    将字符串转换为浮点型数字
    如: parseFloat(“34.45”)将字符串“34.45“转换为浮点值34.45

    isNaN()
    用于检查其参数是否是非数字

    如:
    alert(isNaN(“文字”)); 页面显示 true
    alert(isNaN(1)); 页面显示 false

    8 阶段总结

    在这里插入图片描述

    9.笔记

    1.JSON是一种轻量级的数据交换格式
    2.JSON可以与Ajax结合使用,与echarts图表结合使用
    3.应用在手机App,新闻类的应用
    4.服务器用JSON字符串格式对于手机App进行传输
    5.数据格式主要是以key:value的格式存在,
    多个键值对之间使用“,”隔开
    6.{}表示对象[]表示数组

    展开全文
  • 深度学习调技巧

    2021-04-12 08:43:33
    深度学习调有哪些技巧? 一些大的注意事项 1. 刚开始, 先上小规模数据, 模型往大了放, 只要不爆显存, 能用256个filter你就别用128个. 直接奔着过拟合去. 没, 就是训练过拟合网络, 连测试集验证集这些都可以...
  • GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递...
  • 很多人都还没搞明白这些东西是什么,能解决啥问题,就已经怀着一身热情扑了进去,生怕错过下一个微信。你果哥也是个没事儿就喜欢焦虑的人,想了三天三夜,决定去做个人工智能的落地产品,就把人工智能领域里的专家...
  • 深度学习调经验

    2020-04-09 20:39:03
    不管什么模型,先在一个较小的训练集上train和test,看看它能不能过拟合。如果不能过拟合,可能是学习率太大,或者代码写了。先调小学习率试一下,如果还不行就去检查代码,先看dataloader输出的数据对不对,再看...
  • 深度学习调体验(一) 基本原则: 快速试 一.一些大的注意事项: 1.先上小规模数据, 模型往大了放, 只要不爆显存, 能用256个filter就别用128个。直接奔着过拟合去。就是训练过拟合网络, 连测试集验证集这些都可以...
  • 不管什么模型,先在一个较小的训练集上train和test,看看它能不能过拟合。如果不能过拟合,可能是学习率太大,或者代码写了。先调小学习率试一下,如果还不行就去检查代码,先看dataloader输出的数据对不对,再看...
  • Linux 题集

    2019-03-08 16:17:48
    1.启动交换文件的指令是?... 数:-a 自动启动所有SWAP装置 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -s 显示简短的装置讯息 2.Linux下查看服务程序占用的端口命令是什么? 正确答案: ...
  • 蓝桥杯决赛总结:这次蓝桥杯的题量较之前我看到的决赛题多了一点,但感觉这并不是重点,主要是答完题后下来听他们讨论的时候感觉自己犯了好多很低级的错误,感觉自己的策略没有什么问题,做自己有思路的题,主要是...
  • #include class fushu { double r,s; public: fushu(double x,double y) { r=x; s=y; } fushu() ...为什么我这个函数F3和F4对象调用的也是默认的构造函数?...怎样才能让它调用那个有的构造函数
  • db2 9.7 中创建了两不同...若在查询时加上db2inst1.to_date(varchar(20))进行调用是没问题的,而且这两个函数之前在正常使用,最近突然报个了,怀疑是跟数据库服务器有过什么变动有关,不知各大神有没有类似经验。
  • 史上最容易听的歌词

    千次阅读 2007-11-09 00:13:00
    发现其日立很好玩,花花绿绿的每个日期...什么啊祭祖啊,宽容啊,巴勒啊,完全不明白其意。后来经 过仔细研究,才发现原来是11月5日采节,11月9日国际宽容节,11月8日祭祖节,送寒衣节,还有什么巴勒斯坦解放纪念
  • spring 项目中的controller是不是不能直接接受对象类型的List为入?为什么?找了很多相关文档,都说不行,要不就传一个vo类,vo类里面有list,要不就传字符串,后台解析字符串spring boot 项目:public class Tag ...
  • public interface MultimediaControl { public void play(); public void stop(); public void previous(); public void next(); } ...public class AudioPlayer extends Product implements...为什么会提示这些错误呢
  • spring 项目中的controller是不是不能直接接受对象类型的List为入?为什么?找了很多相关文档,都说不行,要不就传一个vo类,vo类里面有list,要不就传字符串,后台解析字符串spring boot 项目:public class Tag ...
  • spring 项目中的controller是不是不能直接接受对象类型的List为入?为什么?找了很多相关文档,都说不行,要不就传一个vo类,vo类里面有list,要不就传字符串,后台解析字符串spring boot 项目:public class Tag ...
  • 什么是智能?你以为微信那头跟你聊天或者打电话邀请会的是个小美女或者小帅哥。你了。TA其实是一台计算机。你以为农民伯伯还是日出而耕日落而归,看天吃饭。你了。其实现在农田逐步实现了“精...
  • spring 项目中的controller是不是不能直接接受对象类型的List为入?为什么?找了很多相关文档,都说不行,要不就传一个vo类,vo类里面有list,要不就传字符串,后台解析字符串spring boot 项目:public class Tag ...
  • 许久都未写技术文章了,实在是有些怠惰了,自觉惭愧啊。...我们打开JDK的ArrayList源码,看一下ArrayList中的remove方法是如何实现的(注意ArrayList中的remove有两个同名方法,只是入不同,这里我们看的是入
  • 我下面来说一下,如果有说的地方,还请大佬们指出。 要想解决java为什么是值传递而不是引用传递。首先我们要先了解几个概念: 实参: 实参就是实际参数,指的是调用有方法的时候传入的真正的值。 形参: ...
  • 关于学什么的问题

    2006-07-28 16:04:00
    我发现有很多人包括自己都在问学什么东西的问题,而且也会在学习中发现许多困惑。因此有必要好好详一下这个问题。 首先,跟着微软走肯定没。一定要把微软的东西弄弄清。其它迟早是没有啥明堂。其中,以windows ...
  • 但深层学习却以 “黑箱” 而闻名,不仅调难,训练难,“新型” 网络结构的论文又如雨后春笋般地涌现,使得对所有结构的掌握变成了不现实。我们缺少一个对深层学习合理的认识。 神经网络并不缺少新结构,但缺少一...
  • 周六作为特邀讲师之一参加了IMWebConf 2017 前端开发者...以下是本次会的感想,分享slide可以在这里下载。 关于大会内容 本次大会非常精彩,诚意满满,干货满满。 来自国内外大厂的讲师阵容可谓豪华,如BAT、W3...
  • 经常看到有人问:“安卓版微信发出去的图片怎么那么渣!比iPhone的差远了!”。不只是微信,很多应用安卓版的图片质量就是要比iPhone版逊色很多,这到底是怎么回事?...libjpeg是广泛使用的开源JPEG图像库(

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 134
精华内容 53
关键字:

参什么错