Code Monkey home page Code Monkey logo

tindox's Introduction

Hello 馃憢

Currently I am working on:

Top Langs

tindox's People

Contributors

annapyrka avatar dam1508 avatar jmazurkiewicz avatar lukaszreszka avatar

Watchers

 avatar

tindox's Issues

Szkielet klienta okienkowego

W szkielecie klienta okienkowego zawiera si臋:

  • Dzia艂aj膮cy system budowania (np. Gradle, Maven)
  • Przyk艂adowy program w Javie wykonuj膮cy pewn膮 akcj臋
  • Ewentualnie zautomatyzowane testowanie
  • Ewentualne modu艂y wymagane przez projekt

Szkielet klienta mobilnego

W szkielecie klienta mobilnego zawiera si臋:

  • Dzia艂aj膮cy system budowania
  • Przyk艂adowy program w Kotlinie wykonuj膮cy pewn膮 akcj臋
  • Ewentualnie zautomatyzowane testowanie
  • Ewentualne modu艂y wymagane przez projekt

Lista u偶ytkownik贸w

Potrzebne s膮:

  • Plik z list膮 u偶ytkownik贸w w katalogu .tds,
  • Implementacja instrukcji tds user [<add|passwd|remove|perms>] ...,
  • W nowo utworzonej instancji powinien znale藕膰 si臋 domy艣lny u偶ytkownik o loginie admin, ha艣le admin i wszystkich uprawnieniach.

Proponowany schemat listy u偶ytkownik贸w:

username1:passwd1:perms1
username2:passwd2:perms2
...

Has艂o powinno by膰 "zahaszowane" z wykorzystaniem odpowiedniego algorytmu, np. Keccak.

Szkielet klienta konsolowego

W szkielecie klienta konsolowego zawiera si臋:

  • Dzia艂aj膮cy system budowania (CMake)
  • Przyk艂adowy program w j臋zyku C wykonuj膮cy pewn膮 akcj臋
  • Ewentualnie zautomatyzowane testowanie
  • Ewentualne modu艂y wymagane przez projekt

Aktualizacja pliku `.editorconfig`

Plik .editorconfig powinien uwzgl臋dnia膰 wszystkie j臋zyki, kt贸re b臋d膮 pojawia膰 si臋 w projekcie. S膮 to:

  • C++
  • C
  • Kotlin
  • Java
  • LaTeX
  • CMake
  • Bash
  • YAML

Brak echa po uruchomieniu serwera

Serwer powinien w艂膮cza膰 z powrotem echo w terminalu.
B艂膮d wyst臋puje te偶 w przypadku instrukcji tds user.

Wykryto w Arch Linuksie.

Usuni臋cie `.clang-format`

Plik konfiguracyjny dla narz臋dzia clang-format powinien znikn膮膰 z katalogu g艂贸wnego - nie jest on istotny dla ca艂ego projektu.

Plik z logami serwera

Serwer powinien wypisywa膰 swoje logi nie tylko na ekran, ale tak偶e do dodatkowego pliku (.tds/log).

Ulepszenie konfiguracji

Tzw. katalog konfiguracyjny .tds powinien by膰 jednym, lekkim i czytelnym plikiem w formacie TOML.

Poprawka `.gitignore`

Plik .gitignore w katalogu g艂贸wnym jest do niczego (s膮 w nim istotne b艂臋dy), wi臋c:

  • Trzeba go poprawi膰 lub
  • Trzeba go usun膮膰 (wtedy b臋d膮 potrzebne pliki .gitignore w podprojektach).

Podstawowa konfiguracja

Projekt potrzebuje podstawowej konfiguracji:

  • Konfiguracji edytora (.editorconfig) dla wybranych j臋zyk贸w
  • Konfiguracji formatowania (dla C i C++)
  • Licencji
  • README
  • Pliku .gitignore (dla C i C++)
  • Listy w艂a艣cicieli kodu

Wy艣wietlanie log贸w serwera

TDS powinien umo偶liwia膰 wy艣wietlanie log贸w serwera na konsoli. Przyk艂ad u偶ycia

tds log # Wy艣wietli logi z ostatniego uruchomienia serwera

Aktualizacja pliku `CODEOWNERS`

Plik CODEOWNERS powinien odzwierciedla膰 podzia艂 pracy w zespole - ka偶dy cz艂onek zespo艂u powinien mie膰 katalog ze swoim projektem.

Poprawa serwera ECHO

Serwer nie powinien si臋 wy艂膮cza膰 przy roz艂膮czeniu jednego klienta.

Szkielet serwera

W szkielecie serwera zawiera si臋:

  • Dzia艂aj膮cy system budowania
  • Przyk艂adowy program w j臋zyku C++ wykonuj膮cy pewn膮 akcj臋
  • Ewentualnie zautomatyzowane testowanie
  • Ewentualne modu艂y wymagane przez projekt

Lepsze IoDevice i pochodne

Co mo偶na ulepszy膰:

  • IoDevice powinien mie膰 mo偶liwo艣膰 zamykania deskryptora nie tylko w destruktorze (funkcja close)
  • IoDevice powinien mie膰 mo偶liwo艣膰 transferu deskryptora (funkcja release jak w std::unique_ptr<T>)
  • Konstruktor IoDevice(int) powinien mie膰 dost臋p chroniony (o ile b臋dzie jeszcze potrzebny)
  • Klasa EpollDevice nie powinna przechowywa膰 bezpo艣rednio urz膮dze艅, kt贸re obs艂uguje

Aktualizacja `README`

W pliku README.md, opr贸cz sk艂adu zespo艂u, powinny znale藕膰 si臋 nast臋puj膮ce informacje:

  • Znaczniki CI
  • Poprawiony g艂贸wny nag艂贸wek (tytu艂)
  • Podzia艂 pracy w zespole
  • Cel projektu
  • Informacja o katalogach
  • Informacja o wymaganych narz臋dziach

Og贸lna infrastruktura serwera

Do zrobienia:

  • Obs艂uga w膮tk贸w,
  • Obs艂uga g艂贸wnego epolla,
  • Prawid艂owe otwieranie po艂膮cze艅 i ich obs艂uga na wielu w膮tkach,
  • Wst臋pne narz臋dzia do obs艂ugi protoko艂u (tds::protocol), czyli mi臋dzy innymi lista kod贸w b艂臋d贸w, funkcje do wykonywania polece艅,
  • Dodatkowe atrybuty dla EpollDevice jak np. one_shot (EPOLLONESHOT)

Instalacja serwera z wykorzystaniem CMake

System budowania powinien umo偶liwia膰 instalacj臋 serwera na lokalnej maszynie:

sudo cmake --build build --target install

B臋dzie to przydatne przy m.in. testach integracyjnych.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    馃枛 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 馃搳馃搱馃帀

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google 鉂わ笍 Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.