Colección de citas famosas - Slogan de motivación - Directorio de programación de Erlang

Directorio de programación de Erlang

Capítulo 1 Introducción

1.1 Hoja de ruta

1.2 Salida oficial

1.3 Gracias

Capítulo 2 Introducción

2.1 Descripción general

2.1.1 Etapa 1: Abrumado.

2.1.2 La segunda etapa: un primer vistazo a la puerta.

2.1.3 Etapa 2.5: Mirar el esquema y no pedir soluciones.

2.1.4 La tercera etapa: facilidad de uso

2.1.5 Lo más importante es

2.2 Instalación de Erlang

2.2 .1 Versión de distribución binaria

2.2.2 Creando Erlang desde el código fuente

Usando CEAN

2.3 Código de este libro

2.4 Iniciando el shell

2.5 Operaciones con enteros simples

2.6 Variables

2.6.1 Las variables permanecen sin cambios

2.6.2 Coincidencia de patrones

2.6.3 ¿Por qué la asignación única favorece la escritura de código de mayor calidad?

2.7 flotadores

2.8 átomos

2.9 tuplas

Crear una tupla

2.9.Extraer valores de campo. ​de tuplas

2.10 Lista

2.10.1 Términos

2.10.2 Lista de definiciones

2.10.3 Extracción de elementos de una lista

2.11 Cadenas

2.12 Coincidencia de patrones nuevamente

Capítulo 3 Programación secuencial

3.1 Módulo

3.2 Sistema de compras - Capítulo Avanzado

3.3 Funciones con el mismo nombre pero diferentes usos

3.4 Diversión

3.4.1 Funciones con diversión como parámetro

p>

3.4.2 La función de devolver diversión

3.4.3 Defina su propio control de proceso abstracto.

3.5 Procesamiento simple de listas

3.6 Análisis de listas

3.6.1 Clasificación rápida

3.6.2 Tuplas de Pitágoras III

3.6.3 Modificar palabras

3.7 Expresiones aritméticas

3.8 Afirmaciones

3.8.1 Secuencias de afirmaciones

Ejemplos de afirmaciones

3.8.3 Autenticidad de aserciones verdaderas

3.8.4 Funciones de aserción obsoletas

3.9 Registros

Crear y actualizar registros

3.9.2 Extraer valores de campo de registros

3.9.3 Coincidencia de patrones de registros en funciones

3.9.4 Los registros son solo metagrupo de disfraces.

3.10 expresión caso/if

3.10.1 Expresión de ejemplo

3.10.2 expresión if

3.11 En orden natural Crear una lista .

3.12 Acumulador

Capítulo 4 Excepciones

4.1 Excepciones

4.2 Lanzar excepciones

4.3 Intente... capture

4.3.1 versión abreviada

4.3.2 Convención de programación usando try...capture

4.4 capture

4.5 Mejorar error mensajes

4.6 Pruebe...capte el estilo de programación

4.6.1 Programas que a menudo devuelven errores.

4.6.2 Programas con baja probabilidad de error

4.7 Detectar todas las excepciones posibles

4.8 Estilos de manejo de excepciones antiguos y nuevos

4.9 Pila Seguimiento

Capítulo 5 Programación secuencial avanzada

5.1 BIF

5.2 Datos binarios

5.3 Sintaxis de bits

5.3 .Embalaje y desembalaje de colores de 1 bit

5.3.2 Expresiones gramaticales de bits

5.3.3 Ejemplos avanzados de gramática de bits

5.4 Aspectos destacados de pequeños problemas

Se aplica 5.4.1

Atributos

Expresión de bloque

Booleano

Expresión booleana

Conjuntos de caracteres

Comentarios

5.4.8 Planificación de recursos

Caracteres de escape

5.4.10 Expresiones y secuencias de fórmulas de expresiones

5.4.11 Referencia funcional

5.4.12 Archivos incluidos

Operadores de lista ++ y -

5.4.4 Macros

Uso de coincidencias. operadores en patrones

5.4.16 Tipos numéricos

Prioridad del operador

5.4.18 Diccionario de tecnología

Referencias

Expresiones booleanas en cortocircuito

5.4.21 Expresiones de comparación

Variables subrayadas

Capítulo 6 Compilación y ejecución de programas

6.1 Inicio y Detener Erlang Shell

6.2 Configurar el entorno de desarrollo

6.2.1 Configurar la ruta de búsqueda del cargador de archivos.

6.2.2 Ejecutar comandos por lotes al iniciar el sistema.

6.3 Varias formas diferentes de ejecutar un programa

6.3.1 Compilar y ejecutar en Erlang Shell.

6.3.2 Compile y ejecute en el símbolo del sistema.

6.3.3 Ejecutar el programa como un script.

6.3.4 Programación usando parámetros de línea de comando

6.4 Uso de makefile para compilación automática

6.4.1 Generación de plantillas de archivos

