Açıq bir proqramçı olun

Müəllif: Morris Wright
Yaradılış Tarixi: 24 Aprel 2021
YeniləMə Tarixi: 1 İyul 2024
Anonim
Ko’ngil (o’zbek serial) 131 - qism | Кўнгил (ўзбек сериал) 131 - қисм
Videonuz: Ko’ngil (o’zbek serial) 131 - qism | Кўнгил (ўзбек сериал) 131 - қисм

MəZmun

Açıq proqramın yazılması və istifadəsi yalnız bir proqramlaşdırma forması deyil (proqramçılar dünyasında "hack" də deyilir), bir növ fəlsəfədir. Kodlaya bilmək üçün yalnız bir proqramlaşdırma dilini bilməlisinizsə də, bu məqalə cəmiyyətə necə qoşulmaq, dostluq etmək, möhtəşəm layihələrdə əməkdaşlıq etmək və başqa yerdə tapa bilməyəcəyiniz bir profil ilə hörmətli bir mütəxəssis olmaq barədədir. Açıq proqram dünyasında, yalnız bir elit, yüksək səviyyəli proqramçıların bir şirkətdə yerinə yetirilməsinə icazə verilən tapşırıqları asanlıqla sizə verə bilərsiniz. Bunun sizə nə qədər təcrübə gətirə biləcəyini düşünün. Ancaq açıq bir proqramçı olmağa qərar verdikdən sonra, bu hədəfə vaxt ayırmağa hazır olmalısınız. Əgər siz artıq İT tələbəsisinizsə, bu da tətbiq olunur. Diqqət edin, bu məqalə hacker və ya kraker olmaq barədə deyil.

