본문 바로가기

728x90

전체 글

(87)
[Go] for, range 구문 package main import "fmt" func superAdd(numbers ...int) int { total := 0 for _, number := range numbers { total += number } return total } func main() { result := superAdd(1, 2, 3, 4, 5, 6) fmt.Println(result) } golang에서는 오로지 for 하나만으로 loop 구문을 만들 수 있다.
[Go] defer 기능 package main import ( "fmt" "strings" ) func lenAndUpper(name string) (length int, uppercase string) { defer fmt.Println("I'm done") length = len(name) uppercase = strings.ToUpper(name) return } func main() { totalLength, up := lenAndUpper("nico") fmt.Println(totalLength, up) } golang에서 func 함수가 다 실행되고 난 뒤에 실행되는 것이 "defer" 기능이다.
[Go] naked return 기능 package main import ( "fmt" "strings" ) func lenAndUpper(name string) (length int, uppercase string) { length = len(name) uppercase = strings.ToUpper(name) return } func main() { totalLength, up := lenAndUpper("nico") fmt.Println(totalLength, up) } golang에서 lenAndUpper 함수에서 반환 값으로 length와 uppercase를 써주지 않아도 되는 기능을 "naked return"이라고 한다.
[CS] URI와 URL의 차이점 URL: Uniform Resource Locator로써 해당 경로에 실제 존재하는 자원의 위치를 가르키는 것 예를 들어 http://someone-life.tistory/test.txt 라는 URL은 웹 서버 Root 디렉터리에 실제로 존재하는 test.txt 파일을 요청하기 위한 주소입니다. URI: Uniform Resource Identifier로써 요청하는 주소가 실제 존재하는 파일이라기 보다는 기능을 하기위한 구분자로 보는 것 Flask를 통해 /hello라는 URI에 요청이 들어왔을 때 특정 동작을 실행하게 합니다. 실제 우리 서버 안에 hello라는 파일은 존재하지 않습니다. 단지 자원의 구분자로써 역할을 하며 접근 구분자에 땨라 CRUD Operation을 실행하게 하는 주소입니다. UR..
[CVAT] 원격 접속 문제 문제 CVAT(Computer Vision Annotation Tool)을 원격 데스크톱에 설치하면서 원격 IP로 접속이 안되는 문제를 겪고 있습니다. 하지만 VSCode에서 Remote-SSH를 사용해서 연결하면 자동으로 auto-forwarded가 되면서 localhost:8080으로 접속이 됩니다. 해결책 .env 파일에 CVAT_HOST 변수를 원격 IP로 추가해주고 docker-compose up -d 를 실행시켜주면 됩니다. # .env file CVAT_HOST=xxx.xxx.xx.xxx docker-compose up -d
[SQL] PostgreSQL 설치 및 접속 현재 나는 MacBook Pro M1을 쓰고 있기 때문에 Mac OS에서 PostgreSQL를 설치 및 접속을 해보자. 설치하기 일단, brew를 이용해서 postgresql이 있는지 찾아보자. brew search postgresql 찾아서 있다면 다음 명령어로 설치하자. brew install postgresql 설치 확인하기 설치가 완료된 상황이라면 설치를 확인해보자. /opt/homebrew/bin/postgres --version postgres가 설치된 경로를 찾아서 버전을 입력해주어 버전이 출력된다면 설치가 완료된 것이다. AWS RDS에 접속하기 현재 우리 회사의 RDS에 접속하는 방법은 다음과 같다. 각각의 칸에 맞는 입력을 해주고 접속을 하면 접속이 된다. psql \ --host= \..
[SQL] SQL과 NoSQL의 비교 AWS의 데이터베이스의 종류가 무엇이 있는지 조사중에 SQL과 NoSQL을 선택해야 하는 기로의 순간이 왔다. SQL과 NoSQL은 시대가 지나면서 사용 빈도가 많이 바뀌었다. 위 그림을 보면 처음에는 당연히 SQL을 많이 사용하고 있었지만 시간이 지날수록 NoSQL의 성장세가 무서운 것을 알 수 있다. 이렇게 NoSQL의 성장세가 무서운 이유는 2010년도 이후부터 인터넷을 통한 서비스가 증가하면서 기존의 RDBMS로는 대규모의 서비스를 감당할 수 없다. 이로 인하여 나타난 것이 오픈 소스 프로젝트인 MongoDB, Cassandra 등이다. SQL은 우리가 아는 RDBMS(Relational DataBase Management System)를 말하는 것이었다. 수직적 확장성(Vertical Scala..
[Redis] AWS EC2에 Redis 서버 설치하기 제가 Redis를 사용하는 이유는 Celery Broker로는 RabbitMQ를 사용하고, Celery Result Backend로는 Redis를 사용하고 싶기 때문입니다. 이미 RabbitMQ는 EC2에 설치를 해놓은 상태이고, Redis도 EC2에 설치를 하여 전용으로 Redis를 사용하고 싶었습니다. Creating EC2 for Redis AWS EC2에 Redis를 설치해보겠습니다. EC2는 Ubuntu 18.04를 기반으로 생성하였습니다. 보안 그룹은 6379 Port를 위치 무관으로 열어주면 됩니다. Setting Redis for Downloading # 최고권한 획득 sudo su # 다운로드 wget http://download.redis.io/redis-stable.tar.gz # 압..

728x90