Category: newest
-
Redis讲故事学习教程
你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上。 说起我的诞生,跟关系数据库MySQL还挺有渊源的。 在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发展的越来越快,它容纳的数据也越来越多,用户请求也随之暴涨,而每一个用户请求都变成了对它的一个又一个读写操作,MySQL是苦不堪言。尤其是到“双11”、“618“这种全民购物狂欢的日子,都是MySQL受苦受难的日子。据后来MySQL告诉我说,其实有一大半的用户请求都是读操作,而且经常都是重复查询一个东西,浪费它很多时间去进行磁盘I/O。后来有人就琢磨,是不是可以学学CPU,给数据库也加一个缓存呢?于是我就诞生了! 出生不久,我就和MySQL成为了好朋友,我们俩常常携手出现在后端服务器中。应用程序们从MySQL查询到的数据,在我这里登记一下,后面再需要用到的时候,就先找我要,我这里没有再找MySQL要。 为了方便使用,我支持好几种数据结构的存储: String Hash List Set SortedSet Bitmap ······ 因为我把登记的数据都记录在内存中,不用去执行慢如蜗牛的I/O操作,所以找我要比找MySQL要省去了不少的时间呢。可别小瞧这简单的一个改变,我可为MySQL减轻了不小的负担!随着程序的运行,我缓存的数据越来越多,有相当部分时间我都给它挡住了用户请求,这一下它可乐得清闲自在了!有了我的加入,网络服务的性能提升了不少,这都归功于我为数据库挨了不少枪子儿。 缓存过期 && 缓存淘汰 不过很快我发现事情不妙了,我缓存的数据都是在内存中,可是就算是在服务器上,内存的空间资源还是很有限的,不能无节制的这么存下去,我得想个办法,不然吃枣药丸。不久,我想到了一个办法:给缓存内容设置一个超时时间,具体设置多长交给应用程序们去设置,我要做的就是把过期了的内容从我里面删除掉,及时腾出空间就行了。 超时时间有了,我该在什么时候去干这个清理的活呢?最简单的就是定期删除,我决定100ms就做一次,一秒钟就是10次!我清理的时候也不能一口气把所有过期的都给删除掉,我这里面存了大量的数据,要全面扫一遍的话那不知道要花多久时间,会严重影响我接待新的客户请求的! 时间紧任务重,我只好随机选择一部分来清理,能缓解内存压力就行了。 就这样过了一段日子,我发现有些个键值运气比较好,每次都没有被我的随机算法选中,每次都能幸免于难,这可不行,这些长时间过期的数据一直霸占着不少的内存空间!气抖冷!我眼里可揉不得沙子!于是在原来定期删除的基础上,又加了一招: 那些原来逃脱我随机选择算法的键值,一旦遇到查询请求,被我发现已经超期了,那我就绝不客气,立即删除。这种方式因为是被动式触发的,不查询就不会发生,所以也叫惰性删除! 可是,还是有部分键值,既逃脱了我的随机选择算法,又一直没有被查询,导致它们一直逍遥法外!而于此同时,可以使用的内存空间却越来越少。 而且就算退一步讲,我能够把过期的数据都删除掉,那万一过期时间设置的很长,还没等到我去清理,内存就吃满了,一样要吃枣药丸,所以我还得想个办法。 我苦思良久,终于憋出了个大招:内存淘汰策略,这一次我要彻底解决问题! 我提供了8种策略供应用程序选择,用于我遇到内存不足时该如何决策: noeviction:返回错误,不会删除任何键值 allkeys-lru:使用LRU算法删除最近最少使用的键值 volatile-lru:使用LRU算法从设置了过期时间的键集合中删除最近最少使用的键值 allkeys-random:从所有key随机删除 volatile-random:从设置了过期时间的键的集合中随机删除 volatile-ttl:从设置了过期时间的键中删除剩余时间最短的键 volatile-lfu:从配置了过期时间的键中删除使用频率最少的键 allkeys-lfu:从所有键中删除使用频率最少的键 有了上面几套组合拳,我再也不用担心过期数据多了把空间撑满的问题了~ 缓存穿透 && 布隆过滤器 我的日子过的还挺舒坦,不过MySQL大哥就没我这么舒坦了,有时候遇到些烦人的请求,查询的数据不存在,MySQL就要白忙活一场!不仅如此,因为不存在,我也没法缓存啊,导致同样的请求来了每次都要去让MySQL白忙活一场。我作为缓存的价值就没得到体现啦!这就是人们常说的缓存穿透。 这一来二去,MySQL大哥忍不住了:“唉,兄弟,能不能帮忙想个办法,把那些明知道不会有结果的查询请求给我挡一下” 这时我想到了我的另外一个好朋友:布隆过滤器 我这位朋友别的本事没有,就擅长从超大的数据集中快速告诉你查找的数据存不存在(悄悄告诉你,我的这位朋友有一点不靠谱,它告诉你存在的话不能全信,其实有可能是不存在的,不过它他要是告诉你不存在的话,那就一定不存在)。 我把这位朋友介绍给了应用程序,不存在的数据就不必去叨扰MySQL了,轻松帮忙解决了缓存穿透的问题。 缓存击穿 && 缓存雪崩 这之后过了一段时间太平日子,直到那一天··· 有一次,MySQL那家伙正优哉游哉的摸鱼,突然一大堆请求给他怼了过去,给他打了一个措手不及。 一阵忙活之后,MySQL怒气冲冲的找到了我,“兄弟,咋回事啊,怎么一下子来的这么猛” 我查看了日志,赶紧解释到:“大哥,实在不好意思,刚刚有一个热点数据到了过期时间,被我删掉了,不巧的是随后就有对这个数据的大量查询请求来了,我这里已经删了,所以请求都发到你那里来了” “你这干的叫啥事,下次注意点啊”,MySQL大哥一脸不高兴的离开了。 这一件小事我也没怎么放在心上,随后就抛之脑后了,却没曾想几天之后竟捅了更大的篓子。…
-
最近炒的沸沸扬扬的手机sim卡保护码pin码和puk码是什么?
很多时候我们自己不用去百度搜索想了解的信息,因为大多数都是过时的解决办法。 眼下用户安全非常受到重视,一篇反诈骗的文章让大家了解到手机丢失的可怕,很多人开始注意自己手机的sim卡保护。 简单说就是如何使用pin码和puk码。我的方法是,下载中国移动app,问它。 打开app,找到右上角客服。输入pin,自动回复如下: PIN 码介绍:分为 PIN1 码和 PIN2 码。1、PIN1 码:默认是 1234, 如果被锁,可用 PUK 码解锁,如果忘记,可以使用其他手机拨打 1 0086 人工台,提供机主姓名和证件号码或客服密码来获得。2、P N2 码:即使锁住,也不影响手机使用,如想解锁,可通过营业厅获得 PUK2 码,个人户需持机主有效身份证件或客服密码、SIM 卡办理,代办时,需持双方有效身份证件原件。单位户持正规介绍信,经办人持本人有效身份证件或客户服务密码、SIM 卡办理。注:PUK 码输入错误超过 10 次部分机型 7 次), SIM 卡将报废需要补卡。 看到了吧,输入puk,就直接告诉你的puk1码了。
-
利用wget和curl命令测试IPv6的网站内容
http://6.ipv6proxy.cn 是只有ipv6地址的ipv6测试域名,用来检测你域名是否支持ipv6地址。 如果返回ipv6地址形式,说明你当前环境一定支持ipv6访问,而且默认优先选择了ipv6链路 通过nslookup可以看到如下结果: 首先在一个具有ipv6地址的服务器或者具有ipv6环境的机器上利用curl 加-v参数查看详细访问过程: 可以发现系统解析到ipv6地址,并进行ipv6访问。另外一种情况,http被重定向301了,那么301后是什么呢? curl并没有继续访问下去。这种情况下,要加参数-L 来继续进行访问:curl -v -6 -L http://6.ipv6proxy.cn 嗯,发现最终访问到了ipv6地址,并直接返回了结果显示在当前输出终端,结果就是我的客户端ipv6的地址。wget -6 http://6.ipv6proxy.cn wget默认会直接把访问的url地址作为文件名把结果保存下来,查看index.html就是结果。如果我们想要wget直接在终端输出结果显示,需要用 -q -O – 这样是比较干净的结果。
-
Discuz如何取消用户被冻结功能
一般来讲,不建议取消用户冻结功能。要知道存在用户密码泄露的情况下,会给网站经营者和互联网用户带来不确定的麻烦和经济损失,哪怕让用户麻烦一点去凭邮箱解冻,也不能让固定密码长期能用。 在充分评估安全前提下,可以去掉用户冻结功能。如下图所示操作即可: 关键知识点:当用户异地登录且距离上次登录超过 90 天时,帐号会进入未审核组,用户可以通过验证邮箱或者申诉解冻帐号,QQ登录的用户不受此功能影响 。 开启异常登录检测功能,除了在申诉之外,会员是QQ联系的管理员,管理员如何批量解冻这些账号? 但是按上述方法关闭异常登录检测功能后,这些账号还是处于“ 已冻结”状态 解决办法: 批量解冻SQL: update pre_common_member set freeze=0 where freeze!=0 单独解冻一个用户: update `pre_common_member`set freeze = 0 WHERE uid = xxx 更改会员uid 后执行
-
中国政府官员行政级别是怎么划分的?
政府官员的行政级别决定了中国政府官员的行为,而中国政府官员的行为相当影响了中国经济的走向路径。因此,要精通中国经济问题,熟悉中国政府官员的行政级别必然是一个绕不开的课题。 一方面,“不想当将军的士兵不是好士兵”,级别的提拔,是每一位官员的职业奋斗目标;另一方面,级别的高低,决定了权力的大小和影响的范围,进而在“看得见的手”中配置经济社会资源。 然而,中国官场的行政级别非常复杂,有时甚至没有明确的规定。国家能源局发展规划司副司长是什么级别?深圳市福田区副区长是什么级别?厦门市思明区发展和改革局局长是什么级别?上海市长宁区人民法院副院长是什么级别?如果你认为他们属于不同级别的话,那么你错了。正确答案是:他们都是正处级。 官员级别的两大识别法则 一、一般情况下,机构单位的行政级别决定了中国官员的行政级别(识别第一法则)。 中国的行政区划有中央(国家)、省(自治区、直辖市)、市(地区、自治州、盟)、县(区、旗、县级市)、乡(镇、街道),共划分五个行政层级,每个主要层级有正副两个级别,合算为十个级别。 1、国家级正职,简称“正国级”,职位包括:中共中央总书记,国家主席,中央军委主席,国务院总理,全国人大常委会委员长,全国政协主席,政治局常委。 2、国家级副职,简称“副国级”,职位包括:中央政治局委员、候补委员,中央书记处书记,国务院副总理和国务委员,最高人民法院院长,最高人民检察院检察长,全国人大常委会副委员长,国家副主席,全国政协副主席。 一般我们听到的“国家领导人”这个概念,就是上述“正国级”和“副国级”领导人。 3、省部级正职,简称“正部级”,职位包括:中共中央下属机构(如政研室、党史研究室、文献研究室)的正职领导,国务院组成部门(部、委、办、总局、审计署、人民银行、海关总署等)的正职领导,全国人大和全国政协的办事机构和专门委员会的正职领导,各省四套班子(党委、政府、人大、政协)的正职领导。 4、省部级副职,简称“副部级”,职位包括:中共中央下属机构(如各类委员会办公室)的副职领导,国务院组成部门的副职领导,全国人大和全国政协的办事机构和专门委员会的副职领导,各省的党委常委,副省长。 5、厅局级正职,简称“正厅级”,职位包括:中央部委下属司局和省直机关(厅、局、部)的正职领导,各地级市(地区、直辖市所属区)四套班子的正职领导。 6、厅局级副职,简称“副厅级”,职位包括:厅局级的副职,市委常委,副市长。 7、县处级正职,简称“正处级”,职位包括:中央部委各司局所属处室正职干部(如农业农村部种植业管理司经济作物处处长),省直机关下一级机构的正职领导(如广东省财政厅科学研究所所长),各地级市下属委、办、局的正职领导,直辖市的街道(或乡镇)的正职领导,以及各县四套班子的正职领导。 8、县处级副职,简称“副处级”,职位包括:县处级的副职,县委常委,副县长。 9、乡科级正职,简称“正科级”,职位包括:各地级市下属机构的科室正职领导,各县下属委、办、局的正职领导,乡镇党委书记、乡镇长和人大主席,街道工委书记和办事处主任,直辖市的街道(或乡镇)下级办局的正职能力。 10、乡科级副职,简称“副科级”,职位包括:乡镇级的副职,乡镇党委委员,副镇长,街道工委委员。 二、官员职位“就高不就低”(识别第二法则)。 比如:胡春华为中央政治局委员,国务院副总理,是副国级;韩正也为国务院副总理,但同时是中央政治局常委,所以按“就高不就低”法则,是正国级。 到现在为止,根据上述的两大法则,我们应该可以识别大部分官员的级别了吧。例如: 国家税务总局局长,贵州省委书记,天津市长是什么级别?对了,都是正部级。 北京市朝阳区区长,广东省民政厅厅长,福建省莆田市人大常委会委员长是什么级别?对了,都是正厅级, 北京市朝阳区三里屯街道办事处主任、陕西省财政厅办公室主任,佛山市禅城区区长是什么级别?对了,都正处级。 厦门市委书记胡昌升,广东省公安厅厅长李春生又是是什么级别?你说都是正厅级。这就不对,按照就高不就低的第二法则,他们是副省级。胡昌升同时是中央候补委员、福建省委常委;李春生也同时任广东省副省长。 当然,还有五个行政层级外的特殊情况 一些官员的行政级别,他们所属单位不是五级行政体系中的任何一级,而是介于两级之间,即所属单位是副部(省)级、副厅级、副县级,因此这些单位的正职领导比所在行政区划的级别高半级。 1、国务院或部委代管的“国家局”属于副部级单位,不是正部级。例如国家统计局、国家能源局、国家外汇管理局等等。我们观察到,名字是“国家xx局”,而不是国家税务总局等“国家xx总局”。因此,根据是否有“总”字可以用来区别正部、副部级单位。 根据国务院办公厅《关于印发机关、事业单位工资制度改革三个实施办法的通知》(国办发〔1993〕85号),“国家局”的局长、副局长、司长、副司长分别对应于部委的副部长、司长、副司长和处长,但处长以下职务级别一样。所以说,国家烟草专卖局的副司长其实是正处级,而司下设的处长也是正处级,虽然二者行政级别一样,但是在业务上前者领导后者,晋升机会前者优先于后者。“国家局”在地方的分支机构一般和地方的厅局一样,都是正厅级单位,例如广东省统计局是正厅级单位。 2、中国目前有15个副省级市,包括哈尔滨市、长春市、沈阳市、大连市、青岛市、南京市、宁波市、厦门市、武汉市、广州市、深圳市、成都市、西安市等13个计划单列市和济南市、杭州市2个市(中编发[1995]5号文)。根据中央编办的中编发[1995]5号文,副省级市直属机关的级别,可比照国家局确定,即市直工作部门为副厅级,区内设机构为处级。因此,它们的市直工作部门,各下级地方党政、人大政协部门等,比其他地级市高半级。比如,深圳市长是副部级,副市长是正厅级,市教育局局长和福田区区长都是副厅级,而福田区副区长和福田区教育局局长都是正处级。与国家局的情形类似。 3、法院、检察院的行政级别比当地政府下属部门要高半级。因为地方政府、检察院、法院都属于由当地人民代表大会选举产生的国家机关,即所谓“一府两院”。举例来说,佛山市财政局局长是正处级,那么佛山市检察院检察长比市财政局长高半级,就是副厅级。 几个关键性问题 1、哪些人可以进入党委常委会?除了党委书记、专职副书记,纪委书记、政法委书记、组织部长、宣传部长、统战部长、党委秘书长、政府正职、政府常务副职、当地军区司令员或政委是常委,首府城市的党委书记一般也是常委,目前政协主席已退出常委序列。可以看出,常委会组成成员,绝大部分是党的下属机构一把手。 然后“一把手”的级别反过来会影响所在单位的级别,因此实际上党委机构比对应的政府机构高半级,这导致党委下属机构的副职领导也可能高半级。例如,省委宣传部部长肯定是省委常委,属于副部级干部,那么主持工作的省委宣传部常务副部长就是正厅级干部,与省人力资源和社会保障厅厅长同级别。 根据党章,各级党的纪律检查委员会是由当地党代会选举产生。因此,纪委又比党委的其它下属部门(组织部、宣传部、统战部)和政府的下属部门要高半级。例如,中央统战副部长是副部级,中央纪委的副书记是正部级。 2、哪些是党群机关?除了党的机构,还有工会、共青团、妇联、工商联等群团组织。各级党群机关和对应的政府下属部门级别一样。 3、非领导职务序列包括哪些?主要包括三个层级:巡视员(对应于厅级)、调研员(对应于处级)、主任科员(对应于科级),每个层级又分为正职和副职。非领导职务一般没有决策权和签字权,除非一把手授权。此外,还有一些中央部委的督察专员,例如国家总督学、土地督察等,他们一般是副部级。 4、中央部委的部长助理是什么级别?例如公安部和商务部都设立了若干部长助理,这些部长助理同时兼任党组成员。“助理”不是基准职务,其级别介于副部长和厅局长之间,在行政上一般是正厅级,但是享受副部级待遇,包括政治、医疗、住房待遇。各省、市、县的政府首长助理以此类推。 5、哪些情况称为“高配”?这包括三种类型: 第一,重要部委的领导。例如国家发改委有穆虹、张勇、宁吉喆三个正部长级的副主任,公安部也有正部长级的副部长,可见其强势。在地方,一般公安局长都是党委常委或政府副职,比政府下属部门正职领导高半级。 第二,一些部门内设的重要机构。例如,法院的执行局,以及一些准军事机构(公检法、司法)的政治部,这些机构的正职领导属于所在单位领导副职序列,比其它内设机构领导高半级。 第三,经济开发区、一些省直管县以及县级市的领导,一般比基准情形下的级别高半级。例如,省直管的经济开发区或高新区的管委会主任一般是副省级,浙江省金华市下属的义乌市市委书记和市长都是副厅级。 6、事业单位的行政级别?中国有庞大的事业单位,例如大学、医院、报社、图书馆等,这类机构的行政级别由其隶属关系决定。例如,大部分985大学属于中央直管的大学,为副部级大学,其校长和书记为副部级,常务副校长和常务副书记为正厅级,其余副校级领导为副厅级,学校的部长、处长、学院院长均为正处级。 而正规本科大学一般是省教育厅管理,为正厅级,副校级领导和部处、学院领导的级别与中管大学相应职位一样。报社的行政级别与政府下属部门类似。比如,中央直管的新华社、人民日报为正部级,它们的正职领导就是正部级。 7、国有企业的行政级别?人事关系由中央组织部管理的中央国企有50多家,其一把手级别一般为副部级,极少数为正部级(如中国铁路总公司);人事关系由国务院国资委管理的,为正厅级。类似地,人事关系由省组织部管理的国企,其领导人一般为副厅级或者正厅级,由省国资委管理的国企级别为副厅级。 中国行政官员级别一览表 国家公务员的级别分为十五级。 职务与级别的对应关系是:…
-
-
CentOS 7 +安装 Nginx 1.8.0 + PHP 5.6 + MariaDB 10.0 (LEMP) + SSL
1. change ulimits vim /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 2. Install MariaDB vim /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.0/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 yum install MariaDB-server MariaDB-client chkconfig mysql on mysql_secure_installation setting firewalld for mysql 3. Install Nginx rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx systemctl start nginx systemctl enable nginx setting…
-
如何设置git使用自己的私钥
以连接github.com为例,新建配置文件: ~/.ssh/config 内容如下: host github.com HostName github.com IdentityFile ~/.ssh/id_rsa_github User git 文件权限设置: chmod 600 ~/.ssh/config 现在可以用git命令进行clone了,如下: git clone git@github.com:{ORG_NAME}/{REPO_NAME}.git 以上,{ORG_NAME} 是账号名称,{REPO_NAME}是项目名称。 特别注意,在Linux 或者 macOS 下,最好做如下操作: chmod 400 ~/.ssh/id_rsa_github 如果git版本是 2.3.0,可以使用环境变量 GIT_SSH_COMMAND GIT_SSH_COMMAND=”ssh -i ~/.ssh/id_rsa_example” git clone example 如果git版本是2.10.0 ,就需要配置 core.sshCommand,命令如下: git config core.sshCommand “ssh -i ~/.ssh/id_rsa_example -F /dev/null” git pull git push 没有绝对完美的方法告诉git去使用哪个私钥文件,因为它依赖ssh的认证,所以可以用ssh的方法来临时进行私钥的认证,比如: $ ssh-agent…
-
windows操作系统如何找出锁文件或文件夹的进程
当我想删除一个文件夹的时候,碰到这样典型的错误: The action can’t be completed because the folder is open in another program 提示该动作不能执行,因为文件夹被另外的程序打开。 问题来了,我如何找到使用这个文件或者文件夹的进程? 第一个解决方案 参考微软官方的文档:https://gallery.technet.microsoft.com/How-to-find-out-which-c0d4e60e 步骤1: 在dos窗口执行 Import-Module 脚本名称 例如: Import-Module C:\Scripts\FindLockingProcess.psm1 步骤2: 通过命令 Get-Help FindLockingProcess –Full 显示使用这个文件使用的语法或者参数。 步骤3: 例子: FindLockingProcess -FileOrFolderPath “C:\test.xlsx” 2820 EXCEL.EXE c:\test.xlsx 说明被excel执行文件打开了。 PowerShell 脚本: IF((Test-Path -Path $FileOrFolderPath) -eq $false) { Write-Warning “File or directory does not exist.”…
-
如何清理(清除)谷歌浏览器(google chrome)的dns缓存和socket 连接池
这个简单了,在google浏览器输入: chrome://net-internals/#dns 如下图: 点击“clear host cache” 就可以了。 别着急,有时候你可能还需要清理浏览器的socket 连接池,同样输入: chrome://net-internals/#sockets 点击:“Flush socket pools” 即可。 如果上述方式没有起作用,请尝试以下方法: “Go to tools -> options -> Under the hood -> Clear Browsing data and check ’empty the cache’ 同时不同的操作系统下有各自的清理dns缓存的命令 Windows: ipconfig /flushdns OS X pre-10.7 (before Lion): sudo dscacheutil -flushcache OS X 10.7–10.9 (Lion, Mountain Lion, Mavericks): sudo…
-
如何怎样用curl命令实现post请求
官方命令的帮助地址:https://curl.haxx.se/docs/manpage.html#-d 直接上命令实例了: 发送一个字段和值: curl –data “param1=value1¶m2=value2” https://moneyslow.com/ziyuan.cgi 多个字段值: curl –data “param1=value1” –data “param2=value2” https://moneyslow.com/ziyuan.cgi 上传文件: curl –form “fileupload=@my-file.txt” https://moneyslow.com/ziyuan.cgi 定义上传的文件名称: curl –form “fileupload=@my-file.txt;filename=desired-filename.txt” –form param1=value1 –form param2=value2 https://moneyslow.com/ziyuan.cgi 发送空数据: curl –data ” https://moneyslow.com/ziyuan.cgi curl -X POST https://moneyslow.com/ziyuan.cgi curl –request POST https://moneyslow.com/ziyuan.cgi 传输大文件数据: curl –tr-encoding -X POST -v -# -o output -T filename.dat \ http://moneyslow.com/ziyuan.cgi 注意:-o…
-
wordpress上传文件超过了站点的最大上传限制–迅速解决!
改php和nginx 的配置文件: php相关就是 php.ini file_uploads = on ; upload_max_filesize = 20M; post_max_size = 20; post上限,一般来说,post_max_size设置要比upload_max_filesize稍大一些 还需要根据实际情况调整下面的选项 max_execution_time = 180; 脚本最大执行时间(秒),过短会导致文件还没上传完脚本就停止了 max_input_time = 180; 请求最大传输时间,过短会导致文件还没上传完传输就停止了 memory_limit = 128M; 内存上限 nginx相关就是nginx.conf nginx 如果上传文件时超过了nginx限制,就会返回一个“413 Request Entity Too Large”的错误 在http{}中添加一个client_max_body_size 20m;配置项;
-
使用 pdftoppm 将 PDF 档转为 JPG /JPEG/PNG/TIFF图片
pdftoppm 是 Linux 系统上专门用来将 PDF 文件转为图片的工具,转档速度比 ImageMagick 更快,效果也很相当不错。其基本使用方式为: # 使用 pdftoppm 将 PDF 档转为 JPG 图片档 pdftoppm -r 300 -jpeg input.pdf output 其中 -r 参数可用来指定每英寸点数(dpi),而 -jpeg 是指定输出图片格式为 JPG,这裡的输出档名不需要写副档名,pdftoppm 会以使用者指定的输出档名,再加上自动的编号与副档名来产生每一页的图片名称,把 PDF 的每一页各储存成一张图片。转出来的结果会像这样: pdftoppm 将 PDF 转 JPG 图片 输出图片格式 pdftoppm 这个工具在转换 PDF 文件时,若不指定输出文件格式的话,它会将 PDF 的页面转为 PPM 这种图片格式: # 预设会转换为 PPM 图片档 pdftoppm -r 300 input.pdf output…
-
linux shell下用uni2ascii 把 16进制格式的\uxxxx\uxxx unicode 转换为 UTF-8 中文
原文: https://centos.pkgs.org/7/repoforge-x86_64/uni2ascii-4.18-1.el7.rf.x86_64.rpm.html 先下载: rpmforge-release http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el7/en/x86_64/rpmforge/RPMS/ (http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm) 安装:rpmforge-release rpm: # rpm -Uvh rpmforge-release*rpm 安装uni2ascii Install uni2ascii rpm package: # yum install uni2ascii # echo ‘\u73af\u5883\uff0c\u800c’ | ascii2uni -a U -q 环境,而
-
国内主流移动应用商店下载量最大的197款APP
来源:http://bjca.miit.gov.cn/n817054/c1293286/content.html 序号 APP名称 APP运营者 1 搜狗输入法 北京搜狗信息服务有限公司 2 京东 北京京东世纪贸易有限公司 3 快手 北京快手科技有限公司 4 爱奇艺 北京爱奇艺科技有限公司 5 百度 百度在线网络技术(北京)有限公司 6 新浪微博 北京微梦创科网络技术有限公司 7 猎豹清理大师 北京金山安全软件有限公司 8 百度地图 百度在线网络技术(北京)有限公司 9 美团 北京三快科技有限公司 10 作业帮 小船出海教育科技(北京)有限公司 11 酷我音乐 北京酷我科技有限公司 12 MOMO陌陌 北京陌陌信息技术有限公司 13 高德地图 高德软件有限公司 14 墨迹天气 北京墨迹风云科技股份有限公司 15 百度网盘 百度在线网络技术(北京)有限公司 16 抖音短视频 北京微播视界科技有限公司 17 魔秀桌面 魔秀科技(北京)股份有限公司…
-
shell字符串截取的几个方法
Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.moneyslow.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符。 echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 :www.moneyslow.com/123.htm 2. ## 号截取,删除左边字符,保留右边字符。 echo ${var##*/} ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符 即删除 http://www.moneyslow.com/ 结果是 123.htm 3. %号截取,删除右边字符,保留左边字符 echo ${var%/*} %/* 表示从右边开始,删除第一个 / 号及右边的字符 结果是:http://www.moneyslow.com 4. %% 号截取,删除右边字符,保留左边字符 echo ${var%%/*} %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符 结果是:http: 5. 从左边第几个字符开始,及字符的个数 echo…
-
如何转换 PDF 文件为Image (PNG, JPEG)图形化用GIMP命令行用pdftoppm工具
文本是译文。 原文:https://www.linuxuprising.com/2019/03/how-to-convert-pdf-to-image-png-jpeg.html 例子:按比例转换为宽度1024像素的图片: pdftoppm -jpeg -scale-to 1024 $file filename 使用GIMP将PDF转换为图像(PNG、JPEG等) GIMP是一个针对Linux、Windows和macOS的免费开源图像编辑器,可以将PDF文档的页面导出为各种图像格式,包括PDF、JPEG、TIFF、BMP等。 使用GIMP打开PDF文档时,每个页面都作为单独的层添加,一次只能将一个PDF页面导出为图像。您可以通过使用GIMP插件一次性将所有PDF页面(GIMP层)或选定的一组层导出为单独的图像。 使用GIMP将一个或几个PDF页面转换为PNG、JPEG和其他图像格式。 让我们从使用GIMP将单个(或仅几个)PDF页面转换为PNG、JPEG等开始,这不需要安装任何插件。从GIMP文件菜单中单击打开并选择PDF文件。将弹出“从PDF导入”对话框-确保“打开页面为”选项设置为“层”,然后单击“导入”: 原英文: This article explains how to convert the pages of a PDF document to image files (PNG, JPEG, and others). For this task we’ll be using (you can choose the one you prefer): GIMP (GNU Image Manipulation Program): for those wanting…
-
ubuntu下工具pdftoppm代替pdfimages转换pdf为jpeg或者png
假设有批量pdf文件,需要转为jpeg文件,按pdf文件名称建立目录,把图片放到目录下,以阿拉伯数字命名。 #!/bin/bash find . -type f -name \*.pdf |awk -F “/” ‘{print $2}’ > allpdf.lst for file in `cat allpdf.lst` do mkdir ${file%%.pdf}; echo “pdf name is: ” $file echo “mkdir is: ” ${file%%.pdf} pdftoppm -jpeg $file goodluck #pdfimages -j $file ${file%%.pdf} rename ‘s/goodluck-00//’ *.jpg rename ‘s/goodluck-0//’ *.jpg rename ‘s/goodluck-//’ *.jpg mv *.jpg ${file%%.pdf}/ done;…
-
如何更新 glibc 到 2.14 在 CentOS 6.5
查看glibc版本命令: # ldd –version # strings /lib64/libc.so.6 |grep GLIBC_ $ ldd –version ldd (GNU libc) 2.12 通常安装方法: wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz tar zxvf glibc-2.14.tar.gz cd glibc-2.14 mkdir build cd build ../configure –prefix=/opt/glibc-2.14 make -j4 make install 不要随便动 /lib64/libc.so.6 如果是单独程序用的话,运行前加个环境变量设置: LD_LIBRARY_PATH=/opt/glibc-2.14/lib export LD_LIBRARY_PATH. 硬来的话也可以: ln -sf /opt/glibc-2.14/glibc-2.14.so /lib64/libc.so.6 可能导致其他程序用不了。
-
改版了:工业和信息化部政务服务平台 ICP/IP地址/域名信息备案管理系统
https://beian.miit.gov.cn/ 终于改版了,用了一下还是不错。 1、备案查速度很快,拖个方块就可以了,这是最主要的功能,做好这个网站就成功了90%。 2、短信核验单独是一个功能,可能是取回密码要用的。 3、以后注册域名的时候,查看是否被拉黑,可以作为参考 4、通知通告,目前只有重庆的网站审查数据。 最后,备案问题咨询指向 http://www.beian123.org.cn/ ,是个死链接,暂不能用。
-
几个爱不释手的网址网站(2020年10月更新,有些网址挂掉了)
网址:https://www.a8z8.com 记得小时候的连环画么,它回来看你了,徜徉在书海中,回忆儿时看小人书的时光。 30元收费看一年,超划算。
-
中国IPv6公共DNS地址 首选 DNS:240c::6666,备用 DNS:240c::6644
日前,下一代互联网国家工程中心正式宣布推出 IPv6 公共 DNS:240c::6666 。通过免费提供性能优异的公共 DNS 服务,为广大 IPv6 互联网用户打造安全、稳定、高速、智能的上网体验,助力我国《推进互联网协议第六版(IPv6)规模部署行动计划》全面落实。同时,工程中心还联合全球 IPv6 论坛IPv6 Forum启动 IPv6 公共 DNS 的全球推广计划,旨在为全球用户提供更优质的上网解析服务。 当前 IPv6 网络已成为各国推动新的科技产业革命和重塑国家长期竞争力的先导领域,全球各个国家均加快了向 IPv6 过渡的步伐。与此同时,IPv6 用户量也在近两年内实现爆炸式增长,沉寂多年的 IPv6 发展局面得到显著改观。而 IPv6 行动计划的推出,无疑将为已蓄势待发的 IPv6 产业再填强劲助力,全面加快我国下一代互联网整体部署节奏。 作为网络基础设施的重要组成部分,域名系统(DNS)因其“特殊性”,在过去 30 年间频繁被攻击,顶级域故障、DNS 劫持、大规模 DNS 攻击等事件时有发生,给全球互联网产业带来严重影响。而当前,提升用户体验、保障网络安全的大部分公共 DNS 均仅面向 IPv4,这也是 IPv6 用户不断诟病的问题之一。为全面助力 IPv6 的发展, 下一代互联网工程中心依托自主研发的高性能 IPv6 DNS 系统,面向公众免费提供 DNS 服务,首选 DNS:240c::6666,备用 DNS:240c::6644。 下一代互联网国家工程中心[1]是我国下一代互联网领域唯一的国家级工程研究中心,多年来致力于 IPv6 下一代互联网等产业基础关键技术和应用的研究和推动。而本次推出的 IPv6 公共 DNS…
-
亚马逊联盟Flash工具将于2020年10月30日停用
尊敬的亚马逊联盟用户: 您好, 为了确保提供有价值的产品和服务给您,我们不断对现有工具进行评估。由于Adobe已在早些时候宣布将于年底停止对Flash播放器工具的技术支持,我们将于2020年10月30日停用Flash工具。 时间表: 1.自2020年7月30日,您将在亚马逊联盟网页上看到关于停用Flash工具的通知。您需要通过其他替代方式完成所需操作。 2.自2020年10月30日,所有Flash工具将正式下线。比如,“我最喜欢的”商品信息展示、幻灯片创建、旋转广告模块将展示为空白区域。您应在此日期前,通过其他方式完成所需操作。 请注意,在2020年10月30日之后,Flash工具将不再提供客户支持。 如如果您有关于移除Flash工具的其他疑问,请参考<a href=”https://associates.amazon.cn/help/node/topic/GJV3KJAYNY5BQYPH”>常见问题解答</a>常,或<a href=”https://associates.amazon.cn/contact?ac-ms-src=ac-nav”>联系我们</a>。 此致 亚马逊联盟团队
-
sudo: /usr/libexec/sudo/sudoers.so must be owned by uid 0(sudo: /usr/libexec/sudo/sudoers.so 必须属于用户 ID 0(的用户))
$ sudo su – sudo: error in /etc/sudo.conf, line 0 while loading plugin “sudoers_policy” sudo: /usr/libexec/sudo/sudoers.so must be owned by uid 0 sudo: fatal error, unable to load plugins $ sudo su – sudo: 在加载插件“sudoers_policy”时在 /etc/sudo.conf 第 0 行出错 sudo: /usr/libexec/sudo/sudoers.so 必须属于用户 ID 0(的用户) sudo: 致命错误,无法加载插件 解决:以root用户身份执行: pkexec chown root /usr/lib/sudo/sudoers.so 或者 /usr/libexec/sudo/sudoers.so
-
如何通过招商银行APP查询开户行(截止2020年8月有效)
手把手教你用《招商银行APP》自助查询银行卡的开户行。 第一步:点击右上角对话小图标: 第二步:在消息里找到我的客服 第三步:和客服对话,输入“开户行”,按提示点击给的链接 第四部:输入卡号 第五步:得到结果 是不是非常简单?
-
一直报错:DEBUG [GossipTasks:1] 2020-07-27 10:24:59,898 Gossiper.java:337 – Convicting /xxx.xxx.xxx.xxx with status LEFT – alive false
在节点node离开72个小时内,debug信息打印这条信息是正常的。
-
-
2020年如何将域名转入到godaddy
Godaddy的界面经常变化。夸张的是经常用的dns解析竟然在3个点里,不注意看不到。 目前为止在界面里找不到域名转入贴授权码的地方,需要看官方文档。节选如下: 1、解锁您在当前注册商的域名。 2、从当前注册商处获取授权码(也称为 EPP 代码或转移密钥)。验证您域名的联系信息。在转移过程中,您当前注册商可能会使用管理员的联系信息。 启动转移: 下面是godaddy的界面里的东西: 1、在 GoDaddy 网站上搜索您要转移的域名(点击这个网址): https://sg.godaddy.com/zh/domains/domain-transfer,如下图所示,贴入你要转入的域名。 注意:如果域名在注册或之前的转移后 60 天内,或者如果客户选择在更改注册人后 60 天转移锁定,则域名不符合转移到其他注册商的资格。 确认域名已解锁。您会在解锁域名旁边看到一个绿色复选标记。如果此部分不是绿色,则您需要向当前注册商确认您的域名已解锁。 注意:您可以通过选择刷新状态按钮来刷新解锁状态。 输入授权码。如果输入的授权码有效,您将获得绿色复选标记。 选择您的域名隐私保护选项,然后单击继续。 选择您的付款方式,然后点击完成购买以完成付款。 注意:域名转移过程可能需要 7 到 10 天完成。
-
libiconv-1.14.tar.gz 安装错误解决办法
解决configure: error: C++ compiler cannot create executables问题 yum install gcc gcc-c++ gcc-g77 解决软件启动报error while loading shared libraries: libgd.so.2: cannot open shared object错误 yum install gd centos 安装 libiconv cd /usr/local/src wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz tar -zxvf libiconv-1.14.tar.gz cd libiconv-1.14 配置 ./configure –prefix=/usr/local/libiconv 编译 make 安装 make install 建立软连接 ln -s /usr/local/lib/libiconv.so /usr/lib ln -s /usr/local/lib/libiconv.so.2 /usr/lib 故障1、…
-
find文件名包含空格并替换
使用find命令查找文件名中包含空格的文件。[root@DB-Server kerry]# find . -type f -name “* *” -print./test.txt./tes t.txt那么如何将这些空格替换掉呢? 下面脚本可以替换文件中间的空格,用下划线替换空格,但是只能替换文件中间的空格,并不能替换文件名后面的空格。如下测试所示:find . -type f -name “* *” -print |while read name; dona=$(echo $name | tr ‘ ‘ ‘_’)if [[ $name != $na ]]; thenmv “$name” “$na”fidone上面脚本只能将文件名中间有空格的替换为下划线。那么如何解决文件名后有空格的情况呢? 可以用其它shell脚本实现,如下所示:[root@DB-Server kerry]# rm -rf *[root@DB-Server kerry]# cat >”test.txt “12[root@DB-Server kerry]# cat >”tes t.txt”12[root@DB-Server kerry]# find . -type f…
-
-
批量删除文件名中包含的空格(最新方法)
参考:https://stackoverflow.com/questions/2709458/how-to-replace-spaces-in-file-names-using-a-bash-script bash 4.0才支持的脚本: #!/bin/bash shopt -s globstar for file in **/*\ * do mv “$file” “${file// /_}” done
-
WordPress: 设置文章中链接默认在新窗口中打开
最新方法: 在WordPress主题的 functions.php 的最后添加下面的代码即可: function autoblank($text) {$return = str_replace(‘<a’, ‘<a target=”_blank”‘, $text);return $return;}add_filter(‘the_content’, ‘autoblank’);
-
文本编码判断Non-ISO extended-ASCII text, with very long lines, with CRLF line terminators
如题有些下载的文本的编码格式很奇怪。通过file命令看到: file systeminfo.txt Non-ISO extended-ASCII text, with very long lines, with CRLF line terminators 假如作者搞了个奇奇怪怪的编码格式,你都不知道。通过一个脚本来发现它: 执行: ./code.sh systeminfo.txt 查看result.txt,关注GB开头的就可以了: 执行转换命令: iconv -f GB18030 -t UTF-8 systeminfo.txt > 2222.txt # file 2222.txt2222.txt: UTF-8 Unicode text, with very long lines, with CRLF line terminators
-
GitHub常用英语缩略语 AFAIK: As Far As I Know, 据我所知
缩略词列表 AFAIK: As Far As I Know, 据我所知。 AWOL: Absent Without Official Leave, 没有得到批准,私自离开。 DWIM: Do What I Mean, 指的是计算机能够根据人的意图,做出符合的反应。 FOSS: Free And Open-Source Software, 自由与开源软件。 FWIW: For What Is Worth, 给别人一些信息,但不确定是否有用。 FYI: For Your Information, 仅供参考。 GIYF: Google Is Your Friend, 请自己去谷歌。 IIRC: If I Recall Correctly, 如果我记得没错的话。 IMHO: In My Humble Opinion, 依我愚见。…
-
用Imagemagick的convert命令转换pdf为图片
Previously, I have talked about how to convert PDF to images using pdftoppm here. In this post, I want to share how to accomplish this task with Imagemagick. Imagemagick provides the convert tool that can be used to do various complicated image processing tasks. Convert All Pages of PDF File to Images Use convert to…
-
ImageMagic的convert、mogrify命令报错没有权限convert-im6.q16: not authorized `xxx.pdf’ @ error/constitute.c/ReadImage/412.
用ImageMagic convert命令将*.pdf文件转换为*.pdf文件。收到以下错误: convert-im6.q16: not authorized `xxx.pdf’ @ error/constitute.c/ReadImage/412. 编辑文件/etc/ImageMagick-6/policy.xml policy domain=”coder” rights=”none” pattern=”PDF”改为policy domain=”coder” rights=”read|write” pattern=”PDF” 同样道理,如果遇到以下报错: mogrify-im6.q16: attempt to perform an operation not allowed by the security policy `@t.txt’ @ error/property.c/InterpretImageProperties/3706 也是编辑/etc/ImageMagick-6/policy.xml 这个神奇的文件: 例如这里是@t.txt 报错,对应的就是修改pattern=”@*”这一行,把none改为read|write 。 同样,如果其他例如pdf的报错,Xps的报错,把none改为“read|write”就ok了。 另外,可能会存在多个xml配置文件的问题,怎么样把它全部改掉生效?如何确定使用的是哪个配置文件? 第一种方案: 第二种方案:自动获取 policy.xml 文件的位置并对它们全部执行搜索/替换 参考:https://askubuntu.com/questions/1081895/trouble-with-batch-conversion-of-png-to-pdf-using-convert
-
苹果建议应用开发者使用更快的IPv6、HTTP/2、TLS 1.3和Multipatch TCP
苹果正鼓励开发者在iOS和macOS应用中优先采用新的网络技术和协议,比如IPv6、HTTP/2、TLS 1.3和Multipatch TCP。 第一个技术:ipv6 苹果的互联网技术工程师Jiten Mehta说:“苹果平台对原生IPv6的支持已经有很多年了,包括IPv6—Only网络。” “互联网上IPv6的使用趋势不断增长。如果看看上个月苹果设备在全球范围内的连接,我们会发现IPv6现在占到所有连接的26%,在20%的时间里设备可以通过IPv6连接,但服务器没有启用它。 “当使用IPv6时,连接建立连接数比IPv4快1.4倍,因为减少了NAT的使用,并且改进了路由。” 第二个技术:HTTP/2 苹果想让应用开发者采用的另一项技术是HTTP/2,它是HTTP的最新版本,是互联网上用于加载网站的协议。海阔中文网发现,上个月在Safari加载的所有网页中,约有79%的网页是通过HTTP/2连接加载的,其加载速度通常比旧版HTTP/1.1连接快1.8倍。现在编写能在IPv6和HTTP/2上工作的应用比以往任何时候都要容易,开发者所要做的就是使用该公司最新版本的网络API——比如URLSession和Network.framework——这将保证应用默认可以在IPv6和HTTP/2上工作,并在需要的时候可以回退到旧版协议上。 第三个技术:HTTP/3 2020年秋季,苹果还将在macOS 11和iOS 14中增加对HTTP/3的实验性支持,它是HTTP协议的下一个主要版本,目前正在IETF(互联网工程任务组)进行标准化。 不过,TLS 1.3的支持在默认情况下是被禁用的,只在苹果设备上加入了实验性支持–用户/应用开发人员需要打开开关才能使用。 第四个技术:TLS 1.3 安全方面,苹果公司在iOS 13.4(2019年11月)中加入了较新的TLS 1.3安全协议的支持后,该协议已被广泛部署。在过去的一个月里,苹果设备上49%的HTTPS网络连接都在运行TLS1.3,其中HTTPS连接的建立速度是通过旧版TLS 1.2处理的连接速度的1.3倍。 第五个技术:多路径TCP(MULTIPATH TCP) 苹果希望应用开发者选择支持多路径TCP,它是传输控制协议(TCP)的扩展,允许连接使用多个网络路径来加载相同的数据。苹果使用这项技术是为了让应用在用户切换互联网网络时也能继续工作而不会出现故障。 苹果在AppleMusic中使用这项新技术取得了 “巨大的成功”,当用户更换网络时,Apple Music服务能够在不重新启动下载的情况下正常运行,并且流停减少13%,流停时间减少22%。
-
rsync服务添加密码认证
rsync 本端 server 配置,先生成一个虚拟用户 rsyncuser和密码 rsyncpassword: echo “rsyncuser:rsyncpassword” > /etc/rsync.password 文件权限一定要做: chmod 600 /etc/rsync.password