当前位置: 首页 > news >正文

Python测试进阶(一)

文章目录

  • 测试框架
    • pytest
      • Mark
      • skip
      • 参数化
      • 异常处理
    • 数据驱动
  • Allure
    • 集成
    • 生成报告
  • Fixture
    • 基操
    • 作用域
    • yield
    • 数据共享
    • 自动应用
    • 参数化
  • ini
    • 运行规则
    • 配置命令行参数
    • 指定/忽略执行目录
    • 配置日志
  • 插件开发
    • 常用插件
    • 分布式并发
    • 自定义插件
    • 打包发布
  • hook
  • 小结

测试框架

  • 先了解unittest
  • 问题分析
    • 自动化测试前,需要准备好数据,测试完成后,需要自动清理脏数据
    • 自动化测试中,需要使用多套测试数据实现用例的参数化,有没有便捷的方式?
    • 自动化测试后,如何优雅的生成报告?
  • pytest框架可以满足以上的需求

pytest

  • 优点
    • 支持单元测试和复杂功能测试,兼容unittest
    • 结合requests实现接口测试,还可以结合selenium,appium实现自动化功能测试
    • 结合Allure集成到Jenkins实现持续集成
    • 支持300+插件并可以自定义插件
  • 安装
    • pip install -U pytest
  • 使用规则
    • 测试文件要以test_开头,或者_test结尾
    • 类要以Test开头
    • 方法/函数(无需继承类),要以test_开头
    • 测试类不能写__init__方法
  • PyCharm配置
    • 默认Test Runner
      1
    • demo
      def inc(x):return x+1def test_assert():assert inc(4) == 5class TestAnswer():def test_demo(self):assert 1==1
      
  • 命令行执行case方式
    • 运行:pytest,会执行当前目录下所有测试文件
    • 运行:pytest test_demo.py,执行这个文件的所有case
    • 运行:pytest test_demo.py::test_assert1,执行文件下某个函数case
    • 运行:pytest test_demo.py::TestDemo,执行这个文件的这个类下的所有case
    • 运行:pytest test_demo.py::TestAnswer::test_demo2,执行类下面某个方法case
    • 总之,通过::递进
  • 命令行参数
    • 参数介绍
      3
    • demo,具体的用例在下面
      4
      5
  • setup/teardown
    • 规则
      2
    • demo,在terminal使用-v -s参数运行
      # 模块(文件)级别,当前文件(suite)下所有case前后执行一次
      def setup_module():print("\n连接资源")def teardown_module():print("\n释放资源...")# 函数级别,每个函数case执行前后
      def setup_function():print("\n函数资源准备")def teardown_function():print("\n函数资源释放...")def inc(x):return x+1def test_assert1():assert inc(4) == 5def test_assert2():assert inc(3) == 4class TestAnswer():# 类级别,只在所有类方法前后执行一次def setup_class(self):print("\nsetup class")def teardown_class(self):print("\nteardown class...")def setup_method(self):print("\nclass method setup")def teardown_method(self):print("\nclass method teardown...")def test_demo1(self):assert 1==1def test_demo2(self):assert 2==2
      

Mark

  • 一个module(测试文件)里可能需要一部分不运行,或只运行某些case
  • 命令行一个个指定太麻烦,可以在编写case时加上标记
    • 比如某些case只在Web测,有些只在APP测
  • 自定义marker,标记测试用例:@pytest.mark.xxx
    # 模块(文件)级别,当前文件(suite)下所有case前后执行一次
    import pytestdef setup_module():print("\n连接资源")def teardown_module():print("\n释放资源...")# 函数级别,每个函数case执行前后
    def setup_function():print("\n函数资源准备")def teardown_function():print("\n函数资源释放...")def inc(x):return x+1@pytest.mark.integer
    def test_assert1():print("test print with -s param")assert inc(4) == 5@pytest.mark.integer
    def test_assert2():assert inc(3) == 4class TestAnswer():# 类级别,只在所有类方法前后执行一次def setup_class(self):print("\nsetup class")def teardown_class(self):print("\nteardown class...")def setup_method(self):print("\nclass method setup")def teardown_method(self):print("\nclass method teardown...")@pytest.mark.chardef test_demo1(self):assert 1==1@pytest.mark.chardef test_demo2(self):assert 2==2
    
  • 运行:pytest test_demo1.py -vs -m "integer"
    • 或者 pytest .\test_demo1.py -vs -m "not char"
  • 但我们发现有很多warning,因为pytest定义好了一些marker(比如skip),不用它的就会警告
    • 怎么不报警呢?新建 pytest.ini 文件
      [pytest]
      markers = integerchar
      
    • 让pytest接受我们自定义的marker

skip

  • 跳过某些case的另一种方法,也支持条件过滤
    import sys
    import pytest@pytest.mark.skip
    def test_demo1():print("skip this case")assert True@pytest.mark.skip(reason="开发还没写代码")
    def test_demo2():assert Falsedef check():return False# 测试代码里不满足某个条件,直接跳过,有点像skipif
    def test_demo3():print("test skip")if not check():pytest.skip("unsupported")print("end")@pytest.mark.skipif(sys.platform=="win32", reason="this kind of platform is not supported!")
    def test_demo4():assert True
    
  • mark.xfail,如果case执行成功则XPASS,如果失败则标记为XFAIL,主要是提示的作用,表示这里有个bug还没解决,我们后续可以通过 pytest test_demo1.py -vs -m "xfail" 执行这部分
    @pytest.mark.xfail
    def test_fail1():assert Falsexfail = pytest.mark.xfail # 定义装饰器@xfail
    def test_fail2():assert Truedef test_fail3():print("start test")pytest.xfail("功能代码未实现,失败") # 直接让case失败在这里,类似skipprint("end")
    

参数化

  • 参数化设计方法就是将模型中的定量信息变量化,使之成为可以任意调整的参数
  • 比如要测试搜索框,搜索内容应该可传参,可以参数化;类似unittest + ddt
  • 单参数和多参数
    import pytestsearch_name = ['selenium', 'appium', 'ut', 'pytest']@pytest.mark.parametrize('name', search_name) # 4个case,取决于参数个数
    def test_param1(name):assert name in search_name@pytest.mark.parametrize("_input, expected", [('3+5', 9), ('4+4', 8)])
    def test_param2(_input, expected):assert eval(_input)+1 == expected
    
  • ids参数指定case名字,默认是你写的case名称,再拼上参数,参数之间用-连接,
    1
  • 笛卡尔积,用的比较少
    @pytest.mark.parametrize('p1', ['1','2','3'])
    @pytest.mark.parametrize('p2', ['4','5','6'])
    def test_param3(p1, p2):print(p1, "===", p2)
    
    2
  • 补充:命令行参数
    • --lf,即 --last-failed,只重新运行失败的cass,(为啥不是 --of)
    • --ff,即 --failed-first,先执行上次失败的case,再执行其他测试
      3
  • Python命令直接执行pytest测试
    • 命令:python test_demo1.py
      # test_demo1.py
      # 模块(文件)级别,当前文件(suite)下所有case前后执行一次
      import pytestdef setup_module():print("\n连接资源")def teardown_module():print("\n释放资源...")# 函数级别,每个函数case执行前后
      def setup_function():print("\n函数资源准备")def teardown_function():print("\n函数资源释放...")def inc(x):return x+1@pytest.mark.integer
      def test_assert1():print("test print with -s param")assert inc(4) == 5@pytest.mark.integer
      def test_assert2():assert inc(3) == 4class TestAnswer():# 类级别,只在所有类方法前后执行一次def setup_class(self):print("\nsetup class")def teardown_class(self):print("\nteardown class...")def setup_method(self):print("\nclass method setup")def teardown_method(self):print("\nclass method teardown...")@pytest.mark.chardef test_demo1(self):assert 1==2@pytest.mark.chardef test_demo2(self):assert 2==2# python test_demo1.py
      if __name__ == '__main__':# pytest.main()   # 执行当前目录下的所有case,不只是这个文件# 传参,指定case# pytest.main(['test_demo1.py::TestAnswer::test_demo2', '-v'])# 指定Markpytest.main(['test_demo1.py', '-v', '-m', 'char'])
      
    • 主要是为了避免后期在shell脚本同时使用python和pytest命令

异常处理

  • 第一种方式就是try...except...
    1
  • 第二种方式,pytest封装了raises
    def test_raises():# 期望是Value异常with pytest.raises(ValueError) as exp:# 这里面就是我们测试功能的代码,比如用户输入非法值,看是不是我们期望的异常raise ZeroDivisionError('Value must gt 18') # 假装抛出异常,这种情况,case就会fail# assert exp.type is ValueError # 这两句没必要写,逻辑冗余# assert exp.value.args[0] == 'Value must gt 18'
    

数据驱动

  • pytest结合数据驱动测试(DDT)
  • 通过参数化直接实现DDT,demo
    • 配置文件,./env.yaml
      test: 127.0.0.1
      
    • case
      import pytest
      import yamlclass TestDemo:@pytest.mark.parametrize('env', yaml.safe_load(open('./env.yml')))def test_demo1(self, env):if 'test' in env:print("测试环境")print(env)  # test, 只能打印出keyelif 'dev' in env:print("开发环境")
      
    • 如果想打印出全部信息,需要修改yml的写法
      -test: 127.0.0.1t2: 10086-t3: 10010
      
    • 从结果可以看出,yml文件的所有信息作为一个参数列表,一个 - 容纳一个字典,作为列表的一个元素,对应一个case
      class TestDemo:@pytest.mark.parametrize('env', yaml.safe_load(open('./env.yml')))def test_demo1(self, env):if 'test' in env:print("测试环境")print(env)  # {'test': '127.0.0.1', 't2': 10086}print(env['test']) # 127.0.0.1elif 'dev' in env:print("开发环境")def test_yml(self):# [{'test': '127.0.0.1', 't2': 10086}, {'t3': 10010}]print("\n", yaml.safe_load(open('./env.yml')))
      
    • 这里只是做个准备,一般不直接写参数
  • 通过pytest(参数化) + Excel实现DDT
    • 安装工具:pip install openpyxl,及基本用法
      import openpyxl# 打开工作簿
      book = openpyxl.load_workbook('./test.xlsx')
      # 读取工作表
      sheet = book.active
      # 读取单元格
      c1 = sheet['A2']    # Cell 对象
      c2 = sheet.cell(column=1, row=3)
      # 读取一片
      c3 = sheet['A1':'C3']
      # 获取单元格的值
      print(c1) # roy
      print(c3[0][0].value)   # Name
      
    • 准备数据,传给case,驱动测试;当然,离不开参数化
      1
      2
    • 注意目录结构
  • 通过pytest + CSV/JSON实现DDT
    • csv的特点是以逗号/制表符分隔字段,纯文本形式,可以直接用with open打开,Excel可直接改为CSV文件
    • json的特点是由嵌套的键值对组成,值的形式多样,可以是字符串、数组,内置json包
    • 文件操作可以搜一搜看一看,枯燥;其他和上面Excel一样,不赘述
  • 以上这部分是 pytest 基操,后续还有很多补充

Allure

  • 使用Allure定制测试报告
  • 优点:
    1
  • 官网
  • 文档
  • 安装
    • Java环境(建议1.8,但我是Java17)
    • 安装Allure(建议2.13),下载
  • Allure支持多语言是因为它基于XUnit开发的
    • xUnit中的 x 代表不同语言,Java就是JUnit,python就是unittest

