2014年12月16日 星期二

html5 之 viewport 與 X-UA-Compatible

自從接觸 bootstrap 以來,一直對 viewport 與 X-UA-Compatible 這兩個 meta 設定不是很清楚,找了兩篇文章,終於搞清楚囉。

Viewport標籤優化 – 響應式網頁設計

【HTML教學】X-UA-Compatible設置IE兼容模式

2014年11月30日 星期日

Angular Datetime Picker

Home Page and Demo

最近需要用到日期時間的挑選器,試了一下 HTML5 的 input type="datetime",效果不滿意,找到這個 for angularjs 的 directive,還算可以接受啦,使用上也不會太複雜....

1. 下載 moment.js,多國語系應該是靠它啦,我是下載 moment+locales 的 min 版本

官網

2. 載入 css 與 js
<link href="libs/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="libs/angular-bootstrap-datetimepicker/css/datetimepicker.css" rel="stylesheet">

<script src="libs/angular-bootstrap-datetimepicker/js/moment-with-locales.min.js"></script>
<script src="libs/angular-bootstrap-datetimepicker/js/datetimepicker.js"></script>

3. angular.module DI 加入 ui.bootstrap.datetimepicker

4. view 加入 directive

細節可以參考 github

2014年11月20日 星期四

ubuntu 14.10 安裝 ionic

1. 安裝java sdk
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

確認版本
java -version

 2. 安裝 Apache Ant

http://ant.apache.org/bindownload.cgi

下載後解壓縮至家目錄,原資料夾名稱太長,所以更名為 apache-ant

3. 安裝 Android SDK

http://developer.android.com/sdk/index.html

下載後解壓縮至家目錄,原資料夾名稱太長,所以更名為 adt-bundle-linux

4. 設定 PATH

vim .profile ,在最後一行:
ANDROID_HOME="$HOME/adt-bundle-linux/sdk"
PATH="$HOME/apache-ant/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"

存檔後執行:
source .profile

5. 安裝nodejs

原套件庫中的版本較舊,改從 PPA 安裝
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

6. 安裝 cordova
sudo npm install -g cordova

如果有問題,執行:
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0

7. 安裝 ionic
sudo npm install -g ionic

8. 執行 eclipse,開啟 Android SDK Manager,安裝 Android 4.4.2(API 19)(ionic 預設採用)

如果執行 eclipse 時遇到 libstdc++.so.6 cannot open shared object file 的問題,試著執行:
sudo apt-get install lib32stdc++6 lib32z1 lib32z1-dev

9. 新增 ionic project,加入 android platform
ionic start new_project_name
cd new_project_name
ionic platform add android

若 ionic platform add android 時出現以下錯誤:
Error: ANDROID_HOME is not set and "android" command not in your PATH.

則檢查 .profile 中是否有設定 ANDROID_HOME

-------------------------------------------------------------------------

收工啦!!

下面這一篇文章有一支 sh 檔,有興趣的可以試試看,不過軟體版本可能要自己變更一下喔。

http://blog.nraboy.com/2014/09/install-android-cordova-ionic-framework-ubuntu/

ionic + laravel 實作 android gcm 推播

這次實作 android 部份使用 ionic + cordova + ngCordova,gcm server 部份使用 laravel 4.2 + MySQL,話說這還是我第一次使用 ionic 呢........

ionic的部份:


新增一個空白專案
ionic start gcm-client blank
cd gcm-client
ionic platform add android

安裝 Push Notification Plugin for iOS and Android
cordova plugin add https://github.com/phonegap-build/PushPlugin.git

下載 ngCordova ,解壓縮後將 ng-cordova.js 或 ng-cordova.min.js 放到 www/js/ 下,並在 www/index.html 中引入(cordova.js 之前)
<script src="js/ng-cordova.min.js"></script>
<script src="cordova.js"></script>

2014年11月16日 星期日

hybridauth in laravel:Facebook與Google篇

