Skip to content

Commit 4c1fd6e

Browse files
author
Sander Mak
committed
Various changes
1 parent 50c0956 commit 4c1fd6e

14 files changed

+44
-91
lines changed

Diff for: css/style.css

+10-23
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: img/alexbuckley.png

-1.12 MB
Loading

Diff for: img/author-img.jpg

-26.4 KB
Binary file not shown.

Diff for: img/book-1.png

-91.3 KB
Binary file not shown.

Diff for: img/book-2.png

-90.6 KB
Binary file not shown.

Diff for: img/book-3.png

-87.8 KB
Binary file not shown.

Diff for: img/java.se.ee.dot.png

2.49 MB
Loading

Diff for: img/java.se.ee.small.dot.png

112 KB
Loading

Diff for: img/java9modularity-3d-cover.png

-111 KB
Loading

Diff for: img/java9modularity-flat-cover.png

-317 KB
Loading

Diff for: img/people-1.jpg

-3.57 KB
Binary file not shown.

Diff for: img/people-2.jpg

-4.71 KB
Binary file not shown.

Diff for: index.html

+19-41
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,9 @@
5656
<ul class="nav navbar-nav navbar-right">
5757
<li><a data-scroll href="#services">The Book</a></li>
5858
<li><a data-scroll href="#features">Chapters</a></li>
59-
<li><a data-scroll href="#description">Description</a></li>
59+
<li><a data-scroll href="#description">Why Modules?</a></li>
6060
<li><a data-scroll href="#feedback">Feedback</a></li>
6161
<li><a data-scroll href="#plans">Buy</a></li>
62-
<li><a data-scroll href="#download">Download</a></li>
6362
<li><a data-scroll href="#contact">Resources</a></li>
6463
</ul>
6564
</div>
@@ -164,12 +163,19 @@ <h2 class="page-header wow fadeInUp" data-wow-delay=".2s">Chapters</h2>
164163
<div class="container">
165164
<div class="row">
166165
<div class="description-left col-sm-offset-1 col-sm-10 col-md-offset-0 col-md-6 wow fadeInLeft" data-wow-delay=".2s">
167-
<h2 class="page-header page-header-left">Description Book</h2>
168-
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.</p>
169-
<p>Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a</p>
166+
<h2 class="page-header page-header-left">Why Modules?<h2>
167+
<p>What is modularity in Java? To some, it’s a principle for development: programming to interfaces and hiding the details of implementations. This is the “school of encapsulation”. To others, it’s about leaning hard on class loaders to provide dynamic execution environments. This is the “school of isolation”. To still others, it’s about artifacts, repositories, and tooling. This is the “school of configuration”. Individually, these perspectives are valid, but they feel like pieces of a larger story that’s not quite clear. If a developer knows that some portion of their code is for internal use only, why can’t they hide a package as easily as hiding a class or a field? If code can only be compiled and run in the presence of its dependencies, why don’t those dependencies flow smoothly from compilation to packaging to installation to execution? If tools only work when presented with pristine self-describing artifacts, how can anyone reuse older libraries that are just plain JAR files?</p>
168+
169+
<p>Java 9 offers a coherent story for modularity by introducing modules as a first-class feature of the Java platform. A module is a set of packages designed for reuse. This simple concept has a surprisingly powerful impact on how code is developed, deployed, and run. The longstanding mechanisms for promoting and controlling reuse in Java – interfaces, access control, JAR files, class loaders, dynamic linking – all work better when packages are placed into modules.</p>
170+
171+
<p>First, modules clarify the structure of a program in a way that other mechanisms cannot. Many developers will be surprised that their code is not as well structured as they thought. For example, a codebase spread across multiple JAR files has a good chance of cycles between classes in different JAR files, but cycles between classes in different modules are forbidden. One of the motivations for investing in the modularization of a codebase is the knowledge that, once complete, there won’t be any backsliding into the ball of mud that cyclic dependencies allow. Developing with modules also leads to programming with services, which reduce coupling and increase abstraction even further.</p>
172+
173+
<p>Second, modules engender a sense of responsibility for code in a way that other mechanisms cannot. A developer who exports packages from a module is making a commitment to a stable API, and even the name of the module itself is part of the API. A developer who bundles too much functionality into a single module will cause that module to drag in a large number of dependencies which are irrelevant for any single task; anyone who reuses the module will realize its sprawling nature even if its internals are hidden. Developing with modules encourages every developer to think about the stability and cohesiveness of their code.</p>
174+
<p>&mdash; <i>Alex Buckley</i>, Oracle Platform Team<br>
175+
<span class="text-muted">(Excerpt from the foreword of Java 9 Modularity.)<span></p>
170176
</div>
171177
<div class="description-right col-sm-offset-1 col-sm-10 col-md-offset-0 col-md-6">
172-
<img src="img/book-3.png" alt="Book" class="img-responsive wow fadeInRight" data-wow-delay=".2s">
178+
<a id="modulegraph" href="img/java.se.ee.dot.png" target="_blank"><img src="img/java.se.ee.small.dot.png" title="Subset of JDK 9 module graph (click to enlarge)" alt="Subset of JDK 9 module graph" class="img-responsive wow fadeInRight" data-wow-delay=".2s"></a>
173179
</div>
174180
</div>
175181
</div>
@@ -187,7 +193,7 @@ <h2 class="page-header page-header-left">Description Book</h2>
187193
<h2 class="page-header page-header-left">About the Authors</h2>
188194
<h3>Sander Mak</h3>
189195
<p>Sander is a Fellow at <a href="https://www.luminis.eu">Luminis</a> in The Netherlands. At Luminis, he crafts modular and scalable software, most often on the JVM but with a touch of TypeScript where needed. He is author of the O'Reilly book 'Java 9 Modularity' and an avid conference speaker.</p>
190-
<p>Sander loves sharing knowledge, through his blog at <a href="http://branchandbound.net">http://branchandbound.net</a>, and also as <a href="https://www.pluralsight.com/authors/sander-mak">Pluralsight</a> instructor.</p>
196+
<p>Sander loves sharing knowledge, through his blog at <a href="http://branchandbound.net">http://branchandbound.net</a>, and also as <a href="http://bit.ly/sander-ps">Pluralsight</a> instructor.</p>
191197
<a href="https://twitter.com/sander_mak" class="twitter-follow-button" data-show-count="false">Follow @sander_mak</a>
192198
</div>
193199
</div>
@@ -251,7 +257,7 @@ <h3>Alex Buckley</h3>
251257
<div class="row">
252258
<div class="col-sm-offset-1 col-sm-10 col-lg-offset-2 col-lg-8">
253259
<h2 class="page-header wow">Get the Book</h2>
254-
<p class="page-heade-p">Below you'll find a number of options to get <i>Java 9 Modularity</i>. Consider leaving a review after reading, it is much appreciated!</p>
260+
<p class="page-heade-p">Below you'll find a number of options to get <i>Java 9 Modularity</i>. Consider leaving a review after reading (for example, on <a href="https://www.goodreads.com/book/show/31332944-java-9-modularity" target="_blank">Goodreads</a> or <a href="https://www.amazon.com/review/create-review/ref=cm_cr_dp_d_wr_but_top?ie=UTF8&amp;channel=glance-detail&amp;asin=1491954167&_encoding=UTF8&tag=branandboun-20&linkCode=ur2&linkId=c893f6df1a4749fe64e9b7ede9bf4b56&camp=1789&creative=9325" target="_blank">Amazon</a>), it is much appreciated!</p>
255261
</div>
256262
</div>
257263
<div class="row">
@@ -260,13 +266,10 @@ <h2 class="page-header wow">Get the Book</h2>
260266
<h3>Read Online</h3>
261267
<br>
262268
<p>Safari Books online offers the largest selection of IT books on a subscription basis. You can read Java 9 Modularity with a Safari subscription.</p>
263-
<p><a href="https://www.safaribooksonline.com/library/view/java-9-modularity/9781491954157/" target="_blank" class="btn btn-primary">Read on Safari</a></p>
269+
<p><a id="safaributton" href="https://www.safaribooksonline.com/library/view/java-9-modularity/9781491954157/" target="_blank" class="btn btn-primary">Read on Safari</a></p>
264270
<p>No subscription? <a href="https://bit.ly/java9modsafari" target="_blank">Start a trial</a>!</p>
265271
<br>
266272
<a href="https://bit.ly/java9modsafari" target="_blank"><img src="img/safari-og.png" width="240px"></a>
267-
<br>
268-
<br>
269-
<br>
270273

271274
</div>
272275

@@ -304,34 +307,17 @@ <h3>Print</h3>
304307
</div>
305308
</section>
306309
<!-- End Plans -->
307-
<!-- Begin Download -->
308-
<section class="download" id="download">
309-
<div class="container">
310-
<div class="row">
311-
<div class="col-sm-offset-1 col-sm-10 col-lg-offset-2 col-lg-8">
312-
<h2 class="page-header wow fadeInUp" data-wow-delay=".2s">Download Book</h2>
313-
<p class="page-heade-p wow fadeInUp" data-wow-delay=".3s">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Provident, fugit recusandae laudantium nulla, consectetur quasi autem architecto nesciunt soluta? Cum incidunt ad totam!</p>
314-
</div>
315-
</div>
316-
<div class="row">
317-
<div class="col-xs-12 wow fadeInUp" data-wow-delay=".4s">
318-
<button type="button" class="btn btn-big btn-primary"><span><img src="img/solid-icon-pack/icon-apple-itunes-book.svg" alt="iTunes Book"></span>iTunes Books</button>
319-
<button type="button" class="btn btn-big btn-primary"><img src="img/solid-icon-pack/icon-google-play-book.svg" alt="Google Play Book">Play Book</button>
320-
</div>
321-
</div>
322-
</div>
323-
</section>
324-
<!-- End Download -->
310+
325311
<!-- Begin Contact Us -->
326312
<section class="contact" id="contact">
327313
<div class="container">
328314
<h2 class="page-header wow fadeInUp" data-wow-delay=".2s">Other Resources</h2>
329315
<div class="row">
330316
<div class="col-md-5">
331317
<h3>Pluralsight Course: Java 9 Modularity</h3>
332-
<iframe width="427" height="240" src="https://www.youtube.com/embed/1dnE8GRt68I" frameborder="0" allowfullscreen></iframe>
318+
<iframe width="461" height="258" src="https://www.youtube.com/embed/1dnE8GRt68I" frameborder="0" allowfullscreen></iframe>
333319
<p>This two hour video course gives you insight into the Java module system using practical examples. You'll learn how to create and use modules and how to migrate your applications to Java 9.</p>
334-
<a class="btn btn-big btn-primary" href="http://bit.ly/j9modcourse">Watch</a> (free <a href="https://bit.ly/pluralsighttrial" target="_blank">trial</a> available)
320+
<a class="btn btn-big btn-primary" href="http://bit.ly/j9modcourse">Watch</a> (free <a href="http://bit.ly/pluralsightlearn" target="_blank">trial</a> available)
335321
</div>
336322
<div class="col-md-1">
337323
</div>
@@ -348,15 +334,7 @@ <h3>Articles and News</h3>
348334
<!-- Begin Footer -->
349335
<footer class="footer" id="footer">
350336
<div class="container">
351-
<h2 class="page-header">Subscribe to our Newsletter</h2>
352-
<div class="row">
353-
<form class="col-xs-12 form-inline" id="subscribe">
354-
<div class="form-group">
355-
<input type="email" name="email" class="form-control" placeholder="Email" required="required">
356-
</div>
357-
<button type="submit" class="btn btn-primary">Subscribe</button>
358-
</form>
359-
</div>
337+
<h2 class="page-header">Java 9 Modularity</h2>
360338
<div class="row">
361339
<div class="footer-bottom">
362340
<div class="col-xs-12 col-sm-6">

