반응형

방향성 비순환 그래프(directed acyclic graph, Dag)

방향성 비순환 그래프(DAG)는 각 요소가 특정 방향으로 향하고 있으며, 상호적으로 연결되어 순환하지 않는 구조를 가지는 그래프를 의미합니다.

 

특징

  • 방향성: 각 엣지는 방향을 가지고 있습니다.
  • 비순환성: 그래프 내에서 순환 또는 루프가 없습니다.

 

장점

  • 효율적인 데이터 처리: 순환이 없기 때문에, 데이터 처리와 알고리즘이 효율적으로 이루어집니다.
  • 의존성 관리: 작업 간의 의존성을 명확하게 정의하여 작업을 효과적으로 조정할 수 있습니다

 

단점

  • 복잡한 구현: 일부 문제에 대한 DAG의 구현은 복잡할 수 있습니다.
  • 일부 작업에서 효과적이지 않을 수 있음: 특정 유형의 문제에는 DAG가 효과적이지 않을 수 있습니다.

 

응용사례

  • 작업 스케줄링: 작업 간의 의존성을 관리하고 병렬로 실행 가능한 작업을 식별하는 데 사용됩니다.
  • 데이터 흐름 그래프: 머신 러닝 및 데이터 처리에서 데이터 흐름을 표현하는 데 사용됩니다.

 

효과적인 사용 방법

  • 의존성 분석: 작업 간의 의존성을 명확하게 이해하고 그에 따라 작업을 조직합니다.
  • 효율적인 병렬 처리: 병렬로 실행 가능한 작업을 식별하여 시스템 자원을 효과적으로 활용합니다.
반응형

'Data engineer > Apache Spark' 카테고리의 다른 글

[Spark]GraphX  (0) 2024.01.07
[Spark]Spark 정형화 스트리밍(Structured Streaming)  (1) 2024.01.07
[Spark]Spark MLlib(Machine Learning Library)  (0) 2024.01.07
[Spark]Spark SQL 이란?  (0) 2024.01.07
[Spark]Spark 특성 4가지  (1) 2024.01.07
반응형

sequence(자동 증가) 값 확인

환경

- DBeaver에서 query 실행.

 

 

PostgreSQL에서 setval() 함수를 통해서 현재 seq 값을 확인할 수 있다는 글이 많은데 ERROR가 발생했습니다.

last_value() 함수도 ERROR 발생합니다.

현재까지 성공한 seq 성공 방법은 nextval(’seq name’) 밖에 없습니다. 하지만 이 방법을 사용하면 seq 값이 1 증가하기 때문에 사용할 수 없습니다.

 

**DBeaver 을 사용하면 table 목록을 열면 Sequences 항목이 나오는데 sequences 를 확인 할 수 있습니다.**

 

성공

last_value 컬럼을 조회하면  sequence 값을 확인할 수 있었습니다.

select last_value from seq이름

 

 

반응형

'DB > PostgreSQL' 카테고리의 다른 글

PostgreSQL console 명령어  (0) 2024.09.09
반응형

Go memory 사용량 확인

var memStats runtime.MemStats
runtime.ReadMemStats(&memStats)
initialMemoryUsage := memStats.TotalAlloc

runtime.ReadMemStats(&memStats)
finalMemoryUsage := memStats.TotalAlloc
memoryUsed := finalMemoryUsage - initialMemoryUsage
fmt.Printf("총 메모리 사용량: %d bytes\n", memoryUsed)
반응형

'Golang > Let's Go' 카테고리의 다른 글

Go 1.21에서 추가된 slice 의 기능  (0) 2023.11.04
Go function? Go Method?  (0) 2023.10.12
BindJSON vs ShouldBindJSON  (0) 2023.10.12
Go 변수와 상수  (0) 2023.10.01
Go 에러로 인한 서버 다운 막는 방법  (0) 2023.08.28
반응형

Redis 명령어

Redis server 명령어

$ redis-server : Redis 실행합니다.
$ brew services start redis : brew 명령어를 통해 Redis를 백그라운드에서 실행할 수 있습니다.
$ brew services restart redis : Redis를 재실행합니다.
$ brew services stop redis : 실행중인 Redis를 중지합니다.
$ redis-cli ping : Redis가 실행되고 있는 상태인지 확인할 수 있습니다.

 

 

Redis-cli 명령어

$ keys * : 저장된 key 값 모두를 봅니다.
$ set key value : key 값과 value 값을 저장합니다.
$ mset key value : Multi key 값과 value 값을 저장합니다.
$ keys *key* : *을 사용하여 찾고자 하는 key 값의 일부 부분을 대신할 수 있습니다.
$ get key : 찾고자 하는 key의 value 값을 구합니다.
$ del key : 해당 key에 값을 삭제합니다.
$ flushall : 모든 정보를 삭제합니다.
$ rename key newkey : key name을 수정합니다.
$ setex key seconds value :  만료 시간을 지정하여 데이터를 저장합니다.
$ ttl key : ttl을 통해 만료 시간을 확인할 수 있습니다. -2 값은 데이터가 소멸한 데이터를 의미합니다. -1 같은 경우 기한이 없는 데이터를 의미합니다.
반응형

'DB Middleware > Redis' 카테고리의 다른 글

맥북에서 Redis 설치하기  (0) 2023.11.10
반응형

맥북에서 Redis 설치하기

 

맥북에서 Redis 설치하기

맥북에서는 brew 로 쉽게 설치할 수 있습니다.

$ brew update
$ brew install redis

#redis 설치된거 확인합니다.
$ redis-server --version

 

 

 

반응형

'DB Middleware > Redis' 카테고리의 다른 글

Redis 명령어  (0) 2023.11.10
반응형

Go 1.21에서 추가된 slice 의 기능

 

Contains

ex 슬라이스에 value 가 있는지 확인하고, 존재하면 true 를 반환한다.

//추가된 기능
ex := []string{"A", "B", "C"}
ok := slices.Contains(ex, "B")
fmt.Sprintf("%t", ok) // true

//이전 기능
func contains(slice []string, key string) bool {
	ex := make(map[string]struct{}, len(slice))
	for _, s := range slice {
    	ex[s] = struct{}{}
	}
	_, ok := m[key]
return ok
}

 

Insert

ex 슬라이스 내의 i 위치에 value 를 추가하고 반환한다.

//추가된 기능
ex := []string{"A", "B", "C"}
ex = slices.Insert(ex, len(ex), "D")
fmt.Sprintf("%v", ex) // [A B C D]

//이전 기능
ex := []string{"A", "B", "C"}
m = append(ex, "D")
fmt.Sprintf("%v", m) //[A B C D]

 

Delete

ex 슬라이스 내에 있는 요소를 i 에서 j 위치까지 삭제하고 반환한다.

 

//추가된 기능
//ex[A B C D]
ex = slices.Delete(ex, len(ex)-1, len(ex))
fmt.Sprintf("%v", ex) // [A B C]

//이전 기능
ex = append(ex[:len(ex)-1], ex[len(ex):]...)
fmt.Sprintf("%v", ex) // [A B C]

 

반응형

'Golang > Let's Go' 카테고리의 다른 글

Go memory 사용량 확인  (0) 2023.12.13
Go function? Go Method?  (0) 2023.10.12
BindJSON vs ShouldBindJSON  (0) 2023.10.12
Go 변수와 상수  (0) 2023.10.01
Go 에러로 인한 서버 다운 막는 방법  (0) 2023.08.28
반응형

undefined method `deprecator' for ActiveSupport:Module (NoMethodError)
Did you mean?  deprecate_constant

 

[문제]

- m1 pro

 

React Native 개발을 위해 cocoapods 을 설치 후 cocoapods version 확일은 하는 도중에 확인한 에러 메세지 입니다.

 

코드 순서

> sudo gem install cocoapods

> pod --version

erroor!

 

[해결]

해결을 하기 위해서 찾아보니 activesupport current version 의 문제였습니다. downgrading 작업을 진행하면 더이상 에러가 발생하지 않습니다.

 

해결 코드

> sudo gem uninstall activesupport

> sudo gem install activesupport --verion 7.08

 

반응형
반응형

Go function? Go Method?

Go 에서 function 을 만들거나 Method 를 만들 때, 이게 Go 에서 function 인지 Method 인지 헷갈려서 글을 올립니다.

Go 에서는 보통 개발자가 알고 있는 function 이 function 이고, 구조체에 추가한 동작을 Method 라고 합니다.

반응형

'Golang > Let's Go' 카테고리의 다른 글

Go memory 사용량 확인  (0) 2023.12.13
Go 1.21에서 추가된 slice 의 기능  (0) 2023.11.04
BindJSON vs ShouldBindJSON  (0) 2023.10.12
Go 변수와 상수  (0) 2023.10.01
Go 에러로 인한 서버 다운 막는 방법  (0) 2023.08.28

+ Recent posts