分类目录归档:挨踢

Couldn’t download https://raw.githubusercontent.com/certbot/certbot/ 问题解决

更新证书时出现报错:Couldn’t download https://raw.githubusercontent.com/certbot/certbot/v1.3.0/letsencrypt-auto-source/letsencrypt-auto.发现是阿里云的ECS访问不到github,估计又是GFW的锅,只能修改hosts

1、使用命令打开etc文件夹下面的hosts文件:
vim /etc/hosts

2.增加内容

199.232.4.133 raw.githubusercontent.com

3.重启网络

service network restart
或者
/etc/init.d/network restart

centos 内存问题处理

1.查询内存使用量:

free -m

2.查询内存占用排行(前10)

ps aux | head -1; ps aux | sort -k4nr | head -10

3.设置定时清理脚本,dropcache.sh

#!/bin/bash  
used=`free -m | awk 'NR==2' | awk '{print $3}'`  
free=`free -m | awk 'NR==2' | awk '{print $4}'`  
  
echo "===========================" >> /opt/dropcache/logs.txt  
date >> /opt/dropcache/logs.txt  
echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >>  /opt/dropcache/logs.txt  
  
# drop caches when the free memory less than 10G  
if [ $free -le 10000 ] ; then  
 #sync && echo 1 > /proc/sys/vm/drop_caches  
 #sync && echo 2 > /proc/sys/vm/drop_caches  
 sync && echo 3 > /proc/sys/vm/drop_caches  
 echo "OK" >>  /opt/dropcache/logs.txt  
else  
 echo "Not required" >> /opt/dropcache/logs.txt  
fi  

shell 主要是列出当前使用了多少内存,如果小于10G,则将内存清理掉,并将日志写入 logs.txt 的文件中。

如果超过10G也写入日志文件,但是会提示: Not required 表示无需清理。注意1.要修改文件的执行权限,2是要注意 Windows和Unix的文件编码格式的转换,不然会报syntax error near unexpected token `fi’的错误,

4.将脚本添加到crond任务,定时执行。

echo "*/30 * * * * sh /opt/dropcache/dropcache.sh" >> /etc/crondta

winform webbrowser 版本修改

在winform的程序里面内嵌了一个webbroswer,但是使用发现webbroswer的兼容性很差,查看了一下内核,发现是IE7的,所以以为是vs自带的低版本的IE,但是查找答案后发现,没有安装IE的电脑是无法使用webbroswer的,因此,webbroswer首先是依赖于IE的,只是默认版本是IE7

static void SetWebBrowserFeatures(int ieVersion)
        {
            // don't change the registry if running in-proc inside Visual Studio  
            if (LicenseManager.UsageMode != LicenseUsageMode.Runtime)
                return;
            //获取程序及名称  
            var appName = System.IO.Path.GetFileName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
            //得到浏览器的模式的值  
            UInt32 ieMode = GeoEmulationModee(ieVersion);
            var featureControlRegKey = @"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\";
            //设置浏览器对应用程序(appName)以什么模式(ieMode)运行  
            Registry.SetValue(featureControlRegKey + "FEATURE_BROWSER_EMULATION",
                appName, ieMode, RegistryValueKind.DWord);
            // enable the features which are "On" for the full Internet Explorer browser  
            //不晓得设置有什么用  
            Registry.SetValue(featureControlRegKey + "FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION",
                appName, 1, RegistryValueKind.DWord);


            //Registry.SetValue(featureControlRegKey + "FEATURE_AJAX_CONNECTIONEVENTS",  
            //    appName, 1, RegistryValueKind.DWord);  


            //Registry.SetValue(featureControlRegKey + "FEATURE_GPU_RENDERING",  
            //    appName, 1, RegistryValueKind.DWord);  


            //Registry.SetValue(featureControlRegKey + "FEATURE_WEBOC_DOCUMENT_ZOOM",  
            //    appName, 1, RegistryValueKind.DWord);  


            //Registry.SetValue(featureControlRegKey + "FEATURE_NINPUT_LEGACYMODE",  
            //    appName, 0, RegistryValueKind.DWord);  
        }
        /// <summary>  
        /// 获取浏览器的版本  
        /// </summary>  
        /// <returns></returns>  
        static int GetBrowserVersion()
        {
            int browserVersion = 0;
            using (var ieKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer",
                RegistryKeyPermissionCheck.ReadSubTree,
                System.Security.AccessControl.RegistryRights.QueryValues))
            {
                var version = ieKey.GetValue("svcVersion");
                if (null == version)
                {
                    version = ieKey.GetValue("Version");
                    if (null == version)
                        throw new ApplicationException("Microsoft Internet Explorer is required!");
                }
                int.TryParse(version.ToString().Split('.')[0], out browserVersion);
            }
            //如果小于7  
            if (browserVersion < 7)
            {
                throw new ApplicationException("不支持的浏览器版本!");
            }
            return browserVersion;
        }
        /// <summary>  
        /// 通过版本得到浏览器模式的值  
        /// </summary>  
        /// <param name="browserVersion"></param>  
        /// <returns></returns>  
        static UInt32 GeoEmulationModee(int browserVersion)
        {
            UInt32 mode = 11000; // Internet Explorer 11. Webpages containing standards-based !DOCTYPE directives are displayed in IE11 Standards mode.   
            switch (browserVersion)
            {
                case 7:
                    mode = 7000; // Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.   
                    break;
                case 8:
                    mode = 8000; // Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.   
                    break;
                case 9:
                    mode = 9000; // Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.                      
                    break;
                case 10:
                    mode = 10000; // Internet Explorer 10.  
                    break;
                case 11:
                    mode = 11000; // Internet Explorer 11  
                    break;
            }
            return mode;
        }

使用时:SetWebBrowserFeatures(11);

在线测试网址:https://tool.lu/useragent/

python 查询关键词收录状态

#coding=utf-8
#工作:根据url查询百度、360、搜狗是否有收录
#搜狗数量有限
import urllib
import requests
import time
import sys  
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
    reload(sys)
    sys.setdefaultencoding(default_encoding)

class UnicodeStreamFilter:  
	def __init__(self, target):  
		self.target = target  
		self.encoding = 'utf-8'  
		self.errors = 'replace'  
		self.encode_to = self.target.encoding  
	def write(self, s):  
		if type(s) == str:  
			s = s.decode("utf-8")  
		s = s.encode(self.encode_to, self.errors).decode(self.encode_to)  
		self.target.write(s)  
		  
if sys.stdout.encoding == 'cp936':  
	sys.stdout = UnicodeStreamFilter(sys.stdout)  
#以上为cmd下utf-8中文输出的终极解决方案!
print ("************************************")
print ("**用处:收录查询工具")
print ("**平台:360,百度,搜狗")
print ("**作者:alex")
print ("**网站:aix2.com")
print ("************************************\n")
headers={
		"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36 Edg/81.0.416.53"
}
def get_so(url):
	myurl="http://www.so.com/s?q=%s"%url
	r=requests.get(myurl,headers=headers)
	ret=r.text
	if "找不到该URL" in ret:
		print (url,'360未收录')
		f = open('sourl.txt','a')
		f.write(url+'\t'+'未收录'+'\n')
		f.close()
		return 0
	if "找到相关结果约" in ret:
		print (url,'360已收录')
		f = open('sourl.txt','a')
		f.write(url+'\t'+'已收录'+'\n')
		f.close()
		return 1
		
		
def baidu_html(baiduURL):
	print (baiduURL)
	x=1
	while x<5:
		try:
			print ("第%s次查询"%x,baiduURL)
			html= requests.get(baiduURL, headers = headers,timeout=30)
			r=html.json()
			break
		except:
			x=x+1
			continue
	if x>=5:
		r={"feed":{"all": "0","entry":[{"title":"alex","url":"超时,请重查"}]}}
	return r
def get_baidu_html(r):
	all=r.get('feed').get ('all')
	print(all)
	if all=='0':
		print (url,'百度未收录')
		f = open('baiduurl.txt','a')
		f.write(url+'\t'+'未收录'+'\n')
		f.close()
		return 0
	else:
		print (url,'百度已收录')
		f = open('baiduurl.txt','a')
		f.write(url+'\t'+'已收录'+'\n')
		f.close()
		return 1
def get_sogou(url):
	myurl="http://www.sogou.com/web?query=%s"%url
	r=requests.get(myurl,headers=headers)
	ret=r.text
	if "您是不是想直接访问" in ret:
		print (url,'搜狗未收录')
		f = open('sogouurl.txt','a')
		f.write(url+'\t'+'未收录'+'\n')
		f.close()
		return 0
	if "找到约" in ret:
		print (url,'搜狗已收录')
		f = open('sogouurl.txt','a')
		f.write(url+'\t'+'已收录'+'\n')
		f.close()
		return 1
	elif "verify_page" in ret:
		print ("\n搜狗出现异常,想其他办法把!")
		return
if __name__=="__main__":
	urls=open('url.txt','r').readlines()
	x=0
	y=0
	oknum=0
	lostnum=0
	sgx=0
	sgy=0
	for url in urls:
		baiduURL= 'http://www.baidu.com/s?wd=%s&tn=json' % url.strip()
		r=baidu_html(baiduURL)
		if get_baidu_html(r):
			oknum+=1
		else:
			lostnum+=1
	for url in urls:
		if get_so(url.strip()):
			x=x+1
		else:
			y=y+1
	for url in urls:
		if get_sogou(url.strip()):
			sgx=sgx+1
		else:
			sgy=sgy+1
	z=x+y
	print ("\n************************************")
	print ("**本次共查询链接:%s 条"%z)
	print ("**百度收录数据共 %s 条"%oknum)
	print ("**百度未收录数据共 %s 条"% lostnum)
	print ("**360收录数据共 %s 条"%x)
	print ("**360未收录数据共 %s 条"% y)
	print ("**搜狗收录数据共 %s 条"%sgx)
	print ("**搜狗未收录数据共 %s 条"% sgy)
	print ("************************************")


待查询的url放在同目录的url.txt的文件中

Centos php升级php7

1. 检查当前安装的PHP包

yum list installed | grep php

2. 完全移除当前PHP安装包以免起冲突

yum remove php*

3.查看当前yum源都提供了哪些可安装的PHP版本

yum list php*

注意:默认的yum源无法升级PHP,需要添加第三方yum源,我们选择webtatic库

CentOs 5.x
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
CentOs 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

4.安装PHP及相关插件,这里以PHP7.1.x为例

yum install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-fpm php71w-gd php71w-mbstring php71w-mysqlnd php71w-opcache php71w-pdo php71w-xml php71w-ldap php71w-mcrypt php71w-bcmath

 5.查看PHP版本

php -v

IDEA 2020 Jetbrains activation CODE 激活码 注册

更新日期:2020-04-11

v3.2.0 build date: 2020-04-11,本项目在最新2020.2.2上测试通过。

idea 激活成功截图

补丁包下载地址:↓↓↓↓↓↓

———————你懂得———————————–

使用方法:

1.关注公众号

2.答题

3.上车

 

1. 启动你的IDE,如果上来就需要注册,选择:试用(Evaluate for free)进入IDE。
2. 将 jetbrains-agent.jar 拖进IDE窗口,点 “Restart” 按钮重启IDE。
(事实上你拖 jetbrains-agent-latest.zip 进去IDE窗口也没问题)
3. 在弹出的JetbrainsAgent Helper对话框中,选择激活方式,输入安装参数点击安装按钮。
如果你是无外网环境,在对话框中勾选:我无法访问外网 选项(如银行、公安内网)。
4. 重启IDE,搞定。

车票(2020-11-26更新):

↓↓↓↓

[rihide]安装参数:f9fF1I/ygZI7Ff14sigGMZmZ7KJkhsM364o6exiukAqGORVXN1e4Fk4B8+hGSl5B+iLp9nIA2pSNhNGlxnDgSV3xC85CGVvWY9SWa+ECeWhJZ1+hitDPCNw5lKaRBnxIKhAfQ3aJl4S5WmrOkfKoIuz3UXVoX7hZGxofqQtzfuc[/rihide]

 

 

0. 先下载压缩包解压后得到jetbrains-agent.jar。
下载页面:https://zhile.io/2018/08/17/jetbrains-license-server-crack.html
1. 启动你的IDE,如果上来就需要注册,选择:试用(Evaluate for free)进入IDE。
2. 将 jetbrains-agent.jar 拖进IDE窗口,点 “Restart” 按钮重启IDE。
(事实上你拖 jetbrains-agent-latest.zip 进去IDE窗口也没问题)
3. 在弹出的JetbrainsAgent Helper对话框中,选择激活方式,输入安装参数点击安装按钮。
如果你是无外网环境,在对话框中勾选:我无法访问外网 选项(如银行、公安内网)。
4. 重启IDE,搞定。
x. 支持两种注册方式:License server 和 Activation code:
1). 选择License server方式,地址填入:http://fls.jetbrains-agent.com (网络不佳的用第2种方式)
2). 选择Activation code方式离线激活,请使用:ACTIVATION_CODE.txt 内的注册码激活
如果激活窗口一直弹出(error 1653219),请去hosts文件里“移除”jetbrains相关的项目
License key is in legacy format == Key invalid,表示agent配置未生效。
如果你需要自定义License name,请访问:https://zhile.io/custom-license.html
3). 现在你可以使用jetbrains-agent + license server激活jetbrains平台的付费插件了!
除了:”IEDIS 2″ 和 “MINBATIS”,这两个请使用 IEDIS_MINBATIS_CODE.txt 来激活。
现在有这些付费插件:https://plugins.jetbrains.com/search?isPaid=true

理论上适用于目前Jetbrains全系列所有新老版本(这句话是瞎说的,如有问题请给我issue或进QQ群:30347511讨论)。
IDE升级会从旧版本导入以上设置,导入配置后可能提示未注册(因为刚导入的vmoptions未生效),直接重启IDE即可,无需其他操作。

本项目只做学习研究之用,不得用于商业用途!
若资金允许,请点击 [https://www.jetbrains.com/idea/buy/] 购买正版,谢谢合作!
学生凭学生证可免费申请 [https://sales.jetbrains.com/hc/zh-cn/articles/207154369-学生授权申请方式] 正版授权!
创业公司可5折购买 [https://www.jetbrains.com/shop/eform/startup] 正版授权!

 

或者可以参考使用无限试用的方式激活:参考文章

 

Markdown 语法手册

Markdown 是一种轻量级标记语言,能将文本换成有效的XHTML(或者HTML)文档,它的目标是实现易读易写,成为一种适用于网络的书写语言。

Markdown 语法简洁明了,易于掌握,所以用它来写作是件既效率又舒服的事情。我们所熟知的和一些大型CMS,如Joomla!、Drupal等都能很好的支持Markdown。我是因为写GitHub项目库中的Readme才开始接触Markdown。

Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。

Headers 标题:

#  H1
##  H2
###  H3
####  H4
#####  H5
######  H6
 
另外,H1和H2还能用以下方式显示:
一级标题
===
 
二级标题
---

Emphasis 文本强调:

*斜体* or _强调_
**加粗** or __加粗__
***粗斜体*** or ___粗斜体__
 
但是,如果你的 * 和 _ 两边都有空白的话,它们就只会被当成普通的符号:这是一段* 文本强调 *的说明示例。
如果要在文字前后直接插入普通的星号或底线,你可以用反斜线(转义符):\*this text is surrounded by literal asterisks\*

Lists 列表:

Unordered 无序列表:
* 无序列表
* 子项
* 子项
 
+ 无序列表
+ 子项
+ 子项
 
- 无序列表
- 子项
- 子项
 
Ordered 有序列表:
1. 第一行
2. 第二行
3. 第三行
 
1. 第一行
- 第二行
- 第三行
 
组合:
* 产品介绍(子项无项目符号)
    此时子项,要以一个制表符或者4个空格缩进
 
* 产品特点
    1. 特点1
    - 特点2
    - 特点3
* 产品功能
    1. 功能1
    - 功能2
    - 功能3
 
可有时我们会出现这样的情况,首行内容是以日期或数字开头:2013. 公司年度目标。
为了避免也被转化成有序列表,我们可以在"."前加上反斜杠(转义符):2013\. 公司年度目标。

Links 连接(title为可选项):

Inline-style 内嵌方式:
[link text](https://www.google.com "title text")
 
Reference-style 引用方式:
[link text][id]
[id]: https://www.mozilla.org "title text"
 
Relative reference to a repository file 引用存储文件:
[link text](../path/file/readme.text "title text")
 
还能这样使用:
[link text][]
[link text]: http://www.reddit.com
 
Email 邮件:

Images 图片:

Inline-style 内嵌方式:
![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "title text")
 
Reference-style 引用方式:
![alt text][logo]
[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "title text"

Code and Syntax Highlighting 代码和语法高亮:

标记一小段行内代码:
本文是一篇介绍`Markdown`的语法的文章
 
如果高亮的内容包含`号,可以这样写:
`` `包裹起来` ``
 
语法高亮:
```html
    <div>Syntax Highlighting</div>
```
```css
    body{font-size:12px}
```
 
```javascript
    var s = "JavaScript syntax highlighting";
    alert(s);
```
```php
    <?php
      echo "hello, world!";
    ?>
```
```python
    s = "Python syntax highlighting"
    print s
```

Block Code 代码分组(代码区块):

在该行开头缩进4个空格或一个制表符(tab)
 
<strong>Blockquotes 引用:</strong>
> Email-style angle brackets
> are used for blockquotes.
> > And, they can be nested.
> #### Headers in blockquotes
> * You can quote a list.
> * Etc.

Hard Line Breaks 换行:

在一行的结尾处加上2个或2个以上的空格,也可以使用</br>标签
第一行文字,
第二行文字

Horizontal Rules 水平分割线:

***
* * *
- - -

Escape character 转义符(反斜杠):

Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果,你可以在星号的前面加上反斜杠:
\*literal asterisks\*
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
\反斜杠  `反引号  *星号  _下划线  {}花括号  []方括号  ()括弧  #井字号  +加号  -减号  .英文句 !感叹号

Additional 补充:

Markdown也支持传统的HTML标签。
比如一个链接,你不太喜欢Markdown的写法,也可以直接写成<a href="http://www.aix2.com">雨木霜月</a>

在CentOS 8系统中安装Apache服务器的方法

Apache HTTP服务器是世界上使用最广泛的Web服务器,它是一个免费的、开源的、跨平台的HTTP服务器,具有强大的功能,并且可以通过多种模块进行扩展。

安装Apache的方法

Apache在默认的CentOS 8存储库中可用,所以安装非常简单。

在基于RHEL的发行版中,Apache软件包和服务称为httpd,要安装Apache,请以root或具有sudo特权的用户身份运行以下命令:

$ sudo yum install httpd

安装完成后,启用并启动Apache服务:

$ sudo systemctl enable httpd

$ sudo systemctl start httpd

要验证服务是否正在运行,请检查其状态,运行:

$ sudo systemctl status httpd

调整防火墙

FirewallD是Centos 8上的默认防火墙解决方案。

在安装过程中,Apache使用预定义的规则创建防火墙服务文件,以允许访问HTTP(80)和HTTPS(443)端口。

以下命令将永久打开必要的端口:

$ sudo firewall-cmd –permanent –zone=public –add-service=http

$ sudo firewall-cmd –permanent –zone=public –add-service=https

$ sudo firewall-cmd –reload

SQL server getdate()时间格式化

Select CONVERT(varchar(45), GETDATE(), 0): 08 24 2018 08:22AM
Select CONVERT(varchar(45), GETDATE(), 1): 08/24/18
Select CONVERT(varchar(45), GETDATE(), 2): 18.08.24
Select CONVERT(varchar(45), GETDATE(), 3): 24/08/24
Select CONVERT(varchar(45), GETDATE(), 4): 24.08.18
Select CONVERT(varchar(45), GETDATE(), 5): 24-08-18
Select CONVERT(varchar(45), GETDATE(), 6): 24 08 18
Select CONVERT(varchar(45), GETDATE(), 7): 08 24, 18
Select CONVERT(varchar(45), GETDATE(), 8): 08:22:46
Select CONVERT(varchar(45), GETDATE(), 9): 08 24 2018 08:22:46:625AM
Select CONVERT(varchar(45), GETDATE(), 10): 08-24-18
Select CONVERT(varchar(45), GETDATE(), 11): 18/08/24
Select CONVERT(varchar(45), GETDATE(), 12): 180824
Select CONVERT(varchar(45), GETDATE(), 13): 24 08 2018 08:22:46:862
Select CONVERT(varchar(45), GETDATE(), 14): 08:22:46:967
Select CONVERT(varchar(45), GETDATE(), 20): 2018-08-24 08:22:47
Select CONVERT(varchar(45), GETDATE(), 21): 2018-08-24 08:22:47.157
Select CONVERT(varchar(45), GETDATE(), 22): 08/24/18 08:22:47 AM
Select CONVERT(varchar(45), GETDATE(), 23): 2018-08-24
Select CONVERT(varchar(45), GETDATE(), 24): 08:22:47
Select CONVERT(varchar(45), GETDATE(), 25): 2018-08-24 08:22:47.350
Select CONVERT(varchar(45), GETDATE(), 100): 08 24 2018 08:22AM
Select CONVERT(varchar(45), GETDATE(), 101): 08/24/2018
Select CONVERT(varchar(45), GETDATE(), 102): 2018.08.24
Select CONVERT(varchar(45), GETDATE(), 103): 24/08/2018
Select CONVERT(varchar(45), GETDATE(), 104): 24.08.2018
Select CONVERT(varchar(45), GETDATE(), 108): 24-08-2018
Select CONVERT(varchar(45), GETDATE(), 118): 24 08 2018
Select CONVERT(varchar(45), GETDATE(), 107): 08 24, 2018
Select CONVERT(varchar(45), GETDATE(), 108): 08:22:49
Select CONVERT(varchar(45), GETDATE(), 109): 08 24 2018 08:22:49:153AM
Select CONVERT(varchar(45), GETDATE(), 110): 08-24-2018
Select CONVERT(varchar(45), GETDATE(), 111): 2018/08/24
Select CONVERT(varchar(45), GETDATE(), 112): 20180824
Select CONVERT(varchar(45), GETDATE(), 113): 24 08 2018 08:22:49:426
Select CONVERT(varchar(45), GETDATE(), 114): 08:22:47:375
Select CONVERT(varchar(45), GETDATE(), 120): 2018-08-24 08:22:47
Select CONVERT(varchar(45), GETDATE(), 121): 2018-08-24 08:22:47.655
Select CONVERT(varchar(45), GETDATE(), 126): 2018-08-24T08:22:47.125

碎碎念☞记录生活的点点滴滴