Biggle's Blog

Web- und Software Development

by Mario Binder

Tuple Eigenschaften lesbar gestalten?

Die Verwendung von Tuple ist eine schnelle Lösung, wenn man beispielweise mehr als ein Parameter oder Rückgabewert benötigt. Ein Anwendungsfall wäre für mich, eine (semantische) Fehlermeldung anstelle von Exceptions. Also ein boolean und ein string als Rückgabewert “Tuple<bool, string>()”. Im string steht dann halt ein Grund drin, warum das Ganze schief gelaufen ist. So weit, so gut.

Das Resultat dabei ist leider nicht lesbar, denn ich bekomme den boolean im Property Item1 und den string in Item2 geliefert.

image

Aber okay, das mag so lange gut gehen, wenn man denn so etwas wie Konventionen für dieses “Pattern”definiert. Das Problem dabei ist hier, dass man sich hier schnell in tiefe Gewässer bewegt. Denn das kann auch ausarten, wenn man denn so etwas hier versucht: “Tuple<bool, string, Exception, bool, bool, decimal>()

image

Hier verliert man ganz schnell den Überblick.

Da hilft auch keine Dokumentation.

Hier käme mir die”glorreiche” Idee, die Tuple Properties lesbarer zu gestalten. Also baue ich mir eine Klasse, die von Tuple ableitet, in etwa so:

image

Nun stehen einem auch die Eigenschaften zur Verfügung.

image

Aber warum sollte ich dann von Tuple ableiten?

Macht kein Sinn. Bringt mir keinen Mehrwert. Ich kann das Ganze auch ohne.

image

Also warum dann Tuples einsetzen?

Was sagst du dazu? Wann setzt ihr Tuples ein? Wann machen Tuples Sinn? Mir fällt einfach kein Anwendungsfall ein.

Halt, vielleicht aber doch, möglicherweise für so etwas hier?

image

Nee, oder ;)

Nichts desto trotz, wer Tuples einsetzt, hat sicher auch seine Gründe dafür. Die mich natürlich brennend interessieren! Also nicht scheuen, 3-5 Minuten Zeit in die Hand nehmen und rein damit als Kommentar.

In diesem Sinne, viel Spaß beim entwickeln : )

by Mario Binder

Basta on Tour 2013

windows8days_140x140BASTA! on Tour 2013 – Das große .NET Trainingsevent
Vom 24. bis 26. April 2013 findet die nächste BASTA! on Tour in Düsseldorf statt. Das große Trainingsevent ist eine Tochterveranstaltung der BASTA! – der größten unabhängigen .NET-Konferenz in Deutschland. 
Der Fokus der BASTA! on Tour liegt mit insgesamt 12 intensiven Workshops, einem Abendvortrag und einem Speaker Panel auf den Themen XAML (WPF, Silverlight, WinRT), Services (WCF-Leistungsoptimierung, ASP.NET Web API, Data Services) und ADO.NET Entity Framework (Leistungsoptimierung, Code Only) sowie Webtechniken (HTML 5, JavaScript, jQuery, ASP.NET MVC). Alle weiteren Infos auf www.basta-on-tour.de.

Windows 8 Days – Das Trainingsevent für die professionelle Entwicklung mit Windows 8
Vom 25. bis 26. April 2013 finden die Windows 8 Days in Düsseldorf statt. Das Trainingsevent versammelt drei bekannte .Net-Champions, die den Teilnehmern einen tiefen Einblick in die professionelle Entwicklung mit Windows 8 geben. Jörg Krause, Jörg Neumann und Christian Weyer versorgen die Teilnehmer mit erstklassigen Informationen, Know-how und Best Practices zu Windows 8 Essentials, Windows 8 Apps mit XAML und .NET, Windows 8 Apps mit HTML und JavaScript sowie Kommunikation in Windows 8 Apps. Alle weiteren Infos auf www.windows8-days.de.

by Mario Binder

MSSQL Shuffle Funktion zum anonymisieren von Daten

