전체 글 42

정보처리기사 실기_UML 다이어그램

UML 정의- Unified Modeling Language- 소프트웨어와 시스템을 시각화, 명세, 문서화하는 표준으로서 통합 모델링 언어 UML 분류1) 구조 다이어그램 Structure Diagrams- 클래스 다이어그램 : 클래스 이름, 클래스 속성, 클래스 실행 작업- 객체 다이어그램 : 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현- 컴포넌트 다이어그램 : 복잡한 시스템 구조를 설명- 배치 다이어그램 : 컴포넌트 사이의 종속성을 표현- 복합체 구조 다이어그램 : 클래스나 컴포넌트가 복합 구조를 갖는 경우, 내부 구조를 표현- 패키지 다이어그램 : 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현 2) 행동 다이어그램 Behavioral diagrams- 유스케이스 ..

[LX-lastpjt] Playwright 으로 네이버지도 리뷰 크롤링/스크래

⚠️ 본 코드는 학습 및 개인 연구 목적으로 작성되었으며, 네이버 지도 서비스의 구조가 변경될 경우 작동하지 않을 수 있습니다. 상업적 목적이나 대량 데이터 수집에는 사용하지 마세요. ⚠️ 크롤링? 스크래핑?웹사이트를 자동으로 탐색하며 정보를 수집하는 것데이터를 추출해 검색 엔진의 색인 생성, 데이터 분석, 시장 조사 등 다양한 용도로 활용됨.웹 크롤링웹 스크래핑여러 웹 페이지를 자동으로 탐색하며 데이터 수집검색 엔진이 웹사이트를 인덱싱할 때 사용크롤링 봇(크롤러)이 사이트의 링크를 따라가며 데이터 수집특정 웹페이지에서 원하는 데이터만 추출가격 비교 사이트, 뉴스 기사 수집에 활용일반적으로 특정 HTML 요소에서 텍스트, 이미지 등 필요한 데이터만 수집도구Python 라이브러리GUI 기반 크롤링, 스프..

[Spring·Vue·MySQL] 개발 기술 개념도 정리

📌 전체 개념도 정리1. 언어 & 문법프로그래밍 언어Java, JavaScript템플릿/뷰 언어JSP, JSTL, EL, Thymleaf스크립트 라이브러리jQuery데이터 포맷JSON, Gson2. 프론트엔드UI 프레임워크 & 라이브러리Bootstrap, MetronicSPA/Mobile 프레임워크Vue.js, Pinia (상태관리)데이터 통신AJAX, Axios, fetch3. 백엔드프레임워크Spring, Spring Boot, Ubiaccess framework패턴MVC, DDD, GOF 디자인 패턴, 싱글톤서블릿DispatcherServletBean 관리Bean, Lombok (코드 간소화)로깅Log4j테스트JUnit4. 데이터베이스 & ORMDBMSMySQL, MariaDB클라이언트 툴Workb..

[Git] Github 사용법 총정

Git 과 Github1) Git- 로컬에서 관리되는 버전 관리 시스템 (시간에 따라 파일의 변경사항을 추적하고 기록)- 로컬 저장소를 사용한다. -> 다른 사람이 내 작업물 알 수 없다. 2) Github- 개인의 로컬 서버 밖에서 Gir 버전 프로젝트를 공유, 기록하는 온라인 데이터베이스- 저장소를 깃허브에서 제공해주는 클라우드 서버를 이용한다. -> 다른 사람과 협업시 소스코드 공유가 가능하다. Github 기본 용어1) CLI, GUI- CLI : 명령어 인터페이스로, 주로 터미널을 통해 컴퓨터와 상호작용하는 방식- GUI : 입출력 등의 기능을 알기 쉬운 아이콘 등의 그래픽으로 나타낸 것 2) Local, Remote- Local : 사용하고 있는 컴퓨터- Remote : 원격 저장소 3) Re..

[dbmodeling-Normalization] 데이터모델링 정규화 실습

