วันอังคารที่ 19 พฤษภาคม พ.ศ. 2558

การทำ Knowledge Management ไม่ใช่แค่มี Tools อย่างเดียวนะเธอ


...Tools ในการทำ Knowledge Management ในองค์กรนั้น เป็นเพียงตัวช่วยตัวนึงเท่านั้น ไม่ได้รับประกันว่าทำออกมาแล้วนั้นจะประสบความสำเร็จ
... ที่จะทำให้มันประสบความสำเร็จได้นั้น ต้องมีหลายๆองค์ประกอบ หลายๆรูปแบบ ซึ้งเราจะมาดูกันว่าเค้าใช้แนวคิดหรือวิธีการอะไรบ้างที่นิยมทำกัน ซึ้งบางอัน


ไม่จำเป็นต้องมีระบบอะไรก็ได้ก็สามารถเป็นองค์กรแห่งการเรียนรูปได้
เรามาดูกันดีกว่าว่ามีอะไรกันบ้าง

1. ชุมชนนักปฏิบัติ Community of practice : Co P เป็นการจัดกลุ่มคุณกิจที่ทำเรื่องเดียวกัน มารวมตัวกันด้วยเรื่องที่สนใจเรื่องเดียวกัน (Domain) มาพบปะกันสม่ำเสมอ (Community) และมาพัมนาวิธีการทำงานในเรื่องนั้นๆให้ดีขึ้น

2. การศึกษาดูงาน (Study tour) หรือ สุนทรียทัศนา เป็นการขอไปเรียนลัดจากประสบการณ์ของผู้อื่นโดยเข้าไปดูสถานที่จริง การปฏิบัติจริงๆของเขา หรืออาจใช้ในหน่วยงานตนเองโดยการให้เพื่อนที่ทำดีๆสาธิตหรือทำเป้นตัวอย่างให้เราดู ให้เราเรียนรู้ก็ได้

3.  การทบทวนหลังปฏิบัติการหรือการถอดบทเรียน : After action review (AAR) เมื่อทำงานเรื่องใดเรื่องหนึ่งเสร็จแล้ว ก็มีการมานั่งทบทวนร่วมกันผ่านทางการเขียนและการพูด ด้วยการตอบคำถามง่ายๆว่า วันนี้ที่ทำนี่เพื่ออะไรหรืออยากได้อะไร ทำแล้วได้ตามที่คาดหวังไว้ไหม ทำไมถึงได้มากกว่าหรือน้อยกว่า ได้อะไรดีๆเพิ่มขึ้นมาบ้างและถ้าจะทำแบบนี้อีกควรปรับปรุงอย่างไร ในระยะหลังมีคนคิดการทบทวนก่อนปฏิบัติ (Before action review : BAR)ขึ้นมาใช้และการทบทวนขณะปฏิบัติ (During action review : DAR)

4.  การเรียนรู้ร่วมกันหลังงานสำเร็จ : Retrospect เป็นกิจกรรมที่ทีมทำงานสำเร็จไปแล้วระยะหนึ่ง ก็นัดเจอกันเพื่อทบทวนย้อนหลังงานนั้นๆ เช่นทบทวนการดูแลผู้ป่วย การสัมนาผู้ป่วย เป็นต้น

5.  เรื่องเล่าเร้าพลัง : Springboard Storytelling เป็นการถอดความรู้ฝังลึกโดยการมอบหมายให้ผู้ที่มีผลงานดีหรือมีวิธีการทำงานที่ดี มาเล่าให้คนอื่นๆฟังว่าทำอย่างไร คนเล่าจะต้องเล่าให้สนุก น่าฟัง เร้าใจ เล่าให้เห็นการปฏิบัติ เห็นบุคคล ตัวละครในเหตุการณ์ ใช้ภาษาเชิงปฏิบัติจริง เล่าสิ่งที่ตนเองทำจริงๆกับมือ ไม่ปรุงแต่ง ใส่สีตีไข่ เล่าเหมือนเล่านิทานเด็กฟัง