Ich wollte einige Datensätze für die Testumgebung anonymisieren und heraus kam eine kleine Funktion, die ein zufälligen String generiert. Als Parameter wird der Funktion eine beliebige Zeichenfolge und die Angabe, wie lang der zufällige Wert sein soll, mitgegeben. Der erste Buchstabe im Resultat wird als Großbuchstabe zurückgegeben.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE VIEW Random
    AS SELECT RAND() AS RAND
GO
 
CREATE FUNCTION Shuffle(@string AS nvarchar(MAX), @LENGTH AS INT)
RETURNS VARCHAR(MAX)
BEGIN
    DECLARE @RESULT NVARCHAR(MAX)
    DECLARE @counter INT
 
    SET @RESULT = ''
    SET @counter = 0
 
    WHILE @counter < @LENGTH
    BEGIN
 
        SELECT @RESULT = @RESULT + SUBSTRING(@string, (SELECT CONVERT(INT, (RAND * LEN(@string) + 1)) FROM Random), 1)
        SET @counter = @counter + 1
    END
 
    SELECT @RESULT = UPPER(LEFT(@RESULT,1)) + SUBSTRING(@RESULT,2,LEN(@RESULT))
    RETURN @RESULT
END
GO

Aufzurufen wird das Ganze dann wie folgt:

1
2
UPDATE dbo.Persons
SET Lastname = dbo.Shuffle('abcdefghijklmnoprstuvwz', 8)

Alternativ könnte man anstelle der Zeichen, den alten Wert aus der Spalte und die Länge mitgeben,

1
2
UPDATE dbo.Persons
SET Lastname = dbo.Shuffle(Lastname, LEN(Lastname))

Viel Spaß beim entwickeln : )
Cool wäre jetzt noch, wenn man den String lesbar macht, hat einer eine Idee?

by Mario Binder

Early Bird Ende der BASTA! Spring

BASTA! Spring 2013 – Nur noch bis Donnerstag bis zu 250 € sparen!

Besuchen Sie die größte unabhängige Entwicklerkonferenz für Microsoft-Technologien im deutschsprachigen Raum und treffen Sie internationale Microsoft-Experten in über 75 Sessions, Power Workshops und Keynotes. Highlights sind bspw. eine Hacking Night School (http://basta.net/2013spring/sessions/) zum Thema Biggest #Fails in Cloud Computing, mit Matthias Luft, die C# Days (http://basta.net/2013spring/specialdays/), die von Oliver Sturm moderiert werden oder der Power Workshop Tag zum Thema .NET 4.5 und Visual Studio – die Neuigkeiten im kompakten Überblick (http://basta.net/2013spring/workshops/) mit Dr. Holger Schwichtenberg und Manfred Steyer.

Die BASTA! Spring vermittelt zudem wertvolles Expertenwissen rund um .NET, Windows und Visual Studio: http://basta.net/

+++ Tipp: Bis 31. Januar 2013 sparen Sie bis zu 250 Euro. +++

by Mario Binder

Smartphone-Notifications direkt auf dein Desktop

Nachrichten die auf deinem Smartphone eintreffen, kannst du als Notification auf deinem Rechner anzeigen. Chrome als Browser vorausgesetzt für das Ganze.

image

Hierfür musst du lediglich auf deinem Android die App “Desktop-Notifications” und in deinem Chrome die “Android Desktop Notifications Erweiterung” installieren.

Jetzt, nur noch den Code, der auf deinen Smartphone generiert wurde, in die Erweiterung eingeben, fertig.

lkxtju4v.nyi

fpckcllc.ozc

Gesehen auf CocasBlog.

by Mario Binder

Frohes neues Jahr 2013

All meinen Lesern und diejenigen die sich hierher verirrt haben wünsche ich ein frohes, gesundes und vor allem ein erfolgreiches neues Jahr 2013.

Auf das Eure Wünsche alle in Erfüllung gehen.

Happy New Year 2013

Bildquelle: Barnorama