"Magia" Javy, czy faktycznie jest taka magiczna?

"Magia" Javy, czy faktycznie jest taka magiczna?
azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

Siemacie
Właściwie, temat chciałem założyć w dziale Java, ale zmieniłem zdanie. Ostatnia pogawędka z @n0name_l 'em w komentarzach mnie trochę zainspirowała do napisania tego posta.
Otóż ciekawi mnie trochę czy tylko ja mam takiego pecha lub schorzenie umiejętnościowe, ale odnoszę wrażenie, że pisanie aplikacji webowych w javie to 80% naprawiania błędów 15% irytacji(żeby nie ująć tego nieco dosadniej) i 5% faktycznego rozwoju czy to jakiegoś projektu czy własnych umiejętności.
Zastanawia mnie czy tylko ja tak mam? Przykładowo: pisze projekt, pomijając to, że Tomcat to chwila rzuca jakimś wyjątkiem typu ClassNotFoundException dla klasy, która mam w ścieżce klas, za 2-3 dni uruchamiam go (gdybyście zgubili wątek, przypominam, że wcześniej działał) i tu nagle kabum! miejsca w konsoli nie starcza. Nie dziwiłoby mnie to oczywiscie (przecież to w końcu programowanie..), gdyby to się nie powtarzało notorycznie. Może to kwestia frameworków jakich używam? Ale przecież to zwykły Spring z Hibernate - wątpię, żeby było to jakieś extra-egzotyczne połączenie.

Ta niesamowita przygoda z naprawianiem błędów, które uniemożliwiały mi uruchomienie projektu, doprowadziła mnie do chęci zmiany technologii. Stąd przeleciałem przez oględziny Rubyego(z myslą o RoR, którego to przez ten czas poleciły mi ze 2 osoby), przez pisanie podstaw Django w pythonie, aż do jakiegoś CRUD'a C# z ASP.NET.
Co moją uwagę nieco przykuło, w tych technologiach dużo rzeczy mamy na start z automatu (czy to dobrze, czy źle to nie wiem). W każdym razie, np w Visual Studio jak tworze projekt ASP.NET'a MVC to tam wszystko ładnie śmiga od początku. Nie ma jakichś durnych błędów, że nie zdeployowalem artifacta lub zrobiłem to źle. Stawiam projekt, działa.

Odnoszę przez to wrażenie, że Java, w której to pisze amatorsko, hobbystycznie już jakiś czas jest rozwiązaniem TOTALNIE pokręconym. Szum jest na rynku(z tego co mi wiadomo) i w ogóle w internecie, że "Java ogólnie zaje*sta", "wielkie aplikacje sa pisane w javie", "w javie pisze sie dłuzej, ale ma wieksze możliwości", "java to, tamto.."

Czy na prawdę kawowy świat jest tak wciągający i wielki, a winę mogę zrzucić na moją.. ułomność oO? Może tylko mi się zdarzają takie chore sprawy, a technologia jest jak każda inna?
Poważnie skłania mnie to do przychylenia się nad czymś innym na poważniej, niż tylko "a zobaczę jak to wygląda"

Mam nadzieje, że nie powstanie z tego wielka prowokacja, a po prostu dostane jakieś klarowne odpowiedzi. Trochę długi się ten post zrobił, a mam wrażenie, że i tak wszystkiego nie powiedziałem. Mam nadzieje, że zaskoczyliście o co mi chodzi :)

Pozdrawiam i chwała za dotarcie do tych słów! :)

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:dzień
0

Strzelam że masz projekt Mavenowy i ktoś coś sknocił z zależnościami :]


"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.
azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

Z mavenem ustrzeliłeś dobrze, ale co do sknocenia zależności to mogę winić tylko siebie, bo zacząłem go właściwie tylko dla własnej edukacji :P Faktycznie błąd był w zależnościach (który naprawiłem z pomocą forumowiczów), co nie zmienia faktu, że te błędy pojawiają sie znacznie za często. (min. teraz, po naprawieniu tego z zależnościami jest kolejny
Np sama zmiana serwera - chciałem sobie podmienić w projekcie Tomcata na JBoss'a. Pobrałem, wyrzuciłem artifact z pod Tomcata, tomcata tez, dodałem jboss'a, artifact .war odpalam i...? sru!
Odpaliłem JBossa na czystym projekcie webowym (stworzonym od podstaw) i też sypnęło jakimś wyjatkiem, naprawiłem, to teraz jak uruchomie serwer to porty się nie zgadzają. Innymi słowy sielanka :D

edytowany 1x, ostatnio: azalut
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:dzień
0

Java to nie tylko Tomcat i JBoss :P

Z ciekawości, czy w RoR, Django albo ASP.NET robiłeś jakiś odpowiednik podmieniania w projekcie Tomcata na JBossa?


"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
azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

Rozumiem, że to nie tylko Tomcat i JBoss, ale niejako opinie na temat Javy one we mnie kreowały, stąd teraz pisze takiego, a nie innego posta :) nie wiem czy u mnie to taki zbieg okoliczności i tak "bugowo" sie potoczyło, czy tak w ogóle wygląda pisanie w technologiach javowych

