Museria - malo osungira nyimbo

Museria - malo osungira nyimbo

Tsiku lina ndidaganiza zolemba pulogalamu yoti ndisankhire ndekha nyimbo ndikumvera kunyumba / pamsewu / kulimbitsa thupi, ndi zina zambiri. Ndipo kotero kuti zonsezi zimagwira ntchito motsatira, ndikutengapo mbali kochepa kuchokera kwa ine. Ndinapeza kamangidwe kake, ndijambula chithunzithunzi, ndipo pamapeto pake ndinakumana ndi "vuto laling'ono".

Ndipo sizikudziwika komwe mungapeze mafayilo anyimbo okha. Panthawiyi, VKontakte anali atatseka kale api, pazipata zazikulu za nyimbo zonse zinali zitatsekedwa, ngakhale nyimbo zinaperekedwa mu zidutswa kuti zisawonongeke. Zomwe zinatsala zinali malo ena owuluka ndi usiku omwe ali ndi malonda ochuluka ndi zinyalala zamitundu yonse, mapulogalamu amtundu uliwonse okayikitsa ndi zina "zauve". Mwambiri, palibe yankho limodzi labwino kwambiri. Mutha, ndithudi, kugula zolembetsa ku nyimbo za Yandex kapena zina. Koma kachiwiri, palibe API yotseguka yapagulu kulikonse ndipo mulibe mwayi womvera nyimbo mwadongosolo. Makampani akuluakulu angapo aletsa anthu ena kuyimba nyimbo. N’chifukwa chiyani zimenezi zinachitika? Kukumba mozama, zidawonekeratu kuti vuto lalikulu linali kukopera. Yankho laposachedwa munjira yolembetsa limagwirizana ndi olemba nyimbo zamalonda ambiri komanso makampani omwewo. Panthawi imodzimodziyo, nyimbo zopanda malonda ndi zamalonda zimagweranso pamndandanda wamba. Mutha kulipira chilichonse kapena kumvera chilichonse.

Ndipo ndinayamba kuganiza chochita ndi zonsezi. Kodi tingakonzekere bwanji kugawira nyimbo kwaulere? Kodi ndingatani ngati ndikudzipangira nyimbo ndekha ndikufuna kupanga ndalama? Kodi ndingakonde ngati nyimbo zanga zidabedwa? Kodi pali njira ina yotani?

Chifukwa chake, pali mavuto akulu awiri omwe akuyenera kuthetsedwa:

  • Bungwe la kugawa kwaulere nyimbo pogwiritsa ntchito njira zabwino kwa anthu ambiri, kuphatikizapo mapulogalamu.
  • Kupereka njira zina zopangira nyimbo kuti apange ndalama

Kusungidwa kwa nyimbo padziko lonse lapansi

Poyamba, ndinayesera kupeza mayankho omwe alipo ndikupanga zonse zochokera pa izi. Pambuyo pofufuza kwakanthawi, yoyamba yomwe ndidakonda inali ipfs. Ndidayamba kugwiritsa ntchito lingaliro langa, koma patapita kanthawi ndidapeza zovuta zingapo munjira iyi:

  • Ipfs - kusungira chilichonse ndi aliyense. Pali zithunzi ndi nyimbo ndi mavidiyo ndi chirichonse chimene inu mukufuna. Kawirikawiri, dziko lalikulu "dustbin". Chifukwa chake, mukakhazikitsa node yanu, nthawi yomweyo mumalandira katundu wambiri. Galimoto ikungogwedera ndi ululu.
  • Mtundu wina wa njira yosonkhanitsira "zinyalala" yosamalizidwa. Sindikudziwa momwe zilili tsopano, koma panthawiyo, ngati mudalemba mu config kuti mukufuna kuchepetsa kusungirako ku gigabytes khumi ya deta, ndiye kuti sizikutanthauza kanthu. Kusungirako kunakula, kunyalanyaza magawo ambiri a kasinthidwe. Zotsatira zake, kunali kofunikira kukhala ndi nkhokwe yayikulu ya hard disk mpaka ipfs idapeza momwe mungakhazikitsirenso zosafunikira.
  • Pa nthawi yogwiritsa ntchito laibulale (sindikudziwa momwe zilili tsopano), kasitomala analibe nthawi yokhazikika. Mumatumiza pempho kuti mulandire fayilo, ndipo ngati kulibe, ndiye kuti mumangopachika. Zachidziwikire, anthu adabwera ndi njira zosiyanasiyana zothanirana ndi vutoli, koma izi zinali ndodo. Zinthu izi ziyenera kutuluka m'bokosi.

