Inlägg

Inlägg som Daz har skrivit i forumet
Av Daz

Tror att Microsoft har ett rejält intresse av att slå sig in på skoldatorsidan med hjälp av ARM-bestyckade enheter. Chromebooks regerar på många ställen och en snorbillig Surface (som inte är en Laptop SE, urk) med 15+ timmar batteritid som kan köra windows + office och lite standardprogram utöver det skulle nog vara riktigt intressant. Bundla den med A-licenser på något smart sätt -> profit.

Av Daz

Fascinerande att läsa en nyhet om detta dagen efter vi fick mail från ytterligare en operatör (tredje i raden) om att de gett upp att dra fiber till oss. Suttit på 4G sen pandemin och det känns som det blir sämre för varje år som går. Primära problemet är stabiliteten på, främst, upload, då det kan svaja till rätt bra emellanåt.

Av Daz

Vem kan ens kodnamn på processorer liksom?

Av Daz

Spontant rekommenderar jag inte Scratch för fullstackutveckling

Av Daz

Ingen aning om när jag skrev mitt första hello world men klart senare än många andra i tråden för jag var nog över 30.

Skulle nog inte säga att jag kodar till vardags men det händer väl att man kör lite powershell på jobbet för att spara tids. Brukar säga att jag primärt jobbar enligt ADD modellen, annoyance driven development, så när något tar evigheter manuellt försöker jag hitta en bättre metod. Har en liten modul skriven på jobbet för att slippa göra tråkigt manuellt arbete.

Har nyligen läst två kurser Java så kanske blir det mer programmering framöver

Av Daz

Vasa bryggeri Julmust Special är den överlägset bästa, tycks dock vara en riktig vattendelare i min erfarenhet.

Annars gillar jag, likt många andra, Zeunerts och den som lagrats på romfat.

Av Daz

34" uw både på jobbet och hemma. Suget efter en 49" uw är stort men plånboken orkar inte riktigt i nuläget.

Av Daz
Skrivet av raketmaskinen:

Produkt: Microsoft 365 family 15 månader + Norton/Mcafee Antivirus
Länk: https://www.amazon.de/-/en/Microsoft-Multiple-Tablets-Downloa...
Kategori: Övrigt
Prisjakt: https://www.prisjakt.nu/produkt.php?p=1639969
Pris: 700kr

Kostar 61 euro, ca 700kr. Halva priset per månad jämfört om man köper från microsoft eller återförsäljare. Testat och aktiverat nu på morgonen!

Jag får verkligen inte det här att fungera. Är inloggad med mitt amazonkonto (är det kanske problemet?) och kan se objektet i min kundkorg men när jag går till checkout får jag följande:

You cannot purchase this product as this region is currently not supported. Any bundle discounts associated with this product will not be applied in this purchase.

Står att det ska levereras till min adress i Sverige trots att jag valt att få e-post med koden.

All form av hjälp är mycket välkommen

Av Daz

Ett exempel på en sida där du ska hämta delar av länkar vore till hjälp för att förstå problemet. Vad är syftet med arbetet? Är länkarna någorlunda lika formaterade? Låter som något som skulle gå att scripta.

Av Daz
Skrivet av snajk:

Access är lite "DB Light" på vissa sätt, men samtidigt inte så "light" för det är rätt kraftfullt. Inte riktigt i nivå med typ SQL Server eller så, men å andra sidan är det ju ett verktyg för användare till skillnad från de flesta databaser som är ägnade åt utvecklare som i sin tur får bygga de användarinriktade applikationerna.

Men ja, det används på en del ställen där det verkligen inte borde användas. Mitt jobb använder exempelvis en mjukvara som ligger mellan vår hårdvara (och den mer hårdvarunära mjukvaran där) och vår mjukvara på högre nivå. Den är inte modern på något sätt utan tvärtom, stöder bara filnamn med 8+3 tecken exempelvis och känns i allmänhet som något från tidigt nittiotal. Ett av deras verktyg som man måste använda innan man kan använda själva runtime-mjukvaran för att bygga upp systemet är typ ett väldigt specifikt CAD-program vars output är en krypterad Access-DB som man sen får importera i den andra mjukvaran (på idag väldigt krångliga sätt som innefattar flera andra program för att packa upp och kompilera ihop lösningen). Det funkar men det är rätt begränsande, och vi slår ju i återvändsgränder hela tiden tack vare att vi kör på den mjukvaran liksom. Access är väl inte problemet dock, mer ett symptom på att en modernisering borde ha skett för många år sedan.
Nja, tanken är väl att man använder en ORM när man bygger sitt REST-api. Du bygger en backend som i princip är ett hyfsat simpelt api mot databasen, med GET, PUT, PATCH, DELETE-metoder för respektive klass/objekttyp som då uppdaterar basen och sen anropar du dessa från din frontend (Swagger är trevligt för att testa detta, ger ett autogenererat gui mot ditt api). Validering exempelvis har man i backenden för säkerhet, men också i frontend för att göra det mer responsivt.

