Re. Pytanie do serwisantów.

Pan Piotr Gałka napisał:

Responsywny system szybko reaguje na polecenia. A potem wykonuje je w swoim tempie. Możemy sobie wyobrazić komputer z zegarem 4 GHz i DOS-em uruchomionym z dyskietki. Wydajemy mu jakieś *zewnętrsne* polecenie, a on majestatycznie rozpędza plastik, czyta porozrzuzene sektory chrobocząc głowicą, aż w końcu w okamgnieniu wykona co od niego chcieliśmy. Komputer z zegarem 12 MHz, ale korzystający z ramdysku, zareaguje kilkaset razy szybciej, a wykona kilkaset razy wolniej. Z tym że to "wolniej" może być dla człowieka niezauważalne. A "szybciej" -- wręcz przeciwnie. Dla mnie nawet różnica między HDD i ramdyskiem była odczuwalna w normalnej (dla mnie) przcy z komputerem.

Mniej lub bardziej responsywne są nie tylko komputery. Samochodów też to dotyczy. Statek pełnomorski jest bardzo mało responsywny, choć potrafi całkiem szybko pomykać przez oceany. Z ludźmi również tak jest. Jednych trzeba prosić miesiącami, ale jak im zaskoczy, to uwijają się żwawo. Inni od razu reagują "już lecę", a potem rok grzebią się z robotą.

Jarek

Reply to
invalid unparseable
Loading thread data ...

Użytkownik "Sebastian Biały" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:npkavv$thb$ snipped-for-privacy@node1.news.atman.pl...

:)))) Umiesz żartobliwie i dosadnie przekazać informację trafiając jednocześnie w sedno. Na pewno znacznie lepiej teraz rozumiem co to jest API.

Wydaje mi się, że ten (przydługi) wątek powoli wygasa. Korzystając z okazji (celowo w odpowiedzi na post Sebastiana, który poza grupą odpowiedział mi też na kilka jeszcze głupszych pytań, które wstyd byłoby mi zadać na forum) dziękuję wszystkim, którzy odpowiadali na moje pytania. Dla przypomnienia jak wątek "Pytanie do serwiasntów" stał się wątkiem o językach i bibliotekach:

- chodziło o wyrwane złącze i serwis,

- ktoś napisał, że dobrym rozwiązaniem byłoby umieszczeni złącza odpowiednio głęboko,

- inny ktoś napisał, że widział takie rozwiązanie, ale tylko w jednym przypadku,

- ja się pochwaliłem, że już w 1995 roku przerabiając DSM-51 na "Idiot-proof" tak umieściliśmy złącze zasilania DC,

- na to była reakcja: "To ty jesteś ten od Piccolo, co nie przerobił na czas programu DOS na Windows".

- tłumacząc się, że w tym czasie nie miałem ani wiedzy, ani narzędzi, napisałem między innymi coś w stylu, że nie jestem informatykiem ani programistą i z komputerami miewam problemy tam, gdzie dla innych wszystko jest proste i oczywiste,

- na to Sebastian: pytaj, pomożemy.

- a że akurat miesiąc temu zderzyłem się z sytuacją, że jakaś firma informatyczno/programistyczna potrzebowała by od nas coś więcej niż tylko protokół komunikacji, i wiem, że Sebastian jest dobry w te klocki to nie omieszkałem wykorzystać takiej oferty no i już jesteśmy w dll-ach.

Jeszcze raz dziękuje i pozdrawiam Wszystkich, co nie znaczy, że jak ktoś się jeszcze odezwie to przestaję odpowiadać :) P.G.

Reply to
=?windows-1250?Q?Piotr_Ga=B3ka?=

Użytkownik "re" snipped-for-privacy@re.invalid napisał w wiadomości news:npkf9e$538$ snipped-for-privacy@mx1.internetia.pl...

Obiło mi się, ale spokojnie można powiedzieć, że nie odkryłem :)

Ale to było na temat tego artykułu. Jakoś się okazało, że oni nie mogli się cofnąć do poprzedniej wersji jak te 11 linijek zniknęło z internetu.

Wiem, że w toku dyskusji wykazałem się bardzo wieloma brakami w odkryciach, ale jakbyś jakoś zdefiniował/opisał co rozumiesz pod pojęciem testy automatyczne (jakiś przykład) to byłbym dźwięczny. Czuję, że wiąże się to z czymś co ja nazywam wektory testowe, ale nie wiem czy to jest to samo, czy coś więcej. P.G.

