ซื้อกล้องถ่ายรูปตัวแรกในชีวิต !!!

18 05 2009

ไม่ได้เขียนมานานมาก (แต่ไม่มีคนอ่านอยู่แล้ว n_n)

เมื่อวันที่ 14 พค พึ่งไปซื้อกล้องถ่ายรูปมา

พอดีพี่เดฟไปร้านกล้องพอดี (ความรู้ไม่ค่อยมีเลยต้องหาคนช่วย)

ก็ซื้อ D90 18 – 105 VR Kit ของ Nikon

หลังจากซื้อกล้องถ่ายรูปเสร็จขากลับฝนดันตก -”-

แต่โชคดีหน่อยนึงที่ตอนมาถึงนครปฐมมันซ่าแล้ว

กลับบ้านมาก็รีบเอาออกมาแกะดูเลย (กลัวมันเปียก)

หลังจากเอาออกมาซักพักปรากฏว่า “ลืม

ลืมซื้อที่เป่าฝุ่นกับสารกันชื้นมา…

แต่สารกันชื้นก่อนกลับไปซื้อโดโซะมา (ใช้แทนไปก่อน)

ก็ทำการประกอบเลนส์ เอาแบตออกมาชาร์จ

ตอนเช้าก็เอามาใส่ Mem ใส่ แบต แล้วยัดลงกระเป๋าไว้

วันเสาร์เย็นๆ ก็แบกกล้องถ่ายรูปออกไปร่อน (ลองหน่อย)

ก็ไปที่พระราชวังสนามจันทร์ (ไม่รู้จะไปไหนวนเวียนอยู่แถวนี้แหละ)

เข้าไปถึงก็เริ่มมั่วเลย (ความรู้ไม่มียังไม่ยอมอ่านคู่มืออีก -”-)

อันแรกเลย ถ่ายไปแล้วภาพมันไม่ชัดเท่าไหร่ พอดูแล้ว…

มันมี VR ให้ใช้ดันลืมเปิด…

ต่อมาเริ่มมั่วขึ้นอีก ปรับค่าไม่เป็นเริ่มงงกับ Mode ต่างๆ

ปรับยังไง หมุนเล่นลองดู -”- สุดท้ายใช้ที่มันมีอยู่แล้วนี่แหละ…

แล้วในหัวก็มีความคิดว่ากลับบ้านเอาคู่มือมันมาดูซักหน่อยเถอะ

วันอาทิตย์เย็น เอาหละมามั่วกันต่อ วันนี้อ่านคู่มือมานิดหน่อย

(ก็ยังงงอยู่ดีแหละ ไม่เคยหัดถ่ายรูปไม่ค่อยรู้เรื่อง)

วันนี้อ่านคู่มือมาแล้ว (นิดหน่อย Eng อ่อนแอ)

พอจะรู้วิธีปรับค่าแล้ว ^^ (ปรับไปทำไมก็ยังไม่ค่อยรู้)

ก็ถ่ายแบบมั่วๆ อีกวันถ่ายไปเรื่อยๆ ซักวันมันคงเป็นเอง…

แต่วันนี้ไม่ลืมเปิด VR นะแต่ภาพก็ยังไม่ค่อยชัดแฮะ

(ยังโฟกัสไม่ดี แล้วมือคงสั่นเกินรับไหว – -”)

วันนี้ท้องฟ้ามีขู่กันด้วย (แต่ถึงมันจะขู่ ก็ยังกลัวอะ)

วันนี้เลยกลับบ้านเร็วหน่อย

ส่วนรูปตอนนี้ยังไม่ได้เอารูปลงคอมอะนะ

(ที่จริงน่าจะลบทิ้งซะมากกว่า เก็บไว้ดูความห่วยของตัวเอง)

จากที่ไปลองถ่ายรูปมา 2 วันรู้สึกว่า อุปกรณ์มันดีนะ แต่คนถ่ายมันกาก…

ยังมีอะไรที่ต้องหัดอีกเยอะ หัดกันต่อไป.





Attachment_fu

14 11 2008

สำหรับ Attachment_fu จะเป็น Plugin ของ Rails ที่ใช้สำหรับ Upload File นะครับ

