Kategori: Systemutveckling

Internet of Things @Bouvet

Jag känner att jag vill göra lite reklam för ett projekt som mina kollegor genomförde för Viasat:
ZERO WASTE

Martin gillar att retas lite med sina kollegor ibland. Denna var riktigt bra:

NDC Oslo 2015 – dag 1

Första dagen på Norwegiean Developer Conference har nåt sitt slut. Det har varit intensivt med tal av varierande kvalitet. Jag valde bort mycket av Microsoft-innehållet på konferensen då det redan finns otroligt mycket innehåll på Microsoft Virtual Academy och Channel9. Så mycket gällande det nya i Windows 10, .NET och Azure lär jag fånga upp ändå.

IT-Säkerhet

Först ut var Bruce Schneier som talade om övervakningssamhället och vikten av att vi krypterar vår kommunikation. För gör vi det svårt för mydigheter att övervaka alla och samla data tvingar vi dem till riktad avlyssning istället för massövervakning. Sist på dagen höll Troy Hunt ett underhållande tal om hacking och gav oss en påminnelse om hur sårbar vår digitala värld är och hur lätt det är att utnyttja dessa sårbarheter. Jag var även snabbt inne på en demostration om hur man kan hacka .NET-applikationer ifrån disk eller minne. Tyvärr såg jag inte detaljerna på projektorduken och de två influgna herrarna som kallade sig hackers var inte särskilt pedagogiska.

IT-Säkerhet har varit, är och kommer fortsätta att vara ett aktuellt ämne då det berör alla människor i det moderna samhället och informationsåldern. Jag är gärna med och sprider kunskap och medvetenhet kring ämnet!

Design

På förmiddagen förklarade min kollega Alex York hur han lyckas med CSS. Det handlade om hur man på ett bra sätt strukturerar sina CSS-filer tillsamamans med några guldkorn och tips för en bra layout. Till det tipsade han om verktyget less och för inspiration CSS ZEN GARDEN. Det grafiska är viktigt och något fler utvecklare bör behärska.

Agile

Andy Hunt hade ett intressant men inte så konkret tal om team-building, förändringsarbete och agile. Han anser att allt för många missuppfattar Scrum och börjar att använda arbetsmetodiken med alla dess verktyg även om teamet inte är redo för den omställningen. Undersökningar visar att effektiviteten kan försämras drastiskt om teamet har en oerfaren ledare och/eller mindre erfarna medlemmar efter att man infört Scrum. Därför arbetar han på en ny metodik som heter GROWS som framhäver stegvis förändring då Scrum inte är ett färdigt recept som passar alla.

Det han tog upp är dock inget nytt och jag tänker direkt på tidigare forskning om förändring som t.ex. Kurt Lewins trestegsmodell och att man skall dela in större förändringsmål i flera milstolpar.

SOLID

Jag hann även med repetera SOLID tillsammans med Chris Klug.

Morgondagen

Jag ser fram emot morgondagen som jag liksom idag kommer att vara blandad kompott men med lite större fokus på prorammering. Jag kommer också att hjälpa till i Bouvet´s monter genom att vara social med mässans besökare. Det blir en bra avslutning innan jag sätter mig på bussen till Göteborg för att fira midsommar!

Hallelulja!

VB.NET DataSet, TableAdapter och SQLConnection

Idag ville jag ändra en SQLConnection för ett DataSet beroende på den aktuella app.config-filen i projektet. Det var lättare sagt än gjort ifrån designläge. Som alltid hjälpte det att Googla en stund och läste mig till att man kan skapa en extra konstruktor i sin TableAdapter-klass med ett argument av typen SQLConnection. Man skapar förslagsvis även en publik metod även där med en parameter i form av SQLConnection. Nu kunde jag använda både konstruktorn och den publika metoden för att byta SQLConnection i runtime!

Lägg till konstruktor och metod i klassen:


Partial Public Class tblMyTableAdapter
Public Sub New(ByVal connection As SqlConnection)
Me.SetConnection(connection)
Me.ClearBeforeFill = True
End Sub

Public Sub SetConnection(ByVal connection As SqlConnection)
Me.Connection = connection
End Sub
End Class

Ändra i runtime:


Dim connection As New SqlConnection(Configuration.ConfigurationManager.ConnectionStrings(
"sträng").ConnectionString)
MyTableAdapter.SetConnection(connection)

Länk till StackOverflow

Jobbiga verktyg

Satt och diskuterade med en kollega häromdagen och vi är överens två saker: SSIS-paket och funktioner i Transact är krångliga!

Jag är glad att det går: Skicka ett mail om jobbet falerar och andra bra grejer MEN man måste tydligen använda SSIS-paket. Saker och ting fungerar bara inte och man fattar nada i två timmar tills man hittar en guide via Google på hur man gör. Det är någonting som jag måste lära mig men dock suger det. Det finns ingen tid till att sitta och surfa.