Nie próbowałem nic takiego, bo właściwie nie było powodu, jesli już coś robiłem to poznałem język podstawowo i napisałem coś prostego, żeby zobaczyć z czym sie temat je

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

Ja jako totalny laik i amator mam wstręt do javy.
Drażni mnie z poziomu użytkownika, a co dopiero jakbym miał cos w tym robic.
;]

n0name_l
W sensie co cie drazni? Uzywanie kalkulatorow napisanych w javie?
KA
Nie. Gry napisane w Javie :) i generalnie te aplikacje dla mnie działają mozolnie. Pracuje w branzy, która sprzedaje pewne urządzenia i można się z nimi łączyc za pomocą aplikacji w java, po ostatniej aktualizacji mielismy mnóstwo zgloszen od klientów, ze nie działa i było trzeba pisać dodatkowe instrukcje jak ustawić zabezpieczenia itp. ;) Nic takiego, musiałbym się tym pobawić. Moje wrażenie może być mylne.
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:dzień
1

azalut:
A może to jest tak, że w przypadku Javy kombinujesz sobie specjalnie, w przypadku innych technologii po prostu bierzesz szkielet projektu i tylko dorzucasz formatki i logikę? ;]


"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
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
0

Mam podobne wrażenia, ale mniej więcej wiem dlaczego.

W przeszłości pracowałem głównie z gotowymi frameworkami - np. PHP/Drupal.
Tam już mam wszystko zestawione ze sobą, więc tak naprawdę praca polega głównie na konfiguracji.

Jeśli chodzi o Jave, to
Java + Tomcat + JDBC (moja kombinacja) to tak naprawdę żaden framework a prawie czysty język i serwer.
Więc wszystko co dostawiasz trzeba ze sobą zestroić.

Jeśli chcesz żeby zaskoczyło od pierwszego kopa, spróbuj raczej pobawić się z frameworkami:

  • Java lub Scala / Play2
  • Groovy / Grails
  • Python / Django lub Flask lub web2py
  • PHP / CakePHP, Drupal, Symfony, Yii

A jeśli chodzi o Springa, to używasz MVC + Security?

edytowany 1x, ostatnio: vpiotr
azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

@Wibowit hmm.. po części masz racje, aczkolwiek porównaj C# i Jave (o Django/Flask czy RoR nie wspominam bo tam to jest w ogóle luźno i prosto z tego co słyszałem):
Chcesz postawic to samo: CRUD'a z zapisem do bazy przez hibernate (java) i entity framework(c#)
W C# zajmuje to chwile moment, robiłem ostatnio nawet wg porad ze strony microsoftu i na prawde.. projekt postawiłem, działał od razu ( serwer, kontrolery podstawowe, wszystko mówiąc krótko). Dorobiłem pare klas i mam CRUD'a, który w dodatku sam sie wygenerował - nie mówie, że to dobrze, bo jak sie coś generuje to właściwie niczego sie nie uczymy. Co mam dokładniej na myśli? Nie ma błędów serwera, nie ma wyjątków, nie ma problemu z tym, że mam złe/źle wstawione zależności w pom'a (jak to bywa w javie) albo że coś z czymś koliduje.

Co mnie dziwi w javie - przecież używanie jakiegokolwiek serwera do naszej aplikacji (czy to Tomcat, Jetty, JBoss czy inny) jest troche zawiłe. Zawsze pojawiają się jakieś błędy przy tworzeniu projektu, bo serwer to, tamto. W innych technologiach tego nie spotkałem (jestem jeszcze młody i głupi, także może po prostu za mało w te technologie się wgłębiłem). Posiadam np projekt na GitHubie, który zacząłem na PC. Gdzies poza domem robie git clone na laptopa, wrzucam serwer i nagle nie działa, chociaż wersja serwera dokładnie ta sama. :D
Edit
jeśli ktoś chciałby powiedziec "NO TAK! ale to tylko CRUD, jakieś banalne czytanie z bazy!" - owszem(choć nie tak banalne w przypadku javy hehe), ale nikt chyba nie zaprzeczy jak powiem, że zarówno w Javie jak i w C# pisze się duże, poważne aplikacje.

@vpiotr
pisałem troche w Play2 w Javie, o Scali myślałem jako o języku dodatkowym (miało być Java jako ten "ważny", a Scala/Python dodatkowo, ale troche mję irytacja z tą javą napadła :))
w pythonie pisałem z ciekawości, pobawiłem się django chwile, a PHP do mnie za mocno nie przemawia.