โดยที่ตอนนี้จะเอามาใช้สำหรับ Upload ภาพ (ถ้าต้องการให้มีการทำ Image Processing เช่น การ Resize ภาพ ต้องทำการติดตั้ง Processor สำหรับการทำ Image Processing ก่อน เช่น rmagick)

ขั้นแรกก็ให้ Download Attachment_fu Plugin มาก่อน

หลังจากนั้นก็นำ Plugin ไปไว้ใน Project ที่ vendor/plugins

ส่วนการใช้งานก็เพิ่ม DB โดยจะประกอบด้วย

t.string :filename

t.string :path

t.string :content_type

t.integer :size

t.integer :width

t.integer :height

t.integer :parent_id

t.string :thumbnail

หลังจากนั้นก็ทำการบอก Model ให้รู้จักกับ Plugin

has_attachment :content_type => :image,

:storage => :file_system,

:min_size => 0,

:max_size => 1.megabytes,

:resize_to => ‘640×480′,

:processor => ‘Rmagick’,

:thumbnails => { :medium => ‘200×200′, :small => ‘80×80′, :tiny => ‘40×40′ }

ในที่นี้จะเป็นของภาพนะครับ โดยมีการใช้ Processor ของ Rmagick

การตรวจสอบก็สามารถใช้

validates_as_attachment

สำหรับการใช้งานในหน้า View ก็

ในการสร้าง (Upload) Files ให้ทำการเพิ่ม

:html => { :multipart => true }

เข้าไปใน form_for เช่น

<% form_for(@obj, :html => { :multipart => true }) do |f| %>

แล้วส่วนของ Select Image Field

<%= f.file_field ‘uploaded_data’ %>

ส่วนของหน้าในการ Show ให้ใช้

<%= image_tag(@obj.public_filename) %>

หรือ

<%= image_tag(@obj.public_filename(:medium)) %>

สำหรับภาพที่เป็น Medium (ตามที่ได้กำหนดไว้ใน Model)

ส่วนรายละเอียดอื่นๆ สามารถดูเพิ่มเติมได้ใน README ซึ่งจะมีคำอธิบายอยู่ด้วย





ติดตั้ง rmagick

13 11 2008

ที่มา : Install RMagick on Mac OS X Leopard from Source

เริ่มจาก Download Source มาเก็บไว้ก่อน

ซึ่งในที่นี้ Source ที่จำเป็นก็จะมี

  • freetype-2.3.5.tar.gz
  • libpng-1.2.25.tar.gz
  • jpegsrc.v6b.tar.gz
  • tiff-3.8.2.tar.gz
  • ghostscript-fonts-std-8.11.tar.gz
  • ImageMagick.tar.gz
  • rmagick.gem

ทำการแตกไฟล์ออกมาก่อนหลังจากนั้นก็เริ่มติดตั้งโดยใช้คำสั่งใน Terminal ที่

FreeType

cd freetype-2.3.5

./configure

make

sudo make install

cd ..

PNG Library

cd libpng-1.2.25

./configure

make

sudo make install

cd ..

JPEG Library

cd jpeg-6b

ln -s `which glibtool` ./libtool

export MACOSX_DEPLOYMENT_TARGET=10.5

./configure — enable-shared

make sudo make install

cd ..

(ถ้าไม่มี glibtool ต้องไปหามาติดตั้งนะครับ)

อย่าลืม –enable-shared ตอน Configure นะครับ

TIFF Library

cd tiff-3.8.2

./configure

make

sudo make install

cd ..

GhostScript Fonts

sudo mkdir /usr/local/share/ghostscript

sudo mv fonts /usr/local/share/ghostscript/fonts

ImageMagick

cd ImageMagick

export CPPFLAGS=-I/usr/local/include

export LDFLAGS=-L/usr/local/lib

./configure –disable-static –with-modules –without-perl –without-magick-plus-plus –with-quantum-depth=8 –with-gs-font-dir=/usr/local/share/ghostscript/fonts

cd..

RMagick

sudo gem install rmagick

ลองทดสอบ RMagick

irb

require’rmagick’

