รูปแบบที่เปลี่ยนแปลงของชั่วโมงแสงอาทิตย์ส่งผลต่อจังหวะประจำวันและอารมณ์ของเรา โดยเฉพาะสำหรับผู้ที่อาศัยอยู่ในละติจูดทางเหนือ เครื่องมือคำสั่งใหม่ที่เรียกว่า daylight ได้ปรากฏขึ้นเพื่อช่วยให้ผู้ใช้ติดตามเวลาพระอาทิตย์ขึ้น พระอาทิตย์ตก และระยะเวลาของแสงอาทิตย์จากเทอร์มินัลของพวกเขา ซึ่งก่อให้เกิดการสนทนาที่น่าสนใจเกี่ยวกับการใช้งานและทางเลือกอื่นๆ
การคำนวณในเครื่องหลังจากการตรวจจับตำแหน่งจาก IP
เครื่องมือ daylight รวมการทำงานแบบออนไลน์และออฟไลน์เข้าด้วยกันในรูปแบบที่น่าสนใจ ในขณะที่ผู้ใช้หลายคนสงสัยเกี่ยวกับแหล่งที่มาของข้อมูลในตอนแรก นักพัฒนาได้อธิบายว่าแอปพลิเคชันนี้ใช้บริการออนไลน์ (ipinfo.io) เพียงเพื่อระบุตำแหน่งของผู้ใช้ตาม IP แอดเดรสเท่านั้น เมื่อได้พิกัดละติจูดและลองจิจูดแล้ว การคำนวณเวลาพระอาทิตย์ขึ้นและพระอาทิตย์ตกทั้งหมดจะดำเนินการในเครื่องโดยใช้อัลกอริทึมทางเรขาคณิต
It gets your latitude/longitude from an IP lookup service, then does a geometric calculation locally
วิธีการคำนวณอาศัยไลบรารี go-sunrise ซึ่งใช้สมการการขึ้นของดวงอาทิตย์จาก Wikipedia สำหรับการคำนวณทางดาราศาสตร์ วิธีการนี้ช่วยให้มั่นใจได้ว่าผลลัพธ์มีความแม่นยำโดยไม่จำเป็นต้องเชื่อมต่ออินเทอร์เน็ตอย่างต่อเนื่องสำหรับทุกการคำนวณ
ตัวเลือกการกำหนดค่าตำแหน่งด้วยตนเอง
สำหรับผู้ใช้ที่กังวลเกี่ยวกับความเป็นส่วนตัวหรือผู้ที่ใช้ VPN ซึ่งอาจรายงานตำแหน่งที่ไม่ถูกต้อง เครื่องมือนี้มีตัวเลือกคำสั่งเพื่อระบุพิกัดและเขตเวลาด้วยตนเอง ความยืดหยุ่นนี้ได้รับการตอบรับเป็นอย่างดีจากชุมชน โดยผู้ใช้ชื่นชมความสามารถในการแทนที่การตรวจจับอัตโนมัติด้วยคำสั่งเช่น --loc=12.34,56.78
และ --timezone=America/New_York
การพิจารณาของนักพัฒนาสำหรับกรณีการใช้งานเหล่านี้แสดงให้เห็นถึงความเข้าใจในความต้องการที่หลากหลายของผู้ใช้เครื่องมือคำสั่ง ซึ่งมักให้ความสำคัญกับการควบคุมและการปรับแต่ง
ตัวอย่างการใช้งาน
ข้อมูลวันนี้สำหรับตำแหน่ง IP ของคุณ
daylight
กำหนดตำแหน่งและเขตเวลาแทนที่ IP
daylight --loc="-33.92,18.42" --timezone="Africa/Johannesburg"
สรุปข้อมูลแบบสั้น
daylight --short
ข้อมูลสำหรับวันที่อื่น
daylight --date="2025-12-31"
ปิดการแสดงผลสี
NO_COLOR=true daylight
วิธีการติดตั้ง
- Homebrew (MacOS และ Linux):
brew tap jbreckmckye/formulae brew install daylight
- การติดตั้งด้วยตนเอง: ดาวน์โหลดไฟล์ที่ใช้งานได้จากหน้า releases
- Windows: มีไฟล์ไบนารีให้ใช้งานแต่ทดสอบน้อยกว่า
วิธีการทางเลือกและการบูรณาการกับระบบนิเวศ
การสนทนาในชุมชนเผยให้เห็นวิธีการทางเลือกหลายวิธีในการเข้าถึงข้อมูลเดียวกัน ผู้ใช้คนหนึ่งชี้ให้เห็นว่าผู้ใช้ Emacs สามารถรับฟังก์ชันที่คล้ายกันได้โดยการตั้งค่าพิกัดของพวกเขาและใช้คำสั่ง M-x sunrise-sunset
ที่มีอยู่แล้ว สิ่งนี้ก่อให้เกิดการหยอกล้อเล็กน้อยเกี่ยวกับความสามารถในการขยายของโปรแกรมแก้ไขข้อความ โดยมีการอ้างอิงถึงการ์ตูน XKCD คลาสสิกเกี่ยวกับโปรแกรมแก้ไขข้อความ
การแลกเปลี่ยนเหล่านี้เน้นย้ำว่าเครื่องมือคำสั่งมักอยู่ภายในระบบนิเวศที่อุดมไปด้วยทางเลือก โดยผู้ใช้มักจะหันไปหาโซลูชันที่ผสมผสานกับขั้นตอนการทำงานที่มีอยู่ของพวกเขา
การใช้งานทางเทคนิคและประสบการณ์การเรียนรู้
นักพัฒนาสร้าง daylight เป็นโครงการเรียนรู้สำหรับการเขียนโปรแกรม Go ซึ่งสอดคล้องกับหลายคนในชุมชนที่ชื่นชมเครื่องมือโอเพนซอร์สที่สร้างขึ้นเป็นแบบฝึกหัดการเรียนรู้ โค้ดเบสใช้ไลบรารี lipgloss terminal UI เพื่อสร้างอินเทอร์เฟซที่สวยงามด้วยการปรับสีตามพื้นหลังของเทอร์มินัล
ผู้ใช้บางคนสังเกตเห็นความแปลกของการจัดรูปแบบ เช่น เครื่องมือแสดงเวลาแบบ 24 ชั่วโมงแต่ยังคงเพิ่ม AM/PM เมื่อใช้ธงเขตเวลาบางอย่าง ข้อสังเกตเหล่านี้ชี้ให้เห็นถึงลักษณะการพัฒนาเครื่องมือคำสั่งที่เป็นขั้นตอน ซึ่งข้อเสนอแนะจากชุมชนมักจะผลักดันให้เกิดการปรับปรุง
เครื่องมือ daylight ทำหน้าที่เป็นทั้งยูทิลิตี้ที่ใช้งานได้จริงสำหรับผู้ที่รักแสงอาทิตย์และหวาดกลัวช่วงเย็นที่มืดและยาวนานในฤดูหนาวเช่นเดียวกับผู้สร้าง และเป็นตัวอย่างของวิธีที่โครงการเรียนรู้สามารถสร้างแอปพลิเคชันที่มีประโยชน์อย่างแท้จริง การผสมผสานระหว่างการตรวจจับตำแหน่งออนไลน์และการคำนวณออฟไลน์สร้างความสมดุลระหว่างความสะดวกและความเป็นส่วนตัวที่ผู้ใช้คำสั่งหลายคนชื่นชม
อ้างอิง: daylight: a command-line program for tracking sunrise and sunset times