Mac OS 一定要學會的 設定開機自動啟動程式

在使用自己的電腦時,有些程式,會希望開機時就能自動開啟,像一些系統監控的程式,或日曆、月曆、即時通訊等等(當然看個人習慣)。

但在Mac要如何設定呢

首先當然進入系統設定,找到「使用者與群組」


接著,先點要設定的使幅者,看到右上有兩個標籤,請點右邊的登入項目。

點左下角的 +

找到想要開啟自動啟動的程式

新增後,就會看到已經新增。



Mac OS 一定要學會的 在Mac OS執行windows程式

在使用Mac時,有些一定要用widnows打開的程式,再透過virtualbox或雙系統再打開,不僅麻煩又吃資源,這個時後wine就派的上用場了

wine在這裡可不是指葡萄酒,
wine(Wine Is Not an Emulator) 是一個可以讓unixlike的作業系統執行windows程式的工具,在這裡一定要強調,它,不是模擬器,它是在其他作業系統,建立windows程式需要的環境,來讓它們可以執行

而wineskin和crossover算是整合wine讓使用者更方便使用,就像wineskin這個名字,是wine的皮膚一樣,可以針對程式,個別產生不同的wine環境。

而crossover是需要收費的,在這邊要談的是wineskin
首先當然是到wineskin下載

另外程式還需要安裝xquartz https://www.xquartz.org
下載完直接剛裝即可。

安裝好執行wineskin程式


點左邊的+


接著選擇wine的版本,一般來說是選擇最新(但wine的支援度,不一定是最新的最好)

接著選擊Download and install


下載完後點擊 Create New Blank Wrapper


設定完新的wrapper名字之後,點擊OK

完成後,可以直接點View wrapper in Finder

而預設的位置是 /個人資料夾/應用程式/Wineskin
找到剛剛建立的MyCoolWrapper,點擊右鍵,點擊顯示套件內容

執行Wineskin,首先準備好windows的安裝程式,點擊Install Software

點擊Choose Setup Executable,接著安裝剛剛準備的安裝檔

安裝好後,點擊剛剛的Advenced

點擊右邊的Browse
找到剛剛安裝好的應用程式的執行檔
路徑是 MyCoolWrapper/drive_c/Program Files/
這時安裝基本上已經完成。

接著可以直接點擊Test Run,來測試。
若沒問題,就可以在應用程式列表找到剛剛安裝的程式。
當然,剛剛所建立的在Wineskin資料裡面的MyCoolWrapper,是可以改成自己想要的名字。

若還是無法執行,可以安裝其他的windows library,這部分,我會在後續說明。










Mac OS 一定要學會的 在wineskin中使用mac的中文輸入法

在使用Mac時,有些一定要用widnows打開的程式,再透過virtualbox或雙系統再打開,不僅麻煩又吃資源,這個時後wine就派的上用場了

wine在這裡可不是指葡萄酒,
wine(Wine Is Not an Emulator) 是一個可以讓unixlike的作業系統執行windows程式的工具,在這裡一定要強調,它,不是模擬器,它是在其他作業系統,建立windows程式需要的環境,來讓它們可以執行。

安裝的方法下次再來說明,現在要提的是,上次在Mac安裝了wineskin,結果不能使用Mac本身的中文輸入法或是有時會crash的問題(當然crash的話,很有可能還有其他的問題)

解決方法很簡單,找到需要修正的wineskin程式,點右鍵選擇顯示套件內容。


會有Contents、drive_c、Wineskin,執行Wineskin

點擊Set Screen Options
點擊Use Mac Driver instead of x11

點Done完成後,再執行程式即可。

「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」SSH連線時錯誤


會出現這個錯誤,
是因為電腦中對這個伺服器的儲存的認證不符,
通常原因是伺服器重灌了

解決方法就是把原本儲存的認證刪除即可
ssh-keygen -R x.x.x.x
x.x.x.x 就是伺服器的ip或網址
Original contents retained as /your path/.ssh/known_hosts.old
就著就可以重新連線了。 

這次來談談Mysql吧 有關子查詢

mysql的子查詢,其實非常的方便,
在這裡,我想談的是接在From之後的子查詢
有點像是臨時表的運用

table name: test
---------------------------
|    key     |     value    |
|      a       |        1       |
|      b       |        2       |
|      c       |        3       |

table name: test2
---------------------------
|    key     |     value    |
|      a       |        3       |
|      b       |        4       |
|      c       |        5       |
|      d       |        6       |
|      e       |        7       |

一般來說,正常的查詢,是

select * from test

這時後可以做一個修改,可以得到相同的結果

select key,value from(
    select key,value from test
) as testtable

基本上,結果是一樣的,還有一個重點是後面的 「as testtable」設定別名是必要的,否則會出現錯誤。

假設,想要從test和test2同時取出資料又想要針點相同的key做group算總合時,一般使用union將兩個表做連結是做不到的,會分成兩筆資料,這個時後,就可以用剛剛的做法。

