Czy LeetCode to teraz standard?

Czy LeetCode to teraz standard?
CyanApple
  • Rejestracja:ponad 13 lat
  • Ostatnio:około rok
  • Postów:23
0

@1a2b3c4d5e:

1a2b3c4d5e napisał(a):

@CyanApple

Moim zdaniem bez znajomości algorytmów i struktur danych nie jesteś w stanie napisać nic z tego co wymieniłeś.

to jest zawsze najważniejszy punkt tych wszystkich śmiesznych dyskusji nt. grindowania a&ds, a mianowicie:

Co to znaczy znajomość A&DS

bo śmiem twierdzić że np. przy edytorze kodu, przeglądarce i kompilatorze to głównie drzewka będą ci potrzebne

ale przecież dla kogoś to nie będzie jakaś super znajomość A&DS, a dla kogoś w sumie to tak.

A zatem zdefiniuj co rozumiesz przez znajomość.

Co to znaczy znajomość A&DS to trudne pytanie i nie ma na nie jednoznacznej odpowiedzi.
Można tematu nie znać wcale, znać średnio, bardzo dobrze albo lepiej niż bardzo dobrze.

Moim zdaniem znajomość na poziomie średnim to wiedza, że istnieją struktury danych takie jak: tablica, lista, zbiór, stos, kolejka, drzewo, graf, słownik oraz umiejętność zaimplementowania ich od podstaw oraz umiejętność rozwiązywania problemów o średnim poziomie trudności z leetcode przy ich użyciu.

Sama znajomość drzewa nie będzie dla mnie oznaczała, że ktoś zna super A&DS.

Zresztą sam poniekąd swoją odpowiedzią mi przyznałeś w mniejszym lub większym stopniu rację, bo jak ktoś kto nie zna drzewa napisze edytor kodu czy kompilator?

edytowany 1x, ostatnio: CyanApple
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 3 godziny
  • Postów:5105
1

@CyanApple:

no tylko żeby znać drzewo nie trzeba robić LC czy regularnie ćwiczyć A&DS

edytowany 2x, ostatnio: WeiXiao
CyanApple
  • Rejestracja:ponad 13 lat
  • Ostatnio:około rok
  • Postów:23
0

@1a2b3c4d5e:

1a2b3c4d5e napisał(a):

@CyanApple:

no tylko żeby znać drzewo nie trzeba robić LC czy regularnie ćwiczyć A&DS

Tak, racja nie trzeba regularnie ćwiczyć, ale LC może pomóc w poznaniu drzewa.
Nie trzeba do tego od razu LC wystarczy notepad i np. javac albo jakieś IDE.

Załóżmy, że prowadzę firmę, która chce stworzyć super nowoczesny język programowania i szukam osób do pracy.
Czy w takiej sytuacji uważasz, że zadanie komuś kilku zadań z leetcode związanych z drzewami będzie złym pomysłem?
Dodam jeszcze, że osoba którą zatrudnie będzie rozwijać core tego języka programowania.

edytowany 2x, ostatnio: CyanApple
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 3 godziny
  • Postów:5105
1

@CyanApple:

Załóżmy, że prowadzę firmę, która chce stworzyć super nowoczesny język programowania i szukam osób do pracy.
Czy w takiej sytuacji uważasz, że zadanie komuś kilku zadań z leetcode związanych z drzewami będzie złym pomysłem?

Od osoby projektującej język pewnie oczekiwałbym (imo) że jest zaznajomiona z różnymi językami/podejściami, ma opinie nt. różnych featuresów danych języków, ma jakąś swoją wizje OOP/obsługi błędów/FP, etc.

No ok, ale są jeszcze osoby implementujące ten język, więc w ich przypadku faktycznie pytanie o drzewa ma sens, bo jest to w większości przypadków nieodłączny element ich dnia pracy.

CyanApple
  • Rejestracja:ponad 13 lat
  • Ostatnio:około rok
  • Postów:23
1

@1a2b3c4d5e:

1a2b3c4d5e napisał(a):

@CyanApple:

