본문 바로가기

분류 전체보기135

[SQL] GROUP BY 사용 시 주의점 [프로그래머스] 물고기 종류 별 대어 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/293261 ㅊ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 작성한 쿼리 에러명 sql_mode=only_full_group_by 문제의 요구사항은 물고기 종류별 가장 큰 물고기 정보를 출력하는 것인데, 아래 코드에서의 문제점은 GROUP BY 후 max() 함수를 사용한 결과 FISH_INFO 테이블의 id 컬럼이 특정되지 않는다는 점이다. 예를 들어, n.fish_name과 max(length) 컬.. 2024. 3. 23.
[HTTP] 컴퓨터들간의 통신을 위한 주소, IP IP라는 단어는 숱하게 들어보았는데 그 실체에 대해선 잘 모르고 있는 것 같아 조금 더 자세히 알아보고자 한다. 서로 다른 컴퓨터는 어떻게 통신할까? 한국에 있는 영희의 컴퓨터와 미국에 있는 제임스의 컴퓨터가 서로 통신할 수 있는 기반은 Internet이다. 이 인터넷망에서 각 컴퓨터는 고유한 주소를 가지고 있는데 이를 IP 주소라고 한다. 즉, 클라이언트의 IP 주소에서 서버의 IP 주소로 데이터를 보내서 통신을 하는 것이다. Internet Protocol, 직역하면 '인터넷 규약' 인터넷 규약, 풀어서 말하자면 인터넷 상에서의 통신을 위해 지켜야하는 약속을 말한다. IP 주소 간의 데이터 통신은 패킷 단위로 전달이 되는데, 이 패킷의 구성 요소는 다음 세 가지이다. 출발지 IP 주소 목적지 IP 주.. 2024. 3. 3.
[Error] Error: connect ECONNREFUSED 127.0.0.1:443 문제 상황SpringBoot 애플리케이션에 SSL 인증서를 적용하고 HTTPS로 요청을 보냈더니 아래와 같은 에러를 맞이했다.Error: connect ECONNREFUSED 127.0.0.1:443 해결 방법HTTP로 요청을 보낼 때 port를 80으로 설정해놓았던 부분이 문제였다.HTTPS는 기본 포트가 443이므로, 아래와 같이 포트를 바꿔줌으로써 HTTPS 요청을 성공적으로 보낼 수 있었다.server: port: 443 2024. 2. 12.
[Docker] Docker 컨테이너 실행(run) 시 환경변수 (여러개) 주입하기 docker run 명령어 실행 시 환경변수 주입이 왜 필요한가 스프링부트 애플리케이션을 개발하다보면 application.yml 파일에 각종 계정 정보, 키값 등 외부에 공개되어서는 안되는 정보들을 기입하게 됩니다. 따라서 위처럼 환경변수로 은닉할 정보를 갈음하곤 합니다. 그렇다면 이 애플리케이션을 Docker Image화 시켜서 구동하게 된다면 환경변수를 어떻게 설정해주어야 할까요? 아래와 같이 Dockerfile에 환경변수들을 기입해 줄수도 있지만 이 방식은 이 Dockerfile을 공개 저장소에 업로드할 수 없다는 문제점이 있습니다. 이에 대한 대안으로 Docker Container 실행하는 시점에 환경변수를 주입하는 방안이 있습니다. 환경변수를 주입하는 옵션 -e 혹은 --env 옵션은 컨테이너.. 2024. 1. 31.