Reply to
Piotr Gałka

Użytkownik "re" snipped-for-privacy@re.invalid napisał w wiadomości news:npkfft$631$ snipped-for-privacy@mx1.internetia.pl...

Dla mnie to nie jest użycie biblioteki tylko coś równorzędnego. Jak w mikrokontrolerze jest sprzęt liczący AESa i brat pisząc program korzysta z niego to nie musi dołączać do swojego kodu żadnej biblioteki tylko musi wiedzieć przez które rejestry i jak komunikować się z tym sprzętem. Tak faktycznie to on wg typu procesora ma #if i albo korzysta, albo wstawia kawałek w assemblerze. Nazywanie tego korzystaniem z biblioteki doprowadzi do tego, że:

- użycie scalaka do RFID to użycie biblioteki,

- użycie scalaka do CAN to użycie biblioteki,

- użycie scalaka do RS485 to użycie biblioteki, a stąd już blisko do stwierdzenia, że 555 to biblioteka funkcji czasowych.

Gdzieś należy postawić granicę i dla mnie jak pisząc program nie musisz dołączać żadnej biblioteki to nie korzystasz z biblioteki, ale nie bronię mieć innego zdania. P.G.

Reply to
Piotr Gałka

W dniu czwartek, 25 sierpnia 2016 10:46:55 UTC+2 użytkownik Piotr Gałka napisał:

Spróbuj odkryć :) Bo SVN lub ewentualnie git (choć do prostych spraw lepszy svn IMHO) to fajna sprawa. Coś w rodzaju aktówki windowsowej i automatycznego kopiowacza który zapisuje poszczególne zmiany w plikach zapisywanych. Fajna sprawa. Przydaje sie nie tylko do kodu. Może śledzić również dokumenty, pliki binarne itp...

To jest zazwyczaj rodzaj skryptów lub programów wykorzystujących ten tworzony kod i weryfikujące czy program nadal wykonuje się poprawnie.

W idealnym przypadku skladaja sie z zestawu który testuje program (lub biblioteke) w zakresie podstawowych funkcjonalnosci (uruchomienie, wykonanie standardowej akcji itp.) plus testów dla warunków granicznych (np. nakarmienie programu wadliwymi danymi, nakarmienie go danymi spoza zakresu itp.) plus jednym - dwu testów wykrywających czy naprawiony bug sie przypadkiem nie pojawił ponownie.

Te testy uruchamia się automatycznie po skompilowaniu nowej wersji.

Od razu zajawię temat programu make i plików makefile. To program który rekompiluje tylko wymagane pliki aby zbudować program. Większość środowisk graficznych typu eclipse lub borlandowe robi to samodzielnie wewnątrz. Ale dla pisarza tradycyjnego make jest bardzo pomocne.

Reply to
sczygiel

Użytkownik snipped-for-privacy@gmail.com napisał w wiadomości news: snipped-for-privacy@googlegroups.com...

Spróbuj odkryć :) Bo SVN lub ewentualnie git (choć do prostych spraw lepszy svn IMHO) to fajna sprawa. Coś w rodzaju aktówki windowsowej i automatycznego kopiowacza który zapisuje poszczególne zmiany w plikach zapisywanych. Fajna sprawa. Przydaje sie nie tylko do kodu. Może śledzić również dokumenty, pliki binarne itp...

-------- Nie czuję potrzeby. Jak zacząłem trochę używać Buildera 2010 to po jakimś czasie wyłączłem jego funkcje pamiętania iluś tam ostatnich wersji plików i dokonanych zmian. Za drobne rzeczy robię, abym miał takie potrzeby.

W idealnym przypadku skladaja sie z zestawu który testuje program (lub biblioteke) w zakresie podstawowych funkcjonalnosci (uruchomienie, wykonanie standardowej akcji itp.) plus testów dla warunków granicznych (np. nakarmienie programu wadliwymi danymi, nakarmienie go danymi spoza zakresu itp.) plus jednym - dwu testów wykrywających czy naprawiony bug sie przypadkiem nie pojawił ponownie.

