728x90
반응형

전체 글 197

Spring, DTO, DAO, BO, VO 차이점

Spring에서 Data를 전달하는 객체에는 대표적으로 DTO, VO가 있다, DTO와 VO는 용도가 전혀 다르다.  DTOData Transfer Object로 계층간 데이터를 전달하기 위한 객체이다.계층 사이에서 데이터를 전달하기 위해 DTO에 데이터를 담아 서로 주고 받는다.DTO는 순수하게 데이터 전달만을 위한 객체이다.순수한 데이터 객체로 비즈니스로직을 갖지 않는다.오직 getter/setter 메서드만 갖는다 Controller에서 Service로 데이터를 전달할 때,여러개의 데이터를 하나의 DTO로 묶어 전달하면 유지보수도 쉽고 코드 가독성과 재사용성이 증가한다. VOValue Object로 값 그 자체를 표현하는 객체이다.VO는 객체의 참조값이 다르더라도 값이 같다면 동일한 것으로 봐야한다..

Spring 2025.04.01

정보처리기사, 실기 요약 정리 (6. 기타 용어)

웹 관련 용어Hypertext : 다른 문서/그림으로 이동할 수 있는 연결을 가지고 있는 텍스트HTML : 하이퍼텍스트 및 웹 페이지를 만들 수 있는 마크업 언어URL : 인터넷 상에서 특정 웹 페이지의 위치를 나타내는데 사용되는 문자열MIME : 이메일에서 텍스트 외 이미지/비디오/오디오 등 여러 유형의 파일을 전송 가능   웹 서비스★ SOAPXML기반 메시지를 다른 컴퓨터 네트워크 상에서 교환WSDL웹 서비스에서 제동하는 서비스에 대한 정보를 XML 기반으로 기술UDDI전역 비지니스 레파지토리 / 웹 서비스 관련 정보 공개 및 탐색   인터페이스 구현 기술XMLHTML 문법의 비호환성과 SGML의 복잡성 해결하기 위해 개발AJAXJavascript, XML을 이용한 비동기식으로 웹 페이지의 일부 콘..

정보처리기사 2025.03.26

정보처리기사, 실기 요약 정리 (5. 정보보안)

정보 보안 3대 요소기밀성 : 인가된 사용자만 접근 가능무결성 : 인가된 사용자만 정보 수정 가능가용성 : 인가된 사용자는 권한 범위 내에서 언제든 자원 접근 가능              인증(사용자 신분 환인) / 부인방지(부인할 수 없도록 송/수신 증거 제공)   AAA(Triple-A)인증(Authentication) : 신원 확인권한 부여(Authorization) : 접근 권한 확인계정 관리(Accounting) : 자원 사용에 대한 정보 수집(과금, 감사, 보고서)   양방향 암호화 방식 대칭키 / 비밀키 / 개인키비대칭키 / 공개키특징동일한 키로 데이터를 암호화/복호화암호화키는 DB 사용자에게 공개복호화 키는 비밀키로 관리자만즉, 암호화 키와 복호화 키가 다르다는 얘기블록 (Block)2 b..

정보처리기사 2025.03.26

정보처리기사, 실기 요약 정리 (4. 네트워크)

정보 전송 방식 단방향 : 한쪽 방향으로만 전송 가능 (TV, 라디오)반이중 : 한쪽에서 송신하면 다른 쪽에서는 수신만 가능 (무전기)전이중 : 동시에 송/수신 가능 (전화기)스타형/성형중앙 집중형중앙 노드와 1:1버스형한 개의 회선에 여러 단말 장치 연결기밀성 낮고 통신 회선의 제한이 있음링/루프원/환형단말 장치 추가/제거, 기밀보호 어려움트리/계층 분산형확장이 많으면 트래픽(통신량)이 과정됨망/매쉬그물/완전형단말 장치 추가/제거 어려움   동기 / 비동기 전송구분동기식비동기식전송 단위데이터 블록 단위문자 단위동기 제어 방식클럭 동기Start bit, Stop bit통신 속도고속저속회로 복잡도복잡단순휴지 기간블록 간 휴지 기간 없음→ 높은 전송 효율문자 간 휴지 기간 존재→ 낮은 전송 효율예시데이터 통..

정보처리기사 2025.03.26

암호화, 오류 Error attempting to apply AttributeConverter

오류 발생Caused by: jakarta.persistence.PersistenceException: Error attempting to apply AttributeConverter [ 전체 목록 조회 ]사용자 비밀번호를 양방향 암호화로 저장하고 저장된 모든 데이터를 출력하려고 할 때,발생한 오류이다.의미JPA에서 엔티티의 속성을 데이터베이스로 변환할 때 AttributeConverter에서 문제가 발생이 오류는 주로 엔티티 속성에 대한 변환기(@Convert)가 제대로 작동하지 않을 때 발생한다. 문제 원인 잘못된 키 사용 (Bad Key)암호화와 복호화는 같은 키를 사용해야 한다. 만약 암호화할 때 사용한 키와 복호화할 때 사용한 키가 다르면 패딩 오류가 발생할 수 있다.secretKey 값이 암호..

Java 2025.03.25

암호화, AES-256-CBC를 이용해서 암호화/복호화 하는 방법

AES-256-CBC양방향/대칭 키 암호화 방식암호화 및 복호화에 사용되는 키 값이 동일데이터를 256비트 키와 CBC 모드(Cipher Block Chaining)로 암호화AES는 Advanced Encryption Standard 의 약자로, AES-256은 256 비트 키를 사용하는 AES 알고리즘고속의 대칭키 블록 암호화 알고리즘CBC가장 일반적으로 사용되는 작동 모드 블록을 그대로 암호화하지 않고 이전에 암호화했던 블록과 XOR 연산을 수행하는데,첫 번째 블록은 이전에 암호화한 블럭이 없기 때문에 IV를 이용 동작 원리1. 초기화 벡터(IV, Initialization Vector)CBC 모드는 IV라는 추가적인 값을 필요로 한다.암호화 과정의 첫 번째 블록에만 사용되고, 그 후에는 암호화된 이..

Java 2025.03.24

암호화, 양방향 vs 단방향 암호화

암호화 종류양방향 (암호화 + 복호화)대칭키 (비공개키)비대칭키 (공개키)암호화 및 복호화 예시평문: "안녕하세요"암호화: "97aef2af4b16b80f546c8bff375b7a556d29c0ea44592e837a663651d48123bf"복호화: "안녕하세요"  단방향 (암호화)해시 SHA-256 해시 해시를 사용한 비밀번호 저장 시 보안 강화 방법해시만으로는 보안에 취약할 수 있다 때문에 해시를 강화할 수 있는 방법이 추가적으로 필요하다.1. Salt(소금) 추가해시 값을 생성할 때 랜덤한 문자열을 추가하는 방법같은 비밀번호도 매번 다른 Salt 값이 추가해 해시 값을 다르게 생성할 수 있다.password123 + randomSalt -> 해시화 -> 해시값 * 여기서 Salt 값과 비밀번호는 $..

Java 2025.03.24

정보처리기사, 실기 요약 정리 (3. 운영체제)

운영체제 종류윈도우마이크로소프트사에서 개발한 운영체제유닉스미국 AT&T 벨연구소에서 개발한 운영체제리눅스리눅스 토발즈가 유닉스를 기반으로 개발한 운영체제MacOS / iOS애플이 유닉스 기반으로 개발한 운영체제Android구글이 리눅스 커널 기반으로 개발한 개방형 모바일 운영체제  UNIX 구성 요소 ★커널하드웨어 보호프로그램 및 하드웨어 간 인터페이스 역할쉘사용자의 명령 인식/해석 후 커널로 전달, 명령을 수행시스템과 사용자간 인터페이스 역할   주기억장치RAM휘발성SRAM - 속도 빠름, 재충전 불필요, 캐시DRAM - 속도 느림, 재충전 필요, 주기억ROM비휘발성Mask ROM - 임의 수정 불가PROM - 한번만 기록, 그 이후는 읽기만 가능EPROM - 자외선 신호 이용EEPROM - 전기 신호..

정보처리기사 2025.03.20

정보처리기사, 실기 요약 정리 (2. 데이터베이스)

데이터베이스 (DBMS, DataBase Management System)특정 조직 내 필요한 데이터들의 모임, 공용으로 소유/유지/이용하는 공용 데이터   스키마 (Schema)외부 스키마사용자 관점의 스키마→ 하나의 DB에 여러 개의 전체적인 논리적 구조개념 스키마사용자와 DB 관리자 관점의 스키마→ DB 전체적인 논리적 구조내부 스키마DB 설계자/개발자 관점의 스키마→ 개념 스키마를 물리적 저장 장치에 구현하는 방법을 정의  데이터 독립성논리적 독립성 : 응용 프로그램 영향 없이 데이터 논리 구조 변경물리적 독립성 : 응용 프로그램 및 논리 구조 영향 없이 데이터의 물리적 구조 변경   데이터 언어DDL데이터 베이스 구조/제약 조건 정의ex. ALTER, CREATE, DROPDML데이터 처리/조작..

정보처리기사 2025.03.20

정보처리기사, 실기 요약 정리 (1. 소프트웨어 구축)

소프트웨어 생명 주기 (Software Development Life Cycle, SDLC) 프로젝트 계획 ► 요구 분석 ► 설계 ► 구현 ► 테스트 ► 유지보수폭포수선형 순차적 개발 / 고전적, 전통적 개발 모형 / 다시 전 단계로 되돌아가기 어려움프로토타입견본/시제품을 통해 최종 결과 예측 / 인터페이스 중심 / 요구사항 변경 용이나선형폭포수 + 프로토타입 + 위험 분석 기능 추가 / 점진적 개발 과정 반복★ 계획 수립 ► 위험 분석 ► 개발 및 검증 ► 고객 평가★ 애자일일정한 짧은 주기 반복하여 개발 진행견본/시제품 존재 / 고객 소통, 상호작용 중시 하향식 설계절차 지향 (순차적) / 최상위 컴포넌트 설계 후 하위 기능 부여 상향식 설계객체 지향 / 최하위 모듈 먼저 설계 후 결합인터페이스 구조..

정보처리기사 2025.03.19
728x90
반응형