분류 전체보기 63

프로그래머스 SQL - 상위 퍼센트 대로 나누기 / percent_rank()

프로그래머스 - 대장균의 크기에 따라 분류하기 2번 문제  -정답-select ID , (case when p   필요한 지식  percent_rank() : 상대적 백분위 수를 나타낸다. 값이 낮을 수록 값이 크다."상위 ~ 퍼센트" 값을 구할때 매우 유용할듯기본구성 Percent_rank() over(partition by 컬럼1 order by 컬럼2 ASC/DESC) 이때 partition by 는 생략 가능 ,  select 고객번호, 마일리지 , percent_rank() over(partition by 지역 order by 마일리지 DESC)*100 백분위from 고객order by 백분위 Asc;

SQL 2025.03.27

정보처리기사 오답정리 (2023)

다음 중 상태 다이어그램에서 객체 전이의 요인이 되는 요소는?① event② state③ message④ transition결합도(Coupling)에 대한 설명으로 틀린 것은?① 데이터 결합도(Data Coupling)는 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터가 결합되어 있다고 한다.② 내용 결합도(Content Coupling)는 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.③ 공통 결합도(Common Coupling)는 두 모듈이 동일한 전역 데이터를 접근한다면 공통결합 되어 있다고 한다.④ 결합도(Coupling)는 두 모듈간의 상호작용, 또는 의존도 장도를 나타내는 것이다.자료결합도 - 어떤 모듈이 ..

기타 2025.02.23

정보처리기사 오답정리 (2024)

UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호로 맞는 것은?① 《 》② (( ))③ {{ }}④ [[ ]]UML의 스테레오 타입은 ‘>’(길러멧; Guillemet) 기호를 사용하여 표현한다.파이프 필터 형태의 소프트웨어 아키텍처에 대한 설명으로 옳은 것은?① 노드와 간선으로 구성된다.② 서브시스템이 입력데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다.③ 계층 모델이라고도 한다.④ 3개의 서브시스템(모델, 뷰, 제어)으로 구성되어 있다.- 피어투피어 패턴 : 노드와 간선으로 이루어짐다음 중 스크럼에 대한 설명으로 잘못된 것은?① 스크럼은 제품 책임자, 스크럼 마스터, 개발팀으로 구성된다.② 스프린트 회고를 통해 개선할 점은 없는지 등을 확인하고 기록한다.③..

기타 2025.02.22

Spring JPA

용어 정리DBMS :  다수의 사용자가 DB에 접근 할 수 있도록 해주는 소프트웨어 도구               - MySQL, ORACLE, Postgres, NoSQLJDBC : JAVA에서 DB에 접속하기 위한 DBMS 인터페이스ORM(Object Relational Mapping) : 객체 지향 프로그래밍의 객체(클래스)와 관계형 데이터베이스의 데이터(테이블)를 자동으로 매핑 Java에서는 Hibernate, JPA가 있다.※ DB와 매핑된 Entity에 접근하므로 테이블 정규화가 잘 되어 있어야 한다  JPA : 자바 ORM 기술에 대한 명세 ( 특정 기능을 하는 라이브러리가 아닌, ORM을 어떻게 사용해야 하는지 정의하는 한 방법)Hibernate : JPA를 구현한 대표적인 프레임워크기본적..

SPRING 2025.02.13

[Spring Sequrity] 구동원리과 간략한 구현

구동원리클라이언트에서 HTTP requestsequrityFilterChain에서 HTTP 요청 가로챔(FilterChain 중 UsernamePasswordAuthenticationFilter에서)클라이언트 폼으로 받은 아이디/비밀번호를 sequrity 토큰에 맞추고UserNamePasswordAuthenticationToken객체를 생성한다.(FilterChain이 감지한 인증 요청의) 인증수행을 『ProviderManager(interface)』 에게 위임하며,여러 구현체(Provider)을 통해 인증을 수행 ProviderManager 중 『DaoAuthenticationProvider』 내부적으로 "UserDetailsService"를 호출UserDetailsService를 구현한 로직이 Use..

SPRING 2025.02.12

Jakarta Mail(JavaMail) API

구글 계정 설정- 계정 > 보안 > 2단계 인증 사용설정- 보안 > 앱비밀번호 > 원하는 앱 이름 입력 = 앱비밀번호 생성- Gmail > 라벨 관리 > 전달 및 POP/MAP : POP 사용 / IMAP 사용 체크 후 저장pom.xml 의존성 추가 org.springframework.boot spring-boot-starter-mail설정 추가 - properties 파일의 경우 spring.mail.default-encoding=UTF-8 spring.mail.host=smtp.gmail.comspring.mail.port=587spring.mail.username=구글계정spring.mail.password=앱 비밀번호spring.mail.properties.mail.smtp.startt..

JAVA 2025.02.11

팝업창 해상도 상관없이 컨텐츠 너비/높이

팝업창 띄울시, 부모창에서 width, height를 지정하지 않고 자식창의 너비/높이에 따라 자동 조정되도록 함 요소 너비/높이 속성 (모두 Margin 요소 미포함)offsetWidth : 요소의 전체 너비 사용 ( Boarder 까지 요소의 너비/높이 + 스크롤바 )clientWidth : 스크롤바를 제외한, 요소의 내부 너비 ( Padding 까지의 요소의 너비/높이 - 스크롤바 제외 )scrollWidth : 스크롤바를 포함한 요소 내부 너비 ( Padding 까지의 요소의 너비/높이 + 스크롤바 포함 )width : 요소의 순수한 크기 (content width)innerWidth : width + paddingouterWidth : width + padding + border부모창 : wid..

HTML, CSS, JS 2025.02.10

UBUNTU lightsail에 war 파일 배포하는 방법(+MySQL 원격설정 +서비스 항상실행)

※ apt 저장소 다운로드 및 서버 업데이트 1. apt 저장소 업데이트$ sudo apt update2. 우분투 서버 업데이트$ sudo apt-get update (1) JDK-21 다운로드 □ apt 저장소에서 받는 방법apt install openjdk-21-jre-headless -y □ 아카이브에서 받는 방법 아카이브에서 원하는 버전의 다운로드 링크 가져온 후 다운로드 - tar xvfz 등으로 압축풀기 필요  - https://jdk.java.net/archive/sudo wget https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-x64_bin.tar.gz   (2) 톰..

서버 2025.02.04

AOP (작성중)

정의□ AOP aspect oriented(관점지향) 프로그래밍, "어떤 로직"을 기준으로 핵심적인 관점(비즈니스 로직) 부가적인 관점(실행시간 측정, 트랜잭션, 로깅)을 기준으로 각각 모듈화 하겠다 □  흩어진 관심사 각 클래스에서 반복되는 기능 흩어진 관심사를 Aspect로 모듈화 하고 핵심적인 비즈니스 로직에서 분리하여 재사용하겠다는 것이 AOP의 목적      출처 : https://steady-coding.tistory.com/608#AOP%EB%9E%80? [Spring] AOP와 JDK Dynamic Proxy, CGLIBspring-study에서 스터디를 진행하고 있습니다. AOP란? AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍을 뜻한다. 관점 ..

SPRING 2025.01.31

Entity·DTO·VO와 사용범위, 변환방법

- EntityEntity 클래스는 실제 DB 테이블과 매핑되는 클래스데이터베이스 영속성의 목적으로 사용되는 객체이며, 때문에 요청(Request)이나 응답(Response) 값을 전달하는 클래스로 사용하는 것은 좋지 않다.서비스 클래스와 비즈니스 로직들이 Entity 클래스를 기준으로 동작하기 때문에 Entity 클래스가 변경되면 여러 클래스에 영향을 줄 수 있다   영속성이 있는 특징으로 Constructor(생성자) 또는 Builder를 사용한다      - 생성자(Constructor)를 이용해서 초기화하는 경우 불변 객체로 활용      -  Builder를 사용하면 멤버 변수가 많아지더라도 어떤 값을 어떤 필드에 넣는지 코드를 통해 확인할 수 있고        , 필요한 값만 넣는 것이 가능하..

SPRING 2025.01.11