---------- Zrozumiałem. Robiłem tego typu testy, ale nie dla software'u tylko dla sprzętu. Musieliśmy przerobić naszego HAK2 (klucz sprzętowy USB) na inny procesor (więc program od nowa, bo stary był w assemblerze). Napisałem program który mielił minutę klucz, i puszczaliśmy go ze starym i nowym aby sprawdzić czy wyszło to samo.

Te testy uruchamia się automatycznie po skompilowaniu nowej wersji.

---------- Rozumiem, że słowo automatyczne dotyczy nie tylko tego, że ileś testów jest wykonywanych automatycznie ale też tego, że nie da się skompilować nowej wersji biblioteki, aby automatycznie nie uruchomiły się jej testy.

Od razu zajawię temat programu make i plików makefile.

----- Intensywnie używałem w czasach DOS. Nie było jeszcze biblioteki Turbo Vision (Borlanda okienka w DOS) więc (na potrzeby Piccolo) sam napisałem sobie taką bibliotekę. Moja działała 10 razy szybciej od tej Borlanda, ale nie umiała zdarzeń myszy przekazać do odpowiedniego okienka. A że wtedy zależało mi, aby exe były małe to każdą, nawet kilku linijkową funkcję wkładałem do osobnego obj i te wszystkie obj łączyłem w lib (wszystko w długim na kilka stron makefile). Przyzwyczaiłem się do tego, że środowisko dba o takie sprawy i mi to pasuje. P.G.

Reply to
Piotr Gałka

W dniu czwartek, 25 sierpnia 2016 13:11:02 UTC+2 użytkownik Piotr Gałka napisał:

A to już jak kto lubi/potrzebuje.

Generalnie jak masz sytuację że sam sobie coś tworzysz to sam masz swój tryb pracy i sobie sam o wszystkim pamietasz. A jak nie pamiętasz to sobie sam jakieś skrypty czy automaty zrobisz aby pilnowały nudnych spraw.

Więc takie testy sobie możesz puszczać na koniec dnia aby sie upewnić że zmiany wprowadzone nie zdestabilizowały ci kodu programu.

Ale w sytuacji kiedy wiele osób pracuje nad tym samym projektem i każda coś tam zmienia to dobrze jest mieć mechanizm który okresowo (raz na godzine, raz na dzień itp.) zaciąga świeżą kopię z repozytorium svn/git, kompiluje ją, testuje i montuje jakis plik instalacyjny lub archiwum z programem.

Dlatego zazwyczaj te testy uruchamia się co każdą udaną kompilację.

Wtedy wiadomo co, kto, gdzie zmienił przed wystąpieniem błędu.

W małych środowiskach tak czy siak warto robić testy automatyczne i mieć z tego troche inny pożytek: Zanim zaczniesz pisać biblioteke czy API, piszesz kod który będzie korzystał z tej biblioteki/API. Piszesz go tak jak wyobrażasz sobie wykorzystanie Twojego produktu. Ten kod weryfikuje czy dało się wywołać kod i czy kod zwraca poprawny rezultat.

I jak już utworzysz kod właściwy nagle te testy zaczną pokazywać wynik pozytywny.

To takie troche podejście od "końca". Bo zazwyczaj początkujący programiści piszą najpierw swój kod właściwy a potem go testują czy działa a potem czy działa dobrze a potem czy nadal działa dobrze jak się go nakarmi głupotami.

A to podejście jest odwrotne. Najpierw piszesz kod weryfikujący i na początku on weryfikuje wszystko negatywnie. A z czasem coraz więcej testów kończy się sukcesem.

Generalnie te tematy to istna rzeka do filozofowania. I niektóre sprawy są IMHO warte zapoznania nawet w małych projektach. Nawet takich jednoosobowych.

Ja np. korzystam z SVN do synchronizowania plików między komputerami, jako backup i system wersjonowania. Całość to w sumie dwa skrypty (update i commit) a pożytek ogromny. Jak pracuję na jednym komputerze i tworzę coś to wystarczy że wyślę aktualny stan pracy do svn jednym skryptem, nastepnie idę do drugiego komputera i uruchamiam update, robie co mi tam trzeba i wynik znowu wysylam do svn (commit).

To w sumie nic kosmicznego ale bardzo ułatwia pracę.

Reply to
sczygiel

