Jakie dalsze kroki w nauce Javy? Java EE, Spring

Jakie dalsze kroki w nauce Javy? Java EE, Spring

Wątek przeniesiony 2023-02-03 13:10 z Java przez Riddle.

S6
  • Rejestracja:około 2 lata
  • Ostatnio:ponad rok
  • Postów:5
0

Cześć, jakiś czas temu zacząłem uczyć się Javy z kursu Tima Buchalki na Udemy, ale doszedłem już do momentu "co teraz?". Zostało mi jeszcze kilka tematów, ale czuję, że kręcę się kółko zamiast iść na przód, poznawać coś nowego. Pomyślałem, że dobrym pomysłem będzie już przejście do nauki Springa, ale zastanawiam się też nad Javą EE, wiem, że jest to już dosyć stara technologia, ale czy podstawowa wiedza nie przyda mi się przy używaniu Springa? Czy macie może pomysł na inną ścieżkę w tym momencie? Jakieś dobre źródła do nauki? Dodam, że obecnie studiuję informatykę, pierwszy rok i chciałbym próbować wyspecjalizować się w konkretnej dziedzinie z myślą o późniejszej pracy. W Javie czuję się dosyć dobrze, myślę, że wybór języka nie był zły.

MrMadMatt
  • Rejestracja:ponad 9 lat
  • Ostatnio:7 dni
  • Postów:373
3
  1. Java
  2. SpringBoot (z naciekiem na REST)
  3. Hibernate + Bazy danych

Te 3 zagadnienia zajmą Ci dość czasu.

edytowany 1x, ostatnio: Riddle
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:30 minut
3
  1. Kotlin

λλλ
S6
Nie interesowałem się aplikacjami mobilnymi, myślisz, że to ciekawy kierunek? Czytałem, że warto poznać podstawy Javy przed przejściem na Kotlina właśnie. Jest to rozwojowa technologia?
stivens
Czemu mobilnymi? Bo Kotlin? Jeju :D
S6
Takie jest moje nikłe pojęcie :P Niżej już też zostało mi to wyjaśnione
K5
  • Rejestracja:około 6 lat
  • Ostatnio:dzień
  • Postów:1001
4
Samson6803 napisał(a):

Nie interesowałem się aplikacjami mobilnymi, myślisz, że to ciekawy kierunek? Czytałem, że warto poznać podstawy Javy przed przejściem na Kotlina właśnie. Jest to rozwojowa technologia

Kotlin to nie są tylko aplikacje mobilne.
W firmie, dla której świadcze usługi gdzie core systemu jest rozwijany od prawie 20 lat, nowe funkcjonalnosci są pisane w kotlinie. A jest to aplikacja webowa.

Ja bym na Twoim miejscu ogarnął solidnie Java SE szczególnie 'nowości' z 8 i 11. A następnie przeszedł do Spring boota. Jak już się będziesz dobrze czuć w Javie to możesz dopisywać kolejne fragmenty Twojej aplikacji w kotlinie. Nie ma z tym problemu aby jeden projekt miał kod pisany i w javie i kotlinie.

edytowany 1x, ostatnio: kixe52
S6
  • Rejestracja:około 2 lata
  • Ostatnio:ponad rok
  • Postów:5
0
kixe52 napisał(a):
Samson6803 napisał(a):

Nie interesowałem się aplikacjami mobilnymi, myślisz, że to ciekawy kierunek? Czytałem, że warto poznać podstawy Javy przed przejściem na Kotlina właśnie. Jest to rozwojowa technologia

Kotlin to nie są tylko aplikacje mobilne.
W firmie, dla której świadcze usługi gdzie core systemu jest rozwijany od prawie 20 lat, nowe funkcjonalnosci są pisane w kotlinie. A jest to aplikacja webowa.

Nie wiedziałem, dzięki. Kojarzyłem Kotlina tylko i wyłącznie z aplikacjami mobilnymi jako "ewolucja" pisania ich w Javie.

Na razie mam problem z zabraniem się za coś większego w Javie, bo mam wrażenie, że nie mam do tego narzędzi, umiejętności, temu chciałem spróbować Springa. Wrażenie spowodowane raczej brakiem doświadczenia

K5
  • Rejestracja:około 6 lat
  • Ostatnio:dzień
  • Postów:1001
0

To zacznij od czegoś małego. Chociażby zwykłe otrzymanie "Hello World" jako JSON po uderzeniu do swojego REST API (np za pomocą Postmana - kolejne słowo klucz dla Ciebie). Jak już wystawisz jeden endpoint to dodawaj kolejne. Jak już ogarniesz co to jest REST API i czym się charakteryzują różne żądania to zacznij pisać małą aplikację opierającą się na bazie danych. Typowy CRUD.

