2016年12月27日 星期二

[Startup] 如何設立一間有限公司?

  相信各位在創業的過程中一定會遇到設立公司的這道關卡。隨便上網搜尋一下,代辦費用最少也要兩千多元,創業維艱,任何的一筆開銷都要斤斤計較。因此,有無必要產生這筆開銷,就讓我們繼續看下去⋯⋯

設立公司到底難不難?答案是:一點也不!

在此為各位整理設立所需的步驟、資料、時間及費用,看完之後你會發現完完全全沒必要花錢請人代辦!當然,一秒鐘幾十萬上下的人不在此限!XD

STEP I 公司名稱及營業項目查詢

  台灣目前有將近七十萬間的公司行號,你所期待的公司名稱是否與這些已成立的公司行號重複,來這裡查就對惹!除了公司名稱外,你所設立的公司營業哪些項目也需要預查。究竟有哪些營業項目呢?這裡會告訴你答案!

花費時間:想查多久就多久!XD

STEP II 正式申請公司預查

  一旦你發現所期待的公司名稱尚未與目前將近七十萬間的公司行號重複,這時候就要透過正式的流程來保留你預計的公司名稱。

公司名稱及所營事業登預查核定書



花費時間:約 1~3 個工作天,費用:150 元+信用卡或銀行手續費(網路申辦)

STEP III 刻公司大小章

  確定可保留的公司名稱後,接著就要刻公司大小章啦!所謂的公司大小章是⋯⋯公司章(大章,例如:某某有限公司)以及負責人章(小章,例如:某某某)。這一對印鑑相當重要必須妥善保管,後續公司的設立與大小事務都要靠這兩顆印章呢!

花費時間:約 1~2 個小時,費用:250 元(各家收費標準不同,記得要向老闆殺價唷!)

STEP IV 開設公司籌備戶

  每一間公司都必須有自己的戶頭(廢話!),初期是讓股東們將公司的股款匯入至公司帳戶。當股款全數匯入至公司籌備戶的下一個工作日,必須前往籌備戶所在銀行申請「餘額證明」以利後續會計師進行「資本額簽核」的工作!

準備物品:公司大小章、公司名稱及所營事業登預查核定書
花費時間:約 2 個工作天,費用:50 元(申請餘額證明的手續費)

STEP V 會計師資本額簽核

  各位設立公司後不可或缺的好夥伴——會計師,在這個時後出場拉!資本額代表一間公司成立的時候多有錢!(逃~)當然這部分不是公司說的算,是需要會計師簽核政府才會買單的。目前台灣成立公司已無資本額限制,但是在商場走跳多多少少還是會看看這間公司有幾兩重!

準備物品:公司籌備戶餘額證明正本
     銀行存摺封面、印鑑頁、內頁含存款餘額影本
     公司名稱及所營事業登預查核定書
     負責人身分證影本

花費時間:約 3 個工作天,費用:可以多問問幾間會計師事務所!XD

STEP IV 設立公司

  由於本公司設立於台北市,因此設立公司必須前往台北市商業處進行登記!(當然,網路登記也行,不過需要比較長的處理時間)不得不推薦在台北市設立公司的好處:市政府相當貼心的把所有的流程以及必備文件都幫你整理在這裡

花費時間:約 1~2 小時(現場排隊花比較久的時間!囧),費用:1000 元



最後,恭喜各位完成有限公司的設立,晉升老闆一族囉!(菸⋯⋯)

2016年6月30日 星期四

[HTML 5] 如何在網頁中顯示 PDF 型式的檔案?

最近開發專案的過程中,需要將 PDF 型式的檔案顯示於網頁之中。經過一連串的搜尋,發現一個相當簡單的解決方法:利用 Embeddable Google Document Viewer

在要顯示 PDF 型式檔案的 HTML 頁面加入這麼一段程式碼

<iframe src="http://docs.google.com/gview?url=http://YOUR REFERENCE SITE/YOUR PDF FILE NAME.pdf&embedded=true" style="width:100%; height:100%" frameborder="0"></iframe>

Done and it's easy :D

2016年5月30日 星期一

[Facebook, HTML5] 分享至 FB 功能設定

原以為開發分享至 FB 會是相當繁瑣的一件事情,經過 google,沒想到竟是如此簡單!

STEP 1 設定分享內容文字

利用 The Open Graph protocol 設定分享的資訊。

<head>
    <!-- 分享至 FB 的標題 -->
    <metadata property="og:title" content="YOUR_TITLE" />
    <!-- 分享至 FB 的內容敘述 -->
    <metadata property="og:description" content="YOUR_DESCRIPTION" />
    <!-- 分享至 FB 的內容連結 -->
    <metadata property="og:url" content="YOUR_URL" />
    <!-- 分享至 FB 的圖片 -->
    <metadata property="og:image" content="YOUR_IMAGE_URL" />
    <metadata property="og:type" conetnet="website" />
</head>


STEP 2 加入分享至 FB 的連結

<a href="javascript: void(window.open('http://www.facebook.com/share.php?u='.concat(encodeURIComponent('YOUR_URL'))''))">分享至 FB</a>

