Įranga, įrankiai ir programos kurias naudoju programuodamas

Šiandien papasakosiu kokį softą naudoju dirbdamas. Kaip įrangos pasirinkimas man padeda dirbti. Kokius kriterijus taikau rinkdamasis įrankius. Kaip svarbu nepersistengti ir per daug nesusikoncentruoti į tai ką naudoji. Ačiū Vytautui už įdomų klausimą.

Joo, tikrai ilgas postas.
Aptarsius šiuos dalykus:

    - Mac'as
    - Terminalas
    - Sublime Text
    - Chrome (ir Mozilla, ir IE)

    - Photoshopas
    - Filezilla
    - Postman

    - Užrašų sąsiuvinys / knygelė
    - Google Inbox, Gdocs, Keep
    - Trello
    - Browser Stack
    - GitHub ir BitBucket
    - StackOverflow ir spinoffai

    - Sketch
    - Balsamiq mockups

Istorija su kompais ir operacinėm sistemom

Esu naudojęs įvairias įrangos kombinacijas. Savo programuotojo gyvenimą pradėjau su WinXP ir senu Q (Compaq) netbooku. Vėliau turėjau Win8 ir šiek tiek naujesnį Samsungo laptopą. Galiausia suvokiau, kad su Windows'ais toli nenukeliausi ir į Samsungą įsirašiau Ubuntu (Linuxo distribucija).

Su Ubuntu prasidėjo mano atradimų laikas. Supratau, kad filmai, kur hakeriai žiūrėdami į command line gali įsilaužti į bankus ir sąskaitas, nėra tokie jau netikroviški :) Command line'as man patiko dėl greičio ir neribotų galimybių. Supratau, kad su Windausais man ne pakeliui.

Atėjus naujo kompo laikui, rinkausi tarp Dell'o į kurį būčiau rašęs Ubuntu ir Mac'o. Dell'as būtų veikęs lygiai taip pat gerai. Net būčiau galėjęs per dual bootintus Windowsus pažaisti kokį GTA.

Bet Mac'as buvo tiesiog per gražus ir fainas. Taip pat ant Ubuntu nėra Photoshop'o, nėra Sketch'o. O įsigijęs Mac'as supratau, kad set-upas (vietoj daug nervų ir laiko ant Ubuntu) tetrunka kelias minutes.

Nemanau, kad Mac'as yra geresnis kompas, suveikė grynai asmeniniai preference'ai.

Geriau atsisakyti Windows'ų

