Programistyczne WTF jakie Was spotkały

Programistyczne WTF jakie Was spotkały
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 godziny
3

Ponarzekam na procedurę instalacji i aktualizacji Windows 10.

Był sobie 64-bitowy Windows 8. Potem zaktualizowany do 8.1, potem do 10 - niedługo po premierze. Aktualizacja przebiegała bez problemu. Jednak w żadnym z wymienionych nie działa hibernacja na tym komputerze (zawiesza się na startowym logu Windowsa).
System był jednak rzadko odpalany (patrz niżej). Chciałem go jednak zaktualizować do wersji 1511. Nic z tego - nie pojawia się w Windows Update ta opcja, za to mam możliwość powrotu do Windows 8.1, która rzekomo jest dostępna przez miesiąc od instalacji dziesiątki. Czy ten miesiąc jest liczony jako 31 dni „roboczych” systemu? Bo kalendarzowych minęło pół roku.

WU odnajduje też "aktualizację zbiorczą" z grudnia 2015. Ściąga się, instaluje, chce restartu, restartuje się ze trzy razy, dostaję komunikat że nic z tego, uruchamia się normalnie. Po czym znowu instaluje aktualizację w tle, chce restartu, restartuje się trzy razy, nic z tego. Uruchamia się, instaluje... itd.
Opcji ignorowania konkretnego patcha niet.


Ten sam komputer, inna partycja. Windows 7 32-bitowy. Hibernacja działa. Wpadłem na pomysł zaktualizowania do 10 - może w 32-bitowej wersji Win10 hibernacja będzie działać? Standardowy aktualizator pisze że „niestety” procesor nie jest obsługiwany. No jak nie jest obsługiwany, skoro 64-bitowa wersja zainstalowała się na tym samym komputerze i działa? (no, prawie) Problem okazuje się znany, ludzie taki błąd dostają na i5 czy na i7, więc to bzdura jakaś. Proponowany patch jednak nie pomaga. Uruchamiam przez "media creation tool". Dobra, ściąga. Idę spać. Rano po ogarnięciu tematu przewróconej choinki i sprzątnięciu pobitych bombek, zobaczyłem że aktualizator stoi i cierpliwie czeka na potwierdzenie umowy licencyjnej. Noż..

„Sprawdzamy czy wszystko gotowe, może to potrwać kilka minut” - pomijając że irytuje mnie ten „przyjazny” styl wypowiedzi który pojawił się za czasów Windows 8 (a który jest widoczny też w angielskiej wersji, więc to prikaz odgórny), to trwało to nie kilka minut a kilka godzin.
Po czym musiałem coś kliknąć-potwierdzić, zaczął ściągać jakieś aktualizacje, i znowu „sprawdzamy czy wszystko gotowe”.
W końcu po którymś już potwierdzeniu zaczęły się procenty, więc to chyba „już”. Odruchowo zamykam laptopa i wychodzę z domu.
Wracam po trzech godzinach, zerkam na laptopa i widzę że dioda mruga. Dziad się uśpił od zamknięcia pokrywy. Mimo że była ta funkcja wyłączona (zawsze mam zamknięcie pokrywy na „nic nie rób”).

Microsoft wciska Windows 10 na siłę, ale coś bardzo nie chce żebym zaktualizował 7 do 10...

xeo545x39
Przez kreskę po środku mój mózg myślał, że reszta to stopka/podpis i go zignorował w pierwszym momencie.
AF
„Opcji ignorowania konkretnego patcha niet” — polecam narzędzia powershella do zarządzania aktualizacjami, można instalować i ukrywać wybrane.
Azarien
UPDATE: system się zainstalował, działa, hibernacja też działa, tylko tym razem zachciewa mu się aktualizacji KB3054982 do "Project Server 2010". czegoś czego nie mam, nigdy nie miałem, i co istnieje tylko w wersji 64-bitowej a to jest 32-bitowy system. i aktualizacja się oczywiście nie instaluje.
KA
irytuje mnie ten „przyjazny” styl wypowiedzi no te pranie mózgu i sweet brokacik wszędzie
Koziołek
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Stacktrace
  • Postów:6821
1

Wordpress to jest jakieś dziecko kinderscripterów z chorobą sierocą...

Kopiuj
$target = rtrim($target, '/');
if ( empty($target) )
	$target = '/';
if ( file_exists( $target ) )
	return @is_dir( $target );

Jeżeli nie ma dostępu do / to zaczyna napierdalać logami... od wczoraj 700GB. Ja się pytam dlaczego apka o której wiadomo, że będzie uruchamiana w środowiskach o wysokich obostrzeniach dostępu robi coś takiego?


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
Zobacz pozostałe 16 komentarzy
DE
FE
@somekind Co w takim razie proponujesz zamiast WP? Usługi typu blogger?
somekind
Jakiś static site generator, np. Jekyll.
KamilAdam
albo Hugo w GoLang
merlinnot
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 5 lat
  • Lokalizacja:Wrocław
  • Postów:292
0
Kopiuj
const delim = []byte("#")

const initializer ([]byte)("#") is not a constant

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 godziny
1

Dalszy ciąg posta wyżej o aktualizacji Windows 10.

Dałem sobie spokój z nieinstalującą się grudniową „aktualizacją zbiorczą”. Postanowiłem zaktualizować 64-bitowy Windows 10 RTM do nowszego builda zwanego „Windows 10 wersja 1511” przy pomocy “Media Creation Tool” (normalnie z jakiegoś powodu nie pojawia się opcja).

Po dłuższej chwili zobaczyłem ekran „przywracanie poprzedniej wersji Windows”. Oj, niedobrze. Po paru minutach restart, i znowu „przywracanie”. I restart i „przywracanie”. Oj, bardzo niedobrze.
Najgorsze że nie pokazuje się menu startowe, i nie mogę wybrać drugiego systemu zainstalowanego na komputerze, by jakoś zapanować nad sytuacją. Laptop się scegłował.
Pozostaje mi „pożyczyć od przyjaciela” instalacyjny obraz systemu (już w wersji 1511). Suma SHA się zgadza, „wypalam” go na karcie SD.
Spod instalatora mam możliwość odpalenia 32-bitowego Windowsa na drugiej partycji - dobrze, mogę zgrać dane z „64-bitowej” partycji, i odczytać cd-keya gdyby był potrzebny do reinstalacji... nie, tego ostatniego nie mogę, jest odmowa dostępu do plików rejestru. WTF. Plik skopiować się udało dopiero pod odpalonym z USB Linux Mint.
Serial okazał się identyczny w obu kopiach Windows 10 (32- i 64-bitowej) na laptopie. Dziwne, bo oba systemy mają zupełnie różną historię (jeden był zainstalowany jako Windows 7, drugi jako Windows 8). Mam nadzieję że to nie będzie powodowało problemów z aktywacją, bo wygląda tak jakbym miał dwie kopie z tym samym serialem - mimo że obie miały (pierwotnie) osobne licencje.

Wracam do windowsowego instalatora. Po raz pierwszy w życiu, nie mając innego wyjścia, robię „formata” by przeinstalować windę.. Sama instalacja się wykrzaczyła błędem kopiowania pliku gdzieś w połowie. Za drugim razem tak samo. Po kilku podejściach (nagraniu karty na nowo, sprawdzeniu jej chkdskiem) zmieniłem czytnik SD - tym razem przeszło do końca. Kolejny WTF, chociaż nie wiadomo po której stronie.

Microsoft w nowym buildzie Windows 10 „naprawił” niedziałającą hibernację. Naprawienie polega na tym, że zamiast zawieszać się, to.. nie działa. Po prostu nie ma takiej opcji, mimo że jest niby włączona. Czyli wiedzą że nie będzie działać, ale zamiast naprawić to wyłączyli.

hzmzp
Jak ja musiałem zrobić "kilka" update na win7 żeby odpalić taka jedna appka to aktualizacje leciały przez cały dzień a komp na SSD z kilku sekund wstawał ponad dwie minuty... Teraz boję się klikać update do win10 :D
stryku
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad rok
  • Postów:607
0

user image

Nie wiem czy się cieszyć czy martwić, że takie rzeczy wyłapuję