Załóżmy, że prowadzę firmę, która chce stworzyć super nowoczesny język programowania i szukam osób do pracy.
Czy w takiej sytuacji uważasz, że zadanie komuś kilku zadań z leetcode związanych z drzewami będzie złym pomysłem?

Od osoby projektującej język pewnie oczekiwałbym (imo) że jest zaznajomiona z różnymi językami/podejściami, ma opinie nt. różnych featuresów danych języków, ma jakąś swoją wizje OOP/obsługi błędów/FP, etc.

No ok, ale są jeszcze osoby implementujące ten język, więc w ich przypadku faktycznie pytanie o drzewa ma sens, bo jest to w większości przypadków nieodłączny element ich dnia pracy.

Oczywiście nie pytałbym tylko z A&DS, ale też tego wszystkiego co napisałeś wcześniej.
Takie zadanie na LC czy innej platformie pozwoliłoby mi jedynie odesłać szybciej do domu kandydatów, którzy aplikują a nie mają pojęcia na ten temat.

Inny przykład.
Prowadzę firmę która rozwija jakieś narzędzie do gry na giełdzie, przez cały dzień do pliku tekstowego spływają wartości kursu jakichś akcji.
Plik z całego dnia zajmuje niech będzie 100GB :D
Podczas dnia, kiedy napływają nowe wartości kursu potrzebuję w dowolnym momencie znać 20 największych wartości.
Rozwiązanie jakie się samo nasuwa to coś takiego:

  1. Wczytaj dane z pliku do jakiejś listy
  2. Posortuj listę rosnąco/malejąco
  3. Weź 20 wartości z końca/początku listy

Bez odpowiedzi pozostawiam pytanie, czy jest to mądre rozwiązanie i czy będzie działać :)

Mogę tak bez końca np. prowadzę firmę która rozwija jakiegoś CRUDa i nagle ktoś chce mieć autouzupełnianie imienia i nazwiska na podstawie słownika. W sumie proste wystarczy po wpisaniu np. 3ciego i kolejnego znaku przeszukać całą tablicę stringów i zwrócić do inputu tylko te, które zaczynają się od tego co wpisał użytkownik :)

edytowany 1x, ostatnio: CyanApple
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 3 godziny
  • Postów:5105
2

Ja nie twierdzę że A&DS jest bezużyteczne czy coś,

Ja twierdzę że LC nie jest dobrym sposobem na naukę inżynierii oprogramowania, pisania dobrych produktów lub generalnie bycie dobrym inżynierem.

Ja nie wierzę że LC jest czymś, czego brakuje 60k devowi aby stał się 500k devem.

edytowany 1x, ostatnio: WeiXiao
TS
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 8 godzin
  • Postów:853
1

W ciągu ostatnich trzech lat byłem chyba na ponad 10 rozmowach rekrutacyjnych. Praktycznie zawsze jest jakiś coding test. Tylko raz miałem dopisać jakieś testy. Za każdym razem kiedy pisałem jakiś kawałek kodu i zwracałem uwagę, że przydałoby się zacząć pisać od testów to słyszałem coś w stylu: "ok, nie potrzebujemy testów, chodzi nam o rozwiązanie". Wytłumaczcie mi, czy oni wszyscy piszą kod bez testów na co dzień?

Przecież samo myślenie o testach wpływa na to jak projektujesz interfejsy bo przecież chcąc coś zamockować to bardziej idziesz w stronę kompozycji. A później taki agent mi wystawia ocenę, że bliżej mi do mida/seniora niż eksperta.

CyanApple
  • Rejestracja:ponad 13 lat
  • Ostatnio:około rok
  • Postów:23
0

@1a2b3c4d5e:

1a2b3c4d5e napisał(a):

Ja nie twierdzę że A&DS jest bezużyteczne czy coś,

Ja twierdzę że LC nie jest dobrym sposobem na naukę inżynierii oprogramowania, pisania dobrych produktów lub generalnie bycie dobrym inżynierem.

