본문 바로가기

전체 글335

[TIL] #52. 231104 어제 목표 & 오늘 완료한 한 일 알고리즘 문제 자바 종합 문법 복습 (3주차) 스프링 입문 강의 (2주차) ➡️ 진행중 스프링 입문 개인과제 내일 목표 알고리즘 문제 스프링 입문 강의 (2주차) 발생한 문제와 해결 강의를 들으며 실습을 하고 있는데 show tables;를 하니 no database selected 라는 에러가 발생했다. 해당 에러는 사용할 데이터베이스를 선택하지 않아 발생한 것이었다. 그래서 show databases; 를 하니 데이터베이스들이 보여졌고 use memo; 를 입력해 사용할 데이터베이스를 선택한 후 show tables; 를 했더니 정상적으로 테이블의 목록이 보여졌다. 느낀점 오늘도 알고리즘 문제를 푸는데 평소보다 적은 시간이 걸렸다. 그리고 이정도면 가독성이랑 실행시간.. 2023. 11. 5.
231104 K번째수 - Level 1 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입니다. a.. 2023. 11. 4.
[Spring] 3 Layer Architecture 3 Layer Architecture Controller 클라이언트의 요청을 받음 클라이언트에서 받아온 request data가 있다면 controller가 service에 전달함. (service는 요청에 대한 로직 처리 전담) controller는 service에서 처리가 완료된 결과를 받아 client에게 응답. (controller >> 출입문이기도 하지만 출구이기도 한 그런 역할.!) Service : 사용자의 요구사항(business logic)을 처리하는 계층. 실세 중의 실세 현업에서는 Service 코드가 계속해서 비대해지고 있음 DB 저장 혹은 조회가 필요할 때 Repository 계층에게 데이터 요청 Repository : DB를 관리하는 역할 (연결, 해제, 자원 관리, CRUD 작.. 2023. 11. 3.
[TIL] #51. 231103 어제 목표 & 오늘 완료한 한 일 알고리즘 문제 자바 종합 문법 복습 (3주차) 스프링 입문 강의 (1주차) 스프링 입문 개인과제 Use Case Diagram 그리기 API 설계 ERD 설계 스프링 입문 강의 (2주차) ➡️ 진행중 내일 목표 알고리즘 문제 자바 종합 문법 복습 (3주차) 스프링 입문 강의 (2주차) 스프링 입문 개인과제 오늘 배운 내용 알고리즘 문제 2023.11.03 - [Coding Test] - 231103 가장 가까운 같은 글자 - Level 1 강의 2023.11.03 - [내일배움캠프(Sparta)/Spring] - [Spring] Database / SQL 2023.11.03 - [내일배움캠프(Sparta)/Spring] - [Spring] JDBC 2023.11.03 -.. 2023. 11. 3.
231103 가장 가까운 같은 글자 - Level 1 문제 설명 문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다. 예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다. b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다. n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다. a는 자신보다 두 칸, 네 칸 앞에 a가 있.. 2023. 11. 3.
[Spring] JDBC JDBC (Java Database Connectivity) : DB에 접근할 수 있도록 Java에서 제공하는 API 애플리케이션 서버를 개발하게 되면 DB와의 소통이 필수적인데, 이 때 Java application과 DB를 연결해주는 역할을 함. JDBC의 등장 배경 application server에서 DB(MySQL)의 접근하기 위해 필요한 작업 DB에 연결 SQL 작성 후 커넥션을 통해 SQL 요청 요청한 SQL에 대한 응답 받기 ➡️ MySQL 이 아닌 PostgreSQL 로 변경한다면 위의 3가지 방법이 모두 다를 수 있기 때문에 DB의 연결 로직들을 모두 수정해야 하는 문제가 발생하는데 이러한 문제를 해결하기 위해 JDBC 표준 인터페이스 등장 JDBC에 연결해야하는 DB의 JDBC 드라이.. 2023. 11. 3.
[Spring] Database / SQL Database : 데이터의 집합. 정보를 저장하고 관리해줌 DBMS (Database Management System) : DB를 관리하고 운영하는 소프트웨어 RDBMS : 관계형 데이터 베이스. 행과 열로 이루어진 테이블이라는 최소 단위로 구성됨. Foreign Key를 통해 다른 데이터를 조합해 함께 볼 수 있음. RDBMS 종류 MySQL PostgreSQL Oracle Database SQL (Structured Query Language) : RDBMS에서 사용되는 언어. 국제표준화 기구에서 SQL에 대한 표준을 정해서 발표하고 있지만, 회사마다 약간의 차이 존재 DDL, DCL, DML 3가지로 분류됨. DDL (Data Definition Language) : 테이블이나 관계의 구조를 생성.. 2023. 11. 3.
[TIL] #50. 231102 어제 목표 & 오늘 완료한 한 일 알고리즘 문제 자바 종합 문법 복습 (3주차) 스프링 입문 강의 (1주차) ➡️ 진행중 내일 목표 알고리즘 문제 자바 종합 문법 복습 (3주차) 스프링 입문 강의 (1주차, 2주차) 오늘 배운 내용 2023.11.02 - [내일배움캠프(Sparta)/Spring] - [Spring] Controller / 정적 페이지 / 동적 페이지 2023.11.02 - [내일배움캠프(Sparta)/Spring] - [Spring] 데이터를 Client에 반환하는 방법 2023.11.02 - [내일배움캠프(Sparta)/Spring] - [Spring] Jackson / Path Variable / Request Param 2023.11.02 - [내일배움캠프(Sparta)/Sprin.. 2023. 11. 2.
[Spring] DTO DTO (Data Transfer Object) : 데이터 전송 및 이동을 위해 생성되는 객체 순수한 Java POJO 클래스 client에서 보내오는 데이터를 객체로 처리할 때 사용 서버의 계층간 데이터 이동시 사용 (A라는 클래스의 객체에서 B라는 클래스의 객체로 데이터를 보내줘야할 때) Entity를 그대로 Client에 반환하는 것이 아닌, DTO로 한 번 변환 후 반환할 때 사용 RequestDTO, ResponseDTO 라는 이름을 붙여 DTO 클래스를 만들 수 있음. 절대적인 규칙 X. 조직에 따라 규칙 다를 수 있음 ResponseDTO가 DB와 소통하는 class랑 똑같은 경우가 많음. 그런데도 분리하는 이유는 DB와 소통하는 클래스는 조심스럽게 다뤄야 하기 때문❗ 용어 정리 Entity.. 2023. 11. 2.