สวัสดีครับ ในบทความนี้เราจะมาเรียนรู้เรื่อง Conditional types ใน TypeScript ว่าคืออะไร นำไปใช้ประโยชน์ได้อย่างไร
Conditional Types จะช่วยให้เราสามารถกําหนดความสัมพันธ์ระหว่าง input type และ output type
เรามาดูตัวอย่าง Conditional Types ง่ายๆดังนี้ครับ
interface Animal {
live(): void;
}
interface Dog extends Animal {
woof(): void;
}
type Example1 = Dog extends Animal ? number : string; // Example1 จะมี type เป็น number
type Example2 = RegExp extends Animal ? number : string; // Example2 จะมี type เป็น string
จาก Code ด้านบน จะเห็นว่า เราสามารถใส่ Condition เพื่อเลือกระหว่าง type string และ number ได้
เพื่อความเข้าใจมากขึ้น เรามาดูอีกตัวอย่างกันครับ
interface IdLabel {
id: number /* some fields */;
}
interface NameLabel {
name: string /* other fields */;
}
type NameOrId<T extends number | string> = T extends number ? IdLabel : NameLabel;
// ---cut---
function createLabel<T extends number | string>(idOrName: T): NameOrId<T> {
throw 'unimplemented';
}
let a = createLabel('typescript'); // a จะมี type เป็น NameLabel
let b = createLabel(2.8); // a จะมี type เป็น IdLabel
let c = createLabel(Math.random() ? 'hello' : 42); // a จะมี type เป็น NameLabel | IdLabel
จาก Code ด้านบน จะเห็นว่า Return type จาก Function “createLabel” จะขึ้นอยู่กับ Input Parameter ที่รับเข้ามา
บางครั้งเราอาจจะจําเป็นต้องกําหนด Condition เพิ่มเติมเข้าไปใน Generic type
ตัวอย่างเช่น ถ้าเราต้องการ Type อะไรก็ได้ที่อย่างน้อยต้องมี property “message” เราสามารถเขียน Code ได้ตามนี้
type MessageOf<T extends { message: unknown }> = T['message'];
interface Email {
message: string;
}
type EmailMessageContents = MessageOf<Email>; สําหรับบทความนี้เป็นบทความสั้นๆนะครับ เป็นเรื่องเกี่ยวกับการ config เพื่อกําหนดการ login ssh ของ user root โดยเราจะแก้ไข file config นี้ "/etc/ssh/sshd_config" ผมจะแบ่งการ config เป็นสองหัวข้อคือ
สวัสดีครับ วันนี้ผมจะพาทุกท่านย้อนอดีตไปยังสมัยที่ CD ยังฮิตๆ กัน การดูหนัง ฟังเพลง เล่นเพลง mp3 โปรแกรมต่างๆ ก็จะถูกเก็บใน CD ทั้งนั้น แต่ในปัจจุบันไม่ค่อยได้รับความนิยมเท่าไร บางคนอาจจะมี CD-ROM เก่าๆไม่ได้ใช้แล้วไม่รู้จะเอาไปทําอะไร เอามาทําเครื่องเล่น CD เพลงได้ครับ เดี๋ยวผมจะอธิบายวิธีการทําครับ แต่ก่อนอื่นมาดูอุปกรณ์กันก่อนว่ามีอะไรบ้าง
สวัสดีครับ ในบทความนี้เราจะมาทําความรู้จักกับ Podman กัน ซึ่งเป็นทางเลือกใหม่สําหรับผู้ที่ใช้งาน Docker โดยเราจะมาดูกันว่า Podman คืออะไร และมีความแตกต่างจาก Docker อย่างไร