Archive
Entry แรกหลังจากกู้ Server กลับมาได้จากอาการ “โคอาล่าเป็นพิษ”
หลังจากไป meeting ที่ SIS มาได้ข้อสรุบว่า HTC ต้องการให้เหล่า Developer สร้าง App สำหรับคนไทยขึ้นมา เพื่อขยายฐานผู้ใช้ Android ในเมืองไทย ส่งผลต่อเนื่องถึงยอดขายของ HTC ในทางอ้อม
หากมองในตอนนี้เห็นได้ชัดว่า Android ไม่ได้เปรี้ยงปร้างเท่าที่ควรจะเป็น ส่วนหนึ่งคงเป็นเพราะมันไม่หล่อเหมือน iPhone อันนี้เรื่องจริงต้องยอมรับ แต่ในระยะยาวก็ไม่แน่ เพราะ Android Open source และยังมี Google หนุนหลังเต็มที่
สำหรับตัวผมแล้วติดว่า โทรศัพท์ที่ใช้ Android ส่วนใหญ่ราคาไกล้เคียงกับ iPhone แต่ความสามารถนั้นสู้ไม่ได้ อย่างน้อยก็มัลติทัช แล้วก็เอฟเฟกต์วิ้งๆทั้งหลายแหล่ จะมีดีกว่าก็เพียงแต่มันไม่ยุ่งยาก จุกจิกกวนใจเหมือน iPhone ทำอะไรนิดอะไรหน่อยก็หมดประกัน ถ้า HTC Magic ราคาลงมาสัก 5000 อย่างนี้จะเลือกง่ายขึ้นเยอะ
ด้าน Developer อันนี้ชัดเชน Android มาพร้อม [...]
ผมมีปัญหากับการติดตั้ง postgres มาตลอด เมื่อเปรียบเทียบกับ mysql แล้วพบว่ายุ่งยากมาก ลองใช้วิธีต่อไปนี้ทำให้ติดตั้ง postgres ภายในสามนาที!!
sudo apt-get install postgresql pgadmin3 python-psycopg2
หลังจากรอขั้นตอนการติดตั้งจนเสร็จเรียบร้อยแล้วให้ตั้งรหัสผ่านให้กับ user postgres เพื่อไปติดตั้งส่วนอื่นๆต่อไปดังนี้
sudo -u postgres psql
postgres=# \password postgres
postgres=# \q
ได้รหัสผ่านของ user postgres แล้ว!!
อย่าลืมแก้ไฟล์ sudo nano /etc/postgresql/8.3/main/pg_hba.conf ตรงบรรทัด
# “local” is for Unix domain socket connections only
local all all [...]
เกี่ยวกับเอกสารนี้
เอกสารนี้อธิบายรายละเอียดเกี่ยวกับไวยากรณ์ของ Django Template . หรือมีข้อสงสัยหรือปัญหาการใช้งาน โปรดอ่าน The Django template language: For Python programmers.
Django template นั้นออกแบบมาอย่างสมดุลระหว่างความสามารถและความง่ายดาย. มันถูกออกแบบมาให้สามารถทำงานกับ HTML ได้สะดวก นั่นรวมถึง Text-Based อื่นๆด้วย.
หลักการ
ถ้าคุณเคยมีพื้นฐานการเขียนโปรแกรมที่ฝังโค้ดใน HTML แล้ว คุณจะรู้สึกเหมือนได้กลับบ้านอีกครั้ง การใช้ Django template จะเป็นอะไรที่ง่ายดาย แต่ถ้าหากคุณหวังว่าจะเห็นโค้ด Python ใน Django template แล้ว ต้องขอแสดงความเสียใจที่ทำให้ผิดหวัง
The Django template มีฟังชั่นเหมือนกับภาษาโปรแกรมทั่วไป มี if tags เพื่อตรวจสอบเงื่อนไข มี for loop เอาไว้วนให้ปวดหัวเล่น Django template จะรันเพียง template tag และจะไม่รัน Python code โดยเด็ดขาด
ไปอ่านเจอมา เขียนไว้กันลืม
def primes(n):
“”"
primes(n) –> primes
Return list of primes from 2 up to but not including n.
Uses Sieve of Erasth.
“”"
if n < 2:
return []
nums = range(2,int(n))
p = []
while nums:
[...]
หลังจากติดโรคเลื่อน ในที่สุด Django 1.1 หลังจากติดโรคเลื่อนจนผมถอดใจ ในที่สุด Django ก้ได้ปล่อย stable version ออกมาเสียทีเมื่อเช้านี้
โดยรวมๆแล้วมีการเปลี่ยนแปลงที่ชัดเจนคือหน้าตาของ AdminSite โดยเฉพาะ slugField ที่เพิ่มข้อมูลให้อัตโนมัติ ไม่ต้อมานั่งกรอกเองให้เมื่อยตุ้ม
Aggregate ที่เมื่อก่อนทำไม่ได้ ในเวอร์ชั่นนี้สามารถทำได้แล้ว สามารถใช้อะไรอย่าง
>>> from django.db.models import Avg
>>> Book.objects.all().aggregate(Avg(‘price’))
{‘price__avg’: 34.35}
หล่อขึ้นเยอะมากเลยทีเดียว
และอีกหลายๆอย่างที่ขี้เกียจเขียน อยากรู้ไปอ่านเองดีกว่าครับ
ส่วนเรื่องภาษาไทยนั้น ผมได้ส่งฉบับล่าสุด โดยมีพี่เทพช่วยตรวจสอบให้ โดยพยายามให้เป็นไปในแนวทางเดียวกันกับ tl10n หลายๆจุดปรับปรุงให้ดีขึ้น ลดความกำกวมไปเยอะ โดยทาง Django ได้ปล่อย stable version หลังจากที่เพิ่มภาษาไทยเพียงสี่ชั่วโมง ฉิวเฉียด หวาดเสียวกันจนหยดสุดท้ายจริงๆ
ยังไงก็ขอให้สนุกกับการพัฒนาโปรแกรมนะครับ
Django 1.1RC ออกมาแล้วเมื่อวันที่ 21 กรกฏาคม ที่ผ่านมา แต่พึงระลึกว่ายังไม่ใช่ตัวหลัก แนะนำว่าอย่าเพิ่งรีบร้อนเอามาใช้ในงานจริง เพราะว่าหากโชคดี คงจะได้เห็นตัวหลักในเวลาอันไกล้
ตอนนี้จะไม่มีการแก้ไขข้อความอะไรเพิ่มตาม หากต้องการจะแปล นี่เป็นโอกาสอันดีแล้วครับ ลุยกันเลย
หากต้องการจะลอง สามารถ DOwnload ได้ที่นี่
เขียนเว็บก็ที่ก็ต้องมานั่งเขียน validate email address ทุกที รำคาญมาก จดไว้ในนี้เสีย จะได้ไม่ต้องเสียเวลาไปค้นอีก
อย่างแรกคือกฎ วุ่นวายสับสนมากมาย ไปอ่านเพิ่มเติมกันเอาเองที่นี่ IETF แต่ถ้าเอาคร่าวๆก็ตามนี้
Alpha Characters a-z and A-Z (ASCII 97-122 and 65-90)
Numeric Characters (ASCII 48-57)
Exclamation Point ‘!’ (ASCII 33)
Number Sign ‘#’ (ASCII 35)
Dollar Sign ‘$’ (ASCII 36)
Percent Sign ‘%’ (ASCII 37)
Ampersand ‘&’ (ASCII 38)
Single Quote ”’ (ASCII 39)
Asterisk [...]
def fact(x): return (1 if x<1 else x * fact(x-1))
เพราะคนดีย่อมแก้ไข คนจัญไร นั้นแก้ตัว ผมจึงสารภาพตามตรงว่าหลังจากบาร์แคมป์ บางกอก ครั้งที่ 3 แล้ว ความขี้เกียจได้จับตัวกันเป็นก้อน ไม่มีเหตุผลอื่นใดเลย เรื่องที่ติดว่าจะบล็อกเรื่องการ Deploy Django นั้นจึงยังไม่ได้ขึ้นด้วยประการฉะนี้
เกริ่นไปให้มากความ เข้าเรื่องเลยดีกว่า ก่อนอื่นเลยผมขอแยกส่วนต่างๆของโปรเจ็คออกเป็นส่วนๆ เพื่อง่ายต่อการอัพเดต
Django (เอาไว้เก็บ Source code ของ django)
Media (images, css, javascript)
Logs ( ถ้าอยากมี logs ก็เอามันมาไว้ข้างนอกเสีย อย่าเอาไปรวมกับ source code)
User-upload ( อะไรที่ user upload ขึ้นมา พึงระวัง)
Project source code ( เอาไว้เก็บไฟล์โปรเจ็คของเรา มีอะไรก็อัพเดตมันตรงนี้แหละ)
Configuration ( ชื่อก็บอกว่าเก็บคอนฟิก อันนี้ถ้าทำงานหลายๆ คนก็แยกเป็นโฟลเดอร์ย่อยๆ ของใครของมัน หรือถ้าทำคนเดียวก็เป็นโฟลเดอร์ย่อยอีกนั่นแหละ เผื่อมีคนรู้ใจเข้ามาทำด้วย จะได้ขยับขยายได้ง่าย)
Extension ect…(extension, libary, python packages [...]
This thread describes the issue
The following command will generate the locale on Unix systems.
sudo locale-gen en_US
