Clojure – this one goes to eleven!. Antti Virtanen Software Architect 044 507 0050 // Clojure oikeassa projektissa.

Slides:



Advertisements
Samankaltaiset esitykset
Suomen kulttuuri- ja tiedeinstituuttien neuvottelupäivät Kulttuuriviennin rahoitus Neuvotteleva virkamies Kimmo Aulake OPM/KUPO/KVY.
Advertisements

Jumalan kanssa.
NAO/Maija-Leena Haapa-alho
JavaScript oliot © Reiska, DOM Oliot  JavaScript sisältää paljon valmiita DOM olioita, on sisältänyt jo DOM level 0 (ns. Legacy DOM) alkaen  WWW-ympäristössä.
JavaScript (c) Irja & Reino Aarinen, 2007
Kurssilla käytettävät työkalut
Kirjasto mediakasvattajana Koulun “käsikassara” vai itsenäinen toimija? Kirjastot ja media kyselyn satoa Vaasan kaupunginkirjasto Pohjanmaan maakuntakirjasto.
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Avointa-hanke ja Prime Solutions Oy PlugIT-loppuseminaari
”Kun Kusti polkee…, niin posti kulkee…”
Olisiko oppineesta rotasta astronautiksi avaruuslennolle Marsiin?
Ohje PowerPoint esityksen tekoon
ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy.
Nuorkirjastolaisuus Usein kysyttyjä kysymyksiä Marjo Perälä.
1. Olio-ohjelmointi.
Seitsemän syytä optimismiin Kööpenhaminassa Helsinki.
Solita.. Juha Salonen Concept Designer Palveluhakemiston ammattilaiskäyttöliittymän testaus.
#tdweb UI kompositio Lenard Gunda / Fujitsu Finland #tdweb.
Open Source GIS Professori Ari Jolma Paikkatietotekniikan hyödyntäminen -kurssi, DIPOLI
DIIGO TIEDONHALLINNASSA Kiravo – kirjasto avoimena oppimisympäristönä Biblär – biblioteket som ett öppet lärcentra Krista Auvinen, Marjut Lahtela ja Katariina.
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Kurssilla käytettävät työkalut
Käytännön ohjelmointi ja käytännön ketterä testaus
Java-ohjelmointikieli -Javasta ohjelmointikielenä -ohjelmontivälineistä -opasteista.
Oppijan verkkopalvelu keskitetyt palvelut
Ohjelman jakaminen useampaan tiedostoon Olio-ohjelmointi (C++) KYAMK, Jarkko Ansamäki 2001.
Julkinen talous Suomessa
Työrauha ja haastavat tilanteet
Windows Presentation Foundation UxE:n näkökulmasta
Tietoyhteiskunnan palveluarkkitehdit ja -rakentajat © 2014 Gofore 1 ePerusteet – tietomalli ja rajapinnat Jarkko Hyöty Opetushallituksen tarjoamien.
Suunnitelma paperittomasta kokouskäytännöstä koko luottamushenkilöhallinnolle Kaupunginhallitus
Info-TV Projekti.
ASPnet-koulujen keskinäinen yhteistyö ja verkostoituminen Työpaja UNESCO-koulujen seminaarissa Opetushallitus Vetäjä: Tiina Sarisalmi.
Opetussuunnitelma, koulun kehittäminen ja arviointi 5op
Opintopolku.fi tilannekatsaus
Simulaattorikoulutuksen jälkipuinti – osa oppimisprosessia.
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
Twitterin etusivu Twitterin etusivulta löydät ”Top Tweets”, eli uusimmat tweetit. Etusivulla on myöskin nappi jota painamalla pääsee rekisteröitymissivulle.
Finna ja avoimen metadatan lisenssi Finnan konsortioryhmä Tapani Sainio, Kansalliskirjasto.
Polun pyöreä pöytä Eero Tuomenoksa Polku Eero Tuomenoksa Ohjelma 18:00 Polun tämän hetken tilanteen esittely 18:50 Polun kehityssuunnat.
Esittäytyminen Vastaa esitettyihin kysymyksiin omalta kohdaltasi lyhyesti. Korvaa kysymykset omilla vastauksillasi. Kiitos!
Cmap-tools opetus käyttö kongnitiivinen merkitys.
Jatkuvan parantamisen Jp-taulu
Opinnäytetyön tekijä: Etunimi Sukunimi
KANSALLISKIRJASTO - Kirjastoverkkopalvelut UKJ-hankkeen tilannekatsaus Ari Ahlqvist Kehittämispäällikkö UKJ-ohjausryhmä
Tietopalvelu verkkoympäristössä Nina Granlund 2006.
Matematiikkaa tietokoneella mikko opettaa Sagen avulla matematiikkaa ja ohjelmointia
Laajennettu työssäoppiminen lähihoitajakoulutuksessa
Keikkahaku-mashup Pekka Virtanen. Mitä sovellus tekee? Käytetty Last fm ja Youtube rajapintoja Last fm:stä haetaan keikkapaikkojen keikka tietoja paikk.
1 Arkkitehtuuriin liittyvien kuvien teko Sekvenssikaavio Komponenttikaavio Luokkakaavio Ohjausryhmän palaveri Toimitussisällön tarkastelu Vaatimusten läpikäynti.
EVTEK T&K -seminaari EVTEK Mobiilisovellusten laboratorio Auditorio, Big Dry (B 327) Jörgen Eriksson Kehityspäällikkö.
21. Kulttuuriala s. 96‒99 Kulttuuriala.
Matematiikkaa tietokoneella mikko opettaa Sagen avulla matematiikkaa ja ohjelmointia 2011,2012.
Heuristinen arviointi Käyttöliittymäseminaari Jere Salonen.
WWW-sivuston tekeminen: n SUUUNNITTELE aina ensin:
Mi Menetelmä tosiaikaiseen sivustomuokkaukseen Sulake Dynamoid | Strictly confidential – legally protected and privileged information Ilari Tuominen Software.
1 Ohjelmointikielten varhaishistoria Esa-Matti Miettinen
Lyhyt johdanto CVS:ään (ict1td002 - Ohjelmointitaito)
Heikki Hyötyniemi Teknillinen korkeakoulu, Systeemitekniikan laboratorio 1. Älykäs WWW Totuus vai Todellisuus - tutkimuksen haasteet Heikki.
KANSALLISKIRJASTO - Kirjastoverkkopalvelut Esitys: Finnan metatiedolle CC0-lisenssi Tapani Sainio Finnan konsortioryhmä
Palvelun käyttöliittymätasonpalvelun toteutus osaksi TIPTOP portaalia prosessin kulku EduGUI komponenttikirjasto on käytettävissä open sourcena, Eduix.
T /5115 Software Development Project I/II Experience Exchange Session: architects Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio.
PHP ja MySQL PHP: Hypertext Preprosessor. PHP, johdanto Komentosarjakieli, joka on suunniteltu dynaamisen sisällön tuottamiseen verkossa PHP on sekä kieli,
Tutkimussuunnitelma 1. Mitä käyttäjäryhmää tutkitaan?
Kierros 3 - OLO Kuva. Tänään Lyhyesti kurssista tähän mennessä Viikon aiheiden esittely Jakautuminen ryhmiin ja työskentely ryhmissä – OLO1 –
Aipal-järjestelmän tekniikkaa
EV3-ohjelmointi Lumapäivät Lahti.
Kierros 4 - OLO Web.
Aaltonen Petteri Laine Risto Nuutinen Ossi
Linkkejä hyviin menetelmiin
Esityksen transkriptio:

Clojure – this one goes to eleven!

Antti Virtanen Software Architect // Clojure oikeassa projektissa

Agenda  Esittelyt ja taustat  Clojuren valinta, arkkitehtuuri  REPL-demo  Joitakin havaintoja matkan varrelta

Solita? Yli 300 ”digitaalisen liiketoiminnan matkaopasta”. Syntyy järjestelmiä. Koodia. Integraatioita.

Muutakin on kierretty kuin tahkoa Alalla töissä 1997 vuodesta. Pääasiassa Javaa, mutta aika paljon muutakin. Melko monipuolisia työtehtäviä - myyntiä, koodaamista, tutkimusta, opetusta. Nyt projektipäällikkö, arkkitehti, koodaaja.

” Lisp can adapt to your particular programming problem. Peter Norvig, Paradigms of AI Programming

Miksi Clojure? 1. JVM-pohjainen Kaikki Javan kirjastot ovat käytettävissä. Ei vaadi ajavalta koneelta kuin JVM-tuen ja se oli ehdoton reunaehto Opetushallituksella. 2. Funktionaalinen ohjelmointikieli Scalaakin voi kirjoittaa funktionaalisesti. Tai monella muulla tavalla. 3. Clojure oli koettu jo hyväksi Tämä ei ollut Solitan ensimmäinen kosketus Clojureen. Kokemukset olivat olleet hyviä, joten haluttiin laajentaa käyttöä.

OPH:n arkkitehtuurimallin vaikutus: Clojure on piilossa. Kaikki ei riipu Clojuresta.

Konversio: REPL-demo Konversio = vanhan datan migraatio uuteen tietomalliin. Koodi: Kuva: FAKEGRIMLOCK, Creative Commons

REPL + dynaaminen tyypitys Tyypitys ja vierasavaimet legacy-datassa usein puutteellista. Tauluja voi olla satoja. Ei tiedetä täsmälleen miten ne pitää käsitellä.

Dynaaminen tyypitys ei ole mörkö Kun pelottaa, Prismatic Schema tai core.typed pelastaa.

Clojure mahdollistaa asioita Clojure ei ohjaa. Tarjolla on kirjastoja, ei frameworkkeja. Ohjelmoijan pitää tietää mitä haluaa tehdä ja tehdä itse valinnat. Valitseminen ja perusteleminen edellyttää kokemusta. Clojuressa kaikki ”standardikirjastot” eivät ole vielä valmiita. Ne toimivat, mutta joitakin tärkeitä ominaisuuksia voi joutua tekemään itse. Kokemus auttaa tässäkin. (Korma, Compojure)

Kysymyksiä?.

Luettavaa ja linkkejä ›Miksi funktionaalinen ohjelmointi? kingdom-of-nouns.html kingdom-of-nouns.html ›Miksi Lisp? ›Miksi Clojure? ›Miten? ›Miten käytännössä? ›REPL ammattilaisille: ›Esityksen koodi: ›Opetushallituksen Aitu:

Kiitos.