แบไต๋ iSTEE มีดีอะไร ?

Samong-OnlineiSTEEแบไต๋ iSTEE มีดีอะไร ?
19 พฤษภาคม 2017 Posted by admin iSTEE No Comments
iSTEE มีดีอะไร ?   เราเชื่อว่านี่คือคำถาม  จากหลายท่านที่ได้เข้ามาเยี่ยมชมเวบไซต์ของเรา
แน่นอนครับ  การเปิดตัวกับสาธารณะแบบนี้ว่าเราคือ Middleware หรือ เฟรมเวิร์ก  ย่อมมีความเสี่ยงต่อการถูกท้าทายจากบรรดาเซียนโปรแกรมเมอร์ทั้งหลาย  รวมทั้งจะสร้างความน่าเบื่อให้กับผู้เยี่ยมชมเวบไซต์นี้  ว่าเมื่อไหร่จึงจะมีแอพพลิเคชั่นดีๆ ออกมาให้ได้ชมกันเสียที
 …..
วันนี้เราจะนำท่านมาชมในลักษณะการ  …แบไต๋ของ iSTEE  … กันแบบเห็น ๆ   แต่จะเป็นการเผยแพร่ในระดับของการหลักการคิดก่อน  ว่าเบื้องหลังการพัฒนานั้นมีลำดับขั้นตอนอย่างไร
….
กล่าวคือ  หลักคิดง่ายๆ  ในการพัฒนา  iSTEE  ซึ่งเป็นแกนของระบบ Middleware ของเรานั้น   ยึดหลักธรรมชาติแห่งการเกิดขึ้น  ตั้งอยู่  และจำเป็นต้องดับไป  และกระทั่งการบรรลุนิพพาน  และรวมกับหลักการ อริยสัจ 4  คือ  ทุกข์ สมุทัย นิโรธ มรรค   หรือ  ทุกข์ หรือปัญหา   สาเหตุ  วิธีการ
 ….
ซึ่งในทางเทคนิคการพัฒนาซอฟท์แวร์ในระดับสากลก็ได้ใช้หลักคล้ายๆ กัน คืือ  การประกอบด้วยวัตถุ  การมีกระบวนการ  การมีภาระงาน  และ การมีเหตุการณ์  กล่าวคือ  มีความเป็นเหตุเป็นผลกันว่า  จะต้องมีตัวการ  ตัวกรรม (Entity) ตัวกริยาหรือเหตุการณ์ (Event)  และกระทำอย่างเป็นกระบวนการ (System)  เพื่อให้เกิดผลบางประการตามภาระกิจ (Task)  ครั้นเมื่อเกิดขึ้นครบองค์ประกอบแล้ว  หรือพบว่าไม่มีทางที่ภาระกิจนั้น ๆ จะสำเร็จตามเป้าหมายแล้ว  ภาระของเหตุการณ์  ระบบ และองค์ประกอบการเกิดกรรมนั้น ก็ต้องถึงคราต้องสลายไปเพราะไม่มีสิ่งใดจะอยู่ยั้งยืนยง
 …
ในทางเทคโนโลยีคอมพิวเตอร์ก็เช่นกัน  การที่ระบบจะทำงานได้  จะเริ่มตั้งแต่จะต้องสนใจว่า  สิ่งนั้นที่ต้องการพัฒนาเพื่อไปตอบโจทย์แก้ไขปัญหานั้นนั้น  คือ   กระบวนการอะไร   ต้องการอินพุตอะไรจากผู้ใช้งาน  หรือภายใต้ปัจจัยสิ่งแวดล้อมต่าง ๆ หรือภาระกิจนั้นจะต้องเกิดขึ้นเมื่อไหร่   และเมื่อสถานการณ์พร้อม  ปัจจัยพร้อมแล้ว  สิ่งนั้นจะต้องเป็นไปตามกระบวนการอย่างไร
 …
ในระหว่างกระบวนการ  ยังอาจจะมีความจำเป็นในการเรียกหาเครื่องมือ  ตัวการ ตัวกรรม  หรือต้องการเหตุการณ์ปลีกย่อยรอง ๆ ลงไป   แบบนี้จึงจะเรียกว่าเป็นการเรียกใช้ หรือ  use สิ่งต่าง ๆ ที่เคยเกิดขึ้น ที่ได้เตรียม  สร้างขึ้น   ไว้ก่อนหน้านั้นแล้ว  ราวกับไว้ได้หยั่งรู้ว่าตลอดกระบวนการนั้นจะต้องการสิ่งใด  และสิ่งนี้ได้ถูกสรา้งและเกิดขึ้นโดยอัตโนมัติแล้วภายในกรอบของ iSTEE
 …
