Saturday, March 24, 2018

Who Cares

Who Cares is the first study about the empathy of brands in Portugal. The study showed which brands are able to better predict what users feel, think and do.
by via Awwwards - Sites of the day

Friday, March 23, 2018

This is how you can secure your profile picture on Facebook [video]

In a move to curtail the misuse of profile pictures, Facebook has introduced a new feature — the Facebook Profile Guard. This feature will restrict others from downloading or saving the profile pictures of their Facebook friends. In this video, you'll discover how to use the "Facebook...

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

by Web Desk via Digital Information World

DOM to Image – Generate Image from DOM with HTML5 Canvas

dom-to-image is a JavaScript library which can turn arbitrary DOM node into a SVG (vector) or PNG-JPEG (raster) image.


by via jQuery-Plugins.net RSS Feed

Get Things Done More Efficiently than Ever with monday.com

Designers know that communication and organization are essential to making a project successful. Otherwise, it's just too easy to suffer from setbacks and misunderstandings. Working as a team means knowing who's responsible for handling tasks, keeping tabs on progress and being mindful of deadlines. But even if you're working on your own, you still need a way to stay on top of your to-do list.

Thankfully, there is a solution. Monday.com turns task management and collaboration into a visual experience. Its unique combination of a user-friendly UI and powerful functionality make it a must-have tool. They have helped companies of all sizes get things done more efficiently – and they can help you do the same. Let's find out how:

Keep Track of Everything (& Everyone)

When it comes to project work, there are so many things we need to stay on top of. Trying to do so with email or traditional meetings ends up causing more problems than they solve. There's got to be a better way.

Monday.com (formerly known as dapulse) is here to save the day with everything you need. Use it to communicate with team members, manage and assign tasks, share progress, files and more. They have a strong set of core features to help you achieve your goals, including:

The Ultimate Board

Use boards to keep track of every aspect of your projects. You can set up multiple boards to provide anything from a high-level view of what your team is working on to a task list for a single person.

Boards are designed to be intuitive and user-friendly. From color-coded task statuses to a simple drag-and-drop method for moving things around – there's no steep learning curve to adjust to. Things simply work.

And, you'll love the fact that you can tag each task and easily search for every related item in the system. This makes it incredibly painless to find what you're looking for.

Communicate with Ease

With monday.com, you'll find that communicating with team members and clients is both easy and enjoyable. Participants are kept in the loop with new message notifications on their desktop or mobile devices in real-time. That means you'll spend less time in pointless meetings and more time knocking tasks off your list.

You can also share files directly from your device or supported third-party cloud services. Plus, this forum provides a great place to share new ideas, feedback or ask a quick question. And, because everything is all in one place, you won't have to dig through huge archives to go back and reference something. Try doing that with email.

As a bonus, you can cheer on team members by sharing .gifs and giving them a thumbs-up. A little bit of encouragement can go a long way!

Visualize It All

Seeing your projects in a visual manner can really open your eyes to the bigger picture. With monday.com's Timeline feature, you'll see a listing of team members, which projects they're assigned to and respective dates. It's all there in an attractive and interactive chart.

The Timeline lets you easily find out which team members are super-busy, along with those who might have time for a new task assignment. Because it provides such a great view of what's happening, you'll be better able to stay on top of project deadlines. Task management has never looked so good.

Real Results from Real People

Reading about how monday.com's features make life easier is great. But when you see the real-life results others have had, it's all the more impressive. You'll find that monday.com has been utilized by companies ranging from solo entrepreneurs all the way up to large corporations.

It's not often that a tool can be successfully used by such a wide variety of clients. This speaks to monday.com's flexibility in adapting to the different needs of its users. The system can be easily customized to your specific requirements – no matter how simple or complex.

And it's a great fit for every industry. Your first thought might be of a hot tech company – and it does do wonders there. But it's also been an indispensible tool for schools, fitness gurus and even a small bike company.

Take Task Management to the Next Level for Free with Monday.com

Implementing a strong task management tool can transform the way you work. You'll have a better understanding of your projects – right down to the smallest details. Team members will stay on the same page and be aware of their own responsibilities. This results in projects that get done more quickly and with fewer hiccups. monday.com provides you with a highly-visual and easy-to-use platform that brings everything and everyone together.

The best part is that you can start using monday.com for free. Experience this revolutionary tool for yourself and see how much it can streamline your workflow.

Continue reading %Get Things Done More Efficiently than Ever with monday.com%


by SitePoint Team via SitePoint

Supercharging Your React Native App with AWS Amplify

D3.js 5.0, and an introduction to functional programming in JS

#378 — March 23, 2018

Read on the Web

JavaScript Weekly

