3076309138

  1. 在minister resident注册账号并登录验证激活
    图1、vultr官网
  2.  账户充值,vultr支持支付宝、微信支付,如图2所示
    图2、账户充值
  3.  新建服务器,以个人新建的服务器为例,server location选了Singapore,因为之前有试过选日本和美国的,但是大部分建成之后都无法ping通,被墙的可能性很大……Sydney的也成功过……热门的往往被封禁的可能性比较大,要是对网速要求不是很高的话,建议选些比较冷门的;server type选了centos7 64位;server size则选了3.5$的,2.5$的只支持ipv6,因为只是用来科学上网的,感觉这个价位性价比最高
    图3、server location
    图4、server type
    图5、server size
  4. 连接服务器,电脑用xshell连接服务器,这里以Windows为例,未安装xshell可移步(330) 491-3794下载安装,我自己用的是xshell6,安装可参考这篇8505894259,虽然版本可能一样,但过程也差不多。xshell连接的主要步骤为(以Windows版的xshell为例):运行xshell->点击文件->点击新建->设置连接参数(名称随意,协议选ssh,主机填vultr上服务器对应的IP,端口号没改动的话就默认22,如图6所示)->点击用户身份验证->设置用户名及密码(用户名密码就是vultr服务器的用户名密码,方法默认选password即可,如图7所示)->点击连接,连接后成功结果如图8所示
    图6、xshell连接设置
    图7、设置用户名、密码
    图8、xshell连接成功示意图
  5.  搭建SSR,具体方法为:xshell连接服务器后,执行wget –no-check-certificate /freed.ga/github/shadowsocksR.sh; bash shadowsocksR.sh这个命令即可,如果提示wget :command not found的话,则需要先执行yum install wget -y这个命令,最后再设置密码及端口即可,详情如图9所示,SSR搭建成功的话会出现图10的界面
    图9、ssr搭建
    图10、SSR搭建成功
  6. 最后,下载SSR客户端并进行相关参数设置即可科学上网。SSR客户端百度网盘:/pan.baidu.com/s/1NEF9j_yxl5sezbIDOPjkFA 密码:urnp;下面以Windows版本SSR客户端为例说明一下如何使用:如图11所示,6个带*号的设置项为必填选项,其中加密、协议、混淆这3个参数可在图10的地方找到,填完之后点确定,然后在任务栏中找到SSR客户端的图标,右键点击,设置合适的系统代理模式和代理规则(在本例中,系统代理模式选择了全局代理,代理规则选择了绕过局域网和大陆)
    图11、SSR客户端设置

注:如果一切顺利的话,经过上面的步骤就可以科学上网了,不过在搭建过程中也可能遇到一些坑,以下是本人搭建过程中碰到的坑:

 

  • 在vultr新建完服务器之后发现IP ping不通,很可能是被墙了,日本、美国之类比较热门的被墙的可能性很高,反而像新加坡、悉尼这种比较冷门的成功率比较高
  • IP可以ping通,但无法ssh,很可能是端口被封禁了,如果换端口还是不行的话只能换服务器了
  • IP可以ping通,也可以ssh,ssr也显示搭建成功了,但是用ssr客户端就是无法访问境外网站,还是很有可能被封了,本人也遇到一次这种情况,用的新加坡的服务器,换了悉尼的服务器之后就成功了=_=

玩物丧志系列1—mosaic photo1

马赛克拼图(或称蒙太奇照片、蒙太奇拼贴),相当于用多张图片组成一张大图。

制作思路之一:

统计每个素材中出现次数最多的bgr值,并建立索引,对于目标图片中的每个像素,在索引中找出最相近的bgr值,从而找出对应的素材,并用该素材替换目标图片中对应的像素

制作步骤如下:

1、确定目标图片,本次目标图片如图1所示:

图1、目标图片

2、搜集素材(这里用的素材是212-545-6818)

3、对素材进行预处理(这里将素材调整为100*100的大小,具体代码图2所示,imgpath是原素材存放文件夹的路径,images是imgpath文件夹下的文件列表,thumbnailpath是调整后素材存放的文件夹路径)

图2、素材预处理

4、建立索引(以素材中出现次数最多的bgr值为索引,过程比较耗时,因此采用多进程来处理,主进程代码如图3所示,通过进程池的方式建了10个进程,为了避免进程间的通信,通过图片名来对图片进行划分,每个进程只负责处理独立的部分;子进程代码如图4所示)

图3、建索引的主进程
图4、建索引的子进程

5、画图(实际将目标图片中的每个像素都用素材来代替,具体代码如图5、图6所示,这里用了15个进程来画图,为了避免进程间的通信,每个子进程负责画不同区域,将结果输出到文件中,然后主进程从文件中读取结果,渣渣电脑,1万像素的目标图片也要20来分钟=_=,不过可以优化的,毕竟目标图片中重复出现的像素值也是有的,没必要每次都重新遍历索引)

图5、画图主进程
图6、画图子进程

6、效果(如图7所示,效果看起来不咋的=_= 不够清晰,不过目标图片本来就只有一万像素左右,素材也比较杂,所以也难怪……)

图7、效果图

趣题系列2—2018年刑侦科推理试题

先说答案吧,有且仅有唯一解:BCACACDABA。

解题思路:

(关于题7的分析:题7中,被选中次数最少的选项字母只能出现1次,且只能在题7出现,因为是单项选择,不存在两个或以上的字母同时次数最少的情况,因此题4不可能选B,题5不可能选B或D,因此题2不可能选B、D)

从第三题入手,因为第三题若答案不为A的话,即可同时确定三道题的答案。

  • 若题3为B,则题2、题4为B;因为题4为B,则题7为B;但此时B已经不可能是次数最少的字母,因此题3不为B;
  • 若题3为C,则题4、题6为C;因为题6为C,则题8、题10为C;因为题6、题10均为C,与题4冲突(D选项),因此题3不为C;
  • 若题3为D,则题2、题6为D;因为题2为D,则题5为B,则题4为B,则题7为D,但此时D已经不可能是次数最少,因此题3不为D;

因此题3只能为A。

由题3可知,题2、题4、题6答案一样,且答案只能是B、C、D中的一个。

此时有两种思路:

  1. 结合前文中关于题7的分析,可知题2只能选C,其它题答案分析详见下文思路2中加粗部分,此处不再重复;
  2. 穷举,具体分析如下:
  • 若题2、题4、题6为B;因为题2为B,则题5为D,则题7为D,但此时D已经不可能是次数最少,因此题2、题4、题6不为B;
  • 若题2、题4、题6为C;因为题2为C,则题5为A,则题8为A;因为题6为C,则题10为A;因为A、C已不可能成为被选次数最少的字母,所以题7只能选B或D;由题10可知,出现最多的次数为4,因此对应的字母只能为A(若字母C也出现4次的话无法满足题7的要求);再由于此时C的次数已经有3个,因此题1、题9不可能为A或C,且题1、题9的答案不能与题7相同,则,题1、题9只能同为B或同为D;又因为题6为C,则题9中“第1题与第6题的答案相同”这一命题为假,则题9中“第X题与第5题的答案相同”这一命题为真,因为题5为A,所以题9只能为B,则题1为B,题7为D;
  • 若题2、题4、题6为D;因为题2为D,则题5为B,则题4为B,则题7为B,但此时B已经不可能是次数最少的字母,因此题2、题4、题6不为D;

 

综上所述,题1-题10有且仅有唯一答案:BCACACDABA