ผู้สร้าง _iSTEE  ได้ออกแบบ iSTEE ให้มีความเก่งกาจในการทำภาระกิจ  ตอบโจทย์กระบวนการด้านต่าง ๆ ที่พึงมีในธุรกิจและหน่วยงานบริการของราชการ   จึงได้มีการสร้าง  วัตถุ  อุปกรณ์ที่มีความจำเป็นต้องถูกใช้งาน  ไว้อย่างมากมาย  ดังที่จะได้อธิบายด้วยแผนภาพโครงสร้างของวัตถุ class ต่าง ๆ   และในการพัฒนางานแอพพลิเคชั่นจริง ๆ จะยังคงสามารถเรียกใช้วัตถุของเครื่องมือ Delphi (หรืออย่างอื่น ในโอกาสต่อไป) 
 …
และนี่คือ  การพัฒนาซอฟท์แวร์ในระดับเครื่องมือ  ที่ย่อมจะมีความล้ำลึกไปกว่าการพัฒนาเพียงแค่ โซลูชั่นใด ๆ เพียงเรื่องเดียว  แต่มันคือ  เครื่องมือ เพื่อรองรับการพัฒนาโซลูชั่นได้อีกนับแสนนับล้านชิ้น
เป็นที่น่าสนใจว่า iSTEE มีขนาดของไฟล์องค์ประกอบรวมกันแล้วทั้งหมดเป็นกี่ GB  หรือเป็นสัดส่วนกี่ เปอร์เซนต์ของ Raid Studio  และเป็นที่อัศจรรย์ใจเมื่อพบว่า  iSTEE  และ Samong Framework ที่ถูกพัฒนาขึ้นมานั้น  มีขนาดรวมกันไม่น้อยกว่า 4 GB หรือคิดเป็น 30 % ของส่วนประกอบของ Delphi ทั้งหมดที่ไฟล์แต่ละส่วนนั้นเป็นไฟล์รหัสโปรแกรมระดับคุณภาพล้วน ๆ   และการพัฒนารหัสโปรแกรมได้ขนาดนี้นั้นจำเป็นจะต้องใช้จินตนาการขั้นสูงประกอบกับความพยายามเป็นอย่างมาก  และหากไม่มีธรรมขั้นสูงจริง ๆ ผู้พัฒนาคงจะพ่ายแพ้ไปเมื่อตั้งแต่  15 ปีก่อน
 …
และถึงเวลาแล้วที่ iSTEE จะได้รับการเปิดเผยและถ่ายทอดให้กับ เจได  ผู้มีธรรม  ให้มีความรู้  และเข้าถึงพระธรรมไปพร้อมกับการพัฒนาแอพพลิเคชั่น  และเหล่านี้คือ  สิ่งมหัศจรรย์ แห่งการพัฒนาซอฟท์แวร์  ที่ไม่สามารถจะหาชมได้ที่ใด
 ..
ส่วนถัดไปของบทความนี้   คือ  คำอธิบายความของผู้พัฒนา iSTEE ที่ได้อธิบายความต่อเจไดท่านหนึ่ง  ที่ผู้อ่าน  อ่านแล้วอาจจะปวดเศียรเวียนเกล้า  แต่โปรดได้อ่านซ้ำ ๆ  แล้วจะค้นพบว่า  การพัฒนาเครื่องมือ iSTEE นี้  เป็นการพัฒนาแบบสูงสุดคืนสู่สามัญจริง ๆ
======================================
 จุดเริ่มต้นของการพัฒนา  หรือทางเข้าของระบบ ……………
 ….
…ทางเข้าของทั้งหมด เริ่มต้นที่ยูนิต Stee.Nature.Systems  การเขียนโปรแกรมแล้วค้นพบด้วยตนเอง! …จึงเป็นการค้นพบแบบที่สุดแล้ว
เราใช้ iSTEE และ Samong และตัวเราเองเป็นเครื่องมือ กลยุทธ์ที่แสนธรรมดา และมีประสิทธิภาพมาก  ช่วยให้เข้าถึงจินตนการและพลังชีวิตในตัวได้อย่างมีประสิทธิภาพ ไม่ต้องไปค้นหาที่ไหน  ดังแผนภาพนี้
 
เมื่อลงลึกในชั้นที่ 3 องค์ประกอบของภายในยูนิต Class คือตัวสำคัญ…มาดูตัวแรกคือ  TSteeApplication, TMainStee
 
