5 näidet Ruby parimast kasutamisest
Kas olete kunagi mõelnud, mida me saame teha Ruby'ga? Noh, taevas on ilmselt piirideta, kuid me räägime hea meelega mõnest rohkem või vähem teadaolevast juhtumist...

Mõned aastad tagasi grillisin koos mõne oma sõbraga, kes olid kõik Java-arendajad. Ei tea, kuidas see tekkis, aga me hakkasime rääkima oma kodeerimiskeskkondadest. Ütlesin neile, et teen kogu oma arendustööd Vim'i ja terminali abil. See vallandas mõned naljad ja naljakad küsimused, näiteks kas ma kasutan ikka veel augukaarte 🙂 .
Pärast seda olen proovinud mõningaid "tõelisi" IDE-sid, kuid olen alati naasnud tagasi Vim ja terminalid, sest see on väga kiire meetod, selles on kõik vajalikud tööriistad ja mulle lihtsalt meeldib töötada tekstirežiimis.
Siin on mõned üksikasjad minu töökorralduse kohta. Tasub mainida, et ma töötan Linuxi peal, aga sa võid selle probleemideta seadistada ka Macil või Windowsil.
Ma alustan oma tööpäeva sellega, et avan terminali, cd ~/Projektid/XYZ ja käivitan järgmise programmi tmux, nii et alustame sellest.
Mis on TMUX? Nagu autorid ütlevad:
TMUX on terminali multiplekser. See võimaldab teil hõlpsasti vahetada mitme programmi vahel ühes terminalis, neid lahutada (nad jäävad taustal tööle) ja uuesti teise terminali ühendada.
Ma kasutan seda mitme asja vahel vahetamiseks ühes terminalis. Nii et ühes TMUX aknas on mul Rööpad server töötab, teises on mul oma Vim avatud, ja iga kord, kui mul on vaja midagi teha terminalis, näiteks marsruutide kontrollimine, migratsioonide või testide käivitamine, avan lihtsalt uue akna koos CTRL-A C
ja teha seda asja.
Ma ei kasuta TMUX paneelid, ainult aknad, ja teha palju ümberlülitusi (mul on CTRL + topelt-A seotud viimaste akende vaheliseks ümberlülitumiseks).
Teine väga mugav funktsioon TMUX on see, et see võimaldab mul leida ja kopeerida teksti terminalist ilma hiirt kasutamata.
See on minu töökorralduse peamine osa. Ma ei hakka üksikasjadesse laskuma, mida VIM on ja kuidas see erineb teistest toimetajatest. Selle kohta on palju häid artikleid ja videoid. Mõnede sõnadega, Vim on modaalne toimetaja. Sellel on kaks režiimi, sisestusrežiim ja tavarežiim. Insert režiimis saab sisestada teksti dokumenti ja tavalises režiimis saab teha dokumendiga erinevaid toiminguid, näiteks kursorit liigutada, kustutada tekstikatkendeid, muuta teksti jne. See kõlab kummaliselt, kuid mõne aja möödudes tundub see väga loomulik ja on väga raske minna tagasi oma tavalise redaktori juurde.
Ma tahaksin teile näidata, kuidas ma kombineerin Vim teiste tööriistadega, et saada kõik, mida ma veebiarendajana vajan.
Ma ei ole raske pluginate fänn Vim configs, nii et ma kasutan ainult mõned. Siin on nimekiri:
NERDtree - see on failiuurija. See võimaldab teil hõlpsasti teha mõningaid põhilisi failisüsteemi toiminguid, nagu failide teisaldamine, ümbernimetamine, uute failide loomine ja palju muud,
vim-endwise - Ma olen Ruby arendaja, nii et ma kasutan seda, et lisada lõpp
pärast kui
, do
, def
ja mitmed teised märksõnad,
vim-rails - see on Rööpad power plugin. See tunneb struktuuri Rails rakendus. Tahad kontrollida osalist kursori all olevat? Vajutage lihtsalt gf
ja see avab selle teie praeguses aknas. Sellel on palju muid võimalusi, kuid see on see, mida ma kõige sagedamini kasutan,
vim-surround - suurepärane plugin, mis muudab ümbruskonnaga töötamise väga lihtsaks. Selle abil saate paari klahvivajutusega muuta teksti ümbrust () kuni [],
vim-repeat - Vim-surroundi täiendus. See võimaldab korduvat ümbritseva muutust koos .
(korrake viimast muudatust Vimis),
vimwiki- minu viis märkmete tegemiseks,
fzf.vim+ fzf - minu keskne osa veebiarendus tööprotsess.
Need on tööriistad, mis määravad, kuidas ma kodeerin. Ma mõistsin, et tavaliselt, kui ma teen mõnda kodeerimisülesannet, kulutan ma suurema osa oma ajast sellele, et leida, kuidas need asjad toimivad. Selleks pean ma kiiresti kontrollima koodibaasi erinevaid osi, meetodite definitsioone, klasse ja muid asju.
Fzf on interaktiivne Unixi käsurea filter, mida saab kasutada mis tahes nimekirjadega (failid, käskude ajalugu, git commits, protsesside nimekirjad); teisisõnu, see on ebaselge otsija.
Ripgrep on alternatiiv grep'ile, kuid see on ülimalt kiire.
Kui need kaks kombineeritakse, võimaldavad nad mul kiiresti leida kõik, mida ma tahan oma projekt.
Mul on kaks seadistust minu Vim config faili, et mind selles aidata:
nnoremap :Files
nnoremap :Rg
Esimene võimaldab mul kiiresti leida õiged failid, kasutades failiradade ebaselget leidmist (CTRL-P). Teine käivitab fuzzy finder'i minu projekti kõigi failide teede ja sisu kohta, kasutades Ripgrep (CTRL-F).
Niisiis, ütleme, et ma tahan leida migratsiooni, kus ma lisasin veergu kasutajad
tabel. Vajutan CTRL-F ja kirjutan midagi sellist nagu adcolusnam
ja see vastab add_column :users, :name, :string
.
Kui ma otsin meetodi definitsiooni, siis sageli käivitan CTRL-F def meetodi_nimi
.
See on väga kasulik, sest see otsib läbi faili tee + sisu. See on eriti mugav, kui ma tean, et sisu, mida ma otsin, on projekti konkreetses osas. Näiteks tahan leida, kus me uuendasime kasutajanime, ja ma mäletan, et see oli kuskil kontrollerites. Ma vajutan CTRL-F
conupdname
et sobitada rida app/controllers/users_controller: @user.update(nimi: uus_nimi)
.
Kui tunnete oma projekti ja koodibaasi struktuuri, saate hõlpsasti koostada hägusaid päringuid, et leida kiiresti peaaegu kõike, mida soovite.
Vajuta siia et näha lühikest salvestust, kus ma mängin `discourse` koodibaasiga (440k LOC minu i5, 16GB töölaual) ja näitan, kuidas ma tavaliselt projektis ringi liigun.
Ma loodan, et sa said huvitatud minu setup ja otsustas anda Fzf proovida oma kodeerimispüüdlustes. See tõesti muutis seda, kuidas ma kasutan Vim kui kood toimetaja.