Co wybrać do stworzenia serwisu?

Co wybrać do stworzenia serwisu?
0

Chcę utworzyć niekomercyjny projekt w którym dane z formularza www będą przesyłane na sewer i zapisywane w bazie danych.
Serwis nastawiony na bardzo małą liczbę użytkowników 1-10.
Istotna jest poufność danych.

Póki co planuję szyfrowanie danych po stronie przeglądarki www, przesyłanie ich za pomocą HTTPS na serwer. Tam dane będą składowane raczej bez dodatkowej szyfracji.
Uwierzytelnienia za pomocą zewnętrznych serwisów przy użyciu OpenID.

Wybór stosu technologicznego warunkuje łatwością tworzenia aplikacji, łatwością rozbudowy w przyszłości oraz stabilnością w działaniu. Z tego co wiem angular dość szybko ewoluuje. Wczoraj tworzyłem w angularJS - a dziś jest już jego VII wersja..

Czego użyć?

  • najchętniej użył bym jakiegoś Cloud'a [ GAE | Amazon | Azure | OpenShift ]
  • uwierzytelnianie przez OpenID
  • backend: JEE, a może Spring którego nie znam?
  • storage: nie wiem, zależnie co darmowa wersja cloud'a będzie wspierać
  • frontend: JSF (primefaces) czy angular? czy jeszcze coś innego
  • przesyłanie danych HTTPS
hcubyc
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 2 lata
0

Czy to projekt, którym będziesz chciał się przed kimś pochwalić czy po prostu ma działać? Jeżeli masz go komuś pokazać to JSF i 2018 rok nie idą w parze


Limitations are limitless > ##### Ola Nordmann napisał(a)
> Moim językiem ojczystym jest C++ i proszę uszanować to, że piszę po polsku.
0

Nie dość, że ma działać to jeszcze ma działać na co najmniej kilka lat.

Samego programowanie się nie boję absolutnie, więć to nie jest problem. Problemem jest dobry wybór stosu technologicznego aby potem nie żałować i nie przepisywać na nowo.
JaveEE, EJB, JDBC, AgnularJS (czyli wersja 1.x) znam. Ale może lepiej zamiast Angulara użyć JSF.... Tylko czy jest sens się tego "uczyć" skoro.. no właśnie. Zdania co do JSF z tego co czytam są mocno podzielone.

hcubyc
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 2 lata
0

Generalnie anuglar na froncie i rest na backendzie bedzię prostszy, zakładam że nigdy nie będziesz chciał zmieniac technologii w małym projekcie (jakbyś chciał to anuglar możesz bez problemu wymienić na dowolny inny framework JS lub też zmienić backend zachowując kontrakt), ale unikniesz pułapek JSF - cykl życia, narzut infrastrukturalny, który jak jak kontrolery restowe trzeba trzymać z dala kodu biznesowego i nie pozwolić by miały wpływ na kod biznesowy. AFAIK można korzystać z JSFa w springu, wiec o tyle dobrze że nie narzuca ci to JEE. Generalnie uczyć się jest zawsze sens, bo jeżeli nie jest to nowy (chyba że przełomowy ;)) framework JS to zazwyczaj z tym wiąże się trochę inne podejście do rozwiązywania problemów, więc masz szansę zobaczyć jak coś mozna ugryźć z innej strony. Generalnie główne pytanie jest takie - czy potrzebujesz to szybko postawić żeby działało - wtedy wybierasz technologie, które znasz, bo jak wiadomo postawić apkę w stylu pet clinic to prosta sprawa w dowolnym frameworku, ale dodaj do tego kilka wymagań nie funkcjonalnych, jakaś wydajność, security i inne takie i okazuje się, że trzeba zanurkować żeby coś tam zrozumieć. Jeżeli natomiast nie ma ciśnienia żeby ten projekt powstał na jutro to wybrałbym rozwiązania, których nie znasz - zobaczysz jak wyglądają, może akurat jak będziesz szukać pracy to będzie fajna firma, która będzie tego wymagać albo okaże się po prostu lepsze niż to co znasz dotychczas i będziesz z tego korzystać w kolejnych projektach, bo szybciej/łatwiej coś dostarczyć.

tl;dr
Polecam springa jeżeli nie znasz lub jeszcze coś mniejszego np Spark. Spring jest dość wredny w nauce, bo większość tutoriali pokazuje funkcjonalności Springa, a nie to jak pisać w nim porządnie, ale generalnie posiada tyle modułów i integracji dla różnych rzeczy, że spełni wymagania wielu wybrednych osób. Kolejna rzecz to tak napisać aplikacje by zmiana frameworka nie wymagała przepisywania całej apki na nowo, to się bardziej przyda niż zastosowanie któregokolwiek z frameworków, polecam chociażby Clean Architecture żeby się dowiedzieć więcej.
Jeżeli chodzi o to co napisałeś - to włączenie HTTPS w springu to chwial moment, OpenID troszkę wiecej konfiguracji, ale tutoriali jest mnóstwo więc też szybko się z tym uwiniesz. Grunt to nie pozwolić żeby Spring ci wszedł na głowę (logikę biznesową)


Limitations are limitless > ##### Ola Nordmann napisał(a)
> Moim językiem ojczystym jest C++ i proszę uszanować to, że piszę po polsku.
edytowany 2x, ostatnio: hcubyc
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4706
1

Zdania co do JSF z tego co czytam są mocno podzielone.

Podzielone zdania co do JSF to może były w 2010 - obecnie tylko garstka wyznawców nie przyznaje jeszcze, że to kupa słaba technologia. I ta garstka i się zmniejsza.

Wybór stosu technologicznego warunkuje łatwością tworzenia aplikacji, łatwością rozbudowy w przyszłości oraz stabilnością w działaniu

Więc wszystko oparte o jakieś aplication serwery odpada raczej bo za parę lat nie będziesz w stanie tego odpalić na jakiejś java 20.x

Obecnie gigantyczne ilość software pod Java EE i starszego Springowego (Spring 4. x) nie daje się odpalić na javie 9. A dopiero co przeżywałem koszmar migrowania takich Java EE / Spring z Javy 7 na Java 8.

Generalnie Make JAR not WAR i do przodu. Angular nowy jest ok, bo prosty i piszesz w TS (który jest istotnie mniej kupowaty niż JS).

Jak mała ilośc uzytkowników i nie jest to poważny projekt to polecę Ci klasyczny Spring 5 i to na spring MVC + Spring Data JPA.

Idź na start.spring.io wybierz JPA ,Web, Security - i rób na tzw. Spring Boot 2.1.x

Jak znasz Java EE , EJB , to Springa ogarniesz od razu - to taka sama kupa technologia :-)

Zobacz jeszcze : https://www.baeldung.com/spring-security-openid-connect


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 1x, ostatnio: jarekr000000
0
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)