ให้มองไปปที่เรื่อง “สติ” หรือการตื่นรู้ เป็น ระบบ (System) – ผมเลยใช้ว่า TSteeApplication   โดยมาตรฐานทั่วไปของ Delphi  ถือว่าอะไรเป็นคลาสจะใช้ T ตัวใหญ่นำหน้าชื่อครับ  
ตัว TSteeApplication นี่ได้ค้นพบและประสพความสำเร็จมาในปีที่แล้วนี่เอง…ตอนแรกเรียกมันว่า TMainStee   และตั้งใจว่าจะสิ้นสุดการพัฒนา iSTEE  ณ จุดนั้นแล้ว  แต่ที่ไหนได้  ความจริงของธรรมยังไม่เพียงพอ  มันยังมีอีกชั้นหนึ่ง คือ TSteeApplication ครอบ TMainStee โดย TMainStee อยู่ภายใน
 
ตรง Variables คือ ตัวแปรที่เก็บตำแหน่งวัตถุ หรือที่เรียกว่า Instance อยู่ 2 ตัวคือ FMainStee และ FSteeApplication …. คนดูแลต้นกำเนิดจะเข้าถึงตัวแปรภายในนี้ได้ คนอื่นๆ เรียกใช้ได้ผ่าน ฟังก์ชั่นชือ SteeApplication กับ ฟังก์ชั่นชื่อ MainStee   
 …
ใน Delphi – Procedure , function – เรียกโดยทั่วไปว่า Method
 …
วัตถุตัวแรกในโปรแกรมของ Delphi จะถูกสร้างอัตโนมัติคือ Application เอาคลาส TApplication มาสร้างเป็นวัตถุและเก็บตำแหน่งไว้ในตัวแปรชื่อ Application การเรียกใช้ Application.xxxx คือการใช้งานวัตถุ ผ่าน Method ที่อยู่หลังจุด สิ่งที่อยู่หลังจุด (xxx) มี 2 ประเภทใหญ่คือ Property กับ Method Property เช่น สี น้ำหนัก ส่วนสูง ส่วน Value ของคุณสมบัติ สี คือ ขาว ดำ แดง ม่วง ส่วน Value ของคุณสมบัติ น้ำหนัก คือ 100, 80 ,50 เป็นต้น
 …
หลังจาก Application ถูกสร้างขึ้น  เราได้กำหนดให้มีการสร้างวัตถุ SteeApplication ขึ้นมาโดยอัตโนมัติเช่นกัน การรู้สึกตัวของเรา หรือสติ มีอยู่ตลอดเวลา ไม่งั้นคนเราจะไม่สามารถดำเนินชีวิตไปตามปกติได้  การตื่นรู้ ในแต่ละขณะแท้จริงแล้วเปรียบเทียบได้กับ แต่ละระบบ…ที่มันถูก Activate ขึ้นมา หรือเป็นการใช้สติพิจารณา เรื่องที่สนใจ แล้วมันก็ผ่านไป เหมือนตัวชี้ของ ซีพียู แล้ววนกลับมาใหม่ ถ้า Stack เยอะ กว่าจะกลับมาก็นานหน่อย
 …
SteeApplication ถูกทำลายได้ แต่มันจะเกิดใหม่ขึ้นเองได้อัตโนมัติตลอดเวลา MainStee ถูกำทำลายได้ แต่มันจะเกิดใหม่ขึ้นเองได้อัตโนมัติตลอดเวลา ถ้าเราใช้แบบจำลองที่นิยม คือ จิตสำนึก และ จิตใต้สำนึก ตัว SteeApplication กับ MainStee คึอจิตใต้สำนึก มันมีกลไกอัตโนมัติภายในของมันที่ทำงานอยู่เพื่อให้ทุกอย่างเดินหน้าต่อไปได้ตามวิถีพื้นฐาน
 …
ตัวระบบที่เราพัฒนาขึ้นมา หรือแอพต่างๆ คือ จิตสำนึก…เดี๋ยวมา เดี๋ยวไป
 
สิ่งที่ผมกำลังอธิบายนี้…มันทำงานอัตโนมัติไปหมดแล้ว…แต่ท่านนักพัฒนา  ต้องรู้เป็นพื่นฐานก่อนว่า กลไกการทำงานมันทำอย่างไร ถึงจะควบคุมมันได้อยู่หมัด
 …
ใน Routine… IsClassOf ….คือ ถามว่ามันคือคลาสอะไร? ไม่ใช่ถามว่ามันคืออะไร? ใช้ประโยชน์อย่างไร?…..Instance หรือ ตัวแปรที่เก็บวัตถุ…
var
    A : TObject
    B: TjgSystem;
