Co wybrałbyś/wybrałabyś do stworzenia projektu od zera?

Co wybrałbyś/wybrałabyś do stworzenia projektu od zera?
Hispano-Suiza
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
2

Cześć. Zbieram się do klepnięcia swojego projektu więc wpadłem na pomysł tego tematu. Może akurat ktoś z was jest na etapie projektowania kartka/głowa/złote myśli/zaawansowana implementacja swojego pomysłu zechce się podzielić informacją ;-) Jeżeli nie masz żadnego pomysłu w planach, a masz coś do powiedzenia również zapraszam.

  • Kategoria projektów jest dowolna ale liczą się idee realizowane po pracy, a nie w pracy: web, mobile, desktop, IOT i wszystko inne co można pod to podpiąć. Ogólnie więc panuje dowolność.

Zasady 'zabawy' w poście są następujące:

  • Opisz co tworzysz* (Niewymagane - nie musisz zdradzać swojego pomysłu)
  • Dlaczego planujesz stworzyć/tworzysz ten projekt? (Dla odstresowania po pracy, zabawa, poznanie nowego języka, frameworka, biblioteki, inny powód(jaki?))
  • Co Twój projekt ma robić? Jaki problem rozwiązujesz?
  • Jakie ograniczenia posiada Twój projekt?
  • Jakich technologii i dlaczego używasz w projekcie? Istotnym elementem tego punktu jest uzasadnienie. (Np. Kotlin, Spring Framework, PostgreSQL, Angular 2)
  • Jakie narzędzia wykorzystujesz? Dlaczego takie? (Np. Jira, Slack, Trello, Github)
  • Jeżeli wykonałeś już jakieś postępy wykraczające poza projekt na papierze/w głowie - daj znać jakie problemy napotkałeś/aś po drodze i jak sobie z nimi poradziłeś/aś?
  • Jeżeli piszesz projekt np. w PHP, a po pół roku postanawiasz przejść na np. Pythona - napisz skąd taka decyzja. Własna zachcianka? Dochodzisz do wniosku, że w Pythonie zadziała coś lepie/szybciej? Inne powody - jakie?
    .
    Myślę, że to takie fajnie skrojone minimum jeśli chodzi o własne prace twórcze. Można się wypowiedzieć nawet nie produkując niczego po godzinach.
  • Gdyby ktoś chciał komentować czyjś wybór i uświadamiać go, że jest bez sensu miło będzie gdy zrobi to w komentarzach w poście do którego chce się odnieść.
  • Podziękowania dla: @WhiteLightning, @cepa za wkład w modyfikację głównych założeń tego tematu.

PS. Wszelkie uwagi mile widziane natomiast pakowanie 100 punktów realizacji mija się z celem. Raczej nikt nie będzie wrzucać user flow, makiet, wbs, przeklejał tasków z trello i tym podobnych ;-)

Dziękuję i życzę miłej zabawy :P


"Trolling is a art"
edytowany 3x, ostatnio: Hispano-Suiza
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 8 godzin
2

Gdybyś dzisiaj miał/a siadać od 0 do projektu własnego pisanego po godzinach (i trzymamy się tematu aplikacja web/mobile) to jakiego stacku byś użył/a i dlaczego?

Scala. Scala.js na froncie, Scala.JVM na backendzie. Doświadczenie mam z:

Uzasadnienie:

  • jeden i ten sam język na froncie i backendzie
  • nawet wiele funkcji z Javy jest przepisanych do Scala.js, więc można w bardzo dużym stopniu współdzielić kod
  • język jest silnie typowany, zwięzły i ogólnie moim zdaniem najlepszy z dostępnych do tych zastosowań (web) :) (pomijając dostępność programistów of koz, ale przecież chodzi o programowanie dla siebie)
  • w Reactu można pisać w miarę funkcyjnie, a taki styl lubię i dobrze pasuje do Scali
  • nie lubię języków kaczo typowanych

"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit
jarekr000000
Mityczna niedostępność programistów Scali. Jak w korpo czy u Janusza sie tłucze CRUDy to pewnie ich tam nie ma.
jarekr000000
Tu jedna uwaga jeśli chodzi o ropienie native aplikacji. Ionic/Angular jest naprawdę dobry, a niestety w ScalaJS to nadal kiepsko się obsługuje - binding w porównianiu do Reacta, to totalna bieda. Z drugiej strony ReactNative jest.. ale moje ostatnie doświadczenia sprzed roku to: niestabilność i powolność środowiska.
marcio
jesli juz cos trzeba robic w "native" dla mobile nie uzywajac java/obj c/swift to wedlug mnie flutter to jest bomba sam cos tam probuje zrobic po godzinach ale czasu malo, nawet pisalem do Adama czy na 4p jest jakies publiczne api to bym zrobil klienta do 4p jesli chodzi o mikrobologi/oferty pracy
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:około 6 godzin
  • Postów:8409
