Android 程式流程

了解一個程式的流程是十分重要的一件事 以下記載著一個 Android APP 的出生到死亡 protected void onCreate(...) { openGarageDoor(); unlockCarAndGetIn(); closeCarDoorAndPutOnSeatBelt(); putKeyInIgnition(); } protected void onStart() { startEngine(); changeRadioStation(); switchOnLightsIfNeeded(); switchOnWipersIfNeeded(); } protected void onResume() { applyFootbrake(); releaseHandbrake(); putCarInGear(); drive(); } protected void onPause() { putCarInNeutral(); applyHandbrake(); } protected void onStop() { switchEveryThingOff(); turnOffEngine(); removeSeatBeltAndGetOutOfCar(); lockCar(); } protected void onDestroy() { enterOfficeBuilding(); } protected void onReachedGroceryStore(...) { Intent i = new Intent(ACTION_GET_GROCERIES, ..., this, GroceryStoreActivity.class); } protected void onRestart() { unlockCarAndGetIn(); closeDoorAndPutOnSeatBelt(); putKeyInIgnition(); }

August 24, 2015

一台電腦兩個Git帳號使用SSH Key

在設定檔中加入設定檔 Windows下的路徑C:\Users\Ricky.ssh Host ricky.org Hostname ricky.org Port 29418 User rickyhuang IdentityFile C:\Users\Ricky\.ssh\id_rsa Host peter.org Hostname peter.org Port 65095 User peter IdentityFile C:\Users\Ricky\.ssh\id_rsa_second pull 的時候是識別郵箱,所以不能使用 global 的 user.email 取消 global git config --global --unset user.name git config --global --unset user.email 設定每個項目repo自己的 user.email git config user.email "xxxx@xx.com" git config user.name "ricky" Woindows 下要生成 key 可以使用 git bash 裡面有內建的 ssh command 再輸入,即可生成ssh key ssh-keygen -t rsa

August 24, 2015

CentOS6.5 安裝phpMyAdmin

一、安裝phpMyAdmin phpMyAdmin 對應 php 版本會有影響,請挑選適合的版本 wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.1.12/phpMyAdmin-4.1.12-all-languages.tar.gz tar -zxvf phpMyAdmin-4.1.12-all-languages.tar.gz mv phpMyAdmin-4.1.12-all-languages /usr/share/nginx/html/phpMyAdmin rm phpMyAdmin-4.1.12-all-languages.tar.gz 二、設定config.inc.php 路徑:/usr/share/nginx/html/phpMyAdmin 複製範本設定檔 config.sample.inc.php 並重新命名為 config.inc.php cp config.sample.inc.php config.inc.php /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookies'; 改成 /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'http'; 三、查看mysql使用者,新增使用者,給予權限 mysql -u root -p -h 127.0.0.1 mysql> select user, host from mysql.user; mysql> create user 'admin'@'%' identified by 'admin'; mysql> grant all on *.* to 'admin'@'%'; 這樣 admin 對整個資料庫的所有資料表都擁有全部的權利 ...

August 24, 2015

CentOS6.5 安裝LNMP

一、更新rpm MYSQL源 CentOS 6 yum install http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm CentOS 7 yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm NGINX源 CentOS 6 yum install http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm CentOS 7 yum install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm REMI源 最新的PHP版本需要修改REMI.REPO中的ENABLED=0为1)# vi /etc/yum.repos.d/remi.repo CentOS 6 yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm CentOS 7 yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 二、安裝Nginx 安裝 NGINX 網頁伺服器 yum install nginx 三、安裝PHP 想 install 其它版本的 PHP 需要修改 REMI.REPO 中的 ENABLED=0 為 1 路徑:/etc/yum.repos.d/remi.repo [remi-php55]是PHP5.5 [remi-php56]是PHP5.6 選擇你要的版本做修改即可 vi /etc/yum.repos.d/remi.repo 安裝 PHP yum install php 安裝其他PHP Lib yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel php-fpm ...

August 24, 2015

CentOS 6.5 防火牆設定iptables

CentOS一般預設開啟的只有SSH的Port 22,如果有其他的需求就必須手動設定防火牆。 比較常用的Port.. 常見的預設 port 號 Service Port FTP 21 SSH 22 HTTP 80 HTTPS 443 MYSQL 3306 將對應的資訊加入iptables設定檔中 /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT ...

August 21, 2015

CentOS6.5 網卡基本設定

首先可以下指令顯示出所有的介面資訊 ip link show 網卡設定檔 網卡設定檔的目錄一般會在/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.1.255 IPADDR=192.168.1.2 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes 說明 DEVICE 這個裝置的名稱 BOOTPROTO 使用我們給的網路名稱(若為浮動 IP 則為 dhcp ) BROADCAST 這是節點的網域 IPADDR 這是這塊網路卡的位址 NETMASL 子遮罩網路 NETWORK 工作的網域 ONBOOT 開機自動開啟網路卡 在上面的例子中,我們以虛擬 IP 來作為示範, 假定這部機器的 IP 為 192.168.1.2 ,則 BROADCAST 就是 192.168.1.255 (xxx.xxx.xxx.255), NETMASK 通常是 255.255.255.0 (與你的 IP class 有關,不過,通常我們就設成 255.255.255.0 也就是了), NETWORK 就設為 192.168.1.0 (xxx.xxx.xxx.0)。 如果你的網路位址是固定的,那上面的網址就跟著改變即可! 設定玩之後,網路服務重新啓動,指令為: service network restart

August 21, 2015

CentOS crontab

Example 輸入 crontab -e 進入排程編輯 # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed Instruction 特殊字符 代表意義 *(星號) 代表任何時刻都接受的意思!舉例來說,範例一內那個日、月、週都是 *,就代表著『不論何月、何日的禮拜幾的 12:00 都執行後續指令』的意思! ,(逗號) 代表分隔時段的意思。舉例來說,如果要下達的工作是 3:00 與 6:00 時,就會是: 0 3,6 * * * command 時間參數還是有五欄,不過第二欄是 3,6 ,代表 3 與 6 都適用! -(減號) 代表一段時間範圍內,舉例來說, 8 點到 12 點之間的每小時的 20 分都進行一項工作: 20 8-12 * * * command 仔細看到第二欄變成 8-12 喔!代表 8,9,10,11,12 都適用的意思! /n(斜線) 那個 n 代表數字,亦即是『每隔 n 單位間隔』的意思,例如每五分鐘進行一次,則:*/5 * * * * command 很簡單吧!用 * 與 /5 來搭配,也可以寫成 0-59/5 ,相同意思! crontab 產生的訊息會存放在 /var/spool/mail/root ...

July 27, 2015