Ինչ է պահեստը Linux-ում: Ubuntu-ի պահոցների կարգավորում

Պահեստը սովորաբար վերաբերում է պահեստավորման վայրին, հաճախ անվտանգության կամ պահպանման համար:
- Վիքիպեդիա

Այսպես է Վիքիպեդիան նկարագրում շտեմարանը։ Պարզապես այնպես է պատահում, որ, ի տարբերություն որոշ այլ ժարգոնային բառերի, որոնց հետ առնչվում ենք, այս տերմինը հիանալի ընկալում է իր էությունը: Պահեստը որոշակի տեսակի սուբյեկտների հավաքածուի պահպանման հայեցակարգն է:

Պահեստը որպես հավաքածու

Հավանաբար, պահեստների միջև ամենակարևոր տարբերությունն այն է, որ դրանք օբյեկտների հավաքածու են: Նրանք չեն նկարագրում տվյալների բազայի պահպանումը կամ քեշավորումը կամ որևէ այլ լուծում: տեխնիկական խնդիր. Պահեստները ներկայացնում են հավաքածուներ: Այն, թե ինչպես եք պահում այս հավաքածուները, պարզապես իրականացման մանրամասնություն է:

Ես ուզում եմ պարզաբանել այս հարցը։ Պահեստը հավաքածու է: Հավաքածու, որը պարունակում է սուբյեկտներ և կարող է զտել և վերադարձնել արդյունքները՝ հիմնվելով ձեր հավելվածի պահանջների վրա: Որտեղ և ինչպես է այն պահում այդ օբյեկտները՝ ԻՐԱԿԱՆԱՑՄԱՆ ՄԱՆՐԱՄԱՍՆԵՐԻՑ:

PHP աշխարհում մենք սովոր ենք հարցում/պատասխան ցիկլի, որն ավարտվում է գործընթացի մահով: Այն ամենը, ինչ եկել է դրսից և չի պահպանվել, այս պահին ընդմիշտ անհետացել է: Դե, ոչ բոլոր հարթակներն են աշխատում այս կերպ:

Պահեստները հասկանալու լավ միջոց է պատկերացնել, որ ձեր հավելվածը միշտ աշխատում է, որի դեպքում բոլոր օբյեկտները մնում են հիշողության մեջ: Այս փորձի ժամանակ կրիտիկական ձախողումների հավանականությունը և դրանց արձագանքը կարելի է անտեսել: Պատկերացրեք, որ դուք ունեք Singleton պահեստի օրինակ Member, MemberRepository-ի համար:

Այնուհետեւ ստեղծեք նոր օբյեկտԱնդամագրվեք և ավելացրեք այն պահոցում: Ավելի ուշ դուք կպահանջեք պահոցում պահվող բոլոր տարրերի համար, այնպես որ դուք կստանաք հավաքածու, որը պարունակում է այս օբյեկտը ներսում: Դուք կարող եք ցանկանալ ստանալ կոնկրետ օբյեկտ իր ID-ով, դա նույնպես հնարավոր է: Շատ հեշտ է պատկերացնել, որ պահեստի ներսում այդ օբյեկտները պահվում են զանգվածում կամ, ավելի լավ, հավաքածուի օբյեկտում։

Պարզ ասած, պահոցը հուսալի հավաքածուի հատուկ տեսակ է, որը դուք նորից ու նորից կօգտագործեք իրերը պահելու և զտելու համար:

Փոխազդեցություն պահեստի հետ

Պատկերացրեք, որ մենք ստեղծում ենք Անդամ կազմավորում: Մենք օբյեկտը բերում ենք անհրաժեշտ վիճակին, այնուհետև հարցումն ավարտվում է, և օբյեկտը անհետանում է։ Օգտագործողը փորձում է մուտք գործել մեր հավելված և չի կարող: Ակնհայտ է, որ մենք պետք է այս օբյեկտը հասանելի դարձնենք նաև հավելվածի մյուս մասերին:

$member = Անդամ::register($email, $password); $memberRepository->save($member);
Այժմ մենք կարող ենք ավելի ուշ մուտք գործել օբյեկտ: Քիչ թե շատ այսպես.

$member = $memberRepository->findByEmail($email); // կամ $members = $memberRepository->getAll();
Մենք կարող ենք օբյեկտներ պահել մեր հավելվածի մի մասում, այնուհետև առբերել դրանք մյուսից:

Պե՞տք է արդյոք պահեստները ստեղծեն սուբյեկտներ:

Դուք կարող եք հանդիպել նման օրինակների.

