Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Gust4v0x en 9 Mayo 2014, 22:51 pm



Título: Hardware necesario para programar en PHP
Publicado por: Gust4v0x en 9 Mayo 2014, 22:51 pm
Buenas tardes. Estoy pensando en aprender un nuevo lenguaje, ésta vez PHP, ya que quiero aprovechar para aprender seguridad web por ende. Programo en otros lenguajes, principalmente para sistemas de escritorio, también en Java, pero aprender Java toma mucho tiempo, sobre todo JEE, hay que aprender frameworks y muchas cosas. Manejo JEE moderadamente, algún framework pero para llegar a hacer algo serio, me falta estudiar más.

Ya que PHP se usa en 1/3 de los servidores web, tienen alta demanda laboral. La curva de aprendizaje por lo que he podido investigar es relativamente baja. Además, existe frameworks como symphony, cakePHP, codeIgniter, etc que explotan el lenguaje.

Creo que me he explayado demasiado jaja, voy a lo concreto: Quiero saber qué características de hardware son suficientes para programar en PHP. Ésto es lo que deseo manejar:

  • Sublime Text
  • Server: Apache
  • Motor BD: PostgreSQL

Voy a trabajar con las siguientes tecnologías:

  • PHP
  • HTML5
  • CSS3
  • javascript/JQuery


Ahora la pregunta, dado que no conozco si Apache consume recursos al instalar un servidor, quisiera saber si necesito una buena máquina para tener coriendo Apache todo el tiempo.

Candidatos:

RAM:

  • 2GB
  • 4GB

Microprocesadores:

  • Dual Core
  • Quad Core
  • Core 2 duo
  • Core i3
  • Core i5
  • AMD Phenom
  • AMD Phenom II


Cabe aclarar que deseo gastar una cantidad moderada (no exorbitante). Un abrazo.


Título: Re: Hardware necesario para programar en PHP
Publicado por: engel lex en 10 Mayo 2014, 00:31 am
aparche no pide casi, recomiendan tener 50GB en el disco libre, con respecto a la ram y procesador no mucho, con un dual core a 2gb de ram mi servidor corre el php tranquilo (y cargas relativamente grandes) de resto, si es a nivel semi-profesional, recomendaría un i3, a 4gb de ram, aunque en este caso la red es importante, por lo menos una red de 10mbps de up y lo mismo de down....

si lo que quieres es practicar o tener una pagina de unos pocos cientos de usuarios por dia, con esa configuracion y una red de 1mbps de up y down basta


Título: Re: Hardware necesario para programar en PHP
Publicado por: Gust4v0x en 10 Mayo 2014, 01:09 am
Muchas gracias @engelx, buscaba una respuesta así de concreta. Creo que por el momento -como estoy aprendiendo y próximamente a desarrollar sistemas en PHP a demanda- iré por una dual core o core 2 duo y 4gb de ram. Creo que no gastaré casi nada xD

Un saludo amigo y thanks again ;)


Título: Re: Hardware necesario para programar en PHP
Publicado por: engel lex en 10 Mayo 2014, 01:24 am
por que no trabajas en tu misma maquina? XD

"casi nada"? D:

en mi pais una core 2 duo a 2gb de ram y 160 de disco, usada... son 4 meses de sueldo minimo!  :-(



Título: Re: Hardware necesario para programar en PHP
Publicado por: Gust4v0x en 10 Mayo 2014, 02:42 am
Desde donde escribo es una notebook HP, pero está un poco 'golpeada', hay que cambiarle el teclado, está rayada y unas cosillas más. Creo que la voy a regalar xD

Respecto al precio, una Core 2 duo con 4GB Ram y ~500GB de disco no está muy cara. Si ganas el sueldo mínimo con 2 meses te compras una y de tienda.

Saludos (Y)


Título: Re: Hardware necesario para programar en PHP
Publicado por: engel lex en 10 Mayo 2014, 02:45 am
usa esa golpeada como servidor :P y la programas desde la otra subiendo los archivos por ftp (como si fuera un servidor real) :P eso puede serte muy util y no ocupas la nuevas con el servidor :P


Título: Re: Hardware necesario para programar en PHP
Publicado por: Gust4v0x en 10 Mayo 2014, 02:54 am
Muy buena idea amigo, de hecho, voy a hacerlo así ;)

Muchas gracias por tus consejos tío. Un abrazo (Y)


Título: Re: Hardware necesario para programar en PHP
Publicado por: engel lex en 10 Mayo 2014, 03:14 am
:'D estoy orgulloso de mi hermana y se que ha sido una buena mujer en vida cuando mis sobrinos me agradecen por mis consejos y me abrazan!


Título: Re: Hardware necesario para programar en PHP
Publicado por: ~ Yoya ~ en 10 Mayo 2014, 04:36 am
Yo actualmente trabajo como desarrollador de Java EE, estoy trabajando en un proyecto basado en la arquitectura SOA. En la compañía que trabajo se compro la Suite SOA completa de Oracle (Oracle Service Bus, Enterprise Manager, Oracle Bussines Services, Bpel, etc...).

Y conozco muy bien PHP, y en lo personal, no me gusta trabajar con PHP (PHP fue uno de los lenguajes con lo que mas me desarrolle y dure un tiempo trabajando con PHP profesionalmente)... PHP carece de muchas características.

Java es un lenguaje mucho mas maduro, y en el ámbito  de aplicaciones empresariales es lo mas maduro y completo que puedes encontrar.

Y los trabajos como programador de Java (normalmente Java EE) son mucho mejor pagado que PHP, y tienes mucha mas facilidad de encontrar un trabajo en Java que en PHP (hay mucho mas programadores de PHP que de Java). Ahora como dices la curva de aprendizaje de Java EE es muy difícil, pero las cosas mas difíciles son las que dan los mejores resultados...


En el caso que quieras insistir, te doy mi concejo sobre el Hardware necesario. Y no vayas a utilizar una maquina diferente donde corra apache, porque cada vez que escribas algo vas a tener que subir los cambios al servidor y cualquier forma similar, no es para nada eficiente. Utiliza la maquina donde programas para probar directamente, utiliza un servidor externo para dejar la aplicación en producción.

Para correr Apache, programar en PHP no necesitas una maquina muy buena (Intel Pentium 4, 1GB ram, SO 32bits basta), el tema esta en CSS3 y HTML5. Necesitaras una maquina un poco mejor para renderizar las paginas en un tiempo lo suficientemente decentes para que puedas trabajar bien:

  • 4GB RAM
  • 20 GB Disco duro (Sistema operativo y aplicaciones necesarias)
  • Dual Core
  • Sistema operativo 64 Bits

PD: Ocupa Linux, es mucho mejor para programar en PHP, manejar los distintos servicios, performance, etc...

Y si deseas pasar la aplicación a producción y si la aplicación estará hosteada en la nube, con un IaaS (linode, Amazon, etc...) basta, así puedes aumentar el hardware cuando es necesario y pagar por lo que necesitas.

Saludos.


Título: Re: Hardware necesario para programar en PHP
Publicado por: Gust4v0x en 11 Mayo 2014, 15:10 pm
Gracias por la extensa respuesta, Yoya. De hecho, no estoy renunciando a JEE, porque ya empecé a estudiarlo y aunque es muy complejo, JEE se aprende por pocos dado que es una plataforma tan extensa (y más extendida con los frameworks).

Mi idea es que, al estar a mitad de carrera, quiero tener ingresos, y obviamente con JEE por el momento no lo haré, porque me falta peso en conocimiento (aunque por ahí he escuchado rumores que sabiendo Servlets/JSP + Hibernate, tienes un puesto seguro). Por otro lado, PHP puedo aprenderlo en muy poco tiempo (al menos para empezar a trabajar) y así ganar unos centavos mientras sigo con mi estudio de JEE.

Respecto a JEE, ésto es lo que sé:

  • Servlets
  • JSP/JSTL
  • Aplicaciones Cliente/Servidor
  • WebSockets
  • WebServices
  • JavaSE/JavaFX
  • Hibernate
  • Spring MVC (En proceso).

No sé si será suficiente para conseguir un trabajo. Por otro lado, en PHP para trabajar bastaría con:
  • PHP5
  • Symphony/CakePHP
  • Doctrine (opcional, la mayoría de clientes no lo pide)

Como ven, estoy aprendiendo ambos. Pero la idea es ganar algo de dinero con PHP y a la vez seguir estudiando JEE.


Un abrazo.


Título: Re: Hardware necesario para programar en PHP
Publicado por: ~ Yoya ~ en 12 Mayo 2014, 02:02 am
Si te concentras en varias cosas, entonce el tiempo necesario se multiplica, sino es que al final dejas todo...

Si tu plan es laborar PHP para luego laborar como programador Java EE, te recomiendo que te dediques full time a aprender solo PHP. Y cuando logres laborar, entonce 1 o 2 meses luego comienza a estudiar Java EE.

Por el lado de Java EE te recomiendo que estudies lo siguiente (la mayorías de la tecnologías pertenecen a las especificaciones de Java EE):
  • JSF
  • EJB (incluyendo MDB)
  • JPA
  • EclipseLink o Hirbenate (mejor si ambos)
  • Servlerts  y JSP (No tan profundo, mientras lo entiendas y puedas trabajar sin problemas es suficiente)
  • JAX-WS
  • JAX-RS
  • Junit (Un gran plus, sumamente necesario y muy facil de aprender)
  • Log4j (Un gran plus)
  • Maven
  • Eclipse (es muy importante estar familiarizado con un entorno de desarrollo con el que puedas trabajar sin problema, eclipse es de lo mas usuado)
  • Manejar por lo menos un servidor de aplicaciones. Eg: Weblogic, Jboss
  • Tomcat

Y te recomiendo que de momento no te ligues con Spring. Spring es todo un ecosistema, que ofrece muchas de las tecnologias de la especificacione de Java EE, y por lo tanto tendrás que aprender muchas cosas.

Otra cosa, Web sockets no es algo muy necesario, mas bien es un plus. En el ámbito de Java EE, Java FX es algo opcional y si manejas JavaEE por lógica manejas JavaSE (es como decir que corres y que también sabes caminar...).

Un gran plus para entrar al mercado laborar, es certificarse. Yo me certifique (tengo la certificacion 1Z0-851), si en algun momento deseas hacerlo, puedes escribir en el foro y te puedo dar algunos tips.

Saludos.