Wersja MVP w node.js a potem to przepisac?

Wersja MVP w node.js a potem to przepisac?
0

Czesc tworze wersje MVP swojego produktu. Mysle nad taka strategia, zeby jak najszybciej wypuscic wersje MVP, dlatego chcialem to zrobic w node.js. Jesli projekt wzbudzlby zainteresowanie, kolejnym krokiem byloby po prostu przepisanie starej czesci lub odciecie sie i stworzenie mikroserwisow opartych juz o inne jezyki. Uwazacie, ze pisanie MVP w jezyku X a potem w razie sukcesu przepisanie na cos innego to zly pomysl, czy to taka powszechna praktyka?

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

Moim zdaniem głupota. O ile nie jest to oczywiście stawiane w RoR. Dobierz technologię do projektu i rób od początku w miarę sensownie bo później i tak nie znajdziesz czasu na przepisanie tego do czegoś innego. Zasadniczo pytanie jednak brzmi - skoro już chcesz pisać to w Node to dlaczego nie zamierzasz później tego kontynuować?


"Trolling is a art"
0

Moim zdaniem głupota. O ile nie jest to oczywiście stawiane w RoR.

Czemu? Wszystko co w RoR to jest przepisywane? :P

Zasadniczo pytanie jednak brzmi - skoro już chcesz pisać to w Node to dlaczego nie zamierzasz później tego kontynuować?

To znaczy na pewno, jeśli by projekt jakoś tam wypalił, to po I milestone'ie na pewno będa mikrouslugi do ML i tutaj raczej stawiam na pythona, ale aplikacja ma ambicje na bycie czymś dużym w przyszłości, więc nie wiem czy Node nas nie pogrąży. Oczywiście to wszystko jest gdybanie. Ale lepiej myśleć w dwie strony. Co jak wypali, a co jak nie.

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

Czemu? Wszystko co w RoR to jest przepisywane? :P

Chodzi o to, że nie wszystko i tutaj tkwi główny problem. Bo ta technologia nie nadaje się do niczego innego niż prototypowanie. Dziś w nocy przyjrzałem się temu całemu RoR. O zgrozo w życiu nie chcę mieć z tym nic wspólnego. A, że później nikt tego nie przepisuje dalej to są różne problematyczne przypadłości, prawda @kate87 ? :-D

To znaczy na pewno, jeśli by projekt jakoś tam wypalił, to po I milestone'ie na pewno będa mikrouslugi do ML i tutaj raczej stawiam na pythona, ale aplikacja ma ambicje na bycie czymś dużym w przyszłości, więc nie wiem czy Node nas nie pogrąży.

Wiec dlaczego od razu nie zaczniesz robić tego w Pythonie? Django, Flask? To chyba dwa najpopularniejsze do weba. Nie wiem czy pisanie ML w Node to dobra idea skoro w Pythonie masz dużo większe zaplecze do tego typu projektu. Od biedy możesz też później połączyć jedno z drugim przecież. Chyba, że coś stoi na przeszkodzie? :P


"Trolling is a art"
edytowany 1x, ostatnio: Hispano-Suiza
kate87
Łooo jezu, jak tak dalej będziemy robić w tym RoRze to skończy się to ekskomuniką nałożoną przez środowisko programistyczne.
kate87
  • Rejestracja:około 15 lat
  • Ostatnio:około 3 lata
0
Brunatny Rycerz napisał(a):

Czesc tworze wersje MVP swojego produktu. Mysle nad taka strategia, zeby jak najszybciej wypuscic wersje MVP, dlatego chcialem to zrobic w node.js. Jesli projekt wzbudzlby zainteresowanie, kolejnym krokiem byloby po prostu przepisanie starej czesci lub odciecie sie i stworzenie mikroserwisow opartych juz o inne jezyki. Uwazacie, ze pisanie MVP w jezyku X a potem w razie sukcesu przepisanie na cos innego to zly pomysl, czy to taka powszechna praktyka?

Dokładnie głupota. Albo robisz od razu jak trzeba albo robisz na szybko po łebkach i łudzisz się że kiedyś przepiszesz. Nie, nie przepiszesz bo się zakręcisz. Właśnie jestem w takim projekcie gdzie pokutowało takie podejście. W tym momencie mamy burdel, część jest przepisywana ale raz że trwa to powoli, a dwa że wszystkim się odechciewa jak widzą RoRową ifologię, a w większości ludzi wzrasta syndrom gotującej się żaby i albo coś z tym zrobimy albo będziemy w siebie rzucać wyposażeniem biura.

edytowany 1x, ostatnio: kate87
Hispano-Suiza
Na wyposażeniu biura są tylko puste pudełka po produktach Oracle i zdjęcie kochanki szefa w 3 szufladzie (od góry) jego biurka. Także tragedii nie będzie ale to przepisywanie to sobie daruj :-)
0

