SlideShare una empresa de Scribd logo
Rust: manejo de
memoria y
colectores de basura
@Hiphoox
norberto@bunsan.io
Agenda
•Estrategias de manejo de memoria.
•Modelo de Rust.
•Conclusiones.
Estrategias de administración de
memoria
C, C++, Objective-C/Swift, Ruby, Python, Java, Rust
Estrategías
•Manual (malloc/free).
•Automática.
Manual
• Operaciones:
•Malloc/Free
Casos de uso:
•Embedded systems.
•Real time systems.
•Game engines.
Automática
Estrategias
•Reference Counting (Objective-C, Swift, Python)
•Tracing Garbage Collectors (Java, Ruby)
•Smart Pointers/RAII (Resource Acquisition Is Initialization; C++)
•Ownership (Rust)
Reference Counting
•Operaciones:
•release
•retain
•autorelease
•Contadores atómicos y no atómicos
•Casos de uso:
•Latencia
•Bajo consumo de memoria
Tracing Garbage Collectors
(invented by John McCarthy in 1958)
•Algoritmos:
•Mark &Sweep
•Tri-color
•Tipos de Colectores:
•Boehm–Demers–Weiser
•Generacionales
•Incrementales, concurrentes y stop-the-world
•Casos de uso
•Enterprise systems
Smart Pointers/RAII
C++ 11
•Operaciones:
•unique_ptr
•shared_ptr
•weak_ptr
Casos de uso:
•Embedded systems.
•Real time systems.
•Game engines.
Comparación
Elementos a evaluar
•Velocidad de ejecución
•Consumo de memoria
•Facilidad de uso
•Determinístico o no determinístico
•Runtime o compile time
•Latency
Comparación
Características
Manual
Reference
Counting
Garbage Collector
Smart pointer con
RAII
Velocidad de ejecución
Excelente con
optimización
Muy Buena
Muy buena con
algunas excepciones
Excelente
Consumo de memoria
Poca con
optimización
Poca Regular Poca
Facilidad de uso Complejo
Regular (Ciclos de
retención)
Fácil Regular
Determinístico/
predecible
Si/Si Si/Si Depende/No Si/Si
Runtime o compile-
time
NA
Compile con algo
manual
Runtime Compile
Manejo de recursos No No No Si
Latencia Constante Constante Variable Constante
Comparación
Lenguajes
Manual
Reference
Counting (ARC)
Garbage Collector Ownership
Smart pointer con
RAII
Swift/Objective-C X
Java X
Ruby X
Python X
Rust X ? X
C/C++ X X
Erlang/Elixir X X
Go X
Modelo de Rust
ownership
– Rust Team
“Rust wants safe (not vulnerabilities) memory
and resource management without garbage
collection”
Rust
características
•Tipado estático con inferencia de tipos.
•No clases. :-)
•Pattern matching.
•Funciones de grado superior.
•Modelo de concurrencia basado en canales.
•Inmutable.
Rust
características
•En Rust, como en otros lenguajes con colector de basura, no tienes que liberar de
forma explicita la memoria.
•En Rust, a diferencia de lenguajes con colectores de basura, no necesitas cerrar o
liberar recursos como archivos, sockets y locks.
•Rust logra estos dos puntos sin costos en tiempo de ejecución (colector de basura
o conteo de referencias), y sin sacrificar seguridad.
Rust
ownership
•El scope se hace dueño del recurso o memoria.
•Al terminar el scope el recurso o memoria se libera.
•Se puede transferir la propiedad de un recurso o memoria a otra función.
Rust
Ejemplo
fn main() {
let s1 = String::from("hello");
let len = calculate_length(s1);
println!("The length of '{}' is {}.", s1, len);
}
fn calculate_length(s: String) -> usize {
s.len()
}
¡Error!
Rust
ownership
•Se puede prestar el recurso a otro scope
Rust
Ejemplo
fn main() {
let s1 = String::from("hello");
let len = calculate_length(&s1);
println!("The length of '{}' is {}.", s1, len);
}
fn calculate_length(s: &String) -> usize {
s.len()
}
¡Si funciona!
Rust
Ventajas
•Este mecanismo funciona para:
•Automatic memory management
•Automatic resource management
Rust
Resumen
•En cualquier momento, puedes tener cualquiera de estas opciones pero no ambas:
•Una referencia mutable.
•Cualquier número de referencias no mutables.
•Las referencias siempre son validas.
Comparación
Tipos de manejo de memoria
Manual
Reference
Counting
Garbage
Collector
Ownership
Smart pointer /
RAII
Velocidad de
ejecución
Excelente con
optimización
Buena
Muy buena con
casos especiales
Excelente Excelente
Consumo de
memoria
Poca con
optimización
Poca Regular Poca Poca
Facilidad de uso Complejo
Regular (Ciclos de
retención)
Fácil Regular/Fácil Regular
Determinístico/
predecible
Si/Si Si/Si Depende/No Si/Si Si/Si
Runtime o
compile-time
NA
Compile con algo
manual
Runtime Compile Compile
Manejo de
recursos
No No No Si Si
Latencia Constante Constante Variable Constante Constante
Conclusiones
Conclusiones
• Siempre debes pensar en tu consumo de
memoria.
• Conoce que estrategia emplea tu lenguaje de
programación.
• Manejo automático de memoria no es igual a no
preocuparse por como tu programa la usa.
• GC son MUY rápidos.
• GC son muy buenos eliminando grupos de
objetos.
Conclusiones
• Rust es una alternativa viable para tener control
sobre el uso de memoria y el mecanismo para
administrarla.
• Rust es extremadamente rapido.
• Si tienes un problema donde C o C++ sea la
opción, evaluar mejor usar Rust :-)
• Rust es estable y en fase de creación de
bibliotecas :-)
¿Preguntas?
@hiphoox
norberto@bunsan.io

Más contenido relacionado

La actualidad más candente

Arreglo de punteros
Arreglo de punterosArreglo de punteros
Arreglo de punterospedreror1
 
Cuestionario procesos
Cuestionario procesos Cuestionario procesos
Cuestionario procesos
Gabriel Garcia
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
Luis Eraso
 
U3S1: Buses de Comunicación (aspectos generales)
U3S1: Buses de Comunicación (aspectos generales)U3S1: Buses de Comunicación (aspectos generales)
U3S1: Buses de Comunicación (aspectos generales)
ITST - DIV. IINF (YASSER MARÍN)
 
Funções em C
Funções em CFunções em C
Funções em C
Elaine Cecília Gatto
 
Criptografía y métodos de cifrado
Criptografía y métodos de cifradoCriptografía y métodos de cifrado
Criptografía y métodos de cifrado
Mario Rodriguez
 
Modulación por código de pulso
Modulación por código de pulsoModulación por código de pulso
Modulación por código de pulsoAnita López
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
Heder Ithamar Romero
 
Memoria sram
Memoria sramMemoria sram
Memoria sramvircecq
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx
Fernando Solis
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadorasm220
 
3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx
Ram Vazquez
 
Arquitectura x86_ Registros
Arquitectura x86_ RegistrosArquitectura x86_ Registros
Arquitectura x86_ Registros
Silvia Puma Arratia
 
memoria virtual
memoria virtualmemoria virtual
memoria virtual
andrea llerena
 
Debug PaulinaChacon
Debug PaulinaChaconDebug PaulinaChacon
Debug PaulinaChaconPau22
 
Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1
Luis Ferreira
 
18. memorias lifo y fifo
18. memorias lifo y fifo18. memorias lifo y fifo
18. memorias lifo y fifoKlaudita Toloza
 
Introducción a Quartus II v15.0 - (Quartus II 2015 Introduction)
Introducción a Quartus II v15.0 - (Quartus II 2015 Introduction)Introducción a Quartus II v15.0 - (Quartus II 2015 Introduction)
Introducción a Quartus II v15.0 - (Quartus II 2015 Introduction)
alvarezpedro
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
Microprocesador Dennis Marilyn
 

La actualidad más candente (20)

Arreglo de punteros
Arreglo de punterosArreglo de punteros
Arreglo de punteros
 
Cuestionario procesos
Cuestionario procesos Cuestionario procesos
Cuestionario procesos
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
 
U3S1: Buses de Comunicación (aspectos generales)
U3S1: Buses de Comunicación (aspectos generales)U3S1: Buses de Comunicación (aspectos generales)
U3S1: Buses de Comunicación (aspectos generales)
 
Funções em C
Funções em CFunções em C
Funções em C
 
Criptografía y métodos de cifrado
Criptografía y métodos de cifradoCriptografía y métodos de cifrado
Criptografía y métodos de cifrado
 
Modulación por código de pulso
Modulación por código de pulsoModulación por código de pulso
Modulación por código de pulso
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Memoria sram
Memoria sramMemoria sram
Memoria sram
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx
 
Arquitectura x86_ Registros
Arquitectura x86_ RegistrosArquitectura x86_ Registros
Arquitectura x86_ Registros
 
memoria virtual
memoria virtualmemoria virtual
memoria virtual
 