設定完成,接著就分享內容至 FB 吧!XD

2016年5月26日 星期四

[Django, MySQL] MySQL 中文亂碼問題

為了廣大華人市場,製作中文網站勢在必行!不過卻經常遇到 MySQL 儲存中文資料遇到亂碼的問題,經過一番研究,在此紀錄完整的解決方案。

MySQL 遇到中文亂碼最主要的原因是 CHARACTER SET 不支援中文顯示!

解決這個問題的最佳方案為

設定 CHARACTER SET 為 UTF8,因為 UTF8 支援所有字符!

首先進到 MySQL,查看默認的編碼格式

mysql > show variables like "%char%";

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

我們可以發現,character_set_database 與 character_set_server 皆為 latin1 編碼。

透過下面指令,修改這兩個的預設編碼

mysql > set character_set_database = "utf8";
mysql > set character_set_server = "utf8";

修改後再次檢查編碼

mysql > show variables like "%char%";

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

全數編碼皆改為 UTF8。

到這裡如果已解決中文亂碼的問題,恭喜你!只不過,筆者如果重啟 Apache,會發現character_set_server 預設的編碼又變成 latin1。這時候只好從根本下手,修改 my.cnf 內的設定。

$ sudo vi /etc/mysql/my.cnf

1. 在 [client] 段落裡加入:

default-character-set=utf8

2. 在 [mysqld] 段落裡加入:

character-set-server=utf8
init-connect="SET NAMES utf8"
collation-server=utf8_unicode_ci

3. 在 [mysql] 段落裡加入:

default-character-set=utf8

存檔後重啟 MySQL: $ sudo service mysql restart

這樣就從根本解決 MySQL 中文顯示亂碼的問題囉~




當然,在建立 database 的時候別忘了將編碼設定為 UTF8 唷!XD

mysql > create database YOUR_DB default character set utf8;

2016年4月17日 星期日

[Django] 利用 Gmail 發送 email

由於專案上的功能,必須透過 Django 發送 email 給予前端使用者。不打算自行架設郵件伺服器的前提下,利用 Gmail 進行發送成為解決方案的首選!以下將介紹如何利用 Django + Gmail 發送郵件:

首先,對 Django settings 加入以下設定:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'YOUR GMAIL ACCOUNT'
EMAIL_HOST_PASSWORD = 'YOUR GMAIL PASSWORD'
EMAIL_USE_TLS = 'True'
EMAIL_POST = '587'


接著,就可以透過以下兩種不同程式寫法進行郵件的發送。

方法一:透過 send_mail() 發送

from django.core.mail import send_mail

send_mail('Subject here', 'Here is the message.', 'from@example.com', ['to@example.com'], fail_silently=False)


方法二:透過 EmailMessage 類別發送

from django.core.mail import EmailMessage

email = EmailMessage('Hello', 'Body goes here.', 'from@example', ['to@example.com', 'to2@example.com'], ['bcc@example.com'])

email.send()


就是這麼簡單即可透過 Django 發送 email 惹!

2016年3月31日 星期四

[Python] datetime.time 物件進行時間相加的問題筆記

最近在開發 Python 的時候,遇上一件相當惱人的事情,那就是‧‧‧

該如何對 datetime.time 物件進行時間相加的動作?


曾經嘗試過:

>>> datetime.time(1, 2, 3) + 1
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'.

>>> datetime.time(1, 2, 3) + datetime.timedelta(0, 1)
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'

>>> datetime.time(1, 2, 3) + datetime.time(0, 0, 1)
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'

正當困惑之時,經由谷歌大神指點,發現可以這麼做‧‧‧

1. 先把 datetime.time 轉為 datetime.datetime

>>> import datetime
>>> dt = datetime.datetime.combine(datetime.date.today(), datetime.time(1, 2, 3))

2. 再運用 datetime.timedelta 進行時間相加

>>> dt += datetime.timedelta(0, 1)

3. 最後,取得 datetime 物件中 time 的部分,即為所求。

>>> print dt.time()
01:02:04

2016年3月23日 星期三

[Python] os.path.join(path, *paths) 的問題筆記

今天在撰寫 Python os.path.join(path, *paths) 時遇到一個奇怪的問題:

不管如何 JOIN,所顯示的結果永遠是後面的路徑!


讓我們用下列程式碼做說明:

>>> import os
>>> a = 'path/to/a'
>>> b = '/path/to/b'
>>> print os.path.join(a, b)
/path/to/b


經過一段時間的實驗與偵錯,發現問題出在於 b = '/path/to/b'

原來,os.path.join(a, b) 的 b 不可接受 '/path/to/b' 的這種形式!

以下為實驗結果:

(1) 成功
>>> import os
>>> a = '/path/to/a'
>>> b = 'path/to/b'
>>> os.path.join(a, b)
/path/to/a/path/to/b


(2) 成功
>>> import os
>>> a = 'path/to/a/'
>>> b = 'path/to/b'
>>> os.path.join(a, b)
path/to/a/path/to/b


(3) 成功
>>> import os
>>> a = 'path/to/a'
>>> b = 'path/to/b/'
>>> os.path.join(a, b)
path/to/a/path/to/b/

