Perusteellisesti
Skaalautuva rasteri
Blender 3D ohjelmaa hyödyntäen grafiikkaa voidaan skaalata hyvin
pitkälle, jolla voidaan tehdä isoimpia mainostauluja, esimerkiksi 10K
resoluutio. Resoluution voi itse päättää renderöinti asetuksista.
Renderöinnin jälkeen kuvaa voidaan vielä manipuloida erikseen käyttämällä muita ohjelmia kuten Photoshop, Krita tai GIMP.
Grafiikka ja automaatiot
Verkkosivuille svg grafiikka konvertoidaan toistaiseksi kuitenkin yleensä rasterigrafiikaksi. Tässä Tuurin Laatupainolle suunnittelemani vektori logo, instagrammish style.
Vektori grafiikkaa olen tehnyt eniten hyödyntäen Adobe Illustrator, Inkscape ja Freehand. Vektorit voidaan myös tuoda 3D ohjelmaan, ja Blenderissä on myös useimpia ohjelmia paremmat grafiikan automaatiot, joilla grafiikkaa voidaan vielä työstää. Tavanomaiseen vektorigrafiikkaan saadaan hieman lisää tyyliä ja erilaisia valoeffektejä.
Blender 3D
Blender on todella voimakas ohjelma, jolla voi tehdä niin 3D grafiikkaa kuin Hollywood tasoisia elokuvia. Kannattaa katsoa Youtubesta Blender 3D lyhytelokuvia, niin ymmärtää minkälaiset voimat ohjelmalla on. Toki kaiken monimutkaisen tekeminen vie jonkin aikaa, mutta esim nykyään ohjelmassa on myös pikavalintoja räjähdyksille tai muille effekteille. 3D grafiikan jyystäminen saattaa vaatia joskus hurjia määriä tehoa tietokoneelta, jotta siitä saadan jokseenkin nopeaa. On olemassa myös renderfarmeja, mutta mielummin tekisin senkin itse. Joka tapauksessa Blenderillä voi tehdä kuvia tai videota, pelejä tai 3D malleja.
Grafiikkapilvi
Jos grafiikkaa tekee monille eri firmoille ja haluaa, että tiedostot joiden kanssa työskentelee olevat helposti liikuteltavissa voi käyttää grafiikkapankkina omaa yksityistä pilvipalvelua. Itse olen käyttänyt Seafile ohjelmaa, kuitenkin yhdessätyöskentelyyn on olemassa todella monta collabration ohjelmaa, joita voi hyödyntää, kuhan ne ovat avointalähdekoodia ja ilmaisia. Avoimessa lähdekoodissa parasta on se, että suurempia tietoturvauhkia ei ole tullut, ne käyttävät asianmukaisia salauksia ja sinä olet itse palvelun ylläpitäjä.
eCommerce
WooCommerce, Magento, Drupal Commerce, Odoo
Tässä oli reaaliajassa päivittävä haku. Verkkokauppoja olen kehitysmielessä asennellut paikallisesti, en ole vielä saanut asiaksi tehdä oikeaa. Kaikesta huolimatta käyttäisin itse luultavasti WooCommercea, koska WordPressia on niin helppo lähteä kehittämään moneen suuntaan, sekä virallisia lisäosia on helppo löytää. Suurin yhteisö ympärillä luo myös paljon uusia funktioita jatkuvasti.
Kehitysympäristöt
Wordpressilla on kiva kehittää sivuja, varsinkin jos uusi projekti lähtee päälle nappulaa painamalla. Keskisen Kellon vedoksen tein käyttämällä Sandcats.io, mutta myös Multihost on mahdollista. Multihostissa hyvät puolet on install script, jolla serveri tekee samalle alustalle nappulaa painamalla uuden asennuksen. Multihost ohjelmia on monia. Huono puoli taas on siinä, että joskus sivustot tarvitsevat avukseen erilaista ohjelmistoa (riippuvuudet, dependencies), johon ohjelmisto ei välttämättä ole soveltuva.
Konttiteknologia
Kontit ovat nopeita laittaa käyntiin ja niissä parasta on se että riippuvuudet asentuvat aina suoraa alustasta huolimatta. Konttiteknologia hyödyntää Linux Libs&Bins. Konttiteknologialla voi tehdä myös latauksen tasapainoitusta (Load Balancer) Nettiohjelmat ovat monesti päällä vain yhdessä instanssissa, mutta swarmaus helpottaa instanssejen moniajon, jolloin rasitus serveriohjelmaan vähenee. Kontteja on helppo siirtää jos tarvitsee vaihtaa tietokonetta.
OpenStack
Joskus kehitysympäristön haluaa pilveen, jolloin OpenStack on mahdollisesti ratkaisu, tietokone joka pyörittää muita tietokoneita verkkosivujen kautta. Tietokoneisiin on mahdollista muodostaa SSH yhteys. Mahdollistaa ohjelmistojen asentamisen pilvipalvelussa, suhteellisen helppo muuttaa kehitysympäristöjen riippuvuuksia verkossa, ja asentaa ohjelmia. Kehitysympäristössä voidaan käyttää devstack -ohjelmistoa. DevStack on Virtualisointia pilvessä. OpenStack ei pidä huolta infran tilasta.
Kehitysympäristö USB-tikulla
Kehitysympäristö on mahdollista asentaa myös tikulle, jolloin käyttöjärjestelmä on USB-tikussa. Toimii oikeastaan yhtä hyvin web-kehityksessä kuin normaali käyttöjärjestelmä, joka olisi asennettu kiintolevylle. USB-tikulla data rientää vilkkaasti mukana. Parhaana puolena on se, että sitä voi käyttää lähes millä tietokoneella tahansa, missä on perinteinen BIOS ympäristö.
Markkinointiautomaatio
Monelle yritykselle riittää Subscribe uutiskirjeet, jos asiakkaat ovat kiinnostuneita uusista uutisista. Markkinointiautomaatiossa uutiskirjeet tehdään verkkosivujen tavalla ja koska sähköpostit ovat roll-backänneet sähköpostien HTML funktionaalisuutta, eikä scriptejä tai ulkoisia css tiedostoja voida käyttää vaan tyylit tulevat inline css. Markkinointiautomaatio softia on monia, itse olen käyttänyt lähinnä Mautic, mutta tiedän että HubSpot funktionaalisuus ja käyttäjäkokemus on jokseenkin responsiivisempi. Olen tutustunut myös hieman myös SMS Gateway tekniikkaan jossa sähköposti lähtee SMS viestinä, mutta koska minulla ei ole vielä yritystä en ole sitä vielä käyttänyt.
Kubernetes
Alusta jolla voidaan pyörittää kontteja tai palveluita. Tässä tekniikassa parasta on syncronisoiva node teknologia, jossa nodet korjaavat itseään jos vioittuvat. Jatkuva infran health checkkaus ja kaiken tiedon syncronisointi ovat hienoja ominaisuuksia. Automaattinen Tätä teknologiaa käyttävät lähinnä todella suuret toimijat joille informaatio on kaikki kaikessa. Kubernetes on yleensä alustana muille sovelluksille kuten Docker, OpenStack yms.
Grafiikka automaatio
Jos on paljon muokattavia kuvia, esimerkiksi verkkokauppaan tarvitsee poistaa kaikista kuvista taustat, voidaan käyttää hyväksi mm. Blenderin Chromakey ominaisuutta, jossa kuvat menevät ohjelman läpi ja poistavat sinisen/vihreän taustan. Grafiikka automaatiota voidaan käyttää myös todella monessa eri asiassa, kuten vaikka erilaisten filttereiden tekemisessä, jolloin halutaan kaikissa kuvissa olevan jotain tiettyjä tarkkuuteen tai erikoiseffekteihin liittyviä ominaisuuksia. Photoshopissa on myös todella hyvät automaatiot, jossa näppäinyhdistelmään voidaan liittää tiettyjä toistuvia tehtäviä. Kaikista tärkeintä kuitenkin joskus on että kuvia ei tarvitse avata kaikkia erikseen vaan tietokone renderöi kaiken tarvittavan yhtenä ketjuna, olkoon kuvia vaikka 10000.
Statistiikka
Sivustoissa voidaan käyttää Google Analytics, tai muita analytiikka ohjelmia jotka toimivat seurantapikseleillä kun sivu avataan, se lataa myös kuvan tietyltä serveriltä. Serveille tulee pyyntö kuvasta joka tekee verkkoliikennettä ja logiin jää tiedot. Analytiikassa on myös mukava joskus katsoa reaaliajassa kuinka sivustoa selataan ympäri maailmaa ja sekin on mahdollista. Yhdessä lempiohjelmassani näkee myös mukavasti maailmankartalta mistä päin verkkoliikennettä tulee.
Analytiikka
Verkkoanalytiikkaa on myös mahdollista seurata todella syvällisesti, jolloin kuunnellaan oman tietokoneen portteja, että mitä verkkokortti oikein puuhaa. Wiresharkilla on mahdollista analysoida mistä verkkoliikennettä tulee ja miksi, näin voidaan kohdentaa vika helposti kun nähdään mistä yhteyksiä tulee. Wiresharkilla näkee myös muut yhteydet tietokoneeseen, esimerkiksi jos ohjelmia ei ole käynnissä ylimääräisiä, mutta yhteyksiä on silti ja suuria määriä dataa liikkuu toiseen osoitteeseen.
Tietoturva
Verkkosivu on niin turvallinen kuin sen heikoin lenkki. Olkoon kyse sitten systeemiarkkitehtuurista tai itse ohjelmistopuolen viasta. Tämän vuoksi ei ole välttämättä hyvä asentaa liian montaa lisäosaa. Jossain voi olla avattu haavoittuvuus cross-site scriptingille, tavanomaisesti Wordpress core kuitenkin sanitoi tekstin niin että sitä ei pääse tapahtumaan. Linux järjestelmässä apt-get update päivittää yhdellä kerralla kaikki ohjelmistot, eikä niitä pidä erikseen päivittää. Uhka voi tulla tietenkin monella tasolla, takaovista, tai korjaamattomista aukoista. Konttien tietoturvan voi myös päivittää ajamalla päivitys. Tietoturva-ohjelmistoja on niin paljon että niille on tehty oma Linux-jakelu. Kali Linux sisältää yli 300 työkalua tietoturvaan ja testaukseen.
Web-tekniikat
XMPP Extensible Messaging and Presence Protocol
Yksityisiä viestintäpalveluita voidaan käyttää hyödyksi nettisivuilla, suuressa osassa collab. yhteistyöohjelmissa on jo sisäinen viestintä, mutta XMPP on vakiintunut standardiksi ja se toimii myös helposti matkapuhelimissa. Sisäinen viestintä voidaan tuoda mihin tahansa nettisivulle osaksi kommunikointia.
Miitti
Serveri joka hyödyntää XMPP tekniikkaa, voi tehdä oman serverin nopeaa, voidaan käyttää myös videohangouttina, serveriin voidaan tehdä omia kanavia, kirjoittaa viestejä, jakaa koodia reaaliajassa, puhua, jakaa videota tai ruutua. Kanavat on mahdollista suojata salasanalla.
VoIP
Teamspeak, Mumble Xfire ovat näistä varmaan tutuimpia, helppo kommunikointi puheen avulla. Entuudestaan tuttu palvelu hyvin monelle pelaajalle. Puhetta voidaan aktivoida äänellä tai nappulalla.
Hostaus alustat (Plesk, i-mscp, EHCP)
Parasta hostausalustoissa on ehkä sovellusten asennusscriptit, saa nopeaa uudet verkkosivut kehitykseen scriptejen avulla. Hyvänä puolena myös että voi kehittää ulkoverkosta käsin suhteellisen helposti. Tosin kaikki on jo tässä vaiheessa tavallaan julkaistu verkkoon.
WordPress Multihost
Multihost on yksi WordPressin ominaisuuksista, eikä sitä tarvitse erikseen juurikaan asentaa, kunhan laittaa sen päälle, lähes out-of-the-box funktionaalisuus, vieraiden on mahdollista rekisteröidä oma WordPress itselleen, siitä parhaina esimerkkeinä wordpress.com ja wix.com. Multihostissa sivuille tulee uusi superadmin, jolla on oikeudet kaikkeen ja jokainen uusi käyttäjä saa ylläpitäjän oikeudet omille sivuilleen. Lisäosien ja teemojen asennukset ovat yleensä rajattuja ja niitä tekee vain superuser. Kaikista helpoin tapa tehdä monta WordPress asennusta yhdellä kerralla. Tulee parhaiten käyttöön jos WordPressia käytetään paljon julkaisualustana.
SoMe
Internetti kuhisee nykyään sosiaalisia alustoja, kuten Buddypress (bbPress erikseen foorumeille). Ennen foorumit olivat sosiaalinen alusta, mutta nykyään Facebook on näyttänyt tietä jutustelulle internetissä. SoMen voi kuitenkin asentaa vielä vaikka aivan itselle, omalle yritykselle tai yhteisölle. Tässä tekemäni social.354.fi HumHub:lla. Yrityksille eXo Platform voisi olla kuitenkin parempi sosiaalinen alusta.
PHP Frameworkit
PHP frameworkit helpottavat omien webbisivujen tekemistä, joihin voi helposti asentaa valmiita rakennuspalikoita kuten lähes plugineita tyhjän päälle. Olen käyttänyt itse hieman Laravelia, joka on myös yksi suosituimmista. Toistaiseksi olen tyytynyt muiden tekemiin moduleihin, enkä ole koittanut niitä kirjoittaa itse. Laravel toimii parhaiten kun tehdään suuria projekteja tiimissä. Koska PHP on moduuleissa, eli erillisissä tiedostoissa niitä on helppo muokata ja tiimiläiset voivat ottaa oman alueensa minkä parissa työskentelevät.
Git
Versionhallinta, oiva tapa tarkkailla kehittämisen ääressä työn kulkua, helpompi myös seurata mitkä tiedostot ovat muuttuneet viime versiosta. Helpompi tapa kehittää yhdessä, voi tehdä muutoksia projektiin ja sitten git ylläpitäjä voi yhdistää ne projektiinsa. Minä tykkään myös cloonata ja testata, suosittuja projekteja github.com git-yhteisöstä. Git on varmasti yksi suurimpia asioita joka on vaikuttanut minuun edistävästi web-kehittäjänä. Tykkään oppia koodaamista projekteista ja myös vähän lainata koodia.
Bootstrap
Front-end, CSS , JavaScript kirjasto, jotta kaikkea ei tarvitse kirjoittaa uudestaan kun tekee uutta nettisivuprojektia. Itse tykkään eniten että Bootstrap jakaa sivun responsiivisiin kolumneihin. Yleensä käytettyjä perus tyylittelyyn tarkoitettuja palikoita, kuten: nappulat, fontti, lomakkeet.
Electron Atom
Electronilla voidaan tehdä web-sovelluksia oikeiksi työpöytä sovelluksiksi, toki ne avaavat vaan selaimen ikkunaan. Voi olla hyödyksi suurilla firmoilla, jossa nettisivujen pitää olla todella helposti saatavilla tai jos halutaan luoda kuvaa, että on sovellukset ja kaikki.
Staattinen verkkosivusto
Olen muokkaillut aika paljon toistaiseksi suoraa HTML:llää ja CSS:ssää, sekä upottanut kiinnostavia PHP tai JavaScript elementtejä. Staattinen sivu on joka tapauksessa aina kaikista turvallisin, koska se voi muuttua vain jos sitä muutetaan palvelimelta. Poistaa suurimman osan nykyajan verkkosivustohyökkäysriskeistä.
Linux
Kaiken osaamiseni ydin nykyään on varmaankin Linux osaamisesta saatu oppi, Linux on maailman käytetyin alusta serverinä, eikä tule siitä kovinkaan nopeasti muuttumaan. Alustana sitä vauhdittaa maailmanlaajuinen yhteisö ja teknologiabuumi etenkin Kiinassa. Avoimenlähdekoodin kehittäjät käyttävät lähes aina Linuxilla, sillä ohjelmistot ovat ilmaisia. En tiedä kuinka paljon sponsoria yritykset saavat kaupallisten käyttöjärjestelmien tukemisesta, mutta Linuxia käyttämällä voi säästää paljon rahaa.