ถ้าขึ้นว่า true ก็แปลว่าลงสำเร็จแล้ว





ติดตั้ง Rails

13 11 2008

วิธีการติดตั้ง Rails

ขั้นแรกเราก็ต้องดูก่อนว่ามี Rails ในเครื่องหรือยังโดยการพิมพ์

rails -v

ถ้าในเครื่องมี Rails ติดตั้งอยู่แล้วก็จะบอก Version ของ Rails ที่มีออกมา

ถ้า Version ยังเป็นตัวเก่าเราสามารถ Update ได้เลยโดยใช้คำสั่ง

gem update rails

แต่ถ้าในเครื่องยังไม่มีเราก็สามารถทำการติดตั้งโดยเริ่มจากตรวจสอบดูว่าในเครื่องมี Ruby แล้วหรือยัง

โดยพิมพ์

ruby -v

ถ้ามี Ruby ในเครื่องก็จะบอก Version เช่นกัน

ถ้าไม่มีก็ให้นำ Ruby มาติดตั้งก่อน

หลังจากนั้นก็ลง rubygems

วิธีการติดตั้งก็เข้าไปใน Directory ของ rubygems แล้วพิมพ์คำสั่ง

ruby setup.rb

หลังจากนั้นก็ทำการติดตั้ง Rails ได้ (ผมใช้วิธีลงโดยการ Download Source มาลงที่เครื่องนะครับ)

ก็ทำการ Download Source ของ Rails ที่ต้องใช้มาใว้ที่เครื่องแล้วพิมพ์

sudo gem install rails

แต่ถ้าไม่รู้ว่าจำเป็นต้องใช้ Source ตัวไหนบ้างก็ให้เริ่มจาก Download Rails มาก่อน

หลังจากนั้นเมื่อทำการติดตั้งจะขึ้นว่าต้องการ Source ตัวไหนบ้างก็ค่อยๆ ไล่ติดตั้งไปทีละตัว

วิธีการตรวจสอบ gem ในเครื่องก็สามารถพิมพ์

gem -v

ได้เช่นกันนะครับ เผื่อว่าจะเคยติดตั้งไว้





Restful-Authentication

3 09 2008

หลังจากห่างหายจาก Rails ไปนานในที่สุดก็กลับมารื้อฟื้นอีกครั้ง

งานที่โดน Assign มาก็เป็นเรื่องของการใส่ระบบ User

ซึ่งก็ใช้ Plugin restful-authentication ซึ่งจะช่วยในการทำระบบ User

หลังจากลง Plugin ตัวนี้แล้วนะครับ

(จะใช้การ Install ลงใน Project หรือ Copy ไปวางใน ./vendor/plugins ก็แล้วแต่)

ก็เริ่มจากการใช้คำสั่ง

ruby script/generate authenticated user sessions include-activation

เพื่อให้ Plugin สร้าง user และ sessions ขึ้นมาและให้มีระบบ Activation ด้วย

ต่อมาก็เริ่มสร้าง DB ด้วยคำ่สั่ง

rake db:migrate

เนื่องจากต้องมีการ Activation เราต้องไปบอกที่ Route ด้วย

map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate'

เพื่อให้สามารถ Link ไปที่ /activate ได้

ไปปรับที่ ./config/environment.rb เพราะเราต้องการให้มีการ Activation ทาง email

config.active_record.observers = :user_observer

หลังจากนั้นเราจะไปทำการตั้งค่าของ Mail Server โดยไปสร้างไฟล์ mail.rb ที่ ./config/initializers แล้วตั้งค่า

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliversies = true
ActionMailer::Base.smtp_settings = {:address => "mail.example-domain.com",:port => 25,:domain => "www.example-domain.com",:authentication => :login,:user_name => "user@example-domain.com",:password => "secret"}

หลังจากนั้นไปที่ ./app/models/user_mailer.rb

เปลี่ยน YOURSITE เป็นชื่อ Web Site ของคุณ

ไปที่ ./app/views/layouts/application.html.erb เพิ่ม

<p style="color: green"><%= flash[:notice] %></p><p style="color: #990000"><%= flash[:alert] %></p>

