본문 바로가기

전체 글142

3. 자바의 기초 - 자료형 (숫자, 불, 문자, 문자열, 리스트, ...) 숫자 정수사용 가능한 정수형 : int, long표현 범위 - int : –2,147,483,648 ~ 2,147,483,647 - long : –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807byte, short도 존재하지만 잘 쓰이지 않음 - byte : –128 ~ 127 - short : –32,768 ~ 32,767long 타입 상수 : 큰 정수를 대입할 때는 끝에 L 또는 l 붙여야 함 예 : long count = 8764827384923849L;실수사용 가능한 실수형 : float, double표현 범위 - float : 약 ±3.4 × 10³⁸ - double : 약 ±1.7 × 10³⁰⁸기본 실수형은 doublefloat 변수에 상수를 .. 2025. 9. 27.
2. 자바 시작하기 자바 코드의 구조 전체 구조 개요자바 소스코드 : 가장 바깥엔 클래스 블록이 있고, 그 안에 메서드 블록들이 존재 : 메서드 안에는 여러 명령문(statement)이 위치하는 형태임/* 클래스 블록 */public class 클래스명 { /* 메서드 블록 */ [public|private|protected] [static] (반환자료형|void) 메서드명1(입력자료형 매개변수, ...) { 명령문(statement); ... } /* 메서드 블록 */ [public|private|protected] [static] (반환자료형|void) 메서드명2(입력자료형 매개변수, ...) { 명령문(statement); ... } .. 2025. 9. 27.
1. 자바란 무엇인가? 자바란? 역사와 탄생자바(Java) : 1995년에 발표된 프로그래밍 언어 : 썬 마이크로시스템즈의 제임스 고슬링과 연구원들이 개발 : 처음 목적은 가전제품 속에서 동작하는 프로그램을 만들기 위함 : 예) 전자기기의 기본 동작 제어 프로그램현재 활용지금은 웹 개발과 모바일 앱 개발(특히 안드로이드)에서 가장 많이 사용되는 언어 중 하나 : 우리나라 기업 소프트웨어의 80% 이상이 자바로 만들어졌다고 할 정도로 높은 비중 : 장기간 유지된 생태계 기반 → 수많은 라이브러리와 프레임워크 존재 : 즉, 기업 환경에서 실무 언어로 표준처럼 자리 잡음객체 지향 프로그래밍객체(Object)를 중심으로 데이터와 기능을 묶어 프로그램을 구성 : 현실 세계의 개념을 코드로 모델링하기 용이 : 대규모 시스템 개발에서 유.. 2025. 9. 27.
29. 백서 및 아키텍처 백서 섹션 소개 백서 및 아키텍처 문서를 살펴볼 예정 : Well-Architected Framework와 재해 복구 등의 내용은 알아둬야함 : Well-Architected 도구와AWS Trusted Advisor와 참조 아키텍처 리소스 존재 : 솔루션 아키텍트로 실제 업무시 사용할 수 있는 내용 AWS Well-Architected Framework 와 Well-Architected Tool 배경AWS에서 좋은 애플리케이션 아키텍처를 설계·운영하기 위한 모범 사례 프레임워크인프라·운영을 평가하고 개선점을 찾을 수 있는 가이드 제공AWS Well-Architected Tool을 통해 아키텍처를 점검하고 리포트·개선 계획 확인 가능핵심 원칙 (6가지)운영 우수성 (Operational Excel.. 2025. 9. 25.
차고문 개폐 시스템 설계 소프트웨어 아키텍처란? 정의소프트웨어 아키텍처는 소프트웨어 시스템의 전체 구조와 구성 방식을 설계하는 것 : 건축에 비유하면 : 건축에서 건축가가 집을 짓기 전에 방 구조, 전기 배선, 수도 배치 등을 설계도에 그리듯 : 소프트웨어 아키텍처는 시스템의 큰 그림(구조)을 먼저 설계 : 즉, 코드 세부 구현 전에 시스템의 “설계도”를 만드는 과정 왜 중요한가?큰 그림 없이 개발하면 → 기능 추가가 어려워지고, 유지보수가 힘들어짐 : 아키텍처 단계에서 잘 설계하면 → 확장성, 안정성, 성능, 보안 등이 보장 : 현실적으로, 대규모 시스템(앱, 클라우드 서비스, IoT, 게임 등)은 혼자 개발하는 게 아니라 팀 단위로 만들기 때문에 공통 언어(설계도)가 필요하기도 함 구성요소1. 구조(Structure)어떤 구.. 2025. 9. 24.
Cursor IDE + Claude Code 배경Anthropic(클로드 만든 회사)이 공식적으로 크게 홍보하진 않았지만, 이제 Claude Code를 VS Code·Cursor·Windsurf·JetBrains 등과 같은 IDE에 통합할 수 있음 : 따라서 코드 모델(Claude Code) + 강력한 IDE(Cursor)로 베스트 조합을 만들 수 있음https://docs.claude.com/en/docs/claude-code/ide-integrations Add Claude Code to your IDE - Claude DocsLearn how to add Claude Code to your favorite IDEdocs.claude.com Claude Code 단독의 한계클로드 코드는 그냥 터미널 기반 대화형 CLI임 : 전체 프로젝트를 인덱.. 2025. 9. 23.
28. 기타 서비스 CloudFormation - 소개 대규모 인프라 배포 및 관리 섹션 핵심 개념AWS 리소스를 선언적으로 정의하고 자동 생성하는 서비스인프라를 코드(IaC)로 관리 가능 → 수동 생성 불필요대부분의 AWS 리소스 지원, 미지원 리소스는 사용자 지정 리소스로 처리장점인프라 = 코드 : 코드 리뷰, 변경 추적, 일관성 관리비용 절감 : 스택 단위로 리소스 삭제·생성 스케줄링 가능 (예: 퇴근 후 삭제, 출근 전 재생성)생산성 향상 : 인프라 반복 배포, 자동화된 리소스 의존성 처리예측 가능 : 태그 및 템플릿 기반으로 비용 추정 가능시각화 : Application Composer로 템플릿 구조와 리소스 관계 확인 가능사용 사례인프라를 반복 배포 (다른 환경·리전·계정에서 동일 아키텍처 재현)WordPres.. 2025. 9. 22.
18. 보물, 나이순 정렬, 국영수, 문자열 내 마음대로 정렬하기, 파일명 정렬 보물 파이썬에서 내림차순 정렬을 하려면? : reverse=True 옵션을 추가하면 됨my_list = [3, 1, 4, 1, 5, 9, 2]sorted_list_desc = sorted(my_list, reverse=True)print(sorted_list_desc) # 출력: [9, 5, 4, 3, 2, 1, 1] 최종코드N = int(input())A = list(map(int, input().split()))B = list(map(int, input().split()))sorted_A = sorted(A)sorted_B = sorted(B, reverse=True)S = [sorted_A[i] * sorted_B[i] for i in range(N)]print(sum(S)) 나이순 정렬 .. 2025. 9. 22.
17. 정렬, 비교정렬, 기수정렬, 카운팅정렬 정렬 문제 정렬 문제는 무엇을 위해?섞여 있는 데이터(리스트)를 어떤 기준(키)에 따라 오름차순/내림차순으로 다시 배열하는 것 : 예를 들어 입력이 빨간색, 파란색, 초록색 등이라고 할 때 정렬할 기준이 무엇이 될까?임 : 즉, 원소들의 모음 : 학생 성적 리스트, 파일 목록, 날짜들… : 이 입력이 될 수 있음 : 반대로 출력은? : 지정한 기준대로 순서가 정리된 같은 원소들의 모음 그렇다면 비교만 되면 정렬 가능일까?그냥 서로 비교할 수 있다고 해서 곧바로 ‘정렬 가능한 데이터’가 되는 건 아님 : 그럼? : 최소, 최대가 존재해야함 : 즉, 제일 작은 것/큰 것이 잡혀야 정렬이 의미가 있어지고 끝까지 수렴 : 일관된 순서(정렬 기준)가 성립해야 함 : 정렬 알고리즘은 원소들 사이에 "모순 없는 전.. 2025. 9. 21.
27. 더 많은 솔루션 아키텍처 AWS의 이벤트 처리 SQS + Lambda구조 : 폴링이벤트가 SQS 대기열에 삽입되고 → Lambda 서비스가 SQS 대기열을 폴링 → 문제가 발생하면 해당 메시지를 다시 SQS 대기열에 입력하고 → 폴링을 재시도실패 시 : 메시지 재시도 후 DLQ(데드 레터 큐)로 전송 가능장점 : 안정적 재시도 가능제약 : 무한 재시도 위험 → DLQ 필수 설정SQS FIFO + Lambda구조 : Lambda 함수가 대기열 메시지를 순서대로 처리 시도FIFO : 순서대로 처리(First-In First-Out)문제 : 특정 메시지 실패 시 전체 처리 차단해결 : DLQ로 문제 메시지 제거SNS + Lambda구조 : SNS 서비스를 사용하는 방법으로 메시지가 통과하고 → 메시지는 비동기식으로 Lambda에 전.. 2025. 9. 20.
26. 재해 복구 및 마이그레이션 AWS의 재해 복구 (Disaster Recovery, DR) 재해 복구 기본 개념재해 : 비즈니스 연속성·재정에 부정적 영향을 주는 이벤트재해 복구 : 재해 발생 시 서비스·데이터를 복구하는 작업유형 : 온프레미스↔온프레미스 / 하이브리드(온프레미스↔클라우드) / 클라우드↔클라우드핵심 지표RPO(Recovery Point Objective) : 복구 시점 목표 : 데이터 손실 허용 시간 범위 (시간상 어느 정도의 과거로 되돌릴 수 있는지) : 즉, 데이터 손실을 얼마만큼 감수랄지RTO(Recovery Time Objective) : 복구 시간 목표 : 장애 발생 후 복구에 걸리는 시간 (다운타임)RPO·RTO 짧을수록 비용 증가재해 복구 전략백업 & 복구S3, Glacier, Snowball, Sto.. 2025. 9. 20.
13. 의문문 만들기 질문하는 방법 동작eat(~다 / do)(목적어) 을/를 대상mother(은/는/이/가)(가능성)willcanwouldcould상태beis, am, are명사/형용사진행중인 상태당하는 상태(pp) 경험강조(경험을 가지다)have동작(pp)상태(been)꾸며주는 단어진행중인 단어당하는 단어 질문도 부정을 만드는 것과 비슷함 : 대상 옆에는 가능성, 동작, 상태, 경험강조 : 얘네들을 대상 앞으로 당겨와주면 됨 : 근데, 중요한게 동작은 숨어있던 DO/DOES/DID가 튀어나온 다음에 위에 얘들이 앞으로 오게 됨동작He runs : 이 문장을 그는 달리니?라고 바꾸면 He와 runs 사이에 숨어있던 Does가 튀어나와 : 대상 앞으로 당겨짐Does He run상태He is a student : 의문.. 2025. 9. 20.