Für normale Computerarbeit brauchen Sie kein VPN.

Wenn Sie sich Sorgen um die Sicherheit machen, sollten Sie auf keinen Fall ein VPN verwenden!

Ihr gesamter Datenverkehr läuft über ein unbekanntes Unternehmen, dem Sie Ihre Daten auf dem Silbertablett servieren.

Ich benutze VPN nur, wenn ich simulieren will, dass ich zu Hause bin. Ich verbinde mich mit meinem VPN-Server in meiner Wohnung und kann z. B. zu Hause drucken, wenn ich am anderen Ende der Welt bin.

...zur Antwort

Ich habe meine Omegle Kopie in JavaScript geschrieben.

Frontend in React.js und Backend in NodeJS, für das Versenden von Nachrichten habe ich socket-io (WebRTC) verwendet, und für das Versenden von Bildern und Videochats habe ich die "simple-peer" Bibliothek verwendet, die man von npm herunterladen kann.

Hier ein Beispiel dafür, wie es funktioniert: https://boger.js.org

...zur Antwort

Wenn Sie Root-Zugriff auf Ihr NAS haben, sollten Sie kein Problem haben, ein kleines, aber sehr leistungsfähiges Tool namens "Rclone" zu installieren, das nicht nur mit Dropbox, sondern mit vielen beliebten Diensten synchronisieren kann.

...zur Antwort

Am einfachsten ist es, das aktive Verzeichnis, z.B. /home, mit dem Programm ncdu zu analysieren.

Nach ein paar Sekunden werden alle Dateien in den Verzeichnissen in der Reihenfolge des größten Gewichts angezeigt. Sie können sogar eine Datei (unwiderruflich!) direkt aus ncdu mit der Taste "d" löschen.

$ cd /home
$ ncdu
...zur Antwort

In mein React App und dem Server in NodeJS habe ich auch WebRTC für Dateitransfers und Videoanrufe verwendet. Zu diesem Zweck habe ich die Bibliothek: simple-peer verwendet. 

https://www.npmjs.com/package/simple-peer#usage

Hier meine App: https://boger.js.org/

...zur Antwort
Problem mit Data-Fetching in Strapi (Next (React.js))?

Hallo, ich hätte eine Frage zu meinem Projekt mit Strapi bzw. React:

Ich bin gerade dabei, eine Website mit Strapi als CMS und Next.js / React.js im Frontend zu erstellen. Als Starter bzw. Vorlage habe ich diesen Blog (von Strapi) hergenommen, um nicht komplett von 0 anzufangen.

Nun habe ich die gesamte Website im Frontend verändert und einen weiteren Content Type für einen Image-Slider erstellt und "befüllt". Jetzt habe ich versucht, die Daten dieses Content Types (title, content, image) in den Slider zu bekommen. Leider funktioniert dies nicht und es erscheinen nur leere HTML Tags (<h2></h2>...) im Sourcecode.

Hier ist mein momentaner Code zu sehen:

import React from "react";
import axios from "axios";
const Slider = ({banners, error}) => {

   // Code um Slider funktionsfähig zu machen

        if (error) {
            return <div>An error occured: {error.message}</div>;
        }
        return (
            <div className="img-slider">
                <div className="slide active">
                    <div className="info">
                        {banners.map(banner => (
                            <h2 key={banner.id}>{banner.title}</h2>
                        ))}
                    <p>
                    {banners.map(banner => (
                            <h2 key={banner.id}>{banner.content}</h2>
                        ))}
                    </p>
                    </div>
                </div>
                <div className="slide">
                   ....
                </div>
                <div className="slide">
                   ....
                </div>
            
                <div className="navigation">
                    <div className="btn-navig active"></div>
                    <div className="btn-navig"></div>
                    <div className="btn-navig"></div>
                </div>
           
            </div>
        );
    };


    Slider.getInitialProps = async ctx => {
        try {
          const res = await axios.get('http://localhost:1337/banners');
          const banners = res.data;
          return { banners };
        } catch (error) {
          return { error };
        }
      };


export default Slider;

Bis jetzt habe ich jedoch nur versucht, die Überschrift sowie den Content zu bekommen, mit dem Bild habe ich bis jetzt nur Errors bekommen...

Ich hoffe, jemand kann mir helfen bzw. den Error im Code finden... Vielen Dank!

...zum Beitrag

Sollte funktioniren jetzt

import React, { useEffect, useState } from "react";
import axios from "axios";
const Slider = () => {
  const [banners, setBanners] = useState([]);
  const [error, setError] = useState("");
  useEffect(() => {
    // run once on component mounted
    fetchBanners();
  }, []);

  const fetchBanners = async () => {
    try {
      const res = await axios.get("http://localhost:1337/banners");
      setBanners(res.data);
    } catch (error) {
      setError(error);
    }
  };

  return (
    <div className="img-slider">
      {error && <div>An error occured: {error.message}</div>}

      <div className="slide active">
        <div className="info">
          {banners.map((banner) => (
            <h2 key={banner.id}>{banner.title}</h2>
          ))}
          <p>
            {banners.map((banner) => (
              <h2 key={banner.id}>{banner.content}</h2>
            ))}
          </p>
        </div>
      </div>
      <div className="slide">....</div>
      <div className="slide">....</div>

      <div className="navigation">
        <div className="btn-navig active"></div>
        <div className="btn-navig"></div>
        <div className="btn-navig"></div>
      </div>
    </div>
  );
};

export default Slider;
...zur Antwort

Du brauchst `react-router-dom`

...zur Antwort

Genau wie der Fehler sagt, dass Sie eine undefinierte Variable nicht mappen können, machen Sie console.log(categories).

Man kann nur Arrays mappen.

const Sidebar = ({ categories }) => {
  console.log(categories)
  return (
      <></>
    );
 };
...zur Antwort
Das richtige Modell entscheidet

Meiner Meinung nach macht eine Brille ein Mädchen noch attraktiver.

...zur Antwort