본문 바로가기

분류 전체보기

이노베이션 캠프 4주차 WIL 1.ORM 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다. 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. 객체 모델과 관계형 모델 간에 불일치가 존재한다. ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다. 2.SQL SQL은 관계형 데이터베이스(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어이다. SQL문법은 크게 3가지 종류로 나뉘며 그종류는 DDL,DML,DCL으로 나뉜다. DDL(데이터 정의언어) 각 릴레이션을 정의하기 위해 사용하는 언어(CREATE,ALTER,DROP,...) DML(데이터 조작 언어) 데이터를 추가/수정/삭제하기 위한, 즉 데이터 관리를 위한 언어(SELECT,I.. 더보기
failed to parse configuration class nested exception build 안 classes안 클래스의 이름이 겹쳐서 일어나는 오류로 build안 classes를 없애고 다시 빌드하면 정상실행됩니다. 더보기
이노베이션캠프 3주차 WIL 1. 주특기 입문+숙련 주차 주특기 입문 주차에서 개인 과제로 Spring으로 AWS와 MYSQL를 이용한 간단한 항해 블로그 프로젝트를 만들었고. 팀 과제로는 JPA, Controller, Repository, Service와 같은 기본 이론에 대한 것을 적었다. 주특기 입문 주차가 끝나고 금요일부터 주특기 숙련 주차가 시작되었다. 주특기 숙련 주차부터 주특기 입문 주차와 비교했을 때 난이도가 엄청 많이 상승된 느낌을 느꼈다. 이제까지 본 주특기 숙련 주차 강의에서는 Spring security를 활용한 회원가입. OAuth2를 이용한 카카오톡 로그인, Spring MVC, DI, IOC, 쿠키와 세션, JUnit을 이용한 테스트 등을 배웠다. 2.DI DI란 스프링이 제공하는 의존관계 주입 기능으로 .. 더보기
스프링 MVC 동작원리 Client → DispatcherServlet 가장 앞 단에서 요청을 받아 FrontController 라고도 불림 DispatcherServlet → Controller API 를 처리해 줄 Controller 를 찾아 요청을 전달 Handler mapping 에는 API path 와 Controller 함수가 매칭되어 있음 Controller → DispathcerServlet Controller 가 Client 으로 받은 API 요청을 처리 'Model' 정보와 'View' 정보를 DispatcherServlet 으로 전달 DispatcherServlet → Client ViewResolver 통해 View 에 Model 을 적용 View 를 Client 에게 응답으로 전달 더보기
Controller 와 HTTP Response,Request 메시지 더보기
이노베이션캠프 2주차 WIL 1. 알고리즘 여러 가지 알고리즘 문제를 풀면서 리스트나 배열들을 다루는 함수, String함수 반복문과 조건문 등 자바 문법에 친해지는 계기가 되었다. 프로그래머스에서 여러 가지 문제를 풀고 저녁에 팀원들끼리 모여 본인이 맡은 문제를 설명하면서 더 효율적인 알고리즘은 무엇이 있을지 찾아보는 시간도 있었다. 반목 문과 조건문은 다른 언어에서 많이 접해서 인지 괜찮았지만 자바만의 함수를 쓰는 것에는 어려움을 겪었다. 다양한 문제들을 풀면서 이제는 자바의 리스트나 배열 여러 가지 문법에 대해서 조금이나마 이해를 한 주였다. 2.Spring 목요일 밤 알고리즘이 끝나고 금요일 아침부터 Spring에 관한 주특기 입문 주가 왔다. 서버를 이제 python이 아닌 자바와 스프링을 이용하여 만드는 방법을 배웠다. .. 더보기
이노베이션 캠프 1주차 WIL 파이참으로 첫 번째 프로젝트를 만들면서 필수과제인 JWT를 이용하여 회원가입과 로그인을 구현하였다. 회원가입 시 비밀번호를 해쉬값으로 변환하여 DB에 저장하여 해쉬값이 유출되더라도 비밀번호를 알 수 없도록 하게 했다. @app.route('/sign_up/save', methods=['POST']) def signup_save(): id_receive = request.form['id_give'] password_receive = request.form['password_give'] nickname_receive = request.form['nickname_give'] password_hash = hashlib.sha256(password_receive.encode('utf-8')).hexdigest().. 더보기