วันอังคารที่ 14 กรกฎาคม พ.ศ. 2558

Diary 25580713

สวัสดีวันจันทร์ที่ 13 กรกฎาคม 2558

    วันจันทร์ที่รถในกรุงเทพตอนเช้าจะติดมากๆ

    ถึงที่ทำงานซื้อกาแฟอเมริกาโน่แก้วใหญ่แก้วนึง ที่ร้าน chester's coffee สิทธิลด 50% ทุกวันจันทร์ วันพุธ วันศุกร์

ดูวิดีโอ 



    โรงเรียนที่เคร่งครัด ระเบียบ แต่ได้ สติ สมาธิ และปัญญาได้ดีมาก สร้างพื้นฐานการเรียนรู้ที่แน่นด้วยเนื้อหาและการปฏิบัติ การทำงานก็ได้ในเรื่อง แจ้ง ติดต่อ ปรึกษา
ฟังแล้วเข้าใจ หรือป่าว ไม่เข้าใจควรจะถาม แจ้งรายละเอียดต่างๆที่ได้รับมาว่าเป็นอะไร จำนวนเท่าไร ลักษณะเป็นอย่างไร สีอะไร ยิ่งละเอียดยิ่งดี แล้วถามเพิ่มว่า ถ้าไม่มีละ ทำอย่างไร
    เริ่มงานเช้าด้วยการไปดูน้องทีม ShareLib ว่าเป็นอย่างไรกันบ้าง ทำงานกันถึงไหนแล้ว ติดปัญหาตรงไหนไหม น้องๆรายงานสถานะงานมาให้ฟัง เลยสังเกตุเห็นว่า น้องสองคนทำงานเหมือนกันไปพร้อมๆกันในไฟล์เดียวกัน ทำให้เกิดปัญหาการ conflict file เลยแนะนำไปว่า ทำงานกันสอนคนควรจะแบ่งงานกันว่าใครจะทำส่วนไหน ให้ทำแยกจากกัน ซึ่งจะไม่ conflict ใน file เดียวกัน เมื่อเอางานมารวมกัน ก็ให้แต่ละคนนำเสนองานของตัวเองให้อีกคนฟัง เพื่อจะได้รู้ว่าที่เราทำนั้นเพื่อนร่วมงานเขาเข้าใจหรือไม่ จะได้ร่วมช่วยกันปรับปรุงกันได้

    มีงานที่ต้องเขียน code เพื่อไปเรียก Datasource Pool มาใช้งาน เลยสอบถามน้องๆว่ารู้จัก Datasource หรือไม่ น้องๆบอกว่าเคยได้ยินกัน เพราะ code ที่เขียนก็แค่เรียก method ที่ไป call Datasource Pool อยู่แล้ว

   Datasource Pool คือ ระบบการจัดการเชื่อมต่อระหว่าง Application กับ Database เพื่อที่จะได้ลดขั้นตอนการเขียน code ให้น้อยลง และเป็นการเพิ่มประสิทธิภาพการจัดการเชื่อมต่อ Database ได้ดีขึ้น Datasource Pool สามารถกำหนดค่า Min, Max, Timeout ได้ (รายละเอียดยังมีมากกว่านี้อีกเยอะ เอาแบบ basic ก่อนละกัน) 
  • Max คือค่าที่ Datasource Pool จะสามารถ create connection database ได้มากที่สุด
  • Timeout คือค่าที่เมื่อเราเขียน code conn.close() แล้ว Datasource Pool จะเปลี่ยน state จาก connected เป็น idle เพื่อเป็นการ standby ใ้ห้ application ที่จะใช้งานได้เข้ามาใช้ได้เลย
  • Min คือค่าที่ Datasource Pool จะเป็น state idle ได้อย่างน้อยสุด
