Programistyczne WTF jakie Was spotkały

Programistyczne WTF jakie Was spotkały
xxx_xx_x
  • Rejestracja:prawie 13 lat
  • Ostatnio:9 dni
  • Postów:365
1

Wtf z dzisiaj:

W aplikacji jest struktura mniej więcej taka:

Kopiuj
class Path {
     val versions : Map<String, String>
     val legacy : String
}

zadanie, wziać path w konkretnej wersji (decyduje klucz) a jak nie ma to legacy. Coś takiego spotkalem w kodzie:

Kopiuj
var url : String = ""
path.versions.forEach {
    if (SZUKANY_KLUCZ.equals(it.key)) {
        url = it.value
        return@forEach
    }
}
if (url.isEmpty()) {
    url = path.legacy
}

Zamiast tego mozna bylo :

Kopiuj
 var url = path.versions[SZUKANY_KLUCZ] ?: path.legacy
edytowany 2x, ostatnio: xxx_xx_x
Zobacz pozostałe 12 komentarzy
PerlMonk
@somekind: To nawet zabawne. Napisałeś to tak jakby świniak była autorytetem w programowaniu :D
xxx_xx_x
Nie wiem o co dalej sie sprzeczacie, kiedyś tak pisano i to jest prawda. Teraz tak sie nie pisze i to też jest prawda wiec poprawiłem. O co jeszcze wam chodzi, chcecie przebić elektrode i wykop??
PerlMonk
No ale taaatoooo!
somekind
@xxx_xx_x: no generalnie wszystko jest w porządku, po prostu nie było sensu używania argumentum ad traditionem.
xxx_xx_x
@somekind: 1. Przyznałem że to błąd na samym początku i od razu poprawiłem, 2. nie był to żaden argument że jest to ok
Julian_
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 4 lata
  • Postów:1703
0

scala:

Kopiuj
val consume = response => new Consumer().consumeToFile(response)

more scala:

Kopiuj
val consume = new Consumer().consumeToFile(_)

the most scala:

Kopiuj
val consume = new Consumer().consumeToFile _
Zobacz pozostałe 9 komentarzy
DamianSn
Dokładnie. Raczej normalka w scali. Wtf to implicity potrafią zrobić :)
KamilAdam
@hauleth: mógłbyś podać przykład takiego języka oprocz Scali? Bo ja niestery nie znam :(
hauleth
Elixir &foo(&1), Perl map foo($_), Clojure #(foo %1), Raku { foo($^x) }/{ foo($_) }, Swift { foo($0) }. Ogólnie to część z tych języków bazuje na notacji De Brujina.
AF
Nie no, tu jest WTF, bo tak tego się nie powinno pisać. Jeżeli to byłoby użyte w jakimś mapie czyli collection.map(new Consumer().consumeToFile _) to okej, ale jak ktoś przypisze taką lambdę do zmiennej bez jasnego podania typu, to powinien dostać po łapach, bo podkreślenie na końcu łatwo przegapić i wtedy wygląda jak zwykła wartość.
Wibowit
.metoda _ wymaga tylko jednego podkreślnika, podczas gdy przy większej liczbie parametrów drugi zapis wymaga np .metoda(_, _, _).
kzkzg
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 12 godzin
  • Postów:924
6

Rządowy formularz o dofinansowanie w związku z covid19...

link do forumularza: https://psz.praca.gov.pl/documents/10240/2af46dcd-f239-45c4-924d-a0c0a0bffb9d
Wypełniam ten formularz u matuli na kompie. LibraOffice, jakiś nienajnowszy

Pierwszy WTF:
Trzeba tam wypełnić Obowiązująca pracodawcę stawka ubezpieczenia wypadkowego (w procentach)
No to pisze: 1,67 , dostaje: screenshot-20200509145013.png
Próbuję z kropką, to samo. WTF?

Ok, może ten LibraOffice jakis trefny. Otwieram przez Arkusze Google. Tu da rade wpisać ten procent. Wypełniam dalej. Trzeba wpisać pesel pracownika. Wpisuje. Dostaje:
screenshot-20200509144608.png
WTF ???
Sprawdzam w LibraOffice z powrotem. Tu da rade wpisać pesel, ale ciągle oczywiście nie mogę wpisać tego procenta.
Co więcej. Po pewnym czasie pojawia się takie coś:
screenshot-20200509145636.png

Tu już poległem....

Sprawdzam teraz u siebie na kompie na najnowszym LibraOffice. Niby wszystko działa... I już nawet reguły w messageBoxie informującym o złym peselu są przez u otwarte. Magic?


Keep calm and blame frontend.
Tell your cat I said pspsps.
edytowany 1x, ostatnio: kzkzg
Zobacz pozostałe 4 komentarze
axelbest
Coś nie zakumalem, bo na screenach nie widzę poprawnie zapisanego słowa reguły. A dokumentu ściągać się nie chce. Tak czy siak w tym kraju już mało co mnie zdziwi.
Sunnydev
tzw. kartonware
axelbest
Hehe, plywoodware
superdurszlak
program z dykty ;)
MarekR22
A próbowałeś oprogramowania Microsoft? W końcu jest to plik Excel MS Office. Libre office nie jest w pełni kompatybilne, a w rezultacie Google docs też nie. MS ma swoją wersję Google Doc.
TO
  • Rejestracja:około 7 lat
  • Ostatnio:około 2 miesiące
  • Postów:33
3

A to WTF który opisała Anna Streżyńska:
*
Propozycja nie do odrzucenia od ZUS: proszę złożyć wniosek ponownie, bo gdy Pani składała pierwszy raz, wniosek nie był zintegrowany z formularzem pomocy publicznej, a teraz jest zintegrowany i trzeba złożyć taki, jaki obowiązuje teraz.
*

https://www.linkedin.com/posts/annastrezynska_tarcze-dla-przedsi%C4%99biorc%C3%B3w-nigdy-nie-zadzia%C5%82aj%C4%85-activity-6664114732317978626-qEuN

Marooned
Administrator
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 10 godzin
  • Lokalizacja:Poznań
4

Próba oceny rozszerzenia do Chrome (muszę w pracy używać, więc trzeba zagryźć zęby i korzystać)

Oceń to rozszerzenie
Ze względu na aktualną zmianę godzin pracy wstrzymujemy możliwość publikowania opinii w Chrome Web Store. Pracujemy przede wszystkim nad tym, by sklep Chrome Web Store był nadal stabilny i niezawodny, tak by mogli z niego bezpiecznie korzystać wszyscy użytkownicy, dla których jest on niezbędny.

Wygląda na to, że Google rzeczywiście ma rząd małp, które przepisują to, co użytkownicy im wyślą.


edytowany 1x, ostatnio: Marooned
PerlMonk
Nie no, ładnie napisane. Taki bajeczny marketingowy bełkot.
Shalom
Myślę że muszą to jednak moderować ;)
A9
  • Rejestracja:ponad 8 lat
  • Ostatnio:7 miesięcy
  • Postów:408
3

W mojej pierwszej pracy jako programista, zacząłem pracę nad pierwszym projektem w XQuery, który ma iść na produkcję. Przepisywaniem testów z przestarzałego frameworka na nowy. To jest dość "małpia" robota, bo trzeba po prostu kod z każdej funkcji wydzielić do jednego pliku, pozmieniać nazwy funkcji, itp. Oprócz tego trzeba było powydzielać zmienne z zapisanymi XMLami do osobnego pliku wraz z usunięciem duplikatów. Ten kod to był niezły śmietnik. W jednym module było od kilku do kilkunastu funkcji i bywało, że w kilku funkcjach zmienne lokalne potrafiły mieć dokładnie tą samą zawartość i niestety tą zawartością były XMLele, które potrafiły mieć po kilkadziesiąt linii kodu. Musiałem sobie w notatniku zapisywać nazwy starych zmiennych wraz z nazwami nowych zmiennych, które mają je zastąpić, aby to ogarnąć. Bywało, że zmienna z taką samą zawartością potrafiła mieć różne nazwy w poszczególnych funkcjach. W skrajnych przypadkach z 20 lokalnych zmiennych robiłem 3 zmienne po uwzględnieniu duplikatów.

Marooned
Administrator
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 10 godzin
  • Lokalizacja:Poznań
15

Moje przygody z GTA skończyły się na części 2, kolejne 3D jakoś mnie nie ciągnęły, ale z racji, że jest teraz promka za free, znajomy rzucił hasło, to pomyślałem, że spróbować nie zaszkodzi.
Wbiłem na Epicgames i zostałem zmuszony do założenia konta. Standardowy formularz, a po nim... CAPTCHA, jakiej świat nie widział.
screenshot-20200519093859.png
Trzeba nacisnąć boczne ikonki by obrócić rysunek zwierzęcia (zakładam, że ma "stać na nogach", bo tego nie napisali). Pierwsze 5 są oznaczane checkboxem, więc wygląda, jakby trzeba było rozwiązać 5 kroków. Wystarczy zrobić ~3 sekundy przerwy i zonk:
screenshot-20200519095111.png
od nowa... lepiej! Raz zacząłem obracać w drugą stronę (już miałem kursor nad daną ikoną) i prawie cały obrót musiałem zrobić.. zonk! za wolno! od nowa!

Jak już miniemy 5 kroków, to okazuje się, że kroków jest 20! Każdy zajmuje od 1 do 5 sekund, w zależności jak daleko od pozycji docelowej jest obrazek, więc weźmy średnio 3s * 20 to daje minutę... Gdyby to była jedna minuta, to jeszcze można machnąć ręką, ale podchodziłem 3x i za każdym razem zonk!
screenshot-20200519092815.png
Niektóre zwierzęta moim zdaniem mają kilka sąsiednich pozycji, które można uznać za prawidłowe, więc to istne losowanie.

Zaczynam podejrzewać, że zaskoczył ich tłum Januszy i nie chcąc wycofywać się z oferty zrobili captchę, której nie da się przejść i mają spokój. Nie widzę innej opcji.

[edit]
Yup, potwierdzam swoją hipotezę, że captcha jest blockerem. Przełączyłem na audio, spróbowałem 3 razy, za każdym razem:
screenshot-20200519095646.png
zonk! A oceniam, że umiem usłyszeć 5 cyfr po angielsku...


edytowany 2x, ostatnio: Marooned
Zobacz pozostałe 2 komentarze
tajny_agent
To cholerstwo było już wcześniej. Pamiętam, że się z tym męczyłem jak był darmowy weekend Anno 1800. To było jakoś w marcu.
Azarien
Ja zwierza obróciłem (za drugim razem) ale! wyskoczyło mi ostrzeżenie że mój przeznaczony na śmieciowe konta mail w domenie .fm wygląda na nieprawidłowy (gdzie .fm to legitna TLD dla Federacji Mikronezji)
Azarien
PS. swego czasu używałem maila .ru ale wtedy jest się na starcie przegranym na filtrach antyspamowych…
Marooned
Co ciekawe, na komórce zarejestrowałem się bez captchy
M0
@Marooned: Zakładałem przez ich lunchera. CAPTCHA od google, ale nie wiem jak to mieli skonfigurowane, 10 testów zrobiłem, a na końcu stwierdziło, że botem jestem. Przez www to samo. W końcu się udało, ale aby się zalogować znów CAPTCHA i znów to samo.
CR
  • Rejestracja:około 6 lat
  • Ostatnio:około 4 godziny
  • Postów:112
12

W firmie przerzucili mnie ostatnio do projektu, który został przejęty od pewnej dużej-i-znanej-firmy, i był robiony przez indyjski oddział tejże firmy.
Dosłownie każda metoda wygląda tak:

Kopiuj
<public/private> <zwracany typ> <nazwa metody> (argumenty) {
 try {
    <cała logika metody>
  } catch(Exception e) {
    return null;
  }
}

Brawo. Obsługa wyjątków na 5+.

edytowany 12x, ostatnio: Crazy_Rockman
Zobacz pozostałe 5 komentarzy
vpiotr
Wygląda na to że ktoś dostał taki standard do używania - obsługa błędów w stylu Go / C. Może taki kod działa szybciej? :D :D :D
CR
Kod i tak działa wolno, bo jest beznadziejnie napisany :D
KR
W C zwracałoby kod błędu
PerlMonk
@Krolik: Kod błędu + wynik pod wskaźnikiem podanym jako parametr = to było pokraczne, ale jakoś dawało radę. Kod błędu wskazuje problem? Wskaźnika nawet nie sprawdzasz, bo już wiesz, że nic tam nie ma.
KR
Obsługa błędów to trudna rzecz. I wyjątki, i kodu błędów nie są idealne.
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Wrocław
16

Poprawiam dzisiaj cały dzień unit testy napisane przez dwóch arcytektów.
To, że testują kod, który zepsułem wczoraj, a mimo to wszystko było zielone to nic niezwykłego.
To, że właściwie każdy jest utworzony metodą kopiuj wklej też mnie nie dziwi.
To, że każdy jest parametryzowany, ale wywoływany wyłącznie z jednym zestawem parametrów, to zakrawa na lekki fetysz, ale się zdarza.
Bezsensowne nazwy metod testujących to też norma.
Ale tego, żeby metody testujące miały dokumentację XML to jeszcze nie widziałem. Ciekawe kto ją czyta? Test runner? :D

Przykład:

Kopiuj
 /// <summary>
 /// Tests the whole flow for a handler with a service, with failure and message "not working" and result not returned
 /// </summary>
 /// <returns></returns>

Właśnie się zorientowałem, że to najtrudniejszy przypadek, pozostałe zawierają tylko tekst do przecinka. :D


Po dopracowaniu rozwiązania każdy będzie mógł założyć własny drzewiasty wątek.
edytowany 1x, ostatnio: somekind
Zobacz pozostałe 9 komentarzy
loza_wykletych
loza_wykletych
To się przenosi poprzez kontakt więc ja bym po prostu ostrożniej dobierał współpracowników ;)
Berylo
ja preferuję dokumentację typu //Sets current product counter. public void setCurrentProductCounter(int counter) - standard w poprzednim projekcie
loza_wykletych
loza_wykletych
Refactor może z automatu zmienić nazwę funkcji ale nie zmieni komentarza. Dzięki temu oryginalny zamysł twórcy zostanie w projekcie na wieki.
vpiotr
Gorzej jak refactor zmienia tez komentarze. Mielismy w takich wypadkach ubaw przy review.
loza_wykletych
loza_wykletych
⇧⌘R zawsze na propsie.
UR
  • Rejestracja:prawie 5 lat
  • Ostatnio:prawie 3 lata
  • Postów:360
8

W poprzedniej firmie senior uber developer wystawił api dla klienta, które powodowało, że każdy request w którym brakowało wymaganego pola rzucał wyjątek, bo próbował mapować nulle....
No i piękny response ze status code 200 :D wyglądał w stylu:

Kopiuj
{
  "response": "error",
  "responseDetail": "if errors keeps occurring please contact admin"
}

Błąd oczywiście nigdzie nie zalogowany, bo po co. A jak klient zgłaszał błędy, to senior z wielkimi nerwami reagował, że to wina klienta, bo źle używa api.
Ale to już za mną.

edytowany 2x, ostatnio: cerrato
Zobacz pozostałe 6 komentarzy
xxx_xx_x
Tak, tylko że takie szczegółowe odpowiedzi można wysyłać tylko na środowiskach dev. Na produkcji bankowe API informujące o błędach nie jest mile widziane. W ten sposób zdradzasz co API oczekuje
Koziołek
To tak jak w GraphQL. Dopiero niedawno twórcy implementacji ogarnęli, że zwracanie 200 bez względu na to co się stało nie jest ok.
loza_wykletych
loza_wykletych
Skoro nikt się już nie przejmuje błędami na poziomie TCP to brak przejmowania się błędami na poziomie HTTP to kolejny krok w rozwoju.
Koziołek
@loza_wykletych: piękne domknięcie błędów w HTMLu, które wszyscy mają gdzieś
loza_wykletych
loza_wykletych
W mediach już dawno to ogarnęli - nawet jak notorycznie rżniesz głupa to rób to konsekwentnie, większa szansa że nikt się nie odezwie bo nikt nie chce rozwiać wątpliwości ;)
Julian_
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 4 lata
  • Postów:1703
1

title

MarekR22
a to nie jest po prostu jakiś błąd "automation server" (cośj jak Jenkins)? Ktoś coś źle skonfigurował i nie widać wyraźnie, że np wyników nie można wgrać na jakiś serwer.
Julian_
tak na prawdę to jeden test nie przechodził, czytał zły plik
Anna Lisik
@MarekR22: Jenkins to shit. A shitu się nie używa
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:około 2 godziny
  • Postów:8399
4

taki mały WTF, wczoraj coś pisałem w jednym ze swoich projektów, a dzisiaj chcę posprzątać i zacommitować, a tam takie coś:

Kopiuj
// throw new Error('kurwa')

:D
a nie pamiętam, żebym to pisał. Widocznie samo się napisało. Polska podświadomość.


edytowany 2x, ostatnio: LukeJL
Riddle
Jak tam zawsze new Exception("dupa");
abrakadaber
abrakadaber
dupa to dość uniwersalny exception :D
chalwa
@TomRiddle: zasłyszałem historię jak na pokazie dla klienta na wyświetlaczu zamiast powitania wyskoczyło "DUPA", co prowadzący prezentację przetłumaczył mniej więcej jako "Device Update Protocol Activated" xD
LukeJL
umiejętność szybkiego wychodzenia z trudnych sytuacji zawsze w cenie ;)
purrll
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Kuala Lumpur
  • Postów:241
2

Właśnie mam niezłe wtf. Właściwie pierwszy raz w życiu. Miewałem takie w których pomagał restart IDE/edytora. Miałem takie w których pomagało wylogowanie z systemu i takie w których pomagał restart. Jeden taki w którym kod dnia następnego działał, a poprzedniego nie. Teraz przyszłą kolej na nowe doznanie.

Mały jeszcze projekt API. Podzielony na 5 plików. Dla uproszczenia poruszam się w jednym pakiecie (Go). Taka oto struktura:

Kopiuj
├── handlers.go
├── logger.go
├── main.go
├── routes.go
└── todo.go

Zero błędów w VSCode. Uruchamiam i dostaję:

Kopiuj
# command-line-arguments
./main.go:9:7: undefined NewRouter

Myślę sobie - WTF. Przecież NewRouter() siedzi w środku:

Kopiuj
func main() {
	r := NewRouter()
	log.Fatal(http.ListenAndServe(":3000", r))
}

func NewRouter() *mux.Router {
	router := mux.NewRouter().StrictSlash(true)
    // kod
	return router
}

Z racji tego iż mamy wieczór (wczoraj) zostawiam projekt. Dzisiaj jednak to samo. Zaprzęgam Goland, bo może tam coś więcej się człowiek dowie. Dowiaduję się wiele innych dziwactw, które spowodowane są brakiem konfiguracji IDE. Po trzech godzinach babrania się i szukania problemu w słynnym internecie postanawiam utworzyć nowy katalog, przenieść wszystko do jednego pliki main. Uruchamiam -> działa. Trafiłem na czarną dziurę czy o co tutaj chodzi?


Zobacz pozostały 1 komentarz
purrll
@baant: Nie brakuje. W tym rozbitym na pliki zmieniłem nazwę funkcji z NewRouter() na NewR() w razie gdyby jednak coś się miało gryźć -> undefined NewR. Nie może być undefined skoro nawet z poziomu VSCode jestem w stanie przejść do jej deklaracji. Wersja "wszystko w jednym pliku" działa po przekopiowaniu wszystkiego. Niesamowite.
IK
Może main jest w pakiecie (package) main, a plik z definicją NewRouter w innym (o nazwie folderu nadrzędnego)? Mi VSC podkreśla takie coś jako błąd, ale kompilator nie narzeka: https://imgur.com/a/AImlNI6
purrll
@iksde: wszystkie pliki trzymam w jednym katalogu i w jednym pakiecie żeby porozbijać je sobie później/ Natomiast muszę mieć coś wyraźnie zwalone w konfiguracji albo też coś "musiało się" porobić, bo nie mogę nic wyrzucić do innego pliku. Nic co jest w tym samym pakiecie. Zaraz popatrzę na te cuda. Czyli pewnie to nie jest wina czarnej dziury :v
no_solution_found
jeśli chodzi o katalog główny projektu, to linker nie dołącza do binarki wszystkich plików Go z automatu. W takim wypadku wystarczy dopisać mu pliki, które ma wraz z całą resztą skompilować. Przykład: go run handlers.go todo.go main.go
Freja Draco
Freja Draco
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
5

Utwórz sobie najprostszy plik CSV, np:

Kopiuj
a,b
c,d

Dodaj do niego dowolny nagłówek zaczynający się od "ID", np:

Kopiuj
IDEA,POGRZANA
a,b
c,d

Spróbuj otworzyć go w Excellu.
Poświęć kilka minut na przeklinanie i dociekanie, na czym polega błąd.
Poszukaj w necie informacji, o co chodzi z tymi błędnymi plikami SYLK, o których Excell gada.
Zadumaj się nad meandrami ludzkiego myślenia.


edytowany 1x, ostatnio: Freja Draco
Zobacz pozostały 1 komentarz
B1
u mnie w Excelu 2007 na Win10 jest jak @Freja Draco pisze
AF
Sprawdziłem na drugim komputerze i też śmiga. Zaktualizujcie Excela.
Marooned
Yup, Portable Excel 2003 nie ogarnia
purrll
LibreOffice Calc nie ma z tym najmniejszego problemu ;-)
BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
9

Krótki dialog na 4 kopyta

On: - ...and lejto...
Ja: - łot?
On: - gugl font lejto... el ej ti oł
Ja: - dżast a sek... Oł aj si, samer font
On: - łot?!
Ja: [grin from ear to ear]

Komuś hen daleko spodobał się font
https://fonts.google.com/specimen/Lato
Lato
Designed by** Łukasz Dziedzic**

Lato is a sans serif typeface family started in the summer of 2010 by Warsaw-based designer Łukasz Dziedzic (“Lato” means “Summer” in Polish). In December 2010 the Lato family was published under the Open Font License by his foundry tyPoland, with support from Google.

Brawo dla Łukasza za więcej Polski na świecie

*Może front-endowiec załapałby w lot ale ja pierwszy raz usłyszałem o foncie Lato. No dobra, Times, Helvetica, Courier, Arial i może parę innych bym sobie przypomniał...
*


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
edytowany 1x, ostatnio: BraVolt
kimikini
raczej kazdy kto robi jaki frontend zna ten font. bardzo popularny jest
Marooned
Robię frontend i pierwsze słyszę o tym foncie. I z wyglądu nie odróżniłbym go od trzystu innych pewnie. To może bardziej do projektantów i UXów, a nie frontendów.
Azarien
@Koziołek: ten koleś obraża Comic Sans! :)
LP
  • Rejestracja:około 7 lat
  • Ostatnio:około miesiąc
  • Postów:365
