.Net Flashcards

(70 cards)

1
Q

Que es .NET?

A

Framework de Microsoft que hace un énfasis en la transparencia de redes, con independencia de plataforma de hardware y que permite un rápido desarrollo de aplicaciones (Similar a java)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Estandar de .NET. Nombre y características. Partes pricipales:

A
  • Microsoft decide liberar el producto.
  • Creando el ECMA 335 o CLI (Common Language Infraestructure) (CLI NO es el CIL(bytecode))
    –> que luego pasaría a ser ISO 23271
  1. Es el conjunto de reglas (Especificación) que describe código ejecutable y un entorno de ejecución que permite utilizar múltiples lenguajes de alto nivel en diferentes plataformas informáticas sin tener que reescribirlos para arquitecturas específicas:
  2. Partes:
    - VES
    - CLS (estructuras del propio lenguaje -> ej; estructuras de Programación)
    - CTS (tipos de datos)
    - CIL
    - (hay más)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Estandar de C#?

A

ECMA 334

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Que es .NET Framework*. Comparación del Mundo .NET a Mundo java?

A
  1. Producto propietario de Microsoft
    - Plataforma de herramientas, librerias…
  • Se parece:
    –> CLR (Common Language Runtime) es una parte del CLI -> Una implementación del Sistema de Ejecución Virtual (VES -> especificación de la MV de .NET) –> Equivalente a la JRE de Java (mas especialmente a la JVM)
    –> Hay lenguajes que se van a compilar
    –> Tambien hay un Bytecode intermedio -> LLamado CIL (En formato .dll o .exe) que entiende ese CLR (Antes se llamaba MSIL)
    –> los empaquetados como .Jar -> se llaman Assembly .
    –> a partir de la 3.5 existe un equivalente a la JPA -> el Entity Framework
    –> Hay algo parecido a la variable classpath -> GAC(Global Assembly Cache) -> Ruta global con ensamblados registrados
  • NO se parece:
    –> Hay varios lenguajes (ahora en java tmb hay más)

(* esta mal usada, seria mejor que usen plataform)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Como se llama al bytecode en el mundo .net? Formato

A

-> CIL (En formato .dll o .exe) que entiende ese CLR (Antes se llamaba MSIL)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qué es un GAC en el mundo .net?

A

Repositorio Global de Ensamblados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

En que ruta esta el GAC? y con que se usa?

A
  • Antes: %windir%\assembly (a partir de la 4.0)
  • Ahora: %windir%\Microsoft.NET\assembly
  1. Con “gacutil”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Que es un assembly en mundo .net? donde se puede ver su contenido?

A

Empaquetado físico de código .Net/CIL (equivalente al Jar/module de java)
(con extensión .dll y .exe -> dentro no hay codigo nativo)
2. Se puede ver el contenido con ildasm.exe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Versiones de .NET Framework? Que es el CLR? Como son las versiones de .net Framework y CLR? en que consistían las actualizaciónes del FW que no se reflejaban en el CLR?

A
  1. hasta la 4.8.1
  2. CLR -> motor de ejecución de .NET
    (Common Language Runtime)
  3. NO se corresponden con las del FW (el número)
    - version(FW) 1.0 –> 1.0 (CLR)
    - version(FW) 1.1 –> 1.1 (CLR)
    - version(FW) 2.0, 3.0 y 3.5 –> 2.0 (CLR)
    - version(FW) 4.0 hasta la 4.8.1 –> 4.0 (CLR)
  4. Principalmente en aumentar las clases del BCL
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que es el Base Class Library (BCL)? Que otro nombre tiene?

A
  • Es como la API de java. Son las clases que vienen con .NET
  • Esta por encima del CLR
    2. Framework Base Library
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Componentes de la CLR de .NET

A
  • Base Class library support
  • Thread support
  • Type checker
  • Security Engine
  • Con Marshailler
  • Exception Manager
  • Debug Engine
  • Jit Compiler
  • Code Manager
  • Garbage collector
  • CLR Loader
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Que lenguajes soporta .NET? Características para ser .Net compatible?

A
  1. Lenguajes:
    - C# (C# compiler)
    - F#
    - vb.NET (vb.NET)
    - …
    - Cualquier .NET lenguage (Otros compiladores)
  2. Tiene que cumplir con las reglas CLS (Common Language Specification) y CLT (Common Type System), para poder construir un compilador a codigo intermedio (CIL):
    - Clases (Reference Type)
    - Estructuras (Value Type)
    - Enumeraciones (Value Type)
    - Interfaces (Reference Type)
    - Delegados (Reference Type)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Alternativas al .NET Framework?

