The system to facilitate the distribution and accession of the faculty's announcement

ระบบควบคุมในการกระจายและเข้าถึงข่าวสาร การประกาศ

วันอาทิตย์ที่ 20 ธันวาคม พ.ศ. 2558

Adviser meeting 21/12/2558

ไม่มีความคิดเห็น :
1.ข้อมูลที่ใช้เปรียบเทียบ django cms กับ wordpress
2. usecase ใช้กับ cms ทั้งสองได้ มีส่วนไหนที่ใช้ plugin เพิ่มเติมหรือเขียนเอง
3. ลองอัพโหลดขึ้นเว็บของรุ่นพี่
4. กลับบ้านปีใหม่กลับวันที่ 27 ธันวาคม พ.ศ. 2558 กลับมาช่วงวันที่ 7-8 มกราคม พ.ศ. 2559
5. นัดอาจารย์วันที่ 5-6 มกราคม พ.ศ. 2559

สรุปสิ่งที่ดำเนินการไปแล้ว 21/12/2558

ไม่มีความคิดเห็น :
สิ่งที่ได้ดำเนินการไปแล้ว
1. รายงานบทที่ 1
2. วิธีเปิด startup google chorome บน Raspberry pi2
3. usecase

ข้อมูลที่ศึกษา
1. การสร้าง plugin ด้วย django cms
2. การใช้งาน Raspberry pi2
3. เปรียบเทียบ cms ต่างๆ

สิ่งที่ยังไม่ได้ดำเนินการ/ยังไม่เสร็จ
1. ออกแบบ database
2. หน้าเว็บ
3. ลองอัพโหลดลง server ของรุ่นพี่
4. ออกแบบฟังก์ชันการใช้งาน
5. module สร้างเอกสาร
6. รายงานบทที่ 2

วันพุธที่ 28 ตุลาคม พ.ศ. 2558

วิธีทำ Raspberry pi2 startup chromium web browser

ไม่มีความคิดเห็น :
เปิดหน้าต่าง terminal แล้ว run คำสั่งต่อไปนี้

sudo apt-get install chromium-browser ttf-mscorefonts-installer unclutter x11-xserver-utils

จากคำสั่งข้างต้นจะทำการติดตั้งโปรแกรมต่างๆ ดังนี้

  • chromium-browser installs Google’s Chrome browser
  • ttf-mscorefonts-installer adds common web fonts
  • unclutter is used to hide the mouse
  • x11-xserver-utils installs xset, which is used to disable screen blanking
จากนั้นใน terminal ทำการ run คำสั่งนี้

sudo vi /etc/xdg/lxsession/LXDE-pi/autostart

เพื่อเข้าไปแก้ไขไฟล์ autostart ดังนี้

# CHANGED
#@xscreensaver -no-splash

# BEGIN ADDED
# Chromium parameter references:
# http://peter.sh/experiments/chromium-command-line-switches/
@/usr/bin/chromium-browser --kiosk --start-maximized https://google.com

# Hide mouse
@unclutter

# Disable screensaver
@xset s off

# Disable screensaver blanking
@xset s noblank

# Disable DPMS (Energy Star) features
@xset -dpms

# END ADDED

โดยเราพิมพ์ # เพื่อ comment โค้ดเก่าไว้ใช้ภายหลังได้แล้วพิมพ์โค้ดด้านบนเพิ่มเข้าไป

Adviser meeting 29/10/2558

ไม่มีความคิดเห็น :
สิ่งที่ดำเนินการไปแล้ว
1. slide project บทที่ 1
2. ทดลองใช้ Raspberry pi2 startup Chromium-web browser


bit bucket : git clone https://devilslinger@bitbucket.org/devilslinger/project-document.git

วันพุธที่ 21 ตุลาคม พ.ศ. 2558

Adviser meeting 22/10/2558

ไม่มีความคิดเห็น :
ไม่มีความคืบหน้า เนื่องจากติดงานที่ยังทำไม่สำเร็จของวิชาอื่น

วันศุกร์ที่ 16 ตุลาคม พ.ศ. 2558

Adviser meeting 15/10/2558

ไม่มีความคิดเห็น :
ไม่มีความคืบหน้าจากสัปดาห์ที่แล้ว

1. สร้าง repository ของ document แยกกับ project
2. สร้าง project ให้เราทดลองใช้กับ project ของพี่ได้
3. ไม่ว่าจะมีความคืบหน้าหรือไม่ให้เขียน blog มาก่อน
4. Slice present ภายใน 1-2 อาทิตย์
    - ที่มาและความสำคัญ
    - สิ่งที่จะทำ ทำอย่างไร
    - สิ่งที่แตกต่างจากของเดิม
    - concept การเป็นนักขาย
    - ภาพรวมระบบ
5. เตรียม present ใน youtube
    - ชวนกลุ่มอื่นมาทำด้วยเพื่อให้ผู้อื่นรู้ว่าโปรเจ็คเรามีการทำอะไร

สิ่งที่จะดำเนินการต่อ
1. สร้าง repository ของ document
2. ทดลองนำ project เราไปใช้กับ project ของรุ่นพี่
3. ทำ Slice present