Panali mavuto ang'onoang'ono ang'onoang'ono, ndipo malingaliro ake anali omveka bwino: izi sizingagwiritsidwe ntchito pa ntchitoyi. Ndinapitiliza kufunafuna malo osungira, ndikufufuza zosankha zosiyanasiyana, koma sindinapeze chilichonse choyenera.

Pamapeto pake, ndinaganiza kuti kunali koyenera kuyesa kulemba ndekha malo osungirako malo. Ngakhale ngati sichidziyesa kukhala interplanetary, imathetsa vuto linalake.

Ndipo kotero izo zinakhala zofalikira, nkhokwe, metastocle, muzika, museria-global.

zofalikira - ichi ndiye gawo lalikulu, lotsika kwambiri lomwe limakupatsani mwayi wophatikiza ma node kukhala maukonde. Ili ndi algorithm, yomwe ndakhala ndikuyigwiritsa ntchito pang'ono potengera ma seva pafupifupi 10000. Mtundu wonse wa algorithm ndizovuta kwambiri kukhazikitsa ndipo ungafune miyezi ingapo yowonjezera (mwina yochulukirapo).

Sindifotokoza mwatsatanetsatane m'nkhaniyi; ndibwino kuti mulembe ina tsiku lina. Apa ndingowona zina:

  • Imagwira ntchito kudzera pa http/https.
  • Mutha kupanga maukonde osiyana pa ntchito inayake, yomwe ingachepetse kwambiri katundu pa polojekiti iliyonse kuposa ngati onse anali pamaneti amodzi.
  • Njira yokhala ndi nthawi yopuma ndi zinthu zina zazing'ono zidaganiziridwa poyamba. Ndipo izi zimagwira ntchito panjira zonse mu kasitomala komanso mu node. Mutha kuyang'anira makonda anu mkati mwa pulogalamu yanu.
  • Laibulale imalembedwa mu nodejs. Zovuta za magwiridwe antchito a stack zimathetsedwa ndi kugawikana kwake. Katunduyo akhoza "kufalikira" poonjezera chiwerengero cha node. Pobwezera, pali zabwino zambiri: gulu lalikulu, kuphweka komanso kugwiritsa ntchito mosavuta, kasitomala wa isomorphic, osadalira kunja, ndi zina zotero.

nkhokwe ndi wosanjikiza cholowa kuchokera spreadable kuti amalola kusunga owona pa netiweki. Fayilo iliyonse ili ndi hashi yakeyake zomwe zili mkati mwake, zomwe zingagwiritsidwe ntchito kuzipeza pambuyo pake. Mafayilo sanagawidwe mu midadada, koma amasungidwa kwathunthu.

metastocle - wosanjikiza wotengera kufalikira, womwe umakupatsani mwayi wosunga deta pamaneti, koma osati mafayilo. Mawonekedwewa ndi ofanana ndi database ya Nosql. Mwachitsanzo, mutha kuwonjezera fayilo ku storacle, pezani hashi yake ndikuyilemba ku metastocle ndi ulalo wa chinthu china.

muzika - chotengera kuchokera ku storacle ndi metastocle. Izi wosanjikiza mwachindunji udindo kusunga nyimbo. Kusungirako kumagwira ntchito kokha ndi mafayilo a mp3 ndi ma tag a id3.

Monga "kiyi" ya nyimboyo, dzina lake lonse limagwiritsidwa ntchito mu mawonekedwe Wojambula (TPE1) - Mutu (TIT2). Mwachitsanzo:

  • Brimstone - The Burden
  • Hi-rez - Lost My Way (feat. Emilio Rojas, Dani Devinci)

Mutha kudziwa mwatsatanetsatane momwe mitu ya nyimbo imapangidwira. apa. Muyenera kuyang'ana ntchito utils.beautifySongTitle().

Kuchuluka kwa machesi omwe akufotokozedwa m'makonzedwe a node amaonedwa kuti ndi machesi. Mwachitsanzo, mtengo wa 0.85 umatanthawuza kuti ngati ntchito yofananitsa yofunikira (mayina a nyimbo) ipeza kufanana kwa 85%, ndiye kuti ndi nyimbo yomweyo.

Algorithm yodziwira kufanana ilipo, mu ntchito utils.getSongSimilarity().

Chivundikiro cha nyimboyo, kuti chilandire pambuyo pake, chingathenso kumangirizidwa kudzera pama tag (APIC). Zothandizira zili ndi njira zonse zofunika zolandirira ndi kukonza ma tag.

Chitsanzo cha ntchito ndi yosungirako kudzera kasitomala angapezeke mu readme.

