본문 바로가기
728x90

Team92

[CS 스터디] String vs StringBuffer vs StringBuilder 자바에서 문자열을 다루는 대표적인 클래스 String, StringBuffer, StringBuilder String은 불변 기본적으로 String 객체의 값은 변경할 수 없다. = 불변 자료형 String에서 많이 사용하는 메소드를 보면 String 객체 자체가 변경되는 것이 아니라 새로 String 객체를 만들어서 반환해주는 것 public class Main { public static void main(String[] args) { String str = "abcdefg"; System.out.println(str.toUpperCase()); // "ABCDEFG" System.out.println(str.substring(2)); // "cdefg" System.out.println(str); .. 2023. 9. 21.
[CS 스터디] 자바 제네릭 제네릭 Generic 데이터 타입을 일반화하는 것 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정한다. → 컴파일 시에 type check를 한다. → 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. Java 5 이전 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object 타입을 사용했었다. Object로 반환된 타입에 대해 다시 원하는 타입으로 타입을 변환해야 한다. → 오류 발생 가능성 ↑ (컬렉션에서 객체를 검색하거나 제거할 때마다 개발자들이 명시적으로 형변환을 해줘야 했다.) import java.util.ArrayList; public class Main { static class Temp{ Ob.. 2023. 9. 14.
[CS 스터디] MySQL의 procedure와 scheduler 🔴 Procedure 데이터베이스 내에서 실행되는 일련의 SQL 문을 포함하는 미리 정의된 프로그램 데이터베이스 작업을 모듈화하고 효율적으로 수행할 수 있다. 비즈니스 로직 분리 비즈니스 로직을 procedure로 분리하여 응용 프로그램 코드와 데이터베이스 코드를 분리할 수 있다. 복잡한 쿼리 수행 복잡한 데이터베이스 연산 및 조작을 수행하는데 유용하다. 보안 및 권한 관리 데이터베이스 객체에 대한 권한을 효과적으로 관리하는데 도움이 된다. procedure 작성하기 MySQL은 자체적으로 세미콜론(;)을 구분 기호로 인식한다. procedure 를 single statement로 mysql에 전달하기 위해서는 구분 기호를 임시로 다시 정의해야 한다. WHY? procedure는 일련의 SQL문을 포함하.. 2023. 9. 7.
[CS 스터디] Spring 의존성 주입 Spring 의존성 주입 방법 필드 기반 의존성 주입 (field-based dependency injection) 세터 기반 의존성 주입 (setter-based dependency injection) 생성자 기반 의존성 주입 (constructor-based dependency injection) Field-based dependency injection 생성자나 setter 메서드를 쓰지 않고 DI 컨테이너의 힘을 빌려 의존성을 주입하는 방식 의존성을 주입하고 싶은 필드에 @Autowired annotation을 달아주면 된다. 프로젝트를 하면서 가장 자주 접하게 되는 주입 방식 setter 기반과 마찬가지로 빈 생성이 완료된 이후에 주입되며, final로 선언할 수 없다. public class .. 2023. 8. 30.
[CS 스터디] Annotation Spring boot의 주요 기능 중 하나는 Annotation을 사용하는 것 응용 프로그램의 다양한 측면을 구성하고 특정 기능을 활성화하는데 사용한다. Spring Annotation 의존성을 구성하고 의존성 주입(dependency injection)을 구현할 수 있다. 기존에는 Spring을 사용해 개발자가 xml 기반의 configuration을 사용하여 Bean의 dependency를 관리할 수 있었다. xml 기반의 접근 말고 Java 기반의 configuration을 하고 싶어서 도입된 것이 Spring Annotation @Configuration Bean 설정을 담당하는 클래스에 사용한다. @Bean 메소드 레벨 annotation 반환된 Bean을 Spring Context에서 관리하도.. 2023. 8. 24.
[CS 스터디] S3에 파일을 업로드 하는 방법 S3 AWS의 스토리지 서비스 중 하나 여러가지 용도로 사용 가능한 범용적인 스토리지 서비스 여러 데이터를 보관할 수 있고 정적 웹사이트 호스팅 및 다양한 형태의 클라우드 서비스로 활용 가능한 만능 스토리지 서비스 사진이나 동영상 같은 파일을 업로드 할 때, S3를 사용할 수 있다. 프론트엔드 → 백엔드 → S3 사용자는 application 서버에 파일을 업로드한다. application 서버는 처리를 위해 임시 공간에 파일을 저장한다. application은 영구적으로 저장하기 위해 파일을 S3 버킷에 전송한다. 프로세스는 간단하지만 사용량이 많은 application에서는 웹 서버의 성능에 문제를 일으킬 수 있다. 파일 업로드는 일반적으로 크기가 크기 때문에 이를 전송하는 것은 네트워크 I/O 및 .. 2023. 8. 17.
728x90