เรียนเขียนโปรแกรมที่ไหนดี
Last posted
Total of 1000 posts
เรียนเขียนโปรแกรมที่ไหนดี
กุยังเด็ก กุเข้าใจว่า agile คือทุกคนทำส่วนไหนก็ได้ ใครว่างมึงก็ไปทำ พวกมึงไม่มีสิทธิ์ว่าง กุเข้าใจถูกปะวะ
>>756 เปล่า คือมี Master (นายท่าน) จ่ายอาหารให้ โปรเกม่อน อีกทีถ้าไม่แดกก็หวดด้วยไม้ ผิดๆ
สรุปนะ
1. มีคนไปคุยงานกับลูกค้า ไม่ให้โปรแกรมเมอร์รับงานมึนๆ ตรงกับเซล คือให้เป็นสิ่งสุดท้ายที่ลูกค้าต้องการ แบบลูกค้าต้องการผัดกระเพราใส่ไข่ดาวนะ ไม่ใช่หมูทอดกระเทียมใส่ไข่เจียว
2.จากนั้นไอ้คนที่คุยกับลูกค้าจะส่งงานต่อให้ผู้กำกับ หรือเป็นผู้กำกับเองแล้วแต่กำลังทรัพย์ของบริษัท มาสั่งแบ่งงาน เช่น ลูกกระจ๊อก a ไปหุงข้าว ลูกกระจ๊อก b ไปผัดกระเพรา ลูกกระจ๊อก c ไปทอดไข่ ทำเสร็จให้รายงานด้วย ถ้าทำแล้วติดขัด เช่นลูกกระจ๊อก c เปิดเตาแก๊สไม่เป็น ไอ้ผู้กำกับอ้อมึงเปิดเตาแก๊สไม่เป็นเหรอ งั้นมานี่เปิดก้น (ไม่ใช่ๆ) ก็ไปสอน หรือไม่ก็ให้ไอ้ b ไปช่วยหน่อย
3.จากนั้นก็รวมใส่จานส่งให้ลูกค้า
* วิธีนี้ไม่เหมาะสำหรับทำอาหารตามสั่ง ที่คนครัวคนเดียวผัด 2 จานในเวลาเดียวกัน ไม่งั้นคนทำแม่งอาจจะมึน อาจจะได้กระเพราไข่เยี่ยวม้าใส่ไข่เจียว แทน สุดท้ายลูกค้าบอกกูไม่ได้สั่งแบบนี้ ไล่กลับมาทำใหม่
* ข้อเสียทำทีละ order ถ้าคนเยอะทำหลายๆ order ก็ได้ แต่ลูกกระจ๊อก 1 ตัวมันทำงานได้ทีละอย่าง ดังนั้นถ้าบริษัทมี ไม่กี่คน เช่น เซลขายงาน โปรแกรมเมอร์ ทำงาน ส่งจบแบบนี้เอาระบบ agile มาใช้ไม่ได้แน่นอน เรื่องของเรื่อง เพราะคนเก่งแบบทำได้หลายหน้าที่หายาก แล้วทำงานหลายอย่างยังไงก็มึน สู้ใช้หลายคนหน่อย จัดงานไม่ให้มึน หาคนมาทำงาน งานจะง่ายกว่าแถมเร็วด้วย เพราะโฟกัสทีละงาน แต่เนื่องจากมันใช้หลายคนดังนั้น agile ไม่เหมาะสำหรับทำงานราคาถูกเท่าไหร่
กูควรเดินไปทางไหนในวงการนี้ดีวะท่าน
>>760 แล้วแต่จะเลือกใช้ชีวิตยังไง จะอีโวร่างเป็นสลัมมาสเตอร์ ที่มีค่าพลัง THB เกินแสน แต่หัวล้านวิ่งเข้าโรงบาลบ่อยๆ บางทีต้องแดกยาแก้โรคเครียส หรือจะใช้ชีวิตเป็นโปเกม่อนต่อไปแล้วเปลี่ยนหาสลัมมาสเตอร์ไปเรื่อยๆ จนค่าพลังสูงก็ได้
หรืออีกทางเป็นโปเกม่อนป่า หาแดกเอง ค่าพลังแล้วแต่โซนสู้ด้วยตัวเอง ถ้าเก่งหน่อยค่าพลังก็มากกว่าสลัมมาสเตอร์
>>762 ในมุมมองคนโดนสั่งงานจะมองว่าไม่ทำอะไร หรือเป็นเฉพาะบ.มึงเองหว่า
งานตามจริงมันไม่ได้ทำต่อหน้าโปเกม่อน มันเป็นคนวางแผน กับประสานงานกับลูกค้าที่มึนๆ ว่าอยากแดกอะไรกันแน่
ทำให้ลูกค้ามองเห็นถึงรสชาติที่ชอบ แล้วอยากจะกินเมนูนี้จริง
หรือพูดง่ายๆ ไอ้ตัวนี้น่ะ ต้องรู้ทุกอย่างใน project ว่าจะต้องใช้ชิ้นส่วนอะไรบ้าง มาประกอบให้ออกมาเป็นอาหารเช็ตที่ลูกค้าจะแดก
คือจัดทีมโปเกม่อน กากๆ มาปิด job ได้ ถ้าโปเกม่อนตายหมดก็โดดลงสนามได้ด้วย เพราะมันคือร่างอีโวของโปเกม่อน
บริษัทจ่ายให้คนนี้สูงก็ไม่แปลก เพราะขาดโปเกม่อนไปดักตามป่าได้ แต่ถ้าขาดไอ้ตัวนี้มันจัดทีมโปเกม่อนตบ project ใหญ่ๆ ไม่ได้
สลัมมาสเตอร์ก็แล้วแต่คน แล้วแต่บริษัทด้วย ที่กูเจอมาบางคนนี่คือทำงานหนักและสำคัญจริง
บางคนคือมีปัญหาอะไรที่เป็นหน้าที่มันไม่สนใจอะไรซักอย่าง โบ้ยให้คนตลอด ทำอย่างเดียวคือเสนอหน้าเวลานายมาตรวจงาน
สลัมมาสเตอร์บ.กูก็ดูโคตรเหนื่อยจริง โดนไดเรกเตอร์เรียกไปสั่งสอนบ่อยๆอีก เห็นแล้วกูคิดได้เลยว่าไม่อยากเป็นสลัมมาสเตอร์
โปรแกรมเมอร์นี่ตายตั้งแต่อายุยังน้อยทุกคนจริงป่าววะ
ไปอ่านงานวิจัยมาการนั่งทำงานติดกันนานๆเพิ่มอัตราการเกิดโรคทางหลอดเลือดและหัวใจ
แถมนั่งหน้าจอนานๆแม่งก็มีความเครียดอยู่แล้ว ต่อให้เล่นเกมก็เถอะ
>>762 คนที่ควรได้เป็นแสนก็มี เก่งจริงๆ จังๆ งานยากนะเว่ย และน่ารำคาญต้องดีลกับลูกค้า
แต่พวกไม่ทำเหี้ยอะไรก็เยอะมาก บางคนก็ชอบสร้างความฉิบหายด้วยการไปคุยอะไรเหี้ยๆ ตกลงเหี้ยๆ กับลูกค้าโดยไม่มีความรู้ เสร็จแล้วก็เอางานพินาศๆ มาให้ในบ.ทำ กูซึ่งเป็นคนทำก็จะด่า ให้ไปคุยมาใหม่ อะไรผิดก็ไปแก้กับลูกค้า ถ้าไปรับปากอะไรมั่วๆ โดยไม่ถามกูก่อนกูก็ด่า กูไม่รู้สึกว่าใครเป็นหัวหน้าใคร ทุกคนมีหน้าที่ที่ต้องทำให้ดี ไม่ใช่ทำงานบ้าบอคอแตกดีแต่ชี้นิ้วสั่งชาวบ้าน
โปรเจคคนอื่นทำบน visual studio 2015 ถ้ากุเอามาทำเครื่องกุ visual studio 2017 เวลา commit ไป เครื่องคนอื่นที่ push ไป จะติดปัญหาไรป่าววะ
พวกมึงมีใครเคยไปงานแนวๆ Hackaton มั้ย คือกูได้ตั๋วมาแล้วกูสนใจอยากไปฟังบรรยาย+ดูบรรายากาศงาน
แต่ให้ไปสุมหัวทำ product ข้ามคืนอะไรนี่กูไม่ค่อยสนใจอ่ะ ส่วนมากคนที่ไปนี่อยู่ทำงานข้ามคืนกับจริงๆเลยป่าววะ
ถ้าฟังบรรยายเสร็จกลับเลยจะน่าเกลียดมั้ย
บริสัดกุ go live มา เดือนกว่า user เปลี่ยน Req ใครเคยเจอประสบการ์ณแบบนี้บ้างว่ะ ปล. ตังไม่ได้เพิ่มนะ เพราะทำให้บริษัทตัวเอง ไม่รู้ผิดที่กุวางระบบไม่ดี หรือ user งี่เงา
มีเหตุผลอะไรที่พวกมึงใฃ้ svn แทน git หรือ tfs
พวกมึงเคยออกจากบริษัทเก่าแล้วเค้ามาถามงานที่ราเคยทำบ่อยๆ ป่ะ แบบติดปัญหานุ้นนี่ทำไงจะเช็คยังไง
คือกุออกมาละ ตอนกุออกไม่มีใครมา transfer โปรเจคต่อจากกุเลยอ่ะ กุเลย commit code ล่าสุดให้ก่อนออก พอกุออก เท่าที่ทราบ ก็ยังไม่มีใครดูโปรเจคต่อจากู(สงสัยคนขาด) แล้วทีนี้พอมีปัญหา พี่ที่ทำงานกับกุ(ซึ่งไม่ใช่โปรแกรมเมอร์ เค้ามีหน้าที่ติดต่อกับลูกค้า) ก็มาถามกุว่านุ้นนี่นั่นแก้ไง ทำไง ช่วยคิดวิธีแก้หน่อย กุก็ตอบๆ ไปตามแต่ที่จะช่วยได้ กุเลยนั่งคิดว่าแล้วบริษัทไม่คิดจะหาโปรแกรมเมอร์มาดูหน่อยเหรอวะ หรือคิดว่าพี่ที่เค้าทำงานสนิทกับกุ เลยให้มาถามกุตลอด คือคนที่มาทำต่อมันก็ต้องมีแกะโค้ดคนเก่าปะวะว่านุ้นนี่นั่นยังไง (ขนาดกุมาทำแรกๆ ยังแกะโค้ดเองแทบไม่ได้หลับไม่ได้นอนไปหลายวัน เพราะตอนนั้นกุถามใครไม่ได้ คนเขียนคนเก่าก็ออกไปแล้ว)
ปล 1. ตอนออกไม่มีใครมา transfer จริงๆ
ปล 2. ระบาย 55555
The IP address has been identified as an open proxy or VPN service and therefore rejected.
>>790 กุ >>788 เอง ประเด็นคือไม่มีใครทำเอกสารเลยอ่ะขนาดเอกสาร design, flow ยังไม่มี บริษัทมีแต่โปรแกรมเมอร์ล้วนๆ SA ยังไม่มี โปรแกรมเมอร์ที่มี fullstack ก็ไม่ใช่ สรุปทุกคนโค้ดอย่างเดียวตาม requirement ของ BA (ซึ่งบอกมาทีละนิดๆ โค้ดเสร็จก็ไปถามต่อ) กุเคยได้ยินเจ้าของบริษัทคุยกับ sale ว่าบริษัทเน้นโค้ดไม่เน้นเอกสาร กุนี่อึ้งไปเลย และมารู้ทีหลังว่าพึ่งมีสโลแกน เน้นโค้ดไม่เน้นเอกสารได้ประมาณปีสองปีก่อนกุเข้ามา เอกสารที่มีคือ manual user หลังโค้ดเสร็จ คนที่มาต่อโปรเจค พังงงง
zukxd6fkxqn.com มันคือเว็บอะไรวะ malwarebytes เตือนทักครั้งที่เข้า firefox
สมาคมโปรแกรมเมอ ทำไมมันชอบดราม่ากันบ่อยจังว่ะ
ถ้ากูได้sqlแล้วพวกrelational database, data warehouseได้ไม่เยอะมากจะเป็นอะไรปะวะ เรียนพวกนี้ไม่เข้าใจว่ะได้แต่ภาษา
หวัดดีครับเพื่อนโม่ง พี่โม่ง เพิ่งเรียนจบมาแล้วแต่รู้สึกไม่อยากทำงานสายที่เรียนมาเลย (อยากทำอะไรที่ใช้สมองมากกว่านี้) เลยอยากเปลี่ยนมาเริ่มต้นใหม่กับทางสาย Developer บ้าง เลยอยากทราบแนวทางที่ถูกต้องพอจะมีโม่งแนะนำได้ไหมครับ ความรู้พื้นฐานก็
-เคยเรียน Java ตอนปีหนึ่งได้แค่พื้นฐานพอถึงประมาณสร้าง Function, For loop, Recursion, ได้ไอเดีย OOP นิดหน่อย
-เคยเขียน chrome extension เล่นๆอันนึง
ลองอ่านๆมาเห็นบอกให้เริ่มต้นเรียนจาก MOOC หรือว่าควรทำอะไร
ปี4ฝึกงานที่ไหนดีวะระหว่างstart up กับพวกบริษัทกลางใหญ่ ฝีมือกูไก่กามาก
ระบบถูกสร้างให้โปรแกรมเมอร์ต้องย้ายงานทุกปี
ปี 4 ยังต้องฝึกอีกเหรอวะ
เรียน Java เรื่อง Class มาแต่เรียนไม่รู้เรื่อง
อาจารย์ให้ทำการบ้านเขียนตัวอย่าง Class ใน Java มา จะลอกโค้ดนี้ไปส่ง แต่จะแก้ไขยังไงดีไม่ให้อาจารย์จับได้
public class GateApplication {
public static void main(String[] args) {
Gate gate = new Gate();
while (true) {
if (gate.zombieAttemptToEnter()) {
gate.close();
} else {
gate.open();
}
}
}
}
กูถามหน่อย ไอพวกbackend , frontend , fullstack developer มันหมายถึงพวกทำงานด้านเว็บอย่างเดียวไหมวะ?
จะไปหาอ่านพวกเทคนิกการ optimize Code C# ที่เป็นภาษาไทยจากไหนได้บ้าง ที่ไปลองหาดูก็ประมานนี้
https://boxwolf.net/2018/10/optimize-program-by-caching-variables/?fbclid=IwAR1Bd_KcvSYk-QypkovF7nvicsdAEAGJzUCfX9o1MwjRrvo7gLxDYU8R6c4
ถามหน่อยดิ วิดวะคอมนี่แม่งเขียนโค้ดอย่างเดียวยันเรียนจบป่าวอะพอดีอยู่ปี 1 พี่บางคนบอกใช่บางคนบอกไม่ใช่ คือกูว่าโปรแกรมมันไม่ใช่สำหรับกูเลยอะถ้าโค้ดเป็นหลักยันเรียนจบนี่กูว่าจะซิ่วแต่ถ้าไม่กูว่าจะลองสู้ดู ขอประสบการณ์มาแชร์หน่อย
วิดวะคอมอะมึงไม่ใช่วิทคอม กูเข้าไปเพราะไม่รู้จะเรียนอะไรละกูชอบอยู่กับคอมแล้วก็ชอบเรียนคณิตแต่พอไปเขียนจริงๆแล้วแม่งกลับรู้สึกว่าไม่ใช่
ออกดิรอไร อยู่ไปเสียเวลา
ทำไมเป้าหมายมึงเบสิคจังวะ it support แม่งงานจับฉ่ายสัดๆ
ไม่ชอบเขียนโปรแกรมต้องออกว่ะ
กูเตะฝุ่นมาจับการเกษตรกับงาน 6 พันบาทต่อเดือนเนี้ย
เค ขอบใจมากเพื่อนโม่งกูว่าเทอมสองกูหนีไปอุสตาดีกว่า
It กับ คอมธุรกิจอันไหนหางานง่ายกว่ากันอ่ะ
กูไปเห็นมา it แพงกว่ามากๆเลยล่ะเลยสงสัย
วิศวคอมเขาไว้ทำงานโรงงานกันเมิงเขียนโค้ดคุมเครื่องจักร
กลุ่มสมาคม นอกจากขายบัตร เข้างานโค้ด มีเนีย ก็ไม่มีสาระอะไรเหลืออีกเลย เต็มไปด้วยดราม่า กับโพสจากเลเวล 1
ส่วนงานขายบัตร ก็พอเข้าใจว่าหารายได้ เพื่อให้สมาคมอยู่รอดต่อไป
หลายคนเขาก็ออกไปตั้งกลุ่มเอง
เช่นกลุ่มโปเกม่อนน้ำใส
กลุ่มชมรมเดฟเจ็บคอ
กลุ่มคนเขียนโปรแกรม
และอีกหลายๆ กลุ่ม ที่แตกตัวออกไป ตั้งสำนักเอง
จุดนี้สะท้อนถึงอะไรหลายอย่างมาก ในฐานะที่ผมเป็นคนหนึ่งที่ก่อตั้งสมาคม โปเกม่อน ไทย ก็พอบอกได้ว่าลึกลงไปแล้ว
มันมีเรื่องการเมือง เข้ามาเกี่ยวข้อง
จะว่ามีระบบเล่นพรรคพวก ก็ไม่ผิดเท่าไหร่นัก
...
สิ่งที่อยากเห็นมาตลอด จนทุกวันนี้ก็ยังอยากเห็น
คืออยากเห็นชีวิตพวกเรา ชาวโปรแกรมเมอร์ ก้าวไปพัฒนาทัดเทียมต่างประเทศ ทั้งด้านความสามารถ โอกาสทางธุรกิจ และสุขภาพ
...
ผมก็เริ่มจากก้าวเล็กๆ เท่าที่ตัวเองทำได้ก่อน
คือทำเว็บไซต์ให้ความรู้ในด้านการเขียนโปรแกรม แล้วก็แต่งตำรา ทำหนังสืออกมา เน้นนำเสนอเชิงปฏิบัติ
แล้วค่อยๆ สร้างชุมชน ให้โปรแกรมเมอร์ได้คุยกัน
ผ่านไปก็เริ่มสร้างงานให้เหล่าโปรแกรมเมอร์ จากการจ้างเป็นฟรีแลนซ์ รับงานเป็นก้อนๆ ค่อยตามมาด้วยการจ้างงานประจำ
...
สังคมเราจะก้าวไปได้ไกลกว่าที่ควรจะเป็น ถ้าหยุดการเล่นพรรคพวก เอาการเมืองมาผสมผสาน หยุดการดราม่า สาดเสียเทเสียใส่กัน
และมีผู้ดูแลที่เป็นกลาง ทั้งเหล่าแอดมิน ผู้ช่วยแอดมิน จนถึงกองเชียร์
...
แม้ไม่ได้มีส่วนร่วมใดๆ ในกลุ่มสมาคม แต่ก็ยังเฝ้ามองอยู่ห่างๆ อย่างห่วงๆ อยู่เสมอ
สักวันหนึ่งความคึกคัก การแลกเปลี่ยนความรู้อย่างสนุกสนาน คงกลับมาอีก เหมือนในสมัยก่อน (ตอนที่ดราม่ายังไม่ระบาดหนัก)
...
CEO บริษัท คอนโทรล ซี จำกัด
ขำแปป... กูรูไอที... เกาะกระแส omg แน่นเลย
กูรู ผู้ไร้ผลงาน ทางด้านไอที...มีเพียงบลอก กับอดีตงานต่างๆ ที่เจ้งหมดละเรียบร้อย...
...
อดีต โปเกม่อนหมดแรง ไม่มีแรงเขียนโค้ดแล้ว แต่ดันเปิดสอนเขียนโปรแกรม
...
งงมาก ทำคลิปมาให้กะลังใจทีเดียว แกลบโพสทันทีเลย
...
#โปรแกรมเมอร์เงินล้าน
#ไม่พูดมากเจ็บคอ
#มิตรสหายท่านหนึ่ง
เนยมันเชียร์ zmn หลอกคนซื้อไปรอบนี่นาไหงมาเลีย omg ได้วะ
ส่วนคอร์สเขียนโปรแกรม พูดแล้วกูช้ำใจชิบหาย เคยโดนหลอกไปซื้อ
แม่งมีแต่น้ำเชี่ยๆ เสียดายเวลาชีวิตชิบ ดูไปเจอ "กรุณาทำโจยท์นะครับ จับเวลา" อยากด่าเฮ**
แถมขายโครงแพง รู้งี้กูกดคอร์ทฝรั่ง 300 ดีกว่า
>>847 เคยหลงซื้อคอส online มันไปคอส อยากขอเงินคืนชิบหาย คอส online ที่ไหนเค้าให้ทำโจทย์นับเวลากัน มีแต่สอนควายๆ แบบไทยเนี่ยล่ะบ้าบา ไม่ได้สอนให้เก่งน่ะ ถ้าดูจบแล้วมีแต่โง่ลง กับล้างสมองให้อวยคนสอน เห้ไม่เห้ มีแต่กล่าวนำบลาๆ ยาวเหี้ยๆ แล้วก็เอ้าทำโจทย์นะครับ... เข้.... แดกเวลาโว้ย
สมุมติ 20 ชั่วโมง คั้นเนื้อมาได้อย่างเก่งไม่รู้จะถึงชั่วโมงหรือเปล่าด้วยซ้ำ เรียนกับมันมีสาธยาาย โคตรพื้นฐาน สอนเขียนโปรแกรมประถมศึกษาเรอะ
กูไม่อยากรู้ซักกะติ๊ด เนื้อหาภาษาที่ใช้เขียนซึ่งเป็นหัวใจหลักจริงๆ โคตรเบบี้ ดูไปดูมา แม่งคนสอนสงสัยเขียนได้แต่ basic โคตรๆ เห้หลายชั่วโมงมันคือ สารคดี เล่าประวัติภาษากับ เรียนพื้นฐานโปรแกรมทั่วไป กับล้างสมองให้อวยคนสอนเรอะ
พอเทียบกับคอสฝรั่งแม่งคนละอย่าง คอสฝรั่งมาเริ่มทำ project ลุยไปเลย a b c เริ่มจากง่ายไปยาก แล้วมันก็เล่าวิธีเขียนวิธีแก้แบบกระทัดรัดจบ แม่งหนังคนละม้วน อันนี้เรียนจบใช้งานจริงได้ ผิดกับคอสไอ้บ้านั่น
จะโม่งแตกมั้ยวะ... กูกลุ้มใจกับน้องใหม่ในทีมมาก ตอนรับเข้ามาบอกเคยทำอะไรมาเยอะมาก
ให้ทำงานจริงๆ syntax พื้นฐานของภาษาที่ใช้ยังเขียนผิดๆถูกๆ
รันแล้ว error message บอกว่าผิดยังไงอยู่ตรงหน้าก็ไม่อ่าน
บอกว่าอย่า commit file ที่ไม่เกี่ยวเข้ามาก็ทำอยู่นั่นแหละ
เรื่องพื้นๆบางอย่าง search หาเองไม่เป็น บอกไม่รู้ว่าต้อง search ว่าอะไร
ลองปล่อยให้ลองทำเองก็เขียนโค้ดมาแบบเละมากซะจนรู้สึกว่าเค้าไม่มีสามัญสำนึกว่าอะไรควรไม่ควรเลย
กูก็แก่กว่าไม่กี่ปี แต่ก็รู้สึกว่าตอนกูเรียนจบใหม่ๆไม่ได้ทำอะไรไม่เป็นเลยขนาดนี้
ว่าแต่พี่หนูเนยนี่ก็ดูเป็นคนดี ช่วยเหลือสังคมโปรแกรมเมอร์ มีมุมที่คนหมั่นไส้ด้วยเหรอ
โทรหรือเจ้าตัวมาโพสเองว่ะ 555 เอ้า เดี๋ยวตอบให้
>>857 คอสสวะ สอนให้คนมาบูชา มีแต่เอ้าทำโจทย์ นะครับแบบ >>848 พูด เด๊ะ
ยิ่งคอส online มันไม่ควรใช่ป่ะ ส่วน advance ในความหมาดคือระดับอนุบาล? เบื้องต้นขนาดนั้นเด็กๆ หัดเขียนก็รู้แล้วป่ะ
>>858 เคยมีโครงการช่วยเหลือ โดยการหลอกควายไปติดดอยเหรียญ crypto หมดตัวลงไม่ได้ มานักต่อนักแล้วจ๊ะ
ฮี้ กรุบกรับ
>>860 แล้วสอน advance ยังไงหน้าม้าช่วยอธิบายทีสิ
อวยคนสอนเดี๋ยวกูบอกให้ได้
-มาเรียนกับผมแล้วจะทำให้ไม่ต้องไปฝึกเองหลายปี นะจ๊ะ หลักสูตรผมดีเลิศประเสริฐศรี
-เอาเริ่มฝึกโดยการใช้ library ที่ผมคิดเอง(โดยการก็อปชาวบ้าน) เลยนะครับ
แถมอวยตัวเอง ทางอ้อม เป็น jedi ผมจะ feed คนเข้าระบบให้มากที่สุดด้วยการสอนนี่นะจ๊ะ
...แค่อ่านบล็อกมันฝ่านๆ ก็ผะอืดผะอมแล้ว
สิ่งที่คุณจะได้จากคอร์สนี้
คอร์สอบรมนักพัฒนาแอนดรอยด์ที่จะเปลี่ยนคุณจาก Java Developer ให้กลายเป็น Android Developer พร้อมช่วยให้คุณประหยัดเวลาศึกษาด้วยตัวเอง 1 ปีแล้วไม่รู้ไปถูกทางหรือเปล่า ให้เหลือเพียงไม่กี่ชั่วโมงและไปถูกทางแน่นอน
คอร์สถูกออกแบบมาด้วยความเชื่อที่ว่า ประสบการณ์เป็นครูที่ดีที่สุด จึงเน้นการลงมือทำเป็นหลักพร้อมอธิบายทุกอย่างอย่างเข้าใจง่ายในทุกสิ่งที่ทำ เนื้อหาอธิบายด้วยภาษาง่ายๆและสื่อการสอนถูกออกแบบมาให้เข้าใจง่ายจนรู้สึกเหมือนว่าแอปแอนดรอยด์กลายเป็นของที่จับต้องได้ เพื่อให้สอดคล้องกับระบบการเรียนรู้ของมนุษย์
ความยากของเนื้อหาจะอยู่ตั้งแต่ระดับเริ่มต้นจนถึงเลยระดับกลางไป โดยการสอนจะเน้นไปที่ "แก่น" หรือ "Fundamental" ให้สุดท้ายทุกคนสามารถคิดต่อเองได้และสามารถประยุกต์ไปยังงานที่ตัวเองต้องการได้อย่างง่ายดาย
เนื้อหาถูกเรียบเรียงใหม่หมดเพื่อให้เหมาะสมกับการเรียนในแบบออนไลน์ จะใช้การเปรียบเปรยสิ่งต่างๆในแอนดรอยด์เข้ากับวัตถุในโลกจริงเพื่อความเข้าใจง่ายซึ่งมั่นใจมากว่าเข้าใจง่ายและเป็นมิตรต่อนักพัฒนา โดยผ่านการพิสูจน์มาแล้วจากคลาสสอนสดกว่า 20 ครั้ง
==========
อ่านซะ การสอนเน้นที่ "แก่น"
บันเทิงชิบหาย ตัวจริงมาโพสม้าเองเปล่าวะ เอางี้ ย้ายไปห้อง netwatch ไหม เดี๋ยวมีเรื่องแฉ สนุกๆ อีกเยอะ
พวกที่มาดิสเครดิต NN นี่คือพวกโค้ดสตาที่เจ็บแค้นเพราะตัวเองกลายเป็นมีม่ ๆ ในโม่งเลยหาคนมาระบานใส่สินะ
เหมือนเห็นคน รี router แว๊ปๆ 555+
>>>/netwatch/6276/ ตั้งละ
พอละ เลิกเล่นมุขละ...
ที่จริงผมเขียนโปรแกรมเป็น เก่งเอาเรื่องเลยล่ะ...
ที่บอกว่ามือใหม่หัดเขียน ช่วง 2-3 เดือนนี้ เพราะจะหลบดราม่า แต่ ดูละ
ไอ้พวกนี้ก็ดราม่าอยู่ดี
...
สรุป ผมนี่เคยเข้าแข่งเขียนโปรแกรม
ชนะเลิศ อันดับ 1 รายการ bsc contest 2007 จากผู้เข้าแข่งทั่วประเทศ
...
และสอบได้ใบ cer หลายใบ
...
คนเรามีดี ไม่ต้องอวดอ้าง แต่รอบนี้ขอนิดนึง ไม่ไหวกับคนประเภทนี้จริงๆ
เลยต้องตอกสักหน่อย
...
ใครที่อยากได้ความรู้ บางส่วน จากผม ศึกษาได้ที่
www.javathailand.com
www.javathailand2.com
มีสองอันครับ ขอไม่สอนแบบส่วนตัวนะ
#มิตรสหายท่านหนึ่ง
Justice Animation video
Short Note ตลาด Tech ปลายปี 2018 #ไทยคำอังกฤษคำจัดๆนะ
- ตลาดมือถือกลายเป็นตลาด Consumer เต็มตัวแล้ว แทบไม่มี Innovation มาเกี่ยวข้องละ ถ้าสนใจ Next Era ควรจะ Fade Down จากมือถือได้แล้ว
- Mobile App จบ(ไปนาน)แล้ว จากนี้อยู่ได้ก็แค่แอป ฯ เฉพาะทางที่จำเป็นเท่านั้น แต่ความต้องการ Mobile Developer ก็ยังสูงอยู่ ด้วยเหตุผลบางประการ
- Mobile Games จะยังเติบโตต่อไป แต่ก็จะผูกขาดกับ Publisher เจ้าใหญ่ ๆ มากขึ้นเรื่อย ๆ
- Crytocurrency พิสูจน์ตัวเองระดับหนึ่งแล้วว่าไปไม่รอด คงจะตายไป 99.9% ตามที่คาดไว้ สาเหตุหลักคือ Adoption ไม่เกิดขึ้นจริง
- ใครทำธุรกิจเกี่ยวกับ Cryptocurrency ปรับตัวดี ๆ
- แต่ตัว Store of Value น่าจะมีอย่างน้อยหนึ่งตัว และก็คงหนีไม่พ้น Bitcoin อาจจะใช้จ่ายจริงไม่ได้ แต่คงเก็บมูลค่าได้ คงจะเห็นชัดหลัง Halving ครั้งถัดไป
- Public Blockchain ยังต้องหาตัวเองต่อไปว่าจะไปยังไงต่อ เข้าสู่ Mass Adoption ไม่ได้เพราะยากเกินไป พอคน Mass ใช้ไม่เป็นก็ไม่ใช้กันและมันก็ไม่มีทางเกิด ต้องรอ Generation ต่อไปที่ทุกอย่างง่ายขึ้น อาจจะต้องรอ Crypto Bank เกิด
- แต่ Private Blockchain นี่โตเอา ๆ ทั้งตลาด Enterprise และตลาด B2G ถ้าใครจะจับ Blockchain ควรหันไปทางโน้น ไม่ใช่ Public Blockchain รวยไปหลายรายละฮ้าบบบ
- คาดว่า Public Blockchain น่าจะเหลือรอดแค่ไม่ถึง 10 สาย
- ICO จบแล้ว ต่อจากนี้ถ้าจะมีอะไรรอดก็ STO
- แต่ STO เราคาดว่าน่าจะไม่ขอระดุมทุนจาก Public เท่าไหร่ คงทำเป็น Private Funding กลับเข้าสู่รูปแบบเดิม ก็คือคนทั่วไปน่าจะไม่ได้ลง
- ใครจะทำ ICO Portal คิดดี ๆ ไม่ได้ห้ามทำแต่วางแผนดี ๆ ให้เหมาะสมกับตลาดที่เปลี่ยนไป อย่ายึดเอาโมเดลปีที่แล้วมาทำ เจ๊งชัวร์
- AI เป็น Next Era อย่างเป็นทางการ บอกแล้วบอกอีกและก็ยังจะบอกต่อไป จับ AI ซะแล้วจะรุ่งเรืองในยุคถัดไป
- แม้แต่การเติบโตของตลาดมือถือก็จะผูกกับ AI โดยเฉพาะ Mobile Photography ที่จำนวนเลนส์ยังไม่สำคัญเท่า AI ฉลาด ๆ ถ้า Flagship รุ่นถัดไปของยี่ห้อไหนไม่มี AI มาเกี่ยวข้อง พูดเลยว่าลำบากแล้ว
- ไม่ใช่แต่ Developer ที่ต้องปรับตัว สื่อก็เช่นกัน ถ้าจะยังเล่นแต่เรื่องเดิม ๆ ก็จะจืดละ หันไปเล่นเรื่อง AI แล้วสื่อนั้น ๆ จะโดดเด่นขึ้นมาทันที
- Tensorflow ดูมีภาษีดีสุดในแง่ Production Deployment พี่ Google เค้าวิชั่นดี
- VR ยังหาทางตัวเองอยู่ ด้าน Content Creator ค่อนข้างไม่ชอบที่จะทำ Content VR เพราะถ่ายยากและ Consume ยาก ตลาดนี้จึงไม่โตเพราะ Content ด้วยและตัวแว่นก็ยังใช้งานยากด้วย
- แต่ตลาดที่ Prove แล้วว่าเวิร์คสำหรับ VR คือ Gaming ทั้งแบบ B2C และ B2B2C (ร้านเกม) เสพย์ยากก็เดินเข้าร้านแล้วทุกอย่างก็ง่ายเอง
- AR กลายเป็น Gimmick มากกว่าฟีเจอร์ แต่ก็มีการใช้งานจริงในบางตลาดแล้ว แต่ส่วนใหญ่เน้นไปทาง Entertainment เช่น แต่งหน้า แต่งตัว ก็ไม่ใช่ Everyday Use อยู่ดี พวกส่อง ๆ เล่นเกมมันก็แค่ว้าว สุดท้ายเล่นครั้งเดียวเลิก ต้องหาช่องทางกันต่อไปครับ
ตลาดช่วงนี้มีอะไรเกิดขึ้นเยอะ ปรับตัวกันไปให้ทันนะฮ้าบบบ
สรุปให้ + ความเห็นเพิ่ม
- หมดยุค App กาก แต่ความต้องการ Dev ยังมี เพราะ App ในรูปแบบบริษัทยังมีความสำคัญ ไม่หมดงาน แต่งานงอกเงินเท่าเก่า หรือน้อยลง
- อย่าไปเล่น Crytocurrency ICO ช่วงนี้ รอกลางปีหน้า ถ้าไม่ Fail จะเห็นการ halving ปี 2020
ใครจะซื้อการ์ดจอเล่นเกมก็ซื้อซะ มีเวลาให้ซื้อย่างน้อยไปถึงกลางปีหน้า ส่วน dev ใครจะทำก็ทำไป แต่เงินเดือนจะไม่พาราก้อนเท่าปีที่แล้ว
- หมดยุค VR ตั้งแต่ facebook เท Rift
- AR หลอกแดกได้แป๊ปๆ จบข่าว
- ยุคแห่งการหลอกแดกด้วยคำว่า AI เริ่มขึ้นแล้ว ของจริงมีแค่ไม่กี่เจ้าที่เหลือขยะที่เอาชื่อ AI ไปแปะ
ถามหน่อยครับเพื่อนโม่ง ปกติงานdev ถ้าเรียกเงินเดือนเรท30-35k นี่ความคาดหวังของบ.เขาจะอยู่ที่ประมาณไหน
ถามหน่อยครับเพื่อนโม่ง ปกติงานdev ถ้าเรียกเงินเดือนเรท30-35k นี่ความคาดหวังของบ.เขาจะอยู่ที่ประมาณไหน
crypto นี่มาขาลงแต่ว่าสงสัยว่ามันจะดับสูญไปเลยไหม เพราะเรื่องขุดเหี้ยไรนี่กูไม่ซี แล้วกูไม่สนกับcryptoหน้าใหม่ๆที่ขาดความเสถียรและขาดจุดเด่นด้วยนะ คือ กูคงแลกเปลี่ยนมาเพื่อใช้จ่ายแบบไม่ต้องโดน สคบ. หรือห่าไรตรวจสอบบัญชีย้อนหลังนี่แหละ
มีใครรู้จักหรือทำงานบริษัทD-Sci Corปอเรชันที่ทำmytcasมั้ย อยากถามว่าไมงานกาก งบน้อยหรอ
var data = Array.apply(null, {length:10000})
ทำไมโค้ดนี้ใน JavaScript เป็นการสร้าง Array เปล่า 10,000 ช่อง
จะเอาตัวรอดในการทำงานสมัยนี้ จะเก่งด้านเดียวต่อไปไม่ได้แล้ว ต้องมีความรู้แบบตัว "T"
คือ มีทั้งความรู้รอบตัว/ทักษะด้านอื่น ๆ ที่เอื้อต่อการทำงาน (ทักษะแนวราบ.. หัวของตัว T) และความรู้ที่เชี่ยวชาญของเราเองโดยตรงที่เป็นแนวดิ่ง (แกนลำตัวของตัว T)
ทฤษฎีนี้มีมาหลายปีแล้ว แต่มันเริ่มชัดขึ้นเรื่อย ๆ ๆ ๆ ๆ
เช่น วิถีชีวิตของชาวเดฟ..
- จะมาเก่งภาษาใดภาษาหนึ่งหรือแพลตฟอร์มใดแพลตฟอร์มหนึ่งไม่ได้อีกต่อไปแล้ว ต้องรู้ภาษาอื่น ๆ บ้าง
- จะเก่ง coding อย่างเดียวไม่ได้.. ทักษะเกื้อหนุนอย่าง UI/UX, graphic design, database design, admin, network, cloud etc พวกนี้ก็ควรมีวิชาติดตัวเอาไว้บ้าง การมาอ้างว่าผมเป็นแบ็คเอนเดฟ ผมทำฟร้อนท์เอนด์ไม่ได้.. ระวังจะตกงานเอาง่าย ๆ
แล้วนอกจากทักษะที่เสริมวิชาชีพหลักของตัวเองแล้ว ก็ควรใช้เวลาไปพัฒนาทักษะอื่น ๆ ที่ไม่เกี่ยวกับอาชีพหลักติดตัวไว้เป็นทางเลือกในชีวิตบ้างก็ดี
เป็นแรงงานสมัยนี้มันยากนะ แต่มันไม่ใช่เพราะเศรษฐกิจไม่ดี มันเป็นเพราะเราต้องแข่งขันกันมากขึ้นหลายเลเวล ตอนนี้เราต้องแข่งขันกับเครื่องจักรด้วย ไม่ได้แค่แข่งกันเองระหว่างมวลมนุษย์อีกต่อไปแล้ว.. ใครคิดจะย่ำอยู่กับที่ ก็เตรียมเก็บเงินไว้ให้พอใช้ตอนไม่มีงานทำก็แล้วกัน
https://web.facebook.com/photo.php?fbid=2553382784704383&set=gm.2437279452952268&type=3
รับสมัครงาน programmer ขาวมาก
ทำไมruby on railsตามพวกเว็บสมัครงานแม่งรับแต่seniorวะ ไม่เข้าใจ
กูรู้สึกไม่ชอบความรู้สึกเหยียดผู้หญิงในที่ทำงานของกูเลย แต่ก็ไม่รู้จะเอาอะไรไปเถียงเค้า
เพราะรับโปรแกรมเมอร์ผู้หญิงมากี่คนๆก็ทำงานห่วยทุกคนจริงๆ
ถึงโดยธรรมชาติผู้หญิงจะสนใจเรื่องเทคโนโลยีน้อยกว่าผู้ชายกูว่ามันก็ไม่ใช่ข้ออ้างว่าเค้าจะทำงานไม่ดีนะ
งานก่อนของกูก็มีผู้หญิงที่ไม่ได้สนใจด้านนี้อยู่ในทีมเยอะ แต่ทำงานออกมาดีกันได้
เหมือนซวยรับคนที่ไม่ตั้งใจทำงานแล้วก็ไม่ค่อยมีความรับผิดชอบเข้ามามากกว่า
ก็ไม่เกี่ยวกับเพศจริง ๆ ผู้หญฺงทำงานเก่งมีเยอะ น่าจะอยู่ที่การคัดกรอง
นี่กูงงมากกว่าว่าทำไมโปรแกรมเมอร์ ญ ในสายงานนี้มันถึงได้มีสถิติน้อยสัสๆเลย เท่าที่กูเห็นๆมานะ โปรแกรมเมอร์เพศแม่เหมาะกับไปทำงานเชิงสายวิจัยมากกว่า กูเห็นอาจารย์ในภาควิชานี่ผู้หญิงมีส่วนช่วยในการเขียนตำราตีพิมพ์เยอะพอสมควรแต่ว่าต้องระดับเก่งๆมันสมองดีระดับนึงนะ เพราะที่ไม่เก่งไรมาก ดาดๆครึ่งๆกลางๆจะเป็นแบบไอที่โม่งตัวบนๆกล่าวมา แถมบางทีเจอแบบฝีมือกากละรับสภาพสังคมโปรแกรมเมอร์ไม่ได้อีกนี่ก็มี
งานมันไม่เป็นมิตรกับการสุขภาพความงามมั้ง
นั่งทั้งวัน แดกจนอ้วน สายตาสั้น เล็บมือไว้ยาวไม่ได้ แถมอยู่นานๆเป็น SJW อีก
กูดูคลิป “หลักการเขียนโปรแกรมเบื้องต้นจากศูนย์ถึงร้อย” ครบหมดแล้ว ตอนนี้กูกำลังเรียนเขียน C จากเว็บ “Programming.in.th“ ถ้าเรียนจบกูจะเรียน C จากคลิปของ prasertcbs ต่อจนครบ แล้วอยากสร้างเกมง่ายๆที่พอทำได้สักเกมสองเกมเพื่อเป็นการรวบยอดความรู้ทั้งหมดที่เรียนมา จากนั้นกูควรศึกษาเรื่อง oop ต่อหรือเปล่าวะหรือควรทำอะไรต่อไป
>>901 แค่นั้นก็เกินพอ ส่ิงที่มึงควรทำคือลองเขียน project มาซัก 1-2 ตัวก่อน จากนั้นไปดูเครื่อง opp แล้วเอา project เดิมมาเขียนใหม่
ถ้ามึงบ่นกว่า project เดิมที่เขียนไป กาก นั้นคือมึงสอบผ่านแล้ว
เข้าเรื่องอยากเขียน เกมง่ายๆ ไปหา game engine ซักตัวมาลองเล่นดูดีกว่า ไปเอา C มาเขียนทั้งหมด เดี๋ยวมึงได้บ้าตายก่อน คอนเซ็บที่ต้องเล่นกับ time frame คือส่ิงที่ต้องเรียนรู้อันดับแรก
สำหรับ Game engine ถ้าให้แนะนำ แบบใช้ยาวก็ Unity
แต่ถ้ามึงเป็นมือใหม่จริงๆ กูแนะนำให้เริ่มที่ Clickteam Fusion ก่อนจะดีกว่า ถึงพีเจอร์เก่าแล้ว แต่สำหรับทำเกมง่ายๆ ก็เกินพอ อีกอย่างระยะเวลาในการเรียนรู้ engine นี้สั้นมาก ไม่เกินอาทิตย์น่าจะได้เกมง่ายๆ เป็นรูปร่างซักตัว ให้มึงเค้าใจคอนเซ็บ เรื่อง time frame แล้วค่อยโดดไปเล่น Unity ต่อ
ทำไมหลังๆ Clang มาแรงจัง
ถ้ากูอยากได้ web service ที่ fix URL ตายตัวซักที่นึง เวลา request มาแค่ get ง่ายๆอย่างเดียว ไม่ต้องส่ง parameter อะไรเลย
response เป็น json เล็กมากๆที่มีแค่ 2-3 node แต่ว่ากูต้องเปลี่ยน response ได้เองโดยที่ใช้ URL เดิม
จำนวนคนใช้น้อยมากแค่หลักร้อย วันนึง request ไม่กี่ครั้ง มันมีที่ไหนรับ host อะไรพวกนี้ฟรีๆแนะนำบ้างมั้ย
127.0.0.1 กับ 0.0.0.0? ต่างกันยังไงครับ
อยากรู้ว่าถ้าทำ web หรือ app แล้วเรามีการเก็บสถิติการใช้งานแบบ anonymous
อย่างเช่นดูแค่ว่าลูกค้าใช้ feature ไหนเยอะน้อย มีคนใช้ประมาณเท่าไหร่
ข้อมูลที่เก็บระบุตัวคนไม่ได้ และไม่ได้เอาไปใช้ยิง ads หรือหาประโยชน์อะไรนอกจากปรับปรุงระบบของเราเอง
ในทาง กม. มันต้องขึ้นบอกคนใช้หรือบังคับให้เค้ากดยอมรับว่ามีการเก็บข้อมูลอะไรงี้ก่อนมั้ย
ใครไม่กล้าพูดกับ stakeholder เพื่อนร่วมทีมหรือหัวหน้า ว่า “ไม่รู้เว้ย เอาแบบนี้ละกัน น่าจะเวิร์ค” จำประโยคนี้ไปใช้นะครับ “Information ไม่พอ (ไม่รู้เว้ย) เลยเลือก heuristic (เอาแบบนี้ละกัน) ที่ statistically better (น่าจะเวิร์คกว่า)” ความหมายเดียวกันเป๊ะๆ แต่ดูดีมีหลักการมีความน่าเชื่อถือกว่า
ปล. แต่ให้เลือกของที่น่าจะเวิร์คกว่า (statistically better) จริงๆ นะ ไม่ใช่มโน เพราะเขาตีกลับมาได้นะว่าทำไมถึงน่าจะเวิร์ค
Database กับ datastructure ต่างกันตรงไหนวะ
กูผู้ชายนะ ไม่รู้ว่ากูคิดมากไปป่าว
แต่กูไม่ชอบ meme ที่เอารูปผู้หญิงที่เขียนโปรแกรมประมวลผลรูปหลุมดำ มาตัดต่อล้อว่าเค้าเขียนโปรแกรม hello world อะไรพวกนี้เลยว่ะ
มันยิ่งเป็นการโชว์ว่าวงการนี้แม่ง sexist อย่างที่คนเค้าด่ากันจริงๆ
มีใครเป็นเหมือนกูมั้ย ทำงานมาเกิน 5 ปี แล้วรู้สึกเบื่องานโคตรๆ ตอนแรกก็คิดว่ากูคงอิ่มตัวกับเรื่องเขียนโปรแกรมนะ
พอได้ลองทำอะไรเล่นขำๆของตัวเอง อย่างลองศึกษาเทคโนโลยีใหม่ๆที่ไม่เกี่ยวกับงานแล้วก็ยังสนุกอยู่
แต่พอต้องทำงานจริงแล้วเบื่อมาก กูไม่เคยอินกับพวก goal ขององค์กรที่อยู่เลย ทำงานก็ถือว่าทำให้ดีตามหน้าที่ไปงั้นๆ
คือก็ไม่ได้ถึงกับทำแบบลวกๆส่ง แต่ก็ไม่มีมานั่งเกลาแก้แล้วแก้อีกอะไรแบบนี้
จบใหม่ควรเรียกเท่าไหร่วะ
ทุกวันนี้พวกมึงใช้ ภาษา / framework อะไรทำงานกันบ้างวะทุกคน
ปกติพวกมึงรับ requirement ผ่าน SA กันป่ะ หรือรับจาก business แล้ว design เอง
เด็กจบใหม่จะหางาน python ได้ป่ะวะ กุยื่นไปกี่ที่ๆบอกว่ารับ java dev
>>921 หายากมาก จะเจอก็ไปซะชานเมืองหรือ ตจว. จ๋าๆไปเลย มึงต้องไปต่างประเทศเท่านั้นอ่ะถ้าจะหากินด้วยpython ไม่งั้นก็ pantip.com หวังว่าจะยังเปิดรับ บ้านเรายังดักดานกับแค่จาวาอยู่เพราะคอมมูนิตี้ในไทยใหญ่สุด มีตั้งแต่ฉลาดเป็นกรดกับไร้ปริญญาเหมือนSIRNมาทำงานในวงการนี้
ตอนนี้กุ outsource .net ปสก1 ปีครึ่ง ณ ตอนนั้น เงิน 35k + ค่านุ้นนี่นั่น = 38k
ตอนนี้ ปสก 2 ปีครึ่ง พวกมึงว่ากุจะเรียก 50k ได้ป่าววะ หรือถ้าที่เดิมไม่ให้ตามต้องการ ไปหาที่ใหม่มึงว่า โอกาสหายากง่ายแค่ไหน
ประสบการณ์จำนวณปี <> งานที่ทำได้
ยังมองไม่ออกเลยว่า LibraBFT จะสเกลเพื่อรับ Transaction per second (tps) เพิ่มได้ยังไง #GeekAlert #ไม่ใช้ภาษามนุษย์นะโพสต์นี้ #เตือนละนะ
.
LibraBFT ถึงจะเป็น Consensus Protocol กลุ่ม BFT ที่พัฒนาขึ้นมาจากตัวแรก ๆ เยอะมาก แต่ก็ยังไม่ใช่ Perfect Solution อยู่ดี (อย่างน้อยก็ใน Approach ปัจจุบัน)
.
BFT ตัวที่โบราณหน่อยแต่ดังก็คือ PBFT (Practical Byzantine Fault Tolerance) เพราะมันง่ายสุด คือให้ทุก Validator คุยกันเลย ทำให้มีข้อความที่ต้องส่งถึงกันถึง n^2 ถึง n^4 แล้วแต่จะออกแบบ (n คือจำนวน Validator) สุดท้าย Big O เลยล่อไป O(n^3) โดยเฉลี่ย ทำให้เวลามี Validator เยอะ ๆ มันเลยอืดลงเรื่อย ๆ ไม่สามารถสเกลได้
.
ในคำว่า Scalability ของโลก Blockchain ไม่เหมือนกับ Scalability ในโลกของ Centralized Server ปกติเท่าไหร่ คือพวก Centralized Server เนี่ยยิ่งเพิ่มเครื่องจะยิ่งรับ Concurrency ได้มากขึ้น แต่สำหรับ Decentralized เนี่ย มันจะยิ่งหน่วงลงเรื่อย ๆ เพราะเครื่องต้องสื่อสารกันมากขึ้น*
.
(*แล้วแต่ออกแบบ แต่ส่วนใหญ่เป็นแบบนั้น หรือถ้าไม่ใช่ก็จะแลกมาด้วยอะไรบางอย่างเสมอ)
.
BFT ก็พัฒนามาเรื่อย ๆ เพื่อลด Big O ลง อย่าง Tendermint ก็ BFT ที่ O(n^2) และล่าสุด vmware ก็นำเสนอ BFT ที่ประสิทธิภาพดีที่สุดอย่าง Hot-Stuff ออกมา Big O อยู่ที่ O(n) เท่านั้น แปลว่าการเพิ่มเครื่องไม่ได้ทำให้หน่วงขึ้นมากเหมือนอันเก่า ๆ ทุกอย่างเป็น Linear
.
เบื้องหลังของ Hot-Stuff คือเป็น BFT แบบ "Leader-based" ก็คือแทนที่จะใช้วิธีคุยกันด้วยทุก Validator แบบ PBFT ก็เปลี่ยนเป็นให้ทุก Validator มาคุยกับ Leader ซึ่งมีตัวเดียวแทน ข้อความเลยส่งกันด้วย O(n) เท่านั้น
.
และความหมายใน Paper ที่บอกว่า LibraBFT สเกลได้ก็คือ "สเกลจำนวน Validator ได้" ไม่ได้แปลว่าจะเพิ่มจำนวน Transaction per second ได้แต่อย่างใด
.
และพอมองไปยาว ๆ ก็ยังไม่เห็นว่าการโตของจำนวน Validator จะทำให้ระบบมันทำงานได้เยอะขึ้นเลย มีแต่จะช้าลง ๆ ตะหาก
.
ข้อได้เปรียบของ LibraBFT (Hot-Stuff) คือ คิดว่าน่าจะรับได้หลายพัน tps ตั้งแต่แรกแหละ แค่เค้าลิมิตไว้ที่ 1,000 tps ก่อนด้วยเหตุผลหลายประการ แต่สุดท้ายถ้าปลดล็อคมันก็จะมีเพดานของมันอยู่ดี
.
และสเปคเครื่องที่จะรัน Validator Node ได้ก็ถือว่าโหดเหมือนกัน เพราะยิ่งต้องรับ tps ได้มากขึ้น พวก CPU, RAM ก็จะต้องยิ่งสูงขึ้นเร็วขึ้น Harddisk ก็จะยิ่งบวมเร็วขึ้น แปลว่าค่า Maintainance ของ Validator Node ก็จะสูงขึ้นเรื่อย ๆ ด้วย ไม่รู้จะถึงจุดที่คนรู้สึกเสียใจที่ตั้ง Validator Node มั้ย
.
เท่าที่พิจารณาดู ช่องทางที่เหมาะสมกับการสเกล tps ก็มีอยู่สอง Approach คือ
.
1) Sharding
.
2) Off-chain Solution
.
ซึ่งก็ยังไม่มีข้อมูลจากฝั่งไหนเลยว่าจะทำมั้ย แต่ก็มีโอกาสที่ Calibra จะทำ ในกรณีนั้นก็จะไม่มีปัญหาเรื่องสเกลละ ตัว Libra ก็คงให้อยู่ 1000 tps ต่อไปได้อีกนาน
.
ไว้รอดูกันต่อไปจ่ะ
เรื่อง MVC ต่อจากเมื่อวานหน่อย .... เห็นมีคนแชร์กันเยอะ
ลองมองว่า MVC ไม่ใช่ Design Pattern และไม่ใช่แค่ Architecture Pattern สำหรับอะไรอย่างใดอย่างหนึ่งโดยเฉพาะ
MVC มันเป็น "ปรัชญา" สำหรับ Separation of Concern
1. M = ตัวตนของสิ่งที่ "มัน" เป็น
2. V = ภาพที่ "มัน" ถูกมองเห็น ถูกใช้งาน
3. C = ตัวกลางระหว่าง M, V
สิ่งที่เรามองเห็น อาจจะไม่ใช่สิ่งที่มันเป็น .... สิ่งที่มันเป็นอาจจะไม่ใช่สิ่งที่เราใช้และต้องการ .... เราต้องแยกปัจจัยพวกนี้ให้ได้ ไม่ใช่ไปยึดติด
ถ้า M ยึดติดกับ V ก็ไม่ดี ... ถ้า V ยึดติดกับ M ก็ไม่ดี .... ก็ต้องแยกสองอย่างนี้ออกจาก ...
ทางเดียวที่ทำได้ ก็ต้องมี C มาเป็นตัวกลาง .....
อย่าไปยึดติดอะไรกับมันมากนัก ปรัชญาของมันทำให้เรางอก "MVC ภายใน MVC" ได้อีกเยอะแยะมากมาย
เอาหลักการนี้ไปจับกับอะไรก็ได้ทั้งนั้นแหละ ..... ลองดูนะ .... เช่น
1. ถ้าเราถือว่าข้อมูลใน DB เป็น "ตัวตน" และ Entity/Model ใน Application เป็นสิ่งที่มันถูกมองเห็น ถูกนำไปใช้ เราก็ใช้ SQL Query (และอาจจะ + ORM) เป็นตัวกลาง ..... เราก็จะไม่ยัด SQL ไปใน Entity/Model เพราะมันคือ View ของ Data ใน DB ... เราก็เขียน Persist layer มาจัดการ
2. ถ้าเราถือว่า Object ใน Application ของเราเป็น "ตัวตน" และ JSON ที่ถูกพ่นออกไปเป็นสิ่งที่มันถูกนำไปใช้ เราก็สร้าง JSON Presenter สำหรับมันในบริบทต่างๆ เป็น View และใช้ตัวกลางอะไรสักอย่างมา Map ไป
อะไรแบบนี้เป็นต้น
MVC มันห่วย ถ้าเรามองมันเป็นแค่ Fixed Architectural Implementation ในบริบทใดบริบทหนึ่ง และมันห่วยเสมอเมื่อบริบทมันไม่ใช่บริบทเดียวกับที่มันถูก Implement มา .....
แต่หลาย Architecture ที่เกิดขึ้น ที่คนบอกว่ามันเจ๋งมากมาย ต้องทำแบบนี้ถึงจะถูก ฯลฯ ก็คือการเอาความคิดแบบ MVC นี่แหละ ไป Refactor แต่ละ Layer ของ MVC .....
ที่เมื่อวานผมเขียน MVC ของ Enterprise มันอยู่ใน Presentation ของ 3-Tier แต่ MVC หลายตัวมันคือ 3-Tier ตรงๆ เลย .... มันก็อีแบบนี้แหละ .... พอ Presentation ของคุณมันใหญ่ มันก็ถูก Refactor ด้วยความคิดแบบ MVC .... แล้วเราก็เรียกมันว่า "MVC Architecture " .... จนกลายเป็นว่า MVC ของเรามันไม่เท่ากัน
ทั้งๆ ที่จริงๆ แล้วมันเป็นหลักการ เป็นปรัชญา .... และเป็น Recursive Pattern .... คือมันสามารถ apply ตัวมันเองลงไปใน layer ไหนก็ได้ของตัวเอง .... เพราะแต่ละ layer ของมัน เมื่อมันเริ่มโตขึ้น มันก็จะ self-similar แบบเดียวกับตัวมันเองน่ะแหละ .... นี่คือ Recursive pattern ชัดๆ .....
หรือถ้าจะเอาปรัชญากว่านั้น ก็ถ้าเราถือว่า "สิ่งที่อยู่ในโลกจริงๆ หรือสิ่งที่ User พูดถึง เป็นตัวตนจริงๆ" และ "ข้อมูลใน DB เป็นสิ่งที่มันถูกมองเห็นหรือถูกนำไปใช้ในระบบเรา" .... เราก็จะมี "คนออกแบบระบบหรือคนออกแบบข้อมูล" (เช่นเราน่ะแหละ) หรือ "คนกรอกข้อมูล" เป็น Controller .....
อีกครั้ง:
สิ่งที่เรามองเห็น อาจจะไม่ใช่สิ่งที่มันเป็น .... สิ่งที่มันเป็นอาจจะไม่ใช่สิ่งที่เราใช้และต้องการ .... เราต้องแยกปัจจัยพวกนี้ให้ได้ ไม่ใช่ไปยึดติด
ถ้า M ยึดติดกับ V ก็ไม่ดี ... ถ้า V ยึดติดกับ M ก็ไม่ดี .... ก็ต้องแยกสองอย่างนี้ออกจาก ...
อย่าไปยึดติดอะไรกับมันนักเลย ลองมองให้ลึกกว่าเปลือกที่แต่ละ Framework หรือแต่ละ Implementation บ้างก็ดี
ทุกวันนี้ Hacker มีเทคนิคที่สุดยอดมากกก
มากซะจนผมคิดว่า app และ web 50%
สามารถ hack ได้ในทางใดทางหนึ่ง
ส่วนหนึ่งน่าจะเป็นเพราะว่า
Developer ไม่รู้ว่าจะ Secure API อย่างไร
.
.
Security ของ API เป็นตัวชี้ชะตาของ app
ถ้า app ไม่ดังก็ไม่เท่าไหร่
แต่ถ้าเกิดดังขึ้นมา มีคนเล่นเยอะหน่อย
มันก็จะมีคนมาลองแฮ็คระบบ
ยิ่งถ้ามีของรางวัลล่อใจ ยิ่งลองของกันสนุกสนาน
ทำโปรแกรมเมอร์หมดอนาคตเลยนะบางที
.
.
โพสต์นี้จะสอนการออกแบบ security ของ API 6 ข้อ
ไม่ได้ strong ขนาด hack ไม่ได้ 100%
แต่ก็ไม่อ่อนขนาด ใครๆก็ hack ได้
และถ้า system ถูก hack ก็ต้องจำกัดความเสียหายได้
และเตือนไว้ก่อนเลยว่า post นี้ยาววววว
.
.
การออกแบบ API ให้คิดไว้เลยว่า โดนแน่ๆ
โดยเฉพาะ API ที่ใช้ร่วมกันระหว่าง mobile และ web app
ยิ่งต้องออกแบบอย่างเข้าใจธรรมชาติของ platform ที่ต่างกัน
.
.
เริ่มจากข้อ 1 สำคัญสุด ให้ใช้ https ทั้งหมดทุก request
เพื่อป้องกันคนเข้ามาแก้ข้อมูล request ระหว่างทาง
ถ้าเรียกมาเป็น http ให้ server reject request เลย
.
.
ข้อ 2 ใช้การ Authen ด้วย accessToken
การสร้าง accessToken ผมจะใช้ JWT ในการสร้าง
JWT = JSON Web Token
ถ้าสนใจ ผมแนะให้เพิ่ม shuffle key ซ้อนเข้าไปอีกชั้น
เพื่อทำให้ไม่สามารถดูข้อมูลใน JWT payload ได้ง่าย
เพราะ spec ของ JWT ใช้ base64encode
ซึ่งสามารถแกะห่อดูได้ง่ายเกิ๊นน
.
.
ใน accessToken ให้เก็บเฉพาะ UID อย่างเดียว
และ UID อย่าเอา ID ของ user มาใช้ตรงๆ
ให้ encrypt ID ให้กลายเป็น string ยาวๆก่อน
อย่าให้ hacker เดา UID คนอื่นได้
อ่านที่ผมเขียนดีๆ encrypt นะ ไม่ใช่ encode
เกิด hacker สามารถปลอม accessToken ได้
ก็ไม่รู้จะปลอมเป็นใครอยู่ดี
เพราะ UID มันเดาไม่ได้ ความน่าจะเป็นสูงเกิน
.
.
JWT จะยังเชื่อถือได้อยู่ถ้ายังไม่โดนโขมย secret key
เมื่อไหร่ก็ตามที่ key โดนโขมย
hacker จะปลอม token ได้ทันที
ให้คิดในแง่ร้ายที่สุดไว้ก่อนว่า มันอาจจะโดนโขมยได้
ต้องมี plan B เอาไว้จัดการเมื่อ key โดนโขมยไปแล้ว
.
.
ถ้า key JWT โดนโขมย จะต้องเปลี่ยน key ที่ฝั่ง server
สิ่งที่เกิดขึ้นคือ api ทั้งหมดจะส่งค่ากลับว่ายังไม่ได้ login
ทำให้ user ทุกคนถูก logout auto และต้อง login ใหม่หมด
.
.
ข้อ 3 การเรียก api จาก app จะต้องมี signature ส่งไปด้วย
signature = SHA256(
accessToken = (userId::clientId) = ใครทำ
endpoint = ทำอะไร
parameters = ทำอย่างไร
nonce = ทำเมื่อไหร่
appId = เรียกจาก app ไหน
==============================
secret = token ลับ
)
.
.
nonce คือเวลาปัจจุบันของ client
ซึ่งจะต้องส่งไปที่ server พร้อมกับ parameter อื่นๆ
ฝั่ง server ตรวจสอบ ถ้า current_time() - GMT(nonce) > 2 นาที
request จะถูก reject เพื่อกัน replay attack
.
.
secret มีประโยชน์ ถึงแม้จะใช้ https ก็ตาม
ถ้า hacker ดักเอา accessToken คนอื่นมาได้
ก็จะปลอมเป็นคนอื่นไม่ได้ถ้าไม่รู้ secret
.
secret จะไม่ส่งทาง network เด็ดขาด
จะฝังไว้ใน app เมื่อ compile แต่ละ version
ถ้า secret ถูกโขมยไปได้จะต้อง update app ใน store
โดย app version เดิมทั้งหมด จะใช้ไม่ได้
ก็ต้องยอม ก็ดันโดนโขมย secret นี่นา
เห็นมั้ยว่าต้องคิดในทางเลวร้ายที่สุดเผื่อไว้ด้วย
.
.
การเรียก api จาก mobile app จะมีข้อดีกว่า web
คือไม่สามารถปลอม request ได้เลย
ถึงแม้จะใช้ accessToken ของตัวเองในการยิง api
เนื่องจากไม่รู้ secret ที่ฝังไว้ใน app
.
.
อย่างไรก็ตาม server ห้ามเชื่อใน request โดยไม่ตรวจค่าอื่นๆ
เนื่องจาก web app สามารถยิง api ได้ด้วย accessToken
โดยไม่ต้องมี secret ลับ
เพราะ web app จะไม่มี secret และถึงอยากมี secret ก็มีไม่ได้
มีไปก็ถูก copy เอาไปใช้อยู่ดี เพราะใช้ javascript เปลือยๆ
.
.
ข้อ 4 เมื่อเรียก api จาก web app จะต้องใส่ accessToken ใน header
อย่าริอาจเอา accessToken ใส่ไว้ใน URL
เนื่องจาก accessToken มันก็คือรหัสผ่านดีๆนี่เอง
URL บางทีก็โดน history ไว้ใน browser
URL บางทีก็โดน copy ส่งให้เพื่อน
และทุกครั้ง URL ก็จะโดน log ไว้เป็น file ไว้ใน server
รอเวลา hacker แหกด่าน server เข้ามาเจอ log เข้าสักวัน
.
.
ข้อ 5 จะต้องมี CSRF_token ใน cookie
ซึ่งต้องถูก generate ใส่เอาไว้มาจากฝั่ง server
CSRF_token อันนี้สำคัญมาก ถ้าไม่มีนี่โจมตีง่าย
แต่ผลกระทบของ CSRF attack นี่รุนแรง
มีไว้เอามาใช้ทำอะไรไปดูที่ข้อ 6
.
.
ข้อ 6 การเรียก api จาก web app จะต้องมี signature ส่งไปด้วย
signature = SHA256(
accessToken = (userId::clientId) = ใครทำ
endpoint = ทำอะไร
parameters = ทำอย่างไร
nonce = ทำเมื่อไหร่
appId = web
================================
secret = CSRF_token
)
signature ต่างกับ mobile app ตรงที่ appId = web เสมอ
และ secret ก็คือ CSRF_token
เอาไว้กัน Cross Site Request Forgery
แปลเป็นไทยคือ web อื่นจะมายิง api ของเว็บเราไม่ได้
เพราะว่า web อื่นจะมองไม่เห็น cookie ของเว็บเรา
ดังนั้นถึงปลอม parameters ได้ แต่ก็ปลอม signature ไม่ได้
เพราะต้องใช้ CSRF_token ในการสร้าง
.
.
ยังมีอีกเยอะที่ต้องทำ แต่ 6 ข้อนี้เป็นจุดเริ่มต้นของทุกสิ่ง
สมัย ป. ตรี เรียน optimization theory ผมจำสมการทั้งหมดไม่ได้นะเยอะมากและเป็นวิชาที่ยาก ประกอบกับตอนนั้นติดเกม เข้าเรียนน้อย
แต่ takeaway ที่ใช้ได้จนทุกวันนี้คือ
1. เรา optimize (maximize, minimize) สอง variable พร้อมกันไม่ได้ ในโลกจริงผมพบว่าใช่ เพราะถ้าบอกว่าต้องปรับปรุงของสองอย่างพร้อมกันแล้วของสองอย่างมี correlation ระหว่างกัน หรือมี constraint ที่ใช้ร่วมกัน คนทำงานจะสับสนมาก แล้วพังไม่ได้อะไรเสมอ และมักเป็นสาเหตุของ office politic
2. เรา optimize ได้ก็ต่อเมื่อมี constraint บางอย่างกำกับเท่านั้น
โม่ง กูถามหน่อย ไอหนูเนยที่มันชอบเขียนblog ลงทำmediumนี่ืใช่ที่มันเคยเปิดคอร์สกั๊กๆเนื้อหาในudemyป้ะ?
ปกติ outsource .net หมดสัญญาต่อใหม่ อัพเงินกันเท่าไหร่วะ ที่เก่ากุบอกว่า จะเพิ่มให้ไม่ถึง 10,000 เดี๋ยวจะบอกว่าเท่าไหร่งี้อ่ะ
ปล. เงินกุยังไม่ถึง 40k
ไอ้ เควนทิน เบ็ค (Mystertio) ที่ทำตัวเป็นคนดีตอนแรกๆ แม่งจริงๆแล้วเป็นตัวโกง อดีตลูกน้องโทนี่
ตอนมันตาย แม่งยังเฉลยออกทีวี อีกว่า สไปเดอร์แมน คือ Peter Parker โคตรเหี้ย
แถมนิค ฟิวรี่ ในเรื่อง ดันเป็น ทาลอส (สครัล ในเรื่องกัปตันมาร์เวล) ปลอมตัวมา ไม่ใช่นิคจริงๆ อึ้งสัสๆ โคตรเนียน
เพื่อนๆโม่งต้องไปดู Spiderman Far From Home ให้ได้นะครับ
หนูเนยคือคนที่แม่งเคยอวยคริปโตชิบหายหลอกคนไปลงทุนตอนนี้เจ๊งไปละ กากสัสๆ
อาจารย์เดฟจะเปิดสอนคลาส Math for programmer แล้วนะ ตั้งหน้าตั้งตากดกันให้ดีครับ
มึงเคยได้ยินลูกค้าพูดเรื่องเงินเดือนเราในออฟฟิศกันไหม กุนึกว่าเค้าจะไม่รุ้เงินเดือนกุละ กุเป็น contract จะออก
แล้วกุเรียกบริษัท head ไป ลูกค้ากุที่ on site นั่งคุยกับแผนกอื่นแบบเบาๆ แล้วบอกว่า เนี่ย กุจะออกแล้วหมดสัญญา แผนกอื่นก็ถาม เงินเดือนเท่าไหร่ ปรากฏว่าลูกค้า onsite กูรุ้เว้ย ว่ากุเงินเท่าไหร่ เค้าก็คุยกันไปเบาๆ กุก้แกล้งไม่ได้ยินเพราะคุยกับอีกคนอยู่ แล้วเค้าก็ถามกันว่ากุขอขึ้นเงินเท่าไหร่ ปรากฏอีกว่า รุ้เรทเงินกุด้วยว่ากุขอขึ้นเท่าไหร่(ตอนกุขอขึ้นกุไปขอกับ head นะ ไม่ใช้บริษัทลูกค้า) ประเด็นคือพูดกลางที่ทำงาน ใครอยุ่ตรงนั้นแม้มรู้หมด 55555
>>951 โปรแกรมเมอร์ทั่วๆไปถ้าไม่ได้ทำงานเฉพาะทางบางด้านกูว่าก็ไม่ได้ต้องเก่งคณิตนะ
คณิตบางเรื่องที่แฝงมากับการเขียนโปรแกรมพื้นฐานมันก็ถูกใช้งานในอีกรูปแบบนึง
>>952 กูไม่เคยโดนเอง แต่เคยได้ยินลูกค้ากระซิบคุยกันเรื่องนี้ของคนอื่นในทีม เค้าคงเห็นกูใส่หูฟังอยู่เลคิดว่ากูไม่ได้ยินมั้ง
ประมาณว่าคนนี้ทำงานมาหลายเดือนแล้ว ปสก. หลายปี บริษัทต้นสังกัดก็โม้ไว้เยอะ ค่าตัวไม่ถูก แต่ทำงานไม่ค่อยดี เค้าเลยคุยๆกันรื่องนี้
กูเข้าใจว่าเค้าไม่ได้เห็นเงินเดือนโดยตรงนะ เค้ารู้แค่ว่าค่าตัวที่บรษัทต้นสังกัดเก็บเงินเท่าไหร่ จะให้เงินเดือนพนักงานเท่าไหร่ก็อีกเรื่อง
ถ้าเก่งชีวะน่ะรุ่งทุกคน
เดี๋ยวนี้อะไรๆ แม่งก็ big data ไงมึง
data จากงานวิจัยทางชีวะมันก็ใหญ่ขึ้น การจัดการ/วิเคราะห์ ต้องปรับตาม
ถ้าไม่เอาเด็กชีวะมาเรียนคอม ก็เอาเด็กคอมมาเรียนชีวะ ซักอย่างล่ะวะ
เพื่อนกูไปทำทาง neuroscience ช่วยแพทยสมองทำวิจัย
เงินเดือน 350 k ละ
หัวหน้าบอกว่าเราทำงานไม่ดี มีทางเลือกคือให้ลาออกเองซึ่งจะไม่เสียประวัติ หรือจะให้ไล่ออกแล้วรับเงินชดเชย จะเอาไงดี
นั่งอ่าน FB feed พบว่าคนในสังคมรอบตัวผมส่วนมาก เข้าว่า การ Coding โดยไม่ใช้คอมพิวเตอร์นั้นเป็นอย่างไร ดีอย่างไร และดีกว่าการสอน Coding โดยเริ่มจากการ "เขียนโค้ดในคอมพิวเตอร์" อย่างไร
ผมเองก็เขียนไปโพสท์หนึ่งเมื่อคืน ถึงจะไม่ได้เปิด public ส่วนหนึ่งเพราะผมขี้เกียจเจอกระแสสังคมแบบไม่จำเป็น
หลายคนอาจจะคิดว่าพวกนี้เป็น "ไดโนเสาร์" ที่เคยเรียนมาแบบนั้นมานานมาแล้ว และคิดว่าเด็กสมัยนี้ยังต้องเรียนแบบสมัยตัวเอง ..... หลายคนคิดว่ามันคือการเขียนโค้ดแบบเขียนในคอมพิวเตอร์ ลงกระดาษ .....
แต่จริงๆ แล้วไม่ใช่เลย
พวกนี้เข้าใจว่า Coding คือ Algorithmic Problem Solving ... และการเริ่มที่การเขียนโค้ดในคอมพิวเตอร์ นี่อาจจะเป็นอุปสรรคเสียด้วยซ้ำ ....
ในมหาวิทยาลัย วิชาสำคัญอย่าง Data Structures, Algorithms หรือวิชาอย่าง Problem Complexity Analysis ตลอดไปจน Theory of Computation นั้นไม่ถูกให้ความสำคัญ ทั้งคนเปิดสอนและคนเรียน
คนสอน ถึงอยากจะเปิดสอนก็เปิดสอนไม่ค่อยได้ เพราะไม่ค่อยมีคนเรียนหรอก ... ถ้าเป็นวิชาบังคับก็รอดไป แต่ถ้าเป็นวิชาเลือกนี่ ..... ผมเคยเปิดนะ มีคนลง 3 คน ... ปีต่อๆ มาก็เปิดไม่ได้ ... เพื่อนผมบางคนที่เก่งระดับสากล จะเปิดวิขานี้ก็ยังไม่มึคนลงเลย
จะไปเปิดวิชาพวกนี้ไปทำไมกัน ไปเปิดวิชาพวกสอน Syntax ภาษาโปรแกรมดีกว่า .... เด็กลงเยอะดี คิดว่าเอาไปทำงานได้เลย
จริงๆ แล้วจะเรียนภาษาโปรแกรมอะไรมา จะรู้ library แค่ไหน แต่ถ้าเรื่อง Algorithmic Problem Solving อ่อนแอแล้วล่ะก็ .... สุดท้ายก็ทำได้แต่งานระดับพื้นๆ
มันเหมือนกับเรียนภาษาไทย แต่ไม่เคยเรียนเรื่องโครงสร้างของการแต่งวรรณกรรม มันเหมือนกับเรียนกดคีย์เปียโน แต่ไม่เคยเรียนดนตรี ..... อาจจะเรียนเล่นดนตรี แต่ไม่เคยเรียนศาสตร์ของดนตรี หรือการสื่อสารด้วยดนตรี
อาจจะอ่านหนังสือได้ อาจจะฟังเพลงได้ อาจจะเขียนหนังสือลอกหนังสือเล่มอื่นได้ อาจจะเล่นเพลงได้ .....
แต่แต่งวรรณกรรมล่ะ? แต่แต่งเพลงล่ะ?
แล้วคิดว่าจริงๆ แล้ว Value มันอยู่ตรงไหนได้บ้าง? ..... เขียนโค้ดโปรแกรมแบบเดิมๆ ตลอดไปแค่เปลี่ยนภาษา? .... แค่ Maintain โปรแกรมที่คนอื่น (ต่างชาติ) เขียนมาแล้วตลอดไป?
หรือว่าจะทำ Innovation ใหม่ๆ ได้เพราะว่าเราแก้ปัญหาเป็นระบบ?
เห็นว่ามันมีได้หลากหลายมาก .... แต่การเขียนโค้ดในคอมพิวเตอร์เร็วเกินไป ทำให้เราโฟกัสกับปลายเหตุมากกว่าสิ่งที่สำคัญจริงๆ ที่แก่นของมัน
เอาจริงๆ แล้วทุกวันนี้ ผม "Coding โดยไม่ใช้คอมพิวเตอร์" นะ .... ผมใช้กระดานกับชอล์ค กระดาษกับปากกา ... และผมไม่ได้เขียนโค้ดแบบเดียวกับที่ผมเขียนโปรแกรม แต่ผมเขียนโครงสร้างของปัญหา เขียนนิยามของปัญหาต่างๆ และกลไกในการแก้ปัญหาพวกนี้อย่างเป็นระบบ .... และถ้าเป็นไปได้ ผมจะพิสูจน์ correctness ของมัน และเงื่อนไขต่างๆ ของพวกมันเสมอ ...
ทีมงานผมต้องสื่อสารกับผมแบบนี้รู้เรื่อง ต้องอ่าน Mathematical Models และ Computational Structures ต่างๆ ออก
อีกครั้ง การโฟกัสไปที่ "การเขียนโปรแกรมในคอมพิวเตอร์" เป็นอุปสรรคกับการสร้างคนในวงการนี้ด้วยซ้ำไปครับ
อย่าเอาสองเรื่องนี้ไปเท่ากันเลยครับ
ขอบคุณเพื่อนๆ ทุกคนที่ช่วยกันชี้แจงคนละไม้คนละมือครับ
แถมภาพ น้องในทีม Product Owners ของผม กำลังอธิบายแบบจำลองของปัญหาบางอย่าง และการแก้ปัญหา ให้ทีมงานฟัง
ป.ล. แยกกันให้ออกนะครับ การที่เราเข้าใจเรื่องนี้ และเห็นด้วย ไม่ได้แปลว่าเราเป็น "พวกของฝั่งการเมืองบางฝั่ง" ครับ .... เพื่อนผมหลายคนนี่ไม่เอารัฐบาล คสช. ต่อมาถึงรัฐบาลประยุทธ์ชัดเจนมาก แต่เราแยกแยะกันออก ...... บางคนเอาธงด่ารัฐบาลไว้ก่อน คิดว่ารัฐบาลโง่ไว้ก่อน ล้าหลังไว้ก่อน ..... ฯลฯ แยกแยะด้วยนะครับ
อ่ะ กลับมาโลกความเป็นจริงกัน ......
ปัญหาของการเรียน Algorithmic Thinking หรือ Algorithmic Problem Solving ของบ้านเรา มันก็จะเป็นเรื่องเดียวกับการเรียนการสอนคณิตศาสตร์ครับ
คณิตศาสตร์ ..... กลายเป็นวิชาท่องสูตร วิชาคำนวน วิชาที่เราจะต้อง execute การคำนวนตามลำดับของการคำนวนอะไรบางอย่างโดยที่ไม่รู้ไม่เข้าใจว่าทำไมต้องคำนวนแบบนั้น .... กลายเป็นการท่องจำ execution sequence มากกว่าเข้าใจ logical chain of reason และการสร้างแบบจำลองทางคณิตศาสตร์
(แบบจำลองทางคณิตศาสตร์ นี่ฟังดูยาก แต่จริงๆ แล้วเราอยู่กับเรื่องพวกนี้มาตั้งแต่เริ่มเรียนนะครับ เริ่มจาก "จำนวนและตัวเลข" ครับ ... ตัวเลขมันคือ abstraction/model ของจำนวน .... ดังนั้นเราหาเหตุผลกับตัวเลข มันก็จะนำไปใช้กับจำนวนของสิ่งต่างๆ จริงๆ ได้)
เราไม่สนใจ Language of Mathematics เลย ...... เราไม่เคยรู้ว่ามันมีด้วยซ้ำ .....
เหมือนกับเรียนดนตรีด้วยการท่องจำตัวโน๊ตทั้งเพลง หรือเรียนดนตรีด้วยการฝึกแต่เทคนิคการเล่นเครื่องดนตรีต่างๆ โดยไม่เรียน "ความเป็นดนตรี" เลย .....
เราพลาดมหาศาลกับการเรียนการสอนคณิตศาสตร์ ..... ผมเห็นว่าทางออกหนึ่งของเราก็คือ การเรียน Algorithmic Problem Solving นี่แหละ ที่จะทำให้เราคิดอะไรเป็นเหตุเป็นผลกันมากขึ้น เหมือนกับที่เราควรจะทำได้เมื่อเรียนคณิตศาสตร์ ...
คณิตศาสตร์บ้านเรามันโดนทำลายไปหมดล่ะครับ จะกลับไปแก้มันตอนนี้ก็สายเกินไปแล้ว
ผมได้แต่หวังอย่าให้การเรียน Algorithmic Problem Solving กลายเป็นการท่องจำวิธีการแก้ปัญหา กลายเป็นการท่องจำ Sequence of Instructions ตายตัว โดยไม่เข้าใจแบบจำลองของปัญหาต่างๆ ... ไม่ว่าจะใช้หรือไม่ใช้คอมพิวเตอร์ก็ตาม
สิ่งที่ทำให้ผมพอจะหวังในแง่ positive กับเรื่องนี้ได้ ก็คือ จริงๆ แล้วภาคการศึกษาของเราตื่นตัวพอสมควรในเรื่องนี้ คนที่เข้าใจมันจริงๆ ช่วยกันหลายคนอยู่ในการสอนคนที่จะต้องไปสอน (ครู) ในภาคส่วนต่างๆ ช่วยกันอบรมช่วยกันอะไรหลายอย่าง ......
สุดท้ายมันคงไม่กลายเป็นประวัติศาสตร์ที่ซ้ำรอยกับคณิตศาสตร์
แถมครับ หนังสือดีๆ เล่มเล็กๆ อ่านคืนเดียวจบ ..... ลองอ่านหน้าแรกได้ครับ
เรียนโค้ดดิ้งโดยไม่ต้องมีคอมพ์ได้มั้ย ?
.
ส่วนตัวตอนสมัยยังเด็ก ที่บ้านไม่ค่อยมีเงิน จะซื้อคอมพ์ใช้นี่ไม่ต้องหวัง แต่ตัวเองก็อยากเขียนโปรแกรมเป็นมาก ก็เลยต้องใช้วิธีออกแบบโปรแกรมลงกระดาษ แล้วค่อยไปลงโค้ดที่ห้องคอมพ์โรงเรียน
.
และก็ได้รู้ตอนนั้นว่าที่เขียนลงกระดาษกับที่เขียนลงตีพิมพ์มันคนละศาสตร์กัน
.
เรื่องแรกที่อาจต้องแยกให้ออกก่อนเลยคือ "Coding" กับ "Problem Solving" มันเป็นคนละศาสตร์กันโดยสิ้นเชิง
.
ศาสตร์ของการแก้ปัญหา (Problem Solving) เป็นเรื่องของการคิด การวางแผน การวิเคราะห์ ตรรกศาสตร์ ฯลฯ ส่วน Coding เป็นการลงมือเขียนโค้ดเพื่อให้เห็นผลลัพธ์ออกมา
.
Problem Solving ไม่จำเป็นต้องใช้คอมพ์ มีวิชาที่ใช้สอนกันมาตั้งแต่สมัยชาติปางก่อนอย่าง Flow Chart สมัยนี้ก็ยังถือว่ามีประสิทธิภาพอยู่ ช่วยสอนวิธีการคิดเป็นขั้นเป็นตอนได้เป็นอย่างดี เขียนบนกระดานได้เลย สอบด้วยกระดาษก็ได้ อันนี้เห็นด้วย
.
แต่พอมาเรื่อง Coding ... มันเป็นเรื่องของการใส่โค้ดเข้าไปเพื่อดูผลลัพธ์ ไม่ต้องแก้ปัญหาอะไรก็ได้ โปรแกรมแรกที่เราเขียนคือเอาโปรแกรมภาษาเต่ามาวาดรูปกังหันลมบนจอคอมพ์ หมุนไปหมุนมา ไม่ได้ใช้ตรรกศาสตร์อะไรทั้งสิ้น แต่ที่ต้องใช้คือ ... คอมพ์
.
ถ้าให้เทียบกับการเย็บผ้า ก็เหมือนว่าเรียนเย็บผ้าแต่ไม่มีเข็มกับด้ายนั่นแหละ บอกให้เขียนการเย็บในกระดาษเอานะ ก็เรียนได้นะ แต่ไม่มีประโยชน์อะไรเลย
.
แต่ถ้าเปลี่ยนไปสอนเรื่องการด้นถอยหลังมีวิธีคิดยังไง การเย็บแบบซ่อนตะเข็บทำได้ยังไง อันนี้โอเค สอนในกระดาษได้ เอาไปคิดต่อได้
.
ดังนั้นคงต้องไปแยกแยะให้ได้ก่อนว่าตกลงอยากจะสอนโค้ดดิ้งหรือสอนการคิดแก้ปัญหากันแน่ คนละเรื่อง คนละศาสตร์ คนละเทคนิค
.
แต่ถ้าสุดท้ายจะสอนโค้ดดิ้งจริง ๆ แล้ว การไม่มีคอมพ์มันสอนแล้วหวังผลอะไรไม่ได้หรอกครับ
.
จะว่าไปราคาเรือดำน้ำลำนึงนี่ซื้อคอมพ์แจกโรงเรียนทั่วประเทศได้เป็นล้านเครื่องเลยนะ
.
อันนี้สอนในกระดาษกันได้อยู่ครับ ไม่ต้องใช้คอมพ์
ทำไมมึงไม่ไปโพสใน >>>/tech/6362/
ไอ้พวก ไอพี เขารู้ได้ไงว่าบ้านที่ไหน
อย่างไอ้ 192.168.1.1
https://www.facebook.com/groups/647718825333067/permalink/2121722874599314/
มีคนหมิ่นโค้ดสตาร์ของเราครับ
พวกมึง Outsource .net ปสก 2 ปีครึ่ง ฝีมือทั่วไป เงินเดือนเท่าไหร่กันแล้ววะ กุ 45k มากหรือน้อย
เพื่อนโม่ง ตอนนี้สายวิศวะคอม หรือ It สายไหนน่าเรียนกว่ากัน มีงานรองรับมากกว่า
พวกมึง
เวลาเขียนหน้าเว็บพวก html ต้องไม่ควร bind script หรือชื่อ function ต่างๆ ไปตรงๆ ใช่ไหมวะ กุเห็นเว็บใหญ่ๆดังๆ เคยกด f12 ไปดู เหมือนเค้าเขียน class ไว้ แล้วไปเขียนการทำงานใน class script อีกที กุเข้าใจถูกป่าว แล้วชื่อ class แม่งก็เขียนแบบชื่อไม่สื่ออ่ะ แบบไม่รู้เรื่อง แต่โปรแกรมเมอร์เค้ามี doc เรื่องชื่อแปลกๆ กันเอง (ชื่อแปลกเอาไว้ให้คนอื่นอ่านไม่ค่อยออกเวลามาแกะเว็บ) กุเข้าใจถูกป่าววะ ตอนนี้กุเขียนเว็บแม่งใส่ชื่อ function แล้ว bind กับ html ไปตรงๆ เกือบทุกอันเลย คือเวลาแกะดูแล้วเปลี่ยน html นุ้นนี่นั่น เว็บมันทำงานแปลกๆ หรือกรณีนี้ควรไปเช็คฝั่ง backend
อย่างบางเว็บของ google กุเหนเค้าใส่ html ประมาณนี้อ่ะ <span class="VfPpkd-Q0XOV"><div class="VVsfQ"></div></span>
กุควรเปลี่ยนวิธีดีไหม
เพราะมึงมันโง่ไม่ยอมเรียนกับโค้ดสตาร์
ทำไมพวกมึงต้องไปแขวะโค้ดสตาร์อะไรนี้วะ กูไม่รู้บอกกูที
เห็นคนแชร์เรื่องสัมภาษณ์งานในสมาคมอะไรซักอย่าง ทำให้อยากเขียนสิ่งนี้ขึ้นมาเลย
ชีวิตนี้ ผมสัมภาษณ์งานไม่ผ่านเยอะมากเลยนะ น่าจะเยอะกว่าที่หลายคนคิดไว้
แต่สุดท้าย เวลามันใช่ มันใช่ของมันเอง
ตอนที่ผมเข้า Taskworld ใหม่ๆ ใช้ Git เป็นงูๆ ปลาๆ มาก Javascript build รวมกันยังไงก็ไม่รู้ คนอื่นเขา Grunt เขา Webpack ของเราที่ทำมาตลอดยังแค่ใช้ script มารวมๆ กันอยู่เลย เขียน React ก็ไม่เคย ตอนนั้นได้งานทำ SPA มาคือเขียน Framework SPA เล็กๆ เอง เพราะไม่รู้จัก React
ที่อื่นจะไม่รับก็ไม่แปลก จะบอกว่าไม่เชี่ยวชาญพอก็เถียงไม่ได้แหละ
แล้วสุดท้าย ก็น่าประหลาดใจที่มันเป็นที่ๆ เหมาะกับตัวเองในช่วงชีวิตตอนนั้นมากๆ มันมีเคมีที่เข้ากัน และทั้งผมทั้งบริษัทก็ได้เติบโตจากกันและกันมากมายมหาศาล
=============================
ถ้าเรามองจากมุมของคนที่ออกแบบสัมภาษณ์ ไม่แปลกเลยที่จะหาวิธีการพัฒนาให้มันแฟร์ขึ้น แม่นยำขึ้น ดีขึ้น
แต่ถ้าเราเป็นคนสัมภาษณ์ ก็อยากจะให้มองมันอย่างเข้าใจ
บางปัจจัยอย่างเราอาจจะท้องเสียวันนั้นพอดี คนสัมภาษณ์อาจจะรีบร้อนวันนั้นพอดี หรือแม้แต่บริษัทมีปัจจัยอะไรซักอย่างให้อยู่ดีๆ ต้องรัดเข็มขัด ตัด Headcount ที่จะรับเพิ่ม ทั้งๆ ที่กำลังจะรับอยู่แล้ว ก็เกิดได้
บางทีมันไม่มีใครผิดใครถูกหรอก หรือเปล่าประโยชน์ที่จะไปหา
มันก็แค่ไม่ใช่เวลาไม่ใช่โอกาส ก็แค่นั้น
=============================
ผมเชื่ออย่างหนึ่งว่า กฎแรงดึงดูดมีจริงนะ
ผมเป็นคนที่ออกความเห็นเยอะ เขียนอะไรเยอะ
คนชอบก็มี คนไม่ชอบก็มี พูดมากขนาดนี้ คนหมั่นไส้ก็คงมีเยอะแน่ๆ
บางคนมาเห็นความเห็นแล้วจะตัดโอกาสของเราไม่อยากร่วมงานกับเรา ไม่อยากให้โอกาส คิดว่าแบบแนวคิดของเราไร้สาระ ตัดโอกาสทิ้ง เกิดขึ้นได้มั้ย ก็คิดว่าเกิดขึ้นได้
แต่ชีวิตมันกินทุกโอกาสไม่ได้
และการที่เราเลือกที่จะเป็นตัวเอง แสดงความเป็นตัวตน ก็จะนำพาโอกาสที่ใช่เข้ามาหา และผลักโอกาสที่ไม่ใช่ออกไป
ผมเชื่อว่า โอกาสที่ใช่ จะยอมรับความเป็นตัวเรา และทำให้เราดึง Best version ของตัวเองออกมาได้ โอกาสที่ใช่ จะรู้สึกอุ่นใจกับตัวตนของเรา
โอกาสที่ไม่ใช่ จะไม่ยอมรับความเป็นตัวเรา จะรู้สึกว่าตัวตนของเราไม่เหมาะกับเขา จะอึดอัดกับความเป็นตัวตนของเรา
มันเป็นธรรมดาของโลกนี้ ไม่ได้มีใครผิดใครถูก มันแค่เข้ากันไม่ได้
สัมภาษณ์งานก็เหมือนกัน ถ้ามันไม่เหมาะ เวลามันไม่ใช่ โอกาสไม่ใช่ มันก็ไม่ได้ ก็แค่นั้นแหละ
=============================
อยากให้กำลังใจน้องๆ หรือเพื่อนๆ พี่ๆ ที่อาจจะกำลังย้ายงาน
วันนี้เราสัมภาษณ์ไม่ผ่าน เราอาจจะคิดว่า มันต้องมีใครผิด ไม่ฉันผิด ก็อีกคนผิด ไม่ฉันแย่ ก็บริษัทแย่ พยายามอธิบายด้วยแนวคิดผิดถูก
ความผิดหวังเป็นเรื่องธรรมดา ผมผ่านมาเยอะนะ
แต่จริงๆ โลกมันซับซ้อนกว่านั้น เป็นสีเทามากกว่านั้น
อยากให้เชื่อมั่นว่าสุดท้ายโลกจะหาสิ่งที่ใช่เข้ามาหาเรา ผลักสิ่งที่ไม่ใช่ออกไปจากเรา
กฎแรงดึงดูดมีจริงเสมอ ผมเชื่อ และก็ผ่านมาแล้ว
ย้อนกลับไปคิดก็ขอบคุณโลกนี้ที่สุดท้ายพาโอกาสที่ใช่เข้ามาในชีวิต ผลักโอกาสที่ไม่ใช่ออกไป มันอาจจะเป็นโอกาสที่ใช่ของคนอื่น เป็นโอกาสที่ดีในสายตาคนอื่น แต่ไม่ใช่ของเรา
แต่กฎแรงดึงดูดจะทำงานได้ดี เราต้องมั่นคง ต้องมี Integrity คอยพัฒนาตัวเองในแนวทางที่ตัวเองเป็นอยู่สม่ำเสมอ จนความเป็นตัวตนชัดเจนขึ้น
ถ้าเราไม่มี Integrity ไม่มีความชัดเจน หลอกลวงไปเรื่อย ทำตัวเฉไฉไปมาต่อโลกนี้ โลกจะเลือกให้เราไม่ถูก กฎแรงดึงดูดก็จะงง ไม่รู้ว่าจะดึงอะไรเข้ามา โลกก็จะดึงดูดสิ่งต่างๆ เข้ามาในชีวิต อย่างมั่วซั่วสะเปะสะปะไปหมด ให้เราเสียเวลาปวดหัว
ความไม่ชัดเจนนั้นอาจจะเกิดจากความไม่มั่นใจในตัวเอง หรืออาจจะเกิดจากเจตนาที่หลอกลวง ผมมิอาจตัดสินว่ามาจากเจตนาใด
แต่ผมเชื่อว่า โลกนี้จะงง สรรหาพื้นที่ให้คุณไม่ถูก กฎแรงดึงดูดจะสับสน ดึงดูดสิ่งต่างๆ เข้ามาอย่างมั่วซั่วเละเทะ ถ้าคุณไม่มีความชัดเจน
ชีวิตช่วงไหนที่ผมสับสนกับตัวเองมากๆ โอกาสต่างๆ ที่เข้ามาก็จะสับสนมาก พอๆ กับความสับสนภายในจิตใจ
ผมถึงเชื่อในกฎแรงดึงดูด
และก็อยากเตือนด้วย
ถึงแม้จะเชียร์ว่า ให้เป็นตัวตนของตัวเอง แต่ก็อย่าให้ความเป็นตัวเรามันไม่ได้ไปบดบังคนอื่น Abuse คนอื่น
ว่าการทำให้ตัวเองเด่นโดยกดคนอื่นให้ด้อย โยนความผิดให้สิ่งรอบข้าง โดยอ้างว่านี่คือความเป็นตัวตน ฉันไม่แคร์ วางตัวเหนือกว่า มันไม่น่ารักนะ
มันผลักโอกาสต่างๆ ออกไปนะ มันจะดึงดูดคนที่คิดว่า "การกดคนอื่นเพื่อให้ตัวเองเด่นเป็นธรรมดาโลก" เข้ามาในชีวิตนะ
แสดงความเป็นตัวตนในกาลเทศะและเวลาที่เหมาะสม ไม่กดคนอื่นลงเพียงเพื่ออยากขับเน้นตัวเองให้เด่นขึ้น
ทั้งให้กำลังใจและก็เตือนสตินะ
Bloc pattern เป็นไงบ้าง ดีไหม
Stack overflow ลุกเป็นไฟ
ไอ้ห่า genderpolitic ไปถึงไหน พังถึงนั่น
ใครเป็นแฟนขับอาจารย์
กบถาวร แห่ง ชวาไทยแลนด์บ้าง
ชมรมโปรแกรมเมอร์ใสๆไม่กินมาม่าหายไปไหน
ใครเคยทำ dtac มั่งวะ โบนัสเค้าได้กันกี่เดือน
แต่กุเหนป้ายโฆษณา เหมือนเค้าตัดโบนัสเปน ไตรมาส รึป่าววะ แล้วได้เยอะไหมแต่ละไตรมาส
โค้ดสตาร์ทำให้เน็ตเหี้ย
ควยถอกเย็ดแม่แอดมินกะเทยควายควยโค้ดสตาร์
เย็ดแม่แอดมิน หัวยควย แอดมินเย็ดกะเทยหัวควย
หัวควยกาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
หี
หี
หั
หี
หี
หี
หี
หี
หี
หี
หี
หรี
กะหรี่หน่อแต่ดหัวควยอิเล็กทรอนิกส์
ควยถอกเย็ดแม่แอดมินกะเทยควายควยโค้ดสตาร์
เย็ดแม่แอดมิน หัวยควย แอดมินเย็ดกะเทยหัวควย
หัวควยกาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
กาพี้
หี
หี
หั
หี
หี
หี
หี
หี
หี
หี
หี
หรี
กะหรี่หน่อแต่ดหัวควยอิเล็กทรอนิกส์
Topic has reached maximum number of posts.
Please start a new topic.
Be Civil — "Be curious, not judgemental"
All contents are responsibility of its posters.