begin
    B:=TjgSystem.Create(Nil);
    A:=B; //ถามว่า A เป็น TjgSystem หรือไม่
    if IsClassOf(A.ClassType,’TjgSystem’) then msgbox(‘A is a System’);
    if A is TjgSystem then msgbox(‘A is a System’);
end;
 …
การใช้ประโยชน์ของ SteeApplication คืออะไร?….เอาไว้ตั้งค่าเริ่มต้นต่างๆ กำหนดคุณสมบัติที่ต้องการ แล้ว StartMainStee หรือ StopMainStee เพื่อเริ่มทำงานและยุติการทำงาน หรือเริ่มมีลมหายใจ หรือหมดลมหายใจ
คือที่มาของ MainStee และ SteeApplication  
 …
MainStee และ SteeApplication… คือวัตถุ 2 ตัวหลักที่ทำงานตลอดเวลา
 …
ในขณะที่เราได้ยินเสียง ตาเราก็เห็นตัวอักษร มือก็สัมผัสแป้นพิมพ์ ท่านรับรู้ 3 เรื่องได้พร้อมกันใช่ไหม นี่ึคือ Session ที่ทำงานอยู่ใน MainStee …. ใน MainStee มีได้หลาย Session ถ้าเป็น Server Application …แต่ละ Connection ที่ติดต่อเข้ามาจะเกิด Session ขึ้นมาเพื่อเป็น ห้องควบคุมสื่อสาร..ประจำ Connection นั้น
 …
กลไกพื้นฐานของ Server คือตรงนี้ครับ Session จะกี่ Session ก็อยู่ที่หน้างานล่ะ ว่าจะปรับ Load Balance อย่างไร
เขียน Server Application ก็แค่นี้เองครับ มีตรงนี้แอพก็เป็น Server ได้แล้ว..555
 
พวกคำสั่ง Register ทั้งหลาย ใช้ทำอะไร…โกดังคลาสครับ ปกติมาตรฐานมีโกดังเดียว ผมเขียนโกดังเพิ่มติม แยกเป็นหลายโกดัง เพื่อทำให้การค้นหาคลาส เอามาปั็มได้เร็วมากขึ้น
  …
แค่นี้ท่านอ่านก็แยกหมวดได้แล้วว่า จะ Register อะไรไปวางไว้ในโกดังไหน ที่สำคัญท่านเขียนของใส่โกดังมั่วไม่ได้แน่ เพราะผมกำหนดชนิดคลาสที่ท่านจะลงทะเบียนไว้แล้วสังเกตุดู   หลักสูตรนี้ของ เจได..ท่าน
 …
ตรงนี้ก็ลดต้นทุนบำรุงรักษาระบบได้ไปเยอะแล้ว เมื่อระบบขยายตัว…แต่อาจจะมองข้ามไปถ้าเขียนโปรแกรมหรือระบบขนาดเล็กๆ…
แต่หากเราเชื่อว่า โปรแกรมต้องเติบโตเหมือนต้นไม้ มุ่งไปที่เอไอ..โครงสร้างแบบนี้เครื่องมือแบบนี้คือสิ่งจำเป็นยิ่งยวด
 …
กว่าจะเข้าใจก็หลายปีอยู่…บางคนบอกว่าใช้ของมาตรฐานเลยสิ… พอระบบมันโตถีงระดับหนึ่ง…ท่านหมดโอกาสแตกโกดังแบบนี้เลย… เพราะยูนิตต่างๆ มันพันพัว ก้นมั่วไปหมดแล้ว…แนวคิดเรื่องนี้ไม่เกี่ยวกับภาษา..พิสูจน์กันชัดๆ 
การกำหนดให้โปรแกรมเมอร์ลงทะเบียนผ่าน ศูนย์ลงทะเบียนแบบนี้ ตัวควบคุมทะเบียนคือ MainStee เราสามารถจะคัดกรองสายพันธุ์ที่เราไม่ต้องการออกได้ในอนาคต เพราะเราเขียนคำสั่งเอง ฝังเป็นระบบคัดกรองหรือเป็น Firewall สายพันธุ์ที่ตรวจสอบพบว่ามีปัญหาออกไปโดยระบบอัตโนมัติ
.. 
Nirvana หรือ  นิพพาน คือ คำสั่งใช้ทำลายวัตถุ และคืนหน่วยความจำให้ระบบ…แนะนำใน iStee ใช้ตัวนี้เพื่อซ่อนการทำลายวัตถุและคืนค่าในหน่วยความจำด้วยวิธีที่แตกต่างกันในแต่ละแพลตฟอร์ม…นี่คืออีกเรื่องหนึ่งที่พิสูจน์บทบาทของ Middleware

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

ตัวจดลิขสิทธิ์แท้จริง คือ API ชุดนี้แหละครับ…OS แต่ละตัวก็มีแบบนี้ แต่มั่นใจว่าความแตกต่างเกิน 40% แน่นอน ถือว่าเป็นของใหม่ไม่ได้เลียนแบบใครครับ
 …
...เราพัฒนาเครื่องมือเอง…ให้มีศักยภาพในการผลิตซอฟต์แวร์แบบนี้ กับยอมสิโรราบ…ใช้ของแบบที่ชาวบ้านเขาใช้ตามพี่ใหญ่… ผลลัพธ์ก็ดีกันคนละอย่าง…
===========================================
นอกจากนี้  เราใคร่นำเอา  บางส่วนบางตอนของระบบ Help  ที่ใช้เป็นคำอธิบายรายละเอียดของ iSTEE   ที่มีความจำเป็นสำหรับนักพัฒนาที่จะได้เข้ามามีส่วนร่วมในการพัฒนาแอพพลิเคชั่นด้วนเครื่องมือนี้
รูปหน้าจอที่  1   แสดงให้เห็นถึงโครงสร้างของบรรดาไฟล์องค์ประกอบ  ไฟล์ class ต่าง ๆ ที่ได้ถูกพัฒนาขึ้นเป็ิ้นส่วนของระบบ
หน้าจอนี้แสดงถือ  ลำดับชั้นของวัตถุ  ในโครงสร้าง ในแต่ละสายพันธุ์
หน้าจอนี้แสดงถึง  ความพยายามในการอธิบายชิ้นส่วนที่ถูกพัฒนาขึ้นมาอย่างละเอียดยิบ
ผมในฐานะผู้ร่วมทีมพัฒนา  หรือผู้ที่จะพยายามมาบอกเล่าในภาษาคนที่เข้าใจกันได้ทั่วไป  ที่ได้พยายามศึกษาระบบไปพร้อมๆ กับท่านผู้อ่าน  จึงจะได้ให้ความมั่นใจกับท่านผู้อ่าน และผู้ติดตามข่าวสารของเราว่า    นี่ คือ  วิวัฒน์กรรม  หรือ  นวัตกรรมที่มีการพัฒนาต่อยอด  เป็นผลงานชิ้นเอกจากคนไทยเพื่อคนไทย
 ..
ท่านจะเห็นได้ว่า  กรอบแนวคิดการพัฒนาไปตลอดจนเทคนิคการพัฒนานั้น  ไม่ได้มีความจำเป็นจะต้องผูกติดอยู่กับ  โปรแกรมภาษาใด ภาษาหนึ่งเท่านั้น  แต่สำคัญอยู่ที่การจะเรียนรู้อย่างลึกซึ้งและได้สั่งสมผลงานมาอย่างยาวนานแค่ไหน
 ..
การพัฒนาของเราจึงไม่ได้เป็นการพัฒนาแบบปักชำ  แต่เป็นการพัฒนา  แบบหยั่งรากแก้วลึก ๆ เพื่อให้วงการพัฒนาแอพพลิเคชั่นของเมืองไทยมีความยั่งยืน  แข่งขันกับนานาประเทศได้
….
 
พบกับเราในการแบไต๋ iSTEE ในตอนต่อไป  ที่จะลองนำเอา  โค้ด ของ class บาง class มาให้ชมกัน  และไม่ต้องสงสัยครับ  เราจะจัดให้มีการฝึกอบรมการใช้ iSTEE อย่างละเอียดลึกซึ้งให้กับนักพัฒนาระดับ เจได  และนักพัฒนาระดับเจไดขั้นสุดยอดผู้เปี่ยมด้วยเมตตาธรรมจะได้รับการถ่ายมทอดสุดยอดวิชา iSTEE แบบถึงแก่นแท้   และนั่นคือฝันสุดยอดของนักพัฒนาผู้หนึ่งที่จะได้นอนตายตาหลับและได้ชื่อว่า  ได้สร้างสิ่งนี้ไว้ให้กับโลกสมกับคำปวารณาตน  ก่อนการตัดสินใจเดินทางไกล  เผยแพร่ธรรมผ่านเทคโนโลยีการพัฒนาโปรแกรม

454total visits,5visits today

Leave a comment

Your email address will not be published. Required fields are marked *