Eller så kör man en dokumentbaserad databas istället för en relationsbaserad. Då använder man inte en ORM utan en ODM (Object Document Mapper), men funktionsmässigt är det ju ungefär samma sak.

Poängen med en ORM/ODM är ju att utvecklaren får jobba med objekt i koden, som den är bra på, och behöver inte bry sig om att skriva SQL querys eller liknande utan bara skapa ett objekt från data, göra ändringarna som användaren begärt, och spara. Generellt får man också funktioner för att skapa databasen utifrån objektklasserna i koden, så att man inte behöver tänka på det.
Ärligt talat låter det som att det hade kunnat passa med NoSQL, alltså en dokumentbaserad databas snarare än en relationsdatabas med tabeller, för dina behov. Det ändrar ju en del i hur man ska tänka i uppbyggnaden av databasen förstås, men det underlättar framtida ändringar väldigt mycket, och så länge det inte handlar om några enorma mängder data så är prestandan inget problem.

Jag får ont i huvudet när du säger krypterad access-db som ska konverteras. Har erfarenhet av liknande hemskheter...

Ska se om jag kan få in lite läsning om NoSQL databaser framöver, gjorde en snabb titt på wikipediasidan om fenomenet men särskilt mycket fastnade inte ska erkännas... Som jag tror mig ha nämnt någonannanstans i tråden är en del av det här projektet att lära mig inför en kurs jag ska plugga kommande termin och däri är det nog (tyvärr?) bara sql databaser som gäller så jag kommer nog hålla mig till relationsbaserade sådana en stund till bara därför.

Sedan är dagens uppdatering att jag nu följt guiden och fått in en post-metod som fungerade med Restfox för att skicka post-request till servern. Eftersom jag är dålig på html+css+javascript bad jag sedan chatgpt skriva ihop ett minimalt exempel baserat på mina önskemål om funktionalitet. Den valde då att använda sig av XMLHTTPRequest i koden men baserat på @WebbkodsLärlingen svar ovan bad jag den istället använda fetch() och det blev, i min mening, mer läsbart. Stötte på problem med att servern inte svarade alls och efter lite resonemang med AI'n kom det fram att cors-headers behövde fixas, något jag inte ens visste vad det var men den rekommenderade att jag la till:

// Middleware för att sätta CORS-headers app.use(function(req, res, next) { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE'); res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); res.setHeader('Access-Control-Allow-Credentials', true); next(); });

Den gav mig även en kort förklaring av vad de gör

Access-Control-Allow-Origin: Anger vilka domäner som har tillstånd att göra förfrågningar till servern. Om du vill tillåta förfrågningar från alla domäner kan du sätta värdet till "*", men för en mer restriktiv konfiguration kan du specificera de domäner som är tillåtna.

Access-Control-Allow-Methods: Anger vilka HTTP-metoder (t.ex. GET, POST, PUT, DELETE) som är tillåtna för förfrågningar från andra domäner.

Access-Control-Allow-Headers: Anger vilka HTTP headers som är tillåtna i förfrågningar från andra domäner. Detta inkluderar vanligtvis standardheaders som Accept, Content-Type, Authorization etc.

Access-Control-Allow-Credentials: Anger om webbläsaren ska inkludera cookies och autentiseringsuppgifter i förfrågningar från andra domäner. Om du tillåter att webbläsaren skickar cookies, måste även withCredentials-flaggan i JavaScript-XMLHttpRequest-objektet vara satt till true.

Dold text

Än så länge känns det som jag mest bara klipper och klistrar ihop saker men jag ber AI'n förklara vad de olika kodsnuttarna gör och upplever ändå en liten progression. Nästa steg i guiden är att lägga till .put och .delete som anrop för min tabell. Efter det tänkte jag försöka, manuellt, uppdatera den AI genererade html-koden och javascript filen så att det går att skicka även sådana kommandon

