Syndicate content

Programmazione

Introduzione al debug degli script bash

bash_icon

Gran parte del lavoro degli amministratori di un sistema Unix/Linux ha a che fare con l’automatizzazione di procedure spesso piuttosto complesse e lunghe che servono per la quotidiana configurazione, gestione e manutenzione del sistema. Per l’automazione delle procedure e dei task in carico all’amministratore di un sistema, gli script di shell sono un’arma molto potente, ma allo stesso tempo rappresentano un’arma a doppio taglio, quando la complessità dello script e le sue dimensioni divengono tali da creare situazioni in cui sviste o errori sono molto probabili.

Reverse Engineering e protezione del codice, i metodi più validi e diffusi

binario_logo

Il reverse engineering è il processo attraverso il quale è possibile studiare il comportamento di un software di cui si conosce solo il codice binario, andando ad indagare non solo sul modo di funzionamento ma sulla struttura originaria. Lo scopo di questa tecnica, nasce come necessità di comprensione dei meccanismi di funzionamento dei sistemi chiusi, al fine di poterne capire punti di debolezza per correggere o migliorare il software stesso, o in alcuni casi sfruttarne le debolezze per creare punti di accesso ad un sistema. La pratica del reverse engineering è diffusa soprattutto verso quei software non open, vale a dire software commerciali, o anche gratuiti di cui il proprietario non rilascia il codice sorgente.

VisualStudio, Smartphone e Windows Mobile: installazione e prima applicazione

Windowsmobile_logo

La prima volta che ho visto un cellulare ero un bambino, si trattava di un NEC p4, una sorta di citofono senza filo, acquistato da mio padre per motivi di lavoro. Telefonava, e aveva la rubrica, quanto bastava per essere rintracciati sempre e dovunque.

Performance nella programmazione: uno sguardo a problemi concreti

codiceesempio_logo

Giungiamo alla fine del nostro speciale dedicato alla ottimizzazione del codice delle nostre applicazioni: ottimizzare significa avere maggiori performance per le proprie applicazioni, risolverne i bugs e avere un risparmio significativo sulla nostra infrastruttura hardware. 

Profiling per migliorare il codice delle applicazioni

codiceesempio_logo

L'utilizzo di un tool di profiling risulta molto utile per misurare le performances dei programmi ed individuare i punti del codice responsabili del calo delle prestazioni; a valle dell'analisi condotta con un profiler è possibile pianificare gli interventi da fare per migliorare le performances del codice. Ogni scelta progettuale, sia hardware sia software, va misurata per valutare l'effettiva efficacia relativa, ed ogni implementazione andrebbe confrontata con le possibili alternative scartate per valutarne l'efficacia assoluta.

Ottimizzare il codice delle nostre applicazioni. Introduzione

codiceesempio_logo

L’attività di un programmatore è spesso rivolta alla semplice scrittura del codice. Il programmatore  analizza il problema per trovare la soluzione migliore e la implementa; la necessità di individuare e preparare la soluzione in tempi brevi, ha come effetto collaterale di dover tralasciare alcuni aspetti altrettanto importanti quanto il codice stesso, quali la sicurezza, e conseguenza di questo è l’emergere di bugs e vulnerabilità o instabilità del codice; un altro aspetto spesso tralasciato riguarda le performances. Il concetto “basta che funzioni”, che esegua  quello per cui è stato progettato non è un obiettivo valido per scrivere software di qualità.

Quick start con le Google Maps API

2t_google-maps-icon-1.jpg

Ormai da tempo il mercato dei OS si è avvantaggiato della presenza di nuovi competitor, che sebbene siano molti giovani sono riusciti a rosicchiare fette di mercato ed estimatori alle due super potenze che da anni si contendono i favori degli utenti.

JRuby: un linguaggio dinamico per la JVM

jruby_logo

Negli ultimi anni sono nati vari linguaggi scritti in Java ed eseguibili sulla Java Virtual Machine: ci sono delle reimplementazioni di alcuni gia' esistenti, scritti in C, come per esempio JRuby, Jython, Rhino (JavaScript) e PHP (progetto Quercus).

Altri linguaggi sono nati direttamente per essere eseguiti sulla JVM e i piu' famosi sono Groovy, Scala, Clojure (un dialetto di Lisp) e JavaFX. 

Java e' un linguaggio di programmazione affermato, sopratutto in ambiente enterprise ed e' l'alternativa Open Source  a .NET.


Bookmarks aggiornati sul proprio spazio grazie a JSON e PHP

php-logo.png

Può capitare che su un pc non nostro, la navigazione risulti assai più complicata rispetto a quanto siamo abituati quando lavoriamo con il nostro computer. Chi naviga spesso infatti, utilizza i preferiti in maniera frequente e di conseguenza, tende a dimenticarsi più facilmente anche gli indirizzi che controlla più spesso.

Programmazione PHP, condivisione dei dati nei processi paralleli, socket e flags nei database

PHP_logo

Secondo articolo conclusivo sull'automazione nel linguaggio PHP, nel primo articolo abbiamo visto che questo linguaggio può essere anche di aiuto nel caso di operazioni di interfacciamento a dispositivi esterni, per creare piccoli controlli automatici. In questa seconda parte vediamo altre funzionalità di PHP che ci consentono di uscire dalla programmazione comune che si effettua con questo linguaggio, iniziamo con i processi paralleli e concludiamo con uno sguardo ai database condivisi.