เพื่อให้แสดง Message ต่างๆ

ถ้าใช้การ Generate ดังที่กล่าวในข้างต้นนะครับจะเกิดปัญหา

undefined method `recently_activated?’ for

ให้แก้ไขโดยการเข้าไปที่ ./app/models/user.rb และเพิ่ม

include Authorization::StatefulRoles

การตรวจสอบ Login ก็ใช้

if logged_in?

และสามารถตรวจสอบ User ที่กำลังใช้งานจาก

current_user

เราสามารถสร้าง Link ของทุกหน้าโดยไปแก้ที่ ./app/views/layouts/application.html.erb

<ul>

<% if logged_in? %>

<li>

<b><%= current_user.login %></b><br/>

<%= link_to ‘Logout’, logout_url %>

</li>

<% else %>

<li><%= link_to “Signup”, signup_url %></li>

<li><%= link_to ‘Login’, login_url %></li>

<% end %>

</ul>

สำหรับบางคนอาจเจอปัญหา

“Plugins::Restful-authentication::Lib” is not a valid constant name!

วิธีแก้ไขก็ไปดูที่ Folder ของ Restful-Authentication ใน Folder ./vendor/plugins นะครับ

ให้ดูชื่อของ Folder อย่าให้มีตัวอักษรพิเศษ (พวก “-” ) ถ้ามีก็เปลี่ยนชื่อ

เช่น restful-authentication => restful_authentication

ที่มา : http://www.avnetlabs.com/rails/restful-authentication-with-rails-2





Harddisk ใหม่

30 08 2008

ไม่ค่อยมีเรื่องให้เขียนเลย ก็เอาเรื่องนี้ละกัน

ก็เมื่อกลางๆ เดือนก็พึ่งครบ 24 ปีไป (แก่ขึ้นอีกปีแล้ว)

ตอนแรกว่าจะซื้อกล้องถ่ายรูปเป็นของขวัญวันเกิดแต่ดันมีเรื่องต้องใช้เงิน

เลยอดไป T.T แต่ก็ยังพอมีเงินเหลือนิดหน่อย

ประกอบกับที่ Harddisk ตัวเก่าที่ใช้มา 2 ปีแล้วมันเริ่มงอแง

เริ่มส่งเสียงร้อง แถมคนรอบๆ ข้าง Harddisk เสียกันเป็นว่าเล่นก็เริ่มกลัว

ก็เอาหละไหนๆ ก็ครบรอบวันเกิดทั้งทีก็ให้ของขวัญตัวเองหน่อยละกัน

แถมมีประโยชน์กับการทำงานด้วย ก็เลยตัดสินใจเข้ากรุงเทพไปซื้อ

Harddisk มาก็ซื้อ ของ Seagate 250 GB มาราคาก็อยู่ที่ 2570 บาท

แต่ซื้อมาแล้วดันแกะที่ใส่ Harddisk ไม่ได้ไป 2-3 วันเลยไม่ได้ใช้ซะที

สุดท้ายก็ใช้วิธีลงจาก Box (ใส่ Box แล้วต่อ USB เอา) แล้วหลังจากลงได้ก็มีคนเอาอุปกรณ์

มาให้เลยได้เปลี่ยนเป็นอันใหม่ซะที ต้องมาไล่ลง Lib นี่ก็เหนื่อยดีเหมือนกัน

(กลัวมันมีปัญหา) ตอนนี้ก็ลองใช้งานไปซักพักถ้าไม่มีปัญหาอะไร

ก็จะ Format Harddisk ตัวเก่าไว้ทำ Backup หละนะ

แต่ตอนนี้ยังลง Windows ไม่ได้เลยเซ็งนิดๆ ที่ลง Windows ก็ไม่มีอะไรมากหรอก

จะเอาไว้เล่นเกมแค่นั้นแหละ -”-





Space & Time

26 07 2008

ไม่ได้อัพ Blog มานานจนโดนทวงซะแล้วแฮะ

แต่ที่จริงก็ไม่ค่อยมีใครมาอ่านอยู่แล้วนี่หน่า

เอาซักหน่อยละกัน

หัวเรื่องก็จะเป็นเรื่องที่เกี่ยวกับสถานที่ (Space) และเวลา (Time)

มันเป็นเรื่องที่เกี่ยวข้องกัน แน่นอนเราคงรู้กันดีว่าเราอยู่ในโลกที่มีหลายมิติ

ซึ่งที่เราเห็นได้อย่างชัดเจนก็คือ สถานที่ (x, y, z) และเวลา (t)

แน่นอนเราอยู่ในสถานที่เดียวกันได้เมื่อเวลานั้นต่างกัน

และเราก็อยู่ในเวลาเดียวกันในสถานที่ที่ต่างกัน

ในบางครั้งมันจะเกิดความบังเอิญที่ไม่น่าเกิดขึ้นได้เลย

เมื่อเราอยู่ใน สถานที่ และเวลา ที่เหมาะสม

เช่น ในเวลาเดียวกัน คน 2 คนอาจจะอยู่กันคนละสถานที่

เค้าทั้ง 2 ก็จะไม่ได้พบกัน หรือทั้งคู่อยู่สถานที่เดียวกันแต่คนละเวลา

ก็แน่นอนหละทั้ง 2 ก็คงไม่ได้เจอกัน

แต่การที่คนทั้ง 2 จะมาเจอกันได้นั้นจะเกิดจากการที่สถานที่ และเวลานั้นมาพบกันพอดี

คือทั้ง 2 จะต้องอยู่ในสถานที่เดียวกัน (ไม่ใช่ x, y, z เดียวกันนะ) และในช่วงเวลาเดียวกัน

เหตุการณ์ต่างๆที่เกิดขึ้นรอบๆ ตัวเราก็เช่นเดียวกัน

ถ้าไม่ใช่ทั้งสถานที่ และเวลาที่มันพอดีกัน เหตุการณ์นั้นก็จะไม่เกิด

ดังนั้นการที่เกิดเหตุการณ์ต่างๆ ในชีวิตนั้นโอกาสอาจเกิดได้ยากมากๆ

ในความเป็นจริงแล้วมันมีเรื่องเกิดขึ้นได้ตลอดเวลา

ถ้าเรื่องที่เกิดขึ้นทำให้เราพอใจเราก็จะเรียกมันว่า โชคดี

ถ้าเป็นเรื่องที่เราไม่พอใจเราก็จะเรียกว่า โชคร้าย

แต่ที่จริงทั้งโชคดี และโชคร้ายมันก็มีโอกาสเกิดยากพอกัน

บางทีเราอาจอิจฉาคนอื่นว่า โชคดี เมื่อตัวเองนั้น โชคร้าย

แต่ในความเป้นจริงแล้วต่างก็พบกับเหตุการณ์ที่เกิดขึ้นยากทั้งคู่

บางทีคนที่คิดว่าตัวเองโชคร้ายนั้นอาจเป้นเหตุการณ์ที่เกิดยากกว่าเสียด้วยซ้ำ

แต่ยังไงก็แล้วแต่ ผมก็ยังอยากเจอเหตุการณ์ที่จะทำให้ผมเรียกมันว่าโชคดีมากกว่าหละนะ





ใบอนุญาตขี่รถโดยไม่ต้องสวมหมวกนิรภัย

15 07 2008

หลังจากขี่รถมาประมาณ 4 ปีในที่สุดก็ได้รับใบอนุญาตให้ขี่รถโดยไม่สวมหมวกนิรภัยใบแรกจนได้

ที่จริงก็สวมมาตลอดอะนะ จนไปส่งเพื่อนที่หอแล้วกลับออกมา (ที่จริงตอนเลี้ยวไปส่งเพื่อนก็เห็นตำรวจแล้วนะ แต่ดัน…)

เอาเถอะยังไงก็ทำให้เราได้ใบอนุญาตขี่รถโดยไม่สวมหมวกนิรภัยมาละกัน (ควรจะดีใจรึเปล่านี่)

เอาเถอะจำไว้เป็นบทเรียนว่า ” วันหน้าถ้าขี่รถไปแล้วเห็นตำรวจแต่ไกลให้รีบหลบ !!! “

เห้ยไม่ใช่แล้วมั้ง ที่หลังต้องทำให้มันถูกกฎจราจรต่างหาก มองอีกแง่ก็อาจจะดีนะ แต่ก็รู้สึกว่าซวยยังไงไม่รู้แฮะ

เพราะถ้าพูดตรงๆ คือแถวมหาลัยมันเหมือนเขตปลอดกฎจราจรมานานละ แบบว่าบางทีก็มีฝ่าไฟแดง ไม่ทำตามป้ายจราจร ขี่รถสวนเลน เลี้ยวในที่ห้ามเลี้ยว (2 อันหลังนี่ทำประจำ)

แต่ก็แปลว่าต่อไปคงต้องพยายามทำให้มันถูกหละนะ เอาเถอะก็แค่ทำตามกฎจราจร ไหนๆก็มีคนรู้จักเป็นตำรวจด้วย

ก็็อย่าทำให้เค้าเสียหน้าเลย รักษากฎสักหน่อย เค้าจะได้สบายใจ ไม่งั้นเกิดมีคนรู้ว่ารู้จักเค้าจะหาว่าไม่ได้สั่งสอน (ธรรมดาเป็นพวกมีคนสั่งสอนแต่ไม่จำตะหาก – -”)

ยังไงการรักษากฎมันก็คงจะลดอุบัติเหตุแถวๆมหาลัยไปได้หน่อยหละมั้ง (ที่จริงมันก็ไม่ค่อยเกิด มั้ง)

แล้วเวลาขี่รถไปเจอบางพวกก็รับไม่ไหวจริงๆ -”- ถ้าตำรวจมาเฝ้าคงเจอน้อยลง (ตัวเองจะได้ดัดสันดารตัวเองด้วย)

เอาหละไร้สาระแค่นี้ก่อนละกัน เดี๋ยวค่อยมาอัพอีก ต่อไปความไร้สาระคือ Function หลักหละนะ





ไร้สาระ

15 07 2008

ก็ถึงเวลาซักทีที่จะเขียนเรื่องที่จะทำให้เสียพื้นที่แบบเปล่าประโยชน์ -”-

เอาเป็นว่าแนะนำให้เลิก Feed ก่อนที่จะสายไปนะครับ (เดี๋ยวขยะเต็มเครื่องนะ เราเตือนท่านแล้ว)

ต่อไปก็จะพยายามเอาเรื่องประสบการณ์ชีวิต เหตุการณ์รอบๆตัว มาเริ่มๆเขียนหละนะ มันคงไร้สาระมากๆเลย

อืม มันก็คงคล้ายๆกับ Diary มั้ง แต่คงไม่มี Power ที่จะอัพทุกเรื่องทุกวันหรอก เอาแค่บางเหตุการณ์พอละกัน

ทำไมรู้สึกเหมือนจะมีคนมาอ่านหว่า เอาเป็นว่าอ่านอะไรจากที่นี่ไปก็ปล่อยมันไว้ที่นี่ละกันนะครับ

ถ้าจะอะไรก็ Comment ไว้เพราะที่นี่อาจจะได้เห็นผมที่ไม่ใช่ผม (สำหรับคนที่รู้จักตัวจริงอาจรู้สึกแปลกๆอะนะ)





Authenticated

23 06 2008

เวลาที่เราสร้าง Page เองใน Drupal บางหน้าเราไม่ต้องการให้ทุกคนเข้ามาใช้งาน

หรือเราต้องการให้คนไม่กี่กลุ่มเข้ามาใช้งาน (เช่น Admin) เราสามารถเขียนตรวจสอบได้

<?php
global $user;
$allowed = array(‘moderator’,‘administrator’);
$valid=FALSE;
foreach(
$user->roles as $role){
if(
in_array($role, $allowed)) {
$valid=TRUE;
}
}
return
$valid;
?>

จาก Code เราตรวจสอบจาก User ที่เข้ามาว่ามี Role ตามที่เราต้องการรึเปล่า

ซึ่งเราสามารถใช้ข้อมูลอื่นๆของ User ที่กำลังใช้งานได้ เช่น $user->uid

ที่มา : Drupal.org