Ja nie wierzę że LC jest czymś, czego brakuje 60k devowi aby stał się 500k devem.

  1. Ok, rozumiem :) Tu 100% zgoda.
  2. Tak tu też się zgadzam w 100%, ale wydaje mi się że źle rozumiesz funkcję LC. To raczej jedna ze składowych, coś co może pomóc w ogarnięciu A&DS przez praktykę i gotowe zestawy zadań.
  3. Tutaj nie do końca się zgodzę

Nie wiem dlaczego piszę tutaj o LeetCode jest wiele innych platform tego typu.
Te strony mają (przynajmniej z tego co wiem) 3 przypadki użycia:

  1. Rekrutacja
  2. Tutoriale
  3. Zadania

Korzystając z tutoriali i zadań tam przedstawionych można się dużo nauczyć.
Jeżeli np. ten Dev znał tylko A&DS na jakimś tam poziomie, ale nigdy nie rozwiązywał tego typu zadań to spędzenie tam jakiejś ilości czasu pozwoliło mu zauważyć jak takie zadania rozwiązywać a jeżeli nie znał to podnieść swój poziom znajomości A&DS.

Programowanie to umiejętność jak np. jazda na nartach.
Można jeździć całe życie pługiem, a można też nauczyć się bardziej zaawansowanych technik i ewentualnie startować w zawodach.
Pytanie czy całe życie jeżdżenie pługiem jest satysfakcjonujące?
Pewnie dla części osób tak, ale jak ktoś chce zjeżdżać szybciej to nie powinien poprzestać tylko na tym :)

edytowany 1x, ostatnio: CyanApple
KA
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 2 lata
  • Postów:594
1

Ja tu widze troche jakas gloryfikacje wszystkich FAANG i duzych firm i customowych rozwiazan.

Chocby w takim Google potrzeba jest masy wyrobnikow by zwyczajnie utrzymywac te rzeczy. Rownie dobrze mozna wyladowac w jakims projekcie w jakims GWT ktorego nikt nie chce dotykac. edit: A zeby sie dostac to LC jest wymagane, niewazne czy to wykorzysta w ciagu pracy czy nie.

W takim duzym korpo tez latwo sie slizgac.

Jak zawsze top 20% jest dobra, reszta to wyrobnicy.

Ale ogolnie to raczej predzej w malej firmie potrzeba jakiegos wielkiego mózga, ktory pomoze by dany produkt sie wyroznial.

I sam tez jestem pewnie takim wyrobnikiem ale w Google pewnie jakbym sie dostal to pewnie do jakiejs rutynowej grzebaniny

edytowany 3x, ostatnio: karsa
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 3 godziny
  • Postów:5105
1

@CyanApple:

Tutaj nie do końca się zgodzę
Pytanie czy całe życie jeżdżenie pługiem jest satysfakcjonujące?
Pewnie dla części osób tak, ale jak ktoś chce zjeżdżać szybciej to nie powinien poprzestać tylko na tym :)

Rzecz w tym że algo nie są jedyną drogą do progressu.

To może inaczej - mam tam jakąś listę osób które według mnie robią "wow"

i zazwyczaj te wow wynika po prostu z dużej wiedzy technicznej np. SIMD, low lvl quirks, doświadczenie w pisaniu X/Y/Z czy umiejętnym modelowaniu systemów, lat doświadczeń w dużych/znaczących projektach/produktach

edytowany 2x, ostatnio: WeiXiao
CyanApple
Nie wiem, wydaje mi się, że cały czas o tym piszę, może niewyraźnie, ale oczywiście że nie są jedyną drogą do progressu, raczej jedną z wielu składowych, która również powinna być rozwijana.
CyanApple
  • Rejestracja:ponad 13 lat
  • Ostatnio:około rok
  • Postów:23
0
karsa napisał(a):

Chocby w takim Google potrzeba jest masy wyrobnikow by zwyczajnie utrzymywac te rzeczy. Rownie dobrze mozna wyladowac w jakims projekcie w jakims GWT ktorego nikt nie chce dotykac.

Tyle, że na tych wyrobników LC nadal jest wymagane.
Jeżeli ktoś chce tam pracować nawet jako wyrobnik to nie za bardzo ma wyjście.