2016年2月22日 星期一

[Mac, OS X 10.11, Django] 在 OS X 10.11 上安裝 Django 1.8 (How to install Django 1.8 on the OS X 10.11)

  先前曾經介紹如何在 Server 端安裝 Django。不過,身為一位行動開發者,並非永遠身處在擁有網路的環境裡。因此,在 Client 端準備開發環境,並進行不同解決方案的實驗是相當重要的一環。

  筆者所使用的電腦為 Macbook Pro,因此今天要向大家介紹如何在 Mac 上安裝 Django

STEP 1
  Django 是 Python 的 web framework 之一。因此在安裝 Django 之前,必須先安裝 Python。只不過在 OS X 10.11 已內建 Python 2.7,所以我們不需要進行任何的下載與安裝。

STEP 2
  由於在開發的過程中,可能需要安裝許多的套件。也經常發生套件版本更動後,造成原先可運作的內容出現錯誤。因此,在 Client 端我們將安裝虛擬環境 (virtualenv) 來避免類似問題以及協助進行不同解決方案的實驗。
  虛擬環境 (Virtualenv) 是創造虛擬 Python 環境的工具。它可以幫你做到:
1. 在沒有權限的情況在安裝新套件
2. 不同專案可以使用不同版本的相同套件
3. 套件版本升級時不會影響其他專案

  安裝的方式相當簡單:$ easy_install virtualenv

STEP 3
  在安裝完 virtualenv 後,我們將建立並啟動虛擬環境。

建立虛擬環境:
$ virtualenv 【指定虛擬環境的名稱】

啟動虛擬環境:
$ cd 【指定虛擬環境的名稱】
$ source bin/activate

若啟動成功,將看到 (【指定虛擬環境的名稱】) ... $

補充:若要關閉虛擬環境,則需鍵入 $ deactivate

STEP 4
  在啟動完虛擬環境後,我們將在此環境運用 pip 安裝 Django。
 (【指定虛擬環境的名稱】) ... $ pip install Django = 1.8.X (LTS 版本)

如此一來,將完成 Django 的安裝,並可在不同的虛擬環境中進行不同的實驗。

2016年2月3日 星期三

[Django] 在 Django 1.8.8 上設定 MySQL

前言:

        最近因為某些需求,必須建立一 Django 專案。此專案的資料庫,筆者選定 MySQL,因此本文將簡介如何在 Django 1.8.8 設定 MySQL。

步驟:(以 Ubuntu 14.04 為例)

        1. 安裝 MySQL(Django 1.8.8 支援 MySQL 5.5 以上的版本)
            $ sudo apt-get install mysql-server

        2. 為了讓 MySQL 可在 Django framework 運作,必須安裝 DB API driver
            $ sudo apt-get install python-mysqldb
            $ sudo pip install MySQL-python

        3. 接著,登入 MySQL 並在其中建立新的 Database
            $ mysql -u YOUR MYSQL ADMIN -p YOUR MYSQL ADMIN PASSWORD
         
            > CREATE DATABASE database_name;

        3. 接著,打開 Django 專案中的設定檔(settings.py)
            $ vi Path/to/your/Django/project/settings.py

        4. 開始修改 DATABASES
            DATABASES = {
          'default' : {
             'ENGINE' : 'django.db.backends.mysql',
             'NAME' : 'database_name',
             'USER' : 'YOUR MYSQL ADMIN',
             'PASSWORD' : 'YOUR MYSQL ADMIN PASSWORD',
             'HOST' : '', # Default is localhost or 127.0.0.1
             'PORT' : '', # Default is 3306
          }
      }


       5. 最後輸入 $ python manage.py migrate 就完成 MySQL 的設定囉!

2016年1月30日 星期六

[Ubuntu, Git] 在 Ubuntu 14.04 上安裝 Git server

前言:

        最近因為某些需求,必須在安裝 Git 伺服器。由於對 Ubuntu 較為熟悉,因此選擇在此 distribution 上安裝。

安裝前的準備:

        1. 一台已安裝好的 Ubuntu 伺服器(我選擇 Ubuntu 14.04 LTS)
        2. 在安裝 Ubuntu 的過程中選擇 ssh 或透過 apt-get 安裝

步驟:

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

        2. 確認 Git 版本(Ubuntu 14.04 內建 1.9.1)
            $ git --version

        3. 在 server side 建立新專案
            $ cd Path/to/your/git
            $ sudo mkdir new_project.git
            $ cd new_project.git
            $ sudo git --bare init

        4. 如果要用 ssh 存取 Git server,則每一個要存取的人都必須要是這台 linux 的帳號。為了方便,我們將建立一個群組,將所有要存取 Git 的人加入。
            $ sudo groupadd git
            $ sudo user mod -a -G git [YOUR ACCOUNT]
            $ sudo chgrp -R git Path/to/your/git
            $ sudo chmod -R 777 Path/to/your/git

        5. 在 client side,我們可以 clone 一個 repository 下來
            $ git clone ssh://YOUR ACCOUNT@GIT SERVER IP:Path/to/your/git/new_project.git

            最後輸入密碼,就確定 Git server 安裝大功告成!