Użytkownik "Piotr Gałka" napisał w wiadomości grup dyskusyjnych:npjgr7$scn$ snipped-for-privacy@news.chmurka.net... Użytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisał w wiadomości

Masz to szczescie, ze maluchy piszesz, i mozesz sie pozbyc. A jak przyjdzie obslugiwac TCP/IP, USB, Bluetooth, FAT32 czy NTFS, to napisanie od nowa bedzie za dlugo trwalo.

Ale tu chyba o co innego poszlo. Nie znam tego srodowiska, ale domyslam sie, ze to takie bardziej narzedziowe i jak widac - wszystko sie sciaga automatycznie :-)

Tworzysz strone www w jQuery czy Ajax, to tez sie nie zastanawiasz jak to dziala i czym to zastapic, tylko po prostu korzystasz. Kompilatora tez nie zastepujesz, tylko uzywasz, co najwyzej klniesz i mowisz "wiecej im nie zaplace".

Takie czasy, takie szkolenia :-)

Ale spora czesc jest nieunikniona - rozbudowalo sie to wszystko, sam od zera nie napiszesz.

J.

Reply to
J.F.

Użytkownik snipped-for-privacy@gmail.com napisał w wiadomości news: snipped-for-privacy@googlegroups.com...

Ja np. korzystam z SVN do synchronizowania plików między komputerami, jako backup i system wersjonowania. Całość to w sumie dwa skrypty (update i commit) a pożytek ogromny. Jak pracuję na jednym komputerze i tworzę coś to wystarczy że wyślę aktualny stan pracy do svn jednym skryptem, nastepnie idę do drugiego komputera i uruchamiam update, robie co mi tam trzeba i wynik znowu wysylam do svn (commit). To w sumie nic kosmicznego ale bardzo ułatwia pracę.

----------- Przekonałeś mnie na tyle, że zapisałem sobie to SVN (+ wcześniej wymieniony git) do sprawdzenia kiedyś..... Ja pracuję na jednym komputerze i nie mam potrzeby synchronizacji czegokolwiek. A do backupu zrobiłem sobie kilkanaście lat temu dwa skrypty. Jeden backupuje wszystko, a drugi to, co zmieniło się od czasu, gdy zrobiono wszystko. Codziennie wołam ten drugi, a gdy jego backup robi się duży to raz wołam tego całego i potem znów codziennie tego przyrostowego. Jakoś nie mam determinacji, aby coś w tym poprawiać.

Wiąże się z tym pewien zbieg okoliczności. Jak już miałem to gotowe to zrobiłem backupy (wtedy jeszcze na dyskietki) mojego komputera, a że było już późno to przeniesienie tego na drugi (nie mój) komputer zaplanowałem na drugi dzień. A w nocy mieliśmy włamanie i ukradli nam komputery. Kilka miesięcy prac na tym drugim wcięło (to były projekty płytek). P.G.

Reply to
Piotr Gałka

Użytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:57bee057$0$15206$ snipped-for-privacy@news.neostrada.pl...

Jakoś ta prawda usiłuje do mnie chyba od lat dotrzeć, ale skutecznie wypieram ją ze świadomości :( P.G.

Reply to
Piotr Gałka

Użytkownik "Piotr Gałka" napisał w wiadomości grup dyskusyjnych:npk58c$414$ snipped-for-privacy@news.chmurka.net... Użytkownik "Marek" snipped-for-privacy@fakeemail.com napisał w wiadomości

A to zalezy co rozumiemy za mikrokontroler. Taka np nawigacja samochodowa, pierwsze byly chyba juz z 15 lat temu, a program mial pare MB (plus dane).

Telefon komorkowy siemens ME45, rok 2001, firmware liczyl cos 6MB. A tam tylko 3 gry byly i zadnej Javy :-)

J.

Reply to
J.F.

MKi pisze:

Na Wydziale Elektroniki Politechniki Warszawskiej (czyli na popularnie mówiąc Elce) programy na Odr 1402 spisywało się na pliku specjalnych arkuszy ochrzczonych mianem sheetów, potem odbierało się ważący parę kilo plik kart Holleritha, przeglądało i własnoręcznie edytowało karty źle zakodowane...

Reply to
Dariusz K. Ładziak

Użytkownik "Piotr Gałka"

...

