Programistyczne WTF jakie Was spotkały

Programistyczne WTF jakie Was spotkały
Spearhead
  • Rejestracja:prawie 6 lat
  • Ostatnio:2 minuty
  • Postów:1002
7

https://aur.archlinux.org/packages/mongodb#pinned-682388

MongoDB potrzebuje do zbudowania 260GB ponieważ testy znajdują się w paczce z pakietem.

kzkzg
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 godziny
  • Postów:925
5

Endomondo, mam więcej takich.
screenshot-20190825202819.png


Keep calm and blame frontend.
Tell your cat I said pspsps.
Zobacz pozostały 1 komentarz
kzkzg
Nie, tak naprawdę to pontonem płynąłem i chciałem sprawdzić prędkość.
stivens
Wciaz ratuje to przed absurdem
Freja Draco
Freja Draco
Musi, przez jakiś czas poruszałeś się z prędkością ujemną :)
cerrato
Czyli inaczej mówiąc cofał się do tyłu ;) I wszystko jasne, nie ma żadnego WTF.
Freja Draco
Freja Draco
A zważywszy na kontekst, to chyba nawet cofał się do przodu ;)
DA
  • Rejestracja:ponad 10 lat
  • Ostatnio:2 miesiące
  • Postów:176
2

Mały wtf w Javie.
Piszę sobie klasę do testu, gdzie muszę ustawić konkretną datę, z milisekundami.
No to jadę:
LocalDateTime.of(2018, 8, 8, 4, 5, 0)
Teraz potrzebuję dodać do tego 489 milisekund. Korzystając z tej klasy wcześniej, widzę metody:
plusHours, plusDays, plusMinutes, plusMonths, plusNanos, plusSeconds, plusWeeks, plusWeeks.
Gdzie jest plusMillis? Pytanie z kategorii co autor miał na myśli, i co ich bolało jeszcze dodać jedną metodę do API? Zatem zostaje mi skorzystać z trochę bardziej ułomnego sposobu.
LocalDateTime.of(2018, 8, 8, 4, 5, 0).plus(489, ChronoUnit.MILLIS)
Działa, choć niesmak pozostał...

edytowany 2x, ostatnio: dargenn
Zobacz pozostałe 3 komentarze
Azarien
masz plusNanos. dodaj sobie 489000000 nanosekund :)
Koziołek
Milisekundy i mikrosekundy liczysz z nanosekund. Poza tym jestem ciekaw, kiedy ten test się wysypie :D
DA
Na środowisku z innym timezonem ;) Dlatego później jest jeszcze brany z tego Instant i ustawiana strefa, co powinno przeciwdziałać takim kwiatkom ;)
Koziołek
I dlatego potrzebujesz TimeService. Chyba, że to właśnie on.
sugar_hiccup
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 2 lata
  • Postów:176
2

title

Każdy taki pliczek od D0 do D53 zawiera praktycznie to samo.

Kopiuj
package com.ardublock.translator.block;

import com.ardublock.translator.Translator;
import com.ardublock.translator.block.exception.SocketNullException;
import com.ardublock.translator.block.exception.SubroutineNotDeclaredException;

public class D36 extends TranslatorBlock
	{

		public D36(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
		{
			super(blockId, translator, codePrefix, codeSuffix, label);
		}

		@Override
		public String toCode() throws SocketNullException {
			return codePrefix + "36" + codeSuffix;
		}
		
	}

My to na arm napiszemy wszystko i zrobimy co chcemy tyle że 90% kodu to biblioteki z netu albo robota kompilatora Zdajesz sobie sprawę że tak na prawdę wyższy poziom języka może świadczyć jedynie o tym jak niskim poziomem wiedzy może dysponować bałwan,który nazwie się w rezultacie programistą i napisze działający program wciskając zleceniodawcy że tam to akurat musi być 100MHz ARM z 1M pamięci bo tak na prawdę jego pusta łepetyna nie potrafi zrealizować czegoś na innym słabszym mikrokontrolerze
Shalom
Mam nadzieje że to wyszło z jakiegoś generatora ;)
Koziołek
@Shalom: szkolonego na bootcampie :)
robertwadowski
robertwadowski
wiadomo czym się kierował autor ?
Shalom
Nie no serio to wygląda jak z jakiegoś generatora parserów :)
nie100sowny
Ktoś kiedyś to wygenerował, poszedł do innej firmy i nowy zespół ręcznie edytuje i robi bugfixing :D :D :D To dopiero WTF.
PerlMonk
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa 🐪
  • Postów:1719
