teleren/devto huggingface dataset:
Stackbit: Friendly Jamstack Websites & CMS Management
Tags: javascript, webdev, tutorial, beginners
Published: 2020-06-02 19:53:33

---
title: Stackbit: Friendly Jamstack Websites & CMS Management
published: true
date: 2020-05-13 10:38:45 UTC
tags: javascript, webdev, tutorial, beginners
canonical_url: https://snipcart.com/blog/manage-jamstack-websites-stackbit
---

![Stackbit: Friendly Jamstack Websites & CMS Management](https://snipcart.com/media/204876/text-highlighting.png)

One of the most significant challenges the Jamstack faces going forward is gaining a wider adoption and boosting accessibility.

Many indicators suggest that [2020 is the year](https://snipcart.com/blog/jamstack) where the community reaches this goal.

Take, for example, what [Stackbit](https://www.stackbit.com/) is currently developing to bring the management of Jamstack websites built with a static site generator and CMS to a whole new level. 

In this post, I want to highlight the new features the Stackbit team has been rolling out lately:

- Inline editing
- Viewing & sharing site previews
- Realtime site status

If it sounds like what’s been missing in your Jamstack setup and CMS, the following demo should be helpful.

Oh, and for team collaboration, these are game-changers. Jamstack projects that are user-friendly for developers and non-technical folks alike? Bring it on!

Let’s see what it’s all about.

## What is Stackbit?

![stackbit-jamstack-websites](https://snipcart.com/media/204864/stackbit-jamstack-websites.png)

If you’re an avid reader of our blog, you might be asking yourself: “Haven’t you already introduced [Stackbit as a building tool](https://snipcart.com/blog/stackbit) for Jamstack websites?”

You would be absolutely right.

The site builder still is up and running. However, the team behind Stackbit has been focusing on new features for its product in the last few months. The end goal of easing the access to the Jamstack to non-technical users still persists, though.

Going the Jamstack route and using a headless CMS offers many benefits in aspects like security and performance. However, the decoupled architecture means that users often struggle with simple tasks like updating text on pages or previewing edits they’re making.

**Stackbit solves this by offering them a quick and easy means of editing content directly on the page and the ability to preview and share edits being made.**

This kind of offering is pretty unique in the Jamstack space. For the moment, at least. Alternatively, [TinaCMS](https://tinacms.org/) is building something similar for the on-page editing experience. 

On a broader scope, though, Stackbit sees itself competing more with the likes of [Webflow](https://webflow.com/) or [Squarespace](https://www.squarespace.com/). Even there, Stackbit distinguishes itself by integrating with the variety of services and open source tools that comprise the Jamstack rather than being a walled garden.


→ Read the full post [here](https://snipcart.com/blog/manage-jamstack-websites-stackbit)
Dicas rápidas - React para iniciantes 
Tags: react, reactnative, beginners
Published: 2020-05-13 10:34:13

Hoje eu gostaria de chamar a atenção para uma má prática que muitas vezes passa despercebido e é até inocente, pois é algo da qual não paramos para pensar muitas vezes. O código a seguir parece estar tudo "ok", mas "esconde" uma armadilha que pode impactar na performance de nossa aplicação. 
```js 
import React from "react";

class App extends React.Component {
  state = {
    name: "Dam Abramov",
    lastname: "Da Silva",
  };

  componentDidMount() {
    this.setState({
      name: "Emerson V",
    });
    this.setState({
      lastName: "De Almeida",
    });
  }

  render() {
    return (
      <div>
        <p> {this.state.name} </p>
         <p> {this.state.lastName} </p>
      </div>
    );
  }
}

export default App;
``` 
No código acima, mais especificamente no **componentDidMount** é feito um **setState** para **name** e outro para **lastName**, até ai tudo bem, mas o problema "escondido" é que estamos chamando **setState** 2x e isso irá chamar o render novamente, nesse caso será chamado 2x. Ok, Emerson, até ai normal, é assim que o React se comporta mesmo, qual o problema disso?. O problema é que irá chamar o render 2x, mas podemos diminuir para 1x. Podemos evitar essa segunda chamada desnecessária com uma pequena modificação em nosso exemplo.  

```js 
  componentDidMount() {
    this.setState({
      name: "Emerson V",
      lastName: "De Almeida",
    });
  }
```
O ideal é sempre agrupar as mudanças de estado em apenas um único **setState**, assim evitando chamar o render novamente de maneira desnecessária. 

essa foi a dica de hoje. Qualquer dúvida ou feedback é só comentar :)
Quick Tip #14
Tags: json, jmespath
Published: 2020-05-13 10:14:08

Do you know JMESPath?
[JMESPath](https://jmespath.org/) is a query language for JSON.
If you use [VSCode](https://code.visualstudio.com/) you can install an extension and play with it.
It supports a lot of programming languages. Check it [here](https://jmespath.org/libraries.html)
Hey Everyone, Coursera is offering 100+ courses at $0 until 31st of July
Tags: career, computerscience, productivity, leadership
Published: 2020-05-13 10:07:27

The best part is, a shareable certificate is also issued at the successful completion of the course. Plenty of courses for developers also available. Do check it out.

This video explains the whole process to claim the offer:
https://www.youtube.com/watch?v=RGg46TYLG5U
Laravel and N + 1 Problem | How To Fix N + 1 Problem
Tags: laravel
Published: 2020-05-13 09:55:54

Hello Artisan 

In this brand new tutorial i will share about Laravel N+1 query problem. Do you know how to deal with Laravel project that has numerous N + 1 query problems ?

If you don't know about eager loading in Laravel then you are a right place. In this tutorial i will discuss about laravel eager loading and we will solve N+1 query problem.

https://www.codechief.org/article/laravel-and-n-1-problem-how-to-fix-n1-problem
Phases of Odoo ERP implementation
Published: 2020-05-13 09:54:16

The implementation process can be divided into different stages which make it more manageable. This blog discuss 7 implementation phases of the ERP.

1. Project Initiation
2. GAP Analysis
3. Software Customization
4. Testing
5. Data Migration
6. User Training
7. Go Live


Read Blog in Detail: <a href="https://www.odooimplementation.com/blog/odoo_erp_implementation_phases">Odoo ERP Implementation Phases</a>
Privacy friendly and open source Google Analytics alternative
Tags: privacy, webdev, opensource, startup
Published: 2020-05-13 09:51:05

This is my intro post with more info about the startup I'm working on.

We're building a leaner and more transparent alternative to Google Analytics without all that privacy baggage. It's called [Plausible Analytics](https://plausible.io/) and you can see the [live demo](https://plausible.io/plausible.io) with our own stats.

Plausible Analytics is not designed to be a clone of Google Analytics. It is meant as a simple-to-use replacement and a privacy-friendly alternative. And we believe it is a great option for personal websites, blogs and even for freelancers and agencies working with clients. 

Here are some ways we are different from Google Analytics:

* **Lightweight**: Plausible Analytics script weights only 1.4 KB. That’s 33 times smaller than the Google Analytics Global Site Tag. Your site will keep loading fast.

* **No cookies**: Plausible Analytics doesn't use cookies so you don't have to place the annoying cookie banners on your site.

* **No personal data tracked**: Plausible Analytics doesn't track any personal data so it is compliant with GDPR, CCPA, PECR and other privacy regulations out of the box. There's no need to distract your visitors by asking for data consent.

* **Simple to understand**: Plausible Analytics is easy to use and understand with no training or prior experience necessary. You get all the important traffic insights and metrics on one single page.

* **Sharing options**: You can share your Plausible Analytics in several ways. We make it easy to automate regular email reports to multiple recipients, you can share a password-protected web dashboard and you can even open your stats and share them with anyone with a unique link.

* **Data ownership**: You keep 100% ownership of your website data. Your website data is not shared with advertising companies or any other companies in general. Your website data is not mined and harvested for personal and behavioral trends. Your website data is not monetized.

* **Open source**: Plausible Analytics is a fully open-source web analytics tool. Our source code is available and accessible [on Github](https://github.com/plausible-insights/plausible/).

* **[Public roadmap](https://plausible.io/roadmap)**: With Plausible Analytics you can be a part of the development. Take a look at our public roadmap which itself is defined by our community. You can leave your feedback and have your say on metrics and features we should be adding next.

You can even try Plausible Analytics on your site alongside Google Analytics. [Register for a free 30 day trial](https://plausible.io/register) and see what you like and what you don't before deciding if it's worth leaving Google Analytics for. We would love to hear your feedback.
array deStructure
Tags: php
Published: 2020-05-13 09:48:48


The short array syntax([]) is a language construct just like array(). This can be used to take variables out of an array. I mean to "destructure" the array into separate variables.


```php
$array = ['a', 'b', 'c']; 

// Using the list syntax:
list($a, $b, $c) = $array;

// Or the shorthand syntax:
[$a, $b, $c] = $array;

// $a = 'a'
// $b = 'b'
// $c = 'c'
```
Suppose you only needed the last element of an array, the first two can be skipped by simply not providing a variable.

```php
[, , $c] = $array;

// $c = 'c'
```

Also note that list will always start at index 0. Take for example the following array:

```php
$array = [
    1 => 'a',
    2 => 'b',
    3 => 'c',
];

[$a, $b, $c] = $array;
echo $a;
// Notice: Undefined offset: 0

[ , $a, $b, $c] = $array;
echo $a;
// 'a'
```

The first variable pulled out with list would be null, because there's no element with index 0. This might seem like a shortcoming, but luckily there are more possibilities.

PHP 7.1 allows list to be used with arrays that have non-numerical keys. This opens a world of possibilities.

```php
$array = [
    'a' => 1,
    'b' => 2,
    'c' => 3,
];

['c' => $c, 'a' => $a] = $array;

foreach ($array as ['id' => $id, 'name' => $name]) {
    // …
}
```
Top 3 Technology Trends to Watch for in 2020
Tags: techtrends, webdev
Published: 2020-05-13 09:46:16

2019 has already lead us to a wave of top technology trends & innovations, from the rise of 5G networks and social robots to Amazon’s Voice-Echo for shopping, because of which, Amazon is going to hit the business of [$40 Billion by 2022](https://www.prnewswire.com/news-releases/voice-shopping-set-to-jump-to-40-billion-by-2022-rising-from-2-billion-today-300605596.html)!

As [technology is growing faster than ever](https://blog.bit.ai/best-tech-websites/), businesses and individuals that do not keep up with the following tech trends run the risk of being left behind!

So, without further adieu, here is a list of some awesome tech trends!

##Artificial Intelligence as a Service
Artificial Intelligence or AI is the most revolutionary technology trend going on. It is a computerized system built to mimic human behavior and intelligence to perform tasks such as image recognition, speech with decision making, and finding patterns. AI can do these more accurately and faster than humans!

##IoT- Internet of Things
Multiple “things” are now emerging through WiFi connectivity, meaning they can be connected to the Internet—and each other. Hence, these things are called the Internet of Things, or IoT. The Internet of Things has already allowed devices, home appliances, super-cars and more to be connected to and shared over the Internet.

##Blockchain
Blockchain has the significant capacity to [digitally transform businesses](https://blog.bit.ai/digital-transformation/), specifically for the financial institutions. While present in only a few industries right now, by the end of 2020, the world will experience its mass adoption. The currency-market will see the launch of a blockchain-based cryptocurrency named Libra by Facebook, which might create quite a buzz in the coming year 2020.

##Conclusion
These [top technology trends](https://blog.bit.ai/top-technology-trends/) are gonna be the center of attention for the tech world as we expect 2020 to be a year of innovations and possibilities.

Hopefully, these new trends will bring positive and valuable results, offering promising career potential now and for the coming future. Is there anything exciting in the world of tech that was missed on this list? Feel free to express your ideas in the comment section below.
Makefiles and alternatives?
Tags: discuss, make
Published: 2020-05-13 09:36:10

I don't know how to use Makefile. Do I need to install `cmake` first?

Recently, I have found <https://github.com/tj/robo>, which is a YAML-based Makefile runner. It also mentions

> I'm aware of the million other solutions (Sake, Thor, etc)

So, what do you recommend I use for standardization? Otherwise, I might use `npm init -y` with `scripts` section (but too bad, it isn't YAML).

I am also looking for alternatives of [concurrently](https://www.npmjs.com/package/concurrently) -- https://github.com/tj/robo/issues/40
How I'm Implementing the Idea of the Infinite 1%
Tags: devjournal, codenewbie, womenintech
Published: 2020-05-13 09:25:02

_This post was originally published on May 13, 2020 on [my blog](https://alexlsalt.github.io/blog)._

During this period of lots of at-home-ness, I've been revisiting this podcast that I love *sooo* much - [Unf*ck Your Brain](https://unfuckyourbrain.com/podcasts/).

One episode that has caught my attention and that has merited multiple listens (as so many of her awesome episodes do to truly absorb the lessons) is her take on what she calls [The Infinite 1%](https://unfuckyourbrain.com/the-infinite-1/).

I'll try to paraphrase it as best as I can. Essentially, it's the idea that the small, goal-oriented actions and efforts we make compound exponentially over time, as opposed to if we didn't start and just stay stuck at step zero.

In other words, there's not much difference between the individuals who give 50% of their energy each day in pursuit of their goals and those who give only 1 to 5% of their energy each day. The real, immense, infinite distance lies between those making even a 1% effort and those who are making 0% effort day after day.

One way I've been implementing the idea of the Infinite 1% in my life recently is the fact that I have a HackerRank coding assessment to do tomorrow. Now, I found out about this test last Friday evening (May 8). From there, I had the option of completing the test anytime between that day and May 14.

I decided to execute the Infinite 1% by choosing to dedicate one solid, focused hour each day to practice coding problem sets on HackerRank. While I know that I won't walk away learning *every* little thing I need to know, I *do* know that by dedicating that one little hour each day, I will have given myself six full hours of solid practice - which is 600% more than doing the absolute bare minimum and infinitely more than doing absolutely nothing.

Today's my last day before taking the test (I'll be doing it tomorrow!) and I'll be sitting down to my sixth hour of focused prep sometime this afternoon.

I feel GOOD.
ASK Dev: API Authentication Patterns for Mobile and Web
Tags: ask, andoid, ios, reactnative
Published: 2020-05-13 09:20:19

Keen to know what kind of Authentication patterns you guys have used / familiar with. Especially around API's that are designed for both Mobile apps and Web.

Some of the resources found:


https://tech.just-eat.com/2019/12/04/lessons-learned-from-handling-jwt-on-mobile/

https://blog.logrocket.com/jwt-authentication-best-practices/

https://blog.nextzy.me/implementing-json-web-token-jwt-to-secure-your-app-c8e1bd6f6a29
Developer Dilemmas are Coming Online Soon
Tags: showdev, programming, watercooler, remote
Published: 2020-05-13 09:10:49


Last year, we launched a fun card game for developers - "Developer Dilemmas". The goal was to help developers at RailsConf to have a conversation ~~ender~~ starter while they were sitting together at a big round table with people they did not know. 

People loved them, and we've been handing them out at conferences and to customers around the world ever since. All the cards are language-agnostic, which enables diverse teams to discuss things all members can relate to 🎉

![Developer Dilemmas](https://blog.appsignal.com/images/blog/2020-05/dev-dilemmas.png)

This year's RailsConf is the couch edition, and we wanted to enable teams to still have fun while being remote. So, during the cooldown period between projects, Wes and Robert got together and built this: an online version of Developer Dilemmas for all your remote Friday afternoon fun and fights.

We're planning to launch the game next week, and would love for you to [check out the preview on Product Hunt](https://www.producthunt.com/upcoming/developer-dilemmas). If you subscribe now, you'll receive a notification once we go live!
What are the best examples of technology combined with arts?
Tags: codenewbie, art, programing
Published: 2020-05-13 09:05:23

I just came across sonic pi:

https://www.youtube.com/watch?v=OLLwG_SN8oo
https://sonic-pi.net/

And I think it's amazing. I played around with it and I think I found a new hobby:
https://soundcloud.com/panda-quests

What do ya think? :D Can I quit my job as a full time developer to become a DJ? :D

Do you know more examples where technology and arts are combined? Maybe something with drawings or paintings? That would be super cool. Also let me know what you think of sonic pi.
ulimit on CentOS 8.1
Tags: CentOS, linux, ulimit
Published: 2020-05-13 08:53:34

# Problem

On a fresh-installed Centos 8.1(kernel 4.18.0-147.8.1.el8_1) machine, the max number of opened file descriptors is set to H: 2048, S: 1024.

By editing `/etc/security/limits.conf` the limits can be upped. But this only takes effect in non-gnome-terminals, such as ssh sessions.

# Cause

The gnome terminals do not see `/etc/security/limits.conf` during login as they are started under systemd(I hate it).

# Fix

According to [this](https://www.linuxquestions.org/questions/linux-server-73/increasing-ulimit-open-files-not-applied-in-rhel-8-1-a-4175672919/), `/etc/systemd/user.conf` sets the soft limit and `/etc/systemd/system.conf` sets the hard limit for the user under systemd. The variable for file descriptors is `DefaultLimitNOFILE`.

If you are using Node.js, one more step is required: `echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p` according to [this issue](https://github.com/gatsbyjs/gatsby/issues/11406).
Microk8s Kubernetes - How do I connect two services?
Tags: help, devops, kubernetes
Published: 2020-05-13 08:37:59

I'm using Microk8s Kubectl in Ubuntu server, I was following some tutorials from [Nana's YouTube channel](https://www.youtube.com/channel/UCdngmbVKX1Tgre699-XLlUA/videos) and she explained, for example, how to connect a Mongo Express service to a MongoDB service, however I'm getting an error.

I actually used her files provided [here](https://gitlab.com/nanuchi/kubernetes-tutorial-series-youtube/-/tree/master/demo-kubernetes-components) and the problem persists, so I wonder if I have to do anything extra in Microk8s.

Error shown in Mongo Express logs (using her files):

/docker-entrypoint.sh: line 14: mongodb-service: Try again
/docker-entrypoint.sh: line 14: /dev/tcp/mongodb-service/27017: Invalid argument
retrying to connect to mongodb-service:27017

Any help is welcome, thank you very much :)

## **FIXED**

The problem was the **coredns** deployment wasn't working properly, pod shown as `0/1`, you can check these by running: `get all --namespace kube-system`, therefore Mongo Express wasn't finding MongoDB by the DNS.

I found the following command that displayed some other problems: `microk8s.inspect`

Then I did as the inspection suggested:
`sudo ufw allow in on cni0`
`sudo ufw allow out on cni0`
`sudo apt install iptables-persistent`

Upon doing so everything worked correctly!
So, who am I?
Tags: beginners, 100daysofcode, codenewbie, career
Published: 2020-05-13 08:25:49

<h3>About Me</h3>
Hi, I'm Jack! I'm 21 years old and am a degree apprentice at Vodafone UK. I joined Vodafone straight after my A-Levels and for the past 2 years, I've been working in the Release Management team with particular focus on the early readiness stages of a release. Alongside this, I've also been a system admin and SME for our issue management tool: Jira.

Although I enjoyed the role, and learnt a hell of a lot from it, about 2 months ago I came to the realisation that I wanted to do something else. That's when I started learning front-end web development! I'd coded beforehand at school, but this was only very basic Pascal and C#, so I was essentially starting from the very beginning.

<h3>Current Progress</h3>
In terms of my current progression, I have completed the HTML, CSS and JavaSript courses on freeCodeCamp and have recently bought a subscription to frontendmasters. I'd say that I am confident with the fundamentals of JavaScript, and am becoming confident in the newer JavaScript features like ES6.

I've built a couple of websites of my own accord, which I've used to implement and showcase everything that I've learnt - see them on my <a href="https://github.com/jackbrown80">GitHub</a>! I'm also about 45 days deep into the #100DaysOfCode challenge, where I've been posting my progress on <a href="https://www.instagram.com/webdev.jb/">Instagram</a> nearly everyday.

<h3>Future Goals</h3>
Being an apprentice at Vodafone, I'm in quite a good position regarding future career prospects and have luckily been able to find a role as a Junior Front-End Developer, which I'll be starting in July. The reason I say I'm lucky is because I would not have been able to get the role based on my current development skills. The team know that I have very limited development knowledge compared to other junior developers, but I want to try increase my skills and knowledge as much as possible before July, so that I can be a valuable member of the team. I know that the team use React, so that's what I'll focus on once I am fully confident with Vanilla JavaScript.

I'm planning on using DEV basically as a mind dump for everything that I'm learning, I'll write articles on different topics and post updates about my progress. I've found that trying to explain something I've learnt to others really helps solidify the learning in my head!

Follow me for updates on my progress and (hopefully) helpful articles!
Tổng Quan Kiến Thức Về Ngôn Ngữ Lập Trình Swift
Published: 2020-05-13 07:39:33

Swift là một ngôn ngữ lập trình mạnh mẽ và trực quan cho macOS, iOS, watchOS, tvOS và hơn thếnữa. Nó là kết quả của nghiên cứu mới nhất về ngôn ngữ lập trình, kết hợp với nhiều thập kỷ kinh nghiệm xây dựng nền tảng Apple, được Apple ra mắt vào năm 2014. Phiên bản mới nhất của ngôn ngữ này là 5.1. Nó cũng thu hút nhiều nhà lập trình viên chuyển sang lập trình cho hệ điều hành iOS bởi các tính năng, tiện ích và dễ học của nó; đồng thời cũng như giúp các nhân viên iOS cũ “ dễ chịu ” hơn so với khi lập trình bằng ngôn ngữ C.
http://laptrinhvacongnghe.com/lap-trinh-swift/