Mõned statistikad platvormil Youca.org:
- 18 moodulit
- 253 faili
- 52 867 koodirida
- 13 kuud arendustööd koos põhitegevusega.
Millele peaksite tähelepanu pöörama
Pärast seda, kui ma idee välja tulin, oli vaja asuda ellu viima.
Kust alustada?
Proovige oma idee paberil võimalikult üksikasjalikult välja tuua (ei pea kirjutama pliiatsi või pastakaga, sobib ka arvutis trükkimine :)). Esiteks, maalides oma projekti, saate pilti paremini hinnata ja näete tõenäoliselt vigu, mida saate kohe parandada. Teiseks kõik dokumenteeritakse ja te ei unusta midagi. Kolmandaks proovige kirjeldusest koostada ülesannete loend, et järgmised sammud oleksid selgemad. Mis puudutab kirjelduse vormi, siis ma arvan, et sellel pole tähtsust. Pole vaja proovida kasutada nutikaid teooriaid või meetodeid, kui te ei tunne end hiljem mugavalt. Enda jaoks tegin algul lihtsa tabeli menüüelementide nimetustega, hiljem, kui sai selgeks üldise ülesehituse, sain tabeli juba moodulite loendiks teisendada, kirjeldada igaühe ligikaudset funktsionaalsust ja mõningaid nende seoseid . Selles etapis on oluline mõista tulevase projekti osade koostist, kuid igaühe funktsionaalsust pole üldse vaja üksikasjalikult kirjeldada. Minu puhul on esialgne kirjeldus, kuigi koostiselt ühtib teostatud projektiga, erineb siiski funktsionaalsuselt umbes 30%.
Kui olete kõik täielikult maalinud, kõik ülesanded struktureerinud ning paberil ja peas on rohkem selgust, peate hakkama teenust programmeerima, kuid ärge kirjutage peaga basseini viskamist maha. Esmalt vastake põhiküsimustele. Siin on küsimused, mis minu ees kerkisid, ja vastused, mille ma neile leidsin:
Mis keeles tuleks teenust arendada?
Ükskõik kui palju ma ka ei püüdnud leida artiklitest ja foorumitest sobivaimat programmeerimiskeelt, oli tulemuseks arusaam, et igaühel on konkreetse probleemi lahendamiseks oma keel. Kasutage keelt, mida oskate kõige paremini! Minu puhul - PHP (plaanis kasutada PHP-FPM-i, kuid hiljem jõudis PHP7 edukalt kohale)
Millist andmebaasi kasutada?
Siin on vastus sarnane eelmisele küsimusele: see, mida tunnete kõige paremini. Minu puhul MySQL.
Millisest otsast võtta moodulite kirjutamise ülesannete loetelu?
Nagu võite arvata, peate alustama põhimoodulitest, kuid millised neist on peamised, kui kõik koos on teie tulevane teenus? Kõigepealt peate läbi mõtlema oma rakenduse globaalse äriloogika. Kas see on üks põhifail, näiteks index.php saidi juurtes, või tuleks kogu projekt jagada mitmeks alamkataloogiks. Kui teie projekt hõlmab kasutaja registreerimist, siis rakendage see funktsioon ennekõike (registreerimine, autoriseerimine, väljalogimine, mandaatide muutmine jne). Siis läheb kõik lihtsamalt, üks moodul tõmbab teist.
Kuidas kujundate rakenduse äriloogikat?
Tavaliselt uurisin uut moodulit käivitades oma üldtabelit, lisasin/täiustasin funktsionaalsust, lõin kõik vajalikud failid, lisasin mooduliklassis kõik vajalike meetodite nimed intuitiivsete nimedega enda malli järgi (näiteks: getUserById) ja alles pärast seda jätkas iga meetodi kodeerimisega. Seega näis, et kirjeldasin enda jaoks praegust ülesannet selgemalt.
Töö lihtsustamiseks soovitan kasutada väikest ORM-i, et mitte lasta end andmebaasiga töötamise äriloogikast kõrvale juhtida. Kasutasin MVC mudelit (mudel - vaade - kontroller), milles otse andmebaasiga toiminguid sooritavad klassid ja meetodid paigutatakse eraldi faili (mudelisse) ja ühendatakse lihtne ORM, kui edaspidi on vaja optimeerida. andmebaasipäringud, siis pole seda raske teha, neil pole äriloogikaga midagi pistmist. Piisab lihtsalt ORM-i kõnede asendamisest otseste päringutega moodulmudelite meetodites.
Mis siis?
Kui kõik moodulid on kirjutatud, on vaja veel kord läbi viia funktsionaalsuse põhjalik analüüs (see tähendab mitte testimist, mis peaks loomulikult olema igas etapis ja üldise lõpus, nimelt tulemuseks oleva rakenduse äriloogika analüüs ). Tõenäoliselt leiate ebakõlasid või mitte eriti mugavaid lahendusi. Selliste hetkede jaoks koostasin eraldi tööde nimekirja ja siis töötasin selle kallal.
Rakenduse avaldamine.
P.S. Ärge unustage enne rakenduse käivitamist kõigil lehtedel statistikaloendurit seadistada.
- Tehke varukoopiaid pärast iga kontrollpunkti või muud selget reeglit. Varukoopia tegin iga tööpäeva lõpus, olgu see siis 14 tundi või 30 minutit pikk. Varukoopiaid on kõige parem teha mitmele andmekandjale. Varundasin kõik välisele kõvakettale ja laadisin arhiivi samal ajal failimajutuspilve.
- Lisamotivatsiooniks koostasin endale moodulite kallal töötamise ajakava, eraldades igaühele teatud aja. Isegi kui te ei mahu ettenähtud ajale (ja seda juhtub kõige sagedamini), näete ikkagi alati edusamme, nii et see muutub käegakatsutavamaks, kui järgmine ruut plaadil läbi kriipsutatakse.
- Vahel on selline aeg, et miski ei õnnestu, kõik kukub käest ära, mõtted lähevad laiali ja lihtsalt ei suuda tööle keskenduda. Soovitan teile: sülitage tööle ja minge puhkama, muidu võite lõhkuda küttepuid.
Järgmises artiklis jagan nimekirja raamatutest, mis on mulle kasulikuks osutunud ja mis on mind motivatsiooni ja teabega aidanud.
Tere kõigile, see on Deniss Tšernyatinski. Täna puudutan oma saidil lühikeste linkide loomise teemat. Usun, et olete sageli kohanud linkide lühendamise teenust, mis teisendab mitmesajast tähemärgist koosnevad lingid mõnest tähemärgist koosnevateks lühikesteks linkideks.
Milleks on lingi lühendamise teenus?
Näiteks selleks, et saaksite oma sidusettevõtte linke lühendada, kartmata, et nende sidusettevõtte "saba" võidakse ära lõigata. Sellised teenused lühendavad linki ja sidusettevõtte ID-d enam ei lõigata.
Teine näide on väga mugav saata SMS-iga nii lühike link kui mitmesajast tähemärgist koosnev link ja samal ajal on adressaadil mugavam käsitsi sisestada paar tähemärki kui mitusada.
Selliste teenuste kasutamiseks on palju võimalusi, kui hoolikalt järele mõelda, saad ise aru, miks ja kuidas selliseid võimalusi kasutada.
Internetis on üsna palju linkide lühendamise teenuseid, kuid arvan, et tahaksite oma domeenile sellise teenuse teha ..
Kuidas teha oma hostimisel lingi lühendamise teenust?
Kuidas sellist teenust oma domeenis rakendada, käsitleme selles artiklis seda probleemi. Selles aitab meid spetsiaalne skript nimega YOURLS. Laadime selle alla ametlikult saidilt otse avalehelt, kerige lehte alla ja klõpsake nuppu "Laadi OMAD alla".
Skripti arendatakse ja täiustatakse pidevalt, kirjutamise hetkel on uusim versioon 1.7. Zip-faili allalaadimiseks klõpsake lingil.
Pakime allalaaditud arhiivi lahti oma arvutisse, saame skriptifailidega kausta YOURLS-1.7. Loome nende failide hostimisse üleslaadimiseks ühenduse oma domeeniga. Kui te ei tea, kuidas seda teha, lugege.
See skript ei tööta ainult põhidomeeniga, vaid ka alamdomeenidega ja domeeni mis tahes kataloogiga. Peate ise välja mõtlema, kuidas see teile mugavam on ja millist linki soovite lõpuks näha.
Näiteks teen serveris oma domeeni sees kausta ja link näeb välja selline: “site.ru/folder/link”. Et link näeks lühike, paneme kaustale nimeks "url" ja laadime sinna kõik lahtipakkitud skripti failid.
Vahepeal, kuni skriptifailid serveri kausta üles laaditakse, loome andmebaasi. Sellesse salvestab ta algsed ja lühendatud lingid. Me läheme teie hostimise juhtpaneelile, MySQL andmebaasi haldamisele ja loome oma YOURLSi skripti jaoks andmebaasi. Mõelge välja sisselogimis- ja parooliväärtused oma äranägemise järgi, on soovitav, et need poleks liiga lihtsad, klõpsake nuppu Loo.
See on kõik, oleme loonud andmebaasi, meie näites on see “blogurl”, teie nimed võivad erineda. Lihtsalt skriptifailid on juba hostimisse üles laaditud ja saame jätkata oma skripti seadistamist.
Põhiseaded
- Andmebaasi kasutajanimi, meie näites "mysql".
- Andmebaasi parool, minu puhul "mysql"
- Andmebaasi nimed, mul on "blogurl"
- Hosti nimi, minu näites "blog.ru"
- Andmebaasi tabeli eesliide "yourls_"
Need väärtused on teie jaoks radikaalselt erinevad, kuna ma näitan skripti oma kohalikus serveris.
Linki URL-i seaded
- Selle saidi nimi, millel skript asub, minu näites on see "https://blog.ru/url", pange tähele, et pärast "url" pole vaja vertikaalset kaldkriipsu "/" panna. See on ülalpool kirjutatud.
Skripti seaded
- Ajavöönd või ajavöönd, määrake oma, mul on "+3".
- Kas ühe pika lingi jaoks on vaja luua mitte üks, vaid mitu lühikest linki, kui vastus on jah, siis määrake väärtuse "true" asemel väärtuseks "false".
- Kas peate looma linke mitte ainult skripti administraatoripaneelilt, vaid ka saidi avalikult lehelt? Jätsin väärtuseks "true". Me ei pea avama juurdepääsu linkide loomisele kõigile kasutajatele, kaitstes sellega end rämpsposti eest.
- See on konkreetne tekst, mille peate teatud turbetaseme määramiseks unikaalseks teisendama.
- Skripti haldussektsiooni sisenemiseks mõtleme välja sisselogimise ja parooli. Kui teil on üks konto, kustutage lisaväärtused. Kui neid on mitu, eraldage need komaga.
Linkide lühendamise valikud:
- Kui peate lühendatud lingis kasutama väikeseid tähti numbritega, siis määrame parameetri "36".
- Kui vajate nii väikeste kui ka suurte märkide olemasolu, siis määrame väärtuse "62".
- Otsustage ise, millist väärtust vajate, ma jätan vaikimisi "36".
Lõpetage sõnad
- See parameeter sisaldab loendit stoppsõnadest, mis ei võimalda määratud väärtustega linke luua. Seal on märgitud teatud sõnad, võite lisada oma.
Suurepärane, kõik on seadistatud, salvestage see ja laadige juba redigeeritud fail vastavasse kataloogi serverisse tagasi.
Skripti kontrollimine
Käivitame brauseri ja kirjutame oma domeenile skripti aadressi, näiteks "blog.ru/url/admin/", seejärel vajutage sisestusklahvi ja seejärel "Installi SINU".
Ilmub teade, et kõik andmebaasis olevad tabelid on loodud ja ettepanek minna skripti halduslehele, administraatori paneeli minemiseks klõpsake lingil. Siin on igaks juhuks otselink "https://blog.ru/url/admin/index.php".
Sisestage "config" faili redigeerimisel määratud kasutajanimi ja parool, klõpsake "login". Esmakordsel administraatoripaneelile sisselogimisel kuvatakse teade, et teie parool on krüptimata salvestatud ainult konfiguratsioonifailis ja soovitus selle krüptimiseks. Krüptimiseks klõpsake pakutud lingil. Avaneb spetsiaalne leht, mis genereerib meie paroolist räsi, mis on vajalik selle krüptimiseks.
Sisestage parool vastavale väljale ja klõpsake nuppu Esita, teie parool muutub räsiks, kopeerige selle väärtus ja kleepige see oma parooli asemel serverisse konfiguratsioonifaili "config.php". Salvestage ja värskendage fail serveris.
Kui värskendame lehte administratiivses jaotises, kaob hoiatusteade juba, mis tähendab, et kõik on õigesti tehtud. Nüüd saate alustada tööd meie enda lühikeste linkide teenusega.
Skripti uutes versioonides, alates versioonist 1.7, on automaatne paroolide krüptimine juba konfiguratsioonifailis rakendatud. Ülaltoodud krüpteerimistoimingud pole vajalikud.
Linkide kasutamise näited
Näitena tuuakse välja mitu linki, neid saab kustutada, klõpsates nupul Kustuta. Selle toiminguga vabastame natuke oma andmebaasi ja alustame linkide loomist nullist. Näiteks sisestame mingisuguse pika lingi ja anname sellele käsitsi lühendi, näiteks "do", klõpsake lühendamise nuppu. Meie pikk link on taandatud kujule “blog.ru/url/do”, kui seda kopeerida ja järgida, jõuame pika lingiga algsele lehele.
Kui te ei sisesta käsitsi lingi lühendamist, lühendatakse linki meelevaldselt. Sidusettevõtete linkide jaoks on parem teha kursuse nimi käsitsi, see on visuaalsem ja ilusam, näiteks “blog.ru/url/videokurs”. Kasutaja, kes sellisele lingile klõpsab, saab aru, mis edasi saab, millisele lehele ta maandub.
Linkide loomisel näete linkide loendit, kus näete igal lingil tehtud klikkide arvu ja iga lingi kohta täpsemat teavet. Saate neid redigeerida, sotsiaalvõrgustikes jagada ja palju muud.
Skripti lokaliseerimine
Nagu märkasite, pole sellel vene keelt, kuid me saame selle käsitsi lokaliseerida. Venestame oma skripti nii, et sellega oleks mugav ja meeldiv töötada. Selleks lisan spetsiaalsed venestamisfailid, mis lisavad suure ja võimsa vene keele.
Vene keele seaded
- Peate arhiivi lingilt alla laadima ja lahti pakkima.
- Kopeerige failid arhiividest "ru_Ru.po" ja "ru_Ru.mo" serveri kataloogi "kasutaja/keeled"
- Leidke failist "config.php" rida "define('YOURLS_LANG', "ru_RU')" ja sisestage väärtus "ru_RU", pärast neid samme on skript vene keeles.
Nüüd olete õppinud, kuidas installida ja kasutada oma saidil lühikeste linkide teenust. Loodan, et teave oli teile kasulik.
Mõte artiklist
Soovin teile kõigile edukat lühikeste linkide loomist teie saidile. Kohtumiseni minu ajaveebi huvitavates artiklites. Tänan tähelepanu eest, hüvasti!