集成

  • 测试和报告是不分家的,虽然Allure是个独立的报告框架,但还是要集成到不同语言的测试框架中使用
  • 集成到pytest
    • 安装:pip install allure-pytest
  • 常用方法
    • 一般以装饰器形式使用
      2
  • demo-title
    • 新建result目录,存放临时结果
      import allureclass TestSearch:@allure.title("搜索:测试")def test_demo1(self):print("demo1")
      
    • 命令行:pytest test_allure.py --alluredir ./result --clean-alluredir,pytest --help
    • 查看报告:allure serve ./result
      3
  • demo-feature/story
    • 测试框架不同,但一般我们称一个测试文件为 suite(或者说module),suite里面可以有多个类,称为 case(或feature/TestCase),每个case里面又可以包含多个具体的用例,称为 story,story有时还可进一步分为多个 keyword
    • 也就是:suites > suite > case/feature/TestCase > story/keyword,有些框架 TestCase 下面就是keyword,本质是看谁在安排具体的测试过程,pytest中是story;不必纠结这个,理清层次就行
      import allure@allure.feature("登录模块")
      class TestLogin:# 不加说明会有warning@allure.story("登录成功")def test_login_success(self):print("success")@allure.story("登录失败")def test_login_fail(self):print("fail")
      
    • 可以在下方看到指定的 features;SUITES包含所有suite
      4
      5
    • feature也可以作为Marker:pytest .\test_feature.py --allure-features="登录模块" --alluredir=./result --clean- alluredir 只运行这个feature的story
    • 同样的,--allure-stories 指定跑哪些story
  • demo-step
    • 给story下面的步骤划分step,一般以页面切换为分割点
      @allure.feature("登录模块")
      class TestLogin:# 不加说明会有warning@allure.story("登录成功")@allure.title("fail")def test_login_success(self):with allure.step("1. 打开登录界面"):print("login page")print("输入用户名密码...")with allure.step("2. 跳转到首页"):print("首页...")
      
    • 会分开展现
      6
  • demo-link
    • 使用链接的方法有多种,包括 link/issue/testcase
    • pytest test_link.py --alluredir ./result --allure-link-pattern=issue:http://www.bug-platform.com/{} --clean-alluredir
      TEST_CASE_LINK = 'https://github.com/qameta/allure-integrations/issues/8#issuecomment-268313637'# 链接 + 名称
      @allure.link('https://www.youtube.com/watch?v=Su5p2TqZxKU', name='Click me')
      def test_with_named_link():pass# 140这个位置一般是bug号,可以接入自己公司的bug平台,命令行要配置:
      # pytest directory_with_tests/ --alluredir=/tmp/my_allure_report --allure-link-pattern=issue:http://www.myself-bug-platform.com/issue/{}
      @allure.issue('140', 'Pytest-flaky test retries shows like test steps')
      def test_with_issue_link():pass# 超链接到上面的link, 看起来和link好像没什么区别
      @allure.testcase(TEST_CASE_LINK, 'Test case title')
      def test_with_testcase_link():pass
      
      7
  • demo-级别
    • 有五种级别可以设置
      8
    • 设置了severity,也相当于设置了一个Marker,跑指定级别的case:pytest .\test_severity.py --allure-severities=blocker,trivial --alluredir=./result
      import alluredef test_with_no_severity_label():pass# Blocker
      @allure.severity(allure.severity_level.BLOCKER)
      def test_with_blocker_severity_label():assert 1==2@allure.severity(allure.severity_level.TRIVIAL)
      def test_with_trivial_severity():assert 2==4@allure.severity(allure.severity_level.NORMAL)
      def test_with_normal_severity():pass@allure.severity(allure.severity_level.NORMAL)
      class TestClassWithNormalSeverity(object):def test_inside_the_normal_severity_test_class(self):pass@allure.severity(allure.severity_level.CRITICAL)def test_inside_the_normal_severity_test_class_with_overriding_critical_severity(self):pass
      
      8
  • demo-添加附件
    • 附件的类型有很多种
      class TestLogin:def test_login_success(self):with allure.step("1. 打开登录界面"):print("login page")allure.attach.file("./sisi.jpg", name="wechat", attachment_type=allure.attachment_type.JPG)with allure.step("2. 跳转到首页"):print("首页...")
      
    • 比如添加个图片
      9

生成报告

  • 上面使用 allure serve 命令得到在线报告,其实测试报告的生成有完整流程
    1
  • 最终版本的测试报告,意思就是不依赖IDE的allure进程,可以移植到自己搭建的服务器或者Jenkins
    • 生成报告:allure generate ./result
    • 打开:allure open -h 127.0.0.1 -p 8883 ./allure-report,或者在IDE直接打开 index.html,但不能在文件夹直接打开(需要服务器解析,不是静态文件)
  • 具体用法在学到Jenkins就知道了

Fixture

  • Fixture :固定装置
  • pytest提供的装饰器,可以更加灵活的安排用例的执行、需要的前置/后置操作等
  • 官方文档,参数及许多内置的 fixture 都可以找到

基操

  • 比如有些用例的执行不需要登录,有些需要;使用 setup 就不行,逐个在用例里 login 太繁琐
    import pytest@pytest.fixture
    def login():print("\n登录成功")# 需要登录,传入被fixture的函数即可
    def test_card(login):print("加入购物车成功")
    
  • 相当于随时随地 setup,文明又卫生

作用域

  • 类似setup、setup_module 等,在这个作用域里都要执行某个 Fixture
  • 主要分为这几个 scope,可以到源码里看注释
    1
  • 函数级别,注意:还是要在具体函数里面调用 login
    @pytest.fixture(scope="function")
    def login():print("\n登录成功")def test_card(login):print("加入购物车成功")def test_search(login):print("搜索商品")
    
  • 模块级别,在所有用例之前执行一次,类似 setup_module
    @pytest.fixture(scope="module")
    def login():print("\n登录成功")def test_card(login):print("加入购物车成功")def test_search(login):print("搜索商品")
    
  • class级别,注意:这里的每个函数也被当做类
    @pytest.fixture(scope="class")
    def login():print("\n登录成功")def test_card(login):print("加入购物车成功")def test_search(login):print("搜索商品")class TestClass:def test_demo1(self, login):print("class 1")def test_demo2(self, login):print("class 2")
    
    2
  • 看起来就是 setup 那些情况呀?好在哪?其实就灵活在每个函数都要写 login,控制了哪些能执行,有点像 Mark 了;麻烦了点但灵活了,祸兮福之所倚

yield

  • 这个是python的关键字,主要是生成器用,实现懒加载节省内存;特点是控制了代码的执行流程,yield 这里直接返回,但还能回来接着执行后续代码
    @pytest.fixture(scope="class")
    def login():print("\n登录成功")yieldprint("\n登出")def test_card(login):print("加入购物车成功")# 登录成功 加入购物车成功 登出
    
  • 这就类似 teardown 操作

数据共享

  • 不需要 import,就可以用一些公共的模块,也可以限制共享的区域
  • 新建 conftest.py,名字不能变,放在哪个位置,哪个目录下面的用例就可以共享这个 fixture
  • demo,顺便测一下 session 级别(一般也就是这么用,session和conftest一起)
    import pytest@pytest.fixture(scope="session")
    def login():print("\n登录成功")yieldprint("\n登出")
    
    1
  • conftest.py 所在的目录视为一个session 域,不管下面有多少用例引用,只执行一次

自动应用

  • 不在用例中传 fixture,也想自动引用
    import pytest# 设置 autouse
    @pytest.fixture(scope="function", autouse=True)
    def login():print("\n登录成功")yieldprint("\n登出")
    
    # 不需要写 login,也能使用
    def test_conf_1():print("测试 conftest")
    

参数化

  • 和 pytest 参数化类似
  • demo,同样的,有几个参数就会复制几个 case
    import pytest@pytest.fixture(scope="session", params=["roy", "allen"])
    def parameter(request):print(f"this is {request.param}")yield request.param # 返回参数print("baibai %s"%request.param)
    
    def test_conf_1(parameter):print("\nfixture parameters test")print("参数为:", parameter)def test_conf_2(parameter):print("\n参数化")print("参数为:", parameter)
    
  • 虽然设置了 session 级别,但这里也相当于在 session 级别复制出两份 case,可以理解为两个会话了,在各自的会话里 consume 参数;级别和参数化并不冲突,一个参数一个域,分开看即可
  • 这部分更多是属于逻辑层次问题,还是要多试验,才能更得心应手,死记硬背容易搞复杂

ini

  • pytest.ini 文件,是 pytest 的配置文件,可以修改 pytest 的默认行为,不能包含任何中文(Windows)
  • 主要配置以下几项

运行规则

  • 项目根目录下新建 pytest.ini 文件
  • 执行 check_ 开头和 test_ 开头的测试文件(suite/module),要加 *
    ;这是个注释,以分号开头,但是Windows下不能有中文
    python_files = check_* test_*
    
  • 执行 CheckTest 开头的类(case)
    python_classes = Test* Check*
    
  • 执行 check_ 开头和 test_ 开头的方法(story)
    python_functions = check_* test_*
    

配置命令行参数

  • 命令行参数,一般用等号赋值
    ;就不用手动添加了
    addopts = -vs --alluredir=./result
    

指定/忽略执行目录

  • 设置执行路径
    testpaths = demo demo3
    
    • 忽略某些路径
    norecursedirs = result md2
    

配置日志

  • 日志开关,设置日志级别,打印,保存位置
    1
  • 文件记得提前创建,或者加判断

插件开发

  • 插件分类
    • 外部插件:pip install 安装的
    • 本地插件:自己编写,通过 pytest 自动模块发现机制使用(conftest.py)
    • 内置插件:代码内部的 _pytest 目录加载(hook函数)
  • 没啥神奇的,就是一些封装好的方便测试的代码

常用插件

  • 可以到这里找
  • 举例:pytest-ordering
    • 安装:pip install pytest-ordering
    • 用法:@pytest.mark.run(order=2),也可以看源码,用 first/second 等代替
    • 多个装饰器同时使用可能会有冲突
    • 对于顺序,有时不应该刻意定义
  • 常见的插件
    1

分布式并发

  • 分布式:多台机器同时执行缩短耗时,也可称为并行;机器数 * 内核数 = 并行进程个数
  • 并发:多个进程同时操作同一批数据,要避免弄脏数据,或者说实现高并发
  • 解决这两个问题:pytest-xdist,可以去官网搜搜看
  • 安装:pip install pytest-xdist
  • 使用:pytest -n autopytest -n NUMCPUS 即内核数

自定义插件

  • 这里要用到下面的 hook 函数部分
  • 插件1:修改默认编码
    • 在 conftest.py 中使用 hook 函数
      def pytest_collection_modifyitems(session: "Session", config: "Config", items: List["Item"]
      ) -> None:print(items)# 单步调试可以发现:我们需要改每个 item(用例) 的 name 和 nodeID 两个编码for item in items:item.name = item.name.encode('utf-8').decode('unicode-escape')item._nodeid = item.nodeid.encode('utf-8').decode('unicode-escape')
      
    • 运行测试用例,会自动调用钩子函数修改编码
      1
  • 插件2:添加命令行参数
    • 在 conftest.py 定义
      # hook 函数,添加命令行参数
      def pytest_addoption(parser):mygroup = parser.getgroup("Roy") # 参数组mygroup.addoption("--env", default='allen', dest='env', help='set your env')# 用 fixture 过滤参数
      @pytest.fixture(scope='session')
      def cmdoption(request):myenv = request.config.getoption("--env", default='allen')if myenv == 'roy':datapath = "datas/roy/data.yml"elif myenv == 'allen':datapath = "datas/allen/data.yml"else:datapath = "datas/data.yml"with open(datapath) as f:data = yaml.safe_load(f)return myenv, data
      
    • 数据格式
      env:ip: 127.0.0.1port: 8999
      
    • 传入 fixture,过滤参数
      5
    • 命令行调用 pytest --env 'roy' .\test_conf.py -vs,能看到对应输出
    • 使用 pytest --help 也能看到参数介绍

