Pagsusulit. Simula ng Agosto 2017
Nagsimula ang lahat sa katotohanan na nagkaroon ako ng pakikipanayam sa isa sa mga kumpanya, kung saan ang unang hakbang ay magsulat ng isang pagsubok na gawain. Ang gawain ay magsulat ng isang code na maghahambing ng dalawang larawan ng parehong laki, hanapin ang mga pagkakaiba sa pagitan ng mga ito, pangkatin ang mga ito at gumuhit ng isang parihaba sa kanilang paligid. Mayroong unang larawan:-
Codacy - kalidad ng code. Ito ay talagang nagkakahalaga ng pagbibigay pansin sa.
-
Ang Travis CI ay isang tool na CI (continuous integration) na bumubuo ng isang proyekto, nagpapatakbo ng mga pagsubok at nagsasabi kung matagumpay na naitayo ang proyekto. Halimbawa, kung hindi pumasa ang isa sa mga pagsubok bilang resulta ng mga bagong pagbabago, sasabihin nito na hindi matagumpay ang pagbuo ng proyekto at bibigyan ito ng kulay ng pula.
-
Ang Coveralls ay isang tool na nagpapakita kung anong porsyento ng iyong code ang sakop ng mga pagsubok.
-
Ang BetterCode Hub ay isa pang tool para sa pagsusuri ng kalidad ng code. Isang napaka-kapaki-pakinabang na bagay na hindi lamang magsasabi sa iyo kung ano ang masama, ngunit naglalarawan din kung bakit at nagbibigay ng isang link sa isang libro kung saan maaari kang makakuha ng kaalaman tungkol dito.
Landas sa Aklatan. Hulyo 2018
Logo
Sa isang punto, natuklasan ko na ang mga tao ay madalas na bumibisita sa aking proyekto, at ito ay nangyayari araw-araw. Namangha ako dito, at lalo akong namangha sa katotohanang makalipas ang halos isang taon ay gumawa sila ng ISYU, kung saan nakasulat na may isang graphic designer na nag-aalok sa akin na gumawa ng logo para sa aking proyekto. Sinabi nila na gusto niyang gawin ito para sa mga produkto ng Opensource at gagawin ito nang libre. Nagsimula kaming magtulungan. Ilang mga pagpipilian ang iminungkahi, ngunit sa huli ay naayos namin ito:Unang Gilid na Depekto
Napansin ko na gumawa ng isyu para sa akin ang isang developer mula sa China , kung saan inilarawan niya na nakakita siya ng depekto sa gawain ng library, na kung gagamit ka ng malalaking larawan, makakakuha ka ng StackOverflowError . Nagpasya ang lalaki na samantalahin at natagpuan ang isang pagkakamali. At hindi ko lang nahanap. at nagsulat din tungkol sa kanya. Ito ay isang bagong hakbang sa pagbuo ng silid-aklatan. Bukod dito, wala talaga akong solusyon. Sa isang tiyak na punto, nagmungkahi ng solusyon ang isa sa mga tagasubok mula sa Russia. Ngunit ito ay hilaw at hindi ginawa ng maayos at hindi ko ito tinanggap. At kapag oras na para i-publish ang library sa Maven Central, kailangang lutasin ang isang bagay na may ganitong depekto; hindi ko nais na i-publish ito kasama nito. Bukod dito, may isa pang depekto na hindi ko na naayos at nagdulot din ito ng maraming abala.Paggamit ng Command Line. Taglagas 2018
Ang susunod na yugto sa pag-unlad ay pakikipag-usap sa isang Swede (Renato Athaydes), na gustong gamitin ang library sa pamamagitan ng command line at para dito kinakailangan na gumawa ng ilang mga pagbabago at pagdaragdag. Muli akong namangha at nagulat dito. Matapos sumulat sa akin ang graphic designer, ang aking sorpresa ay medyo mas mababa, ngunit napakataas pa rin. Ang pag-iisip na talagang kailangan ng isang tao ang aking code ay nagpuno sa akin ng hindi kapani-paniwalang damdamin. Ginawa niya ang mga kinakailangang pagbabago at inihanda ang code. Nagsagawa ako ng pagsusuri sa code, ibig sabihin, tiningnan ko ang mga pagbabago, may mga komento na binago at ang mga pagbabago ay nasa library na. Itinalaga ko ang mga pagbabagong ito bilang bersyon v2.0. Ang susunod na hakbang ay idagdag ang library sa Maven Central - isang sentral na imbakan, kung saan maaari mong i-download ito para sa anumang proyekto at gamitin ito bilang dependency. Sa oras na iyon, wala akong ideya kung paano gawin ito, kahit na sa malayo, kaya sinabi kong abala ako at hiniling sa kanya na gawin ang lahat ng mga hakbang na kinakailangan upang mai-set up ang proyekto. Ngunit ito ay naging hindi sapat at ang pinaka-kagiliw-giliw na bagay ay ang mag-set up ng isang koneksyon sa Maven Central. Ito ay isang ligaw na sakit, na hindi ko magawa sa unang pagkakataon, at noong Abril 15 lamang ako nakapag-publish ng proyekto sa Maven Central. Hindi ito madali, ngunit gaya ng gustong sabihin ng iba, "lahat ng gustong mag-publish ng kanilang Java code ay dumaan dito." Bago ko i-publish ang library, sa wakas ay nakita ko kung ano at paano gagawin ang mga depekto na matagal nang nangyayari at naglabas ng bagong bersyon v2.0.2 , kung saan pinasalamatan ko ang lahat ng tumulong sa akin, inilarawan kung ano at paano ko ginawa .Publishing sa Maven Central. Spring 2019
Upang mai-publish nang tama ang isang library, kailangan mong magkaroon ng isang mahusay na pag-unawa sa bersyon at kung paano magtakda ng mga bersyon nang tama. Mananatili ako sa scheme na ito:- XX.YY.BBBB , kung saan ang XX ay isang pangunahing pag-update ng bersyon na nagsasangkot ng mga pagbabagong hindi tugma sa nauna (halimbawa, pagbabago ng nagbabalik na resulta sa mga pamamaraan);
- Ang YY ay isang minor update - isang panloob na pagbabago o pagpapalawak na hindi nagbabago sa kung ano ang BBBB - ito ay mga depekto na naayos na.
- Halimbawa, ang bersyon 2.0.2 ay nangangahulugan na ang pangunahing bersyon ay 2, walang mga menor de edad na update, at mayroong dalawang update para sa mga depekto.
Komunikasyon sa mga Swedes. Mayo 2019
Pagkatapos kong i-publish ang library, isa pang Swede (Mika Kytöläinen) ang nag-email sa akin at hiniling sa kanyang kaibigan na gumawa ng mga pagbabago sa aking library. Sinabi niya na talagang kailangan niya ito at siya ay magiging napakasaya kung gagawin namin ito at gagawin ito nang mabilis. Siyempre, hindi ako tutol sa mga pagbabagong kailangan. Iminungkahi niya ang pagdaragdag ng configuration ng kapal ng linya na gumuhit ng isang parihaba. Tulad ng, para sa mga may mahinang paningin, ito ay magiging isang kapaki-pakinabang na pagbabago. Inihanda ang code . Ang pagkakaroon ng magdagdag ng ilang higit pang mga pagbabago, inilabas ko ang bersyon v2.2.0Komunikasyon sa isang Aleman. Mayo 2019
Pagkatapos nito, gumawa ang isang German ng isyu kung saan sinabi niyang gusto niyang gamitin ito para sa pagsubok, ngunit wala itong functionality. Gumawa siya ng maraming mga panukala na lubhang kawili-wili, iminungkahi niya na sa halip na ibalik lamang ang nagresultang larawan na may resulta bilang resulta ng paghahambing, ibalik ang isang set ng data: kung ano ang inihambing, ang resulta (kung kinakailangan) at ang estado kung saan mayroong ay magiging MATCH, MISMATCH, SIZE_MISMATCH . Kahit na ginawa ang mga pagbabago. Ngunit hindi nila isinaalang-alang ang nakaraang code at ginawang nagmamadali. Tinanggihan ko sila at nag-alok na isakatuparan ang mga ito ayon sa nakikita kong angkop. Sa kabila nito, mas tumugon siya at nagpasya akong ako na mismo ang gagawa at maglalabas ng bagong bersyon. Kasabay nito, iminungkahi ni Mika Kytöläinen ang isa pang kawili-wiling pag-andar - pagdaragdag ng mga lugar na hindi isasama sa paghahambing. Ito ay isang tunay na kaso. At lahat ng ito ay inilabas sa v3.0.0Gamitin sa isang tunay na proyekto
Sa katapusan ng Mayo, isang automation tester mula sa Kyiv ang sumulat sa akin, na naging interesado sa library at gustong gamitin ito sa isang tunay na proyekto na nagdudulot ng pera. Ito ay isang pambihirang tagumpay! Ang paggamit nito sa isang lugar sa isang pet-project ay isang bagay, ngunit ang paggamit nito sa isang tunay na proyekto ay isang ganap na naiibang bagay. Tinalakay namin kung ano at paano ito gumagana. Ang application ay napaka-interesante: sa kanilang aplikasyon mayroon silang mga tseke na naka-print at ito ay kinakailangan upang suriin na ang mga tseke ay nilikha ayon sa isang tiyak na template at hindi ito nagbabago. Ngunit nagkaroon ng problema na ang mga seksyon tulad ng petsa at oras ay palaging nagbabago at kailangang balewalain. Nagdagdag na kami ng pag-andar upang huwag pansinin ang ilang mga lugar, ngunit ito ay naging hilaw pa rin para sa tunay na paggamit at matagumpay pa rin kaming nagtrabaho nang magkasama sa loob ng ilang linggo tungkol dito. Ang resulta ay ang paglabas ng bersyon v3.1.1Paghahanap ng Niche
Pagkatapos noon, napagtanto ko na ang tunay na angkop na lugar para sa aking aklatan ay ginagamit ito sa mga pagsubok. Upang gawin ito, nagpasya akong maghanap ng ilang uri ng forum para sa mga tagasubok at sumulat sa kanila tungkol dito upang makakuha ng ilang feedback at pataasin ang katanyagan. Nakakita ako ng isang forum sa wikang Ruso at naglathala ng isang artikulo doon: Organisasyon ng mga pagsubok na larawan - paghahambing ng dalawang magkatulad na larawan . Dito nakatanggap ako ng totoong feedback sa code at functionality, na inilapat ko at naglabas ng bagong bersyon v3.2.0 , at pagkatapos ay v.3.3.0 .Ngayon
Ang library ay kasalukuyang may 60 bituin sa Github at may 33 tinidor. Sa tingin ko ito ay napaka-cool, kung isasaalang-alang na hindi ko ito na-promote sa anumang paraan maliban sa isang artikulo sa forum para sa mga automators. Salamat sa lahat ng nagbasa hanggang dulo. Ito ay talagang naging isang mas mahabang artikulo kaysa sa inaasahan ko. Isang artikulo kung paano mag-publish ng library sa Maven Central. Kung mayroon kang idadagdag, magsulat! Kung mayroon kang anumang iminumungkahi upang mapabuti ang aklatan, sumulat! Babasahin ko ang lahat at maglalaan ng tamang oras dito. Sinuman na nagustuhan ang artikulo at nakitang kapaki-pakinabang ito - i-rate ito at isulat sa mga komento. Gayundin, mag-subscribe sa aking github account na romankh3 Tingnan din ang aking iba pang mga artikulo:- Mga teknikal na tanong sa panahon ng isang panayam
- Paano makahanap ng trabaho? Mga tip para sa pagpapadala ng mga resume
- Propesyonal na pagkasunog. Paano lumaban?
- Kasaysayan ng tagumpay. 20 oras ng programming bawat linggo, master's degree at personal na buhay
- Paglikha ng sistema ng pagsubaybay sa presyo ng air ticket: isang sunud-sunod na gabay [Bahagi 1]
- Gabay sa paggawa ng kliyente para sa Skyscanner API at pag-publish nito sa jCenter at Maven Central [Bahagi 1]
- Pag-log: ano, paano, saan at ano?
- I-debug sa Intellij IDEA: isang gabay para sa mga nagsisimula
GO TO FULL VERSION