edytowany 1x, ostatnio: stryku
Zobacz pozostałe 3 komentarze
Shalom
To już zależy co potem się z tą tablicą dzieje ;)
stryku
Przecież im większy licznik jakiegoś znaku tym większy błąd będzie się nakładał, w końcu może dojść do sytuacji, że będziemy mieli błędny wynik. Nie rozumiem co ma do tego to co się potem dzieje z tablicą (:
Shalom
Bo ja tam nie wiem co ten kod miał liczyć, może specjalnie tak ktoś dobrał typy :P
ShookTea
A ja mam teorię, że to po prostu miało "hakiersko" wyglądać, ale ja się nie znam.
stryku
@ShookTea no to chyba przede wszystkim (:
xeo545x39
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Kosmos
  • Postów:1571
1

user image


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał
dzek69
Nie przychodzi mi do głowy żaden pomysł co mogło spowodować taki efekt o.O
no_solution_found
może jakiś generator? :P
Koziołek
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Stacktrace
  • Postów:6821
1

Wśród różnych rzeczy które robię mam też "dbanie o sonara", czyli robienie dobrze excelowi klienta z jakością kodu. Sprawdzam ci ja dzisiaj status i widzę dużo czerwonego. Część jest ok, bo będzie jeszcze czas by to ogarnąć, ale jeden element mnie urzekł...

Kopiuj
try{
    result.add(some.getTV().getT().getRC().getName());
    result.add(some.getTV().getT().getRC().getIden());
}catch(NullPointerException e){
    result.add("");
    result.add("");
}

TV, T, RC to skróty z klasy w oryginalnym kodzie jest pełna nazwa. Popełnił to nie junior.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
Shalom
Łapanie NPE to hardkor, ale samo takie przeciekanie to też słaba sprawa. Tylko ze pewnie nie ma jak tego łatwo poprawić. Zmieniłeś to, jak zgaduje, na Optional.ofNullable().map().map().map().map().orElse() ?
Koziołek
Na razie odpuściłem, bo nie mam teraz na to czasu. Zrobiłem ticketa i tyle. Nie umknie. Samo przeciekanie nie jest tu jakimś dużym problemem, bo mamy plan poprawy całego modelu by ograniczyć tego typu kod.
hauleth
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:8 dni
1

Szczerze zastanawiałem się gdzie to dać, ale sądzę, że tu będzie chyba najlepiej:

https://www.reddit.com/r/linux/comments/43ls7j/no_post_after_rm_rf_systemd_uefi/

Podoba mi się jak wszyscy zrzucają winę na systemd, bo przecież to ich wina, że producent sprzętu jest idiotą.


hzmzp
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 8 godzin
  • Postów:619
0

Magia wordpresa... By zabezpieczyć to sito z kolegami ograniczyliśmy dostęp do bazy do select i czytanie plików - cudownie bo przez rok nie patrzyliśmy tam i było pięknie, niestety nadszedł czas zaktualizowania treści strony, po 4h zdjętych zabezpieczeń wgrało się jakieś g**no i próbowało spamić przez exim4, skapnęliśmy się po 3 dniach bo coś zaczęło dojeżdżać server :D ale nic nie wyszło bo jedyne porty jakie wychodziły to 80 xD

no_solution_found
a WP i dodatki macie aktualne?
hzmzp
szczerze to nie wiem :D ale stary, exploit ładuje się do /wp-includes/Text/Tiff.php
no_solution_found
Jak ma się nieaktualna wersję, to samemu się prosi o takie ataki :p WP sam w sobie jest bezpieczny, ale pod warunkiem że jest aktualny oraz dodatki są aktualne oraz dobrej jakości :p
DE
  • Rejestracja:ponad 9 lat
  • Ostatnio:10 miesięcy
  • Postów:1788
3

Nie jest to typowy WTF, ale zadumę miałem niezłą. Pracuję wczoraj z PHPExcel i ku mojemu zdziwieniu

Kopiuj
strpos('<', $data)

zwracał mi cały czas false mimo to, że ten char tam był. No więc debugguje.. Porównuję ASCII, zapisuję do pliku na różne sposoby, raz zwraca to co powinien raz nie itd. Co się okazało? Że szukałem stogu siana w igle (tzn. PHPExcel szukał). Zostały odwrocone argumenty.. Był to bug, który został naprawiony, ale nikt od tamtego czasu nie aktualizował biblioteki. :D

edytowany 2x, ostatnio: Desu
Sarrus
to jest WTF ;)
dzek69
Cóż, PHP. Podobne funkcje mają inną kolejność argumentów. I tak dobrze, że ta funkcja nie była zaszyta w jakimś ifie, który przechodzi raz na milion, a developer nie zapisał tego jako str_pos, bo niektóre funkcje przecież mają podkreślenie w nazwie, a niektóre są pisane razem - wtedy by się całkiem wywalało :p (choć w teorii lepszy bug, w którym kod się nie wykonuje niż kod który wykonuje się niezgodnie z założeniami).
fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

WTF kompilatora (chociaz nie wiem jak dziala to dokladnie i moze to ma tak dzialac)

C#, WPF. Robilem sobie Grida. i na dwoch polach mialem dwie takie same nazwy zmiennych definiowane w ten sposob

pierwszy

Kopiuj
                    <Border Grid.Column="5" Grid.Row="14" BorderThickness="0.5" BorderBrush="Black">
                        <TextBlock Padding="8 2 0 2" x:Name="tbCO2Week"></TextBlock>
                    </Border> 

drugi

Kopiuj
                    <Border Grid.Column="5" Grid.Row="17" BorderThickness="0.5" BorderBrush="Black">
                        <TextBlock Padding="8 2 0 2" x:Name="tbCO2Week"></TextBlock>
                    </Border> 

kod sie kompilowal bez problemow (!!!)

pozniej oczywiscie strona sie crashowala a ja glupi nie wiedzialem czemu

(musialem tak definiowac datagrida. Tak wiem ze, sa lepsze sposoby na zrobienie tego)

edytowany 1x, ostatnio: fasadin
Zobacz pozostałe 6 komentarzy
szarotka
@fasadin wyluzuj :)
fasadin
@szarotka idz shaloma meczyc a nie mnie :D
szarotka
ale tyś spięty
fasadin
spoko, po prosze zone by mnie rozmasowala ;)
flowCRANE
@fasadin - koniecznie słownikiem ortograficznym ;P
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 godziny
3