Co do Springa, wystawiam w nim czysty interfejs REST, który to zwraca JSON'a którego znowu mam zamiar obsługiwać osobnym projektem za pomocą jQuery czy też aplikacji na PC.
Nie używam w tym na razie Security - z prostej, jak również wstydliwej przyczyny - jeszcze go nie poznałem :( (co miałem w planach)

edytowany 4x, ostatnio: azalut
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:dzień
0

No to jeszcze raz: te błędy wynikają z bugów po stronie serwerów aplikacji czy ze złej konfiguracji po twojej stronie?


"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.
azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

@Wibowit generalnie często coś źle skonfiguruje i potem uruchamiając projekt nie śmiga, serwer również często rzuci jakimś dziwnym wyjątkiem, do którego kompletnie nie wiem jak się zabrać
rozumiem, że błędy leżą często po mojej stronie - coś źle skonfiguruje albo dodam kolidujące ze sobą dependencies w pomie. Tylko, że w innych technologiach się z tym nie spotkałem, ani nie słyszałem od znajomych czy gdzieś tam w internecie, żeby takie pokręcone problemy były
I dlatego ten temat :P próbuje rozwikłać czy ja jakoś źle do tego podchodze, czy to po prostu tak wygląda pisanie w javie (a może i każda technologia tak ma jak się ją bliżej posmyra)

edit
szybki przykład: zrobilem świeży projekt o nazwie ABC, wrzuciłem JBossa jako serwer, zrobilem artifact .war odpalam i mam:

Kopiuj
C:\Users\Maciek\workspace\jboss-eap-6.2\bin\standalone.bat
[2014-06-03 05:10:19,351] Artifact unnamed: Server is not connected. Deploy is not available.
Detected server admin port: 9999
Detected server http port: 8080
Calling "C:\Users\Maciek\workspace\jboss-eap-6.2\bin\standalone.conf.bat"
Setting JAVA property to "C:\Program Files\Java\jdk1.7.0_45\bin\java"
===============================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: "C:\Users\Maciek\workspace\jboss-eap-6.2"

  JAVA: "C:\Program Files\Java\jdk1.7.0_45\bin\java"

  JAVA_OPTS: "-XX:+UseCompressedOops -Dprogram.name=standalone.bat -Xms1G -Xmx1G -XX:MaxPermSize=256M -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman"

===============================================================================

17:10:20,311 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final-redhat-2
17:10:20,461 INFO  [org.jboss.msc] (main) JBoss MSC version 1.0.4.GA-redhat-1
17:10:20,523 INFO  [org.jboss.as] (MSC service thread 1-8) JBAS015899: JBoss EAP 6.2.0.GA (AS 7.3.0.Final-redhat-14) starting
17:10:21,233 INFO  [org.xnio] (MSC service thread 1-9) XNIO Version 3.0.7.GA-redhat-1
17:10:21,234 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
17:10:21,237 INFO  [org.xnio.nio] (MSC service thread 1-9) XNIO NIO Implementation Version 3.0.7.GA-redhat-1
17:10:21,243 INFO  [org.jboss.remoting] (MSC service thread 1-9) JBoss Remoting version 3.2.18.GA-redhat-1
17:10:21,262 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 29) JBAS010280: Activating Infinispan subsystem.
17:10:21,277 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 42) JBAS013171: Activating Security Subsystem
17:10:21,280 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 37) JBAS011800: Activating Naming Subsystem
17:10:21,284 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 46) JBAS015537: Activating WebServices Extension
17:10:21,291 INFO  [org.jboss.as.security] (MSC service thread 1-14) JBAS013170: Current PicketBox version=4.0.19.SP2-redhat-1
17:10:21,302 INFO  [org.jboss.as.naming] (MSC service thread 1-4) JBAS011802: Starting Naming Service
17:10:21,304 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 35) JBAS012605: Activated the following JSF Implementations: [main, 1.2]
17:10:21,308 INFO  [org.jboss.as.connector.logging] (MSC service thread 1-16) JBAS010408: Starting JCA Subsystem (IronJacamar 1.0.23.Final-redhat-1)
17:10:21,316 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-8) JBAS015400: Bound mail session [java:jboss/mail/Default]
17:10:21,345 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 25) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
17:10:21,462 INFO  [org.apache.coyote.http11] (MSC service thread 1-14) JBWEB003001: Coyote HTTP/1.1 initializing on : http-/127.0.0.1:8080
17:10:21,468 INFO  [org.apache.coyote.http11] (MSC service thread 1-14) JBWEB003000: Coyote HTTP/1.1 starting on: http-/127.0.0.1:8080
17:10:21,552 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-9) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]
17:10:21,567 INFO  [org.jboss.ws.common.management] (MSC service thread 1-4) JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.2.3.Final-redhat-1
17:10:21,596 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-12) JBAS015012: Started FileSystemDeploymentService for directory C:\Users\Maciek\workspace\jboss-eap-6.2\standalone\deployments
17:10:21,597 INFO  [org.jboss.as.remoting] (MSC service thread 1-9) JBAS017100: Listening on 127.0.0.1:4447
17:10:21,597 INFO  [org.jboss.as.remoting] (MSC service thread 1-3) JBAS017100: Listening on 127.0.0.1:9999
17:10:21,600 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-16) MSC000001: Failed to start service jboss.serverManagement.controller.management.http: org.jboss.msc.service.StartException in service jboss.serverManagement.controller.management.http: Address already in use: bind /127.0.0.1:9990
	at org.jboss.as.server.mgmt.HttpManagementService.start(HttpManagementService.java:224) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
	at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Caused by: java.net.BindException: Address already in use: bind
	at sun.nio.ch.Net.bind0(Native Method) [rt.jar:1.7.0_45]
	at sun.nio.ch.Net.bind(Net.java:444) [rt.jar:1.7.0_45]
	at sun.nio.ch.Net.bind(Net.java:436) [rt.jar:1.7.0_45]
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) [rt.jar:1.7.0_45]
	at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) [rt.jar:1.7.0_45]
	at org.jboss.sun.net.httpserver.ServerImpl.<init>(ServerImpl.java:144)
	at org.jboss.sun.net.httpserver.HttpServerImpl.<init>(HttpServerImpl.java:54)
	at org.jboss.sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:38)
	at org.jboss.com.sun.net.httpserver.HttpServer.create(HttpServer.java:147)
	at org.jboss.as.domain.http.server.ManagementHttpServer.create(ManagementHttpServer.java:162) [jboss-as-domain-http-interface-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.jboss.as.server.mgmt.HttpManagementService.start(HttpManagementService.java:190) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	... 5 more

17:10:21,840 INFO  [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report
JBAS014777:   Services which failed to start:      service jboss.serverManagement.controller.management.http: org.jboss.msc.service.StartException in service jboss.serverManagement.controller.management.http: Address already in use: bind /127.0.0.1:9990

17:10:21,850 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015964: Http management interface is not enabled
17:10:21,850 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015954: Admin console is not enabled
17:10:21,850 ERROR [org.jboss.as] (Controller Boot Thread) JBAS015875: JBoss EAP 6.2.0.GA (AS 7.3.0.Final-redhat-14) started (with errors) in 1814ms - Started 127 of 186 services (2 services failed or missing dependencies, 56 services are passive or on-demand)
Connected to server
[2014-06-03 05:10:22,241] Artifact unnamed: Artifact is being deployed, please wait...
17:10:22,307 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-14) JBAS015876: Starting deployment of "unnamed.war" (runtime-name: "unnamed.war")
17:10:22,313 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."unnamed.war".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."unnamed.war".STRUCTURE: JBAS018733: Failed to process phase STRUCTURE of deployment "unnamed.war"
	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
	at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018740: Failed to mount deployment content
	at org.jboss.as.server.deployment.module.DeploymentRootMountProcessor.deploy(DeploymentRootMountProcessor.java:97) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	... 5 more
Caused by: java.io.FileNotFoundException: C:\Users\Maciek\IdeaProjects\ABC\out\artifacts\unnamed\unnamed.war (System nie może odnaleźć określonej ścieżki)
	at java.io.FileInputStream.open(Native Method) [rt.jar:1.7.0_45]
	at java.io.FileInputStream.<init>(FileInputStream.java:146) [rt.jar:1.7.0_45]
	at org.jboss.vfs.spi.RootFileSystem.openInputStream(RootFileSystem.java:55)
	at org.jboss.vfs.VirtualFile.openStream(VirtualFile.java:258)
	at org.jboss.vfs.VFS.mountZipExpanded(VFS.java:533)
	at org.jboss.as.server.deployment.DeploymentMountProvider$Factory$ServerDeploymentRepositoryImpl.mountDeploymentContent(DeploymentMountProvider.java:98) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	at org.jboss.as.server.deployment.module.DeploymentRootMountProcessor.deploy(DeploymentRootMountProcessor.java:93) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
	... 6 more

17:10:22,317 ERROR [org.jboss.as.server] (management-handler-thread - 2) JBAS015870: Deploy of deployment "unnamed.war" was rolled back with the following failure message: 
{"JBAS014671: Failed services" => {"jboss.deployment.unit.\"unnamed.war\".STRUCTURE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"unnamed.war\".STRUCTURE: JBAS018733: Failed to process phase STRUCTURE of deployment \"unnamed.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018740: Failed to mount deployment content
    Caused by: java.io.FileNotFoundException: C:\\Users\\Maciek\\IdeaProjects\\ABC\\out\\artifacts\\unnamed\\unnamed.war (System nie może odnaleźć określonej ścieżki)"}}
17:10:22,319 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015877: Stopped deployment unnamed.war (runtime-name: unnamed.war) in 2ms
[2014-06-03 05:10:22,349] Artifact unnamed: Error during artifact deployment. See server log for details.
[2014-06-03 05:10:22,377] Artifact unnamed: java.lang.Exception: {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"unnamed.war\".STRUCTURE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"unnamed.war\".STRUCTURE: JBAS018733: Failed to process phase STRUCTURE of deployment \"unnamed.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018740: Failed to mount deployment content
    Caused by: java.io.FileNotFoundException: C:\\Users\\Maciek\\IdeaProjects\\ABC\\out\\artifacts\\unnamed\\unnamed.war (System nie może odnaleźć określonej ścieżki)"}}

Nie mówie, że sie nie da rozwiązać bo nie próbowałem póki co, ale chodzi mi o sam fakt wystąpienia.

edytowany 2x, ostatnio: azalut
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:dzień
0

Address already in use: bind /127.0.0.1:9990 oznacza, że adres jest już do czegoś zbindowany. Prawdopodobnie zapomniałeś ubić poprzedniej instancji serwera lub cokolwiek innego zajmuje ten port. Sprawdź jakimś narzędziem do sprawdzania która aplikacja zajmuje dany port.
java.io.FileNotFoundException: C:\\Users\\Maciek\\IdeaProjects\\ABC\\out\\artifacts\\unnamed\\unnamed.war (System nie może odnaleźć określonej ścieżki) tego chyba nie trzeba tłumaczyć.


"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.
azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

@Wibowit
przeglądnąłem to:
Obrazekjp_eexsqne.jpg
Niestety ten port nie jest zajęty :D tak wychodzi

A co do tego drugiego błędu - dlaczego IntelliJ nie utworzył za mnie tego .war'a skoro stworzyłem artifact, gdzie pisało ze jest plik .war? o takie niuanse chodzi. Przypominam, że w C# ten cały serwer i jego problemy albo braki problemów z portami czy czym innym rozwiązały się generalnie same i postawił się od zaraz :)

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:dzień
0

Próbowałeś odpalić /127.0.0.1:9990 w przeglądarce? Możliwe że coś źle skonfigurowałeś i serwer może próbować się odpalać i bindować dwa razy pod ten sam port.

W C# nie podmieniałeś kontenera servletów/ serwera aplikacyjnego. Zarzuciłeś gotowy szkielet i odpaliłeś. Zarzuć gotowy szkielet w Javie i odpal, będziesz miał porównanie.

Być może ten JBoss to w twoim przypadku strzelanie z armaty do muchy. Spróbuj z czymś prostym, np postaw sobie Play Framework.


"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
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:minuta
  • Lokalizacja:Wrocław
0

@azalut, jeśli postawisz sobie kilka usług na tym samym porcie, to będziesz miał problemy niezależnie od technologii. Inny język tu niczego nie zmieni. ;P

azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

Próbowałem, ładuje się, ładuje ale nic nie otwiera
No fakt, w c# nie robiłem takich rzeczy - ale to przez to, że nie musiałem. W Javie postawić gotowy szkielet? Jest taka możliwość wgl w jakimś IDE? :P

Możliwe, nie interesowałem się za mocno serwerami, gdyż nie widzę między nimi większych różnic poza prędkościami uruchamiania (niewielkimi) jako amator. Zawsze to był Tomcat, ostatnio pobrałem JBoss dla testów, a dzisiaj Jetty-iego i ten jest sprytny, bo mały, odpala fajnie, nie wyrzuca bóg wie ile linii na konsolę. W nowym projekcie go dodałem i zrobilem jakis prosty kontroler zwracajacy JSON, ale na razie mam 404 bo pewnie jakiś błąd się wkradł (standard :D)
Pisałem jakieś podstawowe rzeczy w Playu, podobnie jak Django itd. dla sprawdzenia o co tam chodzi. Faktycznie tam jest wbudowany serwer (o ile dobrze pamiętam) który ładnie startuje, jest szybki i można zmieniac zawartość strony odświeżając praktycznie

@somekind to rozumiem, jednak pojawia się pytanie która usługa stoi na tym porcie, skoro ani skaner portów nie wykrywa takiego zajętego, ani nie mam nic szczególnego włączonego :]

edytowany 2x, ostatnio: azalut
1

Moje doswiadczenia sa bardzo podobne. Jako ze java to 'super skalowalne, elastyczne, i cudownie' rozwiazanie, prawda jest: with great power comes great responsibility. W Javie trzeba wlasnie duzo samemu kombinowac, a poziom skomplikowania frameworkow itp. jest niebywaly (mam na mysli springi, hibernaty, jpa i inne ee i pokrewne). Do tego dochodzi to, ze w Javie jest mnostwo frameworkow webowych i innych, wszystkie sa open source i wszystkie maja tysiaca bugow, a ty wybierasz jeden z nich na podstawie... no wlasnie, jakiej? Hype, costam gdzies przeczytane, itp. itd. Ogolnie javowe frameworki maja moim zdaniem niska jakosc, wynika to po trochu z 'niskiego progu wejscia', czyli kazdy moze sobie pizgac frameworki. Gorzej jest chyba tylko w PHP, tam to juz w ogole masakra, kazdy 'doswiadczony programista' (+- miesiac) ma wlasny CMS.
Inne jezyki / platformy za to maja mniejszy wybor, ale jakos te rozwiazania wydaja mi sie elastyczniejsze, bardzoej przemyslane / dopracowane. Ot, taki Django, pracuje nad nim od dawna kupa ludzi, jest w pewnym sensie standardowym frameworkiem dla pythona (lub jednym z kilku, nie kilkuset) i dla programisty jest zdecydowanie latwiejszy niz jakikolwiek javowy framework. Takie frameworki najczesciej maja wlasnie serwery embedded, lub korzystaja z pythonowych klas (SimpleHTTPServer, anybody?). Javowe rozwiazania coraz czesciej tez tak robia.
Ale to tylko moje zdanie, ja nienawidze Javy, z wzajemnoscia, ale jestem glownie jej programista (aktualnie Android, ktorego rowniez nienawidze), bo ma ta dobra ceche, ze potrafi bardzo latwo utrzymac cale rodziny. Hobbystycznie Javy bym kijem nie tykal.

azalut
"bo ma ta dobra ceche, ze potrafi bardzo latwo utrzymac cale rodziny" +1 :D zrobiłeś mój dzień
KR
Java to nie tylko web. A porównywanie Django do JEE trochę mija się z celem - nie te zastosowania, nie ta skalowalność, nie te możliwości. Jak chcesz w Javie lekki framework, to masz Grails, jest też Play. Postawienie Playa to ściągnięcie archiwum z netu, rozpakowanie i odpalenie jednego może dwóch poleceń.
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:dzień
0

W Mavenie jest coś takiego jak archetypy czyli szkielety aplikacji. Np http://mvnrepository.com/artifact/org.jboss.spec.archetypes/jboss-javaee6-webapp-archetype


"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.
0

Co do portow, ja np. mialem kiedys pod windowsem problem z uruchomieniem apache. Po wielu godzinach szukania okazalo sie, ze port 8080 jest zajety przez ... Skype, ktory tak domyslnie konfiguruje jakis alternatywny port czy cos. Wylaczylem - dziala! To bylo jeszcze pod xp, ale przydalo mi sie w lini polecen wpisac 'netstat -anop tcp' (albo cos podobnego), co mi wylistowalo pidy oraz wiecej info na temat procesow ktore korzystaja z portow tcp. Po znalezieniu linijki gdzie byl port 8080 (u ciebie 9990) wzialem jego pid, i a managerze urzadzen kazalem pokazac wszystkie procesy oraz ich pidy (musialem dodac kolumne z pidami bo domyslnie nie byla wybrana), i w ten sposob doszedlem do tego jaki proces dany port zajmuje. U mnie wyszedl skype, u ciebie pewnie cos innego bedzie, ale przynajmniej jest szansa ze sie dowiesz co to.

azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

@Wibowit
Postawiłem na tym archetypie który podałeś i pojawia się dalej błąd z tym portem (o którym zaraz napisze). Ale aplikacja uruchamia się, oczywiście ta szablonowa - nic dalej nie robiłem.

@mućka
oh jak dobrze, że nie jestem w tych dziwnych przemyśleniach. To co powiedziałeś to jakby moje myśli, ale jakieś bardziej klarowne i dobrze powiedziane. Jesli chodzi o pisanie w Javie na dłuższa metę - to masz racje - jeden argument za tym przemawia na pewno: $$. Stawki dla Java developerów są ogromne, w porównaniu do innych np. php, python itd. Nie mówie tu o ludziach z 10+ latach doświadczenia (chociaż i u nich też pewnie są różnice) Ale np stawki dla 1-3 lata doświadczenia komerc. w technologii. Ale ucząc się tylko dla tego, żeby mieć kiedyś dobrze płatną pracę - można, bo czemu nie - ale czuję, że się zniechęcić szybko idzie.

Co byś wybrał nie-hobbystycznie do web-dev (Albo i nie) i dlaczego? ;) z ciekawości

Co do zajmowania portu: Zrobiłem jak mówiłeś, netstat'em znalazłem to co zajmuje port 9990, wziąłem PID, w menedżerze znalazłem, jest to NVIDIA Network Service - w dodatku to nie proces, tylko usługa, która chroniona jest jakimiś prawami i nie mam możliwości zlikwidowania jej (odmowa dostępu). Gdzieś czytałem w google tak na szybko, że w pliku konfiguracyjnym w folderze JBoss'a zmienia się cos z "0" na "100" i odpala pod innym portem po prostu. (sprawdziłem, ale portu sie doszukać nie mogłem :D)

Może kwestia jest tego typu - że zamiast open source'owego Springa zaczać używać JEE(+ jakies inne frameworki: Vaadin, GWT) które przechodzi community proces? Może tam będzie wszystko trochę lepiej poskładane? Chociaż integracja orm typu hibernate, czy spring security (które PODOBNO rozwiązania dot. bezpieczeństwa JEE biją na łeb) wciąż zostają.

Ciekawi mnie trochę zdanie @Shalom'a i @Koziołek'a (bo ich kojarze jako byłych/obecnych java developerów z zawodu :))

Zobacz pozostały 1 komentarz
azalut
ok uszanuje czas wolny, ja zawsze przed wysłaniem kopiuje do schowka, w razie "w" ;)
NoZi
ogólnie GWT bym nie tykał, mam przykre doświadczenia
xxx_xx_x
GWT, GWTP i GXT nawet o nich nie myśl
azalut
@NoZi @xxx_xx_x na prawde? aż tak bardzo źle jest? słyszałem, że GWT ma troche inne podejście do reszty frameworków, możecie powiedzieć coś bliżej ?:P
xxx_xx_x
GWT w zasadzie samo w sobie niewiele daje, generuje stronkę z kodu java, layouty i kontrolki nieprzyjemne w użyciu, GXT to taka PŁATNA "nakładka" na GWT żeby trochę przyjemniej się tworzyło stronki. GWTP to kolejna próba poprawienia tego badziewia w formie MVP. Odnalezienie błędu w kodzie JS to często masakra, niewiele mówiące wyjątki umbrella, modele GWT 2.6 mają problem z array listami. GWT debug wywala sie notorycznie(Out of memory). Do tego whitelista gwt, która ma się generować, tylko niestety nie zawsze robi to dobrze i masz problem.
n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
0

