Wozu braucht man Arbeitsspeicher?

Jeder Mensch weiß sicherlich, dass es nur gut sein kann, wenn der PC viel Arbeitsspeicher hat. Auf der anderen Seite sind es nur die wenigsten Menschen, die genau wissen, warum das der Fall ist. 

Was genau versteht man unter RAM?

Unter RAM kann man eine Expressanbindung an die CPU verstehen. Es handelt sich also um einen Arbeitsspeicher, der für einen schnellen Zugriff auf die Daten sorgt. Dies ist deshalb so wichtig, weil Daten in allen möglichen Formen verwendet werden. So füllt jedes einzelne Programm den Arbeitsspeicher mit Daten. 

Darüber hinaus gibt es im RAM noch einen kleinen Teil, der als Cachespeicher fungiert. Dieser ist direkt mit dem Prozessor verbunden. Weiterhin erlaubt dieser sehr schnelle Zugriffe auf die Daten. Die Daten werden im Cache also zwischenzeitlich gespeichert. Dies ist darauf zurückzuführen, dass diese Daten am Computer besonders häufig gebraucht werden. Die Speicherung erfolgt also nur für kurze Zeit. 

Was sind die praktischen Vorteile von RAM?

Theoretisch ist es so, dass auch die Festplatte den Zugriff auf benötigte Daten durchführt. Tatsächlich ist es so, dass Daten in vielen Fällen auf die Festplatte ausgelagert werden. Dies ist immer dann der Fall, wenn der Arbeitsspeicher gefüllt ist. Der wesentliche Unterschied liegt darin, dass der RAM viel schneller an die CPU angebunden ist. Auf diese Weise werden schnelle Transferraten ermöglicht, welche mit einer klassischen Festplatte gar nicht zu meistern sind. 

Wo kann man RAM kaufen?

RAM kann man in jedem Computergeschäft kaufen. Entscheidend ist die Tatsache, dass der RAM qualitativ ist. Ansonsten bringt es nur wenig, wenn man viel RAM kauft und anschließend mit der Performance gar nicht zufrieden ist. 

Sollte man genau wissen von welchem Hersteller man den RAM kaufen möchte, so kann man diesen auch ganz einfach in einem Onlineshop kaufen. Hier hat man zumindest den Vorteil, dass man sich nicht extra in ein Geschäft begeben muss. 

Sollte man aber nicht so viel Erfahrung haben mit Computern und deren Technik, so ist es immer noch besser, wenn man selbst in ein Geschäft fährt und sich dort beraten lässt. Auf diese Weise wird man dann auch den richtigen RAM kaufen, der zur gegenwärtigen Situation auch gefordert ist. 

Simple EOS Dev Environment

This is a beginner’s guide, to setup a simple development environment for the EOSIO blockchain, which will get you up and running in five simple steps from zero to your first smart contract in less than 10 minutes. Afterwards, you will know how to code and test your own smart contracts on an EOS testnet quickly and for free. In this guide we make use of simple tools, which offer a great developer experience, such as the eosio.cdt (Contract Development Toolkit), the Kylin testnet and the eosc command line wallet. We’re using a development machine, running the Ubuntu 18.04 operating system.

So let’s get started!

1. Account, Keys and Tokens

The Kylin Testnet, which is run by several high class block producers, allows easy and fast access to a (non-productive) EOSIO blockchain, using it’s free Account and Faucet services. We’re going to create a new EOS account (12 character name) on the testnet, including @owner and @active keypairs and charge it up with 100 dummy EOS tokens.

Let’s call our new EOS account: dummyaccount

curl http://faucet.cryptokylin.io/create_account?dummyaccount

{
  "msg": "succeeded",
  "keys": {
    "active_key": {
      "public": "EOS7kNBssiunoW7VGcx79BXGUvjbgcaPva4azRwhuTXRfJJ192DJ2",
      "private": "5J1SYvRP1JpWBtk85a4zAbXUmAyBqtr3r58hLuDF5YX6HdcfTYo"
    },
    "owner_key": {
      "public": "EOS6nUXrdodNwRspd7Z42Yp8nRH44wuJNYYoVHSMddr28KKS6Ke4J",
      "private": "5KQzVMR9sZ8sRmRb3NQEzyW43peUow6pYLo831AAXGyEZP7h77z"
    }
  },
  "account": "dummyaccount"
}