2

smbclient '\\zasób' -U uzyszkodnik -c "put kaczka.txt kaczka.txt" '---' 2>&1

W odpowiedzi otrzymałem
ntlmssp3_handle_neg_flags: Got challenge flags[0x60898205] - possible downgrade detected! missing_flags[0x00000010] - NT code 0xc0020057
session setup failed: NT_STATUS_MORE_PROCESSING_REQUIRED
did you forget to run kinit?

A tak naprawdę użytkownik nie istnieje.


Nie sztuka uciec gdy w dupie sztuciec. 🐪🐪🐪
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:8 minut
8
Kopiuj
Log.wtf(String tag, String msg)
//What a Terrible Failure: Report a condition that should never happen

https://developer.android.com/reference/android/util/Log.html


λλλ
hzmzp
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 2 godziny
  • Postów:620
1

Zapraszam do poczytania
https://www.assembla.com/home
A później zabawne jest tu

baant
Chyba że jest top secure of secures a można do czyjegos kodu wejsc z gugla
FL4RE
  • Rejestracja:prawie 6 lat
  • Ostatnio:około rok
  • Postów:21
0
Freja Draco napisał(a):

Pozwolę sobie skomentować komentarze odnośnie mojego powyższego WTF
x = 0.1 + 0.2; // -> 0.30000000000000004 - JavaScript rulez!

Tak, wiem że dwójkowa reprezentacja ułamków dziesiętnych może skutkować dziwacznymi wynikami. Walczyłam z podobnymi efektami już 20+ lat temu. Niektórzy komentatorzy pisali powyżej, coś w stylu "przecież to jest zapisywane w postaci dwójkowej, więc takie będą efekty", z czym pozwolę się sobie nie zgodzić, bo zapis wartości w postaci dwójkowej nie wymusza wcale, by operacje matematyczne z ich udziałem wykonywać zawsze po prostu na bitach.

Moje WTF tyczy się tego, że po ponad 20 latach nie widzę w tej kwestii żadnego postępu, a twórcy języka/implementacji nie widzą żadnego problemu w tym, żeby taki sposób przeprowadzania operacji stosować w języku "dla ludu", w którym ktoś mógłby chcieć np. podliczyć swoje rachunki.

A na koniec wkleję skrin z identyczną operacją przeprowadzoną w Basicu na prawie 40-letnim Commodore 64:

C64, basic, dodawanie

jako komentarz, dla tych, którzy uważają, że "tak po prostu jest, więc tak musi być".

To przez to w jaki sposób liczby zmiennoprzecinkowe są trzymane w pamięci.
Np. zapisując 0.1 w float (32bit) w pamieci zapisuje sie 0x3DCCCCCD co jest równe 0.10000000015

FL4RE
Kurcze, mialo isc jako komentarz :/
stivens
Kurcze juz o tym gadalismy
FL4RE
A to przepraszam
OtoKamil
  • Rejestracja:około 10 lat
  • Ostatnio:około rok
  • Postów:143
10

Wrzucanie filmiku promocyjnego z takim kodem like a boss

ifologia, null na nullu, komentarze i kod czasem po czesku, metoda na cały ekran (to jest chyba dopiero połowa tej ifologii), własne exceptiony (throws RohlikException), fajnie że Javę 8 odkryli bo widać filtry, szkoda że Optionala nie widać, widok na linii 275 a pasek przewijania na samej górze więc zakładam ok 1,5k linii w tej klasie, profil w IntelliJ - "production" :D
screenshot-20190921233953.png

edytowany 1x, ostatnio: OtoKamil
Berylo
na co dzień pracuję z Czechami. Dajcie spokój :D To co tu widzicie to normalka.
PerlMonk
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa 🐪
  • Postów:1719
1

title
Eee tssso? To w końcu Janki czy Warszawa i Blue City?