Stawki dla Java developerów są ogromne, w porównaniu do innych np. php, python itd.

Na ktorej czesci globu?
http://www.indeed.com/salary?q1=Java&l1=&q2=Python&l2=&q3=Ruby&l3=&tm=1

NoZi
znam Rubyistów i pythonowców którzy zarabiają więcej niż java developer @ 7000 brutto
azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

@n0name_l tylko czy indeed.com pokazuje faktycznie dobre dane? Zawsze może być java kawa, java wyspa (nawet jeśli chodzi o prace - praca na wyspie java), python to może być wąż o którym w internecie sporo, a ruby - kryształki i świecidełki :) nie znam się na tym jak to działa, ale czysto hipotetycznie moge tak założyć

Częśc globu? ta między niemcami a ukrainą i białorusią. Ogladając oferty i płace dla programistów php/ruby/python a Java - widać różnice. Jak sie patrzy C# a Java to dopieero są praawie zbliżone kwoty, ale dalej Java jest na +. Tak przynajmniej wychodzi z moich obserwacji ;)
Wiadomo też, że specjalista od Pythona zarobi więcej niż jakiś lajk od Javy który sie kuł bo mu wykładowca kazał i poszedł do pracy bo musiał. Ale mówie tu o samych ofertach na staże/junior developerów, pierwsza prace - ale też późniejsze pisanie jako senior itp.

