Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Topics - RicPol

Pagine: [1] 2 3 ... 10
2
Mondo Python / Python 3.9 è tra noi
« il: Ottobre 06, 2020, 10:15 »
Intanto, da ieri sera, Python 3.9.0 è arrivato...
che novità ci sono e che cosa (modestamente) penso di tutto questo: https://pythoninwindows.blogspot.com/2020/10/python-39-e-qui-e-io-sto-invecchiando.html

3
wxPython / una cosina che ho scritto su wxpython
« il: Agosto 18, 2020, 18:45 »
https://discuss.wxpython.org/t/within-frame-should-i-use-panels-or-not-to-contain-items/34818
Vi segnalo questa cosa che mi è capitato di scrivere oggi sul forum di wxPython (è in inglese... sorry). Non ho mai molto tempo per intervenire lì, ma in questo periodo di semi-vacanza...
E' un argomento piuttosto generale e "facile" (il layout e l'organizzazione del codice) ma mentre lo scrivevo mi veniva in mente che forse il mio libro non contiene questo tipo di informazioni... cioè, sono sicuro di aver scritto anche cose del genere, ma molto sparpagliate... forse ci sarebbe bisogno di un paio di capitoli su alcune tecniche di base per organizzare il layout... C'è qualcuno che ha letto il libro o lo sta leggendo, e che è in grado di dirmi se secondo lui questa sarebbe una buona idea o sarebbe solo un doppione di cose che vengono già dette altrove?
grazie...

4
ForumPython.it cafè / SIamo tornati!
« il: Luglio 21, 2020, 10:35 »
Evviva evviva, siamo tornati!
Grazie Antonio !

5
Base / Un indovinello
« il: Giugno 17, 2020, 15:41 »
A proposito di "Python linguaggio difficile da imparare", ecco un piccolo esempio che mi è venuto in mente qualche giorno fa.
Ve lo propongo come indovinello:

In Python 3 "print" è una funzione, giusto?

E allora provate a rispondere rapidamente: che cosa restituisce "print" quando lo chiamo, per esempio, con

>>> print('hello world')
hello world

?

Spiegazione e soluzione:
https://pythoninwindows.blogspot.com/2020/06/un-indovinello-su-print.html

6
Base / Non usate print
« il: Maggio 31, 2020, 11:25 »
E soprattutto, non insegnate a usare print nei vostri corsi su YouTube.

https://pythoninwindows.blogspot.com/2020/05/non-usate-print.html

Un appello disperato agli insegnanti-fai-da-te, dopo aver visto l'ennesimo disastro di "corso" per principianti su YouTube (che per carità di patria non menzionerò).
E' una goccia nell'oceano, ma insomma, non voglio morire rimproverandomi di non averci mai provato.

7
Documentazione / Nuova traduzione del tutorial di Python
« il: Maggio 24, 2020, 14:46 »
Mi ricordo di aver visto tempo fa in giro una traduzione italiana del tutorial... ma era molto vecchia, non aggiornata, adesso non la trovo neanche più. Forse era addirittura ancora per Python 2?...
Adesso però avevo bisogno di un testo italiano per un mio progetto... così mi sono messo a fare daccapo una traduzione nuova del tutorial, aggiornata e completa.

La traduzione è pubblicata qui https://pytutorial-it.readthedocs.io

La traduzione è fatta direttamente sui sorgenti rst della repository di Python: questo significa che, per esempio, tutti i link della versione originale funzionano allo stesso modo anche nella traduzione (sia lodato intersphinx per il miracolo). Inoltre, grazie a ReadTheDocs, è possibile scaricare anche le versioni Pdf e Epub.

In realtà ci sono tre versioni leggermente diverse: quella per la versione stabile, quella per la versione in pre-release (Python 3.9) e quella più aggiornata in assoluto che segue le ultime modifiche apportate alla repository di Python. Su ReadTheDocs è possibile selezionare quella che si preferisce. Tutte le versioni sono mantenute in sincrono con il testo inglese.

Per segnalare errori e problemi e magari anche contribuire (hai visto mai), aprite una issue sulla repository https://github.com/ricpol/pytutorial-it

8
System scripting / Python in Windows, il mio nuovo libro!
« il: Maggio 11, 2020, 15:57 »
In questi due mesi tappato in casa mi sono messo a riorganizzare alcuni appunti del mio blog, che ormai sono decisamente datati, frettolosi e incompleti. Ne è uscito fuori un libro,

Python in Windows. Gli strumenti, le tecniche e l'ambiente di lavoro.
https://leanpub.com/pythoninwindows

Non è un manuale di Python, ma cerca piuttosto di inquadrare l'argomento "come usare Python in ambiente Windows". RIsponde a una tonnellata di domande che ho visto porre dai principianti in questi forum, del tipo "come mai non funziona se faccio doppio clic", "come faccio a importare un modulo", "come devo organizzare un progetto" e moltissimo altro. Al contrario degli appunti del mio blog, è aggiornatissimo e molto più completo.

Potete leggere l'indice completo sulla pagina di Leanpub, e anche scaricarvi gratis il capitolo introduttivo che racconta più nel dettaglio quali sono gli argomenti trattati.
Un'altra introduzione è questa sul mio blog: https://pythoninwindows.blogspot.com/2020/05/python-in-windows-il-mio-nuovo-libro.html

Spero che vi piaccia!


9
Ho terminato (per ora) un progettino natalizio: WinPackIt, il modo facile (o quasi facile) per realizzare distribuzioni stand-alone di programmi Python su Windows.

Tutto parte da un suggerimento che avevo scritto sul mio blog, di usare le distribuzioni "embeddable" di Python per Windows, per realizzare degli ambienti "chiusi" tipo virtual environment in cui installare pip, i pacchetti esterni necessari e i file del programma Python che ci interessa distribuire. Adesso ho messo insieme uno script che automatizza la procedura, producendo automaticamente delle "build" pronte da distribuire all'utente finale.

Lo trovate su PyPI https://pypi.org/project/WinPackIt/ (quindi potete installarlo con pip), il sorgente su GitHub https://github.com/ricpol/winpackit, e la documentazione (pure in Italiano! https://github.com/ricpol/winpackit/blob/master/docs_ITA.rst che è tradotta dall'inglese quindi fa un po' schifo... cioè, non che l'inglese sia proprio scott fitzgerald ma insomma).
Su mio blog https://pythoninwindows.blogspot.com/2019/12/winpackit-il-modo-facile-per.html trovate qualche riga di presentazione in più.

Fatemi sapere... soprattutto segnalatemi i bachi... che ce ne saranno un bel po'...

10
wxPython / Libro italiano su wxPython disponibile!
« il: Maggio 19, 2019, 17:11 »
Come sa chi segue questo forum, da parecchi anni avevo una raccolta di "Appunti wxPython" online, che però aveva bisogno di una profonda revisione...

Adesso li ho rivisti, e ne è venuto fuori un libro: "Capire wxPython: strumenti e buone pratiche per progettare applicazioni GUI desktop complesse". Niente meno.

In poche parole, è la risorsa più completa su wxPython disponibile in Italiano. In qualche parola in più: https://pythoninwindows.blogspot.com/2019/05/capire-wxpython.html

Il libro si trova qui: https://leanpub.com/capirewxpython e c'è pure il campione omaggio, per chi non si fida.


11
https://computer-literacy-project.pilots.bbcconnectedstudio.co.uk/

"nel 1980 la BBC esplorava il mondo dei computer con il programma The Computer Literacy Project. Si fecero costruire un home computer (il BBC Micro) e insegnavano la programmazione ai telespettatori"

Nel 1980.

Ripeto, nel 1980. La tv publica inglese faceva questo tipo di servizio pubblico.
Capite che poi, quando si dice il divario tecnologico...


12
wxPython / Mi fate un test veloce su osx e linux?
« il: Aprile 22, 2018, 20:48 »

import wx
import wx.stc as stc

