FernandoCalmet /
csharp-essential
🦄 Este repositorio contiene el aprendizaje esencial con el lenguaje de programación CSharp (C#). El propósito es tener un “roadmap” de aprendizaje sobre los conocimientos aplicados.
Loading repository data…
EnmanuelReynoso23 / repository
El propósito de esta actividad es evaluar las competencias de los estudiantes en el diseño, implementación y gestión de una base de datos utilizando PostgreSQL y el desarrollo de una aplicación CRUD (Crear, Leer, Actualizar, Eliminar) en C# con Windows Forms en .NET 8
Sistema de gestión de inventario desarrollado con Windows Forms (.NET 8) y PostgreSQL que permite realizar operaciones CRUD completas sobre productos comerciales.
Aplicación de escritorio que simula un sistema de punto de venta para gestión de inventario, implementando las mejores prácticas en diseño de bases de datos relacionales y desarrollo de interfaces gráficas en C#.
| Tecnología | Versión | Propósito |
|---|---|---|
| 16+ | Base de datos relacional | |
| .NET 8 | Lenguaje de programación principal | |
| .NET 8 | Framework de interfaz gráfica | |
| 8.0+ | Driver de conexión PostgreSQL | |
| 2022 | IDE de desarrollo |
| Software | Versión | Link de Descarga |
|---|---|---|
| 16+ | Descargar PostgreSQL | |
| 2022 | Descargar VS 2022 | |
| 8.0 | Descargar .NET 8 | |
| 4+ | Descargar pgAdmin |
<PackageReference Include="Npgsql" Version="8.0.0" />
inventario-- Tabla productos
CREATE TABLE inventario.productos (
id_producto SERIAL PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
precio NUMERIC(10,2) CHECK (precio > 0),
stock INTEGER DEFAULT 0,
fecha_registro DATE DEFAULT CURRENT_DATE
);
| Campo | Tipo | Restricciones | Descripción |
|---|---|---|---|
id_producto | SERIAL | PRIMARY KEY | Identificador único autoincrementable |
nombre | VARCHAR(100) | NOT NULL | Nombre del producto |
precio | NUMERIC(10,2) | CHECK (> 0) | Precio unitario |
stock | INTEGER | DEFAULT 0 | Cantidad disponible |
fecha_registro | DATE | DEFAULT TODAY | Fecha de registro automática |
# Crear base de datos
createdb inventario_db
# Ejecutar script de inicialización
psql -d inventario_db -f scripts/proyecto_crud_productos.sql
# Clonar repositorio
git clone https://github.com/tu-usuario/sistema-inventario-crud.git
# Restaurar paquetes NuGet
dotnet restore
# Configurar cadena de conexión en App.config
<connectionStrings>
<add name="PostgreSQLConnection"
connectionString="Host=localhost;Database=inventario_db;Username=tu_usuario;Password=tu_password" />
</connectionStrings>
La aplicación cuenta con:
SistemaInventarioCRUD/
├── src/
│ ├── Forms/
│ │ ├── MainForm.cs
│ │ └── MainForm.Designer.cs
│ ├── Data/
│ │ ├── DatabaseConnection.cs
│ │ └── ProductRepository.cs
│ ├── Models/
│ │ └── Product.cs
│ └── Utils/
│ └── Validator.cs
├── scripts/
│ └── proyecto_crud_productos.sql
├── docs/
│ └── informe_tecnico.md
└── README.md
-- Productos de ejemplo
INSERT INTO inventario.productos (nombre, precio, stock) VALUES
('Laptop Dell XPS 13', 1299.99, 15),
('Mouse Inalámbrico', 29.99, 50),
('Teclado Mecánico', 89.99, 25);
Selected from shared topics, language and repository description—not editorial ratings.
FernandoCalmet /
🦄 Este repositorio contiene el aprendizaje esencial con el lenguaje de programación CSharp (C#). El propósito es tener un “roadmap” de aprendizaje sobre los conocimientos aplicados.
JesusNoel69 /
Lenguaje de programacion de proposito general que simplifica el codigo a partir de una estructura de lenguage especifica, inspirado en el Data Annotation de C#
DevUsuiSama /
El propósito de este proyecto no es más que la de poner a prueba los códigos desarrollados en c++.
mbsanchez /
El Simulador MVT es una Herramienta que sirve como un simulador visual para la Máquina Virtual de Tiny [1] la cual está descrita por su autor Kenneth Louden en su libro de Construcción de Compiladores. Esta aplicación sirve de ayuda a los estudiantes de la materia Construcción de Compiladores, al permitirles visualizar, ejecutar y depurar el código escrito en el lenguanje de la Maquina Virtual de Tiny (TM). La aplicación realiza el resaltado de sintáxis de las instrucciones de la TM, permite poner puntos de interrupción en el código y visualizar la memoria de datos y es estado de los registros de la TM. Para el desarrollo de este programa se utilizaron las librerías C#Lex [2] y C#Cup [2] desarrolladas por Samuel Imsra, las cuales permitieron escribir el analizador léxico y sintáctico del programa respectivamente. Copyright (C) 2013 Manuel B. Sánchez Este programa es software libre: puede redistribuirlo y/o modificarlo bajo los términos de la Licencia General Pública de GNU publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia, o (a su elección) cualquier versión posterior. Este programa se distribuye con la esperanza de que sea útil pero SIN NINGUNA GARANTÍA; incluso sin la garantía implícita de MERCANTIBILIDAD o CALIFICADA PARA UN PROPÓSITO EN PARTICULAR. Vea la Licencia General Pública de GNU para más detalles. Usted ha debido de recibir una copia de la Licencia General Pública de GNU junto con este programa. Si no, vea <http://www.gnu.org/licenses/>. [1] Louden, K. C. (2004). Construcción de compiladores: Principios y práctica (3ra ed.). Thomson. [2] Imriska, I. (2005). C#lexcup. http://www.seclab.tuwien.ac.at/projects/cuplex/cup.htm
AbisaiMarquezMartinez20 /
Una partición de un disco duro es una división lógica en una unidad de almacenamiento (por ejemplo, un disco duro o unidad flash), en la cual se alojan y organizan los archivos mediante un sistema de archivos. Existen distintos esquemas de particiones para la distribución de particiones en un disco. Los más conocidos y difundidos son MBR (Master Boot Record) y GPT (GUID Partition Table). Para poder contener datos, las particiones tienen que poseer un sistema de archivos. El espacio no asignado en un disco no es una partición, por lo que no puede tener un sistema de archivos. Existen múltiples sistemas de archivos con diferentes capacidades como: FAT, NTFS, FAT32, EXT2, EXT3, EXT4, Btrfs, FedFS, ReiserFS, Reiser4 u otros. Los discos ópticos (DVD, CD) utilizan otro tipo de particiones llamada UDF (Universal Disc Format, "Formato de Disco Universal" por sus siglas en inglés), el cual permite agregar archivos y carpetas y es por ello que es usado por la mayoría de software de escritura por paquetes, conocidos como programas de grabación de unidades ópticas. Este sistema de archivos es obligatorio en las unidades de DVD pero también se admiten en algunos CD. En Windows, las particiones reconocidas son identificadas con una letra seguida por dos puntos (por ejemplo, C:), aunque también pueden ser montadas en directorios (por ejemplo C:\Users). Prácticamente todo tipo de discos magnéticos y memorias flash (como pendrives) pueden particionarse. En sistemas UNIX y UNIX-like, las particiones de datos son montadas en un mismo y único árbol jerárquico, en el cual se montan a través de una carpeta, proceso que solo el superusuario (root) puede realizar. Es común que en los sistemas basados o similares a UNIX generalmente se usan hasta con tres particiones: la principal, montada en el directorio raíz (/); una segunda que se usa para montar el directorio /home, el cual contiene las configuraciones de los usuarios; y finalmente, una tercera llamada swap, que se usa para la memoria virtual temporal. Sin embargo, dos particiones (/, y swap) es el mínimo suficiente en estos sistemas operativos. A las particiones de intercambio (swap) no se les asigna un directorio; este tipo de particiones se usa para guardar ciertas réplicas de la memoria RAM, para que de esta forma la RAM tenga más espacio para las tareas en primer plano, guardando las tareas en segundo plano dentro de la partición de intercambio. Algunos sistemas tipo UNIX están diseñados para funcionar con una sola partición, sin embargo, estos diseños no son muy comunes. Particiones dentro de un disco duro[editar] Para tener la posibilidad de múltiples particiones en un solo disco, se utilizan las particiones extendidas. Estas fueron creadas con el propósito de contener un número ilimitado de particiones lógicas en su interior. No es recomendado usar éstas para instalar sistemas operativos, sino que son más útiles para guardar documentos o ejecutables no indispensables para el sistema (como archivos de los usuarios, respaldo de los archivos en la partición principal, etc.) Es necesario tener en cuenta que solo las particiones primarias y lógicas pueden contener un sistema de archivos propio. Las particiones extendidas carecen de esta característica porque fueron hechas solo para contener otras particiones. Representación gráfica de un disco particionado. Cada recuadro blanco representa algún sistema de archivos. Los espacios en gris representan los espacios sin particionar del disco. Las particiones rodeadas por líneas moradas o violetas representan las particiones primarias. Las particiones rodeadas por bordes rojos representan la partición extendida, y en su interior se encuentran las particiones lógicas, rodeadas por los bordes de color verde. Tipos de particiones[editar] Particiones en un disco duro. Las primarias son hda-1 a hda-3, la extendida hda-4, la que más ocupa, estando las lógicas en esta última, comenzando por hda-5. Las lógicas se pueden redimensionar y crear nuevas de forma sencilla, siempre que haya espacio dentro de la extendida. El formato o sistema de archivos de las particiones (p. ej. NTFS) no debe ser confundido con el tipo de partición (p. ej. partición primaria), ya que en realidad no tienen directamente mucho que ver. Independientemente del sistema de archivos de una partición (FAT, ext3, NTFS, etc.), existen 3 tipos diferentes de particiones: Partición primaria: Son las divisiones crudas o primarias del disco, solo puede haber 4 de éstas o 3 primarias y una extendida. Depende de una tabla de particiones. Un disco físico completamente formateado consiste, en realidad, de una partición primaria que ocupa todo el espacio del disco y posee un sistema de archivos. A este tipo de particiones, prácticamente cualquier sistema operativo puede detectarlas y asignarles una unidad, siempre y cuando el sistema operativo reconozca su formato (sistema de archivos). Partición extendida: También conocida como partición secundaria es otro tipo de partición que actúa como una partición primaria; sirve para contener múltiples unidades lógicas en su interior. Fue ideada para romper la limitación de 4 particiones primarias en un solo disco físico. Solo puede existir una partición de este tipo por disco, y solo sirve para contener particiones lógicas. Por lo tanto, es el único tipo de partición que no soporta un sistema de archivos directamente. Partición lógica: Ocupa una porción de la partición extendida o la totalidad de la misma, la cual se ha formateado con un tipo específico de sistema de archivos (FAT32, NTFS, ext2,...) y se le ha asignado una unidad, así el sistema operativo reconoce las particiones lógicas o su sistema de archivos. Puede haber un máximo de 32 particiones lógicas en una partición extendida. Linux impone un máximo de 15, incluyendo las 4 primarias, en discos SCSI y en discos IDE 8963. Particiones primarias[editar] En los equipos PC, originales de IBM, estas particiones tradicionalmente usan una estructura llamada Tabla de particiones, ubicada al final del registro de arranque maestro (MBR, Master Boot Record). Esta tabla, que no puede contener más de 4 registros de particiones (también llamados partition descriptors), específica para cada una su principio, final y tamaño en los diferentes modos de direccionamiento, así también como un solo número, llamado partition type, y un marcador que indica si la partición está activa o no (solo puede haber una partición activa a la vez). El marcador se usa durante el arranque; después de que el BIOS cargue el registro de arranque maestro en la memoria y lo ejecute, el MBR de DOS comprueba la tabla de partición a su final y localiza la partición activa. Entonces carga el sector de arranque de esta partición en memoria y la ejecuta. A diferencia del registro de arranque maestro, generalmente independiente del sistema operativo, el sector de arranque está instalado junto con el sistema operativo y sabe cómo cargar el sistema ubicado en ese disco en particular. Nótese que mientras la presencia de un marcador activo se estandariza, no se utiliza en todos los gestores de arranque. Por ejemplo, los gestores LILO, GRUB (muy comunes en el sistema Linux) y XOSL no buscan en la tabla de particiones del MBR la partición activa; simplemente cargan una segunda etapa (que puede ser contenida en el resto del cilindro 0 o en el sistema de archivos). Después de cargar la segunda etapa se puede cargar el sector de arranque de cualquiera de las particiones del disco (permitiendo al usuario seleccionar la partición), o si el gestor conoce cómo localizar el kernel (núcleo) del sistema operativo en una de las particiones (puede permitir al usuario especificar opciones de kernel adicionales para propósitos de recuperación estratégicos. Particiones extendidas y lógicas[editar] Cualquier versión del DOS puede leer solo una partición FAT primaria en el disco duro. Esto unido al deterioro de la FAT con el uso y al aumento de tamaño de los discos movió a Microsoft a crear un esquema mejorado relativamente simple: una de las entradas de la tabla de partición principal pasó a llamarse partición extendida y recibió un número de tipo de partición especial (0x05). El campo inicio de partición tiene la ubicación del primer descriptor de la partición extendida, que a su vez tiene un campo similar con la ubicación de la siguiente; así se crea una lista enlazada de descriptores de partición. Los demás campos de una partición extendida son indefinidos, no tienen espacio asignado y no pueden usarse para almacenar datos. Las particiones iniciales de los elementos de la lista enlazada son las llamadas unidades lógicas; son espacios asignados y pueden almacenar datos. Los sistemas operativos antiguos ignoraban las particiones extendidas con número de tipo 0x05, y la compatibilidad se mantenía. Este esquema reemplaza al antiguo ya que todas las particiones de un disco duro se pueden poner dentro de una sola partición extendida. Por alguna razón, Microsoft no actualizó su sistema operativo DOS para arrancar desde una partición extendida, debido a que la necesidad para particiones primarias se preservaron. Por encima de éstas todavía se habría permitido una partición FAT primaria por unidad, significando todas las otras particiones FAT primarias deben tener sus números de tipo de partición prior cambiando al arranque DOS, para que ésta sea capaz de proceder. Esta técnica, usada por varios administradores de arranque populares, se llama ocultación de la partición. Sin embargo hay que tener en cuenta una quinta partición que se puede comprimir pero no es muy recomendable.
Hikari-Natsuki /
Tarea de la universidad con el propósito de conectar C# con mongoDB.