นั่งอ่านหนังสือ ระบบปฏิบัติการ ของ รศ.ดร.กฤษดา ขันกสิกรรม

ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์

นั่งอ่านหนังสือ ระบบปฏิบัติการ (Operating system)
ของ รศ.ดร.กฤษดา ขันกสิกรรม
พบว่า บทที่ 1 ของท่านน่าสนใจ
พูดถึง “ระบบคอมพิวเตอร์” ในยุคต่าง ๆ
แล้วท้ายบทก็มีแบบฝึกหัด ผมได้ลองทำแล้ว
และพลิกไปมาระหว่างแบบฝึกหัด กับเนื้อหา
อ่านไปเพลิน ๆ วันรุ่นเรียกว่า “อ่านวนไป
อ่านเสร็จก็มานั่งทำโฮมเพจ ทำ fieldset
ที่ชื่อว่า “ถาม – ตอบ
เรียบเรียงทั้งส่วนของ multiple choice กับ right and wrong
มาทำเป็นถามตอบสั้น ๆ ไว้พูดคุยกับนักศึกษาของผม
http://www.thaiall.com/os/os01.htm
แล้วถ้ามีโอกาสก็คงหยิบถามตอบไปทำระบบสอบออนไลน์
เข้าชุด Ten Test Center
ที่ http://www.thaiall.com/quiz/test10.php
เพราะระบบสอบออนไลน์นี้ ผมอัพเกรดให้แจกใบรับรองไปเรียบร้อยแล้ว

แล้วโฮมเพจหน้าหนึ่งของผมก็ได้ 100/100 จาก pagespeed ของ google.com

pagespeed 100/100
pagespeed 100/100

เล่าสู่กันฟัง
เคยมีเพื่อนสนใจเรื่อง “การประเมินเว็บเพจให้ทำงานเร็ว และดีกับผู้ใช้
เพราะถ้าข้อมูลมหาศาลแล้ว ก็มีประเด็นสำคัญ 2 เรื่องใหญ่ที่ต้องใส่ใจ
ความเร็ว (Speed Rules) คือ ปัญหาในการให้บริการ
การใช้งาน (Usability Rules) คือ หน้าตาเว็บเพจสำหรับผู้ใช้
บริการของ Pagespeed จาก google.com
เป็นตัวเลือกหนึ่ง ที่มีเกณฑ์การประเมินชัดเจน
การได้ 100/100 คือ อะไรที่น่าสนใจ
วันนี้ลองอีกตั้งหนึ่ง ปรับแก้ให้ผ่านเกณฑ์จนได้ (หลังจากไม่เคยถึงเลย)
แล้วก็ผ่านครับ กับเว็บเพจหน้าแรกของผม คือ ศูนย์สอบออนไลน์
http://www.thaiall.com/quiz/index.html

สรุปว่า เมื่อ 22 ม.ค.60 ได้ปรับเว็บเพจ index.html ใน /quiz
ซึ่งเป็นหน้า welcome page ของศูนย์สอบออนไลน์ และเป็นการปรับใหญ่ที่มีคุณสมบัติต่าง ๆ
ต้อนรัปปี 2560 ดังนี้

1) เป็น Responsive Web Design
2) ผ่านเกณฑ์ Pagespeed ของ Google
3) ปรับรูปแบบ และเพิ่มเนื้อหาพาไปยังโฮมเพจที่สำคัญ

การผ่านเกณฑ์ของ Pagespeed มีข้อดี คือ
เว็บเพจของเราจะถูกโหลดอย่างรวดเร็วโดยผู้ใช้
และแสดงผลอย่างเหมาะสม
ทั้งบน mobile device และ desktop computer
ส่วนการเป็น Responsive Web Design
ทำให้การพัฒนา Application บน Google play store กับ App store ของ Google
สามารถทำ Redirect ไปยัง webpage ได้ทันที โดยไม่ต้องปรับแต่งเพิ่มเติม
เห็นแอพหลายตัวที่ทำขึ้นมาง่าย ๆ โดยเชื่อมกับเว็บไซต์โดยตรง
http://www.thaiall.com/web2

[Speed Rules]
Avoid landing page redirects
Enable compression
Improve server response time
Leverage browser caching
Minify resources
Optimize images
Optimize CSS Delivery
Prioritize visible content
Remove render-blocking JavaScript
Use asynchronous scripts