2393132836

        吐槽一下,WordPress自带的TinyMCE编辑器实在不好用,在网上搜索一下,发现有人推荐visual builder、divi builder、elementor和beaverbuilder,不过只有elementor可以在WordPress的插件库里找得到,试了一下,确实比WordPress自带的编辑器强多了……

        不过也有一些不太好的地方:

        1、部分浏览器不兼容;

        2、部分使用体验不太好,比如换行,在文本编辑器里换行时,会默认给文本加入p标签,导致换行后文字上下出现多余的空白,因此只能手动添加br实现换行,否则只能接受elementor的换行了;

        3、免费版功能受限;

        4、找半天找不到更改标题的地方……最后还是得返回仪表盘更改……

        5、文本编辑器里的可视化部分控件不起作用,比如文字颜色……

        估计还有不少的坑,先暂时用着吧……

趣题系列1—数字出现的次数

题目:在这道题里
0出现了( )次
1出现了( )次
2出现了( )次
3出现了( )次
4出现了( )次
5出现了( )次
6出现了( )次
7出现了( )次
8出现了( )次
9出现了( )次

解法:
è®°0出现x0次,1出现x1次,…,9出现x9次,
假设答案中数字y出现的次数最多,出现的次数记为x(即x为x0-x9中的最大值),x有n位数,x和n均为正整数,则:
10^(n-1) <= x <= 10(n+1); 因此,n <= 2; 则x <= 30;
显然,20 <= (x0+x1+...+x9) <= 30,并且x0至x9均正整数,
因此2 <= x <= 21,并且x0-x9中无法同时存在三个或以上大于等于10的数; 易证,当x=21或x=20时,无法满足题目要求,因此2<=x<=19;

    若x>=10时有解:

假设x0-x9中除x外还存在x’>=10,则x+x’<=30-8,即x+x'<=22,这种情况下有4个可能:

  • x=12,x’=10,但此时x0,x1,x2无法同时满足要求,pass;
  • x=11,x’=11,但此时x1=12,与假设冲突,pass;
  • x=11,x’=10,但此时x0,x1,x2无法同时满足要求,pass;
  • x=10,x’=10,但此时x0,x2,x3无法同时满足要求,pass;
  • 因此,x0-x9中最多只有一个大于等于10的数,并且需要满足x*y<=30-9,则y=1或y=2, 但当y=2时,由于x*y<=30-9,此时x0-x9无法同时满足要求; 因此若存在x>=10满足题意,则y只能为1,此时x即x1,这种情况下有2个可能:

  • x1=11,则x0,x2-x9九个数中尚有8个1,只有x1=11,x2=2,其余为1这种情况满足要求([1,11,2,1,1,1,1,1,1,1])
  • x1≠11,则x0,x2-x9九个数中有x1-2个1,由于x1-2<=9,且x1≠11,可得x1=10,则x0,x2-x9九个数中尚有8个1,这种情况不存在
    1. 若x<10时有解:

    则x0+x1+…X9=20,且x0=1;
    若x9=2,则x1-x8中必有一个为9,其余七个和为8,即6个1和1个2,与题意冲突,x9>2的情况更不可能存在,因此x9=1;
    若x8=2,则x1-x7中必有一个为8,其余六个和为8,即至少4个1,且x1>=7,与题意冲突,x8>2的情况更不可能存在,因此x8=1;
    因为x<10,x0=x8=x9=1,因此x1+x2+...+x7=17并且4<=x1<=7,因此共有4种情况:

  • 若x1=4,则x2、x3、x4、x5、x6、x7中没有1,且x2+x3+x4+x5+x6+x7=13,只有x2-x7中有6个2、1个3的情况等式才成立,但这种情况无法满足要求,因此x1≠4;
  • 若x1=5,则x2、x3、x4、x5、x6、x7中有一个1,且x2+x3+x4+x5+x6+x7=12,只有x2-x7中有1个1、5个2、1个3的情况等式才成立,但这种情况无法满足要求,因此x1≠5;
  • 若x1=6,则x2、x3、x4、x5、x6、x7中有两个1,且x2+x3+x4+x5+x6+x7=11,只有x2-x7中有2个1、3个2、1个3的情况等式才成立,但这种情况无法满足要求,因此x1≠6;
  • 若x1=7,则x2、x3、x4、x5、x6、x7中有三个1,且x2+x3+x4+x5+x6+x7=10,只有x2-x7中有3个1、2个2、1个3的情况才能满足,则x7=2,x4=x5=x6=1,x2=3,x3=2,即解为[1,7,3,2,1,1,1,2,1,1];
  • ———————————————————–
    因此,该问题有且仅有两个解:
    [1,11,2,1,1,1,1,1,1,1] 和 [1,7,3,2,1,1,1,2,1,1]

    数据分析系列2—Excel常用技巧

    1、LOOKUP函数
    =LOOKUP(查找的值,值所在的位置,返回相应位置的值)
    =LOOKUP(查找的值,数组),等效于Lookup(查找的值,数组第一列,数组最后一列)
    该函数使用二分法进行查找,需先升序排序后使用,否则结果可能有误(升序后,若查找的值不在表格中,结果为所有小于查找的值的数据中的最大值),下面以查找成绩为98分的人为例:

    图1.1,LOOKUP函数,未经排序

    408-593-2104
    图1.2,LOOKUP函数,升序排序

    2、VLOOKUP函数
    =VLOOKUP(查找的值,查找范围,返回列数,是否精准匹配)
    查找的值需在查找范围第一列,返回列数是指在查找范围内的列数(未必是Excel的列数),参考lookup函数,模糊匹配时作用几乎一致

    3、TRIM函数
    =TRIM(text)清除首尾空格(值32)

    4、CLEAN函数
    =CLEAN(text) 清除文本中7位ASCII码的前32个非打印字符(值为0到31)

    5、SUBSTITUTE函数
    =SUBSTITUTE(text, old_text, new_text, [instance_num])
    用new_text替代old_text,Instance_num可选,用来指定要以new_text替换第几次出现的old_text,如果指定了instance_num,则只有满足要求的old_text被替换;否则会将Text中出现的每一处old_text都更改为new_text

    6、REPLACE函数
    =REPLACE(要替换的字符串,开始位置,替换个数,新的文本)
    例:隐藏手机号码后4位,REPLACE(”13955558888″,8,4,”****”)

    7、CONCATENATE函数
    =CONCATENATE(text1,text2,…) 合并

    8、LEFT函数、RIGHT函数、MID函数=LEFT(指定字符串,截取长度) 例:LEFT(“12345678”,5) = “12345”
    =RIGHT(指定字符串,截取长度) 例:RIGHT(“12345678”,5) = “45678”
    =MID(指定字符串,开始位置,截取长度) 例:MID(“12345678”,2,5) = “23456”

    9、FIND函数
    =Find(要查找字符,指定字符串,从第几个字符开始),区分大小写,返回字符串第一次出现的位置,例:FIND(“e”,”excited”,2) = 6

    10、SEARCH函数
    =SEARCH(要查找字符,指定字符串,从第几个字符开始),不区分大小写,支持通配符,返回字符串第一次出现的位置,例:FIND(“E?”,”excited”,2) = 6

    11、INDEX函数
    =INDEX(array,row_num,column_num),返回array[row_num][column_num]
    =INDEX(reference,row_num,column_num,area_num),类似于三维数组,返回reference[area_num][row_num][column_num]

    12、MATCH函数
    =MATCH(lookup_value,lookuparray,match-type),返回匹配位置
    match-type(3种):
    -1:查找大于或等于指定内容的最小值,指定区域需降序排列
    0:查找等于指定内容的第一个数值
    1:查找小于或等于指定内容的最大值,指定区域需升序排列

    13、OFFSET函数
    =OFFSET(reference,行偏移量,列偏移量,返回几行,返回几列)
    例1:OFFSET(A1,3,2,1,1) = C4
    例2:OFFSET(A2,5,1,2,2) = B7:C8

    数据分析系列1—数据分析基本了解

    目标:60天完成对数据分析比较系统的学习

    什么是数据分析?
    数据分析是指用适当的统计分析方法对收集来的数据进行汇总、理解、消化、提取隐藏其中的数据价值,以最大化发挥数据的作用,来为决策、行动等提供依据

    对数据分析师职位的理解,职业定位:(参考微信公众号:张俊红)
    数据分析师一般分两类:
    1、数据挖掘工程师,门槛较高,需要扎实的数据挖掘知识、挖掘工具应用经验和编程能力,该类数据分析师更偏向技术线条,未来可走专家路线
    2、下沉到业务团队或部门的数据分析师,工作主要是支撑业务运营,包括日常业务的异常监控、客户和市场研究、参与产品开发、建立数据模型提升运营效率等。该类数据分析师偏向产品和运营,可以转向做产品和运营

    数据分析师应该具备哪些技能?
    1、获取数据(爬虫)
    ——获取数据的前提是对商业问题的理解,把商业问题转化成数据问题,要通过现象发现本质,确定从哪些纬度来分析问题,界定问题后,进行数据的采集。此环节,需要数据分析师具备结构化的思维和对商业问题的理解能力
    2、处理数据(Excel、SQL)
    3、分析数据(Hive、Hadoop 、Spark、HDFS、tableau等)(算法:回归分析、决策树、随机森林、支持向量机等)
    4、呈现数据(图表、PPT)

    常见数据分析师招聘要求:
    字节跳动:

    京东:

    vivo:

    数据分析的工作流程:
    1、定义问题
    2、数据获取
    3、数据预处理
    4、数据分析与建模
    5、数据可视化及数据报告撰写

    biogeography

    问题描述:
    1、用户注册时无法收到邮件
    2、忘记密码,想要通过邮箱找回,系统提示:“电子邮件未能发送。可能原因:您的主机禁用了mail()函数。”

    故障原因:
    这里引用一下WP Mail SMTP by WPForms里面的描述:
    Popular email clients like Gmail, Yahoo, Outlook, etc are constantly improving their services to reduce email spam. One of the things their spam tools look for is whether an email is originating from the location it claims to be originating from.
    If the proper authentication isn’t there, then the emails either go in your SPAM folder or worst not get delivered at all.
    This is a problem for a lot of WordPress sites because by default, WordPress uses the PHP mail function to send emails generated by WordPress or any contact form plugin like WPForms.
    The issue is that most WordPress hosting companies don’t have their servers properly configured for sending PHP emails.
    The combination of two causes your WordPress emails to not get delivered.

    简单来说,WordPress自带发邮件的功能,但其调用的是php的mail()函数这种方式,用这种方式发邮件的话,要么会被系统拦截或者进入垃圾邮件箱,要么与虚拟主机设置不一致,mail()函数可能被禁用或不起作用

    解决办法:
    1、修改发送邮件,模块的代码,但是改代码比较麻烦,而且以后每次WordPress升级更新都需要重新改
    2、使用一款名为WP Mail SMTP的插件,相对比较简单(本次最终采用的解决方案)

    WP Mail SMTP使用注意事项:(以qq邮箱配置为例)
    1、SMTP Host为smtp.qq.com
    2、Encryption:SSL,SMTP Port:465 (加密方式这里,看网上不少教程选的None,然后端口选25,但我配置的时候发现邮件发送不出去,估计有可能是被封了)
    3、SMTP Username为qq邮箱账号
    4、SMTP Password为授权码(不是邮箱密码!!!不是邮箱密码!!!不是邮箱密码!!!) 在qq邮箱设置->账户里,开启相关SMTP服务,然后发送验证短信即可获取授权码(16位,不知道以后会不会有变动)
    5、WP Mail SMTP里面设置发送邮件的邮箱最好不要与管理员邮箱一样,否则管理员忘记密码时无法通过邮箱找回,虽然也会收到邮件,但点击邮件里重设密码的链接后,页面上会有报错信息提示:“您的密码重设链接无效,请在下方请求新链接。”
    6、qq邮箱最好使用英文邮箱账号,以免暴露qq号码