본문 바로가기

전체 글171

[Spring]Controller, Repository, Service 1.Controller 스프링 프레임워크의 컨트롤러는 사용자가 화면(View) 단에서 입력이나 이벤트를 했을 경우, 그 이벤트에 맞는 화면이나 비지니스 로직(MODEL)을 실행할 수 있도록 업데이트를 해주도록 하는 역할 즉 요청이 진입하는 지점이며, 요청에 따라 어떤 처리를 할지 결정 단 컨트롤러는 단지 결정만 해주고 실질적인 처리는 Service에서 담당 사용자에게 View를 응답으로 보내준다. 2.Repository 직역하면 저장소. 데이터베이스와 연관이 있다. 데이터단에 직접 매칭되는 Entity를 통해 데이터 테이블이 생성되면 받아온 정보를 데이터베이스에 저장하고 조회하는 기능을 수행 JPA에서 인터페이스를 생성 후 JpaRepository을 상속받으면 기본적인 CRUD가 자동생성 3. Servi.. 2022. 11. 29.
[프로그래머스/알고리즘] 두 개 뽑아서 더하기 (자바/Java) 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1 + 4 = 2 + 3 입니다. 6 = 2 + 4 입니다. 7 = 3 + 4 입니다. 따라서 [2,3,4,5,6,7] 을 return 해야 합니다. 입출력 예 #2 2 = 0 + 2 입니다. 5 = 5 + 0 입니다. 7.. 2022. 11. 29.
20221128 주특기 입문 주차 - 3 오늘은 Spring 강의를 다 들었다. 강의를 들으면서 이해가 잘 안되는 부분이 많았다. 조금 이해를 하면서 공부를 했어야 하는데 우선 한번 다 듣고 다시 들으면서 이해를 해야겠다고 생각을 해서 이해가 안되니 조금 답답하기도 했다. 오늘 아침 언어스터디에서는 Spring에 대해 약간 알아봤는데 어려웠다. 그리고 조별스터디에서 여러가지 얘기를 하며 스터디를 했는데 Spring 디자인 패턴에 대해서 JPA에 대해서 REST API에 대해서 이렇게 스터디를 했는데 조금 더 자세히 공부하지 못한 부분이 아쉬웠다. 조금 더 깊게 공부를 했어야 했는데 너무 가볍게 공부를 해서 머리에서 맴돌기만 하며 다른 조원분들이 질문을 했을때 대답을 잘 못했었다. 이런 부분에 대해서는 조금 고쳐나갈 필요가 있겠다. [Spring.. 2022. 11. 28.
[프로그래머스/알고리즘] 같은 숫자는 싫어 (자바/Java) 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 .. 2022. 11. 28.
20221127 항해99 WIL 우선 이번주에도 참 바쁘면서도 재밌고 많이 배웠다. 매일매일 그래도 매일매일 TIL을 작성하며 항해를 진행해서 월요일에는 뭘했고, 뭘했고가 다 알수 있어서 편한거같다. 20221121 프로그래밍 기초[알고리즘 스터디] -3 주말을 보내고 다시 알고리즘 스터디를 진행하였다. 아직 자바에 대한 지식이 많이 부족한 탓일까. 난이도가 올라갈수록 문제를 푸는데 막히는 부분이 점점 많아진다. 머리로 이렇게 이렇게 하 jkadv.tistory.com 20221122 프로그래밍 기초[알고리즘 스터디] -4 4-5일간 알고리즘 문제를 풀었는데 기초가 제대로 다져지지 않은 상태에서 문제만 계속 풀다보니 이게 배움이 있는건지 아니면 문제풀기에 급급해서 배우는거 없이 진도만 빼기 바쁜건지 하는 jkadv.tistory.com.. 2022. 11. 27.
[Java] JVM이란 ? JVM Java Virtual Machine의 줄임말. 직역을 하면 자바를 실행하기 위한 가상 기계(컴퓨터)이다. Java는 OS에 종속적이지 않다는 특징을 가지고 있다. OS에 종속받지 않고 실행되기 위해선 OS 위에서 Java를 실행시킬 무언가가 필요한데 그게 바로 JVM이다. 즉 JVM은 OS에 종속받지 않고 CPU가 Java를 인식, 실행할 수 있게 하는 가상 컴퓨터이다. JVM을 사용함으로써 얻는 가장 큰 이점이 무엇일까요? JVM을 사용하면 하나의 바이트 코드(.class)로 모든 플랫폼에서 동작하도록 할 수 있다. .class 파일은 바이트 코드라고 하는데 사람이 쓰는 자바 코드에서 컴퓨터가 읽는 기계어로의 중간 단계 VM은 크게 아래와 같이 이루어져 있다. 클래스 로더(Class Loade.. 2022. 11. 27.
[Spring]REST API REST REST는 "Representational State Transfer" 의 약어 하나의 URI는 하나의 고유한 리소스(resource)를 대표하도록 설계 된다는 개념 스마트폰과 태블릿 등 서버에 접근하는 디바이스 종류가 다양해지고 있기에 디바이스 종류에 상관없이 공통으로 데이터를 처리할 수 있도록 하는 방식을 REST라고 한다 REST API는 사용자가 어떠한 요청을 했을 때 화면을 리턴하지 않고, 사용자가 필요로 하는 결과(데이터)만을 리턴해주는 방식이다. HTTP Method : Create, Read, Update, Delete API API는 "Application Programming Interface"의 약어 응용프로그램에서 사용할 수 있도록 다른 응용 프로그램을 제어할 수 있게 만든.. 2022. 11. 27.
[Spring] 디자인 패턴 디자인 패턴 (소프트 웨어)디자인 패턴이란 특정 문맥에서 공통적으로 발생하는 문제에 대해 쓰이는 재사용 가능한 해결책 목적별로 일정한 패턴이 제시되어 있음 완전한 정답이 되는 알고리즘과 달리 현재 상황에 맞춰 최적화된 패턴을 결정하여 사용하는 것이 좋음 대표적으로 구체화된 디자인 패턴은 GoF(Gang Of Four)에서 제시한 총 23개의 패턴이 있음 ※Gof : Erich Gamma , Richard Helm, Ralph Johnson, John Vissides 총 4명을 일컫음 장점 개발자 간의 원활한 협업이 가능 소프트웨어 구조를 파악하기 용이 재사용을 통해 개발시간을 단축 설계 변경이 있을 경우 비교적 원활하게 조치가 가능 단점 객체지향적 설꼐를 고려하여 진행해야 함 초기 투자 비용이 많이 들어.. 2022. 11. 27.
[Spring] JPA란 ? JPA(Java Persistence API) Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스 모음 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 인터페이스 이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현함 JPA에 대해 자세히 알아보기 전 ORM이란 ? ORM(Object-Relational Mapping) Object-relational mapping (객체 관계 매핑) 객체는 객체대로 설계하고, 관계형 데이터베이스는 관계형 데이터베이스대로 설계한다. ORM 프레임워크가 중간에서 매핑해준다. 대중적인 언어에는 대부분 ORM 기술이 존재한다. ORM은 객체와 RDB 두 기둥 위에 있는 기술 이다... 2022. 11. 27.