[Usability Rules]
Avoid plugins
Configure the viewport
Size content to viewport
Size tap targets appropriately
Use legible font sizes

แผนภาพบอกสัดส่วนชัดเลย มีหญิงไทยมากกว่าชายในไทย ดังนั้นชายเลือกได้มากกว่าหญิง .. จริงหรา

หญิงมีมากกว่าชาย
หญิงมีมากกว่าชาย

ที่เว็บไซต์ คนไทย.com มี Thailand Gateway มีข้อมูลทำให้เรารู้ว่าประเทศไทย มีคนไทยกี่คน วันนี้สนใจเรื่องการนำเสนอข้อมูลตัวเลข (Number) โดยใช้แผนภาพ (Diagram หรือ Chart) จะใช้ Google chart ทำ Pie chart เทียบหญิงกับชาย ว่ามีจำนวนเพศละกี่คน จากข้อมูลใน khonthai.com
พบว่า ประกาศสำนักทะเบียนกลาง
เรื่อง จำนวนราษฎรทั่วราชอาณาจักร ตามหลักฐานการทะเบียนราษฎร
ณ วันที่ 31 ธันวาคม 2558

คนที่มีสัญชาติไทย
มีชาย (Male) 31,865,175 คน
มีหญิง (Female) 33,064,910 คน
รวม 64,930,085 คน

http://www.thaiall.com/php/google_ajax_api_pie.htm

คนไทย.com มี Thailand Gateway มีข้อมูลทำให้เรารู้ว่าประเทศไทย มีคนไทยกี่คน
คนไทย.com มี Thailand Gateway มีข้อมูลทำให้เรารู้ว่าประเทศไทย มีคนไทยกี่คน

แล้วเมื่อเที่ยงของวันที่ 17 มกราคม 2560 นอกจากข้อมูลข้างต้น
ยังพบว่าเครื่องบริการข้อมูลของที่นี่ น่าจะใช้ Mysql
และใช้ภาษา PHP ที่รู้เพราะขณะโหลดข้อมูล
มีข้อความ Warning แจ้งให้ทราบ ว่าระบบฐานข้อมูลไม่ตอบตามปกติ
ก็เป็นกรณีศึกษาที่สามารถนำไปแบ่งปันในห้องเรียนได้
http://stat.bora.dopa.go.th/stat/y_stat58.htm

ใช้ javascript สั่ง print เว็บเพจออกทางเครื่องพิมพ์

print button by javascript
print button by javascript

เพื่อนต้องการสั่งพิมพ์ (print) ข้อมูลออกทางเครื่องพิมพ์
ไปทางกระดาษ A4 แต่ข้อมูลชุดเต็มมีจำนวนเขตข้อมูลมาก
จึงต้องตัดเขตข้อมูลที่ไม่ใช่สาระสำคัญออก
แล้วนำเสนอผ่านเว็บเพจใหม่อีกรอบ แทนข้อมูลชุดเต็ม

การนำออกกระดาษ A4 ก็ทำโดยเพิ่มปุ่ม print ทางเว็บเพจ
เมื่อกดปุ่ม print ก็จะสั่งพิมพ์ออกทางเครื่องพิมพ์ (printer)
เลือกขนาดกระดาษตามสะดวก
น่าจะเป็นทางออกที่ง่าย สำหรับผม และผู้สืบค้น
ที่มองเห็นปุ่มกด แล้วสั่งพิมพ์ผลทางเครื่องพิมพ์

button to print
button to print

[อธิบายตัวอย่าง code]
1. กำหนดส่วนของ div ให้มีปุ่มสำหรับสั่งพิมพ์
2. เหตุการณ์ onclick จะเรียกใช้ myFunction()
3. ใน Script จะสั่งพิมพ์ด้วย window.print() ก็จะเรียกบริการ print ของ window ขึ้นมา
4. ก่อนพิมพ์ก็สั่งซ่อนส่วนของ div
5. หลังพิมพ์ก็สั่งแสดงส่วนของ div อีกครั้ง

