teleren/devto huggingface dataset:
Create MYSQL database using AWS RDS
Tags: aws, rds
Published: 2020-02-07 00:51:49

---
title: Create MYSQL database using AWS RDS
published: true
date: 2019-12-11 05:20:47 UTC
tags: AWS,RDS
canonical_url: 
---

> **This article is the continuation of [WordPress with Docker, AWS (ECS, Code Pipeline, Load Balancer, RDS, EFS) Complete Series](https://dev.to/saluminati/high-traffic-wordpress-website-with-docker-aws-ecs-code-pipeline-load-balancer-rds-efs-complete-series-43id). For better understating, please start from the beginning of the series.**

The purpose of creating MYSQL database using AWS RDS is quite simple. Centralized, automatic backups, scalable and highly available. What else we can ask for when it comes to MYSQL.

For wordpress there are two main options to choose your database from. **Amazon Aurora** and **MYSQL**.

**Amazon Aurora** is also compatible with MYSQL. Aurora is better but more expensive than regular MYSQL RDS database.

In our example, we are using the regular **MYSQL**

Let’s begin creating the RDS database for our blog

## Create RDS Database

Find and select the RDS service under the service tab. Click on **create database**. Follow the instructions below:

Before we begin, please change things such as database size, names and other identifiers as per your requirements

![](https://s3-ap-southeast-2.amazonaws.com/sal-blog/wp-content/uploads/2019/12/27012826/001-3-1024x379.png)

![](https://s3-ap-southeast-2.amazonaws.com/sal-blog/wp-content/uploads/2019/12/27012924/002-3-1024x899.png)

![](https://s3-ap-southeast-2.amazonaws.com/sal-blog/wp-content/uploads/2019/12/27012958/003-3-951x1024.png)

- DB instance identifier is not the database name
- Keep the Master username and password secure, we will need it later on.

Keep the Master username and password secure, we will need it later on.

![](https://s3-ap-southeast-2.amazonaws.com/sal-blog/wp-content/uploads/2019/12/27013050/004-3-1024x421.png)

DB instance size totally depends upon your traffic. We’re just using the bare minimum.

In the connectivity section below, use the rds Security Group we have created earlier.

[![](https://s3-ap-southeast-2.amazonaws.com/sal-blog/wp-content/uploads/2019/12/27014150/vpc-1-802x1024.png)](https://s3-ap-southeast-2.amazonaws.com/sal-blog/wp-content/uploads/2019/12/27014150/vpc-1.png)

This is where you are creating the initial database.

[![](https://s3-ap-southeast-2.amazonaws.com/sal-blog/wp-content/uploads/2019/12/27014454/006-3-1024x548.png)](https://s3-ap-southeast-2.amazonaws.com/sal-blog/wp-content/uploads/2019/12/27014454/006-3.png)

#### Previous

**[Create IAM (User, Roles and Policies)](https://dev.to/saluminati/create-iam-user-roles-and-policies-pmm/)**

#### Next

[**Create AWS EFS (Elastic File System) Plugin storage for WordPress behind Load Balancer**](https://dev.to/saluminati/create-aws-efs-elastic-file-system-plugin-storage-for-wordpress-behind-load-balancer-3hm0/)
🗞️Sanity.io Pluggable Assets, Vue Cloudinary SDK & Unicons, Flutter Interact
Tags: news, sanityio, vue, flutter
Published: 2019-12-20 15:05:23

---
title: 🗞️Sanity.io Pluggable Assets, Vue Cloudinary SDK & Unicons, Flutter Interact
published: true
date: 2019-12-11 05:00:00 UTC
tags: news, sanityio, vue, flutter
canonical_url: https://ajonp.com/blog/aj-s-week-in-web-december-11-2019
series: ajweekinweb
---

{% youtube 9v9HnLKP5Aw %}

# AJ's Week In Web Links

## Sanity.io

[https://www.sanity.io/blog/introducing-environmental-variables-support-for-sanity-studio](https://dev.to/kmelve/introducing-environmental-variables-support-for-sanity-studio-1ml8-temp-slug-1984393)  
[https://www.sanity.io/docs/studio-environment-variables](https://www.sanity.io/docs/studio-environment-variables)  
[https://www.sanity.io/blog/introducing-pluggable-asset-sources](https://dev.to/kmelve/introducing-pluggable-asset-sources-for-sanity-studio-4him-temp-slug-620973)

## Vue Unicons

[https://antonreshetov.github.io/vue-unicons/](https://antonreshetov.github.io/vue-unicons/)

## Vue Cloudinary SDK

[https://cloudinary.com/documentation/vue\_integration](https://cloudinary.com/documentation/vue_integration)

## Flutter Interact 2019

[https://developers.google.com/events/flutter-interact](https://developers.google.com/events/flutter-interact)  
[https://medium.com/flutter/announcing-flutter-1-12-what-a-year-22c256ba525d?](https://medium.com/flutter/announcing-flutter-1-12-what-a-year-22c256ba525d?)  
[https://medium.com/flutter/web-support-for-flutter-goes-beta-35b64a1217c0](https://medium.com/flutter/web-support-for-flutter-goes-beta-35b64a1217c0)

## Chrome Dev Tools Update

[https://developers.google.com/web/updates/2019/10/devtools](https://developers.google.com/web/updates/2019/10/devtools)
Day 50 : When I woke up
Tags: hiphop, code, coding, lifelongdev
Published: 2019-12-11 04:17:27

_liner notes_:
- Professional : More putting together presentation slides and researching than coding. Went through a few CLI tools that I like and wrote up a summary of each with some screenshots. Also did some more research into web components more specifically creating design systems. I came across https://webcomponents.dev/. It's amazing how much you can do with coding in a browser!

- Personal : So today was the day....I've been talking about getting a van for a while (when I decided to turn coding into a profession). I placed an order for my van about 4 months ago and it finally came in! So in the afternoon, I made my way to the dealership. In preparation for this day, I called my bank beforehand to see if I could use my debit card. They said that I could increase my daily withdrawal limit to whatever was in my account and just needed to call the day of using it. Cool. On the way, I call my bank to increase my limit and found out that I could only go up a certain level. Not what I was told before. So I had to find a branch on the way to the dealership to get a Certified Check. Awesome. Found the branch, got the check and headed to the dealership. Walked around and inspected the vehicle, then came the paperwork. Before everything could be submitted, I needed to have proof I'm insured. Luckily I spoke with my auto insurance company and got a quote so all I would need to do is click a link and have the insurance for the car. At least that's what I thought. I filled out the online form, hit send and waited to the insurance cards to be emailed to me. A few minutes went by so I just decided to call the company and see what's up. Turns out the form didn't get submitted (even though, I have the confirmation page saved). Spoke with the agent and set everything up. Got my cards, gave it to the dealer and FINALLY BAM! Got my vehicle. Got out of there, driving home, got a call from the dealer to come back. Apparently there were a couple of more forms I needed to sign. In total, I spent about 3-4 hours getting my van. Got home, ate dinner and feel asleep. haha

![citywide view of Celano, Abruzzi, Italy](https://thepracticaldev.s3.amazonaws.com/i/juhtytmcpyf07qecpq47.jpg)

When I woke up from my nap, I was still tired and it was raining. So yeah, not planning on doing really anything. I'll probably look into why my dev.to posts are not updating on my site. I wish dev.to had an actual API endpoint for me to just pull my latest post instead of the randomness I've come up with.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube xUNZW4KSj0o %}
Pope.cr: Micro templating engine for strings only. (Crystal version of Pope.js)
Tags: crystal, opensource, strings, github
Published: 2019-12-11 04:06:21


I have published the Crystal version of [Pope](https://github.com/poppinss/pope): A fast, minimal and micro template engine for strings only, it plays well where you want to embed micro templates inside your module.

GitHub repo: https://github.com/krthr/pope.cr

Here is an example:
```crystal
require "pope.cr"

data = {
  user: {
    id:       123,
    username: "krthr",
    admin:    true,
    config:   {
      email: "test@test.com",
    },
  },
}

Pope.pope(
  "The user {{user.username}} with id {{user.id}} is cool",
  data
) # "The user krthr with id 123 is cool"

Pope.prop(data, "user.id")           #  123
Pope.prop(data, "user.config.email") # test@test.com
Pope.prop(data, "nananana")          # nil
```

I hope you enjoy!
Quoting in HTML: Quotations, Citations, and Blockquotes
Tags: html
Published: 2019-12-12 03:38:12

---
title: Quoting in HTML: Quotations, Citations, and Blockquotes
published: true
date: 2019-12-11 03:37:00 UTC
tags: html
canonical_url: https://stolley.dev/linked/quoting-in-html-quotations-citations-and-blockquotes/
---

John Rhea writes a beautifully detailed article about HTML semantics:

> It’s all too common to see the incorrect HTML used for quotes in markup. In this article, let’s dig into all this, looking at different situations and different HTML tags to handle those situations.

Bonus points for including a creative use for the `<figure>` element for presenting a `<blockquote>` element with an attendant `<cite>`, and likewise the mention of the CSS [`hanging-punctuation`](https://developer.mozilla.org/en-US/docs/Web/CSS/hanging-punctuation) property toward the end of the article.
Using Multiple Instances of Redis For Your Laravel Application
Tags: linux, servers, redisserver, qwickpage
Published: 2019-12-11 10:50:55

---
title: Using Multiple Instances of Redis For Your Laravel Application
published: true
date: 2019-12-11 02:25:58 UTC
tags: linux,servers,redis-server,qwickpage
canonical_url: https://medium.com/@stephenjudeso/why-you-might-need-multiple-instances-of-redis-for-your-laravel-application-1091a724b00d
---

I worked as a Laravel backend developer at[Qwickpage](https://qwickpage.com) for a year. Qwickpage has lots of products that are still in their development stage but its is primarily a social network for entrepreneurs.

While at Qwickpage we have two instances of the core application running on the server. One is for development while the other is served live (production).

We make use of [Redis](https://redis.io/)as our caching system for the two instances of the app and the end result was a conflict.

The two applications (dev & live) were using the same instance of Redis on the server, each one keeps overriding the cached data of the other and returning wrong cached data.

### How Did We Fix This

We fixed this by creating another instance of Redis that runs on port 6380. So the live app takes port 6379 while dev app takes 6380; We now have two instances of Redis running on our server.

In this post, I will show you how you can create another instance of Redis on your Linux server. I will assume your already have Redis installed on your Linux server.

### Now Lets Go!

To create another instance of Redis we need to duplicate the existing Redis configuration file:

```
cp /etc/redis/redis\_6379.conf /etc/redis/redis\_6380.conf
```

Update **_port 6380_** config file (_etc/redis/redis\_6380.conf_) like this:

```
pidfile /var/run/redis\_6380.pid
port 6380
logfile /var/log/redis/redis\_6380.log
dir /var/lib/redis/6380
```

Create a **_port 6380_** working directory:

```
mkdir /var/lib/redis/6380
```

Update **_port 6379_** (_/etc/init.d/redis\_6379_) service script from this:

```
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis\_6379.pid
CONF="/etc/redis/6379.conf"
REDISPORT="6379"
```

to this:

```
NAME=`basename ${0}`
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/${NAME}.pid
CONF="/etc/redis/${NAME}.conf"
REDISPORT="${NAME#\*\_}"
```

Create a symlink script for port 6380 instance

```
ln -s /etc/init.d/redis\_6379 /etc/init.d/redis\_6380
```

To start the two Redis server instances run this:

```
/etc/init.d/redis\_6379 start
/etc/init.d/redis\_6380 start
```

You can now update the dotenv files of your two applications and assign them different Redis port respectively.

### Cheers!

Join my [weekly newsletter](http://stephenjude.tech/newsletter) and never miss out on news, tutorials, tips and more.

You can also follow me on twitter [@stephenjudeso](https://twitter.com/stephenjudeso)
phpPgAdmin 7.12.1 released
Published: 2019-12-20 14:17:31

---
title: phpPgAdmin 7.12.1 released
published: true
date: 2019-12-11 02:12:00 UTC
tags: 
canonical_url: https://xzilla.net//blog/2019/Dec/phpPgAdmin-7-12-1-released.html
---

I’m pleased to introduce the latest release of phpPgAdmin, version 7.12.1.

This release incorporates the following changes:

- Fix a number of issues related to changes in Postgres 12.
- Fix an issue with truncation of long multibyte strings
- Removal of broken tree branches from table/view browse option
- Properly escape identifiers when browsing tables/views/schemas
- Add support for granting USAGE on sequences

Note this new version now requires support for the [https://www.php.net/manual/en/book.mbstring.php](mbstring) module in PHP.

For more information on phpPgAdmin, check out our project page at [https://github.com/phppgadmin/phppgadmin/](https://github.com/phppgadmin/phppgadmin/)

You can download the release at: [https://github.com/phppgadmin/phppgadmin/releases/tag/REL\_7-12-1](https://github.com/phppgadmin/phppgadmin/releases/tag/REL_7-12-1)

Special thanks to Jean-Michel Vourgère, who supplied a number of significant patches and updates towards this release. For complete details of changes, please see the HISTORY file and/or commit logs. We hope you find this new release helpful!
Why I Started Programing
Tags: beginners
Published: 2019-12-11 01:58:24

In psychology there is the idea of the id(subconscious), ego(conscious), and superego(society/culture). The idea being these three, or variations of them, represent how we project ourselves. My friends have often told me that my superego is nearly nonexistent. I suspect they are correct, as I never hold my tongue and I never lie. This is not always a good quality to have, but it has made others view me as someone who's word can be trusted.

I could never imagine myself a living sedentary life. So when I looked into what programming could accomplish, and how many ways I could work as a programmer, I had found an excellent career path; always learning and I can pace myself accordingly . Even if my first job is more typical, I can change that once I gain more experience and build by resume. And even if I no longer wish to work for a tech company, programmers are needed in most aspects of American life. With these skills, I can even create my own company if I so choose. Programing may follow me for the rest of my life.

That is the most important aspect of learning to code; I can choose. Every fiber of my being cries out for that kind of freedom. I am thankful to have found a path which can allow me to be myself. (To be fair I would have done that anyway. But now I can gain more from it).

I look forward to what I will learn in the future. And I am beyond excited to see where I take this knowledge and apply it to my goals.
Partial views/templates in plain HTML
Tags: javascript, html
Published: 2019-12-08 23:06:48

Recently, I worked on a static site in plain HTML, CSS and JavaScript. I had decided I was going to stick with just those without using any special tools to do any automation. Just write some plain old static HTML and deploy.

Many frontend developers will obviously condemn this as unnecessary but I'm not a frontend developer and I didn't like the idea of setting up an environment for such a simple site.

As expected, I had the common problem of repetition that is generally seen in static sites. Honestly, it's a pain to have to effect changes everywhere a reused part of a page is modified. I am from a .NET background and I have played with a few other frameworks so I know of .NET's Razor, Laravel's blade, Java's thymeleaf and several other view engines that offered partial views or partial templates as a feature to mitigate this particular issue.

I researched solutions that enabled it in plain HTML and I found WebComponent's HTML Imports to be a good candidate. It was supposed to work with polyfills but for some reason I couldn't get it to behave the way I expected. I'm sure I could have possibly got it to work with some patience.

I didn't have that kind of patience for such a simple requirement so I decided to make mine, and I did it with partials.js at https://github.com/staa99/partials.js. It offers the basic partial view support you'd need to avoid duplicating view implementations and it was the best tool for the job. It's currently at version 2.0.

I encourage you to check it out, it might come in handy some day and you won't have to do all that work yourself anymore.

Link: https://github.com/staa99/partials.js
New Site Made With HUGO!
Tags: hugo, webdev, beginners, ux
Published: 2019-12-11 01:19:09

Hugo is the world's fastest static website engine. It's written in Go and is used to generate all the HTML, JavaScript, and CSS used to display this site. Using a simple template syntax you can quickly create gorgeous websites with minimal code. In fact, every content page on this site is written in Markdown and then rendered by HUGO before being minifed for production.

Feeling constantly behind the curve I spent the day reading and learning about Static Site Generators and what once was old is now new again. 

We've grown accustomed to dynamic sites and their many engaging features: 
- Comments
- Up/Down Votes
- Likes
- Retweets/Shares

These features make sites fun, interactive, and increase the likelyhood of return users; they also provide a wonderful attack surface for abuse from trolls and other bad actors.

Not needing many interactive elements, just a place to write out my thoughts, projects, and experiences, trying out a static site generator seemed like a great idea. I also didn't want to reinvent the wheel so I used a theme provided by the community and tweaked it to my liking.

After following the HUGO quickstart setting the rest up was a snap. I'm taking this as an opportunity to try out netlify as a hosting service. They have some interesting featuers and options; at the moment I push any site changes to git and netlify picks it up from there. 

Find my blog at 👉👉👉 https://0xbanana.com

Super quick, super easy!

--
Enjoyed the post? Let me know! 💛🦄🔖
I discovered new Wordpress local dev-env
Tags: wordpress, docker, wodby
Published: 2019-12-11 01:12:41

# Opening
From time to time I have to build Wordpress pages. Wordpress is not bad. Is actually good, but I used Docker for development and official docker images are not great.

I actually managed my own PHP Wordpress images like 2 years ago, but they are now deprecated (PHP 7.0 and PHP 7.1) and I don't have time and strength to manage it again.

Let search for some ready-made solution!

# Wodby

![Wodby logo](https://thepracticaldev.s3.amazonaws.com/i/op913m1gzc9x92xaw0g8.png)

Managed stacks and infrastructure for post-container world - that's their marketing claim.

And not only that. These guys provide us local development stacks whit all I missed from official Wordpress image.
For example:

- UID/GID out of the box
- xDebug
- tooling for wp-cli
- tooling for composer

And much more stuff. Just check their guide for Wordpress: https://wodby.com/docs/stacks/wordpress/local/ is very easy to follow and start developing in Wordpress. 

Are you interested in Drupal, PHP, Ruby or Python? [They have them too.](https://wodby.com/docs/stacks/)

And bonus? You can use their deployment stack as a developer for 2 servers for free! Great for showing your work to your clients ;-)

![Wodby free](https://thepracticaldev.s3.amazonaws.com/i/61g9o1dndxb2h2jzoche.png)

## Installation
Process of installation is pretty clear, here are just a few adjustments I did.

1. Do not clone/fork [wodby/wordpress-composer](https://github.com/wodby/wordpress-composer) but just run `composer create-project wodby/wordpress-composer some-dir --stability dev --no-interaction` as is wrote in repository README.md
2. I change `$PROJECT_BASE_URL` only to `$PROJECT_NAME.local` - this is shorter :-)
3. I uncomment mounted volumes for MariaDB, because persistent data are better (you can mount it only with `- ./database:/var/lib/mysql`)
4. If you have an issue with non-starting MariaDB just try another MariaDB tag in your `.env`
5. You don't need manually change `wp-config.php`. Just point your browser to Wordpress and let the installer do everything for you
6. Uncomment `Adminer` section in `docker-compose.yml` - just my personal preference
7. Uncomment `NGINX_SERVER_ROOT` for Nginx and add `/web` to the end
8. run `make up`
9. profit

# Closing
This took me more time than I expected for the first run. But now I'm very happy with dev-environment. I have prepared my own template for the next projects and I hope I will only update dependencies in future.

Thanks, guys from Wodby!
Lets start at the very beginning . . 
Tags: devjournal
Published: 2019-12-11 00:49:11

I am now 3 weeks into my bootcamp, so through the next 3 blogs lets recap everything I have learned thus far:

    WEEK 1

Week 1 was all about an introduction to javaScript. 

We started off by learning DataTypes such as number(7), string("Hello"), Boolean(true/ false), Undefined, Null, and Symbol. Type Coercion and implementing variable is what we were introduced to next. Type Coercion includes evaluating (==) or a strict evaluation (===) and seeing if the variable does not evaluate equal or true (!= or !===) with a bang(!).

Next we began learning about Arrays[] and Array Methods. Some Methods we learned include unShift(adds a value to the beginning), pop(removes the last value), reverse(reverse the order of an array), and join(converts an array into a string). We began to implement our learning by declaring a function and calling our input through the console.log to compare values, data type, and mess around with methods.

Then came the if, else, and else if statements as well as higher order functions with for loops and array methods such as .map(takes variables and index) and .filter(only gives values that name this condition to be true). We began to map and filter over arrays to return a value and did so through different challenges given to us by our instructors.

And that ladies and gentlemen wrapped up my first week at bootcamp!

I was able to comprehend a lot more than I was expecting too and also wasn't as mentally, physically, and emotionally exhausted as I thought I might be. I was excited to be there and looking forward to the week to come!

Checking Out!
Bootcamp Intro 
Tags: bootcamp, beginners, react, javascript
Published: 2019-12-11 00:27:18

I am already in my 4rd week of my coding bootcamp and so far we have been introduced to HTML, CSS, Javascript, React, and Ruby.

Javascript was very cool; my favorite part was using iterations to solve little logic problems. Javascript is very interesting because it has existed for so long but it has maintained its relevance by regularly transforming. 
Javascript was a fun way to be introduced to site functionality such as button clicking, etc. 

Next we covered React and that was pretty difficult for me (I am still actively working on React overview and exercises). It is complicated but and excellent tool. It allowed us to build fully functional interactive sites and games which is exciting for entry level devs. The fact that it's compiled causes some funky errors but that was a learning opportunity in itself because it definitely won't be the last compiled framework that I will use. 
We did quite a few exercises with React and some notable ones were: a treasure hunt game, tic-tac-toe, dice roller, and Magic 8 Ball.
I am excited to keep working on React.

This week we entered Ruby Land and I LOVE IT. Ruby was already an interesting language to me and I am glad to say: it is living up to the hype. 
Until next time, 
xoxoCodeGirl