KA
No tak, oczywiscie. Chodziło mi ogólnie o mit, że każdy tam wykorzysta to w pracy.
CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:około miesiąc
  • Postów:2284
6

Kiedyś to miało o wiele większy sens, bo nie było tych wszystkich leetcodów, spojów i książek, więc można było sprawdzić, czy ktoś ma wrodzone predyspozycje do tego, aby umieć rozwiązać takie zadanie szybko i wymyślać na bieżąco własne rozwiązanie. Wówczas wiemy, że jak ktoś potrafił wymyślić własne sensowne rozwiązanie dla zadania algorytmicznego, to ma intelektualne narzędzia do tego, aby rozwiązywać inne problemy, np projektowe, związane z LC i inne.
Natomiast w 2022 wystąpił problem, który występuje obecnie również np w testach IQ z mensy. Ludzie ćwiczą po domach ucząc się na pamięć rozwiązań i później je tylko aplikują w danym obszarze tym samym przedstawiając jedynie umiejętność nauki w domu a nie rozwiązywania nieznanych problemów w określonym czasie jednocześnie zakłamując wynik.

Uprzedzając ten argument:
"No dobra ale przecież większość problemów jest już rozwiązanych w IT i tak na prawdę korzysta się już w większości z gotowych rozwiązań, więc taka umiejętność nauki i wyszukiwania jest najważniejsza. Po co umieć badać koło na nowo."

Dokładnie tak. Dlatego w wielu firmach zadawanie takich algo zadanek sensu nie ma. No chyba, że chcemy przeczesać 1000 kandydatów na staż jakimiś prostymi zadankami, żeby nie tracić czasu (niektórzy nawet nie zdają sobie sprawy jak bardzo jest to skuteczne).

Natomiast są miejsca gdzie ma to jak najbardziej sens, bo skomplikowana algorytmika jest powszechnie używana i czasem przyjdzie coś rozwinąć, zdebuggować, zrefaktorować, zoptymalizować, albo napisać od zera.

Ta dyskusja występuje często, bo na polskim rynku pracy jest bardzo mało pracy wymagającej takich umiejętności. Głównie utrzymaniówka, albo webówka. Natomiast mówiąc z perspektywy np programisty C++ i aplikującego na różne pozycje tego typu to często wymagało się wiedzy domenowej w której zawarte są również umiejętności algorytmiczne/matematyczne.

Zobacz pozostałe 6 komentarzy
Miang
jesteśmy po prostu montownią :Zachodu :(
CZ
Już nie tak bardzo jak kiedyś, ale still tak jest. W każdym razie nie każda firma jest amerykańską kolonia. No i zarabiamy więcej niż niewolnik nawet jakbyśmy chcieli pracować na miejscu.
Miang
ale firmy mogą z dania na dzień się wyprowadzić gdzie indziej
CZ
Z dnia na dzień wielkie korpo nie zrobi tak ogromnych zmian. To byłoby widoczne wcześniej. W każdym razie wyprowadzić się może, ale zdalnie nadal będziesz mogła tam pracować. Gadałem raz z jednym jakimś wyższym menago z takiego korpo to powiedział, że są tańsze montownie niż Polska, ale po prostu trzymamy poziom i tu się zgodzę z nim osobiście. W porównaniu do takich Indii to jednak myślę, że mamy większą wartość.
Miang
ale to jest wartość niewolnika....
CyanApple
  • Rejestracja:ponad 13 lat
  • Ostatnio:około rok
  • Postów:23
3
Czitels napisał(a):

Natomiast w 2022 wystąpił problem, który występuje obecnie również np w testach IQ z mensy. Ludzie ćwiczą po domach ucząc się na pamięć rozwiązań i później je tylko aplikują w danym obszarze tym samym przedstawiając jedynie umiejętność nauki w domu a nie rozwiązywania nieznanych problemów w określonym czasie jednocześnie zakłamując wynik.

Ja LC nie traktuję jako platformy, gdzie mogę wykuć zadania na pamięć, ale właśnie staram się sam je rozwiązywać.
Wydaje mi się, że tutaj jest podstawowy błąd, bo to ma być pomoc w zrozumieniu jak to wszystko działa a nie po to żeby to wszystko wykuć.

KA
Pewnie, miałem momenty gdzie sam się w to bawiłem. Ale wrzucanie to na rekrutację wypacza to. Masz już książki do Cracking Interview, możesz zamówić nawet Mock Interview do Google "na próbę", masakra
CyanApple
Wszystko zależy jak prowadzona jest rekrutacja np. jeżeli na sesję 1h dajesz 3 problemy hard to wiadomo, że bez sensu, ale jak np. 1 łatwy, 2 średnie i np. 2 godziny to to już ma więcej sensu. Nie wiem czy na LC można robić live Coding, ale to jest najlepsze i w sumie też nie rzucenie zadania hard i oczekiwanie na rozwiązanie op 5 minutach. Cracking The Code Interview to przesada.
KA
Mi chodziło z drugiej strony, masa kandydatów co kuje na blachę
CyanApple
@karsa: Tak rozumiem, kucie na blachę nigdy nie ma sensu. Ale czy to w ogóle można wykuć? Wystarczy mała modyfikacja problemu :)
KA
No ma sens, żeby gladko przechodzic ten etap na rekrutacji ;)
DE
DE
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:311
3

