Skip to content

Instantly share code, notes, and snippets.

View suchja's full-sized avatar
🎓
Ich lerne und übe gerade

Jan Suchotzki suchja

🎓
Ich lerne und übe gerade
View GitHub Profile
@suchja
suchja / boxstarter-iif-devenv-setup
Last active August 29, 2015 14:21
Installation von IIF-DevEnv
Set-ExplorerOptions -showHidenFilesFoldersDrives -showProtectedOSFiles -showFileExtensions
choco install git -version 1.9.5.20150320
choco install boot2docker -version 1.6.2
choco install docker -version 1.6.2
choco install docker-machine -version 0.2.0
@suchja
suchja / boxstarter-cs-beta-devenv
Created July 14, 2015 14:34
Wichtige Programme zur C# Entwicklung unter Windows
choco install visualstudio2015community -pre
choco install visualstudiocode -version 0.5.0.0
choco install wixtoolset -version 3.9.1208.0
choco install sysinternals
choco install wireshark
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class mensch
{
@suchja
suchja / TimeSpanKlasse.cs
Last active November 24, 2016 22:13
Gist zum C# Tutorial Deutsch - TimeSpan | .NET Klassen
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DatentypTimeSpan
{
class Program
{
@suchja
suchja / ZeichenZaehlen.cs
Last active November 25, 2016 15:47
Quellcode zum Artikel:
// Übungsziel: Klasse Dictionary<> verwenden
// zusätzliches Übungsziel: Methoden erstellen
// CSharpPad unterstützt keinen Namespace!
// Daher definieren wir direkt eine Klasse.
public class ZeichenZaehlen
{
public static void Ausfuehren()
{
Console.WriteLine(@"Starte Übung ZeichenZaehlen von http://ccd-school.de/coding-dojo/function-katas/zeichen-zaehlen/");
@suchja
suchja / FragLernMoment_1_InvertText.cs
Created December 21, 2016 13:26
Quellcode zur ersten Folge von #FragLernMoment. Frag von Zaidi!
using System;
namespace FragLernMoment_1_InvertString
{
// Frage von Zaidi: Bitte erkläre mir die Logik der Methode!
class Program
{
static void Main(string[] args)
{
string name = "Zaidi";
@suchja
suchja / FragLernMoment_2_Stack.cs
Created December 22, 2016 11:21
In der 2. Folge von #FragLernMoment zeige ich dir was auf dem Stack passiert beim Methodenaufruf.
using System;
namespace FragLernMoment_2_AddiereZahlen
{
class Program
{
static void Main(string[] args)
{
string ersteZahlAlsString;
string zweiteZahlAlsString;
@suchja
suchja / task-timeout-for-db.md
Last active June 2, 2017 11:20
DB-Interaktion mit zusätzlichem Timeout

Verwendung von TPL (Async / Await) zum Abbrechen von DB-Aktionen

Ausgangspunkt

Der Ausgangspunkt für dieses Projekt war die Anfrage wie eine Methode, die verschiedene Interaktionen mit einer Datenbank abwickelt nach einer definierten Zeit abgebrochen werden kann. Offensichtlich war in diesem konkreten Fall der Server nicht erreichbar oder wurde während der Kommunikation beendet.

Ganz allgemein stellen die verschiedenen Datenbank-Klassen (in diesem konkreten Beispiel wurde OdbcConnection und OdbcCommand verwendet) ein eigenes Timeout-Handling zur Verfügung. Ich denke, dass es auch Sinn macht die bereitgestellten Mechanismen der Datenbank-Klassen zu verwenden anstatt einen zusätzliches Timeout zu realisieren. Da momentan jedoch Zeit und Möglichkeit fehlen eine umfangreichere Fehlersuche zu machen, verwende ich dieses Projekt zum testen wie eine mögliche Lösung mit TPL (Task Parallel Library) aussehen könnte.

TPL & Async / Await

@suchja
suchja / hello-world.cs
Created June 11, 2017 15:04
Hallo Welt aus dem C# Tutorial Deutsch - https://youtu.be/e-F-iHSYpzU
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloWorld
{
class Program
{
@suchja
suchja / ToString.cs
Last active June 15, 2017 08:50
Der Quellcode zum C# Tutorial Deutsch in dem ich zeige wie du die ToString-Methode verwendest um den Zustand eines Objektes auszugeben - https://youtu.be/g71JndA-0qA
using System;
namespace ObjekteAusgeben
{
class Computer
{
public string ZugeordneterMitarbeiter { get; set; }
public int GeraeteId { get; set; }
public DateTime Anschaffungsdatum { get; set; }