Alfresco มีช่องทางในการที่ให้เราสร้าง Web Service ขึ้นมาได้โดยใช้ความสามารถของ Spring Surf ซึ่ง Alfresco เราสามารถสร้างได้โดยเลือกระหว่าง 2 ภาษาคือ JavaScript ซึ่งใช้ Rhino Library ของ Mozilla เหมาะสำหรับงานที่ไม่มีความซับซ้อนมากมายอะไร และ Java สำหรับงานที่ซับซ้อนมาก
<WINGY+ />
Junior Programmer, Software Quality
11/15/2013
11/02/2013
รู้จักกับ Vundle
Vundle เป็นปลั๊กอินที่เอาไว้จัดการกับปลั๊กอินใน Vim อีกทีนึง
:BundleUpdate ใน command mode หากสั่งจากภายใน vim หรือ vim +BundleUpdate +qall
และต้องการถอนการติดตั้งให้ลบ Bundle ที่ต้องการใน ~/.vimrc และสั่ง :BundleClean หรือ vim +BundleClean +qall ได้อีกด้วย
และหากต้องการหาปลั๊กอิน Vundle ก็สามารถทำได้เช่นกันโดยสั่ง
:BundleSearch <plugin_name>
วิธีการติดตั้ง
- โคลนซอร์สโค้ดของ Vundle จาก https://github.com/gmarik/vundle โดยผมจะโคลนไว้ที่ ~/.vim/bundle
- เปิดไฟล์ ~/.vimrc และเพิ่มเข้าไปดังนี้
filetype off
set rtp+=~/.vim/bundle/vundle
call vundle#rc()
filetype plugin indent on
การใช้งาน
- เพิ่มปลั๊กอินของเราเข้าไป โดยใส่ต่อเข้าไปใน ~/.vimrc
Bundle 'scrooloose/nerdtree' - ออกจาก vim และสั่ง
vim +BundleInstall +qall - Vundle จะโหลด plugin ลงมาให้ซึ่งเบื้องหลังก็คือการโคลนด้วย git นั้นเอง
:BundleUpdate ใน command mode หากสั่งจากภายใน vim หรือ vim +BundleUpdate +qall
และต้องการถอนการติดตั้งให้ลบ Bundle ที่ต้องการใน ~/.vimrc และสั่ง :BundleClean หรือ vim +BundleClean +qall ได้อีกด้วย
และหากต้องการหาปลั๊กอิน Vundle ก็สามารถทำได้เช่นกันโดยสั่ง
:BundleSearch <plugin_name>
10/25/2013
แก้ปัญหาใช้ backspace ใน vim ไม่ได้
ด้วยความอยากลอง vim 7.4 (อยากใช้ของใหม่ไปงั้น) เลยจัดมาผ่าน HomeBrew หลังจากลงสำเร็จไปได้ด้วยดีและลองใช้งานก็ไม่มีปัญหาอะไรจนกระทั่ง
"เห้ย กด backspace ไม่ได้ Ctrl-w ก็ไม่ได้ด้วย!!!"
ลองปิดเปิดใหม่ก็ไม่หาย จะ reinstall ใหม่ก็ขี้เกียจ เอาวะ google ก็ได้แล้วก็เจอกับแสงสว่างจาก vim wikia ว่าจะต้องเซต backspace ใน insert mode นะด้วยการสั่ง
set backspace=indent,eol,start
แต่สั่ง ณ ตอนนั้น พอปิดเปิดใหม่ก็จะใช้ไม่ได้ต้องสั่งเพราะงั้นก็เอาไปใส่ใน .vimrc ซะ เปิดมาก็ใช้ได้เหมือนปกติล่ะ
"เห้ย กด backspace ไม่ได้ Ctrl-w ก็ไม่ได้ด้วย!!!"
ลองปิดเปิดใหม่ก็ไม่หาย จะ reinstall ใหม่ก็ขี้เกียจ เอาวะ google ก็ได้แล้วก็เจอกับแสงสว่างจาก vim wikia ว่าจะต้องเซต backspace ใน insert mode นะด้วยการสั่ง
set backspace=indent,eol,start
แต่สั่ง ณ ตอนนั้น พอปิดเปิดใหม่ก็จะใช้ไม่ได้ต้องสั่งเพราะงั้นก็เอาไปใส่ใน .vimrc ซะ เปิดมาก็ใช้ได้เหมือนปกติล่ะ
Labels:
vim
Alfresco maven all-in-one archetype ภาคกำเนิด
ในการพัฒนา Alfresco นั้นจะมีระบบที่เรียกว่า Alfresco Module Package (AMP) ซึ่งจะต้องวางโฟลเดอร์ให้ตรงตามโครงสร้างของ Alfresco และสร้าง Ant script ขึ้นมาเพื่อช่วยจัดการในเรื่องของการสร้างแพ็คเกจ ซึ่งข้อเสียมันคือมันไม่สามารถจัดการ dependencies ได้และจะต้องสร้างจากมือทุกครั้ง (หรือเรียกว่าไม่มีแม่แบบของโปรเจคให้) และตัว AMP เองบางทีก็ไม่เหมาะกับการปรับแต่งอะไรเล็กๆ น้อยๆ ได้ ด้วยเหตุนี้เองจึงมีคนใน community ได้สร้างปลั๊กอินเพื่อต่อกับเครื่องมืออีกตัวนึงชื่อว่า Maven
10/15/2013
เอาไฟล์กลับมาได้ด้วย git reset
ตอนแรกจะลบไฟลเดอร์ link ที่สร้างจาก ln แต่ด้วยความที่ติด autocomplete ของ terminal ก็เลยกด tab รัวๆ ฮ่าๆๆ ตอนกด enter ก็เห็นแว๊บนึงว่า เห้ยทำไม link ที่จะลบมันมี / ต่อท้ายเลยสังหรณ์ใจไม่ดีกลับไปดูโฟลเดอร์จริงๆ ปรากฎคือ โฟลเดอร์หาย T__T ดีนะ ว่ามี git แล้วก็แก้ไม่เยอะด้วยเลยจัด
git reset --hard HEAD
อ่า โล่งใจไฟล์กลับมาแล้ว ถ้าแก้เยอะนี่อาจจะเศร้าได้เลยทีเดียว มันอาจจะมีท่าอื่นก็ได้นะ แต่ใช้ git ไม่เป็นอ่ะ
Labels:
git
9/13/2013
เซตชื่อและอีเมลสำหรับการคอมมิตในแต่ล่ะโปรเจค
ปกติผมใช้ git config --global user.name และ git config --global user.email มาตลอดด้วยความที่ติดมาตอนเรียนที่มหาวิทยาลัย (เค้าสอนยังไงก็ใช้ยังงั้น :D ) จนมาวันนี้
แล้วถ้าเรามีอยากใช้คนละอีเมลในแต่ล่ะโปรเจคล่ะ?
ยกตัวอย่างเช่น ผมมีโปรเจคนึงที่ทำภายในบริษัทผมอยากจะใช้อีเมลของบริษัท แต่ถ้าทำเล่นกับเพื่อนๆ ใช้อีเมลบริษัทมันก็แปลกๆ ใช้อีเมลที่ใช้ปกติทั่วไปดีกว่า เลยไปถาม google ก็เจอกับลิ้งค์การปรับแต่งของ git (link) ก็เลยสรุปได้ว่าเราสามารถใส่ใน .git/config ได้เลย เช่น อยากให้ชื่อเป็น wingyplus และอีเมลเป็น wingyminus@gmail.com สำหรับโปรเจคนี้ ก็ให้เพิ่มเข้าไปที่ .git/config ได้เลย (config หน้าตาแบบนี้เค้าเรียกว่าอะไรไม่รู้)
[user]
name = wingyplus
email = wingyminus@gmail.com
จากนั้นลอง commit ก็จะใช้ชื่อและอีเมล (สังเกตตรง Author:) ตามที่เราตั้งไว้ดังรูป
Labels:
git
5/25/2013
Deploy Django to webserver (apache2, wsgi)
Note ไว้สำหรับตัวเองเพราะต้องเอา Django ไปใช้
วัตถุดิบ
- OS ที่ใช้
- Ubuntu Quantal 64-bit
- Web Server
- apache httpd + mod_wsgi
- Database
- MySQL
วิธีการลง
- ลง Ubuntu ก่อน ฮาา
- ลง MySQL Server
- sudo apt-get install mysql-server # ขั้นตอนนี้ MySQL จะให้เซต password ให้ใส่ตามต้องการ
- ลง apache httpd และ mod_wsgi โดยใช้คำสั่ง
- sudo apt-get install apache2 libapache2-mod-wsgi
- ลง Django webframework และ Python MySQL
- sudo apt-get install python-django python-mysqldb
- นำ django web ที่เราทำใส่ใน /var/www
- เปิดไฟล์ /etc/apache2/sites-available/default ขึ้นมาเพื่อ config wsgiThis file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
WSGIScriptAlias /myweb /var/www/sipacounter/myweb/wsgi.py WSGIPythonPath /var/www/myweb <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /var/www/myweb> <Files /myweb/wsgi.py> Order deny,allow Allow from all </Files> </Directory> <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> - restart apache config
sudo service apache2 restart - deploy Model ลง database โดยไปที่ web ของเรา
สั่ง python manage.py syncdb # ให้ตรวจสอบ config ของ database ก่อนที่จะสั่งด้วย - เปิด browser เข้าเวบของเราก็จะเข้าได้ทันที
Subscribe to:
Posts
(
Atom
)