He estado programando durante algunos meses y una palabra de uso frecuente es "contexto" en las clases. Como ServletContext
(Java), Activity
(Android), Service
(Java, Android), NSManagedContext
(Objective-C, iOS).
Al mirar en los diccionarios, veo que la palabra significa: situación, entorno, circunstancias, etc. Sin embargo, debido a que no soy un hablante nativo de inglés, no entiendo a qué debo traducirlo directamente. Por ejemplo, si tuviera que escribir una clase que SomeClassContext
tuviera nombre o un método que tuviera un parámetro de contexto, no entendería cuándo debería nombrarlo porque no lo entiendo.
He estado buscando contexto en Stack Overflow, pero ninguna pregunta / respuesta me pudo ayudar.
Estaría muy feliz si alguien me pudiera dar la explicación.
fuente
Respuestas:
Digamos que va al dentista para que le extraigan un diente.
Cuando la recepcionista le pregunta su nombre, esa es la información que necesitan para comenzar la cita. En este ejemplo, su nombre es información contextual . Por lo tanto, en el contexto de visitar al dentista, debe proporcionar su nombre para que le extraigan el diente.
Ahora digamos que caminas hacia el banco.
En el banco, solicita retirar $ 100. El cajero debe establecer su identidad antes de darle dinero, por lo que probablemente tendrá que mostrarle una licencia de conducir o deslizar su tarjeta de cajero automático e ingresar su número PIN. De cualquier manera, lo que estás proporcionando es contexto . El cajero utiliza esta información para mover la transacción hacia adelante. Luego pueden preguntarle de qué cuenta desea retirar. Cuando responde "Mi cuenta de ahorros" , eso es aún más contexto .
Cuanto más contexto brinde, más conocimiento tendrá la otra parte para ayudarlo a atender su solicitud. A veces, el contexto es opcional (como escribir más y más palabras en su búsqueda de Google para obtener mejores resultados) y, a veces, es obligatorio (como proporcionar su número PIN en el cajero automático). De cualquier manera, es información que generalmente ayuda a hacer las cosas.
Ahora supongamos que toma sus $ 100 y compra un boleto de avión para volar a un lugar cálido mientras su boca se cura.
Llegas a un destino agradable y soleado, pero tu bolso no llega. Se perdió en algún lugar del sistema aeroportuario. Por lo tanto, lleva su "boleto de reclamo de equipaje" (esa etiqueta con el código de barras) a la "oficina de equipaje perdido". Lo primero que pedirá la persona detrás del escritorio es ese boleto con su número de equipaje. Ese es un ejemplo de algún contexto requerido .
Pero luego, la persona encargada del equipaje le pide más información acerca de su bolso para que pueda encontrarlo más fácilmente. Preguntan: " ¿ De qué color es? ¿De qué tamaño es? ¿Tiene ruedas? ¿Es duro o blando? Si bien no necesitan necesariamente esos datos, ayuda a reducir las cosas si los proporciona. Reduce la área problemática. Hace que la búsqueda sea mucho más rápida. Ese es un contexto opcional .
Aquí está la parte interesante: para una gran cantidad de software y API, el contexto requerido generalmente termina como parámetros reales en la firma de un método, y el contexto opcional va a otro lugar, como un mapa flexible de valores clave que puede contener cualquier cosa (y puede estar vacío ) o en el almacenamiento local de subprocesos donde se puede acceder si es necesario.
Los ejemplos anteriores son de la vida real, pero puede asignarlos fácilmente a áreas dentro de la informática. Por ejemplo, los encabezados HTTP contienen información contextual. Cada encabezado se relaciona con información sobre la solicitud que se realiza. O cuando envía un ID de transacción global como parte de un proceso de confirmación de dos fases , ese ID de transacción es el contexto. Ayuda al administrador de transacciones a coordinar el trabajo porque es información sobre la tarea general en cuestión.
Espero que ayude.
fuente
El contexto puede verse como un cubo para pasar información. Por lo general, se usa para pasar cosas que no están necesariamente vinculadas directamente a una llamada a un método, pero aún podrían ser pertinentes. Una forma laica de describirlo podría ser "cosas que pueden interesarle".
Por ejemplo, si estuviera escribiendo un servicio para actualizar un valor en una base de datos, probablemente pasaría la identificación del registro y el nuevo valor.
Si desea interfaces genéricas, también puede definir un contexto para pasar, de modo que el servicio pueda realizar una lógica comercial arbitraria. Por lo tanto, puede incluir una autenticación de usuario, el estado de sesión del usuario, etc. en el contexto, ya que el servicio puede realizar una lógica adicional que depende de estos valores.
fuente
Esto es 2015, mayo años después de que comenzara este hilo.
No obstante, estoy publicando este mensaje para ayudar a cualquier persona como yo que tenga dificultades para entender el "contexto"
De ninguna manera afirmo haber usado Context en programas Java, por lo que depende de usted escribir Context en codificación rígida. Así que aquí va:
P.ej
Así es como se ve la solicitud ahora:
Así es como se
filled_form_num_23321
ve:En esta transacción
filled_form_num_23321
es el "contexto".Espero que esto ayude a aclarar el concepto de "Contexto".
fuente
Siempre pienso en el contexto como un estado particular relevante para el objeto o construcción con el que estoy trabajando.
Por ejemplo, cuando está usando drawRect en una vista (donde todo el dibujo se debe hacer para una vista) siempre debe obtener el CurrentGraphicsContext en el que emitirá sus declaraciones gráficas principales. Este contexto contiene cosas como los límites de la vista, el color del trazo, el grosor del trazo para dibujar una línea, el color de relleno para rellenar una ruta cerrada, etc. Este contexto (como la mayoría de los demás) es solo el estado actual en este momento. Piense en el contexto gráfico en este caso como un conjunto de estados como
el grosor del trazo es de 1.5 píxeles, el color de relleno es el límite de visión negro es (155, 200) el color del trazo es rojo
Básicamente es el estado en el momento actual ...
fuente
Para dar un ejemplo práctico. Supongamos que tiene una determinada página web para buscar / procesar cierta información basada en el usuario (que ha iniciado sesión) y el idioma del navegador. La lógica de buscar la información es independiente del usuario y el idioma. Su página recibirá un usuario y un idioma ... por la lógica, no importa si soy yo o usted o inglés o español.
Algunos pseudocódigo:
No es tan difícil, pero lleva algún tiempo entender el concepto
fuente
El contexto se refiere al contexto de ejecución , que son los símbolos accesibles desde un punto dado en el código, y el valor de esos símbolos en esa ejecución particular.
El contexto es un concepto importante porque:
No tiene que escribir clases de contexto ni pasar parámetros de contexto . Cualquier parámetro pasado a una función / método se convierte en parte del contexto de ejecución cuando se invoca.
Aunque no es un hablante de inglés, le recomiendo que lea una copia de Code Complete para una introducción suave pero exhaustiva de conceptos como contexto , modularidad , acoplamiento , cohesión , etc.
fuente
El contexto en su caso es el entorno donde se ejecuta su aplicación.
Proporciona información / servicios / habilidades que su aplicación necesitará para funcionar correctamente.
HTH
fuente
Con demasiada frecuencia, el autor supone que el lector tiene una comprensión detallada del contexto en el que se usa la palabra "contexto".
Cómo definir el contexto en la siguiente oración "El tiempo de ejecución crea un contexto en el que se pueden almacenar los posibles valores para inyección. Este contexto se puede modificar, por ejemplo, la aplicación y el marco pueden agregar elementos al contexto.
Parece que el autor está usando el contexto para referirse a algún tipo de contenedor, quizás un montón, que contiene el contexto de algo. Se ha convertido en palabra de moda que está adquiriendo muchos significados y cosas confusas. ¿Son los elementos el contexto y se almacenan en un contexto? Para reducir la confusión del contexto de que la palabra contexto se está utilizando, se podría decir que "el tiempo de ejecución crea un contenedor para almacenar el contexto en forma de elementos". Mejor aún, "el tiempo de ejecución crea un contenedor para almacenar el estado en forma de elementos y este contenedor con su estado se llama CONTEXTO".
fuente
3 años después, así que tal vez un poco tarde, pero tal vez este hilo te ayudaría. Ilustra que la palabra "contexto" tiene un significado técnico en la programación (no solo un significado simple en inglés).
¿Qué lenguajes de programación están libres de contexto?
No estoy seguro de si puede usarlo como ejemplo y extraer información de él o no. A mí también me encantaría escuchar una explicación agnóstica del lenguaje del término de programación técnica "contexto"
Editar: O al menos muestra que el término "contexto" se puede aplicar en un contexto técnico y de programación (sin intención). Posiblemente en más de una aplicación concreta del término.
fuente