Автоматты аударма пайдаланылды

Жаңадан бастаған әзірлеушіге pet жобалары не үшін қажет

Pet жобалары мансаптық табыстың кілті ретінде: құру бойынша нұсқаулық және кеңестер

Кевин Систром бос уақытында Burbn мобильді қосымшасын жасады, онда пайдаланушылар чек жасай алады, кездесулерді жоспарлай алады және фотосуреттерді жүктей алады. Жобаны қайта ойластырғаннан кейін Instagram әлеуметтік желісі Майк Кригермен бірге пайда болды. Марк Цукерберг Гарвард студенті кезінде Facebook-ті pet жобасы ретінде құрды. Дрю Хьюстон Dropbox-ты файлдарды сақтау және синхрондау мәселесін шешу үшін жеке жоба ретінде бастады.

Бұл әңгімелер шағын жеке жобалар адамдардың нақты мәселелерін шешсе, жаһандық компанияларға айналуы мүмкін екенін көрсетеді.

Бұл мақалада Вячеслав Легостин, Тимлид Backend-Kolesa Group әзірлемелері, pet жобалары туралы жаңадан бастаушылар білуі керек барлық нәрсені айтады.

Pet жобасы-бұл әзірлеушінің бос уақытында жасайтын жеке жобасы.  Мұндай жоба негізінен жаңа технологияларды үйрену және коммерциялық жобаларға жақын жобаларды әзірлеу тәжірибесін алу үшін қажет. Сондай-ақ, pet жобасының арқасында сіз не істей алатыныңызды көрсете отырып, жұмыс берушіні сұхбатқа қызықтырасыз. Бұл сізді қызықтыратын кез келген идея болуы мүмкін: қолданба, сайт немесе тіпті ойын.

  • Жоба идеясы

Сізге өте қызықты тақырыпты таңдаңыз. Мен, мысалы, хоббиімді таңдадым — пейзаждық фотосурет. Бұл сізге мүмкіндігінше қатысуға мүмкіндік береді: сіз жаңа чиптер мен жақсартуларды ойлап таба аласыз, пікірлес адамдар мен нақты пайдаланушыларды таба аласыз.

  • Іс

Мен гайдты pet жобасының объективі-фотографтарға арналған веб — сайт арқылы әкелемін. Мен оны сұхбаттарда көрсетуден ұялмас үшін оны құруға екі ай жұмсадым.

Біз Гайд үшін дәл осы идеяны таңдамаймыз: ол кем дегенде он жаста. Біз идеяны басқа бағыттарға кеңейтеміз және жобаны 2024 жылдың шындығына бейімдейміз. Сайт хабтарды, посттар арнасын, пайдалы ақпараты бар динамикалық блоктарды, санаттарды, рейтингтерді қамтуы керек. Сайт Reddit стилінде болады.

1. Стек таңдаңыз

Жобаға арналған технологиялар мен бағдарламалау тілін таңдау сіздің мақсаттарыңыз бен еңбек нарығыңызға сәйкес келуі керек. Компанияларда қандай стек қолданылатынын, қайда орналасуды жоспарлап отырғаныңызды анықтаңыз. Backend әзірлеушілері үшін мен PHP, Python немесе Java ұсынамын.

Сайт үшін біз PHP-ді таңдаймыз-бұл көптеген Оқу материалдары мен Laravel шеңбері бар салыстырмалы түрде оңай үйренуге болатын бағдарламалау тілі. Ларавелдің қуатты қауымдастығы және көптеген материалдары бар.

Деректерді сақтау үшін әрқашан MySQL немесе PostgreSQL сияқты тегін және танымал реляциялық базаларды таңдаңыз.

Backend әзірлеушілері үшін frontend қалай жұмыс істейтінін білу маңызды. Жылдам және қарапайым орналасу үшін мен Tailwind CSS-ке кеңес беремін.

2. Сайт үшін негізгі функционалдылықты анықтаймыз

- тіркеу және авторизация;

— субреддиттің аналогтық хабтарын құру {кез-келген тақырып бойынша Reddit ішіндегі қауымдастық};

- посттар құру;

- хаб ленталары;

- Басты бет;

- ұнату, ұнату, Пікірлер.

Бұл кезеңде сіз қажетті бағдарламалау тілі мен шеңберін меңгересіз, мәліметтер базасымен жұмыс істеуді және веб-жобаларға авторизацияны қалыптастыруды үйренесіз. Сондай - ақ, backend-және frontend бір-бірімен қалай әрекеттесетінін түсінесіз.

3. Біз жобаны интернетте орналастырамыз

Негізгі функционалдылық дайын болған кезде, жобаны интернетте орналастыратын кез келді. Сізге виртуалды VPS сервері, Операциялық жүйе (мысалы, Ubuntu) және әдемі домен қажет болады.

Бұл кезеңде сіз үйренесіз:

- SSH қатынауымен және SSH кілттерімен жұмыс істеу;

- SFTP протоколын орнатыңыз және файлдарды VPS серверіне жүктеңіз;

- терминалмен және командалармен жұмыс істеу: cat, ls, nano, vim, history, grep, apt, CP, mv, chmod, chown, artisan және т. б.;

- PHP, MySQL, PostgreSQL, NGINX серверінде кеңейту.

Сонымен қатар, сіз Docker қосымшасын контейнерлеу жүйесін енгізе аласыз. Бұл танымал және үйренуге оңай қолданбаларды контейнерлеу жүйесі, кітапханалар, жүйелік құралдар, Код және жұмыс уақыты ортасы бар.

4. Журналдар және өнімнің күйін бағалау

Жақсы маман журналдарды жинап, оларды талдай білуі керек. Журналдар-бұл компьютерлік жүйеде болған барлық оқиғалар автоматты түрде жазылатын қойма. Бұл қойма мәтіндік файлдар, жергілікті база немесе жеке жүйе ретінде қызмет ете алады. NGINX журналдарын қайда және қалай іздеу керектігін білу, PHP журналдарын және қосымшаның өзін талдай білу, Laravel-тен Pail сияқты утилиталарды қолдану қажет.

5. Өнімді дамыту

Осы кезде жобаны жақсарту үшін қосымша мүмкіндіктерді қосуға болады:

1) Redis көмегімен кэштеу-беттерді жүктеуді жылдамдату үшін.

2) Elasticsearch көмегімен Сайттан іздеу — пайдаланушы тәжірибесін жақсарту.

3) CI/CD құбырларын орнату-кодты үнемі автоматтандырылған құрастыру үшін.

4) RabbitMQ немесе Apache Kafka арқылы кезекпен жұмыс істеу — асинхронды деректерді өңдеу үшін.

5) деректерді оңай сақтау үшін MySQL реляциялық базасынан MongoDB — ге ақпаратты аудару.

6) go-да микросервистерді пайдалану-хабарламаларды жіберу сияқты жекелеген функцияларды бөлектеу үшін.

1) түйіндемеде жобада жұмыс істеу кезінде алған дағдыларыңызды көрсетіңіз. 

2) жобаны нақты пайдаланушыларға көрсетіңіз және олардың пікірлерін ескеріңіз.

3) сұхбат алдында теорияны қайталаңыз және шыншыл болыңыз: жоба тәжірибе алу үшін жасалғанын ескеріңіз.

Пікірлер 6

Кіру пікір қалдыру үшін

🔥🔥🔥

Жауап беру

Для получения 1 ХР

Жауап беру

Спасибо за то, что поделились своими мыслями. Посмотрите на идею статьи со следующих точек зрения: 1. Если начинающий разработчик создал pet-проект, то он уже стал начинающим Product Owner. 2. Если вы стали начинающим Product Owner, то нужно ознакомиться с основами PLM (Product Lifecycle Management). 3. После ознакомления с PLM (Product Lifecycle Management) Вы будете больше думать о JTBD (Jobs To Be Done). 4. Если идея вашего pet-проекта будет потенциально перспективной, то необходимо уделить внимание юридическим вопросам, например: регистрация торгового знака в той стране, на рынок которой нацелен продукт. Часто это USA, и вопросы регистрация торгового знака здесь очень важны. Желаю Вам мечтать и творить, не забывая о Project Environment.

Жауап беру

🔥

Жауап беру