Nie sztuka uciec gdy w dupie sztuciec. 🐪🐪🐪
Zobacz pozostałe 20 komentarzy
Koziołek
@PerlMonk: to jest bardzo dobrze opisane. Nie jest to wiedza tajemna, ale wiedza zbudowana świadomością marki IKEA. To są te elementy, które w UX zazwyczaj wydają się głupie, ale w praktyce świetnie się sprawdzają dzięki innym działaniom firmy.
PerlMonk
Dobrze według jakiej miary? Czy jest jakaś komisja, która taką miarę ustala?
Koziołek
@PerlMonk: ponieważ tak to wygląda od wielu lat, a IKEA ma w zwyczaju reagować na sugestie klientów.
PerlMonk
Czyli wzięli sobie to z kosmosu :P .
Koziołek
@PerlMonk: ja bym chciał, by co dziesiąta firma brała sobie tak z kosmosu dane do UX, jak to robi IKEA. internet byłby znacznie lepszym miejscem.
Freja Draco
Freja Draco
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
4

mBank wprowadził bardziej złożony system uwiarygodniania klienta. Przy każdym logowaniu system "rozpoznaje moje urządzenie", co oznacza, że po prostu sadzi ciastko i do ponownego rozpoznania wymaga, żebym pozwalała mBankowi przechowywać u siebie te ciastka, co kłóci mi się z zasadami poszanowania prywatności.

Ten sam mechanizm po stronie banku nadaje mojemu urządzeniu tę samą domyślną nazwę, powiedzmy "Windows Firefox", jeśli raz dodam do zaufanych urządzenie o takiej nazwie, to przy kolejnym logowaniu nie mogę dodać go ponownie, bo... takie urządzenie już istnieje w systemie. Żeby się zalogować, tworzę zatem kolejne "Windows Firefox2", "Windows Firefox3", póki co doszłam do numeru 7 i od dwóch tygodniu niczego w tej kwestii nie naprawili.

Jeśli nie naprawią, to będę chyba przy każdym logowaniu monitować, że ich rozwiązanie jest nieprofesjonalne, a jego ew. obejście poprzez przechowywanie mBankowych ciastek narusza prywatność klientów.


Swoją drogą to nie jest pierwsze WTF jeśli chodzi o mBank w ciągu ostatniego roku i mam niestety przykre wrażenie, że bank, który 20 lat temu wyznaczał standardy w internecie ostatnio zatrudnia u siebie chyba jakichś informatyków na stażu :(

EDIT: Swoją drogą myślałam, że to ja mam problem, ale to co ludzie w ciągu ostatnich dni odnośnie mBanku raportują, to po prostu jakiś sajgon:
https://downdetector.pl/status/mbank/aktualnosci/268940-awaria-w-mbank

Się normalnie zaczynam zastanawiać, czy by się w końcu nie przenieść do jakiegoś normalnego banku z porządnym interfejsem ala pierwszy mBank.


edytowany 2x, ostatnio: Freja Draco
Zobacz pozostałe 49 komentarzy
cerrato
Nie wiem ile kodów, poza tym podejrzewam, że jest to jakoś szacowane w oparciu o sposób korzystania danego użytkownika. Oczywiście - jeśli nagle poczuję potrzebę puszczenia 50 przelewów, to zdrapki mi zabraknie. Ale - jak pisałem - przez kilkanaście lat ani razu nie miałem problemu z powodu braku kodu jednorazowego. Poza tym - jak pisał @Azarien - można mieć zawsze dodatkową kartę w zapasie.
somekind
"Akcja nie powiodła się" i zdarzające się 404 po kliknięciu w cokolwiek (nawet w "Wyloguj") to akurat jeden z ficzerów wielkiej zmiany GUI mBanku sprzed 5 czy tam 6 lat. Obstawiam, że to ma duży związek z frameworkami SPA. Co do problemów z mTokenem, to akurat nie blokuje to korzystania z banku. Ogólnie z mBankiem pod względem działania ich panelu użytkownika coraz gorzej, ale z drugiej strony to i tak najlepszy pod tym względem bank, z tych, które używam.
kzkzg
Czy zna ktos inny sposob jak moznaby zaimplementowac taka funkcjonalnosc zaufanego urzadzenia, nie przy pomocy ciasteczka?
cerrato
Jedyne co mi przychodzi do głowy to localstorage albo jakiś fingerprint. Przy czym to drugie jest ryzykowne, zwłaszcza w przypadku osób o bardzo zmiennym IP.
WL
  • Rejestracja:około 21 lat
  • Ostatnio:około 2 miesiące
  • Postów:1082
0
OtoKamil napisał(a):

/ciach/

własne exceptiony (throws RohlikException)

Przepraszam, ale to ma być coś niewłaściwego z definicji?
Dlaczego?

jarekr000000
extends MyCompanyBaseException To taki pattern, na który prawie każdy domorosły architekt wpada. Wydaje się fajny. I chyba nie jest uznawany oficjalnie za antypattern, ale nie widziałem systemu, żeby to nie przynosiło więcej szkody (chaosu w kodzie) niż pożytku. Przede wszystkim ogranicza/ zaciemnia korzystanie ze standardowych exceptionów (IllegalArgumentException, IllegalStateException etc.) .throws MyCompanyException jest poziom gorsze, bo w praktyce znaczy tyle co throws Exception - czyli... niewiele, poza upierdliwym zmuszaniem do propagowania tego nonsensu.
WL
Ej, no, ale pewnie zgodzisz się ze mną, że jeśli ktoś kto używa piły łańcuchowej do grzebania w uchu (i tak, przykrywanie standardowych wyjątków własnymi tworami to... nic dobrego), wcale nie znaczy, że piła jest fe. Prawda? Ja widzę inne (na pewno nie takie jak throws MyCompanyException) i sensowne zastosowanie dla własnych klas wyjątków.
jarekr000000
Poza tym, że w zasadzie nie uznaje juz wyjątków (ninnych niż runtime/panic ) za sensowne w kodzie. To nie widze specjalnych ani korzyści ani wielkich wad MyCompanyException(), ale jak napisałem : w praktyce zawsze widziałem degenerację kodu przez to, również w moich systemach (też ten pattern wymyśliłem).
WL
Widzisz, nie używam wyjątków (ja ich w ogóle nie lubię i np. za samo zło uważam ich nadużywanie, np. w celu kontroli programu) w innych przypadkach jak właśnie runtime/panic (czyli identycznie jak u Ciebie). Ale czasem mam sytuację typu panic, która aż się prosi o własną klasę wyjątku. A zdarza się to naprawdę niezmiernie rzadko. No dobra, wszystko jasne :)
danek
można by powiedzieć że IllegalStateException pasuje zawsze, bo skoro już wyjątek to znaczy że stan nie jest poprawny :D
Miang
  • Rejestracja:prawie 7 lat
  • Ostatnio:2 minuty
  • Postów:1659
