用shell抓取城市zip code,

zip code
美国邮政编码 (英语:ZIP Code)是美国邮政使用的一种邮政编码,一般常以大楷写作ZIP。ZIP是英语:Zone Improvement Plan (地区改进计划)的简称,它暗示邮件可以以更有效率及快捷地送到目的地。最基本的ZIP编号包括五个号码,随后增加了四个号码,使邮件可以更精确地传送到目的地。增加号码后的ZIP编号称为”ZIP+4″。ZIP编号曾被美国邮政注册成一个商标,但其注册至今已经过期。

目标网站:https://www.unitedstateszipcodes.org/ga/

1.我们要得到所有地区列表

2.循环所有地区的zip code并写入到result.txt

getZipCode

下载后,解压

1.所有结果写到result.txt里:getallzipcode.sh

格式:

36869_Alabama
99605_Alaska
99606_Alaska
99607_Alaska

2.每个地区的写到一个文件里:geteachCityzipcode.sh

格式:

Alabama.txt Delaware.txt Iowa.txt Michigan.txt

golang处理异常之panic,recover, exit status1

golang语言对错误的处理只有Panic和Recover.

go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理

在一个主进程,多个go程处理逻辑的结构中,这个很重要,如果不用recover捕获panic异常,会导致整个进程出错中断

 

在写程序时,如果不进行处理就会一级一级向上抛出异常直到程序崩溃退出。

如何使用这两个方法处理异常呢?

我们可以定义个函数,在需要检测错误的地方引用 一下:

func CheckErr(err error) {
       if err != nil {
              panic(err)
       }
}
func demo( sourcefile string)  {
       defer func() {
              if x := recover(); x != nil {
                     fmt.Println(x)
              }
       }()
       
       _, err := ioutil.ReadFile(sourcefile)
       CheckErr(err)
}

总结就是在需要处理错误的方法里,panic抛出异常,recover接住异常。

还有一种是exit status 1,这个时候要看下是否用了log函数。

logger.Panic

logger.Fatal 会抛出这个异常。

 

wordpress修改上传文件大小及类型

wordpress 版本是最新的,4.8.1
默认,只有部分图像类型的文件可以上传,文件大小限制为2M。

1.修改文件类型:

vi wp-includes/functions.php
/mysql2date jump to this function:
$mime_to_ext = apply_filters( 'getimagesize_mimes_to_exts', array(
'image/jpeg' => 'jpg',
'image/png' => 'png',
'image/gif' => 'gif',
'image/bmp' => 'bmp',
'image/tiff' => 'tif',
//add more file type
'zip'=> 'application/zip',
'tar'=> 'application/x-tar',
'gz|gzip'=> 'application/x-gzip',

) );

现在就增加了zip/tar/gz/gzip文件类型的支持。

2.  修改文件大小

a.php

5.6/fpm/php.ini:post_max_size = 32M
5.6/fpm/php.ini:upload_max_filesize = 32M

重启php5.6-fpm

b.nginx:413 Request Entity Too Large

在nginx.conf里找到http段,加一句:client_max_body_size 32m;

重启nginx

wordpress 修改http成https

1.后台登录样式乱?发现wordpress会根据is_ssl来决定走http/https,我想用https,所以直接给个true.


#vi wp-includes/load.php
function is_ssl() {
if ( isset( $_SERVER['HTTPS'] ) ) {
if ( 'on' == strtolower( $_SERVER['HTTPS'] ) ) {
return true;
}
if ( '1' == $_SERVER['HTTPS'] ) {
return true;
}
} elseif ( isset($_SERVER['SERVER_PORT'] ) && ( '443' == $_SERVER['SERVER_PORT'] ) ) {
return true;
}
# return false;
return true; ##whatever let it ture.
}

 

2.前台部分,在模板里修改下functions.php增加一个替换http->https的方法
#vi wp-content/themes/twentyseventeen/functions.php

function change_ssl(){
if(is_ssl()){
function change_ssl_main ($content){
$siteurl = get_option('siteurl');
$upload_dir = wp_upload_dir();
$content = str_replace( 'http:'.strstr($siteurl, '//'), strstr($siteurl, '//'), $content);
$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), strstr($upload_dir['baseurl'], '//'), $content);
return $content;
}
ob_start("change_ssl_main");
}
}
add_filter('get_header', 'change_ssl');

3.能想到的地方都修改一下,【设置】-【常规】里修改成https

4.之前发布的文章:

update wp_posts set post_content = replace(post_content, '//www.lijiuyang.com','https://www.lijiuyang.com');

 

git push faild

warning: suboptimal pack - out of memory
error: pack-objects died of signal 9
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'https://bitbucket.org/xxx/xx.git'

How to fixes?

git config --global pack.threads 1 git
git config --global pack.deltaCacheSize 128m
git config --global pack.windowMemory 50m
git push

 


9 files changed, 1048 insertions(+)
fatal: bad numeric config value '=' for 'pack.deltacachesize': invalid unit
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'https://bitbucket.org/xx/xx.git'
fatal: The remote end hung up unexpectedly
fatal: write error: Bad file descriptor

#git config –global –get pack.deltaCacheSize
=

#git config –global –unset-all pack.deltaCacheSize