1625160240
Welcome to the first segment of CDK NEWS!
In this episode, we’re going to discuss the newest features that come from AWS CDK V2, which was announced on April 30th, 2021.
We’ll dive into:
Twitter: https://twitter.com/TheNJDevOpsGuy…
Website: https://www.michaellevan.net/
#cdk #aws #aws cdk v2
1625160240
Welcome to the first segment of CDK NEWS!
In this episode, we’re going to discuss the newest features that come from AWS CDK V2, which was announced on April 30th, 2021.
We’ll dive into:
Twitter: https://twitter.com/TheNJDevOpsGuy…
Website: https://www.michaellevan.net/
#cdk #aws #aws cdk v2
1599854400
Go announced Go 1.15 version on 11 Aug 2020. Highlighted updates and features include Substantial improvements to the Go linker, Improved allocation for small objects at high core counts, X.509 CommonName deprecation, GOPROXY supports skipping proxies that return errors, New embedded tzdata package, Several Core Library improvements and more.
As Go promise for maintaining backward compatibility. After upgrading to the latest Go 1.15 version, almost all existing Golang applications or programs continue to compile and run as older Golang version.
#go #golang #go 1.15 #go features #go improvement #go package #go new features
1652563380
go-aws-news
Fetch what's new from AWS and send out notifications on social sites.
go-aws-news
can be executed as an application that sends out notifications to social sites like Discord. To configure providers, modify the config.yaml file to enable a provider.
go-aws-news
is designed to be run on a schedule, once a day (displaying the previous day's AWS News). See the install options for examples on how to install and run.
Currently supported providers:
The simplest way to run go-aws-news
is via crontab.
Type crontab -e
on Mac or Linux and add a line:
# Binary
0 2 * * * /path/to/go-aws-news-binary
# Docker
0 14 * * * docker run -d --rm --name aws-news \
-v your_config.yaml:/config.yaml \
circa10a/go-aws-news
The above example will execute
go-aws-news
at2PM UTC
(8AM CST) each day.
go-aws-news
can be run as a CronJob in a Kubernetes cluster.
Example cronjob.yaml
:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: go-aws-news
spec:
schedule: "0 14 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: go-aws-news
image: circa10a/go-aws-news
volumeMounts:
- name: config
mountPath: /config.yaml
subPath: config.yaml
volumes:
- name: config
configMap:
name: awsnews-config
restartPolicy: OnFailure
The ConfigMap can be created from the config.yaml file itself:
kubectl create configmap awsnews-config --from-file=config.yaml
To apply the cronjob.yaml
example above:
kubectl apply -f cronjob.yaml
Setup provider config in AWS SSM Parameter Store:
aws ssm put-parameter --type SecureString --name go-aws-news-config --value "$(cat config.yaml)"
Note: Overriding the name
go-aws-news-config
will require an environment variable on the lambda function:GO_AWS_NEWS_CONFIG_NAME
.
Create the Lambda execution role and add permissions:
aws iam create-role --role-name go-aws-news-lambda-ex --assume-role-policy-document '{"Version": "2012-10-17","Statement": [{ "Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"}, "Action": "sts:AssumeRole"}]}'
aws iam attach-role-policy --role-name go-aws-news-lambda-ex --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
aws iam attach-role-policy --role-name go-aws-news-lambda-ex --policy-arn arn:aws:iam::aws:policy/AmazonSSMReadOnlyAccess
Create the lambda function:
make lambda-package
aws lambda create-function --function-name go-aws-news --zip-file fileb://bin/lambda.zip --runtime go1.x --handler awsnews \
--role $(aws iam get-role --role-name go-aws-news-lambda-ex --query Role.Arn --output text)
Create a schedule for the lambda:
aws events put-rule --schedule-expression "cron(0 14 * * ? *)" --name go-aws-news-cron
LAMBDA_ARN=$(aws lambda get-function --function-name go-aws-news --query Configuration.FunctionArn)
aws events put-targets --rule go-aws-news-cron --targets "Id"="1","Arn"=$LAMBDA_ARN
Allow the lambda function to be invoked by the schedule rule:
EVENT_ARN=$(aws events describe-rule --name go-aws-news-cron --query Arn --output text)
aws lambda add-permission --function-name go-aws-news --statement-id eventbridge-cron \
--action 'lambda:InvokeFunction' --principal events.amazonaws.com --source-arn $EVENT_ARN
go-aws-news
can be installed as a module for use in other Go applications:
go get -u "github.com/circa10a/go-aws-news/news"
Methods return a slice of structs which include the announcement title, a link, and the date it was posted as well an error. This allows you to manipulate the data in whichever way you please, or simply use Print()
to print a nice ASCII table to the console.
package main
import (
awsnews "github.com/circa10a/go-aws-news/news"
)
func main() {
news, err := awsnews.Today()
if err != nil {
// Handle error
}
news.Print()
}
news, _ := awsnews.Yesterday()
news, _ := awsnews.ThisMonth()
// Custom timeframe(June 2019)
news, err := awsnews.Fetch(2019, 06)
// Custom timeframe(2017)
news, err := awsnews.FetchYear(2017)
news, _ := awsnews.ThisMonth()
news.Print()
// Console output
// +--------------------------------+--------------+
// | ANNOUNCEMENT | DATE |
// +--------------------------------+--------------+
// | Amazon Cognito now supports | Jan 10, 2020 |
// | CloudWatch Usage Metrics | |
// +--------------------------------+--------------+
// | Introducing Workload Shares in | Jan 10, 2020 |
// | AWS Well-Architected Tool | |
// +--------------------------------+--------------+
//
// Loop slice of stucts of announcements
// For your own data manipulation
news, _ := awsnews.Fetch(time.Now().Year(), int(time.Now().Month()))
for _, v := range news {
fmt.Printf("Title: %v\n", v.Title)
fmt.Printf("Link: %v\n", v.Link)
fmt.Printf("Date: %v\n", v.PostDate)
}
news, _ := awsnews.ThisMonth()
// Last 10 news items of the month
news.Last(10).Print()
news, _ := awsnews.ThisMonth()
json, jsonErr := news.JSON()
if jsonErr != nil {
log.Fatal(err)
}
fmt.Println(string(json))
news, _ := awsnews.ThisMonth()
html := news.HTML()
fmt.Println(html)
news, err := awsnews.Fetch(2019, 12)
if err != nil {
fmt.Println(err)
} else {
news.Filter([]string{"EKS", "ECS"}).Print()
}
# Unit/Integration tests
make
# Get code coverage
make coverage
Author: Circa10a
Source Code: https://github.com/circa10a/go-aws-news
License: MIT license
1655304840
Building Web Applications with Go
Welcome, gopher! You're not a gopher? Well, this workshop is for gophers, or people that use the Go programming language. But fear not if you've never written any Go before! I'd recommend you learn the basics for the language first with the Go tour.
This workshop has been run a couple of times with an instructor leading. The goal of this repo is to make it as easy as possible for individuals to follow the content by themselves. If you get stuck at any point, feel free to file issues asking questions.
To go through this you will need the following:
GOPATH
by following the How to Write Go Code tutorial.There's a lot to say about how to build web applications, in Go or any other language. But we only have one day so we won't try to cover too much. Instead we'll cover the basics, so you'll be able to explore other solutions and frameworks later.
The workshops is divided in eleven sections:
These are places where you can find more information for Go:
My favorite aspect of Go is its community, and you are now part of it too. Welcome!
As a newcomer to the Go community you might have questions or get blocked at some point. This is completely normal, and we're here to help you. Some of the places where gophers tend to hang out are:
This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.
Author: Campoy
Source Code: https://github.com/campoy/go-web-workshop
License: Apache-2.0 license
1620872502
Looking for AWS project ideas? Then you’ve come to the right place because, in this article, we’ve shared multiple AWS projects. The projects are of various sectors and skill-levels so you can choose according to your expertise and interests. The more projects you have in your portfolio, the better. Companies are always on the lookout for skilled AWS Developers who can develop innovative AWS projects. So, if you are a beginner, the best thing you can do is work on some top AWS projects.
We, here at upGrad, believe in a practical approach as theoretical knowledge alone won’t be of help in a real-time work environment. In this article, we will be exploring some interesting AWS projects which beginners can work on to put their knowledge to test. In this article, you will find top AWS projects for beginners to get hands-on experience on Java.
Amid the cut-throat competition, aspiring AWS Developers must have hands-on experience with real-world AWS projects. In fact, this is one of the primary recruitment criteria for most employers today. As you start working on AWS projects, you will not only be able to test your strengths and weaknesses, but you will also gain exposure that can be immensely helpful to boost your career.
#aws #aws developer #aws project ideas #aws projects #aws