<div id=”prt”>
<button onclick=”myFunction()”>Print this page</button>
</div>
<script>
function myFunction() {
document.getElementById(“prt”).style.visibility=’hidden’;
window.print();
document.getElementById(“prt”).style.visibility=’visible’;
}
</script>

บริการ chart ของ google ผ่าน ajax api


มีเพื่อน .. ต้องการทำรายงานจากข้อมูล แล้วนำเสนอผ่านเว็บเพจ
เมื่อประมวลผลก็จะเป็นข้อมูลเชิงสถิติ หรือสารสนเทศ ที่จะช่วยสนับสนุนการตัดสินใจในเรื่องที่เกี่ยวข้องสำหรับสังคม การนำเสนอข้อมูลผ่าน chart เป็นเรื่องควรทำ เพราะดูง่ายกว่าเขียนอภิปรายสรุปผลแต่เพียงอย่างเดียว

https://google-developers.appspot.com/chart/interactive/docs/gallery

การนำเสนอ chart ในเว็บเพจมีกันหลายวิธี นั่งทบทวนการใช้ OFC (Open Flash Chart) อยู่พักหนึ่ง สุดท้ายก็ต้องยอมแพ้ เพราะ เส้นทางของ Flash ในอนาคต ดูจะตีบตันเหลือเกิน และ OFC ก็ไม่ได้พัฒนาต่อให้สมบูรณ์ ต่างกับ Google Chart ที่พัฒนาอย่างต่อเนื่อง และเลือกใช้งานได้หลากหลาย ตามความต้องการของผู้ใช้

ตัวอย่าง google ajax api
ตัวอย่าง google ajax api

จากการทดสอบ code ที่ใช้นำเสนอข้อมูลใน chart แต่ละแบบ ได้เก็บตัวอย่าง code ไว้เป็นไฟล์ และเก็บภาพตัวอย่าง chart เพื่อจะได้เลือกนำมาใช้ และนำ code มาปรับแก้โดยง่าย
ระบบนี้ไม่ต้องมี server เพราะจะเรียกไปยัง google.com โดยส่งข้อมูลผ่าน javascript code ทำงานแบบ AJAX คือ ประมวลผลร่วมกันระหว่าง client กับ google server มีตัวอย่าง chart แบบต่าง ๆ ดังนี้

 

google_ajax_api_annotation.htm
google_ajax_api_area.htm
google_ajax_api_bar.htm
google_ajax_api_bubble.htm
google_ajax_api_calendar.htm
google_ajax_api_candlestick.htm
google_ajax_api_column.htm
google_ajax_api_combo.htm
google_ajax_api_diff.htm
google_ajax_api_donut.htm
google_ajax_api_gantt.htm
google_ajax_api_gauge.htm
google_ajax_api_geo.htm
google_ajax_api_histrogram.htm
google_ajax_api_line.htm
google_ajax_api_lineinterval.htm
google_ajax_api_map.htm
google_ajax_api_org.htm
google_ajax_api_pie.htm
google_ajax_api_scatter.htm
google_ajax_api_table.htm
google_ajax_api_timeline.htm
google_ajax_api_trendline.htm
google_ajax_api_wordtree.htm

การเขียน CSS เพื่อเรียกใช้ font ของตนเองที่เตรียมไว้

download_font.htm
download_font.htm

มีโอกาสเขียนเว็บเพจที่ใช้ font ที่เตรียมไว้
ได้ download มา 2 font แล้วเก็บไว้ในห้องหนึ่ง
ชื่อ rsp_thchakrapetch.ttf กับ rsp_alexbrush.ttf
ส่วนแฟ้ม .htm ก็อยู่ในห้องเดียวกัน

มีขั้นตอนดังนี้
1. ประกาศชื่อแฟ้มฟอนต์ และชื่อฟอนต์ที่จะใช้ภายในเว็บเพจ
2. จุดใดจะกำหนดรูปแบบฟอนต์ ก็อ้างอิงที่ประกาศได้เลย
3. ดูจากตัวอย่างก็เข้าใจได้โดยง่าย

http://www.thaiall.com/web2