Av Daz
Skrivet av ELF:

Det har nämnts redan, men kan nämna att min morfar körde MS Access och Excell för sin trädgård. Han hade även CADat upp landen som han sedan länkade i Access. Jag har aldrig riktigt lärt mig Access så det sitter, men var ända ganska lätt att komma in i trots min då väldigt unga ålder. Tror detta skulle innebära minst jobb om du enbart kör lokalt.

Men vill du prompt programmera en webbsida så skulle jag rekommendera att du inte gör allt direkt. Utan dela upp det i flera steg.
Detta är ett råd jag skulle ge mig själv om jag kunde innan jag började med mitt projekt jag håller på med. Har tagit längre tid än vad jag trodde. Till stor del för att jag bara köttade på med allt direkt istället för att dela upp det.

  1. Håll det simpelt i detta steg. Gör så lite som möjligt för att få sidan att fungera. Skippa javascript. Skriv ingen "onödig" serverside kod. För körs sidan enbart lokalt så behöver du inte bry dig om säkerheten och det gör absolut ingenting om sidan måste laddas om när du lägger till eller ändrar information. Bry dig heller inte om pixelperfection, använd css för att enbart få till en grundstruktur.

  2. Börja implementera javascript.

  3. Jobba på designen

  4. Lägg till annan funktionalitet som du möjligen har kommit på som skulle vara trevlig att ha.

  5. Förbättra säkerheten om sidan ska publiceras publikt. Räkna dock inte med att den är säker om du inte har koll på ämnet.

Är du okej med att hela sidan laddas om vid användning, det kanske inte stör så mycket. Då kan du göra punkt 2 och 3 i omvänd ordning.

Förstår varför det är flera i tråden som pekar mig mot Access då det troligen är synnerligen optimalt för just mig och såna här projekt. Det känns dock inte som att jag skulle lära mig de saker jag önskar få ut av det här om jag körde Access dock då det känns rätt gammalt och inte används så mycket längre (eller snarare, inte borde användas så mycket längre).

Skrivet av snajk:

Stored procedures går att använda men idag kör man normalt någon ORM (Object Relational Mapping) som EF (Entity Framework) så behöver man inte tänka på databasen utan bara jobba med koden, eller försåts någon DB som inte kör SQL. På jobbet kör vi MongoDB exempelvis, lätt att använda från .Net.

Sökte lite på ORM, MSSQL, node.js och hittade sequelize. Om jag förstår det rätt så bygger man sina tabeller och allting direkt i koden om man vill köra det verktyget rakt igenom? Jag hittade en guide på youtube och har hunnit till video tre. Det känns som att ORM handlar om att interagera direkt med databasen från sin kod? Man bygger då inget REST-api som sådant utan använder t.ex. sequelize för att prata direkt med databasen, vilket verkar väldigt användbart men inte är vad jag är ute efter att lära mig i det här steget. Jag är dock genast sugen på att göra något med den här kunskapen så får väl hitta på nått framgent nu när jag känner till det.

Skrivet av WebbkodsLärlingen:

Tjo! Jag hjälper gärna till i den utsträckning jag kan då min nästa programtermin börjar den 28 augusti 2023 inom Webbutveckling och jag har redan blivit uttråkad av min "enskild firma- & studentsemester". Eller snarare att jag tycker att webbutveckling är riktigt kul på riktigt nu när man faktiskt kan lite av grunderna och behöver "(arbets)livserfarenhet" inom det!

Den lösning jag ser framför mig (utifrån det jag kan än så länge) är:
- Simpel HTML+CSS för frontend (går ju alltid att göra snyggare i efterhand med Bootstrap, Tailwind, etc.)
- MySQL/MariaDB som databaslösning (SQL alltså)
- JavaScript för att skicka fetch()-anrop till REST API:t som i sin tur är PHP-baserat
- Allt detta kan köras lokalt via XAMPP(PC) eller LAMP(Mac)

Då databasen är själva hjärtat i projektet så är dess "design" (ER-diagram(?)) viktigt så att implementeringen och användningen av den sedan inte kommer med några irriterande överraskningar. Tänk om du exempelvis upptäcker att efter hundra raders databasinsättningar så skulle du behövt en ytterligare tabell med data för alla databasinsättningar, eller en ytterligare kolumn i en tabell med data. Och så blir det massa efterarbete på grund av ej välgenomtänkt databasdesign.

