Skocz do zawartości

Pan Kot

WHT Pro
  • Zawartość

    2746
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    157

Posty napisane przez Pan Kot


  1. Jeśli zamiast nazwy cechy wstawi id cechy z innej tabeli, to będzie miał dokładnie to samo co proponujesz. Więc na jakie inne "kilka dobrych sposobów" można będzie to obsłużyć? :)

     

    Sam fakt, że klucz będzie na id produkty i id cechy uniemożliwi Ci fuckup wspomniany wyżej, w którym masz ten sam produkt z kolorem czerwony i zielony. Z kolei to przełoży się na napisanie SQLki, która będzie działać w każdej sytuacji, a nie jak twoja przy założeniu konkretnych danych w konkretnych wierszach i kolumnach.

     

    Jeśli nadal nie widzisz problemu to nie mamy o czym gadać. INSERT rozwalający całą aplikację nawet nie jest śmieszny - jest tragiczny.


  2. Nie mam zielonego pojęcia czemu chłopakowi nie powiecie, że jego tabela łamie prawie wszystkie postaci normalne i absolutnie nie ma prawa bytu w jakiejkolwiek aplikacji bo jest spieprzona fundamentalnie.

     

    Produkt w jednej tabeli z ID, cechy w innej tabeli z ID, i w trzeciej tabeli połączenie produktu, cechy i wartości tej cechy. Zapytanie można wtedy po ludzku zrobić na kilka dobrych sposobów i nie trzeba robić takich machlojek jak te wyżej. Jednocześnie baza z definicji pilnuje tego, żebyś @nnd_newbie nie widział swoich "cudów", które mogą się pojawić jedynie w takich spieprzonych fundamentalnie tabelach.

     

    Nawet nie chcę sobie wyobrażać coś takiego działającego na produkcji.


  3.  

     

    Jaka jest różnica w żywotności pamięci RAM między nośnikami typu SSD, SD?

     

    Taka jak między pamięcią nieulotną, a ulotną. A jak potrzebujesz jeszcze większego uproszczenia to dokładnie identyczna jak między zamykanymi drzwiami i brakiem drzwi. Zamykane drzwi w końcu się zużyją (po ogromnej ilości zamykań), z kolei przy braku drzwi jedyne co może się stać to się strop zawalić ;).


  4. Merytorycznej odpowiedzi to dostaniesz jak się zatrudnisz w NSA - żadna agencja Ci wprost nie powie, że nie dała rady, ani tym bardziej że dała radę i ma w nosie co sobie tam przesyłasz.

     

    Jednak faktem jest, że NSA próbowało i rady nie dało, bazując na przeciekach i wykradzionych informacjach - to czy coś się w tej kwestii zmieniło od tamtego czasu nie powie Ci nikt do kolejnego przecieku. Więc można stwierdzić, że jest względnie bezpieczne jeśli wyeliminujesz czynnik ludzi.

     

    Jednak prawda jest taka, że nie da się czynnika ludzkiego wyeliminować w 100% - o wiele łatwiej znaleźć błąd człowieka niż błąd w kodzie.

     

    Jeśli potrzebujesz bardziej merytorycznej odpowiedzi to odsyłam do google i czytania kodu źródłowego, bo nie ma w tej kwestii zbyt dużo do powiedzenia - większość to opinie, a nie fakty.

    • Upvote 1

  5. Bez znaczenia, bo w środowisku FLOSS decydują względy kulturowe. Microsoft się nigdy nie przebije.

     

    Microsoft się w niczym nie musi przebijać, wystarczy że developerzy zauważą potencjał .net core'a - ja już zauważyłem, a to o czymś świadczy biorąc pod uwagę, że jeszcze rok temu zachwalałem laravela i hejciłem asp.net. Może jestem odosobnionym przypadkiem i będzie jak mówisz, ale szczerze wątpię biorąc pod uwagę jak to się rozwija - microsoft robi wszystko, żeby ułatwić życie i zachęcić do korzystania z .net core'a, włącznie z otwarciem wszystkich dostępnych źródeł i wsparciu wszystkich popularnych distro z ubuntu na czele - nawet obrazy do dockera już są. Ba, nawet jeśli już dzisiaj by to porzucili to jest całkiem pokaźne community, które by po prostu to sforkowało i kontynuowało dalej, bo C# na linuxie to rzecz cudowna, której mono nigdy do końca nie potrafiło zrobić.

     

    Ale tak jak mówię, nie ma co gadać bo to jak wojna debian vs ubuntu, pożyjemy zobaczymy, i miło będzie wrócić do dyskusji za rok :).


  6. W zasadzie mamy majówkę czyli taki przedsmak wakacji gdzie biorąc kilka dni wagarów można mieć ponad tydzień wolnego :) Można więc poczynić już pierwsze kroki ku mega elo super umc-umc wypas no-limit biznesowi inwestując parę złotych :) Prace nad krzakami zaczną przyspieszać po dniu dziecka aby zaraz po roku szkolnym wystartować z pełną ekhem mocą :D

     

    Ja już gotowy.

     


  7. Hm, siedzę już jakiś czas w branży webdev i pierwszy raz widzę taką opinię, zazwyczaj były one całkowicie odwrotne i ludzie którzy porzucali php, po pewnym czasie do niego wracali. No i wątpię żeby udało się nadgryźć chociaż kawałek "tortu" na rzecz innych technologii. Chyba że włączy się jakiś "hype" jak na JSa czy dockera ;)

     

    PHP się nie skończy, i node.js też nie - tak jak zaznaczyłem w swoim poście. Natomiast rzeczywiście wierzę w to, że ludzie zaczną rezygnować z php i node.js na rzecz asp.net - jakbyś się mnie spytał jeszcze 2 lata temu co na ten temat sądze to bym powiedział "w żadnym wypadku, mono się nie nadaje na produkcję, jak chcesz asp.net to tylko windows, zapomnij o linuxie czy open-source". Dzisiaj cały .NET core jest open-source, wspiera multum różnych platform i architektur, działa naprawdę przyzwoicie bo Microsoft przepisał dosłownie wszystko wraz z Runtimem, JITem, GC i Frameworkiem, z zamysłem wieloplatformowości, bazując na swoim doświadczeniu przez 15 lat pisania .NET frameworka. Rozwija się to ogromnie szybko i jak jeszcze rok temu .NET core to była raczej ciekawostka developerska, że coś takiego powstaje, tak dzisiaj widząc to jak super stabilnie i dobrze dotnet działa na linuxie to serio aż chce się pisać, i całość oprogramowania masz open-source.

     

    Nie lubię zbytnio wchodzić w dyskusje nt. różnych języków, podejść i frameworków, ale prawda jest taka że pisałem kod w naprawdę wielu językach, również w takich których przydatność dziś jest na poziomie ujemnym (rip perl), i tak jak windowsa i microsoftu nienawidzę z pasją, tak muszę przyznać że C# to najlepszy język w jakim kiedykolwiek pisałem - to jest nadal tylko wróżenie z fusów, bo nawet najbardziej prosperujące projekty czasem kończą się totalną klapą, a najbardziej irracjonalne sukcesem (node.js), lecz wciąż sądzę, że już niedługo .NET core może być naprawdę ciekawą alternatywą - to że asp.net istnieje i nawet jest gdzieś używany to każdy wie, ale to dlaczego nie był popularny do tej pory to wina niczego innego jak windowsa, microsoftu i closed-source - w moich oczach wszystkie te problemy właśnie znikają. Osobiście kibicuję, bo C# to mój ulubiony język, ale właśnie z tego powodu nie można brać moich fanboyowskich słów zbyt dosadnie i samemu zrobić research. Niezależnie jednak od mojej opinii, przewidywania i wróżb, faktem jest że .NET core celuje głównie właśnie w strony internetowe typu asp, i lada moment jest oznaczany jako stable z numerkiem 2.0.

    • Upvote 1

  8. W czystym javascripcie strony nie napiszesz, php + node.js to podstawa pisania dynamicznej aplikacji, html czy css to kwestia wyglądu tej strony, jak Pokuć napisał wyżej, to nie jest język programowania.

     

    Za to pytanie "co ma najwięcej frameworków i środowisk" odpowiedź jest prosta - dziś node.js w połączeniu z php, jutro bardzo prawdopodobnym będzie .net core i strony na asp - microsoft w końcu władował grube miliony i ludzi w dotneta, a na linuxie działa tak wybitnie, że aż chce się w tym pisać. Ja już dziś testuję proste stronki-prototypy i potencjał jest ogromny. PHP czy node.js nie wyginą, ale pod kwestią elastyczności to nawet nie ma co porównywać javascripta do C#. Póki co to oczywiście tylko wróżenie z fusów bo ostatecznie to developerzy zdecydują, ale idzie to w dobrym kierunku.

     

    Na pewno znajomość javascripta i podstaw PHP Ci nie zaszkodzi, bez javascripta i w .net core nic ciekawego nie napiszesz, a bez php i tak będziesz miał problemy z C#, więc warto zacząć od tego co jest stabilne teraz, ale również w miarę racjonalnie patrzeć w przyszłość, bo ja już teraz do node.js czy php nie mam zamiaru siadać ;).

     

    A i zapomniałbym - nienawidzę node.js z pasją. PHP miał chociaż jakiś cel, ktoś potrzebował dynamicznej strony wysyłającej html w zależności od warunków, rozumiem to - node.js wygląda tak jakby ktoś przegrał zakład i musiał napisać framework a javascripcie. Mógłbym wygłosić 3-godzinny monolog co jest nie tak z node.js i dlaczego to największa programistyczna porażka ostatnich lat, ale nikogo to nie obchodzi i wszyscy i tak w tym będą pisać więc idę być hipsterem gdzieś indziej :D.

    • Upvote 3

  9. Czy ktoś wie jak z grsec w kernelach ovh?

     

    W zależności od tego jaką mają umowę ze spenderem - domyślna nie pozwala na umieszczanie łatek w postaci kodu źródłowego, a zatem zapomnij o kompilacji samemu.

     

    Za to nadal mogą instalować swoje własne kernele z grseciem na swoich maszynach, po prostu bez kodu grseca na ftp://ftp.ovh.net/made-in-ovh/bzImage

     

    I osobiście sądzę, że właśnie to się stanie - jeśli nie zrezygnują z grseca całkowicie (a nie mają po co, już i tak zapłacili), to po prostu nie będą umieszczali jego kodu źródłowego w swoich repo. 99% osób to w ogóle nie dotyczy, bo i tak nic nie zmieniają, a ten 1% który potrzebuje własnego kernela nowszego niż ten z OVH, będzie musiało coś wymyślić.

     

    Osobiście uważam, że najlepszym rozwiązaniem w takim przypadku (OVH + grsec) będzie po prostu włączenie netboota na ostatniego grseca i rebootowanie systemu co jakiś czas na nową wersję. Jak ktoś nie potrzebuje własnych łatek to nie będzie zawiedziony.


  10. Z definicji każde repo na serwerze powinno mieć swój własny deploy key pozwalający wyłącznie na read-only dostęp (i ściągnięcie poprawek). Dla każdego projektu też bym rozważył zrobienie oddzielnego usera - jeśli nie z powodu potrzeby takiej jak odpalanie skryptów czy aplikacji, to dla samego folderu i spokoju ducha.

     

    Wtedy całe zabezpieczenie sprowadza się do umieszczenia repo w katalogu usera, i upewnienie się, że każde /home/user ma chmod 711 lub niżej. Jeśli do projektu coś musi się dostać (np. nginx), to należy to rozwiązać nieco inaczej, np. robiąć grupę i korzystać z grupowego chmoda, albo używająć reguł SELinux/AppArmor, albo przynajmniej upewnienie się, że folder /home/user/.ssh i /home/user/twojerepo/.git jest na chmodzie 711 (chociaż nie lubię ostatniego rozwiązania bo to ukrycie problemu, a nie jego rozwiązanie).


  11.  

    Nigdy nie lubiłem gościa ;). Będę musiał sobie nową zabawkę znaleźć. Szkoda, że tak to się skończyło ale cóż, jego wybór.

    Nieco rozwijając to osobiście nie widzę tutaj zbytniej tragedii bo było to do przewidzenia, a sam przestałem korzystać z grseca już jakiś czas temu, najzwyczajniej w świecie dlatego, że nie hostuję kontenerów typu docker czy innych VPSów na OpenVZ, żeby aż tak obawiać się ataku na kernel. Za to jak najbardziej SELinux/AppArmor jest tutaj bardzo fajny do kontroli typowych usług na serwerach, więc na pewno warto się zainteresować jeśli ktoś jeszcze tego nie zrobił.
    Ale nie podoba mi się, że nie dał nawet tygodnia na ściągnięcie starych patchy, czy chociaż stworzenie repo na githubie z ostatnią free wersją - i tak się pojawi (a pewnie już jest), po prostu nie od niego. Grsec to naprawdę kawał dobrego kodu, którym torvalds mógłby się w końcu zainteresować i wrzucić wiele z tych patchy do mainstreama, żeby nie tylko to było dostępne out-of-the-box, ale i żeby community to wspierało.
    Zapewne zareagowałbym zupełnie inaczej i i wylałbym wiadro pomyj gdybym przypadkowo nie przestał patchować grseciem mojego kernela kilka miesięcy temu - net core mi nie działał, a nie chciało mi się jeszcze sprawdzać dlaczego, teraz widzę że dobrze bo bym tylko czas stracił ;).
    Jak Spender ładnie wspomniał w artykule - nie, alternatywy nie ma, są tylko ogromnie okrojone systemy typu SELinux/AppArmor, przynajmniej na tą chwilę. Czy warto się nimi zainteresować - na pewno, ale każda osoba, która rzeczywiście korzystała z grseca dobrze wie, że to zupełnie inna kategoria.

  12. Wiele technik antyspamowych (np. greylisting) łatwo jest w miarę bystremu i zdeterminowanemu spamerowi obejść, a w praktyce i tak działają. Poza tym, wysyłąjący większość spamu nie-botnetowego (jakieś newslettery, sprzedane bazy danych, etc.) nie będą przepisywać adresów.

     

    Działają, ale mi raczej zależy na tym, żeby w ogóle nie poznali mojego ważnego adresu e-mail, a kierowali spam na zupełnie inną podstawioną skrzynkę pod tego typu rzeczy. M.in dlatego wersja z plusem mnie nie zadowala, bo tak by była perfekcyjna. Za to alias już w 100%.


  13. Mam jedną skrzynkę i dowolnie wiele adresów (catch-alle na całych domenach), a potem agresywnie filtruję, najczęściej po adresie docelowym właśnie. W gmailu można coś podobnego osiągnąć przez dopisanie +tagu do adresu, np. genetyczny.belfer+whtcafe@gmail.com.

     

    Ale i tak serwisy, które pchają śmieci, tnę.

     

    Nie wyobrażasz sobie jak prosto wykryć gdy e-mail kończy się na +cokolwiek i jest z domeny @gmail.com i go rewritnąć na wersję bez. Jest to imho dużo gorsze rozwiązanie niż po prostu dwie skrzynki.


  14. Zależy co kto lubi, ja mam dość obszerny ale i bardzo elastyczny skrypt w bashu, który robi backupy tego, co potrzebuje i ładuje na repo gita.

     

    A git już robi piękne diffy i wersjonuje backupy, tak że przywrócić można do stopnia częstotliwości backupu.

     

    Plusem jest to, że uploadują się tylko zmiany, więc jak ktoś ma obszerne tabele, ale aktualizuje tylko kilka z nich, to można porozdzielać po tabeli zamiast po bazie, kompresować do xz i wysyłać update malutkich paczek zamiast całości. Jeszcze bardziej się to przydaje przy plikach stron, z racji że te zmieniają się bardzo rzadko, więc koszt zerowy.

     

    Nie twierdzę, że to jest jakieś innowacyjne czy nawet dobre rozwiązanie, bo jest dużo więcej i dużo lepszych, ale jest świetną alternatywą jak ktoś nie ma dużych wymagań, i nie chce wydawać ani złotówki na rozwiązanie dedykowane - prywatne repo na gitlabie jest darmowe, razem z szyfrowanymi backupami jest imho świetnym rozwiązaniem dla małej ilości danych, mimo że bardzo egzotycznym :). Mi taka opcja odpowiada dużo bardziej niż trzymanie każdej paczki z każdego dnia.

×