打包发布

  • 想让我们自定义的插件给别人用,有几种方式
    • 源代码提交到 git
    • 打包项目
  • 具体看打包项目的方式,就是借用 python 的打包工具
    • 需要准备:源码包,pyproject.toml,测试包
    • 需要安装:pip install setuptool pip install wheel,一个是打包的,一个是压缩的
    • 打包命令:python -m build
    • 发布到 PyPI:需要用到 twine 工具;都是参考上面那个教程,英文的慢慢看

hook

  • hook:钩子,即在需要的时候挂一个东西上去;在pytest中
    • 是个函数,被系统调用(系统消息触发),在不同阶段实现不同功能
    • 自动触发机制
    • hook函数的名称固定
    • pytest 有非常多的 hook 函数,在跑一个 case 的时候,会经历下面的过程:
      1
    • 总结如下
      3
  • 官方文档
    • which can be implemented by conftest.py files and plugins
    • 参考文档
  • 上面的 hook 函数大部分只有一个“影子”(只定义了方法名),我们可以做具体实现(implement);有些必要的会自动实现(挂钩)
    • 这怎么感觉有点像 Java 的 interface
    • 名称定义在 site-packages/_pytest/hookspec.py 文件中,pip 安装的包都放在 site-packages
      2
    • 那就在 conftest.py 中实现两个试试
      4
    • 这两个有点像 suite 中定义的 setup/teardown,底层应该是一样的
  • hook 是一种编程机制,和具体的语言没有直接的关系
    • hook 又和回调函数相类似,参考文章
    • 这种设计模式实现起来并不复杂,关键在于定义注册函数,并合理消费被注册的hook函数

小结

  • 以上就是 pytest 框架及相关的知识点
  • 框架的定位和使用技巧还是要在实践中体会,何时用,怎么用合适才是功力

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3837171.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

【2012NOIP普及组】T2. 寻宝 试题解析

【2012NOIP普及组】T2. 寻宝 试题解析 时间限制: 1000 ms 内存限制: 131072 KB 【题目描述】 传说很遥远的藏宝楼顶层藏着诱人的宝藏。小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书。说明书的内容如下: 藏宝…...

BusyCal v2021.4.3 Mac版 日历应用