Pracuje 2 lata w branzy, pierwszy raz odpaliłem leetcode i nie jestem w stanie większosci easy problemów rozwiązać xD

MisiekNaLuzie
industry? <misiek>
DE
AB
A ja programuję od dziecka, już ponad 30 lat, nigdy nie byłem mistrzem algorytmów, zawsze miałem kompleksy pod tym względem wobec kolegów ze szkoły, uczelni. Od 20 lat kariery zawodowej klepię rzeczy raczej użytkowe. Teraz odpaliłem pierwszy raz w życiu leetcode i rozwiązuję średnie zadania, te trudne z bólami, ale też wymęczę. Jestem autentycznie zaskoczony. Może czas na wyrobnika do Google? ;)
KA
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 2 lata
  • Postów:594
0

Jakoś wcześniej to przeoczyłem, trochę śmieszne no ale fakt platforma musi na czymś zarabiać :P

https://leetcode.com/problem-list/top-interview-questions/
https://leetcode.com/subscribe/?ref=lp_pl&source=nav-premium

nawet algorytmy/zadania na interview do danej firmy mozna sobie wybrac xD
screenshot-20220415075952.png

Marooned
Tagi zablokowane tylko dla płatnych kont niestety.
DE
  • Rejestracja:około 6 lat
  • Ostatnio:około 4 godziny
  • Postów:160
3

[dla chętnych]
Jeśli kogoś interesuje alternatywne spojrzenie na temat leet-codów, polecam do przeczytania książkę:
"Limes inferior" - Zajdel
Autor przewidział pojawienie się leetcodów już w 1980 roku. Co więcej, autor mieszkał w Polsce (czyli w kraju bez technologii, jak na tamte czasy.)

PS. O książce dowiedziałem się dzięki 4programmers.Pozdrawiam @Gufio, @AnyKtokolwiek i @Miang

Zobacz pozostałe 4 komentarze
Miang
jest tam "dochód podstawowy" :(
PI
Za który już praktycznie nie da się żyć ;p Może faktycznie w Brukseli to Reptilianie siedzą ;) Ale jedno mi się w tej książce podoba - automaty do piwa :D
Miang
w Japonii podobno są automaty z piwem
PI
Jeszcze nie byłem, aczkolwiek planuje.
PerlMonk
@Miang: są nawet automaty z bielizną :]
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:12 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
1
dedicated napisał(a):

[dla chętnych]
Jeśli kogoś interesuje alternatywne spojrzenie na temat leet-codów, polecam do przeczytania książkę:
"Limes inferior" - Zajdel
Autor przewidział pojawienie się leetcodów już w 1980 roku. Co więcej, autor mieszkał w Polsce (czyli w kraju bez technologii, jak na tamte czasy.)

