Skip to content

Commit

Permalink
release: v1.0.8
Browse files Browse the repository at this point in the history
## Description

+ 파일경로를 못찾는 버그 수정
  + GraphQL 쿼리문 수정
+ HCL 문법 표기이슈 수정
+ 버전업 관련 로컬 구동 테스트 완료 후 머지

## Related Issues

+ resolved #53
  • Loading branch information
s3ich4n authored Jan 20, 2023
2 parents 1568465 + f9ad184 commit d9c3186
Show file tree
Hide file tree
Showing 26 changed files with 204 additions and 271 deletions.
2 changes: 1 addition & 1 deletion content/devlog/data/2020-02-05---ksqldb-101-pt01/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ category: "devlog"
tags:
- "data_processing"
description: "ksqlDB를 어느정도 이해하기 위해 필요한 기본지식을 설명하였습니다."
socialImage: { "publicURL": "./media/__j__.jpg" }
socialImage: { "publicURL": "./media/j1.jpg" }
---

이 글은 `ksqlDB`(당시에는 `KSQL`이라는 명칭이었습니다)를 학습하기 위해 정리한 연재글입니다.
Expand Down
2 changes: 1 addition & 1 deletion content/devlog/data/2020-02-06---ksqldb-101-pt02/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ category: "devlog"
tags:
- "data_processing"
description: "ksqlDB의 내부 구조인 Apache Kafka의 Kafka Streams를 간략하게 살펴봅시다."
socialImage: { "publicURL": "./media/__j__.jpg" }
socialImage: { "publicURL": "./media/j1.jpg" }
---

이 글은 `ksqlDB`(당시에는 `KSQL`이라는 명칭이었습니다)를 학습하기 위해 정리한 연재글입니다.
Expand Down
2 changes: 1 addition & 1 deletion content/devlog/data/2020-03-10---ksqldb-101-pt03/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ category: "devlog"
tags:
- "data_processing"
description: "ksqlDB을 활용한 오픈소스의 예시를 통해, 보안 이벤트를 실시간으로 걸러내는 방안에 대해 학습해보고 이를 토대로 어떤식으로 활용하면 좋을지 살펴봅시다."
socialImage: { "publicURL": "./media/__j__.jpg" }
socialImage: { "publicURL": "./media/j1.jpg" }
---

이 글은 `ksqlDB`(당시에는 `KSQL`이라는 명칭이었습니다)를 학습하기 위해 정리한 연재글입니다.
Expand Down
14 changes: 14 additions & 0 deletions content/devlog/python/2021-09-20---python-concurrency-101/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: "Python의 동시성 관련 (1)"
date: "2021-09-20T10:30:00.000Z"
template: "post"
draft: true
slug: "/devlog/python/2021-09-20-python-concurrency-101"
categories: "devlog"
tags:
- "python"
description: "Python의 동시성에 대해 연구한 글입니다 (1)"
socialImage: { "publicURL": "./media/sangdo-dong.jpg" }
---

# 작성중
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ OS 마다 **바이너리** 파일이 존재하는데, Go코드는 하나의 바

실제로 생성할 인프라 자원에 대해 정의하는 방법은 아래와 같습니다.

```Terraform
```hcl
resource "<PROVIDER>_<TYPE>" "<NAME>" {
[CONFIG ...]
}
Expand All @@ -154,7 +154,7 @@ https://github.com/s3ich4n/terraform-study-101/blob/4e0b9159a443853311734cf0a839

참조(reference)는 코드의 다른 부분에서 사전에 정의한 리소스의 특정 값에 액세스 할 수 있게 해주는 표현식을 의미합니다. 정의 방법은 아래와 같습니다.

```terraform
```hcl
<PROVIDER>_<TYPE>.<NAME>.<ATTRIBUTE>
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ socialImage: { "publicURL": "./media/terraform02.jpg" }

데이터 소스 블록을 사용하는 방법은 아래와 같습니다:

```terraform
```hcl
data "<PROVIDER>_<TYPE>" "<NAME>" {
[CONFIG …]
}
Expand All @@ -79,7 +79,7 @@ data "<PROVIDER>_<TYPE>" "<NAME>" {
이런 방식으로 호출할 수 있지요:

```terraform
```hcl
data "aws_ami" "s3ich4n-chapter02-ex01-amazonlinux2" {
most_recent = true
filter {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ socialImage: { "publicURL": "./media/terraform04.jpg" }

모듈을 사용하기 위한 구문은 아래와 같습니다:

```terraform
```hcl
module "<NAME>" {
source = "<SOURCE>"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ IAM 사용자를 3명 생성하는 예시로 살펴보겠습니다. 리소스는

- `iam.tf` 파일 전체

```terraform
```hcl
provider "aws" {
region = "ap-northeast-2"
}
Expand Down Expand Up @@ -188,7 +188,7 @@ Destroy complete! Resources: 3 destroyed.

- `variables.tf` 파일

```terraform
```hcl
variable "user_names" {
description = "Create IAM users with these names"
# 문자열을 담는 "리스트" 타입입니다.
Expand All @@ -199,7 +199,7 @@ variable "user_names" {

- `iam.tf` 파일

```terraform
```hcl
provider "aws" {
region = "ap-northeast-2"
}
Expand All @@ -213,7 +213,7 @@ resource "aws_iam_user" "ch05-ex01-count" {

- `outputs.tf` 파일

```terraform
```hcl
output "first_arn" {
# 첫번째 값을 가져옵니다.
value = aws_iam_user.ch05-ex01-count[0].arn
Expand Down Expand Up @@ -292,7 +292,7 @@ first_arn = "arn:aws:iam::240962124292:user/alice"

1. 전체 리소스를 반복할 수는 있지만 리소스 내에서 인라인 블록을 반복할 수는 없습니다. 아래 예시로 살펴봅시다.

```terraform
```hcl
resource "aws_autoscaling_group" "example" {
launch_configuration = aws_launch_configuration.example.name
vpc_zone_identifier = data.aws_subnets.default.ids
Expand All @@ -317,7 +317,7 @@ first_arn = "arn:aws:iam::240962124292:user/alice"

- `variables.tf`

```terraform
```hcl
variable "user_names" {
description = "Create IAM users with these names"
type = list(string)
Expand Down Expand Up @@ -410,7 +410,7 @@ variable "user_names" {

- `list`, `set`, `map`을 사용하여 전체 리소스의 복사본, 리소스 내 인라인 블록의 복사본, 모듈의 복사본을 만들 수 있습니다. 문법은 아래와 같습니다:

```terraform
```hcl
resource "<PROVIDER>_<TYPE>" "<NAME>" {
for_each = <COLLECTION>
Expand All @@ -428,7 +428,7 @@ variable "user_names" {

- `iam.tf`

```terraform
```hcl
provider "aws" {
region = "ap-northeast-2"
}
Expand All @@ -441,7 +441,7 @@ variable "user_names" {

- `variables.tf`

```terraform
```hcl
variable "user_names" {
description = "Create IAM users with these names"
type = list(string)
Expand All @@ -451,7 +451,7 @@ variable "user_names" {

- `outputs.tf`

```terraform
```hcl
output "all_users" {
value = aws_iam_user.ch05-foreach
}
Expand Down Expand Up @@ -570,7 +570,7 @@ all_users = {

list 내의 모든 이름을 대문자로 변환하는 예제를 통해 알아봅시다. 사용은 아래와 같이 할 수 있습니다.

```terraform
```hcl
# 결과를 list 형식으로 리턴합니다.
[for <ITEM> in <LIST> : <OUTPUT>]
[for <ITEM> in <LIST> : <OUTPUT> if <EXPRESSION>] # 조건문 절에서 다시 살펴봅시다!
Expand All @@ -585,7 +585,7 @@ list 내의 모든 이름을 대문자로 변환하는 예제를 통해 알아
- OUTPUT: ITEM을 변환한 표현식
- `if` 구문(optional): 조건(`<EXPRESSION>`)에 맞으면 값을 추가
```terraform
```hcl
variable "names" {
description = "A list of names"
type = list(string)
Expand Down Expand Up @@ -629,7 +629,7 @@ output "upper_prize_status" {
문자열 지시자를 사용하면, 문자열 보간처럼 `for` 반복문, `if` 제어문에서도 사용할 수 있습니다. 어떻게 사용하는지 살펴봅시다.
```terraform
```hcl
# 반복문의 기본입니다.
%{ for <ITEM> in <COLLECTION> }<BODY>%{ endfor }
Expand All @@ -643,7 +643,7 @@ output "upper_prize_status" {
[예시](https://github.com/brikis98/terraform-up-and-running-code/blob/master/code/terraform/05-tips-and-tricks/loops-and-if-statements/live/global/string-directives/main.tf)를 보면서 함께 살펴봅시다.
```terraform
```hcl
variable "names" {
description = "A list of names"
type = list(string)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ socialImage: { "publicURL": "./media/terraform05.jpg" }

이를 위해서는 Boolean 입력 변수를 변수값으로 추가해주고, 아래와같은 조건 표현식(conditional expression)을 추가합니다.

> ```terraform
> ```hcl
> variable "enable_autoscaling" {
> description = "If set to true, enable auto scaling"
> type = bool
Expand All @@ -72,7 +72,7 @@ socialImage: { "publicURL": "./media/terraform05.jpg" }
상기 조건을 조합하면 아래값처럼 `webserver-cluster` 모듈을 업데이트 할 수 있지요.
```terraform
```hcl
resource "aws_autoscaling_schedule" "scale_out_during_business_hours" {
# enable_autoscaling 값이 참/거짓일 때에 따라 auto scaling을 허용/불허할 수 있습니다.
count = var.enable_autoscaling ? 1 : 0
Expand Down Expand Up @@ -101,7 +101,7 @@ resource "aws_autoscaling_schedule" "scale_in_at_night" {

- staging 서버의 `main.tf` 파일에서는?

```terraform
```hcl
module "webserver_cluster" {
source = "../../../../modules/services/webserver-cluster"
Expand All @@ -119,7 +119,7 @@ module "webserver_cluster" {

- production 서버의 `main.tf` 파일에서는?

```terraform
```hcl
module "webserver_cluster" {
source = "../../../../modules/services/webserver-cluster"
Expand All @@ -146,7 +146,7 @@ module "webserver_cluster" {

- 읽기 권한만 부여하기 위한 예시값 (`iam_read_only.tf`)

```terraform
```hcl
resource "aws_iam_policy" "cloudwatch_read_only" {
name = "cloudwatch-read-only"
policy = data.aws_iam_policy_document.cloudwatch_read_only.json
Expand All @@ -168,7 +168,7 @@ data "aws_iam_policy_document" "cloudwatch_read_only" {

- 읽기/쓰기 권한을 부여하기 위한 예시값(`iam_rw.tf`)

```terraform
```hcl
resource "aws_iam_policy" "cloudwatch_full_access" {
name = "cloudwatch-full-access"
policy = data.aws_iam_policy_document.cloudwatch_full_access.json
Expand All @@ -186,7 +186,7 @@ data "aws_iam_policy_document" "cloudwatch_full_access" {

`give_s3ich4n_cloudwatch_full_access` 이라는 변수값에 기반하여, 리소스를 어떻게 적용할지 살펴봅시다.

```terraform
```hcl
variable "give_s3ich4n_cloudwatch_full_access" {
description = "If true, s3ich4n gets full access to CloudWatch"
type = bool
Expand All @@ -195,7 +195,7 @@ variable "give_s3ich4n_cloudwatch_full_access" {

리소스 생성 시, 동작수행을 위해 `count` 매개변수와 조건 표현식을 모두 사용해봅시다.

```terraform
```hcl
resource "aws_iam_user_policy_attachment" "neo_cloudwatch_full_access" {
count = var.give_neo_cloudwatch_full_access ? 1 : 0
Expand All @@ -221,7 +221,7 @@ resource "aws_iam_user_policy_attachment" "neo_cloudwatch_read_only" {

이를 표현하기 위해서는 조건부로 어떻게 표현할까요? `for_each` 표현식과 `for` 표현식을 결합하여 사용할 수 있습니다. 예시값을 살펴보시지요.

```terraform
```hcl
dynamic "tag" {
for_each = {
for key, value in var.custom_tags:
Expand All @@ -247,7 +247,7 @@ dynamic "tag" {

`if` 문자열 지시자를 살펴봅시다.

```terraform
```hcl
# if 구문의 사용방법 입니다.
%{if <CONDITION> }<TRUEVAL>%{endif}
Expand All @@ -265,7 +265,7 @@ dynamic "tag" {

[예시](https://github.com/brikis98/terraform-up-and-running-code/blob/master/code/terraform/05-tips-and-tricks/loops-and-if-statements/live/global/string-directives/main.tf)를 보면서 함께 살펴봅시다.

```terraform
```hcl
variable "names" {
description = "A list of names"
type = list(string)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Terraform Up & Learning 3rd Edition 의 6장 내용을 다루고 있습니다.
예를들어 이런 코드가 있다고 할까요?

```Terraform
```hcl
resource "aws_db_instance" "example" {
identifier_prefix = "terraform-up-and-running"
engine = "mysql"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ DevOps 프로젝트는 다른 유형의 소프트웨어 프로젝트보다 더

1. `asg-rolling-deploy` 모듈을 사용하여, 크기 1인 ASG를 배포하는 코드를 봅시다.

```terraform
```hcl
terraform {
required_version = ">= 1.0.0, < 2.0.0"
Expand Down Expand Up @@ -267,7 +267,7 @@ curl -s http://$ALBDNS

테라폼 0.13부터 등장한 validation blocks 은 입력 변수를 체크할 수 있습니다.

```terraform
```hcl
variable "instance_type" {
description = "The type of EC2 Instances to run (e.g. t2.micro)"
type = string
Expand All @@ -282,7 +282,7 @@ variable "instance_type" {

만일 validation에 실패한다면, 아래와 같은 에러 메시지를 리턴하게 됩니다.

```terraform
```hcl
$ terraform apply -var instance_type="m4.large"
│ Error: Invalid value for variable
Expand All @@ -304,7 +304,7 @@ $ terraform apply -var instance_type="m4.large"

- 테라폼 코어(`core`를 의미): 테라폼 실행파일 버전을 `required_version` 이란 값으로 명시합니다.

```terraform
```hcl
terraform {
# Require any 1.x version of Terraform
required_version = ">= 1.0.0, < 2.0.0"
Expand All @@ -319,7 +319,7 @@ $ terraform apply -var instance_type="m4.large"

- 프로바이더 버전: 프로바이더 버전 또한 `require_providers` 블록으로 명시합니다.

```terraform
```hcl
terraform {
required_version = ">= 1.0.0, < 2.0.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ provider "aws" {

이런 코드에 대해 만들고

```terraform
```hcl
provider "aws" {
region = "us-east-2"
}
Expand All @@ -87,7 +87,7 @@ Initializing provider plugins...

프로바이더를 보다 상세하게 설정하고싶다면 어떻게 해야할까요?

```terraform
```hcl
terraform {
required_providers {
<LOCAL_NAME> = {
Expand Down Expand Up @@ -124,7 +124,7 @@ terraform {

이제야 각종 오픈소스들에서 이렇게 쓰는 이유를 알겠군요. 프로바이더 블록만 단독으로 쓰기보다는, 이 편이 더 좋은 듯 합니다.

```terraform
```hcl
terraform {
required_providers {
aws = {
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit d9c3186

Please sign in to comment.