Microsoft nie potrafi się zdecydować jak powinno wyglądać Direct3D, bo z wersji na wersję na nowo przekombinowuje.

W ramach testów napisałem program który inicjuje Direct3D kolejno we wszystkich wersjach. Na razie mam wersje od DirectX 6 do 12.

W każdej wersji inicjuje się Direct3D inaczej: nie wystarczy zmienić cyferki; zmieniają się nazwy funkcji, ich parametry, wartości tych samych stałych w enumie (!), ilość funkcji które trzeba kolejno wykonać - a to dopiero inicjacja.

Marooned
Liczba funkcji, nie ilość ;-)
pylaochos
*inicjalizacja.
Kooneer
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 8 lat
  • Lokalizacja:Zabrze
  • Postów:47
0
Sarrus
To NIE JEST WTF. To jest kod wygenerowany. Kod generatora jest w tym samym repo
Lectre
Trzeci raz widzę już to na tym samym forum :P
Kooneer
Ehh, rzeczywiście generator:(
8

user image

Sarrus
to chyba jakiś żart jest?
dzek69
A o co dokładnie chodzi? O to, że gość streamuje programowanie czy o fakt, że generuje w javascripcie plik PHP?
DE
Dobre rozszerzenie .php.js, prawie jak u mnie jQuery.php :D
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 6 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10051
0

Oglądałem sobie film "Marsjanin". Nie wiem czy informatyk na tym statku kosmicznym jest jakimś guru formatów plików obrazów czy co? :D

not jpg.jpg

Oprócz tego że (mimo że komunikacja z marsem trwa ~ 40 minut) w filmie ludzie piszą wiadomości typu
How's mars?
albo
Alright, buddy
komunikując się z inną planetą, albo wspomnianych guru jpega zostają całkiem fajne wrażenia

edytowany 1x, ostatnio: Riddle
msm
Może to deus? Pewnie poznał mp3 którego chwilę wcześniej słuchał.
Azarien
plik można poznać po początku. ciekawostka: pod rozszerzeniem .jpg mogą się kryć dwa niekompatybilne kontenery: JFIF i Exif. albo hybryda obu.
Kooneer
NIE MA obrazka?:(
Koziołek
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Stacktrace
  • Postów:6821
4

Ukrainiec płakał, ze szczęścia, jak commitował. Polak płakał, z radości, jak robił CE-Erkę... a mi opadły witki.

Krótkie wprowadzenie teoretyczno-środowiskowe. W zespole używamy dwóch różnych metod analizy kodu. Pierwsza to sonar. Nazwijmy ją codzienną. Jest to w miarę wyprostowane, z dokładnością do kilku rzeczy, które zostawił #germańskiprogramista. Tego nie ruszamy; zastosowaliśmy wzorzec projektowy "opakowanie gówna w celofan". Sonar ma to do siebie, że jest tam jakiś oficjalny profil do którego musimy się stosować. Mamy wyznaczone poziomy ile czego może być i jest OK.
Drugim narzędziem jest analiza prowadzona przez Veracode. Zewnętrzny dostawca, ma papier na robienie testów i testy te są uznawane za "spełniające wymagania audytu". Puszczamy to raz na 6 tygodni przed releasem. W praktyce oba narzędzia się uzupełniają...

Dziś otwieram raport veracode, bo trzeba posprzątać przed releasem i mam tam coś oznaczone jako High (przedostatni poziom). W dodatku nowe. Ok lecimy do kodu, a tam taki oto ulepek:

Kopiuj
jdbcTemplate.query(String.format(HEADER_DATA_SQL, ids), handler);
jdbcTemplate.query(String.format(BODY_DATA_SQL, ids), handler);

ids leci przez wszystkie warstwy bezpośrednio z formularza wypełnianego przez użytkownika. Najlepsze jest to, że nie idzie tego jakoś rozsądnie naprawić, bo sql-ki są skomplikowane i z wielokrotnie zagnieżdżonymi warunkami in... ech... a wystarczyło napisać funkcję, która by to zrobiła.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
0

Pewnie kod na zajęciach :) Miał za zadanie uruchamiać notatnik i kalkulator

user image

Nie prościej by było takie coś zrobić zamiast tak wydłużać kod

user image

dzek69
A dlaczego nie @notepad &amp; calc - fajnie, że chciałeś się pochwalić, że potrafisz skrócić kod i pokazałeś tym n00bom, ale wciąż da się lepiej ;] Poza tym - Twój kod i ich kod nie jest jednoznaczny. Oni uruchamiają program spod konkretnej ścieżki, a kto Ci da gwarancję, że u użytkownika "programu" w %path% nie będzie wcześniej jakiegoś innego, niż systemowy notepad? Albo, że zostanie stworzony alias? Niestety, pała za cwaniakowanie, siadaj i przyprowadź jutro rodziców :D
dzek69
(Nie mówię, że ich kod, naiwnie zakładający, że Windows jest w C:\Windows jest perfekcyjny)
DE
"pała za cwaniakowanie, siadaj i przyprowadź jutro rodziców :D" made my day :D
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 6 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10051
0
Kopiuj
    private function _getReadConnectionDescription()
    {
        switch ($this->_params['type']) {
            case self::TYPE_PROCESS:
                return 'Process '.$this->_params['command'];
                break;

            case self::TYPE_SOCKET:
            default:
                $host = $this->_params['host'];
                if (!empty($this->_params['protocol'])) {
                    $host = $this->_params['protocol'].'://'.$host;
                }
                $host .= ':'.$this->_params['port'];

                return $host;
                break;
        }
    }

