코드스테이츠 - 3회차 백엔드 부트캠프 110

2022.10.17 월 -

📄 학습내용 AOP 주제 주제 주제 주제 주제 🧶 발생한 문제 및 해결방법 문제점) 정수 자리수 구하기 해결방법) 각 자리의 정수를 문자열 배열로 변환해서 배열의 길이 구하기 int max = 12345; int count = Stream.of(String.valueOf(max).split("")) // Stream .mapToInt(Integer::parseInt) // IntSTream .toArray() // int[] .length; // int System.out.println(count); // 5 문제점) LinkedList로 구현된 Queue형 배열 선언하기 해결방법) int size = 20; Queue[] queue = new Queue[size]; // 배열의 크기(size)만큼 배열..

2022.10.14 금 -

📄 학습내용 싱글톤 실습 IoC 컨테이너 = DI 컨테이너 = Spring 컨테이너 ApplicationContext -> 스프링 컨테이너 (일반적으로 사용하는)bean : 스프링 컨테이너가 사용하는 객체 Java bean 과 Spring bean은 다름 Java bean : 클래스에서 Getter과 Setter만을 가지고 있는 클래스 Spring bean : 스프링 컨테이너가 사용하는 객체 beandefinition : Bean 설정 메타정보 스프링 컨테이너는 BeanDefinition이라는 추상화를 통해서 Spring Bean 생성 @bean은 메서드 레벨에서 사용 가능, @Component, @Configuration은 클래스 레벨에서 사용 가능(@bean과 @ㅠㅜComponent : 타겟 차이) ..

2022.10.13 목 - DI

📄 학습내용 빈 주제 주제 주제 주제 주제 🧶 발생한 문제 및 해결방법 문제점) 해결방법) 문제점) 해결방법) 문제점) 해결방법) ⭐ 공부 난이도 ☆★ 🌕 느낀점 DI에 대해서 자세히 공부 중인데 뭔가 이해할 수 있을듯하면서도 전혀 모르겠다. DI를 이해했는데 스프링 컨텍스트가 나오고, 빈이 등장하면서 둘이 어떤 관계인지 아직까지 이해는 잘 되지 않는다. 두루뭉실하게 이해가 되서 DI와 AOP를 공부하고 다시 복습해야겠다.

2022.10.12 수 - Spring 기초

📄 학습내용 Spring Framework의 특징 DI AOP PSA Spring Framework 모듈 구성 Spring Boot 주제 주제 주제 🧶 발생한 문제 및 해결방법 문제점) IntelliJ 한글 깨짐 해결방법) 문제점) 해결방법) 문제점) 해결방법) ⭐ 공부 난이도 ☆☆★★★ 🌕 느낀점 양도 많고 Spring의 특징에 대해서 이해하는 것이 쉽지 않다. POJO가 중요하고 특히 IoC와 DI를 이해하는 것이 어렵다. IoC와 DI가 주도권을 외부로 돌린다는 것은 알겠는데 어떻게 IoC/DI를 충족시키는지 모르겠다. 내일부터 DI에 대해서 자세히 공부하게 된다. 오늘보다 더 DI와 IoC를 이해해서 코드에 적용할 수 있을거라고 믿는다.

2022.10.11 화 - Spring 기초