En annan sak som det säkert finns fördelar med (återanvändning kanske?) men som fortfarande är störande är funktioner i Transact SQL. Jag har försökt att lägga in kommentarer men det går inte. Ännu mer störande är att jag inte lyckats göra dem generiska eftersom EXEC-uttrycket inte tillåts. Why? Sluta jävlas med mig! Jag vill inte gå mot den där vyn längre! Vi måste förändra lite utan att bygga om hela systemet.

Att bli bra på dessa två saker är nödvändigt men som tur är finns det mängder av saker att lära sig som är mycket mer spännande. När man jobbar med IT finns det inget stopp på hur mycket man kan lära sig. Nya språk, nya system, ny hårdvara, nya teorier, nya arbetsrutiner och nya teorier. Kommer jag att jobba med detta hela mitt liv? Ja, antagligen =)

Koden betydde nåt annat förr

Stötte på en intressant grej på jobbet i veckan. Uppdaterade ett projekt från .NET Framework 3.5 till 4.0 och felmeddelanden började att visa sig…Nooo, vad har jag gjort nu?! Bara att ta itu med problemet.

Jag startade en virtuell miljö där jag körde den gamla koden i .NET 3.5 med Visual Studio 2008 och det uppgraderade projektet i min vanliga miljö med Visual Studio 2010. Därefter satte jag ut ett antal breakpoints och felsökte mig fram till en ArrayList innehållandes en sträng: [Data_Status]='{1}’

I dotNet 3.5 gjordes arrayen om till ([Data_Status]='{1}’) genom koden Return "(" & String.Join(" OR ", arr.ToArray(GetType(String))) & ")". I dotNet 4 blev resultatet (System.String[]). ArrayList.ToString() returnerar alltså inte alls samma sak här. Aja, lätt fixat genom att loopa igenom arrayen istället…men då kom nästa problem som jag fick ägna lite mer tid åt: Denna sträng skulle anges som värde för en DataView.RowFilter. Felmeddelandet sa att hakparentéserna var ogiltiga. Efter att ha snöat in på regular expressions och annat med mer eller mindre kvalificerade gissningar blev lösningen att helt enkelt att ta bort hakparentéserna. Varför man ändrat på detta vet jag inte men jag tror att det har med att man nu kan indikera att koden innehåller regular expressions. Om någon har en vettig försklaring så skulle det vara kul om du hörde av dig. Nu kan jag bara konstarera att koden betydde nåt annt förr.

 

Dotnetforum – en sammanfattning

Dotnetforum hade idag ett event på Riverton och jag var där en stund och lyssnade på två intressanta presentationer. Den första handlade mestadels om nätverkskommunikation, data och belastning.

Fredrik Norméns tips för utvecklare var att:

  • Undvika att skicka hela objekt till en klient om man bara behöver delar. Det kan vara en idé att t.ex. skapa ett nytt nerbantat objekt innan datan sänds från servern för att minska belastningen på nätverket.
  • Ingen affärslogik på klienterna. Enkla valideringar kan göras men i huvudsak skall datan bara presenteras.
  • Lås dig inte för en arkitektur för utveckling i organisationen som kopieras rakt av till nya projekt.
  • Kommunicera asynkront.

Den andra talaren, Robert Friberg, pratade varmt om sitt projekt med LiveDB och .Net. Man arbetar med sin domän-modell ‘in memory’ vilket gör skrivning minst 500 000 gånger snabbare än till disk som vanliga databaser gör. Det har funnits för Java några år men utvecklas nu för .Net på begränsad arbetstid. En nackdel med LiveDB är att det är problem med att accessa data från flera olika system. Ändock ett open-sourceprojekt att titta närmare på 🙂

Morgonfrukt & Pacman med C#+XNA

Tänkte att det kan vara kul att ladda upp spelen vi gjorde förra sommaren på IT-universitetet. Ett riktigt kul sätt att lära sig programmera på! Projektfilerna finns också om någon vill balansera upp spelen och göra klart dom. Annars är det bara att packa upp från install-mappen och installera med ett klick. Läs readme-filen för info om vilka tangenter du skall använda i spelen.

http://skip.chalmers.se/~hilmarch/C%23+XNA/

Gamma Grape

Morgonfrukt

Nytt projekt

Tjo!
Tillbaka efter en fem dagars dimmig ledighet är det dags att ta nya tag. Här vilas ingenting utan jag jobbar bort bakfyllan.

Det blev ingen kurs i ASP så jag får försöka lära mig på egen hand. SQL Server och Visual Studio 2010 är installerat och ett projekt är startat med MVC 2, C# och ASP.NET och .NET Framwork 4.0. Nu börjar det roliga då det är dags att knacka kod
😀
Det var väldig enkelt att publicera via FTP till Binero så om det händer någonting så kommer det att synas på http://hilmarch.se

Som guide har jag laddat ner Steven Sanderson ‘Pro ASP.NET MVC Framework’ och beställt Dino Esposito ‘Programming Microsoft ASP.NET MVC‘ från Bokus så det känns riktigt bra! …Förutom att jag skall upp och jobba om sex timmar. Fifan! Det skulle vara gött med en sovmorgon men som vanligt är det ett hårt liv för hårda män!

Peace out!

VB6 och OPOS

Loading...
X