3

Gdybyś dzisiaj miał/a siadać od 0 do projektu własnego pisanego po godzinach
(i trzymamy się tematu aplikacja web/mobile) to jakiego stacku byś użył/a i dlaczego?

Przede wszystkim nie traktowałbym tego w tak bardzo waterfallowy sposób i bym nie decydował o całym stacku na początku. Tzn. na pewno pewne defaultowe decyzje bym podjął - np. jeśli miałbym zrobić zaawansowany interfejs HTML/CSS to użyłbym pewnie Reacta, bo tego zwykle używam, tak samo z innymi narzędziami. Jednak dodawałbym te narzędzia po kolei, wtedy kiedy będą faktycznie potrzebne (zachowując zasadę YAGNI).

od 0 do projektu własnego pisanego po godzinach

Ponieważ takie projekty po godzinach nie mają presji czasowej, że trzeba coś dowieźć natychmiast, to bym to zapewne przepisywał po kilka razy, i pewne decyzje technologiczne powzięte na początku mogłyby się pójść je*ać, jeśliby się okazało, że np. dane rozwiązanie technologiczne się nie sprawdza w projekcie.

Także w takich projektach jest duże pole do eksperymentów. Można polecieć na spontan i spontanicznie wymyśleć sobie, że np. "oo, nowa biblioteka X, użyję jej w projekcie i zobaczę co się stanie!" a po dwóch tygodniach używania stwierdzić, że "ee, to jednak był błąd!".


Hispano-Suiza
Musiałem przyjąć jakieś założenia dla tego tematu. A projekt koniec końców w czymś trzeba projekt napocząć. Co będzie dalej niestety ciężko stwierdzić więc pytanie bez zbędnego filozofowania ;-)
LukeJL
no to ja bym zaczął projekt w tym, co znam i myślę, że to zwykle najlepsza odpowiedź (czyli cokolwiek robię zacząłbym to pewnie w JS, pomimo, że to zabawkowy język. Tak samo jak ktoś zna PHP, to najlepiej jakby zaczął robić cokolwiek w PHP, ponieważ to zna).
LukeJL
no chyba, że bym miał robić, do czego JS się średnio nadaje, a wiem, że inne języki się lepiej nadają (np. jakbym miał coś zrobić Machine Learning to bym to robił w Pythonie)
Hispano-Suiza
Zawsze można znając jeden język zacząć pisać coś w innym dla samej nauki chociażby ;-)
WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 13 godzin
  • Postów:3169
0

@Hispano-Suiza: zdefiniuj typ projektu.

Ja np. po godzinach bawie sie w gamedev. I dawniej to bylo XNA (ktore pomi o ze lubie to obecnie jest trupem). Wiec przrzucilem sie na LIBGDX.
Wiadomo ze musi byc GIT :)

Hispano-Suiza
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
0

@WhiteLightning: Poszedł update posta wyżej w takim razie. Może zrodzi się w nim coś ciekawego :-) Podsumowując: dowolność jeżeli chodzi o to co robimy. Idea przedstawiona jest w poście na samej górze także nie krępuj się ;-)


"Trolling is a art"
Garen_eye
  • Rejestracja:prawie 10 lat
  • Ostatnio:około rok
  • Lokalizacja:Warszawa
  • Postów:68
0

Tak sobie ostatnio myślę, że jakbym miał pisać tzw. launcher do gry, to napisałbym go w stacku NodeJS i Electron. Tworzenie warstwy wizualnej w HTML, CSS i JS jest bardzo przyjemne i łatwe. Trochę słabo, że sam launcher ważyłby ok 50-100mb, no ale by był... ładny. Serwis do komunikacji z tym launcherem, chyba bym się pokusił do napisania w języku GO - kiedyś się nim bawiłem i przyjemnie mi się robiło w nim różne sieciowe rzeczy.

Wracając do Electrona, to jest taka trochę łatwiejsza alternatywa niż łączenie aplikacji napisanej w c++ z chromem, jak robią twórcy League of Legends albo sam Blizzard w swoim Battle.net :P


zyxist
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 6 lat
  • Postów:101
1

Hmm... przyjmując aplikację webową, wybrałbym pewnie:

  • backend: Java,
  • frontend: ReactJS+Redux, rozważyłbym użycie TypeScript.

Kolejne wybory zależą od rodzaju aplikacji. Gdybym miał szybko oprogramować jakiś proces biznesowy będący częścią większej infrastruktury, pewnie szedłbym w Spring Boota. Za magią nie przepadam, jednak w tym wypadku prawdopodobnie chciałbym po prostu dostać standardowe narzędzia do szybkiego "dogadania" się z resztą i skupić się na logice. Ponadto byłaby to duża zaleta, gdyby projekt trzeba było komuś przekazać.

