Her er en oversigt over mine web-applikationer, små spil og services.
Et javascript test miljø, hvor underviser kan aktivere opgaver som allerede er lavet og lave nye opgaver. Så udleveres en kode til de studerende og så kan de løse de aktiverede opgaver og underviser kan følge med alles arbejde.
...gå til appen her...
Et nyt Scrum board som viser hvordan tasks hænger sammen med hvilken User Storie. Det har undret mig i lang tid, at de fleste (måske alle) Scrum tools ikke har indbygget Task delen som en speciel del af en Story. Men det her du mulighed for her.
...gå til appen her...
Et brætspil som er nemt for underviser at tilføje spørgsmål, hvor alle studerende kan spille imod hinanden.
Alle spil kan holde op til 4 spillere, og systemet deler automatisk spillerne ud i flere spil.
Der er også en oversigt over alle spil, som underviser kan vælge at vise på projektøren eller bare følge med i.
...gå til appen her...
En Sangbog til Sange med Akkorder og også Nodebog.
Du kan oprette dig som bruger og lave din egen sangbog.
...gå til appen her...
En kalender som har fokus på kundens historie.
Den gør det nemt at oprette nye aftaler, og se alle aftaler for en valgt kunde.
...gå til appen her...
Der er 3 lignende spil men i forskellige sværhedsgrader.
Du hører tilfældige bogstavers lyde, og så skal du vælge den rigtige bogstav på tastaturet.
...gå til appen her...
Prøv denne Simulator, så du kan lære hvordan “læring” virkelig foregår når vi snakker om AI. Du kan vælge at se alle udregninger som laves når Backpropagation anvendes.Du kan også hente denne application som en DLL. Det giver dig muligheden at træne din egen model, og anvende denne i din egen C# løsning.
...gå til appen her...
Prøv denne Tensorflow.js løsning. Den har lært 5 forskellige input, men kan generaliser. Prøv om du kan finde de punkter (der er 6 man kan sammensætte som man vil) som løsningen syns er vigtigs.
...gå til appen her...
En asp web applikation som bruger en web service til at spille black jack.
...gå til appen her...
En meget simpel applikation til at hente brugerdata hvor bruger kan trykke på et sæde i en biograf.
Den bruger egenskaben, at man kan få x og y, fra brugerens museklik til at tjekke hvilke sæde bruger har valgt.
Alt tegnes på ny på serveren.
...gå til appen her…(brug http og ikke https)
For at arbejde med web service har jeg lavet en simpel java script client som refresh´er siden hvert 5 sekund. Hvis du prøver med flere browservinduer åbne og ændrer i en af sliderne, vil de andre vinduer bliver opdateret automatisk (ind for 5 sekunder).
...gå til appen her...
Canvas giver os udviklere muligheden for at lave spil til browseren, hvor man før blev nød til at bruge plug-in´s som Flash, Silverligth eller Java Applets.
Her har jeg leget lidt med et framework til canvas som gør det lidt nemmere at animere objekter. Problemet med Easeljs var dog at collision controllen ikke var god, så jeg lavede lidt forbedringer til den, som ses her. Du kan manuelt flytte de to objekter og undersøge hvornår der er collision.
...gå til appen her...
Web Socket er noget ret fantastisk, som giver os muligheden for at knytte mange browsere sammen og lade serveren opdatere klenterne. Det vil sige, at vi nu er frie for at lade klienterne hele tiden spørge serveren om der er noget nyt.
Du må have 2 faner kørende for at det virker. Bedst er om de 2 faner er på 2 forskellige computere, så kan man virkelig se hvor smart det er.
...gå til appen her…(brug http og ikke https)
Nogle gange i undervisningen er det godt at have en Rest Web Service man kan bruge, så her har jeg lavet en.
Det er f.eks. Når man arbejder med JavaScript eller Andorid Mobil programmering, at det kan være interessant at hente data fra internettet.
...gå til Service her...
Add Person
http://restpublic.junoeuro.dk/service1.svc/AddPerson/John/description/www.cnn.com/false/44Reset
http://restpublic.junoeuro.dk/service1.svc/Reset/HTML
Fungerer også med HTTPS.
Basic ide i HTML og Javascript
<!DOCTYPE html>
<html>
<body>
<p id="demo">Fetch a file to change this text.</p>
<script>
getText("http://restpublic.junoeuro.dk/service1.svc/getListOfPersons/");
async function getText(file) {
let x = await fetch(file);
let y = await x.text();
document.getElementById("demo").innerHTML = y;
}
</script>
</body>
</html>
Basic ide i C# Console
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using HttpClient client = new HttpClient();
string url = "http://restpublic.junoeuro.dk/service1.svc/getListOfPersons/";
string response = await client.GetStringAsync(url);
Console.WriteLine(response);
}
}
Komplet HTML/Javascript løsning
<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="getAlleFraRestService()" id="aButton">GetAllFromService</button>
<button type="button" onclick="gemTilService()" id="aButton">GemTilService</button>
<button type="button" onclick="Nullstillservice()" id="aButton">Nullstil service</button>
<input id="txt1" type="text" name="eftirnavn" placeholder="Eftirnavn">
<script>
async function Nullstillservice() {
let x = await fetch("http://restpublic.junoeuro.dk/service1.svc/Reset/");
}
async function gemTilService() {
var data = document.getElementById("txt1").value;
let x = await fetch("http://restpublic.junoeuro.dk/service1.svc/AddPerson/" + data + "/description/www.cnn.com/false/33");
}
async function getAlleFraRestService() {
let x = await fetch("http://restpublic.junoeuro.dk/service1.svc/getListOfPersons/");
let y = await x.text();
document.getElementById("demo").innerHTML = y;
const myArray = JSON.parse(y);
document.getElementById("demo2").innerHTML = myArray[0].Name;
}
</script>
<p id="demo"></p>
<p id="demo2"></p>
</body>
</html>
Add Person
https://restpublicswagger.junoeuro.dk/api/add?name=jakup&description=underviser&url=www.jakup.dk&active=true&age=54Reset
http://restpublicswagger.junoeuro.dk/api/resetHTML
Fungerer også med HTTPS.
<!DOCTYPE html>
<html>
<body>
<p id="demo">Fetch a file to change this text.</p>
<script>
getText("https://restpublicswagger.junoeuro.dk/api/Person");
async function getText(file) {
let x = await fetch(file);
let y = await x.text();
document.getElementById("demo").innerHTML = y;
}
</script>
</body>
</html>
Basic ide i C# Console (uden ekstra genereret kode)
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Text.Json;
using System.Threading.Tasks;
// Vi definerer selv Person-klassen, så vi ikke behøver PersonApi
public class Person
{
public string Name { get; set; }
}
class Program
{
static async Task Main()
{
using HttpClient client = new HttpClient();
string url = "https://restpublicswagger.junoeuro.dk/api/Person";
// Hent JSON data
string json = await client.GetStringAsync(url);
// Konverter JSON (Deseralize) for at bruge dataen direkte i C#
var personList = JsonSerializer.Deserialize<List<Person>>(json, new JsonSerializerOptions { PropertyNameCaseInsensitive = true });
if (personList != null)
{
foreach (var person in personList)
{
Console.WriteLine(person.Name);
}
}
}
}
Nogle gange i undervisningen er det godt at have en SOAP Web Service man kan bruge, så her har jeg lavet en.
...gå til Service her...
Nogle gange i undervisningen er det også godt at have nogle helt almindelige POST og GET man kan kalde på fra f.eks. en HTML Form.
...gå til ASPX file her… AJAX tester her... AJAX til DB tester her... HTML tester her...
Her ses et eksempel på hvordan man kan tage en virkelig Interface og lave den som software. Således bliver det meget nemmere for brugeren at bruge, fordi det ligner virkelighed.
Mere om emnet, søg på: “Skeuomorphic Design”
...gå til HTML file her…(brug http og ikke https)