우선 저는 웹개발자는 아닙니다.
소스는 좀 볼줄 알지만...그러다보니 웹개발에 대한 경험이나 지식은 많이 부족합니다
그런데 웹사이트를 개발(개발이라기 보단 구축이 맞겠군요~^^;)하려고 하다보면 어떤 언어가 좋을지가 고민이 됩니다.
물론 웹개발쪽을을 하시던분들은 쭉 해오신 익숙한 언어로 하시려고 하겠지만
저는 그런게 아니다 보니 PHP, JSP, ASP 중에 어떤게 좋을까라는 부분이 애매해지더라구요
.
당연히 각언어별로 장단점은 있으리라 생각합니다.
빠르다 보안이 좋다, 지원이잘된다 등등
또한 해당 웹사이트의 특성에 따라서도 장단점이 다르거나 빛을 보거나 의미없는 경우가 될수도 있겠죠
그래서 일반적으로 여쭤보고 싶습니다.
추가적인 특수한 하드웨어없이 노말한 구조에서
.
1. 대용량일때, 중용량일때, 소용량일때 어떤게 유리한지 궁금합니다.
여러분들은 주위에서 누군가 동시접속사용자가 많은 사이트를 개발해 달라고 하면 어떤언어를
선택하시겠나요? 또 그냥 중,소 규모의 사이트라면 어떤 언어로?
어느분은 PHP, JSP, ASP중에 어느게 좋냐라는 질문자체가 의미없는 질문이라고도 하지만
결국 어느거 하나는 타당한 이유를 가지고 선택은 해야하는것이니까요
제 경험상으론 JSP로 만들어달라는 요구가 제일 많이 나오더군요
.
2. 그리고 PHP가 빠르다고 하는데 정말 빠른가요?
저는 전에 같은 성격 비슷한 규모의 PHP로된 사이트와 JSP로 된 사이트를 이용햇었는데
PHP로된 사이트는 사람이 몰리는 시간에는 정말 느리더라구요 새벽에는 빠르고
하지만 JSP로된 사이트는 언제나 비슷한 로딩속도구요... 이건 모 회선의 상태에 따라 다를수도있지만
그래서 PHP가 오히려 느리구나 라는 느낌이 많던데...
.
3. 대용량일 경우 JSP는 클러스터링 구조를 이용해서 톰캣을 여러개 띠워서 실행하면 되고 테스트
자료에 보면 SW적으로 로드발란서 1와 톰캣 프로세스 7개 정도까지가 가장 효율이 좋다고 하더군요
PHP도 대용량 처리를 위한 방법이 있나요?
.
4. ASP는 PHP나 JSP의 장점을 누를만한 절대 강점이 있나요?
ASP나 ASP.net은 다른 두 언어에 비해 추세에서 밀리는 상황이란 글이 종종 보이던데...
.
위의 글은 지극히 주관적인느낌이라 제가 잘못알고 잘못이해한것들일수도 있습니다.
몇몇 내용은 신빙성없는 글일수도 있습니다. 인터넷 여기저기 뒤지다 사람들의 게시물 댓글에서 주워들은거라...
그래서 여러 개발 경험자분들께 이렇게 조언을 구해봅니다.
감사합니다.
.
------- 어느 초등 2년생의 시라는군요 ------
제목: 아빠는 왜?
엄마가 있어 좋다. 나를 이뻐해주어서.
냉장고가 있어 좋다. 나에게 먹을 것을 주어서.
강아지가 있어 좋다. 나랑 놀아주어서.
아빠는 왜 있는지 모르겠다.
-------------------------------------------
모두들 열심히 일하는것도 좋지만 야근하지 않는날엔
집에가서 아이들하고 놀아줄 수 있는 아빠가 되시길....ㅜㅜ
오프 토픽이지만..
전 Rails ...
4번 같은 경우에...
비주얼 스튜디오 때문일꺼라 생각 됩니다만 ASP류는 신입 개발자들에게 진입장볍이 낮아서 시키기 편했던걸로 기억됩니다.
(사전 지식이 비교적 약해도 만들어 내더군요)
무시할 수 없는 장점입니다.
단지 툴에 익숙해져서 개발자들의 장애 해결능력이 약해지는 것 같더군요.
소규모 사이트에 적합합니다.
Software Developer
PHP가 가장 진입장볍이 낮은 것 같은데...
ASP가 소규모 사이트에 적합하다는 것은 맞지 않는 것 같습니다.
중규모가 가장 적당하지 않을까요?
하지만 세계 유명사이트가 아니고서야 규모따지는게 무의미한 것 같습니다.
전 이렇게 생각하고
전 이렇게 생각하고 있습니다.
php = C 언어
jsp = java
asp = 비쥬얼베이직
asp.net = C#
개인적으로는 ASP.net 을 추천합니다만... 개발자들이 php 와 jsp 에 몰려있는게 현황입니다.
php 는 개발이 빠르지만 불안정하고 jsp 는 개발이 오래 걸리고 복잡하죠.
asp 는 모르겠습니다
-----
안녕하세요 소프트웨어 공학센터 장원석 책임입니다.
http://www.software.kr
서버OS도 연관이
서버OS도 연관이 있다고 생각됩니다..
한가지 추천해 드리자면
리눅스계열 서버라면 PHP를 추천해드립니다.
또한가지,
개발에 있어서 퍼포먼스를 높히려면 프레임워크도 한몫 한다고 생각됩니다.
JSP나 ASP에 대해서는 잘 몰라서 말씀을 못드리겠지만,
PHP는 현재 프레임워크가 잘 발달되어있습니다. (다른 두 언어가 잘 안되어있다는 뜻은 아닙니다;)
위대한 한글
위대한 한글
대충 장단점 비교
일단 ASP는 .NET만 생각하도록 합니다. 그냥 ASP는 사라져가는 추세고요 절대 쓰기 편하지도 않습니다.
1. PHP
가장 일반적이고 무난한 선택입니다. 중소규모 에서는요. 윈도우서버 리눅스서버 가리지 않고 실행 되고 속도도 어느 정도 보장 됩니다. 윗분이 프레임 워크 얘기를 하셨는데 그건 일반적인 작은 사이트 얘기고 큰 사이트에서는 따로 프로세스가 돌아가고 접속을 관리해 주는 .NET이나 JSP쪽 프레임워크가 더 좋습니다. 페이지당 인스턴스가 생기기 때문에 객체를 여러 페이지에서 공유하거나 하기는 힘들죠. 즉 OOP를 완전히 하긴 어렵습니다.
2. ASP.NET
가장 장점은 비주얼 스투디오라는 툴이고 단점은 윈도우서버만 된다는 것 이겠죠. .NET쪽 개발 해 보신 분이면 아시겠지만 무척 편리하고 쾌적하게 개발 할 수 있습니다. 기본적으로 프레임워크 자체가 무거운게 단점이겠네요.
3. JSP
일반적으로 JSP는 중규모 이상되는 사이트에서 운영합니다. 사실 JSP라고 해서 JSP만 쓰지는 않고 Spring같은 프레임워크를 사용하겠죠. 리눅스 서버를 이용 할 수 있다는 것 빼고는 .NET과 별로 다를건 없습니다.
.NET이나 JSP는 거의 프레임워크 기반입니다. 완벽한 OO가 지원 되고요 좀 무거운 단점이 있죠. 혹시라도 MAC을 사용한다면 WebObjects라는 것도 괜찮습니다. JAVA기반의 Apple에서 만든 프레임워크 입니다.
클러스터?? 잘은 모르겠지만..
자바의 환경, 특히 대량의 트래픽이 발생하는 서비스에서의 시스템 구조는 잘 모르겠지만..
제가 아는 바로는 PHP 에서도 비슷한 구조로 서비스 가능합니다.
1. Reverse Proxy
클라이언트와의 접점이 되는 곳에 Nignx 나 Lightpd 같은 경량형 웹서버를 두고
그 배후에는 Apache + PHP 를 두는 방식입니다. Nginx 의 경우 자체 로드밸런싱이 가능하므로
그 배후에 여러개의 Apache + PHP 가 운영되는 물리적인 서버를 여러대 둘 수 있죠..
2. Fast-CGI
1번의 경우와 비슷하나 경량형 웹서버(Nginx, Lightpd) 의 배후에 Apache 를 직접 올리지 않고
fast cgi 로 작동되는 PHP 프로세스를 미리 여러개 띄워두고 운영하는 방식입니다.
개인적으로 1 번과 2번 모두 서비스로 운영중이지만 공통적으로 경량형 웹서버를 두는 것은
이미지나 자바스크립트(js), 플래쉬와 같은 static 한 자원의 서비스를 기존의 무거운( 물론 PHP 모듈이 올라간 상태 ) 아파치로
서비스 하기 보다 좀 더 가벼운 웹서버에게 위임하므로써 시스템의 리소스를 좀더 효율적으로 사용하는 목적이 큽니다.
3. 프레임워크
자바나 .Net 진영의 페이지 공유(?) 기능은 참 부럽기만 합니다. 사실 이 부분에서는 저도 아직까지 PHP로 흉내낼 방법을 못찾아서 아쉬운 맘이죠.
음.. 무슨 얘기인지 전혀 모르겠지만,
옳은 얘기 인것 같이 들립니다. php 가 정말 좋은 언어라고 생각합니다.
그런데 유일하게 이해하는 개념이 Reverse Proxy 네요. -..-;;
Reverse Proxy setup 된 서버만 찾아다니며 exploit 하는 tool 을 갖고 있어서....
php + apache 좋아합니다. 프로그래밍 모르는 사람도 해킹이 수월하고 remote exploit 도 잘되고.
php, 사랑해요. ^^
.....
이것도 자랑이라고...
2. php vs jsp 의
2. php vs jsp 의 성능차라기 보다는 만든 사람의 성능차라고 보시는 것이 좋습니다. 언어의 장점들이 상황에 따라 다르기 때문에 서로 다른 구현을 놓고선 언어의 성능을 비교하는 것은 어불성설입니다.
3. L4 switch / 대용량에서는 뺄 수 없는 중요한 장비 입니다.
jsp, php, asp 선택은 ?
속도 ? PHP가 느리다는 것은 DB 쿼리때문이 아닐런지 ???
매번 사람들은 대중소 규모로 따지는데 이건 뭔가 아닌듯하군요.
대규모 ? 무엇이 대규모입니까 ? 네이버 ? 다음 ? 같은 포털사이트 ?
이런 사이트들은 컨텐츠마다 맘에 드는 녀석들로 골라타지 않나요 ?
제 생각은 어떤 독창성을 가지고 개발하느냐 차이인듯합니다.
그냥 단순한 홍보 사이트정도는 사실 무엇으로 개발하든 문제가 없죠.
그냥 매번 같은 소스로 같은 컴포넌트, 패키지, 라이브러리 어느정도 트래픽에 몇개의 계정을 쑤셔 넣든...
하지만 요즘에는 보편화된 AJAX 라든지 웹사이트 API(소켓으로 주고 받는 것들이 많다보니..) 라든지...
그 사이트의 어떤 특기를 가지고 만드냐에 따라 틀려야 겠지요.
사이트는 업데이트되고 JSON , XML(RSS등) 등등 적용해야 하고 서비스가 오고가고 하는게 많다면 ???
ASP,JSP 쓰는게 나을까요 ?
무엇을 쓰는지 결정하는 것은 무엇을 만들건지부터 결정해야 하는 일이 아닐런지 ??
단순히 파일 트래픽이라면 트래픽을 분산시켜주면 되고 DB 쿼리가 느리다면 DB 쿼리를 최적화 해줘야 하겠죠.
어느걸 쓰느냐는 어느걸 만드느냐의 차이지 규모의 차이는 이젠 아닌듯하네요.
언어는 속도를 보고 선택하는것이 아니라고 봅니다
사실 java asp 처럼 대형업체에서 만들어서 배포 그들이 포장하고 팔아먹고 유지보수등의 이유등으로 선호하는 이유가 있다고 봅니다
java,jsp를 쓰려면 tomcat 이나 weblogic과 같은 WAS에 올려야 합니다
jvm은 1G 이상의 메모리를 컨트롤이 힘듭니다
이런 개념없는 엔지니어들은 WAS가 장애가 나기만 하면 WAS메모리를 무한정 올려버리죠
WAS 업체 엔지니어, 컨설팅 회사에서 조차 이런짓을 합니다
예전 구닥다리 서버 시절에는 메모리가 얼마 안되던 시절에는 JVM을 쓰는 이유가 충분하죠
이론상으로도 자원을 효율적으로 쓸수 있구요(이것도 코딩을 잘해야죠)
실제로 개념없는곳에서는 16기가 메모리 탑제 서버에 tomcat 하나 돌리는데 많습니다
그렇다면 요즘과 같은 고사양의 서버에는 어떻게 할것인가가 문제죠
tomcat과 같은 경우는 한서버에 다수의 tomcat을 띄웁니다
apache - tomcat1, tomcat2, tomcat3 이렇게 만들어 지겠죠
여기서 문제가 생기겠죠 어떤유저가 tomcat1에 붙었다가 잠시후 접속에서는 tomcat2에 붙게됩니다
로그인한 사용자라면 팅기겠죠
그래서 tomcat 들간의 클러스터링을 해줘야 하겠죠
그런데 문제가 WAS들을 클러스터링 시켰을 경우 하나의 WAS에서 hang-up이 발생하면 구룹들은 전체가 hang-up이 발생합니다
이런 구성은 WAS들이 문제가 있는지 모니터링 및 관리할수 있게 프로그램이 필요하겠죠
저 같은 경우는 python으로 직접 관리 프로그램을 만들었습니다
java는 소스 잘못 만들면 기동후에 몇분에서 몇시간 못가서 hang-up이 되는 경우가 많습니다
서비스 전에는 문제가 없었는데 open을 하니 저러한 장애가 자주 발생한다면요
WAS hang-up이 발생하면 프로세스, port 가 모두 살아있습니다
이런 문제로 L4기반으로 간다고 해도 문제해결이 안됩니다
그리고 장애를 발생시키는 소스를 찾는다는것은 몇가지 상용툴을 쓰고 노가다 분석을 해야 하구요
저같은 경우는 거의 프로그램가 잡아준적이 없구요
제가 소스보고 찾았습니다
jsp, java를 쓸경우는 프로그머가 정말 고급이어야 하고 그래야 이론상의 자원의 효율적인 사용이 되겠죠
그리고 장애가 생기면 장애분석도 가능해야 합니다
그게 안되면 관리자가 소스를 분석해야 합니다
php 경우 거의 초급개발자가 만들어도 문제없이 잘돌아 갑니다
하루 웹서버 한대의 로그 10G 홈페이지도 3년동안 끈적도 없고
아파치 제기동 한번 한적이 없습니다
일반적으로 하는 부하분산 L4 등등을 사용해서 하면 됩니다
아피치 설정만으로 자원 100% 쓰게 만들면 됩니다
asp도 거의 장애 없었습니다
PHP 한표 던지고 갑니다.
대형(?) 트래픽 준비하려면
apache module로 바꾸고
mysql 세팅이 어쩌고 저쩌고
초반 세팅에 손이 많이 가는건 사실입니다만
apm 한방에 깔고 세팅 발로 하고 개발 하시고
서비스 하시면서 튜닝 값 고치고 서버 내리고 이러기엔 좋다고 생각합니다.
http://codeigniter.com 같은 PHP framework 도 한번 고려해보시고요 ㅎㅎ
php
저도 php 에 한표요...
많은 분들이 보안 어쩌구 대용량문제 어쩌구 하시는데, 위키페디아, flickr 같은 사이트들은 100% php 만으로 만들어져도 매우 잘돌아갑니다 (둘 다 네이버보다 트래픽 많을 거라고 생각됩니다).
직접 만들 경우, 배우기 쉽다는 장점. 사람 고용해서 일 시킬때, 값싸게 사람 구할 수 있다는 장점. 남이 이미 만들어놓은 거 공짜로 쓸 수 있는 cms, 모듈 들이 아주 많다는 장점, 저사양의 서버에서 매우 간단하 셋업으로도 아주 잘 돌아간다는 장점 등등.. 무시못할 장점들이 너무 많습니다.
아참 그리고 미국에선, 아파치+mysql 웹 서버 호스팅 비용이, 매우 싼 곳을 이용하면 월 $1.99짜리들도 있습니다. 월 $4.99 정도수준만 되면, 월 트래픽 무제한 용량 무제한인 플랜도 계약할 수 있고요. 한국도 비슷하겠죠?
한국에서는 PHP가 진리입니다.. JAVA 가 돈
한국에서는 PHP가 진리입니다..
JAVA 가 돈 더 받는다지만 일자리는 PHP 가 더 많아요..
국민 개발자 PHPer...
밥벌어 먹을려면.. jsp를 해야죠..
굶기싫으면 jsp하세요
삭제
--
우리나라 교육계와 관련이 깊습니다.
저는 돈많은 업체가 아니라면 PHP를 권합니다.
PHP의 장점은 오픈소스이고 C를 다 몰라도 사용할 수 있을만큼 학습곡선이 가파르고 공개되어 있는 함수, OOP 클래스가 무궁무진하다는 것이죠. (것도 소스까지 공개되어서)
그리고, 어떤 언어든지 그 확장성은 꼭 언어 자체에만 있지 않습니다.
PHP로 작성한 사이트도 웹서버와 HA 오픈소스 프로젝트와 연계하면 얼마든지 확장성을 갖습니다.
결국 시스템 소프트웨어와 함께 통합했을 때 빛을 발합니다.
하지만, 오픈소스의 장점이 우리나라 IT 시장에선 껌팔이 소년 취급을 받고 있다는 것이 문제이긴 하지요.
(저는 이러한 문화적 현상을 농공행상을 무시했던 양반문화 잔재와 무관치 않다고 생각합니다)
ASP는 다양한 유료 컴포넌트를 사용해 보고 싶다면 도전해 보세요.
그 고유한 패쇄성과 답답한 인터페이스를 파고 들 시간이면 다른 언어를 하나 더 배우는 게 낫습니다.
자바, JSP를 보자면, 그 구조 자체가 상대적으로 복잡합니다. (현업에 계신 분들이라면 다들 인정하시겠죠?)
개인적으로 JSP -> Servlet java -> Java class로 이어지는 자바 아키텍처가 좀 억지라고 생각합니다.
(그냥 고집스럽게 서블릿으로 다 하지 왜 그랬어?라는 생각이 절로 드네요.)
결정적으로, 자바는 "플랫폼 독립적"이라는 달콤한 주장으로 시장을 먹어댔죠.
(저는 자바가 "플랫폼 독립적"이라는 주장에 대해 "그건 개한테나 가져다 주어라"고 말합니다.
이것은 자바 개발자들의 머리 속에나 존재하는 망상이지, 현실은 꼭 그렇지 않습니다.
물론 C나 다른 언어의 불편한 점을 개선한 부분도 있지만 그게 교과서나 여러 책자에 나오는 것처럼 완벽하지가 않고 완벽할 수도 없습니다.
차라리 Java가 platform less-dependent라고 주장한다면 저는 동의할 수 있습니다.)
그건 그렇고, 현실적으로 우리나라 공공기관, 공기업 대부분은 자바와 JSP가 아니면 명함을 내밀수 없습니다.
저도 처음엔 왜 그럴까 고민했죠.
그런데 공공기관 프로젝트 몇 건을 해보니 그 이유를 알겠더군요.
공공기관 프로젝트의 주요 고문 내지 소위 전문가 인력풀의 다수가 누군지 아십니까?
바로 대학교수들입니다.
자기들이 학교에서는 "교수님, 교수님" 소리 들어가면서 학생들에게 존경과 추앙을 받는지는 모르겠습다만
도대체 서비스와 관련된 실제 코딩은 얼마나 해봤는지 묻고 싶을 정도로 어이없는 질문과 지적을 받아본 저로서는
대학무용론을 주장하고 싶을 정도입니다.
어쨌든 이야기 하고자 하는 것은 이 샌님들 머리 속에는 온통 ideal solution으로 패러다임이 꽉 차있다는 것입니다.
Java가 학부 커리큘럼의 상당부분을 차지하고 있는 것 역시 이런 이런 패러다임의 산물입니다.
특히 유학을 통해 학위를 취득한 교수들은 자신들이 수학했던 학교에서 오라클의 자바와 관련한 수많은 소프트웨어를 접합니다.
(우리나라의 현실은 아닙니다만 미국, 영연방의 쓸만한 대학들은 오라클의 지원을 받습니다. 쉽게 말해 소프트웨어를 다 거저 줍니다. 학교로선 돈이 안드니 좋을 수 밖에요.)
그들이 배운 교과서에는 자바가 거의 완벽한 플랫폼 독립적인 언어이고 때문에 architecture neutral에 가장 가깝다고 생각하는 모양입니다. 게다가 OOP죠.
소위 시대적 패러다임을 적절히 갖춘 언어가 자바라고 스스로 깨닫기 보다는 책을 통해 배우고 그렇게 수년간이나 훈련 받게 됩니다.
이런 사람들이 XX위원, 감리, 고문을 지내고 있는 현실에서 Java, JSP로 공공기관 사이트가 도배되다시피 하는 현상은 전혀 이상해 보이지 않는다 하겠죠.
즉, 배운 거 풀어먹기 좋게 시장을 조절하는 것입니다.
단순히 자바가 더 좋고 PHP가 꼬지다고 비교할 게재가 아닙니다.
세상에서 누가 더 큰 소릴 내고 있느냐는 아주 드러운 현실의 문제죠.
---------------------------------
There's always another way, dear.
굿 어드바이스 !
굿 어드바이스 !
웹개발자하실려면
다해야겠지요.
WAS,DB,Language 다 가리지 말고 해야겠지요
저는 5년차인데 어플에 SE까지 하고있답니다;;
Knowleage Creator.
개인적인 생각으로는 언어 선택이 크게 중요하지 않은것
개인적인 생각으로는 언어 선택이 크게 중요하지 않은것 같습니다. 환경에 따라 타의로 선택되어질 확률도 크구요.
언급하신 세가지 웹개발 언어들이 모두 굉장히 숙성되어있고, 큰 커뮤니티도 갖고들 있기 때문에 별 문제 없이 사용하실 듯 합니다.
저는 OOP와 함수형 프로그래밍 둘 다 좋아하는 편인데 PHP의 OOP 지원이 상대적으로 열악해서 대규모 업무에는 사용하기가 힘들더군요. 함수형 프로그래밍은 논외로 하겠습니다.
http://mr.hanul.co
개발자는 문제가 주었졌을때 그것을 얼마나 효율적으로 해결하냐 인거같네요...
저도 예전에 고민하던거였지만 어떤걸 선택해야 한다는거 자체가 큰의미가 없는거 같습니다...
우선 질문하신대로 제 개인적인 답변을 드려보겠습니다...
1. 대용량, 중용량, 소용량일때 어떤것이 유리한게애 대한 질문...
대용량 처리를 하는 사이트 들을 보면...
wikipedia(PHP)
포탈 hanafos(ASP)
NHN(php, asp, jsp)
기업 포탈(jsp)
facebook(ruby)
어떤게 유리해 보이시나요???
JSP 요구가 많은 이유는 국내에 많은 프로젝트가 JAVA 기반 JSP로 진행이 되었습니다.
그리고 웹서비스에서 중요한것중의 하나가 확장성과 상호 연동이지요...
국내에서 많은 기업 프로젝트들이 JAVA, JSP로 진행이 되었고, 기존 시스템에 대한 연동을 고려하게되면
JSP 요구가 많아지는거지요. 기업이 요구하는 것들에 대한 지원(프레임웤, 라이브러리)도 좋고요...
오히려 대용량 중용량 소용량 처리에서 중요시 되는건
WAS와 DB가 Cache 등이 되겠습니다...
하지만 일반적으로는
소형, 중형에서는 PHP, ASP라고 보고
중형, 대형으로 가면 JSP 로 구분이 되더군요...
2. PHP가 상대적으로 빠릅니다.
우선 JSP 같은경우는 JAVA 바이트코드를 서블릿으로 변환되고 다시 이걸 해석하는 과정을 거치기때문에 ASP와 PHP에 비해서 상대적으로 느릴수 밖에 없습니다.
근데 PHP 가 빠른건 언어적인 특성보다 기본이 되는 Application Server 때문입니다...
ASP : IIS + Windows
JSP : Tomcat, JBoss, Websphere, WebLogic, Resine 등등 + Linux, Unix, Windows
PHP : Apache, lighttpd, nginex, IIS + Linux, Unix, Windows
대표적으로 보면 ASP(IIS), JSP(Tomcat), PHP(Apache) 로 생각합니다... 이때 Apache가 가장 빠르고 가볍습니다...
그리고 사이트에 사람이 집중되었을때 느려지는건 DB단에서 커넥션 문제, 캐쉬, 설정등을 어떻게 하느냐에 따라서 틀려집니다.
Apache도 가벼운데... lighttpd는 더 가볍더군요...ㅡㅡ;;
글쓴분이 느낀 PHP가 느리구나 느낀건 사람이 몰렸을때에 대한 대책을 안세우고 설계를 했기때문에 느린게 맞다고 봅니다.
JSP가 PHP보다 뛰어나서 일정한 로딩속도를 제공한는게 아니라 그걸 개발한 사람이 JSP쪽 개발자가 능력이 더 좋기 때문에 JSP가 더 빠르다고 볼수 있겠습니다.
뭐 부수적으로 JSP WAS에서 저런거에 대한 지원을 잘해주긴 하지요.
3. PHP도 설정해서 Apache 프로세서를 여러개 띄우면 됩니다...
MPM 쪽으로 검색해 보세요...
4. ASP의 절대적 강점은 편한 IDE, 사용자들의 접근성, 쉬운학습... 이 되겠습니다.
쉬워서 무시하기 쉽지만 이건 엄청난 강점입니다. 밀리는 이유는 돈이 없는곳은
PHP+Apache+MySQL 을 쓰게되고...
기업은 JSP+WAS(WebLogic, Jeus, WebSphere 등)+Oracle 등을 요구하게되니...
ASP가 시장에서 밀리게 되지요. 결론은 확장성에서 ASP가 많이 떨어집니다.
ASP .NET이라는 승부수를 띄어서 뭐 앞으로 쭉 지켜봐야겠네요... 아직도 ASP 서버는 많이 돌아가고 있으니까요...
--------------------------------------------------------------------------------------------------------------------------------
결국은 고객의 요구와 프로젝트의 목적 팀의 능력, 마지막으로 개발후에 운영할 사용자의 능력에 따라 선택하는것이 맞는거 같네요...
매쉬업형태나 OpenAPI 형태로 제공되는 서비스들을 보면... JSP, ASP, PHP 로 제공되는 서비스들이 있고..
얘들을 서비스를 통합하기 위해서 REST 방식과 SOAP 방식이 있고(대세는 REST)
다시 데이터를 주고 받기위해 XML, JSON 등을 사용하는 형태의 서비스가 점점 늘어나고 있습니다...
너무 시각을 좁게만 가져가지 마세요...
일단 웹하면
HTML
CSS
DOM+JavaScript(Ajax, jQuery, Prototype, YUI 기타등등등)
JSP+Struts,Spring,Tiles ....
PHP+ZendFramework, CodeIgnitor, PHPCake 등등등
ASP+ ASP.NET
Ruby+ Rails...
WAS
DB(MySQL, Oracle, MS-SQL, CUBRID)
OS(Windows, Linux)
대용량 처리위한(Hadoop, HBase 등등등)
해야될껀 무자게 많아요...
쟤가 가장 중요하게 보는건 얘들이 뭘하는 애들인지 지금 당장은 몰라도 프로젝트에 필요하면 하루든 일주일이든 빠르게 학습해서 적용할수 있는 능력과...
개발자로서 문제해결능력이 중요하다고 생각합니다...
너무 생각을 좁게 딱 한곳에만 가져가지 마세요...
아 네트워크랑 보안도 봐야하는구나...ㅡㅡ;; 서버 구성도 봐야되고....
이상 웹개발 시작한지 1년 쪼금 넘은 개발자의 답변이였습니다...
스마트폰쪽도 봐야하는데...ㅠㅠ
추가적으로...
현재 ASP로 운영중인 서비스가가 있습니다...
근데 사용자가 늘어나면서 급격히 느려졌습니다...
그럼 이문제를 어찌 해결해야할까요...
아 사람 몰렸을때 JSP가 좋다니까 JSP로 개발해야 할까요??
쟤가 봤을때는 DB, 네트워크 그리고 DB 커넥션 부분, I/O, 웹페이지 캐쉬 등 여러가지 측면에서 고려하고
해결해야 한다고 봅니다...
음 추가적으로 책하나 추천드린다면 지탱하는 기술 시리즈 찾아보세요 도움이 꽤 됩니다...^^
facebook은 아마 php일듯
facebook은 아마 php일듯
--
Life is short. damn short...
facebook 은 php
facebook 은 php 맞습니다. 그런데 runtime 을 자기네가 아예 새로 만든 것을 씁니다. JIT 으로 C++ 로 컴파일하는 거라고 들었습니다.
Ruby on Rails 는 Twitter 가 쓰는데, 퍼포먼스 문제 때문에 트래픽에 크게 관련된 부분을 scala 로 바꿨고, 점진적으로 모두 대체할수도 있다고 들었습니다.
음...제 생각엔...
다른 분들의 말씀 처럼 일장일단이 있는것이...
PHP 장점 : 개발 속도가 빠르다.
PHP 단점 : 과거 보안 이슈가 많았다.메인 개발자가 개발에서 손 땟다는 이야기가 들림.
JSP 장점 : 자바를 할 줄 알아야 한다.
JSP 단점 : 프레임웍을 배워야 쉬워 진다. PHP에 비해 어렵다.
ASP 장점 : 개발이 쉽고 개발 속도가 빠르다.
ASP 단점 : 플렛폼을 가린다.MS 서버 외엔 돌아가질 않음.
개인 적인 생각...
JSP를 하시는게 좋지 않을까 싶습니다. JSP 하다 JAVA로 갈 수도 있고...
ASP는...폐쇄적인 MS 때문인지 그냥 싫네요. 호환도 안되고...
오라클 Oracle 의 자바 JAVA 도 '폐쇄적'이지 않나요!
오라클 Oracle 의 자바 JAVA 도 '폐쇄적'이지 않나요!
대규모 사이트에서 php보다 jsp를 선호하는 이유중하나는
php가 보안상 이슈가 많고, 프레임워크도 Jsp기반 프레임워크들이 더많은 사용과 수많은 Java개발자들의 참여로 더욱더 안정성이 보장되었기 때문입니다.
java가 진입하기는 어렵지만, 좋다고 생각합니다.
java가 처음 사용하기에는 어렵겠지만, 전반적인 개발라이프사이클(?)은 좀 더 탄탄하지 않나 생각합니다.
개발툴 eclipse - java로 만들어졌고, java만드는데 가장 도움이 된다고 생각합니다.
개발모델(?) spring mvc - mvc를 거창하게 잘 사용하는 것은 아니지만, controller와 view를 분리하니 코드를 읽기 쉬운 것 같습니다. php도 mvc모델을 지원하는 프레임워크(code igniter 등)를 쓰면 읽기 쉽고 유지보수 편한 프로그램을 작성할 수 있을 것이라 생각됩니다.
테스트 junit - php쪽도 단위 테스트를 위한 기능은 있으리라 생각됩니다만. junit을 통해 테스트 코드를 많이 작성하는 것도 프로그램 작성에 도움이 된다고 생각됩니다.
빌드 maven - 스크립트 언어인 php는 빌드 과정이 없겠지만, java의 경우 컴파일 과정이 포함되므로 빌드 및 의존라이브러리 관리가 필요합니다.
배포 deploy - php는 배포를 어떻게 하는지 모르겠습니다만, java의 경우 표준(?) 배포 방식으로 아카이빙 후 서버의 deploy인터페이스를 통해 서버에 올리는 기능을 사용합니다. 개발자 작업 방식의 차이이긴 한데, java에서도 서버에 파일을 파일전송 프로그램(ftp or sftp 등)을 통해 덮어 씌우는 경우가 많은데, 저는 개인적으로 deploy과정을 선호합니다.
런타임 jvm + servlet container ... - WAS라고 부르는 서버에서 제공하는 기능들이 유용할 때가 많다고 생각합니다. 주로 사용하는 기능은 DB풀과 보안(로그인 및 권한체크)부분입니다.
추가로 java jvm의 경우는 프로그램 작성을 잘못하면, 골칫거리가 생기기도 하지만, 자원관리(db pool등)면에서는 php보다 우수한 점이 있다고 생각됩니다.
많이 쓰이진 않지만, python도 대안으로 생각합니다.
java로 개발시 어려운점 hot deploy(?) - 스크립트언어인 php와 달리 바이트코드를 사용하는데, 자바런타임에서 java코드가 바뀐 경우 다른 영향 없이 바뀐 코드를 사용하기가 어렵다.
jsp만(spring 등이 없이)으로 개발할 것이라면, php로 하는 것이 낫다.
php는 include 남발이나 화면과 로직이 같이 섞인 경우가 최악의 코드로 생각됩니다.
저희 회사도 심각히 변경을 하기 위해 고민중입니다.
저희 회사도 지금 php나 java 고민중인데..위의 댓글들 도움이 많이 되었네요~
그냥 지나가는말....
넷마블 (유저 2500만) : asp 로 되어 있습니다.
그냥 지나가는 말
Facebook 유저 (수십억) : PHP로 되어 있습니다.
여기서 제가 제기하는 문제는 언어의 문제가 아니라 언어와 함께 구성되어있는 전체적인 아키텍처가 아닐까 생각됩니다.
Application, Server Infra, Network Infra, 보안 등 모든것의 조화가 되어야 좋은 서비스를 할 수 있다는 말이지요.
이상 지나가는 행인이었네요.
Knowleage Creator.
그냥 하고싶은말
저는 개인적으로 Node.js 만한건 없다 생각합니다
저중에서 고르라 하면 php 가 낫다 생각이 들죠.
오픈소스로 커스텀마이징 할수 있는 장점도 있고
php 보안이 약하지만 수호신 같은 프레임워크 사용하면 보안걱정은 안해도 되니 그리 걱정 안하셔도 !
간단한 사이트라면 배우기 쉽고, 디버깅 쉽고, 운영
간단한 사이트라면 배우기 쉽고, 디버깅 쉽고, 운영 쉬운 것을 사용하는게 좋지요. 이미 알고 계신 랭귀지와 관련된 것을 사용하시는 것이 좋을 듯.
많은 분들이 말씀하시는대로 큰 규모라면 Java가 좋습니다. PHP나 ASP가 나쁘다는게 아니라 장단점이 있죠. 질문하신 의도와 다르게 쓰레드가 전개된 듯하군요.