6

U mnie w projekcie:
a) nie ma testerów w całej firmie
b) do początku marca kod był wrzucany prosto na produkcję - teraz mamy wersję beta
c) szok i niedowierzanie że były błędy oraz hotfixy
d) brak automatyzacji - programiści ręcznie sprawdzają flow przed releasem
e) brak przypadków testowych - dopiero ostatnio zostały połączone trzy dokumenty w jeden żeby jakoś smoke tests zrobić. Jest tyle pożarów że nie ma czasu na zrobienie smoke a jest tyle pożarów z powodu że nie ma czasu.
f) 20+ programistów androida którzy depczą sobie po palcach - zadania podzielone prawie co do zmiany znaków w xmlu. Każdy chce robić funkcjonalności (ja nie, w punkcie i jest napisane co robiłem) a nie zajmować się legacy code / refactorem
g) brak stagingu / preproda - jak miałem pierwszy raz zmienić stringi w localize i zapytałem się menago: "hej podaj link do stagingu dla loco chcę wrzucić zmiany do stringów i je przetestować" dostałem odpowiedź: Jesteś pierwszym programistą który się o to zapytał. Reszta waliła zmiany bezpośrednio do loko bez walidacji na proda
h) pixele w widokach
i) wywaliłem w projekcie 6k linii w tym 600+ linii styli które były zakomentowane - to jeszcze nie jest koniec...
j) wersja beta o której mówiłem w punkcie b tydzień temu 10 razy miała faila podczas budowania
k) dodane zostały testy ui - są zielone tak w 40% - reszta to false negative i czerwienią się przez np timeouty
l) mamy pokrycie testami 50+ ale jest tak zespolone z kodem że prawie nie do ruszenia
m) nie mamy flow to ekstrakcji logiki biznesowej - każdy klepie jak mu się podoba
n) jeden programista (który notabene jest bardzo dobry) napisał plugin do android studio żeby generować stuby kodu dla naszej wspaniałem architekury

Uff trochę mi lepiej

edytowany 1x, ostatnio: lubie_programowac
RI
Trzymaj łapkę na pocieszenie
jarekr000000
dzięki, poczułem się odmłodzony o 18 lat postępu technicznego.
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 godziny
7

No chyba żartujecie..

a.png

  • a.png (12 KB) - ściągnięć: 45
Zobacz pozostałe 6 komentarzy
Azarien
a i trzeci bezsens: od razu na dzień dobry "wykryto podejrzaną aktywność" i mam "potwierdzić tożsamość" numerem telefonu. no jak zakładanie konta jest podejrzaną aktywnością to niech się wypchają. Instagram nie dla mnie.
KL
No generalnie powinni sobie albo darować takie potraktowanie sprawy, albo sensownie rozmieścić dropdowny, to nie byłoby wtf-a :P A "podejrzana aktywność"... Bez komentarza :D
somekind
Bo Amerykanie są generalnie ignorantami, którzy nie rozumieją, że różne kraje mają swoje formaty zapisu dat, że języki mogą mieć różną gramatykę, a więc i też tego, że nie wystarczy po prostu przetłumaczyć nazwy w UI, żeby efekt był prawidłowy dla docelowego języka. A swoją drogą, to czemu dorosły facet mógłby w ogóle chcieć pomyśleć o zakładaniu konta na Instagramie? :P
KamilAdam
@somekind: żeby mieć ciagly dostęp do memów oraz żeby mic lajkować zdjęcia żonie
Marooned
Nawet z targetem dla US i ich absurdalnymi formatami nadal nie da się łatwo wybrać 31 października na ten przykład. Ewidentny brak projektanta i testera z głową na karku.
MarekR22
Moderator C/C++
  • Rejestracja:około 17 lat
  • Ostatnio:mniej niż minuta
1
Kopiuj
Mac MarekR22$ pwd
/Users/MarekR22/Src/Baddll
Mac MarekR22$ ls
CMakeLists.txt		baddll.cpp		dllmain.cpp		dllmainMacOS.cpp	stdafx.cpp		stdafx.h		targetver.h
Mac MarekR22$ git mv dllmain.cpp dllmainWin.cpp
fatal: not under version control, source=Baddll/dllmain.cpp, destination=Baddll/dllmainWin.cpp
Mac MarekR22$ echo "// what is going on?" >>dllmain.cpp
Mac MarekR22$ git status
On branch improvement/newFeature
Your branch is ahead of 'origin/improvement/newFeature' by 1 commit.
  (use "git push" to publish your local commits)

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	modified:   CMakeLists.txt

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   ../baddll/dllmain.cpp

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	dllmainMacOS.cpp

Kod napisany był pod Windows. Klon na MacOS, robię modyfikację (nie tworzyłem żadnych katalogów).
dllmain.cpp przyszło z rego, ale nie moglę zmienić mu nazwy.
git status wyjaśnia sprawę, git widzi i rozróżnia dwa katalogi baddll i Baddll (wielkość pierszej literki) file system tylko jeden z nich.
Pewnie ktoś poprawił nazwę katalogu (na Capital) i równocześnie ktoś inny dodał plik w tym katalogu i po merge zrobił się taki kwiatek.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
Anna Lisik
Trzeba uważać i tyle
purrll
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Kuala Lumpur
  • Postów:241
3

Mniej programistyczne ale jednak.

ageupbhkrq651.png


