minseo's avatar
minseo
mikkipastel@siamstr.com
npub1h9ls...q9qf
👩‍💻 Full-time Android Developer 🌐 Part-time Content Creator 📖 Sub-Mod, Tripster ⚡ Zentry Ambassador #siamstr
minseo's avatar
minseo 1 year ago
ช่วงนี้เทรน Sustainability กำลังมา คนใส่ใจสิ่งแวดล้อมและโลกใบนี้ให้อยู่ได้นานมากขึ้น และใช้เทคโนโลยีเข้าช่วยด้วย อย่างการซื้อ carbon credit บนแอพ TrueMoney ก็ใช้ blockchain เข้ามาช่วย ทำให้เราตรวจสอบการชดเชย carbon ได้ง่ายขึ้น เมื่อคืนวันอังคารที่ผ่านมาเลยเข้ามาฟังว่าเอ้อมันมีเบื้องหลังการทำงานยังไงบ้าง เลยมาเล่าให้ทุกคนได้ฟังกันจ้า
minseo's avatar
minseo 1 year ago
เพิ่มความ Productive รับปีใหม่จีน กับคอร์ส Productivity Hacks ของคุณวริศ หาญอุตสาหะ ที่ Cariber image เราใช้โค้ดเรียน 30 วันที่ได้จากงาน iCreator Conference 2024 เมื่อปลายปีที่แล้ว ทั้งหมดมี 10 course ด้วยกัน image ตัวหน้าเว็บของ Cariber ดู premium มาก และคนสอนคือตัวท้อป ๆ ทั้งนั้น ซึ่งบางท่านไม่เคยเห็นสอนที่ไหนเลยด้วย พอเข้าไปหน้าห้องเรียนตัวเว็บจัดเป็นสัดเป็นส่วน ดูเรียบง่าย เว็บลิ่นไหล มีเอกสารประกอบการเรียน พอเรียนแล้วก็ไม่ต้องจด เพราะในนั้นเขาสรุปมาให้เรียบร้อยแล้ว เรามีหน้าที่ตั้งใจฟังและคิดตามอย่างเดียว . และคอร์สแรกเราเริ่มที่ Productivity Hacks ของคุณวริศ หาญอุตสาหะ เพราะดูใกล้ตัวมากที่สุด ในคอร์สนี้ทำความรู้จัก productive ก่อนเลย คือเราทำยังไงให้สามารถทำงานได้มากขึ้น โดยใช้เวลาเท่าเดิม ทำให้เปลี่ยนชีวิตเราให้ดีขึ้น โดยเราทำงานได้เยอะขึ้นในเวลาอันจำกัด ชีวิตยุ่งเหยิง ทำงานเสร็จมากขึ้น ทำให้เราสร้าง value กับเรื่องต่าง ๆ ให้มากที่สุด ในด้านการทำงาน และตัวเราเอง เรียนรู้การจัดลำดับความสำคัญ การทำทุกที่ให้เป็นที่ทำงาน การจัดการเวลาด้วย Timeboxing ประชุมยังไงให้มีประสิทธิภาพ รู้จักการปฎิเสธเป็น default การสร้างสมาธิในการทำงานโดย focus กับงานที่เราทำอย่างลืมเวลาอย่าง Flow State เกิด burnout แล้วทำยังไงดี และการนำ productive ไปปรับใช้กับองค์กร . ถ้าจบทุกคอร์สในชุดนี้จะมารีวิวกัน เผื่อเพื่อน ๆ สนใจอยากเรียนต่อ แล้วโปรรายปีราคาเขาไม่แพงด้วย จบเซ๋ตนี้ค่อยว่ากันอีกทีว่าเรียนอันไหนต่อ เพราะน่าสนใจหลายคอร์สเลย #siamstr
minseo's avatar
minseo 1 year ago
สุขสันต์วันตรุษจีน 新年快乐 (ซินเหนียนไคว่เล่อ) . ว่าแต่มี Nostr app ไหนแจกอั่งเปาได้บ้างน้า #siamstr image
minseo's avatar
minseo 1 year ago
A-Ramen เผื่ออยากลอกข้อสอบ พริกเผ็ดจริง แต่เป็นแนวพริกน้ำส้ม ราเมงให้หมูชาชู 4 ชิ้น พร้อมไข่ต้มครึ่งซีก เกี้ยวซ่าก็โอเค #siamstr
minseo's avatar
minseo 1 year ago
ไอติมวานิลลาซอฟต์เสิร์ฟผสมซอสถั่วเหลืองมิเอะ image
minseo's avatar
minseo 1 year ago
หาตั้งนาน พอได้ไหมนะ #siamstr image
minseo's avatar
minseo 1 year ago
เล่าประสบการณ์การทำ website portfolio ใหม่ของเรากัน ว่าของเดิมก็มีอยู่แล้ว ทำไมต้องเปลี่ยนด้วยล่ะ บล็อกนี้เราเล่าประสบการณ์ในการทำเล็ก ๆ น้อย ๆ ว่าทำไมต้องเปลี่ยน แล้วเปลี่ยนมาเป็นแบบไหน เผื่อเป็นไอเดียในการเอาไปทำเนอะ หลายสิ่งใช้ Firebase ทำน้า แล้วก็นำความรู้ที่ได้จากคอร์ส JavaScript for Web Development มาใช้ด้วย ถึงแม้บางครั้งที่ติดปัญหา หรืออยากได้อะไรตามในหัว จะ search หา Google ก็ตาม ส่วนจะเป็นยังไงน้านนน มาอ่านกัน มันค่อนข้างยาวนิดนุง แถมมีสิ่งที่แก้ไม่ได้ด้วย 555 #siamstr
minseo's avatar
minseo 1 year ago
เห็นหลายคนขิงกันมาแล้ว กับภาพ Github Contribution ที่มาจากเว็บ postspark.app image ที่บอกเลยว่า เอ่อออ ไม่ค่อยได้ contribute อะไรบน Github เพราะงานที่ทำอยู่ ก็ไม่ได้ใช้ Github เน้นทำ site project มากกว่า ทุกคนสามารถไปลองเล่นได้ที่นี่เลย นอกจาก Github Contributions แล้ว เว็บนี้ยังเอาไว้ทำ Screenshot, Tweet, Code, Mockup ได้ด้วยน้า เรียกได้ว่า all-in-one เลยทีเดียว #siamstr
minseo's avatar
minseo 1 year ago
ระบบนี้ดี หมดปัญญากรอกบางอันไม่ถูกช่อง กับลืม 5555 แถมคลิปนี้เข้าใจง่ายด้วย #siamstr
minseo's avatar
minseo 1 year ago
เป็น senior แล้ว ไปทางไหนต่อดี? ทำความรู้จัก Software Developer Career Path กัน image หลังจากที่เราทำสายงาน Software Developer มาประมาณนึง จนมาเป็น senior แล้ว หลังจากนี้ไปเส้นทางไหนต่อ? จากที่อ่าน ๆ มา กับที่เห็นในแต่ละองค์กร ก่อนหน้านี้จะมีเรื่องผลักดันคนโค้ดเก่งเป็น manager ใช่ม่ะ? สิ่งที่ได้คือเราเสียคนที่โค้ดเก่ง และได้ manager ที่ไม่ได้เรื่องแทน ก็คนมันไม่ได้ถนัดนี่นา ดังนั้นถ้าไม่อยากไปสาย manager ยังมีสาย engineer สำหรับคนที่ชอบการโค้ด ไม่ต้องยุ่งกับคนเยอะ และหลาย ๆ ที่มีขานี้มาให้พวกเราแล้วด้วยน้า . แล้ว Software Developer คือใคร? ง่าย ๆ คือเป็นเดฟนี่แหละ มีหลากหลายสาย เช่น - Frontend Developer ที่ทำหน้าเว็บไซต์ - Backend Developer ทำระบบหลังบ้าน เขียน API และพวก database เก็บข้อมูล - Full-stack Developer = Frontend Developer + Backend Developer ทำสองหน้าที่นี้ในคนเดียว - Mobile Developer ทำแอพหน้าบ้าน ไม่ว่าจะเป็น iOS Developer, Android Developer ตอนนี้มี Flutter Developer ด้วยนะ . แล้ว 2 สายนี้ต่างกันยังไงล่ะ 🤔 🔴 สาย Engineer: เน้น technical หรือ coding นั่นแหละ อีกคำนึงที่คนพูดถึงเยอะ คือ individual contributors หรือ สาย IC ก็คืออันนี้แหละ Individual Contributor (IC) เป็นสายนึงที่มีบทบาทมาก ๆ ในองค์กร ทำงานเป็น specialist ในฝั่งที่ตัวเองถนัด โดยไม่ต้องทำงานฝั่งบริหารทีม และมีความรับผิดชอบในการส่งมอบผลงานที่มีคุณภาพสูง ในสายนี้มีตำแหน่งเหล่านี้ 1. Staff Engineer: ช่วยทีมในการออกแบบและสถาปัตยกรรมซอฟต์แวร์ รวมถึงการตรวจสอบคุณภาพของโค้ด 2. Principal Engineer: มีความรับผิดชอบในการกำหนดทิศทางเทคนิคของ project และทำหน้าที่เป็นผู้นำทางเทคนิคในองค์กร 3. Fellow Engineer: ตำแหน่งสูงสุดในสายงาน IC ซึ่งมักจะเป็นผู้ที่มีประสบการณ์มากที่สุด และมีบทบาทสำคัญในการพัฒนาเทคโนโลยีใหม่ ๆ 🔴 สาย Management: เน้นการบริหารจัดการคนและงาน สกิลที่สำคัญคือการสื่อสารภายในทีม แน่นอนว่าสายนี้ห่างโค้ดแน่นอน เริ่มที่ Manager ตามดัวย Director จบด้วย VP ทั้งสองสายนั้นสุดที่ CTO หรือ Chief technical officers ที่ต้องมีความสามารถด้าน technical และบริหารจัดการทีมไปด้วยกัน . นอกจากนี้ตำแหน่งอื่น ๆ ที่สามารถก้าวขึ้นไปได้หลังจาก Senior Developer เช่น Software Architect หรือ Technical Lead ซึ่งเป็นตำแหน่งที่สำคัญในสายงานเทคนิคและสามารถเป็นจุดเริ่มต้นในการก้าวสู่ตำแหน่งผู้บริหารได้ โดย Team Lead Engineer เท่าที่เห็นจากประสบการณ์จริง คือ ได้คุมทีมแล้วยังได้โค้ดด้วย ก็น่าจะแล้วแต่องค์กรไหมนะ ไม่ค่อยแน่ใจ อาจจะยังอยู่ฝั่ง IC อยู่นะ แล้วก็อีกสายนึงที่นอกจากนี้ คือสาย Product Management ที่เป็นคนที่คิด feature ที่ส่งต่อ value ให้ user และตอบโจทย์ business ด้วย แล้วส่งงานให้ developer ไปทำต่อ 555 . แล้วเพื่อน ๆ มีความเห็นเพิ่มเติม หรือพบเจอประสบการณ์ใด สามารถมาบอกใต้เม้นได้นะ #siamstr
minseo's avatar
minseo 1 year ago
เราเป็นใครในสมการนี้? มารู้จักหน้าที่ชาวเดฟในการพัฒนา Product กัน image content นี้เรามาสรุปสิ่งที่เรียนจากคอร์ส “Intro to Product Management” ของทาง Skooldio บวกกับประสบการณ์การทำงานจริง เพื่อให้ทุกคนเห็นภาพในมุมของ developer มากขึ้น (เพราะในคอร์สจะเป็นมุม product manager แหละ) ก่อนอื่นเลย เราคิดว่าทุกคนน่าจะทำ digital product กันเนอะ ซึ่งเป็นสิ่งที่เข้ามามีบทบาทในชีวิตของเราทุกคน โดยตัว product เน้นไปที่การ focus ลูกค้า ด้วย technology และเป็นสิ่งที่ไม่มีวันทำจบ (นอกจากว่าด้าน business ไม่รอดจริง ๆ) มารู้จักคนเบื้องหลัง product ผ่านภาพ Software Developer Life Cycle (SDLC) ซึ่งมีหลาย ๆ role ด้วยกัน - Developer: เป็นคนสร้างของ โดยการ coding เพื่อให้ได้ product อันนี้มา ซึ่งตรงนี้อาจจะเป็น web developer, mobile developer, backend developer หรืออะไรใด ๆ - Product Manger: หน้าที่คือไป research ว่าปัญหาของลูกค้าคืออะไร และทำอะไรเพื่อตอบโจทย์ หรือแก้ pain point ของเขา - UX Designer: มีหน้าที่ในการ focus user experience ว่า user ได้รับ value จาก product ของเราจากต้นจนจบ - QA: ช่วย developer ตรวจสอบคุณภาพของ product ใด ๆ คือแล้วแต่บริษัทนะ แล้วแต่ทีมนั้น ๆ ส่วน scope งานบางอย่าง สำหรับ product manager และ product owner สำหรับเนื้องาน product manager ดูฝั่ง discover ด้านซ้าย ส่วนเนื้องานของ product owner ดูว่าเอาอะไรใน backlog เข้า sprint ให้เดฟทำดี จึงมองได้ว่าเป็น subset กัน ในความจริง เรื่องเนื้องาน scope งานก็แล้ว บางทีรวมถึงชื่อตำแหน่ง ต่างกันไปในแต่องค์กรแหละ อย่างที่เราก็ไม่มีตำแหน่ง product owner แต่ทำหน้าที่เป็น product owner เลย บางที่คนที่เนื้องานเป็น product manager อาจจะเป็นชื่อตำแหน่งอื่นก็ได้งี้ ในส่วน UI UX ซึ่งบางที่มี UI Designer ที่ทำงานออกแบบ user interface ที่ตอบโจทย์ UX ด้วย แยกกัน หรือบางที่อาจจะมีตำแหน่ง UI/UX Designer ทำสองอย่างนี้รวมกัน . จากภาพเราพบว่าฟากฝั่งของ Product Manager อยู่ฝั่ง discover ค้นหาคำตอบว่าลูกค้า หรือ user ต้องการอะไร เริ่มจากรับ feedback จาก user มาก่อน บวกกับ vision ขององค์กร ก่อให้เกิดไอเดีย list สิ่งที่น่าจะทำใน idea backlog แล้ว product manager มาดูว่าอันนี้ตรงกับสิ่งที่ focus หรือ value ที่เราอยากส่งมอบให้กับ user ไหม อีกทั้งมีเทคโนโลยีที่ทำได้ และคุ้มค่าที่จะทำจริง ๆ จนสุดท้ายออกมาเป็น validated backlog ให้ฝั่ง developer เอาไปทำงานต่อ แล้วในภาพตกส่วน designer ใช่ม่ะ ตามความเข้าใจของเราเอง UX จะอยู่ในส่วนการได้ idea จาก user ผ่านการทำอะไรต่าง ๆ เช่น user interview, สังเกต user ในส่วน UI ก็น่าจะอยู่ในส่วนที่ได้ validate backlog ที่ทำ UI ของ user story นั้น ๆ และส่งให้เราผู้เป็น mobile developer ไปขึ้น UI ฝั่ง developer นั้นอยู่ฟากฝั่ง delivery เราก็มีหน้าที่สร้างของให้กับ user โดยการเขียนโค้ค และมี QA ตรวจสอบคุณภาพโค้ดที่เราเขียน จนสุดท้ายได้ quality product เพื่อส่งต่อ value นี้ให้ user . โดย backlog คือ งานที่จะต้องทำเพื่อบรรลุเป้าหมาย และจัดเรียงความสำคัญ มาจากเข้าใจมุมมองฝั่ง business และ pain point ของ user แล้วเอาไป validated ว่าอันไหนคุ้มค่าในการพัฒนาต่อ และตัว validated backlog นั้น เป็น input ของ product delivery อีกทีนึง task ใหญ่ ๆ นั้นถูกแบ่งออกเป็นก้อนเล็ก ๆ เพื่อสื่อสารให้ทีมเห็นภาพ task นั้น ๆ ชัดขึ้น ว่าส่ง value อะไรไปบ้าง แล้วจัดเรียง priority เพื่อส่งต่อให้ user ได้เร็วขึ้น โดยส่วนย่อย ๆ นี้ เรียกว่า user story ซึ่งแบ่งตาม user value โดย 1 user story ต่อ 1 user value ถ้าทำ task นี้จบ user ก็รับ value ตรงนี้ที่เราตั้งใจส่งต่อให้ เช่น ให้ user สามารถสร้าง post ได้ และ product manager ใช้ Acceptance Criteria ในการสื่อสารกับ dev และ QA ได้เข้าใจมากยิ่งขึ้น (ซึ่งก็มาจาก Domain Driven Design แหละ ภาษาที่คุยกันทุกฝั่งรู้เรื่องและเข้าใจ โดยเน้นที่ value ที่ user จะได้รับ) นอกจาก backlog จะมาจาก PM แล้ว สามารถมาจากฝั่ง developer และ QA ได้เช่นกัน โดยฝั่ง developer จะเป็นพวก technical work เพื่อเอาไป optimise ให้ product ของเราดีขึ้น และ QA เปิด ticket bug ให้เราแก้ อันเป็นหนึ่งในหน้าที่ของเขา . ระบบการทำงาน ทำงานแบบ Agile และส่วนใหญ่มาแบบ Scrum กัน มีพิธีการต่าง ๆ อย่าง sprint grooming, sprint planning, daily sync-up, sprint review, retrospective cycle ในการทำงานเราจะแบ่งเป็น sprint ซึ่งส่วนใหญ่ sprint ละ 2 weeks กัน . เมื่อเราทำ value นั้น ๆ ในแต่ละรอบเสร็จ ก็จะส่งบิ้วแอพ หลังจากนั้นหน้าที่ developer ก็อาจจะแก้ crashlytics ต่าง ๆ ที่เกิดขึ้น ส่วนหน้าที่ในการวัดผลเป็นหน้าที่ของ product manager ซึ่งฝั่ง developer ก็ติด tracking ใด ๆ ไปให้ทางนั้นเรียบร้อยแล้ว ทางนี้ลับลู้แค่เขียนโค้ด 555 . ถ้าเรียนคอร์สนี้จบ แนะนำเรียนคอร์สไหนต่อ? ส่วนตัวมองว่าน่าจะเป็น Software Architecture Design เพราะมีเรื่อง Domain Driven Design ในการใช้ภาษาเดียวกัน เพื่อสื่อสารกับมนุษย์ทีมอื่น ๆ ให้เข้าใจตรงกันได้ แล้วก็ Agile Essentials เนอะ #siamstr
minseo's avatar
minseo 1 year ago
ตามหา “ฟอนต์ไทย” ใช้ในเว็บ หาเอาในนี้ เอา CDN ไปใช้ได้เลย แถมมี “ฟอนต์ไทย” มากกว่า Google Font ด้วยล่ะ image ตอนนี้เราทำ website portfolio ใหม่ของเราอยู่ แล้วอยากหาฟอนต์ไทยที่เข้ากับตีมเว็บ แล้ว Google Fonts ไม่มี เลยไปเจอเว็บ Thai Web Font ที่มีฟอนต์ไทยทั้งหมด 50 ฟอนต์ด้วยกัน (บน Google Fonts ถ้า filter ภาษาไทยมีทั้งหมด 32 ฟอนต์) . ก่อนอื่นเลือกฟอนต์กันก่อน การใช้งานก็ง่าย ๆ แปะตัว <link> ในส่วน <head> บน HTML แล้วก็เอาไปใช้ต่อบน CSS ได้เลย หรือจะ import url เข้ามาใน CSS หรือ ใช้ @import มาก็ได้ แล้วก่อนเอามาใช้อ่านสัญญาอนุญาตก็ดีนะ . อยากใช้เข้าไปที่นี่เลย 👉
minseo's avatar
minseo 1 year ago
Happy New Year 2025 น้าชาว #siamstr ก็ขอให้ทุกคนงานปัง รํ่ารวย สุขภาพแข็งแรง ไม่ปวดหลังค้าบ image
minseo's avatar
minseo 1 year ago
บล็อกสรุปประจำปีนี้มาแล้ว หนึ่งวันพันเรื่องราว เขียนยาวมากหวังว่าทุกคนจะอ่านจบน้า บางอย่างไม่ได้โพสในเพจ เลยมาลงในบล็อกนี้ซะเลย #siamstr
minseo's avatar
minseo 1 year ago
Merry Christmas ⛄🎁🎄 ชาว #siamstr image
minseo's avatar
minseo 1 year ago
มาแล้วกับรวมทุก session ของงาน Android Bangkok Conference 2024 ที่ดองมานาน 1 เดือนนิด ๆ ที่พยายามแปะทุกอย่างอย่างเต็มเปี่ยม ว่าทุก session นั้น speaker พูดเรื่องอะไรกันบ้างนะ แต่ละ session มีอะไรบ้าง มาอ่านกันนนนนน #siamstr
minseo's avatar
minseo 1 year ago
แอพที่ส่ง Play Store เข้ารหัสแบบใด? สรุป “Why App Signing Matters for Your Android Apps” จากงาน Android Bangkok Conference 2024 image การบิ้วแอพส่งขึ้น store เป็น process ที่สำคัญ ในการ deliver feature ให้ user ซึ่งไฟล์ aab ของเราสร้างจาก Android Studio เราอัพขึ้น Google Play จะ convert aab ของเราเป็น apk ที่เหมาะสมของ device นั้น ๆ เพราะแต่ละเครื่องมี spec ต่างกัน ก่อนแอพจะอยู่ที่ device จริง และมีอะไรบางอย่างที่เราไม่เคยรู้มาก่อน Benefit จากการทำ signing - Integrity: confirm package ว่ามาจากเราจริง ๆ นะ - Security: ป้องกันคนเอาไฟล์แอพของเราไปแอบอ้างเป็นเจ้าของ sign ทับ เพราะ signature file พังแล้ว ปกติเราจะบิ้วแอพผ่าน Android Studio หรือบางที่ก็จะมี CI/CD ทั้งสองแบบผ่าน signing key ออกมาเป็นแอพที่เป็น apk หรือ aab . 🟢 APK Signature Scheme script การยืนยันตัวตน และ code ข้างในยังเป็นเหมือนเดิม แบ่งจากการทำ signing - v1 Scheme: มาจาก Java รองรับ code Java เท่านั้น และถ้าเปลี่ยน resource แต่ตัว signature ยังเหมือนเดิม → version 1 - v2+ Scheme: ครอบคลุมทุกไฟล์ เป็นการแทรก APK Signing block เข้าไป → version 2, 3, 3.1, 4 Signature Algorithm: มีหลายอันมาก ๆ หลัก ๆ เป็นพวก RSA, EC และ DSA ⭐ APK Signature Scheme v1: Android ทุก version support อันนี้เสมอ แต่ไม่แนะนำให้ใช้ เนื่องจากเรื่องความปลอดภัย และ performance ⭐ APK Signature Scheme v2: support Android 7.0 ขึ้นไป ถ้า Android version ตํ่ากว่านี้เป็น APK Signature Scheme v1 ข้อดีเลย คือ แอพติดตั้งไวขึ้น, verify integrity, apk file เล็กลง ⭐ APK Signature Scheme v3: suport Android 9 ขึ้นไป อยู่บนพื้นฐาน APK Signature Scheme v2 มี feature เพิ่ม คือ key rotation เป็นการ rotate keystore ถ้าสมมุติแอพเราตั้งมาแล้ว 10 ปี แล้ว key มัน expire ล่ะ ทำให้แอพของเราติดตั้งลง Android device ไม่ได้เลย ดังนั้นจะต้อง upgrade key ตัวใหม่เอาไปได้ และมี algorithm ที่แข็งแรงมากขึ้น ใช้ของใหม่ทับของเก่าได้เลย อีกทั้งมีหลักการ proof-of ใด ๆ ที่ชาว web3 จะได้ยิน proof-of-work เอย proof-of-stack เอย อันนี้เป็น proof-of-rotation รู้จัก key ก่อนหน้า ถึงจะเชื่อมของใหม่ได้ ⭐ APK Signature Scheme v4: รองรับ Android 11 ขึ้นไป ทำให้ sign app ได้เร็วขึ้น load บางส่วน และ verify บางส่วนก่อนได้ อีกทั้งใช้ markle hash tree ในการทำ verify ได้เร็วขึ้น ทำให้ทำงานเร็วขึ้นอีกด้วย และมีไฟล์ .idsig แยกมาด้วย ⭐ APK Signature Scheme v3.1: รองรับ Android 13 ขึ้นไป สงสัยล่ะสิทำไมไม่ version 5 อะไรงี้ เพราะว่าแก้บัค version 3 แล้วก็ backward version 3 ให้ทำงานกับ version 4 ได้ด้วย . ถ้าเราอยากใช้ทำยังไง? สามารถไปเปิดที่ gradle ได้นะ ใส่ enableV3Signing กับ enableV4Signing โดยตอนที่ pentest ใช้ version 3 ผ่าน . 🟢 Play App Signing ใช้ key sign เป็น apk ให้ สามารถใช้ key เดิมได้ แต่แนะนำให้ generate upload key ซึ่งใช้ได้ตลอดเมื่อ build app ส่งเฉพาะ Google Play การทำงาน signing บิ้วแอพผ่าน upload key แล้วส่งแอพขึ้น Play Store และ sign ไปหา user PEPK tool (Play Encrypt Private Key tool): เป็น tool ที่เอาไว้ gen private key ส่งให้ Google Play เก็บไว้ในที่ปลอดภัย ซึ่งเราสามารถ upgrade key เอง หรือผ่าน Play Store ก็ได้ algorithm ทื่ใช้: pentest บอกว่าไม่ strong พอ ควรใช้ RSASSA-PSS with 4096 bits ขึ้นไป แล้ว algorithm ที่มีอยู่ล่ะ - Play App Signing: RSA key with 4096 bits (RSASSA_PKCS1V15) - Android Studio: RSA key with 1024 bits (RSASSA_PKCS1V15) . 🟢 Key upgrades on Google Play - Android version 13 ขึ้นไป: support 3.1, upgrade มาใช้ key ใหม่ - Android version 7 - 12: ใช้ key เก่า ให้ Google Play ดูให้ - Android version ตํ่ากว่า 7: เป็น v1 ไม่แนะนำในด้านความปลอดภัย Source Stamp Signer มาจาก Google Play ดูว่าแอพเราถูก download จากไหน Post-key rotation เพิ่ม SHA-1, SHA-256 ห้ามลบ key เก่าเดี๋ยวแตก อยาก gen ทำยังไง? JetBrains java runtime ได้ keystore ที่แข็งแรงมากขึ้น . 🟢 APK Signature analysis - apksigner เป็น tool ที่เอา apk มาแกะ แบบไม่ reverse engineer เรียก command line เพื่อ signing เอามา verify signature ได้ - apksigtool: เป็น 3rd-party บอก signing algorithm เน้น algorithm ที่ใช้ เอาไป check ได้ . 🟢 สรุป - Google Play support key rotation ได้ / access data ด้วย signing key เดียวกัน ทำให้ส่งข้อมูลโดยไม่ผ่าน intent ได้ - ใช้ robust signature algorithm กับ key ของเรา - ให้เก็บ signing key และ upload key แยกกัน - เปิดใช้งาน v3 และ v4 scheme - update minSDK เพื่อปิดการใช้งาน v1 scheme ก็คือแอพขั้นตํ่าต้อง Android 7 ขึ้นไปล่ะ - ทำ spp signing เพื่อป้องกันคนแก้โค้ดและแอบอ้าง แต่ไม่กัน reverse engineer นะ ยังสามารถ sign ของใหม่ทับอยู่ #siamstr
minseo's avatar
minseo 1 year ago
เริ่มต้นทำ discord bot ยังไงดี? image อ่าน hand-on จาก session "Discord Bot from my Experience: Learn by Doing" ของเราที่งาน "National Coding Day 2024: workshop day" ได้เลย แปะทั้งตัวสไลด์ และ Github repo แล้วเรียบร้อย #siamstr
minseo's avatar
minseo 1 year ago
เพื่อน ๆ เคยสงสัยไหมว่า ตำแหน่งงานพวกนี้ 👉 Project Manager 👉 Product Manager 👉 Product Owner ต่างกันยังไง? image พอดีเราเริ่มเรียนคอร์ส Intro to Product Management ของทาง Skooldio ซึ่งเราเรียนคอร์สนี้จบแล้วแหละ ก่อนหน้านี้ก็งงจริงว่าต่างกันยังไง พอเรียน unit แรกจบรู้เรื่องเลย และคิดว่าเพื่อน ๆ คงสงสัยเหมือนกัน ก็เลยมาเล่าให้เพื่อน ๆ กัน . ก่อนอื่นเลย มาดูคู่นี้กันก่อน Project Manager vs Product Manager ย่อว่า PM เหมือนกัน ลงท้ายด้วย Manager เหมือนกัน แล้ว Project กับ Product ต่างกันยังไง? - project: เป็นสิ่งที่บอกชัดเจนเลยว่าเราจะทำโปรเจกต์อะไร และมี timeline ที่ชัดเจน เน้น output ชัดเจนว่าเราอยากได้อะไร เช่น ปรับปรุงฟุตบาท - product: ถูกสร้างขึ้นมาเพื่อแก้ปัญหาเพื่อใครสักคน ซึ่งเน้นความต่อเนื่องในการพัฒนา ให้ตอบโจทย์กับความต้องการของ user ให้มากที่สุด เน้น outcome แก้ pain อะไรให้กับ user หรือลูกค้า โดยปกติเราใช้ digital product ในทุกวันอยู่แล้ว อย่าง social media ที่เราใช้งี้ และ Project Manager กับ Product Manager มี focus ที่ต่างกัน - Project Manager เน้นเรื่อง scope, timeline, budget, resource, risk - Product Manager เน้นเรื่อง research, strategy & roadmap, coordinating, delivery, enhancement . คู่ต่อมา Product Manager vs Product Owner หรือ PM และ PO ต่างกันยังไง - Product Manager ทำหน้าที่ research, ทำ analytics, คิด solution ให้ developer ทำงาน - Product Owner เป็น subset ของ Product Manager หน้าที่คือดู backlog ดู requirement ที่จะทำ จัด priorities ทำอะไรก่อนหลัง . สุดท้ายใด ๆ ขึ้นอยู่กับ Job Description และ scope งานของแต่ละองค์กรนะ #siamstr