-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
275 lines (228 loc) · 15.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="utf-8">
<title>Javascript Best Practices: impara a scrivere codice js professionale - AA.VV.</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Il libro sulle best practice su Javascript scritto dalla community per la community">
<meta name="author" content="Francesco Fullone">
<!-- Le styles -->
<link href="./css/bootstrap.min.css" rel="stylesheet">
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
.hero-unit {
background-image: url('img/bg_body.jpg');
}
code {
color: #506db1;
font-weight: bold;
}
.icon-user{
background: url("img/twitter.png");
}
a{
color: #506db1;
}
.avatar{
width:50px;
float: left;
margin-right: 5px;
padding: 3px;
border: 1px solid #ccc;
}
.hero-unit h1 {
padding-bottom: 10px;
}
.phpbestpractices {
border: 1px solid #ccc;
padding: 3px;
background-color: #ddd;
}
</style>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="shortcut icon" href="/favicon.ico">
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-3559597-8']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<meta property="og:title" content="Javascript Best Practices - un libro-iniziativa del GrUSP" />
<meta property="og:description" content="Javascript Best Practices, il primo libro nel suo genere in lingua italiana, affronta dal punto di vista di alcuni professionisti di spicco nel mondo Javascript italiano le migliori pratiche di sviluppo introdotte dalle nuove versioni del linguaggio." />
<meta property="og:image" content="http://www.jsbestpractices.it/img/cover.png" />
</head>
<body data-spy="scroll">
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=253491758028026";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="navbar navbar-fixed-top" id="navbarbook">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="#">JsBestPractices</a>
<div class="nav-collapse">
<ul class="nav">
<li><a href="#contents">Contenuti</a></li>
<li><a href="#code">Codice</a></li>
<li><a href="#buy">Acquista</a></li>
<li><a href="#authors">Autori</a></li>
<li><a href="http://www.grusp.org">GrUSP</a></li>
<li><a href="http://www.fag.it">FAG Editore</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container">
<!-- Main hero unit for a primary marketing message or call to action -->
<div class="hero-unit">
<h1>Javascript Best Practices</h1>
<div class="row">
<div class="span8">
<p class="strong">Con la continua evoluzione delle tecnologie relative al web è sempre più importante poter lavorare garantendo alti standard di qualità al fine di ridurre i costi di gestione delle applicazioni. In questo libro vengono raccolte le migliori pratiche su Javascript per lo sviluppo di applicazioni professionali per il web e non solo. Scritto da professionisti del settore, il volume raccoglie consigli utili e pratici provenienti da anni di esperienza nello sviluppo in Javascript sia per il frontend che per il backend.</p>
</div>
</div>
</div>
<!-- Example row of columns -->
<div class="row" id="contents">
<div class="span4">
<div class="thumbnail">
<a href="http://qrurl.it/r/24g"><img src="./img/cover.jpg" alt="cover" /></a>
<div class="caption">
<p>Vuoi avere una succosa anteprima del libro? Che aspetti?</p>
<div id="buy">
<a href="https://www.paywithatweet.com/pay/index.php?id=2164c27aa643a1b609e2ef5e160357ed" class="btn btn-success btn-large"><i class="icon-download"></i> Leggi un capitolo gratis!</a>
<a href="http://www.fag.it/libro_programmare_con_javascript__best_practices_39024.aspx" class="btn btn-info btn-large"><i class="icon-book"></i> Acquista</a>
<br />
</div>
</div>
</div>
</div>
<div class="span4">
<h2>Cosa contiene questo libro</h2>
<p>Aggiornato alle ultime tecnologie relative a Javascript il volume affronterà anche le principali librerie ad oggi presenti sul mercato per lo sviluppo server side con javascript. Tra gli argomenti trattati: Imparare a testare il proprio codice tramite la libreria <strong>Mocha</strong> e <strong>Zombie.js</strong>. Migliorare le <strong>performance delle proprie applicazioni</strong>. Utilizzare <strong>CoffeeScript</strong> come meta linguaggio. Sfruttare <strong>Node.Js</strong> per creare applicazioni realtime. Imparare le pratiche della <strong>programmazione asincrona</strong>. <strong>HTML5 e localstorage</strong> come strumenti di salvataggio dati. Imparare i principali <strong>pattern</strong> di sviluppo con javascript.</p>
<div class="pagination-centered">
<h3>Questo libro è supportato da:</h3>
<a href="http://www.grusp.it"><img src="./img/grusp.png" alt="grusp"/></a><br/>
<a href="http://www.jsday.it"><img src="./img/jsday.png" alt="jsday" /></a>
</div>
</div>
<div class="span4">
<h2>Per chi è questo libro</h2>
<p>Il libro è dedicato a tutti gli <strong>sviluppatori Javascript</strong>, sia quelli più esperti sia quelli alle prime armi.</p>
<p><strong>Programmare con Javascript: Best Practices</strong> è stato studiato come un ricettario, da cui ognuno può tirare fuori la migliore ricetta e rielaborarla secondo le proprie necessità.</p>
<p>Non solo teoria, ma anche <strong>molti esempi concreti</strong> e casi di studio che permettono di mettere subito in pratica ciò che si è appreso.</p>
<div class="fb-like-box" data-href="https://www.facebook.com/jsbestpractices" data-width="348" data-height="275" data-show-faces="true" data-stream="false" data-header="true"></div>
</div>
</div>
<hr>
<div class="row" id="code">
<div class="span8">
<h2>Feedback e codice di esempio</h2>
<p>Per tutti noi i feedback sono molto importanti: ci daranno la misura di quanto siamo riusciti a raggiungere gli obiettivi prefissati con questo libro e ci aiuteranno a fare meglio la prossima volta.</p>
<p>Potete contattarci e scaricare gli esempi tramite il <i class="icon-download-alt"></i> <a href="https://github.com/GrUSP/jsbestpractices">repository GitHub</a> e la relativa pagina <a href="http://www.facebook.com/jsbestpractices">Facebook</a>.</p>
<div class="well">
<h3>Questo libro ti piace? Dillo ai tuoi amici!</h3>
<p>
<!-- AddThis Button BEGIN -->
<div class="addthis_toolbox addthis_default_style ">
<a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>
<a class="addthis_button_tweet"></a>
<a class="addthis_button_google_plusone" g:plusone:size="medium"></a>
<a class="addthis_counter addthis_pill_style"></a>
</div>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4e5ebfc30280a1a8"></script>
<!-- AddThis Button END --> </p>
</div>
</div>
<div class="span4">
<h2>Risorse utili</h2>
<p>La comunità Javascript è sempre in fermento ed è sempre possibile trovare interessanti risorse sul web.</p>
<p>Sicuramente possiamo consigliarvi il sito del <a href="http://www.grusp.it">GrUSP</a> e alla relativa mailing list.</p>
<p>Non dimenticatevi, inoltre, che molte novità, con i relativi approfondimenti, arrivano dalle conferenze come il <a href="http://www.jsday.it">jsDay</a>.</p>
<p>Se vi sentite particolarmente pigri esiste un collettore di blog sul linguaggio, chiamato <a href="http://dailyjs.com">DailyJs</a>, ed un sito ricco di tutorial sempre aggiornati, <a href="https://developers.google.com/web/">https://developers.google.com/web/</a>. Entrambi i siti rappresentano un ottimo spunto da cui far partire le proprie sessioni di studio.</p>
</div>
</div>
<hr>
<div class="row" id="authors">
<div class="span12"><h2>Gli Autori</h2></div>
<div class="span6">
<address>
<img class="avatar" src="img/collina.jpg" />
<h3>Matteo Collina</h3>
<span class="label label-info">[email protected]</span> <a href="http://twitter.com/matteocollina" class="label"><i class="icon-user icon-white"></i> @matteocollina</a>
</address>
<p><a href="http://www.matteocollina.com">Matteo Collina</a> trita codice da quando aveva 8 anni, un'Amiga e un papà molto paziente. Nel frattempo ha imparato a risolvere problemi reali scrivendo software, ha preso una laurea specialistica con lode in Ingegneria Informatica e ha tenuto interessanti talk a svariate conferenze in tutta Italia e non (Distill, PIRMC, Codemotion, Rubyday.it, JsDay, Nodejsconf.it). Matteo è un programmatore "poliglotta" e divide il suo tempo programmando in Javascript, Ruby, Java e Obj-C. Dal 2009 aiuta aziende e startup a implementare soluzioni software innovative. Da inizio 2011 è studente di dottorato presso l'Università di Bologna, con un progetto di ricerca sull'Internet of Things. Nel tempo libero ama veleggiare nello Scirocco.</p>
</div>
<div class="span6">
<address>
<img class="avatar" src="img/fullo.jpg" />
<h3>Francesco Fullone</h3>
<span class="label label-info">[email protected]</span> <a href="http://twitter.com/fullo" class="label"><i class="icon-user icon-white"></i> @fullo</a>
</address>
<p><a href="http://www.linkedin.com/in/fullo">Francesco Fullone</a>, è un nerd, un otaku ed un neo-papà occasionalmente impegnato come imprenditore e mentor di startup. Adora lavorare su tutto quello che può essere definito "il web" e si diverte come un matto a invalidare i modelli di business che gli sono proposti. Lo trovate su quasi tutti i social network come <a href="http://twitter.com/fullo">@fullo</a> e, occasionalmente, in ufficio presso la sede di <a href="http://www.ideato.it">ideato</a>. Dedica il poco tempo libero ai viaggi di piacere, alla scrittura di libri ed all'organizzazione di eventi e conferenze riguardo tecnologie web collaborando a tal scopo, e con il ruolo di presidente, con l'associazione degli sviluppatori italiani di PHP chiamata <a href="http://www.grusp.org">GrUSP</a>.</p>
</div>
</div>
<div class="row">
<div class="span6">
<address>
<img class="avatar" src="img/galassi.jpg" />
<h3>Federico Galassi</h3>
<span class="label label-info">[email protected]</span> <a href="http://twitter.com/federicogalassi" class="label"><i class="icon-user icon-white"></i> @federicogalassi</a>
</address>
<p><a href="http://federico.galassi.net">Federico Galassi</a> programma dai tempi del C64, professionalmente da oltre 10 anni. Adora web, linguaggi dinamici e il costante perfezionamento personale. È un software craftsman in Clean Code dove cerca di forgiare buoni prodotti software. Ha un blog dove si produce in interminabili rant sulle tante tecnologie storte che inquinano il mondo e gira per conferenze ad evangelizzare le poche luminose. Ama passare il proprio tempo libero con la famiglia e giocando a scacchi.</p>
</div>
<div class="span6">
<address>
<img class="avatar" src="img/ezimuel.jpg" />
<h3>Enrico Zimuel</h3>
<span class="label label-info">[email protected]</span> <a href="http://twitter.com/ezimuel" class="label"><i class="icon-user icon-white"></i> @ezimuel</a>
</address>
<p>Laureato in Economia Informatica presso l’Università di Chieti-Pescara, ha svolto attività
di ricerca presso l’Informatics Institute dell’Università di Amsterdam. Software
Engineer dal 1996, lavora come Senior PHP Engineer per <a href="http://www.zend.com">Zend Technologies</a>, nel team
di sviluppo di <a href="framework.zend.com">Zend Framework</a>. È relatore in diverse conferenze internazionali sul
PHP e sulla sicurezza informatica. È socio del GrUSP e fondatore del primo <a href="http://torino.grusp.org">PHP User Group di Torino</a>.</p>
</div>
</div>
<div class="row ">
<div class="span12 phpbestpractices">
<a href="http://www.phpbestpractices.it"><img src="./img/phpbestpractices.png" alt="degli stessi autori: phpbestpratices" align="right"></a>
<address>
<h4>degli stessi autori</h4>
<h3>Programmare con PHP: Best Practices</h3>
<a href="http://phpbestpractices.it" class="label label-info">http://phpbestpractices.it</a>
</address>
<p>Il libro è suddiviso in tre parti. Nella prima si parla della community PHP, a livello mondiale e a italiano, e delle novità più importanti di PHP 5.4.
La seconda parte del libro è incentrata sull’introduzione e la descrizione di librerie specifiche messe a disposizione dal linguaggio. In particolare, si parla di Standard PHP Library, della gestione delle date e del tempo, di cloud computing, dei sistemi di caching e dei concetti alla base delle tecnologie REST e dei web services.
La terza e ultima parte è dedicata alle buone pratiche, sia metodologiche sia tecniche. In primo luogo, vengono trattati i pattern e gli aspetti legati alla sicurezza e alla crittografia dei dati. Viene quindi dato ampio spazio alle problematiche di pubblicazione del codice, con due capitoli dedicati al deploy e alla Continuous Integration.
Vengono infine illustrate le migliori pratiche per fare Test Driven Development, per calcolare le metriche del codice e per la profilazione delle applicazioni, al fine di renderle più performanti.</p>
</div>
</div>
<footer>
<p>© AA.VV. - FAG Edizioni - © 2013</p>
</footer>
</div> <!-- /container -->
<!-- Placed at the end of the document so the pages load faster -->
</body>
</html>