W bibliotece z której korzystam (już pomijając to chore sprawdzanie wartosci w switchu) jest masa takich funkcji w których w każdym (! każdym !) switchu jest return $coś; break;.

hzmzp
Nie rozumiem o co ci chodzi jest dobrze napisane, śmieszy mnie tylko to getRead....
Riddle
return $cos; break; jest spoko?
dzek69
tak, w niczym nie przeszkadza, jest czytelniej, a IDE się może pluć za brak breaka
Riddle
Mi by przeszkadzało, i nie uważam że wcale nie jest czytelnej bo "break" sugeruje że kod PO switchu jeszcze się może wykonać, ii przy okazji gratuluje IDE jeżeli się sra za brak break'a.
spartanPAGE
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 16 godzin
3

(bluehost)
wtff.png

edytowany 1x, ostatnio: spartanPAGE
hzmzp
a niedługo będziemy książki przeklepywać jako hasła XD
dzek69
osobno walidacja hasła po stronie klienta i serwera?
szarotka
  • Rejestracja:ponad 9 lat
  • Ostatnio:około 2 miesiące
  • Postów:533
10

Mnie kiedyś kolega zapytał:

Dlaczego te pliki '*.class' mają takie dziwne kodowanie?

Zobacz pozostały 1 komentarz
szarotka
No co miałam odpowiedzieć. Powiedziałam, że są to skompilowane klasy javove do bytecodu. Meritum nie było wnikanie w szczegóły, meritum było, że zrobił w eclipse szukaj, otworzyl ten plik i chciał go edytować.
szarotka
P.S.: Fajne te twoje studia, mnie to niczego mądrego nie nauczyli a sam wiesz że ja to z tych opornych, którym lepiej idzie jak ktoś wskaże kierunek.
Shalom
@szarotka ale wiesz że te pliki DA się edytować? Jeśli się tylko potrafi ;]
szarotka
Wiem, czemu robisz ze mnie blondynkę?
Marooned
Formalnie wszystko da się edytować jeśli się potrafi. Nawet kod w Malbolge.
woolfik
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 8 godzin
  • Postów:1595