<body>
<style>
@font-face{
font-family:THChakraPetch;
src: url(‘rsp_thchakrapetch.ttf’);
}
@font-face{
font-family:AlexBrush;
src: url(‘rsp_alexbrush.ttf’);
}
</style>
<p style=”font-family:THChakraPetch;font-size:100px;”>สวัสดี</p>
<p style=”font-family:AlexBrush;font-size:100px;”>hello</p>
<p><a href=”rsp_thchakrapetch.ttf”>rsp_thchakrapetch.ttf</a></p>
<p><a href=”rsp_alexbrush.ttf”>rsp_alexbrush.ttf</a></p>
</body>

 

ดาวน์โหลดฟอนต์ และ code ตัวอย่าง โดย view source ได้เลย
http://www.thaiall.com/web2/download_font.htm

ทบทวนการใช้งาน linux ผ่าน Debian ที่อยู่ใน VirtualBox

มะละกอแขกดำ ซื้อมาต้น 20 บาท
มะละกอแขกดำ ซื้อมาต้น 20 บาท
เมล็ดมะละกอฮอลแลนด์ ตากแห้งเอง
เมล็ดมะละกอฮอลแลนด์ ตากแห้งเอง

วันนี้เตรียมเมล็ดมะละกอพันธุ์ฮอลแลนด์ จากมะละกอสุก
นำไปตากให้แห้งเอง ไม่ต้องซื้อใครเขา ทำเมล็ดพันธุ์เองเลย
เค้าว่าเมล็ดพันธุ์สำหรับนำไปปลูก
ขายกันเป็นขีด (100 กรัม)
ขีดละประมาณ 700 – 900 บาท มี 7000 – 8000 เมล็ด
บางรายขายเป็นซอง ๆ ละ 100 บาท มี 50 เมล็ด
https://www.facebook.com/malakoboy69/

share folder in debian
share folder in debian
virtualbox screen
virtualbox screen

จากนั้นก็มาทบทวน Operating System
จำได้ว่าเคยลง Debian ไว้บน Oracle VM VirtualBox
ใน WinXP ที่ใช้งานอยู่
ในเครื่องผมตั้ง user เข้า Debian ว่า “nation
ต้องกรอกรหัสผ่านเข้าเครื่องให้ถูก
ถ้าไม่ถูกระบบจะแจ้งว่า “Authentication failure”
1. เปิดขึ้นมาก็เห็น Gnome Desktop
2. มุมบนซ้ายสุดมี Application, Places, System
ก็เลือก Application – Accessories – Terminal หรือ Root Terminal
เหมือนพิมพ์ SU เลยครับ
3. ตรวจว่าเครื่องเราเปิด port อะไรไปแล้วบ้าง
ด้วย #netstat -na
4. ตรวจว่ามี process อะไร start อยู่บ้าง
ด้วย #ps -aux
5. ตรวจว่ามีใครเข้าออกระบบเมื่อใด
ด้วย #last
6. ตรวจว่ามี user name อะไรที่อยู่ที่สร้างไว้แล้ว
ด้วย #cat /etc/passwd
7. ตรวจว่าเชื่อมต่อสื่ออะไรจากที่ไหนไว้บ้าง
ด้วย #mount
พบว่าแชร์เข้ามาจากระบบ Windows จำนวน 2 Folders
http://www.thaiall.com/blog/burin/4628/

ลูกศิษย์มาเยี่ยมถึงเรือนชาน

ลูกศิษย์
ลูกศิษย์

ทุกช่วงปีใหม่
ลูกศิษย์ที่ชอบพอกัน จะมาเยี่ยมผมเสมอ ไม่เคยขาด

ปีนี้ 7 ม.ค.60 กร กับปราง เอาขนม S&P
มาสวัสดีปีใหม่เช่นเคย แต่ไม่เหมือนทุกปี
เพราะปีนี้ผมย้ายไปอยู่เกาะคา
เค้าก็ตามมาเที่ยวเกาะคา
ทั้งสองเป็นนักคอมพิวเตอร์ที่เก่ง
ทำโปรเจคที่บ้านไหล่หินด้วยกันมา
เคย .. เอาดีทางพัฒนาระบบ และเว็บไซต์
เป็น freelance developer แบบ fulltime
แต่เดี๋ยวนี้ .. จับด้าน e-commerce จริงจัง
หลายผลิตภัณฑ์เลย ฟังเค้าเล่าสนุกมาก
เล่าถึงนโยบายของ fb, line และ startup : pay360
แล้วยัง .. ทำฟาร์มชเนาเซอร์ เห็นว่าได้ SEO มาด้วย
แต่ละปีก็จะมีอะไรใหม่ ๆ มาเล่าตลอด