วันพุธที่ 7 ตุลาคม พ.ศ. 2558

User meeting 6/10/2558

ไม่มีความคิดเห็น :
1. ประเภทของประกาศแบ่งได้ตามนี้
1. รับสมัครงาน
2. รับนักศึกษาฝึกงาน
3. เชิญเข้าร่วมกิจกรรม
- อบรม
- ค่ายอาสา
- งานประกวดแข่งขัน
      - งานสังสรรค์
      - งานกิจกรรม
      - สัมมนา
    4. แสดงความยินดี
    5. ข้อคิด คำคม
    6. รณรงค์
    7. แจ้งกำหนดการ
    8. เตือนภัย
    9. ความรู้ที่เป็นประโยชน์
    10. เทศกาล
    11. ทุนการศึกษา
    12. ต้อนรับ
2. อยากให้ตั้งเวลาหมดอายุของประกาศได้ คือถ้าประกาศไหนหมดอายุจะหยุดแสดงบนหน้าจอเอง
3. feature ที่ใช้สร้างประกาศก็เหมือน power point
4. เมื่อได้รูปภาพสำเร็จรูปมาแล้วขนาดไม่พอดีกับหน้าประกาศต้องปรับแต่งรูปนั้นเพิ่มเติม

Adviser meeting 8/10/2558

ไม่มีความคิดเห็น :
สิ่งที่ดำเนินการไปแล้ว
1. ติดต่อพี่แหม่ม เรื่องประเภทของประกาศ ดูรายละเอียดคลิกที่นี่
2. หาวิธีติดตั้ง chrome บน raspberry pi
3. หาวิธีตั้ง startup webbrowser บน raspberry pi

วันพุธที่ 30 กันยายน พ.ศ. 2558

Adviser meeting 1/10/2558

ไม่มีความคิดเห็น :
1. เก็บบทที่ 1 ลง bitbucket, google drive
2. ติดตั้ง chrome บน Raspberry pi
3. หาวิธีให้บูท Raspberry pi แล้วเปิดเว็บมหาลัยอัตโนมัติ
4. หาวิธีบูททันทีโดยไม่สั่ง startx
5. ติดต่อพี่แหม่ม
6. ลองใช้งาน django1.8
7. ใน django cms หาข้อมูล feature ที่ใกล้เคียงกับที่พี่แหม่มใช้งานและไปเล่าให้พี่แหม่มฟัง
8. วิเคราะห์ ข้อจำกัด ปัญหา การจัดการ document ของ django cms
9. ถ้าแก้ไขปัญหาจน run django cms บน project รุ่นพี่ได้ให้ลอง run server จริง

สิ่งที่ดำเนินการไปแล้ว

1. ทดลองใช้งาน Raspberry pi
2. ทำรายงานบทที่ 1 ส่งให้ภาควิชา
3. ส่งงาน djangocms ไปทดลองรันกับ project รุ่นพี่

สิ่งที่จะดำเนินการต่อ

1. เก็บบทที่ 1 ลง bitbucket, google drive
2. ติดตั้ง chrome บน Raspberry pi
3. บูท Raspberry pi แล้วเปิดเว็บมหาลัยอัตโนมัติ
4. ติดต่อพี่แหม่ม เรื่องประเภทประกาศ
5. ลองใช้งาน django1.8 วิเคราะห์ ข้อจำกัด ปัญหา การจัดการ document ของ django cms
6. หาข้อมูล feature ที่ใกล้เคียงกับที่พี่แหม่มใช้งาน
7. ถ้าแก้ไขปัญหาจน run django cms บน project รุ่นพี่ได้ให้ลอง run server จริง

วันพุธที่ 23 กันยายน พ.ศ. 2558

Adviser meeting 24/09/2558

ไม่มีความคิดเห็น :
1. เรียงลำดับประเภทของประกาศตาม user
2. ติดต่อพี่แหม่ม เรื่องประเภทบทความ บทนำและวัตถุประสงค์
3. ทดลองใช้งาน Raspberry pi
4. ติดต่อกลุ่มพี่กล้าณรงค์ ลอง run app บน project ของพี่
5. project ของกลุ่มพี่คือซอฟต์แวร์ประเภทไหน

สิ่งที่ดำเนินการไปแล้ว
1. แบ่งเนื้อหาประกาศตามกลุ่มผู้พบเห็น
2. เขียน blog ที่ได้ศึกษา django cms
3. ปรับปรุงเนื้อหาวัตถุประสงค์ ทฤษฎีที่เกี่ยวข้อง

สิ่งที่จะดำเนินการต่อไป
1.เรียงลำดับประเภทของประกาศตาม user
2. ติดต่อพี่แหม่ม
3. ลอง run app บน project ของพี่กล้าณรงค์
4. หาคำตอบ project ของกลุ่มพี่คือซอฟต์แวร์ประเภทไหน
5. ทดลองใช้งาน Raspberry pi

วันอาทิตย์ที่ 20 กันยายน พ.ศ. 2558

django cms #3 Plugin

