본문 바로가기

분류 전체보기33

[JAVA] Arrays.sort(), Comparator 사용 / 두 가지 이상 기준으로 정렬 / 알파벳 순으로 정렬 [참고] 백준 1181번 : 단어 정렬 String[]에서 길이가 짧은 것부터 길이가 같으면 사전 순으로 정렬하기 //(String s1) -> s1.length() == String::length Arrays.sort(arr, Comparator.comparing(String::length).thenComparing(Comparator.naturalOrder())); (String s1) -> s1.length() => String::length 2024. 1. 18.
Overloading과 Overriding 오버로딩(Overloading)과 오버라이딩(Overriding)은 객체 지향 프로그래밍(OOP)에서 다형성(Polymorphism)을 구현하는 두 가지 중요한 개념이다. 오버로딩 (Overloading): 오버로딩은 같은 이름의 메서드나 생성자를 여러 개 정의하는 것 메서드나 생성자의 이름은 같지만, 매개변수의 타입, 개수, 또는 순서가 다르게 정의됨 오버로딩은 컴파일러가 메서드 호출 시에 적절한 메서드를 선택할 수 있도록 해주며, 코드의 가독성을 높이고 사용자에게 편의성을 제공함 class Calculator { int add(int a, int b) { return a + b; } double add(double a, double b) { return a + b; } } 오버라이딩 (Overridi.. 2024. 1. 17.
[SQL] JOIN 정리 [SQL] JOIN 정리 JOIN 테이블명 (AS 약칭) ON 키1 = 키2 INNER JOIN( = JOIN) SQL INNER JOIN SQL의 INNER JOIN 명령은 공통 열을 기반으로 두 개의 테이블을 조인하고 해당 열에서 일치하는 값을 가진 행을 선택합니다. Example -- join Customers and Orders tables -- select customer_id and first_name columns from the Customers table -- select amount from the Orders table SELECT Customers.customer_id, Customers.first_name, Orders.amount FROM Customers INNER JOIN O.. 2024. 1. 10.
Spring AOP 개념 정리 해당 글은 을 참고하여 정리한 글입니다. 애플리케이션 로직 = 핵심 기능 + 부가 기능 핵심 기능 : 객체가 제공하는 고유 기능. 부가 기능 : 핵심 기능을 보조하는 기능. 같은 부가 기능을 여러 클래스에 걸쳐 함께 사용되는 경우, 유지/보수가 어렵다. (별도의 유틸리티 클래스를 만든다해도 클래스를 호출하는 코드가 필요 & try-catch-finally 구조 등 복잡함) 일반적인 OOP 방식으로 해결이 어렵 => AOP (Aspect Oriented Programming) 사용! AOP : 핵심 기능과 부가 기능을 분리 애플리케이션을 바라보는 관점을 하나하나의 기능에서 횡단 관심사(cross-cutting concerns) 관점으로 달리 보는 것. AOP는 OOP를 대체하기 위한 것이 아닌, 횡단 관심.. 2023. 12. 20.
[MySQL] 문법 정리 IFNULL MySQL에서 IF 함수를 사용하여 특정 컬럼이 NULL인 경우를 처리할 수 있다. ex1) phone_number 컬럼이 NULL이면 'NONE'으로 출력하는 경우를 다음과 같이 처리할 수 있다 SELECT IFNULL(phone_number, 'NONE') AS phone_number FROM your_table; ex2) 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. SELECT COUNT(DISTINCT NAME) AS count FROM ANIMAL_INS WHERE NAME IS NOT NULL; LIMIT 조회할 데이터 갯수 제한 ex1) 동물 보호소에 가장 먼저 들.. 2023. 12. 18.
[Spring/Spring Boot] dev와 live을 분리하여 dev에는 H2, live에는 MySql 연동하기 .java 파일들 .yml 파일들 active가 live면 live가, active가 dev면 dev가 사용된다. spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:(Port 번호)/(Schema 이름)?serverTimezone=Asia/Seoul username: (user 이름) password: (password) ddl-auto 종류 create 애플리케이션 시작 시에 데이터베이스 테이블을 생성. 이미 테이블이 존재하는 경우에는 해당 테이블을 삭제하고 다시 생성. (drop + create) create-drop 애플리케이션 시작 시에 데이터베이스 테이블을 생성하고, 애플리케이션이 .. 2023. 11. 28.
728x90
반응형