Diff for: scss/style.scss

+15-27
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,11 @@ img, svg {
342342
opacity: 0;
343343
}
344344
&-main {
345+
p.subtitle {
346+
margin-top: -1.8em;
347+
font-family: $header-font;
348+
font-size: 1.1em;
349+
}
345350
padding-top: 180px;
346351
h1 {
347352
margin-bottom: 25px;
@@ -461,7 +466,9 @@ img, svg {
461466
padding: 75px 0;
462467
background: $bg-light;
463468
img {
464-
margin: 0 auto;
469+
470+
margin-top: 20em;
471+
465472
}
466473
p {
467474
margin-bottom: 25px;
@@ -523,11 +530,17 @@ img, svg {
523530
.plans {
524531
padding-bottom: 75px;
525532
background: $bg-dark;
533+
534+
a#safaributton {
535+
margin: 5px;
536+
}
537+
526538
.item-main {
527539
padding: 40px;
528540
text-align: center;
529541
border: 1px solid $gray;
530542
background: #fff;
543+
height: 34em;
531544
h3 {
532545
margin: 0;
533546
}
@@ -555,39 +568,14 @@ img, svg {
555568
}
556569
/* End Plans */
557570

558-
/*------------------------------------------------------------------
559-
10. Begin Download
560-
------------------------------------------------------------------*/
561-
562-
.download {
563-
padding-bottom: 75px;
564-
text-align: center;
565-
background: $bg-light;
566-
.btn {
567-
margin: 0 7px;
568-
img {
569-
vertical-align: bottom;
570-
margin-right: 5px;
571-
height: 18px;
572-
width: 20px;
573-
}
574-
}
575-
}
576-
/* End Download */
577571

578572
/*------------------------------------------------------------------
579573
11. Begin Contact Us
580574
------------------------------------------------------------------*/
581575

582576
.contact {
583577
padding-bottom: (75px - 30px);
584-
background: $bg-dark;
585-
label.invalid {
586-
position: absolute;
587-
}
588-
textarea {
589-
resize: none;
590-
}
578+
background: $bg-light;
591579
}
592580
/* End Contact Us */
593581

0 commit comments

Comments
 (0)