First Day internship at Beehive

วันนี้เป็นวันฝึกงานวันแรก หลังจากคนอื่นได้ฝึกงานกันหมดละ พอดีนี่พึ่งได้ 5555+ ตอนแรกมาถึงก็นั่งรอ พี่ๆสตาฟเข้ามาแนะนำตัว แต่ขอสารภาพจำไม่ได้หมดทุกคนนะ 55555+ หลังจากนั้นพี่เลี้ยงที่ดูแลเรา เค้ามาอธิบายบริษัทว่าเป็นบริษัทที่รับจ้างทำโปรแกรม โดยเป็น scrum (อยากรู้ความหมายอันนี้เพิ่มเติมต้องดูจากลิ้งค์นี้ ) โดยบริษัทจะมีประชุมครั้งละ 2 อาทิตย์ทุกวันจันทร์(บางที1อาทิตย์) ประชุมกันเรื่องงานที่ทำกันใครทำอะไรบ้าง ถึงส่วนไหนละ ประมาณนี้ และจะมีที่ให้แปะว่าใครต้องทำtaskไหนบ้าง ที่นี่จะเป็นตามโปรเจค คล้ายๆกับ marvel

บรรยากาศของบริษัท
Task Project ต่างๆของบริษัท

วันแรกงานที่พี่สั่งก็คือ สิ่งที่เราต้องทำตลอดฝึกงาน คือ จะต้องเขียนคู่มือ เกี่ยวกับการใช้งานapplication ของทางบริษัทที่ทำ (จะมีตัวอย่างมาให้) โดยให้ดูprocess การทำงาน โดยทางบริษัทให้งานโปรเจคที่กำลังทำอยู่หนึ่ง project โดย project นี้จะใช้ codeigniter เป็น framework และ เขียนโดย php อันนี้คือส่วนของหลังบ้าน แต่ส่วนหน้าบ้านจะเป็น bootstrap ที่กล่าวมาเป็นส่วนของเจ้าของระบบ ส่วนลูกค้าของเจ้าของระบบจะใช้ ionicในการเขียน โดยมีทั้ง 2 platform ios and android ทั้ง 2 อันนี้จะเชื่อมกัน วันนี้พี่ๆให้ศึกษาเกี่ยวกับcodeigniterและก็พวกdocker ซึ่งตอนเช้าได้ศึกษาไปนิดหน่อย และลง docker กับ sourcetree ไว้ใช้งาน และก็ต้องเขียนบล็อคสิ่งที่เราเรียนรู้จากการทำงานด้วย ซึ่งเราต้องเขียน พี่เลี้ยงบอกวันละโพส scrum manager บอกอัพบ่อยแค่ไหนก็ได้ แต่อย่าห่างเกิน โดนให้เขียนใน blogspot หรือช่องทางไหนก็ได้เลยเขียนใส่ในนี้ และก็โพสลิ้งให้พี่ๆดู

Docker คืออะไร

โลโก้ของ docker

คือ ตัวจัดการserver ของเราซึ่งเป็นรูปแบบsoftware container ซึ่งสามารถจัดการได้ง่าย สะดวกและรวดเร็ว สามารถเปลี่ยนbehaviorของระบบได้โดยไม่กระทบกับอย่างอื่น ข้อดีของมันคือช่วยลดปัญหาการerrorได้ เช่น เครื่องแต่ละเครื่องมีเวอร์ชั่นของโปรแกรมต่างกัน docker เหมือนเป็นตัวกลางในการที่ช่วยให้สามารถทำงานร่วมกันได้ อีกอย่างนึง คือ ช่วยลดระยะเวลาในการconfig ของserver รายละเอียดเพิ่มเติมและอ้างอิงจาก ลิ้งค์นี้

และถ้าเวลาเหลือพอทางพี่ๆจะให้ทดลองทำโดยใช้codeinigtorด้วย ซึ่งพี่ๆบอกว่าจะมาบอกเรื่องนี้ทีหลัง (เนื่องจากฝึกงานที่ไทยประมาณ 1.5– 2เดือน ทำให้ไม่ได้ลงโปรเจคในบริษัทสักเท่าไหร่นัก เพราะ ที่นี่ใช้เวลา train พนักงานก็ 2 เดือนแล้ว) แต่พี่บอกว่าเราไม่น่าอยู่ทันตอนทำionic (เสียดายเบาๆ)

