El rincón del noob

B


Fig.1: El autor al decidir abrir este hilo

Hola. Me presento: Soy un matemático y proyectista de ingeniería superior de telecos, y quiero hacer mi web. Sé programar (no de manera limpia ni estructurada, de momento, pero por lo menos funciona lo que hago) en C, Java, Basic, ensamblador, MATLAB... He hecho un par de scripts en Perl y he hecho mis pinitos en Ruby on Rails, pero no tengo ni puta idea de por dónde empezar si quiero hacer mi propia web, ni en cuanto a diseño ni en cuanto a programación.
He leído el clásico faq del subforo, pero muchos links no van y, además, estoy seguro de que ahora mismo las cosas habrán cambiado a mejor. PiradoIV me ha recomendado www.w3schools.com y lo estoy mirando ya, a mi parecer me será muy útil. También estuve en contacto con GreyShock por MP que me dio consejos muy útiles, y más o menos ya tengo una idea de qué hostings podrían ser apropiados, etc. etc.

Y entonces, si tienes manuales y te has leído el FAQ, ¿qué más quieres?

Básicamente este hilo puede tomar 2 caminos. Uno, en el que todos los que estén como yo o en algún punto estancados puedan preguntar y ser ayudados. Otro, algo parecido a los logs del subforo de Fitness, donde (si os parece bien) iré exponiendo mis progresos con mi(s) web(s) (ya que tengo más de una idea en mente, pero empezaría por algo tipo blog) y comentaría mis dudas, tanto de diseño como programación. Queda a vuestra elección y a la del equipo de moderación, y de momento será una mezcla de ambos (es decir, de momento voy a exponer mis dudas xD).

Disclaimer: No pido que nadie sea mi personal army ni que hagáis la faena por mí, pero hay dudas que se tienen y que incluso puede que no tengan una respuesta única válida. No creo que pregunte dudas de código (abriría un nuevo hilo para ellas si son importantes, y eso después de buscar mucho). Acepto críticas, especialmente si me permiten mejorar. Solo pido humildemente vuestra ayuda :qq:.

Hazte un blog, pesao. A eso es a lo que voy.

En fin, empiezo con mi batería de dudas! Y espero no incumplir ninguna norma ni nada parecido... Sé que a muchos os parecerán dudas muy estúpidas pero de veras, para mí vuestra respuesta significará mucho.

Dudas a resolver

  • Cuando pregunté a un amigo que está bastante metido en estos temas por un tutorial de php bueno, me contestó: ¿PHP? ¿Y por qué no Ruby o Django? Os pregunto lo mismo, alguien que los conozca me puede explicar para qué usaría uno u otro?

  • Personalmente tengo el "típico" blog de Wordpress gratis, con dominio blabla.wordpress.com. Lo tengo muy desactualizado y tal, en parte porque quiero hacer el mío y en gran parte porque hasta ahora llevaba 3 años con 50 créditos por cuatrimestre, pero en el caso de que quisiera usar el "motor" (o como se llame) de Wordpress ¿qué diferencia habría con tenerlo hospedado ahí además del nombre del dominio? ¿Podría hacer algo distinto? ¿Qué otros "motores" (o como se llame) podría usar?

  • De pequeño (hablo de tener 9-10 años) aprendí HTML, escribiendo a saco en un .txt, e hice la típica web con fondo cyan y letras magenta xD. ¿Aún se escribe el código a mano? Pero yo siempre tenía la sensación de que era más bien cutrillo xD.

  • También con HTML, ¿el HTML 5 es algo que debería aprender si quiero programar mi web? ¿Es el HTML 5 un HTML++ o se usan por separado?

  • Alguna manera de probar mi web sin estar conectado a internet? Con Ruby on Rails lo hacía pero no recuerdo cómo, y me iba de perlas. Además ahora mi conexión a Internet desde la residencia es más bien apestosa.

  • Más o menos ya estoy orientado pero si alguno de vosotros tiene un consejo para alguien que quiera empezar (y que ya sepa algo de programación pero no de diseño ni desarrollo web) lo agradeceré eternamente.

De momento esto es todo por ahora, lo mantendré actualizado mientras haya interés (que espero que lo haya) y bueno, solo me resta agradecer toda vuestra ayuda, consejos y críticas.

Muchas gracias a todos.

3
Dorenz

No te puedo decir el porqué de una cosa o la otra, no sé tanto para eso. Pero si ya tenías base de Ruby on Rails, ¿porqué no sigues con ello?

Los puse ya en otro tema, pero aquí tienes tutoriales amenos para refrescar la memoria:
Try Ruby: Para familiarizarte con Ruby.
Rails for Zombies: Para familiarizarte con el framework Rails.

2 1 respuesta
B

Viendo lo que pones, te falta un poco de rodaje antes de ponerte a saco. Yo te diría que te tomases tu tiempo para aprender a programar de verdad (no hace falta para hacer una web, pero te ahorrará muchos quebraderos de cabeza). Si no estructuras bien las cosas te vas a volver loco.

Php, Django o RoR son simplemente distintas alternativas. A mí personalmente lo que más me gusta es Django, pero si ya has hecho algo con RoR, adelante. Eso sí, los hostings más baratos son los de PHP (que es muy usado tanto por novatos como por gente que sabe).

Respecto a probar la web offline, no es que haya maneras o no... es que no puedes programar una web probándola en servidor todo el rato, sería un coñazo. Básicamente despliegas la app web en local. RoR posiblemente tenga algún script para ello.

HTML5 es HTML nuevo con cositas chulas, pero no son cosas separadas. Igual que CSS3/CSS.

Antes de nada leete algo sobre MVC, luego un minimo sobre persistencia (BD), Javascript, HTML y CSS. Después, aprende a estructurar una aplicación (en módulos, paquetes... como quieras llamarlo) y por último móntate un entorno de desarrollo cómodo que te ayude. Conviene emplear las primeras horas en explorar qué herramientas y plugins tienes que te faciliten la vida (por ejemplo, uno que te refresque la app web cuando hagas cambios sin tener que relanzar ningún script).

2 1 respuesta
PiradoIV

¿Por qué no Ruby o Django?
Son amor para programar, pero un culo para instalarlo por ahí en algún servidor, lo más sencillo y barato en ese sentido es PHP. Sí que están saliendo empresas de hosting que lo ofrecen, pero todavía le queda tiempo.

¿Qué otros CMS podría usar?
Drupal

¿Aún se escribe el código a mano?
Sí, mírate Sublime Text. En caso de querer algo gráfico, busca WYSIWYG Editor (What You See Is What You Get) en Google, te van a salir trillones.

¿El HTML 5 es algo que debería aprender si quiero programar mi web? ¿Es el HTML 5 un HTML++ o se usan por separado?
El HTML está estandarizado, HTML5 es la última versión del estándar. Si vas a aprender, sip, que sea HTML5.

¿Alguna manera de probar mi web sin estar conectado a internet?
Te instalas el servidor web en tu ordenador, WAMP (Windows), LAMP (Linux), MAMP (Mac)

4 1 respuesta
B

#3 estoy de acuerdo contigo. En parte. Creo que no es que no sepa programar, pero siempre he programado más bien en DSPs por un lado, y por otro programas matemáticos (desde Símplex hasta RSA pasando por simulación de EDOs e integrales), que más bien eran funciones. O si no los retos de UVa o Topcoder, pero es que al final programar por programar no me llena. Por eso precisamente pensé en hacer la web, para tenir un objetivo final en mente y que no fuera programar por programar.
Pero tienes toda la razón en que me hace falta (mucho) el tema de estructurar las cosas, ya empecé el año pasado con Java a usar clases y tal y ahora en donde estoy haciendo el PFC (en Alemania) asisto a unos seminarios sobre UML y OCL, que aunque la verdad es que no me veo usándolo a la hora de la verdad, ya me da una idea de cómo diseñar las relaciones y todo eso.
En fin, si no fuera empezar por aquí, ¿qué me recomendarías para aprender a programar de verdad (es decir, aplicaciones grandes y tal)? Seguiré tus recomendaciones sobre MVC, BD y etc. :).

#2 gracias! Muy interesante! Pero de momento miraré PHP por lo que dice #4, que no es que esté muy boyante mi economía xD. Por cierto #4 gracias por lo de Sublime Text, no necesito nada gráfico, ya estoy acostumbrado a usar LaTeX xDDD.

Otra duda ahora que lo comentaba... Alguien usa de verdad UML y OCL? En qué contextos se usa? En el proyecto en el que estoy lo usan pero sinceramente me parece forzado (ahí), se explicaría todo mejor sin tanta cajita y flechita.

2 respuestas
cabron

#5

UML sí, OCL de forma general no se usa incluso te diría que la mayoría de la gente no sabe ni que es, no dudo que en algún sitio se use y tenga utilidad, pero puedes pasar bastante de el salvo que lo necesites en un curro específico.

Y sobre lo que comentas de que te parece forzado el uso de UML en algunos casos, ese es un error muy común, intentar usarlo siempre y para todo, hay casos donde es útil, y casas en los que no.

B

#5: Yo OCL no sé ni lo que es. UML lo uso para documentar, nunca para diseñar (o sea, lo uso pero en papel xDD).

Quería decirte que más que aprender a programar, necesitas aprender a "hacer arquitectura", porque se ve que programar ya sabes.

Lo de MVC es básico, y aprender a diseñar bases de datos decentemente (para lo tuyo en un par de días sacas lo básico).

Suerte con ello :)

#8: Opino lo mismo de PHP, tampoco lo soporto.

1 respuesta
MTX_Anubis

Poco más que decirte que lo que ya te han dicho. A mí PHP no me gusta, lo odio y me parece un error de la humanidad pero probablemente sea lo mejor para tu caso.

RoR es un framework con una curva de aprendizaje bastante alta aunque dominarlo ya cuesta lo suyo (como en todos vamos), millones de gemas (algo así como plugins con funcionalidades) y los despliegues suelen ser un infierno. Para servidores pues tienes heroku por ejemplo.

Si te entra la locura puedes probar Play! en Java o Scala. Toma algo de filosofía de RoR

2 1 respuesta
GreyShock

Me mola el hilo :) Creo que podríamos construir el nuevo FAQ oficial de desarrollo, que el otro está caducadísimo. Ir recopilando en #1 todas las dudas resueltas (o resultados de los debates xD) y así podemos redirigir todos esos hilos que se abren diciendo "como empezar a programar"

1 1 respuesta
javifugitivo

Yo tengo una duda que quizas podría servir su respuesta para alguien más.

Tengo un dominio .es contratado con piensasolutions y un subdominio gratuito en eshost.es donde tengo allí alojada mi página web (un index.html y un objeto flash que es la página en sí).

Bien, cuando entras con la dirección .es me lleva al subdominio, pero me cambia la dirección de la barra de navegación. Ejemplo: de www.javifugitivo.es pasa a javifugitivo.eshost.es

Quiero evitar ese cambio, y que permanezca mi dominio contratado, unos dicen que use frames en html y otros que toquete dns pero aún no he conseguido nada, ¿alguien puede iluminarme?

Gracias, y si la pregunta creeis que no va en este hilo, disculpas e ignorarme xD

1 respuesta
FaLLeN

#10 Se supone que tu en tu panel de control puedes configurar la redirección. No se como irá en el tuyo, pero vamos, haz pruebas y algo te saldrá.

javifugitivo

Sí, la redirección la tengo hecha y funciona pero me cambia la barra de direcciones por la del subdominio (host gratuito)

1 respuesta
FaLLeN

#12 Me refiero al tipo de redirección, hay invisible y esas cosas...

1 respuesta
javifugitivo

#13 Gracias,buscaré a ver, pero creo que era bastante limitado en opciones...

B

#9 creo que haré eso, cada semana o quincenalmente actualizaré #1 con lo más relevante xD.

Por cierto, #7, algún libro/apuntes recomendable para estudiar el MVC?

1 respuesta
B

#15: A ver, el concepto de MVC no deberías de estudiarlo. Quiero decir que es muy sencillo, simplemente saber que divides el sistema en tres capas (con que te mires la entrada en la wikipedia te llega y te sobra).

La cosa es aprender a aplicarlo con cualquier lenguaje / framework que utilices. Si tienes cualquier duda siéntete libre de preguntar a cualquiera, todo el mundo te sabrá responder y así llevarás un desarrollo mucho mejor.

Resumen básico:

Modelo: lógica de datos, lo habitual es tener una serie de componentes "fachada", que te encapsulan toda la lógica de acceso a base de datos y demás.

Vista: se podría decir que es la UI, si hablamos de web pues sería HTML/CSS/JS y demás.

Controlador: es la conexión entre los dos. Imagínate que rellenas un formulario para inscribirte en un curso de universidad. La vista te proporcionaría el formulario, el controlador procesaría los datos que has introducido (que tengan sentido, por ejemplo). Después, llamaría al modelo para pedirle datos sobre ti y el curso (y para apuntarte si todo está bien). Por último, devolvería la respuesta a la vista.

Es un concepto muuuy sencillo pero que al principio no todo el mundo tiene claro.

1
HeXaN

¿Qué método usáis para que vuestras páginas y sus elementos estén centrados y bien colocados sin importar la resolución?

2 respuestas
GreyShock

#17 ¿wrapper html?

1 respuesta
taltal

#17 haces un contenedor con un ancho fijado a 960 por ejemplo y le pones un margin:auto;

1 1 respuesta
HeXaN

#18 #19 Vale, es lo que venía haciendo hasta ahora. No sabía si había otras formas mejores. Tyvm ^^

B

De momento he instalado el wampserver, y estoy buscando algún framework de php que pueda utilizar. Estoy entre Codeigniter, Symfony2 y Yii, por lo que he leído hasta ahora. ¿Alguno más que pueda servir?

Otra pregunta... mi ordenador no es muy potente, necesito Windows para el trabajo y una máquina virtual me consume mucho :/, alguna guía para hacer que el puñetero git funcione como es debido? xDD

3 respuestas
BLZKZ

#21 Zend

Git en windows o git en linux? git en windows (si usas github) tienes app, en linux tienes app's configurables con cualquier servidor

1 respuesta
B

#22 git en windows. En linux lo estuve usando sin problemas pero ahora no se aclara con la maldita clave privada :( . Gracias por la recomendación!

HeXaN

#21 Symfony2 parece ser que empieza a estar cotizado por España, además, te permite trabajar en MV :D

B

Dios, desarrollar en Windows a mí me daría alergia. Es el sistema que menos se presta a eso bajo mi punto de vista.

#21: Deberías de probar Linux (no en VM, si no instalado) cuando tengas tiempo, la mayoría de la gente lo prefiere para desarrollar.

#26: En ese caso me callo. Pero en casa te recomiendo Linux, se presta muchísimo más.

#27: Sí, dicen que el IDE ese está muy bien, pero estamos hablando de casos concretos. En general yo creo que Linux le da mil vueltas al tema (y eso que yo no controlo vim/emacs, ni nada).

2 respuestas
B

#25 si yo siempre he usado Linux (SuSE, Ubuntu y Debian en orden cronológico xD), pero donde hago el PFC me obligaron a instalar Windows. La verdad es que no es la polla pero bueno, supongo que me acostumbraré y cuando vuelva a casa volveré a Linux xD.

1 respuesta
elkaoD

#25 uuuh soy el primero que usa Linux aquí. Adoro emacs y me corro con los makefiles, pero... VC++ es simplemente superior.

La toolchain de Microsoft para C++ es la única razón para quedarse en Windows desarrollando :P

PD: que en realidad no viene al caso porque aquí no se habla de C++ pero yo lo suelto xDDD

1 respuesta
eTeLuiS

Ya que preguntaban por ahi atrás sobre frameworks, alguien ha trabajado con Zend Framework? Opinion? Es facil de aprender a trabajar con él?

El tema es que no tengo mucha experiencia con frameworks y me han contratado en una empresa donde trabajan con Zend en su mayoria de proyectos y me temo que voy a ir bastante pez.

Voy a ver si encuentro algun tutorial que lo explique facil y sencillo, si alguien conoce alguno y lo linkea sería Dios xD

1 respuesta
B

#28 El principal problema es que la curva de aprendizaje de ZF es bastante alta comparada con otros frameworks. Yo lo uso simplemente porque están desarrollado por los creadores de PHP y eso quieras o no da garantias. De todas formas ahora con la versión 2 muchas cosas que antes eran un dolor de cabeza son más simples ahora.

Y el visual estudio es el mejor ide parido en el planeta tierra.

HeXaN

¿A la hora de hacer SEO qué cosicas hacéis? Yo por ahora hago: uso de metas, titles, alts, strong, que todo lleve las "www" y que no haya demasiada profundidad de páginas.