คำสั่งตรวจข้อมูลบุคคลอ่านแฟ้มชนิด csv

พบการสุ่มข้อมูล
มาสร้างชุดข้อมูลตัวอย่าง
ที่รวบรวมขึ้น เพื่อฝึกปฏิบัติ
จัดเก็บ
บนแฟ้มชนิด csv
.
ในเอกสารการวิเคราะห์ข้อมูลสุขภาพ
ในระบบสาธารณสุขไทย
โดยใช้โปรแกรมอาร์
พบว่า หน้า 55 เป็นต้นไป
อธิบายเรื่อง การตรวจสอบข้อมูล
.
เอกสารนี้จัดพิมพ์โดย
สถาบันวิจัยและพัฒนาสุขภาพภาคใต้
คณะแพทยศาสตร์
มหาวิทยาลัยสงขลานครินทร์
.
มีคำสั่งที่น่าสนใจ
ซึ่งตัวแปลภาษาสร้างไว้ให้ใช้
มีตัวอย่างการใช้งานกับแฟ้มบุคคล
ในหัวข้อนี้มี 5 คำสั่ง ประกอบด้วย
1. คำสั่ง read.csv
ใช้อ่านแฟ้มข้อมูล ลงใน กรอบข้อมูล
.
2. คำสั่ง head
ใช้แสดงหกแถวแรกของชุดข้อมูล
.
3. คำสั่ง tail
ใช้แสดงหกแถวสุดท้ายของชุดข้อมูล
.
4. คำสั่ง names
ใช้แสดงชื่อตัวแปรของชุดข้อมูล
.
5. คำสั่ง str
ใช้แสดงรายละเอียดของชุดข้อมูล
.
ซึ่งชุดข้อมูลตัวอย่าง
เกี่ยวกับบุคคลที่ใช้บริการโรงพยาบาล
มีข้อมูล 33 ตัวแปร
เช่น รหัสโรงพยาบาล
เพศ วัน เดือน ปีเกิด สัญชาติ
.
เมื่อทดสอบคำสั่งในภาษาอาร์
บนเครื่องคอมพิวเตอร์
ที่ติดตั้งตัวแปลภาษาแล้ว
พบว่า แสดงผลได้ตามปกติ
เช่นเดียวกับที่พบบนคู่มือ
.
สรุปว่า ชวนอ่านหนังสือกันครับ

https://vt.tiktok.com/ZSFUb8CAw/

คำสั่งตรวจข้อมูลบุคคล
อ่านแฟ้ม ด้วยโปรแกรมอาร์
#function
#computing
#psu
#language
#bigdata

เขียนสมการทางคณิตศาสตร์

โดยปกติเราเขียนสมการทางคณิตศาสตร์
ด้วยภาษา HTML ไม่ได้
เพราะไม่มีแท็กที่รองรับโดยตรง
เช่น เศษส่วน หรือรูท

หากจะเขียนต้องใช้ JavaScript library
เช่น mathjax.js
ที่ต้องโหลดมาใช้ในเว็บเพจแบบ front-end
เพื่อทำให้โค้ดสมการของเรา
ที่เขียนบน HTML ถูกเปลี่ยนเป็น
รูปของสมการที่ถูกต้อง

ตัวอย่างในภาพปก
จะใช้ในเว็บเพจ /web2

ถึงยุค responsive web design มาได้พักหนึ่งแล้ว

 

responsive web design
responsive web design

เดี๋ยวนี้ .. เขียนเว็บหนึ่งหน้า ต้องนั่งออกแบบกันหน่อยว่า
จะให้เข้ากับอุปกรณ์ใด ขนาดเท่าใด
สมัยก่อน คิดว่าจะให้เข้ากับจอขนาดเท่าใด
เช่น ใคร ๆ ก็ใช้จอใหญ่ ออกแบบให้มี 4 คอลัมก็จบ
ก็จะได้รูปแบบที่เหมาะสมกับจอขนาดใหญ่เท่านั้น
เมื่อเปลี่ยนจอภาพเป็นขนาดอื่น ก็จะไม่เปลี่ยนไปตามอุปกรณ์
เช่น ใช้สมาร์ทโฟน แต่แสดง 4 คอลัม เค้าก็จะเห็นได้ไม่หมด
หรือต้องคอยเลื่อน scroll bar ขยับไปมา ซึ่งไม่สะดวก

