mihalis's picture

A review of Mastering Go, 2nd edition

This is a review for my book that can be found in

The page of the book is here. You can also visit the web page of the book at Packt.

mihalis's picture

ImportError: cannot import name _remove_dead_weakref

While trying to renew some of the Let's Encrypt certs, I got the following error:

$ ./letsencrypt-auto renew
Error: couldn't get currently installed version for /opt/
Traceback (most recent call last):
File "/opt/", line 7, in
from certbot.main import main
File "/opt/", line 6, in
import logging.handlers
File "/usr/lib/python2.7/logging/", line 26, in
import sys, os, time, cStringIO, traceback, warnings, weakref, collections
File "/usr/lib/python2.7/", line 14, in
from _weakref import (
ImportError: cannot import name _remove_dead_weakref

The solution was to execute the following command:

$ mv /opt/ /tmp

The /opt/ directory will be recreated.

mihalis's picture

Διαλέγοντας Γλώσσα Προγραμματισμού

Πολλές φορές σε forum βλέπω την ερώτηση "Με Ποια Γλώσσα Προγραμματισμού" να ξεκινήσω προγραμματισμό.

Να ξέρετε ότι στην αρχή ο προγραμματισμός θα σας φανεί βουνό αλλά στην πορεία τα πράγματα θα είναι πιο εύκολα και ευχάριστα. Η συνεχής εξάσκηση κάνει την διαφορά.

Με τι προτείνω να αρχίσετε (πάντα σε περιβάλλον UNIX):

  • Python: όμορφη γλώσσα που με λίγο κώδικα μπορείτε να κάνετε πολλά πράγματα.
  • C: από τις καλύτερες γλώσσες προγραμματισμού που φτιάχθηκαν! Αν έχετε χρόνο και όρεξη, είναι νομίζω η καλύτερη επιλογή για αρχή. Θα μάθετε πολλές βασικές αρχές προγραμματισμού και θα μπορείτε μετά να πάτε σε οποιαδήποτε άλλη γλώσσα προγραμματισμού.
  • Go: Εξαιρετική επιλογή ακόμα και για πρώτη γλώσσα προγραμματισμού.
  • Perl: γλώσσα με πολλές δυνατότητες και πολλές βιβλιοθήκες. Προσωπικά, μου αρέσει σαν γλώσσα και την έχω χρησιμοποιήσει εκτενώς για UNIX administration tasks.
  • Swift: ο λόγος είναι απλός, macOS και iOS Development!

Με τι δεν προτείνω να αρχίσετε:

  • C++: η γλώσσα έχει γίνει τεράστια και δύσχρηστη (φυσικά αν είστε φοιτητής σχολής Πληροφορικής τα πράγματα αλλάζουν).
  • Java: δεν μου αρέσει σαν γλώσσα :)
  • Οτιδήποτε τρέχει μόνο σε Windows: C#, ASP, κ.λπ. Μακριά!!!

Μην ξεχνάτε ότι το σημαντικότερο είναι να ξεκινήσετε τον προγραμματισμό και να μην ψάχνετε συνεχώς την καλύτερη γλώσσα (που δεν υπάρχει)!! Κάποιος που γράφει καλό κώδικα σε μια γλώσσα, μπορεί να γράψει καλό κώδικα σε οποιαδήποτε γλώσσα. Κάποιος που γράφει κακό κώδικα σε μια γλώσσα, ....

mihalis's picture

GOOS + GOARCH combinations

If you want to see all valid OS/architecture pairs in Go, you should execute the following command:

$ go tool dist list

The output will be like the following:


(The GOOS value is first and the GOARCH value is second)

mihalis's picture

Mastering Go - Second Edition

Mastering Go - 2nd Edition.

Mastering Go - Second Edition: Create Golang production applications using network libraries, concurrency, machine learning, and advanced data structures.

The page of the book is here. You can also visit the web page of the book at Packt.



Subscribe to RSS - blogs