Spring Boot 20天入门(day11)

    • Springboot定时与异步任务
      • Spring Schedule 实现定时任务
        • 1、定制一个scheduled task
        • 2、加上@EnableScheduling注解
        • 3、自定义线程池创建Scheduled task
        • 4、@EnableAsync和@Async使定时任务并行执行
      • Spirngboot 异步任务
        • Future模式
        • Future模式的核心思想
      • Springboot使用异步编程
        • 两个核心注解
        • 自定义TaskExecutor
        • 编写一个异步方法
        • 测试
    • Springboot与安全
      • Springsecurity
        • 什么是Springsecurity
      • Springboot整合Springsecurity
    • Reference

Springboot定时与异步任务

Spring Schedule 实现定时任务

1、定制一个scheduled task

我们使用@Scheduled注解能很方便的创建一个定时任务,下面代码涵盖了@Scheduled的常见用法。包括:固定速率执行、固定延迟执行、初始延迟执行、使用 Cron 表达式执行定时任务。

Cron 表达式: 主要用于定时作业(定时任务)系统定义执行时间或执行频率的表达式,非常厉害,你可以通过 Cron 表达式进行设置定时任务每天或者每个月什么时候执行等等操作。

推荐一个在线Cron表达式生成器:http://cron.qqe2.com/

@Component
public class ScheduledTask {private static final Logger log = LoggerFactory.getLogger(ScheduledTask.class);private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");/*** @Method:* @DATE: 2020/5/31* @Description: TODO  按固定速率执行,每5秒执行一次* @Author Weleness* @param* @Return*/@Scheduled(fixedRate = 5000)public void reportCurrentTimeWithFixedRate(){log.info("Current Thread : {}", Thread.currentThread().getName());log.info("Fixed Rate Task : The time is now {}", dateFormat.format(new Date()));}/*** @Method:* @DATE: 2020/5/31* @Description: TODO  固定延迟执行,距离上次执行成功后2秒执行* @Author Weleness* @param* @Return*/@Scheduled(fixedDelay = 2000)public void reportCurrentTimeWithFixedDelay(){try {TimeUnit.SECONDS.sleep(3);log.info("Fixed Delay Task : The time is now {}", dateFormat.format(new Date()));} catch (InterruptedException e) {e.printStackTrace();}}/*** @Method:* @DATE: 2020/5/31* @Description: TODO initialDelay:初始延迟。任务的第一次执行将延迟5秒,然后将以5秒的固定间隔执行。* @Author Weleness* @param * @Return */@Scheduled(initialDelay = 5000,fixedRate = 5000)public void reportCurrentTimeWithInitialDelay(){log.info("Fixed Rate Task with Initial Delay : The time is now {}",dateFormat.format(new Date()));}/*** @Method: * @DATE: 2020/5/31* @Description: TODO cron:使用Cron表达式。 每分钟的1,2秒运行* @Author Weleness* @param * @Return */@Scheduled(cron = "1-2 * * * * ? ")public void reportCurrentTimeWithCronExpression(){log.info("Cron Expression:The time is now {}",dateFormat.format(new Date()));}
}

2、加上@EnableScheduling注解

@EnableScheduling // 开启springboot对定时任务的支持
@SpringBootApplication
public class Anhtom2000Application {public static void main(String[] args) {SpringApplication.run(Anhtom2000Application.class, args);}}

3、自定义线程池创建Scheduled task

需要写一个配置类,重写方法将我们自定义的线程池配置进去