Några tankar jag har kring din nuvarande DB-design är:
- En sak som du kanske vill lägga till för de flesta tabeller är vem som genomfört så blir det enkelt sedan när en ny person vill använda sig av samma app och där det då står deras namn istället för ditt namn i tabeller som beskriver händelser som exempelvis Bevattningstillfällen och så?

- PK i "Plantor" samtidigt som du har FK "Planterad!" innebär ju att du inte får ha samma slags planta planterad på fler än en PK "PlanteringsPlatser" (eftersom PK måste vara unik för varje rad i Plantor-tabellen). Då tänker jag istället att du har en N:M-tabell mellan tabellerna "Plantor" och "PlanteringsPlatser" som då tillåter att Varje i "Plantor" kan vara "Planterad!" på flera olika "PlanteringsPlatser".

- Tabellen "BevattningsTillfällen" så kanske du även vill veta för vilken "PlanteringsPlatser" det ägde rum på? Då bör du ha en FK från den tabellen. Du kanske bevattnar en planta på en Planteringsplats en dag men sedan bevattnar samma slags planta men en annan dag på en annan Planteringsplats?

- Tabellen "OdlingsPlatser" kanske ska betraktas som en sammansatt PK (OdlingsPlatsNr+PlanteringsPlatsers PK) för varje OdlingsPlats kan ju ha ett platsnummer (odlingsplats 1, odlingsplats 2, osv) men de får bara existera om de finns på en PlanteringsPlats? Så du har exempelvis: Odlingsplats 1 på Planteringsplats 1, Odlingsplats 2 på Planteringsplats 1, osv? Då går det ej att ha Odlingsplats 1 på Planteringsplats 1 igen eftersom det blir en upprepning av PK vilket ej tillåts.

- Tabellerna "Gödsel", "Sorter", "OdlingsMedier" och "Vatten" tycker jag är bra som de är !

Hojta till här eller i "Meddelanden" om du vill tjöta vidare!

Mvh,
WKL.

Jag har faktiskt ritat ett ER-diagram också men la inte in det i min startpost. Det går att hitta här.

När det kommer till plantorna så undrar jag om vi har olika idéer om vad det är jag avser att ha i den tabellen? Jag tänker mig att varje enskild planta ska finnas med där (och ha en märkning/id i sin kruka) så det kan t.ex. finnas 4st San Marzano tomatplantor med sina egna unika ID och planteringsplatser, eller alla fyra i en odlingsbädd med AntalPlatser = 4. När jag lägger in att en given planta vattnats kan jag således få fram dess planteringsplats och dylikt med joins om så behövs. De olika sorterna av planta bor i tabellen sorter och varje planta får sin sort från ÄrAvSort attributet som är FK från Sorter-tabellen.

När det kommer till PlanteringsPlatser och OdlingsPlatser kan jag bevisligen välja bättre namn. Min tanke är att planteringsplatser är krukor/odlingsbäddar av olika storlek. Dessa kan bara finnas på en OdlingsPlats i taget, vilka är t.ex. växthus 1, köksträdgården, altanen o.dyl. Givet den informationen, tror du fortfarande att jag borde tänka om något?

När det kommer till ägare av saker har jag också tänkt tanken men vet inte hur jag ska implementera det riktigt. Min tanke just nu är att göra ett Proof-of-concept först där saker är minimalt komplicerade (dvs mer än tillräckligt komplicerade för mig) och sen bygga ut. Att få med en användarkolumn tänker jag mig ska vara en relativt smal sak i en eventuell framtid om jag först är den enda användaren så kan jag i ett senare skeda lägga till kolumnen och sätta den till mitt ID för alla rader i alla tabeller.

Min "stack" som den ser ut i skrivande stund är:

  • SQLExpress (hade den installerad sen tidigare och ska använas i en kurs kommande termin så lika bra att fortsätta med den)

  • Node.js+Express.js som backend, eftersom jag hittade en guide om det.

  • Webbsidan har jag inte börjat med än men det lär väl bli html+css+js antar jag, är något jag verkligen drar mig för då jag har väldigt små kunskaper i området men hur svårt kan det vara

Min progression
Fick faktiskt lite tid för detta och är oerhört stolt över att jag lyckats skicka ett GET-anrop till min "server" och fått tillbaka data! Jag följer denna guide och har kommit till "The response of GET api" rubriken så nästa grej är att köra POST.

