Podstawy programowanie w Go... i co dalej?

Podstawy programowanie w Go... i co dalej?

Wątek przeniesiony 2021-09-16 09:50 z Inne języki programowania przez cerrato.

MI
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:2
0

Witam wszystkich serdecznie, jestem studentem politologii i postanowiłem w wolnym czasie wrócić po latach do nauki programowania. Nie wiem, czy mogę wiązać z tym przyszłość zawodową (na razie robię to dla rozwijania pasji i samorozwoju), jednak i tego nie wykluczam.

Wybrałem Go, zachęcony faktem, że jest to język kompilowany do natywnego pliku wykonalnego z wbudowanym GC. Choć do tej tematyki jeszcze mi daleko w nauce (jestem obecnie na poziomie różnych struktur danych i różnych aspektów funkcji), zachęcił mnie także prosty (z punktu widzenia pracy programisty) model współbieżności. Jak na razie nauka idzie całkiem przyjemnie, język wydaje mi się o wiele bardziej intuicyjny niż te, które w bliższej i dalszej przeszłości "liznąłem". Chciałbym zatem w kolejnym kwartale solidnie opanować podstawy języka, a przy okazji dalej oswajać się z GoLandem od JetBrains.

Dostrzegam jednocześnie, że te podstawy niewiele mi dadzą do bardziej praktycznego działania i pisania własnych małych aplikacji, dlatego przydałoby się opanować jakąś bazę danych, no i... właśnie, drugi język. Bibliotek do Go jest stosunkowo niewiele, a dynamika rozwoju ekosystemu wydaje się, że wyhamowała. Ponadto brak bibliotek do UI, czy na aplikacje mobilne, a może w tym kierunku bym się bardziej spełniał. Podobnie z frameworkami do aplikacji webowych (aczkolwiek tu bym musiał poznać JS, na razie znam tylko podstawy HTML5 i CSS3).

Zatem pytania:

  1. Co powinienem zrobić po opanowaniu Go, by rozszerzyć umiejętności? Polecacie jakieś bazy danych, których można byłoby się łatwo nauczyć do zastosowań hobbystycznych, ale też dających jakieś kompetencje pod rynek pracy? SQLite to dobry wybór na start? Co właściwie powinienem zrobić w kolejnych krokach, by móc zabiegać o miano "Junior Developer"?
  2. Za jaki język warto się zabrać w drugiej kolejności? Ciekawy i perspektywiczny wydaje się Rust, choć nie wiem, czy właściwy do zastosowań hobbystycznych, niemniej, ma wspierane bindingi do GTK+, a to mnie jako linuksiarza by interesowało. Jest sens uczyć się Kotlina pod aplikacje desktopowe (Swing), niekoniecznie mobilne? Wspominam o tych językach, bo ich popularność bardzo wzrasta, a wydają się o wiele bardziej przejrzyste i intuicyjne niż C/C++, czy Java i C#.
edytowany 2x, ostatnio: mikkob
stivens
W Kotlinie mozesz bardziej idiomatycznie robic desktop w TornadoFX ale nie wiem jak tam ze wsparciem bo chyba dalej trzeba JDK8 uzywac do tego.
99xmarcin
A może byś tak coś pożytecznego stworzył w tym Go? Nauka dla samej nauki niewiele Ci da. Napisz jakiś przydatny program lub pomóż dla jakiegoś projektu open-source. Max 1k LOC projekciki raczej nie nauczą Ciebie idiomów, systemu budowania czy CI (np. Github Actions/Travis).
MI
@0xmarcin pełna zgoda, ale na obecnym poziomie nauki nie jestem jeszcze w stanie pisać czegoś sensownego, co najwyżej apkę egzaminującą z tabliczki mnożenia i liczącą punkty, czy system liczenia głosów wykorzystujący mapy :P
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:15 minut
0

dlatego przydałoby się opanować jakąś bazę danych, no i... właśnie, drugi język. Bibliotek do Go jest stosunkowo niewiele, a dynamika rozwoju ekosystemu wydaje się, że wyhamowała. Ponadto brak bibliotek do UI, czy na aplikacje mobilne, a może w tym kierunku bym się bardziej spełniał. Podobnie z frameworkami do aplikacji webowych

Oj to nie tego typu jezyk. Go to takie lepsze ale wolniejsze C (bez ++). W tym najczesciej sa pisane jakies niskopoziomowe backendy gdzie nie trzeba nawet generykow albo aplikacje infrastrukturalne pokroju dockera czy k8s albo webserver caddy.
Do CRUDow to raczej Java/C#/Kotlin. Do desktopa C++/C#. A mobile Kotlin/Swift.

