분류 전체보기 127

[JAVA] 심화 - 양방향 암호화 기법, 대칭 키 암호 알고리즘 (1)

01. 암호화/복호화 정의암호화: 우리가 사용하는 평범한 문장(평문)을 의미할 수 없는 암호문으로 변환하는 것복호화: 암호문을 평문으로 되돌리는 것02. 암호 알고리즘: 암호화/복호화를 할 때 사용하는 알고리즘양방향 암호 알고리즘: 대칭 키 암호 알고리즘, 비대칭 키 암호 알고리즘단방향 암호 알고리즘: 해시 알고리즘03. 암호화 키/복호화 키암호화 키: 암호화를 위한 키복호화 키: 복호화를 위한 키 04. 대칭 키 암호 알고리즘 vs 비대칭 키 암호 알고리즘대칭 키 암호 알고리즘: 암호화 키 == 복호화 키비대칭 키 암호 알고리즘: 암호화 키 != 복호화 키05. 대칭 키 암호 알고리즘 종류*권고 여부: 암호화 강도를 고려해 전문가들은 최소 128비트 이상의 알고리즘 사용을 권고함**AES: 예제로 사용..

JAVA 심화 2024.12.30

[회고록] 패스트캠퍼스 백엔드 부트캠프 3기

기간: 2024.12.23 ~ 2024.12.30 - 2주차학습 내용: Ch07. 객체지향 프로그래밍 II 01. 공부한 내용 정리 - 필기검은 펜 부분: 소제목만 보고 기억하는 내 학습 내용초록 펜 내용: 검은 펜 내용을 제외한 추가적인 학습 내용 정리, 그림으로 이해도 높임  02. 회고록이번 주에 독감에 걸려서 5일동안 집에서 자습으로 공부했는데, 혼자서 하려고 하니 너무 힘들었어요..ㅠㅠ건강이 우선인거를 느꼈고, 다들 많이 걸리셨던데 건강하셨으면 좋겠습니다.그리고 객체 지향에 대해서 정확하게 알 수 있는 학습 주였다고 생각해요.JAVA의 꽃은 객체 지향인데, 입과 시험을 볼 때잘 알고 있다고 생각하는 부분도 헷갈려하면서 설명을 정확하게 못하는 저를 보고다 알고 있다고 생각해도 여러번 복습을 통해 ..

회고록 2024.12.30

[회고록] 패스트캠퍼스 백엔드 부트캠프 3기 + 소개

[회고록] 패스트캠퍼스 백엔드 캠프 3기2024-12-16 ~ 2024-12-23(1주차)01. 자기소개안녕하세요! 백엔드 개발자가 되고 싶은 블로거예요.저는 4년제 관련 전공을 배운 후, 좀 더 공부하고 싶어서서울에서 다양한 활동을 해보려고 해요.먼저 제가 가고 싶은 분야는 JAVA & SPRING 의 개발 또는 QA가 되고 싶어요. 하지만 방금 막 졸업한(2025년도 2월 졸업예정자) 저에게 화려한 이력서라든지,엄청난 지식이라던지는 부족하다는 것을 깨닳고그래 이왕이면 취업 난인거를 이용해서 이 기간에 나에 대해 배우고, 나를 어필 할 수 있는 기술을 기르자! 라는 마음으로패스트캠퍼스의 남궁성의 백엔드 부트 캠프에 참여하게 되었어요. 일단 앞서 부트 캠프를 들어가기 전 저의 공부 수치를 간단하게 말씀드..

회고록 2024.12.23

[JAVA] 자료구조 - 연결 리스트(Linked List)

01. 연결 리스트(Linked List)데이터를 링크로 연결하여 관리하는 자료구조자료의 순서 존재, But 메모리 상 연속성 X (배열과 다름)02. 장점과 단점   - 장점데이터 공간을 미리 할당할 필요 X리스트의 길이가 가변적 → 데이터 삭제/추가 용이   - 단점연결 구조를 위한 별도의 데이터 공간 필요연결 정보를 찾는 시간 필요(접근속도가 상대적 느림)데이터 추가/삭제 시 앞 뒤 데이터의 연결을 재구성하는 작업 필요03. 연결 리스트의 기본 구조   (1) 노드 (Node): 데이터 저장 단위, 값/포인터로 구성 (*포인터(Pointer): 다음 노드나 이전 노드의 연결 정보)   (2) 데이터 추가: 데이터 추가 위치(head, 중간, tail)에 따른 연결 작업 필요      - 가장 앞(h..

[JAVA] 기초 - 제네릭(Generic)

01. 제네릭(Generic) 컴파일 시점에 데이터 타입을 미리 지정할 수 있는 기능객체의 타입을 명확히 지정하여, 잘못된 타입의 데이터를 다루는 실수를 방지할 수 있음.제네릭 문법: 보통 **꺾쇠괄호()**를 사용해 타입 매개변수를 정의class 클래스명 { /* 제네릭 클래스 정의 */ }interface 인터페이스명 { /* 제네릭 인터페이스 정의 */ }*T는 Type의 약자로, 보통 관습적으로 사용되며 다른 이름도 가능02. 종류   : 제네릭 클래스, 제네릭 메서드, 그리고 와일드카드(Generic Wildcards)로 나뉨.      (1) 제네릭 클래스: 클래스가 다룰 데이터 타입을 클래스 정의 시점이 아닌 객체 생성 시점에 결정할 수 있음. *정의*class Box { private..

JAVA 기초 2024.12.01

[JAVA] 자료구조 - 배열(Array)

01. 배열(Array)많은 수의 데이터를 다룰 때 사용하는 자료구조각 데이터는 인덱스와 1:1 대응데이터가 메모리상에 연속적 저장 (물리적 연속적)Data'a''b''c''d'...Index0123...02. 장점과 단점장점: 인덱스(Index)를 이용하여 데이터에 빠르게 접근 가능         ex) arr[0] => 'a' , arr[1] => 'b' , arr[2] => 'c', ...단점: 데이터의 추가/삭제 번거로움         - 미리 최대 길이를 정해서 생성         - 가변 길이의 배열은 배열의 크기를 변경할 때마다 새로운 배열 생성         - 데이터 삭제시, 인덱스를 유지하기 위해 빈 공간 유지03. 구현하기 - 구조 익히기import java.util.Arrays;/*..

[JAVA] 자료구조 - 소개

01. 자료구조(Data Structure)란?   자료를 효율적으로 관리하기 위한 구조 (관리: 저장/삭제/탐색)   목적에 맞게 사용한 자료구조 --> 실행시간 단축 &&  메모리 용량 절감   알고리즘과 밀접한 관계02. 자료구조 분류 선형 자료구조(Linear Data Structures)비선형 자료구조(NonLinear Data Structures)정의데이터가 1:1 관계를 가지며, 순서대로 배치되는 구조데이터 간의 관계가 1:N 또는 N:M과 같은 형태로,계층적이거나 복잡한 구조특징데이터가 선형적으로 연결되어 있음    -> 순차적으로 탐색하거나 접근하기 쉬움데이터간의 연결이 비선형적   -> 탐색 및 처리방식이 더 복잡함예시배열 (Array) , 연결리스트 (Linked List) ,스택 (..