5

Z cyklu relacje w bazie danych ...
Tabela nazwijmy ją: CMP - około 20 różnych kolumn uzupełnianych z formatki - tu problemu nie ma
Tabela nazwijmy ją: DMP - 3 kolumny: 1 - ID, 2 - nazwa , 3 - XML - wyboldowane bo tu jest magia

Teraz z poziomu UI można wpływać na zmianę poszczególnych kolumn w CMP (edity, combo itd. nic nadzwyczajnego) ale po naciśnięciu "zapisz" również prócz update na CMP odpala się blok kodu z UI generujący XML z listą kolumn zmienionych w CMP i ten XML zapisywany jest w DMP więc mamy np coś takiego CMP.Kol1 = 'ALAMAKOTA" i DMP.XML = <Kol1>AlaMaKota</Kol1>. Z uwagi, że w CMP jest blisko 50 kolumn to XML w DMP ma około 50 bloków <>.

Teraz pytanie co dalej ... otóż DMP.XML jest swojego rodzaju słownikiem / kluczem obcym do tabeli CMP więc jak sobie z combo user wybierze jakiś rekord (oczywiście w UI wyświetla się DMP.nazwa) to zmieniane są parametry CMP.Kol1...Kol2 parsując DMP.XML ...

Jakby nie można było dorobić pola nazwa do CMP i po temacie :P

Shalom
A jak wam ktoś da zamiast AlaMaKota jakieś &lt;nieDomykamTagow&gt; to sie pewnie parser XMLa wyłoży :D Albo może można zrobić coś w stylu: https://github.com/p4-team/ctf/tree/master/2016-03-26-pwn2win/free_web_access#pl-version :D a ja głupi czasem myśle że takie cuda to tylko na ctfach się trafiają ;]
woolfik
No właśnie zacząłem dziś w tym grzebać bo się okazało, że nie zawsze działa ... :P Klient zgłosił i kombinuję jak to wyprostować nie pisząc całego UI od początku :P
flowCRANE
@woolfik - ktoś próbuje wyznaczyć nowe trendy, a Ty bezwstydnie niweczysz jego wysiłki; Wstydziłbyś się... ;P
woolfik
Osz ja ... no nie zaczaiłem, że o to chodzi :) teraz to wszystko jasne :D
Aventus
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:UK
  • Postów:2235
1

Metoda na prawie 2000 linii. Do tego nic nie mówiące nazwy zmiennych i magiczne liczby. Indyjska myśl technologiczna w najczystszej postaci.


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.
Aventus
@okmanek Chyba zajęło by trochę miejsca, poza tym własność firmy ;) Projekt przejęty dobrych parę lat temu, na szczęście niedługo nie będzie już używany poza wsparciem klientów którzy nie zechcą przejść na nowy system.
somekind
Nic niezwykłego.
NE
Dlaczego indyjska? Cudze chwalicie, swego nie znacie...
Aventus
@ness To akurat było naprawdę indyjskie bo projekt przejęty od indyjskiej firmy.
DE
  • Rejestracja:ponad 9 lat
  • Ostatnio:10 miesięcy
  • Postów:1788
0
Kopiuj
function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='',$ohname='',$ehname='',$ofname='',$efname='',$ohvalue=0,$ehvalue=0,$ofvalue=0,$efvalue=0,$pagesel='',$newformat='') {
//....
}

Boże, takie kiedyś były standardy (mPDF)?

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 godziny
0

Finalizacja inicjalizacji. Proszę czekać.

init.png

Zobacz pozostały 1 komentarz
MarekR22
chodzi o to, że równocześni inicjuje i zakańcza. Oksymoron UI.
somekind
Zakańcza inicjalizację instalacji. Równie dobrze może zakańczać właściwy etap instalacji, jak i zakańczać kończenie instalacji. Dla mnie tu nie ma WTFa, wszystko ma swój początek i koniec.
Marooned
Coś jak zadzidzie przeddzidzia dzidy bojowej.
pylaochos
@MarekR: inicjuje? A może inicjalizuje? No chyba, że mamy zboczonego visuala ( ͡° ͜ʖ ͡°).
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 5 godzin
1

2016 rok, a komputery liczą do 100: 104-year-old Swede given kindergarten place


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit
Azarien
Apparently, the computer made a mistake - tak tak. "komputer się pomylił".
MarekR22
błąd 2k ciągle żywy :) "It's embarrassing -- but also a little charming".
DE
  • Rejestracja:ponad 9 lat
  • Ostatnio:10 miesięcy
  • Postów:1788
9

Do tej pory udało mi się spotkać takie kolumny jak urban heating czy is_wielka_plyta, ale cieć_id wygrał.

somekind
Może to ciec to jakiś angielski akronim? Swoją drogą, jak Ty byś nazwał is_wielka_plyta?
DE
Z tego co wiem, to takie bloki to prefabricated buildings. Co do ciecia, to po prostu dozorca, ale ktoś stwierdził, że po polsku lepiej brzmi, niż caretaker ;)
somekind
E tam, prefabricated to bardzo szerokie pojęcie, może obejmować różne technologie, rozmiary i style - od wielkich betonowych bloków, po małe, drewniane domki. A wielka płyta is wielka płyta. ;)
Sarrus
  • Rejestracja:prawie 14 lat
  • Ostatnio:3 dni
  • Postów:2512
1

Kod c#:

Kopiuj
try
{
// tu kod kilkadziesiąt linijek kodu
}
finally
{
}

I teraz pytanie. Co autor miał na myśli? ;)

edytowany 1x, ostatnio: Sarrus
Zobacz pozostałe 7 komentarzy
Sarrus
tak, finally jest puste dlatego cały ten try nie ma sensu
Shalom
pewnie kiedyś coś tam bylo :D
MarekR22
ja stawiam na to, że to finally miało być miejscem na wstawianie breakpointa.
Sarrus
Widząc resztę dzieła tego autora, wnioskuję, że nie ogarnął do końca i chciał napisać try..catch łapiący po prostu wszystko
Aventus
Tam na pewno miało być throw new Exception()
no_solution_found
  • Rejestracja:prawie 18 lat
  • Ostatnio:około 10 godzin
0

Ja do niedawna pracowałem przy projekcie, w którym były tabele pytanie1, pytanie2, pytanie3, ... i tak do chyba 22. Przy czym w np pytanie7 co ciekawe nie była trzymana odpowiedź na pytanie, lecz wartość całkowicie niezwiązana z pytaniami.

Kolejnym WTF było trzymanie 3 różnych wersji jquery, bo podczas tworzenia niektóre pluginy wymagały różnej wersji jquery i stąd się ich tyle nazbierało.


KR
Moderator
  • Rejestracja:prawie 21 lat
  • Ostatnio:około 19 godzin
  • Postów:2964
1

Nie spotkało mnie osobiście, ale fajny artykuł o tym, jak mongo to jeden wielki WTF:
https://aphyr.com/posts/322-jepsen-mongodb-stale-reads

MS
  • Rejestracja:prawie 10 lat
  • Ostatnio:około miesiąc
  • Postów:100
1
Zobacz pozostałe 5 komentarzy
TE
Mi sie przypomnialo jak moj kolega na pierwszym roku studiow zrobil petle od 1 do 500 i w srodku wykonywal SELECTA .. WHERE id = index petli :D
grzesiek51114
grzesiek51114
@terminal ja kiedyś jak się uczyłem to robiłem metody na 500 linijek :)
TD
czy to jest zadanie rekrutacyjne do x-formation? :D
Shalom
Nie wiem o co wam chodzi. Kolega pewnie pisał zgodnie z tutorialem pana Mirosława Z :D
dzek69
myślałem że kliknięcie na każde pole będzie osobno rozważał :P - było coś takiego, ale w grze w kółko i krzyżyk ;) z generatora, ale było
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)