Addımlamaq

  1. Yaxşı bir Unix paylanması yükləyin. GNU / Linux proqramlaşdırma üçün ən populyardır, lakin GNU Hurd, BSD, Solaris və (müəyyən dərəcədə) Mac OS X də istifadə olunur.
  2. Komanda xəttindən necə istifadə edəcəyinizi öyrənin. Komanda xəttindən istifadə edirsinizsə Unix kimi əməliyyat sistemləri ilə daha çox şey edə bilərsiniz.
  3. Az və ya çox qənaətbəxş bir səviyyəyə çatana qədər bəzi populyar proqramlaşdırma dillərini öyrənin. Əks təqdirdə, kodu (hər hansı bir proqram layihəsinin ən vacib hissəsi) açıq proqram cəmiyyətinə töhfə verə bilməzsiniz. Bəzi mənbələr eyni anda iki dildə başlamağı təklif edir: bir sistem dili (C, Java və ya oxşar) və ssenari dili (Python, Ruby, Perl və ya oxşar).
  4. Daha məhsuldar olmaq üçün NetBeans və ya bənzər bir inteqrasiya edilmiş inkişaf mühitinə ehtiyacınız var.
  5. Vi və ya Emacs kimi inkişaf etmiş bir redaktordan istifadə etməyi öyrənin. Daha yüksək öyrənmə əyrisi var, ancaq onlarla daha çox şey edə bilərsiniz.
  6. Versiya nəzarəti haqqında məlumat əldə edin. Versiya nəzarəti, ehtimal ki, paylaşılan proqram inkişafı üçün iş birliyinin ən vacib vasitəsidir. Yamaların necə yaradılacağını və tətbiq olunacağını anlayın. Cəmiyyətdə açıq proqram inkişafının əksəriyyəti müxtəlif yamaların yaradılması, müzakirəsi və tətbiqi ilə həyata keçirilir.
  7. Təcrübə qazanmaq üçün asanlıqla iştirak edə biləcəyiniz uyğun, kiçik bir açıq proqram layihəsi tapın. Bu cür layihələrin əksəriyyəti SourceForge.net saytında bu günlərdə tapıla bilər. Uyğun bir layihə aşağıdakıları əhatə etməlidir:
    1. Bildiyiniz proqramlaşdırma dilindən istifadə edin.
    2. Son buraxılışlarla birlikdə aktiv olun.
    3. Artıq üç-beş inkişafçıdan ibarətdir.
    4. Versiya nəzarətindən istifadə etmək.
    5. Mövcud kodu çox dəyişdirmədən dərhal başlaya biləcəyiniz bir hissəyə sahib olun.
    6. Koddan əlavə yaxşı bir proyektdə aktiv müzakirə siyahıları, səhv hesabatları, yaxşılaşdırma istəklərini alır və həyata keçirir və bənzər fəaliyyətlər var.
  8. Seçilmiş layihənin administratoru ilə əlaqə saxlayın. Az inkişaf etdiricilərdən ibarət kiçik bir layihədə köməyiniz ümumiyyətlə dərhal qəbul ediləcəkdir.
  9. Layihənin qaydalarını diqqətlə oxuyun və az-çox onlara əməl edin. Proqramlaşdırma tərzinin qaydaları və ya dəyişikliklərinizi ayrı bir mətn sənədində sənədləşdirməyə ehtiyac əvvəlcə gülünc görünə bilər. Bununla birlikdə, bu qaydaların məqsədi paylaşılan işi təmin etməkdir və əksər layihələr onlarla işləyir.
  10. Bu layihə üzərində bir neçə ay çalışın. İdarəçinin və digər layihə üzvlərinin dediklərini diqqətlə dinləyin. Proqramlaşdırma ilə yanaşı öyrənmək üçün çox şey var. Ancaq həqiqətən bir şeydən xoşlanmırsınızsa, dayandırın və başqa bir layihəyə keçin.
  11. Yeraltı layihədə çox uzun müddət qalmayın. Özünüzü bu komandada uğurla işləyə bildiyinizi gördükdən sonra daha ciddi bir şey axtarmağa başlamağın vaxtı gəldi.
  12. Ciddi, yüksək səviyyəli açıq proqram və ya açıq mənbəli bir layihə axtarın. Bu cür layihələrin əksəriyyəti GNU və ya Apache təşkilatlarına məxsusdur.
  13. Burada ciddi bir sıçrayış etdiyimiz üçün, daha az isti qəbulu nəzərə almalısan. Çox güman ki, ilk dəfə kod deposuna birbaşa yazılı giriş olmadan işləməyiniz istənəcəkdir. Ancaq əvvəlki yeraltı layihə sizə çox şey öyrətməli idi - buna görə bir neçə ay səmərəli bir töhfə verdikdən sonra sahib olmağın lazım olduğunu düşündüyünüz hüquqları tələb edə bilərsiniz.
  14. Ciddi bir vəzifə götürün və həll edin. Vaxtdır. Qorxma. Tapşırığın əvvəlcə düşündüyünüzdən daha çətin olduğunu görsəniz də davam edin - bu addımda təslim olmamaq vacibdir.
  15. Bacarırsınızsa, bu macəraya bir az pul qoymaq üçün Google-un "Yaz Yayına" müraciət edin. Ancaq həqiqətən yaxşı proqramçılardan daha az maliyyələşdirilən vəzifələrə sahib olduqları üçün müraciət qəbul edilmirsə narahat olmayın.
  16. Yaxında baş verən uyğun bir konfrans tapın ("Linux günləri" və ya bənzəri) və orada layihənizi təqdim etməyə çalışın (bütün layihəvə yalnız proqramınızın bir hissəsi deyil). Ciddi bir pulsuz / açıq mənbəli bir layihəni təmsil etdiyinizi söylədikdən sonra təşkilatçılar tez-tez konfrans haqqından sizə kompensasiya verəcəklər (əks təqdirdə konfrans hər halda uyğun olmayacaq). Linux noutbukunuzu gətirin (varsa) və bəzi nümayişlər etdirin. Təqdimatınızı və ya afişanızı hazırlamaq üçün istifadə edə biləcəyiniz materiallar barədə layihə rəhbərinə müraciət edin.
  17. Yaxınlıqdakı quraşdırma tədbiri ilə bağlı elanları İnternetdə axtarın və əvvəlcə bir istifadəçi kimi iştirak etməyə çalışın (ortaya çıxan bütün məsələlərə və hakerlərin onları necə düzəltdiyinə diqqət yetirin) və növbəti dəfə proqram qurmağı təklif edin.
  18. Tapşırığı tamamlayın, işinizi avtomatik testlərlə yoxlayın və layihəyə töhfə verin. Bitirdiniz! Əmin olmaq üçün layihədəki bəzi proqramçılar ilə şəxsən görüşməyə çalışın və nəticədə bir stəkan pivə birlikdə qaldırın.
  19. Daha yaxşı başa düşmək üçün açıq bir proqram layihəsinin inkişaf tarixinin real nümunəsinə baxın (yuxarıya bax). Hər bir yüksələn döngə, tək bir inkişaf etdiricinin bir töhfəsini (kod xətlərini) təmsil edir. Geliştiricilər yaşla daha az aktivləşməyə meyllidirlər, lakin yeni insanlar qoşulduqda belə layihə tez-tez sürətlənir. Beləliklə, cibinizdə bəzi faydalı bacarıqlarla gəlsəniz, komandanın sizi dəvət etməməsinə səbəb yoxdur.

Göstərişlər

  • Layihə daxilindəki praktik tələblər barədə bir sual verməzdən əvvəl cavabını layihə sənədlərində və poçt siyahısı arxivlərində axtarın.
  • Başladığınız hər hansı bir proqramlaşdırma işini həmişə bitirməyə çalışın. Qurula bilmir, işləyə bilmir, sistem çökür? Orada olmaq hər şeyin səbəbləri və mənbə kodunuz varsa, ümumiyyətlə sisteminizin olduğu deməkdir yaxşı istədiyiniz hər şeyi etməyə məcbur edə bilər, xüsusən də bəzi onlayn araşdırmaların köməyi ilə. Əlbətdə bu qaydanın məhdudiyyətləri var, amma əsla çox asanlıqla təslim olmamaq vacibdir.
  • Özünüzü bir proqramçı (və ya haker) adlandırın, yalnız həqiqi hacker cəmiyyəti tərəfindən tanındıqdan sonra.
  • Başlanğıcda, hazırda heç kimin çox fəal işləmədiyi bir sinif, modul və ya başqa bir vahid seçin. Eyni sinifdə və ya hətta bir mövqedə birlikdə işləmək hər tərəfdən daha çox bacarıq və qayğı tələb edir.
  • Bəzi hakerlərin / proqramçıların işəgötürənləri iş saatları ərzində töhfələrə imkan verəcək qədər motivasiyalı görünürlər (ümumiyyətlə qurum proqramçı inkişaf etdirdiyi pulsuz / açıq mənbəli proqramdan istifadə edir). Fikir verin, bəlkə də bu şəkildə lazım olan vaxtın heç olmasa bir qismini ala bilərsiniz.
  • Hələ də özünüzə kifayət qədər inamınız yoxdursa, itkin düşdüyünü düşündüyünüz və sıfırdan yaza biləcəyiniz bir hissədən başlayın. Mövcud koddakı dəyişikliklərin tənqid olunma ehtimalı daha yüksəkdir.