curl http://faucet.cryptokylin.io/get_token?dummyaccount

{ "msg": "succeeded" }

Save your @owner and @active keypairs somewhere safe, you’ll need them for the next steps.

2. Wallet and CLI

Next we will download and install the eosc command line wallet, by EOS Canada, in order to interact with the EOS blockchain (currently v1.1.0). This will help us to safely store our private keys and send transactions to the blockchain.

mkdir eosc && cd eosc
curl -LO https://github.com/eoscanada/eosc/releases/download/v1.1.0/eosc_1.1.0_linux_x86_64.tar.gz
tar xzvf ./eosc_1.1.0_linux_x86_64.tar.gz

Now we can use it to import our EOS account via the @active key. This will create a file, named eosc-vault.json, which will contain your encrypted private key.

./eosc vault create --import

- Paste your @active private key from above.
  5J1SYvRP1JpWBtk85a4zAbXUmAyBqtr3r58hLuDF5YX6HdcfTYo
- Hit ENTER.
- Choose a passphrase

3. Account Setup

Here we will issue three ./eosc commands, to setup our account for the deployment of a smart contract. We delegate 20 EOS tokens as blockchain resources (5 EOS staked for NET, 15 EOS staked for CPU) and use some more EOS tokens to buy 500 KiB of RAM as storage for our smart contract. Finally, we check our account with the eosc get account command.

Hint: We need approximately 10x the bytes of RAM as is the filesize of our WASM binary contract, due to the overhead of the virtual machine. So if our compiled contract file (e.g. hello.wasm) has a filesize of 10 KiB, we need approximately 100 KiB in RAM resources on the EOSIO blockchain, to deploy the contract.

./eosc -u https://kylin.eoscanada.com system delegatebw dummyaccount dummyaccount 5 15

./eosc -u https://kylin.eoscanada.com system buyrambytes dummyaccount dummyaccount 512000

./eosc -u https://kylin.eoscanada.com get account dummyaccount
privileged:   false
created at:   2018-11-15 14:45:25 +0000 UTC

permissions:
     "owner" w/1         :  +1 EOS6nUXrdodNwRspd7Z42Yp8nRH44wuJNYYoVHSMddr28KKS6Ke4J
           "active" w/1  :  +1 EOS7kNBssiunoW7VGcx79BXGUvjbgcaPva4azRwhuTXRfJJ192DJ2

memory:
      quota:           506.8  KB   used:           3.490  KB

net bandwidth:
      staked:              5.0000  EOS    (total stake delegated from account to self)
      delegated:           1.0000  EOS    (total stake delegated to account from others)
      used:                   257  bytes
      available:            11.18  MB
      limit:                11.18  MB

cpu bandwidth:
      staked:             15.0000  EOS  (total stake delegated from account to self)
      delegated:           1.0000  EOS  (total stake delegated to account from others)
      used:                 1.129  ms
      available:            807.2  ms
      limit:                808.3  ms

EOS balances:
      liquid:             67.8553  EOS
      staked:             20.0000  EOS
      unstaking:           0.0000  EOS
      total:              87.8553  EOS

voted for:
      

voter info:
      proxy:                
      is proxy:             false
      staked:               200000
      vote weight:          0.000000
      proxied vote weight:  0.000000

4. Contract Development Toolkit

Download and install the latest version of eosio.cdt (currently v1.4.1). This will give you access to the smart contract WASM and ABI compilers/generators, as well as to the eosio C/C++ libraries and header files. Get it at: https://github.com/EOSIO/eosio.cdt/releases

curl -LO https://github.com/EOSIO/eosio.cdt/releases/download/v1.4.1/eosio.cdt-1.4.1.x86_64.deb
sudo dpkg -i ./eosio.cdt-1.4.1.x86_64.deb

5. Compile and Deploy a Smart Contract

Let’s create a simple “Hello World” smart contract, by creating a file with the following contents, named hello.cpp:

#include <eosiolib/eosio.hpp>
#include <eosiolib/print.hpp>

using namespace eosio;

CONTRACT hello : public contract {
  public:
      using contract::contract;

      ACTION hi( name user ) {
         print( "Hello, ", name{user});
      }

      ACTION yo( name user ) {
         print( "Yo, ", name{user});
      }
};
EOSIO_DISPATCH( hello, (hi)(yo) )

This C++ file can now be compiled and deployed to the EOS blockchain, using the eosio.cdt Contract Development Toolkit. After compilation we will get a binary WASM file hello.wasm of about 2.3 KiB (needs ~23 KiB of eosio RAM) and a file named hello.abi, which describes the interface of our code’s actions.

eosio-cpp -o hello.wasm hello.cpp --abigen

./eosc -u https://kylin.eoscanada.com system setcontract dummyaccount ./hello.wasm ./hello.abi

./eosc -u https://kylin.eoscanada.com tx create dummyaccount yo '{"user":"bob"}' -p dummyaccount

Congratulations!

After finishing the five simple steps above, you can now officially call yourself a “Blockchain Expert”. 😉

Feel free to experiment with the above mentioned tools, keep on improving your EOSIO knowledge with help of the hyperlinks I put into the article and continue to develop you very own EOS smart contracts!

If you liked this tutorial, please consider a donation to my EOS account: teammaerdian

Die besten Quick Wins in der Suchmaschinenoptimierung (SEO)

Obwohl SEO eine Wissenschaft für sich ist, kann jeder Webseitenbetreiber bereits mit wenigen Kniffen einen positiven Beitrag für das eigene Ranking bei Google leisten.

1. Index überprüfen

Jeder Webseitenbetreiber sollte wissen welche Seiten der Domain sich im Google Index befinden. Bei kleineren Seiten kann dies ganz einfach über die Siteabfrage selbst überprüft werden. Dazu muss folgendes in die Google Suche eingegeben werden:

site:beispieldomain.com (ohne www.)

Nun kann überprüft werden, welche Seiten im Index sind. Alle unerwünschten Seiten können durch folgenden Zusatz im Quelltext im Bereich Head von der Indexierung ausgeschlossen werden:

<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">

2. Jede Seite hat ein eigenes Thema

Dieser Punkt ist wichtig und wird häufig vernachlässigt. Jede Seite der Domain muss ein individuelles Thema besitzen. Das Hauptkeyword muss dann auch entsprechend im Meta Title und auch in der Description prominent platziert werden.

Das ist einer einfachsten Punkte um Google und dem User die Seiten zu beschreiben und den ersten Schritt in ein Ranking für dieses Keyword zu leisten. Keine Seite hat es verdient nur „Home“ oder „Seite 1“ genannt zu werden. Daher:

Meta Title: Wichtig für User und Suchmaschine / Muss Keyword enthalten / Bis zu 60 Zeichen

<meta name=”title” content=”Thema meiner Seite”>

Meta Description: Wichtig für User / Keyword und Call to Action einbauen / Bis zu 300 Zeichen

3. Überschriften sinnvoll strukturieren

Mit den Überschriften-Tags (h-Tags) können die Überschriften strukturiert werden. Wichtig ist, dass jede Seite nur eine einzige h1-Überschrift enthält. Außerdem sollte sowohl die h1 als auch die h2 zwingend das Keyword der Seite enthalten.

Bei der Erstellung der Tags kann wie bei einem Zeitungsartikel vorgegangen werden. Die Headline ist die h1, die Zwischenüberschriften die h2 und die weiteren Überschriften und Aufzählungen bekommen h3 und h4 Tags.

4. Content ist noch immer King

Für jede Seite sollte individueller und einzigartiger Content erstellt werden. Hier ist ein großer Umfang definitiv besser aber das ganze darf am Ende auch nicht in einer Textwüste enden. Generell gilt: Es soll so viel wie möglich gesagt werden um ein Thema umfassend zu beschreiben. Dabei sollte auch auf die Verwendung der Keywords im Text und in den Überschriften (siehe vorherigen Punkt) geachtet werden. Es lohnt sich an dieser Stelle auch ein Blick auf die Konkurrenz. Einfach dazu mal den gewünschten Suchbegriff googlen und sich bei den ersten 10 Suchergebnissen folgende Fragen stellen:

  • Wie sind die Texte strukturiert
  • Welche Themen behandeln die Texte
  • Wie lang sind die Texte
  • Welche Keywords werden verwendet