ไม่มีความคิดเห็น :
    จากบทเรียนที่ผ่านมาหน้าเว็บของเราประกอบด้วย placeholder ใน placeholder สามารถใส่ plug-in ต่างๆลงไปได้  มี static placeholder ที่แสดงอยู่ทุกหน้าของเว็บเรา    ในบทนี้เราจะทำการสร้าง poll app ลงไปในเว็บเรา และนำ poll app นั้นมาสร้างเป็น plug-in สำหรับเรียกใช้งานใน placeholder ได้

ติดตั้ง polls app

    เปิด command shell ให้เราอยู่ใน ENV\tutorial-project แล้วพิมพ์คำสั่ง

pip install -e git+http://git@github.com/divio/django-polls.git#egg=django-polls 
   ถ้าคำสั่งด้านบนใช้ไม่ได้ให้ clone polls app จาก
                               https://github.com/pychuang/django-1.8-tutorial

   ได้ไดเรกทอรี django-polls ดังนี้
   ENV\
            tutorial-project\
                                    \polls
                                            __init__.py
                                            admin.py
                                            models.py
                                            templates/
                                            tests.py
                                            urls.py
                                            views.py

  เข้าไปใน ENV\tutorial-project\mysite\settings.py เพิ่ม 'polls' ลงใน INSTALL_APPS ด้วย
      ในไดเรกทอรีเดิมเปิดไฟล์ urls.py
   ทำการเพิ่ม url(r'^polls/', include('polls.urls', namespace='polls')), ใน urlpatterns
  โดยให้  url(r'^', include('cms.urls')), เป็น url ตัวล่างสุดใน urlpetterns ดังนี้

cd .. ย้อนกลับไปยัง ENV\tutorial-project ที่มีไฟล์ manage.py อยู่แล้วพิมพ์คำสั่ง

  python manage.py migrate polls

    คำสั่งด้านบนทำให้เกิด database ของ polls app ของเรา เสร็จแล้วให้เราเข้าไปใน localhost:8000/admin/  เพื่อสร้าง polls และ choice สำหรับตอบคำถาม
หน้า Polls admin 

เข้าไปใน mysite/templates/polls/base.html แล้วพิมพ์โค้ด ดังนี้
{% extends 'base.html' %}

{% block content %}
    {% block polls_content %}
    {% endblock %}
{% endblock %}
เราจะสามารถเปิด polls app ของเราได้โดย http://localhost:8000/en/polls/

เห็นคำถามที่เราสร้างขึ้น

ทดลองเลือก choice
แสดงผลโหวต

สร้าง plugin


มายัง ENV\tutorial-project แล้วพิมพ์คำสั่ง python manage.py startapp polls_plugin
ได้ไดเรกทอรี ดังนี้
ENV\
        \tutorial-project
                      \polls_plugin
                                        __init__.py
                                        models.py
                                        tests.py
                                        urls.py
                                        views.py


สร้าง Plugin models

   เข้าไปใน ENV\tutorial-project\polls_plugin\models.py แล้วพิมพ์โค้ด ดังนี้
from django.db import models
from cms.models import CMSPlugin
from polls.models import Poll


class PollPlugin(CMSPlugin):
    poll = models.ForeignKey(Poll)

    def __unicode__(self):
        return self.poll.question
   djangoCMS plugins สืบทอด class จาก cms.models.CMSPlugin    

สร้าง Plugin Class

    ใน ENV\tutorial-project\polls_plugin สร้าง cms_plugins.py พิมพ์โค้ด ดังนี้
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
from polls_plugin.models import PollPlugin
from django.utils.translation import ugettext as _


class CMSPollPlugin(CMSPluginBase):
    model = PollPlugin  # model where plugin data are saved
    module = _("Polls")
    name = _("Poll Plugin")  # name of the plugin in the interface
    render_template = "djangocms_polls/poll_plugin.html"

    def render(self, context, instance, placeholder):
        context.update({'instance': instance})
        return context

plugin_pool.register_plugin(CMSPollPlugin)  # register the plugin
ทุก plugin class สืบทอดจาก cms.plugin_base.CMSPluginBase และ register ตัวมันเองด้วย cms.plugin_pool.plugin.pool


template

    เข้าไปยัง ENV\tutorial-project\polls_plugin\templates\djangocms_polls แล้วสร้างไฟล์ poll_plugin.html แล้วพิมพ์โค้ด ดังนี้
<h1>{{ instance.poll.question }}</h1>

<form action="{% url 'polls:vote' instance.poll.id %}" method="post">
    {% csrf_token %}
    <div class="form-group">
        {% for choice in instance.poll.choice_set.all %}
            <div class="radio">
                <label>
                    <input type="radio" name="choice" value="{{ choice.id }}">
                    {{ choice.choice_text }}
                </label>
            </div>
        {% endfor %}
    </div>
    <input type="submit" value="Vote" />
</form>
ใส่ 'polls_plugin' ใน INSTALL_APPS เหมือนที่ทำกับ 'poll' ด้วย

 มายัง ENV\tutorial-project แล้วพิมพ์คำสั่ง
python manage.py makemigrations polls_plugin
python manage.py migrate polls_plugin
ลอง run server จากนี้เราเพิ่ม Poll Plugin ลงใน  placeholder ที่เราต้องการได้เลย


