¿Qué es un marco de código abierto?
¿Nunca he entendido qué significa el framework en java? Por ejemplo, ¿cuáles son los conceptos de los tres principales marcos de código abierto de Java?
De hecho, el marco es muy simple. Puedes considerarlo como una herramienta o incluso un complemento.
La función de un marco es encapsular una tecnología común y de uso común,
para ayudarlo a manejar algunas cosas básicas, de modo que no tenga que escribir esas cosas tediosas. .
Tome los struts que desea aprender como ejemplo: están esencialmente escritos en Java y no son diferentes de las clases que escribimos nosotros mismos. También podemos implementar lo que implementa.
Por ejemplo, para recibir datos del cliente, usamos request.getParameter(), pero si hay muchos parámetros, tenemos que escribir muchos, lo cual es muy problemático. Struts nos ayudará a implementarlo. No necesitamos escribirlo. Podemos escribir directamente un atributo para obtener el arco. De hecho, la esencia es usar request.getParameter (). .
Así que ya no te preocupes por lo que es un marco. Lo sabrás cuando te pongas en contacto con él. Lo usas como una herramienta, este es el marco.
¿Existe alguna diferencia entre frameworks de código abierto y proyectos de código abierto?
Similitudes: Ambos son de código abierto y una especie de proyecto.
Diferencias: los marcos se desarrollan para comodidad de los desarrolladores y son utilizados por los desarrolladores, como el marco de red libevent. Un proyecto se refiere a un plan formulado para lograr una determinada necesidad. Por ejemplo, el plan para desarrollar libevent es un proyecto y utilizar libevent para desarrollar software de red es otro proyecto.
¿Qué es el framework de código abierto de Java?
De hecho, el marco es muy simple. Puedes considerarlo como una herramienta o incluso un complemento.
La función de un marco es encapsular una tecnología común y de uso común,
para ayudarlo a manejar algunas cosas básicas, de modo que no tenga que escribir esas cosas tediosas. .
Tome los struts que desea aprender como ejemplo: están esencialmente escritos en Java y no son diferentes de las clases que escribimos nosotros mismos. También podemos implementar lo que implementa.
Por ejemplo, para recibir datos del cliente, usamos request.getParameter(), pero si hay muchos parámetros, tenemos que escribir muchos, lo cual es muy problemático. Struts nos ayudará a implementarlo. No necesitamos escribirlo. Simplemente podemos escribir un atributo y obtenerlo. De hecho, la esencia es utilizar request.getParameter(). .
Así que ya no te preocupes por lo que es un marco. Lo sabrás cuando te pongas en contacto con él. Lo usas como una herramienta, este es el marco.
Marco front-end: jQuery
Marco Mvc: Struts, Spring Mvc
Marco central: Spring
Marco orm: Hibernate, Primavera JDBC, myBatis.
¿Cuáles son las ventajas y desventajas de cada marco de rastreo de código abierto?
¿Debería elegir Nutch, Crawler4j, WebMagic, scrapy, WebCollector u otros para desarrollar rastreadores web? Aquí hay una charla aleatoria basada en mi experiencia: los rastreadores mencionados anteriormente se pueden dividir básicamente en tres categorías: 1. Rastreadores distribuidos: Nutch
2. Rastreadores independientes de JAVA: Crawler4j, WebMagic, WebCollector p>
3. Rastreador independiente que no es JAVA: scrapy
Categoría 1: rastreador distribuido
Los rastreadores distribuidos resuelven principalmente dos problemas:
1 ) Gestión masiva de URL
2) Velocidad de Internet
El rastreador distribuido más popular ahora es Nutch de Apache. Pero para la mayoría de los usuarios, Nutch es la peor opción entre este tipo de rastreadores. Las razones son las siguientes:
1) Nutch es un rastreador diseñado para motores de búsqueda. La mayoría de los usuarios necesitan un rastreador preciso. rastreo de datos (extracción fina). Dos tercios de los procesos que ejecuta Nutch están diseñados para motores de búsqueda. No tiene mucho sentido para la extracción de semen. En otras palabras, utilizar Nutch para la extracción de datos perderá mucho tiempo en cálculos innecesarios. Y si intenta desarrollar secundariamente Nutch para que sea adecuado para el negocio de extracción fina, básicamente destruirá el marco de Nutch y cambiará Nutch más allá del reconocimiento. Si tiene la capacidad de modificar Nutch, es realmente mejor reescribirlo usted mismo. marco de rastreo.
2) Nutch depende de hadoop para ejecutarse, y hadoop en sí consume mucho tiempo. Si la cantidad de máquinas del clúster es pequeña, la velocidad de rastreo no será tan rápida como la de un rastreador de una sola máquina.
3) Aunque Nutch tiene un mecanismo de complemento, se promociona como algo destacado. Puede ver algunos complementos de Nutch de código abierto que proporcionan funciones de extracción finas. Pero cualquiera que haya desarrollado complementos de Nutch sabe lo desagradable que es el sistema de complementos de Nutch. El uso del mecanismo de reflexión para cargar y llamar complementos hace que sea extremadamente difícil escribir y depurar programas, y mucho menos desarrollar un sistema de extracción complejo y refinado. Además, Nutch no proporciona los puntos de montaje enchufables correspondientes para una extracción fina. El complemento de Nutch tiene solo cinco o seis puntos de montaje, y estos cinco o seis puntos de montaje son para servicios de motores de búsqueda y no proporcionan puntos de montaje para una extracción fina. La mayoría de los complementos de extracción refinados de Nutch están montados en el punto de montaje del "analizador de páginas" (analizador). Este punto de montaje se utiliza en realidad para analizar enlaces (proporcionar URL para rastreo posterior) y proporcionar a algunos motores de búsqueda páginas web fáciles de extraer. información (metainformación de la página web, texto).
4) Utilice Nutch para el desarrollo secundario de rastreadores. El tiempo necesario para escribir y depurar rastreadores suele ser más de diez veces mayor que el de un rastreador de una sola máquina. El costo de aprendizaje para comprender el código fuente de Nutch es muy alto, y mucho menos pedir a todos los miembros de un equipo que comprendan el código fuente de Nutch. Durante el proceso de depuración, ocurrirán varios problemas además del programa en sí (problemas de hadoop, problemas de hbase).
5) Mucha gente dice que Nutch2 tiene gora, que puede conservar datos en archivos avro, hbase, mysql, etc. Mucha gente realmente lo entiende mal. Los datos persistentes mencionados aquí se refieren al almacenamiento de información de URL (datos necesarios para la administración de URL) en avro, hbase y mysql. No son los datos estructurados lo que desea extraer. De hecho, para la mayoría de las personas, no importa dónde se encuentre la información de la URL.
6) La versión de Nutch2 actualmente no es apta para desarrollo. La versión estable oficial de Nutch es nutch2.2.1, pero esta versión está vinculada a gora-0.3.
Si desea usar hbase con nutch (la mayoría de la gente usa nutch2 solo para usar hbase), solo puede usar hbase alrededor de la versión 0.90 y, en consecuencia, debe reducir la versión de hadoop a alrededor de hadoop 0.2. Además, los tutoriales oficiales de Nutch2 son bastante engañosos. Hay dos tutoriales para Nutch2, a saber, Nutch1.x y Nutch2.x. El sitio web oficial de Nutch2.x dice que puede admitir hbase 0.94. Pero, de hecho, Nutch2.x significa una versión anterior a Nutch2.3 y posterior a Nutch2.2.1. Esta versión se actualiza constantemente en el SVN oficial. Y es muy inestable (siempre se modifica...
¿Qué significa un marco de desarrollo rápido de aplicaciones gratuitas y de código abierto?
ThinkAndroid es un sistema gratuito, de código abierto y sencillo. Marco de desarrollo lanzado de acuerdo con el acuerdo de código abierto Apache2. Su propósito de desarrollo es desarrollar aplicaciones de Android de manera simple y rápida. Incluye mvc de Android, orm sqlite simple, módulos ioc y módulos que encapsulan el cliente de Android. caché de archivos sin considerar el formato del archivo almacenado en caché, el almacenamiento en caché se puede implementar muy fácilmente. También implementa la función de almacenamiento en caché de imágenes basada en el módulo de almacenamiento en caché de archivos. Al cargar imágenes en Android, el problema de OOM y la desalineación de las imágenes cargadas. se puede resolver fácilmente. También incluye una clase de herramientas prácticas comúnmente utilizadas en el desarrollo de teléfonos móviles, como administración de registros, administración de archivos de configuración, módulo de descarga de Android, detección de conmutación de red y otras herramientas. ThinkAndroid tiene principalmente los siguientes módulos:
Módulo MVC: realiza la separación de vista y modelo
Módulo ioc: el módulo ioc en Android puede realizar enlace de UI y leer recursos en res. de manera completamente anotada e inicialización de objetos.
Módulo de base de datos: el marco ORM en Android utiliza un grupo de subprocesos para operar SQLite.
Módulo: encapsula solicitudes de datos a través del cliente, admite asíncrono. y carga de forma sincrónica.
Módulo de caché: el almacenamiento en caché se puede implementar bien mediante una configuración y un diseño simples, y el caché se puede configurar a voluntad.
Módulo de almacenamiento en caché de imágenes: no es necesario. cuando imageview carga imágenes, considere la desalineación de la imagen que ocurre cuando los contenedores de oom y Android se deslizan rápidamente durante el proceso de carga de imágenes.
Módulo configurador: puede realizar operaciones de configuración de emparejamiento simples. Preferencias y propiedades Acceda a la configuración.
Módulo de impresión de registros: puede realizar la impresión de registros de forma rápida y sencilla, admite la expansión de la impresión de registros, actualmente admite la escritura en la tarjeta SD para la impresión local y la impresión en la consola.
Módulo de descarga: puede implementar fácilmente descargas multiproceso, descargas en segundo plano, reanudar descargas y controlar descargas, como iniciar, pausar, eliminar, etc.
Módulo de detección de estado de red: cuando el estado de la red cambia, se detecta el estado de la red.
¿Qué significa el marco de código abierto PHP?
Código abierto significa código fuente abierto, lo que significa que es gratuito ~
No diré más sobre el marco. Chuan Lou lo dijo muy claramente.
De Por supuesto, el marco usa esto El lenguaje está escrito, el marco java está escrito en java, el marco c# está escrito en c#
El marco php también debe estar escrito en php
Puede ¿Alguien me explica? ¿Qué significa descargar el SDK de Android y el marco de código abierto? 30 puntos
Simplemente descárgalo de Baidu, necesitas ser más práctico
¿Cuál es la diferencia? entre el marco front-end y el marco de código abierto PHP que se escucha con frecuencia?
El marco de código abierto PHP está desarrollado para scripts de servidor, como CakePHP, CodeIgniter, etc. Los marcos de front-end se centran en las operaciones de front-end del navegador, como jQuery, extJS, etc. En el diseño general del sistema, habrá una conexión entre los dos. Espero que ayude, ¡gracias!
Cuales son los excelentes frameworks de desarrollo de aplicaciones web de código abierto
jquery, Extjs, prototipo, kissy, bootstrap, jQuery UI, easyui, flex, yui, Dojo, etc. Hay marcos que se centran en js y marcos que se centran en css.
¿Cuáles son las ventajas y desventajas de los marcos de rastreo de código abierto?
No importa qué tipo de marco de rastreo de código abierto sean, todos tienen la misma desventaja importante: su gran funcionalidad. limitaciones. Escribo rastreadores C. Me gustaría recomendarles el software de rastreo universal que escribí yo mismo.
La herramienta de rastreo ForeSpider que escribí tiene un rango de recopilación completo, precisión de datos precisa, excelente rendimiento de rastreo, operación visual simple y recopilación automatizada inteligente, lo que permite a las empresas recopilar datos con muy poco esfuerzo y reducir los costos laborales. obtener rápidamente datos estructurados o no estructurados de Internet.
El software puede recopilar casi todos los datos públicos en Internet a través del proceso de operación visual, puede completar la creación, el filtrado, la recopilación y el almacenamiento de tablas en un solo paso. Admite operaciones de expresiones regulares y tiene un potente sistema de lenguaje de programación orientado a objetos.
La capacidad de recolección de una sola máquina puede alcanzar entre 40 y 80 millones, y la capacidad de recolección diaria supera los 5 millones. La capacidad de recolección de una sola máquina del servidor puede alcanzar de 800 millones a 1,6 mil millones, y la capacidad de recolección diaria supera los 20 millones. En condiciones paralelas, puede admitir más de 10 mil millones de enlaces de datos, lo que es comparable a sistemas de motores de búsqueda como Baidu.
Con carácter general las características son:
(1) Colección integral. Básicamente, simplemente ingrese el enlace URL y siga los pasos. Hay situaciones especiales que requieren un procesamiento especial para su recopilación y también se admiten scripts de configuración.
(2) Humanidad. Admite ajuste dinámico, recopilación programada automática y actualización de plantillas en línea.
(3) Alta eficiencia operativa. Todas las operaciones del rastreador ForeSpider son visuales y las cosas que desea recopilar se pueden obtener una vista previa directamente en el software del rastreador. Esto me permite eliminar directamente los datos no válidos antes de recopilarlos, y el costo de aprendizaje es muy bajo.
(4) Alta precisión. La extracción de datos también se puede realizar visualmente y también admite expresiones regulares y configuración de scripts para lograr una recopilación más precisa.
(5) Potente función. Admite reconocimiento de códigos de verificación, búsqueda de palabras clave, recopilación de inicios de sesión y protocolo HTTPS. ¡No más preocupaciones por las restricciones de inicio de sesión y códigos de verificación! !
(6) Potente rendimiento de recolección: la capacidad de recolección de una sola máquina puede alcanzar entre 40 y 80 millones, y la capacidad de recolección diaria supera los 5 millones. La capacidad de recolección de una sola máquina del servidor puede alcanzar de 800 millones a 1,6 mil millones, y la capacidad de recolección diaria supera los 20 millones. En condiciones paralelas, puede admitir más de 10 mil millones de enlaces de datos, lo que es comparable a sistemas de motores de búsqueda como Baidu.