$member = $memberRepository->create($email, $password);
Ես սրա օգտին բազմաթիվ փաստարկներ եմ տեսել, բայց նման մոտեցումն ինձ ընդհանրապես չի հետաքրքրում։

Նախ և առաջ, շտեմարանները հավաքածուներ են: Ես վստահ չեմ, թե ինչու է հավաքածուն պետք է լինի հավաքածու և գործարան: Ես լսել եմ այնպիսի փաստարկներ, ինչպիսիք են «Եթե ավելի հարմար է դրանով վարվել, ապա ինչու՞ նման գործողությունների վրա կառավարիչը կախել»:?

Իմ կարծիքով սա հակաօրինաչափություն է։ Ինչո՞ւ թույլ չտալ, որ Անդամ դասը ունենա իր սեփական պատկերացումը, թե ինչպես և ինչու է ստեղծվում օբյեկտը, կամ ինչու չստեղծել առանձին գործարան՝ ավելի բարդ օբյեկտներ ստեղծելու համար:

Եթե ​​մենք վերաբերվում ենք մեր պահեստներին որպես պարզ հավաքածուների, ապա կարիք չկա դրանք բեռնել ավելորդ ֆունկցիոնալությամբ: Ես չեմ ուզում հավաքագրման դասեր, որոնք իրենց պահում են գործարանների նման:

Որո՞նք են պահեստների օգտագործման առավելությունները:

Պահեստների հիմնական առավելությունը սուբյեկտների հավաքածուների վերացական պահպանման մեխանիզմն է:

Տրամադրելով MemberRepository ինտերֆեյսը, մենք արձակում ենք մշակողի ձեռքերը, ով ինքն է որոշելու, թե ինչպես և որտեղ պահել տվյալները։