select k,sum(v) from(
        select key as k,value as v from test
        union all
        select key as k,value as v from test2
) group by k

這裡特別使用別名方式來說明
最外層的select欄位名,需要和子查詢的相同,而union本身,兩組甚至三組以上的select,欄位名與位置也必需相同。
而這種方式,可以對多組union去做order排序,只要在最外層做排序即可。

select k,v from(
        select key as k,value as v from test
        union all
        select key as k,value as v from test2
) order by k
而最外層的select欄位,並不一定要完全跟子查詢的欄位數完全相同,也可以只查某個欄位。只要外層的
select v from(
        select key as k,value as v from test
        union all
        select key as k,value as v from test2
) order by k

這次來談談Mysql吧 有關基本語法select、insert、update、delete

以資料庫來說,最基礎的,就是select、insert、update、delete
幾乎所有關聯式資料庫都是相同的語法,只有部分是該資料庫特殊的功能
首先最重要當然是要讀出資料

Select

select基本語法就是
select * from tablename
*代表的是所有欄位,但真的在撰寫程式時,較不建議這樣用
因為假如原本有4個欄位,後來因為不足的關係,
再追加了欄位,這時後程式部分,可能就會出錯。

接著假如要追加選擇的條件
就是在後面加上where
select col1,col2,col3 from tablename where col1>10
至於條件怎麼加,就要該資料是什麼格式了
如果是數字就可以大於小於等於
如果是文字,就可以比對完全相同,或用like加上%比對前後(這部分會在下次說明)
col1="xxxx"
col1 like "xxx%"
col1 like "%xxx"
col1 like "%xxx%"

再來要寫入資料

Insert
Insert into tablename (col1,col2,col3) values (value1,value2,value3)

這部分要注意的就是欄位名稱一定要一樣,對應的值的位置和數量要一樣

接著就是要更新資料

update
Update tablename set col1="xx",col2="xx",col3="xx" where col="x"
更新的話,就是看需要更新什麼哪個欄位的資料,
當然同樣也能用where加條件


最後就是要刪除資料

delete
delete from tablename where col1="xx"
刪除資料部分,看需要刪除的是哪個表,
且一定要加上條件,否則,會將全部資料刪除


[apple] Mac Os 一定要學會的 關閉自動更正文字



在用mac的時後,
有時後會有個惱人的功能(當然會不會影響使用就要看個人了),
自動更正拼字功能,會自動幫你依某種語言將字更正,
但常常反而覺得有點多餘。
至於怎麼關閉呢。

打開系統偏好設定→選擇語言與地區

再打開鍵盤偏好設定→上方標籤選擇文字
接著把自動更正拼字的勾勾取消





JAVA、javascript、PHP 四捨五入函式

JAVA


Math.round()

JavaScript

Math.round();

PHP


round()


用法上,都是一樣的,
都是取到整數,
如果希望要四捨五入到小數點後一位或後幾位
如果是一位就先乘10
二位的話乘20
三位乘30,然後一此類推

再使用round函式,最後再將結果除剛剛的數值,就可以了。

EX:

129.11134566

如果要四捨五入到整數

round(129.11134566)

小數點後一位

round(129.11134566*10)/10 結果是 129.1

後兩位

round(129.11134566*100)/100 結果是129.11

發票稅率試算


此為簡易的稅率試算,請輸入「含稅總金額」與「商品數量」。

輸入金額與數量:
含稅總金額:
商品數量:

試算結果:
商品單價:
稅金:
未稅金額:
總金額:

php framework slim 3.0 安裝

php framework slim 3.0的安裝方法,其實非常的簡單
主要麻煩在於,需要先安裝composer,這部分會再下一篇做說明
首先在想要放置的位置,新增一個資料夾,
例如,我希望我的網址是 http://xxx.xxx.xxx/api
那麼我就在網頁的根目錄新增一個 「 api 」的資料夾

假設根目錄的位置,在C:/website
那麼就在c:/website中新增一個api資料夾
路徑是 c:/website/api

接著打開終端機

先進入剛剛的api資料夾
接著輸入

composer require slim/slim "^3.0"

就會開始安裝

如果還需要使用view的部分,則還需要安裝

composer require slim/php-view

安裝完後,就可以開始使用

[apple] Mac OS 一定要學會的 更改螢幕截圖的路徑


相信很多人常使用「Command+shift+4」螢幕截圖的功能,但常常最後的結果就是這樣↓


滿滿的螢幕截圖在桌面。

如果不希望這樣,可以在任意位置新增一個資料夾,
在這裡假設我們在桌面新增一個「快照」資料夾。

首先打開終端機


輸入 
defaults write com.apple.screencapture location ~/Desktop/快照/
按下enter結束之後,
再輸入
killall SystemUIServer

當然還是要再按Enter,結束後,未來的截圖,都會在那個資料夾裡。

php framework slim3.0 在 nginx在非根目錄時的設定

依官網的設定