edytowany 1x, ostatnio: purrll
Zobacz pozostały 1 komentarz
purrll
Premiera Core była czerwiec 2016. Zakładając start od premiery i pracę do dziś daje nam to 48 miesięcy (bez zabawy w dni). Uśredniając na miesiąc = 30 dni daje to 1440 dn * 14h dziennie to 20_160 godzin. Dzielone na 1 dzień roboczy zakładając pracę bez dnia przerwy daje nam to 840 dni, które dają nam dopiero ~2.3 roku. Do 7 nadal daleko. Więc Twoje 14h nie spełnia oczekiwanego warunku :D PS. Dla 24h pracy przez 1440 dni to nadal będzie jakieś 3.94 roku :(
BraVolt
Rzutem na taśmę udałoby się spełnić wymagania dla React (Initial release May 29, 2013). Oczywiście pracujący w wcześniej w Facebooku z tym frameworkiem też mogą brać udział w rekrutacji.
MarekR22
Takie kwiatki pojawiają się regularnie. W zasadzie za każdym razem, gdy jakaś nowa technologia staje się powszechnie używana.
WE
@purrll: co to za liczba 20_160?
purrll
@west: 20160 zapisane jako 20_160 z notacji Rustowej.
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Tuchów
  • Postów:12156
4

Notacja węgierska czasem bywa zabawna:

sra.png

Gdyby ktoś się zastanawiał skąd się bierze prefiks sra, to z typu TStringReplaceAlgorithm:

Kopiuj
type
  TStringReplaceAlgorithm = (
    sraDefault,    // Default algoritm as used in StringUtils.
    sraManySmall,  // Algorithm optimized for many small replacements.
    sraBoyerMoore  // Algorithm optimized for long replacements.
  );

Szczególnie zabawnie wygląda ostatni enum. :]

  • sra.png (16 KB) - ściągnięć: 50

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 50 komentarzy
Koziołek
@cerrato: język ma w logice dość szeroką definicję, którą dość łatwo jest spełnić.
cerrato
@Koziołek: więc tym bardziej - potwierdzasz de facto tezę, że HTML to jest język ;)
cerrato
@Marooned: może i nie rozumiem, ale w moim ograniczonym świecie prostego człowieka to wygląda tak, że wszyscy wiedzą, o co chodzi - czym jest żarówka LED, co to jest dioda LED, nikomu nie przeszkadza "podatek VAT" w kontekście litery "V". A potem pojawia się samozwańczy rycerz na białym słowniku i musi szukać dziury w całym.
Azarien
@cerrato: TIR to jakaś-tam konwencja, ale tir to duża ciężarówka (ciągnik z naczepą), niekoniecznie posiadająca karnet TIR (który wewnątrz UE jest zbędny, więc obecnie większość „tirów” nawet nie ma tabliczki „TIR”).
Azarien
PS. polska Wikipedia podaje rozwinięcie skrótu jako "Transport International Routier" (liczba pojedyncza), angielska jako "Transports Internationaux Routiers" (liczba mnoga), podczas gdy francuska na pierwszym miejscu podaje nazwę "transit international routier". wiarygodność Wiki :)
xxx_xx_x
  • Rejestracja:prawie 13 lat
  • Ostatnio:9 dni
  • Postów:365
5

Kotlin pozazdrościł JS logiki. Dzisiaj natknąłem sie na błąd w buildzie release, szukam i nie moge znaleźć, unit testy na zielono, przeglądam logi, analizuje kod biorąc pod uwagę to co w logach, no powinno być ok. Wtedy mnie natchnęło i zrobiłem mały kod testowy..

Kopiuj
fun main(args: Array<String>) {
    val var1 = (false == true and (true != true))
    val var2 = (false == true && (true != true))
    
    println("$var1 $var2")
}

Wynik? "true false"

Zobacz pozostałe 24 komentarze
jarekr000000
Błędogenne. Znajomość języka nic tu nie da - jest to po prostu pułapka. :-( Raz na jakiś czas ktoś w to wpadnie. Jedyną szansą na takie pułapki są lintery (ale nie znam kotlinowego, który coś takiego wykrywa i wymusza nawiasy). Nawiasy to też nie jest do końca fajna opcja - stosuję często natrętne (redundatne) nawiasy i zaciemniają one kod.
xxx_xx_x
@jarekr000000: dokladnie, jak widac tutaj ktos wpadla w te pułapkę. No a ja zmarnowalem masę czasu na szukaniu tego bo niestety to nie byl taki trywialny warunek jak w tym przykladzie tylko duzy i zlozony niestety. Do tego nawet nie za bardzo bylo wiadomo gdzie szukac problemu.
jarekr000000
Jedna szansa to sprawdzanie cyclomatic complexity - tu jest duże, ale prawda jest taka, że w projektach kotlinowych tego często nie robię.
loza_wykletych
loza_wykletych
Skoro możemy tworzyć operatory to możemy też zaciemniać. W końcu nowoczesny język musi być ekspresyjny.
Azarien
czy dobrze myślę że && ma taki priorytet jak && w C, a and taki jak and w Pascalu? może w tym jest jakiś zamysł :)
WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:4 dni
  • Postów:3168
5

Z cyklu nowoczesne layouty stron, chyba ktos chcial zrobic dobry uczynek i sprawic by ludzie majacy pivot w monitorze uzyli go drugi raz :)

https://qntm.org/clean

Edit: ale pomijajac formatowanie, calkiem ciekawy artykul. Podoba mi sie.