前一篇新北市NTPCOpenID provider是額外新增的,Facebook與Google之provider已內建在hybridauth中,只需啟用並填入申請到之 app id 和 secret 即可,連至Facebook與Google認證之URL query string中provider改為facebook與google(例如:http://your_site_url/login/social?provider=facebook或http://your_site_url/login/social?provider=google

2014年11月15日 星期六

hybridauth in laravel:新北市OpenID篇

hybridauth支援許多第三方帳號,如很多人用的Google、Facebook,以及各縣市使用的OpenID,這篇文章示範如何整合新北市的OpenID當作帳號來源。

Demo:


http://oyanix.com/opensource/hybridauth/social_hub/login.php

環境:



  • composer

  • Laravel 4.2

  • hybridauth 2.3.0-dev

  • laravel專案名稱為hybridauth-test,並在web server建立hybridauth-test連結到hybridauth-test/public


開工啦!

2014年11月3日 星期一

ui-router查詢當前的state name

currentStateName = $state.$current.self.name;

currentStateName = $state.current.name;

$state.$current 物件包含的內容較詳細,除了 self 為當前 state 的物件之外,還包含了其上層 state 物件,應該是從根 state 開始,其中 $state.$current.path.length 為當前 state 之深度。console.log 輸出如下:
I {self: Object, resolve: Object, toString: function, parent: I, data: undefined…}
data: undefined
includes: Object
locals: I
navigable: I
ownParams: Array[0]
params: Array[0]
parent: I
path: Array[2]
resolve: Object
self: Object
toString: function (){return this.name}
url: n
views: Object
__proto__: Object

 

$state.current 物件只包含當前 state 物件而已,colsole.log 輸出如下:
Object {url: "/home", templateUrl: "partial/home.html", controller: "HomeCtrl", name: "index.home"}

 

CSS 讓圖片自動縮放

.container > img {
width: auto;
height : auto;
max-height: 100%;
max-width: 100%;
}

用一個 div ( class="container" ) 包住一個 img,可視需要加入min-width、min-height,除百分比也可以用像素。

參考資料:http://miko2.cglandmark.net/115/keep-image-correct-ratio-in-html-with-css/

另一篇的方法應該也可以:[CSS]讓圖片自動適應div大小

2014年10月17日 星期五

教具:百數表-找100以內的質數

接下來要用到,本來要用 AMA 作,因為物件太多,所以改用 angular 寫,果然用程式控制方便多了.....

http://192.168.1.200/~t301000/math/100prime/

數字 1~100 點一下可以突顯該數字,再點一下(和前一下隔久一點)取消突顯,連點兩下可隱藏該數字,再連點兩下又可顯示該數字

2014年10月12日 星期日

利用 .desktop 檔開啟終端機執行指令後維持終端機開啟

有夥伴問我,如何在利用 .desktop 開啟終端機執行指令之後,使終端機維持開啟狀態,不會自動關閉?拜了一下 google 大神,找到一個方法。

http://askubuntu.com/questions/436891/create-a-desktop-file-that-opens-and-execute-a-command-in-a-terminal

方法說穿了其實很簡單,在要執行的指令之後再執行 $SHELL 即可。例如:
Exec=gnome-terminal -e "bash -c 'echo hello;$SHELL'"

雙引號內有兩個指令,一個是原來要執行的指令,利用分號( ; )串接 $SHELL 就搞定啦!!其實就是基本的 command line 連續執行指令的用法而已啦。

2014年10月5日 星期日

了解AngularJS的$apply()與$digest()

一直搞不清楚$apply()和$digest()這兩個東東,看完下面這篇文章總算有點頭緒了。

http://www.sitepoint.com/understanding-angulars-apply-digest/

Laravel 中新增額外的例外處理

Laravel 4.2

狀況:

利用 id 找 model 時,找不到時會拋出 ModelNotFoundException 的例外
$user = User::findOrFail($id);

想針對此例外做處理,如回應自訂錯誤訊息給前端顯示。

作法:

為了方便,新增 app/errors.php 存放想要新增的例外處理程序,可以免除在各個 controller 中 try catch 的麻煩。

加入下列程式碼,注意 name space 的路徑
/**
* 處理找不到 model 的例外
*/
App::error(function(Illuminate\Database\Eloquent\ModelNotFoundException $exception, $code)
{
Log::error($exception); // 記錄到 log 檔
$result = array('status' => 'error', 'msg' => 'model not found');
return Response::json($result);
});

在 app/start/global.php 中引入(我是加在檔尾)
// 引入額外的例外處理
require app_path().'/errors.php';

參考資料:
http://laravel.tw/docs/4.2/errors#handling-errors
http://stackoverflow.com/questions/23938061/using-modelnotfoundexception

2014年10月4日 星期六

phpmyadmin 在 win8 下無法查看資料表結構的暫時解法

在 win8 下(聽說 win7 也是),只要一查看資料表結構,就會出現「javascript 發生嚴重錯誤」的訊息,查了一下,找到一個暫時解決的方法。

修改檔案:

phpMyAdmin\libraries\Util.class.php

搜尋
return strftime($date, $timestamp);

應該只有找到一個,註解掉,改成
return date("Y-m-d: H:i:s" , $timestamp);

存檔收工!

看來又是編碼惹的禍,微軟啊,還要堅持 big5 嗎?

參考資料:
http://www.pigo.idv.tw/archives/2466

2014年9月27日 星期六

laravel 中重導向到外部網址

環境:Laravel 4.2

要重新導向到 laravel app 之外的外部網址

因為我是在 controller 中處理,因此在 controller 中加入 away 函數:
public function away($path, $status = 302, $headers = array())
{
return $this->createRedirect($path, $status, $headers);
}

在需要重導向時:
Redirect::away('external_url');

external_url 為欲導向前往的目標網址

參考資料:

http://stackoverflow.com/questions/18626492/laravel-4-redirect-to-a-given-url

2014年9月17日 星期三

解決 autofocus 失效的問題

最近發現在 view 中設定為 autofocus 的文字輸入框,常常只有在第一次時有作用,找了幾天終於找到解法,目前看起來是OK了

html:
<input type="text" autofocus="autofocus" />

angularjs controller:
angular.element(document).ready(function() {
$('input[autofocus]:visible:first').focus();
});

資料來源:
http://devblog.com/archives/195

2014年9月14日 星期日

$timeout 與 $interval

$timeout( functionA ,  5000 );

5秒後(5000 ms)執行 functionA,只執行一次
$interval( functionA , 5000 );

每5秒執行一次 functionA,持續執行
$interval( functionA , 5000 , 10 );

每5秒執行一次 functionA,執行 10 次

---------------------------------------------------------------------------

兩者均會回傳一個 promise,可用來取消
var promise = $timeout( functionA ,  5000 );
$timeout.cancel( promise );

取消與傳入之 promise 有關的工作,結果會回傳一個 boolean,如果該工作尚未被執行且成功取消,則回傳 true
var promise2 = $interval( functionA , 5000 );
$interval.cancel( promise2 );

取消與傳入之 promise2 有關的工作,結果會回傳一個 boolean,如果該工作成功取消,則回傳 true

---------------------------------------------------------------------

官方API文件:

$timeout

$interval

2014年9月12日 星期五

2014年9月7日 星期日

建立private git server

Server 端(Ubuntu)操作:

1. 安裝 git-core
sudo apt-get install git-core

2. 新建 bare repository 目錄(假設位於 /home/user/ 下)
mkdir /home/user/myproject.git
cd /home/user/myproject.git
git init --bare

user 必須可以 ssh 進入 server

開發者端操作:

假設本地端的專案目錄是 myproject

1. 新建(或重建)本地端 git repository
cd myproject
git init

會在 myproject 下新增 .git 目錄

2. 設定 git user 資訊,此步驟非必要
git config --global user.email "電子郵件信箱"
git config --global user.name "姓名"

--global 代表全域設定,如果省略 --global ,則每個專案都要設定一次

3. 加入 remote 設定
git remote add origin user@192.168.0.1:/home/user/myproject.git

192.168.0.1 為 server ip,user 為 server 的使用者帳號,視實際狀況替換之

origin 為一識別名稱,習慣上常用 origin

4. 將目前專案的檔案納入 git 進行版控
git add .

5. 提交變更
git commit -m "說明文字"

6. 將本地端 repository 送到 git server
git push origin master

master 為 branch 名稱

第二次以後 git push 即可

------------------------------------------------------------------

以上只簡單列出流程,方法不只一種,有興趣進一步了解的可以參考 git 官方手冊或 google 一下教學囉

sublime text 3 可以安裝相關 package:

2014年7月26日 星期六

moodle整合ntpc openid login

記錄下來,以免太久沒作又忘了 ^_^

1、裝好模組

2、依新北市所用欄位調整 auth/gauth/index.php

3、修改 moodle 登入表單( login/index_form.html ),加入 openid login 連結

4、修改 auth/gauth/allow_school.php,將允許登入之學校名稱(如:育林國中)加入陣列中

參考資料
http://plog.hlps.tc.edu.tw/post/1/9060

angularjs controller 之間的資料共享

1、 parent - child

parent 有而 child 沒有的,child 可透過繼承取得,也可透過 $scope.$parent 取得

2、獨立的 controller 之間可用 service 的方式達成

in service:

$rootScope.$broadcast('something' , args... );

字串 something 代表發生了某事件

args 為欲傳送之資料,可有多個,可有可無

in controller:

$scope.$on('something' , listener );

監聽某事件( something )

listener 為事件發生時的處理函式,格式為:

function(event, args...)

event 為一個物件,不知道怎麼用就沿用吧(我也不會用 ^_^)

args 接收 $rootScope.$broadcast 傳送過來的參數

參考資料:

http://www.ramandv.com/blog/angular-js-sharing-data/

https://docs.angularjs.org/api/ng/type/$rootScope.Scope

2014年7月25日 星期五

Angular Dialog Service 筆記

可以作到類似彈出式視窗的效果

筆記:

https://www.evernote.com/shard/s78/sh/9d190331-de13-4970-98eb-ebdcc74f4eab/98b9121841f7f59cad3b86df97dddb39

參考資料:

Redux: Creating an Application Dialog Service using AngularJS, Twitter Bootstrap & Angular UI-Bootstrap

https://github.com/m-e-conroy/angular-dialog-service

angularjs 之 $resource

透過 $resource,前端 angularjs 可以很方便的透過 api 與後端如 php 溝通,值得花時間了解一下。

官網文件

這篇文章關於 resource url 的規劃滿值得參考的,較有彈性。

Using RESTful Controllers In An AngularJS Resource

angular.forEach

迭代處理物件或陣列

angular.forEach(obj, iterator, [context]);

obj 要迭代處理的物件或陣列

iterator 為一個 function,用來迭代處理 obj。帶有兩個參數,第一個參數( value )為物件屬性值或陣列元素,第二個參數( key )為物件屬性名稱或陣列索引,沒用到的話可省略。

context 選擇性參數。若有(例如:tmp)則 iterator function 中 this 即代表 tmp

範例:從陣列中取出部份元素
http://jsbin.com/yesip/1/edit

官網文件

Javascript 常用的陣列(Array)操作大全

最近常需要操作 javascript array,找到一篇不錯的文章,中文的呦 ^_^

Javascript 常用的陣列(Array)操作大全

2014年7月24日 星期四

Checklist-model:AngularJS directive for list of checkboxes

可用來處理 checkbox 的複選。

angularjs 一個 checkbox 連結一個 ng-model,一個 model 對應到一個值;但實際使用時希望一個 model 可以儲存多個選項的值(通常以陣列形式)。

用法:

在 app 的宣告中注入相依。

ex:
var app = angular.module("app", ["checklist-model"]);

在 <input type="checkbox"> 中以屬性方式使用之。

以 checklist-model 取代 ng-model,以 checklist-value 設定要回傳的值。

ex:
<label ng-repeat="role in roles">
<input type="checkbox" checklist-model="user.roles" checklist-value="role"> {{role}}
</label>

其中 user.roles 為 user 物件的 roles 屬性,為陣列,儲存值的地方。

詳細範例見參考資料。

參考資料:

http://vitalets.github.io/checklist-model/

angular.copy

語法:

angular.copy( source, [destination] );

source 應該是物件或陣列,但也可以是基本物件、 null、undefined,copy 的來源。

destination 非必要,copy 的目的地。若未提供則產生新物件或陣列;若有提供,則必須與 source 相同類型,且既有的陣列元素或物件屬性會被刪除。

source 若不是物件或陣列(包含 null、undefined),則會直接回傳 source

若 source 和 destination 是同一物件,則拋出例外。

參考資料:

官方文件

javascript 遞迴處理陣列

陣列的 map 方法,以 callback function 遞迴處理陣列的每個元素,產生新的陣列。

參考資料:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

2014年7月21日 星期一

用 vagrant 建置 Laravel 測試環境

vagrant box add ubuntu/trusty64

mkdir vagrant_laravel_project

cd vagrant_laravel_project

vagrant init ubuntu/trusty64

vi Vagrantfile

# config.vm.network "private_network", ip: "192.168.33.10"

去掉註解

config.vm.network "private_network", ip: "192.168.33.10"

vagrant up

vagrant ssh

sudo apt-get update

sudo apt-get install apache2 mysql-server php5 php5-curl php5-mcrypt

sudo a2enmod rewrite

sudo php5enmod mcrype curl

vi /etc/apache2/apache2.conf

AllowOverride None 改為 AllowOverride All

sudo service apache2 restart

sudo ln -s /vagrant/laravel_project/public /var/www/html/laravel

瀏覽器 http://192.168.33.10/laravel

vagrant 參考資料

這兩天測試了一下 vagrant,的確不錯啊!

不過有一點小問題,我的 host 是 ubuntu 14.04 x64,guest 是 ubuntu server 14.04 x64,在 guest 中/vagrant 下針對目錄執行 chmod 時似乎沒作用,要從 host 中對應的目錄下執行才有效。

Windows host 倒是沒這個問題,反而是 ssh 連線部份麻煩一點 ....

官網文件

[教學]使用Vagrant練習環境佈署

[教學] 客製化 Vagrant Box

用VM才是好的工程師-vagrant篇(入門版)

A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩

Vagrant tutorial

在 Windows 用 Vagrant 快速建立你的 Linux 環境

box list:


https://vagrantcloud.com/discover/featured

http://www.vagrantbox.es/

multi-machine 設定範例


解放開發環境建置之原罪

[教學]使用Vagrant練習環境佈署

官方文件

Windows 下 ssh 的設定:


http://docs-v1.vagrantup.com/v1/docs/getting-started/ssh.html

http://stackoverflow.com/questions/9885108/ssh-to-vagrant-box-in-windows

自製 box


官方文件

將現有的 vm 狀態打包成 box

如何制作一个vagrant的base box

shell scripts for provisioning


Vagrant debian shell

Installing MySQL, PHP and Apache

vagrant-shell-scripts(ubuntu only)

2014年7月10日 星期四

用 git 將本地端的 Laravel application 部署到 OpenShift

在 OpenShift 建好一台 vm for Laravel 4.2 application 之後,利用 git 部署上去很方便的。

1、先安裝好 RHC Client Tools

2、 git pull 專案,git_clone_url 請換成專案的 clone url
git remote add upstream -m master git_clone_url
git pull -s recursive -X theirs upstream master

3、 git push

稍等一下就好啦。

參考資料:

https://www.openshift.com/quickstarts/laravel-41-quickstart

https://www.openshift.com/developers/rhc-client-tools-install

2014年5月7日 星期三

PHP 查詢 extension 是否啟用

要查詢某個 extension 是否已啟用,可於 command line 執行:

php --ri extension_name

例如:查詢 gd

php --ri gd

如果未啟用,可執行以下指令啟用之:

sudo php5enmod extension_name

例如:啟用 gd

sudo php5enmod gd

2014年4月30日 星期三

snapper 列出快照與修改快照

列出快照:

snapper list

snapper -c 組態檔 list

清單中第二個欄位為快照編號,編號 0 代表目前檔案系統狀態

修改快照:

常用的應該是修改快照描述吧....

snapper modify -d "快照描述" 快照編號

snapper -c 組態檔 modify -d "快照描述" 快照編號

=================================

詳細說明請自行 man 一下囉~~

2014年4月28日 星期一

snapper 建立快照

以下參數說明只列出較可能用到的,完整說明請自行 man 囉

snapper 全域參數 create 指令參數

選用之全域參數:

-c 組態檔 ==> 指定組態檔

-v ==> 增加詳細度

選用之指令參數:

-d "描述" ==> 對於快照之描述

-p ==> 顯示建立之快照編號

--command 指令 ==> 建立 pre 與 post 快照,之間執行指令

2014年4月27日 星期日

snapper 概念筆記

以下只紀錄我目前理解的部份:

  • 支援之檔案系統為 btrfs、ext4、lvm,一般常用的是 ext4,但 ubuntu 目前的 kernel 似乎不支援,所以我採用的是 btrfs

  • 快照似乎是以分割區為單位,每個分割區要先建立組態檔才能執行快照的操作,組態檔存放路徑在 /etc/snapper/configs 目錄下

  • 操作 snapper 指令時,要以 -c 指定組態檔,沒有的話則是針對 root(/)分割區進行操作

  • 快照分為三種類型:pre、post、single。pre 與 post 是成對的,分別代表變更檔案系統 之前 與 之後 的快照;single 則是獨立的快照,與其他快照沒什麼關聯。對於檔案系統而言,三種類型並無差別

  • 除了手動快照外,還可以自動快照(每小時),組態檔中的 TIMELINE_CREATE="yes",配合快照自動清理機制可保留一定數量的快照

  • 3種自動清理機制,依據組態檔之設定於 daily cron-job 中執行

    • number:達到一定數量後刪除舊快照

    • timeline:刪除舊快照,但保留一定數量的hourly、daily、monthly、yearly 快照

    • empty-pre-post:刪除 pre / post 沒有差異的成對快照



  • 過濾器(filter):不被還原的檔案清單,/etc/snapper/filters 目錄下檔案中每行代表一種檔案樣式(pattern)。已執行過快照的檔案或目錄不會排除。(20140427測試時自訂清單沒有效果


參考資料:

http://snapper.io/manpages/snapper.html

http://snapper.io/manpages/snapper-configs.html

http://snapper.io/tutorial.html

https://kuther.net/blog/using-opensuses-snapper-archlinux-manage-btrfs-snapshots

https://www.suse.com/documentation/sles11/singlehtml/book_sle_admin/book_sle_admin.html#cha.snapper

snapper 安裝與組態檔管理

snapper為 linux 下的檔案系統快照工具,ubuntu 14.04 已收錄於套件庫中

官網:http://snapper.io/

測試環境:

ubuntu 14.04 x64,/ 與 /home 為獨立分割區,filesystem 均為 btrfs

安裝:

apt-get install snapper

ubuntu 下解決 Sublime Text 3 無法輸入中文的問題

OS:ubuntu 14.04 x64

sublime text 3 build 3059

https://www.sinosky.org/linux-sublime-text-fcitx.html

sublime-imfix(內含 sublime-imfix.c 及編譯完成之 libsublime-imfix.so)

下載解壓縮,執行 fix.sh

(Add@2018.01.01) lyfeyaj/sublime-text-imfix: Fix Sublime Text 3 Input method problem (CJK words) under Ubuntu

PS: 下面這個是由 deepin 內商店版本抽出來的檔案

sublime-fix-get-from-deepin.zip

2014年2月11日 星期二

Ubuntu 13.10 (x64) 下安裝 Juniper Network Connect

新北市的 VPN client 採用的是 Juniper Network Connect,似乎只能在32位元版的 linux 下安裝,我在 Ubuntu 13.10 64位元版下安裝失敗,找了一下,雖然找到解決方法,不過實測後發現還是有些小問題啦....

OS:Ubuntu 13.10 x64

桌面:Unity

參考資料:

http://imsardine.simplbug.com/note/juniper-networks/network-connect.html

新北市的 Realm 是 TPC_LDAP_Realm

問題:

1. 中斷 VPN 連線之後要重新啟動網卡,否則網路會不通

2. 重啟網卡時建議使用 GUI 界面,我測試時從終端機下指令會當

停用網卡


unity_restart_network_01


啟用網卡


unity_restart_network_02



--------------------------------------------------------

相關網頁:

解決瀏覽器無法執行JAVA的問題

http://wdpsestea.blogspot.tw/2013/12/java.html

2014年1月28日 星期二

轉換 tod 檔為 mpeg 檔

手上有一些影片是用 JVC 的 DV 錄下來的,格式為 tod,在 ubuntu 下要匯入 openshot 時,有出現警告訊息,大意是建議先轉成其他格式,雖然不轉檔一樣可以剪輯,可是匯出的 mp4 檔怪怪的,像是快轉一樣。

試了幾種方式,效果比較好的有以下兩種:

(1) FF Multi Converter:GUI 界面,有中文

sudo add-apt-repository ppa:ffmulticonverter/unstable
sudo apt-get update
sudo apt-get install ffmulticonverter


官網:https://sites.google.com/site/ffmulticonverter/home


(2) tod2mpeg:終端機下執行,優點是速度較快,配合 tod2mpeg-multi 可批次轉檔,似乎也可以用來轉 mod 檔

下載:http://www.mattgrill.com/2009/03/convert-jvc-tod-to-mpeg-video-tod2mpeg/


其實都是透過 ffmpeg 轉檔的啦!

2014年1月16日 星期四

圓心角、弦、弧

http://sdrv.ms/1dvFT5G

點切圓作圖

http://sdrv.ms/1dvFDnp

圓周角

http://sdrv.ms/1dvFoIW

圓冪性質

http://sdrv.ms/1dvF8tg

弦切角

http://sdrv.ms/1dvERqv

圓內角與圓外角

http://sdrv.ms/1dvECvn

多邊形的外心

http://sdrv.ms/1dvEsEe

圓內接四邊形

http://sdrv.ms/1gKtdpE

多邊形的內心

http://sdrv.ms/1gKsR2i

公切線

http://sdrv.ms/1gKsipn

外心

http://sdrv.ms/1gKrEYY

內心

http://sdrv.ms/1gKq895