eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPrzenośny, uproszczony filesystem › Re: Przenośny, uproszczony filesystem
  • Data: 2021-04-06 16:54:46
    Temat: Re: Przenośny, uproszczony filesystem
    Od: J-23 <B...@p...fm> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2021.04.06 o 10:58, heby pisze:
    > On 05/04/2021 23:55, J-23 wrote:
    >>> Zostało to wyjaśnione.
    >> Nie zostało
    >
    > Więc jeszcze raz: chciałbym kilka plików, któe generuje apliakcja,
    > zawszeć w jednym. W przewieństwie do pakowania a'la zip, to ma być
    > dostepne jak normalne pliki, czyli mogę do niczh coś dopisać, trimować,
    > tworzyć i kasować.
    >

    Rozumiem doskonale i próbuje dać Ci podstawowe kroki od czego zacząć

    > Unikam wtedy bałaganu w postaci katalogu z plikami, w których user może
    > coś uszkodzić. Praktyka pokazała że to *krytyczne*.
    >
    >>> Więc jak?
    >> Możesz to zrobić na co najmniej dwa sposoby
    >> 1. Korzystając ze strumieni i pliku binarnego
    >
    > Omijasz podstawowy problem. Strukturę tego pliki "binarnego". Skupiasz
    > się na trzecirzędnych duprelach.
    >

    Taka strukture musisz sobie napisać lub skorzystać z instiejącej (mowiac
    z istniejącej mam na myśli to że korzystasz z formatu który Ci to umożliwa)

    >> 2. Wykorzystując formaty tj VDI
    >> https://www.arysontechnologies.com/blog/how-to-open-
    vdi-file/#:~:text=VDI%20or%20Virtual%20Drive%20Forma
    t,Windows%20and%20other%20operating%20systems.
    >
    >
    > To bardzo milutkie, ale to tylko 1/10 sukcesu. Co z filesystemem? Mam
    > sobie skombinować skądś ext4 w wersji bez kernela?


    tlumacze po raz enty ty nie musisz mieć filesystemu skupiasz się nie na
    tym co trzeba

    >
    >> Dostęp do źrodeł masz opisy formatu znajdziesz też w sieci
    >
    > Ale to nie jest format zapisu plików, tylko format zapisu *dysku*.
    > Brakuje tej warstwy o której mowa w temacie.
    >


    dla przykładu VDI jest plikiem i on ma odpowiedni format który pozwala
    przechowywać obraz dysku tak? czy nie?

    >>> *DOSKONALE* wiem co.
    >> Bez szyderstwa. Napisz więcej co to ma robić bo mam wrażenie że
    >> strzelasz z armaty do wróbla
    >
    > Napisałem wyżej.
    >
    >>>> Chcesz budować Filesystem to pochwal się jak masz to ogarnięte do
    >>>> tej pory
    >> Bo to co chcesz zbudować jest formatem pliku emulującym działanie
    >> systemu plików a to różnica
    >
    > Nie, to nie jest róznica, dokładnie to chce uzyskać od samego początku.

    Tylko po co?

    >
    >> Napisałem już w pierwszym moim poście że musisz zbudować odpowiedni
    >> format pliku
    >
    > Świetnie:
    >
    > Pacjet: Panie doktorze co dalej?
    > Doktur: Powinien pan wyzdrowieć, od tego proszę zacząć.
    >
    >> Nawet przywołane przeze mnie VDI jest formatem pliku a nie systemem
    >> plików
    >
    > No własnie, dlatego jest poza tematem. Ogólnie jeśli mam już bloki, to
    > abstrakcja zapisująca je do pliku jest mało istotną duperelą. Skupiasz
    > się na nieistotnym technicznie detalu.
    >

    Wlasnie ty się skupiasz na czymś co ci jest zbędne przynajmniej na
    obecnym etapie

    >>> Poczytaj wątek. Mam możliwosć schowania tego za abstrackją i
    >>> aktualnie używam database. Ale database jest marną emulacją.
    >> Po co ci Database?
    >
    > Aby emulować filesystem w pliku na potrzeby unit testów.
    >
    >>> Bardzo dobra rada. Problem w tym, że kod do większości filesystemów
    >>> jest przesadnie zagmatwany aby można było wyłuskać z niego sensowne
    >>> abstrakcje. A wiele oglądałem. Najzwyczajniej, produkcyjne
    >>> filesystemy są optymalizowane a nie pisane po to aby je podziwiać.
    >> Teraz jak wiem o co ci chodzi to odpowiem tak. Przejrzyj formaty które
    >> to umożliwiają przechowywać obraz dysku np wspomniany przeze mnie VDI
    >
    > Formaty maszyn wirtualnych służa tylko do tego aby gołe sektory trzymać
    > w jakiś mniej-wiecej optymalny sposób w jednym pliku.
    >

    Zajrzyj w format VDI jak to jest zrobione. Nawet ten prosty parser w
    javie który podesłałem pokazuje że jest to plik o danym formacie.

    > Niejak nie pomagają mi w wyższej warstwie abstrackji typu "jak trzymać
    > pliki w tym pliku".

    Każdy plik ma określoną strukturę. Znajac ja pisząc odpowiednia obsługe
    tej struktury mozesz ja czyta w dowolny sposb
    >
    >> bo System plików będzie faktycznie mocno zagmatwany bo ty potrzebujesz
    >> 20% tego co w systemie plików jest zawarte
    >
    > Raczej 80%. Poza katalogami i atrybutami, ale oba to chyba jakieś mało
    > istotne rzeczy.
    >
    >>> Ma pracować na 1 pliku, a w środku ma pozwalać na operowanie nieznaną
    >>> iloscią plikó wirtualnych, dynamicznie je tworząc, kasując,
    >>> powiększając, nadpisując. Mniej więcej to co robi normalny filesystem
    >>> na normalnym dysku.
    >> Kluczowe pytanie do czego ci to potrzebne bo nadal przy tej "dawce
    >> wiedzy" będę sie upierał że wystarczą ci strumienie by to napisać
    >
    > Nie, nie wystarczą. Aplikacja jest komercyjna.

    Strumienie są tylko narzedziem za pomocą których napiszesz odpowiednią
    strukture tego co ma zostać przechowywane a nie celem samym w sobie

    >
    >> Strumienie nie dadzą rady w momencie gdy potrzebujesz z tego wycisnąć
    >> max wydajności
    >
    > Dalej nie pojmuje co niby te strymienie mają mi dopomóc w problemie?
    > std::fstream i co dalej? jest jakis std::filesystem?
    >

    Jak napisałem wyżej one są tylko środkiem za pomocą którego napiszesz
    sobie odpowiednią strukture

    >> Zasugerowałem format VDI lub zbuduj własny format co nie jest takie
    >> trudne jak zglebisz temat formatu plików pozwalający przechowywać
    >> obraz dysku.
    >
    > Ale to są tylko trywialne translatory blok wirtualny->pozycja w pliku +
    > trim.
    >
    >> Moim zdaniem błędnie się zasugerowałeś że to ma być FileSystem
    >
    > To ma być filesystem, bo w API mowa o plikach a bie blokach na dysku.
    >


    o jakim api mówisz? to po pierwsze
    Po drugie co to zmienia?

    Ty masz mieć plik w którym będziesz sobie dowolnie mógł wykonywać
    operacje tj, czytanie/zapis/przesuniecie/obcięcie danych

    i to potrafi niemal każdy plik kwestia by zrobić to teraz w miarę wydajnie

    >> Moja rada poczytaj o tym jak się konstruję formaty plików
    >
    > A jak się konstruuje formaty plików? Jest jakiś poradnik do tego?
    >

    poradnika nie ma. Ale są opisy formatu plików jak zobaczysz jak ne są
    napisane zlapiesz jak powinno się pisać dany format pliku


    Mam gdzieś w swoich starych zasobach pisane chyba we FreePascalu opisany
    swój format pliku w którym przechowuje obiekty bazodanowe - tj
    DataSource/DataSet/Query

    Moge je czytać jak chce ze środka pliku/ obcinać/dodawać itp

    Jak chcesz mogę poszukać/wrzucić i sobie zobaczysz


    >> Pytanie czy da się strumieniami twoim zdaniem zapakować kilka plików
    >> do jednego pliku?
    >
    > Da się, ale nie da się potem na tym pracować. Zwiększ rozmiar środkowego.

    Bzdura że się nie da da się. A ty myślisz że jak to robią formaty które
    przechowują obrazy dysków?

    Fakt jest jeden jest z tym masa pracy by to osiągnąć stąd proponuje użyć
    jakiegoś gotowego formatu by oszczędzić sobie pracy

    Pozdrawiam
    J-23

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 06.04.21 17:08 J-23
  • 06.04.21 18:01 heby
  • 06.04.21 18:12 heby
  • 06.04.21 19:41 J-23
  • 06.04.21 19:57 J-23
  • 06.04.21 20:08 heby
  • 06.04.21 20:17 heby
  • 06.04.21 21:01 J-23
  • 06.04.21 21:32 J-23
  • 07.04.21 08:43 heby
  • 07.04.21 08:48 heby
  • 07.04.21 11:52 J-23
  • 07.04.21 12:03 heby
  • 07.04.21 12:25 J-23
  • 07.04.21 12:42 J-23

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: