Esempi di codice creati tramite AI copilot: gestione post wordpress con python
In questo post e nei successivi voglio riportare alcuni test che sto facendo usando Copilot di Github integrato in Visual Studio code. Ritengo lo strumento molto interessante perché velocizza lo sviluppo di applicazioni in molti linguaggi specie su attività standard. Nel caso di Python ad esempio l’ho testato su casi come integrazione con framework noti, creazione di funzioni matematiche, connessione a db, uso di librerie conosciute anche complesse es. keras, tensorflow, oppure integrazioni con sistemi tipo flask etc. etc.. insomma un bel pò di roba interessante specie per chi non sviluppa tutti i giorni e quindi è sempre in crisi quando non ricorda la modalità con cui integrare o le sintassi da utilizzare, insomma un buon supporto nello sviluppo.
Per chi fosse interessato lascio anche qui il riferimento a Copilot, in ogni caso proverò a dare la mia descrizione: si può dire che Copilot è un’intelligenza artificiale che permette di scrivere codice in modo automatizzato digitando nomi di funzioni o descrivendo ciò che si desidera ottenere con il linguaggio naturale. Un’altra cosa interessante è che l’AI si adatta al codice che stai scrivendo e propone soluzioni a problemi concreti contestualizzati a ciò che stai facendo. In altre parole utilizzando il linguaggio naturale, il programmatore può chiedere a GitHub Copilot di scrivere codice al suo posto. Secondo i dati condivisi da GitHub circa il 40% del codice caricato sulla piattaforma è stato generato usando proprio Copilot, pare infatti che ad ottobre 2021 l’intelligenza artificiale di Copilot aveva scritto il 30% del codice pubblicato su GitHub.
Ad ogni modo qui un esempio veramente semplice di codice sviluppato con Copilot. Il primo test fatto in pochi minuti senza aver mai mai visto prima le librerie di python per WordPress. Ho sperimentato pertanto uno sviluppo senza conoscere il contenuto che avrebbe proposto l’IA ed i risultati sono stati molto interessanti.
Ho testato il software sul mio blog è devo dire che funziona.
from wordpress_xmlrpc import Client, WordPressPost from wordpress_xmlrpc.methods.posts import GetPosts, NewPost, EditPost, DeletePost from wordpress_xmlrpc.methods.users import GetUserInfo def connect_with_wordpress(): wp = Client('https://<url_sito_wordpress>/xmlrpc.php', '<username>', '<password>') return wp def get_posts(id): wp = connect_with_wordpress() posts = wp.call(GetPosts()) for post in posts: if post.id == id: returnpost def get_user_info(): wp = connect_with_wordpress() user = wp.call(GetUserInfo()) print(user) def print_list_all_posts(): wp = connect_with_wordpress() posts = wp.call(GetPosts()) for post in posts: print(post.title) print(post.id) print(post.content) def get_list_wp_status_post(): wp = connect_with_wordpress() posts = wp.call(GetPosts()) for post in posts: print(post.title) print(post.id) print(post.post_status) def new_post(title, content): wp = connect_with_wordpress() post = WordPressPost() post.title = title post.content = content post.post_status = 'draft' wp.call(NewPost(post)) def edit_post(id, title, content): wp = connect_with_wordpress() post = get_posts(id) post.title = title post.content = content wp.call(EditPost(id, post)) def delete_post(id): wp = connect_with_wordpress() wp.call(DeletePost(id)) def get_all_posts_with_status(status): wp = connect_with_wordpress() posts = wp.call(GetPosts()) for post in posts: if post.post_status == status: print(post.id,post.title,post.post_status) def main(): print_list_all_posts() #get_list_wp_status_post() #get_user_info() # print(get_posts(1)) #new_post('test', 'test') #get_all_posts_with_status('draft') #delete_post(3920) if __name__ == '__main__': main()
Sono amante della tecnologia e delle tante sfumature del mondo IT, ho partecipato, sin dai primi anni di università ad importanti progetti in ambito Internet proseguendo, negli anni, allo startup, sviluppo e direzione di diverse aziende; Nei primi anni di carriera ho lavorato come consulente nel mondo dell’IT italiano, partecipando attivamente a progetti nazionali ed internazionali per realtà quali Ericsson, Telecom, Tin.it, Accenture, Tiscali, CNR. Dal 2010 mi occupo di startup mediante una delle mie società techintouch S.r.l che grazie alla collaborazione con la Digital Magics SpA, di cui sono Partner la Campania, mi occupo di supportare ed accelerare aziende del territorio .
Attualmente ricopro le cariche di :
– CTO MareGroup
– CTO Innoida
– Co-CEO in Techintouch s.r.l.
– Board member in StepFund GP SA
Manager ed imprenditore dal 2000 sono stato,
CEO e founder di Eclettica S.r.l. , Società specializzata in sviluppo software e System Integration
Partner per la Campania di Digital Magics S.p.A.
CTO e co-founder di Nexsoft S.p.A, società specializzata nella Consulenza di Servizi in ambito Informatico e sviluppo di soluzioni di System Integration, CTO della ITsys S.r.l. Società specializzata nella gestione di sistemi IT per la quale ho partecipato attivamente alla fase di startup.
Sognatore da sempre, curioso di novità ed alla ricerca di “nuovi mondi da esplorare“.
Comments