W Go za duzo rzeczy nie ma zeby to byl general purpose language. Ale moze to i lepiej :)


λλλ
edytowany 9x, ostatnio: stivens
Zobacz pozostałe 16 komentarzy
DR
@DiabolicalOnion: Człowiek uczy się całe życie, a umiera głupim, dzięki :)
stivens
A to jakies nieoficjalne? Bo pierwsze slysze
MI
@DiabolicalOnion: dlatego właśnie wybrałem Go na początku... o Ruście wiem w zasadzie tylko tyle, że ma model własności zmiennych, przez co one są naturalnie wygaszane poza zasięgiem własności, przez co nie potrzeba GC, a jednocześnie jest zapewniona ochrona przed memory leaks
KA
TinyGo to raczej bieda. Można, tylko po co?
DO
DiabolicalOnion
@karsa: Stwierdzenie było że nie da się kompilować co jest nieprawdą, a po co to inna już sprawa. TinyGo było używane jeszcze do generowania binarek WASM, ze względu na wielkość jej, nie wiem jak teraz, może się coś zmieniło, nie śledzę już języka Go.
PK
PK
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:245
0

Jeśli współbiezność opiera się na synchronizacji przez blokady to tak naprawdę zbytnio wielkiego uproszczenia nie masz.

Ogólnie Go daje trochę upustu przy asynchroniczności, i tyle. Reszta charakterystycznych cech to statyczne typowanie, kanciasta składnia, gc i binarka, są to bardziej kontrowersyjne decyzje, stąd poza budową tooli pod infrastrukturę (gdzie te cechy są w miarę ok) ciężko ten język stosować na innych polach, bo tam inne języki dają lepsze warunki do tworzenia programów.

A jeśli płyniesz w innym kierunku to w Go będziesz się męczył, nie wspominając o tym, że cięzej będize tak znaleźć pracę powiązaną z webówką.

MI
Zasadniczo chciałem pozostać przy Go w kontekście nauki podstaw programowania, bo zaprzyjaźniłem się ze składnią, a nawet z krytykowaną często obsługą błędów (która jednak wydaje mi się intuicyjna). Poza tym z jednej strony GC i mniej obowiązków związanych z zarządzaniem pamięcią, z drugiej jednak bliżej "niskiego poziomu" niż .NET, JVM, czy Python, co daje pewną dodatkową wiedzę. Tak jak mówiłem, traktuję to na razie raczej hobbystycznie, pytanie dotyczyło bardziej dalszych kierunków i innych technologii (bazy danych np.) pod ewentualny start na rynku pracy.
PK
pan_krewetek
Skoro robisz to hobbistycznie no to rób cokolwiek co Cię ciekawi, inaczej to co robisz nie będzie zbytnio hobbistyczne.
BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
1
mikkob napisał(a):

jestem studentem politologii i postanowiłem w wolnym czasie wrócić po latach do nauki programowania. Nie wiem, czy mogę wiązać z tym przyszłość zawodową
Wybrałem Go

Będziesz programistą backend 2 lata exp (ale nie Go), będziesz dorabiać do inżyniera magisterkę z infy. Będziesz się starać dostać pracę junior Go w jednym z miast Big-3-IT.
Nie dostaniesz.

Gorzej chyba nie mogłeś sobie wybrać od Go. W Polsce.
Bo za granicą doświadczonego (2+), wykształconego kierunkowo, to do Go przyjęli z otwartymi ramionami.

(W ten sposób z Polski wyemigrował na stałe kolega)


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
edytowany 2x, ostatnio: BraVolt
Zobacz pozostałe 4 komentarze
PK
pan_krewetek
Natomiast jak jest mniej ofert wtedy na ogół ciekawszych ludzi idzie spotkać w pracy więc to też jest atut sam w sobie. Ostatecznie jak komuś coś w karierze nie pyknie z powodu ofert to może skręcać w kierunku node, pythona bo wiele tematów jest dość zbliżonych,
BraVolt
Oferty Go są wyłącznie do ludzi już programujących w miarę długo komercyjnie w Go. W Polsce robi się w Go to co można od zaraz ruszyć doświadczonymi developerami albo nie robi się wcale. Nie ma wejścia w Go spoza Go (nie piszę o pierwszej pracy jako takiej ale o pierwszej pracy w Go).
BraVolt
Nie ma projektów w Polsce dla Go bo nie ma programistów Go. Albo inaczej: są (nie dużo) ale trzeba ich podkupić. Nie ma programistów, bo skąd się mają brać na takim rynku? Nie ma programistów bo nie ma projektów dających szansę zacząć się rozwijać w Go.
PK
pan_krewetek
No w zasadzie jak ze wszystkim co jest niszowe, ale jak ktoś wymiata to zawsze ma jakieś szanse. Kwestia podejścia, ale rozumiem do czego zmierzasz.
BraVolt
Jak ktoś wymiata bo się taki urodził (np. bohaterka Gambit królowej) albo został zerwany z drzewa wymiatawcowego. Znane: zatrudnimy juniora z 3 latami komercyjnego doświadczenia W TEJ technologii
DR
  • Rejestracja:prawie 12 lat
  • Ostatnio:33 minuty
  • Postów:1129
0

@BraVolt: Nie zgodzę się z tobą co do tego, że w Polsce jest zła sytuacja z Go, dziennie mam po 5-6 wiadomości na linkedin, fakt, część jest z zagranicy, ale większość z Polski (większe miasta jak Kraków, Wrocław, Gdańsk czy Warszawa). Moi koledzy z pracy także nie narzekają na "spam". I jeśli chodzi o golang to większość z nas jest 1+ w tym języku. Powiem więcej, w moim odczuci łatwiej jest dostać prace w Go niż w Pythonie.

BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
1

@Dregorio:

Mogę napisać: znam pajtonowców którzy spokojnie rozpoczęli pracę w tym języku i nie narzekali specjalnie, że bardzo trudno.


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
DR
  • Rejestracja:prawie 12 lat
  • Ostatnio:33 minuty
  • Postów:1129
0

@BraVolt: Ja jestem jednym z nich :P I nie twierdze, że jakoś ciężko się w tym pisze, ale nie każdy chce, skądś tyle ofert na mojej skrzynce się bierze. Chyba, że bierze się to z tego, że rekruterzy widzę, że mam już jakieś w tym doświadczenie.

MI
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:2
0

@Dregorio: Zatem jakie technologie po dobrym opanowaniu podstaw języka należałoby poznać? Mówię przede wszystkim o lekkich i łatwych w użyciu rozwiązaniach. Czy warto byłoby poznać bazy danych NoSQL typu MongoDB? Jakieś frameworki, etc.?

BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
1
Dregorio napisał(a):

Chyba, że bierze się to z tego, że rekruterzy widzę, że mam już jakieś w tym doświadczenie.

Jak masz bliżej 2+ konkretnie w Go to masz oferty w go. Jakbyś miał 2+ np. w .NET to sorry, ale szukam kogoś z udokumentowanym komercyjnym doświadczeniem w Go.
Go to nie moje klimaty, ale widziałem jak naprawdę łebscy ludzie którym podobało się Go odbijali się od ściany. Gdzie indziej na co innego mogli sobie wybrać, ale nie Go.

Jakby zebrać razem wszystkie rekrutujące projekty i zsumować ludzi z Go w mieście to wszystkich razem byłoby mniej od liczebności jednego korporacyjnego projektu dotnet/java. Dwu, trzyosobowy zespół rekrutuje trzeciego, czwartego - słyszałem takie opowieści.


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
DR
No nie będę się spierać, bo siedzę w bańce pewnie :P
DR
  • Rejestracja:prawie 12 lat
  • Ostatnio:33 minuty
  • Postów:1129
1

@mikkob: Przede wszystkim łap to https://github.com/avelino/awesome-go. Jakaś relacyjna baza danych (postgres), nierelacyjna NoSQL (MongoDB, Redis), dobrze jest wiedzieć czym się różnią i kiedy używać. Docker (umieć napisać prosty Dockerfile, docker-compose, ogólnie się orientować), Kubernetes (poziom - nie panikować jak trzeba będzie uruchomić :P). Z frameworków np. gorilla (jeśli chcesz klepać CRUDy), GORM jeśli nie chcesz z palca pisać zapytań SQL i można tego użyć w projekcie. Jakieś narzędzia do logowania, metryk, IDE, lintery. Większość masz w linku, który podałem. Powodzenia

KA
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 2 lata
  • Postów:594
0

Jezeli chcesz sie przebranżowić to wybierz cos popularnego a nie niszowego.
Rust jest mega niszowy...

Ja rekrutujac kogos do Golanga czy Rust oczekiwalbym doswiadczenia kilku lat w innych technologiach.