0

Do tej pory nie używałam bibliotek boost w c++. Natrafiłam na kod gdzie jest używane uBLAS, no ok. Patrzę w kod a tam zdefiniowana funkcja operująca na wektorze z tej biblioteki , służąca do....... obliczenia jego długości. Biblioteka do operacji na wektorach i gostek nie pomyślał żeby poszukać czy takiej funkcji już nie ma. Przyznaję ze norm_2 to może mało intuicyjna nazwa, ale dało się wyszukać jeżeli się chwile pomyślało


dzisiaj programiści uwielbiają przepisywać kod z jednego języka do drugiego, tylko po to by z projektem nadal stać w miejscu ale na nowej technologii
Shalom
A może jednak był jakiś cel? :) Ja staram się zwykle zakładac, że moi koledzy z pracy nie są upośledzeni.
Miang
to student , mogło chodzić o ilość kodu żeby prowadzący olał sprawdzanie ;)
Freja Draco
Freja Draco
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
1

Twój zegar się śpieszy
Nie można nawiązać prywatnego połączenia z useme.eu, ponieważ data i godzina (niedziela, 6 października 2019 19:59:43) ustawione na komputerze są nieprawidłowe.

Co to za kretyństwo i czemu ma niby służyć? Mam taką godzinę w systemie, jaka odpowiada moim ciemnym interesom, a co w przypadku komputera z innej strefy czasowej? I w ogóle WTF?


Patryk27
Certyfikaty SSL (wykorzystywane m.in. do połączeń HTTPS) dla bezpieczeństwa wystawiane są na określony czas (na miesiąc, rok itd.) - stąd, aby móc je weryfikować, czas na komputerze musi być ustawiony poprawnie.
Freja Draco
Freja Draco
@Patryk27: A... chyba, że tak. No to faktycznie może mieć sens, jeśli ktoś przełącza sobie stary certyfikat na nowy powiedzmy o 12, a mój spieszący się komputer przez kilka minut widzi go jako nieaktualny. Dzięki za wytłumaczenie :)
cerrato
Sam kilka razy pomagałem koleżance w firmie, która sobie sprawdzała jakąś przyszłą datę na Windowsie przez klikniecie na zegarku w lewym dolnym rogu ekranu. I nieraz przypadkowo w ten sposób przestawiała datę systemową, a potem do mnie przychodziła z płaczem, że połowa stron jej nie działa. Tak, jak pisał @Patryk27 - certyfikaty wymagają poprawnego czasu po stronie klienta, żeby się zweryfikować.
Wibowit
Myślę, że problem jest bardziej złożony niż tylko czas lokalny ustawiony w kompie, bo przy sprawdzaniu certyfikatów dochodzą takie mechanizmy jak https://en.wikipedia.org/wiki/Certificate_revocation_list czy https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol . Jeśli pozmieniasz czas w kompie to przeglądarka dostanie schizofrenii - jedno źródło będzie twierdzić, że cert jest wygasły, a drugie że nie. Żeby tego uniknąć przeglądarka panikuje i rzuca błędem. Takie jest moje przypuszczenie :]
Delor
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 lata
2
Freja Draco napisał(a):

... Mam taką godzinę w systemie, jaka odpowiada moim ciemnym interesom, a co w przypadku komputera z innej strefy czasowej? I w ogóle WTF?

Ten komunikat mówi trochę więcej:

Ten serwer nie mógł udowodnić, że należy do useme.eu. Jego certyfikat bezpieczeństwa wygasł wczoraj. Może to być spowodowane błędną konfiguracją lub przechwyceniem połączenia. Zegar komputera jest obecnie ustawiony na niedziela, 6 października 2019. Czy to prawidłowa data? Jeśli nie, musisz skorygować zegar systemu, a następnie odświeżyć tę stronę.

Freja Draco
Freja Draco
Od lat funkcjonuję we własnej strefie czasowej (+10 minut), dzięki czemu nareszcie udaje mi się zdążać na spotkania itp.
Delor
Po niewłaściwych ustawieniach odsiewają boty? Smoki widocznie nie pasują do wzorca ;)
Azarien
@Freja Draco no tylko że zapewne nie masz w systemie zdefiniowanej takiej strefy czasowej, tylko po prostu źle ustawiony zegar (który „nie wie” że się o tyle spieszy)
Freja Draco
Freja Draco
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
1
Delor napisał(a):

Ten serwer nie mógł udowodnić, że należy do useme.eu.

No takie info dostaję pod FF, ale Chrome zdaje się sugerować, że to ustawienia zegara w mojej maszynie psują Internet ;)


vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
8

Zalozylem na AWS budzet na $5. Dostalem rachunek na $28.
Czy tylko dla mnie budzet w znaczeniu "wyslemy Ci info ale bedziemy dalej naliczac" jest WTFkiem?
A moze czegos nie kliknalem?

Mikan
Miałem to samo, budzet ustawiony na 1$, następnego dnia powiadomienie że do zapłaty 5$
WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:około godziny
  • Postów:3169
0

Mistrzostwo swiata - system do glosowania w Budzecie Obywatelskim Krakowa. Moga glosowac mieszkancy w dowolnym wieku w tym dzieci. ALE system wymaga podania unikalnego maila i telefonu. Wiec jak dzieciak nie ma jednego albo drugiego to nie da sie podac danych rodzica, tylko zostaje odciety od glosowania :O

Zobacz pozostałe 2 komentarze
PA
Marooned
czyli startery za piątaka, 10 minutes mail i zalewasz system głosami? :O
WhiteLightning
@Marooned: mozna, no ale chyba nie o to chodzi... Poza tym musisz pesel podac ktory sam w sobie powienien byc unikalnym kluczem.
Marooned
A, to o peselu nie wspomniałeś, stąd zdziwienie. W Poznaniu podajesz imię, nazwisko, adres i pesel. Telefon i mail są opcjonalne (wiadomo, nie podałem bo i po co).
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
1

Instalacja MySql 5.7.27 na Linux Mint 19 i podlączenie do Netbeans 10.

Owszem da sie, tylko trzeba iles tam stron przejrzec...

  • nic nie mowiace komunikaty bledow
  • roznica w timezone blokuje polaczenie
    Itd...

Polecam jako cwiczenie cierpliwosci.

edytowany 1x, ostatnio: vpiotr
cerrato
Trzeba było Postgresa :P
DA
Zalezy na jakie potrzeby, ale na takie deweloperskie to docker pull mysql:5.7. Plus kto z wlasnej woli uzywa netbeans... :D
Wibowit
Kiedyś używałem zarówno NB jak i Eclipse'a i NB miał znaczącą przewagę - mogłem zainstalować tyle wtyczek ile chciałem bez rozpieprzania IDE. Eclipse nie potrafiło (a może i dalej nie potrafi?) odizolować wtyczek (np osobnymi classloaderami) i w kółko dostawałem konflikty zależności.
KL
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 miesiące
  • Postów:191
1

Ponad 10 lat doświadczenia i...

Kopiuj

var concreteObject = null;
foreach (var id in ids) 
{
   var record = repository.GetRecord(id); // Woła db przy każdym ID, 
   // ustawianie właściwości obiektu 
   mapper.Map(record, object) // Poprawnie mapuje, 
   _context.Records.Update(record);
   _context.SaveChanges();

} 

Na bulk update zwrócił uwagę, jak już poprawki wpadły...
Ale może to dlatego, że robi z juniorami, i nie chce przesadnie komplikować ;)

UglyMan
Kto normalny przejmuje się taki rzeczami o 4.47 w sobotę.
WL
Dlaczego uważasz, że jesteś normalny ponieważ nie przejmujesz się takimi rzeczami o 04:47 w sobotę?
KL
Spać nie mogłem i tak mi do głowy wpadło. Normalka u mnie, bo ja z reguły spać nie mogę w takich godzinach. A współpracownik mnie zaskakuje dzień w dzień, tylko nie tak, jakbym tego chciał :(
YA
  • Rejestracja:prawie 10 lat
  • Ostatnio:39 minut
  • Postów:2368
0

Dziś rano zobaczyłem taki model: screenshot-20191022200408.png
Przyznam się, że nie zrozumiałem zamysłu autorów tego cuda. Podejrzewam, że chodziło im o zwykłą klasę asocjacyjną dla Foo i Bar, a nie o kompozycję.

MarekR22
Potrafię sobie wyobrazić przypadek, gdzie to ma sens.
YA
@MarekR22: a podzielisz się takim przypadkiem? Moje wątpliwości budzi głównie to, że Baz w takim modelu ma 2 "masterów" i cykl życia zarządzany przez 2 różne encje, co chyba kłóci się z ideą kompozytu. Ten sam pokój (ręka) w 2 różnych budynkach (osobach)? Agregację jeszcze bym zrozumiał.
MarekR22
@yarel: zwróć uwagę, że tam są pełne diamenciki. To nie jest dziedziczenie, ale kompozycja (zawieranie), wiec nie ma "diamond problem".
YA
@MarekR22: nie o "diamond problem" w dziedziczeniu mi chodziło, tylko o te ciemne diamenciki (kompozycję). Taki model pozwala na to, by jedna instancja "baz1" była "zarządzalna" przez 2 różne instancje: "foo1" i "bar1". Dla mnie WTF jest to, że jeśli instancja foo1 umiera, to w kompozycji powinna też umrzeć instancja baz1, ale z drugiej strony "życie" baz1 nie powinno wychodzić poza życie "bar1", co jest spełnione, ale zarządzanie jest rozsmarowane.
KR
Moderator
  • Rejestracja:prawie 21 lat
  • Ostatnio:dzień
  • Postów:2964
12

Orange mi doprowadził światłowód do studzienki obok domu i są efekty:

screenshot-20191028144740.png

Boję się myśleć, ile będzie, kiedy go podłączą :D

Zobacz pozostałe 3 komentarze
cerrato
No to system zbuforuje do czasu, aż dyskietka się rozkręci. Tylko trzeba przynajmniej 4GB RAM do tego posiadać.
Marooned
Żeby Ci grzywki nie zwiało jak odpalisz przeglądarkę.
PerlMonk
Jaki jest kolor studzienki? Nie czarny przypadkiem?
vpiotr
Moze zwolnic
Silv
@PerlMonk: jeśli masz na myśli to samo, co ja, to +1.
WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:około godziny
  • Postów:3169
1

Robie duze testy wydajnosciowe e2e ktore ida jak po grudzie. Wielu rzeczy sie spodziewalem ale nie ze AWS padnie ...

hauleth
Wszystkim się zdarza, zwłaszcza jak nie ma odpowiedniej redundancji.
WhiteLightning
@hauleth: ja nie mam do nikogo pretensji. shit happens. Po prostu mam nauczke ze cloud tez bywa zawdony.
grski
problemy dziś były chyba tylko w jednym zonie z tego co ja doświadczyłem eu-central-1c, 1a i 1b były spoko -> może pora na multi zone redundancy na prodzie 8)
WhiteLightning
@grski: to jest jeden level przed prodem.
stryku
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad rok
  • Postów:607