แต่เดี๋ยวนี้ ต้องคิดว่าจะให้เข้ากับจอขนาดเท่าใดบ้าง
โดยเขียนเว็บเพจ 1 หน้า แต่ปรับการแสดงผลอัตโนมัติ
ให้เหมาะสมกับแต่ละจอ
จอเล็กก็แสดง 1 คอลัม
จอกลางอย่างแท็บเล็กก็แสดง 2 คอลัม
จอคอมพิวเตอร์ตั้งโต๊ะก็แสดง 3 คอลัม
ส่งไปแสดงทางโปรเจคเตอร์ก็แสดง 4 คอลัม

พบฟังก์ชันใน css คือ @media ()
ใน () ห้ามมีเครื่องหมาย ; ต่อท้าย
ถ้ามีก็จะทำให้ responsive ไม่ทำงาน
แต่ ; ใช้กับการแบ่งระหว่าง properties อื่นใน css ได้
ยกเว้นอย่าใช้ ; ปิดท้ายค่าที่ส่งไปใน ()

ตัวอย่าง code

<html><head><style type=”text/css”>
.m_still, .m_hidden{width:728px;}
/* @media screen and (max-width:320px;) { */
@media screen and (max-width:320px) {
.m_still{visibility:visible;width:300px;}
.m_hidden{visibility:hidden;display:none;}
}</style></head><body>
<table class=”m_still” style=”background:yellow;”><tr><td>a</td></tr></table>
<table class=”m_hidden” style=”background:green;”><tr><td>b</td></tr></table>
</body></html>

อัพเกรดจาก php5.2.6 เป็น 5.4.45 ของ appserv

appserv version
appserv version

1. วันนี้ (1 ก.พ.59) อ.ตุ้ย แจ้งว่าเครื่องบริการเครื่องหนึ่ง
ลง appserv 2.5.10 ที่มีรุ่นของ php เป็น 5.2.6
ซึ่งเป็น appserv รุ่นล่าสุด ที่มี php รุ่น 5
แต่รุ่นถัดมาคือ appserv 8.0 ใช้ php รุ่น 5.6.17 กับ 7.0.2
ซึ่งผมไม่เลือกการลง appserv รุ่นใหม่ เพราะ php ใหม่เกินไป

https://www.appservnetwork.com/en/

appserv 2.5.10 to 8.0.0
appserv 2.5.10 to 8.0.0

2. จุดเริ่มต้น เกิดจากคุณเปรม พบปัญหาในการพัฒนาระบบ
ต้องการส่งอีเมลเป็นภาษาจีนพร้อมภาษาไทย พบปัญหา
โดยฟังก์ชัน mail ส่งข้อมูลไปแล้ว
มีปัญหาไม่แสดงผลภาษาจีนร่วมกับภาษาไทยใน gmail คือ ภาษาจีนหายไปเฉย ๆ
วิธีหนึ่งที่แก้ไขได้คือแปลภาษาจีนที่เป็น unicode เป็น html entities
http://unicode.online-toolz.com/tools/unicode-html-entities-convertor.php

services.msc on WinXP
services.msc on WinXP

3. การแปลง unicode เป็น html entities ใช้ฟังก์ชันง่าย ๆ ได้เลย
โดยใช้ preg_replace_callback แล้วสร้างฟังก์ชันภายในฟังก์ชัน
แต่ php 5.2 ไม่ยอมรับฟังก์ชันแบบนี้
http://stackoverflow.com/questions/13280200/convert-unicode-to-html-entities-hex
คุณซันก็แนะนำ create_function ซึ่งก็น่าสนใจ
ที่ http://php.net/manual/en/function.create-function.php

sha1 คือ ค่า checksum ของแฟ้มที่ download มา
sha1 คือ ค่า checksum ของแฟ้มที่ download มา

4. วิธีที่ผมเลือกแก้ปัญหานี้ คือการ upgrade php จาก 5.2.6 เป็น 5.4.45
ซึ่งความต่างของรุ่น น่าจะกระทบ code ทั้งระบบน้อยกว่าการลง 5.6.17 กับ 7.0.2