Moje subiektywne zdanie jest takie - jeżeli ktoś umie tylko Go i nic bardziej popularnego to raczej nic z niego nie będzie, zupełny brak pragmatyzmu.

edytowany 1x, ostatnio: karsa
Zobacz pozostałe 3 komentarze
KA
Nie wiem gdzie byłem nieempatyczny, absurd. Nie wyraziłem się jasno, po prostu zbyt duży rozstrzał technologiczny napisany w Twoim poscie. Z Go/Rust perspektyw nie będziesz miał żadnych. Już nie wystarczy powiedzieć, że się "chce" i biorą do pracy.
MI
@karsa: przepraszam, jeśli to przeze mnie źle się zrozumieliśmy, chodzi mi o to, że początkujący programista, który nie siedzi jeszcze głęboko w IT ma prawo na pewnym etapie trochę błądzić i rozważać różne technologie w dużym "rozstrzale", moja orientacja w terminologii branży i językach jest raczej ogólna, nieobce mi są terminy typu JIT/AoT, czy wirtualizacja, podstawowe zasady funkcjonowania JVM/.NET, znam trochę HTML i CSS, ale z programowaniem dopiero zaczynam :)
KA
Cóż, a ja chcę tylko pomóc, żeby być bardziej skutecznym ;)
MI
@karsa: zatem wg Ciebie Kotlin może być lepszym wyborem wśród nowych, rozwijających się języków?
KA
Jeżeli chodzi o perspektywy pracy to cokolwiek popularnego, ważne co jest dominujące w Twoim mieście. Najczęściej jest to Web/CRUD + Java/JVM lub JS lub python ale raczej kierunek Data. Na zdalna pracę junior raczej nie ma co liczyć. Zaczepic się gdzieś, przepracować rok i dwa i możesz myśleć nawet i niszowych technologiach, remote czy przeprowadzcce.
TurkucPodjadek
TurkucPodjadek
  • Rejestracja:około 8 lat
  • Ostatnio:około 4 lata
  • Postów:607
1

@mikob:

Co powinienem zrobić po opanowaniu Go, by rozszerzyć umiejętności? Polecacie jakieś bazy danych, których można byłoby się łatwo nauczyć do zastosowań hobbystycznych, ale też dających jakieś kompetencje pod rynek pracy? SQLite to dobry wybór na start? Co właściwie powinienem zrobić w kolejnych krokach, by móc zabiegać o miano "Junior Developer"?

Ludzie programują latami w Go, mając background w innych językach, a nie są w stanie go opanować (tak twierdzą), Ty już martwisz się, co będzie jak go opanujesz. Za bardzo z przodu jesteś.

Za jaki język warto się zabrać w drugiej kolejności? Ciekawy i perspektywiczny wydaje się Rust, choć nie wiem, czy właściwy do zastosowań hobbystycznych, niemniej, ma wspierane bindingi do GTK+, a to mnie jako linuksiarza by interesowało. Jest sens uczyć się Kotlina pod aplikacje desktopowe (Swing), niekoniecznie mobilne? Wspominam o tych językach, bo ich popularność bardzo wzrasta, a wydają się o wiele bardziej przejrzyste i intuicyjne niż C/C++, czy Java i C#.

Na początek naucz się jakiegokolwiek języka, w którym jesteś w stanie zrobić prosty projekt (serwer/client API typu todo lista, przykładowo). Nie musi to być Go, może być "zwykły" Python. Jak chcesz na brutala, to możesz C/C++/Rust, ale to będzie bolało. Zalecam jednak uczyć się w kierunku od języków bardzo prostych i na wiele pozwalających (Python, Perl bez pragmy strict) do coraz trudniejszych, bo wtedy lepiej załapiesz o co chodzi w tych trudniejszych.

Co do ofert w Go - od roku dosłownie zwalają się one na głowę w PL, pewnie to głównie SHy dla zagranicy, ale jednak. Pamiętam czasy, że 1 oferta w Go na LI to był sukces (i nie mówię wcale o ofercie od polskiego rekrutera). Więc popyt wzrósł bardzo znacząco, ale według mnie, Go jest takim językiem "ze środka" jak np. Rust. Jak ktoś dopiero startuje z programowaniem i wejdzie w te języki jako pierwsze, to będzie miał wielkiego WTFa o co w ogóle chodzi. Trzeba przejść ścieżkę starożytnych, aby rozumieć dobrze inne języki, w tym ścieżkę funkcyjną.

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)