Wiec dlaczego od razu nie zaczniesz robić tego w Pythonie? Django, Flask? To chyba dwa najpopularniejsze do weba. Nie wiem czy pisanie ML w Node to dobra idea skoro w Pythonie masz dużo większe zaplecze do tego typu projektu. Od biedy możesz też później połączyć jedno z drugim przecież. Chyba, że coś stoi na przeszkodzie? :P

Bo ja nie jestem Pythonowcem, tylko moj znajomy. To znaczy on bardziej jest mozgiem o algorytmow, a Python to tylko narzedzie, ale sprawdzone, dlatego pojdziemy w ta strone jesli chodzi o ML.
API stawialem tylko na dwa jezyki, Node albo .NET core. Jako, ze mam wieksze doswiadczenie w Node, to poczatkowo stawialem na niego. Boje sie tylko, co by sie stalo jakby projekt sie rozrosl, czy Node jako glowny jezyk to dobry pomysl.

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

Decyzja należy do Ciebie. Idea z przepisywaniem jest dla mnie co najmniej mocno dziwna i niezrozumiała. Zapewne wiesz, że z Node korzystają takie firmy jak Walmart, LinkedIn, PayPal, Netflix i wiele więcej. To chyba nie są małe projekty i firmy więc o rozrastanie bym się nie martwił. Node ponoć dobrze się skaluje (wszak taka była jego idea). Gorzej może być tylko w momencie jak projekt będzie mieć bardzo dużo kodu. Ogarnianie dużych projektów podobno mało wygodne. Skoro jednak kolega będzie robić ML w Pythonie to duża część systemu odpada z budowania go w Node, prawda?
Na zdrowy rozum wychodzi, że musisz postawić w tym szkielet i komunikację z Core projektu, zgadza się? Więc lwia część odpada tak na dobrą sprawę.


"Trolling is a art"
Haskell
  • Rejestracja:ponad 9 lat
  • Ostatnio:11 miesięcy
  • Postów:4700
0
Brunatny Rycerz napisał(a):

Uwazacie, ze pisanie MVP w jezyku X a potem w razie sukcesu przepisanie na cos innego to zly pomysl, czy to taka powszechna praktyka?

W środowisku amerykańskich startupów rzeczą normalną jest pisanie najszybciej jak się da oraz późniejsze poprawianie jak pomysł wypali. W ten sposób powstał Facebook, Twitter czy Reddit. To niekoniecznie znaczy, że trzeba zmieniać technologie. Technologia to tylko narzędzie i nie da się jednoznacznie którejś określić jako złej czy dobrej. Syfiasty kod można popełnić w każdym języku.

Node ma swoje wady, ale ma też zalety. Do napisania prototypu się nada, a jeżeli chodzi o aplikację produkcyjną, to już zależy. Jeżeli zamierzasz oprzeć to na MEAN stacku to będzie śmigać.


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
0

To znaczy w Node siedze juz troche czasu (produkcyjnie prawie 2 lata) i nie sa to produkty oparte na kolanie w pm2. Mamy caly ekosystem mikroserwisow lezacych na Kubernetesach w GCP i skalujemy sie baardzo fajnie. Wiec pod tym wzgledem Node jest super. Mamy okolo 40 serwisow i jest kilka wiekszych, tam niestety brakuje typowania. Dlatego TypeScript w tym projekcie wleci w 100%. I bedzie to na stacku angular + node (nest.js).

Widze atuty tego pod wzgledem wiekszego projektu, ale chociazby tez nawet i przepisania na .NET'a, bo bedzie duzo latwiej niz z burdelu JS-owego. Pisze w Angularze i po prostu to widac. Przy duzych projektach jest po prostu kolosalna roznica w porownaniu z takim Reactem. Nest.js jeszcze nie uzywalem, ale same API w TS i Node pisalem, ale raczej mniejsze rzeczy.

Chyba mnie przekonaliscie. Kolega od ML poleci z Pythonem i Angularem, ja API na Node(Nest.js) i takze Angular i powinno hulac, a najwyzej .NET'a bede sobie zglebial glebiej, jakby projekt nie wypalil (czyli statystycznie, 90% szans ze nie wypali :D)

Hispano-Suiza
Ten .NET Ci potrzebny jak kula u nogi.
MA
Tak samo jak Kubernetes w GCP
DP
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:159
0

Jeżeli korzystacie z K8s, to sensowne mi się wydaje użycie OpenFaaS i napisanie funkcji w node.js. Inne to : Event Gateway (serverless).

0
donPietro napisał(a):

Jeżeli korzystacie z K8s, to sensowne mi się wydaje użycie OpenFaaS i napisanie funkcji w node.js. Inne to : Event Gateway (serverless).

Jakie są zalety użycia faas i czym to się różni od klasycznej architektury microservisow?

DP
Tak od siebie dodam - (to tylko moje sugestywne odczucie) - skalowalność aplikacji, bezstanowość, sprawdza się świetnie przy event driven app.
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)