6. การค้นหาสิ่งดีๆรอบๆตัว : Appreciative Inquiring หรือสุนทรียสาธก เป็นการมองเชิงบวก พยายามค้นหาสิ่งดีๆ ความสุข คำชื่นชม ความดีงามที่อยู่ในตัวคน ในองค์การ ในการทำงานหรือนวัตกรรมต่างๆเพื่อนำมาเผยแพร่ให้คนอื่นๆได้ทราบ

7.  เวทีเสวนา : Dialogue หรือสุนทรียสนทนา เป็นจัดกลุ่มพูดคุยกันเพื่อเอาสิ่งดีๆที่แต่ละคนมีอยู่ในตัวเองหรือในการปฏิบัติออกมา โดยไม่ขีดวงที่ชัดเจนมากเกินไป มีเพียงการกำหนดประเด็นกว้างๆในเรื่องที่จะสนทนากัน ไม่รู้คำตอบสุดท้ายว่าคืออะไร ไม่กำหนดเวลาสนทนาของแต่ละคน เปิดกว้างด้านเวลา สถานที่ บุคคลและเปิดกว้างทางใจของทุกคนที่เข้าร่วมกิจกรรมกัน บรรยากาศสบายๆ บรรยากาศเชิงบวก พูดเรื่องเก่า ท้าวความหลังที่ดีๆ พูดถึงสิ่งที่ทำจริงๆในอดีต ไม่ใช่ความคิดเห็นที่จะทำในอนาคต ลักษณะสำคัญของการเข้ากลุ่มสุนทรียสนทนาในการจัดการความรู้จึงมีลักษณะสำคัญ 4 ประการคือพูดอย่างจริงใจ ฟังอย่างตั้งใจ ถามอย่างซาบซึ้งใจและจดอย่างเข้าใจใส่ใจ

8. เพื่อนช่วยเพื่อน : Peer Assist  เชิญทีมอื่นมาแบ่งปันประสบการณ์ดีๆให้เรา มาแนะ มาสอน มาบอก มาเล่าให้เราได้ฟังเพื่อจะได้นำไปประยุกต์ใช้ในหน่วยงานเรา

9.  Action Learning การเรียนรู้โดยการปฏิบัติ เป็นการรวมกลุ่มกันของผู้ปฏิบัติเพื่อจะแก้ไขปัญหาใดปัญหาหนึ่ง โดยการวิเคราะห์สาเหตุ วิเคราะห์ทางเลือก เลือกทางเลือกที่เหมาะสมแล้วนำไปปฏิบัติ พร้อมทั้งติดตามประเมินผลเพื่อปรับให้ดีขึ้นเรื่อยๆ ในภาษานักคุณภาพเขาเรียกทำ CQI Story

10.  Benchmarking มาตรฐานเปรียบเทียบ เป็นการตกลงกันเองในกลุ่มผู้ปฏิบัติอาจเป้นระดับบุคคล งาน แผนก ฝ่าย กลุ่มงานหรือองค์การก็ได้ กำหนดประเด็นร่วมกันแล้วนำมาเปรียบเทียบกันเพื่อร่วมมือกันในการยกระดับงานให้ดีขึ้นเรื่อยๆ ไม่ใช่เปรียบเทียบเพื่อแข่งขันเอารางวัลกัน แต่เปรียบเทียบเพื่อเรียนรู้ร่วมกัน ในการเปรียบเทียบมาตรฐานปฏิบัติมี 2 แบบคือ Process Benchmarking และ Result Benchmarking เครื่องมือที่นำหลักการเปรียเบทียบมาตรฐานปฏิบัติมาใช้คือเครื่องมือชุดธารปัญญา

