เอา 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 เราสะอาดขึ้น และดูแลได้ง่ายขึ้น

อ่านต่อ »

Deploy .NET Core 2.0 Web App

จะ Deploy RESTful API web app ที่เขียนด้วย .NET Core บน OSX ลงบน Server ที่เป็น CentOS 7.0 ด้วยวิธี Manual คิดไว้แบบนี้

  • build ด้วย release profile ก่อน
  • pack ทุกอย่างเข้าด้วยกัน
  • transfer ไปที่ server
  • deploy
  • start service

อ่านต่อ »

Mock ใน dotnet core ด้วย Moq

ตอนทำ Unit Test โดยปกติก็จะตัด Dependency ออก เพื่อที่จะควบคุมพฤติกรรมของ Dependency ให้ได้ โดยการใช้ Test Double

ใน dotnet core มี Mock Framework ตัวนึงที่มีคนพูดถึงเยอะ ๆ ชื่อว่า Moq

อ่านต่อ »

Dependency Injection ใน .NET Core

ของเดิม แบบที่เป็น Tight Coupled Dependencies แบบนี้

namespace RestServer.Controllers
{
    [Route("api/[controller]")]
    public class CustomersController : Controller
    {
        private CustomersService svc;

        public CustomersController() {
            this.svc = new CustomersService();
        }
    }
}

เวลา Test มันยาก ตอนจะ mock ตัว CustomersService ให้เปลี่ยนมาใช้ Dependency Injection แทน

อ่านต่อ »

Headless Robot Framework

แต่ก่อนตอนรัน robot framework ทดสอบเว็บทีไร หน้าจอ browser ก็จะเปิดกันพรึ่บพรั่บ จนไปได้เทคนิคจากดิวมา 2 ท่าคือ โยนไปรันใน docker hub กับ รันใน xvfb (X virtual framebuffer) ไม่งั้นก็ต้องหนีไปใช้ phantomjs ที่เป็น headless browser โดยกำเนิด แต่ปัญหาคือ target user ไม่ได้ใช้ phantomjs เลยต้องกลับไป focus ที่ browser หลัก ๆ อย่าง chrome หรือ firefox

จนมาหลัง ๆ ก็เห็นว่า chrome ตั้งแต่ version 59 มีความสามารถ headless ออกมาให้ใช้ ก็ไปได้สูตรในการเรียกใช้ chrome แบบ headless มา เอาไปลอง run บน server แล้ว โอเคเลยทีเดียว

อ่านต่อ »

จะพยายามแปลไปทำไม

ได้ไปช่วยติวฮูกในวิชาคณิตศาสตร์สำหรับเทคโนโลยีสารสนเทศและการสื่อสาร เนื้อหาจริง ๆ ไม่ได้ยากอะไร แต่ระหว่างอธิบายไปก็ต้องสะดุดไปตลอด เพราะว่าในเนื้อหา มีคำศัพท์ภาษาไทยแปลก ๆ หลายคำที่ไม่คุ้นตา เพราะสมัยตอนเรียนเนื้อหาประเภทนี้ไม่เคยเรียนคำพวกนี้เป็นคำศัพท์ภาษาไทยเลย

อ่านต่อ »