分類
Linux

VirtualBox中Ubuntu掛載新磁盤[轉]

在virtualbox中装好Ubuntu后,发现硬盘空间太小,怎样才能增加硬盘容量?那就是再建一个硬盘:

1. 添加新硬盘

设置 -> Storage -> SATA控制器->右击,选择“添加虚拟硬盘”

然后,根据需求创建合适的硬盘

2. 重启虚拟机

查看现有系统的磁盘空间

sudo fdisk -l

可看到新加的虚拟硬盘,一般名为:Disk /dev/sdb

3. 给新加的硬盘分区

fdisk /dev/sdb

键入m,可看到帮助信息

command (m for help):m

增加新分区

command (m for help):n

选择基本分区,输入:p

建一个分区

Partition number(1-4):1

回车

First cylinder (1-15908,default 1):Enter

写入并退出

command (m for help):w

4. 格式化磁盘分区

用ext4格式对/dev/sdb1进入格式化

sudo mkfs.ext4 /dev/sdb1

5. 挂载分区

创建新的挂载点

sudo mkdir /work

将新磁盘分区挂载到/work目录下

sudo mount -t ext4 /dev/sdb1 /work

查看挂载

df -h

可以看到新加的硬盘:/dev/sdb1

6. 开机自动挂载

修改文件

sudo nano /etc/fstab

在最后一行加入:

/dev/sdb1 /work ext4 errors=remount-ro 0 1

完成!

文章轉自本文出自 “凉冰” 博客,原文地址http://liangbing8612.blog.51cto.com/2633208/652333

分類
网站

javascript and jQuery tricks

Selectors

如果頁面寬度小於1024就隱藏同時屬於.navigation.post-navigation這兩個類的元素:

if(jQuery(window).width()<1024){jQuery("#aa").show();jQuery('.navigation.post-navigation').hide();}else{jQuery("#leftShare").show();}
});&#91;/code&#93;
<p>根據時間觸發事件:</p>
[code language="javascript"]
        //默認30秒
        var timeWaitSec=30000;
        //檢查用戶在文章中是否設置了新的執行時間
        if((typeof timeWaitSecNew!='undefined') && (timeWaitSecNew>1)){
          timeWaitSec = timeWaitSecNew;
        }
        setTimeout("do_sth()", timeWaitSec);

根據頁面滾動百分比觸發一次性事件,:

var done = false;
jQuery(window).scroll(function(){

    var wintop = jQuery(window).scrollTop(), docheight = jQuery(document).height(), winheight = jQuery(window).height();
    var  scrolltrigger = 0.65;
	if(jQuery(window).width()<1024){scrolltrigger = 0.45;}else{scrolltrigger = 0.65;}

    //console.log('%scrolled='+(wintop/(docheight-winheight))*100);

    if  (((wintop/(docheight-winheight)) > scrolltrigger)&&(!done)) {
       do_sth();
       done = true;
    }
});

有時找到到js中中文string如\u8d70\u4e00\u6b65這樣的,是被轉換成了Unicode,可以用站長工具的Unicode轉換工具轉換回來。

如果找到的js文件是minified的,而又需要修改其中內容的化,可以用在線unminify工具進行還原。

倒計時

var wait=5;
timeOut();
function timeOut(){
	if(wait==0){
		feedbackObj.fadeOut(100,function(){
			feedbackObj.remove();					
		});
		$('#opacity-mask').fadeOut(100);	
	}else{					
		setTimeout(function(){
			wait--;
			$('.close-seconds>b').text(wait);
			timeOut();
		},1000)
	}
}

使用谷歌的jQueryCDN,如果CDN失敗則用自己服務器上的

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript">
    window.jQuery || document.write('<script type="text/javascript" src="/common/js/jquery.min.js"><\/script>')
</script>

本文更新於 2016/06/29。

分類
网站

WordPress與Facebook常用代碼

在文章模板中使用jquery調用facebook總share數,用到jquery解析facebook的json數據:

<script>jQuery(document).ready(function($){
  $.getJSON("https://graph.facebook.com/?id=<?php the_permalink(); ?>", function(data){
    $('#fbCount').text(data.shares);
  });
});
</script>

關閉標籤頁的提醒彈窗(火狐下無效,Chrome下可以):

$(window).bind("beforeunload",function(event) {
    return "Don\'t forget to Like us!";
  });

給post中所有圖片註冊一次性onclick事件:

