Cómo hacer un software completo en Java o en cualquier otro lenguaje de programación

Encuentre una definición de problema, una necesidad que necesita ser resuelta. O simplemente una buena definición del problema.

  • Para los programadores que trabajan en la industria, esta “definición del problema” se presenta en forma de sus trabajos cotidianos y los requisitos del proyecto.
  • Para los estudiantes, podrían ser cursos de clase y tareas.
  • Para las personas que aprenden por sí mismas, la motivación normalmente proviene de los libros, que te guían para crear un problema.
  • Y si no encaja en ninguno de los anteriores, puede elegir arbitrariamente una definición de problema: un sitio web simple O una aplicación de teléfono O una aplicación útil. (la motivación es normalmente bastante difícil de retener para proyectos de bricolaje)

De cualquier manera, cualquiera que sea la definición de problema que tome, implicará aplicar 2–3 habilidades de la lista que está aumentando y será útil.

En definitiva, todo se reduce a la práctica . Comience a escribir una pequeña aplicación. Intenta descubrir todas las piezas y cómo encajan entre sí. Esto será difícil al principio, pero a medida que practiques escribir programas adicionales, será más fácil.

Por ejemplo, veamos una pequeña aplicación web, ya que mencionó HTML y CSS. Su programa consistirá en una parte “front-end” en el navegador web: la interfaz de usuario. Esto se implementará en HTML y CSS. El HTML es para diseñar el formato de la interfaz de usuario. El CSS es para diseñar su interfaz de usuario con colores e imágenes y efectos especiales.

Otra parte estará en el lado del servidor. Este llamado “back end” es donde accederá a la base de datos y realizará los cálculos necesarios para su aplicación. También necesitará saber cómo implementar y configurar esta parte en un servidor web.

Escribir un programa es una cuestión de resolver docenas de pequeños problemas que se interponen entre usted y su producto final. Analice esos problemas y descubra cómo resolverlos. No hay receta para hacerlo, ya que la variedad de problemas es prácticamente ilimitada.

Solo respira hondo y ábrete paso a través de todo, uno por uno. Sé paciente y persistente. La programación es un trabajo duro.

Primero necesitas tener un castillo para construir, aparentemente.

Aprender a programar y ganarse la vida programando son dos cosas diferentes. Los programadores profesionales nos enfocamos en resolver problemas para completar la tarea dada; las habilidades de aprovechamiento son las segundas en priporidad. Cuando carecemos de la habilidad o el conocimiento para un problema específico, estamos aprendiendo a hacer o subcontratando. En el mundo real tenemos plazos; El tiempo y los recursos son limitados. Entonces, “cómo desarmar un proyecto en piezas manejables” y “cómo volver a ensamblar todos los componentes y probarlo completamente antes del lanzamiento” son igualmente importantes (si no más) como habilidades de codificación.

Si estás interesado en avanzar de codificador a desarrollador, primero encontrarás tu castillo . Y luego tratarás de entender cómo funciona. Para que pueda aprender cómo desmontar una tarea y resolverla una por una.

Puede comenzar con tediosas tareas diarias, tratando de resolver estos problemas mediante programación. O puede comenzar construyendo sus propias bibliotecas multipropósito para E / S asíncrona, grupo de subprocesos, envoltorio de base de datos, cliente / servidor RESTful genérico, cualquier cosa. Simplemente encuentra algo que creas que puedes usar más tarde y hazlo.

Esta es una pregunta que enfrentan la mayoría de los desarrolladores jóvenes. Estos son los pasos para superarlo.

  1. averiguar qué género de aplicación está tratando de hacer. ¿Sitio web, móvil, computadora de escritorio, videojuego? Todos están construidos con diferentes herramientas, lo que lleva a nuestro segundo punto.
  2. Muy raramente las personas crean una aplicación completa desde cero. La mayoría de las veces usan las herramientas respectivas de su industria. Esto podría consistir en muchas bibliotecas preconstruidas + código de placa de caldera que simplifica las cosas difíciles para usted. Los ejemplos incluirían. para el desarrollo del juego, construirás un juego usando un motor de física preexistente como irreal. Esto prepara el escenario para tus personajes, física, gráficos, etc. ¿Por qué reconstruir todo el sistema de física si alguien más ha hecho uno mejor? O desarrollo web, utilizará un marco como Laravel o Microsoft MVC. Manejan enrutamiento, vistas, controladores y grandes cantidades de lógica para usted.

Disculpas por una respuesta tan general, pero realmente analice su industria y lo que otros están usando.

Tenga en cuenta que las personas siguen haciendo código desde cero, pero rara vez. Por lo general, un equipo tiene una subsección que crea una parte individual de una aplicación desde cero porque las opciones preexistentes no satisfacen las necesidades del usuario. Solo por muy buenas razones.

Espero que esto ayude. ¡Buena suerte!