Zigawo zonse zomwe zili pamwambazi ndizokhazikika ndipo zingagwiritsidwe ntchito mosiyana ngati zigawo zapansi pa ntchito zina. Mwachitsanzo, pali kale lingaliro lopanga wosanjikiza wosungira mabuku.

museria-global ndi malo osungiramo git omwe adakhazikitsidwa kale kuti akhazikitse node yanu pa intaneti yapadziko lonse lapansi. Kujambula npm ine && npm kuyambira ndipo ndizomwezo. Mutha kuyikonza mwatsatanetsatane, kuyendetsa mu Docker, ndi zina. Zambiri zimapezeka pa github.

Chosungiracho chikasinthidwa, muyenera kusintha node yanu. Ngati nambala yayikulu kapena yaying'ono ikusintha, ndiye kuti izi ndizofunikira, apo ayi ma node akale adzanyalanyazidwa ndi netiweki.

Mutha kugwira ntchito ndi nyimbo pamanja komanso mwadongosolo. Node iliyonse imayendetsa seva pazinthu zosiyanasiyana. Kuphatikizirapo, mukamayendera kumapeto kwanthawi zonse, mudzalandira mawonekedwe ogwirira ntchito ndi nyimbo. Mwachitsanzo, mukhoza kupita node ya mizu (ulalo sungakhale wofunikira pambuyo pake, ma node olowetsa nawonso atha kupezeka mkati telegalamu, kapena yang'anani zosintha pa Github).

Mwanjira imeneyi mukhoza kufufuza ndi kukweza nyimbo posungira. Kukweza nyimbo kutha kuchitika m'njira ziwiri: zabwinobwino komanso zowongolera. Njira yachiwiri ikutanthauza kuti ntchitoyo ikuchitika ndi munthu, osati pulogalamu. Ndipo ngati muyang'ana bokosi ili powonjezera, muyenera kuthetsa captcha. Nyimbo zitha kuwonjezeredwa ndi zofunika -1, 0 kapena 1. Chofunika Kwambiri 1 chikhoza kukhazikitsidwa mumayendedwe owongolera. Zofunikira ndizofunikira kuti zosungirako zitha kusankha bwino zoyenera kuchita mukayesa kusintha nyimbo yomwe ilipo ndi yatsopano. Mukayika patsogolo kwambiri, m'pamenenso mutha kulembanso fayilo yomwe ilipo. Izi zimathandiza kulimbana sipamu ndi kumawonjezera khalidwe dawunilodi nyimbo.

Mukayamba kuwonjezera nyimbo posungirako, yesani kulumikiza zithunzi (chikuto), ngakhale gawo ili silikufunika. Mu 99% ya milandu, zithunzi zoyamba pa Google zochokera pamitu yanyimbo ndi zovundikira za Albums.

Momwe kuwonjezera mwaukadaulo mafayilo kumachitika, mwachidule:

  • Wothandizira amalandira adiresi ya node yaulere, yomwe idzakhala wogwirizanitsa kwa kanthawi.
  • Ntchito yowonjezera nyimbo imayambitsidwa (ndi munthu kapena code), ndipo pempho limapangidwa kuti liwonjezere wogwirizanitsa kumapeto.
  • Wogwirizanitsa amawerengera kuchuluka kwa zobwereza zomwe ziyenera kusungidwa (zosintha zosinthika).
  • Ma node abwino kwambiri osungira amafufuzidwa.
  • Fayilo imapita mwachindunji kumalo awa.

Momwe mafayilo amalandirira mwaukadaulo:

  • Wothandizira amalandira adiresi ya node yaulere, yomwe idzakhala wogwirizanitsa kwa kanthawi.
  • Ntchito yolandira nyimbo (ndi munthu kapena code) imayambitsidwa, ndipo pempho limapangidwa kuti lilandire pamapeto a wogwirizanitsa.
  • Wogwirizanitsa amayang'ana kupezeka kwa ulalo mu cache. Ngati pali imodzi ndipo ikugwira ntchito, imabwereranso kwa kasitomala, apo ayi ma node amasankhidwa kuti apezeke.
  • Fayilo imalandiridwa kuchokera ku ulalo, ngati ipezeka.

Njira Zina Zopangira Nyimbo

NthaΕ΅i zonse ndakhala ndi chidwi ndi funso lakuti kodi munthu angaunike bwanji mowona mtima kufunika kwa ntchito zambiri za kulenga? Mwachitsanzo, n’chifukwa chiyani munthu amapereka chimbale cha nyimbo chake pamtengo wa madola 10? Kwa $20 kapena $100. Kodi algorithm ili kuti? Pamene, mwachitsanzo, tikukamba za mankhwala enaake, kapena mitundu yambiri ya mautumiki, ndiye kuti tikhoza kuwerengera mtengo wake ndikupitilira pamenepo.

Chabwino, tinene kuti tikubetcherana $10. Kodi izi ndizothandiza kwambiri? Tiyerekeze kuti ndinamvetsera chimbale kwinakwake kapena nyimbo kuchokera kumeneko ndipo ndinaganiza zosonyeza kuyamikira kwanga. Koma molingana ndi momwe ndikumvera komanso kuthekera kwanga, $3 ndiye denga langa. Ndiye tiyenera kuchita chiyani? Nthawi zambiri sindingachite chilichonse, monga anthu ambiri.

Poika mtundu wina wa mtengo wokhazikika wa ntchito yolenga, mumangodzichepetsera nokha, kuteteza chiwerengero chachikulu cha anthu kukutumizirani ndalama zochepa, zomwe pamodzi zingakhale zochititsa chidwi kwambiri kusiyana ndi omwe angagule pamtengo umene mumayika. Zikuwoneka kwa ine kuti luso ndilo gawo lomwe zopereka ziyenera kulamulira poyamba. Kuti muchite izi muyenera:

  • Phunzitsani anthu kuyamika motere. Ozipanga okha ayenera kuwonetsa momveka bwino kuti akufuna kulandira zopereka, kuwonjezera maulalo a njira zosiyanasiyana zolipirira kulikonse, ndi zina.
  • Njira zambiri zimafunikira kuti muchepetse ndi kulimbikitsa njirazi. Mwachitsanzo, pangani tsamba lapadziko lonse lapansi komwe mungapereke kuti muthe kulenga pogwiritsa ntchito ulalo wa kukopera.

    Tinene kuti ulalo uli motere:

    http://someartistsdonationsite.site/category/artist?external-info

    Ngati tidzichepetsera kwa oimba, ndiye:

    http://someartistsdonationsite.com/music/miyagi?song=blabla

    Wosewera ayenera kutsimikizira dzina lake ndikuliphatikiza.

    Tikuwonjezera ntchito yopangira ulalo wotere kwa kasitomala wa museria, ndipo ma projekiti onse omwe akugwiritsa ntchito malo osungira amatha kuyika mabatani opereka ndi maulalo awa pafupi ndi nyimbo patsamba/mapulogalamu awo. Ogwiritsa ntchito ali ndi mwayi wopereka ndalama mwachangu komanso mosavuta. Mwachibadwa, njirayi ingagwiritsidwe ntchito mu polojekiti iliyonse ndi gulu lachidziwitso, osati kupyolera mu kusunga.

N’chifukwa chiyani kwenikweni mumafunika malo osungira nyimbo, ndipo mungatani kuti mutenge nawo mbali?

  • Ngati mukugwira ntchito yokhudzana ndi nyimbo, kapena mukukonzekera kupanga imodzi, izi ndi zomwe zonse zidapangidwira. Mukhoza kugwiritsa ntchito museria kusunga ndi kupeza nyimbo, kuwonjezera otaya nyimbo Intaneti. Ngati, panthawi imodzimodziyo, muli ndi mphamvu yokweza ndi kugwira mfundo imodzi yokha, ndiye kuti izi zidzakhala zothandiza kwambiri pa chitukuko cha intaneti.
  • Mwina mwakonzeka kutenga gawo lina: kuthandizira ndi ma code, kapena lembani ndikuwongolera nkhokwe, kugawa zambiri za polojekitiyi kwa anzanu, ndi zina zambiri.
  • Mwinamwake munakonda lingalirolo ndipo mwakonzeka kuthandiza pazachuma kuti zonse zikhale ndi moyo ndikukula. Pamene nodes zambiri, nyimbo zambiri.
  • Kapena mumangofunika kupeza ndikutsitsa nyimbo nthawi ina. Mutha kuchita izi mophweka, mwachitsanzo, kudzera telegram bot.

Ntchitoyi tsopano ili poyambira pomwe. Netiweki yoyeserera yakhazikitsidwa, ma node amatha kuyambiranso pafupipafupi, amafuna zosintha, ndi zina. Ngati palibe mavuto ovuta panthawi yowunikira, maukonde omwewo amasinthidwa kukhala wamkulu.

Mutha kuwona zambiri za node kuchokera kunja: kuchuluka kwa nyimbo, malo aulere, ndi zina zambiri, pogwiritsa ntchito ulalo ngati http://node-address/status kapena http://node-address/status?pretty

Magulu anga:

Source: www.habr.com

Kuwonjezera ndemanga