自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hope_wisdom的技术博客

一起学习,一起成长,一起进步

  • 博客(366)
  • 收藏
  • 关注

原创 Python面试宝典第39题:盛最多水的容器

给定n个非负整数a1、a2、…、an,每个数代表坐标中的一个点(i, ai)。画n条垂直线,使得第i条垂直线的两个端点分别为(i, ai)和(i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:不能倾斜容器,且n的取值至少为2。

2024-08-26 06:30:00 114

原创 张可久,曲中之圣其人其曲

张可久是元代散曲的重要代表人物之一,其作品数量众多,风格多样,展现了元代散曲的艺术成就和发展水平。其作品语言优美,情感真挚,善于运用形象生动的语言来表达个人的情感和对社会现象的观察。他的许多作品都富有哲理意味,反映了他对人生、自然和社会的深刻思考。张可久的作品不仅在当时受到广泛传播,而且对明清乃至近现代的文学创作也产生了影响。他的作品被后人所借鉴和学习,成为研究元代文化和文学发展的重要资料。

2024-08-26 06:00:00 17

原创 实战OpenCV之绘制图形

OpenCV除了用于图像显示之外,还提供了一系列接口和工具,以帮助开发者在图像上绘制各种图形。这里的图形包括:直线、矩形、圆形、椭圆、多边形等。另外,OpenCV还支持在图像上添加文字,对多张图像进行叠加操作。

2024-08-24 08:33:24 2208 37

原创 Python面试宝典第38题:数组中的逆序对

在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。

2024-08-22 05:30:00 507 21

原创 Python面试宝典第37题:有效的完全平方数

完全平方数是一个可以写成某个整数的平方的整数,换句话说,它可以写成某个整数和自身的乘积。现给你一个正整数num,如果num是一个完全平方数,则返回true,否则返回false。注意:不能使用任何内置的库函数(比如:sqrt)。

2024-08-21 05:30:00 847 30

原创 Python面试宝典第36题:数组的交集

给定两个数组nums1和nums2,返回它们的交集 。输出结果中的每个元素一定是唯一的,我们可以不考虑输出结果的顺序。

2024-08-20 06:00:00 714 26

原创 杜牧,才情横溢的唐代文豪

杜牧性格开朗豪放,喜好饮酒,善于交际,与许多文人墨客有交往。虽然出身官宦之家,但杜牧并不热衷于官场,对政治腐败有所批判,这也反映在他的部分作品中。他的诗歌涉及历史、爱情、自然、田园等多个方面,风格清新自然,语言流畅,意境深远。杜牧在中国文学史上占据着重要位置,与李商隐齐名,共同代表了唐代后期诗歌的高峰。

2024-08-20 05:30:00 109 7

原创 Python面试宝典第35题:字符串相乘

给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。注意:不能使用任何内置的BigInteger库或直接将输入转换为整数。

2024-08-19 05:30:00 882 30

原创 实战OpenCV之图像的属性

图像的属性指的是描述图像基本信息的数据,包括但不限于:图像的尺寸、颜色通道数、像素数据类型等。这些属性对于图像处理非常重要,因为它们直接关系到如何正确地读取、处理和存储图像。

2024-08-19 05:30:00 885 15

原创 实战OpenCV之图像显示

OpenCV提供的功能非常多,图像显示是最基础也是最直观的一部分。它让我们能够直观地看到算法处理后的效果,对于调试和验证都至关重要。在OpenCV中,图像显示主要依赖于以下四个关键的数据结构和函数。

2024-08-15 05:30:00 2676 36

原创 Python面试宝典第34题:旋转图像

给定一个n × n的二维矩阵matrix表示一个图像,请你将图像顺时针旋转90度。注意:你必须在原地旋转图像。这意味着,你需要直接修改输入的二维矩阵,而不能使用另一个矩阵来旋转图像。

2024-08-14 06:00:00 633 25

原创 Python面试宝典第33题:电话号码的字母组合

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合,答案可以按任意顺序返回。给出数字到字母的映射如下图(与手机按键相同)。注意:1不对应任何字母。

2024-08-13 06:00:00 2639 10

原创 温庭筠,花间词派的璀璨明珠

温庭筠的词作情感细腻、意境深远,擅长以精致的笔触描绘自然景色和个人情感。他的词多表现男女之间的离别相思之情,风格婉约而不失豪放。温庭筠作为花间词派的先驱者之一,他的词作对后来的词人产生了很大的影响。他不仅在形式上开创了新的风格,还在内容上拓宽了词的表现范围,使得花间词派得以形成并流传下来。

2024-08-12 05:30:00 198 15

原创 Python面试宝典第32题:课程表

你这个学期必须选修numCourses门课程,记为0到numCourses - 1。在选修某些课程之前,需要一些先修课程。先修课程按数组prerequisites给出,其中prerequisites[i] = [ai, bi],表示如果要学习课程ai,则必须先学习课程bi。比如:先修课程对[0, 1]表示想要学习课程0,你需要先完成课程1。请你判断是否可能完成所有课程的学习?如果可以,返回true。否则,返回false。

2024-08-12 05:00:00 1349 21

原创 Python面试宝典第31题:字符串反转

编写一个函数,其作用是将输入的字符串反转过来,输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组,并使用O(1)的额外空间解决这一问题。备注:s[i]都是ASCII码表中的可打印字符。

2024-08-11 07:08:06 893 17

原创 Python面试宝典第30题:找出第K大元素

给定一个整数数组nums,请找出数组中第K大的数,保证答案存在。其中,1

2024-08-09 08:55:21 2045 19

原创 李煜,末代君王的词赋人生

在文学上,李煜的成就斐然。他的词作情感真挚,风格独特,前期多描绘宫廷生活的奢华与享乐,后期词风转向深沉悲凉,充满对故国的怀念与亡国之痛。最具代表性的作品莫过于《虞美人·春花秋月何时了》,其中“问君能有几多愁,恰似一江春水向东流”一句,将无尽的哀愁比作滔滔江水,抒发了他对故国的无限眷恋与无法言说的悲凉。李煜的词作不仅情感丰富,艺术手法也独具匠心。他善于运用比喻、象征等修辞,使词境深邃,情感细腻。他的词风对后世影响深远,尤其是对宋代词坛产生了重大影响,奠定了他在中国文学史上不可动摇的地位。

2024-08-08 06:00:00 284 23

原创 Python面试宝典第29题:袋鼠过河

一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子。每隔一米就有一个桩子,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳得更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米;如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了。给定每个弹簧的力量,求袋鼠最少需要多少跳能够到达对岸。如果无法到达,则输出-1。

2024-08-08 06:00:00 2568 13

原创 Python面试宝典第28题:合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为intervals[i] = [starti, endi],且endi大于starti。请合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。

2024-08-07 06:00:00 553 26

原创 实战OpenCV之环境安装与配置

OpenCV,英文全称为Open Source Computer Vision Library,是一个开源的计算机视觉和机器学习软件库。它设计用于提供一系列功能强大的算法,以帮助开发者处理图像和视频数据,实现各种视觉任务,包括:图像处理、视频分析、物体识别、人脸识别、动作识别、机器学习等。

2024-08-06 06:00:00 1345 12

原创 Python面试宝典第27题:全排列

给定一个不含重复数字的数组nums,返回其所有可能的全排列 。备注:可以按任意顺序返回答案。使用回溯法和迭代法求解本题的时间复杂度均为O(N * N!),这是因为,对于一个长度为N的序列,有N!种排列方式,每一种排列都需要O(N)的时间来构建。

2024-08-05 06:00:00 1252 23

原创 Python面试宝典第26题:最长公共子序列

一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。比如:"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的公共子序列是这两个字符串所共同拥有的子序列。现给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。如果不存在公共子序列 ,返回0。

2024-08-03 11:33:40 982 28

原创 Python面试宝典第25题:括号生成

数字n代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且有效的括号组合。递归法求解本题的时间复杂度主要取决于生成的括号组合的数量。对于n对括号,有效的括号组合数量遵循卡特兰数,其公式为C_n = (1/(n+1)) * (2n choose n)。卡特兰数的增长速度非常快,大约是 4^n / (sqrt(pi*n)*n^(3/2))。因此,时间复杂度为 O(C_n),即:O(4^n / sqrt(n))。空间复杂度主要由递归栈的深度决定,最坏情况下,递归栈的深度为2n,故空间复杂度为O(n)。

2024-08-02 06:00:00 1537 28

原创 Python面试宝典第24题:找不同的数

1、在一个整型数组中,数字都是两两相同,只有一个不同,请编写代码,最快找出这个不同的数字。2、在一个整型数组中,数字都是两两相同,只有两个不同,请编写代码,最快找出这两个不同的数字。

2024-08-01 06:00:00 576 3

原创 Python面试宝典第23题:分发糖果

n 个孩子站成一排,给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果。(1)每个孩子至少分配到 1 个糖果。 (2)相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的最少糖果数目 。

2024-07-31 06:00:00 1125 32

原创 Python面试宝典第22题:接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。暴力法通过遍历每个柱子,分别计算其左右两边的最大高度,从而确定当前位置能储存的雨水量。这种方法简单直接,但效率低下,时间复杂度为O(n^2),不适用于大规模数据。动态规划法利用两个数组分别记录从左到右和从右到左扫描过程中的最大高度,然后遍历每个柱子,计算雨水量。这种方法相比暴力法显著提高了效率,时间复杂度为O(n),空间复杂度也为O(n)。

2024-07-30 06:00:00 986 11

原创 Python面试宝典第21题:最大正方形

在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。对于每个矩阵中的元素,都需要尝试以其为起点的所有可能的正方形大小,直到达到矩阵的边界或遇到'0'停止。因此,对于每个元素,最坏情况下需要检查从1到该元素所在行和列的最小长度的所有正方形,导致总体时间复杂度为O(m*n*min(m,n)^2),其中m和n分别是矩阵的行数和列数。暴力法的空间复杂度相对较低,主要是存储原始矩阵的空间,即O(m*n)。动态规划法的时间复杂度为O(m*n)

2024-07-29 06:00:00 1490 22

原创 姜夔,师法自然的不仕道人

姜夔(kuí),字尧章,号白石道人,约生于南宋绍兴二十四年(公元1154年),卒于南宋嘉定十四年(公元1221年),享年67岁。他的艺术成就涵盖了诗词、散文、书法和音乐等多个领域,尤其在词作和音乐创作上造诣颇深,被后世誉为中国古代十大音乐家之一。

2024-07-29 05:00:00 140 8

原创 黄景仁,笔墨间的一抹清寒

黄景仁的一生,是诗与命运交响的悲歌。他的诗,不仅仅是个人情感的抒发,更是那个时代文人普遍困境的缩影。在那个华丽而压抑的乾隆盛世背后,黄景仁用自己的笔,勾勒出了一个又一个真实而动人的故事,让后人在品读中,感受到了超越时空的情感共鸣。

2024-07-26 20:33:00 324 4

原创 Python面试宝典第20题:精选问答题

装饰器是Python的一种语法糖,允许程序员在不修改原有函数定义的情况下,给函数添加额外功能。装饰器本质上是一个接受函数作为参数的函数,它返回一个新的函数。通常情况下,定义装饰器使用@decorator_func语法。

2024-07-26 08:19:38 1325 25

原创 Python面试宝典第19题:最小路径和

给定一个包含非负整数的m x n网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。

2024-07-25 08:29:38 1505 23

原创 Python面试宝典第18题:单词搜索

给定一个m x n的二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true。否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成。所谓相邻单元格,是那些水平相邻或垂直相邻的单元格。

2024-07-24 06:00:00 756 16

原创 Python面试宝典第17题:Z字形变换

将一个给定字符串 s 根据给定的行数numRows ,以从上往下、从左到右进行Z字形排列。比如:输入字符串为"PAYPALISHIRING",行数为3时,排列如下。最后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。

2024-07-23 06:00:00 1214 26

原创 Python面试宝典第16题:跳跃游戏

给你一个非负整数数组 nums ,你最初位于数组的第一个下标 ,数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true。否则,返回 false。

2024-07-22 06:00:00 878 21

原创 孟浩然,山水田园一山人

孟浩然的一生,虽未在官场上留下显赫的印记,却在中国文学史上留下了浓墨重彩的一笔。他的诗作,如同一股清泉,洗涤着后人心灵的尘埃,让人们在繁忙的现代生活中寻得一片宁静与安详。在每一个静谧的夜晚,翻开孟浩然的诗集,仿佛能听到那来自千年前的山水间,传来悠远的吟唱,引领我们回归心灵的家园。

2024-07-22 05:00:00 772 10

原创 陈子昂,革新者的诗意人生

陈子昂的政治生涯虽然短暂且充满挫折,但他那种不畏强权、勇于担当的精神,以及对国家和人民的深切关怀,至今仍为后人所敬仰。作为初唐到盛唐过渡时期的关键人物,陈子昂成为了一个文化符号,象征着文学由华丽转向深沉,由形式至上转为内容为王的转折点。他的文学成就和人生经历,成为了后世文人学习和效仿的对象。

2024-07-19 06:53:19 229 4

原创 Python面试宝典第15题:岛屿数量

在二维网格地图上,'1' 表示陆地,'0' 表示水域。如果相邻的陆地可以水平或垂直连接,则它们属于同一块岛屿。请进行编码,统计地图上的岛屿数量。比如:下面的二维网格地图,其岛屿数量为3。

2024-07-19 06:00:00 1176 16

原创 贺知章,诗酒风流一老翁

贺知章的诗歌以绝句见长,风格清新脱俗,淡中有味,善于在日常生活中捕捉诗意,表达真挚情感。贺知章在书法上的成就同样卓越,其书法风格独树一帜,既有唐人的严谨,又兼具晋人的流润与飞扬,被誉为“与造化相争,非人工所到”。作为“吴中四士”之一,贺知章在文学与艺术领域都有着不可忽视的地位,对唐代乃至整个中国文学史和书法史都产生了重要影响。

2024-07-18 06:00:00 483 23

原创 Python面试宝典第14题:背包问题

现有编号从 0 到 n - 1 的 n 个背包,给你两个下标从 0 开始的整数数组 capacity 和 rocks 。第 i 个背包最大可以装 capacity[i] 块石头,当前已经装了 rocks[i] 块石头(0

2024-07-17 06:00:00 857 23

原创 Python面试宝典第13题:最小高度树

树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,任何一个没有简单环路的连通图都是一棵树。给你一棵包含 n 个节点的树,标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 edges 列表(每一个边都是一对标签),其中 edges[i] = [ai, bi],表示树中节点 ai 和 bi 之间存在一条无向边(ai不等于bi)。

2024-07-16 06:00:00 552 15

IPC库 + 跨平台 + Ingenic芯片方案

专栏《手把手教你封装跨芯片方案的IPC通用库 》地址:https://blog.csdn.net/hope_wisdom/category_12186076.html 专栏《手把手教你封装基于君正芯片方案的IPC库 》地址:https://blog.csdn.net/hope_wisdom/category_12353290.html 1、所有源码严格遵守统一的编码规范。 2、手把手教学,让你从零开始,深入了解君正方案IPC库的方方面面。 3、纯C++接口,接口封装严谨,接口功能丰富,应用层调用简单便捷。 4、近二十年行业经验和技术积累打造的高质量商用级代码,架构清晰合理,便于扩展和维护。 5、绝不空谈概念和原理,实打实地进行源码的展示和要点的讲解。专栏一共15篇,已完结。 6、根据功能模块分章节进行详细介绍,每个章节可独立阅读,让你真正吃透每一个功能模块。 7、通过学习本专栏,你可以深入了解君正底层API、ISP使用、视频采集、音频采集、音频播放、云台电机控制、移动侦测、移动跟踪、人形检测等一系列君正芯片方案相关的专业知识。

2024-06-02

超级好用的C++实用库 + 跨平台 + 通用

对应专栏的地址为:https://blog.csdn.net/hope_wisdom/category_12641233.html 本专栏将介绍一个超级好用的C++实用库,可跨平台(包括:Windows、Linux等桌面操作系统,Android、iOS、鸿蒙等手机操作系统,海思、富瀚微、君正等嵌入式操作系统)使用,内容包括:base64编解码、des加解密、md5信息摘要算法、sha256算法、socket封装类、字节流合成器、字节流解析器、互斥锁、文件类、点阵字体、地理相关接口类、日志类、内存缓冲区类、环形内存池、字符编码转换类、线程基类等。 超级好用的C++实用库的源码

2024-05-23

微信小程序+淘宝客完整源码+PHP后台

微信淘宝客小程序源码是一款专为淘宝客设计的小程序应用,用户可通过小程序便捷搜索、浏览、分享淘宝商品,每成功引导一次购买,淘宝客即可获得相应佣金。核心功能包括: 商品搜索与筛选:集成淘宝联盟API,支持关键词搜索、类目筛选、销量排序、价格区间过滤等精细化查找商品。 商品详情展示:呈现商品图片、价格、销量、评价等详细信息,一键生成专属推广链接或二维码,方便用户分享至微信好友、群聊或朋友圈。 订单跟踪与佣金统计:实时同步淘宝联盟后台数据,展示推广订单状态、预计佣金、结算周期等信息,帮助淘宝客清晰掌握收益情况。 个人中心与设置:用户可查阅账户余额、提现记录,设置收款信息,参与推广任务,接收系统通知等,实现一站式淘宝客运营管理。 社交裂变与营销工具:内置邀请好友、拼团、优惠券等营销插件,鼓励用户邀请新用户注册,提升平台活跃度与用户黏性。

2024-04-27

微信小程序+云商城+PHP后端

技术栈 Codeigniter LeanCloud Bootstrap Admin-LTE jQuery fex-webuploader Codeigniter是一个老牌的php框架,零配置,文档极其丰富。它没有ORM,没有模板引擎,用它,只是因为够用了,LeanCloud自身就是ORM,而PHP天生就是模板语言,所以CI有没有ORM与模板引擎也无所谓。 后台界面,使用了Admin-LTE,它是基于Bootstrap的一套UI,打包了很多现成的组件,菜单目录树,表格,下拉框,颜色选择器,编辑器,日历,报表,聊天窗口。 在登录与修改页面,还用到vue+element-ui

2024-04-27

微信小程序+百货商城源码

百货商城小程序源码是专为移动端设计的商城解决方案,它集成了商品浏览、购物车管理、在线支付、物流跟踪等核心功能。此源码以微信小程序为载体,具有轻便、快捷的特点,便于用户在手机上随时随地进行购物。源码简洁高效,易于商家进行个性化定制,以满足特定的业务需求。通过使用百货商城小程序源码,商家可以迅速拥有一个功能完善的移动端商城,为用户提供便捷的购物体验,从而促进销售增长。

2024-04-27

pyhon小游戏+碰撞检测+贪吃蛇+练手

玩法介绍: 回车键:开始游戏 空格键:暂停 / 继续 运行前,请安装pygame包:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame 贪吃蛇这个游戏很简单,屏幕上随机出现一个点,表示“食物”,上下左右控制“蛇”的移动,吃到“食物”以后“蛇”的身体加长,“蛇”碰到边框或自己的身体,则游戏结束。 我们先来分析一下,要写出这个游戏来需要注意哪些点。 1、蛇怎么表示 我们可以将整个游戏区域划分成一个个的小格子,由一组连在一起的小格子组成“蛇”,我们可以用不同的颜色来表示,如上图中,我以深色表示背景,浅色表示“蛇”。 我们可以用坐标来表示每一个小方格,X 轴和 Y 轴的范围都是可以设定好的。用一个列表来存放“蛇身”的坐标,那么一条“蛇”就出来了,最后只要显示的时候以不同的颜色表示即可。 2、蛇怎么移动? 第一反应就是像蚯蚓蠕动一样,每一个小方块向前移动一格,但这样实现起来很麻烦。一开始就是被这里卡住了。

2024-03-16

Linux常用命令大全(从入门到精通)

在开源世界中,Linux操作系统凭借其稳定、高效和强大的特性赢得了广泛的赞誉。而掌握Linux命令行工具是每位Linux用户必备的基本技能,它能极大地提升系统管理、编程开发、运维部署等方面的工作效率。本文将对Linux的常用命令进行详尽解读,力求覆盖文件操作、系统信息查询、进程管理、搜索查找等多个维度,帮助您构建坚实的Linux命令行使用基础。 一、文件与目录操作 二、文件内容查看与编辑 三、系统信息查询与管理 四、搜索与查找 五、网络相关命令 六、其他常用命令 1. uname:查看系统信息,如uname -a可以输出详细的系统内核信息。 2. whoami:显示当前登录用户名。 3. id:显示用户的UID、GID及附加组信息。 4. pwd:打印当前工作目录路径。 5. top 或 htop:动态显示系统中各个进程的状态信息,包括CPU占用率、内存使用情况等。 6. ps:报告当前系统的进程状态,结合aux参数使用可以获取更多信息,如ps aux。

2024-03-05

音视频领域相关的基础知识

说到视频,大家自己脑子里基本都会想起电影、电视剧、在线视频等等,也会想起一些视频格式 AVI、MP4、RMVB、MKV等等。 但是我们如果认真思考这些应该就有很多疑问,比如以下问题: • mp4 和 mkv有什么区别 ? • 视频封装格式 和 解码格式 有什么区别? • 什么是H.264 ?什么是 mpeg ? 等等很多疑问,我们不知道这些问题的答案是因为我们没有去了解他们背后的东西,下面我会给大家分享当初我学习时候的整理的一些知识。 以下会介绍的内容: 一、光与颜色 二、电视制式 三、照相机与摄像机 四、声音 五、视频相关专业术语 六、视频的构成 七、播放一个网络上视频需要的步骤

2024-02-29

C&C++编程规范(超级实用)

1. 文件结构 1.1 版权和版本的声明 1.2 头文件的结构 1.3 定义文件的结构 1.4 目录结构 2. 程序版式 2.1 空行 2.2 代码行 2.3 代码行内的空格 2.4 对齐 2.5 长行拆分 2.6 修饰符的位置 2.7 注释 2.8 类的版式 3 命名规则 3.1 共性规则 3.2 Windows 应用程序命名规则 3.3 Linux 应用程序函数命名规则 4. 表达式和基本语句 4.1 运算符的优先级 4.2 复合表达式 4.3 if 语句 4.3.1 布尔变量与零值比较 4.3.2 整型变量与零值比较 4.3.3 浮点变量与零值比较 4.3.4 指针变量与零值比较 4.4 循环语句的效率 4.5 for 语句的循环控制变量 4.6 switch 语句 4.7 goto 语句 5. 常量 5.1 const 与#define 的比较 5.2 常量定义规则 6. 函数设计 6.1 参数的规则 6.2 返回值的规则 6.3 函数内部实现的规则 6.4 其它建议 6.5 使用断言 6.6 引用与指针的比较 软件测试系列 7 重载和内联 7.1 普通函数重载 7.2 内联

2024-02-13

软件开发培训之深度学习基本概念和原理

第一阶段: 模拟人类神经元 感知机模型 第二阶段: 分布式知识表达 神经网络反向传播 非线性分类 卷积神经网络 第三阶段: 海量数据 计算性能大幅提升 深度神经网络兴起 一个标准的卷积神经网络,主要包括:输入层(Input Layer)、卷积层(Convolutional Layer)、池化层(Pooling Layer)、激活层(Activation Layer)、全连接层(Fully Connected Layer)、损失层(Loss Layer)。 深度学习框架:Caffe/Caffe2、TensorFlow、MXNet、PyTorch等。 基本原理: 1、神经网络由其权重来参数化。 2、损失函数用来衡量网络输出结果的质量。 3、将损失值作为反馈信号来调节权重。 4、前向传播与反向传播。 5、梯度下降法。

2024-02-13

软件开发培训之如何编写优雅的代码

何为优雅的代码? □ 遵守规范 优雅的代码,首先让人看起来就是很整洁的。而这种整洁,则来源于代码规范。严格地遵守代码规范,是提高且保证代码质量的最有效方法。从个人开发的角度来看,一份良好的代码规范,能够对代码整洁起到指导帮助作用。从多人协作的角度来看,统一的代码规范能够有效减少沟通的阻碍。 □ 逻辑清晰 代码是逻辑的产物。编写代码时,业务相关的逻辑一定要清晰明确,不能模棱两可。除此之外,对于所定义的变量、代码块、数据结构、方法、类、模块等,也要有逻辑地组织它们。 □ 严谨可靠 严谨的代码,才能保证它的可靠性,减少bug的发生几率。一份代码即使严格遵守了代码规范,但思考不全面,逻辑不严谨,到处都是各种漏洞和bug,也不能称之为优雅。 □ 平均来说,一次编写的代码会被阅读十次,所以尽力保持代码优雅是有意义的。当养成习惯之后,你会发现基本不需要花什么力气,更优雅、更具维护性的代码很快就会产生收益。 □ 优雅的代码有助于理解开发语言、模式和架构,也有利于提升开发水平。

2024-02-13

软件开发培训之JavaScript ES6介绍

ES6,全称ECMAScript 6.0,正式名称为ECMAScript 2015,是JavaScript的下一个版本标准,于2015年6月17日发布。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 1997年,ECMAScript 1.0诞生。 1998年6月,ECMAScript 2.0诞生,包含一些小的更改,用于同步独立的ISO国际标准。 1999年12月,ECMAScript 3.0诞生,在业界得到了广泛的支持,它奠定了JS的基本语法。 2000年的ECMAScript 4.0是ES6的前身,但由于这个版本太过激烈,所以暂时被“和谐”了。 2009年12月,ECMAScript 5.0版正式发布。ECMA专家组预计ECMAScript的第五个版本会在2013年中期到2018年作为主流的开发标准。2011年6月,ES 5.1版发布,并且成为ISO国际标准。 2013年,ES6草案被冻结,不再添加新的功能,新的功能将被放到ES7中。 2015年6月,ES6正式通过,成为国际标准。 ES6新特性包括:let关键字、const关键字等。

2024-02-13

软件开发培训之TypeScript简介

□ TypeScript起源于使用JavaScript开发的大型项目。由于JavaScript语言本身的局限性,难以胜任和维护大型项目开发,因此微软开发了TypeScript,使得其能够胜任开发大型项目。 □ TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行于任何浏览器,任何操作系统。 □ 2012年10月,微软发布了首个公开版本的TypeScript。2013年6月19日,在经历了一个预览版之后,微软发布了正式版的TypeScript。 □ TypeScript的作者是安德斯·海尔斯伯格,他也是C#的首席架构师。 TypeScript是一种给JavaScript添加特性的语言扩展,是JavaScript 的一个超集。 具体特性包括:类型批注、接口、装饰器、模块、类、泛型等。

2024-02-13

软件开发培训之如何理解设计模式

□ 设计模式描述了在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该解决方案而不必重复劳动。 □ 设计模式实际上就是类与相互通信的对象之间的组织关系,包括它们的角色、职责、协作方式等方面。 □ 设计模式通常和面向对象编程结合起来使用。面向对象设计模式是“好的面向对象设计”,所谓“好的面向对象设计”是指那些可以满足 “应对变化,提高复用”的设计。 □ 现代软件设计的特征是:需求频繁变化。设计模式的要点是:寻找变化点,然后在变化点处应用设计模式,从而来更好地应对需求的变化。 □ 软件开发是一项实践工作,最直接的方法就是编程。没有从来不下棋却熟悉定式的围棋高手。掌握设计模式是水到渠成的事情,不要强求。随着理论和实践的不断积累,可能会“渐悟”或者“顿悟”。 □ 设计模式解决的是设计不足的问题,但同时也要避免设计过度。一定要牢记简洁原则,要知道设计模式是为了使设计简单,而不是更复杂。如果引入设计模式使得设计变得复杂,只能说我们把简单问题复杂化了,问题本身不需要设计模式。

2024-02-13

软件开发培训之深度学习简介

人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 机器学习(Machine Learning)是指用某些算法指导计算机利用已知数据得出适当的模型,并利用此模型对新的情境给出判断的过程。 深度学习(Deep Learning)的概念源于人工神经网络的研究,它通过组合低层特征形成更加抽象的高层特征,以发现数据的分布式特征表示。 1、深度学习的发展历程。 2、深度学习的应用领域。 3、深度学习的未来展望。

2024-02-13

软件开发培训之64位程序开发注意事项

□ 64位Windows系统下也能运行32位程序,是因为有一个WOW64子系统。它能将32位应用程序的API调用转换成对原生64位系统的调用。正是因为WOW64的存在,32位应用程序在64位系统下并不能发挥最佳的性能,反而比在32位系统下有大约2%的性能损失。如果开发的是64位应用程序,则不需要依赖WOW64运行,并可带来大约5%-15%的性能提升(5%-10%由于采用了64位架构,1%-5%由于未使用WOW64)。 □ 32位程序的最大地址空间是4GB,64位程序的最大地址空间是可以大于4GB的。 □ 64位程序不再区分cdecl、stdcall等各种调用方式。gcc在64位下面,不再支持__attribute((cdecl))__和__attribute((stdcall))__。 □ 64位程序不再使用ESP,而是使用增加的几个64位寄存器,因为ESP不支持64位空间的栈。 □ 虽然在64位Windows系统下可以运行64位和32位进程,但是64位代码和32位代码不能在相同进程上运行。你的代码要么全部是64位,要么全部是32位,要加载的库和组件也要满足这一要求。

2024-02-13

软件开发培训之如何全面思考问题

□ 在软件开发中,对一个问题思考得越全面,编写出的代码就会越严谨,出现bug的几率就越低;反之,如果没有对一个问题进行全面而深入的思考,编写出的代码就会漏洞百出,出现各种莫名其妙、无法复现的bug的几率也就急剧增加。 实例1:输入若干个整数作为数组,将数组中每一个元素除以第一个元素的结果,作为新的数组元素值。 实例2:封装一个函数,用于实现内存拷贝,函数原型如下: void *memcpy(void *dest, const void *src, size_ 实例3:在嵌入式软件开发中,通常将用户的一些选项配置保存到Flash中的特定区域。实际使用时,嵌入式硬件经常会发生异常断电等情况,如果此时正在将选项配置写入Flash,则会导致选项配置数据被损坏。一般采用掉电备份机制来解决该问题,请简要叙述该机制的工作原理。 实例4:蚂蚁爬杆问题。 实例5:我们的模组进行升级时,支持升级uboot、内核、根文件系统和程序。以升级程序为例,我们在升级时的大致流程是什么样的?有哪些需要注意的地方?

2024-02-13

软件开发培训之指针使用注意事项

□ C语言之父丹尼斯·里奇曾说过:“C语言诡异离奇,陷阱重重,却获得了巨大成功!”这句话一方面体现了C语言的灵活性以及广泛的使用,另一方面也体现了C语言的复杂性。在使用C/C++遇到的所有陷阱和问题中,和指针相关的占了绝大部分。 □ C/C++是灵活度和自由度较大的编程语言,指针更是让程序员可以越过安全的栅栏,对某些内存区域进行破坏性访问,从而引发安全风险和严重问题。 □ C/C++的指针是一把双刃剑,为我们带来灵活性的同时,也带来了各种各样的问题(使用不当的话)。有人曾统计过,C/C++程序员处理的所有bug中,有一半是由指针引起的bug。可想而知,指针中包含的陷阱是多么可怕。 □ 要想在编写代码的时候尽可能避免指针带来的各种陷阱和问题,就需要知道不恰当地使用指针到底会引发哪些问题, 为什么会引发这些问题,以及如何去解决这些问题。 1、使用空指针 2、使用指向随机内容的指针 3、使用野指针 4、不恰当的指针声明 5、访问指针越界或溢出 6、内存泄露

2024-02-13

软件开发培训之结构体使用注意事项

1、结构体变量初始化。 (1)顺序初始化。 (2)指定初始化。 (3)构造函数初始化。 2、结构体变量赋值。 3、结构体对齐,包括: (1)字节对齐。 (2)协议设计中的字节对齐。 (3)Win32平台下的微软C编译器的对齐策略。 (4)GNU GCC编译器的对齐策略。 (5)含位域的结构体对齐。 (6)字节对齐测试。 (7)结构体对齐总结。

2024-02-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除