Mac毒搜集到的BusyCal 是一款曾经获得大奖的日历应用程序,在一个界面友好、可自定义、简单易用的应用包中提供功能强大、节省时间的效率工具。 应用介绍 BusyCal 的独特、强大功能包括可自定义的日历视图、滚动的月和周视图、集成的信息面板(方便快速查…...

MySql安装教程,Win11环境

换了电脑,重新安装环境,顺便记录~~~ 安装环境:Win11 目录 MySQL的两种安装方式: .msi安装 1.通过上方链接进入官网下载页面 2.选择下载 3.不注册登录,直接下载 开始安装 1.找到下载好的安装包,双…...

imx6ull非标准波特率的内核修改和应用配置

最近工作上需要用到非标波特率187500,以前用单片机的时候都是直接配置寄存器,所以没有觉得有什么区别。现在需要在linux的环境下开发应用程序,发现linux原生并不支持这种特殊的波特率。 打开内核目录下drivers/tty/tty_ioctl.c,可…...

推荐5个超级实用的 Python 模块,不知道就out啦!

点击上方“菜鸟学Python”,选择“星标”公众号超级无敌干货,第一时间送达!!!编辑:乐乐 | 来自:网络正文大家好,我是菜鸟哥。Python 标准库有超过 200 个模块,程序员可以在…...

滤波器设计之巴特沃斯滤波器

滤波器设计之巴特沃斯滤波器巴特沃斯滤波器简介巴特沃斯滤波器设计步骤巴特沃斯低通滤波器设计实例注意事项巴特沃斯滤波器简介 巴特沃斯低通滤波器的幅度平方函数定义为: ∣H(jλ)∣11C2λ2N\left | H(j\lambda ) \right | \frac{1}{1C^{2}\lambda ^{2N}} ∣H(jλ…...

vmlogin浏览器设置Cookies导入导出教程

Google或Firefox浏览器的Cookie导出: 1、打开Google或Firefox的扩展程序页面,搜索“Cookie-Editor”; 2、添加Cookie-Editor插件至Google或Firefox浏览器; 3、点击Cookie-Editor的“Export”按钮,导出Cookie; 4、在…...

React 学习笔记:JSX 语法

JSX JSX 是 JavaScript XML 的简写,表示了在 JavaScript 中书写 XML 格式的代码。它可以让我们在 React 中创建元素更加简单,并且保留 HTML 代码的结构更直观,提高开发效率。 注意:JSX 是 JavaScript 的语法扩展,无法…...

视频打赏/付费视频引流吸粉/定时弹窗广告+自带视频+支付接口+自适应设计/带安装教程

源码pc和H5自适应!视频引流吸粉源码,弹窗支付!自带上万部高清视频!绝对是吸金神器。 功能介绍: 1.带有开启是否连续自动播放功能 2.支持手动点击看下一个视频 3.支持引流跳转指定网址,产品地址&#xf…...

中国大学MOOC 视频字幕获取及处理方法

最近上课需要做笔记,但是,一句句的抄字幕工作量有点大,于是查找了一此方法,尝试成功,在此记录下下: 1、首先,打开你所要下载字幕的视频,如 https://www.icourse163.org/learn/NUDT-…...

Python 接口并发测试详解

一、接口并发测试简介 1、性能测试简介 性能测试是通过自动化测试工具模拟多种正常、峰值及异常负载条件对系统的各项性能指标进行的测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能&#xff…...

MySQL的安装(详细教程)

文章目录前言一、概述二、下载三、安装四、卸载五、可能遇到的问题前言 本文的主要目的是在 Windwos 上安装 MySQL,以下内容是源于 B站 - MySQL数据库入门到精通 整理而来。 如果想要在 Linux 下安装 MySQL ,详见 Linux-安装MySQL(详细教程…...

STC 51单片机51——直流电机PWM

//开发板按钮K3和K4用于调速,直流电机接部件电机模块Vcc和O1 #include"reg52.h" #define u8 unsigned char #define u16 unsigned int sbit O1P1^0;//ULN2003 sbit K3P3^2; //减速 sbit K4P3^3; //加速 u8 Flag; u16 T, PWM, Temp;//T为控制周期…...

记住密码的实现的2个方案

设置有效时间很长的Token同时存在两个登录接口,一个勾选记住密码的登录接口,一个没有勾选记住密码的登录接口,这样就可以解决密码明文暴露存在于Cookie, localStorage的问题。...

C# DataView常见操作

//DataTable 转 DataViewDataView dv dt.DefaultView; //DataView 根据某个字段的值进行筛选dv.RowFilter string.Format("字段9527");//DataView 排序dv.Sort "字段 asc";//dt只想要dv中的某几列DataTable dataTablene dv.ToTable(false, new strin…...

JS方法之slice()

slice方法slice()通过索引位置获取新的数组,该方法不会修改原数组,只是返回一个新的子数组。 用法:array.slice(start,end) 下标包含start 但不包含end array:原始数组start(必填):它是设定新数组的起始位置&#xf…...

ETL VS ELT

文章目录什么是ETL什么是ELTETL vs ELT相关框架-kestra介绍参考ETL和ELT是两种数据集成方法,它们主要的任务就是将数据从一个地方转移到另一个地方。两者最大的区别是:ETL在转移之前会对数据进行转换;而ELT是在转移之后再进行数据转换。ETL是…...

从零开始,开发一个 Web Office 套件(11):支持中文输入法(or 其它使用输入法的语言)

这是一个系列博客,最终目的是要做一个基于 HTML Canvas 的、类似于微软 Office 的 Web Office 套件(包括:文档、表格、幻灯片……等等)。 博客园:《从零开始, 开发一个 Web Office 套件》系列博客目录 富文本编辑器 Github repo 地址:https://github.com/zhaokang555/can…...

让数据流动起来,RocketMQ Connect 技术架构解析

作者:周波 Why RocketMQ Connect 在业务系统,或者大数据系统中不同数据源之间的数据同步是十分常见的,传统的点对点的数据同步工具,在面临越来越多的数据源点对点的数据同步会产生 N*N 的问题,开发成本,维…...

用Python爬取彼岸图网图片

用Python爬取彼岸图网图片 *使用了 四个模块 import time import requests from lxml import etree import os 没有的话自行百度安装。 #encoding utf-8 import time import requests from lxml import etree import os# http://www.netbian.com/ 爬虫 if __name__ __mai…...

mysql安装了如何启动_Mysql安装、启动与使用

需要学习sql语言,根据过来人的推荐安装了免费的Mysql来学习!以前学习过在sql sever上实践过sql语句,由于是在学校机房直接进行的,对于数据管理软件的安装并没有经验。这次在安装Mysql后发现,不知道如何对其进行使用。用…...

oracle中exists ,not exists用法

sql: SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS(SELECT OrderID FROM Orders o WHERE o.CustomerIDc.CustomerID) analyze: 这里面的EXISTS是如何运作呢?子查询返回的是OrderID字段,可是外面的查询要找的是Customer…...

Navicat for MySQL 安装教程

文章目录一、下载地址二、安装步骤1.解压后得到两个应用程序:2.先安装 navicat111_mysql_cs_x64.exe3.再安装 PatchNavicat.exe4.安装成功后,会有成功弹框提示;5.运行Navicat,输入个人信息三、报错1251的详细解决方案1.报错12512.…...

C语言学习笔记—链表(一)

什么是链表? 链表是一种常见而重要的动态存储分布的数据结构。 我们知道数组元素是存储在一段连续地址上的。这样就带来了一线缺点,假如我们要删除或添加一个元素呢?那也就是说一旦增加或者删除元素就要其他相关的元素地址都要进行移动。 我…...

状态模式——水之三态

状态模式——水之三态 什么是状态? 状态即事物所处的某一种形态。状态模式是说一个对象在其内部状态发生改变时,其表现的行为和外在属性不一样,这个对象看上去就像是改变了它的类型一样。因此,状态模式又称为对象的行为模式。 …...

redis cluster 集群模式存在的问题

redis cluster 集群模式存在的问题 说明 author JellyfishMIX - github / blog.jellyfishmix.comLICENSE GPL-2.0 cluster 的集群模式实际中落地的较少,目前个人觉得 cluster 集群模式存在两个明显的缺点: 迁移过程中会导致源 redis 实例和目标 reid…...

jetty在项目中的应用

jetty是一个轻量级容器,你可以使用它作为生产应用服务器,不过我一般用它来做开发环境的启动容器。使用main函数就可以运行起来,使用非常方便。至于生产环境,可替代的方案较多,故而在开发环境使用jetty作为我的应用中间…...

如何启用Weblogic 管理端口以及屏蔽默认管理console页面

前几日,公司因要上新项目,新项目的环境是JDK1.8、MySQL8.0、Weblogic11g(12C也有),被客户要求要有过三级等保,无奈之下只能要求第三方安全测评公司进行安全测试。在对Weblogic进行检测时,发现co…...

oracle数据库表exist用法,exists用法示例 数据库中的SQL语句,Etxists的用法?

T-SQL,求IF EXISTS和IF NOT EXISTS的实际使用示例学习if exists 时候,教材竟然是些很搞笑的示例。后来想一想都不符合逻直接drop打头不行的,如果没有该数据库/表。mysql exists 的使用if exists (select * from sys.databases where name ’…...

CN_组帧@帧定界

文章目录组帧帧定界字符计数法字符填充的首尾定界法零比特填充法违规编码法小结例组帧 为了描述方便,将数据链路层(DataLinkLayer)记为DLL🎈数据链路层的PDU(帧)是最下的传输单元为了能够区分各个帧(比特流串)的开头和结尾,需要同时添加首部和尾部 而高于DLL的各层…...

maven-jetty插件配置时,webdefault.xml的取得和修改

取得 没必要去下载一个jetty客户端去找webdefault.xml了。 可以去maven的本地仓库找到 \org\eclipse\jetty\jetty-webapp\版本号\ 里面的jar文件,解压后找到webdefault.xml进行修改。 修改 1、为了能够在服务器启动时修改静态文件,需要把 useFileMapp…...

4.ArrayList与顺序表

文章目录1.线性表2.顺序表2.1接口的实现3.ArrayList的使用3.1ArrayList的构造3.2 ArrayList的常见操作3.3ArrayList的遍历4.思考:1.线性表 线性表是n个具有相同特性的数据元素的有限序列。线性表在逻辑上是线性结构,但在物理结构上并不一定连续&#xff…...

手机rpg游戏存档在哪_在免费RPG日尝试新游戏

手机rpg游戏存档在哪您是否曾经考虑过尝试《龙与地下城》,但不知道如何开始? 您是否在年轻时玩过Traveler,并一直在考虑重返业余爱好? 您是否对角色扮演游戏(RPG)感到好奇,但不确定是否要玩角色…...

Oracle exists 用法

demo: select ...from awhere exists (select ... from b where ...) -- a和b在括号中的where 会有连接关系EXISTS 函数 EXISTS(查询结果集):查询结果集有记录则成立,否则不成立 NOT EXISTS(查询结果集):与EXISTS相反 优点:一般子查询效率…...

04_SpringBoot整合Mybatis

文章目录SpringBoot整合Mybatis0x01_创建项目导入依赖0x02_编写配置文件0x03_编写功能代码SpringBoot整合Mybatis 欢迎关注公众号“小东方不败” 0x01_创建项目导入依赖 创建项目: 目前稳定的最新版本是2.7.5,勾选两个依赖:Lombok和Spring Web 然后需…...

【JavaWeb】虚拟路径和虚拟主机

jsp: 在HTML中嵌套的java代码 在项目的WEB-INF/web.xml中设置的 初始页面 <welcome-file-list><welcome-file>index.jsp</welcome-file> </welcome-file-list>虚拟路径 将web项目配置到webapps以外的目录 conf/server.xml中配置 host标签中: <…...

期末测试——H5方式练习题

期末考试——H5完成方式——练习题 前言 本练习训练了孩子们的栅格化布局&#xff0c;H5标签&#xff0c;CSS样式&#xff0c;并对列表与菜单进行了强化训练。使孩子们更好的掌握H5布局&#xff0c;为后面的框架教学打好基础。 素材下载地址&#xff1a; 链接&#xff1a;htt…...

h2o flow安装

集群官方下载地址&#xff1a;http://h2o-release.s3.amazonaws.com/h2o/rel-yau/6/index.html 在Python安装&#xff0c;切记Python的h2o版本一定要和集群的版本一致&#xff0c;否则运行Python代码时会报错 pip install requests pip install tabulate pip install "co…...

蓝桥杯单片机第七届省赛题详细讲解(温度记录器)

看之前强烈建议先自己做一遍&#xff01;&#xff01;&#xff01;演示效果题目讲解代码main.cds1302.cds1302.honewire.conewire.h工程文件演示效果 题目讲解 首先我们从系统框图看起&#xff1a; 做题之前要做的是把系统框图里面的各个模块先提前调试好&#xff01;&#x…...

JVM下篇(三、JVM监控及诊断工具-GUI篇)

JVM_JVM监控及诊断工具-GUI篇 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! JVMJVM_JVM监控及诊断工具-GUI篇三、JVM监控及诊断工具-GUI篇3.1 工具概述3.2 jConsole3.2.1 基本概述3.2.2 启动3.2.3 三种连接方式3.2.4 测试示例3.3 Visual VM3.3.1 基本概述…...

npm vue 路由之一级路由(npm默认已经集成了vue)

npm vue 路由之一级路由&#xff08;npm默认已经集成了vue&#xff09; 文档https://v3.router.vuejs.org/zh/installation.html npm install vue-router3.5.2 --save 1.在App.vue上面添加 <router-view></router-view>2.在main.js上面添加 import VueRouter fro…...

Eolink是国产API接口管理的无冕之王

一、传统API接口管理的缺陷 1、前言 项目开发我们都知道在一个项目团队中是由很多角色组成&#xff0c;最常见团队的就是前端开发工程师、客户端开发工程师、服务端开发工程师组成一个团队&#xff0c;团队之间进行合作&#xff0c;一般我们都离不开API接口管理和测试&#x…...

覆盖索引有何用?

通常开发人员会根据查询的where条件来创建合适的索引&#xff0c;但是优秀的索引设计应该考虑到整个查询。其实mysql可以使用索引来直接获取列的数据。如果索引的叶子节点包含了要查询的数据&#xff0c;那么就不用回表查询了&#xff0c;也就是说这种索引包含&#xff08;亦称…...

【跳位合位监视专用继电器】JZ-7Y-204XMT DC220V

系列型号&#xff1a; JZ-7Y-201XMT普通型跳位合位监视专用继电器&#xff1b; JZ-7J-201XMT普通型跳位合位监视专用继电器&#xff1b; JZ-7Y-203XMT普通型跳位合位监视专用继电器&#xff1b; JZ-7J-203XMT普通型跳位合位监视专用继电器&#xff1b; JZ-7Y-204XMT普通型跳位合…...

密度与性能兼得 杰和四节点服务器推荐

大数据应用的兴起和云计算的快速增长&#xff0c;数据中心的部署也不断扩张。传统服务器往往体积巨大&#xff0c;而大规模计算系统的应用&#xff0c;导致企业常常面临机房空间不足、能耗成本增加等难题。综合资源配置、成本管控、便捷管理、节能环保等要素&#xff0c;兼具密…...

dnn是什么的英文缩写_DNN是什么意思

1. In chapter 3, we first discuss the completely positive matrix and give a sufficient and neessary condition of whence a double nonnegative matrix is a completely positive matrix, i. e., For A = 6 DNNn and suppose that A = T^T where T is a real kxn matri...

Exists 用法解释

exists的实例解析 现有两个表 a&#xff1a; b: 现有sql语句如下 select * from a where exists (select 1 from b where b.b_id a.id); 执行结果如下&#xff1a; 含义解析&#xff1a;exists 的意思是用于检查子查询是否至少会返回一行数据&#xff0c;该子查询实际上并不…...

Keras计算机视觉(二)

第一部分 认识CNN 一、quickly start 所见即所得&#xff0c;先看一下CNN在MNIST上的运行Demo from keras import layers from keras import modelsmodel models.Sequential() # 定义一个卷积输入层&#xff0c;卷积核是3*3&#xff0c;共32个&#xff0c;输入是(28, 28, 1…...

北斗三号频点_全球首颗全面支持北斗三号基带芯片问世

原标题&#xff1a;全球首颗全面支持北斗三号基带芯片问世人民网北京5月21日电(赵竹青)北京合众思壮科技股份有限公司20日正式发布了天琴二代高精度星基增强基带芯片。据了解&#xff0c;这是全球首颗支持北斗三号全信号体制的高精度基带芯片&#xff0c;将大力推动北斗三号的产…...

稳定高效 扩展灵活 杰和高能效四路服务器发布在即

4月20日&#xff0c;杰和科技将在深圳召开"杰和梦&#xff0c;再出发"的新一代服务器发布会&#xff0c;届时&#xff0c;杰和将推出基于英特尔至强处理器E5 4600 V4家族的四路服务器GCR2524MP-RF。 作为一家领先的云计算、大数据、物联网设备和解决方案提供商&#…...

聚焦企业关键业务应用 杰和推四路服务器解决方案

当今&#xff0c;大数据所蕴含的业务价值和商业价值是不可估量的&#xff0c;无论是企业级或是小型企业都不断加大对大数据分析的投入&#xff0c;希望通过部署新的数据分析方案使企业以更低成本、更可靠的运行企业资源规划&#xff08;ERP&#xff09;、CRM等关键业务应用&…...

如何在填报场景中使用数据绑定获取数据源

背景 在公司的日常业务中&#xff0c;存在不少数据的收集提取需求&#xff0c;大部分公司会采取Excel来完成数据的收集和汇总&#xff0c;但这项工作会让负责信息收集的业务人员相当头大。虽然提前做好了数据收集模板&#xff0c;但最终提交上来的模板会被修改的五花八门&…...

Oracle-exists用法简单搞懂

Exists用法可能不太好理解&#xff0c;今天帮助大家简单搞懂 示范语句 使用exists&#xff1a; select * from T1 where exists(select 1 from T2 where T1.aT2.a) ; 使用in select * from T1 where T1.a in (select T2.a from T2) ; exists 用法 使用exists写法时&#xf…...

400企业智能服务器,杰和GT400塔式服务器力助企业信息化建设-文章-数字音视工程网DAV01.COM...

行业背景现阶段&#xff0c;企业对于信息化的认识逐渐深入&#xff0c;而信息化对于企业本身的作用也越来越大&#xff0c;信息部门在企业中所占的位置也越来越重&#xff0c;这是企业面对激烈市场竞争...行业背景现阶段&#xff0c;企业对于信息化的认识逐渐深入&#xff0c;而…...

python 导入模型h20_H2O是怎样让机器学习走进生活的?

各行业中的人工智能技术已经逐渐落地&#xff0c;为了社会和经济的稳定发展&#xff0c;普及人工智能越来越重要。H2O是一个开源分布式内存机器学习平台。关于H2O的研究和实验&#xff0c;本文作者已经有丰富的经验&#xff0c;并且发现它在解决ML问题上具有非常直观的效果。所…...

【网络教程】Iptables官方教程-学习笔记6-IPTABLES TARGETS

一、IPTABLES TAGRETS 本章节介绍Iptables 的目标和跳转(targets and jumps)&#xff0c;目标和跳转负责告诉规则如何处理与规则匹配部分完全匹配的包。“ACCEPT”和“DROP”是一对基础目标&#xff0c;他们是首先处理的。在学习目标是如何完成之前&#xff0c;我们先看下跳转…...

第十四周作业

第十四周作业1.简述CGI与FASTCGI区别2.编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的LAMP架构3.通过loganalyzer展示数据库中的日志1.简述CGI与FASTCGI区别 CGI&#xff1a;收到请求&#xff0c;会fork一个新的进程进行处理&#xff1b;在处理数据方面&#xff0…...

SQL中的Exists 用法解释

exists的实例解析 现有两个表 a&#xff1a; b: 现有sql语句如下 select * from a where exists (select 1 from b where b.b_id a.id);执行结果如下&#xff1a; 含义解析&#xff1a;exists 的意思是用于检查子查询是否至少会返回一行数据&#xff0c;该子查询实际上并…...

exists 用法

/****** Script for SelectTopNRows command from SSMS ******/SELECT * FROM [MyDB].[dbo].[LbShops] where biz_type 1 and not exists ( SELECT shop_strid FROM [MyDB].[dbo].[shop_sell] where shop_strid [LbShops].shop_strid ) 速度很快 转载于:https://www.cnblogs.…...

git提交报husky > commit-msg hook failed (add --no-verify to bypass)的错

记录一下这次报错&#xff0c;报错信息主要如下&#xff1a; husky > commit-msg hook failed (add --no-verify to bypass) 问了一下leader&#xff0c;是因为项目之前更新了依赖&#xff0c;我重新拉下来的没有装最新的依赖 解决方法&#xff1a;重装依赖 npm i 重新…...

N32905音视频学习笔记-GPIO

陈生 微信:chenzhe_yj 提供自研开源硬件、产品定制、技术咨询 淘宝店&#xff1a;https://item.taobao.com/item.htm?spma1z10.1-c-s.w4004-18267726305.6.3fbb1d275b0ixd&id554693753289 目录 准备工作&#xff1a; 1.N32905 GPIO简介 2.硬件设计 3.软件设计 3.1内…...

N32905音视频学习笔记-gdbserver移植及远程调试

陈生 微信:chenzhe_yj 提供开源硬件产品、嵌入式软硬件开发、技术咨询 淘宝店&#xff1a;https://item.taobao.com/item.htm?spma1z10.1-c-s.w4004-18267726305.6.3fbb1d275b0ixd&id554693753289 目录 准备工作&#xff1a; 1.远程调试简介 2.gdbserver移植详解 2.…...

N32905音视频学习笔记-lvd低电压检测

陈生 微信:chenzhe_yj 提供开源硬件产品、嵌入式软硬件开发、技术咨询 淘宝店&#xff1a;https://item.taobao.com/item.htm?spma1z10.1-c-s.w4004-18267726305.6.3fbb1d275b0ixd&id554693753289 目录 准备工作&#xff1a; 1.N32905 ADC简介 2.硬件设计 3.软件设计…...

N32905音视频学习笔记-watchdog看门狗

陈生 微信:chenzhe_yj 提供开源硬件产品、嵌入式软硬件开发、技术咨询 淘宝店&#xff1a;https://item.taobao.com/item.htm?spma1z10.1-c-s.w4004-18267726305.6.3fbb1d275b0ixd&id554693753289 目录 准备工作&#xff1a; 1.N32905 watchdog简介 2.软件设计 2.1内…...

N32905音视频学习笔记-按键

陈生 微信:chenzhe_yj 提供自研开源硬件、产品定制、技术咨询 淘宝店&#xff1a;https://item.taobao.com/item.htm?spma1z10.1-c-s.w4004-18267726305.6.3fbb1d275b0ixd&id554693753289 目录 准备工作&#xff1a; 1.N32905 GPIO简介 2.硬件设计 3.软件设计 3.1内…...

使用ESP32CAM读取视频流

title: ESP32CAM读取视频 硬件准备 esp32cam(我是淘宝买的&#xff0c;买的套装带烧录底板和一个OV2640的摄像头,价格33)数据线 软件准备 Arduion配置ESP32开发板 不懂怎么配置的点这里和这里vscode platformIO 上述两个平台根据自己习惯来&#xff0c;新手推荐使用Arduion…...

N32905音视频学习笔记-SD挂载

陈生 微信:chenzhe_yj 提供开源硬件产品、嵌入式软硬件开发、技术咨询 淘宝店&#xff1a;https://item.taobao.com/item.htm?spma1z10.1-c-s.w4004-18267726305.6.3fbb1d275b0ixd&id554693753289 目录 准备工作&#xff1a; 1.N32905 SD简介 2.硬件设计 3.软件设计…...

Wifi小车之 - STM32无线视频篇

2011-10-28 先声明一下&#xff0c;这个想法最后是没有实现的。 51单片机之后&#xff0c;就开始学STM32了&#xff0c;淘宝了一块神舟I开发板带液晶屏&#xff0c;才99元&#xff0c;看了一些教程就开始试着运行程序了&#xff0c;其实原理和51差别不大&#xff0c;不过它有自…...

微信、淘宝一个跑不了——免费wifi

从前&#xff0c;我总认为一个人只要质朴、心灵美就行。现在想来&#xff0c;不知是当下肤浅了还是以前单纯了。就像&#xff0c;你去相亲&#xff0c;与他人第一次见面&#xff0c;作为一个视觉动物&#xff0c;没有第一次的“惊艳”&#xff0c;何来的二次、三次呢&#xff1…...

[附源码]计算机毕业设计springboot自行车租赁管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…...

电话机器人可以做什么?

电话机器人的认知 在之前呢&#xff0c;其实我和大多数人的认知一样。认为现在的人工智能还很弱&#xff0c;还和网络上戏称为“人工智障”一样。而生活上渐渐地出现了所谓的小爱&#xff0c;SIRI&#xff1b;这些服务型机器人&#xff0c;它们的出现带来不少便利&#xff0c;但…...

扡扫机器人_米家扫拖机器人:扫地拖地一把抓,小爱同学不落下

如今&#xff0c;越来越多的家庭开始使用扫地机器人帮忙打扫卫生&#xff0c;日常清洁中&#xff0c;这类产品让很多人省下不少时间。就在最近&#xff0c;小米米家正式发布了米家扫拖机器人 LDS 激光导航版(以下简称米家扫拖机器人)&#xff0c;在设计和性能上又有不少亮点&am…...

聊天机器人文档(AIML)

很多朋友问我要源码&#xff0c;放git上了&#xff1a;https://github.com/wxlfight/Alice-Robot PS&#xff1a;很多同学读完我下面写的东西&#xff0c;都来问问题&#xff0c;说什么什么不成功。我想是我写的东西不够深入&#xff0c;不够清晰吧&#xff01;以后我会找时间把…...

炒菜机器人的弊端_一款饱受争议的炒菜机器人

炒菜机器人亮相2020年9月5日服贸会&#xff0c;其中服务机器人区的展示&#xff0c;吸引了不少游客&#xff0c;而在全球初出登场的多样化机器人科技&#xff0c;逐渐出现在了我们的视野中。要说最具代表性的就是绘画机器人&#xff0c;可以在两分钟内画一出幅画作&#xff0c;…...

java实现小艾机器人陪聊

各位大佬&#xff0c;好久没有写新的东西给大家了&#xff0c;现在给大家来一个陪聊解闷的小艾机器人&#xff0c;来陪伴大家&#xff0c;希望大家喜欢哦&#xff01;^- ^ 现在可多手机上都有只能语音机器人&#xff0c;虽然说的话有些牛头不对马嘴的&#xff0c;但是在哪那么某…...

python和小爱同学_从企业微信机器人到小爱同学,用 Serverless 实现生活智能化!...

通过定时触发器&#xff0c;可以简单快速地定制一个企业微信机器人。我们可以用它来实现喝水、吃饭提醒等小功能&#xff0c;还能实现定时推送新闻、天气&#xff0c;甚至是监控告警的小功能。使用企业微信机器人在企业微信中&#xff0c;选择添加机器人&#xff1a;之后&#…...

c++/人工智能小爱(针对7-14岁少年)

c/人工智能小爱 原创&#xff1a;Re&#xff1a;小余 ID&#xff1a;ypc070309 多多支持呦&#xff0c;允许转载 #include <iostream> #include <stdio.h> #include <time.h> #include <unistd.h> #include <stdlib.h> #include <cstdli…...

史上最全面聊天机器人总结,图灵、思知、小爱、小微,作者已接入到自己的开源IM项目中使用

史上最全面聊天机器人总结&#xff0c;开源项目开放平台第三方公司&#xff0c;作者已接入到自己的开源IM项目中使用。 github地址&#xff1a;https://github.com/xmcy0011/CoffeeChat 文章目录AI聊天机器人总结开源项目思知机器人&#xff08;python&#xff09;BotSharp&…...

怎么建立一个网站平台

建立网站需要三样东西&#xff0c;那就是域名、服务器和程序&#xff0c;那么这三样东西怎么来呢&#xff1f; 1、域名&#xff1a;域名也就是我们常说的网址&#xff0c;就像我们打开百度一样&#xff0c;那么域名哪里购买呢&#xff1f;如果是国内&#xff0c;建议去dnspod或…...

国外有哪些类似Wooyun(乌云)的网站平台?

2019独角兽企业重金招聘Python工程师标准>>> https://www.zhihu.com/question/21673304 转载于:https://my.oschina.net/u/2308739/blog/783390...

有哪些好的IT问答类的网站平台

先推荐一波国内的&#xff1a;1、站名&#xff1a;Chinaunix 网址&#xff1a;www.chinaunix.net 大型的技术社区网站&#xff0c;包含了服务器&#xff0c;存储备份&#xff0c;C/C&#xff0c;PHPMy&#xff0c;SQL&#xff0c;嵌入式&#xff0c;Linux系统等板块。2、站名&a…...

Java Web简化版交友网站平台

原文&#xff1a;Java Web简化版交友网站平台 源代码下载地址&#xff1a;http://www.zuidaima.com/share/1550463487478784.htm 该案例用基本用到了Java Web开发的全部基础知识&#xff0c;实现的功能有&#xff1a;用户注册、登录、增删改查、文件上传和数据库设计等&#x…...

网站建设平台有哪些分类?

网站建设是指使用标识语言&#xff0c;通过一系列设计、建模、和执行的过程将电子格式的信息通过互联网传输&#xff0c;最终以图形用户界面&#xff08;GUI&#xff09;的形式被用户所浏览。网站建设就如一张名片一样&#xff0c;只不过不是现实里的名片&#xff0c;而是网络上…...

Python - 实现渐变色的RGB计算

一、解决了什么问题&#xff1a; 求得两个颜色之间颜色渐变的RGB。 二、公式&#xff1a; Gradient A (B-A) / Step * N 编程时为了提高效率避免浮点运算&#xff0c;往往把除法放在最后面&#xff0c;这样公式就成了&#xff1a;Gradient A (B-A) * N / Step 注&#…...

html 渐变透明写法,css实现透明渐变特效的示例代码

知乎发现栏目上的标题图一般都是以下图方式展现的&#xff0c;很显然它是利用渐变去实现的。思路很有意思&#xff0c;主要是要有两方面的认知&#xff1a;这张图其实可以分成两部分&#xff0c;右边控制图形和渐变&#xff0c;左边就是一张纯色背景&#xff0c;和渐变无关透明…...

实现屏幕色彩渐变

#include “stdlib.h" void CMyView::OnDraw(CDC* pDC){ CMyDoc* pDoc GetDocument(); ASSERT_VALID(pDoc); CRect rc; GetClientRect(&rc); for(int i0;i<1000;i) { int cxMapRand(rc.Width()); int cyMapRand(rc.Height()); pDC->SetPixel(cx,cy,GetRando...

c语言渐变算法,ObjectCSwift 渐变色算法实现

-(NSArray *)getGradientColorWithStartColor:(UIColor *)startColor endColor:(UIColor *)endColor step:(NSInteger)step inverse:(BOOL)inverse {//1 get start color rgbCGFloat startR 0.0, startG 0.0, startB 0.0;CGColorRef startColorRGB [startColor CGColor];N...

Vue中$nextTick实现源码解析

这篇文章主要为大家介绍了Vue中$nextTick实现源码解析&#xff0c;有需要的朋友可以借鉴参考下&#xff01; 先看一个简单的问题 {{ text }} 此时打印的结果是什么呢&#xff1f;是 old。如果想让它打印 new&#xff0c;使用 nextTick 稍加改造就可以 this.$nextTick(() >…...

渐变色彩艺术海报背景素材|感官刺激、个性突出

海报设计是视觉传达&#xff0c;要将图片、文字、色彩、空间等要素进行完美的结合&#xff0c;以恰当的形式向人们展示出宣传信息。渐变色彩艺术海报背景素材&#xff0c;PSD分层具备了感官刺激、个性突出的特点&#xff0c;值得借鉴学习&#xff01; 箭头水晶渐变色彩炫彩空间…...

清理微信浏览器缓存

清理微信浏览器缓存 用微信内置浏览器打开 http://debugx5.qq.com 勾上需清理的内容点击[清除] 转载于:https://my.oschina.net/XngPro/blog/834980...

Mac清理微信缓存

相信微信用户对微信缓存有很大的烦恼&#xff0c;下面是Mac版解决方法。 进入访达&#xff0c;输入: commandshiftG Cache即缓存的意思 打开文件后清理即可...

【实用技巧】微信清理

【实用技巧】微信清理 1. 手机 微信搜索栏中输入recover即可调出官方的微信修复工具&#xff0c;勾选深度清理。 然后去存储空间清理。 2. 电脑 找到自己本地目录的存储空间。 可以按照时间进行删除选择性的删除。...

lombok入门

目录 lombok概述 lombok安装 Getter、Setter ToString EqualsAndHashCode NotNull 生成构造方法相关注解 Data、Builder Log Cleanup、SneakyThrows lombok概述 以前的Java项目中&#xff0c;充斥着太多不友好的代码&#xff1a;POJO的getter/setter/toString/构造方…...

手机微信占用了大量内存?这3个方法,帮你从源头清理垃圾

微信是我们生活中使用最多的一款聊天工具&#xff0c;微信不仅可以聊天&#xff0c;还承担着移动支付的责任&#xff0c;可以说微信在现代生活中是不可以或缺的。但微信也是占据手机内存的大户&#xff0c;特别是小内存的手机&#xff0c;没用多久内存就没被微信占据了一大半&a…...

如何设计一张数据库表

如何设计一张数据库表 1、前言 ​  如何设计一张数据库表&#xff0c;或者说设计一张数据库表需要注意些什么&#xff0c;这是我最近在思考的问题&#xff0c;刚开始&#xff0c;我简单的罗列了一下注意事项&#xff1a; 设置合理的主键&#xff1b;根据字段更改的频率程度考…...

51nod1417 天堂里的游戏

---恢复内容开始--- 1417 天堂里的游戏基准时间限制&#xff1a;1 秒 空间限制&#xff1a;131072 KB 分值: 10 难度&#xff1a;2级算法题收藏关注多年后&#xff0c;每当Noder看到吉普赛人&#xff0c;就会想起那个遥远的下午。 Noder躺在草地上漫无目的的张望&#xff0c;二…...

视频教程-java大数据培训学校全套教材--2)java语法基础-Java

java大数据培训学校全套教材--2&#xff09;java语法基础 "马克-to-win"是"马克java社区"创始人。在java领域有七科教材&#xff0c;简称&#xff1a;1)java核心&#xff0c;2)java3&#xff09;jsp&#xff0c;4&#xff09;架构 5&#xff09;前端 6&…...

51Nod 1417 天堂里的游戏 c/c++题解

题目描述 多年后&#xff0c;每当Noder看到吉普赛人&#xff0c;就会想起那个遥远的下午。 Noder躺在草地上漫无目的的张望&#xff0c;二楼的咖啡馆在日光下闪着亮&#xff0c;像是要进化成一颗巨大的咖啡豆。天气稍有些冷&#xff0c;但草还算暖和。不远的地方坐着一个吉普赛…...

牛客错题集C++(一)

题目一 类的构造与析构函数 #include <iostream> using namespace std;class A { private:static int a,b; public:A(){a;cout<<"A调用构造函数: "<<a<<endl;}Show(){cout<<"I am a class project!"<<endl;}~A(){b;c…...

1417 天堂里的游戏(概率)

多年后&#xff0c;每当Noder看到吉普赛人&#xff0c;就会想起那个遥远的下午。 Noder躺在草地上漫无目的的张望&#xff0c;二楼的咖啡馆在日光下闪着亮&#xff0c;像是要进化成一颗巨大的咖啡豆。天气稍有些冷&#xff0c;但草还算暖和。不远的地方坐着一个吉普赛姑娘&…...

基础算法题——呼兰河传(除法不可直接求余)

呼兰河传 题目描述 沿着河边看一看清冷的夏夜&#xff0c;耳机里是AR的《呼兰河传》。AR的呼兰河并非一条河&#xff0c;而是一个故乡小城的生活日记。静谧的童年&#xff0c;孩子看世界的眼光&#xff0c;花开鸟飞间的自由&#xff0c;塑造了一方那个时代中少有的美好。现在&…...

数字媒体声音设计 第三章 听觉感知及其对声源的定位

文章目录 1 听觉系统的构造1.1 听觉系统的构造1.1 外耳1.2 中耳1.3 内耳1.4 部位学说1.4.1 音高感知的部位学说2 双耳时间差3 双耳声级差3.1 头部遮蔽效应3.2 耳廓效应(单耳效应)3.3 头部相关听觉传递函数4 ITD、IID总结5 哈斯效应6 立体声重放6.1 动态范围处理器6.1.1 动态6.1…...

如何更好地理解递归算法?Python实例详解

递归是一种较为抽象的数学逻辑&#xff0c;可以简单的理解为「程序调用自身的算法」。 维基百科对递归的解释是&#xff1a; 递归&#xff08;英语&#xff1a;Recursion&#xff09;&#xff0c;又译为递回&#xff0c;在数学与计算机科学中&#xff0c;是指在函数的定义中使…...

西科大第十六届ACM程序设计竞赛 E 呼兰河传 (数学)

传送门 题意&#xff1a; 沿着河边看一看清冷的夏夜&#xff0c;耳机里是AR的《呼兰河传》。AR的呼兰河并非一条河&#xff0c;而是一个故乡小城的生活日记。静谧的童年&#xff0c;孩子看世界的眼光&#xff0c;花开鸟飞间的自由&#xff0c;塑造了一方那个时代中少有的美好。…...

求n个数的LCM(最小公倍数)并对1e9+9取模

题目&#xff1a; 沿着河边看一看清冷的夏夜&#xff0c;耳机里是AR的《呼兰河传》。AR的呼兰河并非一条河&#xff0c;而是一个故乡小城的生活日记。静谧的童年&#xff0c;孩子看世界的眼光&#xff0c;花开鸟飞间的自由&#xff0c;塑造了一方那个时代中少有的美好。现在&a…...

求N个数的最大公因数和最小公倍数

一.求N个数的最大公因数和最小公倍数 二&#xff0e;算法设计 先输入一组数据 使用listNumber集合实现对数据的存储求出最大公因数 2.1&#xff09;首先找出所输入数据中的最小值 2.2&#xff09;然后再将集合中都能被同一个数整除的数记录下来得到list集合 2.3)得到list集合…...

[附源码]计算机毕业设计springboot云南美食管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…...

求一个数组的最大公约数和最小公倍数

求一个数组的最大公约数 可以先选择前2个数求出他们的最大公约数&#xff0c;然后遍历数组&#xff0c;依次把最大公约数和数组元素求最大公约数&#xff0c;当局部最大公约数为1时&#xff0c;返回1即可。 #include <cstdio> #include <vector> #include <io…...

android设置屏幕方向不销毁数据,处理屏幕旋转而不会丢失数据-Android

青春有我可以使用覆盖方法onSaveInstanceState()和onRestoreInstanceState()。或者停止调用onCreate()屏幕旋转&#xff0c;只需在清单xml中添加此行android:configChanges"keyboardHidden|orientation"注意&#xff1a;您的自定义类必须实现Parcelable以下示例。Ove…...

X11旋转屏幕

命令介绍: export DISPLAY:0.0 //设置将图像显示在本地xserver 桌面旋转&#xff1a; xrandr -o 1 //90度是1&#xff0c; 180度是2 触摸旋转&#xff1a; xinput --set-prop ‘8’ ‘Evdev Axis Inversion’ 0 1 //前面参数对应x轴翻转&#xff0c;后边对应y轴翻转&#…...

安卓8.0 MTK 屏幕旋转180°

首先查看下面三个位置的硬件旋转配置&#xff0c;如果项目已经配置了硬件旋转&#xff0c;就去掉配置&#xff0c;反之亦然 注&#xff1a;下面配置二选一&#xff0c;旋转值不用配置。 lk: vendor/mediatek/proprietary/bootable/bootloader/lk/project/$project.mk #DEFINE…...

嵌入式 linux 屏 翻转,linux嵌入式qt的屏幕旋转与字体大小问题

【1、与qt程序显示文字大小有关的两项】export QWS_DISPLAYLinuxFB:mmWidth200:mmHeight100:0 //输出设备为Linux framebuffer&#xff0c;尺寸定义(尺寸定义与文字大小有直接关系)export QWS_SIZE480x272 //屏幕大小【2、屏幕旋转】export QWS_DISPLAYTransformed:Rot90 …...

ubuntu22.04.1 新装后的常用设置

背景 ubuntu安装后需要作一些设置&#xff0c;以便于使用。记录一下。 常用设置 1&#xff0c;设置sudo免密 执行&#xff1a; sudo visudo 将以下内容 %sudo ALL(ALL:ALL) ALL 修改为&#xff1a; %sudo ALL(ALL:ALL) NOPASSWD:ALL 2&#xff0c;添加用户 新增用…...

android 旋转屏幕 view的调整,Android ViewModel在屏幕旋转时重新创建

是的tomwyr&#xff0c;这是一个来自android框架的bug . Bug details该修复程序在28.0.0-alpha3和AndroidX 1.0.0-alpha3中可用但如果您现在不想更新到上面的版本&#xff0c;那么您可以像这样解决( I know this is a bad solution but I didnt see any other good way )在您的…...

LVGL 屏幕旋转

LVGL8.2 屏幕旋转 本文在LVGL模拟器中测试 在lv_win32_init中添加支持屏幕旋转 static lv_disp_drv_t display_driver;lv_disp_drv_init(&display_driver);display_driver.hor_res hor_res;display_driver.ver_res ver_res;display_driver.flush_cb lv_win32_display_…...

Android注解@TargetApi和@RequiresApi什么意思?

TargetApi(Build.VERSION_CODES.LOLLIPOP) RequiresApi(api Build.VERSION_CODES.LOLLIPOP)编译器跳过低版本没有API 的报错问题&#xff0c;但实际运行还是可能报错 需要手动判断版本 TargetApi和RequiresApi含义 含义 这两个注解的作用仅仅是让编译通过&#xff0c;而并没…...

java api是什么_JAVA_API概述

static关键字学习目标能够明确API使用的步骤能够使用Scanner类获取键盘录入数据能够使用Random类生成随机数能够使用数组存储自定义类型并且遍历能够使用ArrayList集合的构造方法创建ArrayList集合对象能够使用ArrayList集合存储数据能够使用ArrayList集合中的常用方法能够使用…...

API是什么? 随笔

API&#xff0c;全称Application Programming Interface&#xff0c;即应用程序编程接口。API就是操作系统给应用程序的调用接口&#xff0c;应用程序通过调用操作系统的 API而使操作系统去执行应用程序的命令&#xff08;动作&#xff09;。在 Windows 中&#xff0c;系统API是…...

[山东科技大学OJ]2045 Problem F: 稳定的排序

Time Limit: 1 Sec Memory Limit: 128 MB Submit: 3482 Solved: 1325 [Submit][Status] Description 排序算法的稳定性是指&#xff0c;序列中任意两个相等的数在排序先后的次序不发生变化。满足这一性质的排序算法&#xff0c;就是稳定的排序算法。 稳定的排序算法有&…...

pythonapi是什么意思_API是什么意思?API文档又是什么意思?

展开全部 API&#xff08;Application Programming Interface,应用程序编程接口&#xff09;是一些预先定义的函数&#xff0c;目的是提供应用程序与开发人员基于某软件或硬件32313133353236313431303231363533e4b893e5b19e31333366306466得以访问一组例程的能力&#xff0c;而…...

数据库笔记(三)

havingwhere后面只能写普通字段条件,不能写聚合函数条件having关键字专门用来写聚合函数条件的,并且需要和group by结合使用,写在分组的后面查询每个部门的平均工资,要求平均工资大于2000;select dept_id, avg(sal) a from emp group by dept_id having a>2000;查询每种工作…...

AD硬件电路学习笔记(四)四层板实战(上)之常见模块要求

系列文章目录 AD硬件电路学习笔记&#xff08;一&#xff09;常见的管脚名字以及FPGA、Lora AD硬件电路学习笔记&#xff08;二&#xff09; GND的种类及PCB布线实战 AD硬件电路学习笔记&#xff08;三&#xff09;mos管开关电路学习总结 文章目录系列文章目录常见要点防静电…...

Grafana 系列文章(十):为什么应该使用 Loki

&#x1f449;️URL: https://grafana.com/blog/2020/09/09/all-the-non-technical-advantages-of-loki-reduce-costs-streamline-operations-build-better-teams/ &#x1f4dd;Description: 我们都知道为什么 Loki 对日志管理有很大帮助。但这里有所有的原因&#xff0c;为什…...

((蓝桥杯 刷题全集)【备战(蓝桥杯)算法竞赛-第7天-贪心专题】( 从头开始重新做题,记录备战竞赛路上的每一道题 )距离蓝桥杯还有60天

&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6; 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&a…...

Anchor Free的孪生目标跟踪

Anchor Free的孪生目标跟踪 跟踪任务可以看成是分类任务与状态估计任务的结合。分类任务的目的是精确定位目标的位置&#xff0c;而状态估计获得目标的姿态&#xff08;即目标框&#xff09;。SiamFC一文将当前的跟踪器按照不同状态估计的方法分为三类&#xff1a; 以DCF和Si…...

【6s965-fall2022】神经架构搜索 Neural Architecture Search

在很长一段时间里&#xff0c;研究人员都是手动设计神经网络的架构。神经网络架构的设计空间非常大&#xff0c;它包括#layers、#channel width、#branches、kernel sizes、input resolutions。因此&#xff0c;手动调整这些参数非常困难。而神经架构搜索&#xff0c;NAS&#…...

如何从脚本小子变成黑客大神?【网络安全】

学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答. 4.遇到实在搞不懂的,可以先放放,以后再来解决. …...

Suflo-Cyanine5.5 Tyramide,Suflo-Cyanine3 TSA,磺酸基-花青素Cy5 酪酰胺

一、试剂基团反应特点&#xff08;Reagent group reaction characteristics&#xff09;&#xff1a;TSA主要原理是利用酪胺Tyramide的过氧化物酶反应(酪胺盐在HRP催化H202下形成共价键结合位点)&#xff0c;产生大量的酶促产物&#xff0c;该产物能与周围的蛋白残基(包括色氨酸…...

LaoCat带你认识容器与镜像(实践篇一下)

实践篇主要以各容器的挂载和附加命令为主。 本章内容 本文实操全部基于Ubuntu 20.04 宿主机 > linux服务器本身 Docker > 20.10.22 从该章开始&#xff0c;我们就进入了Docker实践篇系列了&#xff0c;主要介绍Docker相关附加命令&#xff0c;与实际日常生产部署注意点…...

Android设备的各种唯一标识符 ID

IMEI 只有Android手机才有&#xff0c; IMEI号是一串15位的号码&#xff0c;比如像这样 359881030314356 TelephonyManager TelephonyMgr (TelephonyManager)getSystemService(TELEPHONY_SERVICE); String szImei TelephonyMgr.getDeviceId();需要权限android.permission.R…...

git串讲笔记

1.注册2.gitee 创建 仓库3. 你的电脑 git软件4. 将上边软件的安装路径需要设置到idea中file settting git path to git executeable: C:\Program Files\Git\bin\git.exe5.vcs create git repository6.点 对号 将idea代码提交本地仓库中7.点 斜右上 方绿色箭头 &#xff1a; 将本…...

ChIP-seq 分析:原始数据质控(2)

1. ChIPseq 简介 染色质免疫沉淀&#xff0c;然后进行深度测序 (ChIPseq) 是一种成熟的技术&#xff0c;可以在全基因组范围内识别转录因子结合位点和表观遗传标记。 ChIPseq1.1. 实验处理 ChIPseq2交联和蛋白质结合的 DNA。通过抗体富集特定蛋白质或 DNA 。添加 末端修复、A 尾…...

对几万行数据的调优操作,调优后系统性能提升明显

文章目录 前言一、问题一:对几万条数据筛选二、问题二:对几万条数据增删查改总结前言 对几万行的数据的处理或者对几万行数据与数据库的交互操作,虽然严格意义上来说,并不是很多,但是如果按照传统普通的流程一次性的遍历处理操作数据,也是会性能很差,有可能到分钟级别;…...

索尼官方答疑,你关心的PS VR2问题都在这里

随着索尼PS VR2即将开售&#xff0c;索尼在近期也逐渐公布更多关于PS VR2的消息&#xff0c;包括首发阵容&#xff08;2-3月期间&#xff09;共计37款。与此同时&#xff0c;外界对于索尼PS VR2提出了更多担心&#xff0c;彭博社爆料称&#xff1a;因PS VR2的预订量未及预期&am…...

SSM企业权限管理项目(一)

AdminLTE AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具&#xff0c;它提供了一系列响应的、 可重复使用的组件&#xff0c;并内置了多个模板页面&#xff1b;同时自适应多种屏幕分辨率&#xff0c;兼容PC和移动端后台模板框架github获取AdminLTE源码&#…...

C++设计模式(10)——原型模式

亦称&#xff1a; 克隆、Clone、Prototype 意图 原型模式是一种创建型设计模式&#xff0c; 使你能够复制已有对象&#xff0c; 而又无需使代码依赖它们所属的类。 问题 如果你有一个对象&#xff0c; 并希望生成与其完全相同的一个复制品&#xff0c; 你该如何实现呢&…...

uniCloud 云函数/云对象 node版本改变成12或18解决方案

爆红信息 right-hand side of instanceof is not an object 今天卡到一个本地跑好好的云对象部署云端直接报错了。 原因是这样的&#xff01;&#xff01; 1、你去看看你云函数依赖那npm install的插件node版本是不是有要求&#xff0c;博主开github看了尽然是node>12 2、…...

面对元宇宙算力瓶颈,AI算力专家宁畅开出三大秘方

文 | 智能相对论作者 | 沈浪元宇宙这把火&#xff0c;从2022继续烧到了2023。目前来看&#xff0c;资本市场对扎克伯格的元宇宙故事依旧抱以希望。2月1日美股收盘&#xff0c;Meta涨2.79%&#xff0c;报收153.12美元/股&#xff0c;盘后股价一度涨逾19%&#xff0c;市值暴涨将近…...

(考研湖科大教书匠计算机网络)第三章数据链路层-第七节:MAC地址、IP地址和ARP协议

pdf下载&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一&#xff1a;MAC地址&#xff08;1&#xff09;概述&#xff08;2&#xff09;IEEE 802局域网的MAC地址A&#xff1a;地址格式B&#xff1a;地址表示方法C&…...

LeetCode刷题模版:273 - 275、278 - 279、283 - 284、287、289 - 290

目录 简介273. 整数转换英文表示【未理解】274. H 指数275. H 指数 II278. 第一个错误的版本279. 完全平方数283. 移动零284. 顶端迭代器287. 寻找重复数289. 生命游戏290. 单词规律结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕ…...

HDFS基本命令

目录 1.上传文件到HDFS文件系统 2.查看HDFS文件系统中的文件 3.查看上传到HDFS文件系统中指定文件的内容 4.从HDFS文件系统下载指定文件&#xff0c;并存放在指定文件中 5.删除HDFS文件系统中的指定文件 6.创建目录 7.创建多级目录 8.递归删除目录下的所有文件 9.删除…...

Java中if结构语句有几种格式?怎样执行?

在一个程序执行的过程中&#xff0c;各条语句的执行顺序对程序的结果是有直接影响的。所以&#xff0c;我们必须清楚每条语句的执 行流程。而且&#xff0c;很多时候要通过控制语句的执行顺序来实现我们想要的功能。流程控制类语句包括顺序、分支、循环三个结构语句。下面就来了…...

百趣代谢组学分享:基于大规模多中心人群的肝癌血清标志物研究

为什么都是多组学发的高分文章&#xff0c;我只想做代谢组学可以发高分吗&#xff1f; 答案当然是 Yes。接下来Lavender就为大家分享由大连物化所许国旺老师课题组发表在HEPATOLOGY上面的一篇文章。 百趣代谢组学文献分享&#xff0c;文章的题目为&#xff1a;A Large-Scale,…...

java面试题(十四)数据库之sql

开启掘金成长之旅&#xff01;这是我参与「掘金日新计划 2 月更文挑战」的第 N 天&#xff0c;点击查看活动详情 1.1 介绍一下数据库分页 参考答案 MySQL的分页语法&#xff1a; 在MySQL中&#xff0c;SELECT语句默认返回所有匹配的行&#xff0c;它们可能是指定表中的每个…...

Java顺序表模拟实现 + ArrayList介绍

文章目录前言一、模拟实现顺序表成员属性成员方法1&#xff0c;构造方法2&#xff0c;add——新增元素&#xff0c;默认在数组末尾新增2.1&#xff0c; isFull——判断顺序表是否已满2.2&#xff0c; expandCapacity——扩容3&#xff0c;add——在 pos 位置新增元素3.1&#x…...

html+css网页练习四

文章目录一、购物网站页面1、要求2、效果图3、index.html4、style.css二、活动页面1、要求2、效果图3、index.html4、style.css三、电商网站页面1、要求2、效果图3、index.html4、style.css四、搜索引擎页面1、要求2、效果图3、index.html3.1、index1.html3.2、index2.html4、s…...

行云洞见|为何行业权威都预测“云原生IDE 将成为常态”?

原文&#xff1a;《The year of the Cloud Development Environment 》 作者&#xff1a;RedMonk创始人 James Governor 最近CNCF在2023年云原生预测中谈到“云原生IDE 成为常态”&#xff0c;让CloudIDE又成为了云原生的焦点&#xff0c;市场上对CloudIDE的态度以及发展趋势讨…...

Fluke ADPT连接器给福禄克万用表插上翅膀

所需设备&#xff1a; 1、Fluke ADPT连接器&#xff1b; 2、Fluke 15B / 17B / 18B 简介 Fluke ADPT连接器允许个人计算机通过串行口与福禄克万用表进行通信。 计算机PC程序通过图形界面来输入数据和命令&#xff0c;与福禄克万用表进行交互。 Fluke ADPT连接器是一款先…...

VUE 年份范围选择器

VUE 年份范围选择器遇到一个需求,需要写一个年份选择器,是范围的年份选择器,比如:xxx年到xxx年 在使用elment UI的时候发现没有这种功能,于是采用el-date-picker 的年份选择器自己后封装了一个年份范围选择器 由于组件使用的地方很多,所以格式化都在组件中处理,回传格式在回传的…...

工业以太网交换机功能测试标准和方法

一、 数据帧过滤&#xff1a;测试被测设备数据帧过滤功能。 a) 测试步骤&#xff1a;1) 按图1搭建测试环境&#xff1b;2) 网络测试仪测试口1向测试口2和测试口3线速发送数据帧&#xff1b;3) 记录网络测试仪测试口2和测试口3数据接收情况&#xff1b;4) 在被测设备上配置端口2…...

Prometheus监控Elasticsearch

1 下载elasticsearch exporterhttps://github.com/prometheus-community/elasticsearch_exporter2 systemd 管理elasticsearch exporter service文件: /usr/lib/systemd/system/es_exporter.service[Unit] Descriptiones_exporter Documentationhttps://prometheus.io Afterne…...

Linux C 中数组名和结构体变量名代表的含义

在linux c 中数组和结构体是常见的数据结构类型&#xff0c;那么他们的标号名称 有代表神魔呢&#xff1f; 比如&#xff1a; int a&#xff0c; a 代表的是一个变量名程&#xff0c;它对应的地址中&#xff08;&a&#xff09;存的是一个整形值&#xff0c; 那么 char buf…...

如何控制Facebook投放广告成本?

一&#xff0c;Facebook广告成本高的原因和常见问题广告的成本很高&#xff0c;因为我们需要扩张正如前几篇文章所说&#xff0c;我们所要做的就是扩大对表现良好的产品和广告的广告。有两种扩展方式&#xff1a;这个过程也是我们的AD优化测试的一部分。因为在扩大规模的过程中…...

LeetCode——1604. 警告一小时内使用相同员工卡大于等于三次的人

一、题目 力扣公司的员工都使用员工卡来开办公室的门。每当一个员工使用一次他的员工卡&#xff0c;安保系统会记录下员工的名字和使用时间。如果一个员工在一小时时间内使用员工卡的次数大于等于三次&#xff0c;这个系统会自动发布一个 警告 。 给你字符串数组 keyName 和 …...

NLP之相似文本搜索

NLP之相似文本搜索相似文本搜索介绍应用场景常见算法1.text2vec流程代码2.gensim流程代码相似文本搜索 介绍 相似文本搜索是一种特殊的文本搜索&#xff0c;它的目的是找到与指定文本最相似的文档。这种技术通常通过计算文本间的相似度来实现&#xff0c;相似度可以通过各种方…...

python数据可视化开发(4):爬取对应地址的pdf文档并分类保存到本地文件夹(爬虫)

系列文章目录 python开发低代码数据可视化大屏&#xff1a;pandas.read_excel读取表格python实现直接读取excle数据实现的百度地图标注python数据可视化开发(1)&#xff1a;Matplotlib库基础知识python数据可视化开发(2)&#xff1a;pandas读取Excel的数据格式处理python数据可…...

Nginx是什么?有哪些优点?

Nginx(“engine x”)一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】&#xff0c;同时也是一个【POP3/SMTP/IMAP代理服务器】&#xff0c;是由伊戈尔赛索耶夫(俄罗斯人)使用C语言编写的&#xff0c;Nginx的第一个版本是2004年10月4号发布的0.1.0版本。另外值得一提的是…...

matplotlib在一张图上绘制包含多条折线的多个子图

matplotlib在一张图上绘制包含多条折线的多个子图问题描述解决办法问题描述 实验用了多个数据集&#xff0c;并且用了多种对比实验的方法&#xff0c;想把结果展示在一张图上&#xff0c;就需要在一个图上画多个折线图&#xff0c;并且需要在一张大图上绘制多个小图。 解决办…...

【LeetCode每日一题】【2023/2/7】1604. 警告一小时内使用相同员工卡大于等于三次的人

文章目录1604. 警告一小时内使用相同员工卡大于等于三次的人方法1&#xff1a;哈希表1604. 警告一小时内使用相同员工卡大于等于三次的人 LeetCode: 1604. 警告一小时内使用相同员工卡大于等于三次的人 中等\color{#FFB800}{中等}中等 力扣公司的员工都使用员工卡来开办公室的…...

Arbitrum上首个跨链互操应用开启空投计划!

2月6日消息&#xff0c;波卡生态跨链互操作应用Avault 全链产品正式上线。据悉&#xff0c;该版本代码经由派盾完成审计&#xff0c;并在本周一正式支持Arbitrum网络。这标志着Avault从波卡生态出发&#xff0c;正式升级为区块链世界中第一个严格意义上的一站式跨链收益平台。 …...

浅学persistent

文章目录1. 背景2. 开机自启动流程3. adb kill -9 杀进程后会自动重启4. 小结1. 背景 在应用AndroidManifest文件下添加 android:persistent“true” 关键字&#xff0c;并把Apk预置到system/app目录下&#xff0c;可以给应用实现开机自启动和保活效果。 从以下两个疑问去找答…...

LeetCode题解 动态规划(二):62 不同路径;63 不同路径II

62 不同路径 medium 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&a…...

Flowable涉及的表介绍

文章目录一、ACT_RE_1、介绍2、表1、act_re_model&#xff08;流程模型&#xff09;2、act_re_deployment&#xff08;部署单元信息&#xff09;3、act_re_procdef&#xff08;已部署的流程定义&#xff0c;部署时加载的xml信息&#xff09;二、ACT_RU_1、介绍2、表1、act_ru_e…...

CompletableFuture的使用

文章目录1、Future2、CompletableFuture并行&#xff0c;并发 并发&#xff1a;一个实体上&#xff0c;多个任务有序执行 并行&#xff1a;多个实体上&#xff0c;多个任务同时执行 用户线程 用户线程是系统的工作线程&#xff0c;会完成程序需要完成的业务操作 守护线程 是一…...

【JavaSE】fail-fast与fail-safe源码分析

文章目录1. fail-fast与fail-safe概述2. fail-fast源码分析3. fail-safe源码分析4. 总结1. fail-fast与fail-safe概述 快速失败(fail-fast)&#xff0c;快速失败是Java集合的一种错误检测机制。 出现场景&#xff1a;线程A在使用迭代器遍历一个集合对象的时候&#xff0c;线程…...

LeetCode-127-单词接龙

1、虚拟节点广度优先搜索 为了获得最短转化序列中的单词数目&#xff0c;我们可以假设每个单词是一个节点&#xff0c;可以互相转化的节点之间存在边&#xff0c;这样我们就能将最短转化序列问题转化为图的广度优先搜索问题。考虑到图中可能存在环&#xff0c;因此我们需要额外…...

【pytorch】图片分类问题处理一般数据集,使其满足torchvision.datasets.ImageFolder调用结构

torchvision.datasets.ImageFolder调用结构&#xff1a; 对于简单的图像分类任务&#xff0c;并不需要自己定义一个 Dataset类&#xff0c;可以直接调用 torchvision.datasets.ImageFolder 返回训练数据与标签。 数据集应满足pytorch的格式要求&#xff0c;即将数据集分割为训…...

利用泰克示波器MSO56完成LED行业的测试

1、 测试需求背景LED 是英文 Light Emitting Diode 的简称&#xff0c;是一种具有两个电极的半导体发光器件&#xff0c;让其流过小量电流就会发出可见光。LED的电性能测试特点与其实与开关电源的电性能测试基本相同&#xff0c;但更加侧重电流测试&#xff0c;因为LED是由开关…...

分享106个JS选项卡,总有一款适合您

分享106个JS选项卡&#xff0c;总有一款适合您 106个JS选项卡下载链接&#xff1a;https://pan.baidu.com/s/1kdRJvTgcuZe_TpzrcnmQDQ?pwd0k2d 提取码&#xff1a;0k2d Python采集代码下载链接&#xff1a;https://wwgn.lanzoul.com/iKGwb0kye3wj css手风琴效果选项卡 jQ…...

2023年,想要年赚百万必懂的道理?

1.一个人只有经历过风雨沧桑&#xff0c;才会明白一个道理&#xff1a;“这个世界最大的监狱就是人的思维&#xff0c;而越狱最好的方式就是人的觉醒。” 2.人活明白了就会知道&#xff0c;不要拿自己去跟别人比较&#xff0c;后果不是忘记了自己&#xff0c;就是让自己失落。…...

ANTLR4入门学习(三)

ANTLR4入门学习&#xff08;三&#xff09;一、ANTLR快速指南1.1 匹配算数表达式的语言1.2 java测试代码1.3 增加通用模块1.4 使用访问者模式实现计算器1.5 实现带有清除内存的计算器功能1.6 使用监听器构建一个翻译程序&#xff08;暂无&#xff09;二、定制语法分析过程2.1 在…...

Windows 11数据备份软件怎么选?

Windows 11 有数据备份软件吗&#xff1f; 备份和还原&#xff08;Windows 7&#xff09;以及 Windows 10 中的文件历史记录也保留在 Windows 11 中。因此你可以使用它来备份你的用户文件。但是&#xff0c;仅限于此。备份和还原 (Windows 7) 允许你在 Windows 11 中选择其他文…...

第三章.神经网络的学习—损失函数

第三章.神经网络的学习 3.1 损失函数 损失函数是表示神经网络性能“恶劣程度”的指标&#xff0c;即当前神经网络对监督数据在多大程度上不拟合&#xff0c;在多大程度上不一致。 1.均方误差(mean_squared_error) 1).公式&#xff1a; 参数说明&#xff1a; yk&#xff1a;神经…...

10 个最适合开发人员的 GitHub 代码库 ✅

在 GitHub 的帮助下&#xff0c;开发人员可以轻松访问并与他人共享他们的代码。它已成为开发人员在项目上进行协作并了解最新开发趋势的重要工具。对于开发人员而言&#xff0c;GitHub 是寻找最佳存储库以帮助他们完成开发项目的宝贵资源。有这么多可用的存储库&#xff0c;可能…...

C++多态的一些记录

文章目录俩概念例子多态要满足如何实现纯虚函数和抽象类几个黑马的例子虚析构和纯虚析构俩概念 首先记住俩概念&#xff0c;地址的早绑定和晚绑定 静态多态的函数地址早绑定 - 编译阶段确定函数地址动态多态的函数地址晚绑定 - 运行阶段确定函数地址 &#xff08;我的理解&a…...

JVM笔记(6)—— JVM运行时问题案例

案例一&#xff1a;CPU占用过多 问题场景&#xff1a;服务器告警CPU占用过高 排查&#xff1a; 用top命令查看哪个进程对cpu的占用过高&#xff0c;获取进程id。可以看到PID为32655的进程此时占用了99.2%的CPU 根据进程id用ps命令进一步定位是哪个线程引起的cpu占用过高&am…...

【单细胞高级绘图】06.feature展示

这个图是前两天刚画的。箱型图、散点图、小提琴图组合在一起&#xff0c;档次瞬间上去了。 最近修稿过程中&#xff0c;审稿人提了一个建议&#xff0c;说是在某一张小提琴图上添加点&#xff0c;可以更好反映数据的分布。我理解他的意思&#xff0c;大概就是&#xff1a; 左图…...

SVN记录

如何查看自己电脑是否已经安装过SVN打开终端&#xff0c;敲入如下命令&#xff1a;svn -version如果有已经安装了svn&#xff0c;那么终端控制台将出现如下信息&#xff1a;svn: invalid option character: eTypesvn help for usage.如果出现如下&#xff0c;则说明当前系统没有…...

Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理

Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理 目录 Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理 一、简单介绍 二、实现原理 三、注意事项 四、简单实现步骤 五、关…...

故障分析 | Redis AOF 重写源码分析

作者&#xff1a;朱鹏举 新人 DBA &#xff0c;会点 MySQL &#xff0c;Redis &#xff0c;Oracle &#xff0c;在知识的海洋中挣扎&#xff0c;活下来就算成功… 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请…...