📄 학습내용 Spring Boot 프로젝트 Spring Boot 프로젝트 생성하기 Spring Initializr 기능(https://start.spring.io/)을 이용 템플릿 프로젝트 생성 인텔리제이(IntelliJ)에서 템플릿 프로젝트 열기 Spring Initailizr War 파일 형태 : WAS 배포용 jar 파일 형태 : WAS를 내장한 배포 형태 Lombok 모듈 : 자주 사용하는 Java 코드를 애노테이션을 통해서 자동으로 생성해주는 라이브러리 Spring Web 모듈 : Spring 기반의 웹 애플리케이션 개발에 필요한 의존 라이브러리들을 자동 설정해주는 라이브러리 생성된 템플릿 프로젝트를 인텔리제이에서 열기 Lombok 사용 : 상단 메인 메뉴의 [File] → [Settings] ..

2022.10.17 금 - 데이터베이스 & SQL (3)

📄 학습내용 데이터 구조 설계 시 주의해야할 것 데이터 중복(data redundancy) 일관된 자료 처리의 어려움 저장공간 낭비 및 데이터 효율성 감소 데이터 무결성(data integrity) 정확성과 일관성 유지 이상현상(anomaly) 갱신 이상(update anomaly) : 여러 동일한 데이터를 갱신할 때 어떤 데이터를 갱신할지에 대한 문제 삽입 이상(insertion anomaly) : 데이터 삽입을 못하는 문제 삭제 이상(deletion anomaly) : 삭제가 발생할 때 삭제를 원하지 않은 부분까지 같이 삭제되는 문제 SQL command DDL(Data Definition Language) : 데이터의 생성, 변경, 제거할 때 사용하는 언어 DML(Data Manipulation L..

2022.10.06 목 - 데이터베이스 & SQL (2)

📄 학습내용 스키마(schema) 스키마(schema) : 데이터베이스에서 데이터 구성방식과 다른 엔티티 간의 관계에 대한 설명 관련 용어 엔티티(Entity) : 고유한 정보의 단위(보통 테이블 자체를 의미) 필드(field) : 엔티티의 속성, 특징(관계형 데이터베이스의 테이블에서 열에 해당) 레코드(record) : 테이블에 저장된 항목(관계형 데이터베이스의 테이블에서 행에 해당, 데이터 자체) 1:N(one-to-many, 일대다) : 하나의 엔티티가 다른 엔티티를 하나 이상의 관계를 가지는 형태 N:N(many-to-many, 다대다) : 두 엔티티가 서로 하나 이상의 관계를 가지는 형태 기본키(primary key) : 고유값으로 자동으로 증가, 각 테이블의 레코드들을 구분하기 위해서 사용 테..

2022.10.05 수 - 데이터베이스 & SQL (1)

📄 학습내용 SQL 데이터페이스의 필요성 SQL(Structured Query Language) : 데이터페이스용 프로그래밍 언어로, 주로 관계형 데이터베이스에서 원하는 데이터를 얻기 위해서 구조화된 qeury를 이용해서 필터링하는 과정을 거침 SQL과 NoSQl의 차이 SQL : 데이터가 구조가 고정된 관계형 테이터베이스를 다룸 NoSQL : 구조가 고정되지 않아서 테이블이 아닌 다른 형태로 데이터를 저장하는 데이터베이스를 다룸 쿼리(Query) : 질의문 기본 쿼리문 wildcard 이용 영속성 : 트렌지션의 지속(durability) 주제 주제 주제 주제 주제 🧶 발생한 문제 및 해결방법 문제점) MySQL 재설치 과정에서 3306 포트가 이미 사용 중('The specified port is al..

2022.10.14 화 - Rest API, Postman

📄 학습내용 Rest API https://aws.amazon.com/ko/what-is/api/ 좋은 API 자료 - REST API -> 1) 모든 리소스를 URI로 표현 2) 서버 상태 고려 X 3) 자원에 대한 행위는 HTTP method 사용 주로 CamelCase를 많이 사용하고, Snake_case와 Spinal-case를 특별한 상황에서 많이 사용 Postman 주제 주제 주제 주제 🧶 발생한 문제 및 해결방법 문제점) 조합 경우의 수 구하기 해결방법) nCr = n-1Cr-1 + n-1Cr 공식 및 재귀 이용 // 조합 계산기(nCr = n-1Cr-1 + n-1Cr 공식 이용) public int combination(int n, int r) { // 계산 간편화(nCr = nCn-r 공..

2022.09.30 금 -

📄 학습내용 애플리케이션의 종류 네이티브 애플리케이션(Native-Application) : 특정 전자기기에 설치되어 사용되는 애플리케이션 사용 예시 : Android, MacOS, Windows ... 웹 애플리케이션(Web-Application) : 웹 브라우저에서 접근 가능한 애플리케이션 네트워크 TCP/IP IP - nslookup 도메인 도메인의 IP주소를 확인하기 위해서 사용하는 명령어 file:///C:/Users/sinar/Desktop/ TCP와 UDP PORT URL DNS 리졸버(resolver) : 운영체제(OS) 내부적으로 만들어진 프로그램으로, 리졸버가 DNS 클라이언트의 요청 받으면 요청을 네임 서버로 전달해서 받은 응답을 DNS 클라이언트에게 전달하는 프로그램 존 파일(zon..