전체 글 190

'22.06.03 Today I Learned

- Spring 심화반 강의 수강: 에러 해결 1. Spring 심화반 강의 수강: 에러 해결 오늘은 처음으로 Spring 심화반 강의를 시작했다. 아직은 초반이라 엄청 심화된 내용을 배우는 것은 아니었지만 3계층을 이용하지 않고 기초반에서 구현했던 것을 똑같이 구현하는 것으로 시작했다. 기초반을 수강할 때 이렇게 3계층을 나눠서 하는 이유가 궁금했었는데 이번 강의를 통해서 그 이유를 알 수 있을 것 같아서 기대가 된다. 강의를 수강하다가 에러를 마주했다. 강의에서 3계층으로 나눠서 하던 기능을 AllInOneServlet class에서 하고 있는데 포스트맨에서 api 테스트를 하니까 서버 500 에러가 나면서 제대로 작동하지 않았다. 원인을 찾아보니 라이브러리가 업데이트돼서 코드를 쓰는 방식이 조금 달..

'22.06.02 Today I Learned

- 서버리스 백엔드 NAT 게이트웨이 설정 부분 복습 - 거북이반 스터디 - Spring 8080 포트 에러 해결 1. 서버리스 백엔드 NAT 게이트웨이 설정 부분 복습 서버리스 백엔드 수업 시간에 이해가 잘 안 되고 넘어갔던 VPC 부분과 NAT 게이트웨이 부분에 대해서 복습을 했다. 네트워크 개념이라 일단 넘어갔었는데 계속 피할 순 없어서 오늘 복습 시간이 주어졌을 때 반드시 이해하자는 각오로 공부를 했다. 다행히 지난번보다 이해도가 많이 올라간 거 같아서 뿌듯하다. VPC : Virtual Private Cloud VPC는 AWS 클라우드 내의 네트워크를 의미한다. 주로 외부에 공개되지 않고 보안을 더 강화하고 싶을 때 VPC를 사용한다. 그래서 실습할 때 VPC를 연결하면 잘 접속되던 것이 접속이..

'22.05.31 Today I Learned

- 서버리스 자동배포: SAM - 자바스크립트 함수 매개변수로 JSON 타입 넣어줄 때 다루는 법 - 거북이반 스터디 퀴즈문제 1. 서버리스 자동 배포: SAM 어제까지 배운 람다를 AWS에서 설정하는 것이 아니고 코드로 설정하는 법인 서버리스 자동 배포에 대해서 배웠다. SAM은 AWS가 직접 제공하는 자동배포를 도와주는 프레임워크이다. AWS에서 복잡하게 설정하고 했던 것들을 코드로만 설정할 수 있다는 점이 놀라웠고 더 간단하다는 점에서 편하게 느껴졌다. 2. 자바스크립트 함수 매개변수로 JSON 타입 넣어줄 때 다루는 법 스프링 기초 강의 4주차 12강에서 관심상품을 등록할 때 addProduct라는 함수에 매개변수로 DTO를 넣어준다. 그리고 그걸 ajax 요청을 통해 서버에 POST 요청을 한다..

'22.05.30 Today I Learned

- 서버리스 백엔드 람다 실습 - Spring 기초 강의 계속 수강 1. 서버리스 백엔드 람다 실습 지난주 금요일에 배운 AWS 람다를 이용한 실습을 진행했다. CRUD 기능 위주로 실습을 했다. 람다에서 쓰는 문법이 따로 좀 있는 것 같아서 처음에는 이해가 잘 가지 않았지만 천천히 코드를 하나하나 읽으면서 의미를 찾아보면서 공부하니까 조금은 이해가 되었다. 그런데 여전히 페이징 기능은 조금 어려운 것 같다. 람다 함수에서 기능을 컨트롤(?) 하는 핸들러 함수의 경우 매개변수로 event와 context 두 가지의 객체를 받는다. 기능을 구현할 때도 계속해서 event 객체에 있는 값을 많이 이용했다. 그래서 event 객체에는 무엇이 있는지 궁금해서 찾아봤다. event 객체는 하나의 JSON이라고 생..

'22.05.23 ~ '22.05.27 (내일배움캠프 6주차) Weekly I Learned

How to record Weekly I Learned ? => 4F What is 4F? Fact : 이번주 있었던 일, 내가 한 일 Feeling : 나의 감정적인 반응, 느낌 Finding : 그 상황으로부터 내가 배운 것, 얻은 것 Future : 배운 것을 미래에 어떻게 적용할 것인가 1. Fact - 관계형 데이터베이스 SQL 공부 - 서버리스 프론트엔드, 서버리스 백엔드 공부 - 자바, Spring 기초 공부 - 이전 기수 취업자 특강 2. Feeling + Finding - 관계형 데이터베이스 SQL 공부 월 오후 ~ 수 오전에 걸쳐서 SQL 공부를 했다. NoSQL인 몽고디비만 써 보다가 처음 관계형 데이터베이스인 MySQL을 써 보니 신기하면서도 조금 이상했다. SQL 문법 중에서 데이..

