-
141. Data: 2016-08-20 14:52:07
Temat: Re: Pytanie do serwisantów.
Od: MiSter <U...@w...pl>
> No nie ale przez 5 lat od zakończenia produkcji powinien być support,
> jak to nazwałem "części zamienne". Czy odpłatne czy nie to inna sprawa
> ale nie było niczego.
>
Oględnie mówiąc przesadzasz. Pamiętasz jakie w tamtym czasie były realia
odnośnie dostępu do dokumentacji?? Zdobycie manuala do scalaka trwało
tygodniami.
Miałem programatory konkurencji z innego zakątku Polski i też w pewnym
czasie zaczęły się problemy, producent oświadczył, że nie będzie tego
wspierał i co ? mówi się trudno i żyje się dalej.
Kupiłem ALL-cośtam, długo mi służył, ale zdaje się również już nie jest
wspierany przez producenta, ale na szczęście już nie mam potrzeby
używania takiego programatora.
A tak przy okazji: mam maszynę za kilkaset tyś. PLN która chodzi tylko
pod XP.Maszyna zakupiona kilka lat temu.
Wszelkie próby przejścia na inny system kończą się niepowodzeniem,
Zdanie producenta pytanego jeszcze w czasie gwarancji było takie: soft
ma chodzić na XP tak jak było w specyfikacji kupna, upgrate na inne
systemy nie jest planowane. I co ? mówi się trudno i żyje się dalej.
MiSter
-
142. Data: 2016-08-20 15:16:42
Temat: Re: Pytanie do serwisantów.
Od: Piotr Gałka <p...@c...pl>
Użytkownik "Sebastian Biały" <h...@p...onet.pl> napisał w wiadomości
news:np9f6b$uuk$1@node1.news.atman.pl...
>
> https://support.mozilla.org/pl/kb/migracja-poczty-do
-thunderbirda#w_migracja-z-programu-outlook-2007-do-
thunderbirda
>
Dzięki. A nuż dzisiaj w domu uda mi się do tego przymierzyć. Ale wątpię.
> Pobierz wersję Visual Studio dla XP. Bedzie to prawdopodobnie express
> 2010, wymaga XP z SP3:
>
> http://stackoverflow.com/questions/16663475/working-
in-visual-studio-2010-on-windows-xp
>
> http://download.microsoft.com/download/1/E/5/1E5F1C0
A-0D5B-426A-A603-1798B951DDAE/VS2010Express1.iso
>
Dzięki.
> Nie, jest o wiele więcej. Przy czym zaznaczam że c# jest dokładnie tak
> samo łatwy jak Java. Z uwagi na to że MS przegrywa od 10 lat wszystkie
> rynki zastanów się dobrze czy aby na pewno chcesz uczyć sie języka w wadą
> "vendor lock-in". Ci co mysleli że C# bedzie przyszłością mobile od kilku
> miesięcy uczą się Javy po ciemku ze wstydu.
>
Ja nie do mobilnych (nie wiem co ma mobilne z C#).
Opiszę o co biega to może mi powiesz, że kombinuję jak koń pod górkę.
Mieliśmy w okolicy 1995..97 taki pomysł - my robimy to co umiemy - czyli
sprzęt (kontroli dostępu), a inni robią to co oni umieją czyli
oprogramowanie, ale żadna firma informatyczna pytana na Infosystemie nie
była zainteresowana więc pomysł upadł. W ostatnich latach kilka firm
odezwało się do nas z pytaniem o system, którym mogliby sobie zarządzać.
Cieszę się że nasz pomysł po 20 latach ma szansę na realizację.
Napisałem (Builder 2010) przykład komunikacji (Ethernet) z naszymi
urządzeniami. Przykład ma na celu przede wszystkim rozebranie bajt po bajcie
zastosowanej kryptologii i formatu ramek (w tym moje źródła dla AES, CMAC,
SHA, CRC), a nie pokazanie jak należy zorganizować komunikację serwera z
wieloma urządzeniami bo nie czuję się kompetentny.
Miesiąc temu prowadziłem intensywną korespondencję z programistami
wdrażającymi tę komunikację w jednej z firm (ktoś im nawalił i nagła
decyzja, że wstawiają nasze urządzenia na dwa tygodnie przed odbiorem
obiektu).
Wyszło, że oni wszystko w C# i najchętniej kupiliby od kogoś kto już to
zrobił biblioteki. Jednym z problemów z którym walczyli był błąd przy
przetłumaczeniu mojego crc na C#. Zakładam, że to stres i pośpiech. Gość mi
pisze, abym odpalił jego program pod C# i sobie sprawdził, a ja nie wiem co
to C#. Ale nie musiałem odpalać, mimo, że nie znam C# od razu pokazałem,
gdzie jest błąd.
Więc pomyślałem sobie, że może C# jest bardziej popularny wśród takich firm
niż C++ i jakbym (dla następnych) miał przykład (a może kiedyś biblioteki) w
C# to nie byłoby głupie.
Dobrze kombinuję, czy to wdeptywanie w problemy?
Czy Javę to też tak sobie mogę gdzieś pobrać zainstalować i jakoś do "Hello
World" - a dojść.
Czy mogę na priv trochę Cię pomęczyć z tematów które na pewno masz w małym
paluszku, a ja po prostu co nieco wiem, ale mam wątpliwości?
>> Generalnie nie miewam potrzeby odpalania jakichś programów dla
>> elektroników.
>
> Więc perdyliard minus kilkaset.
>
Genialna odpowiedź :-)))).
>>> Instalujesz. Masz XP (w dodatku z mozliwością robienia snapshotow).
>> No i język którego nie rozumiem.
>
> Możesz zamrozić system w dowolnym momencie a nastepnie go od tego stanu
> odpalić.
Nie wiem skąd się taka nazwa wzięła. jakby było jakieś systemfrost to bym
intuicyjnie łapał.
> Powoduje to zerowy czas oczekiwania na ładowanie. Czasem się przydaje przy
> destrukcyjnych zabawach z gatunku "co się stanie jak usunę ten plik
> systemowy?" albo "czy ten sterownik profilica spowoduje blue screena?".
Przez moją głupotę usunąłem pliki systemowe i od tej pory (rok temu) Windows
XP (w domu) codziennie chce mi wgrać 19 poprawek i mu się nie udaje.
Zapchał mi cały C jakimiś śmieciami i chciał odmówić dalszej pracy, ale
namierzyłem te śmieci i odzyskałem 30G więc kupiłem chwilę spokoju.
P.G.
-
143. Data: 2016-08-20 15:36:29
Temat: Re: Pytanie do serwisantów.
Od: Sebastian Biały <h...@p...onet.pl>
On 2016-08-20 15:16, Piotr Gałka wrote:
> zrobił biblioteki. Jednym z problemów z którym walczyli był błąd przy
> przetłumaczeniu mojego crc na C#. Zakładam, że to stres i pośpiech. Gość
> mi pisze, abym odpalił jego program pod C# i sobie sprawdził, a ja nie
> wiem co to C#. Ale nie musiałem odpalać, mimo, że nie znam C# od razu
> pokazałem, gdzie jest błąd.
Niech napiszą unit testy i wtedy można rozmawiać o tym gdzie mają błąd i
co nie tak.
> Więc pomyślałem sobie, że może C# jest bardziej popularny wśród takich
> firm niż C++ i jakbym (dla następnych) miał przykład (a może kiedyś
> biblioteki) w C# to nie byłoby głupie.
Ani jest ani nie jest. Zazwyczaj firmy nie wybierają jezyka
programowania na podstawie czysto technicznej. najczesciej albo mają
zespół jakiśtam o okreslonym doświadczeniu albo mają corncoba który
uważa że wszystko da się zrobić w Prologu czy innym Cobolu. Nie
podejrzewałbym że decyzja była czysto techniczna w tym przypadku.
> Dobrze kombinuję, czy to wdeptywanie w problemy?
To nie twój problem tylko firmy. Wiele firm ma obecnie problem z faktem
że nie wiadomo co dalej z C# i Windowsem w perspektywie lifetime
produktu. Jak znowu zatrudnią Balmera to może trzeba bedzie uciekać
gdziebądź.
> Czy Javę to też tak sobie mogę gdzieś pobrać zainstalować i jakoś do
> "Hello World" - a dojść.
Tak. Najlepiej pobierz Netbeans + SDK javy w jednej paczce, jest
zdecydowanie bardziej przyjazny niż Eclipse. Tak z Javy można
komunikować się z COM co załatwie 98% problemów świata elektroniki.
netbeans ma oczywiście od groma przykładów. Tylko po co Ci java? jak już
masz cie w czymś ćwiczyć to może najzwyczajniej Pythona?
> Czy mogę na priv trochę Cię pomęczyć z tematów które na pewno masz w
> małym paluszku, a ja po prostu co nieco wiem, ale mam wątpliwości?
A męcz. Na codzień programuje dziwne rzeczy i niewiele mnie zdziwi. C#
traktuje jednak jak powietrze.
>> Możesz zamrozić system w dowolnym momencie a nastepnie go od tego
>> stanu odpalić.
> Nie wiem skąd się taka nazwa wzięła. jakby było jakieś systemfrost to
> bym intuicyjnie łapał.
Używana od wiekow. Nie wiem skąd pochodzi.
-
144. Data: 2016-08-20 16:17:02
Temat: Re: Pytanie do serwisantów.
Od: bat <b...@m...com>
On 20.08.2016 13:12, Piotr Gałka wrote:
>
> Użytkownik "Sebastian Biały" <h...@p...onet.pl> napisał w wiadomości
> news:np9a62$pqe$1@node1.news.atman.pl...
Szkoda, że tak najechałem na Ciebie, bo bibliotekę w C# bym Ci zrobił.
Ja to robię na codzień :-)
By sobie chłopcy dodali ją do references i i już :-) Były by wątki,
zdarzenia...
-
145. Data: 2016-08-20 16:26:02
Temat: Re: Pytanie do serwisantów.
Od: Mario <M...@...pl>
W dniu 20.08.2016 o 15:16, Piotr Gałka pisze:
>> Możesz zamrozić system w dowolnym momencie a nastepnie go od tego
>> stanu odpalić.
> Nie wiem skąd się taka nazwa wzięła. jakby było jakieś systemfrost to
> bym intuicyjnie łapał.
Wirtualny XP na Win 7 to jest plik z obrazem systemu (np Windows XP
Mode.vhd), który jest otwierany przez menadżer maszyn wirtualnych.
Wystarczy, że sobie skopiujesz ten plik pod inną nazwą i masz zamrożony.
Jak ci się rozwali ten XP to masz zapisaną ostatnią dobrze
skonfigurowaną wersję. Coś jak robienie obrazu systemu, tylko nie musisz
go robić bo ten obraz już masz.
--
pozdrawiam
MD
-
146. Data: 2016-08-22 10:33:05
Temat: Re: Pytanie do serwisantów.
Od: Piotr Gałka <p...@c...pl>
Użytkownik "bat" <b...@m...com> napisał w wiadomości
news:np9oov$av7$1@gioia.aioe.org...
> On 20.08.2016 13:12, Piotr Gałka wrote:
>>
>> Użytkownik "Sebastian Biały" <h...@p...onet.pl> napisał w wiadomości
>> news:np9a62$pqe$1@node1.news.atman.pl...
>
> Szkoda, że tak najechałem na Ciebie, bo bibliotekę w C# bym Ci zrobił.
> Ja to robię na codzień :-)
> By sobie chłopcy dodali ją do references i i już :-) Były by wątki,
> zdarzenia...
Ja jestem dziwny, niedzisiejszy, niedostosowany itd.
Jak coś potrzebuję to przede wszystkim chcę zrozumieć to od podstaw, a nie
użyć gotowca (tak mam od dziecka i się chyba z tego nie wyleczę).
Chcieliśmy z bratem zajmować się elektroniką to najpierw zrobiliśmy sobie
programator (wyszedł z tego Piccolo).
Jak na początku lat 90-tych nie pasowały nam dostępne assemblery na 51-kę to
napisałem assembler, który potem udostępniłem i wychodzi, że jest nadal
używany, skoro pół roku temu go dopasowywałem (na macanego) do Windowsa 10.
.....
Jak potrzebowaliśmy kryptologię to sam sobie napisałem DESa, AESa, CMAC,
HMAC, MDA, SHA (na pewno nie optymalnie, ale za to czytelnie). Przy okazji
przyczyniłem się do rozwoju świata :) bo udało mi się zrobić błąd (chyba w
HMAC), którego nie wyłapywały wektory testowe. Napisałem do NIST i dołożyli
kilka dodatkowych wektorów, które już łapią ten błąd.
Mimo, że mam świadomość mojej odmienności to łapię się na tym, że zapominam,
że inni są inni. Dlatego bardzo mnie dziwiło, że ci ludzie co mieli na
szybko oprogramować nasze urządzenia nie wzięli moich procedur AES,CMAC,CTR
(wszystko razem tylko 270 linijek w pliku cpp) tylko korzystali z jakiejś
ogromnej biblioteki i (metodą prób i błędów) ustawiali tam jakieś parametry,
aby się zgodziło.
Jak gość miał do zaszyfrowania 3,5 bloku to mu wyszło, że 3 bloki ok, ale ta
końcówka już nie tak. Akurat zalogowałem się w domu i mnie na Skype złapał
po północy i chyba prawie do drugiej trwało. Próbowałem mu wytłumaczyć jak
działa CTR i że tam, gdzie on (z tego co rozumiałem) coś przestawia to nie
ma żadnych szans, ale miałem wrażenie, że wszystko co napiszę to w ogóle nie
trafia (jakby nie czytał). Dopiero za trzecim razem jak napisałem, że ma
koniecznie sprawdzić to co robił na początku to odkrył, że źle podał rozmiar
i szyfrowały się 3 bloki a dalej były śmieci, a nie błędnie zaszyfrowane
rzeczy jak on zakładał.
Dla mnie to inny świat. Czy wszyscy piszący programy tak działają? Ten gość
w ogóle nie rozumiał jak działa tryb licznikowy (CTR), i nawet nie próbował
zrozumieć, co mu tłumaczę, co eliminowało natychmiast kilka kierunków
poszukiwania błędu którymi on akurat podążał. Wiem, że działał pod wielkim
stresem, bo ma być na wczoraj, ale i tak się dziwiłem.
Dlatego, moją obecną ambicją nie jest aby ktoś mi napisał biblioteki C#, ale
abym ja ogarnął potrzebną wiedzę i sam to zrobił.
Zakładam, że nie jesteś skłonny wypisać w kilku punktach podstawowych
informacji niezbędnych dla kogoś, kto:
- nigdy nie pisał w C#,
- nigdy nie napisał żadnej biblioteki,
- nigdy samodzielnie nie użył obcej biblioteki,
a właśnie chciałby poznać C# i docelowo napisać bibliotekę.
P.G.
-
147. Data: 2016-08-22 12:32:34
Temat: Re: Pytanie do serwisantów.
Od: Piotr Gałka <p...@c...pl>
Użytkownik "Sebastian Biały" <h...@p...onet.pl> napisał w wiadomości
news:np9mdg$6ck$1@node1.news.atman.pl...
>
> Niech napiszą unit testy i wtedy można rozmawiać o tym gdzie mają błąd i
> co nie tak.
>
Nie wiem co to unit testy - nie wiem czy to pojęcie miałoby zastosowanie w
tym przypadku.
Problem był na bardzo początkowym etapie.
Urządzenie wysyła do nich ramkę (z liczbą losową w celu ustalenia klucza
sesji), oni odpowiadają i urządzenie już nie odpowiada.
Podejrzewałem błąd w kryptologii, bo w tej pierwszej ramce jeszcze jej nie
ma, a w tej co odpowiadają już ma być, a nie przyszło mi do głowy, że nie
sprawdzili, czy ich procedura crc zgadza się z crc z tej pierwszej ramki.
Dla mnie oczywista, oczywistość jako pierwszy krok sprawdzania czegokolwiek.
> Nie podejrzewałbym że decyzja była czysto techniczna w tym przypadku.
O podłożu decyzji wiem tyle: "Nie pamiętam już C++ bo od kilkunastu lat
piszę w C#."
Czy jakby decyzja miała być czysto techniczna to uważałbyś, że wybór C# jest
nie za bardzo?
>> Dobrze kombinuję, czy to wdeptywanie w problemy?
>
> To nie twój problem tylko firmy.
Masz na myśli tamtą firmę, czy naszą? My chcemy dostarczać ludziom jak
najbardziej przydatne im informacje, ale nie przekraczając swojego poziomu
kompetencji.
> Wiele firm ma obecnie problem z faktem że nie wiadomo co dalej z C# i
> Windowsem w perspektywie lifetime produktu. Jak znowu zatrudnią Balmera to
> może trzeba bedzie uciekać gdziebądź.
Czyli w sumie mam odpowiedź na pytanie zadane przed chwilą.
>> Czy Javę to też tak sobie mogę gdzieś pobrać zainstalować i jakoś do
>> "Hello World" - a dojść.
>
> Tak. Najlepiej pobierz Netbeans + SDK javy w jednej paczce, jest
> zdecydowanie bardziej przyjazny niż Eclipse. Tak z Javy można komunikować
> się z COM co załatwie 98% problemów świata elektroniki.
Komunikowanie się z COM zostawię sobie dla C++ :).
Planowałem zainteresować się C# bo zrozumiałem (bardzo pobieżny ogląd
internetu), że jakby w języku już są zintegrowane kwestie komunikacji z
innymi komputerami (dobrze podejrzewam, czy się mylę ?). Uznałem, że to może
być powód dla którego takie firmy jak ta ostatnio wybrały właśnie ten język.
Ja do tego przykładu użyłem jednego obiektu z biblioteki dostarczonej razem
z Builderem 2010, ale słyszałem, że nie za bardzo jest ona optymalna, więc
zakładałem, że prawdziwi programiści obsługują TCPIP bezpośrednio funkcjami
systemu operacyjnego (czego ja nie ogarniam).
Jeśli jest język, który ma to w sobie to pomyślałem, że przykład w nim
będzie jednoznaczny bo nie będzie żadnej jakiejś biblioteki, którą akurat ja
użyłem.
Jak mi napisałeś, że C# należy podejrzewać o wymarcie to pomyślałem, że może
Java. Jakieś książki o Javie kupiłem kilkanaście lat temu, ale nie
przeczytałem.
> netbeans ma oczywiście od groma przykładów. Tylko po co Ci java? jak już
> masz cie w czymś ćwiczyć to może najzwyczajniej Pythona?
>
O Phytonie wiem tylko tyle, że słyszałem kiedyś tę nazwę. Rozumiem, że to
jakiś język :)
Jak zapytam, czy Phytona mogę sobie gdzieś pobrać i zainstalować to mi
napiszesz gdzie i jak a potem dodasz: Tylko po co ci Phyton, może już
lepiej.....
Tak będzie? :)
P.G.
-
148. Data: 2016-08-22 17:38:23
Temat: Re: Pytanie do serwisantów.
Od: k...@g...com
W dniu poniedziałek, 22 sierpnia 2016 12:32:30 UTC+2 użytkownik Piotr Gałka napisał:
> >> Czy Javę to też tak sobie mogę gdzieś pobrać zainstalować i jakoś do
> >> "Hello World" - a dojść.
Słuchaj, jesteśmy w niesamowicie komfortowej sytuacji w porównaniu do
lat dziewięćdziesiątych:
1. 95% narzędzi dla programisty jest zupełnie darmowych.
2. Miliardy linii kodu różnych bibliotek do praktycznie wszystkiego
dostępne na wyciągnięcie ręki jako open source z pełna dokumentacją.
3. Strony typu stackoverflow.com zawierają odpowiedzi na większość
problemów, które możesz spotkać po drodze, bo zwykle jeżeli coś
nie działa, to komuś wcześniej też nie działało, a jeśli nie, to
pewnie ktoś coś podpowie.
4. Wpisując do google nazwę języka programowania w 5 minut znajdziesz
kompilator, IDE, dokumentację i listę odnośników z materiałami
do nauki. Nie trzeba się użerać z jakimiś arcydziełami pana
Bieleckiego kupionymi za ciężkie pieniądze.
> Komunikowanie się z COM zostawię sobie dla C++ :).
Dlaczego? Używając Javy i jej bibliotek standardowych załatwiasz
np. przenośność kodu na różne platformy na dzień dobry bez
większego myślenia - wszystkie brzydkie kawałki zależne od platformy
już ktoś napisał. Należy pisać kod najbardziej wysokopoziomowo,
na ile tylko jesteśmy w stanie sobie pozwolić.
> Planowałem zainteresować się C# bo zrozumiałem (bardzo pobieżny ogląd
> internetu), że jakby w języku już są zintegrowane kwestie komunikacji z
> innymi komputerami (dobrze podejrzewam, czy się mylę ?). Uznałem, że to może
> być powód dla którego takie firmy jak ta ostatnio wybrały właśnie ten język.
Powodów jest dużo:
1. C# jest de facto standardem jeżeli chodzi o aplikacje desktopowe
pod Windows. Od okolic Windows Vista (czyli od 9 lat) biblioteki
interfejsu użytkownika praktycznie wymuszają używanie czegoś
z .NET i Microsoft propaguje podejście "pisz w C#/VB.NET/itp.,
a jeśli bardzo potrzebujesz użyć czegoś w C++/innym języku
kompilowanym, to napisz osobną bibliotekę i wołaj ją z C#".
2. To bardzo przyzwoity język obiektowy, Microsoft poczekał, aż
Java przeżyje swoje choroby wieku dziecięcego i zrobił swój
odpowiednik.
3. Ekosystem Microsoftu - ichni SQL server i tak dalej.
Akurat każdy współcześnie używany język programowania ma sensowne
API sieciowe (inaczej nikt by go nie używał), więc to akurat
nie jest argument za konkretnie C#.
> Ja do tego przykładu użyłem jednego obiektu z biblioteki dostarczonej razem
> z Builderem 2010, ale słyszałem, że nie za bardzo jest ona optymalna, więc
> zakładałem, że prawdziwi programiści obsługują TCPIP bezpośrednio funkcjami
> systemu operacyjnego (czego ja nie ogarniam).
Prawdziwi programiści nie wymyślają koła od nowa, jak ktoś Ci opowiada
o aplikacji sieciowej pisanej na gołych socketach to raczej należy
uciekać na najbliższe drzewo.
> Jeśli jest język, który ma to w sobie to pomyślałem, że przykład w nim
> będzie jednoznaczny bo nie będzie żadnej jakiejś biblioteki, którą akurat ja
> użyłem.
> Jak mi napisałeś, że C# należy podejrzewać o wymarcie to pomyślałem, że może
> Java. Jakieś książki o Javie kupiłem kilkanaście lat temu, ale nie
> przeczytałem.
Lepiej ich nie ruszaj, bo po parunastu latach rozwoju języka nadają się
głównie jako ciekawostka historyczna bądź pomocnik BHPowca-amatora, jeżeli
monitor stoi za nisko na biurku. Oczywiście Java jest kompatybilna wstecznie
i jeśli chcesz, możesz używać wszystkich antycznych części języka
(np. biblioteka AWT do interfejsu użytkownika czy "stara" obsługa plików),
ale nie wszystko od początku było zrobione dobrze i dużo łatwiej
(i bardziej elegancko) jest użyć nowszych rzeczy.
>
> > netbeans ma oczywiście od groma przykładów. Tylko po co Ci java? jak już
> > masz cie w czymś ćwiczyć to może najzwyczajniej Pythona?
> >
> O Phytonie wiem tylko tyle, że słyszałem kiedyś tę nazwę. Rozumiem, że to
> jakiś język :)
Python to taki współczesny Basic, prosty, elegancki, z dużą ilością
pożytecznych bibliotek i często używany np. jako język skryptowy,
ale duże aplikacje też się udaje w tym pisać.
Wchodzisz na www.python.org, instalujesz (chyba kilkadziesiąt megabajtów),
odpalasz, działa. Na WWW jest więcej dokumentacji, tutoriali i innych
materiałów dla początkujących i zaawansowanych, niż jesteś fizycznie
w stanie przeczytać przez całe życie.
Jest dość popularny w elektronice do drobnych czynności, bo ma np.
łatwe w obsłudze biblioteki numeryczne, czy do komunikacji ze
sprzętem pomiarowym (np. PyVISA - https://pyvisa.readthedocs.io/).
Pozdrawiam,
--
Karol Piotrowski
-
149. Data: 2016-08-22 18:17:24
Temat: Re: Pytanie do serwisantów.
Od: Sebastian Biały <h...@p...onet.pl>
On 2016-08-22 12:32, Piotr Gałka wrote:
> Nie wiem co to unit testy - nie wiem czy to pojęcie miałoby zastosowanie
> w tym przypadku.
Scenariusze które pokazują że dla takich danych wejściwych funckja ma
dać takie dane wyjściowe. Przykład liczenia CRC jest wręcz ksiązkowym
problemem dla unit testów. Unit testy są zywym kodem który mozna
uruchomic i debugować jeśli coś nie działa.
> Urządzenie wysyła do nich ramkę (z liczbą losową w celu ustalenia klucza
> sesji), oni odpowiadają i urządzenie już nie odpowiada.
Nalezy w takiej sytuacji napisać unit testy które emulują urządzenie
(tzw. mocki). Oczywiście zdaje sobie sprawę że to jest mało sensowna
rada ponieważ zazwyczaj kod 3-rd party jest żenujacej jakości i unit
testów nie da się na nim odpalić. Nie zmienia to jednak faktu że tak to
należy zrobić książkowo. Czy Twój kod taki jest - nie wiem. Spodziewam
się że nie skoro prosza o pomoc kogoś z drugiej strony.
> Podejrzewałem błąd w kryptologii, bo w tej pierwszej ramce jeszcze jej
> nie ma, a w tej co odpowiadają już ma być, a nie przyszło mi do głowy,
> że nie sprawdzili, czy ich procedura crc zgadza się z crc z tej
> pierwszej ramki. Dla mnie oczywista, oczywistość jako pierwszy krok
> sprawdzania czegokolwiek.
Ale dlaczego podejrzewasz - jesli Twoje urządzenie prawidlowo odpowada
na ciąg przez nich wysyłany to dlaczego masz to diagnozować? Niech sobie
napiszą emulator/mock i testują u siebie.
>> Nie podejrzewałbym że decyzja była czysto techniczna w tym przypadku.
> O podłożu decyzji wiem tyle: "Nie pamiętam już C++ bo od kilkunastu lat
> piszę w C#."
> Czy jakby decyzja miała być czysto techniczna to uważałbyś, że wybór C#
> jest nie za bardzo?
Prawie nigdy decyzja o wyborze języka nie jest oparta o merytoryczne
przeslanki. Zazwyczaj jest tam corncob który arbitralnie narzuca
rozwiązania. Zazwyczaj nie pasujące do problemu lub uniwersalne czyli
kiepskie.
> Masz na myśli tamtą firmę, czy naszą? My chcemy dostarczać ludziom jak
> najbardziej przydatne im informacje, ale nie przekraczając swojego
> poziomu kompetencji.
Dostarczasz dokumentacje. Zadaniem firmy softwareowej która implementuje
ten protokół jest napisać unit testy które są zgodne z ta dokumentacją.
Nie zrobili tego zapewne. Jesli hardwareowiec dostaje jakiś kod po kimś
z prosba o sprawdzenie to jest coś mocno popsute w całym procesie
tworzenia softu. Wiem ze nie rozwiązuje tutaj problemu ale pokazuje
gdzie jest prawdopodobny problem przy nastepnych iteracjach.
> Planowałem zainteresować się C# bo zrozumiałem (bardzo pobieżny ogląd
> internetu), że jakby w języku już są zintegrowane kwestie komunikacji z
> innymi komputerami (dobrze podejrzewam, czy się mylę ?).
Nic specjalnie lepszego w nim nie ma względem innych.
> Uznałem, że to
> może być powód dla którego takie firmy jak ta ostatnio wybrały właśnie
> ten język.
Nie, one go wybrały bo:
a) Microsoft nie może się mylić
b) developer C# jest tańszy choć głupszy
c) manager kupił ksiązkę gdzi enapisali że C# przyspiesza developing o 70%
d) itd...
> Ja do tego przykładu użyłem jednego obiektu z biblioteki dostarczonej
> razem z Builderem 2010, ale słyszałem, że nie za bardzo jest ona
> optymalna, więc zakładałem, że prawdziwi programiści obsługują TCPIP
> bezpośrednio funkcjami systemu operacyjnego (czego ja nie ogarniam).
Nie. Zdefiniuj wydajność. Każdą biblioteke mozna źle uzyć i narzekać na
wydajność. Builder ma swoje za uszami, ale że nie wyciąga w sieci ile
fabryka dała to nie uwierzę.
> Jak mi napisałeś, że C# należy podejrzewać o wymarcie
On nie wymrze. Stanie się tylko coraz bardziej niszowy. W końcu kilka
tysiecy firm zorientuje się że Win10 jest tylko na maluteńkim rynku
dekstopów a cała reszta jest nieosiągalna bez napisania na nowo bo c#
jest vendor lock-in a vendor właśnie tonie.
> O Phytonie wiem tylko tyle, że słyszałem kiedyś tę nazwę. Rozumiem, że
> to jakiś język :)
Polecany dla osób ktore chcą uzyskać efekt niskim kosztem.
> Jak zapytam, czy Phytona mogę sobie gdzieś pobrać i zainstalować to mi
> napiszesz gdzie i jak a potem dodasz: Tylko po co ci Phyton, może już
> lepiej.....
"Lepiej" zalezy od zastosowania i umiejętności. Poleciłbym Clojure gdyby
było dla niego zastosowanie. Tak samo Prologa. Wszystko zalezy od tego
co chcesz zrobić. jak nie wiesz to ... Python, Java, C#.
Jesli ktos napisał kod w C++ to nie dośc, że raczej nie masz wyboru
(C++) to jeszcze spedzisz kilka dni na kombinowaniu z kompatybilnoscią
ABI. Nic miłego.
-
150. Data: 2016-08-22 20:34:07
Temat: Re: Pytanie do serwisantów.
Od: Piotr Gałka <p...@c...pl>
Użytkownik "Sebastian Biały" <h...@p...onet.pl> napisał w wiadomości
news:npf8j8$qj8$1@node1.news.atman.pl...
> Scenariusze które pokazują że dla takich danych wejściwych funckja ma dać
> takie dane wyjściowe. Przykład liczenia CRC jest wręcz ksiązkowym
> problemem dla unit testów. Unit testy są zywym kodem który mozna uruchomic
> i debugować jeśli coś nie działa.
Ok rozumiem, ale oni napisali by te unit testy pod C# i chcieli abym ja to
odpalił, a ja nigdy nic z C# do tej pory.
A ja im dostarczyłem źródło tego crc w C++, tylko oni "Nie pamiętam C++" i
dostarczyłem też działający program, który nawiązywał komunikację z
urządzeniem i wypisywał na ekranie każdą ramkę w postaci samego rozkazu i
potem ujętego w zaszyfrowanej ramce i również każdą odebraną ramkę i
wyłuskany z niej rozkaz.
>
> Nalezy w takiej sytuacji napisać unit testy które emulują urządzenie (tzw.
> mocki). Oczywiście zdaje sobie sprawę że to jest mało sensowna rada
> ponieważ zazwyczaj kod 3-rd party jest żenujacej jakości i unit testów nie
> da się na nim odpalić.
Musiałbym kiedyś raz z kimś przez takie działanie przejść, abym mógł
powiedzieć że dokładnie rozumiem co masz na myśli. A tak to rozumiem tylko
mniej więcej.
> Nie zmienia to jednak faktu że tak to należy zrobić książkowo. Czy Twój
> kod taki jest - nie wiem. Spodziewam się że nie skoro prosza o pomoc kogoś
> z drugiej strony.
Mój program jakby mieli Buildera 2010 to po prostu mogliby go kompilować i
debuggować.
Nie do końca rozumiem, jak oceniasz jakość kodu. Moim celem było napisanie
działającego przykładu. Procedury celowo nie są uniwersalne, tylko dokładnie
do tego co jest w przykładzie potrzeba bo takie według mnie łatwiej
zrozumieć. Sposób sterowania komunikacją też absolutnie nie nadający się do
praktycznego zastosowania, ale taki, aby jednym rzutem oka było widać co się
po kolei dzieje.
Mogę Ci go wysłać do obejrzenia, ale nie wiem czy to ma sens i czy masz na
to czas.
> Ale dlaczego podejrzewasz - jesli Twoje urządzenie prawidlowo odpowada na
> ciąg przez nich wysyłany to dlaczego masz to diagnozować?
Nie zrozumiałeś. Komunikację rozpoczyna urządzenie wysyłając ramkę z liczbą
losową do serwera. Ramka ma crc, ale nie jest podpisana.
Serwer ma odpowiedzieć ramką z drugą liczbą losową i podpisem CMAC obu liczb
losowych.
Oni (serwer) wysyłali ramkę na którą nie dostawali już odpowiedzi - czyli
nie dostawali żadnej odpowiedzi na swoje działania.
Gość najpierw mi podesłał samą wysłaną przez nich ramkę abym sprawdził
dlaczego urządzenie nie odpowiada. Gdybym wpadł na to, że to może crc to bym
sprawdził, ale sądziłem, że crc to musieli przecież sprawdzić (bo mają tę
pierwszą ramkę) więc byłem absolutnie pewien, że błąd jest w CMAC i mu
napisałem, że muszę mieć też tę ramkę na którą on odpowiada abym znał liczbę
losową akurat z tej transmisji. Nie miałem gotowca, aby z tekstu (HEX)
odczytywać bajty (a sądziłem, że może będę to musiał wiele razy robić) więc
musiałem to napisać i się zdziwiłem, że CMAC mają dobry. No to sprawdziłem
jeszcze crc i napisałem, że tu mają błąd. Jak mi gość napisał (w liczbie
mnogiej), że oni przetłumaczyli moje źródło crc na C# i nie widzą błędu i mi
to w C# przysłał to w sumie wskazując błąd odpisałem, że "ręce człowiekowi
opadają".
Pewnym problemem jest to, że jak puszczą komunikację urządzenia z moim
programem to mają wszystko wypisane bajt po bajcie na ekranie (i w pliku
trace), ale jak próbują sami się komunikować to transmisja już jest inna, bo
urządzenie wyśle inną liczbę losową. Według mnie oni powinni (nie mając
Buildera) na podstawie mojego trace zobaczyć, czy wyjdzie im dokładnie taka
sama odpowiedź jak mój program odpowiadał. Ale oni jakoś tak woleli do
wszystkiego podchodzić chaotycznie i metodą prób i błędów.
> Niech sobie napiszą emulator/mock i testują u siebie.
Zależy nam zawsze aby pomóc (szczególnie jak wiemy, że mają nóż na gardle -
bo ten obiekt jakoś miał coś z funduszami unijnymi i odbiór nie mógł być
opóźniany bo coś tam) więc nawet jak uważałem, że to nie powinien być mój
problem to starałem się pomóc ile potrafię.
>> Masz na myśli tamtą firmę, czy naszą? My chcemy dostarczać ludziom jak
>> najbardziej przydatne im informacje, ale nie przekraczając swojego
>> poziomu kompetencji.
>
> Dostarczasz dokumentacje. Zadaniem firmy softwareowej która implementuje
> ten protokół jest napisać unit testy które są zgodne z ta dokumentacją.
> Nie zrobili tego zapewne.
Na pewno nie zrobili bo od dostarczenia dokumentacji (kilkadziesiąt stron)
to tych prób minął jeden dzień. Wyjątkowa sytuacja.
>> Ja do tego przykładu użyłem jednego obiektu z biblioteki dostarczonej
>> razem z Builderem 2010, ale słyszałem, że nie za bardzo jest ona
>> optymalna, więc zakładałem, że prawdziwi programiści obsługują TCPIP
>> bezpośrednio funkcjami systemu operacyjnego (czego ja nie ogarniam).
>
> Nie. Zdefiniuj wydajność. Każdą biblioteke mozna źle uzyć i narzekać na
> wydajność. Builder ma swoje za uszami, ale że nie wyciąga w sieci ile
> fabryka dała to nie uwierzę.
To jest biblioteka INDY, napisana przez kogoś innego i dołączona do
Buildera.
Opinię usłyszałem od kogoś, kto orientuje się w tych tematach znacznie
lepiej ode mnie, ale dokładnie co i jak to nie powiem.
> "Lepiej" zalezy od zastosowania i umiejętności. Poleciłbym Clojure gdyby
> było dla niego zastosowanie. Tak samo Prologa. Wszystko zalezy od tego co
> chcesz zrobić. jak nie wiesz to ... Python, Java, C#.
Gdy poznawałem Prologa to akurat miałem potrzebę napisania assemblera 51-ki
więc pierwsza wersja mojego assemblera była w Prologu i to jest chyba
przykład najgorszego dobrania narzędzia do celu :).
Potem napisałem wszystko od nowa, a o Prologu zapomniałem całkiem.
P.G.