สร้าง Angular Library ไปวางไว้บน npm

เคยคิดว่า ถ้าจะสร้าง component สำหรับ Angular แล้วเอาไปให้คนอื่นได้ใช้ผ่าน npm มันต้องทำยังไง แต่สุดท้ายก็ลืมหาคำตอบ จนมาเกิดคำถามนี้อีกครั้งตอนมา outing ของ odd.Works ที่ตั้มถามว่า ถ้าจะทำ component ไปวางไว้บน npm เนี่ย มันต้องทำยังไง เลยเกิดคำถามว่า เออ มันทำไงวะ เคยได้แต่ถาม ไม่เคยหาคำตอบ งั้น มาลองดิ๊

อ่านต่อ »

Multilingual ใน Angular

ลองหาวิธีทำ multilingual application ใน angular แล้วเจอตัวที่เป็น translation service ที่มีหน้าตาคล้าย ๆ กับที่เคยทำใน AngularJS ต้องใช้พวก translation provider อะไรพวกนี้ หาไปเรื่อย ๆ ก็เจอ @ngx-translate ที่ดูเจ๋ง แต่ตอนเอาไปใช้นี่น่าจะใช้เวลานานเหมือนกัน เลยลองทำเล่นดูเองดีกว่า

อ่านต่อ »

เขียน middleware บน .NET Core 2.0

โดยปกติ เวลาสั่ง dotnet run ตัว web api มันจะแสดงแค่ว่า ตอนนี้กำลัง listen อยู่ที่ port ไหน ถ้ามี request ที่ตรงกับ route เข้ามาก็เงียบ ๆ จะมีบ่น ๆ ก็แค่ตอนเจอ error เลยลองตั้งโจทย์ว่า อยากจะให้ web api request มันคอย log ทุก request ที่เข้ามาบน console เหมือนกับ access log จะทำยังไงดี middleware น่าจะเป็นคำตอบที่น่าสนใจ

อ่านต่อ »

ใช้ LinQ กับ mongodb บน .NET Core 2.0

น้องแอ๋มมาบอกว่า อยากให้ลองใช้ LinQ แล้วจะติดใจ เลยลองเอาตัวอย่างเดิมที่เขียนต่อกับ mongodb มา modify เพิ่ม โดยการก๊อปปี้เอา CustomersService class มาสร้างเป็น CustomersLinQService class แล้วแก้ให้มาใช้ LinQ

อ่านต่อ »

CRUD บน mongodb ด้วย .NET Core 2.0

วิธีทำให้ .NET Core 2.0 ไปเรียกใช้งาน mongodb ทำได้ผ่าน package ที่ชื่อ MongoDB.Driver (NuGet) วิธีลงก็ตรงไปตรงมาผ่านคำสั่ง dotnet add package

dotnet add package MongoDB.Driver

อ่านต่อ »

ใช้ CORS ใน .NET Core 2.0

ปัญหาเวลาทำ frontend กับ backend แยกออกจากกันคือ ถ้าทั้ง 2 ฝั่งอยู่คนละ domain ไม่ว่าจะคนละ subdomain คนละ port หรือ คนละ scheme (เช่น http กับ https) ก็ตาม จะเจอปัญหาเรื่อง cross origin ซึ่งเกิดจากที่ตัวบราวเซอร์เองไม่อนุญาตให้ใช้ ajax เรียกเนื้อหาที่อยู่บน domain อื่น เรียกว่า same-origin policy เพื่อป้องกันการเข้าถึงข้อมูลที่สำคัญข้าม domain กัน

วิธีหนึ่งที่สามารถแก้ได้คือ เอา reverse proxy มาคั่นกลาง แล้วทำให้ backend มาใช้ domain เดียวกันกับ frontend แต่ถ้าไม่สามารถทำแบบนี้ได้ ก็มีอีกวิธีคือการกำหนดที่ backend ให้เปิดรับ request จาก origin ที่ต้องการ เรียกว่า Cross Origin Resource Sharing หรือ CORS

อ่านต่อ »

เอา Nuget Package ไปไว้ที่ Nuget Server ผ่าน .NET Core 2.0 Command Line

Nuget คือ package manager สำหรับ .NET เอาไว้ให้กับคนทำ package สามารถแชร์ package ให้ developer คนอื่นสามารถดาวน์โหลดไปใช้งานได้

Nuget Package ที่สร้างบน .NET Core ผ่านคำสั่ง dotnet pack สามารถเอาไป publish บน Nuget Server ได้ผ่านคำสั่ง dotnet nuget push

อ่านต่อ »

สร้าง .NET Core 2.0 package

เวลาต้องการแยกของที่สามารถใช้ร่วมกันออกจาก code ของ .NET Core ทำได้โดยการแยกมันออกมาเป็น Package เสร็จแล้วค่อย add มันกลับเข้าไปเป็น dependency ของ project แทน วิธีนี้จะทำให้ code เราสะอาดขึ้น และดูแลได้ง่ายขึ้น

อ่านต่อ »