– download php 5.4.45 ที่เป็น thread safe for windows มาแตก zip
– stop service ของ apache
– backup php ไว้ก่อน
– copy แฟ้มที่แตกไว้ เข้าห้อง php
– start service ของ apache
– ใช้ phpinfo() ตรวจรุ่นของ php
– ทดสอบ script ใน server ทั้งหมด
– ถ้ามีปัญหา ก็ copy php ที่ backup ไว้ กลับมาทับห้องเดิม
– กลับไปแก้ script ใน server ทั้งหมดให้ทำงานกับ php version ใหม่
– แล้วค่อยย้อนขั้นตอนข้างบนอีกครั้ง
* script ในเครื่องมี programer สัก 4 คนได้มังครับ

5. เลขรุ่นของ appserv ขยับจาก 2.5.10 มาเป็น 8.0.0 ข้ามเลขไปหลายตัว
คาดว่า เพราะเวลาในการพัฒนามีน้อย และมีงานประจำต้องทำ
ผมเองก็พัฒนา thaiabc.com ก็มีแนวคิดคล้าย appserv
นี่ก็หยุดอัพเวอร์ชั่น ไปหลายปีแล้วเหมือนกัน
http://www.thaiabc.com

https://www.facebook.com/media/set/?set=a.10153893646492272.1073741911.350024507271

ทดสอบฟังก์ชันเกี่ยวกับ date ใน access 2010 ไว้คุยกับเพื่อน chiangmai

date function on ms access 2010
date function on ms access 2010

15 ก.ย.55 นาน ๆ ทีจะมีเพื่อนที่ใช้งาน Microsoft Access มาพูดคุยด้วย ครั้งนี้เป็นเพื่อนราชการที่เชียงใหม่ จะคุยเรื่องวันที่ .. โดยก่อนหน้านี้เป็นเพื่อนที่ใช้ GPS (ซึ่งเป็นลูกศิษย์หัวหน้า) ก็เกือบคุยกันไม่ได้แล้ว แต่ที่เขามาคุยด้วยคือภาษา PHP ที่ประยุกต์กับ GPS จึงผ่านไปด้วยดี .. แล้วก่อนถึงวันพรุ่งนี้ได้ทดสอบฟังก์ชันไว้คุยกับเขา 2 ฟังก์ชัน คือ CDbl(#2012-09-14 10:10:00 AM#) มีค่า 41166.42361 และ CVDate(41167.42361) ก็จะได้ Saturday, Saptember 15,2012 หากกำหนด format เป็น long date

แหล่งอ้างอิง ms access รุ่นใหม่ใน http://support.microsoft.com/kb/210276
แต่สำหรับ access97 ต้องดูใน http://support.microsoft.com/kb/130514
โดยอธิบายว่า 1 วัน เท่ากับ 1 เริ่มต้นจากวันที่ 30 ธันวาคม 1899 ถึงวันที่ 14 กันยายน 2012 ห่างกัน 41166 วัน และใน 1 วันก็จะมีค่าตั้งแต่ 0 – 0.99999 นั่นเอง

ภาพนี้ได้จาก Microsoft access 2010 ซึ่งมีสกุลเป็น .accdb ทั้งหมดนี้มีผลทดสอบ
ใน http://www.thaiall.com/teachaccess/date2010.accdb และ folder นี้ได้กำหนด .htaccess ให้สามารถ download แฟ้มนี้ได้ว่า
AddType application/vnd.openxmlformats .docx .pptx .xlsx .doc .xls .ppt .accdb

อัพโหลดผู้ใช้เข้า moodle 2.2.1

moodle user upload
moodle user upload

การอัพโหลด รายชื่อผู้ใช้เข้าระบบอีเลินนิ่งของ moodle มีเงื่อนไข ดังนี้ 1) บรรทัดละ 1 คน 2) ทุกบรรทัดมีหนึ่งระเบียน แต่ละระเบียน แบ่งแยกด้วย , หรือเครื่องหมายแล่งแยกอื่น 3) ระเบียนแรกให้เป็นชื่อเขตข้อมูล 4) ชื่อเขตข้อมูล คือ username, password, firstname, lastname, email

ผมมีข้อมูลเป็นอีเมล และต้องการใช้ email เป็นรหัสสำหรับ login เช่น xxx@yyy.com แล้วต้องการเฉพาะ xxx จึงใช้ฟังก์ชันด้านล่างนี้

=LOWER(MID(E2,1,FIND(“@”,E2)-1))

ในโปรแกรม excel เพื่อให้ได้แฟ้ม csv

ผลทดสอบส่ง  597 คน เข้าระบบ เรียบร้อยดีครับ