Inaczej bym podszedł do projektu długoterminowego lub takiego o wymaganiach innych niż "oprogramuj mi to tak, by działało". Tutaj preferowałbym lżejsze, wyspecjalizowane biblioteki takie, jak Ratpack czy jOOQ.

Natomiast własny blog zakodowałem w zeszłym roku w PHP, by móc to uruchomić na praktycznie każdym hostingu w znanym wszechświecie. Backend napisałem w Symfony 3. Front-end jest mniejszy niż "Hello world" w Symfony, więc napisałem go z palca w czystym PHP :).

Aplikacje niewebowe i nie-GUIowe: wszystkie opcje dozwolone, do każdego przypadku podchodzę indywidualnie. Dwa przykłady z ostatnich lat:

  • rozwijałem tego typu projekt przez kilka lat, do którego wybrałem Javę. Jednym z czynników decydujących było to, że projekt współpracował z ekosystemem napisanym w Javie.
  • jakoś rok temu musiałem stworzyć narzędzie systemowe, które miało być lekkie i działać na różnych systemach operacyjnych. Wybrałem Pythona z uwagi na bibliotekę standardową, która posiadała wszystkie niezbędne mi funkcje (w przeciwieństwie do Javy) oraz fakt, że Python był już dostępny na wszystkich docelowych maszynach.

Czym się kieruję:

  • duże/długie projekty: języki statycznie typowane > języki dynamicznie typowane
  • duże/długie projekty: czy istnieje społeczność i dokumentacja dla danego narzędzia,
  • jak dana biblioteka jest napisana (jakość API, rozszerzalność...),
  • okoliczności nietechniczne, np. umiejętności programistów, którzy będą mieć styczność z danym projektem.

Aktualizacja:

Celem wyjaśnienia paru wątpliwości zgłoszonych przez innych rozmówców: we wpisie skoncentrowałem się na aspekcie wyboru konkretnej technologii i robię to wtedy, kiedy wiem już, co projekt ma robić i jak. Podane przykłady demonstrują praktyczne wykorzystanie wiedzy związanej z celem projektu, wymaganiami, ograniczeniami. Podjęcie określonej decyzji byłoby praktycznie niemożliwe, gdybym tego wcześniej nie zrobił.


edytowany 1x, ostatnio: zyxist
cepa
  • Rejestracja:ponad 22 lata
  • Ostatnio:9 dni
4

Podchodzisz do tematu od d**y strony.

Analiza:

  1. Dlaczego chcesz stworzyć projekt? Jak jest jego cel? Dla kogo?
  2. Co twój projekt ma robić, czym ma być? Co "będzie" jak stworzysz projekt?
  3. Co twój projekt NIE robi, jakie ma ograniczenia, itd?
  4. Jaki masz budżet, nie koniecznie hajs ale na pewno czas, do kiedy chcesz go stworzyć?

Projekt:
5. Wymagania, co robi, czego nie robi, jak to robi? User stories, flow, itd itp. Architektura z "wyższej" perspektywy (High Level Design).
6. Interfejs, najprościej zrobić sobie makiety żeby "widzieć" jak to będzie działać. Nawet jak to aplikacja systemowa to chociażby jakie parametry, czy biblioteka jaka ma wystawiać funkcjonalność.
7. WBS, Work Breakdown Structure. Coś jak spis treści twojego projektu. Od wizji do szczegółów opisujesz co trzeba zrobić, np: Logowanie -> Autentykacja, Formularz login, Logout, Reset hasla.
8. Plan projektu, na podstawie WBS co i w jakiej kolejności robić żeby skończyć.

...i dopiero jak mniej więcej znasz odpowiedzi na powyższe...

Rozwiązanie:
9. Jak to ma być napisane? Architektura z "niższej" perspektywy (Low Level Design).
10. Czego użyć do budowy projektu żeby zmieścic się w założeniach i żeby robił to co ma robić.

Implementacja:
11. Nastał czas napierdalania.
.
.
.

Wdrożenie
.
.
.

Profit

