สรุปงาน Bkk.js #15 Back in business

งานนี้น่าจะเป็นงานในส่วนของ Front-End ครั้งแรกที่เข้ามาเลย เพราะว่างานหลักจะเป็น Back-End WebAPI กับ WinForms อยู่ครับ มาฟังแบบไม่รู้ว่ามี Schedule อะไรด้วย มาลองอ่านสรุปของผมกันครับ มี 3 เรื่อง (จริงเค้ามีประกาศแล้วนะ แต่ผมไม่รู้อันนี้ Web Developer Thailand – bkk.js – session) Web3 in Action Thailand Web Developers Survey 2021 WASM is already changed web development world Web3 in Action Web2 centralized มี Server แล้ว Web3 ไปทาง decentralize มันต่างกันอย่างไร Decentralized – ไม่มีใครมากุมอำนาจ ไม่มี Server แหละ (อันนี้เป็นจุดที่ผมงงอยู่นะ Session นี้ อาจจะมาขยายวามก็ได้) Permissionless – ไม่ว่าใครเข้า Network ได้ด้วยสิทธิที่เข้ากัน ทุกคนเข้าถึง / เห็น resource เห็นได้เท่ากันหมด Trustless – ใช้ concept consensus ของ Blockchain NOTE: ถ้าสนใจเพิ่มลองไปอ่านแบบละเอียดได้จาก เช็คความพร้อมแพ็คความรู้เตรียมเข้าสู่โลกแห่ง Web 3.0 กัน Web2 vs Web3 เราเข้าใจมันมี smart contract + Blockchain ซึ่ง Blockchain ประกอบไปด้วยหลาย Node ซึ่งแต่ละ Node ประกอบไปด้วย…

[AZ-204] Develop event-based solutions

azure

Explore Azure Event Grid – Azure Event Grid Azure Event Grid – uses the publish-subscribe model (Not guarantee order for event delivery, so subscribers may receive them out of order.) Event Grid allows you to easily build applications with event-based architectures Concepts in Azure Event Grid Events – What happened. (size 64 KB ) Event sources – Where the event took place. Topics – The endpoint where publishers send events. System topics – Provide by Azure Service Custom topics –  third-party topics Event subscriptions – The endpoint or built-in mechanism to route events, sometimes to more than one handler. Subscriptions are also used by handlers to…

[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 ใหม่อีกครั้งครับ

[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…