凑算式
这个算式中AI代表19的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
解题思路
暴力解决,注意每个字母代表的数字不相等,注意int类型的除法只会取整。
1 |
|
还有一种简单点的,利用C++STL库里面的next_permutation函数
1 |
|
答案:29
这个算式中AI代表19的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
暴力解决,注意每个字母代表的数字不相等,注意int类型的除法只会取整。
1 | #include <iostream> |
1 | #include <iostream> |
答案:29
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
首先来个蠢点的法子,从a岁到b岁的累加为236,我们并不知道a,b各为多少,但是我们可以通过和为236进行遍历
1 | #include <iostream> |
思路二
1 2 3 4 5 6……这一个等差数列的前n项和为(1+n)*n/2
那么,a a+1 a+2 …… b等差数列的前n项和为b的前n项和减去a-1的前n项和。
即为:(a+b)(b-a+1)/2=236
1 | #include <iostream> |
答案:26
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
….
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
第1层的煤球数目为1
第2层的煤球数目为1+2
第3层的煤球数目为1+2+3
……
用一个for循环可以进行第n层数目的求解
再外套一个for循环可以求解n层所有数目
1 | #include <iostream> |
1 2 3 4 5 6……这一个等差数列的前n项和为(1+n)*n/2
第1层的煤球数目为1
第2层的煤球数目为1+2
第3层的煤球数目为1+2+3
……
第i层的煤球数组为(1+n)*n/2
用一个for循环即可实现
1 | #include <iostream> |
答案:171700
1 | php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" |
到composer官网https://getcomposer.org/download/下载composer.phar文件。wget https://getcomposer.org/composer.phar
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。
Mac 或 Linux 系统:打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:sudo mv composer.phar /usr/local/bin/composer
Windows 系统:
找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。
将 composer.phar 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。
在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。@php "%~dp0composer.phar" %*
最后重新打开一个命令行窗口试一试执行 composer –version 看看是否正确输出版本号。
提示:不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本哦!
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
1 | composer config -g repo.packagist composer https://packagist.phpcomposer.com |
查看composer config -gl
首先,通过 Composer 下载 Laravel 安装器。composer global require "laravel/installer"
请确保把 ~/.composer/vendor/bin 路径添加到 PATH 环境变量里, 这样laravel 可执行文件才能被命令行找到, 以后您就可以在命令行下直接使用 laravel 命令.
1 | #添加环境变量 |
安装成功后, 可以使用命令 laravel new 在您指定的目录下创建一份全新安装的 Laravel。例如,laravel new blog 将会在当前目录下创建一个叫 blog 的目录, 此目录里面存放着全新安装的 Laravel 以及其依赖的工具包。这种安装方法比通过 Composer 安装要快许多。
还可以通过在命令行执行 Composer 的 create-project 命令来安装Laravel:composer create-project laravel/laravel --prefer-dist
Composer 安装完成后,下载最新版Laravel框架,把它解压缩到你服务器上的一个目录中。然后在 Laravel 应用的根目录下运行命令行命令 php composer.phar install (或者 composer install )来安装所有的框架依赖包。在此过程中,为了成功完成安装,你需要在服务器上安装好 Git。
当 Laravel 框架安装好后,你可以使用命令行命令 php composer.phar update 来更新框架。
Laravel 框架对系统环境有如下要求:
PHP> = 5.6.4
OpenSSL的PHP扩展
PDO PHP扩展
MBSTRING PHP扩展
分词PHP扩展
XML PHP扩展
从 PHP 5.5 版本开始,针对某些操作系统的安装包需要你自己手工安装 PHP 的 JSON 扩展模块。如果你使用的是 Ubuntu,可以通过, apt-get install php5-json 命令直接安装。
Laravel 框架几乎无需配置就可立即使用。你可以自由地快速开始开发。然而,你也许希望先查看下 app/config/app.php 配置文件和相关的文档说明。它包含了一些你也许要修改的配置选项,如 时区 和 地区 等。
一旦 Laravel 安装成功,你还应该配置本地开发环境,这样你就能在本地机器上开发时收集所有详细的错误信息了。默认情况下,详细错误信息报告在生产环境的配置文件中是关闭的。
注意: 在生产环境的配置文件中,绝对不要把 app.debug 设置为 true ,切记,切记!
Laravel框架有一个目录需要额外设置权限: 需要为 app/storage 目录下的文件设置写权限。
一些框架目录路径是可以设置的。如果需要改变这些目录的位置,可以查看 bootstrap/paths.php 文件中的设置。
Laravel框架通过设置 public/.htaccess 文件去除链接中的index.php。 如果你你的服务器使用的是 Apache,请确保开启 mod_rewrite 模块。
如果框架附带的 .htaccess 文件在你的Apache环境中不起作用,请尝试下面这个版本:
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]location / { try_files $uri $uri/ /index.php?$query_string; } ```
1
2
3
4
### 2、Nginx 服务器
如果是 Nginx 服务器,将下列指令放到网址的配置文件中,就能让网址更优雅了:
写在前面的话:
ThinkPHP的四种URL模式:0(普通模式);1(PATHINFO模式);2(REWRITE模式);3(兼容模式)
nginx需要PATHINFO模式,但需要更改nginx配置文件让其支持PATHINFO模式。
首先开启相关目录权限,确保mysql能访问(权限,防火墙)
1.修改php配置文件php.ini,将其中cgi.fix_pathinfo = 0,值改为1
重启php-fpm
2.ssh里执行:
1 | cat > /usr/local/nginx/conf/pathinfo.conf << 'EOF' |
3.再将虚拟主机配置文件里的location ~ .*\.(php|php5)?$ 替换为:location ~ .*\.php
再在include fcgi.conf; 下面添加一行include pathinfo.conf;
重启nginx
1 | server |
今天帮别人搭建本地php环境(win)的时候出现了一个问题,在apache2.4安装并检查配置文件语法没错的情况下,用net start apache2.4启动,发生系统错误5 拒绝访问。但是确实是以管理员身份运行的,但是细心检查之后发现,身份并不是管理员。捣鼓了一会终于解决了。
1.在开始菜单的搜索框张收入cmd,然后右键单击,并选择以管理员身份运行!
如果每天都要启动mysql服务,这样岂不是很麻烦?所以:
2.右键单击cmd选择“附到【开始】菜单(U)”;这是就可以到开始菜单上找到cmd了!
3.右击选择属性,选择快捷方式,再选择高级,在选择以管理员身份运行,再单击确定即可!
以后只要打开开始菜单单击上面的快捷方式就可以以管理员的身份运行cmd了,这样再输入net start mysql就不会出错了!
打开注册表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA]
的值由0改为1
文章仅供参考,如果有不对的地方还请指正
1)PHP进入官网下载http://windows.php.net/download#php-7.0
我们会发现有V14,V11还有Thread Safe和Non Thread Safe之分,当然x64和x86大家都能区分。
2)Apache进入官网下载http://www.apachehaus.com/cgi-bin/download.plx
我们会发现V14,V11还有V9。
VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。(现在PHP已经没有VC6了)。
VC9意思就是该版本PHP是用VisualStudio2008编译的,而VC11则是用VisualStudio2012编译的。这意味着
如果你下载的是VC9版本的,就需要先安VisualC++RedistributableforVisualStudio2008SP1,
如果你下载的是VC11版本的,就需要先安VisualC++RedistributableforVisualStudio2012.
同理,VC14,对应2015。
3)操作系统是32位还是64位?如果是32位的,就选择带“x86”的版本,如果是64位的,就选择带“x64”的版本。然后看WEB服务器是什么?如果是IIS系列,就选择带“Non Thread Safe”的版本,如果是Apache httpd系列,就选择带“**Thread Safe**”的版本。我们这里只要谈**Apache httpd**,这就还要看这个二进制版本是怎么编译的,有三种编译类型,分别是:VC6、VC9、VC11(分别代表Visual C++ 6、Visual C++ 2008、Visual C++ 2012)。这里就有麻烦了:PHP官方的最新版本5.5已经用VC11编译,5.4是用VC9编译的。可是Apache httpd的最新版本呢,至今还是用VC6编译。这意味着一个惊人的事实:Apache httpd的官方版本和PHP的官方版本竟然是无法兼容的!那现有的Windows下的Apache+PHP是怎么搞的呢?可以自己用VC11编译Apache httpd,但这太折腾了,PHP官方建议下载第三方打包好的Apache httpd版本,推荐了这个站点:http://www.apachelounge.com/download/,需要说明一点:这个VC11不支持XP,如果你像我一样有XP怀旧症,最高只能升级到5.4.24,5.5是用VC11编译的,而VC11不支持XP和2003。
此部分内容摘自lrcoop的博客
4)如何选择Thread Safe和Non ThreadSafe版本?上一行lrcoop的博客里写的听清楚,我就不废话了
下载好apache、php和mysql后解压至一个目录,方便管理(本人下载的是httpd-2.4.23-x64-vc11-r3 和php-5.6.27-Win32-VC11-x64,mysql下次更新)
1)解压下载的安装包httpd-2.4.23-x64-vc11-r3,zip将其放到自己的安装目录(我解压的目录是E:\phptools);
2)修改ServerRoot Apache的根路径:
修改38行的
1 | Define SRVROOT "/Apache24" |
修改39行的
1 | ServerRoot "${SRVROOT}" |
修改DocumentRoot Apache访问的主文件夹目录(就是php、html代码文件的位置)
Apache默认的路径是在htdocs(E:/phpEnv/Apache24/htdocs)下面,里面会有个简单的入口文件index.html和一个图标
这个路径可以自己进行修改,我这里将其配置在我自己新建的文件夹phpwork(E:\phptools\phpwork)下
修改246行的
1 | DocumentRoot "${SRVROOT}/htdocs" |
修改247行的
1 | <Directory "${SRVROOT}/htdocs"> |
修改入口文件配置:
DirectoryIndex一般情况下我们都是以index.php、index.html、index.htm作为web项目的入口
Apache默认的入口只有index.html需要添加其他两个的支持,当然这个入口文件的设置可以根据自己的需要增减
如果要求比较严格的话可以只写一个index.php, 这样在项目里面的入口就只能是index.php
修改279行的
1 | <IfModule dir_module> |
设定serverscript的目录:
修改363行的
1 | ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/" |
修改379行的
1 | <Directory "${SRVROOT}/cgi-bin"> |
接下来启动Apache
开始–>运行,输入cmd,打开命令提示符。接着进入E:\phptools\Apache2.4.23\bin目录下,输入httpd -k install安装系统服务,然后httpd -t检查语法是否有错误。
语法没错之后启动apache2.4,cmd在E:\phptools\Apache2.4.23\bin目录下输入net start apache2.4回提示你启动成功,这时候可以用浏览器打开127.0.0.1或localhost,会出现“It works”那么就说明apache已经正确安装并启动了。
此时你可以在window服务启动项中看到Apache2.4这个服务
删除apache:cmd在E:\phptools\Apache2.4.23\bin目录下输入sc delete apache2.4
注:如果要卸载这个服务的话,先要停止这个服务
解压下载的安装包php-5.6.27-Win32-VC11-x64,zip将其放到自己的安装目录(我解压的目录是E:\phptools)
1)将目录下的php.ini-development文件复制一份并改名为php.ini,它是php的配置文件;
2)为Apache服务添加php支持;
打开Apache的配置文件http.conf在最后加上
1 | # php5 support |
在添加LoadModule的时要要注意,保证php5apache2_4.dll文件确实存在php5.6.2里面
PHPIniDir “E:\phptools\php5.6.27”这个就是你的php根目录
3)重启Apache服务器;
重启的时候注意,net restart apache2.4这个命令是不存在的,我们可以先关闭再打开:net stop apache2.4再net start apache2.4
或者在系统服务里直接点重启
4)测试
删除phpwork中其他文件,新建一个index.php,内容为
1 | <?php |
保存,访问出现php的信息就说明php已经成功安装
下次更新
WordPress是目前世界上使用广泛的博客软件,比较容易受到各种攻击,因此WordPress安全性也是非常重要的,以下有10个安全技巧,可以帮助你轻松的解决WordPress安全性问题,以免你在WordPress的安全性上走更多的弯路。
一般来说,新版本的WordPress安全性都会比老版本要好一些,并且解决了已知的各种安全性问题,特别当遇到重大的版本升级时,新版本可能会解决更多的关键性问题。(例如老版本WordPress有remv.php重大漏洞,可能会导致遭受DDoS攻击,升级到最新2.7版本可解决这个问题)
编辑你的header.php模板,将里面关于WordPress的版本信息都删除,这样黑客就无法通过查看源代码的防治得知你的WordPress有没有升级到最新版本。
每个黑客都知道WordPress的管理员用户是admin,具有管理员权限,会攻击这个用户,那么你需要创建一个新用户,将其设置为管理员权限,然后删除老的admin帐号,这就能避免黑客猜测管理员的用户名。
安装好WordPress后,系统会发送一个随机密码到你的信箱,修改这个密码,因为这个密码的长度只有6个字符,你要将密码修改为10个字符以上的复杂密码,并尽量使用字母、数字、符号相混合的密码。
WordPress会默认安装插件到/wp-content/plugins/目录下,通常情况下直接浏览这个目录会列出所有安装的插件名,这很糟糕,因为黑客可以利用已知插件的漏洞进行攻击,因此可以创建一个空的index.html文件放到这个目录下,当然,修改Apache的.htaccess文件也可以起到相同的作用。
你可以通过限定IP地址访问WordPress管理员文件夹来进行保护,所有其他IP地址访问都返回禁止访问的信息,不过你也只能从一两个地方进行博客管理。另外,你需要放一个新的.htaccess文件到wp-admin目录下,防止根目录下的.htaccess文件被替换。
很多WordPress系统文件不需要被搜索引擎索引,因此,修改你的robots.txt文件,增加一行Disallow: /wp-*
这个插件可以记录失败的登录尝试的IP地址和时间,如果来自某一个IP地址的这种失败登录超过一定条件,那么系统将禁止这一IP地址继续尝试登录。
数据表最好不要使用默认的wp_开头,安装数据库备份插件,无论做了多少保护,你还是应该定期备份你的数据库,使用WordPress Database Backup等插件可以实现数据库的定期备份。
这个插件会自动按照以上的安全建议对你的WordPress进行扫描,查找存在的问题,使用较为简单。
从2014年底开始,谷歌方面已经提到使用SSL加密证书的网站,也就是说我们有看到网站带有HTTPS网址前缀的,而不是HTTP的会给予的权重好一些。于是,在国内和国外掀起针对网站是否使用SSL的讨论,但对于一般用户信息传递的网站,肯定是必须使用SSL证书的,一来信息的安全,二来用户对于网站的信任。对于我们个人网站来说,鉴于成本的考虑或者学习,可以使用免费SSL证书。
目前国外和国内都有提供免费SSL证书的商家,后面老蒋会一一和大家分享。在这篇文章中,我会分享来自国内的WoSign沃通商家,提供免费和付费的SSL证书,这里我们个人肯定关心免费SSL证书的申请。且如果有学习安装或者是海外网站有使用的,免费证书也是可以使用的,会兼容和支持大部分浏览器。
这里,我们就从基础来分享沃通SSL证书如何免费申请和账户的设置。
第一、沃通官方网站注册账户
免费SSL申请地址:freessl.wosign.com
新注册WoSign沃通个人账户,然后到邮箱中激活。完毕之后,我们就可以登录WoSign沃通账户后台。
第二、申请开通免费WoSign沃通证书
默认赠送2年,可以绑定一个域名,这里我们对应填写就可以。如果是中文网站,就选择证书语言为中文,反之英文。个人资料信息可以随便写都没有问题,如果你正规使用,更好的得到服务,还是写真实的信息。
第三、选择生成证书方式
完成之后下载证书
我觉得,美国机器搭配一个锐速,简直吊爆了,前提是你的VPS能装锐速,OPNEVZ架构的VPS无法装锐速,请绕道,博主一台在美国洛杉矶直连中国电信CN2线路的VPS,能看油管的720P,效果还是挺明显的,但说白了,线路还是最重要的。
锐速TCP加速软件适用系统
windows目前支持:windows XP / 2003 / Vista / 2008/ 7
linux目前支持:Centos/Redhat/Fedora/Debian等,具体支持内核请看 http://my.serverspeeder.com/ls.do?m=availables
锐速TCP加速软件安装
Windows安装锐速TCP加速软件
在windows下锐速的安装为图形化安装,一步一步来就好,需要输入你的账号名称和密码。
Linux安装锐速TCP加速软件
推荐选用自动化安装
1、下载自动化安装脚本
1 | wget http://my.serverspeeder.com/d/ls/serverSpeederInstaller.tar.gz |
2、解压缩tar xzvf serverSpeederInstaller.tar.gz
3、运行自动化安装脚本bash serverSpeederInstaller.sh
4、根据屏幕提示输入 ServerSpeeder 安装授权帐号和密码,也就是您在锐速网站注册的邮箱和密码
5、安装授权验证通过后,安装程序会自动连接 ServerSpeeder 下载服务器并下载已授权的 ServerSpeeder 程序;该过程视您的网络状况和服务器繁忙程度的不同,将持续几秒或几十秒的时间
6、根据屏幕提示,输入【欲加速的接口】、【上行带宽】、【下行带宽】等,如果不清楚一路回车即可
7、根据屏幕提示选择是否随机启动 ServerSpeeder
8、根据屏幕提示选择是否立即启动 ServerSpeeder
目录及文件说明
安装成功后,安装程序会在您的服务器文件系统的根目录下面创建一个/serverspeeder 目录,下面包含bin、etc 和log 三个子目录;各目录及文件的说明如下:
1 | /serverspeeder: 目录安装成功后,安装程序会自动在服务器文件系统的根目录 |
常用配置参数说明
您可通过修改/serverspeeder/etc/config 文件来为锐速模块配置不同的功能参数;各常用参数的说明如下:accif="eth*"
加速接口;eth*一般为服务器上对外提供服务的网络接口,例如eth0, eth1…,一般通过ifconfig 命令可以看到;可以同时设定多个接口作为加速接口(接口之间用空格分开),如accif=”eth0 eth1”;acc="1"
TCP 加速开关;设为1 表示开启模块的tcp 加速功能,设为0 表示关闭模块的tcp加速功能;advacc="1"
高级加速开关;设为1 表示开启,设为0 表示关闭;开启此功能可以得到更好的加速效果,但有可能会造成有效数据率下降;csvmode="1"
拥塞控制模式开关;设为1 表示开启,设为0 表示关闭;开启tcp 加速后,在某些丢包较大的网络中可能会造成有效数据率下降的问题;此时开启拥塞控制模式,可以有效避免该问题;但开启此选项时,可能加速效果也会下降;wankbps="1000000"
加速接口上行带宽;指的是从服务器流出到Internet 的最大带宽,单位为Kbps,例如服务器所连接的Internet 带宽为1G,则设置为1000000;waninkbps="1000000"
加速接口下行带宽;指的是从Internet 流入服务器的最大带宽,单位为Kbps,例如服务器所连接的Internet 带宽为1G,则设置为1000000;wankbps 和waninkbps 的设置一般与实际带宽相同为最理想;如果无法确定最大带宽,一般设置为网卡的最大吞吐能力即可;例如网卡为千兆全双工网卡,则wankbps 和waninkbps 都设置为1000000;当设置过小时,例如实际带宽有100Mbps,但wankbps 和waninkbps 设置为10M,则数据流量会被限制在10Mbps 以内,此时会降低服务器的吞吐;apxexe=" /serverspeeder/bin/acce-***"
锐速模块文件的路径;apxlic="/serverspeeder/etc/apx-***.lic"
锐速授权文件的路径;
Linux下锐速TCP加速软件常用操作命令/serverspeeder/bin/serverSpeeder.sh start
停止锐速:/serverspeeder/bin/serverSpeeder.sh stop
卸载锐速:
在确保锐速没有运行的情况下,您可以通过两种方式来卸载锐速:
使用安装脚本的卸载功能卸载锐速,如:./serverSpeederInstaller.sh uninstall
通过简单的删除操作,如:rm -rf /serverspeeder
查看锐速是否正常运行:service serverSpeeder status
检查是否有appex0模块lsmod
更新锐速授权:/serverspeeder/bin/serverSpeeder.sh renewLic