11.  Coaching การสอนงาน เป็นการขับเคลื่อนความรู้ข้ามบุคคลที่ง่ายและใกล้ตัวคนทำงานมากที่สุด ให้ผู้ที่มีประสบการณ์มากกว่าหรือรุ่นพี่ที่มีผลงานดี มาแนะนำ สอน ให้คนที่มาใหม่หรือคนที่มีผลงานไม่ดีได้เรียนรู้ปรับปรุงวิธีการทำงาน มักใช้ในกลุ่มผู้ปฏิบัติหรืองานระดับปฏิบัติการ

12.  Mentoring การเป็นพี่เลี้ยง เป็นการให้คนทำงานที่อยู่คนละฝ่ายหรือกลุ่มงานหรือแผนกหรือแผนกเดียวกันก็ได้ มาช่วยแนะนำวิธีการทำงาน ช่วยเหลือสนับสนุน คอยให้คำปรึกษาชี้แนะ มักใช้ในการเรียนรู้ในกลุ่มผู้บริหารหรือผู้ที่จะก้าวไปเป็นผู้บริหาร

13.  Portfolio แฟ้มงานเพื่อการพัฒนา เป็นการบันทึกผลงานดีๆ นวัตกรรมในการทำงาน คำชื่นชม ความภาคภูมิใจทั้งระดับบุคคล ระดับแผนกหรือระดับองค์การ เรียกอีกอย่างว่าบัญชีความสุข

14.  บทเรียนจากความผิดพลาด : Lesson Learned ผมมักเรียกกิจกรรมนี้ว่า ผิดเป็นครู ในทางการแพทย์มักจะมีการทำอยู่บ่อยๆเพื่อลดความผิดพลาดในการรักษาผู้ป่วย ที่เรียกว่า Dead case conference ในการทำกิจกรรมผิดเป็นครูนี้ ถ้าเริ่มทำKMใหม่ๆ ไม่แนะนำให้ใช้ เพราะคนยังไม่มีความสัมพันธ์กันดีพอ ยังไม่เปิดใจเข้าหากัน อาจเป็นบ่อเกิดของการโทษกันหรือทะเลาะกินใจกันได้ กิจกรรมผืดเป็นครูที่ดี ควรเป็นคนที่ทำผิดพลาดหรือทำงานไม่สำเร็จ เป็นผู้ที่นำเอาความผิดพลาดนั้นมาเล่าให้คนอื่นๆฟังอย่างเต็มใจ เล่าให้เห็นวิธีการ เหมือนทำเรื่องเล่าเร้าพลัง เล่าโดยไม่พยายามปกป้องตนเอง คนฟังก็ต้องฟังอย่างเข้าใจ เห้นใจ ไม่ตำหนิ ไม่ว่ากล่าวโทษ ไม่หาผู้กระทำผิด แต่เป็นการเรียนรู้จากเหตุการณ์เพื่อหาสาเหตุของความผิดพลาด จะได้วางระบบเพื่อป้องกันความผิดพลาดนั้นๆ ไม่ให้คนอื่นๆผิดพลาดซ้ำอีก ในการทำคุณภาพจะมีการทำการบริหารความเสี่ยง (Risk management : RM) ก็เป็นไปตามหลักการนี้ กิจกรรมผิดเป็นครูนี้ ดีมากสำหรับการเรียนรู้ของตนเอง

ขอบคุณแหล่งที่มา https://www.gotoknow.org/posts/119306

facebook api กับการแสดงผลรูปภาพจาก fanpage facebook ชื่อดัง

ก่อนอื่นเรามาหา facepage แนวรูปภาพที่เราชื่นชอบกันก่อนเลย และในที่นี้ขอเป็นเพจ

9GAG in Thai https://www.facebook.com/9gaginthai

จากนั้นนำชื่อของเพจที่อยู่บน Url นั่นก็คือ 9gaginthai มาใส่ใน api นี้

https://graph.facebook.com/9gaginthai/albums?fields=id%2Cname

ซึ้งจากที่เห็นในส่วนของ query ของ url ก็จะเห็นได้ว่า ผมต้องการ fields เพียงแค่ id และ ชื่อของอัลบั้มเท่านั้น ซึ้งถ้าไม่ระบุอะไร facebook ก็จะให้เรามาทั้งหมด ไม่ว่าจะเป็นการ like comment เป็นต้น ก้ไปศึกษารูปแบบข้อมูลเอานะครับ