edytowany 1x, ostatnio: WhiteLightning
Zobacz pozostałe 26 komentarzy
vpiotr
@jarekr000000: działa, ale pewnie nie tak oczywiście jak w Haskellu (ze względu na pułapkę o której napisałeś wyżej).
jarekr000000
IMO do dobrego człowiek sie szybko przyzwyczaja. Już od dawna każda chyba mutowalność to dla mnie zaskoczenie. Wpadam w te pułapki.
KR
Ten jeden koncept działa, ale nie jest bez wad. Główną wadą jest słaba wydajność, konieczność polegania na GC i duża nieprzewidywalność wydajności. Sama mutowalność nie jest zła - problem powstaje dopiero przy równoczesnym wpółdzieleniu i mutowalności.
hauleth
Dokładnie jak @Krolik powiedział. Większość języków rozwiązuje ten problem poprzez ograniczanie mutowalności, ale pojawiają się języki, które chcą to ograniczyć poprzez zmniejszenie współdzielenia.
jarekr000000
Tu jeszcze uwaga, że nieprzewidywalna wydajnośc to niestety prawda. Ale nie zawsze niemutowalnośc to gc i po prostu gorsza wydajność. Bywa, że kompilator / jvm zamienia fragment kodu na dokładnie taki sam jak pisany przy mutowaniu, nie ma zadnych allokacji, kopiowania etc. Aczkolwiek widziałem takie optymalizacje tylko na prostym, benchmarkowym kodzie w scali (na graal vm) (scala nie ma tu nic do rzeczy - po prostu jvm).
Freja Draco
Freja Draco
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
8

LP
Możesz powiedzieć jak to znalazłeś?
Freja Draco
Freja Draco
@lubie_programowac: Wyskoczyło w kanale RSS https://natemat.pl/rss/wszystkie W ogóle na RSS-ach się dziwne rzeczy w ostatnich latach potrafią pojawiać.
KamilAdam
Żona mi powiedziała na co oni tam zbierają w tej zrzutce. Na serwer testowy :D
Freja Draco
Freja Draco
@KamilAdam: Dobre :)
Marooned
Administrator
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 10 godzin
  • Lokalizacja:Poznań
11

OLX zmienił font. To jest Ili (tak, na końcu jest małe i - nie widać? :D )
screenshot-20200707133725.png

I teraz patrząc na logo nie wiem, czy to nadal OLX czy może OIX a może OiX? Ewentualnie O|X, czyli takie trochę kółko i krzyżyk (nikt nie wygrywa).


edytowany 2x, ostatnio: Marooned
Zobacz pozostałe 3 komentarze
plx211
Dalej dobór takiego fonta to WTF?!
Marooned
font-family: 'Geomanist', Arial, sans-serif !important;, jak zmieniłem font-weight: 500; na font-weight: 100; to i zyskało kropkę.
WhiteLightning
I dodali wk... zachowanie ze jak scrollujesz w dol to sie pasek na gorze zwija i jak znajdziesz cos ciekawego, wracasz odrobine do gory i pasek sie pojawia i zaslania to co cie interesuje :)
LukeJL
!important :D ale, żeby to jedno to jeszcze nie było by tak tragicznie i być może nawet do zaakceptowania w pewnych sytuacjach, ale jak wszedłem na stronę Olx, to w stylach widzę tam 784 razy !important, nawet jeśli część z tego była wygenerowana automatycznie, to i tak jest to zastanawiające - w jaki sposób to utrzymują potem, taki kod.
AK
Dobór fontu to NAJMNIEJSZY problem informatyków Olx. Od fatalnej wyszukiwarki "uszczęśliwiającej człowieka", przez fruwający design wizualny (spróbuj kliknąć tam, gdzie zamierzasz - zanim 5sek się wszystko ułoży). Chorób tam jest cała masa.
BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
1

Ustawienia konta Google
https://myaccount.google.com/privacycheckup

[tu mój prywatny numer kom.]
Help people identify you via this number
People who have this number will be able to see your name & photo, and identify things you’ve posted on Google services like reviews on Maps & comments on YouTube.


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
Sarrus
Domyślnie jest to wyłączone tak więc nie rozumiem?
katakrowa
  • Rejestracja:około 10 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Chorzów
  • Postów:1670
3

Hobbystycznie bawię się elektroniką i ostatnio grzebię sobie w AVR za pomocą c++ w AtmelStudio.
Cały program sterownika napisałem w 4 godziny ale poległem na czymś czego bym się nie spodziewał, mianowicie na konwersji typu uint8_t na int8_t

Może przykład:

Kopiuj
  uint8_t bezZnaku = 0xFF ; // powinno dać -1 jako int.
  int8_t zaZnakiem = 0 ;  

Wydawało by się, że sprawę załatwi :

zaZnakiem = (uint8_t)bezZnaku ;
lub 
zaZnakiem = uint8_t(bezZnaku) ;

Dodam, że w C++ jestem "noga" podobnie jak z samym AVR jednak ogólne pojęcie o rzutowaniu typów, konwersjach, formatach zapisów liczb ujemnych itp ... mam.
Po 2 godzinach zmagania się z żywiołem zacząłem szukać pomocy w sieci znalazłem https://stackoverflow.com/questions/3892924/conversion-of-uint8-t-to-sint8-t/3893697
Przetestowałem prawie wszystkie pomysły, które tam zapodali i ciągle nic ...

Niestety ciągle walczę bo są jeszcze optymalizacje kompilatora ...

Godzina 2:16 udało się choć wątpliwości pozostają.

Kopiuj
    int8_t uintToInt ( uint8_t x ){
      volatile int8_t newX = ( (union { uint8_t u; int8_t s; }){ x }).s;
      return newX ;
    }

... kur... nie życzę nawet wrogowi :-)


