开始自学

本文介绍了一位计算机科学硕士毕业生自学HTML5的过程,详细解析了如何使用HTML5创建一个具备播放、暂停及大小调整功能的视频播放器。文章通过实例代码,深入浅出地讲解了button、video及script等元素的应用。

前言

25岁的大学毕业生,正在美帝野鸡大学修读computer science的master学位。在第一个学期上完computer architecture和operating system两门专业课后,自觉靠这破学校的老师教的东西毕业后是没办法在美国获得opt工作的机会,遂而自学。

技能挑选

我选择了先学习HTML5,原因有以下几个:

  1. 语法简单,或者说没有语法
  2. 不需要安装IDE或者其他软件,新建一个txt文档再把后缀改成html便可
  3. 曾经学过php,重新学习html相当于复习,降低难度
  4. HTML属于前端,前端难度低不倚靠算法

学习路径

W3School学习HTML基本语法 >本地创建基础页面>W3School学习JavaScript》……

Day1

页面播放视频

代码如下

<!DOCTYPE html>
<html>
<body>

<div style="text-align:center;">
    <button onclick="playPause()">Play/Pause</button>
    <button onclick="makeBig()">Big</button>
    <button onclick="makeNormal()">Normal</button>
    <button onclick="makeSmall()">Small</button>
<br/>
    <video id="video1" width="420" height style="margin-top:15px;">
        <source src="/example/html5/mov_bbb.mp4" type="video/mp4">
        <source src="/example/html5/mov_bbb.ogg" type="video/ogg">
    Your Browser Does Not Support HTML5.
    </video>
</div>
<script type="text/javascript">
    var myVideo=document.getElementById("video1")
    function playPause()
        {
            if (myVideo.paused)
                myVideo.play();
            else
                myVideo.pause();
        }
    function makeBig()
        {
            myVideo.width=560;
        }
    function makeNormal()
        {
            myVideo.width=420;
        }
    function makeSmall()
        {
            myVideo.width=320;
        }
</script>
</body>
</html>

实现效果:

在这里插入图片描述

拆开分析 - 使用的对象

1. button
具体语句

    <button onclick="playPause()">Play/Pause</button>
onclick:赋予按键具有单击后有功能的属性
playPause():单击后的功能由这个函数实现
Play/Pause:按键上显示这段文本提示用户

2. video
具体语句

<video id="video1" width="420" style="margin-top:15px;">
    <source src="/example/html5/mov_bbb.mp4" type="video/mp4">
    <source src="/example/html5/mov_bbb.ogg" type="video/ogg">
Your Browser Does Not Support HTML5.
</video>
id:给目标视频赋予一个id,方便函数对视频进行操作
style:固定视频的位置
source:给出视频的来源

3.function (目前还不需要了解)

<script type="text/javascript">
    var myVideo=document.getElementById("video1")
    function playPause()
        {
            if (myVideo.paused)
                myVideo.play();
            else
                myVideo.pause();
        }
</script>
script:使用的函数都要放在script之内
var:先由目标的类型(video),确认需要用到哪些方法并赋值,接下来就可以方便使用对应的函数

学习目标

  • video
  • button
  • script

创建一个表格

示例表格:

类别1类别2类别3
项目a项目b项目c
项目d项目e项目f

接下来