Para agregar a lo que casi todos dijeron, aprenda programación . Hasta ahora, todo lo que has aprendido es lenguajes de programación. Utiliza un lenguaje para codificar un programa que ya ha desarrollado, en el idioma en el que piensa.

Ver Teach Yourself Computer Science. Una vez que comprenda la programación, si piensa analíticamente, verá que las piezas encajan. (Si no lo hace, intente una carrera diferente: la programación es básicamente analizar el problema para encontrar la solución. Si no es bueno en el análisis, ese es el 95% de la programación en la que no es bueno).

La ingeniería de software es más que sintaxis. También es más que saber cómo escribir una función que resuelva un problema de tarea.

Esas son las cosas que las escuelas encuentran más fáciles de enseñar.

No, la parte más difícil de la programación no es comprender los ladrillos de Lego, sino comprender cómo armarlos, por qué armarlos en ciertos patrones y qué ladrillos especializados más grandes existen preconstruidos para que los use.

Debe aprender a dividir un problema en sus partes componentes, y luego dividir esas partes en partes más pequeñas, hasta que las partes sean del tamaño de los ladrillos de Lego que conoce. También debe buscar los conjuntos más grandes de ladrillos (bibliotecas) que realizan tareas más difíciles para usted; En muchos casos, se considera una mala práctica reinventar la rueda, cuando hay implementaciones perfectamente buenas de una solución que puede usar de forma gratuita.

Lo que necesita ahora es practicar, y para practicar, necesita perseverancia. Debe poder avanzar para completar un proyecto sin saber cómo resolverá todos los problemas.

Escribir una aplicación no es como un problema de programación. Es más como escribir una novela: es posible que tengas un resumen general de cómo quieres que la novela encaje, pero no necesariamente sabes todo lo que necesitarás escribir para llegar desde el principio hasta el final.

Si todavía no tiene idea de por dónde comenzar, le recomiendo buscar un tutorial que le parezca interesante. Hay tutoriales de “construir una aplicación completa” en todo Internet. Elijo no vincular uno porque parte de lo que aprendes debe ser hacer la investigación tú mismo. Otra habilidad que no te enseñan en la escuela, y aún así es crítica.

Buena suerte.

Depende completamente de lo que esté buscando construir. En base a lo que ya sabes, te vienen a la mente tres cosas.

Opción 1: un sitio web con un backend de Java. Entonces también necesitará JavaScript y comprenderá cómo configurar un servidor.

Opción 2: una aplicación de Android (web). Puede crear una aplicación de Android usando Java puro o usar sus habilidades de desarrollo web para crear una interfaz de usuario basada en web.

Opción 3: aplicaciones Java simples si está preparado para trabajar con la GUI o las bibliotecas de Java para algo sin cabeza y más genérico. El salto del código de Java a un ejecutable es bastante mínimo, ya está listo. Simplemente busque el método para su plataforma objetivo particular.

No tiene que limitarse a estas dos avenidas. Puedes decidir crear aplicaciones para iOS y aprender Swift y Cocoa.

Incluso entonces, aprenderá el idioma y la funcionalidad básica de la biblioteca y se quedará con el mismo problema. El verdadero desafío es decidir lo que quieres lograr. Una vez que tenga un objetivo claro, ya sea una aplicación o una tubería de aprendizaje automático, podrá dividir la tarea en pedazos y utilizar los abundantes recursos en Internet para descubrir todos los pasos intermedios.

Dependiendo de lo que elija, la cantidad de trabajo puede variar mucho. He aquí una idea: encuentre un sitio web personal del que se enamore e intente aplicar ingeniería inversa para que el suyo pueda tener el mismo efecto genial. Probablemente piense en características más interesantes en el camino.

Alternativa o consecuentemente, puede intentar construir una red o plataforma de redes sociales, una tienda en línea simple, un meme para compartir o un sitio web para responder preguntas. Hay una aplicación espejo en caso de que decida utilizar Android o iOS. Intenta construir el sitio web de tus sueños usando WordPress y cada vez que pienses en una característica no podrás encontrar un complemento para solo construir uno. Si es un complemento que otros pueden beneficiarse de usted, incluso puede monetizarlo.

Todo lo que menciono se puede generalizar y puede conectar cualquier otro idioma, marco o tipo de proyecto.

Definir Completo . ¿Te refieres a back end y front end? Si ese es el caso, entonces explicaré:

Primero necesita conocer el front-end como HTML, CSS, JS para lo básico y luego crear una interfaz de usuario con él. Una vez que haya terminado con la interfaz, proceda al diseño del back end y hágalo limpio y eficiente. Para el back-end, debe aprender el lenguaje de programación del lado del servidor como Java, PHP, Scala, etc. Si lo conoce, comience a codificar.

Al comenzar a codificar me refiero a hacer un CMS (Content Management System) al principio. Es fácil y muy útil en el futuro. Con la ayuda de esto, puede administrar o manipular su interfaz. Sé que va a ser difícil, pero primero debes intentarlo.