/*** @Description : TODO  自定义异步任务线程池* @Author : Weleness* @Date : 2020/05/31*/
@SpringBootConfiguration
public class SchedulerConfig implements SchedulingConfigurer {private final int POOL_SIZE=10;@Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {// 需要注意的是,配置的线程池必须是指定的线程池ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();threadPoolTaskScheduler.setPoolSize(POOL_SIZE);threadPoolTaskScheduler.setThreadNamePrefix("my-scheduled-task-pool-");threadPoolTaskScheduler.initialize();taskRegistrar.setTaskScheduler(threadPoolTaskScheduler);}
}

4、@EnableAsync和@Async使定时任务并行执行

/*** @Description : TODO* @Author : Weleness* @Date : 2020/05/31*/
@Component
@EnableAsync
public class AsyncScheduledTasks {private static final Logger log = LoggerFactory.getLogger(AsyncScheduledTasks.class);private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");/*** @param* @Method:* @DATE: 2020/5/31* @Description: TODO fixedDelay:固定延迟执行。距离上一次调用成功后2秒才执。* @Author Weleness* @Return*/@Async@Scheduled(fixedDelay = 2000)public void reportCurrentTimeWithFixedDelay() {try {TimeUnit.SECONDS.sleep(3);log.info("Fixed Delay Task : The time is now {}", dateFormat.format(new Date()));} catch (InterruptedException e) {e.printStackTrace();}}}

Spirngboot 异步任务

Future模式

异步编程再处理耗时操作以及多线程处理的场景下非常有用,我们可以更好的让我们的系统利用好机器的CPU和内存,提高他们的利用率。多线程设计模式有很多种,Future模式是多线程开发中非常常见的一种设计模式。

Future模式的核心思想

Future模式的核心思想是异步调用。当我们执行一个方式时,假设这个方法中有多个耗时的任务需要同时去做,而且又不着急等待这个结果返回,那么我们可以立即返回给客户端,再让后台慢慢的去计算任务,当然也可以等这些任务都执行完了,再返回给客户端。

Springboot使用异步编程

两个核心注解

1、@EnableAsync :通过再配置类或启动类上加**@EnableAsync`**注解开启对异步方法的支持。

2、@Async :标注在类上或者方法上。标注在类上表示这个类的所有方法都是异步方法。

自定义TaskExecutor

他是线程的执行者,用来启动线程的执行者接口。Spring 提供了TaskExecutor接口作为任务执行者的抽象,它和java.util.concurrent包下的Executor接口很像。稍微不同的 TaskExecutor接口用到了 Java 8 的语法@FunctionalInterface声明这个接口是一个函数式接口。

@FunctionalInterface
public interface TaskExecutor extends Executor {/*** Execute the given {@code task}.* <p>The call might return immediately if the implementation uses* an asynchronous execution strategy, or might block in the case* of synchronous execution.* @param task the {@code Runnable} to execute (never {@code null})* @throws TaskRejectedException if the given task was not accepted*/@Overridevoid execute(Runnable task);}

如果没有自定义Executor,Spring将创建一个SimpleAsyncTaskExecutor并使用它

@EnableAsync
@SpringBootConfiguration
public class AsyncConfig implements AsyncConfigurer {private static final int CORE_POOL_SIZE = 6;private static final int MAX_POOL_SIZE = 10;private static final int QUEUE_CAPACITY = 100;@Beanpublic Executor taskExecutor(){// Spring 默认配置是核心线程数大小为1,最大线程容量大小不受限制,队列容量也不受限制。ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();// 核心线程数executor.setCorePoolSize(CORE_POOL_SIZE);// 最大线程数executor.setMaxPoolSize(MAX_POOL_SIZE);// 队列大小executor.setQueueCapacity(QUEUE_CAPACITY);// 当最大池已满时,此策略保证不会丢失任务请求,但是可能会影响应用程序整体性能。executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());executor.setThreadNamePrefix("My ThreadPoolTaskExecutor-");executor.initialize();return executor;}
}

ThreadPollTaskExecutor常见概念:

  • **Core Pool Size:**核心线程数,定义了最小可以同时运行的线程数量。
  • **Queue Capacity:**当新任务来的时候会先判断当前运行的线程数量是否达到核心线程数,是就添加信任并存放在队列中。
  • Maximum Pool Size : 可同时运行线程的最大数量。

思考:如果队列以慢并且当前同时运行线程数达到最大线程数时,如果再有新任务过来会发生什么?

Spring默认使用的是ThreadPoolExecutor.AbortPolicy策略。在默认情况下,ThreadPoolExecutor 将抛出 RejectedExecutionException 来拒绝新来的任务 ,这意味着你将丢失这个任务的处理。对于可伸缩的应用程序,建议使用ThreadPoolExecutor.CallerRunsPolicy,当线程数达到最大时,为我们提供一个可伸缩的队列。

ThreadPoolTaskExecutor 饱和策略

如果当前同时运行的线程数量达到最大线程数量时,ThreadPoolTaskExecutor 定义一些策略:

  • ThreadPoolExecutor.AbortPolicy:抛出 RejectedExecutionException来拒绝新任务的处理。
  • ThreadPoolExecutor.CallerRunsPolicy:调用执行自己的线程运行任务。这种策略会降低对于新任务提交速度,影响程序的整体性能。另外,这个策略喜欢增加队列容量。如果您的应用程序可以承受此延迟并且你不能任务丢弃任何一个任务请求的话,你可以选择这个策略。
  • ThreadPoolExecutor.DiscardPolicy: 不处理新任务,直接丢弃掉。
  • ThreadPoolExecutor.DiscardOldestPolicy: 此策略将丢弃最早的未处理的任务请求。

编写一个异步方法

@Service
@Slf4j // lombok的一个注解,标注上就可以直接使用log日志,里面封装了slf4j的实现
public class AsyncService {private List<String> movies =new ArrayList<>(Arrays.asList("Forrest Gump","Titanic","Spirited Away","The Shawshank Redemption","Zootopia","Farewell ","Joker","Crawl"));/** 示范使用:找到特定字符/字符串开头的电影 */@Asyncpublic CompletableFuture<List<String>> completableFutureTask(String start) {// 打印日志log.warn(Thread.currentThread().getName() + "start this task!");// 找到特定字符/字符串开头的电影List<String> results =movies.stream().filter(movie -> movie.startsWith(start)).collect(Collectors.toList());// 模拟这是一个耗时的任务try {Thread.sleep(1000L);} catch (InterruptedException e) {e.printStackTrace();}//返回一个已经用给定值完成的新的CompletableFuture。return CompletableFuture.completedFuture(results);}
}

测试

启动项目,访问接口

2020-06-04 12:14:11.966  WARN 4216 --- [lTaskExecutor-4] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-4start this task!
2020-06-04 12:14:11.966  WARN 4216 --- [lTaskExecutor-5] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-5start this task!
2020-06-04 12:14:11.966  WARN 4216 --- [lTaskExecutor-1] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-1start this task!
2020-06-04 12:14:11.966  WARN 4216 --- [lTaskExecutor-6] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-6start this task!
2020-06-04 12:14:11.966  WARN 4216 --- [lTaskExecutor-2] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-2start this task!
2020-06-04 12:14:11.966  WARN 4216 --- [lTaskExecutor-3] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-3start this task!
Elapsed time: 1043

首先我们可以看到处理所有任务花费的时间大概是 1 s。这与我们自定义的 ThreadPoolTaskExecutor 有关,我们配置的核心线程数是 6 ,然后通过通过下面的代码模拟分配了 6 个任务给系统执行。这样每个线程都会被分配到一个任务,每个任务执行花费时间是 1 s ,所以处理 6 个任务的总花费时间是 1 s。

从上面的运行结果可以看出,当所有任务执行完成之后才返回结果。这种情况对应于我们需要返回结果给客户端请求的情况下,假如我们不需要返回任务执行结果给客户端的话呢? 就比如我们上传一个大文件到系统,上传之后只要大文件格式符合要求我们就上传成功。普通情况下我们需要等待文件上传完毕再返回给用户消息,但是这样会很慢。采用异步的话,当用户上传之后就立马返回给用户消息,然后系统再默默去处理上传任务。这样也会增加一点麻烦,因为文件可能会上传失败,所以系统也需要一点机制来补偿这个问题,比如当上传遇到问题的时候,发消息通知用户。

下面演示一下立即返回的情况

将异步任务的返回值改为void

@Async
public void completableFutureTask2(String start) {// 打印日志log.warn(Thread.currentThread().getName() + "start this task!");// 找到特定字符/字符串开头的电影List<String> results =movies.stream().filter(movie -> movie.startsWith(start)).collect(Collectors.toList());// 模拟这是一个耗时的任务try {Thread.sleep(1000L);} catch (InterruptedException e) {e.printStackTrace();}
}

修改controller的方法

@GetMapping("/movies2")
public String completableFutureTask2() throws ExecutionException, InterruptedException {// Start the clocklong start = System.currentTimeMillis();// Kick of multiple, asynchronous lookupsList<String> words = Arrays.asList("F", "T", "S", "Z", "J", "C");words.stream().forEach(word -> asyncService.completableFutureTask2(word));// Wait until they are all done// Print results, including elapsed timeSystem.out.println("Elapsed time: " + (System.currentTimeMillis() - start));return "Done";
}

访问接口

我们看到系统理解返回结果,然后再启动线程执行任务

Elapsed time: 5
2020-06-04 13:40:52.698  WARN 3368 --- [lTaskExecutor-3] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-3start this task!
2020-06-04 13:40:52.698  WARN 3368 --- [lTaskExecutor-2] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-2start this task!
2020-06-04 13:40:52.698  WARN 3368 --- [lTaskExecutor-6] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-6start this task!
2020-06-04 13:40:52.698  WARN 3368 --- [lTaskExecutor-1] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-1start this task!
2020-06-04 13:40:52.698  WARN 3368 --- [lTaskExecutor-4] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-4start this task!
2020-06-04 13:40:52.698  WARN 3368 --- [lTaskExecutor-5] c.g.anhtom2000.service.AsyncService      : My ThreadPoolTaskExecutor-5start this task!

Springboot与安全

Springsecurity

什么是Springsecurity

Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。

Springboot整合Springsecurity

引入依赖

  		<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>

简单的整合

要整合Springsecurity,我们需要重写一个Springsecurity的配置类

// 开启SpringSecurity功能。这个注解也包含了@configuration注解
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {// 配置路径@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/").permitAll() // 首页,所有人都可以访问.antMatchers("/user/**").hasRole("USER") // user下的所有接口,需要有USER权限.and().formLogin().loginPage("/login").defaultSuccessUrl("/user") // 登陆页面的接口,登陆成功跳转到/user接口.and().logout(); // 用户注销后跳转的配置,默认是/loginout}/*** 在内存中创建一个名为 "weleness" 的用户,密码为 "weleness",拥有 "USER" 权限*/@Bean@Overrideprotected UserDetailsService userDetailsService() {User.UserBuilder user=  User.withDefaultPasswordEncoder();InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();// 这里的password在springsecurity5中需要有一个密码加密器来进行加密(不允许存储明文密码)manager.createUser(user.username("weleness").password("weleness").roles("USER").build());return manager;}
}

controller

@Controller
public class HomeController {@GetMapping({"/","/home","/index"})public String root(){return "index";}@GetMapping("/login")public String login(){return "login";}
}
@Controller
public class UserController {@GetMapping("/user")public String user(@AuthenticationPrincipal Principal principal, Model model){model.addAttribute("username", principal.getName());return "user/user";}}

页面效果

首页

页面参考的是 http://www.spring4all.com/article/428/,侵删。

在这里插入图片描述

登陆

在这里插入图片描述
输入账号和密码后,点击登陆

来到user页面

在这里插入图片描述

与数据库的整合

这次引入了jpa,配置文件如下

server:port: 8798spring:thymeleaf:cache: falsedatasource:url: jdbc:mysql://localhost:3306/security00?serverTimezone=UTCusername: rootpassword: 8761797driver-class-name: com.mysql.cj.jdbc.Driverjpa:hibernate:ddl-auto: update

配置类

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{private DbUserDetailsService dbUserDetailsService;@Autowiredpublic void setAnyUserDetailsService(DbUserDetailsService dbUserDetailsService){this.dbUserDetailsService = dbUserDetailsService;}/*** 匹配 "/" 路径,不需要权限即可访问* 匹配 "/user" 及其以下所有路径,都需要 "USER" 权限* 登录地址为 "/login",登录成功默认跳转到页面 "/user"* 退出登录的地址为 "/logout",退出成功后跳转到页面 "/login"* 默认启用 CSRF*/@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/").permitAll().antMatchers("/user/**").hasAuthority("USER").and().formLogin().loginPage("/login").defaultSuccessUrl("/user").and().logout().logoutUrl("/logout").logoutSuccessUrl("/login");}/*** 添加 UserDetailsService, 实现自定义登录校验*/@Overrideprotected void configure(AuthenticationManagerBuilder builder) throws Exception{builder.userDetailsService(dbUserDetailsService);}@Beanpublic static PasswordEncoder passwordEncoder() {return NoOpPasswordEncoder.getInstance();}}

自定义登陆服务

// 当我们点击登陆后,springsecurity会获得表单提交的username和password字段,先从loadUserByUsername方法获得一个 UserDetails,然后再进行校验
@Service
public class DbUserDetailsService implements UserDetailsService {private final UserService userService;DbUserDetailsService(UserService userService){this.userService = userService;}@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {System.out.println(username);UserEntity userDO = userService.getByUserName(username);if (userDO == null){throw new UsernameNotFoundException("用户不存在!");}List<SimpleGrantedAuthority> simpleGrantedAuthorities = new ArrayList<>();simpleGrantedAuthorities.add(new SimpleGrantedAuthority("USER"));return new org.springframework.security.core.userdetails.User(userDO.getUsername(), userDO.getPassword(), simpleGrantedAuthorities);}}

用户服务

public interface UserService {/*** 添加新用户** username 唯一, 默认 USER 权限* @param userEntity*/void  insert(UserEntity userEntity);/*** 查询用户信息* @param username* @return UserEntity*/UserEntity getByUserName(String username);
}

测试

注册一个测试账号

在这里插入图片描述

登陆

在这里插入图片描述

Reference

JavaGuide

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. elasticsearch认识

    什么是elasticsearch Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将…...

    2024/4/24 10:38:01
  2. docker 安装redis/nginx/mysql

    安装redis 在root 下创建docker-conf/redis挂载文件夹在redis下创建data(用于持久化数据文件夹)、conf/redis.conf(自定义配置文件夹)使用docker pull redis获取redis镜像(使用docker search redis查看redis版本)使用docker run -p 6379:6379 --privileged=true --name doc…...

    2024/4/24 10:38:03
  3. 继承WebMvcConfigurationSupport的过滤器导致Swagger地址不能访问

    所以需要再自己定义的过滤器中配置:@Configuration public class InterceptorConfig extends WebMvcConfigurationSupport {@Autowiredprivate JwtInterceptor jwtInterceptor;@Overrideprotected void addInterceptors(InterceptorRegistry registry) {registry.addIntercept…...

    2024/4/24 10:38:05
  4. golang pprof笔记

    pprof导入import _ "net/http/pprof"go func() {log.Println(http.ListenAndServe(":6060", nil))}()fmt.Printf("pprof start!")内存使用情况 go tool pprof --text http://localhost:6060/debug/pprof/heap...

    2024/4/24 10:38:01
  5. (...)这三个点在JavaScript中意味着什么?

    数组/对象扩展运算符 假设您有以下对象: const adrian = {fullName: Adrian Oprea,occupation: Software developer,age: 31,website: https://oprea.rocks };假设您要创建一个具有不同名称和网站但具有相同职业和年龄的新对象(人)。 您可以通过仅指定所需的属性来执行此操作…...

    2024/4/24 10:38:05
  6. Anaconda安装pandas等包时遇到ERROR: Could not find a version that satisfies the requirement pandas (from ver

    遇到的问题 用 pip install pandas安装遇到如下问题解决 是由于pip没有更新引起的问题。输入python -m pip install --upgrade pip可能会引起超时的问题 如下所以我直接用了清华镜像源,亲测好用,输入 python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --u…...

    2024/4/24 10:38:04
  7. 在linux下安装pyconcrete加密python代码

    1. 下载pyconcrete安装包 百度云链接下载 链接:https://pan.baidu.com/s/1H7MQPL4d3wOi0K6D5hRtOA 提取码:e9b1 或者 github链接下载 https://github.com/Falldog/pyconcrete2. 安装pyconcrete 将pyconcrete-master.zip放在linux环境下, 并解压缩 我用的是Ubuntu 64位 18 进…...

    2024/4/24 10:37:55
  8. 开发nodejs服务器-服务器接受form标签上传的数据

    node_form.zip开发nodejs服务器-服务器接受标签上传的数据,的源代码,这个代码里面有index.html,index.js.package.json立即下载用nodejs搭建服务器安装nodejs ,搭建nodejs环境自己新建一个文件夹node_form,用于存放此处实验的代码;此文件里面新建index.js文件;并且在此文…...

    2024/4/24 10:38:03
  9. 为什么需要 TIME_WAIT 状态?

    主动发起关闭连接的一方,才会有 TIME-WAIT 状态。需要 TIME-WAIT 状态,主要是两个原因:防止具有相同「四元组」的「旧」数据包被收到; 防止旧连接的数据包保证「被动关闭连接」的一方能被正确的关闭,即保证最后的 ACK 能让被动关闭方接收,从而帮助其正常关闭;保证连接正…...

    2024/4/24 10:37:54
  10. docker安装es和ik分词器

    docker 安装es 查询镜像 docker search​​​​ elasticsearch选择合适的镜像下载 docker pull 镜像名称 查看下载 docker images配置文件 我在/data/es 下创建 es.yml 其实你随意 文件内容cluster.name: es-spring node.name: es-node1 network.host: 0.0.0.0 network.bind…...

    2024/4/24 10:38:00
  11. hadoop 从文件系统复制到目标路径

    问题:get到本地-在本地cp-put到hdfs文件系统--du显示目录下文件大小太麻烦 hadoop fs -put input /user/hadoop/input 解决方法:直接hadoop fs -cp input /user/hadoop/input...

    2024/4/16 6:21:32
  12. flutter where不是内部或外部命令

    flutter’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 冷冷清清里风风火火是我 2019-07-11 00:11:17 3100 收藏 1 展开 相信在开发配置环境变量过程中都遇到过以下问题: ‘XXX’ 不是内部或外部命令,也不是可运行的程序,或批处理文件。 或 error:unable to fi…...

    2024/4/16 6:22:02
  13. 学习Python第一天,命令很多跟Linux还有脚本语言相似。

    学习Python第二天,看了一天,有点头疼,准备先休息一会,再继续。有一点C语言和Java基础,学起来不是很费劲。学习热情尚好。 学习了dir,math模块,import加载模块,有跟Linux相似的地方。dir(math) [‘doc’, ‘loader’, ‘name’, ‘package’, ‘spec’, ‘acos’, ‘aco…...

    2024/4/16 6:21:57
  14. 疫情后首次开学

    在家呆了近半年终于开学了,记得之前开学日期从3月12调到3月22,然后到5月8号劳动节后,最后又调到6.2,申请通过后作为第三批入学的,之前批次为毕业生,之后批次估计最少要等到9月份了。至此终于回到久违的学校。 坐动车到火车站,南站有学校的大巴专车接送,从量体温、核查身…...

    2024/4/16 6:21:57
  15. 运用Python,30分钟轻松做出一份令老板眼前一亮的图表,薪资翻倍

    又到月底统计每月的数据的时候了庆幸的是,博酱的数据量并不是很多,分分钟就能统计完成哦(才不是因为博酱的阅读量少呢)但是那些业务量很大的公司一个月就能攒下很庞大的数据量不过如果你能掌握大数据处理的技术再多的数据也能轻轻松松搞定~并且还能借助工具生成各种高大上的…...

    2024/4/24 10:37:54
  16. 琥珀的日志#18

    6月2日 学习计划达成度33% 原因:白天离职流程,晚上散伙饭 晚上请了散伙饭还唱了最后一次K(也算是新冠期间顶风作案了233),喝大了。 人生第一次觉得在KTV一分钟内做出了所有 老一辈提到过的肢体动作(真的有提过吗,感觉记忆都像是编造的)。一瞬间感觉 人生乃至世界都像是…...

    2024/4/24 10:37:53
  17. 使用selenium实现某东登录系列一

    最近在研究爬虫方面的东西,头发掉了不少,现在的反爬措施真的是反人类,尤其是这些电商大佬们,搞得我整体掉头发!而且现在网上的教程真的是想骂人,复制粘贴连格式都不改,可是还得看啊,一篇一篇翻,一样的...一样的...一样的...头发又少了!还有就是现在不知道csdn是要大整…...

    2024/4/25 17:39:22
  18. Django Rest_Framework之视图集和权限配置

    一.问题 问题:下面这种情况如果将全部视图子类全部继承在一个视图类里面就会造成一个问题,有的是带参数的,有的不带参数,那么这种情况访问就会报错,如果写两个视图类的话里面就会有重复代码,这种情况就要使用下面的视图集来解决。二.常用视图集ViewSet 继承自APIView与Vi…...

    2024/4/24 10:37:48
  19. 2020P气瓶充装模拟考试题及P气瓶充装考试软件

    题库来源:安全生产模拟考试一点通公众号小程序2020P气瓶充装模拟考试题及P气瓶充装考试软件,包含P气瓶充装模拟考试题答案解析及P气瓶充装考试软件练习。由安全生产模拟考试一点通公众号结合国家P气瓶充装考试最新大纲及P气瓶充装考试真题出具,有助于P气瓶充装模拟考试题库考…...

    2024/4/24 10:37:48
  20. 深度学习到底有哪些卷积?

    深度学习到底有哪些卷积? 深度学习中不同种类的卷积(比如 2D / 3D / 1x1 /转置/扩张(Atrous)/空间可分/深度可分/平展/分组/混洗分组卷积),能帮理解实际的工作方式。 总结深度学习中常用的几种卷积,并会试图用一种每个人都能理解的方式解释。本文目录 1.卷积与互相关 2.…...

    2024/4/24 10:37:49

最新文章

  1. 数据结构与算法目录

    1、基本认识 算法的复杂度和稳定性 链接&#xff1a;算法的复杂度和稳定性_o(1) < o(logn) < o(n) < o(nlogn) < o(n^2) < o(n^3)-CSDN博客Java的链表的创建、插入、修改、删除、查询等 链接&#xff1a;Java的链表的创建、插入、修改、删除、查询等_java链表查…...

    2024/4/28 21:07:03
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. C# 构建可定时关闭的异步提示弹窗

    C# 构建可定时关闭的异步提示弹窗 引言1、调用接口的实现2、自动定时窗口的实现 引言 我们在最常用最简单的提示弹框莫过于MessageBox.Show( )的方法了&#xff0c;但是使用久了之后&#xff0c;你会发现这个MessageBox并不是万能的&#xff0c;有事后并不想客户去点击&#x…...

    2024/4/23 6:37:29
  4. Nginx配置文件修改结合内网穿透实现公网访问多个本地web站点

    文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…...

    2024/4/22 22:16:59
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/28 13:52:11
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/28 3:28:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/28 13:51:37
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/28 15:57:13
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/28 1:22:35
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57