본문 바로가기

728x90
반응형

분류 전체보기

(224)
golang .env 파일 환경변수 셋팅 .env 파일로 환경변수를 지정해주는 방법 일단 main이 있는 package에 직접 .env 파일을 만들어준다. 나의 경우에는 terminal에서 만들어줬다. touch .env vi .env touch로 .env 파일을 생성하고 vi로 편집해서 환경변수를 설정해준다. 예를들어 linux 계정 이름과 비번을 저장하고 싶다고 가정해보자. .env 파일의 내용은 아래와 같이 작성할 수 있다. LINUX_NAME=csohb LINUX_PWD=1234 이 형식이 정해져있는건 아니다 그냥 맘대로 지정해도 된다. 여튼 이렇게 쓴 .env 파일을 사용하기 위해서는 env 파일을 읽어오는 라이브러리를 사용해야한다. err := godotenv.Load(envFile) if err != nil { panic(err) ..
go init() 프로젝트 하면서 배우게 된 사항들은 까먹지 않고 다시 정리하는 습관을 들이려한다. 첫번째. init() 함수 - main을 호출함과 동시에 무조건 호출되는 함수 main에서 따로 선언하지 않아도 알아서 호출된다. func init() { fmt.Println("init func called..") } func main() { fmt.Println("main func called..") } 분명 main에서 따로 호출하지 않았지만 실행되는 동시에 함수가 호출된 것을 볼 수 있다. 그럼 이 함수를 어디에 사용하는가. 내가 하고 있는 프로젝트에서는 config파일 읽어올때 주로 쓴다. func init() { if len(os.Args) == 2 { configFile = os.Args[1] } else { ..
Linux docker-compose config 수정 일단 지금 단계에선 single 브로커만 쓸거기 때문에 docker-compse-single-broker.yml 만 수정하려한다. git clone 해서 받으면 기본으로 되어있는 yml 파일 version: '2' services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: build: . ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: 192.168.99.100 KAFKA_CREATE_TOPICS: "test:1:1" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /var/run/docker.sock:/var/run/..
Linux Docker-compose 설치 카프카를 로컬이 아닌 개발서버에 올리기 위해서 linux인 회사 개발서버에 카프카 및 도커를 설치해야한다. 별것도 아닌 일이지만 초보들은 해매기 일수 이기 때문에 정리차원에서 블로깅 *회사 개발 서버는 centos7 도커로 카프카를 띄우기 이전에 docker-compose도 안깔려있다면.. 찾아보니 윈도우랑 맥은 기본으로 깔려있다는거 같은데 리눅스는 따로 깔아줘야하는거 같다. https://docs.docker.com/compose/install/ Install Docker Compose docs.docker.com 사실 여기가면 엄청 간단하고 자세히 다 나와있다. 그래도 미래의 나를 위해서 정리하자면 1. curl로 docker-compose 바이너리 다운받기 udo curl -L "https://gi..
Golang Docker-Kafka 프로그램 2 아까는 그냥 도커에서 카프카를 띄우는 방법정도만 했다면 이 블로깅에서는 golang을 활용하여 메세지를 받는 consumer 서버 샘플을 만들어 보려한다. 사실 내가 만든건 아니고 유튜브를 참고했다. ㅋㅋ 고로 개발하고나서는 감히 한국어 자료를 찾으려 하지 않는다. 그냥 그시간에 영어로 유튜브에 치면 더 많고 정확한 자료를 얻을 수 있음. https://www.youtube.com/watch?v=Ur4ZtuMpj14&t=402s 국내에 계신 몇 안되는 go발자님들.. 화이팅 일단 이 간단한 프로그램은 go get "github.com/segmentio/kafka-go" 을 통해 라이브러리를 받아와야 사용가능하다. 먼저 이것부터 받고 시작하면 된다. 유튜브 영상과 똑같은 내용을 쓸꺼라 영어를 좋아하는 분들..
Golang Docker Kafka 프로그램 있는 그대로 고랭과 도커를 사용하여 kafka 를 사용한 pub-sub 구조 프로그램을 만들어보려고 한다. 지금 하는 프로젝트에서 필요하기 때문에 과제로 받았다. * go 1.18 ver, java14로 실습했습니다. 제목을 써보니 핫한 기술 다 때려박은 느낌이다. 사실이긴한데 내가 쓸내용은 핫하지 않다.. 각설하고 순서를 정리하면 이렇다. 1. kafka 다운받기&config 맞추기 일단 아래 깃 src를 클론받는다. git clone https://github.com/wurstmeister/kafka-docker.git 정상적으로 다운로드가 되면 root dir에 kafka-docker 라는 폴더가 생성된다. 그러고 나서 vi로 docker-compose-single-broker.yml 파일을 수정해..
BFF - Backend for Frontend BFF - Backend for Frontend 프론트엔드를 위한 백엔드 서버. 모바일, 앱, 글로벌 서비스 등 다양한 형태의 프론트엔드 클라이언트가 존재하기 때문에 각 클라이언트에 맞는 백앤드 서버를 두는 것. 이 패턴을 쓰는 이유가 궁금해서 찾아봤었다. 일단 의문이 api gateway를 두면 되는데 왜 굳이 한 클라이언트 당 또 백서버를 두는지 그 이유가 궁금했다. gateway는 여러 클라이언트가 다야한 서비스에 요청을 보내게 될 때 호출 관계를 정리하기 위해 사용한다. 예를 들어 web에서 물건을 주문하게 될 때, list api, order api 등 여러 백 서비스의 라우팅을 담당하게 된다. 하지만 bff는 api gateway 앞에 서버를 하나 더 두는 방식이다. 그 이유는 클라이언트 별로..
NoSQL 프로젝트 진행하고 또 이런저런 자료를 뒤적이다 보니 nosql이라는 용어가 계속 나와서 정리겸 공부하기 위해 쓰는 블로그. 일단 nosql이란 말 그대로 기존의 rdbms가 아닌 db들을 의미한다. 우리가 일반적으로 알고 사용하는 oracle, mysql, mariadb, sqlite 등은 전부 sql이다. 그렇다면 nosql은 뭘까 정리해보도록 하겠다. 일단 사전적 정의는 : 기존의 관게형 데이터베이스 시스템의 주요 특성을 보장하는 ACID(Atomic, Consistency, integrity, Durability)특성을 제공하지 않는 덜 제한적인 데이터베이스를 의미한다. 기존에 사용하는 dbms는 행과 테이블을 사용하여 데이터구조에 제약이 크다. 하지만 NoSQL은 다양한 데이터 모델을 제공하여 대..
Dbeaver "The server time zone value 'KST' is unrecognized" 에러 DBeaver를 쓰는데 mysql 연결시에 위와 같은 오류가 발생한 경우 -> 타임존 설정을 안해줘서 그렇다 해당 DB 선택후 우클릭 Edit Connection Server Time Zone을 Asia/Seoul로 바꾸고 Test Connection 해보면 잘 된다.
curl: (6) Could not resolve host 에러 해결 curl: (6) Could not resolve host 발생시 해결방법 1. /etc/resolv.conf 수정 근데 나같이 리눅스도 익숙하지 않은 개발자들은 그래서 어떻게 수정하는데.. 부터 막막할 수 있음 1.1. sudo chmod 764 resolv.conf - sudo 안붙이면 안됨 권한을 일단 줘봤어요 안그래도 될 수도 있음 1.2. sudo vi /etc/resolv.conf - 마찬가지로 sudo 안붙이면 안됨 2. 수정방법 vi로 켰기 때문에 vi 단축키도 알아야함 저는 익숙해졌는데 모르는 분들을 위해 2.1. i 누르고 입력모드 2.2. search 8.8.4.4 nameserver 8.8.8.8 추가 2.3 esc눌러서 입력모드 종료 2.4 :wq! 입력으로 저장 실제로 conf ..

728x90
반응형