edit
z reszta jak sie tak przyjrzałem, powpisywalem tam frameworki po nazwach, to wezmy np. PHP: 88 000 USD - rozumiem, że to stawka roczna. 88k USD * 3.04 = 267520zł --> /12 = prawie 23k zł/mc?

edytowany 1x, ostatnio: azalut
Zobacz pozostałe 2 komentarze
KR
Możliwe, że to dlatego, że popularność Rubyego, a zwłaszcza RoR, leci na łeb ostatnimi czasy. Po prostu RoR nie jest już takie "cool i trendy" jak było kiedyś, a projekty ktoś utrzymywać musi.
somekind
Może i masz rację, ale z tego co wiem, to tutaj są firmy, które ciągle tworzą nowe projekty i zatrudniają ludzi.
azalut
o tak? wiedziałem, że RoR troche spadło w popularności, ale sądziłem, że dalej pisze się nowe aplikacje w nim. To która technologia jest teraz na topie? w której sie tworzy regularnie nowe projekty
somekind
W różnych. :) Nowych projektów nie tworzy się chyba tylko w Cobolu.
n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
0

No. Pokazuje w miare rzetelne dane.

ta między niemcami a ukrainą i białorusią

Tez niezbyt.

Tak przynajmniej wychodzi z moich obserwacji ;)

