Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki

Aktuelle Zeit: Do Apr 19, 2018 22:12

Foren-Übersicht » Sonstiges » Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 61 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5
Autor Nachricht
 Betreff des Beitrags: Re: Radon Framework
BeitragVerfasst: Fr Apr 06, 2018 17:52 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2521
Wohnort: Berlin
Programmiersprache: C/C++, C#
Code Feed
Die Codefeed.org URL hab ich registriert und erstmal ein github Website angelegt, die ich noch mit Inhalt füllen muss.
CodeFeed hab ich auch als Marke angemeldet und eine Firma registriert, Steuer und so weiter.

Radon CMake framework
Radon CMake framework liegt nun bei Codefeed und mit hilfe von sphinx, travis-ci und ein custom cmake parser kann ich nun CMake Datein parsen und Doku generieren.
Hier ist die Doku vom Framework und das witzige daran ist, das Framework erstellt die doku über sich selbst xD
Sämtliche fertige API ist mit rcf_ makiert und nur diese hab ich Dokumentiert.
Neben der Doku hab ich ein Paketsystem für CMake implementiert, anfangs war es nur auf das RCF Repo beschränkt aber ich hab es dann so umgebaut, dass man weitere Repos hinzufügen kann und damit interne oder vieleicht auch vom RCF Repo getrennt ein globales Repo für bestimmte Bereiche anbieten kann. Das ganze ist ziemlich einfach um zu setzen, man kann im einfachsten Fall ein github repo erzeugen und dort in einer bestimmten Strutur die Pakete pflegen und gibt im CMake Projekt nur noch das Repo an.
Hier mal ein Beispiel, wie ich das interne Paket Repo von meiner Firma in CMake nutze.
Code:
  1. project(CoolProject)
  2. include("Integrate.cmake")#short bootstrap file to integrate RCF
  3. rcf_register_package_repository("PTScientists" "git" "ssh://git@bitbucket.pts.intern/gs/package-repository.git")
  4.  
  5. rcf_addpackage(luajit)#part of RCF Repo
  6. rcf_addpackage(libccsds dev)#part of PTS Repo
  7.  
  8. rcf_generate(executable APP App "Tools")
  9.     rcf_add_recursive("app/" "Source")
  10.     rcf_add_dependencies(luaJIT_Static libCCSDS)
  11. rcf_endgenerate()

Mit der Vereinfachung verliert man Kontrolle aber man kann ja immernoch die CMake API verwenden, sollte man richtig tief im Projekt spezielle sachen machen wollen aber ich hab dies in meinen Projekten eher nicht.
Bei Embedded ist dies oft der Fall aber da konfiguriere ich lieber mit meiner High API und ändern nachträglich die low level Settings, wie Compiler/Linker flags für einzelne Targets und Datein.

Ich hab nun auch angefangen ein Buch zu CMake zu schreiben und wie man Projekte designen und vorallem nicht designen sollte, wenn man sie verständlich und wartbar halten will.
Das ist mehr eine Zusammenfassung meiner Erfahrung aus den letzten Jahren mit diversen verschiedenen Projekten und wo CMake schwächelt und wo es seine stärken hat.
Im Rahmen von Radon CMake framework hab ich auch schon einiges an Wissen angehäuft, wie man Util Code für CMake schreiben sollte und wo es bei der CMake API noch ganz schön hakt und man durch Konzepte, wie in meinem Framework sich viel Nerven und Probleme erspart.

Radon Framework
Ich hab eine clang formatter file hinzugefügt aber mache aktuell noch änderungen daran, das passende Code Formatter Tool von clang erkennt diese Datei und eine IDE/Editor mit support tut dann diese auf den aktuellen Code anwenden. Ich nutze z.B. ein Plugin in Visual Studio, welches beim Speichern die Datei erkennt und dann den Code passend formatiert.

Ich habe einen bisschen im Security Bereich gearbeitet und eine Keychain API hinzugefügt.
Der neue Bereich Security enthält aktuell folgende Funktionen.
  1. generierung sicherer zufälliger Zahlen, in gewünschter Länge
  2. sicheres 0 auffüllen, welches nicht weg optimiert werden kann
  3. lese user encrypted entry
  4. schreibe user encrypted entry
  5. lösche user encrypted entry
  6. größe von user encrypted entry
  7. existiert ein bestimmter entry
Im Hash Bereich hab ich PBKDF2 mit SHA-1 hinzugefügt, da dies die gängige Methode ist, Passwörter zu generieren und zu prüfen.
Man kann nun also im gesichertem Bereich vom Betriebsystem(aktuell nur Windows angebunden) Passwörter hinterlegen und somit ermöglichen, einen Authentifikationsserver zu schreiben oder auf Client Seite sicheres automatisches einloggen zu realisieren.
Die Keychain API kümmert sich darum, das Passwort einmal an zu nehmen, zu verarbeiten, sicher aus dem Speicher zu tilgen und eine verschlüsselte Form im zusätzlich verschlüsseltem Userspace zu hinterlegen.
Da die encryption der Userspaces auf den einzelnen OS und Desktopmanager unterschiedlich ausfällt, mach ich das übliche Verfahren bereits vorher und hinterlege diese.

Ich hab noch ein bisschen am Software rasterizer gearbeitet aber suche aktuell ein oder mehrere Bugs in der Lineare Algebra, die ich dafür nutze, da meine Testdreiecke ziemlich schräge Ausgaben erzeugen.
Zeit ist hier momentan eher der limitierende Faktor :\

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 61 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5
Foren-Übersicht » Sonstiges » Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.015s | 15 Queries | GZIP : On ]