¿Qué herramientas necesito para construir un diccionario web?

Soy desarrollador de software y construí un diccionario alemán-inglés (diccionario alemán-inglés)

William ya mencionó algunas de las herramientas que necesitará. Me gustaría ampliar un poco sobre algunos aspectos.

Mis puntos asumen que desea construir un diccionario basado en la web que espere mucho tráfico, es decir, no un diccionario de nicho, por ejemplo. Para un sitio web de alto tráfico puede ser muy engorroso (por decir lo menos) no usar un centro de datos o computación en la nube. Si su sitio web necesita estar disponible en varias zonas horarias, puede olvidarse de las soluciones de servidor doméstico.

Puede comenzar de forma segura con una base de datos relacional pero, a largo plazo, a medida que su sitio web obtenga más y más tráfico, es muy probable que esto sea bastante costoso. Por lo tanto, necesitará una solución para mantener sus costos razonables. Desde este punto de vista, las soluciones basadas en almacenamiento en la nube como Blob Storage de Microsoft o S3 de Amazon Web Services pueden resultar más económicas.

Para tener éxito, su diccionario basado en la web debe ser rápido. No muchos esperarán a que su página se cargue más de una cantidad de tiempo decente que se hace cada vez más pequeña a medida que avanza la tecnología y la gente quiere sitios web cada vez más rápidos. Desde este punto de vista, deberá poder escalar, almacenar en caché y, en términos generales, procesar muy rápidamente muchas solicitudes paralelas.

Las soluciones basadas en la nube le brindarán la escalabilidad (escalar o escalar, es decir, máquinas más potentes o más máquinas) y las herramientas de almacenamiento en caché que necesita. También le brindarán las tecnologías de virtualización que permitirán que sus servidores respondan a tiempo para solicitar.

Necesitará un algoritmo de búsqueda inteligente para las definiciones. La búsqueda instantánea de texto a través de las definiciones solo se puede hacer con altos costos en términos de hardware y velocidad. Imagínese que la búsqueda de Google iría a cada sitio web que sepa verificar si se puede encontrar un texto en el HTML cada vez que alguien realiza una búsqueda. Eso simplemente no es posible. Es similar con un diccionario: no puede ir a cada definición y ver si es la que desea.

Los sistemas de entrega e integración continua son otro tipo de herramienta que necesitará. No puede liberar sus cambios simplemente copiando los archivos en su servidor y en el mismo tipo de solicitudes de servicio. Dependiendo de su elección de alojamiento, esto se puede lograr de diferentes maneras. La mejor herramienta que puedo recomendar aquí es TeamCity: su ingeniero de construcción 24/7. Pero Go, Jenkins y otros también lo harían.

Cada vez más tráfico proviene de dispositivos móviles. No hay forma de que esto pueda ser ignorado. Necesitará aquí un llamado primer enfoque móvil. Diseñe su interfaz de usuario, botones, colores, etc. primero para dispositivos móviles y aumente el tamaño de su dispositivo hasta llegar a pantallas de monitor grandes. Las bibliotecas como Bootstrap de Twitter pueden ayudarte aquí. Consulte el Proyecto de páginas móviles aceleradas y verá que esto también lo beneficiará desde la perspectiva del motor de búsqueda.

No le gustará crear un sitio web que nadie conozca. Es por eso que la optimización de motores de búsqueda es muy importante. Agregue su sitio web a las herramientas para webmasters de Google y Bing y use sus herramientas para aprender sobre palabras clave, números de tráfico, mapas del sitio, indexación y todas estas palabras de moda. Es muy importante enviar sus mapas de sitio lo antes posible ya que los motores de búsqueda tardan en rastrear su sitio web. Y es muy probable que un diccionario tenga muchas páginas si considera que una definición es una página en sí misma.

Para comprender cómo las personas usan su sitio web, qué funciona y qué no, necesitará herramientas de análisis de seguimiento. Creo que Google Analytics es el mejor en este campo.

Si bien no es una lista de herramientas, aquí hay un resumen de qué considerar. Pero no se olvide del marketing, las ventas y otras áreas de un sitio web.

  • Solución de acceso rápido a datos
  • Escalabilidad y capacidad de caché
  • Algoritmo de búsqueda
  • Entrega continua e integración
  • Primer acercamiento móvil
  • SEO
  • Análisis de seguimiento

Aquí está lo que necesitas saber.

  1. HTML
  2. CSS
  3. JavaScript
  4. Un lenguaje del lado del servidor
  5. Posible un lenguaje de base de datos como MySql o simplemente poder analizar archivos de texto rápidamente.

Esto es lo que necesitarás.

  1. Un servidor que puede admitir la cantidad de personas que visitan la página.
  2. Conocimiento en los idiomas mencionados anteriormente.

También puede elegir un tema de WordPress para la interfaz si desea ahorrar algo de tiempo, aunque la parte realmente creativa de todo es el diseño de la interfaz. El lado del servidor ofrece formas de expresar la creatividad, pero de ninguna manera que un usuario pueda verlo. Es muy importante que sepa lo que está haciendo en la programación del backend porque el backend es lo que administra la información. Cuando escuchas en las noticias sobre una violación de datos, generalmente es porque alguien no sabía lo que estaban haciendo en el back-end. Como mínimo, asegúrese de cifrar la información del usuario antes de guardarla.

  1. Texto sublime 2/3
  2. Komodo editar 9
  3. Soportes
  4. Átomo
  5. VIM (más rápido pero requiere un proceso de aprendizaje)

Los elegí porque se ejecutan en cualquier sistema operativo. VIM ya está instalado en OS X y máquinas Linux. Puede comenzar a usar VIM yendo a la terminal y simplemente escriba vim o vimtutor para aprender cómo funciona VIM.

Dependiendo de qué tan bien ejecutado esté su plan, es posible que necesite un servidor excelente para soportar su tráfico. Puede encontrar muchos en Internet, pero si está buscando servidores excelentes que puedan costar un poco más, espere pagar más.

Aquí hay algunas opciones de alojamiento para usted.

  1. Google Cloud Computing, servicios de alojamiento y API
  2. Servicios en la nube gratuitos: nivel gratuito de AWS
  3. Plataforma y servicios de computación en la nube

Hay otros para ver además de los enumerados. Estos servicios solo le permiten tener acceso a la misma tecnología que impulsa a los gigantes tecnológicos.

Por favor comente si tiene alguna pregunta 🙂

En general, un servidor web con soporte PHP o JavaScript, un servidor de base de datos, por ejemplo MySQL o SQLite, conocimiento de SQL y mucho tiempo para completar la base de datos. Hacer la página que mostrará la información llevará menos tiempo. Además, debe estar familiarizado con HTML, CSS y PHP o JS.