Problem jest w tym, ze obserwacje rzadko kiedy maja cokolwiek wspolnego z obiektywizmem.

prawie 23k zł/mc?

751828¥/mc. Wow! PHPowcy to bogacze!

azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

czyli uważasz @n0name_l ze javowcy zarabiaja tak samo jak programisci pythona, php itp? ja zawsze słuchałem(czytałem, żeby nie być gołosłownym) narzekań, że zarabiają za mało, a ci od javy zarabiaja krocie

751828¥/mc. Wow! PHPowcy to bogacze!

troche pojechałeś sarkazmem, ale jeśli się nie mylę (jesli tak to mnie poprawcie) to 23tys zł miesiecznie dla programisty PHP to w polsce.. powiedzmy nieosiagalna kwota. Nawet jak rankingi na indeed są zbierane z całego świata, to PHPowcy są w stanie osiagnac średnia 7.5 tys USD (23k zł)? a Javowcy prawie 9.5tys USD (28tys zł)?

edytowany 2x, ostatnio: azalut
n0name_l
Nie no, PHPowcy zarabiaja mniej. Po prostu rozbawilo mnie twierdzenie, ze Javowcy zarabiaja krocie w porownaniu do Pythonistow. :P
azalut
ok może to krocie to troche za mocne słowo, co nie zmienia tego, że często widuje, że wcale nie jest tak kolorowo w pythonie czy php (oczywiscie w swiecie programistow, bo normalnie to zwykle więcej niż średnia krajowa :D)
KR
Moderator
  • Rejestracja:prawie 21 lat
  • Ostatnio:około 6 godzin
  • Postów:2964
