GoManga - Manga Downloader

နည်းပညာ Dec 03, 2019


Golang ကို ပထမဆုံးလေ့လာတော့ tutorial စမ်းတာ အခြေခံစာအုပ် ဘာသာပြန်တာကလွဲရင် လေ့ကျင်ခန်းအနေနဲ့  Manga Crawl လုပ်တဲ့ project လေးတစ်ခု github မှာစမ်းရေးဖြစ်ပါတယ်။ အဲဒီအချိန်ကလည်း MangaRock ကိုယ်တိုင်က ရှိမလိုလိုမရှိလိုလို ဗျာများနေတာရယ် ကိုယ်ကလည်း ကိုယ်ဖတ်ချင်တဲ့ manga ကို offline ဖတ်ချင်တာရယ်နဲ့ အကန့်အသတ်ရှိတဲ့ mangarock က အဆင်မပြေလို့ ကိုယ့်ဖာသာ download လုပ်တဲ့ဟာရေးပြီး Comic Reader တစ်ခုခုမှာ ပြန် import လုပ်ပြီးဖတ်မယ်ဆိုပြီးရေးတာပါ။  Go နဲ့ရေးထားတာဆိုတော့ Golang သွင်းထားဖို့တော့လိုပါလိမ့်မယ်။

ကိုယ်ဟာကိုယ် တော့ အဆင်ပြေတယ်လို့ပြောရမယ်။ Golang ရဲ့ အားသာချက်ဖြစ်တဲ့ Goroutine ကိုသုံးပြီး အပြိုင် download လုပ်ခိုင်းတာဆိုတော့ အတော်လေးမြန်တယ်။ ဒါအပြင် Goroutine က Thread တွေလို handle လုပ်ရမခက်တာရယ် သိပ်ပြီး expensive မဖြစ်တော့ ထောင်နဲ့သောင်းနဲ့ချီ run လို့ရတယ်။ အခုလက်ရှိတော့ MangaRock ကဒေါင်းလော့လုပ်တာထက်တောင် မြန်ပါသေးတယ်။ တခုတော့ရှိတာပေါ့ Connection ကောင်းဖို့ရယ် အဲဒီဆိုဒ်တွေက ခွင့်ပြုရယ်ဖို့တော့ လိုတာပေါ့။

ဒေါင်းပြီးသွားရင် folder တွေကို chapter အလိုက်ခွဲပေးထားတာဖြစ်တဲ့အတိုင်း အဲဒီအတိုင်း zip ချုံ့ပြီး extension ကို .cbz လို့ပြောင်းရင် reader ထဲကို import လုပ်လို့ရပါတယ်။ တကယ်တော့ cbz နဲ့ zip နဲ့က အတူတူဖြစ်သလို rar နဲ့ cbr ကလည်း အတူတူပါပဲ။ comic file ဖြစ်ကြောင်းသိသာအောင် extension အမည်ပြောင်းရုံသက်သက်ပါပဲ။

အခု support လုပ်ပေးတဲ့ထဲက site တွေထဲမှာ တချို့ website တွေကတော့ Rate limit လုပ်ထားတာမို့လို့ ဒီအတိုင်း serial download လုပ်တာဖြစ်တော့ သိပ်မမြန်ပါဘူး။ သို့သော်လည်း လက်ရှိ offline ဖတ်ရတာကိုကြိုက်တဲ့သူအနေနဲ့ အဆင်ပြေမှာပါ။ ဒေ ကျွန်တော်က Ipad နဲ့ဖတ်တာမို့လို့  Panel ဆိုတဲ့ iOS application ကိုသုံးပြီးဖတ်နေတယ်။ Windows တို့ဘာတို့ CDisplayEx တို့ ဘာတို့ရှိတယ် သိထားတယ်။ Android ကတော့ မသုံးဖူးတော့ မသိပေမယ့် သေချာပေါက်တော့ရှိမှာပါ။

လက်ရှိ လုပ်စရာကျန်သေးတာကတော့ feature တွေရဲ့ bug တွေတင်ရင်ရှင်းဖို့ရယ် ၊ Batch Download အတွက်ကို ရေးဖို့ရယ်၊ site အသစ်တွေ support လုပ်ဖို့ရယ်တော့ ကျန်ပါသေးတယ်။ Install လုပ်ကြည့်ပြီး အဆင်ပြေမပြေပြန်ပြောနိုင်ပါတယ်။ လက်ရှိ Readme ကလည်း အသုံးဝင်မယ်လို့မျှော်လင့်ပါတယ်။

Kelvin Morris

Programmer, Coffee lover, Gamer, Otaku and Bookworm