분류 전체보기 270

Node.js에서 환경 변수 다루기

API key와 같이 공개할 수 없는 정보가 코드에 포함된 채로 프로젝트 배포를 하게 되면 이를 사용해 악의적인 일에 사용될 수 있다. 이런 일을 방지하기 위해 API key 등의 정보는 PC에 저장해두고 사용해야 한다. 파이썬 장고를 활용한 프로젝트중에는 .env 파일을 만들어 그 안에서 중요한 키들을 관리했는데 node.js에서 환경 변수에 접근할 때는 process.env라는 객체를 사용한다. process는 전역 개체라서 별도로 임포트해야하는 모듈이 없고 애플리케이션 어디에서든지 접근이 가능하다. 환경 변수 설정 윈도우의 경우: set 키=값 리눅스, Mac OS의 경우: export 키=값 이렇게 Node.js 프로세스 레벨에서 설정해준 환경 변수는 해당 프로세스가 살아있는 동안에만 유효하고, ..

ChatGPT API를 활용한 웹 서비스 만들기 - 1일차

모든 과정에 ChatGPT 활용 가능! 오늘의 배운 것 ChatGPT의 system 프롬프트를 활용하여 특정 역할을 부여하고 질문해 답변받는 웹 서비스 구상 (배우는 과정중에는 운세보기) node.js를 이용한 백엔드 구성 html, css, js를 활용한 프론트엔드 구성 fontawesome을 사용한 움직이는 아이콘 구현(챗GPT 응용가능) 실전 Deploy 프론트엔드 - cloudflare 사용 백엔드 -> AWS Lamda 사용 (serverless) 수익 창조 - 카카오 adfit, 토스 아이디를 활용한 링크 트러블슈팅: 프론트엔드에서 백엔드로 요청시 CORS 에러 cors npm 설정중 origin 주소설정시 주소의 뒷부분에 '/'까지 추가해서 발생한 문제였다! 다음으로 구상할 것 ChatGPT..

2020 카카오 신입 개발자 코딩테스트 - 문자열 압축

https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문자열 자르기 모든 경우에서 가장 압축을 많이 시킨 문자열의 길이를 반환 -> 모든 경우의 수를 파악해야 하므로 반복문 문자열을 자를 시 n//2 이상의 길이 부터는 나눠도 중복되는 피스가 없으므로 반절까지만 쪼갠다(문자열 슬라이싱) split_size 의 크기만큼 0부터 n까지 반복. 2. 중복 문자열 확인 반복을 통해 앞의 문자열과 현재 문자열이 동일한지 확인 동일하다면 count 를 계..

2019년 상반기 LINE 인턴채용 코딩테스트 문제풀이

https://engineering.linecorp.com/ko/blog/2019-firsthalf-line-internship-recruit-coding-test/?fbclid=IwAR2kSQ5dlwDuwY8DQ3WPNh4Ho3XXcJjAyBLrt7CHF5fmtGsb9TUM5kNa93U 2019년 상반기 LINE 인턴 채용 코딩테스트 문제 해설 LINE에서 개발 직군을 뽑을 때 신입이든 경력이든 가장 먼저 보는 것이 코딩 테스트입니다. LINE의 코딩 테스트는 일반적인 알고리즘 경진대회와는 경향이 조금 다른데요. 알고리즘 경진대회는 1 engineering.linecorp.com 코니의 위치 변화는 1초 후 1만큼, 매초마다 이전 이동거리 +1만큼 움직임 즉, += time 코니의 위치가 20만을 넘으..

프로그래머스 연습문제 - 공원 산책

https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이방향 : 시작점 S 찾기 방향에 따라 움직이는 함수 작성 routes의 방향에 따른 움직임, 횟수만큼 반복시행 공원을 벗어나거나 장애물을 만나면 다음 명령 시행 제출 def solution(park, routes): r,c= 0,0 # S 위치 R,C = len(park),len(park[0]) # 공원 경계 move = {"E":(0,1),"W":(0,-1),"S":(1,0),"N":(-1..

체리필터 - 달빛소년

https://youtu.be/g4tJZSlIAYs 유리병 속에 담긴 나의 바다 파란 포도주 밤하늘 저 푸른 달빛 부서져 가는 나의 여름밤 파란 달나라로 나를 데려가 줘요 어렸을 적 파란 밤 달빛 내리는 거릴 걷다 한 소년을 바라보다 벼락 맞았었지 그건 아마 어린 나에겐 사랑인줄도 모르고 가슴만 저려오며 파란달만 쳐다보았네 밤이면 추억들은 파도에 밀려 바람에 실려 슬픈 지난일은 모두 데려가 줘요 어렸을 적 파란 밤 달빛 내리는 거릴걷다 한 소년을 바라보다 벼락 맞았었지 그건 아마 어린 나에겐 사랑인줄도 모르고 가슴만 저려오며 파란달만 쳐다보았네 숨바꼭질을 하던 소년 넌, 어디로 숨어버렸나? 저기 저 파란 달님만 조용히 웃고 있네요 어렸을 적 파란 밤 달빛 내리는 거릴걷다 한 소년을 바라보다 벼락 맞았었지..

취미/music 2023.01.04

20221229 TIL

오늘의 한 일 최종 프로젝트 - 최종 발표 최종 발표 매니저님께서 협력사 대표분의 깃헙을 전달해주신다고 했는데 뭔가 진행이 안된 것인지 깃허브 코드를 못보셨다고 한다.. 팀장님 발표도 좋았고 협력사 대표분께 피드백 및 질문에 대한 답변도 잘 넘어가긴 했는데 아무래도 코드를 보시지 못해서 그런지 너무 단순한 질문만 주셨던 것 같아 아쉽다. 발표 이후에 정리겸 사이트에 들어갔는데 css가 망가진 부분이나 프로필을 받아오는 js부분에 오류가 생겨있어 이런 부분도 많이 아쉽게 느껴졌다. 마지막까지 신경을 좀 썻어야하는건데 ㅠㅠ KPT 회고 Keep 문제 해결 과정중 문제 인식 파트가 굉장히 난해하고 힘들었는데 몇가지 문제들에 대해 만족스럽게 해결한것 같아 좋았음 Problem 백엔드 코드를 구현하고서 테스트를 ..

20221228 TIL

오늘의 한 일 최종 프로젝트 - 트러블슈팅 정리 및 마무리 프로젝트를 진행하면서 개인적으로 굵직하다 싶은 트러블슈팅을 모아 notion에 정리, 팀원분들 트러블슈팅까지 마무리 되면 깃허브의 READ.me 파일 혹은 wiki페이지에도 적용하면 좋을듯 1) 구글 소셜로그인 callback 기능 프론트엔드에 적용시키기 처음에는 장고 템플릿을 이용하여 백엔드 내에서 response로 들어오는 access_token, refresh_token을 장고 템플릿 내에서 받고, 자바스크립트로 이를 로컬스토리지에 저장한 뒤에 프론트엔드 페이지로 보내는 방법을 생각했는데, 튜터님이나 다른 캠프 멤버들과 의견 교환을 한 뒤 더 편한 방법을 찾아서 해결한 것 같아 다행이다. 다만 콜백uri로 코드를 담아 보내고, 코드가 있을 ..

20221227 TIL

오늘의 한 일 최종 프로젝트 - 마무리 및 발표준비 트러블 슈팅 프로필 - 이미지 파일이 없을 시 default.jpeg를 띄우지 못하는 문제 프로필의 디폴트 이미지가 원래 백엔드 media/profile 폴더 안에 default.jpeg를 넣어서 띄웠는데, 배포시에 media를 .gitignore로 무시하다보니 생긴 문제. 일단 배포중인 ec2 환경 안으로 이미지 파일을 보내야 할 것인데.. 웹개발강의때 하던 파일질라를 이용하는 방법은 지금 사용하기엔 무리라고 판단, cloud 9을 사용한 파일관리도 이미 있는 인스턴스에 적용하는게 아니라 이걸 쓰려면 생성할때부터 써야하는거같다.. 그래서 ec2환경에 명령어로 파일 업로드를 시도해봄 참조 : https://velog.io/@_koiil/EC2%EB%A1..

20221226 TIL

오늘의 한 일 최종 프로젝트 - 피드백 반영 오늘은 몸이 영 안좋아서 많은 일은 못했고, 웹페이지 기능 점검과 피드백 반영을 조금 봄.. 피드백 1 : 피부병변 감지 - 로그인이 없이도 들어가져서 통일감이 없다(로그인 필요 컨텐츠 관련) 피부병변 감지는 비로그인 유저도 가능하게 하는것이 의도였으므로 패스 굳이 해야한다면 토큰 검사 후 없을 시 로그인페이지로 replace 피드백 2 : 회원가입시 유저의 프로필 디폴트 이미지가 있었으면 좋겠다 이게 개발과정중에는 있었는데 백엔드 배포과정에 첨가되지 않아서 들어가질 않고있었다! ec2 내로 이미지 업로드해서 백엔드의 media/profile 폴더로 default.jpeg 이미지 삽입하면 될듯 참조 : https://velog.io/@_koiil/EC2%EB%..