มี Polls Plugin ให้เราเลือก
Polls Plugin เริ่มทำงาน

วันเสาร์ที่ 19 กันยายน พ.ศ. 2558

django cms #2 Templates & Placeholders

ไม่มีความคิดเห็น :
    Template เป็นหน้า html ส่วน Placeholder เป็นพื้นที่ที่เราจัดสรรให้ plug-in แสดงการทำงานบนหน้า html ตัวอย่างเช่น

    จากรูปด้านบนดูในมุมมอง structure mode มี 2 placeholder ได้แก่ FEATURE กับ CONTENT ซึ่งทั้ง 2 placeholder นี้มี plug-in ต่างๆอยู่ภายใน  ถ้าเรากดปุ่มเมนูตรงมุมขวาบนของ placeholder จะเห็นรายการ plug-in รวมอยู่ด้วย  ซึ่งเราสามารถเลือก plug-in ลงไปใน placeholder ได้

    ขั้นตอนต่อไปให้เราเข้าไปที่ tutorial-project\mysite\templates แล้วเปิดไฟล์ feature.html ขึ้นมาเราจะเห็น {% load cms_tags %} โดย cms_tags เป็นไฟล์ที่ถูกเรียกใช้อีกทีนึง
    ต่อมาเป็น {% placeholder "feature" %} และ{% placeholder "content" %} ซึ่งทำให้ placeholder feature กับ content ปรากฎบนหน้าเว็บเรานั่นเอง

Static placeholder
    ในเว็บมีหลายหน้ามีเนื้อหาบางส่วนที่แสดงเหมือนกันในทุกหน้าเว็บ ดังนั้น static placeholder คือ placeholder ที่ปรากฎในทุกหน้าเว็บของเรา ตัวอย่างเช่น footer ขั้นต่อมาเราจะทำการเพิ่ม footer ในหน้าเว็บของเรา  ให้เข้าไปที่ tutorial-project\mysite\templates เปิดไฟล์ base.html แล้วเพิ่มโค้ดด้านล่างนี้ใน html tag

<footer>
  {% static_placeholder 'footer' %}
</footer>
ทดลองเพิ่ม placeholder ใน  tutorial-project\mysite\templates\feature.html 
<div>
        {% placeholder "footer-content" %}
</div>
footer และ footer-content จะปรากฎออกมาดังรูป

เลือก menu มุมขวาบนของ footer-content เพิ่ม plug-in text


กลับมาที่ content mode จะเห็นข้อความที่เพิ่งสร้างใน footer-content



Rendering Menus
    เราเลือกใช้ munu จาก bootstrap ได้ถ้าตอนติดตั้งเราเลือกให้ติดตั้ง bootstrap ซึ่ง menu นี้อยู่ใน tutorial-project\mysite\templates\menu.html ตัวอย่างการใช้งานอยู่ใน
tutorial-project\mysite\templates\base.html โค้ดด้านล่างคือตัวอย่างการใช้งาน

<ul class="nav navbar-nav">
    {% show_menu 0 1 100 100 "menu.html" %}
</ul>
มีการเรียกใช้ library ชื่อ menu_tags

{% load menu_tags %}


วันพฤหัสบดีที่ 17 กันยายน พ.ศ. 2558

เข้าทดลองใช้ raspbery pi 16/09/2015

ไม่มีความคิดเห็น :

การเข้าทดลองใช้งาน Raspbyrry Pi #16/09/2015

ได้ทำการทดลองต่ออุปกรณ์ Raspberry Pi2
โดยมีหน้าจอ LCD ต่อเข้ากับพอร์ต HDMI ของ Raspberry Pi
มี Module Wifi ซึ่งเป็น usb, เมาส์, คีย์บอร์ด
และ SD card memory ซึ่งมี OS ของ Raspberry Pi อยู่
   โดยในการทดลองใช้งานครั้งนี้ ทางนักศึกษารุ่นน้องซึ่งเป็น Teacher Assistant ในการสอนใช้งาน Raspberry Pi ได้ทำการติดตั้ง และ Setup พื้นฐานไว้หมดแล้ว อาทิเช่น OS, Wifi, โปรแกรมพื้นฐาน และโปรแกรมสำหรับสอน
 