hm, to by sugerowało że są lifterzy któzy rozwiązuję leet-codów za innych :P


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 1x, ostatnio: KamilAdam
PI
omg... jak już to lifterzy ;p od lift - podnosnik, winda, dźwig ;p Btw istnieją, sam dostawałem takie oferty na studiach i znałem ludzi co wchodzili na egzaminy i pisali za kogoś analizę etc.
KamilAdam
Dzięki za zauważenie literówki :D Wiem co to lift :P Jako hobbystyczny programista Haskella trzeba wiedzieć co to lift i lifting :p
DE
@KamilAdam: Google ponosi teraz duże koszty związane z rekrutacją. Myślę, że google w sekrecie pracuje nad AI-em do automatycznego weryfikowania kandydatów "leet-codem". Gdy system ten wjedzie na produkcję, pojawią się lifterzy.
KamilAdam
Był @pieczarek i już nie ma @pieczarek :(
LitwinWileński
  • Rejestracja:prawie 3 lata
  • Ostatnio:2 dni
  • Postów:734
0

zrobiłem 1 zadanie i stwierdzam, że to g**no straszne. Chaos, polecenie niespójne z oczekiwanymi rezultatami i z oczekiwaną implementacją.
np. nie jest napisane precyzynie w poleceniu co ma funkcja zwracać, jakieś lanie wody, a oczekiwany rezultat to [1,2] ale szasblon funkcji, którą masz napisać ma zwracać inta WTF.
Codility i Codewars wspominam znacznie, znacznie lepiej.

edytowany 2x, ostatnio: LitwinWileński
SA
podeslij linka do tego przerazajacego zadania
LitwinWileński
a już zamknąłem i lepiej nie, bo wyjdzie, że to ja jestem upośledzony, a nie zadanie :D
Marooned
No właśnie, właśnie, zapodaj tym zadaniem. Ciekawych jest więcej ;)
Satanistyczny Awatar
  • Rejestracja:ponad 6 lat
  • Ostatnio:2 miesiące
  • Postów:688
1

Leetcode wersja tl;dr; stos(y), grafy, permutacje, sortowanie, wyszukiwanie wzorca, shunting yard, może AST i jakieś gramatyki się trafią przy hard.
Mniej więcej to co na uniwerku na pierwszym stopniu w ramach: algorytmiki, teorii języków formalnych i automatów, co nieco z matematyki dyskretnej.

Dawanie tego na interview ma jakiś sens jeśli praca to będzie głównie masa parsowania różnie ustrukturyzowanych danych i przetwarzania/optymalizowania/kompresji.

Jeśli dostajesz to do rekrutacji do firmy gdzie się pisze witryny z obrazkami do klikania dla Pana Janusza a większość przetwarzania danych robi za ciebie baza danych, to ktoś odpowiedzialny za rekrutację jest zdrowo odklejony.

DT
  • Rejestracja:4 miesiące
  • Ostatnio:28 dni
  • Postów:14
0

Bojkotować, bojkotować! <Wolniewicz>

kimikini
  • Rejestracja:ponad 14 lat
  • Ostatnio:5 dni
0

zrobilo sie popularne to i u nas juz, coraz wiecej lokalnych firm ma leetcode na rekrutacji.
mysle ze to bedzie standard za jakis czas tak jak to jest w usa

DT
  • Rejestracja:4 miesiące
  • Ostatnio:28 dni
  • Postów:14
0

już naładowałem kieszenie przez ostatnie 10 lat wiec wyjebongo, to był złoty strzał to kodowanie, no ale żal kolejnych pokoleń

Zobacz pozostałe 2 komentarze
CZ
No tak, powinni sie podzielic z spoeczenstwem, zbyt duze dysproporcje to stworzylo.
DT
Masz na myśli milionerów, miliarderów, czyż nie?
CZ
Tylko programistów.
RS
Kiedy te dysproporcje są zbyt duże? Bo ani nominalnie nie są jakieś spore ani programistów nie jest dużo w społeczeństwie.
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)