class Main(wx.Frame):
    def __init__(self, *a, **k):
        wx.Frame.__init__(self, *a, **k)
        p = wx.Panel(self)
        p.SetBackgroundColour(wx.BLACK)
        ctl = stc.StyledTextCtrl(p, style=wx.BORDER_NONE)
        # ctl = stc.StyledTextCtrl(p)
        ctl.MarginLeft = 0
        ctl.MarginRight = 0
        ctl.SetMarginWidth(1, 0)
        ctl.UseVerticalScrollBar = False
        ctl.UseHorizontalScrollBar = False
        ctl.StyleSetSpec(stc.STC_STYLE_DEFAULT, 'back:#000000')
        s = wx.BoxSizer(wx.VERTICAL)
        s.Add(ctl, 1, wx.EXPAND|wx.ALL, 30)
        p.SetSizer(s)

if __name__ == '__main__':
    app = wx.App()
    Main(None).Show()
    app.MainLoop()


avete un minuto per vedere che effetto fa questo su osx e/o linux? Se funziona, non dovreste vedere *nulla*. Una perfetta finestra nera. Per confronto, se togliete lo stile "wx.BORDER_NONE" (come nella riga commentata), dovreste vedere il bordo del widget che spicca sul nero.
Sono quasi sicuro che funziona, ma è un widget complesso e non vorrei che fosse renderizzato in modo strano su altre piattaforme...

Grazie mille!


13
Che posso dire, mi è scappata fuori un'altra guida.

Qualche giorno fa mi sono messo a raccogliere gli appunti che negli anni ho accumulato su gettext, e riordinandoli è venuto fuori questo:
https://gist.github.com/ricpol/109139e14b9835d479ba03ee13e170f6

Sono abbastanza sicuro che sia la risorsa più completa disponibile *in Italiano* sull'argomento "programmi multilingua con python" (detto anche: i18n), ma credo che anche in Inglese non troverete molte cose del genere.

Il target è python 3 su windows, ma praticamente quasi tutto quello che scrivo va bene un po' dappertutto.


14
Adesso che git è entrato a far parte stabile del workflow in casa MS, c'era da aspettarsi che cominciassero a filtrare un po' di articoli su git anche da quelle parti.

Raymond Chen ha scritto un lungo saggio di buone pratiche intitolato "stop cherry picking, start merging", dove spiega
- che il cherry picking è una cattiva pratica e non si dovrebbe mai fare
- che git non supporta ufficialmente il partial merging, ma non è difficile farlo comunque
- e poi esamina una serie di scenari in cui conviene fare merging invece di cherry picking.

E' una lettura molto interessante, ovviamente dedicata a chi usa git in modo (semi)professionale. https://blogs.msdn.microsoft.com/oldnewthing/20180323-01/?p=98325

Sempre da Raymond Chen, un articolo più aneddotico che fa il punto dei recenti sviluppi dell'uso di git in casa MS: per esempio, solo la "creator update" di windows è stata una botta di 4 milioni di commit. E MS ha dovuto inventarsi un meccanismo di queueing per i pull request, perché una tipica giornata di lavoro da quelle parti ha centinaia di pull request che provocano race conditions a non finire col normale meccanismo di risoluzione dei pull request di git. Eccetera. https://blogs.msdn.microsoft.com/oldnewthing/20180326-00/?p=98335

15
Tempo fa si discuteva (non ricordo il thread) sul fatto che lo stato dell'arte della programmazione asincrona in Python era difficile da capire, perché le api sono cambiate molto nel recente passato, e perché non ci sono ancora grossi progetti di successo che suggeriscono (o magari impongono) uno stile.
Adesso le api sono ferme da un po', e anche i progetti cominciano ad arrivare. Andrew Godwin ha riscritto Django Channels come una libreria asincrona (e notare che Django di per sé non è asincrono), e dalla sua esperienza tira fuori un buon manuale pratico, qui:
https://www.aeracode.org/2018/02/19/python-async-simplified/
Attenzione, *non* è un tutorial, suppone che già conosciate il problema e le api. Ma mi sembra molto chiaro. Il codice di Channels potrebbe essere un buon punto da cui partire.

Dall'altra parte del fiume, segnalo questa cheat-sheet di come si fanno le cose in Go, rivolta ai programmatori Python.
https://medium.com/dev-bits/a-cup-of-gos-concurrent-programming-for-python-developers-a80e621c45ff
Non ho una conoscenza di Go abbastanza approfondita da dire se l'autore dice stupidaggini, ma non mi sembra e ve lo consiglio.

Pagine: [1] 2 3 ... 10