edytowany 2x, ostatnio: cepa
Zobacz pozostałe 6 komentarzy
cepa
Ok, ale 5pln na karme dla psów :P
Hispano-Suiza
Kradnę tylko te albo aż te bo widząc zainteresowanie tematem wolałbym nie zadawać 100 pytań na które odpowie może jedna osoba bo to trudne pytania. Nie dotyczą pensji, przebranżowienia. Jak zacząć programować? Jestem kierowcą ciężarówki czy mam szansę zostać programistą? Chciałem od zawsze programować ale pracuję w masarni - dlaczego nie chcą mnie przyjąć? Nie ma problemu. Jestem raz w tygodniu w schronisku + raz na miesiąc ze znajomymi dowozimy trochę karmy i różnych potrzebnych akurat rzeczy więc w tym miesiącu dorzucę więcej karmy ;-)
zyxist
@cepa -> może wyjaśnię: z Twoim wpisem się w całości zgadzam. Opisałem wyłącznie część technologiczną (czyli de facto od Twojego punktu 9 i dalej), gdyż jak zabrałem się za odpisywanie, umknęło mi, że autor tematu pytał też o podejście do kwestii nietechnologicznych. Zauważ, że w opisie mojego podejścia odwołuję się do znajomości wymagań i choćby celu projektu. Np. nawet w najprostszym przykładzie z własnym blogiem, w momencie napisania pierwszej linijki kodu miałem dokładnie rozpisany cały pomysł i gotową, statyczną makietę.
cepa
Peace :P post kierowałem do autora wątku ;)
zyxist
Spoko, nie brałem tego osobiście :) - doprecyzowanie się przyda, zwłaszcza dla kogoś, kto trafiłby na ten temat za jakiś czas.
Hispano-Suiza
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
1

@Wibowit, @LukeJL, @WhiteLightning, @Garen_eye, @zyxist - wołam z racji tego, że poszedł "mały" update głównego postu. Jeżeli macie ochotę coś dodać to serdecznie zapraszam ;-)


"Trolling is a art"
WhiteLightning
@Hispano-Suiza: dodam, ale na razie nie mam czasu zeby sie rozpisac.
LukeJL
tak lepiej w sumie. teraz jest mniej nastawione pytanie na technologie, a bardziej na problemy, może się wypowiem (mam kilka takich pet-projectów, które od strony technologii się niewiele zmieniały, albo były to zmiany niespecjalnie interesujące, natomiast od strony podejścia do problemu się zmieniły bardzo).
Hispano-Suiza
@WhiteLightning: Żaden problem. Dałem tylko znać, że poszedł update ;-) @LukeJL na pewno będzie to cenne dla innych, a może najdzie Cię na opisanie swojego edytora przy jakiejś tam okazji :-) Żeby było jasne. Nic na siłę. Jak ktoś ma ochotę to będzie bardzo miło poczytać coś takiego. Dzięki za uwagę i już nie pinguję was po nickach :-D
JU
  • Rejestracja:około 22 lata
  • Ostatnio:około miesiąc
  • Postów:5042
0

Ja wybieram C#. Dlaczego? Bo mogę pisać w web, mogę na desktop (różne systemy), mogę na mobilne. I wszystko to będzie używane w moim projekcie :) Do tej pory siedziałem głównie w desktopie. Teraz jest fajna okazja, żeby zrobić coś bardziej uniwersalnego i poznać nowe technologie.
Z narzędzi: Visual Studio, GIT, Dia (tworzenie diagramów UML) lub Gliffy i prosty klient (nie pamiętam nazwy) do obsługi żądań HTTP.

jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 15 godzin
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
2
zyxist napisał(a):
  • okoliczności nietechniczne, np. umiejętności programistów, którzy będą mieć styczność z danym projektem.

Umiejętności i chęci. Ja praktycznie tylko tym się kieruje, Generealnie większość projektów da się napisać we wszystkim, a odopowiednio podkur...ni i zmotywowani programiści mają większy wpływ niż drobne różnice w "wydajności" pisania w różnych jezykach/ frameworkach.
Tu jeszcze dochodzi ewentualny czas trwania i utrzymania projektu oraz ewentualnie security. Np. namiętnych JavaSkryptowców namawiam na TypeScript/ Testy i jakiś bezpieczniejszy framework niż jQuery + szczere chęci.


jeden i pół terabajta powinno wystarczyć każdemu
zyxist
Chyba mnie przekonałeś do ambitniejszego pójścia w TS i chyba mam pomysł, jak podejść do tematu. Dzięki!
jarekr000000
@zyxist: nawet nie wiesz jak ja nie lubię TS (za nie bycię ScaląJS lub elmem czy PureScriptem). Ale w biznesie się sprawdza.
0

Projekt, który rysuje Op is a Faggot w konsoli albo dla utrudnienia w pliku.

SZ
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 5 lat
  • Postów:54
0

pół zartem pół serio. Gotowy csm open source i grzebał w kodzie metodą prób i błędów ;=)

0

Wybrał bym Ruby on Rails lub Sinatre, tak się tworzy startupy, jak to zrobili w twitter, a potem jak wyjdzie przepisał go do Scala/Scala.js.

0

C++ na hardcore(żeby sobie przypomnieć http jak działa xd), albo python, ewentualnie java na backend.

Na front klasycznie js,css,html.
Jakieś podstawowe frameworki, żeby od zera nie pisać.

Do weba, a mobile to java klasycznie jest spoko.

Reszta to pomysł.

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)