Om någon annan hittar den här tråden och vill följa samma guide så kan jag säga att det märks att den är gammal ibland. För det första tror jag att det kan vara så att man inte längre skriver var foo = required("foo") i javascript för alla nyare filmer jag hittar säger istället const foo = required("foo") men jag har kört med var och det verkar fungera.

Min connect.js funkade inte från början men jag hittade att man behöver lägga till

options: { "enableArithAbort": true, "encrypt":false }

i connectionpool objektet så funkade det sen, eller ja då funkade det så länge man hade skapat användaren på rätt sätt, tillåter sql authentication i SSMS/MSSQL, faktiskt har sql browsern igång och har satt en port som går att ansluta till. Att säga att det här tog mig lite googlande att lista ut är en underdrift!

För min egen skull lägger jag lite hjälpsamma länkar här:
Error 223 i MSSQL anslutning
Hitta dynamic port för MSSQL
Slå igång TCP/IP för MSSQL server
Slå igång SQL Server Browser servicen

Som avslut kan jag säga att jag verkligen inte känner mig hemma i node/express/javascript så det är mycket (bara) copy paste just nu men jag tänker mig att jag ska lära mig på vägen. I guiden finns alla standardmetoder för CRUD så jag tänkte försöka implementera det för en av mina testtabeller till en början via guiden och när det fungerar så tänkte jag ge mig på att göra så enkel hemsida som möjligt som kan använda anropen. För Create tänker jag mig i princip två rutor och en knapp för att skriva in datum och plantid, sen något liknande i svårighetsgrad för övriga saker. Den delen skrämmer mig som sagt mest i det här men jag tänkte luta mig en hel del mot chatgpt till en början.

Inser att om node+express är den mer lättskrivna varianten så lär java vara rent utsagt horribelt om det är mycket mer att skriva Fördelen där skulle kanske vara att det skulle finnas en chans att jag förstod vad jag höll på med mer än 5% av tiden

Av Daz
Skrivet av martengooz:

Jag tycker förstås det är kul om man har ett projekt man vill förverkliga med kod och bra tillfälle att lära sig, men i ditt fall, som jag förstår det, känns det som att du kan komma undan rätt mycket lättare genom att använda dig av Excel och ev. nåt antecknings program för fritext anteckningar. Men om känner att du verkligen vill göra det med programmering för att lära dig, så kan jag istället ge lite tips och råd för hur du går tillväga där, men spontant känns det som ett projekt som du kommer få jobba med en lång tid för att få de resultat som du vill ha.

Men utöver excel så kan jag även slå ett slag för Obsidian.md med några extra plugins för att få statistik och ritningar. Det är ett program för att skriva ostrukturerade Markdown anteckningar, men blir otroligt kraftfullt när man ger anteckningarna struktur och länkar mellan sidor. Det skapar en sorts text-databas som du kan söka i, se relationer mellan och skriva fria anteckningar där du behöver dem. Är gratis att ladda ner till Windows, Mac, Linux, Android, iOS och du kan synca mellan enheterna antingen via ett tredje parts plugin, dropbox, iCloud, eller genom att betala en mindre månadsavgift för deras egna sync (om du behöver).

Tog mig tillfället i akt och gjorde ett enkelt exempel på hur det skulle kunna se ut för ditt projekt.

Här kan vi se ett exempel på sidan för en enskild planta:
https://i.ibb.co/fN1LQT4/Screenshot-from-2023-07-16-07-57-25.png

Här är det fritt att skriva anteckningar som längst ner, eller ha mer strukturerad data i en tabell som under "Gödslad"
Alla blåa ord är länkar till andra sidor, som du kan se längst till vänster i bilden. Klickar vi ex. på "Melon" som jag länkat till att vara dess sort, kommer vi direkt till den sidan.
<Uppladdad bildlänk>

Det går även att skapa taggar för saker som behöver en kategori, men kanske inte en helt egen sida. Så klickar jag istället på "#SommarPlanta" längst ner, så söker den bland alla andra sidor som är taggade med samma sak, som du kan se till vänster i sidomenyn.
https://i.ibb.co/8MY13sc/Screenshot-from-2023-07-16-07-54-42.png

Går jag till "Planteringsplats" sidan så kan du även se att man kan infoga egna bilder från datorn, eller som i mitt exempel, ett diagram jag ritade i pluginet Excalidraw.
https://i.ibb.co/WDXH7Yt/Screenshot-from-2023-07-16-07-58-51.png

Det går också att skapa grafer från tabelldata, med hjälp av pluginet "Obsidian Charts":
https://i.ibb.co/cXxszMf/Screenshot-from-2023-07-16-08-01-29.png