Xəbərdarlıqlar

  • İcma layihəsindəki haker statusunuz keçmişinizdən daha çox bu gününüzün əksidir.Layihə rəhbərindən bir tövsiyə və ya oxşar bir şey istəsəniz, xahiş edirəm hələ də aktiv töhfə verdiyinizi soruşun.
  • Kiçik kod optimallaşdırmalarına, əlavə şərhlərə, kodlaşdırma tərzinin təkmilləşdirilməsinə və digər oxşar "kiçik miqyaslı" şeylərə əl atmayın. Bu ciddi bir töhvədən daha çox tənqidlə qarşılaşa bilər. Bunun əvəzinə, bu dəyişiklikləri tək bir "təmizləmə" yamasına əlavə edə bilərsiniz.
  • Açıq proqram hakerləri ilə şəxsən görüşməyi planlaşdırırsınızsa, Windows dizüstü kompüterinizi evdə qoyun. Mac OS biraz daha tolere edilir, lakin bu da xoş qarşılanmır. Dizüstü kompüterinizi gətirirsinizsə, Linux və ya "açıq proqram" hesab etdikləri başqa bir əməliyyat sistemi işləmiş olmalıdır.
  • E-poçt müştəriniz HTML mesajlarını dəstəkləyirsə, bu xüsusiyyəti deaktiv etməlisiniz. Heç vaxt yalnız ticarət proqramının (Microsoft Word kimi) düzgün aça biləcəyi sənədləri əlavə etməyin. Hakerlər bunu təhqiramiz hesab edirlər.
  • Kodu təsdiq edilmiş açıq mənbə lisenziyasına daxil olmayan bir şirkətin layihələrində könüllü olmayın. Belə hallarda, layihənin həqiqətən vacib hissələrinin sahibindən qapalı qapılar arxasında qalması və faydalı bir şey öyrənməyinizə maneə ola bilər.
  • Proqramlaşdırma və ya proqramlaşdırma vasitələrinin əsasları ilə bağlı hər hansı bir sualdan çəkinin. Açıq bir proqramçı vaxtı dəyərlidir. Bunun əvəzinə həvəskar və ya yeni başlayan proqramçı qruplarında proqramlaşdırmanın əsaslarını müzakirə edin.
  • Qurulan və olduqca uğurlu layihələr işinizi heç vaxt geri ödəməyinizlə bağlı yazılmış və ya yazılmamış siyasətlərə sahib ola bilər (pul yox, özünüzü tanıtmaq qabiliyyətiniz yoxdur, qatqınızdan asılı olmayaraq yüksək status yoxdur və s. Baxın: Vikipediyanı Do_not_expect_reward). Bununla razılaşa bilmirsinizsə, belə bir münasibəti ödəyə bilməyən daha çox yayılmış layihələrə sadiq qalın.
  • Həmişə qürurlu təklikdə sərf etmək istəmədiyiniz təqdirdə öz layihənizə başlamayın. Eyni səbəbdən, əvvəlki komandasının itirdiyi onsuz da tərk edilmiş bir layihəni canlandırmaq cəhdinə başlamamaq daha yaxşıdır.
  • Layihə ilə bağlı heç vaxt heç bir kod verməməyiniz üçün qeyri-rəsmi bir görüşmə halında, tamamilə laqeyd qalmağın xoşagəlməz hissini yaşayacaqsınız. Narahat olmayın, bəzi hackerlar öz kodunuzla hörmət qazandıqdan sonra daha sonra yaxşı dost ola bilərlər.
  • Xüsusilə GNU domeni ətrafındakı böyük açıq proqram layihələri, işinizi şəxsi işiniz kimi qəbul etmir. Proqramla əlaqəli bir şirkətdə işə başladıqdan sonra, işəgötürəninizdən şirkətin imzalayacağı və ya etməyəcəyi müəyyən müqavilələri [1] imzalamasını xahiş edirlər. Bu, daha az tələb olunan bir layihə seçməyə məcbur edə bilər.

Ehtiyaclar

  • Linux. Bir çox açıq proqram layihəsinin Windows-da qurulması daha mürəkkəbdir və ya ümumiyyətlə düzgün qurulmayıb. Bu, xüsusilə mobil telefonların, USB düymələrinin və digər cihazların proqramlaşdırılmasına həsr olunmuş inkişaf etmiş layihələr üçün doğrudur.
  • Nisbətən yaxşı bir internet bağlantısı olan bir kompüter. Windows ilə ikili açılış saxlamaq istəsəniz, Linux üçün ikinci bir sabit disk və ya bölmə yaxşı bir həll ola bilər.
  • Ən azı bir proqramlaşdırma dili haqqında əsas bilik və daha çox şey öyrənmək niyyəti. Hal-hazırda ən populyar dillər C və Java kimi görünür.
  • Həftədə ən azı beş saat əhəmiyyətli bir vaxt (tipik bir hardcore proqramçı böyük bir 14 saat kömək edir).
  • Rəsmi İT təhsili yolunuzu çox asanlaşdırsa da, budur yox məcburi bir tələb və heç bir real hacker icması bu barədə səndən heç vaxt soruşmayacaq. Proqramçılar / hakerlər bir-birlərini siniflər, yaş, irq və ya mövqe kimi saxta meyarlarla deyil, kiminsə proqramı ilə qiymətləndirirlər. Diqqət yetirin, yamalarınızı qiymətləndirən açıq mənbəli hakerlərin ən azı 60% -i "düzgün" kollec dərəcəsinə malikdir və layihəyə cəfəngiyat qatmağınıza imkan verməyəcəkdir.
  • Son addımlar (konfrans və 'partiyanı qur') zamanı öz noutbukunuzdan faydalana bilərsiniz. Ancaq bunun üzərində evdə işləmək yaxşı deyil, buna görə yalnız ikinci maşına gücünüz çatırsa birini alın.
  • Açıq mənbəli bir proqram "haker" olmaq üçün izah edilən yolun tamamlanması ən azı iki il çəkir.