Ale to było na temat tego artykułu. Jakoś się okazało, że oni nie mogli się cofnąć do poprzedniej wersji jak te 11 linijek zniknęło z internetu.

Reply to
re

Użytkownik "Piotr Gałka"

Spróbuj odkryć :) Bo SVN lub ewentualnie git (choć do prostych spraw lepszy svn IMHO) to fajna sprawa. Coś w rodzaju aktówki windowsowej i automatycznego kopiowacza który zapisuje poszczególne zmiany w plikach zapisywanych. Fajna sprawa. Przydaje sie nie tylko do kodu. Może śledzić również dokumenty, pliki binarne itp...

-------- Nie czuję potrzeby. ... po jakimś czasie wyłączłem jego funkcje pamiętania iluś tam ostatnich wersji plików ...

Reply to
re

Użytkownik "Piotr Gałka"

Ja np. korzystam z SVN do synchronizowania plików między komputerami, jako backup i system wersjonowania. Całość to w sumie dwa skrypty (update i commit) a pożytek ogromny. Jak pracuję na jednym komputerze i tworzę coś to wystarczy że wyślę aktualny stan pracy do svn jednym skryptem, nastepnie idę do drugiego komputera i uruchamiam update, robie co mi tam trzeba i wynik znowu wysylam do svn (commit). To w sumie nic kosmicznego ale bardzo ułatwia pracę.

----------- Przekonałeś mnie na tyle, że zapisałem sobie to SVN (+ wcześniej wymieniony git) do sprawdzenia kiedyś..... Ja pracuję na jednym komputerze i nie mam potrzeby synchronizacji czegokolwiek.

Reply to
re

Użytkownik "Piotr Gałka"

Dla mnie to nie jest użycie biblioteki tylko coś równorzędnego.

Reply to
re

Jarosław Sokołowski pisze:

I to jest taka pewna paranoja, ten command.com jako niejako system powinien być permanentnie trzymany w RAM i zabezpieczony przed wywaleniem przez coś innego, nie wiem czy tak się dzieje lub jest to w ogóle możliwe, ale faktem jest że trzymanie pewnych rzeczy w ramdysku zdecydowanie daje kopa maszynie, bawiłem się tym jeszcze za czasów 386 kiedy komp z 4MB RAM to był wypas a dyski twarde miały transfer rzędu

700kB/s. Nie wiem jak działa mechanizm alokacji pamięci (wtedy i teraz) ale wygląda na to, że jak brakuje pamięci na coś co ma być uruchomione to system czyści cache systemu plików bez patrzenia co tam siedzi.
Reply to
AlexY

Pan AlexY napisał:

Nie taka tam znowu paranoja, jeśli wziąć pod uwagę gospodarowanie ograniczoną pamięcią RAM. Command.com miał część rezydentną i nierezydentną. Ta druga była wywalana z pamięci przed uruchomieniem programu. A potem ładowana po jego zakończeniu.

Shell uniksowy siedzi w ramie cały czas.

Reply to
invalid unparseable

Użytkownik "Jarosław Sokołowski" napisał w wiadomości grup dyskusyjnych: snipped-for-privacy@falcon.lasek.waw.pl...

Chyba nie tak calkiem - raz, ze przez mechanizm pamieci wirtualnej moze z tej pamieci wyleciec na dysk.

Dwa - cos mi chodzi po glowie, ze byla mozliwosc "wyjdz z shella i uruchorm inny program". Malo uzyteczne, bo potem sie trzeba bylo zalogowac :-)

J.

Reply to
J.F.

U nas pisanie na sheetach też było w ofercie ośrodka obliczeniowego, ale to wydłużało o jeden dzień proces tworzenia programu. Po paru pierwszych programach wszyscy na roku nauczyliśmy się obsługiwać perforatory. Dla wielu był to pierwszy kontakt z klawiaturą.

Oj, tak, tak. Z definicji panie perforatorki miały obowiązek przepisywać znak w znak, łącznie z błędami ortograficznymi w komentarzach. A w rzeczywistości... raz zdarzył mi się plik kart wydziurkowanych z przesunięciem o jeden znak w lewo (czyli to, co miało być w 7 kolumnie, było w 6). Jak ktoś pamięta FORTRAN, to wie, jak to było bolesne.

Pozdrowienia, MKi

Reply to
MKi

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.