Debug PaulinaChacon
Debug PaulinaChaconDebug PaulinaChacon
Debug PaulinaChacon
 
Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1
 
18. memorias lifo y fifo
18. memorias lifo y fifo18. memorias lifo y fifo
18. memorias lifo y fifo
 
Introducción a Quartus II v15.0 - (Quartus II 2015 Introduction)
Introducción a Quartus II v15.0 - (Quartus II 2015 Introduction)Introducción a Quartus II v15.0 - (Quartus II 2015 Introduction)
Introducción a Quartus II v15.0 - (Quartus II 2015 Introduction)
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 

Similar a Rust: Una historia sobre manejo de memoria y Colectores de Basura

Codemotion 2021 - The Rustalorian: Este es el camino
Codemotion 2021 - The Rustalorian: Este es el caminoCodemotion 2021 - The Rustalorian: Este es el camino
Codemotion 2021 - The Rustalorian: Este es el camino
Francisco Javier Barrena
 
Lenguajes para programación cuántica
Lenguajes para programación cuánticaLenguajes para programación cuántica
Lenguajes para programación cuántica
Francisco J. Gálvez Ramírez
 
Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]
Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]
Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]
RootedCON
 
tutorial de c++
tutorial de c++tutorial de c++
tutorial de c++
Jesus22barrera
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
ValeriaBerrones
 
Git: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativoGit: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativo
Aprende Git
 
Front end workflows
Front end workflowsFront end workflows
Front end workflows
OpenWebinars.net
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUX
Jose Pla
 
Sistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidosSistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidos
Raul Fraile
 
Desarrollo desoftware
Desarrollo desoftwareDesarrollo desoftware
Desarrollo desoftware
CEDSA-Colegio Domingo Savio
 
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
RootedCON
 
Lenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual MachineLenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual Machine
Óscar Andrés López
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajes
Pedro Contreras Flores
 
Generalidades de manejo de logs
Generalidades de manejo de logsGeneralidades de manejo de logs
Generalidades de manejo de logs
Marvin Xuya
 
Dynamic jvm
Dynamic jvmDynamic jvm
Dynamic jvm
campus party
 
Linux for bioinformatics
Linux for bioinformaticsLinux for bioinformatics
Linux for bioinformatics
cursoNGS
 
Python
PythonPython
Sistemas operativos software
Sistemas operativos softwareSistemas operativos software
Sistemas operativos software
Johan Guerra
 
Estructura de datos c++
Estructura de datos c++Estructura de datos c++
Estructura de datos c++kikeMerck
 

Similar a Rust: Una historia sobre manejo de memoria y Colectores de Basura (20)

Codemotion 2021 - The Rustalorian: Este es el camino
Codemotion 2021 - The Rustalorian: Este es el caminoCodemotion 2021 - The Rustalorian: Este es el camino
Codemotion 2021 - The Rustalorian: Este es el camino
 
Lenguajes para programación cuántica
Lenguajes para programación cuánticaLenguajes para programación cuántica
Lenguajes para programación cuántica
 
Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]
Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]
Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]
 
tutorial de c++
tutorial de c++tutorial de c++
tutorial de c++
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
 
Git: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativoGit: flujos de trabajo y herramientas para trabajo colaborativo
Git: flujos de trabajo y herramientas para trabajo colaborativo
 
Front end workflows
Front end workflowsFront end workflows
Front end workflows
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUX
 
Sistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidosSistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidos
 
Desarrollo desoftware
Desarrollo desoftwareDesarrollo desoftware
Desarrollo desoftware
 
Unidad IV
Unidad IVUnidad IV
Unidad IV
 
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
Manuel Blanco - GNU/Linux Binary Exploitation I&II [rooted2018]
 
Lenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual MachineLenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual Machine
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajes
 
Generalidades de manejo de logs
Generalidades de manejo de logsGeneralidades de manejo de logs
Generalidades de manejo de logs
 
Dynamic jvm
Dynamic jvmDynamic jvm
Dynamic jvm
 
Linux for bioinformatics
Linux for bioinformaticsLinux for bioinformatics
Linux for bioinformatics
 
Python
PythonPython
Python
 
Sistemas operativos software
Sistemas operativos softwareSistemas operativos software
Sistemas operativos software
 
Estructura de datos c++
Estructura de datos c++Estructura de datos c++
Estructura de datos c++
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
Software Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
Software Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
Software Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
Software Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
Software Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
Software Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
Software Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
Software Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
Software Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
Software Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Software Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
Software Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
Software Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
Software Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
SERVANDOBADILLOPOLEN
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 

Último (20)

DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 

Rust: Una historia sobre manejo de memoria y Colectores de Basura