Recently, we've asked some of our X-Teamers what they'd recommend to people interested in learning or improving their skills and knowledge in specific technologies. It turns out they're quite the helpful bunch with plenty of good resources to share, so we decided that, every Wednesday, you'll get a condensed version of their recommendations right here, on our blog.

The resources are separated into two parts — the first part includes tech-related resources. The second part includes resources on things that everyone should keep in their mind, but which aren't technology-specific.

So, without further ado, here we go!

Technology

The Blockchain

by Piotr Pasich

This week is dedicated to practicing what you've learned over the previous weeks. It's a little challenge to implement a fully-functional process for requesting and accepting Bitcoin payments with the following goals:

  • generate a new address
  • watch the latest blocks in the blockchain
  • match the transactions from this block to the generated address
  • wait for confirmations

If you need a quick refresher, click here.

For a more complete catch-up session, check out our How to Become a Blockchain Developer Guide.

Haskell

by Michal Kawalec

This week, you're getting an invite! If you're (able to be) in Warsaw in two months time and want to learn about a cool Haskell library, check out this meetup.

Mobile

by Frederico Luz Braga

You should learn how to use Relationships with Room.

Node

by Nick Plekhanov

I really hope that you could pick up several production practices while going through the previous recommendation list. There was quite a lot of stuff to get familiar with. This week, I'll be lighter on material and, as promised, start with some of the core, built-in Node modules that can do a lot on their own. Also, I’ll suggest a video course (which is about 15 hours of material!) that is devoted to the topic of core modules. So let’s get started:

May you stay productive this week and see you all next week!

P.S.
Some nice code snippets for your Node development on a nicely crafted website.

React

by Michał Miszczyszyn

This week, I thought, "Hey, let’s learn some types, shall we?"

I hope these resources will get you started with some proper types, folks! Reduce the number of nasty runtime bugs!

Vue

by Anton Orlov

This week we’re going to look into Styled Components in Vue.

First of all, if you never used (or even heard of) styled components before, I recommended taking a look at their official website, it’s pretty good.

But in short, styled-components are wrappers around your basic html tags that add styles (in a js-way). They allow you to have a css-in-js approach with all its benefits together with a component approach as well. Thus you can extend them, wrap them together, nest them in any way and add custom props-based logic! So they’re cool, check them out.

They were initially launched for React, but thanks to Open Source, there is a fork for vuevue-styled-components.

And what’s great is that they work exactly the same way (well, mostly).

Here’s an example

import styled from 'vue-styled-components';

const UpvoteButton = styled.button`
  font-size: 1.5em;
  text-align: center;
  color: white;
  background: ${props => props.hasError ? '#FF3B30' : '#007AFF'}
`;

const Wrapper = styled.div`
  padding: 4em;
    margin: 0 auto;
`;

And now you can just register them as any other component

// component init
// ...
components: {
  UpvoteButton,
  Wrapper
}
// ...

And render them like any other component

<template>
  <Wrapper>
    <UpvoteButton>Upvote!</UpvoteButton>
  </Wrapper>
</template>

And that’s it!

One important note, though: Do not use the built-in or reserved HTML elements as component ids (title, button, input...).

Links

General

UX

by Bernardo Dias

TL;DR: relative units, flexbox, and grid FTW!


What do you think? Did you like what you found here? Would you recommend something else? Let us know in the comments. Also, check out last week's X-Pollination.