จะเห็นผลลัพธ์ json ในรูปแบบดังนี้ จากนั้น เราจะนำ id ของ อัลบั้มรูปที่เนราต้องการมาใส่ไว้ใน api นี้ ดังนี้

โดยผมเลือก id ของ Timeline Photo มาใช้นั้นคือ 194110460693515
https://graph.facebook.com/194110460693515/photos?limit=30

โดยค่า limit สามารถเลือกได้ และจะกรองเอาเฉพาะฟิวที่เราต้องการก็ได้ แต่ผมจะเลือกมาทั้งหมดเลย

จากผลลัพธ์ ภายใต้ data [] จะมี array ของ object ของรูปอยู่ จามจำนวน limit ที่ได้ทำการร้องขอไป
- id คือ id ของโพส
- create_time โพส ณ เวลาใด
- from โพสโดยใคร
- image[] ภายในจะมีรูปสำหรับทำทัมเนลพร้อมทั้งมีขนาด width และ height ขนาดต่างๆให้เลือกอีกด้วย
- link คือ url ต้นฉบับของโพสนั้นๆ
- source คือ ต้นฉบับของรูป (ซึ้งตรงนี้ละที่ต้องการ อิอิ)
- comment และ like ตรงนี้ไปศึกษาเอานะครับ มีข้อมูลที่เป็นประโยชน์หลายอย่างมากๆ
- width และ height ของรูปต้นฉบับก็มีมาให้น๊ะจ๊ะ


เท่านี้ เราจะเอาข้อมูลไปทำอะไรต่อนั้นก็สุดแท้ แล้วแต่ พวกนายเลยว่าจะทำอะไรเด้อออออ

รีวิว App MacID ใช้เพื่อปลดล็อกเครื่อง Mac

เนื่องจากปัจจุบัน คอมพิวเตอร์ผมตั้งเอาไว้กับที่เป็นเวลานานๆ และเป็นที่ส่วนรวม และผมก็ไม่ได้อยู่หน้า Mac ของตัวองตลอดเวลา ซึ้งบางครั้งผมก็ลืมที่จะ logout สื่อสังคมออนไลน์ต่างๆของตนเอง
...ดังนั้นจึงจะมีไอ้คุณเพื่อนบางคน แอบดูหรือแอบไปรู้รหัส login เครื่อง Mac ของเรา เพราะการตั้งรหัสเครื่องนั้น คนส่วนใหญ่จะตั้งรหัสสั้นๆ เพื่อที่จะ login เข้าเครื่อง Mac ได้อย่างรวดเร็ว จึงเป็นเหตุให้ไอ้เพื่อนพวกนี้รู้รหัสเครื่องของเราได้ไม่ว่าจะแอพดูหรือเดา หรือบลาๆๆ ด้วยวิธีต่างๆ และจากนั้นมันเอาเอา User facebook หรืออย่างอื่นไปแกล้งเรา ด้วยการโพสข้อความในลักษณะที่ เราเบี่ยงเบนทางเพศ หรือการตั้งสถานะต่างๆที่ทำให้เราเกิดอาการอับอาย หรือผู้อื่นได้รับการเข้าใจผิดเกี่ยวกับเรา ... และสิ่งนี้คือเรื่อง 'ตลก' เฮฮาสำหรับทุกคน

... วันนี้ผมจึงจะมานำเสนอแอพที่จะช่วยปล็ดล๊อกเครื่อง Mac ให้เราได้อย่างรวดเร็ว และทำให้เราตั้งรหัสยาวๆได้ และจะไม่ต้องพิมพ์รหัสให้เพื่อนแอบดูด้วย

App Mac ID