Men något som jag tycket är riktigt coolt och användbart är den inbyggda "Graph view" som visar relationer mellan sidor och taggar. Här kan du se hur allt hänger ihop utifrån vad som länkar till vad.
https://i.ibb.co/ZK5bZ2H/Screenshot-from-2023-07-16-08-04-07.png

Kan fortsätta ge tips om Obsidian om du vill, men tycker denna video ger en bra förklaring till det mesta gällande Obsidian https://www.youtube.com/watch?v=DbsAQSIKQXk

Ser riktigt coolt ut ska erkännas och det faktum att du skapat något, som jag uppfattar det, så pass snabbt som ser ut att matcha mitt databasförslag tolkar jag som att den delen i varje fall är förståelig

Du är inne på lite rätt sak där i början att detta också är för att lära mig då det snackas mer och mer API på jobbet och jag känner mig rätt så efter på det hela och nu när jag hittade ett projekt som jag faktiskt tycker känns användbart tänkte jag ge mig på det. Har ingen tanke på att det här ska vara igång och körbart inom en vecka eller så utan misstänker att det säkert kommer börjas på och sen när jag kommit så långt att jag förstår att jag gjort fel i början så lär jag få börja om.

Skrivet av robbas:

Ett alternativ till obsidian är LogSeq som är open source.

Antecknar för eventuella framtida behov, jag har inte jobbat med den här typen av program tidigare men de ser väldigt användabara ut!

Skrivet av talonmas:

Om du endast vill lära dig så skulle jag börjat med en webbapp som kör lokalt och som databas hade jag haft Excel. Enkelt att populera med testdata och se resultat när du kör trial and error för att lära dig.

Så fokusera på rest api backend o frontend först. När det är på plats så kan du alltid byta ut Excel mot en databas (din relationsdb kändes väldigt overkill för en sån här simpel sak. En rad i Excel med id och kolumner för alla attribut fyller samma syfte. För misstänker att du inte når tusentals rader?)

Tusentals rader tror jag inte jag kommer nå i det korta loppet. Om jag kan få igång det här så som jag hoppas och i framtiden även kan få upp det på nätet så andra delar av familjen kan använda det finns det dock risk för att tabellerna BevattningsTillfällen och HarGödslats kommer innehålla rätt mycket data då det totalt rör sig om 100-200 plantor som bevattnas minst dagligen och gödslas minst en gång i veckan, beroende på gödseltyp.

Det kan nog gå att lösa genom Excel, även om jag är lite osäker på hur jag ska lösa N:M sambanden på ett bra sätt då en planta mycket väl kan ha 150 vattningar kopplade till sig och jag gärna vill ha alla datum tillgänliga. Hur skulle du lösa det i Excel, ett separat ark med alla vattningar och sedan pivottabeller för att skapa eventuella diagram kanske?

Att börja i liten skala är dock en väldigt bra idé och jag skapade just en testdb med bara Plantor, BevattningsTillfällen och Vatten tabellerna enligt följande:

create table Plants ( PlantID INT, SowDate DATE primary key (PlantID) ); create table Water ( WID INT, Source varchar(30), Name varchar(30) primary key (WID) ); create table IrrigationEvents ( WID INT, PlantID INT, EventDate DATE primary key (WID, PlantID), foreign key (WID) references Water(WID), foreign key (PlantID) references Plants(PlantID) );

La in det hela på engelska då jag antog att svenska tecken kan ge mig problem i framtiden.

Dold text

Tänkte försöka hinna peta ihop ett testcase baserat på guiden jag länkar till senare i svaret som jag hittade för node.js+express.js. Java verkar onekligen tungt i jämförelse...

Skrivet av snajk:

Vad du vill göra är ju egentligen en av de vanligaste typerna av webbapplikationer. Alltså en databas med en frontend för att lägga in, filtrera, hämta och presentera data. På en högre nivå är det ju vad en "blogg" är, men också en webbutik, eller diverse exempelprojekt som folk försöker lösa i sina skoluppgifter och så, typ "javabiblioteket" (fast där är det sällan webb-baserat) och så.

Så hitta en tutorial med de tekniker du vill använda, och följ den typ. Vad jag jobbar med är Angular så det hade jag valt. Inte superenkelt att komma igång med men ändå hyfsat, och modernt och populärt så det finns mycket resurser online.

