机器之心报道 机器之心编辑部 2023 年度 AAAI Fellows 共有 11 位学者入选,包括 2 位华人学者。 今日,AAAI 公布了 2023 年度的 Fellows 评选结果,共有 11 位学者入选,其中包括两位华人:西北工业大学教授李学龙、清华大学教授唐杰。 李学龙 李学龙,西北工业大学教授、博导,西北工业大学学术委员会副主任、光电与智能研究院(iOPEN)院长,ACM Fellow、AAAS Fellow、IEEE Fellow、IAPR Fellow 李学龙在中国科学技术大学获得工学学士学位和博士学位。自 2018 年起,李学龙成为西北工业大学的全职教授。 值得一提的是,至此李学龙教授也完成了AI领域的Fellow大满贯。另外,李教授也是大陆首位AAAI执委。 唐杰 唐杰,清华大学计算机系教授,曾入选 ACM Fellow、IEEE Fellow。
1 -> C++11简介 在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了 C++98称为C++11之前的最新C++标准名称。 从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。 相比于 C++98/03,C++11则带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中 约600个缺陷的修正,这使得C++11更像是从C++98/03中孕育出的一种新语言。 C++11中废弃auto原来的用法,将 其用于实现自动类型腿断。这样要求必须进行显示初始化,让编译器将定义对象的类型设置为初 始化值的类型。 所以出于清晰和安全角度考虑,C++11中新增了nullptr,用于表示空指针。
1 -> 相关文章 【C++航海王:追寻罗杰的编程之路】C++11(一) 【C++航海王:追寻罗杰的编程之路】C++11(二) 2 -> 新的类功能 默认成员函数 原来C++类中,有6个默认成员函数: C++11 新增了两个:移动构造函数和移动赋值运算符重载。 强制生成默认函数的关键字default C++11可以更好的控制要使用的默认函数。假设要使用某个函数,但因为一些原因这个函数没有默认生成。 在C++11中更加简单,只需在该函数声明加上 = delete即可,该语法指示编译器不生成对应函数的默认版本,称 = delete修饰的函数为删除函数。 Person s2 = s1; Person s3 = std::move(s1); return 0; } 继承和多态中的final与override关键字 3 -> 可变参数模版 C++11
C++11(上) 1 -> STL中的一些变化 新容器 圈起来的是C++11中的一些几个新容器,但是实际最有用的是unordered_map和 unordered_set。 容器中的一些新方法 如果我们再细细去看会发现基本每个容器中都增加了一些C++11的方法,但是其实很多都是用得 比较少的。 实际上C++11更新后,容器中增加的新方法最后用的插入接口函数的右值引用版本: std::vector::emplace_back std::vector::push_back std::map::insert std::map::emplace 2 -> 右值引用和移动语义 2.1 -> 左值引用和右值引用 传统的C++语法中就有引用的语法,而C++11中新增的右值引用语法特性。 C++11中,std::move()函数位于 头文件中,该函数名字具有迷惑性, 它并不搬移任何东西,唯一的功能就是将一个左值强制转化为右值引用,然后实现移动语义。
1 -> 相关文章 【C++航海王:追寻罗杰的编程之路】C++11(一) 【C++航海王:追寻罗杰的编程之路】C++11(二) 【C++航海王:追寻罗杰的编程之路】C++11(三) 2 -> lambda 因此,在C++11语法中出现了lambda表达式。 关于auto,可以去之前的文章:【C++航海王:追寻罗杰的编程之路】引用、内联、auto关键字、基于范围的for、指针空值nullptr 2. C++11中最重要的特性就是对线程进行支持,使得C++在并行编程时不需要依赖第三方库,而且在原子操作中还引入了原子类的概念。要使用标准库中的线程,必须包含<thread>头文件。 因此C++11中引入了原子操作。所谓原子操作:即不可被中断的一个或一系列操作,C++11引入的原子操作类型,使得线程间数据的同步变得非常高效。
(2).from子查询 (3).from与where子查询互换 (4).select子查询 2.JOIN——连接多个数据库(或多表) 3.null与内连接与外连接 一.SQL的环境搭载 单机离线环境 对数据库进行一定规则的限制,从而达到我们需要得到的数据 (除筛选外还具有连接多表的功能,目前先不展开) 比较运算符: 条件 意义 表达式举例1 = 判断相等 score = 80 你现在学的SQL不是编程语言 → = 在编程语言中是赋值的意思 > 判断大于 score > 80 >= 判断大于或相等 score >= 80 < 判断小于 score < 80 <= 判断小于或相等 score <= 80 _月 = 11 select sum(s.销售数量)/count(客户_ID) as '11月平均每笔订单销量' from 销售 as s where s.销售订单_日期_月 = 11 结果: 其实from子查询是可以直接转化为where子查询的,比如针对找到比Nesus快的所有的游戏英雄中魔法值大于200的游戏英雄的例子 我们可以进行如下转换: select * from hero_data_table
只有程序员需要学编程吗? 今天,学习编程的大部分还是程序员和期望成为程序员的朋友。编程在大众眼中还是一种专门的职业技能,学了,是用来找工作的。 ? 即使一时无法达到社会全员编程的地步,至少正在朝着这个方向发展—— 越来越多的互联网行业非技术岗从业人员,比较典型的像产品经理(PM),都在自学编程。 ? 如果大家留意一下儿童教育的话,不难发现:儿童编程已经成K12教育领域的一匹绝尘黑马,在短短几年中异军突起,大有进入主流教育体系的势头。 编程的核心是什么? 从语言特征(词汇、语法等)的角度来讲,最复杂的编程语言远比最简单的自然语言简单得多。 我们学习各种自然语言是为了日常生活与人交流、收发信息,学习编程语言又是为什么呢? 简单而言,"学编程"就是学习用编程语言编写算法! 研习算法,修炼内功 计算机技术从诞生起就处在飞速发展之中。
Actor模型描述了一组为避免并发编程的公理: 所有的Actor状态是本地的,外部是无法访问的。
在C/C++/Java中,数据类型可以分为两大类。 一类是基本类型,比如int, long, float, double, char, String等 另一类是自定义的类型,比如自己定义的类,如Animal, Dog等 枚举也是一种自定义的数据类型。 所谓枚举,就是我们自己定义的一个集合,比如说交通灯的颜色集合{红、黄、绿},当我们要表示交通灯的颜色时,只能用这个集合里的三种颜色中的一种来表示,而不能使用其他的颜色,比如白、黑、紫等。 再比如星期几的集合{星期一,星期二,星期三,星期四,星期五,星期六,星期
RGAN01’的所有订单号 从这个订单号里到orders表里检索出custid 再根据custid从customers的表里检索顾客的信息 上面三个步骤每个步骤都可以单独作为一个查询来执行,这就出现了子查询的定义 不使用子查询“ select order_num from orderitems where prod_id = 'RGAN01'; select cust_id from orders where order_num in (20007,20008) 使用子查询: select cust_id from orders where order_num in (select order_num from orderitems where prod_id = 'RGAN01'); 使用计算字段作为子查询 假设有这么一个问题,显示customers表中的每个顾客订单的总数: 第一步,自然是检索出所有顾客的列表
(封面图来自于网络) 想学习编程的朋友可能一直纠结于到底学哪一种编程语言最有前途,我google了一下,在维基百科的下面这个页面里大概有500多种编程语言,这些相对来说还是比较知名的编程语言,不包括一些语言的方言以及一些标记性的语言 停止纠结 与其在多种编程语言中纠结和争吵,不如从排名前10的语言中挑一种快速入手,所有的主流编程语言基本上都是相通的。编程的基本原理是相同的,背后的算法没有变,数据结构也类似,只是语法稍有不同而已。 明白了编程的基本原理,换成另外一种语言相对来说比较容易,只是换一种语法结构去重写而已(当然背后还有庞大的类库要熟悉,这些都需要时间去熟悉)。 我学过N种编程语言,现在看来语法是最容易学的部分,最麻烦的部分在于要去熟悉大量的模块或类的使用方法,还要学会正确的使用方法。 公众号后台发消息:python,跳转到“零基础学编程”的所有文章目录。 --- END ---
我们知道,函数式编程的技术有 柯里化、偏函数等等。错误处理也是一种技术,本节中我们会使用函子(Functor),用一种纯函数的方式帮助我们处理错误。 概念 函子 定义: 函子是一个普通对象,它实现了map函数,在遍历每个对象值的时候生成一个新对象。即,函子是一个实现了 map 契约的对象! 简单理解:函子是一个持有值的容器。 Monad是一个含有chain方法的函子 你可以通过添加一个chain方法(或者说是join方法)扩展MayBe函子,使其成为一个Monad函子。 那么,我们就可以知道 Monad 函子的一大特点就是能够避免深层嵌套,只要提供下一运算所需要的的函数,就能将函数拆解成互相连接的多个步骤,自动进行下去,并且每次都是只返回一个单层的函子。 这个函子有一个 flatMap 方法,即降维的能力。
所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 本文收录于 **[「滚雪球学Java」 ](https://blog.csdn.net/weixin_43970743/category_9600553 环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8前言 Java编程语言是一种面向对象的编程语言。 根据上面的代码分析如下:导入了com.demo.javase.day11包。定义了一个名为SequentialStructureTest的类。 「赠人玫瑰,手留余香」,咱们下期拜拜~~☀️建议/推荐你 无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Java」,bug菌郑重承诺,凡是学习此专栏的同学 ,均能获取到所需的知识和技能,全网最快速入门Java编程,就像滚雪球一样,越滚越大,指数级提升。
第11章 子查询 11.1 子查询 SQL 允许创建子查询(subquery),即嵌套在其他查询中的查询。 11.2 利用子查询进行过滤
学编程的起点——编程常识知多少 前言: 刚去大学那会,我就知道我被录取的学院是软件学院,还知道一点就是软件学院主要是学电脑的,但具体要学什么其实一无所知。 待的时间久了,慢慢的,像“编程”、“软件”、“系统”、“显卡”、“网卡”这样的一些词时常在耳边萦绕,怪我之前对电脑接触不多,对别人来说是常识性的东西对我而言却是一头雾水,理解起来感觉很抽象,让我迷茫了许久 转变思维,走进编程 上面提到了一点,软件学院是学电脑的,其实也没毛病,反正也是跟电脑打交道的,建议去学校报到的时候自带电脑。 再说软件学院会学什么,其实顾名思义,肯定跟软件有关,那我先从软件入手,什么是软件呢?为了方便新手理解,我就用大白话通俗点说了,等你明白我说的这些大白话后再去看一些官方的定义,这样有助于你的理解。
python的字串列表有2种取值顺序: 从左到右索引默认0开始的,最大范围是字符串长度少1 从右到左索引默认-1开始的,最大范围是字符串开头 如果你要实现从字符串中获取一段子字符串的话,可以使用变量 [
所以人们发明了编程语言。利用计算机编程语言,我们可以先用一种自己能理解的方式写程序,然后再把它翻译成二进制供计算机使用。 ? image.png 有很多不同的编程语言。
N年前用python写的五子棋游戏,电脑执白子,只能判断一步,新手级别(可以再添加几层循环让它厉害一点) 。程序的UI界面是用python的标准库 Tkinter 写的,有点乱,现在已然看不懂。 ?
函数式编程中解决副作用的存在 函数式编程的运算不直接操作值,,而是由函子完成 函子就是一个实现了map契约的对象 我们可以把函子想象成一个盒子,盒子里面封装了一个值 想要处理盒子中的值,我们需要给盒子的 _value)) } } 此时就已经创建了一个函子但是这是面向对象的方式来创建的,换成用函数式编程来写一个函子 class Container { constructor (value) { x = Container.of(null).map(x => x + 1).map(x => x - 1) MayBe 函子 我们在编程的过程中可能会遇到很多错误,需要对这些错误做相应的处理,MayBe _value() 这样来执了,嵌套了几层就需要几层调用 Folktale Folktale 是一个标准的函数式编程库,和lodash不同的是,他没有提供很多功能函数,只提供了一些函数式处理的操作,例如: _value)) } } Monad函子 解决函子嵌套的问题,Monad 函子是可以变扁的 Pointed 函子 IO(IO),一个函子如果具有join和of两个方法并遵循一些定律就是一个Monad
为了写好前端代码,我想通过一款 AI 辅助编程工具和我一起把前端代码写好,于是 CodeBuddy 开发工具来到了我的身边,结对编程,真香。下面我们来看下这款开发工具。 支持 MCP 协议:作为国内首个支持 MCP 协议的 AI 编程工具,Craft 能够直接打通测试、构建、部署整个流程,生成的代码可以直接发布上线投入使用。 和 Craft 结对编程 Craft 的功能是非常强大的,这次我们仅仅只用上帮我分析代码中的问题、添加代码注释。 如下图所示: 查看变更 我们通过 Git Diff 来查看文件变更内容,如下图所示: CodeBuddy 真是一个出色的编程助手! 这样的工具简直就是编程过程中的得力伙伴,真正做到了高效、便捷,大大提升了我们的开发效率! CodeBuddy Craft 成为了我的编程搭子!