文件被误删了前言:删除文件想必是大家经常过的事,有些时候不小心删除了有用的文件就有点麻烦了。...如果是删除文件到回收站,那么直接按住CTRL+Z 或者打开电脑里的回收站点还原项目就可以找回刚刚误删的文件了。...删除过的文件能恢复原理分析:我们知道电脑在删除一个很大文件时,用的时间和删除小文件几乎差不多。这是因为电脑在删除文件时,只需要在硬盘里标记这个文件已经被删除,让它不显示就可以了。...按win键+R 输入cmd回车 ,再输入fsutil behavior set disabledeletenotify 1 ,可以关闭固态硬盘自动清零文件被误删具体的恢复方法: 1.先百度搜索下载数据恢复软件...同名文件覆盖是发生在文件还正常存在的情况下。当文件被删除后文件所在的空间就处于没有保护的状态,随便存入一个文件就有可能发生覆盖。
首先看下下面的各种删除list元素的例子 public static void main(String[] args) { List list = new ArrayList...,每次调用size方法,损耗性能,不推荐 */ for (int i = 0; i < list.size(); i++) { String str...其中,for(xx in xx)是增强的for循环,即迭代器Iterator的加强实现,其内部是调用的Iterator的方法,为什么会报ConcurrentModificationException错误...取下个元素的时候都会去判断要修改的数量和期待修改的数量是否一致,不一致则会报错,而通过迭代器本身调用remove方法则不会有这个问题,因为它删除的时候会把这两个数量同步。...搞清楚它是增加的for循环就不难理解其中的奥秘了。
常见错误 常见错误一:使用固定长度循环删除列表元素 # 使用固定长度循环pop方法删除列表元素 num_list_1 = [1, 2, 2, 2, 3] for i in range(len(num_list...list中的元素后,list的实际长度变小了,但是循环次数没有减少,依然按照原来list的长度进行遍历,所以会造成索引溢出 常见错误二:正序循环遍历删除列表元素 不能删除连续的情况 # 正序循环遍历删除列表元素...这样就会漏掉解 ---- 正确的方法 正确的方法一:倒序循环遍历 # 倒序循环遍历删除列表元素 num_list_3 = [1, 2, 2, 2, 3] for item in num_list_3[...正确的方法二:遍历拷贝的list,操作原始的list 原始的list是num_list,那么其实,num_list[:]是对原始的num_list的一个拷贝,是一个新的list,所以,我们遍历新的list...此方法的缺点可能是,对于过大的list,拷贝后可能很占内存。那么对于这种情况,可以用倒序遍历的方法来实现。
如图,很多应用场景下,我们都会选择nginx作为tomcat的前端,进行后端服务器的负载均衡以及一些流量处理工作,同时,HTTPS的配置也一般放在Nginx上完成,而Nginx和后端服务器采用HTTP通信...在网上能搜到的版本里面,HTTPS+Nginx+Tomcat的配置大多是需要Tomcat配置HTTPS证书的,或者只提到了nginx侧的配置,采用这两种配置的话,第一种比较繁琐,需要在tomcat上面配置证书...,如果后端Tomcat比较多的话,更新替换证书并不是什么有趣的工作,并且,nginx到tomcat之间采用https的话,效率也比较低下(在这里我们忽略内网的安全性问题)。...另一种只配置nginx的方式在一些场景下,后端服务器需要获取到真实的协议类型时就会遇到问题,导致应用无法正确识别到访问请求是HTTP还是HTTPS。...正确的配置方法应该如下: Nginx配置 在nginx上面启用HTTPS,并设置location里面增加如下配置,主要是X-Forwarded-Proto需要配置 proxy_set_header Host
如果你已经尝试了100种错误方法,恭喜你,找到家了。这个是99.9%能保证成功的安装方式。如果你第一篇就看到这个,更加恭喜你,你少走了一万里弯路!...Encountered problems while solving: - nothing provides requested velocyto (pyvelo) rstudio ~ 4.正确安装
配置环境变量的具体步骤如下(以Win8举例说明): 1.右击“我的电脑”-->“属性”。 ? 2.点击左上角“高级系统配置”。 ? 3.选择“高级”选项卡-->“环境变量”。 ?...配置Jdk安装主目录。 点击如图所示的“新建”按钮,弹出新建环境变量对话框。 ?...在变量名输入“JAVA_HOME”,在变量值输入jdk的安装根目录,如我的是“D:\IT\Java\jdk1.8.0_101”。然后点击确定保存配置。 ?...如果也能正确显示javac的版本信息,且与java的版本号一致,说明jdk环境安装和配置大功告成。 ? 如果出现上图类似提示,说明jdk环境安装或配置除了问题。...请先按照JDK环境配置依次检查环境变量配置是否OK!如果配置都OK,那么请重复操作一遍JDK的安装。如果还是不行,可能是JDK安装包丢失了文件,建议重新下载!
Luminous下删除和新建OSD的正确姿势 如何正确删除OSD L版本开始极大的降低了对运维操作复杂度,新增了很多命令去确保数据安全,很多新手在删除OSD的时候很容易忽视了集群PGs的状态最终导致数据丢失...用户在删除OSD之前运行这些命令,通过命令返回的内容,就可以判断删除操作是否能够确保数据安全。...另外在删除OSD的时候,官方也提供了2种类型的操作,一种是使用ceph osd destroy去替换故障磁盘,一种是彻底删除OSD,具体说明如下 - ceph osd destroy: zap info...OSD-0,删除前,运行前面提到的ok-to-stop和safe-to-destroy命令,根据返回的结果来决定是否能够执行删除OSD操作。...和ceph.db_device发生变化,虽然现在OSD在挂载的时候会按uuid来查找对应的设备(使用get_osd_device_path方法,具体见下面代码),但是为了确保tag数据的一致性,还是推荐使用
以上2种场景对我们来说可能是非常常见的,我们在使用电脑时,删除文件的行为可能经常发生,误删的情况也可能经常出现。怎样恢复删除的文件?可能大家都很好奇。本文将为大家分享几个恢复删除文件的实用方法!...图片 方法1:使用Ctrl+z撤回删除操作 那么,文件被删除后,该怎么恢复?如果文件被删除的时间不久,可以利用【Ctrl+z】来进行撤销删除的操作。...我们只需要在删除文件后且未进行任何操作之前,按下【Ctrl+z】,即可恢复删除的文件。 提示:此方法有较大的局限性,在实际操作中如果进行了其他步骤,可能难以使用此方法完成文件的恢复。...方法2:通过回收站还原删除的文件 电脑上删除的文件怎么找回来?我们可以通过回收站来还原删除的文件。...如果我们在日常使用电脑时,不小心删除了一些比较重要的文件。不要担心,可以借助上述的3个方法!怎样恢复删除的文件?相信朋友们已经学会了吧!
最近发现我们的环境就算配置了security group外界也无法访问vm,但是vm能够访问外网,这个就很诡异了。 后来发现应该是配置的问题。...修改controller的/etc/neutron/plugin.ini,修改或者添加下列内容: firewall_driver=neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver...重启相关neutron服务 修改controller和compute的nova.conf文件,修改或者添加下列内容: firewall_driver = nova.virt.firewall.NoopFirewallDriver...security_group_api=neutron 重启相关nova服务和compute上的neutron服务
所以我准备将测试报告从网页截图发给他,此时我要用到网页长截图,但是又不想下载花里胡哨的工具,经过研究,谷歌浏览器自带页面长截图功能,现在就来分享给大家。...第一步 在你需要长截图的页面按 F12 打开开发者工具。
在了解了Git的基本用法后(如果你还未了解 Git 的基本使用方法,建议你先话点时间阅读下《 Pro Git 》这本书),相信你已经开始跃跃欲试了,那么我就说下如何正确的使用 Github。...一般来说使用 SSH 模式,在一次配置后,就可以免输密码提交代码,比较方便,但使用 HTTPS 模式更具备通用性,所以各有利弊,随意选择~ # 使用 ssh clone 项目到本地$ git clone...$ git add --all$ git status$ git commit --verbose git add 命令的all参数,表示保存所有变化(包括新建、修改和删除)。...先查看我们的 Remote 配置 $ git remote -vorigin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)origin...将源项目添加为 upstream $ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git 检查配置是否生效
这个独立的Options模型本身并不依赖于配置系统,让配置系统来提供配置数据仅仅是通过Options模型的一个扩展点实现的。...在很多情况下,可能并不需要将应用的配置选项定义在配置文件中,在应用启动时直接初始化可能是一种更方便快捷的方式。...如果需要根据指定的名称对Options进行初始化,那么调用方法时就需要指定一个Action类型的委托对象,该委托对象的第二个参数表示Options的名称。...我们利用第6章介绍的配置系统来设置当前的承载环境,具体采用的是基于命令行参数的配置源。....扩展方法完成了针对Options模型核心服务的注册和针对DateTimeFormatOptions的设置。
我们调用AddJsonFile扩展方法将针对JSON配置文件(profile.json)的配置源注册到创建的ConfigurationBuilder对象上,并利用它创建对应的IConfigurataion...Configure扩展方法相当于将提供的IConfiguration对象与指定的TOptions类型做了一个映射,在需要提供对应TOptions对象时,IConfiguration对象承载的配置数据会被提取出来并绑定生成返回的...在调用IServiceCollection接口的Configure扩展方法时,我们将注册的映射关系命名为foo和bar,提供原始配置数据的IConfiguration对象也由原来的ConfigurationRoot...三、配置源的同步 通过《配置数据与数据源的实时同步》的介绍可知,配置模型不仅支持对配置源的监控,还可以在检测到更新之后及时加载新的配置数据,并通过一个IChangeToken对象对外发送通知。...如下面的代码片段所示,调用AddJsonFile扩展方法注册对应配置源时应将该方法的参数reloadOnChange设置为True,从而开启对对应配置文件的监控功能。
CentOS和Ubuntu的时区文件是/etc/localtime,但是在CentOS7以后localtime以及变成了一个链接文件 [root@centos7 ~]# ll /etc/localtime...lrwxrwxrwx 1 root root 33 Oct 12 11:01 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai 如果采用直接cp的方法修改系统时区...,那么就会把它所链接的文件修改掉,例如把美国的时区文件内容修改成了上海的时区内容,有可能会导致有些编程语言或程序在读取系统时区的时候发生错误,因此正确的修改方法是: CentOS6、Ubuntu16 #.../usr/share/zoneinfo/Asia/Shanghai /etc/localtime CentOS7、RHEL7、Scientific Linux 7、Oracle Linux 7 最好的方法是使用...timedatectl命令 # timedatectl list-timezones |grep Shanghai #查找中国时区的完整名称 Asia/Shanghai # timedatectl
—— 安东·斯普拉尔 ” 无论你的目标职业是软件开发人员、web开发人员还是数据科学家,所有基于IT的职业都有一个共同点,那就是编程。 在本文中,我将引导你完成5个步骤。我相信这是学习编程的正确方法。...学习正确的思维方法以及学习如何解决编程问题,这将有助于减少你在将来解决问题时所花费的时间。它还将帮助你更快、更高效地学习多种编程语言。...的确,在没有扎实的算法和数据结构知识的情况下,也可以在职业生涯中取得一定的成功。但掌握好这些概念将加强你的知识基础,让你成为一名更优秀的程序员。 算法的概念不仅仅适用于计算机。...对于煮咖啡这件事情来说,整个的咖啡豆和磨碎的咖啡豆是可能存在的数据结构。因此,不同形式的数据(或咖啡)需要不同的处理方式。 有很多学习算法和数据结构的书籍、课程供选择 。...虽然学习编程的方式很多,在我看来,正确的路径是: 培养良好的编程直觉(解决问题的技能)。 学习算法和数据结构。 至少学习复杂性理论的基础知识。 首先用伪代码实现解决方案。 学习某些编程语言的语法。
提升营业额的正确方法 怎样才能让一个酒店赚钱?说起来其实很简单:一方面提高营业额;一方面降低各种成本,它们的差距越大,赚钱越多。 怎样提升营业额呢?首先我们要清楚是什么决定了营业额。...再想拔就难了,当然方法还是有的:再大把大把的投钱罗。钱总能改变一切。...6.如何塑造属于餐厅自己的企业文化? 企业文化最直观的表现就是企业的精神文化和凝聚力,企业文化的塑造不是一朝一夕之功,是需要日积月累和长久的沉淀。...杜绝不合理支出和不必要的浪费,控制运营成本才是正确的解决之道。 8.如何降低餐厅运营成本?...只有这样,才能提升餐厅的营业额,完成餐厅经营者的梦寐以求的目标。
不管是客户端的逻辑错误导致的,还是服务器的数据问题导致的,只要出现了异常,我们都需要一个机制来通知我们去处理。...在 APP 的开发过程中,我们通过一些第三方的平台,比如 Fabric、Bugly 等可以实现异常的日志上报。 Flutter 也有一些第三方的平台,比如 Sentry 可以实现异常的日志上报。...至于具体的上报途径,不管是上报到自家的后台服务器,还是通过第三方的 SDK API 接口进行异常上报,都是可以的。...平时调试的时候如果遇到错误,我们是会定位问题并修复的。 因此在 debug 模式下,我们不希望上报错误,而是希望直接打印到控制台。...参考链接: Report errors to a service 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。
Nginx正确记录post日志的方法 事实上可以很简单,这取决于把 access_log 放在哪个 location 里面。...一,放到包含fastcgi_pass或proxy_pass的Location里面。...,可以是这样: log_format post_log 'remote_addr - request_body'; $request_body 即为post的数据。...然后post数据到这个目录下的.php文件,就可以记录post日志了。 二,放到任意Location里面。...http://github.com/simpl/ngx_devel_kit/tags http://github.com/chaoslawful/lua-nginx-module/tags 把解压后的2
Arch Wiki 提供了一条龙服务,刚安装完系统的 Arch 是不带桌面的,但是 Arch Wiki 提供了详细的桌面配置过程,以及输入法配置过程。...查看自己的内存使用情况, LXDE + 32 位的 Arch Linux,我的内存占用才 70 M 左右,我知道我这次找到了真爱,于是一直使用 Arch 至今,也感谢我的电脑配置低,不然我很可能就停留在...;最后便是 Arch Wiki 对于绝大多数软件包要如何配置,遇到问题怎么去解决,都有详细的说明,这对于新手来说肯定是一个福音。...要使mplayer正确显示字幕,关键是要使字幕文件的编码和mplayer config里使用的编码相一致。...如果字幕文件编码为utf-8,而设置成subcp=cp936,则会出现部分乱码的情况。另一种更为简单的方法是设置成subcp=enca:zh:ucs-2,由enca负责字幕的编码显示问题。
虽然有Thread.stop/suspend等方法,但是这些方法存在缺陷,不能保证线程中共享数据的一致性,所以应该避免直接调用。...然而,该机制的最大的问题就是无法应用于拥塞方法。假设在循环中调用了拥塞方法,任务可能因拥塞而永远不会去检查取消标志位,甚至会造成永远不能停止。...所以对于中断操作的正确理解为:正在运行的线程收到中断请求之后,在下一个合适的时刻中断自己。...对于ExecutorService,其包含线程池,是其下属线程的拥有者,所提供的生命周期方法就是shutdown和shutdownNow方法。...但是,让以上的日志服务停下来其实并非难事,因为拥塞队列的take方法支持响应中断,这样直接关闭服务的方法就是强行关闭,强行关闭的方式不会去处理已经提交但还未开始执行的任务。
领取专属 10元无门槛券
手把手带您无忧上云