Ett alternativ är ju annars att typ köra något program för enklare databashantering. Då får du sannolikt inte ett webbgränssnitt, men du behöver heller inte koda något egentligen utan bara skapa en databas och formulär för input och sökningar och rapporter eller grafer för att presentera informationen. Access är rätt bra på sådana saker exempelvis, Excel kan funka också men det kräver ju lite mer jobb då det inte är en databas och inte har några formulär. Har du gamla MS Works så räcker nog dess databasfunktionalitet för detta också.

Skrivet av ChrisDev:

Underlättar nog en del att lära sig basic JavaScript innan man dyker på React eller Angular. När du lärt dig basic JavaScript kan du skippa vanlig JavaScript och köra TypeScript. Vad gäller API är det kanske lättare att labba lite med Node.js och express först, Spring Boot är nog ganska verbose i jämförelse.

När jag letar runt så verkar javascript vara populärt för "snabba" projekt och som @ChrisDev skriver så verkar SpringBoot vara rätt stort. Jag hittade en guide med just node.js+express.js som ser relativt lättföljd ut vid första anblick. Den är dock från 2018 så jag vet inte hur aktuell den är då det ju kan gå väldigt fort i teknikvärlden ibland. Den svarar dock på något jag funderar om och det är hur man via ett api skriver och hämtar ur en databas och det verkar vara genom något som kallas stored procedures som man triggar på något sätt. Jag är nu spontant irriterad över att det inte ingick i kursen om databaser som jag läste förra året för det verkar riktigt användbart

Om småbarnsgudarna är snälla så kanske jag hinner börja peta lite redan ikväll

Av Daz

Hur bygger jag mitt första projekt (rest-api, webbsida, databas)?

Ärade SweCare,

jag kontakter er i en tid av stor förvirring i jakt på kunskap som min Google-Fu varit på tok för svag för att lösa åt mig. Mina försök att åkalla ChatGPT har även de varit lite över huvudet på mig. Jag antar att jag antingen inte vet vad det är jag vill, är för korkad för att förstå svaret eller, ve och fasa, kanske en kombination av de två?

Problemet jag vill lösa
En hobby är att odla diverse ätbara saker på tomten. Anteckningar om dessa görs i diverse kollegieblock, lösa papper, på post-its, via bilder/video på telefonen etc. Det är milt uttryckt svårt att få en god överblick i slutet på året över vad som är gjort, vad som finns vart och vad varje odling fått till sig i form av gödsel och vatten för att prestera som den gör.

Jag vill få ordning på all data på ett ställe (digitaliserat) och kunna använda den för att skapa diagram, se trender och liknande.

Hur jag tror att jag ska lösa det hela
Jag har fått för mig att lösningen är att skapa en databas innehållandes de saker jag vill hålla ordning på, den tänker jag mig sedan att det ska gå att interagera med via en webbsida (webapp?) där man kan peta in när man vattnat, gödslat, skördat etc men även se vilka saker som finns på de olika odlingsplatserna på tomten och vilka odlingsmedium som finns i krukorna etc.

Jag har fått för mig att de bitar jag behöver är:
1. En databas
2. Ett sätt att interagera med databasen från webbsidan, här tänker jag mig rest-api skrivet i java
3. En webbsida med användarvänlig och lämplig design för syftet som använder javascript för att prata med databasen

Till en början är min tanke att det hela ska rulla lokalt på min dator med mig som enda användare. Får jag till något bra som faktiskt fungerar är tanken att sedan lära mig hur det fungerar att lägga upp det på en server nåbar utifrån så även några andra kan använda det.

Vad jag gjort hittills
Jag har gjort ett försök på att rita upp hur jag tänker mig att databasen ska se ut på diagrams.net

Försökt läsa på om REST-API via bland annat Freeodecamps video om API för nybörjare och genom att chatta med ChatGPT.

Jag har börjat skissa på hur jag tänker mig att hemsidan ser ut, dock på papper...

Mina funderingar

  • Är jag på rätt väg?

  • Är min databasdesign någorlunda resonlig eller är jag helt ute och cyklar?

  • ChatGPT rekommenderar något som kallas Spring Boot, är det ett bra ställe att börja på?

  • Om jag vill ha ett API, behöver jag då skapa vyer i min databas för olika saker jag vill visa eller skriver jag sql kommandon i logiken för mina api-rutter/"endpoints" (ChatGPT är lite flytande på om det är någon skillnad på de begreppen eller ej)?

  • Vad borde jag börja med för att få till en första produkt som känns användbar? Min tanke är att kanske börja med en liten testdatabas med bara plantor och bevattningstabellerna samt skapa ett api dit och ha en så enkel hemsida som möjligt som kanske visar en lista på plantor med knappar som går att trycka på när man vattnat dem.

  • Kommer ovan gå att skala upp till resten sedan eller är det bara bortkastat att börja litet pga overhead?