Դաս ArrayMemberRepository-ն իրականացնում է MemberRepository ( մասնավոր $members = ; հանրային գործառույթ save(Member $member) ($this->members[(string)$member->getId()] = $member; ) հանրային ֆունկցիան getAll() ( վերադարձ $this ->անդամներ; ) հանրային ֆունկցիա findById(MemberId $memberId) ( if (isset($this->members[(string)$memberId])) ( return $this->

Դաս RedisMemberRepository-ն իրականացնում է MemberRepository ( հանրային գործառույթը պահպանում է (Member $member) ( // ... ) // դուք ստանում եք կետը )
Այսպիսով, մեր հավելվածների մեծ մասը գիտի միայն MemberRepository-ի վերացական հայեցակարգը, և դրա օգտագործումը կարելի է առանձնացնել իրական իրականացումից: Սա շատ ազատագրող է։

Որո՞նք են պահեստները՝ տիրույթ կամ կիրառական ծառայության շերտ:

Այսպիսով, ահա մի հետաքրքիր հարց. Նախ, եկեք սահմանենք, որ Application Service Layer-ը շերտավորված ճարտարապետություն է, որը պատասխանատու է հավելվածի իրականացման հատուկ մանրամասների համար, ինչպիսիք են տվյալների բազայի ամբողջականությունը և ինտերնետ արձանագրությունների հետ աշխատելու տարբեր իրականացումները (ուղարկելը Էլ, API) և այլն:

Եկեք սահմանենք Domain Layer տերմինը որպես բազմաշերտ ճարտարապետության շերտ, որը պատասխանատու է բիզնեսի կանոնների և բիզնես տրամաբանության համար:

Ո՞ւր կգնա պահոցն այս մոտեցմամբ:

Եկեք նայենք մեր օրինակին: Ահա ավելի վաղ գրված կոդը.

Դաս ArrayMemberRepository-ն իրականացնում է MemberRepository ( մասնավոր $members = ; հանրային գործառույթ save(Member $member) ($this->members[(string) $member->getId()] = $member; ) հանրային ֆունկցիան getAll() ( վերադարձնել $this ->անդամներ; ) հանրային գործառույթ findById(MemberId $memberId) ( if (isset($this->members[(string)$memberId])) ( return $this->members[(string)$memberId]; ) ) )
Այս օրինակում ես տեսնում եմ իրականացման շատ մանրամասներ: Դրանք, իհարկե, պետք է ներառվեն կիրառական շերտում։

Հիմա եկեք հեռացնենք այս դասից բոլոր իրականացման մանրամասները...

Դաս ArrayMemberRepository-ն իրականացնում է MemberRepository ( հանրային գործառույթը պահպանում է (Member $member) ( ) public function getAll() ( ) public function findById(MemberId $memberId) ( ) )
Հմմ... սա սկսում է ծանոթ թվալ... Ի՞նչ ենք մենք մոռացել։

Միգուցե ստացված կոդը հիշեցնում է ձեզ այս մասին:

Ինտերֆեյս MemberRepository ( հանրային ֆունկցիայի պահպանում (Անդամ $member); հանրային ֆունկցիա getAll(); հանրային գործառույթ findById(MemberId $memberId); )
Սա նշանակում է, որ ինտերֆեյսը գտնվում է շերտերի սահմանին: և իրականում կարող է պարունակել տիրույթին հատուկ հասկացություններ, սակայն իրականացումն ինքնին չպետք է դա անի:

Պահեստի միջերեսները պատկանում են տիրույթի շերտին: Իրականացումը պատկանում է կիրառական շերտին: Սա նշանակում է, որ մենք ազատ ենք կառուցելու ճարտարապետությունը տիրույթի շերտի մակարդակում՝ առանց կախված լինելու սպասարկման շերտից:

Տվյալների պահեստները փոխելու ազատություն

Ամեն անգամ, երբ լսում եք, որ ինչ-որ մեկը խոսում է օբյեկտի վրա հիմնված դիզայնի հայեցակարգի մասին, դուք կարող եք լսել նման բան «...և դուք հնարավորություն ունեք ապագայում մեկ պահեստավորման իրականացումից մյուսը փոխելու...»:

Իմ կարծիքով, սա ամբողջությամբ չի համապատասխանում իրականությանը... Ես նույնիսկ կասեի, որ սա շատ վատ փաստարկ է։ Պահեստների հայեցակարգը բացատրելու ամենամեծ խնդիրն այն է, որ անմիջապես հարց է ծագում «Դուք իսկապես ուզում եք դա անել»:. ՉԵՄ ցանկանում, որ նման հարցերը ազդեն պահեստի օրինակի օգտագործման վրա:

Ցանկացած բավական լավ մշակված օբյեկտի վրա հիմնված հավելված ինքնաբերաբար կհայտնվի այս առավելությունից: OOP-ի կենտրոնական հայեցակարգը ինկապսուլյացիան է: Դուք կարող եք ապահովել API մուտք և թաքցնել իրականացումը:

Ի վերջո, դուք իրականում չեք անցնի մեկ ORM-ից մյուսը և հետ չեք գնա: Բայց եթե նույնիսկ ուզում ես դա անել, գոնե դրա հնարավորությունը կունենաս։ Այնուամենայնիվ, պահեստի ներդրման փոփոխությունը հսկայական պլյուս կլինի թեստավորման ժամանակ:

Փորձարկում «Պահեստ» օրինաչափության օգտագործման ժամանակ

Դե, այստեղ ամեն ինչ պարզ է. Ենթադրենք, դուք ունեք մի օբյեկտ, որը կարգավորում է անդամի գրանցման նման մի բան...

Դաս RegisterMemberHandler ( անձնական $members; հանրային գործառույթ __construct(MemberRepository $members) ( $this->members = $members; ) հանրային ֆունկցիայի handle(RegisterMember $command) ( $member = Member::register($command->email, $ հրաման->գաղտնաբառ); $this->members->save($member); ) )
Հաջորդ գործողության ընթացքում ես կարող եմ վերցնել DoctrineMemberRepository-ի օրինակը: Այնուամենայնիվ, փորձարկման ընթացքում դուք հեշտությամբ կարող եք փոխարինել այն ArrayMemberRepository-ի օրինակով: Նրանք երկուսն էլ իրականացնում են նույն ինտերֆեյսը:

Պարզեցված նմուշի թեստը կարող է այսպիսի տեսք ունենալ...

$repo = նոր ArrayMemberRepository; $ handler = նոր RegisterMemberHandler ($ repo); $request = $this->createRequest(["email" => " [էլփոստը պաշտպանված է]", "password" => "angelofdestruction"]); $handler->handle(RegisterMember::usingForm($request)); AssertCount(1, $repo->findByEmail(" [էլփոստը պաշտպանված է]"));
Այս օրինակում մենք փորձարկում ենք կարգավորիչը: Մենք կարիք չունենք տվյալների բազայում (կամ մեկ այլ տեղ) պահեստի տվյալների պահպանման ճիշտությունը ստուգելու: Մենք փորձարկում ենք այս օբյեկտի հատուկ վարքագիծը. գրանցում ենք օգտատերին՝ հիմնվելով ձևի տվյալների վրա և այնուհետև փոխանցում այն ​​պահեստին:

Հավաքածու կամ պետություն

Դոմենների վրա հիմնված դիզայնի իրականացման գործում Վոն Վերնոնը տարբերակում է պահոցների տեսակները: Հավաքածուի վրա հիմնված պահեստի գաղափարը (ծագ. - հավաքածուի վրա հիմնված շտեմարան)այդ պահեստի հետ աշխատանքը գնում է հիշողության մեջ, ինչպես զանգվածով։ Պետական ​​պահոց (ծագ. - համառության վրա հիմնված պահոց)պարունակում է այն գաղափարը, որ այն կունենա ավելի խորը և մտածված պահեստավորման համակարգ: Իրականում տարբերությունները միայն անունների մեջ են։

// հավաքածուն ուղղված $memberRepository->add($member); // ընդդեմ հաստատակամության վրա հիմնված $memberRepository->save($member);
Նշում եմ, որ սա ընդամենը իմ կարծիքն է, և մինչ այժմ պահպանում եմ այն ​​պահեստներից օգտվելու հարցում։ Այնուամենայնիվ, ուզում եմ զգուշացնել, որ կարող եմ կարծիքս փոխել։ Ի վերջո, ես կենտրոնանում եմ դրանց վրա որպես օբյեկտների հավաքածուներ, որոնք ունեն նույն պարտականությունները, ինչ ցանկացած այլ հավաքածուի օբյեկտ:

լրացուցիչ տեղեկություն

Ստեղծել է նախագիծ Github-ում պահեստների մասին, որն անպայման արժե նայել: Ներսում դուք կգտնեք հիշողության և ֆայլերի պահեստավորման հետ աշխատելու օրինակներ:

Արդյունքներ

Ես կարծում եմ, որ…
  1. …կարևոր է պահեստներին տալ եզակի խնդիր՝ գործելու որպես օբյեկտների հավաքածու:
  2. ...մենք չպետք է օգտագործենք պահեստներ՝ օբյեկտների նոր օրինակներ ստեղծելու համար:
  3. … մենք պետք է խուսափենք շտեմարաններից որպես մեկ տեխնոլոգիայից մյուսին անցնելու միջոց օգտագործելուց, քանի որ դրանք այնքան շատ առավելություններ ունեն, որոնցից դժվար է հրաժարվել:
Ապագայում ես նախատեսում եմ ավելի շատ հոդվածներ գրել պահեստների մասին, ինչպիսիք են դեկորատորի միջոցով արդյունքների քեշավորումը, չափանիշների օրինակով հարցումները, պահեստի դերը խմբաքանակի մշակման մեջ։ մեծ քանակությամբառարկաներ.

Եթե ​​ունեք հարցեր կամ եթե ձեր կարծիքը տարբերվում է իմից, խնդրում ենք գրել մեկնաբանություններում ստորև:

Ինչպես միշտ, ես մտադիր եմ թարմացնել հոդվածը, որպեսզի այն համաժամեցվի իմ ներկայիս կարծիքի հետ:

Ծրագրեր տեղադրելու եղանակներ Windows համակարգերև Linux-ը (ինչպես նաև BSD-ն) տարբեր են: Կարելի է ասել, որ նույնիսկ ծրագրերի տեղադրման գաղափարախոսությունն է տարբեր։ Windows օգտագործողներՄենք սովոր ենք, որ ծրագիրը գալիս է տեղադրման ֆայլի (կամ ֆայլերի խմբի) տեսքով: Այս ֆայլերը պետք է ներբեռնվեն ինտերնետից կամ ստացվեն CD/DVD-ով: Linux-ի համար այս մեթոդը բնորոշ չէ, թեև այն նույնպես գոյություն ունի:

Իրականում, պահեստը ֆայլերի շտեմարան է . Linux համակարգենթադրում է, որ այն անձը, ով ցանկանում է տեղադրել ծրագիր, կկապվի այն պահեստի հետ, որտեղ պահվում է ծրագիրը: Դա արվում է տերմինալի միջոցով:

Օրինակ, ես ուզում եմ տեղադրել իմ Linux Mint 17.1 վիրտուալացման ծրագիր Virtual Box: Ես բացում եմ տերմինալ և մուտքագրում եմ հետևյալ հրամանը.

sudo apt-get install virtualbox-4.3

Տեղադրումը պետք է կատարվի սուպեր ադմինիստրատորի իրավունքներով, ուստի հրամանին ավելացնում ենք sudo բառը։ Տերմինալը մեզ խնդրում է սուպեր ադմինիստրատորի գաղտնաբառը և տեղեկատվություն է տրամադրում այն ​​փաթեթների մասին, որոնք պատրաստվում եք տեղադրել:


VirtualBox-ի տեղադրում տերմինալի միջոցով

Օգտագործողի համաձայնությունից հետո համակարգը կսկսի ներբեռնել պահանջվող ֆայլերինտերնետում գտնվող ցանցային պահեստից: Այսպիսով, ձեզ հարկավոր չէ գնալ ծրագրի կայք և ներբեռնել setup ֆայլձեռքով։

Տեղադրման գործընթացը ինքնին հետևյալն է.


VirtualBox-ի տեղադրում Linux Mint-ում

Տեղադրվելուց հետո ծրագիրը կարելի է գտնել այլ տեղադրված ծրագրերի ցանկում:


VirtualBox Linux Mint-ում

Ո՞վ կարող է ստեղծել պահեստներ:

Ցանկացած մեկը: Իսկ թե օպերացիոն համակարգը որ պահոցներից է ծրագրեր վերցնում, դրանք առաջին հերթին հենց համակարգի պահեստներն են։ Անհատական ​​ծրագրերունեն նաև իրենց սեփական պահեստները (դրանց վրա առկա ծրագրերի տարբերակները սովորաբար ավելի թարմ են), բայց այդպիսի պահեստները պետք է ձեռքով ավելացվեն օպերացիոն համակարգի կարգավորումներում։ Այն դա անում է կամ Փաթեթի կառավարչի կամ տերմինալի համապատասխան հրամանների միջոցով:

Ինչպես տեսնում եք, իմ դեպքում Linux Mint-ի պահոցն արդեն ուներ VirtualBox ֆայլեր, ուստի լրացուցիչ քայլեր կատարելու կարիք չկար։ Ի՞նչ պետք է անեի, եթե նման ծրագիր չլիներ համակարգի պահեստում: Ավելացրեք հենց ծրագրի մշակողների պահոցը:

Օրինակ՝ Linux Mint մենյուում գտնելով «Application Sources» կետը, այնուհետև «Լրացուցիչ պահեստներ» բաժինը:


Linux Mint-ում պահեստի ավելացում

Կամ մուտքագրելով տերմինալում

sudo sh -c "echo "deb http://download.virtualbox.org/virtualbox/debian վստահելի ներդրում" >> /etc/apt/sources.list"

Սա կոնկրետ VirtualBox պահեստի ուղին է: Մյուս ծրագրերի դեպքում ուղին այլ կլինի։ Դրանից հետո թարմացրեք փաթեթի քեշը.

sudo apt-get թարմացում

Փաթեթների կառավարչի միջոցով պահեստին հղում ավելացնելիս այն նույնպես պետք է լինի նման deb [վեբ պահեստի հղում]. Նաև, հնարավոր է, որ էկրանի նկարում նկատել եք PPA պահեստարաններով հատված: Նրանց հատկացված.

Սրա վրա, թերեւս, ամեն ինչ։ Եվ հիշեք, որ պինգվինին ընտելացնելն այնքան էլ դժվար չէ, որքան թվում է:

պահոց

շտեմարան, շտեմարան- վայր, որտեղ ցանկացած տվյալ պահվում և պահպանվում է: Ամենից հաճախ պահեստի տվյալները պահվում են ցանցում հետագա բաշխման համար հասանելի ֆայլերի տեսքով:

Կան մեկ լեզվով գրված ծրագրեր (օրինակ՝ CPAN Perl-ի համար) կամ մեկ հարթակի համար նախատեսված ծրագրեր պահելու պահոցներ։ Շատ ժամանակակից Օպերացիոն համակարգեր, ինչպիսիք են OpenSolaris-ը, FreeBSD-ը և Linux բաշխումների մեծ մասը, ունեն պաշտոնական պահոցներ, բայց նաև թույլ են տալիս տեղադրել փաթեթներ այլ վայրերից: Պահեստներից շատերն անվճար են, սակայն որոշ ընկերություններ վճարովի բաժանորդագրության համար տրամադրում են մուտք դեպի իրենց սեփական պահեստները:

Պահեստները օգտագործվում են տարբերակների վերահսկման համակարգերում, դրանք պահում են բոլոր փաստաթղթերը դրանց փոփոխությունների պատմության և ծառայության այլ տեղեկատվության հետ միասին: Ռուսական դիվերսիոն համայնքը խորհուրդ է տալիս օգտագործել տերմինի փոխարեն պահոցպահեստ տերմինը, քանի որ այն լիովին համապատասխանում է ինչպես «շտեմարան» բառի ուղղակի թարգմանությանը, այնպես էլ դրա հայեցակարգին։

Կան բազմազան ավտոմատացված համակարգերպահեստների ստեղծում: Պահեստների տեսակներից մեկը՝ պահեստները /DVD-ի վրա - տեղադրման սկավառակներայս կամ այն ​​ծրագրաշարի փաթեթների համար։

տես նաեւ

Հղումներ


Վիքիմեդիա հիմնադրամ. 2010 թ .

Տեսեք, թե ինչ է «Պահեստը» այլ բառարաններում.

    Տեղ, որտեղ տվյալները պահվում և պահպանվում են: Ամենից հաճախ պահեստի տվյալները պահվում են ցանցում հետագա բաշխման համար հասանելի ֆայլերի տեսքով: Պահեստները օգտագործվում են տարբերակների կառավարման համակարգերում, դրանք պահում են ամեն ինչ ... ... Բիզնեսի տերմինների բառարան

    պահոց- Տվյալների բազայի օբյեկտների պահպանում: Թեմաներ Ինֆորմացիոն տեխնոլոգիաընդհանուր EN պահեստում ...

    - (պատմական, լատ. repono, repositum տեղ վերադառնալու համար, սահմանել) մանկաբարձական գործիք, որն օգտագործվում է պորտալարի ցրված հանգույցը տեղադրելու համար ... Մեծ բժշկական բառարան

    Պահեստ. (անգլ. repository warehouse, storage) Repository Տես նաև Yucca Mountain Ամերիկյան չոր պահեստ՝ ծախսված միջուկային վառելիքի համար ... Վիքիպեդիա

    ծրագրային փաթեթի պահեստ (պահեստ)- 3.17 պահոց ծրագրային փաթեթներ(պահեստ). ծրագրային փաթեթների և դրանց մասին մետա տեղեկատվության փակ հավաքածու: Պահեստը կոչվում է փակ, եթե յուրաքանչյուր երկուական փաթեթի համար կարելի է հաշվարկել դրա փակումը, այսինքն. դուք կարող եք տեղադրել փաթեթը ... ... Նորմատիվային և տեխնիկական փաստաթղթերի պայմանների բառարան-տեղեկատու

    Յուկա լեռը ... Վիքիպեդիա

    Այս տերմինը այլ իմաստներ ունի, տես Սիզիփոս (իմաստներ)։ Սիզիփոսը հունական դիցաբանության կերպար է։ Սիզիփոս (... Վիքիպեդիա

    կենտրոնական պահոց- կենտրոնական պահեստավորման համակարգ Այս համակարգընախատեսված է տարբեր տվյալների պահպանման համար, ներառյալ մարզիկների կենսագրությունները, մեդալների հաշվարկը, միջոցառումների ժամանակացույցը, տրանսպորտային ծառայության հաշվետվությունները և այցելուների մասին տեղեկությունները: [Բաժին…… Տեխնիկական թարգմանչի ձեռնարկ

    Ինստիտուցիոնալ պահեստային էլեկտրոնային արխիվ՝ երկարաժամկետ պահպանման, կուտակման և երկարաժամկետ և հուսալի ապահովման համար բաց մուտքհաստատությունում իրականացված գիտական ​​հետազոտությունների արդյունքներին։ Համալսարանական ինստիտուցիոնալ ... ... Վիքիպեդիա

    Պահեստը այն վայրն է, որտեղ տվյալները պահվում և պահպանվում են: Ամենից հաճախ պահեստի տվյալները պահվում են ցանցում հետագա բաշխման համար հասանելի ֆայլերի տեսքով: Պահեստի օրինակ է անվճար ծրագրային ապահովման պահոցը ... ... Վիքիպեդիա

Գրքեր

  • Ruby on Rails սկսնակների համար: Սովորում ենք մշակել վեբ հավելվածներ Rails-ով Մայքլ Հարթլի կողմից: Օգտագործված ընկերությունների կողմից, ինչպիսիք են Twitter-ը, GitHub-ը, Disney-ը և Yellow Pages-ը, Ruby on Rails-ը վեբ հավելվածների մշակման ամենահայտնի շրջանակներից մեկն է, սակայն դրա…

Այն բանից հետո, երբ մենք փորձեցինք պատասխանել ձեր հարցերին, թե ինչն է և ինչն է, դուք, անշուշտ, կհանդիպեք նոր սահմանման՝ Պահեստ (repo, repo, repository):շտեմարան, շտեմարանսա այն վայրն է, որտեղ ցանկացած տվյալ պահվում և թարմացվում է: Ամենից հաճախ այս տվյալները ֆայլերի տեսքով են, որոնք հասանելի են ինտերնետի միջոցով հետագա տարածման համար: Այս հոդվածում մենք կպատմենք

հետ կապի մեջ

Cydia-ի պահեստների մասին: Հիմնական տարբերությունը App Store Cydia-ից այն է, որ Cydia-ն հավելվածների համար մեկ պահոց չէ: Cydia-ն հավելվածների վերաբերյալ տվյալներ է հավաքում ինտերնետի տարբեր ռեսուրսներից, որոնք հատուկ նախագծված են դրա հետ աշխատելու համար: Այս ինտերնետային ռեսուրսները կամ պարզապես կայքերը կոչվում են պահեստներ: Յուրաքանչյուր ոք կարող է ստեղծել շտեմարան՝ վերբեռնելով, օրինակ, Cydia-ի հավելվածների իր ընտրածը: Cydia-ում շատ պահեստներ կան:

Լռելյայն, հետո Cydia տեղադրումներ, այն արդեն պարունակում է մի քանի շտեմարան։ Դրանցից ամենամեծը BigBoss-ն է։ Այս պահոցը պարունակում է հարյուրավոր թեմաներ և ծրագրեր, ինչպիսիք են շատ հայտնի SBSettings-ը և Barrel-ը: Օրինակ, MyWi հավելվածը գտնվում է մեկ այլ պահոցում՝ ModMyi.com: Ընդհանրապես, հավելված տեղադրելու համար նախ պետք է Cydia-ին պահեստ ավելացնել, այսինքն. այն կայքը, որտեղ այն պահվում է:

Ինչպես ավելացնել նոր պահեստ Cydia-ին:

1. Սեղմեք Cydia պատկերակի վրա և անցեք բաժին «կառավարել»էկրանի ներքևի մասում, ապա ընտրեք բաժին «Աղբյուրներ».

2. Սեղմեք «Խմբագրել»աջ կողմում վերին անկյուն, եւ հետո Ավելացնելձախ.

4. Եթե ճիշտ է արված, ապա մի քանի վայրկյանից ձերը կհայտնվի պահեստների ցանկում նոր աղբյուր. Երբ սեղմեք դրա վրա, կտեսնեք հավելվածները դրա մեջ։

Եթե ​​հանկարծ համոզվեք, որ մուտքագրած հասցեն ճիշտ է, բայց պահեստը չի ավելացվել աղբյուրների ցանկին, և Cydia-ն հաղորդում է սխալի մասին, ապա, ամենայն հավանականությամբ, խնդիրը սերվերի գերբեռնվածությունն է, որտեղ գտնվում է պահեստը: Այս դեպքում արժե ջնջել ավելացված պահոցը և հետո նորից տեղադրել այն։

Օգտակար պահոցների ցանկ.

http://sinfuliphonerepo.com (հավելվածներ, patches և այլն)

http://ihacksrepo.com (տարբեր ֆայլերի հսկայական գրադարան)

http://cydia.i4tips.com (շատ դեբ. փաթեթներ)

http://apt.alleon.name (ռուսական շտեմարան. թեմաներ, ուղղումներ, հաքեր, ծրագրեր, խաղեր, պաստառներ, զանգեր)

http://cydia.xsellize.com (ծրագրեր, խաղեր, նկարներ, զանգեր):

http://ispaziorepo.com/cydia/apt/ (թեմաներ, ուղղումներ, հաքեր, ծրագրեր, խաղեր, պաստառներ, զանգեր և այլն)

http://cydia.hackulo.us (AppSync, տեղադրվող և HackLous patches)

http://repo.hackyouriphone.org (հակեր, ռեժիմներ, ծրագրեր և այլն)

Կարևոր!!! Երբեք մի տեղադրեք Cydia-ից անծանոթ հավելվածներ. դա կարող է հանգեցնել սարքի տվյալների կորստի կամ վերականգնել iTunes-ի միջոցով:

Ստորև կարող եք տեսնել, թե պահեստային ծառայությունները որտեղ են պահվում տվյալները, որ տարբերակների կառավարման համակարգերն են աջակցվում, արդյոք դրանք ունեն աշխատասեղանի հավելված և որ օպերացիոն համակարգերում այն ​​կարող է տեղադրվել:

# Ընկերություն Տարի Տարբերակի վերահսկում Տվյալների պահպանում Գինը (ամսական), $
1
0
2008 git, svn 7–210
2
0
2008 Git, Mercurial ամպ / սեփական սերվեր 10–200
2016
3
0
2011 git ամպ / սեփական սերվեր 4-99
4
0
2007 git, svn ամպ 15–200

Հարցվողների տվյալները մշակելիս կոդը պահելու այլ պահեստային ծառայություններից դիտարկվել են հետևյալը՝ Amazon Cloud Drive, Codebase, Gitolite, Heroku, Microsoft Azure, RhodeCode, Subversion, Team Foundation Server:

Վարկանիշի մասին

Tagline-ի կոդերի պահպանման համար պահեստային ծառայությունների վարկանիշն անցկացվում է երրորդ անգամ և հիմնված է թվային ընկերությունների 540+ տեխնիկական առաջնորդների հարցման վրա, որն անցկացվել է 2016 թվականի ապրիլից մինչև 2018 թվականի մայիսը: Հարցվողներին առաջարկվել է ընտրել «Ի՞նչ պահեստային ծառայություններ եք օգտագործում ծածկագիրը պահելու համար» հարցի մեկ կամ մի քանի պատասխաններ:

Դինամիկան համեմատվում է Tagline-ի կողմից 2014 թվականի օգոստոսից մինչև 2016 թվականի ապրիլ ընկած ժամանակահատվածի տվյալների հետ։

GitHub-ը՝ նախագծերի հոսթինգի ամենահայտնի վեբ ծառայությունը, որը հիմնված է Git տարբերակի կառավարման համակարգի վրա, շարունակում է առաջատարը լինել վարկանիշում բավականին մեծ տարբերությամբ (77%)։ Բաց կոդով նախագծերի համար ծառայությունն անվճար է, իսկ մասնավոր պահոցներով մասնավոր նախագծերի համար կան մի քանի սակագնային պլաններ.
- անձնական (թիմային օգտագործման համար մասնավոր պահոցների ստեղծում՝ ամսական 7 դոլարից);
- փոքր կազմակերպությունների համար (հնարավոր է դառնում կառավարել մուտքի կարգավորումները՝ ամսական $25-ից);
- խոշոր ընկերությունների համար (կարելի է տեղադրել ձեր սեփական սերվերի կամ ձեր սեփական ամպի վրա՝ տարեկան $2520-ից):
GitHub-ը հաճախ կոչվում է որպես ծրագրավորողների սոցիալական ցանց: Այն ունի բոլոր համապատասխան տարրերը՝ հետևել, մեկնաբանել, ֆավորիտներ: Ծառայության գործունեությունը կարող է նաև հանդես գալ որպես ռեզյումե:

Երկրորդ տեղում Bitbucket-ն է, որի օգտին քվեարկել է հարցվածների 48%-ը։ Այն թույլ է տալիս ստեղծել անսահմանափակ թվով մասնավոր պահոցներ, սակայն ունի 5 օգտվողի սահմանափակում: Թիմերի համար ավելի մեծ չափսկա վճարովի տարբերակ՝ սկսած $10-ից։ Քանի որ Bitbucket-ը Atlassian-ի արտադրանքներից է, այն կարող է ինտեգրվել այլ Atlassian լուծումների՝ JIRA, Hipchat, Bamboo:

GitLab-ը (14%) ֆունկցիոնալությամբ նման է GitHub-ին, բայց դուք կարող եք այն անվճար տեղադրել ձեր սեփական սերվերի վրա և հարմարեցնել այն ձեր կարիքներին: Միևնույն ժամանակ, այն գոյություն ունի նաև որպես SaaS. գրանցումից հետո դուք կարող եք անվճար ստեղծել մասնավոր պահոցներ։ համատեղ աշխատանք. Վճարովի առանձնահատկություններ՝ խոշոր ընկերությունների համար նախատեսված տարբերակով (տարեկան 48 դոլարից):

Վերջապես, Beanstalk-ը չորրորդ տեղում է՝ հարցվածների ընդհանուր թվի 1%-ը։ Ի տարբերություն մրցակիցների, այն առաջարկում է անվճար տարբերակմիայն 2 շաբաթ, իսկ վճարովի պլանների ընտրությունը կախված է օգտատերերի քանակից, պահեստներից և հատկացված պահեստային տարածքից: Վճարովի ընկերությունների սակագները ($50–200) ներառում են նաև մի շարք լրացուցիչ հնարավորություններ, օրինակ՝ առաջնահերթ աջակցություն կամ միաժամանակ մի քանի սերվերների տեղակայում: