2010-01-29 16 views
6

Me gustaría saber cómo puedo configurar un entorno de desarrollo en casa. Me gustaría hacer una especie de simulación para imitar a una empresa de desarrollo de software real. Estoy aprendiendo Ruby y Java, y tengo las herramientas necesarias para pequeños proyectos en mi computadora portátil (compilador, intérprete, IDE, etc.). Sin embargo, me gustaría experimentar con otras cosas, como control de versiones, herramientas de compilación automatizadas e integración continua. He estado buscando en la web varios recursos y estoy pensando en cómo puedo dedicar mi vieja PC a estas herramientas. Mi mayor problema es que algunos tutoriales y documentaciones suenan como el doble holandés y sé muy poco acerca de la creación de redes. ¿Puedo alcanzar mi objetivo, o tal vez debería esperar hasta entender más?¿Cómo configurar un entorno de desarrollo en casa?

+1

¿Qué sistema operativo es tu máquina? –

Respuesta

5

Usted puede lograr su objetivo absolutamente.

Comience con control de versiones. Si está en Windows, VisualSVN es un servidor super simple, y TortoiseSVN es un cliente súper simple. Estarás en funcionamiento dentro de una hora.

También recomendaría Hudson para la integración continua.

También encuentre algunas herramientas para hacer su propia prueba automatizada . Recomendaré JUnit para Java y Selenium, si está realizando algún tipo de desarrollo web. ¡Comienza a practicar Test Driven Development!

Cada bueno equipo utiliza algún tipo de sistema de seguimiento de problemas. Aquí hay una lista para elegir: http://en.wikipedia.org/wiki/Comparison_of_issue_tracking_systems

+0

Gracias! Como estoy usando Ubuntu, no probaré VisualSVN y TrotoiseSVN, pero ambas herramientas son muy buenas. Ya he instalado Hudson como sugirió S.Lott. ¡Y muchas gracias por señalar TDD! Mis compañeros fuera de línea a menudo dicen que la programación basada en libros de texto no es una programación del mundo real y todos deberían intentar con TDD que quiera aprender "programación real". JUnit parece ser un muy buen punto de partida. Trataré de revisar algunos tutoriales y hacer proyectos que lo usen. – txxwq

+0

También recomendaría usar un sistema de seguimiento de errores para cada proyecto en el que trabaje, incluso si solo lo usa como su propia lista de tareas pendientes. Incluí un enlace arriba a la lista completa de Wikipedia. ¡Que te diviertas! – Dolph

+0

¡Muchas gracias! Estoy jugando con Hudson, compré un libro sobre JUnit y finalmente terminé en git. Revisaré los sistemas de seguimiento de errores y estoy seguro de que puedo encontrar uno bueno. – txxwq

1

No puedo darle la respuesta que está buscando, pero en mi opinión no hay ninguna razón para que espere a menos que no esté dispuesto a comenzar de nuevo una vez que se dio cuenta de que se equivocó. con cada intento de crear su entorno de desarrollo mejorará su diseño.

Además, al intentar configurar su entorno de desarrollo, se verá obligado a obtener nueva información.

+0

¡Gracias! Yo era un poco tímido, tal vez debido a mi origen. Como otras respuestas muestran que no hay ningún error en el mecanismo de aprendizaje de prueba y error en este campo: D Intento establecer mi propio entorno y jugar con él. – txxwq

6

No espere. Hacer.

No te obsesiones con conceptos que no entiendes. Steamroll los pasó al principio. A menudo descubrí que solo tratando de hacer las cosas, incluso si no las entendía del todo, eventualmente lo descubría, o aprendía algo en el camino que me ayudó a resolverlo más tarde.

Lo peor que puede hacer es esperar.

Puede ser MUY doloroso, pero persevera y serás mucho más experimentado cuando salgas por el otro lado. :)

+0

Gracias, tengo la misma opinión, pero a veces creo que es contraproducente, pero lo intentaré. – txxwq

+1

Simplemente no te rindas y no temas pedir ayuda cuando te sientas realmente atascado y simplemente no puedes descubrir cómo seguir adelante. Aprender ruby ​​y Ruby on Rails fue una de las cosas más difíciles que he hecho como desarrollador porque no tenía experiencia con los sistemas operativos * nix: aprendí TONELADAS, pero a veces estaba muy frustrado. Solo mantenlo! –

+0

¡Gracias por animarme! Estoy haciendo lo mismo. Aprendo algo, o simplemente me enfrento a un problema, así que tengo que intentar una solución. Por lo general, no funciona por primera vez y después de algunos (o muchos) intentos de prueba y error. Lo que quise decir es que utilizo un estilo diferente de aprendizaje en otro lugar. Estudié humanidades y leemos mucho. Si surge un problema, ¡leemos más! Queremos ver muchos ejemplos de soluciones anteriores antes de crear el nuestro. En este mundo, este es un proceso paralelo. Lea, vea soluciones, escriba las suyas en iteraciones cortas. De todos modos me gusta: D – txxwq

3

"control de versiones, herramientas de construcción automatizados, y la integración continua"

acaba de empezar a descargar. SVN es fácil de instalar en Windows.

Las herramientas de construcción automatizadas para Ruby and Rails no son perfectamente razonables. Para Java, sin embargo, hay muchas herramientas. Mira esto: http://en.wikipedia.org/wiki/Build_automation#Software_tools para algunas ideas. Elige uno y descárgalo.

Herramientas de integración continua. http://en.wikipedia.org/wiki/Continuous_integration#Software Hay demasiadas opciones. Aquí está la tabla: http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software

Estrella con Hudson. Es lo suficientemente bueno para comenzar.

+0

¡Gracias! Parece que Hudson es la opción más fácil para mí. Ya lo he instalado y espero poder jugar pronto. – txxwq

1

"... tal vez debería esperar hasta entender más?" ¿Cuál sería la ventaja de esperar? Es más probable que obtengas más en el primer intento, supongo, por lo que sea que valga la pena. Pero estarías esperando y no aprendiendo tanto mientras tanto. Aprenderá mucho más de "hacer" que de leer, y cada error será una valiosa lección aprendida, probablemente sin consecuencias serias. Solo házlo.

+0

¡Gracias! ¡Lo buscaré! Parece que aprender a programar requiere una mentalidad muy diferente que solía tener. – txxwq

0

No estoy asociado con Atlassian de ninguna manera, pero honestamente sugiero que pruebe el Dragon Slayer Quest.

¿Por qué?

Porque con el Starter licenses, por 60 dólares, obtendrá herramientas que son:

  • Industria demostrado
  • totalmente integrado
  • totalmente apoyado
  • muy bien documentado
  • altamente extensible

W sombrero que se necesita es:

  • Un pequeño servidor conectado (algo en la línea de un doble núcleo con 2 GB de memoria y espacio en disco suficiente para almacenar sus archivos y datos adjuntos), podría fácilmente ser que su viejo PC se ajusta a la papel
  • Ubuntu Server, SVN sale de la caja si no recuerdo mal, si no, es un paquete que es fácil de instalar
  • trabajo a través de las etapas de la búsqueda

Usted recibirá:

  • JIRA: Emisión de Gestión
  • GreenHopper: un añadido para el desarrollo ágil basado en JIRA
  • Confluence: Wiki (documentación, soporte de proyectos y el intercambio de conocimientos)
  • Fisheye: Fuente de navegación en los esteroides
  • Bamboo : Herramienta de integración continua
  • Crowd: Soporte SSO completo para las herramientas anteriores
  • an d una camiseta si la llevas a cabo.

Así que no esperes, solo hazlo.

+0

¡Gracias! Debe ser un buen producto, pero no quiero pagar por esas cosas, ya que acabo de comenzar a aprender estas cosas. – txxwq

1

no sé si las personas todavía están en este hilo, pero lo que nadie ve es el arduo trabajo realizado mientras pasa su tiempo solo aprendiendo cualquier concepto individual. en público, mientras socializas con otras personas en tu campo de trabajo o estudio, parece que solo hay algunas personas que simplemente "entienden", pero te lo prometo, a menos que seas otro mozart, él o ella han pasado muchas horas tratando de encontrar respuestas a cosas que, independientemente de su complejidad, son simplemente difíciles de responder.Puede ser por la falta de buena información, o el concepto no hace clic en tu cerebro, de cualquier forma, a menos que yo sea estúpido (lo que sé que no soy, de lo contrario no estaría en este sitio), todos nosotros en este sitio han pasado horas aprendiendo algo que tiene una baja complejidad intelectual, y cuando finalmente hace clic (al encontrar la guía correcta, o simplemente prueba y error), es satisfactorio para todos nosotros. es esto lo que nos diferencia de las otras personas que se consideran aficionados (a menos que seas un aficionado hardcore como los coleccionistas de sellos: P)

Cuestiones relacionadas