s&p cookie
s&p cookie

https://www.facebook.com/permalink.php?story_fbid=1848710072079656&id=100008220431019

อูบุนตู 4 บทในหนังสือของ รศ.ดร.กฤษดา ขันกสิกรรม

ranking linux distribution
ranking linux distribution

นั่งอ่านหนังสือ
“ระบบปฏิบัติการ (Operating System)”
ของ รศ.ดร.กฤษดา ขันกสิกรรม
พบบทที่ 10-13 ระบบปฏิบัติการอูบุนตู
โลกเราไม่ได้มี OS ระบบเดียว และรุ่นเดียว

บทที่ 10 ประวัติ
– ประวัติของอูบุนตู
– รุ่นหรือเวอร์ชั่นของอูบุนตู
บทที่ 11 ติดตั้ง
– ติดตั้งในเครื่องใหม่
– ติดตั้งหลายโอเอส แบบแบ่ง Partition
– ติดตั้งเพิ่ม Install inside windows
บทที่ 12 การใช้งานอูบุนตู
– หน้าจอหลัก
– ส่วนประกอบหลัก
– การจัดการเดสก์ทอป
– การใช้งานไฟล์และโฟลเดอร์
– การใช้โปรแกรมพื้นฐาน
บทที่ 13 โปรแกรมประยุกต์
– Openoffice
– Firefox
– Pidgin สำหรับการแชทหลายบัญชี
– การใช้ร่วมกับอุปกรณ์ อาทิ mouse, printer, graphic card
– การใช้ Visual Effects ของอูบุนตู

mark shuttleworth ubuntu
mark shuttleworth ubuntu

อ่านหน้า 238 เรื่อยไป พบว่า
ยูบุนตู (Ubuntu) พัฒนาต่อยอดจาก เดเบียน (Debian)
ซึ่งต่างเป็นลีนุกซ์ (Linux) ที่เป็น Open source
และเป็น GPL (General Public License) คือ สัญญาอนุญาตในการนำไปใช้
โดยสัญญา GPL ฉบับแรกเขียนโดย Richard Stallman
ส่วน Linux Kernal มีผู้ริเริ่มคือ Linus Torvalds (ไลนัส เทอร์วัลต์ส)
ยูบุนตูถูกพัฒนาให้สามารถใช้กับ PC, Notebook หรือ Server
คำว่าอูบุนตูเป็นคำจากภาษาซูลูและโคซาในแอฟริกาใต้
หมายถึง เพื่อมวลมนุษยชาติทุกคน (Humanity to Others)
ซึ่งหัวหน้าทีมพัฒนาอูบุนตู คือ Mark Shuttleworth
และบริษัทคาโนนิคอล ที่เน้นให้อูบุนตูมีแต่ของฟรีสำหรับทุกคน

Ubuntu แยกเป็นหลายรุ่น ดังนี้
1. Kubuntu คือระบบสำหรับใช้งานบน Desktop สำหรับผู้ใช้
2. Xubuntu คือระบบสำหรับฮาร์ดแวร์เก่า ใช้ทรัพยากรน้อย
3. edubuntu คือ ระบบสำหรับนักเรียน นักศึกษา มีแอพเครืองคิดเลขคำนวณสูตรทางเคมี ฟิสิกส์
4. gobuntu คือ ระบบสำหรับกลุ่มเชี่ยวชาญที่มีประสบการณ์ จึงไม่มีไดรเวอร์ แอพพลิเคชั่น

http://www.thaiall.com/os/os11.htm

โปรแกรมจำลองการทำงานของโปรเซส

SOSIM by Prof.Luiz Paulo Maia
SOSIM by Prof.Luiz Paulo Maia

นั่งอ่านหนังสือ
ระบบปฏิบัติการ (Operating System)
ของ รศ.ดร.กฤษดา ขันกสิกรรม
พบบทที่ 9 การใช้งานโปรแกรมโซซิม (SOSIM)
โปรแกรมนี้นักศึกษา CS ป.โท ทำเป็นผลงาน Thesis
มีหน้าที่จำลองการทำงานของ process
แสดง Running, Ready และ Waiting ใน Process Manager
และการจองหน่วยความจำใน Memory Manager
ผู้ใช้สามารถสร้าง Process ขึ้นมา แล้วส่งในระบบ
จะเห็นการทำงานในแต่ละ State
และสร้าง Process ขึ้นมาได้ 3 แบบ

 

ประเภทของ Process มีดังนี้
1. CPU = ใช้ Central Processing Unit อย่างเดียว
2. IO = ใช้ CPU เป็นรอง แต่ใช้ IO เป็นหลัก มีหลายแบบ
3. MIX = ใช้ CPU ปานกลาง ไปพร้อมกับ IO

ต.ย. 1 โปรเซสเดียว
[สร้าง] Process แบบ CPU
Priority = 0, Max. frames =5
[ผล]
มี Process เดียว ก็สลับไปมาระหว่าง
Ready และ Running
และไม่ต้องเข้าคิวกับใคร จึงอยู่ที่ Ready = 0 เสมอ
[ล้าง Process ออก]
เข้า Process, Select, Delete
แล้วสั่ง Run ใหม่จะพบว่าไม่มีอะไรอยู่ใน Processor Manager

ต.ย. 2 โปรเซส CPU และ IO2
[สร้าง] Process แบบ CPU
แล้วสร้าง Process แบบ IO2
Priority = 0, Max. frames =5 เหมือนกันทั้ง 2 Process
[ผล]
มี Process CPU แทบจะครอง CPU
ส่วน Process IO2 ได้ทำงานใน CPU 1 ครั้ง
แล้วกับไปรอใน Waiting State ให้ CPU ทำงานให้เสร็จ 5 ครั้ง
แล้ว Process IO2 จึงจะได้ทำงาน 1 ครั้ง แล้วกลับมารอเหมือนเดิม
ใน Ready Process ที่ครองอยู่ก็คือ CPU
และมี Ready ระดับ 0 คือไม่มีใครมารอในคิวนาน ๆ

ต.ย. 3 โปรเซส CPU และ Mix1 และ IO2
[สร้าง] Process แบบ CPU
แล้วสร้าง Process แบบ Mix1
แล้วสร้าง Process แบบ IO2
Priority = 0, Max. frames =5 เหมือนกันทั้ง 2 Process
[ผล]
มี Process CPU แทบจะครอง CPU
ส่วน Process Mix1 ได้ทำงานใน CPU 2 ครั้ง เมื่อเข้า Ready ก่อนไป Wait
ส่วน Process IO2 ได้ทำงานใน CPU 1 ครั้ง แล้วไป Wait เลย
ทั้ง Mix1 และ IO2 จะรอใน Waiting State 5 ครั้ง เท่ากัน
แต่ Mix1 ได้ทำงานกับ CPU มากกว่า IO2 เมื่ออยู่ใน Ready state
[ดู Log]
หากดูการทำงานใน Log
จะพบว่า Boost คือ กำลัง
กำหนดให้ IO2 เป็น +2 แต่ Mix2 มี +1
ยิ่งบวกมากขึ้น ก็ยิ่งรอนานขึ้น

ต.ย. 4 โปรเซส IO1 และ IO2
[สร้าง] Process แบบ IO1
แล้วสร้าง Process แบบ IO2
Priority = 0, Max. frames =5 เหมือนกันทั้ง 2 Process
[ผล]
เมื่อ IO1 ทำงานเสร็จก็จะไปรอ
เมื่อ IO2 ทำงานเสร็จก็จะไปรอเช่นกัน
ทิ้งให้ CPU ว่าง ไม่มีใครใช้งาน

http://www.thaiall.com/os/os03.htm

มีรายละเอียดอีกมาก
เช่น การจัดการหน่วยความจำแบบ Pre-Paging หรือ Demand Paging
การดู Statistics หรือ PCB เป็นต้น
ถ้าสนใจก็เข้าโฮมเพจ SOSIM
ของ Prof.Luiz Paulo Maia as part of his M.Sc. thesis
in Federal University of Rio de Janeiro (NCE/UFRJ), Brazil, in 2001 (2544).
http://www.training.com.br/sosim/indexen.htm