본문 바로가기

분류 전체보기202

클라우드 첫 번쨰 강의 * 클라우드는 가산점을 얻을 수 있다. 하지만 코테부터 붙어야하고, 프로그래밍 프로젝트도 하고, 클라우드는 + 이다 . 리눅스가 기본이 될 것. 리눅스 사용법을 반드시 알아야 됨. 다음 강의부터는 줌으로 듣는다. 100 % 실습. 학기중에 클라우드가 열리지 않기 때문에, 방학중에 강의를 듣자. 빠지지 않는게 중요하다 . 수업은 1시간 정도. 그 이후 한 주 동안 실습을 준비한다. -> 주에 1~2번. 1. 가상화 클라우드 컴퓨팅은 virtualization이라는 가상화. hardware->os(리눅스)-> 여러가지 application 사용. 가상화중에선 컨테이너가 대세. 컨테이너는 나중에 배우자. virtual machine이란? hardware를 쪼개준다. =>? cpu를 생각해보자 clk이 증가 비.. 2023. 12. 22.
Controller api 구성 요소를 확인한다. server의 요청을 받는다. 어떤 작업을 요청하고 내려줄지 를 구현한다. 즉, api의 요청에 따라 무엇을 할까? 를 의미한다고 이해하였다. 사용자의 입력이 최초로 받아들여지는 위치 . @RestController로 시작 @CROSSORIGIN CORS정책을 우회한다. CORS? 스크립트가 다른 출처(포트,도메인중 하나라도) 다르다면, 리소스 접근을 제한한다. CROSS ORIGIN(origins="httlp://localost:3000" ) 과 같이, 특정 출처에서의 요청을 허용한다. @RequestMapping("/") 기본 url을 설정한다. mapping을 어노테이션을 통해 진행한것. @postmapping 복습) post란, 여러개 자원에 수행되며, data를 u.. 2023. 12. 21.
Service 모든 서비스 개발의 핵심. serivce. 여러방식이 있지만 가장 간단명료한 인터페이스 상속 방식을 활용하는 것을 최우선으로 해보겠다. private fianl로, 생성했던 todo repository를 받아서 사용한다. 이전 프로젝트에서는 service 어노테이션 대신 직접 의존성을 주입하였는데, 이번에는 어노테이션을 활용하여 service가 사용할 레퍼지토리가 무엇인지를 명확히 제시 하였다. 해당 메소드가 , service의 주된 사용을 알려주는 예시라고 생각하여 이를 블로그에 올려본다. 가장 먼저 db에 들어갈 entity를 생성한다. id는 자동생성으로 pk로 사용하였기 때문에 따로 set하지 않고, 나머지 칼럼들을 set한다. 그 후 return이 핵심 내용이 되는데, toDoEntity는 ad.. 2023. 12. 21.
Repository dbms와 data를 주고 받기 위한 인터페이스를 정의한 부분. 저장소라는 직독 직해, 하지만 실제 데이터 저장 케이스가 아닌, 데이터를 주고받는 인터페이스 이다. entity를 생성하였따면, 이값을 넣거나, 조회하거나 등의 활동을 진행하는 것이 서비스이다. 이를 어떻게 할것인지 정의하는 계층이다. java의 extends(하나은행 코딩테스트 시험에 나왔던걸 기억하자) 를 활용하여 JpaRepository를 상속받아 실행한다. 이전 프로젝트 로그인에서 간단하게 jparepository를 상속받아 사용한 경험을 바탕으로 , 해당 코드를 사용했다. 이와 같이 레퍼지토리 구현자체는 굉장히 쉽고, 이를 왜 사용하는지 학습이 중요한 것 같다. *인터페이스 학습중 질문이 생겼다. 이와 같은 코드에서 , todore.. 2023. 12. 21.
백준 코딩테스트 - 알고리즘 전까지 프로그래머스와의 간격차이 좁히기가 어렵지만, 그래도 파이썬으로 잘 해보겠다. 1000번문제 -> a와 b의 동시 입력임을 인지하지못했다. input("입력해").split()으로 a,b를 받아, 이에 int(a)+int(b)로 해결 프로그래머스와의 차이발견. 프로그래머스는 결과치만 일치하면 답으로 되었는데, 프로그래머스에서 처음 공부했기 때문에 print와 같은 곳에 메시지를 추가했다. 백준은 모든 조건을 일치해야한다. 쓸데없는 print 사용하지 말아야겠다. 10172번 귀여운 강아지 출력 -> escape에 대한 예시인것 같고, sql은 알지만 파이썬으로 escape는 몰라 찾아보았다. 더 좋은 풀이) escape 보단, "는 '로 감쌀수 있고 파이썬은 "와 '를 구분하지 않기 때문에. 역 슬래시만 .. 2023. 12. 21.
java 객체 지향 프로그래밍 추상화 -> 단순화 시켜 소프트웨어를 프로그램으로 만든다. 소프트웨어의 추상화라고 생각할 수 있다. 즉. 공동 필드를 묶어 하나의 클래스를 만드는 것을 의미한다. 객체지향 -> 변수 , 메소드를 그룹핑. 다른곳에 사용되기 쉽다 예시로, 방금 만들었던 request 또한 객체로 완성하여, 그 형태 그대로 전달할 수 있다. 부품화-> 존재하는 개념은 아니지만, 특정 분야끼리 묶는다. ex) id 사람 다리 를 합쳐서 class로 생성시킨다. (추상화와 유사하다고 생각하면 될 것이다) 캡슐화 ,은닉화 -> 고급프로그래밍에 들었던 경험이다. 그 내부 구조를 알지 못해도 객체를 사용할 수 있어야 한다. (ai에도 blackbox와 같은 개념으로 존재 , 즉 it개발의 핵심) 인터페이스? 사용하는 이유. 가장 윗단.. 2023. 12. 20.
구현 레이어로 분할하는 이유? 레이어에서 EX) 서비스는 서비스만을 한다. 코드를 찾거나, 코드가 꼬이는 위험을 방지한다. 다른 레이어에 영향을 주지 않기 때문에, 수정관리가 용이하다. 1. 모델 개발 도메인의 각각의 오브젝트이다. @data -> lombok에서 제공한다. getter ,setter, 접근자, 생성자등이 자동으로 생성된다. @entity -> entity로 사용함을 의미 . entity, table 다 약간의 차이가 있지만 크게는 table로 인식하자. @NoArgsConstructor 명시 선언된 생성자 없이 생성된다. public class Person { private String name; private int age; public Person(){} } @AllArgsConstruc.. 2023. 12. 20.
java version 안맞을때 수많은 자바 버전을 쓰다보면 버전이 안맞아서 JNI ERROR가 뜨는 경우가 존재한다. 1. 설정 - GRADLE 버전과 + 프로젝트 structure+ 2. 프로젝트의 SDK 의 버전이 모두 맞아야 프로젝트가 정상 작동한다. 3. SPRING.IO로 받은 경우에는, 해당 버전과도 일치해야 한다. 2023. 12. 20.
인텔리제이 사용 spring.io에서 이미 외부 라이브러리가 다 완료된 형태로 다운받아 사용할 수 있다. 그러나 사용중에 의존성을 추가해야할 경우도 분명히 생길것인데, 이때는 maven repository에서 gradle 혹은 사용하는 툴에 따라 의존성 코드를 확인하고, gradle을 다시연결하여 reload(자동으로 되는 것 같다) 하여 외부 라이브러리를 사용할 수 있다! 시간이 소요되는 작업이다. 급하게 하지 말고 의존성 주입하고 나서 기다리자. lombok같은 경우, 플러그인을 설치하고, 이를 설정에서 다시 사용까지 1. plugin - > lombok 설치 2. 실행, 배포 에서 어노테이션프로세서에서 이를 실행하는 방식으로 진행 후 사용한다. 2023. 12. 20.
to do list 1. TODO ITEM 추가 . POST METHOD로 , 내가 할 일을 적어서 서버에 UPDATE 해야 하기 때문에 POST METHOD를 사용하였다. 별도의 ENDPOINT가 존재하지 않는다. POST기 때문에 REQUEST가 존재하고, 이에 따른 RESPONSE로 추가한 내용을 보이게끔 한다 . 2. LIST 조회 서버의 데이터에 접근하여 조회만을 한다. REQUEST 없이 RESPONSE로 조회한 내용을 반환한다. 3. TODO ITEM 조회 ID에 따라서 ! 할 일을 조회하기 떄문에, ENDPOINT에 ID가 추가 되었다. 조회기 떄문에 GET을 사용, RESPONSE로 조회한 내용을 반환한다. 4. TODO ITEM 수정 본인의 ID에 들어가서 수정하기 때문에 ENDPOINT에 ID가 추가되었.. 2023. 12. 20.