สมมุติว่า
    เราได้ set Datasource Pool ไว้ดังนี้
    - Max=50
    - Min=10
    - Timeout=30minute
    เมื่อ Application เราขอ connection ไป 20 Datasource Pool จะ return ให้กลับมา 20 ที่ state เป็น connected 
    เมื่อ Application เราขอ close ไป Datasource Pool จะเปลี่ยน state จาก connected เป็น idle ทั้ง 20
    เมื่อเวลาผ่านไป 30 minute Datasource Pool ที่เป็น idle จะเหลือ 10 ตามค่า Min

    Thread Pool คือ ระบบการจัดการ Thread ที่จะใช้งานได้ต่อการ run บน JVM นั้นๆ หลักการทำงานก็คล้ายๆกับ Datasource Pool เพียงแต่คราวนี้ไม่ต่อกับ Database แต่เป็นการต่อไปยัง CPU ที่มีให้ใช้งาน

    สอนไปมาก็เกือบเที่ยงละ เลยสั่งงานน้องไปว่าบ่ายนี้ ก็ให้ code มา review กันแล้วปรับให้เข้ากันให้เรียบร้อย

    หัวหน้าถามถึง coach มาสอนกี่วันวันไหนบ้างถามตั้งแต่เดือนเมษายนเลย จำไม่ได้เลยทีนี้ ดีน่ะว่าจดไว้บ้าง ทำให้ต้องเริ่มจดบันทึกรายวันจริงจังละ

    เที่ยงละ ไปเลี้ยงส่งน้องอีกคนที่ลาออกละ เคารพการตัดสินใจของน้อง

    บ่ายกลับมาทำงานต่อ ง่วงมากเลยทีเดียว แต่ก็ต้องทำงานน่ะ หลับไม่ได้ เพราะเรามีงานที่ต้องทำ

    เริ่มด้วยงาน install sonar on ubuntu และ config ให้ jenkin มาเรียกได้ ทำไปก็ง่วงไป fail ไป fail มา อยู่ๆใช้งานได้ซะงั้น ตื่นเลยทีนี้ ต้องมาหาว่า ผ่าน ได้ไงหว่า เพราะงัวเงียทำไป เลยต้องมา check ว่าทำอะไรไปยังไงบ้าง ตรงไหนใช้ได้ ตรงไหนใช้ไม่ได้ จนได้คำตอบแล้วก็สำเร็จ งานลุล่วง

    ลอง run sonar แล้ว code ที่น้องเชียนเป็นไง ตรวจเจอ code ที่เป็น minor ด้วย เลยดูว่าเป็นเรื่องอะไร บอกด้วยว่าเป็นเรื่องการเอา tab มาใช้งานแทนที่จะใช้ white-space เลยลองแก้ไขแล้ว commit ดู พบว่าผ่าน issue นี้ ถูก close ให้อัตโนมัติละ ดีจริงๆ

    มีโจทย์ในใจเพิ่ม ว่า เมื่อ sonar เจอ issue แล้วจะเอา issue นี้ไปเปิดที่ git-lab server ยังไงได้ ??? คิดไม่ออกพักไว้ก่อน (อย่าจมกับปัญหา เพราะเราจะไม่มีวันเจอทางออก)

    เดินไปดู WebSphere MQ หน่อยว่า ปัญหาที่ MQ Explorer ต่อไปยัง IIB9 นั้นใช้งานได้หรือยัง ผลคือยัง error convert lang ไม่ได้ ทำให้ใช้ MQ Explorer ต่อ WebSphere MQ ไม่ได้ แต่ยังดีหน่อยที่ WebSphere MQ ยัง set lang ตามที่ต้องใช้งานได้อยู่ ระบบทำงานได้ถูกต้อง คงต้องให้เปิด PMR ละ

    แนะนำ IBM ว่าถ้าจะใช้ External Monitor(Tivoli) นอกตู้ IBM PureApplication System นั้น ต้องดูเรื่อง requirement ให้ดีว่าลูกค้าต้องการอะไร
    ถ้าต้องการ monitor ธรรมดา ก็ลงเครื่องข้างนอกแบบธรรมดาเลย แต่เมื่อ config ที่ share service นั้นต้องระวังให้ดี เรื่อง check box Auto Restart WAS เพราะเมื่อไรที่ deploy share service นี้ไปแล้วนั้น WebSphere ทั้งตู้ IBM PureApplication  System จะ restart Application Server ทุกตัวทันที ซึ่งอาจจะส่งผลต่อการทำงานของลูกค้า
    ถ้าต้องการมากกว่า monitor เช่น transaction เพิ่มเข้ามานั้น เราต้อง manual config เครื่อง agent ทุกเครื่องที่เราต้องการ transaction นั้น ซึ่งเมื่อมีเครื่องใหม่มา เราก็ต้อง manual config agent เองทุกครั้ง เนื่องจาก share service จะไม่รู้จัก ถามว่าทำ script package เพิ่มได้ไหม ก็ตอบว่า ทำได้อยู่

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


    

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

แสดงความคิดเห็น