Deja de mirar esos artículos y videos. Comienza a crear algo. Debe tener una visión de lo que va a crear o lo que desea crear.

Puede usar la plantilla para la parte frontal y el diseño del extremo posterior si lo desea. Pero al principio tienes que aprender a diseñar por ti mismo, luego puedes usar la plantilla.

Si vas a jugar con la base de datos, antes de hacer cualquier codificación, comienza a diseñar la base de datos. Es muy importante y muy importante al crear un software.

Esta es mi experiencia, al menos cómo empecé. Si tienes preguntas puedes preguntarme.

¡¡Buena suerte!!

El software es complejo y no hay una línea recta hacia la meta. Estás en el punto donde tienes algunas habilidades y te preguntas qué ahora. Por lo tanto, solo se están construyendo cosas de ahora en adelante. El problema real a resolver es su indicador más directo de qué hacer a continuación. Una vez que comprenda el problema que está resolviendo, sabrá qué preguntas exactas hacer, es decir, cómo gestiono las sesiones en Java, cómo uso AJAX con la aplicación Java, etc.

En cuanto a la capacidad de construir y terminar sus proyectos.

En los pocos proyectos de proyectos de desarrollo web en solitario que he logrado hasta ahora, los siguientes fueron los más importantes para la entrega final.

  • Alcance fluencia. Es malo en el desarrollo de software a nivel comercial y también en sus proyectos favoritos. Debe tener la idea / funcionalidad central que desea crear y luego luchar por MVP (producto mínimo viable), es decir, algo en lo que se sentiría seguro de mostrar a alguien más y dárselo para que lo use.
  • Alcance del vacío: ¿qué debo hacer? Como se dijo anteriormente, idea central / funcionalidad. Puede elegir alguna aplicación que le guste e intentar emular la tarea principal que realiza. Luego, en mi caso, hay pocas hojas de papel para bocetos y notas sueltas y también se abre constantemente el cuaderno mientras se codifica para definir, de hecho, futuros compromisos. Creo que tener algo escrito es muy útil.

En general, aconsejaría no tratar de descubrir cómo hacer un proyecto completo sin simplemente construirlo. Perderás tiempo haciendo investigaciones como esa. Ir directamente a crear cosas.

Sigue estos pasos.

  1. Ven con una idea
  2. Código.
  3. Código..
  4. Código…
  5. Date cuenta de que te equivocaste en el paso 3
  6. Intenta y repara el paso 3
  7. Fallar
  8. Aprender
  9. Reiniciar

Decida cómo quiere que su cliente use su producto. ¿Lo van a usar a través de la web o será una aplicación de escritorio?

Si va a ser a través de una web, hay literalmente miles de tutoriales sobre la creación de aplicaciones web. Dependiendo del tipo de aplicación web, es posible que ya haya muchos componentes de código abierto.

Mismo caso con una aplicación GUI.

More Interesting

Como nuevo graduado, ¿debería trabajar para Uber, Facebook / Google u otra startup como ingeniero de software? ¿Cómo se compara el talento de ingeniería en Uber con Google / FB y otras startups populares como Dropbox, Pinterest y Airbnb?

¿Debo aprender Excel como ingeniero de software para comprender / filtrar datos de documentos creados por analistas de negocios?

¿Qué desafíos interesantes existen para los ingenieros de software cuando se trata de Amazon EC2?

¿Qué es el "éxito de la vida" según un ingeniero de software?

¿Cómo es ser ingeniero de software en Austin?

¿Hay buenas oportunidades de trabajo en Australia para los ingenieros de software?

¿Qué habilidades le daría cada uno de estos programas de posgrado a un ingeniero de software?

Nunca estoy satisfecho con mi código, ¿cómo comencé a aceptarlo incluso cuando está bien escrito?

Si estoy tomando la introducción a la informática y las matemáticas discretas, ¿qué temas serán los más útiles para un aspirante a ingeniero de software?

¿Qué tan fácil es conseguir un trabajo en los Estados Unidos como ingeniero de software sin un título universitario?

No puedo formatear ni convertir mi tarjeta SD del sistema de archivos exFAT de 64 GB a FAT32. ¿Qué se puede hacer?

¿Es una práctica común que los programadores / ingenieros de software usen punteros para controlar cualquier parte de sus computadoras, por ejemplo, RAM, GPU, sensores, etc.? ¿O hay funciones / métodos en ciertas bibliotecas, por ejemplo, OpenCL para GPU, que ya lo hacen?

Soy ingeniero de software pero estoy interesado en la ingeniería mecánica ya que soy de la misma formación. ¿Es una opción válida cambiar mi carrera al lado mecánico después de dos años?

¿Cuánto tiempo se considera correcto que un ingeniero de software pierda por día con actividades que no distraigan el trabajo?

Cómo unirse a una buena compañía después de fugarse de TCS