Vienintelis patarimas, tai po truputį tolti nuo Windows'ų. Jie nėra visiškas blogis, nemažai darbo vietų gali tekti naudoti Win. Ypač jei dirbsi banke ar panašioj įstaigoj, kur bus naudojamas Microsoft stack'as (.net, MVC, C#).

Tačiau programuotojai naudoja daug įrankių terminale. Nežinau visų smulkmenų, bet terminalas Windausuose kažkodėl skiriasi. Kad galėtum pasinaudoti visokiais NodeJs teikiamais gerumais, tau reikia Unix Based OS. Lietuviškai kalbant Linuxo arba OSX (Mac).

Taip, NodeJs veikia ant langų, bet man kantrybės šitam veikimui neužteko. Labai įdomu sužinoti kaip full stack JS devai dirba su windowsais. Pvz kur nors banke.

Kaip išsirenku programas kurias naudoju programavimui

Kiekvienas turim skirtingus prioritetus. Kad ir kiek praktiškų priežasčių sugalvosi, vis tiek programos yra asmeninis pasirinkimas.

Pagal ką renkuosi aš:

Mano įrankiai

Ok, pažiūrėkim ką pats naudoju kasdien. Aptarsiu ne tik programinę įrangą, bet ir produktyvumo įrankius.

iTerm2

Terminalas yra nuostabus dalykas. Tačiau kažkodėl defaultinis Mac'o terminalas yra šiek tiek kreivas. Tikriausia dėl kažkokių istorinių priežasčių.

Yra geras pakaitalas - iTerm2. Nieko daug negaliu pasakyti, man šitas terminalas primena Ubuntu defaultinio terminalo veikimą. Būtinai atsisiųskit ir naudokit iš iterm2.com.

Ubuntu vartotojams šito nėra ir nereikia. Džiaukitės defaultiniu terminalu, bet teks išmokt copy paste daryti kažkokiu alternatyviu būdu.

Sublime Text

Aš net šį blogą rašau Sublime Text'e. Šitas editorius yra tikrai smagus. Naudoju gal 3 metus, bet vis atrandu naujų gerų dalykėlių.

Kai tik kažko prireikia visada randu plugin'ą. Naudoju Emmet. Taip pat Bracket, Babel ir SCSS Highlighter'ius, bei dar kažkokį sidebar extension'ą.

Geriausias patarimas dėl Sublime, jei sugalvoji, kad tavo text editorius galėtų kažką daryti, tai pagūglink ir rasi, kad Sublime tai daro ir, kad tam yra pluginas.

Dar vienas patarimas pradedantiesiems. Nesidaryk savo buildo priklausomo nuo Sublime (ar bet kurio kito editoriaus ar IDE). Pvz necompilink SCSS į CCS su editorium. Kai perduosi kodą kitam programuotojui, jis tikriausia turės kitokį setup'ą. Buildui naudok tam skirtus dalykus. edit: pažadu parašyti apie tai, kaip atrodo mano basic buildas ir kaip juo naudotis.

Web client'as

Naudoju Chrome. Irgi tik asmeninis pasirinkimas. Nežinau kaip Firefox developer toolsai, bet manau turėtum naudoti abu. Galbūt Chrome developinimui ir debuginimui, o Firefox pasitikrinti ar teisingai viską padarei.

Pastebėjau, kad Chrome atleidžia nemažai programuotojo klaidų. Gali parašyti neteisingą HTML, bet Chrome pasistengs jį interpretuoti ir vis tiek parodys tau websaitą. Dažniausia pakankamai teisingą, tad klaidų nepastebėsi.

Už tai Firefox yra griežtas. Ypač griežtai interpretuoja JavaScriptą. Kaip tik dėl to, būtinai testuok savo saitus su skirtingom naršyklėm.

Ir baisuoklis Internet Explorer. Čia net teisingai sukodintas puslapis gali atrodyti prastai. Ypač jei tenka palaikyti senesnes versijas.

Gali tekti pritaikyti specialius hackus vien IE. IE irgi būtinas, vien tam, kad galėtum ištestuoti ar teisingai veikia tavo puslapis.

Browser Stack (testavimas skirtingose naršyklėse)

Be eilės įterpiau mokamą online servisą / įrankį. Jei jau kalbam apie testavimą skirtinguose browseriuose, šitas įrankis labai svarbus.

Neįmanoma turėti visų įrengimų, browserių, smartphonų. Browser Stack padeda ištestuoti puslapį ant daugybės skirtingų aparatų.

Kainuoja gal 30 pinigų mėnesiui. Jei į darbą žiūri rimtai investicija atsiperka. Pats naudojausi, ir džiaugiausi, nes bugų tikrai atrasdavau.

Pradedantiesiems mokėti gal ir neapsimoka. Vietoj Browser Stack rekomenduoju Quoros klausimą apie nemokamas alternatyvas.

Photoshop'as

Good old. Naudodavau kasdien, kol pagrindinė veikla buvo dizainų karpymas.

Dizainai vis dar piešiami Photoshop'u. Mes pradedam savo karjerą nuo dizainų karpymo. Konveruojam PSD failus į veikiančius HTML.

Nepaisant to, kad naudojam vis mažiau paveikslėlių, gali tekti išsikirpti kokia iconkę. Teks pasimatuoti paddingus, šriftų dydžius ir stulpelių dydžius.

Filezilla

Tikriausia paprasčiausias ir labiausia paplitęs appsas jungtis prie FTP. Įkelti saitą į hostingą ir panašiems dalykėliams. Neišvengiamai teks naudotis. Siųskis jei dar neturi.

Postman

Anksčiau ar vėliau teks hitinti kokį nors API. Prieš pradedant rašyti JavaScriptus gali pasitestuoti kaip veikia API. Tam naudoju Postman'ą.

Galbūt pradedančiajam šitai nėra labai aktualu. Jei dar nedarai funky AJAX stuff, tai šitą praleisk ir nekvaršik sau galvos. Jei HTML ir CSS traiškai kaip riešutėlius, siųskis.

Jei nori pasipraktikuoti, turiu aprašęs užduotį pasibandymui.

Užrašų knygutė / sąsiuvinys

Nepaisant to, kad viską galiu užsirašyti į Google Keep ar Evernote'ą, popierius vis tiek patinka labiausia.

Dažniausia naudoju popierių sąrašiukams. Užsirašau veiksmų planą arba šiuo metu vykdomą užduotį. Padeda susikoncetruoti. Padeda grįžti į tiesios kai kažkas nublaško dėmesį.

Kartais pastrigęs ant popieriaus piešiu schemas. Kodėl kažkas neveikia, kas po ko vyksta, kas ką triggerina.

Antras naudingiausias hardware item'as po kompo, o kartais net naudingesnis.

Trello

Gerai kai dirbi komandoje. Dirbdamas vienas, pastebėjau, kad tai dažnai būna darbas dėl darbo. Lengviau tiesiog turėti sąrašiukus ant popieriaus.

Pvz, šio blogo Trello lenta turi tik esminius dalykus. Pagrinde blogo įrašų pavadinimus ir planuojamus techininius pakeitimus. Seniau rašydavau visas smulkias detales, bet atsidobo darbas dėl darbo.

Gerai turėti boardus kiekvienam darbiniam projektui. Pvz: Pirmo darbo gavimo boardas su tokiomis kortelėmis:

Ar kažkaip panašiai.

Github ir Bitbucket

Visus projekčiukus pušini į Githubą. Potencialus naujas kolega ateis pažiūrėti į tavo kodą. Be to išmoksi naudotis labai svarbiu komandiniu įrankiu. Be to, gausi vietą kur saugosi savo kodą ir jis bus prieinamas iš bet kur.

Github viešiems ir opensource projektams. Bitbucket privatiems dalykams. Nuoroda į Gist'ą kaip pasisetupinti Github ir Bitbucket viename kompiuteryje.

Stack Overflow

Pasaulis būtų kitoks be Stack Overflow. Naudoju researchindamas kaip atlikti tam tikrą užduotį. Kai pastringu ir nebežinau kur dėtis. Kai pamirštu kokią smulkmeną ar sintaksę.

Sketch ir Balsamiq Mockups

Sketch'ą turiu, nes norėjau pamėginti ir giliai širdyje esu šiek tiek hipsteris. Balsamiq naudoju dizainindamas. Darau wireframe'us, tada juos sukodinu su kokiu Bootstrapu. Galiausia susikonfiguruoju Bootstrapo _variables.scss failiuką ir turiu naują šabloną.

Užteks

Ou Jeez. Tikrai ilgas rašinėlis gavosi. Daug pagalbininkų naudoju darbui.

Dabar galvoju, kad geriausia naudoti kuo mažiau ir kuo paprastesnius. Įrankiai turi padėti, o ne komplikuoti darbą. Niekaip negalėjau priprasti prie Trello. Galiausia jo workflow sustačiau pagal natūralų savo darbo ritmą. Vuolia, pradėjau naudoti Trello ir jis man padeda laikytis plano. Great success!

Naujas blogo patobulinimas!

Žemiau rasi komentarų dėžutę. Manau mes galim pradėti bendrauti komentaruose. Man labai smagu gauti feedback'ą. Jūs skaitydami galit dalintis nuomonėm, patarimais ir klausimais.

Manau skaitydami galit gauti tik trečdalį potencialios naudos ir postūmio. Bendraudami tarpusavyje visi gausim kur kas daugiau.

So Arminai, Vytautai, Vytai, Martynai ir kiti, let's do this :D

Ai, ir pabaigai įmetu kaip dar visai nesenai atrodė mano darbo vieta.

Kodinu.lt darbo vieta

Komentarai