- เครื่อง Mac ที่เข้าใช้ได้
  Macbook Air ปี 2011 หรือมากกว่า
  Macbook Pro ปี 2012 หรือมากกว่า
  iMac ปี 2012 หรือมากกว่า
  Mac Mini ปี 2011 หรือมากกว่า
  MacPro ปี 2013 หรือมากกว่า

- iPhone ที่เข้าใช้ได้
  iPhone4s
  iPhone5
  iPhone5c
  iPhone5s
  iPhone6
  iPhone6Plus
  iPad mini
  iPad mini 2
  iPad mini 3
  iPad 4 gen
  iPad Air
  iPad Air 2
  iPod touch 5 gen

ก่อนอื่นไปโหลดโปรแกรมของ Mac ใน website นี้ก่อนเลย http://macid.co/


ต่อมาไปโหลด ​App จากทาง iOS ด้วย

ต่อมาก็ไปเปิด บลูทูธ สำหรับทั้ง Mac และก็ iOS จากนั้นก็ไปคลิกเลือกอุปกรณ์บน Mac และกรอกรหัสผ่านบน Mac ให้ตรงกันทั้งสองช่อง เท่านี้ก็พร้อมใช้งานแล้ว


หน้าตา App  จากการใช้งานจริง




WebSockets กับเว็บแชทขั้นพื้นฐาน ตอนที่ 3

WebSockets กับเว็บแชทขั้นพื้นฐาน ตอนที่ 3



จากเดิมที่เรามารู้จักกับ concept ทั้งหมด รวมถึงการทำงานในทาง Server ไปแล้วนั้น เราจะมาดูวิธีการทำงานของทาง Client กันบ้าง

*** code ของ client ทั้งหมดอยู่ ณ บทความตอนที่ 2

ส่วนที่ 1 
         <div id='body'>
<textarea id='log' name='log' readonly='readonly'></textarea><br/>
<input type='text' id='message' name='message' />
</div>

คือส่วนของการแสดงผลหลัก

ส่วนที่ 2
                 $(document).ready(function() {
log('Connecting...');
Server = new FancyWebSocket('ws://127.0.0.1:9300');

$('#message').keypress(function(e) {
if ( e.keyCode == 13 && this.value ) {
log( 'You: ' + this.value );
send( this.value );

$(this).val('');
}
});

//Let the user know we're connected
Server.bind('open', function() {
log( "Connected." );
});

//OH NOES! Disconnection occurred.
Server.bind('close', function( data ) {
log( "Disconnected." );
});

//Log any messages sent from server
Server.bind('message', function( payload ) {
log( payload );
});

Server.connect();
});

Server = new FancyWebSocket('ws://127.0.0.1:9300');
// คือการสร้างตัวแปร Server เพื่อรองรับการ connect Web Socket ไปยัง ip 127.0.0.1 ที่ port 9300 ที่ได้ setting เอาไว้ที่ Code ทาง Server

// การ bind open เข้าไป เมื่อมีการสั่ง connect ก็จะทำงานตัวนี้
Server.bind('open', function() {
log( "Connected." );
});

// การ bind close เข้าไป พูดง่ายๆคือ เมื่อปิดหน้านี้ไป จะทำการ Disconnect
Server.bind('close', function( data ) {
log( "Disconnected." );
});

// การ bind message เข้าไป คือเมื่อมี Message จากผู้ใช้อื่นๆเข้ามา  ก็จะผ่านตัวนี้
Server.bind('message', function( payload ) {
log( payload );
});

// เชื่อมต่อ Web Socket
Server.connect();

// ฟังก์ชันสำหรับการส่งข้อความไปยัง web socket
// โดย send ค่าใน text ไปยัง Server
function send( text ) {
Server.send( 'message', text );
}

// คือ ฟังก์ชันสำหรับการเพิ่มผลลัพธ์ เพื่อแสดงผลในส่วนแสดงผลหลัก
function log( text ) {
$log = $('#log');
//Add text to log
$log.append(($log.val()?"\n":'')+text);
//Autoscroll
$log[0].scrollTop = $log[0].scrollHeight - $log[0].clientHeight;
}