===== Úkoly =====
* Seznamte se s [[https://nodejs.org/en|nodejs]], ověřte že máte nainstalovanou rozumně novou verzi a zkuste interakci s javascriptem skrze NodeJS terminál.
* Napište hello world který načte nějaký text ze standardního vstupu (například uživatelovo jméno "Adam") a na standardní výstup vypíše "Ahoj Adam".
* Vytvořte si ve svém oblíbeném IDE (např. VS Code) javascript projekt. Seznamte se s //package.json// souborem a zkuste přidat nějaký balíček jako závislost pomocí //npm//. Projekt verzujte pomocí GITu.
* Vytvořte (jako samostatný gitovaný projekt) program, který obrátí pořadí slov v zadaném textu. "ahoj světe nebe je modré" -> "modré je nebe světe ahoj"
* Rozšíření: Posloupnost vět zachovejte. "Ahoj světe! Nebe je modré." -> "světe ahoj! modré je nebe."
* Rozšíření2 (efektivita): jak se bude váš program (větový) chovat pro dlouhý vstup (miliony vět a desítky milionů slov)? Vytvořte na to testovací vstup a sledujte využití paměti. Pokud je využití paměti vysoké, přepište program aby jí tolik nepotřeboval.
* Vytvořte program, který využije nějakou javascriptovou (NodeJS) knihovnu, například [[https://js-joda.github.io/js-joda/manual/getting-started.html|js-joda]] pro práci s časem, [[https://axios-http.com/docs/intro|axios]] pro http requesty, [[https://sharp.pixelplumbing.com/|sharp]] pro práci s obrázky, [[https://github.com/markedjs/marked|marked]] či [[https://github.com/showdownjs/showdown|showdown]] pro převod markdown->html. Formulujte si dopředu zadání dle zvolené knihovny :)
===== NodeJS CLI program =====
> Using node18, how to write the simplest command line program in javascript, that uses stdin and stdout?
=== ChatGPT advice ===
To create a simple command-line program in Node.js that uses stdin and stdout, you can follow these steps:
- Make sure you have Node.js installed on your system.
- Create a new directory for your project and navigate to it in your terminal.
- Create a JavaScript file for your program. Let's call it simple-cli.js.
- In simple-cli.js, you can use the process.stdin and process.stdout streams to read from stdin and write to stdout. Here's a basic example that reads input from stdin and writes it back to stdout:
// Import the 'readline' module to handle input and output
const readline = require('readline');
// Create an interface for reading from stdin and writing to stdout
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
// Prompt the user for input
rl.question('Please enter something: ', (input) => {
// Process the input
const output = `You entered: ${input}`;
// Write the output to stdout
console.log(output);
// Close the readline interface
rl.close();
});
Save the file and run your program from the command line:
node simple-cli.js
That's it! You've created a simple command-line program in JavaScript using stdin and stdout. You can customize and expand upon this basic template to perform more complex tasks as needed.