about 2 years ago

前言

使用HTTP file server來跟組內的同事分享檔案,故本篇使用Docker快速地架設。在設定方面,由於只對內使用,所以使用預設的設定檔,只要加入audotindex的設定。

設定

default.conf在location加入autoindex設定:

location / {
    root   /usr/share/nginx/html;
    autoindex_exact_size off;
    autoindex on;
}

autoindex_exact_size關閉,讓檔案大小用人類可讀的方式呈現。

Read on →
 
over 2 years ago

雖然網路上可以找到很多相關的文章,但依照其內容操作後仍有些問題。我最後跟據How to Install and Dual Boot Linux on a Mac文章才順利完成,在此記錄其安裝過程。

第一步:製作Ubuntu的USB開機安裝碟

首先到Ubuntu官網下載所需要的iso檔(本篇使用的是ubuntu-14.04.3-desktop-amd64.iso)。接著利用hdiutildiskutildd指令,將iso寫入到USB隨身碟內。(參考資料:How to install Ubuntu on MacBook using USB Stick - Official Ubuntu Documentation)

$ cd ~/Download
$ hdiutil convert ubuntu-14.04.3-desktop-amd64.iso -format UDRW -o ubuntu.img
$ diskutil list  #列出硬碟裝置

# 插入USB隨身碟

$ diskutil list #多出了的就是USB的位置,ex:/dev/disk2
$ diskutil unmountDisk /dev/disk2
$ sudo dd if=ubuntu.img of=/dev/disk2 bs=1m
$ diskutil eject /dev/disk2
Read on →
 
almost 3 years ago

想要了解Java的技術和發展,除了透過網路/書本來吸收之外,就是參加conference啦~。本文整理在台灣會定期舉辦的conference的基本資料,供各位有興趣的人參考看看。

Java Developer Day / JavaTWO專業技術盛會

簡介

JavaTwo是由官方主辦的Conference, 也是與會人數最多的Java conference,而其源起可以參考良葛格的走入臺灣程式開發社群一文:

Read on →
 
almost 3 years ago

前情提要

個人有使用過Eclipse(約三年使用經驗)後來改成Intellij(比較少,約半年多),其從Eclipse到Intellij的原因主要是開啟時速度的差別。我的工作環境為MacBook Pro 13吋、memory 8G,開啟Eclipse約要數分鐘而Intellij可以在一分鐘內搞定。

那麼為什麼又要從Intellij換成Vim呢?還是速度!!!在我工作維護專案的過程中,不時會有需要快速處理的客訴問題,使用Vim時可以馬上開啟程式碼,就非常重要。然而Eclipse/Intellij這類IDE並不是不好,它們最大的好處就是它整合了很多工具,相對地也是要付出時間,去學習這些工具在IDE裡是如何操作。如果沒有用到這些功能時,其實無形之中也肥大了IDE的效能。

用Vim除了速度快之外,更重要的是有一大堆的plugin可以使用安裝。你可以任意安裝你所需要的功能,最佳化你的Coding環境。不過同樣地,學習Vim也是需要付出時間,不會比學習IDE的時間來的少,但如果你和我一樣經常使用Linux-base的系統,甚至工作環境是在Remoter Server上,那麼將Vim學好會感覺很有幫助的。基於上述理由(自我感覺良好,呵),我改用了Vim來開發專案/trace code到目前已有數月,以下就介紹個人目前所使用的Vim環境設定和工作流程。

PS:我目前是Vim的新手,仍不斷地在調整自己的工作環境和習慣。

Read on →
 
about 3 years ago

Jcconf TW 2014是由台灣 Java Community 主辦的 Java 開發者年會。個人覺得 talk 的主題不僅廣泛之外(Java functional features, JVM, framework, docker),每位講者也分享他們寶貴經驗,十分實用。以下記錄所參興的其中幾場內容和心得。

開場