Jag är införstådd med att mina språkval kanske inte är perfekta (?) men jag har en uppföljningskurs i Java kommande termin och tänkte att det väl är bra att värma upp lite innan dess. Javascript kan jag inte alls men det är mycket snack om react.js på jobbet för tillfället så jag tänker mig väl att det är något jag bör bekanta mig med. I övrigt är jag en synnerligen medioker kodare vars största erfarenhet hittills är lite terminalprogram i python/c#/Java samt småscript i Powershell så för mig är det här ett väldigt stort projekt

Av Daz

Nytt grafikkort och större disk så funkar nog 1080p i någorlunda inställningar i fortnite i varje fall. DS3 vet jag inte kraven för men kan ju vara värt ett försök.

Köper du en gpu av adekvat klass kan den senare användas i en ny dator om du inte är nöjd med prestandan.

Av Daz
Skrivet av eviLbasse:

Daz, du kör också Aten US224 alltså? Vilken Webcam har du, och ungefär hur gammal är den? Och skulle du rekommendera den?

Jag kör precis samma usb-hub. Har gjort det ett par år nu och den har funkat nästan problemfritt.
Har samma mus, tangentbord, headset och webcam (en gammal C270) till både hemdator och jobb-laptop, ingen av enheterna är trådlös. Och jag switchar mellan dem med ett enkelt knapptryck. (Skärmarna har jag löst på annat vis, med en usb-c-docka till laptopen).

Det har som sagt funkat bra... tills idag när jag skulle uppgradera min lastgamla (säkert 12 år nånting) Logitech C270 webcam till en ny DELO-0653 som Webhallen kampanjar ut. Nya kameran är helt ok, bra skärpa och rejäl vidvinkel. Saknar dock inställningsmöjligheter.

Men en dealbreaker med webcamen var att det tyvärr inte går att köra den via huben alls. Device manager behandlar enheten som att det vore ett glapp, vilket det inte är.

Aten 224 kan alltså köra min gamla C270, men inte den nyinköpta DELO-0653.

Har en lastgammal https://www.inet.se/produkt/6211152/microsoft-lifecam-hd-3000... så har tyvärr ingen erfarenhet av nyare kameror med usb hubben.

Av Daz

Är Powerknappen på nätagget satt till läge 1? https://www.coolermaster.com/catalog/power-supplies/v-series/...

Av Daz

Utöver förslaget anser jag att A-traktorer av biltyp ska vara skyldiga att ha registreringsskylt fram OCH bak. Har ringt polisen något fåtal gånger när jag blivit omkörd av ett LGF-fordon som betet sig särskilt illa och deras första fråga är då om regnummer vilket jag såklart inte har eftersom det bara sitter framtill och det är inte ändan jag ser när jag blir omkörd...

Av Daz

Brunkål är en såndär typisk sak jag enbart äter på jul. På senare år har även skogshuggarsill slagit sig in som tradition.

Något jag däremot inte riktigt förstått är den aladåb som fruns familj envisas med.

Av Daz

Hur får du till slumpmässigheten idag? Vad är det som ska undersökas via URLen? Att den fungerar?

Av Daz

En sak som inte ska underskattas är också att välja något som du, då jag antar att du kommer ansvar för all support, känner dig bekväm med så att det blir enklare att felsöka. När jag och frun konverterade hennes föräldrar till Apple blev våra liv oerhört mycket enklare eftersom det är vad vi använder i vardagen. Är du således förtjust i Apple för tillfället och gillar facetime så skulle jag rekommendera att använda plattformen som har det.

Använder facetime flera gånger i veckan för att låta dottern kommunicera med både mina och fruns föräldrar. Fungerar klockrent för oss och då är den tekniska kompetens hos särskilt mina svärisar inte superhög. Att facetime i mångt och mycket ser ut som ett telefonsamtal (det ringer, tryck på grön) och är integrerat som standard har varit oss till stort nöje.

Nackdel är väl att de som tidigare androidanvändare kan komma att känna sig vilse i systemet till en början så det kan nog bli några supportsamtal.