데이터 모델링 정규화- 관계형 스키마를 더 좋은 구조로 정제해 나가는 과정이다. 속성 간 관계분석을 기반으로 일정한 조건을 만족하는 형태로 엔티티를 분해하는 과정이다. 제 1 정규화 Atomic Columns- 복수의 속성 값을 갖는 속성을 분리하는 것 (중복과 반복을 없앰)- 컬럼은 원자성을 가지며, 모든 속성은 값이 하나이다.- 하나의 속성이 하나의 값을 가질 수 있도록 분해 (튜플 증가) -> 여러개의 속성 값을 갖는 속성을 다른 관계로 분해 (새로운 엔티티) 제 2 정규화 No partial dependencies (부분 종속성)- 부분 함수적 종속관계를 제거하는 것- 모든 속성은 반드시 주식별자 속성에 종속되어야 한다,- 복합키가 구성되었을 때 부분적으로 종속된 속성을 분해 (새로운 엔티티 생성..

개발 필수 개념 총정리 (JSON부터 Spring Boot, Node.js 까지)

1. 데이터 포맷 & 변환JSON (JavaScript Object Notation)키-값 기반 경량 데이터 교환 포맷서버 ↔ 클라이언트 간 통신에 사실상 표준예: { "id": 1, "name": "길동" }GsonGoogle의 Java용 JSON 라이브러리Java 객체 ↔ JSON 간 직렬화/역직렬화2. DB 연동 계층JDBC (Java Database Connectivity)Java에서 DB와 연결하는 표준 APISQL 직접 작성, 연결/자원 해제 수동 관리 → 코드 장황MyBatisSQL 매퍼 프레임워크JDBC 기반이지만 XML/Annotation으로 SQL을 분리 관리DAO + Mapper XML 구조 → 가독성 및 유지보수성 ↑Hibernate (JPA 구현체)ORM(Object Relatio..

Spring - Bean 주입 / XML vs JavaConfig

Spring 에서 Bean(객체)을 컨테이너에 등록하고 의존성을 주입하는 방법은 크게 두 가지가 있음. - XML 설정, JavaConfig 방식 XML 기반- 설정이 코드와 분리되며, 운영 중 XML만 수정이 가능하다.- 설정파일이 길어지고 관리가 어렵다.xml version="1.0" encoding="UTF-8"?>web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://jakarta.ee/xml/ns/jakartaee" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" id..

Spring Boot - REST API

뭐임?- RESTful API 는 REST 아키텍쳐 스타일을 따르는 애플리케이션 프로그래밍 인터페이스(API) 이다. REST는 웹 기본 원칙(HTTP 프로토콜, URI, 메서드 등)을 활용하여 시스템 간 데이터를 주고받는 방식을 정의한 설계 방식이다. RESTful API는 주로 클라이언트와 서버 간 통신을 위해 사용된다. 구성 요소?1. 자원 Resource : REST에서는 모든 데이터를 자원으로 취급, URI로 식별함2. HTTP 메서드 : 자원에 대해 수행할 작업 정의 / GET(자원 조회), POST(자원 생성), PUT(자원 수정), DELETE(자원 삭제)3. 상태 코드 Status Code : 요청의 결과를 나타냄 / 200 OK, 201 Created, 400 Bad Request, 4..

Filter vs Interceptor vs AOP

Interceptor vs AOP vs Spring Filter 모두 공통 기능을 끼워넣는 기술이라 헷갈려서 쓰는 글임 ~-~동작 시점, 범위, 사용 목적이 다르다고 한다. Filter (비유 : 건물 입구 보안 게이트)- 웹 애플리케이션 전역 / 서블릿, 정적자원까지 포함해서 가로 챔- DispatcherServlet 진입 전 후 / 서블릿 컨테이너 레벨에서 동작 / 즉, 스프링 MVC에 들어오기 전에 요청 응답 가로챔- 스프링 밖의 자원 JSP, 이미지, CSS, JS 등 모든 요청, 응답- 주로 인코딩 처리(UTF-8), 보안(권한 체크), CORS 설정, XSS 필터링, 공통헤더 추가 등에 사용 Interceptor (사무실 문 앞 보안 체크)- 스프링 MVC 컨트롤러 전용 가로채기- Dispat..

Spring AOP - LogAdivce 구현 예제

AOP는 Aspect Oriented Programming의 약자로 관점지향 프로그래밍이라고 불린다. 관점지향이란 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것이다. 여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말한다. 예) 핵심적 관점은 적용하고자 하는 핵심 비즈니스 로직, 부가적 관점은 핵심로직을 실행하기 위해 행해지는 데이터베이스 연결, 로깅, 파일 입출력 등 각 관점을 기준으로 로직을 모듈화 한다 = 코드를 부분적으로 나누어 모듈화 한다흩어진 관심사 (Crosscutting Concerns) : 다른 부분에서 계속 반복하여 쓰는 코드흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여..