รูปภาพที่ 1.1
.จากรูปภาพที่ 1.1 จะเป็นภาพหน้าจอ OS Raspberry Pi (Raspbian) ไฮไลท์ของภาพนี้คือ โปรแกรม ที่ติดตั้งไว้ภายในเครื่อง จะมี Mathematica เป็นโปรแกรมการคำนวณทางด้านคณิตศาสตร์, ฟิสิกส์ โดยในครั้งนี้ไม่ได้ทดลองใช้โปรแกรมนี้ และมี โปรแกรม Python 2, Python 3 ซึ่งเป็นโปรแกรมเขียน Code python 2-3 มีโปรแกรม Scratch ซึ่งเป็นโปรแกรมสำหรับการเขียน Code โดยใช้ GUI ที่มีในโปรแกรม สำหรับการสร้าง Code ที่ไม่ต้องเขียนเอง ใช้เพียงการลากคำสั่งต่างๆมาวางในส่วนที่เตรียมไว้ และทำการตั้งค่าคำสั่งนั้นๆ ว่าจะให้ทำ จำนวน, เวลา, อื่นๆ อย่างไร
รูปภาพที่ 1.2
รูปภาพที่ 1.3
ในรูปภาพที่ 1.2 จะเป็นการทดลองนำคำสั่งจากทางด้านซ้ายมาวางในช่อง Scripts เพื่อใช้งาน โดยจะมีสามส่วน
- ส่วนที่เป็นสีน้ำเงิน จะเป็นส่วนของการเซ็ตค่าตำแหน่งของ เจ้าเหมี่ยวทางด้านขวา โดยปกติเจ้าเหมียวจะอยู่ตรงกลางหน้าจอพอดี จึงทำการเซ็ตค่าให้เจ้าเหมียวลงมาอยู่ทางด้านซ้ายล่าง ด้วยการลดตำแหน่งทางแกน x, แกน y ลง 150 และ 100 ตามลำดับ (-150, -100)
-ส่วนที่เป็นสีม่วง จะเป็น action ที่เจ้าเหมียวจะทำ โดยที่นำมาใช้จะเป็นการที่เจ้าเหมียวพูด Hello! เป็นระยะเวลา 5 วินาที
-ส่วนที่เป็นสีเหลือง จะเป็นการตั้งเงื่อนไขให้กับคำสั่งด้านล่าง โดยเงื่อนไขนี้จะเป็นการกดคลิก ที่คำสั่ง แล้วจะทำการส่งต่อไปให้ทำคำสั่งด้านล่างคำสั่งนี้ หรือก็คือ เมื่อคลิกที่คำสั่งนี้ จะทำการสั่งให้เจ้าเหมียวพูดคำว่า Hello! เป็นระยะเวลา 5 วินาที (ตามรูปภาพที่ 1.3)


และนอกเหนือจากนี้ เนื่องจากคีย์บอร์ดมีปัญหา เมื่อพิม @ บนคีย์บอร์ด อักขระที่ออกมาจากการพิมจะกลายเป็น " และกลับกันหากพิม " ผลก็คือจะได้รับ @ ออกมาแทน โดยนักศึกษารุ่นน้องได้ทำการสันนิษฐานไว้ว่าน่าจะเป็นเพราะคีย์บอร์ดที่ Config ไว้เป็น UK แต่คีย์บอร์ดที่ใช้เป็นของ US จึงได้ทำการ config คีย์บอร์ด โดยการใช้คำสั่ง

sudo dpkg-reconfigure keyboard-configuration


พิมลงใน Terminal ของ Raspbian และจะมีหน้าต่างการ Configure ขึ้นมา (ขออภัย ไม่ได้ทำการ capture ไว้) แล้วทำการค้นหาชื่อยี่ห้อ/รุ่นคีย์บอร์ดที่ตรงกับคีย์บอร์ดที่ใช้ โดยในที่นี้เป็นคีย์บอร์ดยี่ห้อ Logitech จึงทำการหา Keyboard นี้ในหน้าต่าง Config และทำการเลือกเข้าไป และทำการเลือกภาษา เป็น English US ต่อจากนั้นจึงทำการ Reboot เครื่อง ก็จะได้การใช้งานคีย์บอร์ด US มาใช้

และภาพที่ Capture มาจาก Raspbian ก็ได้จากการ Install คำสั่งการ Capture หน้าจอ ด้วยคำสั่ง
sudo apt-get install scrot
และเมื่อทำการ Install เรียบร้อยเมื่อต้องการจะ Capture หน้าจอ ก็ทำการรันคำสั่ง
scrot
ในเทอร์มินอล แล้วระบบจะทำการแคปเจอร์หน้าจอและเซฟลงที่ไดเรคทอรี่ของ user โดยจะมีคำสั่งอื่นๆอีกเกี่ยวกับการ Capture ภาพหน้าจอโดยที่ได้ใช้จะมีสองคำสั่งคือ
scrot -d 10
คำสั่งแรกนี้จะเป็นการเพิ่ม -d เข้าไปซึ่งก็คือการกำหนด delay ก่อนจะทำการ Capture โดยพารามิเตอร์ที่รับมา จะมีหน่วยเป็น วินาที

scrot /home/pi/myscreen.png
และคำสั่งที่สอง จะเป็นการ Capture และเซฟไฟล์ในตำแหน่งที่ระบุ(รวมถึงตั้งชื่อ) โดยปกติถ้าไม่ได้ตั้งชื่อ ชื่อของภาพจะได้เป็น Time Stamp เช่น "2015-09-16-125256_1318x736_scrot"





----------------------------------------------------------------

Reminder

Information blog : http://raspberrypi2u.blogspot.com/

Information for configure keyboard : https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=9136
Information for install and use scrot to capture screen : http://www.raspberrypi-spy.co.uk/2013/10/how-to-take-screenshots-on-the-raspberry-pi/
Boot OS :  'startx'

adviser meeting 17/09/2015

ไม่มีความคิดเห็น :
1. เนื้อหาวัตถุประสงค์ แก้ไขคำว่า "เห็นว่าจะสร้าง"
2. แบ่งกลุ่มประกาศจากประเภทของประประกาศ
3. ข่าวภายใน/นอก วีดิโอ ไม่น่าเป็นชนิดประกาศ
4. หา feature ของ django cms ที่เกี่ยวข้องกับงาน
5. หาเวลามาทดลอง Raspberry pi
6. ตัดเนื้อหา cms ในที่มาและทฤษฎีที่เกี่ยวข้อง
7. ขอบเขตให้อธิบาย usecase แบบคร่าวๆ
8. ติดต่อพี่กล้าณรงค์
9. โพสสิ่งที่ศึกษาเกี่ยวกับ django cms
10. รายงานปัญหาผ่าน email ก่อน meeting

สิ่งที่ดำเนินการไปแล้ว
1. เขียนรายละเอียด usecase
2. หาข้อมูลเปรียบเทียบ wordpress กับ django cms
3. แบ่งประเภทของประกาศ
4. แก้ไขที่มาและจุดประสงค์

สิ่งที่จะดำเนินการต่อ
1.แก้ไขเนื้อหาวัตถุประสงค์ ที่มา ขอบเขตและทฤษฎีที่เกี่ยวข้อง
2.แบ่งประเภทประกาศใหม่และจัดกลุ่ม
3. ติดต่อพี่กล้าณรงค์
4. โพสสิ่งที่ศึกษาเกี่ยวกับ django cms
5. ทดลอง Raspberry pi

วันจันทร์ที่ 14 กันยายน พ.ศ. 2558

ประเภทบทความ#2

ไม่มีความคิดเห็น :
จากการไปขอข้อมูลประกาศทั้งหมด ประกอบด้วยประกาศปี พ.ศ. 2557 และ พ.ศ. 2558 สรุปได้ว่ามีเนื้อหาประกาศหลายประเภท ดังนี้ั


1. รับสมัครงาน
2. รับนักศึกษาฝึกงาน
3. เชิญเข้าร่วมกิจกรรม
- อบรม
- ค่ายอาสา
- งานประกวดแข่งขัน
- งานสังสรรค์
- งานกิจกรรม
- สัมมนา
4. แสดงความยินดี
5. ข้อคิด คำคม
6. รณรงค์
7. แจ้งกำหนดการ
8. เตือนภัย
9. ความรู้ที่เป็นประโยชน์
10. เทศกาล
11. ทุนการศึกษา
12. ต้อนรับ

ประกาศสำหรับนักศึกษา
1. รับสมัครงาน
2. รับนักศึกษาฝึกงาน
3. เชิญเข้าร่วมกิจกรรม
4. แสดงความยินดี
5. ข้อคิด คำคม
6. รณรงค์
7. แจ้งกำหนดการ
8. เตือนภัย
9. ความรู้ที่เป็นประโยชน์
10. เทศกาล
11. ทุนการศึกษา
12. ต้อนรับ
13. เชิญเข้าร่วมกิจกรรม
- อบรม
- ค่ายอาสา
- งานประกวดแข่งขัน
- งานกิจกรรม


ประกาศสำหรับอาจารย์
1. แสดงความยินดี
2. ข้อคิด คำคม
3. รณรงค์
4. แจ้งกำหนดการ
5. เตือนภัย
6. ความรู้ที่เป็นประโยชน์
7. เทศกาล
8. ต้อนรับ
9. เชิญเข้าร่วมกิจกรรม
- อบรม
- งานสังสรรค์
- งานกิจกรรม
- สัมมนา

ประกาศสำหรับบุคคลทั่วไป
1. แสดงความยินดี
2. ข้อคิด คำคม
3. รณรงค์
4. แจ้งกำหนดการ
5. เตือนภัย
6. ความรู้ที่เป็นประโยชน์
7. เทศกาล
8. ต้อนรับ

Django cms กับ Wordpress

ไม่มีความคิดเห็น :
     ในการสร้างเว็บไซด์มีการใช้เครื่องมือ cms ช่วยให้สร้างเว็บได้สะดวก รวดเร็วขึ้น Wordpress เป็น cms ที่ออกแบบมาสำหรับสร้าง blog แต่มี plug-in ให้เลือกใช้มากมายเพราะมีผู้ใช้งานมาก มีผู้พัฒนามาก   สำหรับ Django cms พัฒนามาจาก Django framwork ต่อไปนี้จะเป็นข้อมูลเปรียบเทียบระหว่าง Wordpress กับ Django cms ตามประเด็นต่างๆ

1. base-programming language
     Wordpress ใช้ PHP
     Django cms ใช้ python

2. การรองรับ MVC ( Model view controller )
    Wordpress ไม่รองรับ
    Django cms รองรับ

3. จำนวนผู้ใช้งาน ( ข้อมูล ณ วันที่ 14 กันยายน พ.ศ. 2558 )
    Wordpress มากกว่า Django cms

4. ความเร็ว
    Django cms เร็วกว่า Wordpress ถ้าออกแบบดี

5. ความง่ายในการใช้งาน
    Wordpress ใช้งานง่ายกว่า Django cms

6. ความปลอดภัย
   Django cms ปลอดภัยกว่า Wordpress เพราะ plug-in ของ Wordpress นั่นมีมากมายการติดตั้งใช้เวลาน้อย บางตัวอาจเป็นอันตรายต่อระบบ

7. template
    Django ใช้ระบบ template ของตัวเอง แต่ Wordpress ใช้ html5 กับ CSS

8. เวลาในการติดตั้ง
    Wordpress เร็วกว่า Django cms

    พบว่าการเลือกใช้ Wordpress กับ Django cms นั้นขึ้นอยู่กับความเหมาะสมของงาน   ถ้าต้องการสร้างเว็บ Blog หรือสร้างงานไม่ซับซ้อนมาก   Django cms นั้นเหมาะกับงานที่มีความซับซ้อน ต้องการประสิทธิภาพและความเร็ว    การใช้ Wordpress นั้นอาจโหลด template มาใช้งานได้เลย แต่บาง template อาจไม่เหมาะกับงาน   Django ใช้การแก้ไขรูปแบบ CSS เองความสะดวกจะน้อยกว่าแต่เราจะได้ template ที่เหมาะสมกับงานมากขึ้น    Django cms เหมาะสำหรับงานเฉพาะทางมากว่า Wordpress เพราะระบบ framework และ MVC ซึ่ง Wordpress ไม่มี

วันพุธที่ 9 กันยายน พ.ศ. 2558

adviser meeting 10/09/2558

ไม่มีความคิดเห็น :
1. แก้ไข ที่มาและวัตถุประสงค์
2. usecase ของอาจารย์กับนักศึกษาจะให้เหมือนหรือแตกต่างกันดี?
3. usecase ของผู้ดูแลระบบใช้ประโยคว่า สร้างประกาศ แทน สร้างเนื้อหาประกาศ
    ตัดประโยคที่มีคำว่า ไม่กระทบต่อการแสดงผล ออก
4. แก้ไขกับควบคุมเวลาแสดงประกาศให้เป็นงานเดียวกัน
5. usecase ผู้ดูแลระบบให้มี สร้าง แก้ไข ลบ ประกาศ
6. แบ่งประเภทของประกาศให้ครบ
7. หาข้อมูลเปรียบเทียบ wordpress กับ django cms
8. เขียนรายละเอียด usecase ตัวอย่างเช่น
      ชื่อ usecase
          ขั้นตอน 1. ...........
                        2. ...........
                        3. ...........

สิ่งที่ดำเนินงาน
1. ลองติดตั้ง ่django 1.7 ใน environment ที่ได้จากการใช้คำสั่ง vritualenv
2. เขียน blog เรื่องการ insatll django cms
3. ติดตั้ง django cms สำเร็จ จะสร้าง project ทดสอบ
4. แก้ไขเนื้อหาวัตถุประสงค์ ที่มาและความสำคัญของโครงงาน
5. แก้ไข usecase

ปัญหาที่พบ
1. ศึกษา django cms จากเว็บที่เราศึกษามีเนื้อบางส่วนผิดพลาด  ทำให้การศึกษาติดขัด

สิ่งที่ดำเนินการต่อ
1. วันจันทร์ที่ 14 กันยายน พ.ศ. 2558 ส่งความคืบหน้า
2. วันพุธที่ 16 กันยายน พ.ศ. 2558  นายภูวนัย    พงษ์พิทักษ์ชัย ทดลองใช้งาน Raspberry pi
3. เขียนรายละเอียด usecase
4. หาข้อมูลเปรียบเทียบ wordpress กับ django cms
5. แบ่งประเภทของประกาศให้ครบ
6. แก้ไข usecase
7. แก้ไขที่มาและจุดประสงค์

วัตถุประสงค์ แนวเหตุผล ทฤษฏีสำคัญและสมมุติฐาน

ไม่มีความคิดเห็น :
ระบบควบคุมในการกระจายและเข้าถึงข่าวสาร การประกาศ


The system to control the distribution and accession of the faculty's announcement


วัตถุประสงค์  


      คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าพระนครเหนือ ได้ติดตั้งหน้าจอ monitor     ซึ่งแสดงประกาศและข้อมูลข่าวสารอันเป็นประโยชน์แก่นักศึกษาและบุคลากร   โดยสร้างระบบช่วยให้หน้าจอ monitor มีประโยชน์แก่นักศึกษา อาจารย์และบุคคลทั่วไปมากขึ้น  นักศึกษา อาจารย์และบุคคลทั่วไปดูประกาศผ่าน web browser ได้  อาจารย์ นักศึกษาส่งข้อความไปแสดงยังหน้าจอ monitor ได้และผู้ดูแลระบบใช้งานระบบจัดการข้อมูลประกาศได้สะดวก



แนวเหตุผล ทฤษฎีสำคัญหรือสมมุติฐาน 

    การพัฒนาระบบจัดการแสดงข้อมูลประกาศนั้น จะติดตั้งคอมพิวเตอร์เครื่องหนึ่งให้เป็น server ระบบจัดการข้อมูลประกาศแล้วส่งข้อมูลไปยัง Raspberry pi ที่เชื่อมต่อกับหน้าจอ monitor แต่ละตัวโดย Raspberry pi จะเข้าถึงข้อมูลประกาศผ่าน web browser อาจารย์หรือนักศึกษาสามารถรับข้อมูลประกาศของทุกหน้าจอ monitor และส่งข้อความไปประกาศได้ทาง web browser ในการสร้างระบบจะใช้ cms(
content managment system) มาช่วย