หลังจากกลับจากทานข้าวพี่ๆได้อธิบายถึงการทำงานของที่นี่ของทุกโปรเจค โดยจะแยกเป็น 2 branch คือ master กับ developer ในส่วน developer จะแตกเป็นfeature ต่างๆโดย ถ้ามีการเพิ่มfeatureอะไร ก็จะทำในส่วนนี้และก็อัพรวมๆกันหลายๆfeature เป็น realease พอ realease ครบ ไม่มีปัญหาก็จะอัพขึ้น master ทันที (อธิบายไม่ค่อยถูก 555+) ในส่วนอีกส่วน คือ master ถ้าลูกค้ามีปัญหา ส่งบัคมาให้แก้ ก็จะแตกจากส่วนmasterเป็นบัคที่ต้องแก้

ในช่วงบ่ายนี้ พี่ๆได้เอางานโปรเจคที่ทำอยู่มาให้เขียนdocument โดยต้องลงโปรแกรมเมื่อเช้านี่แหละ แล้วรัน application พี่ๆได้เข้ามาอธิบายส่วนต่างๆ โดยให้ดูการทำงานหลังบ้าน คือ จะใช้ MVC (model view controller) ในการทำโปรเจคนึง โดย model จะเป็นตารางdatabase ที่เก็บข้อมูลเนี่ยแหละ ส่วน view คือ เป็นหน้าจอหลักที่คนป้อนข้อมูล ดูข้อมูล หรือ ง่ายๆคือ GUI ส่วน controller คือ เป็นส่วนเชื่อมระหว่างสองอย่างที่กล่าวมา และเป็นการแปลงข้อมูลจากส่วนviewเข้าไปในmodel และ เอาข้อมูลจากview ออกมาโชว์ โดยมีโฟลเดอร์แยกทั้งสามส่วนเพื่อง่ายต่อการทำงาน และพี่ๆก็โชว์ตัวอย่างการใช้ codeigniter ในงานเช่นดังนี้

ตัวอย่างการใช้codeigniter กับ application

หลังจากนั้นพี่ให้ตัวอย่างของdocมาและให้เราเขียนคู่มือการใช้งานและต้องทำจนจบ5555+ หลังจากเข้าห้องน้ำ ( มีช่วงนึงไปเข้าห้องน้ำแอบบ่อยหรือเปล่าก็ไม่รู้ เพราะ ช่วงนี้ป่วยเกี่ยวกับท้องบวกกับมีสิ่งที่ผู้หญฺงทุกคนต้องมีทุกเดือน ) พี่ๆเข้าได้ประชุมถึงปัญหาที่เกิดขึ้นในแอพโดย scrum master อธิบายถึงว่าสิ่งที่เจอ สามารถเป็นปัญหาพ่วงต่อได้ โดยการที่ตั้งตัวแปรเป็น global แล้วมันมีrequest อยู่แล้ว ทีนี้เกิดปัญหาว่า ทำไมมันยังtrue อยู่ ทั้งๆที่ไม่ได้ใส่ พี่เลยบอกอย่างง่าย คือ reset global variable ใหม่ให้ล้างค่าก่อนเรียกใช้งานส่วนนั้น(อธิบายลึกกลัวคนไม่เข้าใจ) และก็อธิบายการเรียกใช้หรือดึงข้อมูลจากส่วนcontroller ไปโชว์ในview ถ้าตัวแปลซ้ำกัน เกิดปัญหาข้อมูลทับทันที และก็ที่นี่ใช้การดึงข้อมูลโชว์แบบเดียวกับเฟซบุ๊คโชว์component ในnew feeds พอเลื่อนใหม่ ก็จะโชว์เรื่อยๆ อันนี้ คือ เท่าที่จำได้นะ พอดีบางทีก็มีหลุดบ้าง เพราะ เป็นคนโลกส่วนตัวสูง

ปัญหาในการทำงาน

ก็คือ การฟัง บางทีพี่พูดเร็วและก็ไม่ชัด ต้องใช้สมาธิฟังเยอะมาก บวกกับกลัวพี่รำคาญด้วย บางทีเราก็ตื่นเต้นจนลืมว่า พี่ถามว่าอันนี้ คืออะไร บางอันก็ตอบมั่ว เพราะ ตื่นเต้นกับวันแรกด้วย เลยเป็นแบบนี้ มีบางอันก็ตอบถูกเข้าใจถูกนะ

วิธีแก้

พี่เลี้ยงที่ดูมาบอกว่าที่ทำงานมีขนม น้ำให้กินฟรีจากด้วย ไปส่องมาแล้วช่วยบบรเทาความหิวได้อยู่ เดี๋ยวไว้ลงรูปให้ดู พรุ่งนี้ละกัน ขี้เกียจ 5555+

ขอจบการเขียนแค่นี้ เดี๋ยวไปปั่น documents กับศึกษาพวก codeignitor และก็ docker ต่อละ

ถ้าอันไหนเขียนไม่ถูกต้อง ไม่รู้เรื่อง ขออภัยมา ณ ที่นี้ด้วย