5 Ruby labākā lietojuma piemēri
Vai esat kādreiz aizdomājušies, ko mēs varam darīt ar Ruby? Iespējams, debesis ir neierobežotas, taču mēs labprāt pastāstīsim par dažiem vairāk vai mazāk zināmiem gadījumiem...
Pirms dažiem gadiem es kopā ar dažiem draugiem, Java izstrādātājiem, grillēju. Nezinu, kā tas radās, bet mēs sākām runāt par savām kodēšanas vidēm. Es viņiem teicu, ka visu izstrādi veicu, izmantojot Vim un terminālus. Tas izraisīja dažus jokus un smieklīgus jautājumus, piemēram, vai es joprojām izmantoju perforatorus 🙂.
Kopš tā laika es izmēģināju dažas “īstas” IDE, bet vienmēr atgriezos pie Vim un termināli, jo tā ir ļoti ātra metode, tajā ir visi man vajadzīgie rīki un man vienkārši patīk strādāt teksta režīmā.
Šeit ir sniegta sīkāka informācija par manu darba procesu. Ir vērts pieminēt, ka es strādāju Linux operētājsistēmā, taču bez problēmām varat to iestatīt arī Mac vai Windows operētājsistēmā.
Darba dienu sāku ar termināļa atvēršanu, cd ~/Projects/XYZ un palaist tmux, tāpēc sāksim ar to.
Kas ir TMUX? Kā saka autori:
TMUX ir termināla multipleksors. Tas ļauj viegli pārslēgties starp vairākām programmām vienā terminālī, atslēgt tās (tās turpina darboties fonā) un atkal pieslēgt tās citā terminālī.
Es to izmantoju, lai pārslēgtos starp vairākām lietām vienā terminālī. Tātad vienā TMUX logs, man ir Sliedes serveris darbojas, otrajā man ir mans Vim un ikreiz, kad man nepieciešams kaut ko darīt terminālī, piemēram, pārbaudīt maršrutus, migrāciju vai testus, es vienkārši atveru jaunu logu ar CTRL-A C un darīt šo lietu.
Es neizmantoju TMUX paneļi, tikai logi un daudz pārslēgšanās (man ir CTRL + dubultā A, lai pārslēgtos starp pēdējiem logiem).
Vēl viena ļoti ērta funkcija TMUX ir tas, ka tā ļauj man atrast un kopēt tekstu no termināļa, neizmantojot peli.
Tā ir mana darba procesa galvenā daļa. Es neiedziļināšos detaļās par to. VIM un ar ko tā atšķiras no citiem redaktoriem. Par to ir daudz lielisku rakstu un videoklipu. Dažos vārdos, Vim ir modālais redaktors. Tam ir divi režīmi - ievietotāja režīms un parastais režīms. Ievietošanas režīmā var ievadīt tekstu dokumentā, bet parastajā režīmā var veikt dažādas darbības ar dokumentu, piemēram, pārvietot kursoru, dzēst teksta fragmentus, mainīt tekstu utt. Tas izklausās dīvaini, bet pēc kāda laika tas šķiet ļoti dabiski, un ir ļoti grūti atgriezties pie parastā redaktora.
Es vēlos jums parādīt, kā es apvienoju Vim ar citiem rīkiem, lai iegūtu visu, kas man nepieciešams kā tīmekļa vietne izstrādātājs.
Es neesmu smagā spraudņa ventilators Vim konfigurācijas, tāpēc es izmantoju tikai dažas. Šeit ir saraksts:
NERDtree - tas ir failu pārlūks. Tas ļauj viegli veikt dažas pamata failu sistēmas darbības, piemēram, failu pārvietošanu, pārdēvēšanu, jaunu failu izveidi un daudzas citas,
vim-endwise - Es esmu Rubīns izstrādātājs, tāpēc es to izmantoju, lai pievienotu beigas pēc ja, darīt, def, kā arī vairāki citi atslēgvārdi,
vim-rails - tas ir Sliedes jaudas spraudnis. Tas zina struktūru Rails lietotne. Vai vēlaties pārbaudīt daļēju rādījumu zem kursora? Vienkārši nospiediet gf un tas tiks atvērts pašreizējā logā. Tam ir daudz citu iespēju, bet šo es izmantoju visbiežāk,
vim-surround - lielisks spraudnis, kas padara darbu ar apkārtni ļoti viegli. Ar to jūs varat mainīt teksta apkārtni no () uz [] ar dažiem taustiņu nospiedumiem,
vim-repeat - papildina Vim-surround. Tas ļauj atkārtot apkārtējo maiņu ar . (atkārtojiet pēdējās izmaiņas Vim),
vimwiki- mans veids, kā veikt piezīmes,
fzf.vim+ fzf - manas darbības pamatdaļa tīmekļa izstrāde darba plūsma.

Šie ir rīki, kas nosaka manu kodēšanas veidu. Es sapratu, ka parasti, veicot kādu kodēšanas uzdevumu, lielāko daļu laika es veltu tam, lai noskaidrotu, kā tas darbojas. Lai to izdarītu, man ir ātri jāpārbauda dažādas kodu bāzes daļas, metožu definīcijas, klases un citas lietas.
Fzf ir interaktīvs Unix komandrindas filtrs, ko var izmantot ar jebkuriem sarakstiem (faili, komandu vēsture, git commits, procesu saraksti); citiem vārdiem sakot, tas ir izplūdušais meklētājs.
Ripgrep ir alternatīva grep, taču tā ir ļoti ātra.
Apvienojot šos divus elementus, es varu ātri atrast visu, ko vēlos savā projekts.
Man ir divi iestatījumi Vim konfigurācijas failu, lai palīdzētu man to izdarīt:
nnoremap :Files
nnoremap :Rg
Pirmais no tiem ļāva ātri atrast pareizos failus, izmantojot izplūdušu meklēšanu failu ceļos (CTRL-P). Otrais palaidīs izplūdušo meklētāju visiem mana projekta failu ceļiem un saturam, izmantojot Ripgrep (CTRL-F).
Pieņemsim, ka es vēlos atrast migrāciju, kurā es pievienoju kolonnu. lietotāji tabula. Es nospiedu CTRL-F un uzrakstu kaut ko līdzīgu. adcolusnam un tas atbilst add_column :users, :name, :string.
Kad meklēju metodes definīciju, bieži vien palaist CTRL-F def method_name.
Tas ir ļoti noderīgi, jo tas meklē failu ceļu + saturu. Tas ir īpaši ērti, ja es zinu, ka meklētais saturs atrodas konkrētā projekta daļā. Piemēram, es gribu atrast, kur mēs atjauninājām lietotājvārdu, un es atceros, ka tas bija kaut kur kontrolleros. Es nospiežu CTRL-F conupdname lai atbilstu līnijai app/controllers/users_controller: @user.update(name: new_name).
Ja pārzināt sava projekta un datubāzes struktūru, varat viegli izveidot izplūdušus meklēšanas vaicājumus, lai ātri atrastu gandrīz visu nepieciešamo.
Noklikšķiniet šeit lai redzētu īsu ierakstu, kurā es spēlējos ar `discourse` kodu bāzi (440k LOC uz mana i5, 16GB darbvirsmas) un parādītu, kā es parasti pārvietojos pa projektu.
Es ceru, ka jūs ieinteresēja mana uzstādīšana un nolēma dot Fzf izmēģināt jūsu kodēšanas centienus. Tas patiešām mainīja veidu, kā es izmantoju Vim kā kods redaktors.