S6
Dzięki za sugestię, zainteresuje się głębiej REST API i Postmanem
TR
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:731
3

Odpuść sobie JavaEE, nie tędy droga - jak będziesz musiał, bo takie są wymogi projektu to dopiero wtedy.
Jeśli już to Spring i SpringBoot, tylko z tego względu, że jest bardzo popularny.

Jak chcesz poćwiczyć i się czegoś nauczyć to startuj z Javą (wersja do wyboru, najlepiej ta na której przerabiasz kurs), do tego biblioteka Javalin albo SparkJava do RESTa, do tego Docker i kontener z Postgresem, do tego jOOQ zamiast Hibernate. Będziesz miał trochę zabawy z setupem, jeśli tego wcześniej nie robiłeś, lecz spróbuj to zrobić bez Springa, najprościej jak się da z użyciem w/w narzędzi.

I postaraj się tak połączyć te klocki, żeby można było zrobić curla (albo strzał Postmanem) na API i żeby pobrało dane z bazy.
Tego może jest sporo, ale i tak prędzej czy później się z tym spotkasz


musica curat corpus at animam
edytowany 1x, ostatnio: trojanus
S6
Dzięki za radę, o Javalin i SparkJava wcześniej nie słyszałem, ale się zagłębię. A dlaczego jOOQ zamiast Hibernate?
TR
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:731
1

@Samson6803:

A dlaczego jOOQ zamiast Hibernate?

żeby sobie ułatwić życie :D
możesz to przeczytać: https://blog.jooq.org/jooq-vs-hibernate-when-to-choose-which/

jOOQ bardziej przypomina składnię SQL, tylko napisaną w Javie.
HIbernate jest obłożony adnotacjami, zrozumienie tego co robi każda adnotacja, też dodaje "złożoności" w zrobieniu prostych rzeczy.


musica curat corpus at animam
edytowany 1x, ostatnio: trojanus
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:6 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
7

