====== Softwareentwicklung ====== In dieser Sektion sollen nützliche Programme, Code-Schnipsel, Links zu interessanten Frameworks, etc. stehen. ====== Bibliotheken ====== ===== C / C++ ===== * ELM FatFs (FAT Dateisystemtreiber) - [[http://elm-chan.org/fsw/ff/00index_e.html]] * lwIP (Lightweight TCP/IP Stack) - [[http://savannah.nongnu.org/projects/lwip/]] ===== .NET ===== * AForge.NET: Computer Vision, Artificial Intelligence, Robotics - [[http://www.aforgenet.com]] * Chaining Assertion: Method chaining based Unittest extension - [[http://chainingassertion.codeplex.com/]] * CUDAfy.NET: GPGPU Programme in .NET (unterstützt OpenCL und CUDA) - [[http://cudafy.codeplex.com/]] * Command Line Parser Library: Parser für Kommandozeilenargumente - [[http://commandline.codeplex.com/]] * EmguCV: .NET Wrapper für das OpenCV Computer Vision Framework - [[http://www.emgu.com]] * MailSystem.NET: Mailprotokolle in .NET (z.B. POP3, IMAP, SMTP, OpenPGP, etc.) - [[http://mailsystem.codeplex.com/]] * Monitor Power Control: Monitor mit C# in den Standby Modus schalten - [[http://www.codeproject.com/Tips/1013694/Monitor-Power-Control-Using-Csharp]] * stateless: State Machine Bibliothek - [[https://github.com/nblumhardt/stateless]] * solid-state: State Machine Bibliothek mit Fluent-Interface - [[https://code.google.com/p/solid-state/]] ====== Code-Schnipsel ====== ===== C# ===== ==== Allgemeine Array-Compare Methode ==== static bool ArraysEqual(T[] a1, T[] a2) { if (ReferenceEquals(a1,a2)) return true; if (a1 == null || a2 == null) return false; if (a1.Length != a2.Length) return false; EqualityComparer comparer = EqualityComparer.Default; for (int i = 0; i < a1.Length; i++) { if (!comparer.Equals(a1[i], a2[i])) return false; } return true; } ==== Byte Array nach Hex-String ==== private string ByteArrayToHexString(byte[] arr) { return Regex.Replace(BitConverter.ToString(arr), "[^A-F0-9]", ""); } ==== ASCII Byte Array nach String / String nach ASCII Byte Array ==== private byte[] StringToByteArray(string str) { System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); return enc.GetBytes(str); } private string ByteArrayToString(byte[] arr) { System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); return enc.GetString(arr); } ====== Links ====== * LightCore - Lightweight Dependency Injection-Container - [[http://lightcore.ch]] * Spracherkennung / -ausgabe mit C# - [[http://www.codeproject.com/Articles/483347/Speech-recognition-speech-to-text-text-to-speech-a]] * Largest collection of FREE Microsoft eBooks ever - [[http://blogs.msdn.com/b/mssmallbiz/archive/2014/07/07/largest-collection-of-free-microsoft-ebooks-ever-including-windows-8-1-windows-8-windows-7-office-2013-office-365-office-2010-sharepoint-2013-dynamics-crm-powershell-exchange-server-lync-2013-system-center-azure-cloud-sql.aspx]] ===== Tutorials ===== * Building an Image Resizer using .NET Parallel Dataflow Library in .NET 4.5 - [[http://www.dotnetcurry.com/ShowArticle.aspx?ID=886]] * Task Parallel Library (TPL) - [[http://stefanhenneken.wordpress.com/category/task-parallel-library/]] ====== Projekte ====== * Gamepark GP2x Toolchain (ein von mir zusammengestelltes GCC Development Kit für Windows) - [[http://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,0,0,0,14,1362]] ====== Tools / Add-Ins ====== * ArgoUML (UML-Werkzeug) [[http://argouml.tigris.org/]] * Machinations (Feedback Diagramme zum Test von Spielmechaniken): [[http://jorisdormans.nl/machinations]] - Heise News: [[http://www.heise.de/newsticker/meldung/GDC-Weltraumspiel-in-20-Minuten-1668571.html|GDC: Weltraumspiel in 20 Minuten]] * Visual Studio Design Patterns add-in - [[http://www.codeproject.com/Articles/767200/Visual-Studio-Design-Patterns-add-in]]