Ukweli funny, nilifikiri kwamba tayari nimeandika chapisho hili, lakini wakati nilitaka kutaja, nilijifunza kwamba sikuwa. Katika chapisho hili, ningependa kuelezea mbinu yangu wakati wa kuchagua unyanyasaji. Nitafafanua kwanza kile ninafikiri na unyanyasaji katika muktadha wa chapisho hili. Utegemezi ni nini? Utegemezi ni kitu ambacho programu yako inategemea: miundombinu kama vile mfumo wa faili au database, mtandao, nk Katika muktadha wa chapisho hili, hata hivyo, ningependa kupunguza kiwango cha utegemezi kwa programu ambayo unahitaji kuunda / kuendesha, Programu tofauti za programu zina majina tofauti kwa maktaba hii: ya E. Ruby anachoita kuwa gem Rust anachoita ni crate Python na Node.js huitwa pakiti Kazi hii inajulikana kama module Maven/Gradle anasema ni kujitegemea, kwa hiyo jina langu linatumika katika kichwa Vinginevyo Kumbuka kwamba sekta imebadilika kwa usanifu wa huduma kwa sababu ya mapato tu. Mtu anaweza kufikia huduma kupitia API ya REST au kitu kingine. Uwekezaji vs. kununua Wakati unahitaji programu mpya, utaratibu wa kawaida ni kujenga vs. kununua-Component Off The Shelf. sababu sawa inaweza kutumika na utegemezi mpya, na chaguo moja kubwa ya ziada: Open Source. Sababu za kuchagua moja juu ya nyingine zimejadiliwa kwa undani sana kwa miaka mingi. Hapa ni mchango wangu mdogo, kutoka kwa uzoefu wangu binafsi. Katika miradi yangu, mimi ni wa kudumu sana kuhusiana na kuonekana. Ninajaribu kudumisha upatikanaji wa nje kwa kiwango cha chini kabisa. Katika Java, nina kutumia kadri iwezekanavyo, ikiwa ni pamoja na watengenezaji. Hata hivyo, huwezi kutumia watengenezaji wa kibinafsi katika majaribio.Kwa hiyo, niliongeza kuonekana kwa ulinzi wa mfuko, lakini nilitaka njia ya kuthibitisha. private Katika siku za nyuma, nilitumia maoni ya mara kwa mara mpaka mwenzake mmoja alionyesha uhalali wa Guava. Mimi nilikuwa mtazamaji mkubwa mara moja. na hata hivyo, sikuweza kuleta utegemezi kwa Ikiwa hii ni alama ya pekee niliyo nayo kwa Guava, basi ningependa kuunda mwenyewe. Ufafanuzi wa kutosha @VisibleForTesting Ikiwa ningependa darasa zingine kutoka Guava, hata hivyo, ningependa kuchunguza uamuzi wangu. , ramani na uwezekano wa thamani nyingi zilizohifadhiwa chini ya kichwa, inahitaji muda mrefu zaidi ya kuendeleza. Labda ningeweza kuongeza utegemezi. Multimap ya Multimap Kama unaweza kuona, uamuzi ni kabisa kulingana na mazingira. Katika sehemu nyingine ya chapisho hili, tutafikiri kwamba kuchagua kujenga haikuwa suluhisho bora, na tunahitaji kuchagua utegemezi kutoka kwa kile kinachoendelea. Usimamizi wa hatari Kuchagua unyogovu ni hatari, na kama na hatari yoyote, unahitaji kutumia sahihi : Teknolojia ya Usimamizi wa Hatari Kutambua hatari: Katika sehemu inayofuata, nitatoa orodha ya mambo kadhaa ambayo unaweza kuzingatia. Angalia kila hatari. Angalia uwezekano na athari zake. mashirika ni tofauti. Mtu anachunguza athari ya hatari fulani kama BAD katika mazingira yao, lakini mwingine anachunguza kama BAD. Mpango wa majibu. kwa kila hatari, kumbukumbu ya hatua za kupunguza na gharama zinazohusiana nao Ufuatiliaji! Usimamizi wa hatari sio shughuli ya static iliyofanywa mara moja. Hata katika mazingira ya utegemezi, hatari mpya zinaweza kuonekana, kwa mfano, CVE mpya muhimu. Zaidi ya hayo, hatari inaweza kuongeza uwezekano wake, kwa mfano, mshiriki wa msingi huacha mradi, na kupunguza kiwango cha bus hadi kiwango cha muhimu. Labda ni wakati wa kujitolea mfanyakazi wa muda wote kwa ajili ya matengenezo ya mradi? Masharti ya Uchaguzi ya Niliandika ni msingi ambao nitajenga juu yake. Bluehost ya leseni na masuala ya kisheria Nadhani hii ni kipengele muhimu zaidi kwa muda mrefu. Unahitaji kuangalia leseni. GitHub inafanya iwe rahisi kuthibitisha: Kwanza, inahamasisha miradi kuwa na faili; kisha, inaonyesha wazi juu ikiwa ni moja ya leseni zilizojulikana za Open Source. LICENSE Unapaswa kuhakikisha unaelewa leseni. kwa mara kwa mara , ni rahisi sana: wengine tayari wamefanya kazi kwa ajili yenu. Kwa aina nyingine, inaweza kuwa ngumu zaidi. Baadhi ya viungo hupitishwa chini ya leseni mbili: moja Open Source na moja ya kibiashara. Mara nyingi, unaweza kudhani leseni ya Open Source ni ya kikomo na itahitaji leseni ya kibiashara. Maombi ya leseni ya OSI Bei ya Kuna mifano mitatu ya bei (ambayo ninajua): Bei ya kudumu Bei ya kubadilika kulingana na baadhi ya sababu(s), kwa mfano, idadi ya CPU, idadi ya watumiaji, nk. Mchanganyiko wa mambo ya juu Leseni inaweza kuwa kwa muda mdogo au daima. Ushauri wangu bora ni kuandika mahitaji yako, kiwango chako, na bajeti yako. Kisha, unapaswa uwezekano wa kuhamisha ununuzi kwa idara yako ya ununuzi: wao ni faida na ni bora ya kujadili. Utawala Mradi wa kibiashara unaongozwa na kampuni. Faida kuu ya mradi unaohusika na kampuni ni msaada wa kifedha. Inaweza kuwa jambo la kushangaza ikiwa mradi hauwezi kurejesha mapato yaliyotarajiwa. Faida zingine zinaweza kuhusisha ujuzi wa kitaaluma ili kuunganisha pamoja na msaada (tazama kiungo:# chini). Vyombo vya wazi vinatoa mbadala kadhaa kuhusu utawala: misingi, jumuiya ya watengenezaji, au moja pekee. misingi ni aina imara zaidi ya utawala, sawa na makampuni. Baadhi wanaweza hata kusaidia miradi ya kifedha. kwa ajili ya Kwa hiyo, na kufanya kazi chini ya mifano tofauti. Mfuko wa Apache Mfuko wa Eclipse Msingi wa Linux Apache Foundation inajenga juu ya mafanikio ya kibinafsi ya watu wanaofanya kazi kwenye miradi. Wao hutoa miundombinu (SCM, barua pepe, kujenga miundombinu, nk), lakini wewe mwenyewe ni zaidi ya hiyo. , sehemu ya Linux Foundation, inajenga juu ya makampuni. Kampuni inakuwa sehemu ya CNCF kwa kulipa mchango. wa cnc Idadi kubwa zaidi ya kikundi kinachomiliki mradi huo, itakuwa ya muda mrefu zaidi kuathiri. Ushawishi unaweza kuwa kubwa kama kuendesha ramani ya barabara katika mwelekeo unataka, na ndogo kama kupata makosa ya kurekebishwa, au hata kupata ufumbuzi wako mwenyewe kuunganishwa. Kuingiliana na watengenezaji itakuwa rahisi kwa watu wenye akili ya kiufundi. Katika hali yoyote, matarajio ya kucheza siasa ili kukuza lengo lako, ingawa na sera tofauti kulingana na mwili wa utawala. Mafanikio ya Kuongezea kujitegemea ni suluhisho: unahifadhi muda, lakini unapoteza udhibiti. Ikiwa unajenga programu yako juu ya mradi usiohifadhiwa, utahitaji au kuhamisha msimbo wako ili kupunguza kujitegemea au kuhifadhi mwenyewe. Hapa ni baadhi ya pointi za data ili kutathmini ufanisi wa mradi: Ni wakati gani mradi ulianzishwa? miradi ya zamani ilizalisha ujasiri zaidi. Ni nini historia yake ya kutolewa? mara kwa mara zaidi ya kutolewa mzunguko, bora ni. Mradi unatangaza ramani yake? Ikiwa ni hivyo, ni kiasi gani cha kina? ramani ya barabara, au hakuna kabisa, inatoa ukosefu wa maono; moja ya kina sana, hasa katika siku za usoni, inaweza kuwa ishara ya ukosefu wa ujasiri au uhalisi. Kwa miradi ya kibiashara, kuna kitu kama msaada wa muda mrefu? shughuli ya Kwa miradi ya chanzo cha wazi, unahitaji kuangalia shughuli zao. Mradi inaweza kuwa kazi sana katika siku za nyuma, lakini kupoteza kuendesha kwa njia. Katika sehemu hii, tunapaswa kuangalia mambo yafuatayo: Ni idadi ngapi ya matatizo yanayofunguliwa? Ni muda gani wa wastani wa kutatua tatizo? Ni hali ya ufumbuzi wa kawaida? Ni tatizo gani lililofunguliwa kwa muda mrefu zaidi? Majibu haya yanapaswa kukupa mawazo juu ya afya ya jumla ya mradi. Akaunti ngapi zinashirikiana na mradi? Akaunti ngapi zinashirikiana mara kwa mara, yaani, ni idadi ngapi ya watendaji wa msingi? Kwa maneno mengine, ni nini kiwango cha Bus? Kiwango cha juu cha bus, uwezekano mkubwa zaidi kwamba mradi utaendelea ikiwa mmoja wa watendaji huacha. Kuhusiana na yale yaliyotangulia, historia ya makubaliano ya makubaliano ya msingi ni nini? Makubaliano ya makubaliano yanaenea kati ya miradi kadhaa isiyohusiana, au yanajenga juu ya moja ambayo unategemea? Msaada wa Msaada unajumuisha msaada wa kibiashara na msaada wa jamii. Kwa mashirika madogo zaidi, msaada wa kibiashara ni mahitaji. Utegemezi wa kibiashara hutoa msaada huu kwa asili. Kwa miradi ya chanzo wazi, msaada unaendelea kutoka hakuna kwa makampuni ambayo hutoa msaada wa miradi kama sehemu ya biashara yao ya msingi. Kwa kawaida, makampuni haya huajiri watengenezaji wanaofanya kazi juu ya mradi. Kwa mfano, na ya kutoa msaada kwa ajili ya imewasilishwa na Shirika la Apache. Tamasha Heroes ya Ndoa ya Usalama Hatari ya Motor Msaada kutoka kwa jumuiya ni bure, lakini pia jitihada bora. Hakuna dhamana mtu atajibu maombi yako, na kama wanafanya, wakati. , GitHub, Slack, makundi ya Google, nk, na angalia: ya G. Idadi ya watu wanaojibu muda kati ya jibu na swali ubora wa majibu Uzoefu wa Developer Uzoefu wa watengenezaji, pia unaojulikana kama DX, ni moja ya tofauti muhimu kati ya mradi mzuri na mradi mzuri. na kikundi maudhui katika makundi yafuatayo: mafunzo, jinsi-kuongoza, mwongozo reference, na maelezo. Mfumo wa Divio Wengi wa miradi hutoa nyaraka kamili za kumbukumbu. Baadhi hutoa mwanzo wa haraka. Kazi yangu ya kwanza ya DevRel juu ya mradi mpya kwa ujumla ni kuunda (au kufanya wengine kuunda) moja wakati haina. ukosefu wa mwanzo wa haraka ni kizuizi wakati wa kuingia watumiaji wapya. Sehemu nyingine ya DX inakuja kutoka kwa kutumia kujitegemea mwenyewe. Ningependa kupendekeza prototype ndani ya mradi mdogo wa muda-boxed, kutumia kujitegemea iliyotolewa. Itakupa hisia nzuri kwa ajili ya uzoefu wa watengenezaji. Ikiwa unawekeza mengi, ni busara prototyping baadhi ya kujitegemea kujitegemea pamoja. Usimamizi wa soko na Ecosystem Nimezungumzia hapo juu kwamba kuchagua kujitegemea ni usimamizi wa hatari. Kwa sababu sisi ni wanyama wa kijamii, tunaweza kutegemea watu ambao wamechagua kujitegemea kabla yetu kufanya uamuzi sahihi. Ergo, zaidi mashirika kutumia kujitegemea, zaidi uwezekano ni chaguo sahihi. Hata hivyo, kuwa makini na ugonjwa wa akili wa wanyama: Ninaona mashirika mengi kufanya tu hivyo na kuchagua kitu ambacho wengine wamechunguza katika muktadha tofauti kabisa. Napenda pia kupendekeza kuangalia mazingira, ikiwa inatumika. utegemezi wa ufafanuzi wa CSV bila shaka hauhesabiwi, lakini ufafanuzi wa kusoma / kuandika wa LDAP unafanya. Ni wateja gani wa LDAP wanaounga mkono? Hatimaye, angalia kama mwanachama mmoja au zaidi wa timu tayari anafahamu utegemezi. Mifano ya Mimi kamwe kutumika yoyote ya vigezo ifuatayo; mimi si kuendeleza. hata hivyo, inaweza kuwa muhimu katika mazingira yako. Usimamizi wa hatari na muda wa majibu Huduma ya afya na upyaji wa mara kwa mara Sera ya usalama wa umma Benchmarks ya umma na metric ya utendaji Mfano wa ulimwengu wa kweli wa scalability Usalama wa kampuni na uwazi wa kifedha Muhtasari wa Katika chapisho hili, nimeorodhesha vigezo kadhaa ambavyo unaweza kutumia kwa tathmini ya viungo. natumaini itakuwa na manufaa. Awali ilichapishwa katika A Java Geek tarehe 2 Novemba, 2025 A Java Geek