jQuery(".entry-content img").one("click",function() {fbs_click2();});

自定義按鈕實現點擊後彈出facebook分享彈框

<!--按鈕圖片,圖片採用鏈接背景的方式-->
<a onclick="javascript:fbs_click1();" href="javascript:void(0);" style="background: rgba(0, 0, 0, 0) url('https://ft.wupo.info/wp-content/uploads/2015/11/btn-fblogin.png') no-repeat scroll left center;border-radius: 5px;
color: #fff;display: inline-block;font-size: 1.3em;height: 45px;line-height: 45px;padding: 0 0 0 45px;text-align: left;">分享到FB</a>
<!--彈框js代碼-->
<script>
function fbs_click1() { u = "http://yourdomin.com/yourpage"; t = document.title; window.open('https://www.facebook.com/sharer.php?u=' + encodeURIComponent(u) + '&t=' + encodeURIComponent(t), 'sharer', 'toolbar=0,status=0,width=626,height=600'); return false; };
</script>
<!--在body關閉標籤前引入facebook代碼-->
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5&appId=1111828692192135";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

本文更新於 2015/11/28。

分類
网站

用.htaccess實現二級域名網站

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(test.)?domin.com$
RewriteCond %{REQUEST_URI} !^/testFolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /testFolder/$1
RewriteCond %{HTTP_HOST} ^(test.)?domin.com$
RewriteRule ^(/)?$ testFolder/index.php [L]

萬網的輕雲服務器不推薦大家購買,說是服務器,文件只能通過ftp傳,而且還自動刪.htaccess。雖然.htaccess上傳後就不見了,運氣好的話規則還是起作用的,爲什麼這麼說呢,因爲他們的輕雲服務器有獨特的.htaccess語法,真是坑。上面的代碼經過測試是可用的。爲什麼這麼不好還要用呢,備案啊,穩定性啊當然還有很便宜的價格。

分類
网站

wordpress建立企業站常用函數和插件

1,常用主題函數

//移除后台默认小控件
add_action('wp_before_admin_bar_render', 'my_admin_bar_remove', 0);

function my_admin_bar_remove()
{
    global $wp_admin_bar;
    global $wp_meta_boxes;
    
    /* Remove their stuff */
    $wp_admin_bar->remove_menu('wp-logo');
    // 以下这一行代码将删除 "快速发布" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
    // 以下这一行代码将删除 "引入链接" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
    // 以下这一行代码将删除 "插件" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
    // 以下这一行代码将删除 "近期评论" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
    // 以下这一行代码将删除 "近期草稿" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
    // 以下这一行代码将删除 "WordPress 开发日志" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
    // 以下这一行代码将删除 "其它 WordPress 新闻" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
    // 以下这一行代码将删除 "概况" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
    // 以下这一行代码将删除 "活动" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);
}


// 添加后台小控件
add_action('wp_dashboard_setup', 'my_add_dashboard_widgets');

function my_add_dashboard_widgets()
{
    wp_add_dashboard_widget('my_dashboard_widget', // Widget slug.
'welcome', // Title.
'dashboard_widget_function') // Display function.
;
}

//Create the function to output the contents of our Dashboard Widget.
function dashboard_widget_function()
{
    echo "欢迎!<br/>请点击左侧菜单进行相应操作。";
}

// 去除后台标题中的“—— WordPress”
add_filter('admin_title', 'wpdx_custom_admin_title', 10, 2);

function wpdx_custom_admin_title($admin_title, $title)
{
    return $title . ' &lsaquo; ' . get_bloginfo('name');
}


// 去除后台的谷歌自体
add_action('init', 'remove_open_sans_from_wp_core');

function remove_open_sans_from_wp_core()
{
    wp_deregister_style('open-sans');
    wp_register_style('open-sans', false);
    wp_enqueue_style('open-sans', '');
}

// 自定义WordPress后台底部信息
add_filter('admin_footer_text', 'left_admin_footer_text');

function left_admin_footer_text($text)
{
    // 修改左侧信息
    $text = '感谢使用OKMILK销量查询系统';
    return $text;
}
add_filter('update_footer', 'right_admin_footer_text', 11);

function right_admin_footer_text($text)
{
    // 修改右侧信息
    $text = "4.6.1版本";
    return $text;
}

// 去除右上角帮助
add_filter('contextual_help', 'wpse50723_remove_help', 999, 3);

