This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Crear una API para una aplicación de blog, donde se puedan crear, leer, actualizar y eliminar publicaciones. | |
Requerimientos para la API de Blog: | |
- Autenticación: requerir autenticación para poder crear, actualizar y eliminar publicaciones. | |
- CRUD de publicaciones: permitir crear, leer, actualizar y eliminar publicaciones. | |
- Filtro de publicaciones: permitir filtrar publicaciones por título, fecha y categoría. | |
- Paginación de publicaciones: mostrar un número limitado de publicaciones por página. | |
- CRUD de categorías: permitir crear, leer, actualizar y eliminar categorías de publicaciones. | |
- Autorización: controlar qué usuarios pueden realizar qué acciones en la API. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Define domain ultimate-local.com | |
Define abs_path /mnt/d/www/${domain} | |
SSLCertificateFile ${abs_path}/${domain}.crt | |
SSLCertificateKeyFile ${abs_path}/${domain}.key | |
<Directory ${abs_path}> | |
# all | none | -Indexes FollowSymLinks MultiViews Includes | |
AllowOverride all | |
# all | none | AuthConfig Indexes FollowSymLinks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script setup lang="ts"> | |
const { modelValue } = defineProps<{ | |
modelValue: string | |
}>() | |
const emit = defineEmits<{ | |
(e: 'update:modelValue', value: string): void | |
}>() | |
const date = computed({ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Suspense, useState } from 'react'; | |
const SuspensefulUserProfile = ({ userId }) => { | |
const resource = fetchUserProfile(userId); | |
return ( | |
<Suspense fallback={<h1>Loading profile...</h1>}> | |
<UserProfile data={resource} /> | |
</Suspense> |