本屆場地在中央研究院人文社會科學館舉辦,大會亦提供 hashtag 是 #jcconf,在演講開始前或是換場中間,投出 Twitter 上的相關討論串,不過不算熱烈就是。

Read on →
 
about 3 years ago

JNDI(Java Naming and Directory Interface),簡單而言它提供了尋找資源和其他物件的方式,其API雖然是歸屬在Java SE specification,但其功能被使用的最多卻是在Java EE當中,扮演了相當吃重的角色。

Naming and Directory概念

Naming指的是給予一個實體"名字",進而此名字和實體連結了(bind)而產生關係。舉例來說,在file system上naming一個檔名"contact.txt",其內容為人名和電話號碼。如此一來檔名和內容產生了關連,也因為此關連讓你可以使用其檔名"contact.txt"告訴filesystem在任何時間點取出電話號碼。Directory則是Naming的延伸,除了能取得該物件外,更能取得其屬性。同樣的用file sytem的例子來解釋,屬性可以是檔案大小,建立日期等等。更多的解釋可參考The JNDI Tutorial: Trail Map中的Naming and Directory Concepts。

常見的Naming and Directory service有LDAP(Lightweight Directory Access Protocol)提供帳號整合的服務,DNS(Domain name system)提供查詢主機位址服務等等。

Read on →
 
about 3 years ago

新手一開始在用oh-my-zsh或vim時(包括我在內),常常碰到是設定theme完後,會發現所顯示的顏色效果跟預期的不一致。其原因主要是因為terminal的設定,從StackOverflow別人的發問oh-my-zsh themes don't show properly (background stays white)就可以找到答案:

Short answer: no, zsh can't help you here. You need to change the terminal emulator color settings, not the zsh settings. - answered by simont

Read on →
 
about 3 years ago

vim-airline plugin可以做到顯示你目前編輯的檔名、行數欄數、檔案編碼格式等等資訊,使用tabline時更可以顯示buffer裡的檔案名字,幫助你快速的切換編輯。

安裝

  1. 使用Vundle將Plugin 'vim-airline/vim-airline'Plugin 'vim-airline/vim-airline-themes'加入到.vimrc,然後再執行:PluginInstall。(Vundle使用請參考Vundle安裝或是自行google)
  2. 安裝powerline-fonts,vim-airline的顯示才能正常好看
    $ mkdir .font/
    $ cd .font/
    $ git clone https://github.com/Lokaltog/powerline-fonts.git 
    $ cd powerline-fonts/
    $ ./install.sh
    
Read on →
 
about 3 years ago

Thread dump作為分析程式是一個非常有用的手段。當你覺得程式hang住不動、CPU使用率過高或是performance衝不高時,且無法使用jconsole/VisualVM等圖形介面的工具時,透過Thread dump可將JVM裡當下所有的Thread資訊產生text file,幫助我們分析程式是不是thread有dead lock的現象。

產生Thread dump text file

為了產生Thread dump,首先要找出要觀察分析的process id。在Linux可以使用ps aux指令或是使用JDK所提供的jps工具。

$ jps -l
2008 sun.tools.jps.Jps
1999 com.terry.Test
Read on →
 
about 3 years ago

簡介

Thrift是RPC(Remote procedure call) framwork,利用IDL(Interface Definition Language)來定義所需要的interface,再透過code generation engine轉換來支援多種的程式語言,讓兩端不同程式語言所設計的程式能溝通,而開發者只須專注在實作interface所需的內容。此種方式大大減少開發者為了Server和Client之間傳輸所需要寫的code,如傳輸的格式(Binary、JSON等)、傳輸的方式等等。

Install on Ubuntu 14.04

以下為官網文件的Debian or Ubuntu setup整理出來的。示範安裝Thrift支援Ruby和Java。若你所要使用其他的語言,請到官網文件查詢。(當然前提要先安裝Ruby和Java,請自行google)

Read on →