Favore.plForumKomputery, Internet, telefony

Odzyskiwanie hasła do kont Facebook, Messenger itp

FORA TEMATYCZNE
NAJNOWSZE DYSKUSJE
OSTATNIO POPULARNE
PROMOWANE USŁUGI



Dodaj zlecenie

Odzyskiwanie hasła do kont Facebook, Messenger itp

Login Hasło ZalogujNie masz konta?   Zarejestruj sięObserwuj
  • DobryAnakin 16 lis 2024, 12:54     (ostatnio zmieniony przez autora 11 gru 2024, 22:14, w całości zmieniany 4 razy)
    Usługi informatyczne – usługi związane ze sprzętem komputerowym i oprogramowaniem oraz usługi przetwarzania danych. Kategoria ta obejmuje również usługi konsultacyjne i wdrożeniowe w odniesieniu do sprzętu komputerowego i oprogramowania, konserwację i naprawę komputerów oraz urządzeń peryferyjnych, usługi odzyskiwania danych w przypadku awarii, zapewnianie doradztwa i pomocy w sprawach związanych z zarządzaniem zasobami komputerowymi, analizę, projektowanie i programowanie gotowych systemów (łącznie z opracowywaniem i projektowaniem stron internetowych), oraz konsultacje techniczne związane z oprogramowaniem, licencje na używanie oprogramowania produkowanego seryjnie, opracowywanie, wytwarzanie, dostawę i dokumentację oprogramowania dostosowanego do indywidualnych potrzeb, łącznie z systemami operacyjnymi wykonanymi na zamówienie dla poszczególnych użytkowników, konserwację systemów i inne usługi wsparcia, takie jak szkolenie oferowane w ramach usług konsultacyjnych, usługi przetwarzania danych, takie jak wprowadzanie danych, tworzenie tabel i przetwarzanie na zasadzie współużytkowania (time-sharing), usługi administrowania serwerem internetowym (np. dostarczanie miejsca na serwerze internetowym do zamieszczania stron internetowych klienta); zarządzanie urządzeniami komputerowym.

    Slang internetowy – slang tworzony i wykorzystywany przez użytkowników Internetu. Ułatwia i przyspiesza komunikację poprzez zmniejszanie liczby pisanych znaków.

    W slangu internetowym stosuje się akronimy wyrażeń, przede wszystkim pochodzące z języka angielskiego (np. ASAP – as soon as possible – tak szybko jak możliwe; LOL – laughing out loud[1][2][3] – śmieję się na głos; IMHO – in my humble opinion – moim skromnym zdaniem), emotikony, pisownię fonetyczną (np. CU/CYA – ang. see you – do zobaczenia), pseudoznaczniki języka HTML bądź BBCode (np. <ironia>...</ironia>), składnię języków programowania (głównie języka C) oraz hack-mowę (ang. leetspeak).

    Slang internetowy stosowany jest w komunikacji internetowej: na czatach internetowych, forach dyskusyjnych, IRC-u, w poczcie elektronicznej i komunikatorach internetowych. Nowi, niedoświadczeni użytkownicy często mają problemy ze zrozumieniem wyrażeń slangowych, bo – podobnie jak inne żargony – może stwarzać wrażenie wtajemniczenia. Slangowi internetowemu poświęcono również podręczniki[4].

    Przykłady
    AFK (away from keyboard) – dosłownie oznacza osobę znajdującą się daleko od klawiatury, w slangu internetowym oznacza „zaraz wracam"
    BRB (be right back) – oznacza „zaraz wracam”.
    BTW (by the way) – oznacza „swoją drogą”, „przy okazji”; używane podczas zbaczania z tematu dyskusji.
    EOT (end of topic, „koniec tematu”, lub end of thread, „koniec wątku”) – nieuprzejme zakończenie rozmowy
    IDK (I don't know) – nie wiem
    IMHO (in my humble opinion lub in my honest opinion) – oznacza „moim skromnym zdaniem”. Ma takie samo znaczenie jak IMO.
    IMO (in my opinion) – oznacza „moim zdaniem”, „według mnie”.
    LOL (laughing out loud lub laugh out loud[5], „śmieję się na głos”, albo lots of laugh, „mnóstwo śmiechu”) – oznacza rozbawienie.
    NVM (nevermind) - nieważne.
    OMG (oh, my God) – oznacza dosłownie „o mój Boże”.
    ROTFL (rolling on the floor laughing) – oznacza „tarzać się po podłodze ze śmiechu”.
    THX, THNX (thank you, thanks) – oznacza „dzięki”.
    YOLO (you only live once) – oznacza „żyje się tylko raz”.

    Crash (crash systemu) – sytuacja, w której program (aplikacja, system operacyjny) przestaje działać prawidłowo. Przeważnie po wystąpieniu tego typu błędu działanie programu zostanie zakończone. Rozważany program może sprawiać wrażenie zawieszonego, zanim zostanie odnotowany crash (i wszelkie potencjalne szczegóły z nim powiązane.) Jeśli program stanowi krytyczną część systemu operacyjnego, cały komputer może ulec crashowi, przez co często następuje krytyczny błąd systemu, lub błąd jądra. W niektórych przypadkach może nastąpić destabilizacja sieci.

    Wiele crashów jest rezultatem nieprawidłowego wykonania pojedynczej lub kilku instrukcji maszynowych. Typowa przyczyną jest sytuacja, w której licznik programu jest ustawiony na błędny adres lub przepełnienie bufora nadpisuje część kodu programu z powodu wcześniejszego błędu. W każdym z tych przypadków, CPU próbuje uzyskać dostęp do danych lub pamięci RAM. Ponieważ można wybrać wszystkie wartości danych, ale nie zawsze prawidłowych, często dochodzi do wywołania wyjątku niedozwolonej instrukcji.

    Istnieje szansa na to, że takie dane lub wartości losowe mogą być prawidłowymi (chociaż nieplanowanymi) instrukcjami. Pierwotny Problem Programu uważany jest za przyczynę awarii systemu, ale rzeczywista usterka może być, na przykład, niedozwoloną instrukcją. Proces debugowania takich awarii łączy rzeczywiste przyczyny katastrofy z kodem, który uruchomił całą sekwencję zdarzeń. Przeważnie nie jest to oczywiste; oryginalny błąd jest zazwyczaj całkowicie poprawnym kodem, „podanym” procesorowi.

    W starszych komputerach osobistych, można było doprowadzić do uszkodzenia sprzętu poprzez próby zapisu danych do adresów sprzętowych poza główną pamięcią systemu[1].

    Crash w aplikacjach

    Komputer na frankfurckim lotnisku, gdzie doszło do crashu programu działającego w Windows XP (z powodu naruszenia ochrony pamięci)
    Do crashu aplikacji dochodzi przeważnie w momencie, gdy wykonuje ona operację niedozwoloną w danym systemie operacyjnym. Wówczas system wywołuje wyjątek w tej aplikacji. Unixowe aplikacje zazwyczaj odpowiadają poprzez wykonywanie zrzutu rdzenia. Większość aplikacji posiadających graficzny interfejs w systemach Windows oraz Unix odpowiada poprzez wyświetlanie okna dialogowego (zob. grafika po prawej) z możliwością dołączenia debuggera jeżeli jest zainstalowany. Takie zachowanie programu określa się mianem „crashowania”. Niektóre programy próbują powrócić do pracy po wystąpieniu błędu, zamiast robić crash.

    Typowe błędy, w wyniku których dochodzi do crashu programów, to próby:

    odczytu/zapisu pamięci, która nie jest przydzielona w tym celu przez aplikację (naruszenie ochrony pamięci) lub przez specyfikację architektury x86 (ogólny błąd ochrony)
    wykonania nieprawidłowych lub uprzywilejowanych instrukcji
    wykonania operacji wejścia/wyjścia na urządzeniach sprzętu do których użytkownik nie ma dostępu
    przesyłania nieprawidłowych argumentów do wywołań systemowych
    uzyskania dostępu do innych zasobów systemowych, do których program nie ma dostępu (ang. bus error - błąd szyny)
    wykonania instrukcji maszynowych zawierających nieprawidłowe argumenty (zależne od architektury): dzielenie przez zero, operacje na liczbach zdenormalizowanych lub wartościach NaN itp.
    odwołania się do nieustawionych wskaźników w programach napisanych w C++.

    ęzyk programowania – zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje[1]. Teorią języków programowania w informatyce zajmuje się teoria języków formalnych.

    Wstęp
    Podobnie jak języki naturalne, język programowania składa się ze zbiorów reguł syntaktycznych oraz semantyki, które opisują, jak należy budować poprawne wyrażenia oraz jak komputer ma je rozumieć. Wiele języków programowania posiada pisemną specyfikację swojej składni oraz semantyki, lecz inne zdefiniowane są jedynie przez oficjalne implementacje.

    Język programowania pozwala na precyzyjny zapis algorytmów oraz innych zadań, jakie komputer ma wykonać. W niektórych pracach pojęcie języka programowania jest ograniczane wyłącznie do tych języków, w których można zapisać wszystkie istniejące algorytmy – od strony matematycznej oznacza to, że język musi być przynajmniej kompletny w sensie Turinga[2], jednak można się także spotkać z wykorzystaniem tego pojęcia na określenie również bardziej ograniczonych języków.

    Definicje
    Język programowania może być zdefiniowany ze względu na kilka cech:

    funkcja: język programowania służy do tworzenia programów komputerowych, których zadaniem jest przetwarzanie danych, wykonywanie obliczeń i algorytmów oraz kontrolowanie/obsługa zewnętrznych urządzeń, np. drukarek, robotów itd.
    przeznaczenie: języki naturalne służą do komunikacji między ludźmi, natomiast języki programowania umożliwiają wydawanie poleceń maszynom. Niektóre z języków są wykorzystywane również do kontrolowania jednego urządzenia przez inne. Przykładowo, program wykonywany na komputerze może wygenerować kod PostScript do sterowania pracą drukarki bądź wyświetlacza.
    konstrukcje składniowe: język programowania może zawierać konstrukcje składniowe do manipulowania strukturami danych oraz zarządzania przepływem sterowania.
    moc: teoria obliczeń klasyfikuje języki według rodzajów obliczeń, które można za ich pomocą zrealizować (hierarchia Chomskiego). We wszystkich językach zupełnych w sensie Turinga da się zaimplementować ten sam zbiór algorytmów. Przykładem często stosowanego języka niezupełnego jest SQL służący do komunikacji z bazą danych.
    Języki, w których nie da się realizować obliczeń (języki znaczników, jak HTML czy XML oraz gramatyki formalne, np. BNF), nie są uznawane za języki programowania.

    Przeznaczenie

    Memetyczna ewolucja niektórych języków programowania według deklaracji autorów lub oficjalnych specyfikacji
    Obecnie na świecie istnieją tysiące języków programowania i każdego roku powstają nowe. Od języków naturalnych odróżniają się wysoką precyzją oraz jednoznacznością. Człowiek podczas komunikacji między sobą stale popełnia niewielkie błędy lub pozostawia niedomówienia wiedząc, że drugi rozmówca najczęściej go zrozumie. Maszyny wykonują zadania dokładnie, dlatego każdą czynność trzeba opisać ściśle krok po kroku, ponieważ komputer nie potrafi dociec, co programista miał na myśli.

    Wiele języków zostało zaprojektowanych od zera, lecz powszechna jest praktyka rozwijania już istniejących rozwiązań oraz celowego upodabniania jednego języka do innego. Pozwala to na szybsze opanowanie nowego języka przez programistów mających już doświadczenie w tworzeniu aplikacji. Potrzeba istnienia wielu różnorodnych języków wynika z dużej liczby sytuacji, w których są one wykorzystywane – każda posiada pewne specyficzne wymagania:

    wielkość programów waha się od niedużych skryptów pisanych przez amatorów do potężnych aplikacji rozwijanych przez setki programistów
    doświadczenie użytkowników waha się od nowicjuszy lub programistów okazjonalnych wymagających przede wszystkim prostoty, do ekspertów potrafiących zrobić użytek z oferowanych możliwości
    tworzone programy muszą spełniać określone wymagania dotyczące szybkości, skalowalności oraz wielkości
    istniejące języki mogą być zbyt rozbudowane do pewnych zadań
    programy mogą nie zmieniać się z biegiem lat lub być poddawane stałym modyfikacjom
    programiści mają różne gusta – każdy z nich ma swój ulubiony język, w którym pisze mu się najwygodniej.
    Z tych powodów nie powiodły się do dziś próby stworzenia języka uniwersalnego.

    Obecnie panuje tendencja do tworzenia języków umożliwiających rozwiązywanie problemów na wyższym poziomie abstrakcji. Pierwsze języki programowania były mocno związane z konkretnym sprzętem. Z biegiem czasu wynalezione zostały nowe techniki tworzenia oprogramowania znacznie poprawiające przenośność oraz opracowane algorytmy pozwalające automatycznie realizować zadania, którymi dotąd musiał zajmować się programista. Skraca to czas tworzenia aplikacji i zmniejsza liczbę okazji do popełnienia błędu, lecz w niektórych sytuacjach odbija się to negatywnie na wydajności (np. język Java).

    Elementy języka

    Kolorowanie składni jest wykorzystywane w edytorach kodu do wizualnego różnicowania poszczególnych elementów składni, co ułatwia czytanie kodu. Ilustracja przedstawia pokolorowany kod w języku Python.
    Postać programu wyrażona w języku programowania określana jest jako kod źródłowy. Na język programowania składa się kilka elementów:

    Składnia
    Aby dany ciąg znaków mógł być rozpoznany jako program napisany w danym języku, musi spełniać pewne reguły, zwane składnią. Składnia opisuje:

    rodzaje dostępnych symboli
    zasady, według których symbole mogą być łączone w większe struktury.
    Składnia najczęściej opisywana jest w formalnym zapisie będącym połączeniem wyrażeń regularnych oraz notacji BNF lub EBNF. Poniżej przedstawiony jest przykład prostej gramatyki wzorowanej na języku Lisp:

    wyrazenie ::= atom | lista
    atom ::= liczba | symbol
    liczba ::= [+-]?['0'-'9']+
    symbol ::= ['A'-'Z''a'-'z'].*
    lista ::= '(' wyrazenie*')'
    Zapis ten określa wygląd i budowę kolejnych symboli:

    wyrażeniem nazwiemy atom i listę
    atomem nazwiemy każdą liczbę lub symbol
    liczbą nazwiemy ciąg cyfr, który może zaczynać się opcjonalnie od znaku + lub –
    symbolem nazwiemy dowolną sekwencję dużych i małych liter alfabetu łacińskiego
    listą nazwiemy parę nawiasów, w której może się znaleźć zero lub więcej wyrażeń.
    Przykładowe ciągi, które spełniają podane reguły składni to: „12345”, „()”, „(a b c232 (1))”.

    Zauważmy, że na etapie przetwarzania składni w ogóle nie jest brane pod uwagę znaczenie poszczególnych symboli. W praktyce kod poprawny składniowo nie musi być poprawny semantycznie. Występuje tu analogia do języków naturalnych. Zdanie „Łolopy się mucioszą” jest poprawne pod względem gramatycznym, lecz nie posiada żadnego znaczenia, ponieważ zostały w nim użyte nieistniejące słowa.

    Semantyka
    Semantyka języka programowania definiuje precyzyjnie znaczenie poszczególnych symboli oraz ich funkcję w programie. Semantykę najczęściej definiuje się słownie, ponieważ większość z jej zagadnień jest trudna lub wręcz niemożliwa do ujęcia w jakikolwiek formalizm. Część błędów semantycznych można wychwycić już w momencie wstępnego przetwarzania kodu programu, np. próbę odwołania się do nieistniejącej funkcji, lecz inne mogą ujawnić się dopiero w trakcie wykonywania.

    Typy danych
    Każdy język operuje na jakimś zestawie danych, dlatego niezbędne jest podzielenie danych na odpowiednie typy, zdefiniowanie ich właściwości oraz operacji, jakie można na nich realizować. Większość języków posiada typy danych do reprezentowania:

    liczb całkowitych w różnych zakresach
    liczb zmiennoprzecinkowych (reprezentacje liczb rzeczywistych o różnym stopniu dokładności)
    ciągów tekstowych.
    Od strony sprzętowej wszystkie te informacje wyrażane są za pomocą sekwencji zer i jedynek. Język programowania nakłada jedynie odpowiednie ograniczenia i zasady ich przetwarzania. Zjawisko konwersji wartości jednego typu na inną nazywa się rzutowaniem.

    Biblioteki standardowe
    Dla większości języków zdefiniowana jest także biblioteka standardowa zawierająca podstawowy zestaw funkcji pozwalających realizować wszystkie najważniejsze operacje, np.:

    obsługę wejścia-wyjścia
    obsługę plików
    obsługę wielowątkowości
    zarządzanie pamięcią operacyjną
    podstawowe typy danych oraz funkcje do zarządzania nimi
    operacje na ciągach tekstowych.
    Użytkownicy traktują bibliotekę standardową często jako część języka, lecz od strony twórców są to osobne twory. Przykładowo, programiści piszący w języku D mają do dyspozycji zarówno oficjalną bibliotekę Phobos, jak i alternatywny projekt Tango.

    Wykonywanie kodu
    Aby program napisany w danym języku mógł być wykonany, niezbędne jest przetworzenie jego kodu źródłowego:

    kompilacja – kod źródłowy jest tłumaczony do postaci języka maszynowego, czyli sekwencji elementarnych operacji gotowych do bezpośredniego przetworzenia przez procesor komputera. Jeżeli dany język programowania podlega kompilacji, określany jest mianem kompilowanego języka programowania
    interpretacja – kod źródłowy jest na bieżąco tłumaczony i wykonywany przez dodatkowy program zwany interpreterem. Jeżeli język podlega interpretacji, nazywany jest interpretowanym językiem programowania.
    Wykonanie polegające na kompilacji do kodu maszynowego zapewnia najwyższą wydajność programom, lecz wygenerowany kod jest ściśle powiązany z platformą sprzętową. Ponadto kompilowane języki są bardziej zbliżone do sposobu funkcjonowania sprzętu, przez co programowanie w nich jest trudniejsze. Języki interpretowane zapewniają większą przenośność programów, które często są niezależne od platformy i systemu operacyjnego. Aby programy wyrażone w języku interpretowanym można było uruchomić na innej platformie, wystarczy napisać dla niej interpreter. Jednak taki sposób wykonywania odbija się negatywnie na wydajności. Alternatywnym rozwiązaniem jest kompilacja programów do postaci pośredniej, tzw. kodu bajtowego. Jest ona wykonywana przez wirtualne maszyny tłumaczące elementarne rozkazy kodu bajtowego na rozkazy procesora.

    Klasyfikacja języków programowania
    Języki programowania mogą być podzielone ze względu na:

    paradygmat programowania,
    generację języka programowania,
    sposób kontroli typów,
    sposób wykonywania (kompilacja, interpretacja),
    poziom (języki niskiego poziomu są bardziej zbliżone pod względem budowy do działania sprzętu),
    przeznaczenie.
    Cytuj
  • Modano 10 gru 2024, 21:56
    Gdzie moja usługa albo pieniądze??
    Zaczęła się 3 doba czekania a miałem mieć usługę o którą prosiłem do 3 godzin 

    Krzysztof oszukałeś mnie i wyłudziłeś pieniądze, wiedz o tym że ja tego tak nie zostawię!!

    Cytuj
  • DobryAnakin 11 gru 2024, 22:04
    Ja żadnych pieniędzy od cb nie dostałem !
    Modano napisał:Gdzie moja usługa albo pieniądze??
    Zaczęła się 3 doba czekania a miałem mieć usługę o którą prosiłem do 3 godzin 

    Krzysztof oszukałeś mnie i wyłudziłeś pieniądze, wiedz o tym że ja tego tak nie zostawię!!

    Cytuj
  • DobryAnakin 11 gru 2024, 22:05
    Ja żadnych pieniędzy od cb nie dostałem !
    DobryAnakin napisał:Ja żadnych pieniędzy od cb nie dostałem !
    Modano napisał:Gdzie moja usługa albo pieniądze??
    Zaczęła się 3 doba czekania a miałem mieć usługę o którą prosiłem do 3 godzin 

    Krzysztof oszukałeś mnie i wyłudziłeś pieniądze, wiedz o tym że ja tego tak nie zostawię!!

    Cytuj
  • DobryAnakin 11 gru 2024, 22:17
    usługi informatyczne
    DobryAnakin napisał:Usługi informatyczne – usługi związane ze sprzętem komputerowym i oprogramowaniem oraz usługi przetwarzania danych. Kategoria ta obejmuje również usługi konsultacyjne i wdrożeniowe w odniesieniu do sprzętu komputerowego i oprogramowania, konserwację i naprawę komputerów oraz urządzeń peryferyjnych, usługi odzyskiwania danych w przypadku awarii, zapewnianie doradztwa i pomocy w sprawach związanych z zarządzaniem zasobami komputerowymi, analizę, projektowanie i programowanie gotowych systemów (łącznie z opracowywaniem i projektowaniem stron internetowych), oraz konsultacje techniczne związane z oprogramowaniem, licencje na używanie oprogramowania produkowanego seryjnie, opracowywanie, wytwarzanie, dostawę i dokumentację oprogramowania dostosowanego do indywidualnych potrzeb, łącznie z systemami operacyjnymi wykonanymi na zamówienie dla poszczególnych użytkowników, konserwację systemów i inne usługi wsparcia, takie jak szkolenie oferowane w ramach usług konsultacyjnych, usługi przetwarzania danych, takie jak wprowadzanie danych, tworzenie tabel i przetwarzanie na zasadzie współużytkowania (time-sharing), usługi administrowania serwerem internetowym (np. dostarczanie miejsca na serwerze internetowym do zamieszczania stron internetowych klienta); zarządzanie urządzeniami komputerowym.

    Slang internetowy – slang tworzony i wykorzystywany przez użytkowników Internetu. Ułatwia i przyspiesza komunikację poprzez zmniejszanie liczby pisanych znaków.

    W slangu internetowym stosuje się akronimy wyrażeń, przede wszystkim pochodzące z języka angielskiego (np. ASAP – as soon as possible – tak szybko jak możliwe; LOL – laughing out loud[1][2][3] – śmieję się na głos; IMHO – in my humble opinion – moim skromnym zdaniem), emotikony, pisownię fonetyczną (np. CU/CYA – ang. see you – do zobaczenia), pseudoznaczniki języka HTML bądź BBCode (np. <ironia>...</ironia>), składnię języków programowania (głównie języka C) oraz hack-mowę (ang. leetspeak).

    Slang internetowy stosowany jest w komunikacji internetowej: na czatach internetowych, forach dyskusyjnych, IRC-u, w poczcie elektronicznej i komunikatorach internetowych. Nowi, niedoświadczeni użytkownicy często mają problemy ze zrozumieniem wyrażeń slangowych, bo – podobnie jak inne żargony – może stwarzać wrażenie wtajemniczenia. Slangowi internetowemu poświęcono również podręczniki[4].

    Przykłady
    AFK (away from keyboard) – dosłownie oznacza osobę znajdującą się daleko od klawiatury, w slangu internetowym oznacza „zaraz wracam"
    BRB (be right back) – oznacza „zaraz wracam”.
    BTW (by the way) – oznacza „swoją drogą”, „przy okazji”; używane podczas zbaczania z tematu dyskusji.
    EOT (end of topic, „koniec tematu”, lub end of thread, „koniec wątku”) – nieuprzejme zakończenie rozmowy
    IDK (I don't know) – nie wiem
    IMHO (in my humble opinion lub in my honest opinion) – oznacza „moim skromnym zdaniem”. Ma takie samo znaczenie jak IMO.
    IMO (in my opinion) – oznacza „moim zdaniem”, „według mnie”.
    LOL (laughing out loud lub laugh out loud[5], „śmieję się na głos”, albo lots of laugh, „mnóstwo śmiechu”) – oznacza rozbawienie.
    NVM (nevermind) - nieważne.
    OMG (oh, my God) – oznacza dosłownie „o mój Boże”.
    ROTFL (rolling on the floor laughing) – oznacza „tarzać się po podłodze ze śmiechu”.
    THX, THNX (thank you, thanks) – oznacza „dzięki”.
    YOLO (you only live once) – oznacza „żyje się tylko raz”.

    Crash (crash systemu) – sytuacja, w której program (aplikacja, system operacyjny) przestaje działać prawidłowo. Przeważnie po wystąpieniu tego typu błędu działanie programu zostanie zakończone. Rozważany program może sprawiać wrażenie zawieszonego, zanim zostanie odnotowany crash (i wszelkie potencjalne szczegóły z nim powiązane.) Jeśli program stanowi krytyczną część systemu operacyjnego, cały komputer może ulec crashowi, przez co często następuje krytyczny błąd systemu, lub błąd jądra. W niektórych przypadkach może nastąpić destabilizacja sieci.

    Wiele crashów jest rezultatem nieprawidłowego wykonania pojedynczej lub kilku instrukcji maszynowych. Typowa przyczyną jest sytuacja, w której licznik programu jest ustawiony na błędny adres lub przepełnienie bufora nadpisuje część kodu programu z powodu wcześniejszego błędu. W każdym z tych przypadków, CPU próbuje uzyskać dostęp do danych lub pamięci RAM. Ponieważ można wybrać wszystkie wartości danych, ale nie zawsze prawidłowych, często dochodzi do wywołania wyjątku niedozwolonej instrukcji.

    Istnieje szansa na to, że takie dane lub wartości losowe mogą być prawidłowymi (chociaż nieplanowanymi) instrukcjami. Pierwotny Problem Programu uważany jest za przyczynę awarii systemu, ale rzeczywista usterka może być, na przykład, niedozwoloną instrukcją. Proces debugowania takich awarii łączy rzeczywiste przyczyny katastrofy z kodem, który uruchomił całą sekwencję zdarzeń. Przeważnie nie jest to oczywiste; oryginalny błąd jest zazwyczaj całkowicie poprawnym kodem, „podanym” procesorowi.

    W starszych komputerach osobistych, można było doprowadzić do uszkodzenia sprzętu poprzez próby zapisu danych do adresów sprzętowych poza główną pamięcią systemu[1].

    Crash w aplikacjach

    Komputer na frankfurckim lotnisku, gdzie doszło do crashu programu działającego w Windows XP (z powodu naruszenia ochrony pamięci)
    Do crashu aplikacji dochodzi przeważnie w momencie, gdy wykonuje ona operację niedozwoloną w danym systemie operacyjnym. Wówczas system wywołuje wyjątek w tej aplikacji. Unixowe aplikacje zazwyczaj odpowiadają poprzez wykonywanie zrzutu rdzenia. Większość aplikacji posiadających graficzny interfejs w systemach Windows oraz Unix odpowiada poprzez wyświetlanie okna dialogowego (zob. grafika po prawej) z możliwością dołączenia debuggera jeżeli jest zainstalowany. Takie zachowanie programu określa się mianem „crashowania”. Niektóre programy próbują powrócić do pracy po wystąpieniu błędu, zamiast robić crash.

    Typowe błędy, w wyniku których dochodzi do crashu programów, to próby:

    odczytu/zapisu pamięci, która nie jest przydzielona w tym celu przez aplikację (naruszenie ochrony pamięci) lub przez specyfikację architektury x86 (ogólny błąd ochrony)
    wykonania nieprawidłowych lub uprzywilejowanych instrukcji
    wykonania operacji wejścia/wyjścia na urządzeniach sprzętu do których użytkownik nie ma dostępu
    przesyłania nieprawidłowych argumentów do wywołań systemowych
    uzyskania dostępu do innych zasobów systemowych, do których program nie ma dostępu (ang. bus error - błąd szyny)
    wykonania instrukcji maszynowych zawierających nieprawidłowe argumenty (zależne od architektury): dzielenie przez zero, operacje na liczbach zdenormalizowanych lub wartościach NaN itp.
    odwołania się do nieustawionych wskaźników w programach napisanych w C++.

    ęzyk programowania – zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje[1]. Teorią języków programowania w informatyce zajmuje się teoria języków formalnych.

    Wstęp
    Podobnie jak języki naturalne, język programowania składa się ze zbiorów reguł syntaktycznych oraz semantyki, które opisują, jak należy budować poprawne wyrażenia oraz jak komputer ma je rozumieć. Wiele języków programowania posiada pisemną specyfikację swojej składni oraz semantyki, lecz inne zdefiniowane są jedynie przez oficjalne implementacje.

    Język programowania pozwala na precyzyjny zapis algorytmów oraz innych zadań, jakie komputer ma wykonać. W niektórych pracach pojęcie języka programowania jest ograniczane wyłącznie do tych języków, w których można zapisać wszystkie istniejące algorytmy – od strony matematycznej oznacza to, że język musi być przynajmniej kompletny w sensie Turinga[2], jednak można się także spotkać z wykorzystaniem tego pojęcia na określenie również bardziej ograniczonych języków.

    Definicje
    Język programowania może być zdefiniowany ze względu na kilka cech:

    funkcja: język programowania służy do tworzenia programów komputerowych, których zadaniem jest przetwarzanie danych, wykonywanie obliczeń i algorytmów oraz kontrolowanie/obsługa zewnętrznych urządzeń, np. drukarek, robotów itd.
    przeznaczenie: języki naturalne służą do komunikacji między ludźmi, natomiast języki programowania umożliwiają wydawanie poleceń maszynom. Niektóre z języków są wykorzystywane również do kontrolowania jednego urządzenia przez inne. Przykładowo, program wykonywany na komputerze może wygenerować kod PostScript do sterowania pracą drukarki bądź wyświetlacza.
    konstrukcje składniowe: język programowania może zawierać konstrukcje składniowe do manipulowania strukturami danych oraz zarządzania przepływem sterowania.
    moc: teoria obliczeń klasyfikuje języki według rodzajów obliczeń, które można za ich pomocą zrealizować (hierarchia Chomskiego). We wszystkich językach zupełnych w sensie Turinga da się zaimplementować ten sam zbiór algorytmów. Przykładem często stosowanego języka niezupełnego jest SQL służący do komunikacji z bazą danych.
    Języki, w których nie da się realizować obliczeń (języki znaczników, jak HTML czy XML oraz gramatyki formalne, np. BNF), nie są uznawane za języki programowania.

    Przeznaczenie

    Memetyczna ewolucja niektórych języków programowania według deklaracji autorów lub oficjalnych specyfikacji
    Obecnie na świecie istnieją tysiące języków programowania i każdego roku powstają nowe. Od języków naturalnych odróżniają się wysoką precyzją oraz jednoznacznością. Człowiek podczas komunikacji między sobą stale popełnia niewielkie błędy lub pozostawia niedomówienia wiedząc, że drugi rozmówca najczęściej go zrozumie. Maszyny wykonują zadania dokładnie, dlatego każdą czynność trzeba opisać ściśle krok po kroku, ponieważ komputer nie potrafi dociec, co programista miał na myśli.

    Wiele języków zostało zaprojektowanych od zera, lecz powszechna jest praktyka rozwijania już istniejących rozwiązań oraz celowego upodabniania jednego języka do innego. Pozwala to na szybsze opanowanie nowego języka przez programistów mających już doświadczenie w tworzeniu aplikacji. Potrzeba istnienia wielu różnorodnych języków wynika z dużej liczby sytuacji, w których są one wykorzystywane – każda posiada pewne specyficzne wymagania:

    wielkość programów waha się od niedużych skryptów pisanych przez amatorów do potężnych aplikacji rozwijanych przez setki programistów
    doświadczenie użytkowników waha się od nowicjuszy lub programistów okazjonalnych wymagających przede wszystkim prostoty, do ekspertów potrafiących zrobić użytek z oferowanych możliwości
    tworzone programy muszą spełniać określone wymagania dotyczące szybkości, skalowalności oraz wielkości
    istniejące języki mogą być zbyt rozbudowane do pewnych zadań
    programy mogą nie zmieniać się z biegiem lat lub być poddawane stałym modyfikacjom
    programiści mają różne gusta – każdy z nich ma swój ulubiony język, w którym pisze mu się najwygodniej.
    Z tych powodów nie powiodły się do dziś próby stworzenia języka uniwersalnego.

    Obecnie panuje tendencja do tworzenia języków umożliwiających rozwiązywanie problemów na wyższym poziomie abstrakcji. Pierwsze języki programowania były mocno związane z konkretnym sprzętem. Z biegiem czasu wynalezione zostały nowe techniki tworzenia oprogramowania znacznie poprawiające przenośność oraz opracowane algorytmy pozwalające automatycznie realizować zadania, którymi dotąd musiał zajmować się programista. Skraca to czas tworzenia aplikacji i zmniejsza liczbę okazji do popełnienia błędu, lecz w niektórych sytuacjach odbija się to negatywnie na wydajności (np. język Java).

    Elementy języka

    Kolorowanie składni jest wykorzystywane w edytorach kodu do wizualnego różnicowania poszczególnych elementów składni, co ułatwia czytanie kodu. Ilustracja przedstawia pokolorowany kod w języku Python.
    Postać programu wyrażona w języku programowania określana jest jako kod źródłowy. Na język programowania składa się kilka elementów:

    Składnia
    Aby dany ciąg znaków mógł być rozpoznany jako program napisany w danym języku, musi spełniać pewne reguły, zwane składnią. Składnia opisuje:

    rodzaje dostępnych symboli
    zasady, według których symbole mogą być łączone w większe struktury.
    Składnia najczęściej opisywana jest w formalnym zapisie będącym połączeniem wyrażeń regularnych oraz notacji BNF lub EBNF. Poniżej przedstawiony jest przykład prostej gramatyki wzorowanej na języku Lisp:

    wyrazenie ::= atom | lista
    atom ::= liczba | symbol
    liczba ::= [+-]?['0'-'9']+
    symbol ::= ['A'-'Z''a'-'z'].*
    lista ::= '(' wyrazenie*')'
    Zapis ten określa wygląd i budowę kolejnych symboli:

    wyrażeniem nazwiemy atom i listę
    atomem nazwiemy każdą liczbę lub symbol
    liczbą nazwiemy ciąg cyfr, który może zaczynać się opcjonalnie od znaku + lub –
    symbolem nazwiemy dowolną sekwencję dużych i małych liter alfabetu łacińskiego
    listą nazwiemy parę nawiasów, w której może się znaleźć zero lub więcej wyrażeń.
    Przykładowe ciągi, które spełniają podane reguły składni to: „12345”, „()”, „(a b c232 (1))”.

    Zauważmy, że na etapie przetwarzania składni w ogóle nie jest brane pod uwagę znaczenie poszczególnych symboli. W praktyce kod poprawny składniowo nie musi być poprawny semantycznie. Występuje tu analogia do języków naturalnych. Zdanie „Łolopy się mucioszą” jest poprawne pod względem gramatycznym, lecz nie posiada żadnego znaczenia, ponieważ zostały w nim użyte nieistniejące słowa.

    Semantyka
    Semantyka języka programowania definiuje precyzyjnie znaczenie poszczególnych symboli oraz ich funkcję w programie. Semantykę najczęściej definiuje się słownie, ponieważ większość z jej zagadnień jest trudna lub wręcz niemożliwa do ujęcia w jakikolwiek formalizm. Część błędów semantycznych można wychwycić już w momencie wstępnego przetwarzania kodu programu, np. próbę odwołania się do nieistniejącej funkcji, lecz inne mogą ujawnić się dopiero w trakcie wykonywania.

    Typy danych
    Każdy język operuje na jakimś zestawie danych, dlatego niezbędne jest podzielenie danych na odpowiednie typy, zdefiniowanie ich właściwości oraz operacji, jakie można na nich realizować. Większość języków posiada typy danych do reprezentowania:

    liczb całkowitych w różnych zakresach
    liczb zmiennoprzecinkowych (reprezentacje liczb rzeczywistych o różnym stopniu dokładności)
    ciągów tekstowych.
    Od strony sprzętowej wszystkie te informacje wyrażane są za pomocą sekwencji zer i jedynek. Język programowania nakłada jedynie odpowiednie ograniczenia i zasady ich przetwarzania. Zjawisko konwersji wartości jednego typu na inną nazywa się rzutowaniem.

    Biblioteki standardowe
    Dla większości języków zdefiniowana jest także biblioteka standardowa zawierająca podstawowy zestaw funkcji pozwalających realizować wszystkie najważniejsze operacje, np.:

    obsługę wejścia-wyjścia
    obsługę plików
    obsługę wielowątkowości
    zarządzanie pamięcią operacyjną
    podstawowe typy danych oraz funkcje do zarządzania nimi
    operacje na ciągach tekstowych.
    Użytkownicy traktują bibliotekę standardową często jako część języka, lecz od strony twórców są to osobne twory. Przykładowo, programiści piszący w języku D mają do dyspozycji zarówno oficjalną bibliotekę Phobos, jak i alternatywny projekt Tango.

    Wykonywanie kodu
    Aby program napisany w danym języku mógł być wykonany, niezbędne jest przetworzenie jego kodu źródłowego:

    kompilacja – kod źródłowy jest tłumaczony do postaci języka maszynowego, czyli sekwencji elementarnych operacji gotowych do bezpośredniego przetworzenia przez procesor komputera. Jeżeli dany język programowania podlega kompilacji, określany jest mianem kompilowanego języka programowania
    interpretacja – kod źródłowy jest na bieżąco tłumaczony i wykonywany przez dodatkowy program zwany interpreterem. Jeżeli język podlega interpretacji, nazywany jest interpretowanym językiem programowania.
    Wykonanie polegające na kompilacji do kodu maszynowego zapewnia najwyższą wydajność programom, lecz wygenerowany kod jest ściśle powiązany z platformą sprzętową. Ponadto kompilowane języki są bardziej zbliżone do sposobu funkcjonowania sprzętu, przez co programowanie w nich jest trudniejsze. Języki interpretowane zapewniają większą przenośność programów, które często są niezależne od platformy i systemu operacyjnego. Aby programy wyrażone w języku interpretowanym można było uruchomić na innej platformie, wystarczy napisać dla niej interpreter. Jednak taki sposób wykonywania odbija się negatywnie na wydajności. Alternatywnym rozwiązaniem jest kompilacja programów do postaci pośredniej, tzw. kodu bajtowego. Jest ona wykonywana przez wirtualne maszyny tłumaczące elementarne rozkazy kodu bajtowego na rozkazy procesora.

    Klasyfikacja języków programowania
    Języki programowania mogą być podzielone ze względu na:

    paradygmat programowania,
    generację języka programowania,
    sposób kontroli typów,
    sposób wykonywania (kompilacja, interpretacja),
    poziom (języki niskiego poziomu są bardziej zbliżone pod względem budowy do działania sprzętu),
    przeznaczenie.
    Cytuj
  • Modano 11 gru 2024, 23:17
    DobryAnakin napisał:Ja żadnych pieniędzy od cb nie dostałem !
    DobryAnakin napisał:Ja żadnych pieniędzy od cb nie dostałem !
    Modano napisał:Gdzie moja usługa albo pieniądze??
    Zaczęła się 3 doba czekania a miałem mieć usługę o którą prosiłem do 3 godzin 

    Krzysztof oszukałeś mnie i wyłudziłeś pieniądze, wiedz o tym że ja tego tak nie zostawię!!

    Nie ośmieszaj się dostałeś potwierdzenie przelewu mogę go tutaj wrzucić

    Nie mam żadnego zwrotu więc pieniądze do ciebie poszły

    Wyłudziłeś ode mnie pieniądze na które mam potwierdzenie
    Cytuj
Komputery, Internet, telefony - dyskusje na forum