괴발개발 성장기
반응형

회사생활/개발일지 17

Lambda 사용기 ③ - 환경 변수 설정하고 트리거에 적용하기

배경staging에서 테스트 하고 싶다.그래서 환경변수를 지정할 필요가 있었다. 환경변수 설정1) 구성 클릭한다2) 왼쪽 사이드바에 환경변수 누른다3) 편집하면 된다.키 - 값 으로 설정하면 된다.  트리거에 환경변수 사용하기1) 트리거를 클릭한다.2) 트리거 리스트가 나온다.3)  test 트리거를 선택했다4) 편집을 누른다.5) 일정패턴 이미 되어있으니까 다음 누르기6) 추가설정을 누른다. => 해당 함수를 잘봐야한다. 중요!!!!! 7) 상수(json 텍스트) 선택하고 json값을 적는다.8) 다음 - 다음 - 규칙 업데이트 클릭하면 끝!  저는 코드에 env가 staging이면 환경변수에서 stagingURL를 찾아서 접속할 수 있게 만들었어요.

Lambda 사용기 ② - cron표현식 알아보기

배경예약을 할 때 시간을 설정해야한다.그때 cron을 사용한다. 내용UTC 시간을 사용한다.UTC 시간으로 00시가 한국시간으로 9시다.cron표현식 알아보기cron(분 시간 일 월 요일 연도)* 전체 표시 (일, 월, 연도)? : 값 지정 안함Cron 표현식의 요일 필드0 또는 7: 일요일 (대부분의 시스템에서 0이 일요일을 나타내며, 7도 일요일을 나타내는 경우가 있습니다)1: 월요일2: 화요일3: 수요일4: 목요일5: 금요일6: 토요일 시간이나 날짜분 : 1~59시 : 0~23일 : 1-31월 : 1-12요일 0-6까지 표현이 가능하다. 예시- 2024년과 2025년 동안 1월, 2월, 3월의 매월 1일 오전 10시 30분에 작업을 실행cron(30 01 1 1-3 * 2024-2025)- 매일 오..

Lambda 사용기 ① - 매일 같은 시간에 알림톡 보내기

배경개설한 글에 시작날짜가 기재되어있다. 시작날짜 당일 오전 10시에 알림톡을 보내야한다. 함수만드는 방법1) 검색에 Lambda해서 들어간다. 2) 함수 생성을 누른다. 3)  함수를 생성하기함수 이름를 API 관련해서 적었어요.런타임에서는 예전에는 버전이 낮아 지원이 이제 안돼서 node.js 버전을 18로 하기 정했다.기존역할 사용은 제 계정에 데브옵스 담당자분이 역할을 넣어 주셔서 사용이 가능합니다. 4) 함수 생성 끝  코드 작성하기코드 작성한 후에 Deploy 눌러서 저장한다.  트리거 추가하기 - 새규칙 생성1) 트리거 추가 버튼을 누른다.2) EventBridge 선택한다. 3) 새 규칙 생성을 선택한다.규칙 이름 적기 ex) Daily_Once_0300규칙 설명 ex) 매일 새벽 3시에 ..

[개발일지] redux 1차배포 한 후 새로고침을 하면 상태값 리셋되는 현상

# 문제점 금액 수정하는 페이지에서 새로고침을 누르면 하얀페이지가 나타난다. # 원인 상태값이 초기화 되면서 값이 없어서 하얀페이지로 나온다. 뒤로가기는 리덕스를 통해서 성공 했는데 새로고침은 여전히 문제였다. # 해결 방안 redux-persist 라이브러리를 사용하면 된다. 상태값이 필요없는 페이지에서 상태값이 그래도 존재한다. 그래서 상태값이 필요없는 페이지에서는 리덕스를 초기화시켜준다. # redux-persist 라이브러리 사용방법 이전 글을 참조하자! 2024.01.16 - [Study/자바스크립트] - [redux] 새로고침해도 state(상태값)를 유지하기 [redux] 새로고침해도 state(상태값)를 유지하기 # 배경 회사서비스에 redux를 적용했다. 그런데 새로고침을 누르면 페이지가..

[개발일지] useHistory에서 redux(리덕스) 사용기

# 배경 금액 수정 페이지를 가는데 많은 경로가 있다. 금액 수정 페이지에서 뒤로 가기를 하려고 했다. "목록으로" 버튼을 누르면 뒤로 가는 프로세스였다. 그런데 A 페이지에 Tab2를 만들었다. 그러면 상세페이지를 갈 때 쿼리스트링에 주민등록번호를 전체 가지고 다니는게 쫌 그랬다. 그래서 history안에 state에 저장해서 값을 이동 시켰다. 이렇게 모든 이동 버튼에 아래와 같은 코드를 넣어줬다. '이렇게 하는게 맞나? ' 계속 고민을 했다. history.push({ pathname: `/page/id`, state: { startPage: history.location.state.startPage, page: history.location.state.page, registrationNo: his..

XORM 사용하는 이유와 통계 관련 SQL

# XORM 사용하는 이유 SQL문을 사용하지 않고 XORM을 사용하는 이유는 오류를 방지하기 때문이다. 복잡한 SQL문을 직접 쓰다 보면 오류 발생하는 경우가 종종 있다. 그러나 통계같은 건 SQL문을 직접 사용하는 것이 좋다. # XORM 사용한 SQL문 q := cocommon.GetDB(ctx).Table("popups"). Select("id, device_type,title,start_date,end_date,closed"). Where("1=1"). And("closed =?", false). And("display_page like '%" + enum.MAIN.String() + "%'"). Asc("order_by").Desc("start_date") 이렇게 사용한다. 하지만 SQL문 전..

[error] CORS error 해결 방안

# 배경 A서비스에서 로그인 후에 B서비스를 접속하려고 하니까 에러가 발생했다. 에러난 API를 보면 프런트에서 백으로 연결은 잘됐다. 그리고 포스트맨으로 API를 호출해도 잘됐다. # 현재 상황 http://localhost:3000 - A서비스 http://localhost:3001 http://localhost:3002 - B서비스 이렇게 웹사이트가 켜져 있는 상황이다. 나는 3000에서 3002를 가는 과정에서 CORS error 발생했다. 정말 반나절을…. 고생했는데…. # CORS(Cross Origin Resource Sharing) Origin은 url 주소상에서 프로토콜, Domain 이름, 포트까지 포함한 개념이고 예를 들으면 http://localhost:3000 이다. 서로 다른 오..

[개발일지] go 언어를 사용하는 이유?

# go를 시작한 이유 입사해서 golang을 접했다. - 성능이 빠르다. - 빠른 서비스를 만들기 위해서 선택했다고 했다. - MSA를 하기 좋다고 했다. - 미래가 밝은 언어이다. => 주입식 교육! 한번 의문을 갖지 않았던 것 같다. 왜 ? golang을 사용할까? # 나의 생각 내가 golang이 좋은 건 우선 세미콜론(;)를 안쳐도 된다. 쉽게 문법을 학습했다. 다른 언어로 웹서비스를 개발한 적이 없고 기본 문법만 배워서 정확히 비교는 할 수 없다. 하지만 타입을 전환하는데 많은 코드를 사용한다. num, err := strconv.Atoi("5") if err != nil { return 0, err } str:= strconv.Itoa(num) 그래서 생각보다 코드가 깔끔하지 않는 경우가 많..

[개발일지] 2022-09-01 비동기 프로그래밍 시작

한동안 나의 성장이 정체기 였다. 실무 PT를 들으면서 좌절이 왔다. 내가 응용을 너무 못하는 것 같다는 생각과 기초가 없다는 느낌을 많이 받았다. 그러면서 공부에 대한 열정이 서서히 올라가고 있다. 최근 카카오 알람톡를 보내주는 회사에서 통신 에러가 10분간 있었다. 그래서 10분동안 기부를 등록하지 못하는 일이 발생했다. 우리팀 서비스는 의존성이 강해서 메시지 에러가 나면 기부 등록도 못한다. 나는 그 당시 그럼 이럴 때 고루틴을 사용하는 건가? 메시지 보내주는 서비스와 기부등록해주는 서비스를 비동기로 처리하면 된다고 생각했다. 회의 시간에 나의 궁금증을 물어보게 되었다. 외주 시니어 개발자는 카프카 같이 메시지를 큐에 넣어서 처리하는 방식이 있다고 했다. 그래서 기부는 등록이 되고 메시지가 안보내지..

반응형