Personalizar el Plantilla makefile

6.5 Edición de comandos en Erlang Shell

6.6 Resolver un punto muerto del sistema

6.7 Cómo lidiar con fallas

6.7.1 Indefinido /código faltante

6.7.2 El archivo MAKE no funciona.

El shell 6.7.3 no responde.

6.8 Ayuda

6.9 Entorno de depuración

6.10 Volcado de memoria

Capítulo 7 Concurrencia

Capítulo 8 Capítulo Concurrente Programación

8.1 Primitivas de concurrencia

8.2 Ejemplo simple

8.3 Introducción al cliente/servidor

8.4 Requisitos para crear un proceso ¿por cuánto tiempo?

8.5 recepción con tiempo de espera

8.5.1 solo recepción con tiempo extra.

8.5.2 Recepción con tiempo de espera de 0

8.5.3 Utilizar tiempo de espera infinito para recibir.

Implementación de un temporizador

8.6 Recepción selectiva

8.7 Proceso de registro

8.8 Cómo escribir programas concurrentes

8.9 Técnica de recursividad de cola

8.10 Iniciar el proceso con MFA

8.11 Ejercicio

Capítulo 9 Manejo de errores en programación concurrente

9.1 Vincular proceso

9.2 controlador on_exit

9.3 Manejo remoto de errores

9.4 Detalles del manejo de errores

9.4.1 Modelo de programación de salida de captura.

9.4.2 Captura de señales de salida (capítulo avanzado)

9.5 Primitivas de manejo de errores

9.6 Conjunto de procesos de enlace

9.7 Monitorear

9.8 Proceso de supervivencia

Capítulo 10 Programación distribuida

10.1 Servicio de nombres

10.1.1 Paso uno: Servicio de nombres simple.

10.1.2 Paso 2: En la misma máquina, el cliente se ejecuta en un nodo y el servidor se ejecuta en el segundo nodo.

10.1.3 Paso 3: Deje que el cliente y el servidor se ejecuten en diferentes máquinas en la misma LAN.

10.1.4 Paso 4: Ejecute el cliente y el servidor en diferentes hosts en Internet.

10.2 Primitivas distribuidas

10.3 Bibliotecas utilizadas en programación distribuida

10.4 Sistemas con protección de cookies

10.5 Modo de interfaces distribuido basado en conjuntos

10.5.1 lib_chan

10.5.2 Código del servidor

Capítulo 11 IRC Lite

11.1 Diagrama de secuencia de mensajes

11.2 Interfaz de usuario

11.3 Programa cliente

11.4 Componentes del lado del servidor

11.4.1 Controlador de chat

11.4.2 Chat Servidor

11.4.3 Administrador de grupo

11.5 Programa en ejecución

11.6 Código fuente del programa de chat

11.6.1 Cliente de chat

11.6.2 Configuración de Lib_chan

11.6.3 Controlador de chat

11.6.4 Servidor de chat

11.6.5 Grupo de chat

11.6.6 Ventana de entrada y salida

11.7 Deportes

Capítulo 12 Tecnología de interfaz

12.1 Puerto

p>

12.2 Agregar interfaces a programas C externos

12.2.1 Programas C

12.2.2 Programas Erlang

12.3 Puertos abiertos

12.4 Controlador en línea

12.5 Nota

Capítulo 13 Documentos de programación

13.1 Estructura organizativa de la biblioteca

13.2 Lectura Diferentes métodos para recuperar archivos

Lea todos los elementos de datos de Erlang del archivo.

13.2.2 Leer elementos de datos de un archivo uno a la vez.

Lee los datos línea por línea del archivo.

13.2.4 Leer el contenido de todo el archivo en datos binarios.

13.2.5 Leer archivos aleatoriamente

Leer etiquetas ID3

13.3 Diferentes métodos de escritura de archivos

Convertir una cadena de elementos de datos Erlang son escrito en el archivo.

13.3.2 Escribe una línea en el archivo.

13.3.3 Escribe el archivo completo en un solo paso.

13.3.4 Escribir archivos en modo de acceso aleatorio

13.4 Operaciones de directorio

13.5 Consultar atributos de archivos

Copiar y eliminar documento.

13.7 Consejos

13.8 Buscar subprogramas

Capítulo 14 Programación de sockets

14.1 Uso de TCP.

14.1.1 Obtener datos del servidor.

Un servidor TCP simple

14.1.3 Servidor mejorado

14.1.4 Notas

14.2 Lógica de control

14.2.1 Recepción activa de mensajes (sin bloqueo)

14.2.2 Recepción pasiva de mensajes (con bloqueo)

14.2.3 Modo mixto (semibloqueo)

14.3 ¿De dónde vienen las conexiones?

14.4 Manejo de errores de socket

14.5 UDP

14.5.1 El servidor y cliente UDP más simple

14.5.2 Servidor para calcular factorial UDP.

14. 5. 3 Otras consideraciones para el protocolo UDP

14.6 Transmisión de mensajes a múltiples máquinas

14.7 Servidor SHOUTcast

14.7. 1 Protocolo SHOUTcast

14.7.2 Mecanismo de funcionamiento del servidor de transmisión en vivo

14.7.3 Pseudocódigo del servidor de transmisión en vivo

14.7.4 Ejecución del servidor SHOUTcast

14.8 va un paso más allá.

ETS y DETS: Mecanismo de almacenamiento de datos masivos

15.1 Operaciones básicas de tablas

15.2 Tipos de tablas

15.3 Tablas ETS Eficiencia consideraciones

65438+

15.5 Ejemplo de programa ETS

15.5.1 Iterador de índice de tres palabras

15.5.2 Tabla de estructura

p>

15.5.3 ¿Qué tan rápido es la construcción de la mesa?

15.5.4 ¿Qué tan rápido es acceder a un formulario?

El ganador de 15.5.5 es...

15.6 DETS

Lo que no mencionamos es la lista de códigos de 15.8

p>

Descripción general de OTP en el Capítulo 16

16.1 Ruta de evolución del programa de servidor general

16.1.1 servidor 1: programa de servidor original.

16.1.2 Servidor 2: Programa de servidor que soporta transacciones.

16.1.3 Servidor 3: Programa de servidor que admite el reemplazo de código activo.

16.1.4 Servidor 4: admite transacciones y reemplazo de código activo.

16.1.5 Servidor 5: Finale

16.2 gen_server se ha iniciado.

16. 2. 1 Paso uno: Determinar el nombre del módulo de devolución de llamada.

16.2.2 Paso 2: Escribir función de interfaz

Paso 3: Escribir una función de devolución de llamada.

16.3 La estructura de la devolución de llamada gen_server

16.3.1 ¿Qué sucede cuando se inicia el programa del servidor?

16.3.2 ¿Qué sucede cuando se llama al programa del servidor?

16.3.3 Llamadas telefónicas y notificaciones

16.3.4 Mensajes locales enviados al servidor

16.3.5 Adiós, bebé (servidor finalizado)

16.3.6 Reemplazo de código activo

16.4 Códigos y plantillas

16.4.1 Plantilla gen_server

16.4.2 Mi banco

Desarrollo adicional de 16.5

Capítulo 17 Memoria: Base de datos Erlang

17.1 Consulta de base de datos

17.1.1 Seleccione todos los datos de la tabla.

17.1.2 Seleccionar datos en la tabla

17.1.3 Seleccionar datos en la tabla según las condiciones.

17.1.4 Seleccionar datos de dos tablas (consulta conjunta)

17.2 Agregar o eliminar datos en la tabla

17.2.1 Agregar una fila.

17.2.2 Eliminar una fila.

17.3 Transacción Mnesia

17.3.1 Cancelar transacción.

17.3.2 Cargar datos de prueba

17.3.3 Función do()

17.4 Guardar datos complejos en tablas

17.5 Tipo de tabla y ubicación

Crear una tabla

17.5.2 Combinaciones comunes de atributos de tabla

Comportamiento de la tabla 17.5.3

17.6 Crear y inicializar la base de datos

17.7 Table Viewer

17.8 va un paso más allá.

17.9 Lista de códigos

Capítulo 18 Creación del sistema OTP

18.1 Procesamiento general de eventos

18.2 Registro de errores

18.2.1 registró un error.

18.2.2 Registro de errores de configuración

18.2.3 Error de análisis

18.3 Gestión de alarmas

18.4 Servicio de aplicaciones

18.4.1 Servicio de números primos

18.4.2 Servicio regional

18.5 Árbol de monitoreo

18.6 Iniciar todo el sistema.

Aplicación 18.7

Organización del sistema de archivos 18.8

Monitor de aplicaciones 18.9

18.10 va un paso más allá.

18.11 ¿Cómo creamos números primos?

Capítulo 19 Introducción a multinúcleo

Capítulo 20 Programación multinúcleo

20.1 ¿Cómo ejecutar de manera más eficiente en una CPU multinúcleo?

20.1.1 utiliza muchos procesos.

20.1.2 Evitar efectos secundarios

20.1.3 Cuellos de botella en la secuencia

20.2 Paralelizar código de secuencia

20.3 Pequeños mensajes, grandes cálculos

20.4 Algoritmo de fusión de mapeo y programa de índice de disco

20.4.1 Algoritmo de fusión de mapeo

20.4.2 Recuperación de texto completo

Operación del indexador

Ejecutar el indexador

Comentarios

Código del indexador

20.5 Crecimiento orientado al futuro

Apéndice a registrar nuestro plan.

Apéndice b Entorno Erlang bajo entorno Microsoft Windows

Apéndice c recursos

Apéndice d aplicación de socket

Apéndice y otros

Apéndice f Referencia de módulos y funciones

Índice