Bei längeren Texten lohnt es sich auch immer mit Bildern, Aufzählungen und Videos zu arbeiten. Die Texte müssen den Usern Spaß machen – dann bleiben sie auch auf der Seite

5. Direkter Draht zu Google durch die Search Console

Hierbei handelt es sich um ein kostenloses Tool von Google, das sehr einfach zu implementieren ist. Webmaster erhalten hier wertvolle Informationen zur Domain, zu dem Traffic und auch zu technischen Punkten sowie möglichen Fehlern. Auch von rechtlicher Seite gibt es keine Probleme – es müssen hierbei keine Punkte zum Thema Datenschutz beachtet werden.

Mit diesen Tipps kann jeder die ersten wichtigen Grundbausteine für eine stabiles Fundament im SEO legen. Bei schwierigen und individuellen Fragen sollte allerdings eine professionelle SEO Agentur beauftragt werden.

AdWords für Einsteiger – so gelingt der Einstieg

Online Shops bekommen über 60 Prozent der Besucher von Suchmaschinen geliefert. Da die Markenbekanntheit noch nicht so groß ist am Anfang, setzen viele neue und junge Unternehmen auf diese Werbeform. Gerade am Anfang muss das Unternehmen viele Aufträge bekommen, damit Geld in das Unternehmen reinfließen kann. Dies muss auch recht schnell geschehen. Mit AdWords gelingt das, weil die bezahlten Anzeigen ganz oben in den Suchergebnissen erscheinen werden.

AdWords stellt ein Auktionssystem dar, welches bei jedem Klick des Suchenden versteigert wird. Umso mehr man bereits ist für einen Klick zu zahlen, desto weiter oben wird die Anzeige stehen.

Viele Anfänger machen leider den Fehler, dass sie viele Themen in jeder Anzeigengruppe erstellen. Dies ist ein sehr großer Fehler. Darüber hinaus wirken die erstellen Kampagnen dann auch nicht strukturiert. Grundsätzlich werden Anzeigen immer pro Anzeigengruppe geschaltet und nicht pro Keyword. Daher muss jedes Keywords in einer Gruppe ganz genau zu den Anzeigen passen. Sollte dies nicht der Fall sein, dann gehört das Keyword nicht in die entsprechende Gruppe.

Sollte die Anzeige nicht zum Keyword passen, dann wird der Besucher auch nicht so oft auf die Anzeige klicken. Es fehlt der Anzeige in diesem Fall an Relevanz. Dadurch kommt es zu einer niedrigen CTR, welche sich negativ auf die Anzeigengruppe auswirkt.

Ein weiterer Fehler ist es viel zu allgemeine Keywords zu verwenden. In diesem Fall ist es auch nicht möglich die Relevanz zu erhöhen. Wichtig ist es bei den Keywords und bei den Anzeigen so konkret wie möglich zu werden. Wenn man beispielsweise ganz spezielle Schuhe für den Medizinbereich verkauft, dann sollte man nicht das Keyword „Schuhe“ verwenden, sondern besser spezifischer werden. So könnte man stattdessen ein Long Tail Keyword wie „Schuhe für Zahnharzt“ einsetzen oder so etwas Ähnliches. Auf diese Weise wird die Streuung verkleinert und die Relevanz erhöht. Letztendlich ist es auch nicht die große Masse, die sich solche Schuhe kaufen wird. Die Zielgruppe ist wesentlich kleiner. Mit den passenden Keywords kann die richtige Zielgruppe auch richtig adressiert werden.

Grundsätzlich ist AdWords eine Wissenschaft für sich. Es gilt daher für die effektive Nutzung eine spezialisierte AdWords Agentur aus Osnabrück in Anspruch zu nehmen.