Skip to content

Commit

Permalink
Generated content from main
Browse files Browse the repository at this point in the history
@66eb514e23e28f29feb0e529b3a6b7a0307bbd8d
  • Loading branch information
simonpinkas committed Oct 5, 2023
1 parent 388b306 commit 2797704
Show file tree
Hide file tree
Showing 42 changed files with 152 additions and 50 deletions.
2 changes: 1 addition & 1 deletion 2023-2024/subjects/automated-testing/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>Automated Testing (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/automated-testing/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/automated-testing/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/course/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>COMEM+ Web-Oriented Architecture Course (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/course/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/course/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/express-auth/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>Express Authentication (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/express-auth/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/express-auth/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
61 changes: 56 additions & 5 deletions 2023-2024/subjects/express-best-practices/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>Express Best Practices (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/express-best-practices/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/express-best-practices/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down Expand Up @@ -395,7 +395,7 @@
});
```

This is absolutely, but you might be more comfortable using `async/await`.
This is absolutely fine, but **you might be more comfortable using `async/await`**.

---
### Handling Promises using `async/await`
Expand All @@ -415,14 +415,14 @@
});
```

However, you will need to wrap every callback in those annoying `try/catch` blocks in order to handle errors. This leads to a lot of unnecesary repetition. Could we do better?
However, you will need to wrap every callback in those **annoying `try/catch` blocks** in order to handle errors. This leads to a lot of unnecesary repetition. **Could we do better?**

---
### Async Handler Middleware

.breadcrumbs[<a href="#1">Express Best Practices</a> > <a href="#12">Avoid repetition with middleware</a>]

We can create a wrapper function that automatically catches errors and passes them to the next middleware in Express.
We can create a **wrapper function** that automatically catches errors and passes them to the next Express middleware.

```js
const asyncHandler = fn => (req, res, next) =>
Expand All @@ -431,7 +431,7 @@
.catch(next);
```

`asyncHandler` is a higher-order function that takes an async function (`fn`) and returns a new function. The returned function, when called, runs `fn` and catches any unhandled errors, passing them to next() (i.e., the next middleware, which might be an error handler).
`asyncHandler` is a **higher-order function** that takes an async function (`fn`) and **returns a new function**. The returned function, when called, runs `fn` and catches any unhandled errors, **passing them to next()** (i.e., the next middleware).

---
### Using `asyncHandler` Middleware
Expand All @@ -447,6 +447,57 @@
}));
```

---
### Default error handler

.breadcrumbs[<a href="#1">Express Best Practices</a> > <a href="#12">Avoid repetition with middleware</a>]
The code generated by the express-api-es-generator deals with error handling in a very basic manner.

```js
app.use(function (`err`, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get("env") === "development" ? err : {};

// Send the error status
res.status(err.status || 500);
res.send(err.message);
});
```

This **middleware function** is an specifically designed to handle errors. We can know this because the callback takes **four arguments, the first of which being the `err` object.** When an error is passed to next() function or thrown in a synchronous function in an Express app, it will be caught by this error-handling middleware. This works fine for Express errors, but **we also need to handle errors thrown by MongoDB.**

---
### MongoDB errors

.breadcrumbs[<a href="#1">Express Best Practices</a> > <a href="#12">Avoid repetition with middleware</a>]
Imagine the following scenario: one of your Mongoose models specifies that a Users must have unique emails. Someone using your API make a `POST` request to `/user`, trying to create a new user with an email that has already been previously registered. If this happens, an **ugly error message and generic status code will be sent to the user**:

```txt
E11000 duplicate key error collection
```

---
### Handling specific errors

.breadcrumbs[<a href="#1">Express Best Practices</a> > <a href="#12">Avoid repetition with middleware</a>]
In order to get a **meaningful status code and prettier error message**, we could adjust the error handling middleware to **check for this specific case**:

```js
app.use(function (`err`, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get("env") === "development" ? err : {};
* if (err.name === 'MongoError' && err.code === 11000) {
* res.status(409).send('Email already registered.');
* } else {
// Send the error status
res.status(err.status || 500);
res.send(err.message);
}
});
```

---
## TODO

Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/express-mongoose/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>Using Mongoose with Express (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/express-mongoose/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/express-mongoose/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/express/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>Express (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/express/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/express/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/js-classes/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>JavaScript Classes (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/js-classes/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/js-classes/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/js-closures/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>JavaScript Closures (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/js-closures/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/js-closures/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/js-modules/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>JavaScript Modules (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/js-modules/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/js-modules/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/js-promises/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>JavaScript Promises (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/js-promises/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/js-promises/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/js-prototypes/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>JavaScript Prototypes (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/js-prototypes/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/js-prototypes/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/js/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>JavaScript (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/js/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/js/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/mongodb-data-modeling/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>MongoDB data modeling (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/mongodb-data-modeling/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/mongodb-data-modeling/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/mongodb/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>MongoDB (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/mongodb/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/mongodb/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/mongoose/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>Mongoose (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/mongoose/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/mongoose/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/node/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>Node.js Introduction (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/node/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/node/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/npm/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>npm (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/npm/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/npm/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
2 changes: 1 addition & 1 deletion 2023-2024/subjects/rest-advanced/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>REST In Depth (Media Engineering Web-Oriented Architecture)</title>
<meta charset='utf-8'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/f4622bad1cbd22f6a822ca561a8aa4b18e45bd93/subjects/rest-advanced/README.md&quot;}'>
<meta name='config' content='{&quot;basePath&quot;:&quot;../..&quot;,&quot;remark&quot;:{&quot;highlightLines&quot;:true,&quot;highlightSpans&quot;:true,&quot;countIncrementalSlides&quot;:false},&quot;subjectUrl&quot;:&quot;https://github.com/MediaComem/comem-archioweb/tree/66eb514e23e28f29feb0e529b3a6b7a0307bbd8d/subjects/rest-advanced/README.md&quot;}'>
</head>
<body>
<textarea id='source'>
Expand Down
Loading

0 comments on commit 2797704

Please sign in to comment.