学习内容
HTML
Markdown
JavaScript 和 HTML DOM 参考手册
基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制方法。通过结合数据驱动技术与Koopman算子理论,将非线性系统动态近似为高维线性系统,进而利用递归神经网络(RNN)建模并实现系统行为的精确预测。文中详细阐述了模型构建流程、线性化策略及在预测控制中的集成应用,并提供了完整的Matlab代码实现,便于科研人员复现实验、优化算法并拓展至其他精密控制系统。该方法有效提升了纳米级定位系统的控制精度与动态响应性能。; 适合人群:具备自动控制、机器学习或信号处理背景,熟悉Matlab编程,从事精密仪器控制、智能制造或先进控制算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①实现非线性动态系统的数据驱动线性化建模;②提升纳米定位平台的轨迹跟踪与预测控制性能;③为高精度控制系统提供可复现的Koopman-RNN融合解决方案; 阅读建议:建议结合Matlab代码逐段理解算法实现细节,重点关注Koopman观测矩阵构造、RNN训练流程与模型预测控制器(MPC)的集成方式,鼓励在实际硬件平台上验证并调整参数以适应具体应用场景。
提供了一套完整的基于51单片机的DDS(直接数字频率合成)信号波形发生器设计方案,适合电子爱好者、学生以及嵌入式开发人员学习和实践。该方案详细展示了如何利用51单片机(以AT89C52为例)结合AD9833 DDS芯片来生成正弦波、锯齿波、三角波等多种波形,并且支持通过LCD12864显示屏直观展示波形参数或状态。 内容概述 源码:包含完整的C语言编程代码,适用于51系列单片机,实现了DDS信号的生成逻辑。 仿真:提供了Proteus仿真文件,允许用户在软件环境中测试整个系统,无需硬件即可预览波形生成效果。 原理图:详细的电路原理图,指导用户如何连接单片机、DDS芯片及其他外围电路。 PCB设计:为高级用户准备,包含了PCB布局设计文件,便于制作电路板。 设计报告:详尽的设计文档,解释了项目背景、设计方案、电路设计思路、软硬件协同工作原理及测试结果分析。 主要特点 用户交互:通过按键控制波形类型和参数,增加了项目的互动性和实用性。 显示界面:LCD12864显示屏用于显示当前生成的波形类型和相关参数,提升了项目的可视化度。 教育价值:本资源非常适合教学和自学,覆盖了DDS技术基础、单片机编程和硬件设计多个方面。 使用指南 阅读设计报告:首先了解设计的整体框架和技术细节。 环境搭建:确保拥有支持51单片机的编译环境,如Keil MDK。 加载仿真:在Proteus中打开仿真文件,观察并理解系统的工作流程。 编译与烧录:将源码编译无误后,烧录至51单片机。 硬件组装:根据原理图和PCB设计制造或装配硬件。 请注意,本资源遵守CC 4.0 BY-SA版权协议,使用时请保留原作者信息及链接,尊重原创劳动成果。
### 如何系统地开始自学软件测试 #### 学习路径 为了成为一名合格的软件测试工程师,可以从以下几个方面入手: 1. **基础知识** 需要先掌握软件测试的基础理论知识,包括但不限于软件测试的定义、目的和基本原则。例如,测试早期介入原则强调在开发周期的初期就进行测试活动[^3]。此外,还需要熟悉不同类型的测试(如功能测试、性能测试)、测试级别(单元测试、集成测试等)以及常见的测试术语。 2. **测试用例设计** 掌握测试用例设计的方法是至关重要的技能之一。常用的黑盒测试技术有等价类划分、边界值分析等;而白盒测试则涉及代码覆盖率和路径覆盖等内容[^3]。学习这些方法可以帮助更有效地发现潜在缺陷。 3. **实践操作与工具使用** 自学过程中应当注重实际动手能力,在真实环境中运用所学知识解决问题。可以尝试安装并使用一些主流自动化测试框架或手动测试平台来加深理解[^4]。比如Selenium用于Web应用程序界面交互模拟;JMeter适用于负载压力下的性能评估等。 4. **项目经验积累** 参加开源项目的贡献或者自己构建小型应用来进行全方位的功能验证是非常有益的经历。这不仅能够锻炼个人技术水平还能提升简历竞争力[^2]。 5. **持续学习与发展规划** 行业技术更新迅速,保持好奇心不断探索新技术新趋势对于长期职业成长至关重要。可以通过阅读最新论文、参加研讨会等形式获取前沿资讯[^1]。 #### 工具推荐 以下是几款广泛应用于行业内的优秀工具供参考选用: - 手动测试:TestRail (管理测试案例) , Zephyr Scale etc. - 自动化脚本录制回放型工具:Katalon Studio, TestComplete etc. - API接口测试:Postman, SoapUI etc. - 性能压测:Apache JMeter, Gatling etc. #### 实践建议 - 制定合理的学习目标,并定期回顾调整进度; - 结合具体业务场景练习编写高质量的测试方案及报告文档; - 积极参与社区讨论分享心得收获反馈改进方向。 ```python # 示例Python代码片段展示简单的单元测试实现方式 import unittest class SimpleMathOperationsTestCase(unittest.TestCase): def test_addition(self): self.assertEqual(1 + 1, 2) if __name__ == '__main__': unittest.main() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值