ขอบเขตของการทำโครงการ
      อาจารย์และนักศึกษารับข้อมูลประกาศและส่งข้อความไปแสดงยังหน้าจอ monitor ผ่าน web browser ได้  ส่วนผู้ดูแลระบบจัดการข้อมูลประกาศของหน้าจอ monitor แต่ละตัวให้แสดงข้อมูลประเภท text รูปภาพ วีดิโอ และ pdf ได้โดยที่กำหนดให้แต่ละหน้าจอ monitor แสดงข้อมูลที่แตกต่างกันได้ และกำหนดช่วงเวลาแสดงข้อมูลได้


ประมาณการค่าใช้จ่ายในโครงการ   ค่าวัสดุ                                      -               บาท
                                                         ค่าใช้จ่ายเบ็ดเตล็ด                     -               บาท
                                                         รวมค่าใช้จ่ายในโครงการ             -               บาท


ผลประโยชน์ที่คาดว่าจะได้รับ

                เพิ่มความสะดวกในการเข้าถึงข้อมูลข่าวสารของคณะ สำหรับนักศึกษา บุคลากรในคณะ และบุคคลทั่วไป

วันจันทร์ที่ 7 กันยายน พ.ศ. 2558

django cms #1 install on Windows8.1

ไม่มีความคิดเห็น :
    django ได้พัฒนา cms ขึ้นมาเรียกว่า django cms เป็นระบบจัดการเนื้อหา    สำหรับผู้พัฒนาสามารถสร้าง plugin ได้เอง   ทำให้มีความยืดหยุ่นในการใช้งาน    ต่อไปนี้จะสอนวิธีการติดตั้ง django cms บน Windows 8.1 และใช้ python 2.7

1. เปิดหน้าต่าง command shell ( กดปุ่ม windows + r แล้วพิมพ์ cmd ตามด้วย enter ) ขึ้นมา
2. พิมพ์คำสั่ง virtualenv ENV
    virtualenv เป็นคำสั่งที่ใช้สร้างสิ่งแวดล้อมเฉพาะสำหรับสร้างงานที่ต้องการควบคุม version ของเครื่องมือต่างๆ สำหรับงานนี้เราจะได้ไดเรกทอรีชื่อ ENV ปรากฎออกมา ดังนี้

ENV
    Include
    Lib
    Script

จากนั้นติดตั้ง djangocms ด้วยคำสั่ง pip install djangocms-installer
3. ใช้ command shell เข้าไปใน Script แล้วพิมพ์คำสั่ง activate
  จะมี <ENV> ปรากฎขึ้นมาในหน้า command shell ก่อนพิมพ์คำสั่งในลักษณะนี้
   <ENV> C:\user\ENV\Script>
4. พิพม์ cd .. เพื่อย้อนมายังไดเรกทอรี ENV จากนั้นทำการสร้างไดเรกทอรีใหม่ชื่อ tutorial-project ด้วยคำสั่ง mkdir tutorial-project สร้างเสร็จแล้วให้พิมพ์ cd tutorial-project เพื่อเข้าไปข้างใน
5 พิมพ์คำสั่งต่อไปนี้เพื่อสร้าง django project ชื่อ mysite
  djangocms -p . mysite
จะมีคำถามปรากฎขึ้นมาให้เราตอบตามนี้ และจะมีให้กรอก username password ให้จำไว้ด้วยนะ

  • Database configuration (in URL format): sqlite://localhost/project.db
  • django CMS version: stable
  • Django version: 1.6
  • Activate Django I18N / L10N setting: yes
  • Install and configure reversion support: yes
  • Languages to enable. Option can be provided multiple times, or as a comma separated list: en, th
  • Optional default time zone: America/Chicago:
  • Activate Django timezone support: yes
  • Activate CMS permission management: yes
  • Use Twitter Bootstrap Theme: yes
  • Use custom template set: no
  • Load a starting page with examples after installation: yes
6. เปิด web browser ขึ้นมาลองเข้า http://localhost:8000/
เข้ามาแล้วจะพบหน้าแบบนี้


7. ลอง login ดูด้วยการเติม ?edit เข้าไปหลัง url เดิม จะมีแถบดังรูปด้านล่างเพิ่มขึ้นมา ให้กรอก username password ที่กรอกไว้ตอนสร้าง project


8. หลังจาก login ได้แล้วเราจะเปลี่ยน mode ได้ structure กับ content ปัจจุบันเราอยู่ content ลองเปลี่ยนเป็น structure ดู ได้ผลแบบรูปด้านล่างนี้  เห็นได้ว่ามีการแบ่งขอบเขตการแสดงผลไว้เป็น feature กับ content คลิกที่มุมขวาบนของแต่ละส่วนจะเห็นแถบให้เลือก plugin มาติดตั้งดังรูป