'22.05.27 Today I Learned

- 서버리스 백엔드 - AWS 돈 환불받기 1. 서버리스 백엔드 오늘은 어제 튜터님이 중요하다고 하신 AWS를 이용한 서버리스 백엔드를 배웠다. AWS에서 제공하는 람다라는 서비스를 이용해서 서버리스 백엔드를 할 수 있었다. 서버리스 백엔드랑 서버가 정말 없다! 는 것이 당연히 아니고 개발자가 서버에 대해서 신경을 덜 쓰고 개발에만 집중할 수 있는 것을 의미한다. 서버에 대해서 신경을 쓴다는 것은 서버의 개수나 용량 같은걸 신경 쓸 필요가 없다는 것이다. 그리고 EC2는 매우 비싸기 때문에 람다를 이용하는 것이 비용적인 측면에서도 더 좋다고 한다. 람다는 특이하게도 함수이다. 그런데 여기에 API 게이트웨이를 추가해주면 엔드포인트가 생겨서 접속해볼 수도 있다. 이게 조금 신기했다. 그리고 사실 아직 람다..

'22.05.26 Today I Learned

- 서버리스 프론트엔드 - Spring 기초 강의 수강 - Java String Interpolation 1. 서버리스 프론트엔드 서버리스 프론트엔드 두번째 실시간 수업을 했다. 어제는 가비아에서 DNS 레코드를 설정해서 내가 구매한 도메인에 배포를 해 보는 걸 실습했는데 오늘은 AWS 자체 서비스인 Route53을 이용해서 하는 걸 실습했다. 그리고 리액트에 대해서 살짝 배웠다. 배웠다기보단 들었다고 하는 것이 맞는 것 같기도 하다. 이전에 공부한 게 가물가물 떠올랐는데 거의 초기화된 것 같다. 내일부터는 서버리스 백엔드를 배운다는데 이건 튜터님이 아주 중요하다고 강조하셨다. 람다라는 것을 사용한다는데 처음 들어보는 거라서 또 어떤 새로운 걸 배울지 기대가 좀 된다. 집중해서 잘 들어야겠다. Route..

'22.05.25 Today I Learned

- SQL Subquery - AWS S3 버킷, Cloudfront, Certificate Manager 사용법 - Spring 기초 CRUD 정리 1. SQL Subquery 데이터베이스의 마지막 주차에 서브쿼리에 대해서 배웠다. 서브쿼리를 잘 쓰면 복잡한 쿼리를 간단하게 쓸 수 있다. WHERE, SELECT, FROM 각각에서 쓰이는 방법이 조금씩 다르다. - WHERE에서 쓰일 때는 조건처럼 사용할 수 있다. 서브쿼리로 얻은 결과를 WHERE의 조건으로 넣어주면 고정 조건이 아닌 유동적인 조건을 넣어줄 수 있다. - SELECT에서 쓰일 때는 선택한 필드값이 SELECT 될 때마다 자동으로 서브쿼리 내용이 같이 생성되는 용도로 많이 쓰인다. - FROM에서 쓰이는게 가장 많이 사용되는 경우인데 ..

'22.05.24 Today I Learned

- SQL join - Spring JPA 심화 1. SQL join ⭐️SQL에서 join은 실무에서도 엄청 많이 쓴다! join? 두 개의 테이블을 연결해주는 것 join을 할 때는 기준이 필요하다. 이 때 기준이 될 수 있는 것은 연결하려는 두 개의 테이블에 공통적으로 들어가 있는 필드여야 한다. 연결하려는 기준을 key값이라고도 한다. join의 종류는 대표적으로 4가지 있는데 그 중에서 제일 자주 쓰이는 것은 두 개가 있다. 1. Left join 2. inner join 그 중에서도 inner join이 좀 더 쉬워서 inner join을 더 많이 쓴다고 한다. join Query 쓰는 법 SELECT * FROM users u inner join orders o on u.user_id = o..

[Java] H2-console에서 Table 생성 안 되는 문제

강의를 들으면서 JPA를 배우기 전에 SQL 공부를 H2 데이터베이스에서 했다. 그런데 H2 데이터베이스에 접속까지는 됐는데 테이블을 만드는 SQL 코드가계속해서 Syntax 에러가 나면서 테이블이 생성되지 않았다. CREATE TABLE IF NOT EXISTS courses ( id bigint(5) NOT NULL AUTO_INCREMENT, title varchar(255) NOT NULL, tutor varchar(255) NOT NULL, PRIMARY KEY (id) ); 이게 강의자료에 나와있는 Table 생성하는 코드였는데 이걸 입력하고 실행을 하면 이런 에러가 뜨는 것이었다. Syntax 에러라고 하니 코드가 문제가 있다는건데 강의에선 너무 자연스럽게 튜터님이 그냥 넘어가서 한참을 구글..

Error 지식 2022.05.23