A
  • mono (opensource y gratuito) (no cubría el 100%)
  • portable.NET (Parte de GNU)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Historia de .NET

A
  1. Microsoft tiene como producto propietario el .NET Framework (Solo para windows)
  2. aparece MONO -> opensource y multiplataforma
  3. a raiz de esto Microsoft crea .NET CORE (igual que mono, tampoco tenía todas las funcionalidades) Mientras seguía el desarrollo de .NET FW
  4. Microsoft une sus productos en un único Producto –> .NET
  5. para evitar que las clases del BLC difieran entre implementaciones crean –> .NET STANDAR
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Que es MONO?

A
  • primera version opensource y multiplataforma que buscaba adaptar el .NET Framework
  • Limitado en funciones
  • Sigue en desarrollo?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Que es .NET CORE? CoreCLR. que es CoreFX? Concepto de dotnet:

A
  1. Versión Multiplataforma que crea cuando se libera el estandar
  2. CoreCLR -> Nueva implementación del CLR
  3. CoreFX -> Como se llama al BCL
  4. dotnet -> CLI para desarrolladores
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Como se crea un proyecto de .net Core por línea de comando?

A

c:> dot net new <plantilla> (similar a los archetipes de maven)</plantilla>

ej. de plantilla -> console, webapp…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Que es la plataforma .NET, Última versión?

A
  1. Convergencia de los productos de .NET Framework y .NET CORE
    - Desde .NET 5
    - Multiplataforma
    - Completo
    - Siguen incorporando el Core CLR y CoreFX
  2. Última versión -> 10.0.0 estable (10.0.2 -> específica)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Que es el .NET STANDAR. Última versión?

A
  1. Especificación formal de las API de .NET
    - Basicamente es un estandar para que todas las implementaciones tengan una misma forma de hacer las BCL (ahora .NET Standar BCL)
    - primera versión -> .NET STANDAR 2.0
  2. Ultima versión -> 2.1
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Que es .NET MAUI? que es samarin?

A
  1. crear aplicaciones móviles escritos con c# y XAML (Extensible Application Markup lenguage)
    –> Android y iOS
  2. Samarin -> hereda de mono. principalmente para moviles (son ideas .NET )
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Que estructuras de programación tenemos en VB.NET?

A
  • Clases (Class)(igual que en java)
  • Estructuras (Estructure)
  • Módulos (module)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Que características tienen las Estructuras(Estructure) de VB.NET?

A
  • No sepermite herencia, si implementan Interfaces (Implements)
  • No se pueden inicializar campos
  • Por defecto todos sus miembros son públicos
  • Se pasan siempre por valor (de forma natural)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Diferencia entre value types y reference types?

A

Value types -> pasas el contenido
Value Reference -> pasas la referencia de memoria
-> cuando pasas valores por referencia, tarda lo mismo tenga 1 “atributo” que 20, por que pasas la referencia, en caso de pasar las cosas por valor tiene que hacer ese paso “20 veces”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

tipos de datos por Valor en VB.NET?

A
  • todos los datos numericos
  • Booleanos
  • Caracteres
  • Fechas
  • Todas las estructuras (incluso si sus “miembros” son por referencia)
  • Enumeraciones (numéricas?)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
