Sharing.

Slides:



Advertisements
Verwante presentaties
CIMSOLUTIONS B.V. CIMSOLUTIONS Automation for Industry & Business SIG Embedded “Proces Ellende” André Vink CDP real-time embedded 28 september 2005.
Advertisements

KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Wat is het  Korte berichtjes publiceren (140 tekens).  Combinatie webloggen + instant messaging =microblogging  Opgericht (oktober 2006) door Obvious.
Instructie Programmeren Task 8 5JJ70. PAGE 2 Task 8: Double Linked List Het doel van deze opdracht is: Het opbouwen van een tweetal klassen, die samen.
Van domeinklasse tot implementatie
Hogere-ordefuncties nEen lijst langs lopen en met elk element iets doen nEen lijst langs lopen en sommige elementen selecteren map filter.
PROJECTCOMPETENCE MANAGEMENT SCREENCompetenciesEdit1 DESCRIPTIONCompetencies in the “Competentie beheer” is a link to the editwizard for competencies.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Hogere-orde functies: herhaald patroon? Parametrizeer! product :: [Int]  Int product [ ]= product (x:xs)= 1 product xs x * and :: [Bool]  Bool and [
Inleidend probleem Data structuur (hiërarchie van classes)
Reguliere talen nReguliere grammatica: versimpelde Contextvrije grammatica nFinite-state Automaton: andere manier om een taal te beschrijven nReguliere.
Imperatief programmeren nProgramma bestaat uit nRunnen is opdrachten gegroepeerd in methoden één voor één uitvoeren te beginnen met main.
Array nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… …is eigenlijk overbodig! List a;
Ontleden nNon-deterministisch m.b.v. Parser-combinators nDeterministisch m.b.v. Stack-machine type Parser a b = [a]  [ (b, [a]) ] type Parser a b = [a]
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
Static Keyword static voor functieleden functie niet voor een object aangeroepen class K {... static int minimum( int i, int j); } aanroep: K::minimum(
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Chris Pollentier 18 / 12 / 2002 De LOGO taalwereld.
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
Boomerang.
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Twitter wat is het? wat kun je er mee doen? clubmiddag 18 november © R.P.Vloeimans, Amstelveen, Netherlands.
Tel de zwarte stippen. Tel de zwarte stippen Lopen de horizontale lijnen evenwijdig of niet?
Instructie weblog. Start van je eigen weblog 1) Ga naar weblog.aocfriesland.nl 2) Je krijgt het volgende scherm te zien. 3) Ga naar inloggen, zowel links.
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Datacommunicatie en netwerken
Deltion College Engels B2 Lezen [Edu/003] thema: Topical News Lessons: The Onestop Magazine can-do: kan artikelen en rapporten begrijpen die gaan over.
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 8: synchronisatie en communicatie met gedeelde variabelen.
AWK A Pattern scanning and processing language made by Aho Weinberger Kernighan and explained by Albert Montijn.
Deltion College Engels B1 Lezen [Edu/002] thema: But I ‘ve read it in… can-do : kan hoofdthema en belangrijkste argumenten begrijpen van eenvoudige teksten.
Instructie Programmeren Task 7
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
Shared iOS and Android app using Xamarin.Forms with custom controls Robin Vercammen.
Nieuwjaarssonnet 2011 Geven en Nemen New year‘s sonnet 2011 Give and Take © paul verstraete 2011.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
INFITT01 - Internettechnologie WEEK 3. Programma Sessies JSP.
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
Java & het Web Programma: Sessies JSP. Stateless vs. Stateful(1) HTTP is stateless WAT IS STATELESS?
Sessie 4: Opdrachten krijgen met 1. Wat gaan we doen? #lift Aan de slag met Twitter Oefening Geavanceeerd gebruik Twitter succesvol toepassen Toelichting.
GUI & classes Een Gui in een class steken en het object gebruiken.
IF() ELSE() LES 4: VOORWAARDEN. BOOL Een variabele die slechts 2 mogelijke waarden kan hebben: true(waar) of false(niet waar) duid je aan met bool bool.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
PPGM Voor databeheerders Johan Van Rensbergen 09/08/2016.
Robby de Robot. Javascript Tot nu toe gebruikt: – document.write(" Hello World "); – alert("tekst") – Toon een waarschuwingsvenster – prompt("tekst",
Software Development fundamentals
Game Object Structuren
Objectgeoriënteerd Programmeren (2)
1e Deeltentamen Nagekeken werk ligt voor in de zaal (alfabetisch op achternaam) Neem het even mee, de uitwerking wordt in het college besproken Discussies.
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Animatie
Gameprogrammeren: Herhalingen
OOS Object geOrienteerd Software-ontwerp - 5
Voortborduren op eerder gedaan werk
Gameprogrammeren: Abstracte klassen
Gameprogrammeren: Interfaces
Game: omgaan met tijd (Jewel-Jam)
Social Media Online Continuïteit 18/09/2018
Iris van de Ven Bart van Vegchel
Implementatie Zoekboom
Software Development fundamentals
Software Development fundamentals
G-CLOUD SHAREPOINT USER GROUP
SQL Les February 2019.
Handleiding Prodas-app
Software Development fundamentals
TOP met iTasks 2.
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Sharing

Shared Data Gebruikt voor 3 doelstellingen als resource voor algemeen toegankelijke informatie (tijd, datum, etc) als persistente opslag voor informatie (ook na opnieuw opstarten taak weer aanwezig) om informatie tussen verschillende taken te delen 25-2-2019

Shared Data als resource Data and Time getDateAndTime :: Task DateTime getDateAndTime = get currentDateTime currentDataTime is een shared resource met de get functie haal je de inhoud van de resource op 25-2-2019

Simpel ToDo lijstje toDoList = sharedStore "SimpleToDo" [] toDo :: Task [String] toDo = get toDoList >>= \list -> viewInformation "ToDo List" [] list >>* [Always (Action "Erase all") (eraseAll >>| toDo) ,Always (Action "New Item") (newItem >>| toDo) ,Always (Action "Stop") (return list) ] newItem :: Task Void newItem = enterInformation "New todo" [] >>= \item -> update (\items -> items ++ [item] ) toDoList >>| return Void eraseAll :: Task Void eraseAll = set [] toDoList >>| return Void 25-2-2019

Simpel ToDo lijstje sharedStore naam startwaarde Creeert een store met een naam en initiele waarde. Met get share kan de inhoud worden opgehaald. Met set share waarde kan de waarde in de share worden vervangen. Met update functie share kan de share geupdate worden. 25-2-2019

Extended To-Do lijst :: ToDo = { name :: String , deadline :: Maybe Date , remark :: Maybe Note , done :: Bool } derive class iTask ToDo toDoList :: Shared [ToDo] toDoList = sharedStore "ToDoLijst" [] 25-2-2019

Extended To-Do lijst toDo :: Task String toDo = viewSharedInformation "ToDo List" [] toDoList >>* [Always (Action "Show Ready") (showReady >>| toDo) ,Always (Action "Make changes") (updateToDoList >>| toDo) ,Always (Action "Remove ready") (removeReady >>| toDo) ,Always (Action "New Item") (newItem >>| toDo) ,Always (Action "Stop")(viewInformation "App ready" [] "Gestopt") ] 25-2-2019

Extended To-Do lijst updateToDoList :: Task Void updateToDoList = updateSharedInformation "List" [] toDoList >>| return Void newItem :: Task Void newItem = enterInformation "New todo" [] >>= \item -> update (\items -> items ++ [item]) toDoList >>| return Void 25-2-2019

Extended To-Do lijst removeReady :: Task Void removeReady = update remReady toDoList >>| return Void where remReady tds = [td\\ td <- tds| not td.done] showReady :: Task Void showReady = get toDoList >>= \ts -> viewInformation "Ready" [] [t\\ t <- ts| t.done] >>| return Void 25-2-2019

Twitter App Chat applicatie waar gebruiker kan inloggen en berichten voor bepaalde thread (hashtag) kan volgen en zelf berichten (tweets) kan toevoegen Tweets zijn gegroepeerd per thread Een tweet bestaat uit een paar (username,content) 25-2-2019

Twitter App Start :: *World -> *World Start world = startEngine (tweeting>>= viewInformation "Ready" []) world :: UserName :== String :: Tweet :== (UserName,String) twitterId :: String -> Shared [Tweet] twitterId name = sharedStore ("Twitter with " +++ name) [] tweeting = enterInformation "Give username" [] >>= \me -> enterInformation "Give thread name" [] >>= \name -> joinTweets me name (twitterId name) 25-2-2019

Twitter App joinTweets :: String String (Shared [Tweet]) -> Task Void joinTweets me thread tweetsStore = viewSharedInformation (“Following" +++ thread) [] tweetsStore ||- enterInformation "Add a tweet" [] >>* [ Always (Action "Quit") (return Void) , WithResult (Action "Commit") (const True) commit ] where commit :: String -> Task Void commit message = update (\tws -> tws++ [(me,message)]) tweetsStore >>| joinTweets me thread tweetsStore 25-2-2019

Twitter App ||- doe twee taken parallel en geef het resultaat van de rechtse taak terug 25-2-2019