Amstradin ajoista lähtien olen koodaillut jotain joutavan päiväistä harrastusmielessä. Vielä eläkeläisenäkin markunaskaretta riittää iltapuhteiksi. PHP:llä olen tuunannut blogiini WordPress-teemaa ja tehnyt mm. sivupalkissa olevan ”Mannalappu” -ohjelman, joka näyttää satunnaisia raamatunjakeita hieman laajemmassa kontekstissa.
Pieniä PHP- ohjelmia voi kehittää ja testata paikallisesti PHP:n sisäänrakennetulla web -palvelimella, tarvitsematta ladata päivityksiä koko ajan jollekin ”oikealle” serverille. Riittää, että asentaa php5-cli, php5-common ja php5-json moduulit paikalliselle koneelle ja sen jälkeen käynnistää konsolissa palvelimen haluttuun porttiin, esimerkiksi 8000. Komento: php -S localhost:8000 jokuohjelma.php, jonka jälkeen selaimen osoitteeksi https://localhost:8000 ja ”jokuohjelma.php” rullaa selaimessa. Koodin muokkauksen jälkeen tarvitsee vain virkistää selainta. Nopeaa ja kätevää. Vasta kun on tyytyväinen lopputulokseen, voi ohjelman ladata etäpalvelimelle.
Paikalliseen koodaukseen muokkaimia löytyy moneen makuun. Itse käytin oletuseditorina pitkään näppärää Geanya. Usein kuitenkin tarvitsee koodata myös etänä esim. em. WordPressin teemaa. Siihen tarvitaan editoria, joka hallitsee kunnolla etäkoodauksen. Kaikki suositutkaan muokkaimet eivät siihen pysty, kuten jäljempänä ilmenee.
Hyvän etä-editorin ominaisuudet
Otan etäkoneeseen yhteyden Linux Mint Cinnamonin Nemo -tiedostonhallinnalla, sen sftp:llä. Salatun yhteyden muodostuminen etäpalvelimelle riippuu nettiyhteydestä, mutta yleensä se syntyy kohtuullisen nopeasti n. 6 sekunnissa. Etäkansiot integroituvat Nemossa käyttöliittymään täydellisesti kuin ne olisivat omalla koneella. Etäkoodauksen suoritan yleensä Nemossa. Se on niin vaivatonta.
Värikorostuksen lisäksi on muutama muukin ominaisuus, joita odotan hyvältä editorilta:
- Nopea etäluku ja etätallennus Linux Cinnamon Nemossa
- Vedä ja pudota -tuki.
- Helppo vaihtaa väriteema, muokata sitä tai tai tehdä kokonaan uusi.
- Yksinkertainen käyttöliittymä tai kustomoitavissa sellaiseksi.
12 editorin testi. Mikä editori paras etäkäyttöön?
Etäeditoinnissa suorituskyky on tärkeintä. Suorituskykyä testasin karkeasti puhelimen ajanottokellolla. Käytin samaa noin 60kB:n PHP -etätiedostoa kaikille. Napsautin kellon käyntiin samalla, kun klikkasin etätiedostoa. Editorit olivat suljettuna ja käynnistyivät klikkauksesta ja sitten alkoivat ladata etätiedostoa. Kun etätiedosto oli täysin latautunut pysäytin kellon ja merkkasin ajan ylös. Ajat ovat kuin entisajan hiihtokilpailuissa, noin sekunnin tarkkuudella.
Cinnamon työpöytä on Gnome -perustainen, jonka yritän pitää ”siistinä”. Siksi olen poistanut kaiken mahdollisen KDE-sälän, enkä ole asentanut KDE ympäristöön varsinaisesti tarkoitettuja ohjelmia kuten Katea tai KWriteakaan. En myöskään testannut konsoliperustaisia muokkaimia, joita Linuxissa on vino pino, esim. Vim, Jed, Nano, Pico ja varmaan muitakin. Ehkä askeettiset linux -aboriginaalit niitä rakastavat, mutta hk. olen liian mukavuudenhaluinen. Tosin Nanoa tulee käytettyä konsolieditorina muussa kuin koodaustarkoituksessa, vaikka en pidäkään sen hieroglyfisistä komennoista. Joku helpompi konsolieditori olisi tervetullut.
Tässä tulokset:
- gEdit: 4 sekuntia, Bluefish 4 sekuntia
- Tea: 9 sekuntia
- SciTE: 13 sekuntia
- Visual Code Studio: 22 sekuntia
- Sublimetext: 23 sekuntia
- Geany: 35 sekuntia.
- Editra: avaa tiedoston 23 sekunnissa, mutta jäätyy siihen.
- Atom: ei avaa.
- Gnu Emacs: jäätyy.
- Medit: jäätyy.
- KineticWing: Ei avaa, Ei kaadu, ei jäädy. Mitään ei tapahdu.
- Lightable: Kuten edellinen, ei tee mitään.
Voittajat ja häviäjät
Testatuista vain kaksi editoria soveltuu mielekkääseen etätyöskentelyyn. Ne ovat gEdit ja Bluefish, jotka lataavat ja tallentavat etätiedoston yhtä nopeasti molempiin suuntiin. Vedä ja pudota -tuki toimii myös etänä.
gEdit näyttää tiedostoa editorissa sitä mukaa, kun se latautuu. Lisäksi siinä on indikaattori, joka näyttää latauksen edistymisen. Ne saa editorin tuntumaan nopeammalta kuin Bluefish, joka näyttää tyhjää taustaa kunnes tiedosto on kokonaan latautunut ja vasta sitten näyttää tiedoston. Todellisuudessa kumpikin ovat yhtä nopeita, ainakin käsiajastimella mitattuna.
Kummankin voittaja -editorin väriteema on helppo vaihtaa ja muokata. gEditissä muokkaus tapahtuu erikseen asennettavan lisäosan avulla. Lisäosaa pitäisi hienosäätää, koska siitä puuttuu ”Toteuta” -nappula. Muokkaus on päivitettävä napsauttamalla ”Ok”, jolloin editori sulkeutuu ja sitten se pitää avata uudelleen uutta muokkausta varten. Se on hieman rasittavaa. Bluefish:ssä väriteeman muokkain on kätevämpi. Se on editoriin sisäänrakennettu ja siinä on ”Toteuta” -nappula.
Kummankaan voittajan työkalupalkkia ei voi kustomoida, mikä on harmi.
Bluefishissä on enemmän ominaisuuksia ja siten oletuksena monimutkaisempi käyttöliittymä kuin yksinkertaisessa gEdit:ssä. Joitakin kilkkeitä saa ruksattua pois Bluefishistä, mutta ei kaikkea. Yksinkertaisuudellaan ja toiminnallisuudellaan gEdit raivaa tiensä suosikkieditorikseni, jolla voin tehdä niin paikalliset kuin etäkoodauksetkin. Pidän myös gEditin lataustavasta ja indikaattorista. Jos joskus tarvitsen etäharrastuksessani sellaisia ominaisuuksia, jotka puuttuvat gEditistä, voin käyttää Bluefishiä.
Hopeasijalle sinnitellyt Tea on tuplasti hitaampi voittajia. Vaikka se olisi nopeampi, se häviää, koska etäkansiosta vetäminen ja pudottaminen editoriin ei toimi. Se toimii vain paikallisilla tiedostoilla. Voittajapari suoriutuu vedä ja pudottamisestakin mallikkaasti, niin etänä kuin paikallisesti.
Muuten mainio Geany on käsittämättömän hidas etätiedostojen käsittelyssä.
Suplimetextiä muistuttava Microsoftin Visual Code Studio (for LInux) voittaa niukasti Suplimetekstin. Kummatkin ovat kuitenkin kelvottomia etäkoodaukseen hitautensa vuoksi.
Uusimmista haastajista Editra sentään yrittää avata tiedoston, mutta hyytyy siiten siihen ja se on suljettava pakolla. Muut haastajat eivät edes yritä.
Netissä kehuttu Atom:kin aikansa mietittyään ilmoittaa ”Editor is not reponding” ja kysyy haluanko sulkea vai jatkaa odottamista. Mitäpä turhia jatkamaan.
Seuraavat kaksi editoria jähmettyvät suolapatsaaksi kuin Lootin vaimo ja ne on pakolla suljettava.
Kaksi viimeistä ei ilmeisesti ota testiä tosissaan.
Atomia en ole Linuxilla kokeillut, mutta Macilla se toimii jouhevasti. Sublime on kaikista nopein mitä olen koittanut, siihen mulla oli joskus taannoin sen sisäänrakennettu SFTP-lisäosa, jolla sai avattua tiedostolistauksen SFTP-palvelimelta suoraan editoriin ilman ulkoista tiedostohallintaa tai ftp-ohjelmaa.
Alalla sanotaan ”cowboykoodaamiseksi” suoraan etäpalvelimelle muokkausta, enkä sitä ole harrastanut sen koommin kun tekniikka kehittynyt, ja ihan siksi että on aika hullua lähteä tekemään ”livenä” muutoksia esim. isompaan asiakkaan verkkokauppaan, sillä jos joku räjähtää niin siinä saattaa asiakas menettää kauppaa. Me tehdään kaikki paikallisesti ja sitten työnnetään capistrano- tai dandelion -deploytyokaluilla muutokset yhdellä komennolla, kerralla nettiin. Samasta sivustosta on lähes identtinen kopio, kehitysversio omalla koneella, Vagrant-palvelimella, testiversio yhdelä palvelimella jota asiakaspääsee näpertämään ja sitten liveversio eli ”tuotanto”.
Vagrant käyttää virtualboxia ja meillä on kaikki työkalut avoimena GitHubissa, esim. tässä rakentamani viimeisin Vagrant-kone: https://github.com/digitoimistodude/marlin-vagrant
Muut jutut löytyy täältä: https://github.com/digitoimistodude
Pitäisi itsekin keritä bloggaamaan näistä.
PS. Mainitsin Amstrad-koneen kokeellisella käyntikorttisivullani https://rolle.wtf , jostain syystä tuo vihernäyttö on jäänyt mieleen, vaikka taisin olla todella nuori kun sen myit pois.
Selvää, ettei asiakkaiden sivuja voi muokkailla suoraan palvelimella. Ei ehkä mielellään omaakaan, jos sivulla on paljon kävijäitä. Ainakaan laittamatta maintenance modea päälle.
Eläkeläiselle Cowboy-tyyli sopii mainiosti, niin kauan kuin vielä pysyy kyydissä 😉 En ole yleensä viritellessä viitsinyt laittaa sivustoa edes huoltotilaan. Tosin, en tiedä miten WP:n teemaa voisi paikallisesti oikein muokatakaan, jos haluaa nähdä sen in action. Sama tilanne Piwigon viilauksessa. Eikä se edellytä kotikoneelle samoja ohjelmia kuin palvelimella, WP, Piwigo ym. palikat, käytännässä toisen serverin?
Periaatteessa etäpalvelimelle voisi tehdä sivustosta identtisen kopion, jota sitten muokkailisi cowboytyylillä. Ja kun on tyytyväinen, niin vain vaihtaisi kotisivun osoitteen osoittamaan siihen. Seuraavalla editointikerralla tekisi päinvastoin kopioksi jääneelle. Ja taas seuraavalla päinvastoin jne. Näin aina olisi toimiva sivusto käynnissä. Enpä taida viitsiä sitäkään.
Testaamani editorit saattavat käyttäytyä eri tavalla eri jakeluissa tai niiden omilla tiedostomanagereilla, joissa sellainen on. Mutta ”nyt kävi näin” kuin Olli Hokkaselle. Vain mainitut kaksi editoria hallitsevat kunnolla etäkoodauksen Cinnamon Nemo- integraatiossa. Geditiltä luonnollisesti odottaakin hyvää suoritusta, koska se on Gnomen oletuseditori.
Atom on varmaan hyvä ammattimaisessa koodauksessa. Onhan se sinänsä monipuolinen ja mm. helppo asentaa lisäosia (joita on tosi paljon) suoraan editorista. Mutta Cinnamon Nemossa se ei toimi, paitsi kikkailemalla jotenkuten. Nimittäin huomasin, että etätiedoston voi Atomiin kyllä ladata siten, että avaa Atomin valikosta ”File” > ”Open file” > ”etätiedosto”. (Edellyttää, että sftp -etäyhteys on ensiksi avattu Nemoon). Tälläin etätiedosto latautuu kyllä editoriin, mutta se kestää 36 sekuntia. Eli hitaus on samaa luokkaa kuin Geanyssä.
Tässä Atom-versiossa (1.7.2) lienee bugi, koska se käynnistettäessä avaa aina viimeksi avoinna olleen tiedoston, huolimatta, että asetuksista ruksaa ”Open Empty Editor on Start”. Ja jos ”avattu” tiedosto oli suoraan Nemosta klikattu, joka ei siis avaudu, niin seuraavalla kerralla käynnistettäessä editori jää jauhamaan ikävästi, koska sinnikkäästi vaan yrittää avata viimeksi avaamattakin jäänyttä tiedostoa, heh.
Jännää miten tuo nic-palvelin pyärii yhä vaan . Olet laittanut sinne vähän tavaraakin. Itse olen hukannut tiedot miten omalleni edes pääsee. Joskus silloin, kun aloin pitää omaa serveriä, tyhjensin kaikki nicin tiedostot. https://www.nic.fi/~raunol/ . ”gamma.nic.fi” näkyy toimivan sekin.
Muistat Amstradin varmaan alakerrasta, jossa se jäkätti itsekseen ties kuinka monta vuotta, kun paremmat vermeet olivat tulleet tilalle. En myynyt sitä, vaan ilmaiseksi lahjoitin äitisi serkulle. Ohjelmoin, muuten, basicilla siihen tekstigraafisen ruokareseptiohjelman, hirsipuun, tictactoen ja eräänlaisen Raamattu-visan 🙂
Joo, enkä koittanut ”päteä” 😉 sillä itsekin muokkaan omalle kotiserverille ihan lennosta, tosin mounttaan kansion Maciin siten että pääsen avaamaan tiedostoja suoraan ilman muita ohjelmia. WP:lle ei ole muuten kovin hyviä maintenance-plugineja olemassa, käyn noissa WordPress-tapaamisissa ja siellä porukka todennut samaa.
Vaatii joo käytännössä ”erillisen” serverin omalle koneelle, mulla on käytännössä paikallinen Vagrant-kone, joka käyttää virtualboxia headlessinä, eli yhdellä komennolla saa ajettua suht jouheaa ja pientä paikallista palvelinta, joka ei vie paljon tilaa. Tiedostoja ajetaan omalla koneella ja omalla selaimella pääsee localhost:3000:sta kattomaan tiedostoja. Tekniikkana tässä on Gulp ja browsersync, joiden avulla saa kaikkiin laitteisiin saman reaaliaikaisen näkymän, kirjoitin tästä firman blogiin aiemmin, sieltä löytyy myös video, tsekkaapas: https://www.dude.fi/device-lab-responsiivisen-suunnittelun-apuna/
Atom on tosiaan hyvä isoihin projekteihin, siinä on sisäänrakennettu projektinhallinta. Mutta se on huono yksittäisien tiedostojen muokkaamiseen, kun se tosiaan avaa aina edelliset tiedostot sekä tekee auki olevasta kansiosta automaattisesti ”projektin”. Nopeisiin muokkailuihin käytän Sublime Textiä juuri tästä syystä.
Mulla on hyvä salasana- ja tunnusmuisti! muistan ensimmäisen salasanani ja olen sitä käyttänyt muuallakin, sen joka autogeneroitui silloin kun loit Nicille meille sivutilat. Muistan Nikonkin tunnuksen, sivujahan sinne ei koskaan laitettu: https://gamma.nic.fi/~panaani/ . Eräänä päivänä ajattelin huvikseen kokeilla tunnustani ja salasanaa gamma.nic.fi-palvelimelle ja kas kummaa, sehän toimi! siksi laitoin sinne tuon Legacy-sivun ihan vaan muistuttamaan menneestä 🙂
Etäisesti muistan jopa noista ohjelmista jotain, tai ainakin olet niistä kertonut. Ja Merin pojan hautajaisissa tuli muuten se Enni juttelemaan ja mainitsi sattumoisin tuosta koneesta, kertoi että oli todella pitkään käytössä. Mitä lie sillä kirjoitellut.
”Ilmoita sähkäpostiin vastauksesta” on hyvä idea. Ei ole tullut mieleen, kun ei kovin kauheaa tungosta ole ollut kommenttiosastossa, heh.
Minulla on Maintenance plugineista käytässä ”Maintenance Mode”. https://wordpress.org/plugins/lj-maintenance-mode/ Mukavan yksinkertainen ja helppo klikata päälle ja pois. Tosin harvemmin ollut niin pitkiä sessioita, että tarvitsee klikkailla.
Hyvä muisti, jos muistat niinkin monimutkaiset salasanat! Nicin sivustoa voisin itsekin käyttää johonkin. ”Oma Elisasta” läytynee kadonneita tietoja, kunhan kerkiää tutkia. Nic:hän siirtyi Saunalahdelle ja sitten Saunalahti Elisalle.
Hauska kuulla, että Amstradilla ollut käyttää. Kirjoituskoneeksihan sen alunperin hankin, että rupeaisin muka kirjailijaksi. Reseptiohjelmasta voinut myäs olla hyätyä. Siihenhän pystyi tallettaa lisää reseptejä ja printata niitä ulos, niin kauan kuin matriisikirjoittimessa mustenauha kestää. Epäilen, että paha ollut läytää siihen uutta nauhaa. Levykkeetkin olivat ikävän epästandardeja ja kalliita jos silloin.
Ps.
Minulla on nyt koekäytässä https -sivut, myäs galleria. Ajattelin kokeilla, kun äskettäin huomasin, että vihdoinkin on mahdollista saada ilmainen sertfiointi, jonka yleisimpien selainten pitäisi hyväksyä ( https://letsencrypt.org/ )
Ehkä hieman hitaampi kuin http, mutta melko hyvin pelaa kuitenkin. Joillakin blogin sivuilla on ”mixed” -sisältää kuva- ja videolinkkien takia.
Olit oikeassa, linkit vaikuttaa meneekö viesti läpi. Löysin WP:on omista asetuksista kohdan, johon voi laittaa kuinka monesta linkistä komentti menee moderoitavaksi. Ilmeisesti syy ei ollutkaan Mollomissa