server {
    listen 80;
    server_name example.com;
    index index.php;
    error_log /path/to/example.error.log;
    access_log /path/to/example.access.log;
    root /path/to/public;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        fastcgi_index index.php;
        fastcgi_pass 127.0.0.1:9000;
    }
}
但這個時後問題來了,
如果將slim安裝在非根目錄時就會失效。

解決辦法很簡單

上面的設定中,在針對根目錄的設定如下
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
這部分的設定很重要,在每個希望安裝slim的位置都需要設定
就像apache在對每個目錄設定的.htaccess檔案的意思一樣

例如,我的根目錄不安裝slim,但我希望/manager、/api這兩個目錄要安裝
就要對這兩個目錄做設定
    location /manager/ {
        try_files $uri $uri/ /manager/index.php$is_args$args;
    }
    location /api/ {
        try_files $uri $uri/ /api/index.php$is_args$args;
    }
這樣,就可以開始使用了

[solve] Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}

[Mon Mar 14 20:30:58.604544 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
[Mon Mar 14 20:30:58.605009 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Mon Mar 14 20:30:58.605221 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_RUN_USER} is not defined
[Mon Mar 14 20:30:58.605451 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_RUN_GROUP} is not defined
[Mon Mar 14 20:30:58.605779 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.621166 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.621911 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.622061 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.622271 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.622404 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.622624 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.622755 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.623064 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.623228 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.623428 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.623561 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.623768 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Mar 14 20:30:58.623919 2016] [core:warn] [pid 12025] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf:

Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}

解決辦法其實很簡單
請直接使用  service apache2 start 來啟動apache



[apple] Mac OS 一定要學會的 設定Finder側欄選項


用Mac電腦的時後,有時後可能會不小心把Finder側欄的選項移除,當然還是可以設定讓它顯示,方法很簡單。


點左上角Finder選項,點擊偏好設定。


接著點上方選項「側邊欄」,可以看到可以設定喜好項目、共享、裝置、標記內中的選項是否要顯示。






[apple] iPhone Line的有趣小功能: 簡易查看訊息(不會變已讀喔!)





最近友人在用iPhone的Line的時候,
發現了一個很有趣的小功能。
測試了幾支手機,發現這是在iPhone6s 才有的功能。

在訊息列表,隨便找一個訊息長按



這時會顯示該聊天內容,注意,手指不要放掉,
會發現,請注意下方圖片的紅色箭頭處,後方是模糊的。
且會顯示最新的幾則訊息,
接著放開手指,簡易訊息顯示就結束了。


[apple] Mac OS 一定要學會的 設定macbook三指移動



最近,幾個好朋友團購了三十幾台的13吋macbook air,至於價錢,是秘密,嘿嘿。

接著進入正題,大家都知道macbook的觸控板功能很強,結果新的機器一來,卻發現觸碰板的設定裡面,找不到三指移動視窗的選項。

其實選項是在輔助使用裡面,打開系統偏好設定,找到「輔助使用」,打開後,左邊的選項滑鼠與觸控式軌跡板。

下面有個觸控式軌跡板選項。
會看到有個啟用拖移的選項,點擊後可以選擇

當然,也可以調整,雙指在捲動視窗的速度與要不要有慣性。



[FACEBOOK] 如何快速下載Facebook影片




先找到影片的網址
點文章的時間就可以進入影片的頁面



找到網址後,把原本的www,改成m,進入手機版網頁
這個時後,Facebook會把影片改為html5的播放模式
再按下播放後,就可以右鍵另存影片了!!!


www 改成 m


一定要先播放影片

接著就有下載影片的選項了。

[apple] Mac Os 一定要學會的 安裝Command-line程式,在mac上安裝ffmpeg

在mac上安裝ffmpeg,其實很簡單
首先在官網 http://ffmpegmac.net/ 下載最新版本

解壓縮後,將檔案複制到 /usr/sbin/

即可在終端機執行 ffmpeg

MacOS在10.11.0之後,使用者就算使用sudo也無法寫入/usr/sbin/

最簡單當然就是直接透過路徑使用ffmpeg
例如:  /Users/Shiaukai/Desktop ffmpeg -i xxx.mpg xxx.mp4

但使用上,就稍微比較麻煩
另一種方式,就是新增一個資料夾,專門放另外要使用的command程式
例如,我是放在/Users/Shiaukai/bin

建好之後,把ffmpeg的三個檔案放進剛剛建立的bin資料夾

接著打開終端機,修改/etc/paths的內容,新增剛剛的路徑

$ sudo vim /etc/paths 
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Users/Shiaukai/bin ← 加入這行

不再限制您的多媒體創作:使用NDI快速傳輸、處理和編輯高品質的視訊和音訊。

NDI(Network Device Interface)是一種基於IP網絡的視訊和音訊傳輸協議,它可以讓您在同一網絡上的不同設備之間傳輸高品質的視訊和音訊。使用NDI,您可以將視訊和音訊直接傳輸到其他設備上,而不需要使用任何額外的硬體。 以下是使用NDI的步驟: 下載並安裝ND...