Ir al contenido principal

Integraciones innovadoras (parte 1: ¿qué son?)

El estilo de desarrollo de software basado en componentes de terceros propone algo así como integrar piezas que están mejor desarrolladas de lo que nosotros mismos podríamos lograr si las hiciéramos desde cero. Si en el inconsciente colectivo de los informáticos, el camino de referencia es codificar todo desde cero, este otro camino nos acerca a trabajos que han realizado otros, adquiriendo conocimiento a medida que indagamos sobre cada componente que consideremos. Es así que para aprender sobre el uso que debemos hacer de algún componente cualquiera, primero transitamos por aprender la finalidad con la cual este fue creado. Ahora, ¿se puede también agarrar un componente que exista, y usarlo de una manera que no estaba pensada? La pregunta anterior toca un concepto que incluso sin ser desarrolladores, los usuarios lo practican de forma inconsciente. Por ejemplo, hoy dia es muy común que las herramientas de edición de texto vengan con funciones de corrección ortográfica incorporada. aun así, se pueden enumerar tantos editores de texto que no cuentan con ayuda ortográfica entre sus funciones. mientras uno considere que lo que está escribiendo no tiene errores, uno se queda en su herramienta elegida aunque esta no tenga corrector ortográfico. apenas aparece una palabra sospechosa, hay que salir a buscar una solución. veamos esta manera de resolver la necesidad: uno copia la palabra en un programa que preste servicios de ortografía (puede ser un procesador de textos en la misma computadora o una aplicación remota accedida vía web), en donde la palabra se marca en rojo si está mal escrita, ante lo que uno ordenaría que se cambie la palabra por la que esté bien escrita, y se volvería a copiar la palabra pisando la otra en su lugar de origen, para continuar escribiendo normalmente. Sigamos viendo lo que ha pasado. Se optó por utilizar un editor con corrección ortográfica, pero sólo con la palabra que necesitaba recibir la corrección. Sobre el modo de empleo que se hizo al ingresar en él una única palabra, y sobre el servicio que se recibió al extraer de él la versión mejorada de la palabra, que estos dos hechos respondan o no al objetivo de su autor, no lo sabemos. Simplemente la herramienta fue integrada de esta manera y listo. Si la manera de usarla fuera nueva porque nunca antes se la había utilizado así, entonces estaremos hablando de una integración innovadora.

Comentarios

Entradas populares de este blog

Crear proyecto de frontend con Vite, React, Tailwind, Typescript y JSX

 ¿Cómo se crea un proyecto exclusivo de frontend con Vite, React, Tailwind, Typescript y JSX? ¡Absolutamente! Entiendo que quieres la guía completa para pasar de cero a tener un proyecto de frontend moderno, vacío y listo para ser llenado con tu código. A continuación, te proporciono un archivo de guía detallada que incluye todos los comandos necesarios para inicializar el proyecto, configurar Tailwind CSS, y los pasos clave para empezar a "poblarlo". Voy a generar un documento Markdown con la guía paso a paso, incluyendo los comandos de terminal y las modificaciones esenciales a los archivos de configuración. Guía: Creación de un Proyecto Frontend Puro (Vite, React, TypeScript, Tailwind) Este documento detalla el proceso para inicializar un proyecto de frontend vacío y optimizado, utilizando Vite como empaquetador, React como librería, TypeScript para tipado y Tailwind CSS para estilizado. 1. Inicialización del Proyecto con Vite Vite es la herramienta más rápida para emp...

Tokens V2

Tokens: Programme to discover tokens, where there are not. Now available at  https://puszcza.gnu.org.ua/projects/tokens/ This is Version 2, for  version 1, go here . Synopsis: use TokensV2; sub printFile; my @FORMAT = ( ['<Message Date=".*?" Time=".*?" DateTime=".*?" SessionID=".*?"><From>(?:<User FriendlyName=".*?"/>)+</From><To>(?:<User FriendlyName=".*?"/>)+</To><Text(?: Style=".*?")?>.*?</Text></Message>',   sub {     my $fh = $_[1];     my ($d, $t, $f, $s, $T) = $_[0] =~ m|<Message Date="(.*?)" Time="(.*?)" DateTime=".*?" SessionID=".*?">(<From>(?:<User FriendlyName=".*?"/>)+</From>)<To>(?:<User FriendlyName=".*?"/>)+</To><Text(?: Style="(.*?)")?>(.*?)</Text></Message>|;     my $F = join '<br />', ...

Perl Net::LDAP::SimpleServer

Adaptaciones sobre el módulo LDAP Server para Windows (Strawberry Perl) Lista de adaptaciones (continúa más abajo): - Relajación de condiciones de bind:     - Cuenta principal (principal account)     - Validación de contraseñas Ubicación del archivo: %Strawberry_Perl%\site\lib\net\ldap\SimpleServer\ProtocolHandler.pm CPAN: http://search.cpan.org/~russoz/Net-LDAP-SimpleServer-0.0.17/lib/Net/LDAP/SimpleServer.pm Código: package Net::LDAP::SimpleServer::ProtocolHandler; use strict; use warnings; # ABSTRACT: LDAP protocol handler used with Net::LDAP::SimpleServer our $VERSION = '0.0.17';    # VERSION use Net::LDAP::Server; use base 'Net::LDAP::Server'; use fields qw(store root_dn root_pw allow_anon); use Carp; use Net::LDAP::LDIF; use Net::LDAP::Util qw{canonical_dn}; use Net::LDAP::FilterMatch; use Net::LDAP::Constant (     qw/LDAP_SUCCESS LDAP_AUTH_UNKNOWN LDAP_INVALID_CREDENTIALS/,   ...