1

Indeed ma dane z rynku amerykańskiego. Co do wysokich zarobków ludzi programujących w Pythonie - trzeba brać pod uwagę, że Python to nie tylko web. Np. u nas Python jest używany do oskryptowania testów funkcjonalnych oraz infrastruktury zarządzającej klastrami. Robota tak samo rozwojowa i odpowiedzialna jak praca przy trzonie produktu w Javie. Poza tym bardzo często w ogłoszeniach Python występuje obok innego języka - np. jako "mile widziane". Indeed bierze ogłoszenia po słowach kluczowych i nie odróżnia, czy dany język jest głównym wymaganiem, czy dodatkowym. Dlatego wydaje mi się, że będzie to powodowało sztuczne zbliżanie stawek do siebie.

A $88k rocznie w USA to nie jest znowu tak dużo. Dla programisty seniora mieszkającego w jakimś drogim stanie (np. CA, NY) to nawet całkiem mało. Weź pod uwagę, że za studia jednego dziecka zapłacisz $60k-$80k (musisz sam odłożyć, nie ma lekko), za kawalerkę w SF jakieś $500k-$1mln, a za domek z ogródkiem godzinę od centrum SF jakieś $1-$3 mln. Jedyne pocieszenie, że paliwo i samochody 2x tańsze :D

vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
0

Przykład "magii Javy" z wczoraj:
W aplikacji PrimeFaces po kliknięciu na sort lazy datatable sortuje się poprawnie.
Po drugim (!) kliknięciu nie działa już nic, co bazuje na Ajaxie.

Przyczyna:
Plik JAR (PrimeFaces lub JSF - nieważne) był w dwóch miejscach dostępnych na ścieżce wyszukiwań, w związku z czym AJAX dostawał jakieś bzdurne odpowiedzi z serwera...
Doszedłem do tego dopiero jak odpaliłem konsolę JavaScript gdzie był jako-tako rozpoznawalny komunikat błędu.

#!#^%!

edytowany 1x, ostatnio: vpiotr
azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

@Krolik w USA są takie wysokie koszty życia? oO trochę łapie zdziwko na myśl, że w USA każda rodzine przypada dom(gdzies czytalem takie dane), a w polsce połowa albo lepiej musi wynajmować :D
Racja racja, python to nie tylko web. I dlatego jego zarobki mogą być niższe. Bo przecież, najwięcej dają firmy które potrzebują czegoś, to jest teraz "na topie", każdy tego potrzebuje itp itp
Co to stawek to o to mi właśnie chodziło, te słowa mogą występować w różnych miejscach. "JavaScript" występuje w większości ogłoszeń do ASP, C#, Javy, PHP, RoR, python i tak dalej i tak dalej..

@vpiotr
oooo, to to to! dość dziwne, że takie rzeczy maja miejsce w takich wielkich narzędziach jak JSF. Nie ma powiadomienia o duplikacji(tak jak mówisz, w ścieżkach np) szczególnie, że błąd wydaje się być dość powszechny, a jak nie powszechny to wysoce prawdopodobny

Może jest tu ktoś, kto zawodowo pisał w 2-3 czy więcej różnych technologiach, najlepiej webowych (ale i nie webowych) i potrafiłby porównać jakoś prace w Javie z innymi technologiami? Pod względem pracochłonności, bug'o / problemo-genności (czy statystycznie występuje mniej/wiecej problemów z daną technologią), skomplikowania itd :P?

edit
BTW: w pracy RoR'isty raczej używa się linuxa prawda? w ogóle python/ruby to raczej unixy?

edytowany 3x, ostatnio: azalut
KR
W USA bardzo dużo ludzi też wynajmuje domy. To czy wynajmować, czy kupować nie jest wcale taką prostą decyzją i zależy od wielu czynników, nie tylko od zasobności portfela. Dodaj do tego, że Amerykanie średnio zarabiają więcej niż Polacy (PKB mają większe na łebka). W USA są też duże różnice między stanami. Kalifornia jest chyba najdroższym ze stanów; w innych nie byłem więc się nie wypowiem, ale słyszałem że jest znacznie taniej.
somekind
To skąd ci nowojorscy bezdomni, skoro na każdego dom przypada? ;)
azalut
ofiary kryzysu albo uczyc sie nie chcialo :D
datdata
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 7 lat
  • Postów:957
0
azalut napisał(a):

Racja racja, python to nie tylko web. I dlatego jego zarobki mogą być niższe. Bo przecież, najwięcej dają firmy które potrzebują czegoś, to jest teraz "na topie", każdy tego potrzebuje itp itp

Mocne słowa, żeby nie powiedzieć g**no prawda ;)
Najwięcej dają firmy, które na to stać i potrzebują software najwyższej jakości. Czyli właściwie branża finansowa, bankowość, transakcje giełdowe, low-latency.


"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." Robert Heinlein.
azalut
  • Rejestracja:około 12 lat
  • Ostatnio:ponad rok
  • Postów:1129
0

@datdata Znawcą może nie jestem, ale kiedyś troche inaczej rynek wyglądał. Serwisy internetowe / web aplikacje, jak zwał tak zwał, nie miały takiego popytu jak teraz. Stąd moje przemyślenia, że web aktualnie góruje na rynku

edytowany 1x, ostatnio: azalut
datdata
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 7 lat
  • Postów:957
0

Tak jak mówię: popularność czegoś ma małą (jeśli jakąś) korelację z zarobkami w robieniu tego czegoś. Równie dobrze możesz powiedzieć, że najwięcej zarabiają nauczyciele, bo edukacja jest ogromnym rynkiem.

Fakt, webappki to spory rynek i sporo kasy, ale nie sądzę, że jest to coś, gdzie programując zarabia się najwięcej.


"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." Robert Heinlein.
azalut
a wg ciebie który rynek zarabia najwięcej? bo według mnie w proporcji: zarobek/ilość ogłoszeń o prace wygrywa web development a dokładniej java, potem c# :P na razie nie pracuje, także to raczej obserwacje, więc jak się ktoś nie zgadza to wybaczcie ;)
datdata
Napisałem dwa posty wcześniej.
azalut
tylko że dla giełdy, bankowości itd. pisze się dużo weba, więc argument wg mnie nie przechodzi :P
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)