D3.js 5.0 ReleasedD3 continues to be a fantastic choice for data visualization with JavaScript. Changes in 5.0 include using promises to load data instead of callbacks, contour plots, and density contours.

Mike Bostock

Lazy Loading Modules with ConditionerJS — Linking JavaScript functionality to DOM elements can become a tedious task. See how ConditionerJS makes progressive enhancement easier in this thorough tutorial.

Smashing Magazine

The Best JavaScript Debugging Tools for 2018 — If you work with JavaScript, you’ll know that it doesn’t always play nice. Here we look at the best JavaScript debugging tools you can use to clean up your code and provide great software experiences to your users.

RAYGUN sponsor

▶  A 10 Video Introduction to Functional JavaScript with Ramda — Want to get started with functional programming in JavaScript? Ramda is a more functional alternative to libraries like Lodash, and these brief videos cover the essentials. You may also appreciate Kyle Simpson’s Functional-Light JavaScript if you set off on the functional programming journey.

James Moore

JavaScript vs. TypeScript vs. ReasonML: Pros and Cons — Dr. Axel is becoming a fan of static typing for larger projects and explains the pros and cons of it and how static typing relates to the TypeScript and ReasonML projects.

Dr. Axel Rauschmayer

A Proposal for Package Name Maps for ES Modules — Or how to solve the web’s “bare import specifier” problem.

Domenic Denicola

A TC39 Proposal for Object.fromEntries — It would transform a list of key/value pairs into an object.

TC39 news

How Unsplash Gradually Migrated to TypeScript

Oliver Joseph Ash

💻 Jobs

Engineering Manager — You’ll lead a team in building a product at scale and get the opportunity to manage and mentor while helping shape decisions.

Skillshare

Software Engineer at Fat Lama (London) — Technology and engineering is at the heart of what we do at Fat Lama - help us build the rental marketplace for everything.

Fat Lama

JavaScript Expert? Sign Up for Vettery — Create your profile and we’ll connect you with top companies looking for talented front-end developers.

Vettery

Place your own job listing in a future issue

📘 Tutorials & Tips

Getting Started with the Web MIDI API — Covers the basics of MIDI and the Web MIDI API showing how simple it is to create frontend apps that respond to musical inputs. It’s niche but also neat the Web platform can do this.

Peter Anglea

▶  7 Secret Patterns Vue Consultants Don&'t Want You to Know — Clickbaity talk title, but Chris is both on the Vue core team and a great speaker :-)

Chris Fritz

Learn to Build JavaScript Apps with MongoDB in M101JS, MongoDB for Node Developers — MongoDB University courses are free and give you everything you need to know about MongoDB.

MongoDB sponsor

How to Write Powerful Schemas in JavaScript — An introduction to schm, a library for building model schemas in a functional, composable way.

Diego Haz

Getting Smaller Lodash Bundles with Webpack and Babel — Plus some tips for working with lodash-webpack-plugin.

Nolan Lawson

Elegant Patterns in Modern JavaScript: RORO — RORO stands for Receive an Object, Return an Object.

Bill Sourour

The Ultimate Angular CLI Reference Guide — Create new Angular 2+ apps, scaffold components, run tests, build for production, and more.

Jurgen Van de Moere

▶  Add ESLint and Prettier to VS Code for 'Create React App' Apps

Elijah Manor

Tips for Using ESLint in a Legacy Codebase — Techniques that can help you significantly reduce the number of errors you see.

Sheshbabu Chinnakonda

Free eBook: A Roundup of Managed Kubernetes Platforms

Codeship sponsor

Lookaheads (and Lookbehinds) in JS Regular Expressions

Stefan Judis

Unblocking Clipboard Access in Chrome 66+ — The Async Clipboard API supersedes the document.execCommand approach.

Jason Miller

Building Office 365/SharePoint Applications with Aurelia

Magnus Danielson

🔧 Code and Tools

GPU-Accelerated Neural Networks in JavaScript — A look at four libraries providing this type of functionality.

Sebastian Kwiatkowski

Get the Best, Most Complete Collection of Angular UI Controls: Wijmo — Wijmo’s dependency-free UI controls include rich declarative markup, full IntelliSense, and the best data grid.

GrapeCity Wijmo sponsor

better-sqlite3: A Simple, Fast SQLite3 Library for Node

Joshua Wise

ngx-datatable: A Feature-Rich Data-Table Component for Angular — No external dependencies. Demos here.

Swimlane

vue-content-loader: SVG-based 'Loading Placeholder' Component — It’s a port of ReactContentLoader.

EGOIST

DrawerJS: A Customizable HTML Canvas Drawing ToolLive demo.

Carsten Schäfer


by via JavaScript Weekly

Angular 2 Components: Inputs and Outputs

In this article, we’ll take a look a bit closer at Angular 2 components — how they’re defined, and how to get data into them and back out of them.

This is the second part in the Angular 2 series. You can read part one here. We covered the basic idea of components and decorators in an earlier article, and have specifically seen the @Component and @View decorators used to build an Angular application. This article dives in a bit deeper. However, we can’t cover everything about components in a single article, so future articles will take up other aspects of Angular components.

The code for this article and the other articles in the series is available as in the angular2-samples repo. You can also see the samples running at: http://angular2-samples.azurewebsites.net/.

Although it’s possible to write Angular 2 applications in ECMAScript 5 (the most common version of JavaScript supported by browsers), we prefer to write in TypeScript. Angular 2 itself is written in TypeScript and it helps us at development time and includes features that make it easier for us to define Angular components.

In particular, TypeScript supports decorators (sometimes referred to as “annotations”) which are used to declaratively add to or change an existing “thing”. For example, class decorators can add metadata to the class’s constructor function or even alter how the class behaves. For more information on decorators and the types of things you can do with them, see the proposal for JavaScript decorators. Angular 2 includes several decorators.

As we’ve covered in an earlier article, components are the key building block for Angular applications. They include a view, defined with HTML and CSS, and an associated controller that implements functionality needed by the view. The controller has three major responsibilities:

  • Manage the model, i.e. the application data used by the view
  • Implement methods needed by the view for things like submitting data or hiding/showing sections of the UI
  • Managing data related to the state of the view, such as which item in a list is currently selected.

Depending on your background, the above list might sound familiar. In fact, the Angular component controller sounds very much like the original definition of a view model as defined by John Gossman in 2005:

The term means “Model of a View”, and can be thought of as abstraction of the view, but it also provides a specialization of the Model that the View can use for data-binding. In this latter role the ViewModel contains data-transformers that convert Model types into View types, and it contains Commands the View can use to interact with the Model. — Source (captured 11/27/2015)

Because components aren’t native JavaScript entities, Angular provides a way to define a component by pairing a constructor function with a view. You do this by defining a constructor function (in TypeScript it’s defined as a class) and using a decorator to associate your view with the constructor. The decorator can also set various configuration parameters for the component. This magic is accomplished using the @Component decorator we saw in the first article in this series.

Component Hierarchy

The above describes an individual component, but Angular 2 applications are actually made up of a hierarchy of components – they begin with a root component that contains as descendants all the components used in the application. Components are intended to be self-contained because we want to encapsulate our component functions and we don’t want other code to arbitrarily reach into our components to read or change properties. Also, we don’t want our component to affect another component written by someone else. An obvious example is CSS: if we set CSS for one component, we don’t want our CSS to “bleed out” to another components just as we don’t want other CSS to “bleed in” to our component.

At the same time, components do need to exchange data. In Angular 2, a component can receive data from its parent as long as the receiving component has specifically said it’s willing to receive data. Similarly, components can send data to their parents by trigger an event the parent listens for. Let’s look at how the component hierarchy behaves. To begin, we can draw it as follows:

Angular 2 components: Component Hierarchy behaviour

Each box is a component and technically this representation is called “graph” — a data structure consisting of nodes and connecting “edges.” The arrows represent the data flow from one component to another, and we can see that data flows in only one direction — from the top downwards to descendants. Also, note there are no paths that allow you to travel from one node, through other nodes and back to the one where you started. The official name for this kind of data structure is a “directed acyclic graph” — that is, it flows in only one direction and has no circular paths in it.

This kind of structure has some important features: it’s predictable, it’s simple to traverse, and it’s easy to see what’s impacted when a change is made. For Angular’s purposes, when data changes in one node, it’s easy to find the downstream nodes that could be affected.

A simple example of how this might be used is a table with rows containing customers and information about them, in which a table component contains multiple individual row components that represent each customer. The table component could manage a record set containing all the customers and pass the data on an individual customer to each of the row components it contains.

This works fine for simply displaying data, but in the real world data will need to flow the other way — back up the hierarchy — such as when a user edits a row. In that case, the row needs to tell the table component that the data for a row has changed so the change can be sent back to the server. The problem is that, as diagrammed above, data only flows down the hierarchy, not back up. To ensure we maintain the simplicity of one-way data flow down the hierarchy, Angular 2 uses a different mechanism for sending data back up the hierarchy: events.

Angular 2 components: One-way data flow down the hierarchy

Now, when a child component takes an action that a parent needs to know about, the child fires an event that’s caught by the parent. The parent can take any action it needs which might include updating data that will, through the usual one-way downwards data flow, update downstream components. By separating the downward flow of data from the upwards flow of data, things are kept simpler and data management performs well.

Continue reading %Angular 2 Components: Inputs and Outputs%


by David Aden via SitePoint