Jump to content

Hakken

[Ekspert] Programowanie
  • Content Count

    3,496
  • Joined

  • Last visited

  • Days Won

    5

Hakken last won the day on January 3 2014

Hakken had the most liked content!

Community Reputation

874 Znakomita

1 Follower

About Hakken

  • Rank
    Szufladka Dirichleta

Informacje profilowe

  • Płeć
    Array
  • Skąd
    Array

Dodatkowe informacje

  • Ulubiony gatunek gier
    Array
  • Wyróżnienia Smugglerkowe
    Array

Recent Profile Visitors

21,865 profile views
  1. 1. Tak, dlatego właśnie stwierdzenie o przedziale wartości [-128, 127] jest nie do końca precyzyjne. Po pierwsze char może być szerszy, a po drugie standard nie precyzuje czy typ char jest ze znakiem czy bez - więc obecność ujemnych liczb nie jest oczywista. 2. Jeżeli byśmy zmieniali text to faktycznie będzie się zachowywało inaczej. Tak czy inaczej chodzi o nie wywoływanie tej samej funkcji wielokrotnie jeśli to zbędne. // Dobra, już więcej nie męczę. Dzięki za poszerzenie horyzontów [webtom]
  2. 1. §3.6: byte addressable unit of data storage large enough to hold any member of the basic character set of the execution environment NOTE 1 It is possible to express the address of each individual byte of an object uniquely. NOTE 2 A byte is composed of a contiguous sequence of bits, the number of which is implementationdefined. The least significant bit is called the low-order bit; the most significant bit is called the high-order bit 2. size_t size = strlen(text) ; for(i = 0; i < size; ++i) { ... } Tutaj też możnaby się pochylić nad pytaniem czy strlen obsługuje typ string, i czy nie należy się zainteresować funkcją strnlen dla bezpieczeństwa.
  3. Char to, zgodnie z §3.6 oraz §3.7.1 standardu, bajt. Bajt natomiast nie musi mieć 8 bitów, więc to nie jest do końca prawda. Po prostu w przypadku tej architektury (i w sumie wielu innych) tak się złożyło, że będzie to 8 bitów. Co więcej obliczanie wartości strlen(text) w pętli, przy każdym obrocie, może nie być optymalne.
  4. Oczywiście że można porównywać, ale jak obiektywnie stwierdzić czy łatwiejszy jest machine lerning (który wymaga jakiejś matematyki i teorii) czy może pisanie sterowników (które używa bardziej wymagającego języka, bo pewnie sporo jest w C, trzeba się znać na sprzęcie, ale niekoniecznie na matmie)? I analogicznie można się zastanawiać nad apkami mobilnymi vs webowymi (chociaż są bardzo podobne). Ogólnie moje przesłanie jest takie, że zajmowanie się każdym działem jest trudne o ile się chce być w tym dobrym, więc twierdzenie co jest trudniejsze sprowadza się raczej do predyspozycji i upodobań porównującego.
  5. Muszę spytać, czy język robi tak wielką różnicę? W C++ SI robi się inaczej niż w javie? A skoro najlepiej wPythonie najlepiej to co, pisze się już samo? Czemu najlepiej obiektowo? Niektóre gałęzi SI wygodnie się opisuje w logice, a więc raczej coś w stylu prologa będzie dobrym wyborem. Z tego co wiem ten obiektowy nie jest. No i wreszcie muszę dopytać o porządek liniowy na trudnościach gałęzi informatyki. SI to jedna z trudniejszych gałęzi, a które są łatwe? Które są trudniejsze? Pisanie sterowników jest łatwiejsze niż SI? Co jest trudniejsze, aplikacje webowe czy mobilne?
  6. Generator liczb losowych Generatora liczb losowych niestety w prawdziwym komputerze nie uświadczysz. Generator liczb pseudolosowych W bibliotece <random> masz sporo możliwości losowania, wyboru rozkładu itd. kilka słów o tym napisał Kerrek na StackOverflow: http://stackoverflow.com/a/7114482 Losowanie bez powtórzeń Generatory liczb pseudolosowych losują liczby, zmiana ich tak, żeby nie generowały duplikatów byłaby dość ciężka i bezsensowna, tym się musisz zająć sam. Możesz to zrobić albo zapamiętując wszystkie wylosowane elementy i przy każdym kolejnym sprawdzać czy jest unikatowy, albo wygenerować "ręcznie" dużo możliwych wyników i tylko generować indeksy tych, które zostaną użyte. Tutaj można zrobić taką sztuczkę, że jeżeli masz N elementów w tablicy, to losujesz indeks `i` należący do [1, n], a następnie wykonujesz swap(i, n). Wtedy losujesz znowu już od 1 do n-1, potem swap (i, n-1) i tak dalej. Dzięki temu masz pewność, że nie będziesz miał pecha (nie będziesz ciągle losował tego samego elementu). Jak łatwo sprawdzać czy dany element wcześniej wystąpił? Możesz użyć standardowej implementacji set albo unordered_set. "Lepiej rozwiązać ten problem" Po co efektywnie losować dane do problemu komiwojażera? Problem i tak jest NP-trudny, więc to czy wylosujesz dane w czasie liniowym, kwadratowym czy sześciennym nie ma znaczenia.
  7. Jak mamy tylko coś wypisać to niezanadto widzę sens tworzenia tablicy tak w ogóle - możemy wypisywać na bieżąco. To w sumie jest nieprawda, ani o odległości ani o ograniczeniu.
  8. @wies.niak Chyba nie chodzi o obfuskację tylko ochronę przed atakami w stylu buffer overflow, SQLi itd. (oczywiście w tym kodzie SQLa się nie spodziewam ale wiesz o co chodzi). @OP Oczywiście nie widząc kodu nie można ocenić jego bezpieczeństwa, możesz go tutaj wrzucić i razem go przeczytamy, chociaż jeśli chodzi o naukę tego typu rzeczy to C# jest słabym wyborem, dużo lepiej być dużo bliżej pamięci i widzieć co się dzieje (czyli pewnie okolice C czy asm). Ogólnie jeżeli chcesz zabezpieczyć swoją aplikację to trzeba wymyślić sposób w jaki adwersarz może coś napsuć i mu to uniemożliwić. A po co haksor ma zmieniać wyświetlaną godzinę?
  9. W sensie chcesz ograniczyć dostęp do programu (żeby wymagał uwierzytelniania przez powiedzmy hasło), czy żeby ktoś nie wpłynął na przebieg działania (żeby haksor nie zmienił godziny)?
  10. Gdyby tylko kompilator w jakiś sposób powiedział nam co mu się nie podoba...
  11. Dzień dobry ja jestem Marcin, zajmuję się głównie zaczepianiem ludzi w internecie. Formalnie istnieje (posiadam stałe lokum) i chciałbym powiedzieć, że nie szanuję osoby YouTube o nicku Sonicwariat1994 bo ma głupi nick. Pozdrawiam P.S. ja seriale oglądam dość schematycznie t.j. odcinek po odcinku.
  12. Bezpieczeństwo vs wolność i prywatność: czy i na ile służby (takie jak nsa, abw itd.) powinny móc inwigilować ludzi (pocztę, ruch w internecie itp.), zamieszczać tylne furtki w protokołach, aplikacjach itp?
  13. No więc jak jutro to słabo bo siedziałem do 18 na uczelni więc jakby świat miał się kończyć to po co to wszystko... No ale jakby był na przykład pojutrze to bym jutro się zajadał moimi ulubionymi przysmakami i popijał je szampanem przechadzając się po Paryżu wraz z najbliższymi. ależ romantycznie Odpowiedź na pytanie alternatywne od nerv0: Logarytmem dyskretnym bo jak wiadomo jestem trudny B|.
×
×
  • Create New...