[AZ-204] Develop solutions that use Azure Cosmos DB

azure

Explore Azure Cosmos DB Azure Cosmos DB is designed to provide low latency, elastic scalability of throughput, well-defined semantics for data consistency, and high availability. multi-master replication protocol, every region 1 subscription มีได้มากสุด 50 Azure Cosmos accounts Key benefits of global distribution Unlimited elastic write and read scalability. 99.999% read and write availability all around the world. Guaranteed reads and writes served in less than 10 milliseconds at the 99th percentile. Explore the resource hierarchy Database Accounts Database Container Logical Partitions Item supported APIs Core(SQL) API – เหมือน SQL ปกติเลย Return เป็น JSON ถ้าย้ายมาจาก RDBMS ให้ใช้ API นี้ API for…

สรุป Microsoft Tech Week 2022 For developers, architects, and creators (04-APR-2022)

งานวันนี้เป็นงานที่จัดแบบ Onsite ที่ True Digital Park (Punnawithi BTS station) ห่างจากบ้านพอสมควรเลยต้องมีการเตรียมตัวครับ ออกจากบ้าน 06:30 นั่งรถเมล์ 511 ยิงยาว โดนถึงประมาณ 08:23 ราคา 25 บาทถ้วน ตอนแรกจะงงหน่อย ไป true digital park มาผิดทาง แต่ตอนลงทะเบียนสะดวกมากครับ ยื่น QR Code ของที่ได้จาก Microsoft Registration + ภาพของผลตรวจ ATK ก่อนเข้าไปงานครับ สรุปหัวข้อที่ได้ไปร่วมฟังมี ดังนี้ครับ “Future of Developer” Will coding still be relevant in 2025? Any Platform. Your languages. Your tools. Code ด้วยอะไรก็ได้ บน Microsoft Platform How to build a high scalability web “vaccine booking for Thais” with in 10 days Empowering Developers in Thailand Supercharge Your App Development with Visual Studio and GitHub Collaborative Apps for the Hybrid Workplace Microsoft Cloud Squad Meetup เสวนา Mixed…

[AZ-204] Implement API Management

azure

Discover the API Management service – Azure API Management Azure API Management เป็น APIs Gateway ที่สามารถเอา API ต่างๆมาผูกได้ และสามารถจัดการ caching, security, protection, คลุม Policy หรือเอาไปหา Insight เพิ่มได้เป็นต้นซึ่งตัว ประกอบไปด้วย 3 ส่วน API gateway Azure portal จัดการ API Gateway Developer portal – API Doc / interactive console / ขอ API Key Products Open Protected – subscribed ก่อนใช้ และ Approve โดย Admin Groups Administrators Developers Guests – Unauthenticated / สามารถกำหนดได้แค่ view APIs but not call them Policies – กำหนดจาก Azure portal to change the behavior of the API โดยกำหนดกฏด้วย XML – Explore API gateways ถ้าไม่มี API Gateway เกิด Coupling ระหว่าง Client กับ Service…

[.NET] Blank WinForms and Error The designer cannot be shown because the document for it was never loaded

Visual Studio

อาการ เมื่อ Double Click ไฟล์ UI ใดๆ ไม่มีอะไรเกิดขึ้นได้หน้าจอว่างๆ และถ้าพยายามไป View Code ของ UI ขึ้น Error ดังรูป การแก้ไข ปิด Code ของเรา และ Visual Studio ก่อนครับ ลบ Folder .vs ออกไป (ปกติ Folder .vs มันซ่อนอยู่ ต้องไปกำหนดใด้มันแสดงด้วย) ทดสอบเปิด Code ใหม่อีกครั้งครับ

[CR] Samsung TAB S7 15 เดือนผ่านไป

ผมซื้อ TAB S7 มาตอนปลายปี 2020 โดยหลัก เน้นลดภาษี + ใช้ทำงาน เพราะตัว TAB A 2015 จดจนพรุนแล้วครับ 555 เดือนที่แล้วมีเปิดตัว Tab S8 มาด้วย Blog นี้เลยมาสรุปว่าใช้มา 15 เดือนแล้ว เจอปัญหาอะไรบ้างไหมครับ มุมการทำงาน S-Pen ตอนเขียนจะเจอปัญหาว่า ถ้าเขียนติดขอบๆ มันจะเขียนไม่ติด แต่อันนยอมรับได้ครับ Air Action ปกติใช้ Cap รูป และเขียน Note แก้งานตอน Review เอกสารมากกว่า ส่วน Feature กดปุ่มถ่ายรูป หรือ นำเสนอ Slide Show ใช้น้อยมาก หรือแทบไม่ได้่ใช้เลย เคยใช้ตอนนำเสนองานรอบเดียวเองครับ ตอนนั้นไม่ได้พก Notebook ไป และลูกค้าอยู่แถวนั้นพอดี จด Note Samsung Note จดสะดวก ใช้ได้ดีเลย ชอบ Feature อัดเสียง แล้วจดไป แต่มันกินพื้นที่เครื่องเยอะอยู่ กับจดแบบปกติ มันแปลงเป็นตัวพิมพ์ได้ด้วยนะ อ๋อ มัน Sync Cloud ได้ด้วยนะ แต่มีพื้นที่จำกัดอยู่ 15 GB (อ้างอิง : Does Samsung Cloud provide free storage?) ผมล่อไปใช้ไป 5 GB และ 555 แต่ที่ Sync Feed กับ OneNote แย่มาก เอกสาร 50 หน้า มันไปโผล่ใน Feed ของ…

[AZ-204] Develop solutions that use Blob storage

azure

Explore Azure Blob storage Types of storage accounts Standard ใช้ Azure Storage ได้หมด Premium แยกย่อยตาม Blob / Page / Files Access tiers for block blob data Hot – default ตอนสร้าง / เร็ว แพง Cool – เก็บ data 30 วัน มีอาจจะเข้าถึงน้อย ค่าเก็บถูกว่า Hot แต่ค่า Access แพงกว่า hot Archive – เก็บ data 180 วัน แต่ค่า Access แพงที่สุด ถ้าจะใช้งานต้อง Rehydrates Discover Azure Blob storage resource types Storage accounts – เป็นที่เก็บ Containers Containers – เหมือน directory/drive ต้องเป็น lowercasename เป็นที่เก็บ blob Blobs Block blobs – store text and binary data, up to about 4.7 TB Append blobs – สำหรับงาน Stream เช่น Logging Page blobs -…

[AZ-204] Durable Functions

azure

– Durable Function ? Durable Function คือ การทำให้ Azure Function เป็น Stateful (ปกติแล้ว Azure Function จะเป็น Stateless) Durable Function การออกแบบ Flow ต้องเป็นแบบ deterministic (ไม่ว่าจะ Execute กี่รอบ ต้องได้ผลลัพธ์เหมือนกันทุกรอบ) – ตัวอย่างการนำไปใช้ Async HTTP APIs – สำหรับ Task ที่ใช้ระยะเวลานานในการประมวลผล ( long-running operations) อันนี้คล้ายๆกับ Flow ที่ผมออกแบบไว้ใน Java เลย เดี๋ยวว่างๆจะมาเขียน Blog แยกอีกตอนครับ Function chaining – ทำงานเป็น pipeline ตามลำดับ Fan-Out/ Fan-In – แต่งานให้ทำพร้อมกันได้ ถ้า C# จะเป็นพวก Parallel.ForEach Monitoring – ตรวจสอบ Task โดยเอามีส่ง Trigger เมื่อตรงตามเงื่อนไขที่กำหนดไว้ (polling a resource until a specific condition is met?) Human Interaction – สำหรับ Activity ที่ต้องการการตอบสนอง จากมนุษย์ เพื่อให้ Flow เดินต่อได้ครับ สำหรับ Pattern นี้มาคู่กับ Time Out เพื่อไม่ให้มีงานค้างในระบบ (ถ้ามันค้างเราเสียเงินแย่) Aggregator – เอาข้อมูลจากหลายแหล่งมาประมวลผลใน Azure Function และจัดเก็บลง Storage…

[AZ-204] Implement Azure Functions

azure

Explore Azure Functions Discover Azure Functions + Storage Account (มันบังคับสร้าง) Azure Functions Logic Apps WebJobs hosting options Plan Consumption plan (default) – ใช้ตามจริง Functions Premium plan – Consumption + Automatically scales App service plan –  Best for long-running scenarios ต้องไปเปิด Always on ด้วยนะ / best when predictive scaling แต่ทำ Durable Functions ไม่ได้ Hosting option App Service Environment (ASE) securely running App Service Kubernetes with KEDA Scale Azure Functions scale controller to monitor the rate of events แล้ว scale out / scale in Scaling behaviors ต้องดู Maximum instances 1 Function ได้ 200 Instance ถ้าจะเอาค่าอื่นแก้ functionAppScaleLimit New instance rate (ตาม Requests) Knowledge…

[C#] Named Pipe เชื่อม VB6 กับ .NET

จาก Blog ตอนที่แล้วที่ผมได้อธิบาย Named Pipe ไปว่า ได้ลองนำเทคนิคนี้มาใช้เพื่อแก้ปัญหาของ Legacy System ใน Blog นี้เป็นการขยายความเพิ่มเติม ทำไมใช้ Named Pipe เป็นเทคโนโลยีที่รองรับทั้ง VB6 และ .NET ไม่อยากไปพัฒนาโมดูลใหม่ๆบน VB6 แล้ว เพราะติดปัญหา Maintain ยาก ทำ Unit Test ไม่ได้ด้วย ไปกับเทคโนโลยีใหม่ๆยาก ไม่รองรับมาตรฐานความปลอดภัยใหม่ๆ VB6 ส่งไป .NET ติดปัญหาอะไรไหม ? ปัญหาภาษาไทย ตัว VB6 มันไม่รู้จัก UTF-8 แบบสมบูรณ์ ต้องส่งแบบ ASCII VB6 Request ส่งแบบ ASCII ไม่งั้นจะติดปัญหาภาษาไทย .NET Receive ส่วนฝั่ง .NET ต้นทางส่งเป็น ASCII ปลายทางต้องอ่านแบบเดียวกันครับ .NET Request กับไปหา VB6 แปลงเป็น ASCII VB6 Receive อ่านในรูปแบบ ASCII VB6 Client สำหรับตัว VB6 ใข้ WIN32_API : CallNamedPipeA function (winbase.h) – Win32 apps โดยการใช้งานต้องมีการประกาศใช้ CallNamedPipeA โดย API นี้ Return ค่าออการ ถ้าเท่ากับ 0 แสดงว่า Request มีปัญหาครับ นอกจากนั้นส่งได้สำเร็จครับ ประกาศชื่อ Pipe ชื่อนี้ต้องตรงทั้ง Client และ Server ครับ โดยกำหนดเป็นชื่อเป็น invest-pipe…

สรุปงาน Global AI Bootcamp – Thailand 2022

สรุประหว่างที่ผมทำงานไป และฟัง FB Live ครับ (แอบอู้ 555) โดย Keyword งานนี้เหมือนจะไปทาง Citizen Data Scientist 09:45 Becoming a Citizen Data Scientist on Azure ML/AI Ecosystem Role ML Engineer – คนที่ Expert เฉพาะด้านมากๆ Data Scientist Citizen Data Scientist (Non-Pro Data Scientist) – คนอาจจะไม่เก่ง Technical และรู้จัก Business ดีพอสมควร ความสัมพันธ์ของแต่ละ Role สำหรับ Session นี้ เน้นไปทาง Citizen Data Scientist เราทำอย่างไร ให้ใช้งานได้สะดวกหละ ต้องใช้อะไรที่ง่าย และที่มี Pre-defined มาระดับนึง เพื่อลดเวลา และ Effort ที่ใช้ โดย Trend ตอนนี้ Service บน Cloud ซึ่งลดเวลาในการทำความเข้าใจ + train โดย Azure มีตัว Azure AI Platform มาช่วย ในมุมของ Citizen Data Scientist นอกจาก Azure (Auto ML / ML Designer) มีพวก Data Platform ต่างๆ อย่างกลุ่ม Power BI / Power platform…