4

Właśnie zobaczyłem taki kawałek kodu w projekcie komercyjnym :/
Poszedłem zalać yerbę, żeby trochę to rozchodzić.

Kopiuj

struct Foo
{
    std::vector<Bar> samples;
};
...
Bar Baz::point(int index) const
{
    for(auto it = mFoo.samples.begin(); it != mFoo.samples.end(); ++it, --index)
    {
        if(index == 0)
        {
            return { it->first, it->second };
        }
    }

    return {};
}
Sarrus
Bo zwykłe odwołanie po indeksie jest nudne ;)
cerrato
I odwieczne pytanie - co autor miał na myśli ;) Ale podejrzewam, że może to z czegoś wynikać. Wcześniej być może ten kawałek robił jeszcze X innych rzecz, potem poleciał refactor, część przenieśli w inne miejsce, ale nie do końca zostało posprzątane.
vpiotr
Z drugiej strony std::vector.front opisane jest jako "Calling this function on an empty container causes undefined behavior.". Thanks for nothing!
KR
To w c++ nadal nie m czegoś takiego jak frontOption?
ZA
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 5 lat
  • Postów:11
1
Kopiuj
pl.bazus.shared.wiadomosci.service.PodgladWiadomosciService.getUzytkownicLabel(PodgladWiadomosciService.java:105)
pl.bazus.shared.wiadomosci.service.PodgladWiadomosciService.getPodgladWiadomsciDto(PodgladWiadomosciService.java:87)
pl.bazus.shared.wiadomosci.service.PodgladWiadomosciService.getWiadomosc(PodgladWiadomosciService.java:39)
pl.bazus.shared.wiadomosci.service.PodgladWiadomosciService$$FastClassBySpringCGLIB$$671f52f3.invoke(<generated>)

Fragment stacktrace softu który jest używany przez co 3 uczelnie w Polsce. Poza tym system pozwala pobierać dane innych użytkowników. Co poważnie narusza RODO :D

edytowany 1x, ostatnio: zaylin
danek
PodgladWiadomosciService
superdurszlak
pal licho ponglisz w kodzie, nawet w polskich fragmentach są błędy i literówki -> Uzytkownic, Wiadomsci :D
somekind
Są jakieś IDE ze spellcheckerem do polskiego? :P
PerlMonk
Intellij umie.
Sarrus
UWAGA! Oglądanie tego zagraża twojemu życiu lub zdrowiu!
PerlMonk
Czytał Tomasz Knapik
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:22 minuty
  • Lokalizacja:Tuchów
  • Postów:12166
3

Tak wygląda w praktyce j****y syf o nazwie agar.io:

syf.png

Zatnie się całkowicie w połowie gry i zaczyna zżerać RAM bez opamiętania. W przykładzie powyżej gdy gra się zacięła, szybko właczyłem menedżer zadań i obserwowałem co tam się dzieje – skok zużycia pamięci trwał ze 20 sekund, przeglądarka doładowała ponad 500MB (aż do stanu ze zrzutu), po czym zużycie pamięci po odwieszeniu gry nagle spadło do około 800MB. Przy czym Firefox w wersji którą używam sam w sobie alokuje około 300MB.

To już ludzkie pojęcie przechodzi jacy mentalni inwalidzi zabierają się za gamedev… :d

  • syf.png (85 KB) - ściągnięć: 168

Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
Zobacz pozostałe 18 komentarzy
Marooned
bubble.am jest wycięte chyba, na FF nie łączy się z serwerem, w konsoli Firefox nie może nawiązać połączenia z serwerem ws://164.132.206.115:759/. i socket error
flowCRANE
No to w takim razie tym bardziej można go olać.
discoStar
@furious programming: napisałeś ten artykuł? :)
flowCRANE
A gdzie tam… pół dnia by mi to zajęło – szkoda czasu. :P
discoStar
szkoda, bo byłem ciekaw. Pozdrawiam :)
Freja Draco
Freja Draco
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
1
furious programming napisał(a):

Tak wygląda w praktyce j****y syf o nazwie agar.io:

Graj w http://bubble.am


Zobacz pozostałe 4 komentarze
Freja Draco
Freja Draco
@PerlMonk: No. Ostatnio dodałam u siebie tę domenę do zablokowanych.
flowCRANE
@PerlMonk: jeśli już to graj w oryginał, bo ma znacznie lepiej wyważoną rozgrywkę – masy jest na tyle mało, że trzeba chwilę pograć aby urosnąć. Ale z drugiej strony, nie graj w to – tryb FFA jest zdominowany przez cheaterów łączących się w pary i wykorzystujących masowo tworzące się boty, aby szybko urosnąć i zjadać wszystkich. Sam grywam jedynie w trybie Teams, ale tam też jest masa botów i cheaterów, którzy łączą się w pary z przeciwnikami (np. zielony z czerwonym) i robią to samo co w FFA. Grywam w nią od początku jej powstania – znam całą jej historię.
flowCRANE
Ogólnie to nie ma sensu – szkoda nerwów. Gra nie dość że ssie i ciągle się zacina, jest beznadziejnie zaprojektowana z masą debilnych pomysłów, to w dodatku opanowana przez boty i idiotów nieustannie psujących zabawę innym graczom. Aż dziw że w epoce kopiowania pomysłów nikt nie zrobił dobrego klona, wykorzystującego oryginalny pomysł na mechanikę.
PerlMonk
@furious programming: Taa, znam ten problem. Czasem dochodzi się do pewnej masy i koniec, od razu zlatuje się kilku i psują zabawę. Z tym klonem faktycznie dałoby się coś zrobić. Nie ma tam nic takiego, żeby tak obciążać komputer.
flowCRANE
Wystarczy się zalogować na FFA i od razu widzi się kilku graczy wielokrotnie większych od ekranu – samemu praktycznie nie ma szans pokonania ich. Nie ma szans bycia wielkim, bo co chwilę grupki graczy zlatują się i zjadają każdego, nie ważne czy mniejszego czy większego.
GigaBajt
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 3 lata
  • Postów:37
3

Słabo chyba im produkty na tym sklepie schodzą, bo na lepsze serwery nie uzbierali :P
title

ZA
kolejka jak to w sklepie nie widzę nic dziwnego :D
Potat0x
  • Rejestracja:ponad 8 lat
  • Ostatnio:18 dni
  • Postów:370
1

Piszę algorytm, uruchamiam. Widzę, że program się zatrzymuje (w znaczeniu: jest uruchomiony, ale gdzieś zablokowany) - w pewnym momencie nic się nie dzieje, ale też nie wywala żadnego wyjątku. Wut?
Znalazłem miejsce "zawieszenia się", wygląda na to, że Java zbugowała się na operacji arytmetycznej :D

Rozwiązanie tej zagadki:

  • w operacji arytmetycznej wychodziłem za zakres tablicy
  • z jakiegoś powodu IntelliJ nie wyświetlał rzucanego wyjątku (lub tego nie zauważyłem, ale mało prawdopodobne)

To było niesamowite, przeżyć takie wtf :D

MarekR22
gdzieś tam musiałeś mieć jakiegoś zachłannego try catch, który łapał ten wyjątek.
PerlMonk
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa 🐪
  • Postów:1719
0

Skoro narysowane zero ma odwagę przyznać się do spłodzenia buga, to mogę i ja mieć.
Skompilowałem program w C i testowałem zmiany. Zadzwonił kolega spytać jeszcze o jakiś test. Żeby nie ruszać konfiguracji ani logów, skopiowałem całą apkę do innego katalogu i uruchomiłem. Program uruchomiony w nowym katalogu nie generował w nim żadnych logów do pliku. WTF? Przecież zmieniłem to w konfiguracji. Oczywiście PEBCAK: logi trafiały do katalogu, który był ustawiony przez polecenie configure a binarka przecież ta sama. Potem już wiedziałem co z tym robić :) .


Nie sztuka uciec gdy w dupie sztuciec. 🐪🐪🐪
Sarrus
nie każdy tutaj jest w temacie c i jego poleceń
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)