분류 전체보기 22

[Java] 하샤드 수

문제 설명양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.제한 조건x는 1 이상, 10000 이하인 정수입니다.입출력 예xreturn10true12true11false13false입출력 예 설명입출력 예 #110의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다.입출력 예 #212의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다.입출력 예 #311의 모든 자릿수의 합은 2입니다. 11은 2로 나누어 떨어지지..

.JAR, .WAR 차이

.JAR 혹은 .WAR 스프링 부트 프로젝트를 개발하고 배포할 때,개발자는 여러 가지 고려해야 할 사항 중 하나이다. 이 두 가지 파일 형식은 Java 애플리케이션을 배포하는 데 사용된다. JAR (Java ARchive) 는Java 클래스 파일, 메타데이터, 리소스 파일 등을 포함하는 압축 파일이다.톰캣이 내장되어 있어서미들웨어가 없어도 혼자 잘 돌아간다.이 방식은 애플리케이션과 필요한 모든 종속성을 하나의 JAR 파일에 포함시켜,배포 및 실행을 간소화해준다. 반면에, WAR (Web Application Archive)는웹 애플리케이션을 패키징하는 데 사용한다.이미 was 환경이 존재해서톰캣을 내장하지 않고 배포한다. JAR는 간단하게 java -jar .jar 이 명령어면 배포가 된다. JAR는 스..

Back-end Develop 2024.07.30

HTML 구조

heading level1 heading level2 heading level3 heading level4 heading level5 heading level6 본 내용을 작성할 때는 tag p를 사용합니다. 본 내용을 작성할 때는 tag p를 사용합니다.본 내용을 작성할 때는 tag p를 사용합니다. 본 내용을 작성할 때는 tag p를 사용합니다.본 내용을 작성할 때는 tag p를 사용합니다. 본 내용을 작성할 때는 tag p를 사용합니다. Hello World! 프로그래밍 언어가 아니라 마크업 정보를 표현하는 마크업 언어로[1] 문서의 내용 이외의 문서의 구조나 서식 같은 것을 포함한다. 보면 알겠지만 애초에 이름 HTML의 ML이 마크업 언어라는 뜻이다. 웹사이트에..

Front-end Develop 2024.07.23

[COS PRO] 2급 1차 1번, 2번

더보기https://edu.goorm.io/learn/lecture/17167/cos-pro-2%EA%B8%89-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-java/lesson/832250/1%EC%B0%A8-%EB%AC%B8%EC%A0%9C1-%EB%8B%A8%EC%B2%B4-%ED%8B%B0%EC%85%94%EC%B8%A0%EB%A5%BC-%EC%A3%BC%EB%AC%B8%ED%95%98%EA%B8%B0-java-%EA%B5%AC%ED%98%84 1번 단체 티셔츠를 주문하기실습 내용A 학교에서는 단체 티셔츠를 주문하기 위해 학생별로 원하는 티셔츠 사이즈를 조사했습니다. 선택할 수 있는 티셔츠 사이즈는 작은 순서대로 "XS", "S", "M", "L", "XL", "XXL" 총 ..

Coding Test 2024.07.22

JPA

ORM (Object-Relational Mapping) 이라는 걸 들으면Hibernate가 가장 먼저 떠오르는데Hibernate는 대중적으로 가장 성공한 ORM 프레임워크 중 하나일뿐이다. ORM의 시초는 EJB라고 Enterprise JavaBean의 엔티티 빈이라 할 수 있다.하지만 엔티티 빈의 느린 성능과 구현의 복잡성,데이터베이스 테이블과 완벽하게 매핑하지 못한다는 문제로 나락...갔다. 중요한 건!! 하이버네이트는 ORM의 자바 표준이 아니라는 것이다. 여기서 중요한 단어가 나오는데데이터 영속성과 관련된 유일한 자바 표준은 JPA뿐이다. 영속성(Persistence)시스템에서 사용자가 입력한 데이터를 사용하기 위해서당연히 해당 데이터가 어딘가 저장되어 있어야 한다.메모리에 저장된 데이터는 시스..

Back-end Develop 2024.07.19

JDBC, MyBatis, Hibernate 비교하기: 실습과 환경 설정

얼마 전에 Database와 연결하는거실습해본다고 JDBC, MyBatis, Hibernate 모두 사용해본적이 있다.그런데 JDBC 외에는MyBatis와 Hibernate의 차이를 명확히 구분하기 어려웠다.세가지 환경을 각각 설정하고 만들어 비교해보려고 한다. JDBC (Java Database Connectivity)JDBC는 Java 애플리케이션과 데이터베이스 간의 연결을 제공하는 Java의 표준 APISQL 쿼리를 직접 작성하고 데이터베이스와의 연결을 수동으로 관리해야 한다. 특징:직접 SQL 작성: 쿼리를 직접 작성하고 실행직접 관리: 커넥션, 쿼리, 결과 처리를 직접 관리구현 복잡성: 복잡한 쿼리와 트랜잭션을 관리하기 어려움장점:세밀한 제어: SQL 쿼리와 데이터베이스 연결을 직접 제어할 수 ..

Back-end Develop 2024.07.18

Entity Factory

Entity란?스키마에 대한 조건, 정의가 들어간다. (타입 등) 그러니까 엔티티는 스키마에 대한 정의이다. 스프링부트의 구조 중 DTO라고 해서 데이터를 전달하는 객체인데자바에서의 변수 선언이라고 이해하면 쉽다. DTO에서 선언된 데이터들을 가지고 데이터베이스레 전달할지 말지를 결정한다. 그래서 Controller를 통해서 DTO가 값이 들어오면그대로 데이터베이스로 가는게 아니라,Comtroller는 Entity를 소개시켜 주고Entoty는 그 형태에 맞춰 SQL문으로 바꿔준다. SQL로 바꿔주는건 JDBC의 역할이다.  엔티티 팩토리가 생성이 됬다? JPA를 하겠다.    Entity엔티티(Entity)는 데이터베이스 테이블과 매핑되는 클래스엔티티 클래스는 테이블의 구조와 데이터를 정의한다.예를 들어..

[JAVA] 1316번 그룹 단어 체커

같은 알파벳이 반복되도 되지만 다른 알파벳이 나오면서 끊기게 되면 다시 나오면 안되는!그런 규칙이다... 좀 오랫동안 고민했던 문제인데 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.parseInt(br.readLine()); int count =..

ORM, JPA, Hibernate, MyBatis

ORM이란? 객체 관계 매핑(Object-Relational Mapping) 이라고Java와 같은 객체지향 언어에서의 객체와 RDB의 테이블을 자동으로 매핑하는 방법이다.   예를 들어 스프링부트에 있는 '{ 객체 }'  와 관계형 데이터베이스 사이에 ORM이 역할을 맡는다. 데이터베이스를 프로그래밍 언어의 객체 관점으로 바라볼 수 있어서객체 지향 프로그래밍 언어를 이용해 프로그램을 개발하기 편리하다. SQL문을 사용하지 않아도 객체 지향 코드를 작성할 수 있고, 코드의 가독성을 높여 개발자 편의성을 증대시킨다. 하지만 복잡한 프로젝트를 수행할 때에는 ORM으로만으로 서비스를 구현하기 어려울 수 있다.복잡한 쿼리를 ORM으로만으로 구성하기에는 한계가 있다. 대표적인 ORM 프레임워크로는자바의 하이버네이트..