Nee dat is hou ik liever geheim. Test draait op de TransIP VPS van die vriend van mij, werkt erg fijn wat ik van hem begrijp. Daarnaast heeft hij op die server ook een Gitlab installatie draaien waar we onze repository hebben draaien.quote:Op maandag 18 juni 2018 11:12 schreef FlippingCoin het volgende:
[..]
Ah gaaf, wil je vertellen wat je gaat bouwen of laat je dat nog geheim?
Hen gister een VPS aangeschaft bij TransIP. Jenkins opgegooid en een koppeling gemaakt met GIT. Vandaag wil ik maak dat als er van de backend een commit bij de master doorkomt dat alle tests uitgevoerd worden, en zodra alle tests slagen de server de oude voor de nieuwe python programmatuur vervangt en opstart zodat ik niet steeds zelf zit te kutten met uploaden en zo en zodat alrijd alle tests moeten slagen voordat een nieuwe versie live gaat.![]()
Daarna beginnen met de API. Gaat een stateless REST API worden in Python. Voorlopig weinig spannend, wat wegschrijven en ophalen van data uit de database.
Fair enough.quote:Op maandag 18 juni 2018 13:42 schreef Molleman het volgende:
[..]
Nee dat is hou ik liever geheim. Test draait op de TransIP VPS van die vriend van mij, werkt erg fijn wat ik van hem begrijp. Daarnaast heeft hij op die server ook een Gitlab installatie draaien waar we onze repository hebben draaien.
Ja bij ons ook een vrij standaard REST API, wat die vriend waarschijnlijk voornamelijk gaat doen. Ik zal mij voornamelijk gaan richten op de frontend dus heb nog genoeg te doen om mijn Vue onder de knie te gaan krijgen en daarnaast het design werk, dat vind ik nog haast het moeilijkst xD
Een object bevat attributen en methoden. Attributen en methoden die bij het object horen hang je aan het object.quote:Op dinsdag 19 juni 2018 10:09 schreef Bosbeetle het volgende:
Wat ik trouwens erg lastig vind is dat ik nu steeds meer object georienteerd begin te werken waar begin en stop je je objecten. Ik heb bijvoorbeeld een lijst met localisaties die bestaan uit x, y, precisie en andere parameters. Mijn huidige structuur heeft een object localisatie, en een object localisatielijst die weer een lijst bevat met die localisatie objecten, in de localisatielijst zit weer een object tracklist die informatie bevat over de localisatielijst met betrekking tot welke localisaties bij elkaar horen. Zoals te lezen valt wordt het nogal een warboel van objecten, en ik vraag me af wat minder geheugen computing time kost. Wat grotere objecten maken die veel field informatie in zich dragen of toch kleine objecten maken die weer in andere objecten hangen?
Alle projecten waarvan je denkt dat kan in DIG zijn welkom of het nou klein is of niet.quote:Op maandag 18 juni 2018 19:47 schreef gepromoveerT het volgende:
Èhik heb niks met programmeren, maar.....
toch handig batchprogje in elkaar geflutst
echo%SystemRoot%\system32\cmd.exe
cd D:\
netstat.exe -a
cmd
Vroeger langere geschreven met if, go to, and/or en zo.
Was wel leuk voor een super amateurtje!![]()
Ah vet als je ergens mee bezig bent hoor ik het graag.quote:Op dinsdag 19 juni 2018 07:54 schreef PerryVogelbekdier het volgende:
Hier doe ik diverse dingen met C#/MSSQL
Geen echte projecten, maar meer wat kleine scripts/batches en andere zaken
Klink erg gaaf waar wil je het voor gaan gebruiken?quote:Op dinsdag 19 juni 2018 09:55 schreef Bosbeetle het volgende:
Ah leuk, ik schrijf vooral FIJI of ImageJ plugins, dat is in JAVA. Recent een 3d floodfill gebouwd die 3d beelden opvult (zoals het emmertje in photoshop maar dan in 3d, met wat extratjes) en heb die ook uitgebouwd naar vullen met een "bal" vorm. Het is alleen nog niet allemaal zo snel als ik zou willen. Ook ben ik bezig om wat simpele registratie plugins te schrijven voor super-resolutie data omdat de bestaande iets te fancy zijn voor onze doeleinden.
Daarnaast doe ik veel met simulaties dingen als vogel zwermen enzo, vrij basic maar wel leuk om mee te pielen, of monte carlos van bacteriën die wat evolueerbare eigenschappen hebben.
Daarnaast doe ik een beetje in R ik en collega's hebben een pakket gemaakt dat super-resolutie data kan analyseren en weergeven, en dat hoop ik snel te publiceren al blijkt dat een gebed zonder einde...
Het is allemaal vrij amateuristisch programmeren maar het is wel leuk om te doen
voorbeeldje van een vogel zwermpje, dit is nog volledig 2d maar ik heb hem uitgebreid naar 3d.
Je schreef in java te werken toch? Java is wat doorgeslagen in het object oriented paradigma ja.quote:Op dinsdag 19 juni 2018 10:09 schreef Bosbeetle het volgende:
Wat ik trouwens erg lastig vind is dat ik nu steeds meer object georienteerd begin te werken waar begin en stop je je objecten. Ik heb bijvoorbeeld een lijst met localisaties die bestaan uit x, y, precisie en andere parameters. Mijn huidige structuur heeft een object localisatie, en een object localisatielijst die weer een lijst bevat met die localisatie objecten, in de localisatielijst zit weer een object tracklist die informatie bevat over de localisatielijst met betrekking tot welke localisaties bij elkaar horen. Zoals te lezen valt wordt het nogal een warboel van objecten, en ik vraag me af wat minder geheugen computing time kost. Wat grotere objecten maken die veel field informatie in zich dragen of toch kleine objecten maken die weer in andere objecten hangen?
Ja dat kan ik mij voorstellen. Ook wel eens mee gewerk in java, voor kleinere projecten ideaal maar met wat grotere dingen inderdaad een groot gebrek aan controlle.quote:Op dinsdag 19 juni 2018 10:36 schreef Farenji het volgende:
Ik ben het laatste half jaar vrijwel exclusief in laravel bezig, na 10+ jaar bijna alleen perl. Was wel ff wennen maar over het algemeen is laravel best nice. Het heeft heel veel dingen standaard aan boord die ik daarvoor allemaal zelf heb moeten bouwen of met losse modules bijelkaar knutselen. Authenticatie, mail, job queueing, testing, caching, database abstractie, etc. Daardoor kun je heel snel en makkelijk een app opzetten. De database migrations van laravel zijn echt super, en de seeder ook. Had ik dat maar eerder gehad!
Maar het project wat ik bouw is wel dermate groot en complex dat ik inmiddels al tegen wat beperkingen van laravel aanloop. De applicatie is heel data-intensief en doordat je op een hoog abstractieniveau bezig bent is bijv echte performance optimalisatie van je database queries lastiger - het aantal queries groeit al snel zonder dat je dat door hebt en bij complexe relaties met veel data wil je soms toch liever raw sql gebruiken, is toch vaak veel sneller, maar waardoor je wel je db onafhankelijkheid kwijtraakt. En die job scheduler waar je niet eens de status kan opvragen van een job en die standaard jobs na 60 seconden al afschiet, dat zijn wel ergernisjes.
Maar ja het blijft natuurlijk ook php. Toch in de basis beduidend slechter over nagedacht dan perl.
Klinkt goed nooit mee gewerkt. Ik gebruik nu al een tijd typescript i.p.v. javascript en vind dat een verademing.quote:Op dinsdag 19 juni 2018 12:34 schreef totalvamp het volgende:
ik werk vooral met Javascript laatste tijd met Meteor en React.
Het is lekker makkelijk om met dat te werken aangezien je heel snel resultaat ziet.
nouja er zijn nogal wat methodes die alleen toepasbaar zijn op de lijst... de lijst opzich heeft veel extra informatie zoals tracks in de lijst, die worden bepaald als de lijst compleet is. De localisaties op zich zelf zijn niet zoveel zeggend de hele locolisatielijst vormt het eigenlijke object, namelijk een super-resolutie beeld. Dus in de lijst met localisaties kan ik weer biologische clusters vinden, en tracks die een bead in het beeld voorstellen maar ook wil ik graag uiteindelijk de hele lijst registreren of transformeren om zo lijsten over elkaar te leggen.quote:Op dinsdag 19 juni 2018 16:39 schreef Ralphmeister het volgende:
[..]
Een object bevat attributen en methoden. Attributen en methoden die bij het object horen hang je aan het object.
Zoals je zelf zegt is het een warboel en dat is ook mijn mening over je uitleg waar ik niet heel veel wijzer uit wordt. Maar als jij het hebt over een lokalisatielijst en lokalisatiegegevens bij de objecten dan lijkt deze lijst mij in eerste instantie overbodig. Deze lijst kan afgeleid worden van de verschillende objecten en hoeft geen object op zich te zijn?
Wat van de omschreven dingen, die 3d floodfill gebruik ik om analyses te doen aan neuronen, en aan prostaat samples, die evolutie en vogelzwermen gebruik ik niet echt, maar heel af en toe om simulaties te doen van biologische systemen.quote:Op dinsdag 19 juni 2018 17:23 schreef FlippingCoin het volgende:
[..]
Klink erg gaaf waar wil je het voor gaan gebruiken?
interfaces vind ik altijd weer zo dubbel, interfaces gaan er al vanuit dat er veel gelijksoortige classes gemaakt worden... ik ben nog niet helemaal uit het nut van interfaces.quote:Op dinsdag 19 juni 2018 17:25 schreef FlippingCoin het volgende:
[..]
Je schreef in java te werken toch? Java is wat doorgeslagen in het object oriented paradigma ja.
Hmmm als je gedrag en kenmerken hebt die bij elkaar horen maak ik er in principe een class van. Classes weer zo klein mogelijk, liever composities dan dan grote classes, en in gebruik van de programmatuur altijd interfaces vragen.
Dit is wel een goede om te onthouden: https://nl.m.wikipedia.org/wiki/SOLID
Een praktisch voorbeeld wat je veel zal gebruiken in java:quote:Op dinsdag 19 juni 2018 20:46 schreef Bosbeetle het volgende:
[..]
interfaces vind ik altijd weer zo dubbel, interfaces gaan er al vanuit dat er veel gelijksoortige classes gemaakt worden... ik ben nog niet helemaal uit het nut van interfaces.
Ik heb sowieso het probleem dat ik een wetenschapper ben en dus min of meer mijn software om de data heen bouw. Ik heb nooit software die zelf de data maakt of hoeft te genereren. De data is het gegeven en die wil ik met software visualiseren of analyseren.
Dat solid is wel handig vooral regel 1 ben ik mezelf aan het aanleren. Maar dan krijg je wel vaak enorm veel classes. Wat dan weer warrig is.
1 | List<Type> list3 = new ArrayList<Type>(list1) |
Ah ja dat begrijp ik maar als ik zelf code schrijf en ik wil het vervangen voor een ander methode zorg ik zelf gewoon dat die nieuwe methode dezelfde namen krijgt etc. Ik denk dat mijn projecten te klein zijn voor interfaces. Ik kan voor elke klasse die maak wel een interface schrijven maar er gaat nooit gebruik van gemaakt worden.quote:Op dinsdag 19 juni 2018 20:59 schreef FlippingCoin het volgende:
[..]
Een praktisch voorbeeld wat je veel zal gebruiken in java:
[ code verwijderd ]
Je gebruikt de List interface, en de concrete class ArrayList.
Blijkt dat ArrayList trager is in jouw toepassing, is die erg makkelijk te veranderen.
Het gebruik van interfaces heeft als doel: https://en.wikipedia.org/wiki/Dependency_inversion_principle
de d uit SOLOD.
En de design principles zijn dingen die bij veel mensen even moeten klikken als het ware.
Nou ja bij het gebruiken van lijsten en zo, zou ik het gebruiken zoals in het codevoorbeeld, het kost niet extra werk maar zorgt wel dat je code minder afhankelijk is.quote:Op dinsdag 19 juni 2018 21:02 schreef Bosbeetle het volgende:
[..]
Ah ja dat begrijp ik maar als ik zelf code schrijf en ik wil het vervangen voor een ander methode zorg ik zelf gewoon dat die nieuwe methode dezelfde namen krijgt etc. Ik denk dat mijn projecten te klein zijn voor interfaces. Ik kan voor elke klasse die maak wel een interface schrijven maar er gaat nooit gebruik van gemaakt worden.
Aan de "andere kant" dus waar je class gebruikt wordt zit juist de grote verandering. Ja de class moet de interface implementeren en voldoen aan het contract.quote:Op dinsdag 19 juni 2018 21:02 schreef Bosbeetle het volgende:
[..]
Ah ja dat begrijp ik maar als ik zelf code schrijf en ik wil het vervangen voor een ander methode zorg ik zelf gewoon dat die nieuwe methode dezelfde namen krijgt etc. Ik denk dat mijn projecten te klein zijn voor interfaces. Ik kan voor elke klasse die maak wel een interface schrijven maar er gaat nooit gebruik van gemaakt worden.
Ik had bijvoorbeeld om wat te oefenen een interface evolvable gemaakt die bestonden uit classes die dus een evolve methode hadden en set en een get. Hartstikke leuk maar behalve dat bij elke evolvable die ik gebruikte "implements evolvable" erbij moest typen veranderd dat niets aan de code.
Ja ik ben het al steeds in kleinere stukken aan het knippen zodat ik minder duplicatie in de code krijg en dus niet op meerdere plekken dingen hoef te veranderen als ik één aanpassing maak.quote:Op dinsdag 19 juni 2018 21:05 schreef FlippingCoin het volgende:
[..]
Nou ja bij het gebruiken van lijsten en zo, zou ik het gebruiken zoals in het codevoorbeeld, het kost niet extra werk maar zorgt wel dat je code minder afhankelijk is.
En het kan zeker goed dat je programma te klein is om zelf interfaces te schrijven, als je drie classes hebt en je weet dat dit zo blijft dan kan ik mij wel voorstellen ja dat is een beetje een inzicht dingetje.
In bepaalde toepassingen is het goed om arrays te gebruiken van een vaste lengte. Als je weet wat de lengte is en alle methodes niet nodig hebt. Voor performance hoef je het eigenlijk nooit te doen, dan zou je doorgaans wel in C++ of C werken, uitzonderingen daargelaten.quote:Op dinsdag 19 juni 2018 21:09 schreef Bosbeetle het volgende:
[..]
Ja ik ben het al steeds in kleinere stukken aan het knippen zodat ik minder duplicatie in de code krijg en dus niet op meerdere plekken dingen hoef te veranderen als ik één aanpassing maak.
Ik moet trouwens zeggen dat ik best vaak van die arraylists weer terug ga naar arrays als ik eenmaal weet hoe lang ik ze wil hebben zie ik de noodzaak van de arraylist niet meer. Of is dat ook overbodig netjes proberen te doen. Ik word altijd bang van dat soort zaken met zoveel methodes eraan die ik niet nodig heb
Dus wellicht is het good practice om interfaces te maken.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |