Skip To Main Content | Accessibility

Begin Main Content

{"5 things in web development I learned this year" + 6 more must-reads!}



Hello!

Happy almost New Year!

Hope you're ending this decade exactly the way you want to, so you can feel refreshed and ready for 2020! My version of this is cleaning up the house and catching up on some reading. Pretty boring tbh, but it's exactly what I need :)

🤪  Joke of the day: Why does the dignified primitive hate the day after Christmas?

🎉Congrats to... ðŸŽ‰
  • Bruno for starting Rust and getting a lot of love on their recent post 🙌
  • Jennifer for sharing what they learned 💕
  • Akash for learning about Blockchain and reading the whitepaper 🤓
📚 Top 7 Posts From Last Week 📚

1. CORS, XSS and CSRF with examples in 10 minutes: common web attacks and methods to prevent them.

2. How I built 100 Projects in 100 Days: the why and how to taking on such a big challenge.

3. The beauty of Functional Programming: an outline of functional programming benefits.

4. How Blazor Is Going to Change Web Development: an overview of Blazor, a framework from Microsoft.

5. Keeping your code clean by sweeping out "if" statements: an example about "if" statements that led to a big community discussion.

6. The Dream of C# 9.0: exciting aspects of the C# 9 proposal.

7. 5 things in web development I learned this year: a few tips and tricks you might not know about.

And an article from our sponsor DigitalOcean:

8. How to Code in Go: a series of tutorials to help you learn how to code in Go.

🗓 IRL.DEV ðŸ—“

These are community-run DEV meetups. If you don't see your city listed here, consider becoming an organizer :)🗣 Discuss ðŸ—£Happy Coding!

Jess
P.S. — You’ll notice some logos below. These belong to our wonderful developer-focused sponsors: DigitalOcean â€” A cloud platform that hits on both simplicity and scalability, CloudBees Rollout â€” A powerful code release toolset that brings feature flags, analytics, and testing to the process, and Pusher â€” Providing robust APIs for app developers building scalable realtime communication features. You should check them all out!
 Thank you to our sponsors:
     

Twitter
Instagram
Facebook
LinkedIn
You can update your preferences or unsubscribe from this list

09:46 AM, 31 Dec 2019 by Iuri Sampaio Permalink | Comments (0)

<g:plusone size="medium" data-gapiscan="true" data-onload="true" data-gapistub="true" style="margin: 0px; padding: 0px; overflow-wrap: break-word;">

Rsync is very powerful tool to take backups, or sync files and directories between two different locations (or servers).

You know this already, as we presented you with practical examples on rsync earlier.

In a typical backup situation, you might want to exclude one or more files (or directories) from the backup. You might also want to exclude a specific file type from rsync.

This article explains how to ignore multiple files and/or directories during rsync with examples.

First, create a sample directory structure as shown below (with some empty files) that can be used for testing purpose.

$ cd ~
$ mkdir -p source/dir1/dir2
$ mkdir -p source/dir3
$ touch source/file1.txt
$ touch source/file2.txt
$ touch source/dir1/dir2/file3.txt
$ touch source/dir3/file4.txt

The above command will create a source directory (under your home directory) with the following structure.

source
- file1.txt
- file2.txt
- dir1
  - dir2
    - file3.txt
- dir3
  - file4.txt

1. Exclude a specific directory

If you don’t want to sync the dir1 (including all it’s subdirectories) from the source to the destination folder, use the rsync –exclude option as shown below.

$ rm -rf destination

$ rsync -avz --exclude 'dir1' source/ destination/
building file list ... done
created directory dest
./
file1.txt
file2.txt
dir3/
dir3/file4.txt

Verify to make sure dir1 is not copied from source directory to destination directory.

12:47 PM, 30 Dec 2019 by Iuri Sampaio Permalink | Comments (0)

 

Pip is a package management system that simplifies installation and management of software packages written in Python such as those found in the Python Package Index (PyPI).

This tutorial will walk you through installing Python Pip on Debian 9 and teach you how to install and manage Python packages with pip 

09:32 PM, 24 Dec 2019 by Iuri Sampaio Permalink | Comments (0)

Chalice: Quickstart and Tutorial [chalice.readthedocs.io]

Quickstart and Tutorial

In this tutorial, you’ll use the chalice command line utility to create and deploy a basic REST API. First, you’ll need to install chalice. Using a virtualenv is recommended:

$ pip install virtualenv
$ virtualenv ~/.virtualenvs/chalice-demo
$ source ~/.virtualenvs/chalice-demo/bin/activate

Note: make sure you are using python2.7, python3.6, or python3.7. These are the only python versions currently supported by AWS Lambda so they are also the only versions supported by the chalice CLI and chalice python package. You can find the latest versions of python on the Python download page. You can check the version of python in your virtualenv by running:

# Double check you have a supported python version in your virtualenv
$ python -V

Next, in your virtualenv, install chalice:

$ pip install chalice

You can verify you have chalice installed by running:

$ chalice --help
Usage: chalice [OPTIONS] COMMAND [ARGS]...
...

Credentials

Before you can deploy an application, be sure you have credentials configured. If you have previously configured your machine to run boto3 (the AWS SDK for Python) or the AWS CLI then you can skip this section.

If this is your first time configuring credentials for AWS you can follow these steps to quickly get started:

$ mkdir ~/.aws
$ cat >> ~/.aws/config
[default]
aws_access_key_id=YOUR_ACCESS_KEY_HERE
aws_secret_access_key=YOUR_SECRET_ACCESS_KEY
region=YOUR_REGION (such as us-west-2, us-west-1, etc)

If you want more information on all the supported methods for configuring credentials, see the boto3 docs.

Creating Your Project

The next thing we’ll do is use the chalice command to create a new project:

$ chalice new-project helloworld

This will create a helloworld directory. Cd into this directory. You’ll see several files have been created for you:

$ cd helloworld
$ ls -la
drwxr-xr-x   .chalice
-rw-r--r--   app.py
-rw-r--r--   requirements.txt

You can ignore the .chalice directory for now, the two main files we’ll focus on is app.py and requirements.txt.

Let’s take a look at the app.py file:

fromchaliceimportChaliceapp=Chalice(app_name='helloworld')@app.route('/')defindex():return{'hello':'world'}

The new-project command created a sample app that defines a single view, /, that when called will return the JSON body  {"hello": "world"} .

Deploying

Let’s deploy this app. Make sure you’re in the helloworld directory and run  chalice deploy :

$ chalice deploy
...
Initiating first time deployment...
https://qxea58oupc.execute-api.us-west-2.amazonaws.com/api/

You now have an API up and running using API Gateway and Lambda:

$ curl https://qxea58oupc.execute-api.us-west-2.amazonaws.com/api/
{"hello": "world"}

Try making a change to the returned dictionary from the index() function. You can then redeploy your changes by running  chalice deploy .

For the rest of these tutorials, we’ll be using httpie instead of curl (https://github.com/jakubroztocil/httpie) to test our API. You can install httpie using  pip install httpie , or if you’re on Mac, you can run  brew install httpie . The Github link has more information on installation instructions. Here’s an example of using httpie to request the root resource of the API we just created. Note that the command name is http:

$ http https://qxea58oupc.execute-api.us-west-2.amazonaws.com/api/
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 18
Content-Type: application/json
Date: Mon, 30 May 2016 17:55:50 GMT
X-Cache: Miss from cloudfront

{
    "hello": "world"
}

Additionally, the API Gateway endpoints will be shortened to https://endpoint/api/ for brevity. Be sure to substitute https://endpoint/api/ for the actual endpoint that the chalice CLI displays when you deploy your API (it will look something like https://abcdefg.execute-api.us-west-2.amazonaws.com/api/.

09:25 PM, 24 Dec 2019 by Iuri Sampaio Permalink | Comments (0)

pip3: command not found [www.home-assistant.io]


This utility should have been installed as part of the Python 3 installation. Check if Python 3 is installed by running python3 --version. If it is not installed, download it here.

If you are able to successfully run python3 --version but not pip3, install Home Assistant by running the following command instead:

$ python3 -m pip install homeassistant
Bash

On a Debian system, you can also install python3 by sudo apt-get install python3 and pip3 by sudo apt-get install python3-pip.

If you run into errors during installation, check that you’ve installed all the necessary prerequisite packages, which include python3-devlibffi-dev, and libssl-dev. On a Debian-based system, you can install these via apt-get:

$ sudoapt-getinstall python3-dev libffi-dev libssl-dev
Bash

08:27 PM, 24 Dec 2019 by Iuri Sampaio Permalink | Comments (0)

Python is one of the most popular programming languages in the world. With its simple and easy to learn syntax Python is a great choice for beginners and experienced developers. Python is quite a versatile programming language, you can use it to do almost anything you want, write small scripts, build games, develop websites, create machine learning algorithms, analyze data and more. Python is also portable which means you can run the same Python script on different operating systems without any changes.

While Python 2 is well-supported and active, Python 3 is considered to be the present and future of the language. Python 3.7 is the latest major release of the Python language, and it includes many new features such as postponed evaluation of type annotations, support for data classes and context variables, customization of access to module attributes, and more.

This tutorial covers how to install Python 3.7 on Debian 9.

07:33 PM, 24 Dec 2019 by Iuri Sampaio Permalink | Comments (0)

Pip is a package management system that simplifies installation and management of software packages written in Python such as those found in the Python Package Index (PyPI).

This tutorial will walk you through installing Python Pip on Debian 9 and teach you how to install and manage Python packages with pip.

02:49 PM, 24 Dec 2019 by Iuri Sampaio Permalink | Comments (0)

{No more dystopias}



04:25 PM, 19 Dec 2019 by Iuri Sampaio Permalink | Comments (0)

{NPM weekly #228: npm tips, beyond npm install, and CLI tools for all the things!}



npm weekly #228: npm tips, beyond npm install, and CLI tools for all the things!

View this email in your browser
04:24 PM, 19 Dec 2019 by Iuri Sampaio Permalink | Comments (0)

{=?UTF-8?B?IPCfh6vwn4e3IFVuaXF1ZSBGcmVuY2ggVGlwcyBieSBDYW1pbGxlIC0g?= =?UTF-8?B?RGVjIDE5dGggMjAxOSDwn4er8J+Ht/CfjoTwn46E8J+OhA==?=}



C'est Noël! Vocabulary, Traditions, Audio Dialogue and More...
 
04:01 PM, 19 Dec 2019 by Iuri Sampaio Permalink | Comments (0)

XML

Archive

December 2019
S M T W T F S
[ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number] 
[ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number] 
[ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number] 
[ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number] 
[ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]  [ad_decode [ns_set get $calendar_details $julian_date] 1 "$day_number" $day_number]         
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019

Notifications

Icon of envelopeRequest notifications

Syndication Feed

XML

Blogroll

  1. Linuxize