Friday, August 4, 2017

Trumpet

Trumpet

'Trumpet' is a One Page HTML template suited for a long scrolling agency portfolio. Features include smooth scroll, medium-sized portfolio images that can link out (with category filter), team, testimonial slider and a contact form against a map background.

by Rob Hope via One Page Love

Introducing the Neo4j Symfony Bundle

There is no such thing as disconnected information, no matter where you look - people, events, places, things, documents, applications and the information about them is all heavily connected. As the volume of data grows, so does the number and dynamicity of its connections. And if you've tried in the past to store and query that highly connected, semi-structured data in any database, you probably experienced a lot of challenges.

Example graph

The Labeled Property Graph in a native Graph Database

Neo4j was built to handle exactly this real-world information without compromising on the number and types of connections you can have relating your entities. It is an open-source NoSQL database that uses the Labeled Property Graph to store the entities of your domain model (diagram) as Nodes and their connections as Relationships each of which can have arbitrary properties.

Nodes and releationships with properties

Neo4j is not just a graph layer on top of another database but a full blown, transactional (ACID) database with everything from managing pages of records on disk to providing a scalable, secure cluster. And as a native graph database it uses dedicated data structures to store and query highly connected data efficiently. Unlike in other databases, (complex) JOIN queries are not computed repeatedly at query time. Instead, relationships between entities are stored directly. During querying the database engine can use direct record-pointers for constant time lookups.

The open Cypher Query Language

This doesn't just extend to modeling or storage, even the Cypher graph query language that comes with Neo4j is focused around graph patterns, this time represented as ASCII-art in your query: (dan:Person {name:"Dan"})-[:LOVES]->(ann:Person {name:"Ann"}), which make your queries extremely readable even for non-developers, e.g. here is a recommendation query ("customers like you also bought this"):

MATCH (c:Customer)-[:BOUGHT]->(:Product)<-[:BOUGHT]-(o:Customer)-[:BOUGHT]->(reco:Product)
WHERE c.id = 123 AND NOT (c)-[:BOUGHT]->(reco)
RETURN reco.name, count(*) as frequency
ORDER BY frequency DESC LIMIT 10;

Symfony, a rapid development framework for PHP

Symfony is the role model of frameworks for modern PHP. The framework has a component approach and has been around for the last 11 years. From the Symfony ecosystem we’ve seen projects like Composer, Twig, Swiftmailer, Assetic, Monolog and many more. Thanks to the component approach, it has been made easy for other projects and frameworks to reuse code from Symfony. Projects like Laravel, Silex, Sylius, Drupal, phpBB, eZ are all using Symfony components.

A key factor of Symfony’s success is the flexibility of the framework in combination with the ease of use. The standard edition of Symfony comes with Doctrine as default database layer abstraction which supports some major databases like MySQL and MongoDB. But neither the database layer nor Doctrine is a primary citizen in Symfony. They could easily be replaced by something else.

Introducing Symfony Neo4j Bundle

To provide a smooth integration between Neo4j and Symfony we’ve created the SymfonyNeo4jBundle. It wraps the excellent PHP community client by Graphaware and creates a solid Symfony experience. Thanks to the WebProfiler integration, you will see all your database calls, all the queries and their results. You will even have a view over any exceptions that are thrown when interacting with the database. You will also get detailed statistics about each database call. This makes debugging your application way easier.

The bundle also integrates the client events with the Symfony event dispatcher. You could now create event subscribers that listen to the interactions with Neo4j e.g. for integration with MonologBundle to log all your database queries.

The bundle is not opinionated in how you are using Neo4j. Using the OGM is optional. Advanced Neo4j users will have full control over the client and what Cypher gets executed.

An API like Doctrine

For developers who are familiar with Doctrine, they will know how to use GraphAware’s OGM (Object Graph Mapper). The OGM has an EntityManager that implements Doctrine’s ObjectManager interface, which gives you functions like “find”, “remove”, “persist” and “flush”. Developers will have the exact same experience working with models from Neo4j’s OGM compared to Doctrine’s MySQL EntityManagers.

Configuration

Like in most modern frameworks, Symfony separates configuration from the code. This is good software practice which the Neo4jBundle adheres to. It provides the ability to easily configure multiple connections, multiple clients and multiple entity managers. For each connection you can decide if you want to use HTTP or the new binary “bolt” protocol.

Thanks to Symfony’s configuration component, you may use Yaml, XML or PHP to specify your configuration. The default configuration will set up one connection to 127.0.0.1:7474 with the defaults username / password.

Continue reading %Introducing the Neo4j Symfony Bundle%


by Tobias Nyholm via SitePoint

#346: JS oddities, V8 6.1, and an online VS Code IDE for JavaScript

This week's JavaScript newsRead this e-mail on the Web
JavaScript Weekly
Issue 346 — August 4, 2017
Around 40 examples of ‘quirky’ JavaScript code with unexpected results or outcomes. Mostly interesting to learn about odd edge cases.
Denys Dovhan

Get the VS Code experience in your browser. Introductory post here.
Eric Simons

In beta until the release of Chrome 61, 6.1 has a smaller binary, includes some significant performance improvements when iterating over maps and sets, and asm.js code is now transpiled to WebAssembly.
Mathias Bynens

Sencha, Inc
Multi-directional scrolling with a fixed header, paging, grouping and editing data in cells are just a few of the capabilities of the ExtReact grid. Try ExtReact for free to see how easy it is to add the grid and many other components into your apps.
Sencha, Inc   Sponsor

Nuxt.js is a framework for bringing server-side rendering (SSR) to your Vue.js apps, similar to how Next.js does with React.
Olayinka Omole

Adopting a more functional approach let the author stop using bits of JavaScript he didn’t like.
Joel Thoms

A practical introduction to service workers (scripts that run in the background separate from a Web page context) and how to easily create one using Ember.
Adnan Chowdhury

Jobs Supported by Hired.com

Can't find the right job? Want companies to apply to you? Try Hired.com.

In Brief

TypeScript's Type System is Turing Complete news
Henning Dieterichs

webpack Awarded $125,000 By Mozilla news
To implement first-class support for WebAssembly.
Sean T. Larkin

Register for the Polymer Summit in Copenhagen on 22-23 August news
Learn more about the talks and workshops at this year's Polymer Summit, and see who our amazing speakers are.
Google, Inc.  Sponsor

W3C Launches a WebAssembly Working Group news
Bradley Nelson

Machine Learning Comes to Your Browser with JavaScript news
With a new JS library that runs Google’s TensorFlow in the browser.
InfoWorld

A Look at the 'Null Propagation Operator' Proposal tutorial
Provides an alternative to endless null checks.
Nicolás Bevacqua

Creating Custom Inputs with Vue.js tutorial
Understand how v-model works on native inputs and custom components.
Joseph Zimmerman

A Reintroduction to 'this' in JavaScript tutorial
Zell Liew

Build your first JavaScript, Android, or iOS app with MongoDB Stitch tutorial
Get started with the beta release of MongoDB's backend-as-a-service with step-by-step tutorials and sample apps.
MONGODB  Sponsor

How the Proposed 'Class Fields' for JavaScript Would Work tutorial
Dr. Axel Rauschmayer

D3 in Depth: An Intermediate Guide to Building D3 Visualizations tutorial
Peter Cook

JavaScript Riddles for Fun and Profit video
Poses a series of ever more challenging JavaScript riddles and brain-teasers.
Dan Shappir

Use const Until You Have to Use let opinion
Vince Campanale

Why We Broke Our Philosophical Vows to Bring You CircleCI 2.0 story
CircleCI  Sponsor

Vuestic: A New Vue.js-Powered Admin Dashboard code
Demo here.
Epicmax

Express Gateway: A Microservice API Gateway Built on Express code node

Turf: A Modular (Geo)Spatial Analysis Engine code
Morgan Herlocker

Glamorous v4 Released: CSS Styling for React Components code
Kent C. Dodds

ProseMirror: A Toolkit for Building Rich-Text Editors for the Web code
Marijn Haverbeke

Curated by Peter Cooper and published by Cooperpress.

Like this? You may also enjoy: FrontEnd Focus : Node Weekly : React Status

Stop getting JavaScript Weekly : Change email address : Read this issue on the Web

© Cooperpress Ltd. Fairfield Enterprise Centre, Lincoln Way, Louth, LN11 0LS, UK


by via JavaScript Weekly

Squish The Casper Mattress

Squish The Casper Mattress

Interactive One Pager where vertically resizing your browser window demonstrates the 'Squish' mattress from Casper. Definitely lacks finesse in the typography department but remarkable for sure.

by Rob Hope via One Page Love

20 Popular WordPress User Interface Elements

2017 Social Media Image Sizes: A User's Guide [Infogrphic]

Social media and visual content go hand in hand, and social networking sites frequently update their social media image sizes and formats to promote a rich visual experience. In general, this has been good for businesses that can keep up; numerous studies demonstrate that visual content is much...

[ This is a content summary only. Visit our website http://ift.tt/1b4YgHQ for full links, other content, and more! ]

by Web Desk via Digital Information World

Tbilisi Gardens

Tbilisi Gardens is one of the first skyscrapers in Tbilisi. The website plays along with the enormous scale of the structure and builds the entire user experience around the building.
by via Awwwards - Sites of the day