🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217365

Re: Przenośny, uproszczony filesystem

#217365
From: heby
Date: Tue, 06 Apr 2021 16:01
118 lines
6636 bytes
On 06/04/2021 16:54, J-23 wrote:
> Rozumiem doskonale i próbuje dać Ci podstawowe kroki od czego zacząć

Niezupełnie, podpowadasz na razie banały.

>> Omijasz podstawowy problem. Strukturę tego pliki "binarnego". Skupiasz 
>> się na trzecirzędnych duprelach.
> Taka strukture musisz sobie napisać

Tak, dokładnie.

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

Dla przykładu to ja mam zapisywać obrazy dysku czy pliki? No wiec 
podpowiem: pliki. Dużo plików. Po co mi kontener na obrazy dysku tym 
bardziej że jest trywialny (poza trim, ale do ogarnięcia)?

>> Nie, to nie jest róznica, dokładnie to chce uzyskać od samego początku.
> Tylko po co?

Ponieważ rozwiazuje to jakies zagadnienia spójności danych.

>> 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

Cała reszta to duperele ;)

> 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.

Używasz słowa "format" tak ja by rozwiązywało wszelakie problemy :) A 
potrafisz tym prostym parserem w javie odczytać *pliki* na *partycji* na 
tym pliku obrazu dysku?

>> 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

Znowu banał. Tak, to wszystko jest oczywiste. "Znając odpowiednie klucze 
można rozszyfrować transmisje.". Tak, to bardzo pomaga.

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

No tak, ale tłumaczysz komuś że procedury są tylko narzedziem do 
zrobienia AI i dalej sobie powinien poradzić.

>> 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

No tak, ale to oczywisty banał. Dalej nie rozumiesz że *znacząco* 
większym prolemem jest ta struktura i to jest problem algorytmiczny a 
nie pierdołowatych strumieni.

>> To ma być filesystem, bo w API mowa o plikach a bie blokach na dysku.
> o jakim api mówisz?

Moim.

> Po drugie co to zmienia?

Aby przejść z raw image dysku na pojęcie wirtualnych plików, trzeba cioś 
więcej niż fstream. To "coś" to filesystem.

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

Super, znowu banały. Tak, to wszystko mogę zrobić. Ale nijak z teo nie 
wynika jaka algortmika stoi za stworzeniem, dzięki tym prostym 
operacjom, wyższej warstwy abstrakcji jak "pliki".

>>> 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

:D Przepraszam ale ja się pogubiłem. Istnieje jakiś *standard* robienia 
formatów plików który mnie poratuje? Jakaś dobra szkoła która magicznie 
rozwiąże moje problemy? Wow. Niestety to tak nie działa. Twój "format 
pliku" to właśnie ten filesystem.

> 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

Wrzuć.

>>> 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?

Robią to używając innej wastwy abstrakcji niż fsream. Bingo, 
Zrozumiałeś, że fstream to tylko jakaś duperela, kompletnie tutaj 
nieistotna. Równie dobrze to może być kawałek RAMu albo nbd.

> 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

O to to! Najlepiej "formatu pliku filesystemu".

Może problem polega na tym że traktujesz mnie jak idiotę i tłumaczysz że 
programowanie polega na pisaniu procedur i używaniu fstream a resztę 
magicznie dopisują wróżki? Jak byłbym wyjątkowo głupi, to bym filesystem 
napisał samodzielnie. Obecnie mam już na karku kilka lat i zdaje sobie 
sprawę z moich słabych kompetencji w tym temacie, więc pytam o radę. Nie 
wykluczone że napiszę to samodzielnie, ale... doświaczenie podpowiada że 
są lepsi ode mnie i dawno to zrobili.
Technical Details
Message-ID: <s4i0k5$p2p$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
References: <rtpdik$cge$1@dont-email.me> <606a6d41$0$522$65785112@news.neostrada.pl> <s4elb8$cni$3@dont-email.me> <606b5698$0$542$65785112@news.neostrada.pl> <s4fu13$s6b$1@dont-email.me> <606b876c$0$517$65785112@news.neostrada.pl> <s4h7rd$n3v$1@dont-email.me> <606c7635$0$529$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: heby <heby@poczta.onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: Przenośny, uproszczony filesystem
Date: Tue, 6 Apr 2021 18:01:04 +0200
Organization: A noiseless patient Spider
Lines: 118
Message-ID: <s4i0k5$p2p$1@dont-email.me>
References: <rtpdik$cge$1@dont-email.me> <606a6d41$0$522$65785112@news.neostrada.pl> <s4elb8$cni$3@dont-email.me> <606b5698$0$542$65785112@news.neostrada.pl> <s4fu13$s6b$1@dont-email.me> <606b876c$0$517$65785112@news.neostrada.pl> <s4h7rd$n3v$1@dont-email.me> <606c7635$0$529$65785112@news.neostrada.pl>
Mime-Version: 1.0
Injection-Date: Tue, 6 Apr 2021 16:01:09 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="76ac3790277d741921ae0d316a6d6019"; logging-data="25689"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ZjjXM50RCZb0AVS9VGKaQ"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.9.0
Cancel-Lock: sha1:ng+yGxTGJW5aPrbqObWI30G3N/c=
In-Reply-To: <606c7635$0$529$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit