Dev 24

[Dev C++] Dev C++에서 for 내부 변수 선언 오류 해결 방법

C언어 표준에 따라 for 내부 변수를 선언할 때, C99 보다 오래된 표준을 사용하는 경우 오류가 발생할 수 있습니다.이 문제를 해결하기 위한 표준 준수 작성 방법과, 컴파일러 옵션을 수정하는 방법을 설명하겠습니다. 1. 기본 C 표준 준수for 내부 변수 선언은 C99부터 지원되는 기능입니다.이를 해결하기 위해서는 우선 변수의 선언과 for 초기식을 분리하는 방법이 있습니다.다음과 같이 변수 선언을 분리하면 문제를 해결할 수 있습니다.초기식을 전체를 이동하는 방법도 가능합니다.이 방법은 C99 이후의 표준을 사용하지 않고도 C 표준을 준수하는 방법입니다.  2. 컴파일러 설정 변경하위 버전의 Dev C++에서는 컴파일러의 기본 설정에 따라 C89가 적용되는 경우가 많습니다.C99 또는 C11을 사용해..

Dev 2024.11.09

[Dev C++] Dev C++에서 c언어만 사용하는 방법

Dev C++은 기본적으로 C/C++ 통합 환경을 제공하기 때문에 C언어만 사용하는 설정이 필요합니다. 이 글에서는 Dev C++에서 C언어만 사용하는 방법을 설명하겠습니다. 우선 C언어로 코드를 작성해 줍니다. 1. 파일 저장 시 확장자 지정C/C++ 통합 환경을 제공하므로 컴파일하려는 파일의 확장자를 지정하면 C언어로만 컴파일을 할 수 있습니다.코드를 작성 후 다음과 같이 '파일 형식'을 '.C'로 선택 후 저장하면 됩니다. 잘 실행이 됩니다. 정말 C언어만 사용 가능한지 확인해 보겠습니다. stdio.h대신 C++의 iostream을 불러오려고 하니 C언어 컴파일러가 C++ 전용 코드를 인식할 수 없어 다음과 같은 오류가 발생합니다.  2. 컴파일러 설정 변경다음으로 소개할 방법은 Dev C++의 ..

Dev 2024.11.07

[EC2] AWS EC2 인스턴스에서 시간대(Timezone) 설정 변경하기

AWS EC2 인스턴스를 활용할 때 기본적으로 시간대(Timezone)가 UTC(세계 협정시)로 설정되어 있습니다.UTC는 글로벌 시간 표준으로 편리하지만, 한국 시간과 같은 로컬 시간대가 필요한 경우에는 시간대를 변경하는 것이 유용할 수 있습니다.UTC와 Asia/Seoul의 차이로 발생할 수 있는 예시로는 프로세스 예약 실행이 있습니다.한국시간 기준 매주 화요일 AM 6시에 특정 작업을 실행하도록 스케줄을 등록한 경우. 실제로는 UTC에 따라 월요일 PM 9시에 작동할 수 있기 때문입니다. 이번 포스팅에서는 EC2 인스턴스의 시간대를 한국 시간(Asia/Seoul)으로 변경하는 방법과 필요 시 다시 UTC로 복원하는 방법을 단계별로 설명하겠습니다.  1. 현재 시간대(Timezone) 확인하기우선 E..

Dev/AWS 2024.11.05

[IAM] AWS IAM 사용자의 비밀번호 초기화/변경하기

배경IAM 사용자가 비밀번호를 분실해 관리자 계정으로 해당 사용자의 비밀번호를 초기화 해야하는 상황입니다.  1. 관리자 계정으로 로그인우선 IAM 사용자의 비밀번호를 초기화 하기 위해서는 관리자 계정(루트 사용자)로 접속해야합니다.IAM 사용자가 비밀번호를 분실한 상태에서 비밀번호를 초기화/변경하는 것은 관리자 계정으로만 가능합니다.2. IAM 대시보드 이동좌측 목록의 '액세스 관리' 중 '사용자' 메뉴를 선택합니다.생성된 IAM 사용자 목록이 나타납니다. 비밀번호를 변경할 사용자를 클릭합니다. 3. 콘솔 액세스 관리비선선택한 사용자의 상세 정보 페이지에서 "보안 자격 증명"탭으로 이동해 "콘솔 액세스 관리"를 클릭합니다. 4. 새로운 비밀번호 설정아래와 같은 콘솔 액세스 관리 페이지가 뜹니다. IAM..

Dev/AWS 2024.09.28

[짧고 굵게 배우는 JSP 웹 프로그래밍과 스프링 프레임워크] 연습문제 5장 정답

연습문제1. 다음 중 서블릿의 생명 주기 메서드에 해당하지 않는 것을 고르시오.(3) close()  2. 서블릿 클래스 구조에서 사용자 요청에 따라 service() 메서드를 통해 호출되는 대표적인 메서드 2개는 무엇인가?(3) doGet(), doPost()  3. 다음 빈칸에 들어갈 단어를 고르시오.서블릿에서 페이지 이동 시 데이터를 포함하는 경우에는 ( ) 방식을 사용하며, 데이터를 포함하지 않는 경우에는 ( ) 방식을 사용한다. (3) 포워딩, 리디렉션  4. 서블릿에서 사용자 요청을 처리하는 메서드에 인자로 전달되는 HttpServletRequest 객체에 대한 설명으로 틀린 것을 고르시오.(2) 주요 메서드로 getWriter(), sendRedirect(String location) 등이 ..

Dev/Backend 2024.07.07

[짧고 굵게 배우는 JSP 웹 프로그래밍과 스프링 프레임워크] 연습문제 6장 정답

연습문제1. JSP의 주요 특징으로 틀린 것은 무엇인가?(3) 커스텀 태그 기술을 사용할 수 없기 때문에 코드를 태그화할 수 없다.  2. JSP의 주요 구성요소가 아닌 것은 무엇인가?(3) 스프링 프레임워크  3. SSR방식의 백엔드 웹 개발 관점에서 JSP의 단점이 아닌 것은 무엇인가?(4) 모든 개발이 서버에서 이루어지므로 개발의 집중화를 통한 효율이 있을 수 있다.→ 단점으로는 적합하지 않음  4. 다음은 page 지시어의 사용 형식을 나타낸 구문이다. 빈칸에 들어갈 내용을 채우시오.(1) language(2) contentType(3) import(4) errorPage  05. 다음 지문을 읽고 JSP의 스크립트 요소 중 어떤 유형을 설명한 것인지 고르시오.(2)

Dev/Backend 2024.07.07

[짧고 굵게 배우는 JSP 웹 프로그래밍과 스프링 프레임워크] 연습문제 1장 정답

연습문제01. 월드 와이드 웹에서 클라이언트와 서버 간의 통신을 위해 사용하는 프로토콜과 콘텐츠 제작을 위해 사용하는 마크업 언어는 각각 무엇인가?1) HTTP, HTML웹은 HTTP 프로토콜을 사용하며 HTML로 작성된 문서를 연결하여 다양한 콘텐츠를 제공한다. p.25  02. TCP/IP 4계층 구조에 해당하지 않는 계층은 무엇인가?2) 변환 계층TCP/IP는 4계층(응용, 전송, 인터넷, 물리)으로 이루어져 있다. p.27  03 네트워크 시스템이 계층 구조로 이루어져 있는 이유로 틀린 것은 무엇인가?1) 네트워크 사용을 위해 전체 구조에 대한 이해 없이 각각의 계층은 하위 계층에 대해서만 이해하면 된다.계층화를 통해 상위 레벨에서는 하위 레벨에서 구현한 내용을 모르더라도 표준화된 인터페이스를 통..

Dev/Backend 2024.07.07

Python 리스트 언패킹

UnpackingPython에서 리스트의 요소를 언패킹하여 별도의 변수로 담아주는 여러 방법에 대해 알아보자. 리스트 ➡️ 변수리스트의 요소를 각 변수에 할당하는 방법이다. 리스트의 요소 갯수만큼 변수가 필요하다.numbers = [1, 2, 3]a, b, c = numbersprint(a, b, c) # 출력: 1 2 3  튜플 ➡️ 변수리스트와 동일하다. numbers = (1, 2, 3)a, b, c = numbersprint(a, b, c) # 출력: 1 2 3 튜플에서 변수로 언패킹 하는 방법은 아래와 같이 응용할 수 있다. 문자열 포멧 출력문의 경우 인자로 tuple을 받는다.따라서 입력으로 받은 words 리스트를 튜플로 변환하여 출력문의 각 인자로 쉽게 전달할 수 있다.words = [..

Dev 2024.06.19

[Servlet] Create Dynamic Web Project(Jakarta EE) [IntelliJ]

Jakarta EE 로 동적 웹 프로젝트 만들기 지난 번에 Maven으로 동적 웹 프로젝트를 만드는 방법을 올렸다. [Servlet] Create Dynamic Web Project [IntelliJ] IntelliJ에서 동적 웹 프로젝트 생성하기 2023.03 IntelliJ에서 동적 웹 프로젝트를 만드는 법을 소개한다. 사전에 톰캣 서버가 준비되어 있어야 한다. 우선 프로젝트 생성을 눌러주고 Maven 원형을 선택 kyr-db.tistory.com 이번 에는 좀 더 쉽게 Jakarta EE로 동적 웹 프로젝트를 만드는 방법에 대해서 소개한다. 프로젝트 생성에 들어가서 Jakarta EE를 선택하자. Servlet을 사용하는 동적 웹 프로젝트를 위한 글이므로 템플릿을 "웹 애플리케이션" 으로 설정하자...

Dev/Backend 2024.04.05

[Spring] Lazy Loading

Lazy Loading 데이터 로딩 전략 중 하나로 연관 데이터를 실제로 필요한 시점에만 로드하는 방식 조회한 객체와 연관된 객체를 한 번에 불러오면 불필요한 데이터까지 불러올 수 있기 때문에 이를 방지하기 위해 사용된다. JPA에 의해 관계 매핑 어노테이션이 적용된 필드에만 Lazy Loading이 기본값으로 적용되며 null값이 들어간다. 연관 객체의 호출 Lazy Loading 전략에 의해 연관 객체 필드는 null을 가진다. 그렇다면 어떻게 연관 객체를 가져올까? 연관 객체에 대한 접근시 JPA구현체의 영속성 컨텍스트가 이를 감지하고 연관 객체를 가져오기 위한 추가 쿼리를 자동으로 생성한다. 테스트와 실제 서비스의 차이 테스트 코드에서는 DB에서 조회 객체를 가져온 후 DB와의 세션이 종료된다. ..

Dev/Backend 2024.03.24