tipos de dato por Referencia en VB.NET?
- String - All arrays(incluso si sus "miembros" son por valor) - Clases - Delegates (objetos que hacen referencia a métodos)
26
Que son los módulos (module) en VB.NET?
- "saco" de funciones - Es similar a una clase con todos sus miembros "shared" o estáticos - Cada módulo tiene exactamente una instancia y no es necesario crearla o asignarla a una variable - Los módulos NO admiten ni herencia NI implementan interfaces
27
Como se llaman en VB.NET al equivalente al metodo que devuelven Void de java? y como se llaman a los que si devuelven?
1. Sub (Subrutina) -> (Procedimiento) 2. Function (Devuelven un valor)
28
Concepto de Property en VB.NET? Como se declaran?
Nos ofrece una forma de tratar con los atributos (campos) de forma directa (Sin setters) se podrían declarar ReadOnly o WriteOnly
29
Attribute en VB
- Añaden metainformación a tu programa - un atributo en VB es un CAMPO (anotaciones en java)
30
Como se organiza el codigo en VB? y como se pueden usar elementos en otro lado?
1. El código se organiza en namespaces(Similar al concepto de package(paquetes)) 2. La sentencia para usar elementos de otros namespaces es import
31
Que es el Delegate en VB?
- Similar al concepto de puntero a un Método, se puede cambiar dinámicamente (en el ejemplo que hace utiliza el delegate con 2 parametros de entrada, con el puede usarlo para pasar valores a metodos con 2 parametros de entrada, si el método tuviera un numero diferente de parametros no serviría)
32
Como es el constructor en VB? y el destructor?
1. New (NO es como en java que coincide con el nombre de la clase) 2. Finalice
33
Tiene VB sentencias de control de Errores? Tiene algo parecido al trycatchwithresources? Como se deberían usar estos últimos?
1. Sí: try, catch y finally 2. Sí, la sentencia USING (para definir un bloque en el que se liberen automáticamente recusos) 3. para que el using funcione debemos tener implementado iDisponsable
34
Cuales son los Modificadores de Acceso en VB?
- Public - Protected - Private
35
Como se llama la herramienta de gestión de dependencias/ paquetería de .NET? Como se puede usar?
1.nuget (se pueden añadir en dotnet.csproj) 2. uso: - "dotnetNuget" - Comando ditecto 'nuget'
36
Como se llama la herramienta de automatización de la construcción de .NET?
MSBuild (Equivalente a los plugins de maven --> tareas de compilación, empaquetado...)
37
Que es la herramienta dotnet?
- Herramienta de linea de comando - Que permite generar el proyecto, añadir dependencias, compilar y ejecutar
38
Inherit
herencia
39
MustInherit/Notinheritable
debe heredar/ NO hereda (como el Final)
40
Overridable/NotOverridable
se puede sobreescribir/ NO se puede sobreescribir (como el Final)
41
Partial
podemos ir desarrollando una clase en distintos ficheros
42
Me
para referenciar la instancia actual (similar al this de java)
43
MyBase
Para referenciar a la clase base de la que estamos heredando (Similar al super de java)
44
shared
equivalente al static en java (Compartidos entre todos los objetos de la clase)
45
Como se implementa un interface en C#? también sirve para herencia?
1. Con '' : '' (Equivale al implements de Java) 2. Sí
46
Como se implementan miembros de clase en C#?
con static (igual que en java)
47
Como indicamos en C# que no podemos heredar de una clase (ni sobreescribirla)?
con sealed (equivale al Final en java)
48
clases abstract en C#?
- No pueden ser instanciadas - No pueden llevar un sealed (son contrarios) (eran para no codificarlo ahí?)
49
Como indicamos que una clase se puede sobreescribir en C#?
- En el padre usando virtual (por defecto no se puede sobreescribir) (diferencia con las abstracts) - En el hijo con la palabra reservada Override --> Obligatoria (En java no era obligatoria y era una @anotación)
50
Diferencia entre abstract y virtual?
Virtual sirve para definir en el padre un método con código que sea sobreescribible por los hijos y Abstract, para lo mismo pero sin que en el padre haya código (sólo para la declaración del método)
51
Que es ADO.NET? modos de funcionamiento?
Es el API de persistencia de Bajo Nivel de BBDD (Equivalente a JDBC de Java) 2. Dos modos de funcionamiento: - Online - Desconectado (dataset)
52
Que objetos debes conocer de ADO.NET? (esto es de la forma online)
- Connectión - Comand - DataReader
53
Que es el SqlDataReader de ADO.NET? En que namespace esta?
1. Permite recorrer una serie de resultados/filas de una query YA ejecutada (sqlcomand) (Funciona como una especie de cursor) (Equivalente a la interface ResulSet de java) 2. System.Data.SqlCli
54
Y los DataSet? que objetos tiene internamente?
- Es un trozo de la BD que te traes de golpe y no vuelves a ir a la BD (Conjunto desconectado de Datos) - Van de la mano de DataAdapter (Rellena el DataSet) - Puede tener datos de 1 o varias tablas 2. Tiene: - DataTable - DataRelation
55
Que es el Entity Framework? Concepto de ORM
- Es el API de persistencia de Alto Nivel de BBDD - Simplificar el acceso a bases de datos relacionales al permitir a los desarrolladores trabajar con datos mediante objetos y clases - es un ORM (Mapeo Objeto-Relacional) (trabajar con el mundo de los objetos e independizarte del mundo SQL)
56
Cómo funciona el Entity Framework?
- Tiene que declarar una clase dbcontext (del que heredas) - Luego le tienes que decir que dentro de la BD hay: (en este ejemplo) --> Cursos --> estudiantes --> Direcciones --> Profesores .... - el automáticamente (como JPA) te permite recuperar ej. un estudiante... (sin conocer lo que esta generado por debajo(ni insert, ni update, ni delete, ni los select)) - ol objeto DbContext mantiene el estatus de los objetos que tu le digas y lo que le digas a esas entidades (mediante un attach)
57
Que es LINQ?
(Language Integrated Query) - Para hacer consultas independientes de la fuente (Ej. puedes hacer la misma consulta si son objetos en memoria, si estoy tirando de una BD relacional, como si es un xml...) - Se puede hacer porque hay una capa intermedia (bridge) para cada uno de esos formatos
58
Que tipos de aplicaciones web Tenemos?
(Aplicaciones de usuarios finales - pantallitas XD) las que se basan en: - Web Forms - MVC
59
Que son los Web Forms? Concepto de Master Page. Cuál es la forma actual de hacerlas? que partes tiene la "Página"?
- Modelo de aplicación en el cual el flujo comienza por páginas -> .aspx - Todas las páginas heredan de System.Web.UI.Page - Para c# como para VB (Equivalente a JSF de java) 2. Donde defines lo común a cada pág. - Con ASP.NET Razor exitendes esas funcionalidades 3. - Una parte de html + etiquetas de servidor -> esto es lo que tiene un aspx - la otra tiene el código (Code-Behind) reponde a ciertos eventos del usuario 4??
60
Ciclo de vida de System.Web.UI.Page?
- Page request - Start - Page Initialization - Load - Validation - Postback event Handling - Rendering - Unload
61
Que es el modelo MVC? como se configura? para que se usa razor aquí
(Modelo vista-controlador) - Más dificil de programar, más flexible, mejor mantenimiento - El flujo siempre comienza por un controlador que es el que coordina tanto la lógica como la invocación a la vista 2. Cada controlador tiene una URL asociada que se configura en el RouteConfig 3. Razor permite implementar las vistas como si fueran plantillas
62
Que es un Servicio Web
- Funcionalidad que publicas para que la usen 3° (Otras aplicacciones -> Integración de Aplicaciones) - Son las llamadas API's - hay un Intercambio de datos entre ellas
63
Formas de hacer un servicio web SOAP en .NET?
- ASMX - WCF
64
Características de ASMX .Como se hacían?
- Había que crear una clase que heredara de system.web.services.webservices - Codificar un método (con la anotación [WebMethod])
65
Que características extra tenía WCF?
(Windows Comunication Foundation) Podía implementar algunas funcionalidades extra como: - WS-Security
66
Servicios Web REST en .NET?
ASP.NET Web API - Basados en puro http y json - en este hay que heredar de ApiController - los metodos se tienen que llamar como los verbos http
67
Que es el Core-Behind en ASP.Net? eventos? Cuál es el objetivo de separarse del html?
1. Fichero/clase correspondiente a una determinada 'pagina'.aspx con el objetico de poder codificar la respuesta ante ciertos eventos (Separar la lógica del servidor del marcado html) - ciclos de vida de la pág. (load, start) - De componentes de la página (ej. click del buttom 1) cuando el usuario interactua 2. conseguir 2 ficheros separados ??? - ListadoProductos.aspx (html) (se procesa en servidor) - listadoProductos.cs (Clase con código de respuesta a los eventos que tu quieras)
68
Como se llama el entorno de ejecución web? funciona solo para eso? se le tiene que añadir algo al entorno para .NET? hay algo parecido en linux?
1. En entorno windows IIS (Internet Information Server) 2. más funciones: - alojar paginas estáticas - Como FTP (equivalente a apache, serv app jafa y srvidor FTP 3. el runtime asp.net (construido sobre el CLR) 4. Kestrel(multiplpataforma) + asp.net runtime (valdría para windows)
69
Como es el modelo de seguridad basado en roles en .NET? Cuales son los mecanismos de autenticación?
1. Modelo de seguridad: 1. Autenticación: - cuando el host autentica al usuario --> Crea una entidad de seguridad ----> que es un objeto Principal -------> Encapsula a un objeto identity (Contiene info del usuario) y los roles/grupos asociados a este 2. Autorización. 2. Mecanismos de autenticación: - Basic Auth - Por formulario - Integrada en Windows - OAuth2
70
Espacio de nombre System.Security.Cryptography
???