Wypowiem się jako weteran Javy ostatecznie znudzony tą technoligią:

  • Walka w archeologii i monumentalnych technologiach czyli JEE/ EJB/JSF - no ogólnie było to złe, ale dawno temu nic lepszego nie było. JEE była tak zła że doprowadziła do powstania Springa. Podobno teraz jest lepiej, ale wolałbym nie sprawdzać. BTW to że jest lepiej wynika po częście z tego że JSF i Servery aplikacyjne umarły a EJB ewoluowało w stronę lekkiego DI
  • Walka w core'z czyli Spring - ogólnie mówią że 80% pracy w Javie to Spring i Hibernate. Przy czym Hibernate nie jest już w zasadzie frameworkiem do utrwalania, tylko implementacją JPA. Ogólnie najlepszy stack jak chcesz pracować dla pieniędzy. Największym problem jest to że stajesz się bardziej developerem Springa a nie developerem Javy i czasem widać u tych ludzi panikę jesli Spring nie dostarcza do czegoś integracji
  • Walka na zewnętrznych rubieżach czyli bez JEE i Springa. Tutaj czeka przygoda. Co firma to zupełnie inny stack. Z zalet jest to że nie pytają o Springa. Zamiast jednego frameworka do wszystkiego jest wiele różnych kombinacji:
    • DI - Guice (żyje to dalej?), Dagger (ale nie wiem czy to nie było tylko do mobilków)
    • SQL - JOOQ, JDBI
    • Wystawianie RESTa - pełna dowoność, ja używałem DropWizarda, (ale chyba on umiera :( ) i akka-http (biblioteka ze świata Scalowego którą można używać w Javie)
  • Walka w totalnej awangardzie czyli nowe języki na JVM (ech, już nie takie nowe :P ). Przy czym liczą się w zasadzie dwa o dość podobnej składni podstawowej:
    • Kotlin - ma niszę w Androidzie, ale wszystko co można napisać w Javie na standardową JVM można napisać też w Kotlinie
    • Scala - ma niszę w Sparku, ale wszystko co można napisać w Javie na standardową JVM można napisać też w Scala

Ogólnie główna różnica między Kotlinem i Scalą jest taka że społeczność Kotlina jest bardziej skupiona na OOP i wykorzystywaniu narzędzi z Javy. A społeczność Scala - na FP i tworzy wszystkie narzedzia od podstaw. Trochę tacy Pragmatycy vs Idealiści :P

Co do samych ofert na Kotlina i Scalę często są to niestety oferty łączone z Javą (niestety, bo Javę chciałbym już zapomnieć :P). Bo pół systemu mają jeszcze po staremu w Javie a pół już po nowemu w Kotlinie/Scali :D


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 5x, ostatnio: KamilAdam
TY
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:204
1

Słowo klucz do google to Java Developer Roadmap 2023, np. takie coś: https://javarevisited.blogspot.com/2019/10/the-java-developer-roadmap.html#axzz7KxRdahXv

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 15 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10053
2

Ja bym pominął na razie trudniejsze technologie, a zaczął od samej umiejętności programowania: solid, clean code, POPRAWNIE napisane testy, DRY, YAGNI, KISS. To bym wziął na priorytet.

Poszczególne technologie to potem jest już banał.

edytowany 1x, ostatnio: Riddle
S6
  • Rejestracja:około 2 lata
  • Ostatnio:ponad rok
  • Postów:5
0
Riddle napisał(a):

Ja bym zaczął nie od trudniejszych techonologii, tylko od samej umiejętności programowania: solid, clean code, POPRAWNIE napisane testy, DRY, YAGNI, KISS. To bym wziął na priorytet.

Poszczególne technologie to potem jest już banał.

Bez technologii mam właśnie wrażenie, że nie mogę stworzyć czegokolwiek na czym mógłbym to ćwiczyć. Wiem, że z pewnością tak nie jest, ale zatrzymałem się na "projektach" opierających się na wykorzystaniu podstaw języka, jakieś zadania algorytmiczne. Nie wiem jak przeskoczyć na jakieś użytkowe projekty w Javie i myślałem, że te technologie dadzą mi odpowiednie narzędzia do tego

edytowany 1x, ostatnio: Riddle
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 15 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
Samson6803 napisał(a):
Riddle napisał(a):

Ja bym zaczął nie od trudniejszych techonologii, tylko od samej umiejętności programowania: solid, clean code, POPRAWNIE napisane testy, DRY, YAGNI, KISS. To bym wziął na priorytet.

Poszczególne technologie to potem jest już banał.

Bez technologii mam właśnie wrażenie, że nie mogę stworzyć czegokolwiek na czym mógłbym to ćwiczyć.

Możesz!

To co do tej pory umiesz w zupełności wystarczy żeby praktykować wszystko co opisałem: solid, clean code, POPRAWNIE napisane testy, DRY, YAGNI, KISS. Żeby to zrobić wystarczy tak na prawdę znajomość języka programowania.

I jest to znacznie lepsza inwestycja w siebie i w swoje umiejętności na przyszłośc, niż nauka jakiegoś jednego konkretnego frameworka.

edytowany 4x, ostatnio: Riddle
S6
  • Rejestracja:około 2 lata
  • Ostatnio:ponad rok
  • Postów:5
0
Riddle napisał(a):
Samson6803 napisał(a):
Riddle napisał(a):

Możesz!

To co do tej pory umiesz w zupełności wystarczy żeby praktykować wszystko co opisałem: solid, clean code, POPRAWNIE napisane testy, DRY, YAGNI, KISS. Żeby to zrobić wystarczy tak na prawdę znajomość języka programowania.

I jest to znacznie lepsza inwestycja w siebie i w swoje umiejętności na przyszłośc, niż nauka jakiegoś jednego konkretnego frameworka.

Muszę w takim razie poszukać lepiej czegoś w internecie, bo na razie znajduje jedynie pomysły na projekt opierające się głównie na jakichś frameworkach, a nie jestem w stanie wymyśleć jak z podstawowej składni, Collection itd. wyłuskać coś więcej niż prosta aplikacja w konsoli.

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 15 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
Samson6803 napisał(a):

Muszę w takim razie poszukać lepiej czegoś w internecie, bo na razie znajduje jedynie pomysły na projekt opierające się głównie na jakichś frameworkach, a nie jestem w stanie wymyśleć jak z podstawowej składni, Collection itd. wyłuskać coś więcej niż prosta aplikacja w konsoli.

No to na aplikacji konsolowej nie możesz się uczyć tych praktyk które wymieniłem?

Przy czym od razu mówię, że aplikacja konsolowa to nie musi być jakaś gra która robi Scanner i wczytuje user, tylko jakiś poważny tool cli.

Ja ostatnio sobie napisałem toola, którego się używa tak:

Kopiuj
crlf -R folder/ --ext *.txt

Który zmienia końcówki linii w plikach w folderze folder/ z LF na CRLF (można też dodać flagę --lf) która zmienia na LF. Dużo rzeczy jest do napisania: parsowanie argumentów, integracja z systemem plików, same operacje na treści. Wszystko do testowania i refaktorowania.

Poza tym, weź pod uwagę że w takiej aplikacji konsolowej którą napisałeś jest dosyć mało zależności, więc uczenie się wszystkich praktyk będzie dużo łatwiejsze. Jak dodasz springa do aplikacji, to bardzo cieżko będzie Ci się nauczyć pisać chociażby testy zwykłe, bo będzie Ci ciężko rozróżnić co jest faktycznym testem, a co jest zależnością frameworka.

edytowany 2x, ostatnio: Riddle
K5
  • Rejestracja:około 6 lat
  • Ostatnio:dzień
  • Postów:1001
0

Dokładnie, może być zwykła aplikacja konsolowa. Możesz napisać coś w stylu odpalanie jara razem z przekazaniem ściezki do pliku (wybierz sobie rozszerzenie), w którym będziesz miał zbiór danych. A następnie apka będzie czekać na polecenia od Ciebie, którymi wypiszesz jakieś statystyki z tego pliku. Ilośc wierszy, ilość rekordów z konkretnymi warunkami itp. Taka mała baza danych.

Marcin Marcin
  • Rejestracja:prawie 6 lat
  • Ostatnio:24 dni
  • Postów:610
2


Fan moderatora somekind
ZD
  • Rejestracja:około 3 lata
  • Ostatnio:ponad rok
  • Postów:2310
0
Samson6803 napisał(a):

Bez technologii mam właśnie wrażenie, że nie mogę stworzyć czegokolwiek na czym mógłbym to ćwiczyć. Wiem, że z pewnością tak nie jest, ale zatrzymałem się na "projektach" opierających się na wykorzystaniu podstaw języka, jakieś zadania algorytmiczne. Nie wiem jak przeskoczyć na jakieś użytkowe projekty w Javie i myślałem, że te technologie dadzą mi odpowiednie narzędzia do tego

Hmm ... wyłącznie konsolowe aplikacje, to może być rzeczywiście nużące, przyjmuję do wiadomości
Skok w Springa bez bardzo mocnych fundamentów Javy, wzorców, czystego kodu itd osobiście odradzam.

Ale mam pomysł na przeciwdziałanie tej "nudzie".
Np porobić apki webowe na czymś lekkim. Ja mam przed oczami RatPack, ale rynek jet szerszy.

POD WARUNKIEM, że przyjmiesz do wiadomości, że NIE DA SIĘ zdobywać wiedzę jedynie łatwo sprzedawaną na etacie, że częśc trzeba "zamarnowac". Nie jest prawdziwe zmarnowanie, stąd cudzysłów, bo poszerzasz horyzonty, na inny fw webowy będziesz miał inne spojrzenie "aha, tam było to tak, no ciekawe" ... ale fakt, takie skille nie są wprost sprzedawalne na etacie.

Zainteresowanym potrafię udzielić poparcia myśl o GUI w Swingu (to środowisko - mądrze, prawidłowo użyte, tu model, tam komponent - nie ma działania ogłupiającego), ale w tym przypadku byłoby to daleko idące.


If you put a million monkeys at a million keyboards, one of them will eventually write a Java program - the rest of them will write Perl
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 15 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10053
1

Niektóre aplikacje konsolowe mogą być bardzo fajne do pisania.

S6
  • Rejestracja:około 2 lata
  • Ostatnio:ponad rok
  • Postów:5
0
ZrobieDobrze napisał(a):
Samson6803 napisał(a):

Hmm ... wyłącznie konsolowe aplikacje, to może być rzeczywiście nużące, przyjmuję do wiadomości
Skok w Springa bez bardzo mocnych fundamentów Javy, wzorców, czystego kodu itd osobiście odradzam.

Ale mam pomysł na przeciwdziałanie tej "nudzie".
Np porobić apki webowe na czymś lekkim. Ja mam przed oczami RatPack, ale rynek jet szerszy.

Zainteresowałem się Javalin po jednej z wcześniejszych wiadomości, to też mały framework do aplikacji webowych. Z konsolowymi aplikacjami też postaram się popracować, na pewno pomogą w nauce obsługi plików w Javie

ZD
  • Rejestracja:około 3 lata
  • Ostatnio:ponad rok
  • Postów:2310
3
Samson6803 napisał(a):

Z konsolowymi aplikacjami też postaram się popracować, na pewno pomogą w nauce obsługi plików w Javie

Sądzę, że sporo wiecej.
Pliki? Olać (niemal - z jakiejś perspektywy) ... używam osobisćie raz na wiele miesiecy, i zawsze czytając dok. tego mocno pokręconego API

Myslenie obiektami, elementami funkcyjnymi, rozwiązywanie problemów, to jest ważne.

edit: Wzorce obiektowe (ale to długa opowieśc - jestem wielkim wrogiem wzorców rozumianych jako religia, i wielkim zwolennikiem naturalnego uzycia)


If you put a million monkeys at a million keyboards, one of them will eventually write a Java program - the rest of them will write Perl
edytowany 1x, ostatnio: ZrobieDobrze
Marcin Marcin
  • Rejestracja:prawie 6 lat
  • Ostatnio:24 dni
  • Postów:610
1

Scala / Haskell

Bo życie bez frameworków jest piękniejsze
ale mogę się mylić może @jarekr000000 albo @KamilAdam się wypowiedzą


Fan moderatora somekind
KamilAdam
Ale ja już się wypowiedziałem :D
I1
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 23 godziny
  • Postów:160
0

@ZrobieDobrze czy mógłbyś rozwinąć tę myśl o wzorcach "jestem wielkim wrogiem wzorców rozumianych jako religia, i wielkim zwolennikiem naturalnego uzycia"?

ZD
  • Rejestracja:około 3 lata
  • Ostatnio:ponad rok
  • Postów:2310
2

@ZrobieDobrze czy mógłbyś rozwinąć tę myśl o wzorcach "jestem wielkim wrogiem wzorców rozumianych jako religia, i wielkim zwolennikiem naturalnego uzycia"? — itou123 21 sekund temu

Najładniej mi to pokazała ksiażka (tytułu nie mam pod ręką, ale i tak wyczerpana) nt "co to w ogóle sa wzorce, i jaki jest ich rodowód"
Odwołuje się do architektów budynków "o kurcze, widzę że wszyscy chętnie projektujemy werandę .. w otoczeniu ... - nazwijmy to patio" albo stolarza "o kurcze, widzę że wszyscy od czasu do czasu łączymy prostopadłe deski przez serię trapezowych podcięć, bez gwoździ i kleju - nazwijmy to jaskółczy ogon"
Będziemy się łatwiej porozumiewać. Zdefiniujmy, jakie okolicznosci sprzyjają danemu rozwiązaniu, a które są przewwskazaniem (np jaskółczy ogon nie jest rekomendowany gdy ... )

Ktoś kiedyś (GoF) spisała to radosne "o kurcze, widzę że my wszyscy chętnie ..." i nazwał to Obserwatorem, Fabryką itd...

To jest ta część "naturalna" czy "radosna", właśnie to radosne "o kurczę" jest wyróznikiem

A teraz pańszczyźniano-korporacyjna (wolny wybór z autentycznych sytuacji):

  • w każdym rozwiązaniu musimy użyć trzech wzorców
  • święte wojny nt wzorców jest dokładnie 21
  • musisz użyć wzorca choć komplikuje
  • musisz użyć pięciu wzorców do skrajnie prostych i nie rozwjowych przypadków (FizzBuzzEnterpriseEdition, github)

Warto dodać, pewne elementy zostały przesunięte z częsci "radosnej" do "antywzorców".
Przywołam Singletona (dane statyczne może nie są miodem, ale uważam, ze lepiej miec nazwany wzorzec niż statyczne spagetti), Wstrzykiwanie było wielką radością na pewnym etapie, obecnie jest chłopcem do bicia (zw z przerostem jako mutanta)

@Riddle: uwaga, wulgaryzmy w poście


If you put a million monkeys at a million keyboards, one of them will eventually write a Java program - the rest of them will write Perl
edytowany 1x, ostatnio: ZrobieDobrze
stivens
Moze to byla ksiazka z serii Head First
KamilAdam
Wstrzykiwanie było wielką radością na pewnym etapie, obecnie jest chłopcem do bicia (zw z przerostem jako mutanta) A tu się nie zgodzę. Wstrzykiwanie jest dobre (przez konstruktor), to frameworki do wstrzykiwania to jakiś przerost formy
I1
Dziękuję za rozwinięcie :-) Czy ktoś kojarzy jaki może być tytuł tej książki?
ZD
Nie był to head first. Helion, tłumaczenie 2 autorów amerykańskich / angielskich, i nie były to topowe osoby (GoF itd). Od dawna nie widzę na swoich pólkach, może nie wróciła z pożyczki
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)