function wpse50723_remove_help($old_help, $screen_id, $screen)
{
    $screen->remove_help_tabs();
    return $old_help;
}

// 去除一般用户升级提醒
if (! current_user_can('manage_options'))
{
    // Disable Theme Updates
    remove_action('load-update-core.php', 'wp_update_themes');
    add_filter('pre_site_transient_update_themes', create_function('$a', "return null;"));
    wp_clear_scheduled_hook('wp_update_themes');
    
    // Disable Plugin Updates
    remove_action('load-update-core.php', 'wp_update_plugins');
    add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;"));
    wp_clear_scheduled_hook('wp_update_plugins');
    
    // Diasable Core Updates
    add_filter('pre_site_transient_update_core', create_function('$a', "return null;"));
    wp_clear_scheduled_hook('wp_version_check' );
}

2,插件

查看當前模板文件:安裝插件Show Current Template

修改登陸頁logo:安裝插件Custom Login Logo

去除wp頭部版本號:安裝插件Remove WP version and shortlink

维护模式:安裝插件Maintenance Mode

分類
软件

PHP Development Tools——Eclipse

之前用NetBeans寫PHP倒也沒什麼問題,最近看到PSR-2的代碼編寫規範,覺得很好,但是NetBeans好像沒有找到設置的地方。搜了下PHP Development Tools (PDT)直接支持PSR-2。Sublime Text 2的編碼主題比較舒服,PDT也是有的,Sublime Text 2 theme for PDT下載。推薦下載EPF格式,然後在eclipse中File/Import/General/Preferences導入即可。爲了遵循PSR的代碼書寫規範,還需在Window/Preferences中進行如下設置:

  1. PHP/Code Style/Formatter/Active profile設置爲PSR-2。
  2. General/Workspace/New text file line delimiter設置爲Other:Unix。
  3. General/Editors/Text Editors勾選Show line margin,值設爲80。
分類
程序

python3字符串自增

週末喝恆大冰泉,發現掃二維碼中獎概率頗高,而且可以中獎金額直接用來給手機充值或提現到銀行卡,做的比較好。趁理髮無聊的時候寫了段python掃了一會兒,但是空手而歸。代碼也很簡單和用Python抓取大衆點評的用戶評論差不多,主要就是字符串自增這塊用了個遞歸:

from bs4 import BeautifulSoup import string,sys,time,random,urllib,http.cookiejar,socket #url="https://sao.so/t/dSTUVvjUhPHpz" baseDir="/storage/sdcard0/com.hipipal.qpyplus/scripts3/test/" base="_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" HDcode="dSTUVvjUhPIjL" bingoNo=0 failNo=0 def increase(s): sHead=s[0:-1] sFoot=s[-1:] sNew="" if(sFoot != "Z"): index=base.index(sFoot) sFootNew=base[index+1] sNew=sHead+sFootNew else: sHeadNew=increase(sHead) sFootNew="_" sNew=sHeadNew+sFootNew return sNew def getHTML(url): request = urllib.request.Request(url) request.add_header("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0") try: response = urllib.request.urlopen(request) except (urllib.error.HTTPError, socket.error,urllib.error.URLError) as e: print('Connection error occurred when inserting data.'+str(e)) else: if response.code != 200: print("Error code:"+response.code) else: html = response.read().decode('utf-8') return html def check(html): global bingoNo global failNo #with open(baseDir+'expired.html',encoding='utf-8') as html: soup = BeautifulSoup(html) images = soup.find_all('img') for image in images: if "errorQrCode.jpg" in image.get('src') : failNo = failNo + 1 print("fake: " + HDcode + " " + str(failNo)) break elif "冰泉君已经失身啦" in soup.get_text(): print("expired" + HDcode) break else: print("bingo" + HDcode) bingoNo = bingoNo + 4 if __name__ == '__main__': #html=getHTML(url) #with open(baseDir+'fake.html', mode='w', encoding='utf-8') as html_file: #html_file.write(html) global HDcode while(bingoNo < 2): url = "https://sao.so/t/" + HDcode html = getHTML(url) check(html) HDcode = increase(HDcode) time.sleep(random.randrange(4,7)) [/code]

其實命中的概率真的非常低,拿13位編碼來說,一共有(11+26+26)^13=2.46*10^23種組合,瓶子上說中獎概率33.3%,按300億銷售目標和5元均價算,一共有2×10^10瓶是可以中獎的。除一下就發現……不用除了吧