Projektowanie i programowanie. Hobbystycznie elektronika i audio oszołom.
edytowany 3x, ostatnio: katakrowa
Zobacz pozostałe 44 komentarze
AL
No tak, microchip. W PIC pamietam, że model sprzedaży kompilatora był zajefajny: każdy kolejny poziom optymalizacji był ekstra płatny :D
katakrowa
Chyba pora przesiąść się na STM32. Mam już pierwsze kroki z Nucleo za sobą więc to już jedynie kwestia by się "przełamać". Boli mnie tylko to, że nie ma praktycznie żadnych STM32 w obudowach, które bez stresu można w domu polutować. Chociażby SOIC zamiast TQFP czy TSSOP. W ostateczności będę przejściówki wkładał ...
AL
To bierzesz LPC od NXP zamiast STM i już masz ARM w przyjaznej obudowie. Czy tez wycofali?
AL
BTW.https://www.digikey.pl/product-detail/en/microchip-technology/ATATMEL-ICE/ATATMEL-ICE-ND/4753379 To jest droższe niż dragon, ale nadal 500PLN to nie 1000 dolców
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 6 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10051
13

Miałem taki shower-thought, czy pierwiastek z liczby urojonej (i) jest rzeczywista. Spytałem google'a:

screenshot-20200715201640.png

Wtf? Skąd 0.13? Skąd brasil? Skąd USD? :D :D

Wyjaśnienie: Google rozczytał to jako "what is the square root of (i of real's)" - "jaki jest pierwiastek z i reali" (real to waluta).

edytowany 1x, ostatnio: Riddle
Zobacz pozostałe 10 komentarzy
Azarien
urojone to pieniądze się stały kiedy wydrukowano pierwszy banknot :)
Marooned
Jak jeszcze musiał mieć pokrycie w złocie, to jeszcze ocierał się o walutę rzeczywistą. Potem popłynęli ;)
somekind
Urojone to zaczęły być, kiedy za spiżowy pług zamiast korcem zboża jak cywilizowany człowiek trzeba było zapłacić jakimś metalowym kółkiem. ;)
Marooned
Ot, ułatwiało wymianę częściową.. wszak ciężko było zapłacić połową pługa za pół świni ;)
somekind
Po tych kursach, to można było mieć pół świni za korzec zboża, więc nie było problemu. No może poza tym, że portfel się w kieszeni nie mieścił. ;) Cała reszta była jak teraz - jak włożyłeś na lokatę na rok, to po roku wyjmowałeś mniej. :P
ZN
  • Rejestracja:prawie 6 lat
  • Ostatnio:około 2 lata
  • Postów:49
3

Kilkuletni developer mokujący już nie tylko zależności, ale już same klasy które testuje sprawdzając tylko czy wywołując metodę nie rzuci wyjątkiem

TS
Kilkulatki generalnie robią głupie rzeczy. Polecam zatrudniać dorosłych.
renderme
  • Rejestracja:około 6 lat
  • Ostatnio:około 4 godziny
  • Postów:1461
6

Wywód PMa: programista nie moze byc zbyt inteligentny, ani miec za duzo wiedzy, bo robi rzeczy, ktorych nikt nie rozumie.


Granie w gry i robienie gier ma tyle wspólnego, co uprawianie seksu z pracą ginekologa.
LP
U nas teraz tak jest. Magik Lukasz robi rewelacyjna robote w androidzie, pisze czysty kod, testy. Korzysta jednak z funkcji sdk o istnieniu ktorej nikt w projekcie nie wiedzial ze istnieja. Przy tym raz na dwa releasy wkradnie mu sie blad ktory bardzo ciezko znalezc bo nie znamy tych wywolan. Naprawa bledu trwa dni zamiast godziny. Pewnie Twoj PM myslal o takim przypadku. Ja jako konsultant mam kilka strategii aby wykorzystac potencjal kazdego czlonka w teamie w pelni.
katakrowa
Jasne lepiej jak wszyscy będą przeciętnymi debilami.
Freja Draco
Freja Draco
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
7

Patrzę sobie dziś po południu na pulpit, a tam siedzi jakiś plik test.exe nie wiadomo skąd. Że głupia nie jestem, to go nie odpaliłam, tylko wrzuciłam w VirusTotal. Kilka mniej znanych silników antywirusowych zaśpiewało, że są tam jakieś trojany. Tego typu mniejszościowym raportom niekoniecznie trzeba wierzyć, ale w sytuacji, gdy na naszym pulpicie pojawia się nagle plik z nieba, sprawa wymaga rozważenia. Szybkie teorie nr: 1-3:

  • pobrałam to niechcący z netu,
  • zapisałam z załącznika poczty,
  • rozpakowałam z archiwum,
    nie znalazły potwierdzenia.

Szybkie teorie nr 4-5:

  • zrobił mi to któryś z zainstalowanych wczoraj programów,
  • admini 4p dokonali przyjacielskiej rewizyty na moim pulpicie w rewanżu za wczorajsze XSS,
    okazała się cokolwiek trudna do weryfikacji.

W ruch poszedł ESSET (który niczego prawie nie znalazł, a rzeczony plik w ogóle olał), a ja poszłam z kotami na spacer.

Po powrocie kontynuowałam dociekania i w końcu oświeciło mnie:
Eksperymentując wczoraj z BAT-em uruchamiającym sekwencje plików w zadanej kolejności i odstępach czasowych, niechcący wybrałam z menu kontekstowego: "Compile with Advanced BAT to EXE" i sama sobie ten magiczny plik zrobiłam.

Czyli admini 4p jednak nie są znowu tak mściwe bestie :p Ale ten spacer z kotami to jednak przechodziłam na niezłej schizie :pp


Zobacz pozostały 1 komentarz
kzkzg
Daj zdjęcia kotów
Sarrus
To koty wyprowadzają cię na spacer? Miło :)
PerlMonk
To są małe smoki! :]
Marooned
Jaki to notatnik umie kompilować bat na exe?
Freja Draco
Freja Draco
@Marooned: Notatnik nie, ale opisywane narzędzie dodaje swoje opcje do menu kontekstowego powłoki systemu i mi się palec omsknął.
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)