코드스테이츠27 [코드스테이츠 백엔드 43기] PreProject 마무리 후기 PreProject 2주 간의 프리프로젝트가 끝이났다. 처음으로 프론트엔드와 백엔드를 구별하여 각각 파트를 나누어 업무를 진행하는게 전공자임에도 처음이기에 많이 낯설었으며 그와 동시에 드디어 개발을 한다는 설렘이 있었다. 신기하게도 프론트 백엔드 모든 인원들이 굉장히 친절하시고 밝으셔서 프로젝트 기획에 있어 큰 어려움은 없었다. 우리 백엔드는 각자의 기능 파트를 나누어 작업을 진행하였고 나는 그 중 답변이랑 시큐리티, OAuth 그리고 내가 팀원들 중 유일한 전공자였기에 팀원들의 어려움을 많이 해결해주려고 노력했었다. 답변 기능 - 답변기능도 간단하게 생각하면 테이블 하나를 추가하면 되지만 대댓글, 대대댓글과 같은 부분까지 생각한다면 테이블을 계속 늘리는건 똑같은 테이블을 계속 생성하게되는 낭비가 발생하.. 2023. 4. 28. 코드스테이츠 백엔드 부트캠프 43기 (개인프로젝트 - todoList) 모든 과정이 끝이 나고 간단한 개인프로젝트 시간이 찾아왔다. 기능 요구사항은 매우 단간하다. text 를 저장, 읽고, 수정, 삭제 (CRUD) 과정만 하면 된다. 먼저 프론트엔드부분이 제공되는 사이트에서 나의 로컬주소로 요청을 하여 데이터를 출력하는 형식으로 진행이 되었다. 이런식으로 사이틑 안에서 나의 로컬주소를 호출하는 과정에서 CORS 정책 - 외부 사이트에 접근하는 것을 막는 정책 이러한 접근을 해제하기 위하여 사용하는 Controller 에 @CrossOrigin 에너테이션을 설정해주면 CORS 해제가능. 다음으로 가장먼저 데이터를 받아와서 저장하는 POST 요청을 처리해 보았다. @RequestBody - json 형식으로 넘어올때 데이터를 정해놓은 body 형식으로 받는다. @PathVar.. 2023. 4. 7. 코드스테이츠 백엔드 부트캠프 43기 (AWS - Cloud) 클라우드 대표적인 클라우드 컴퓨팅을 제공하는 회사 AWS MS Azure (마이크로소프트) GCP (구글) 우리가 만든 웹페이지를 외부에서도 보려면 언제든지 접근이 되어야 하기때문에 서버가 계속 가동이 되어야 된다. 그래서 나의 컴퓨터를 서버로 만들거나 외부 서버를 이용하여 배포를 하게 된다. 그래서 우리는 외부서버인 Amazon Web Service 의 클라우드 서비스를 이용하여 배포를 해보는 학습을 하였다. AWS는 다양한 기능을 제공하고 있으며 우리는 그 중 3Tier-Architecture 배포 전략을 사용하여 배포를 하였다. 3Tier 란 클라이언트(S3), 서버(EC2) , 데이터베이스(RDS) 로 이루어져 있다. S3는 비정형 데이터(html 파일, 사진파일, 문서)를 저장할 수 있다. 그래.. 2023. 3. 30. [Section 3] 회고 ✔️ KEEP 규칙적인 생활 ✔️ Problem 필기시험을 보고 많이 나태해졌다. 공부하는데 시간이 부족하다고 느껴 운동을 잠시 그만두게 되었는데 운동을 하지 않는 시간에 더 공부를 하는 게 아니라 쉬게 되는 결과가 나왔다… ✔️ 회고 벌써 Section3가 끝나게 되다니 신기하다. 항상 회고할 때면 부족했던 부분들이 많이 떠오르게 된다. 필기준비를 한다는 핑계로 알고리즘 공부를 잠시 미루었고 유어 클래스 복습 또한 진행하지 못하였다. 심지어 열심히 다니던 운동도 포기하였다!!! 모든 것을 이룰 수는 없기에 중요도가 상대적으로 낮은 것은 포기하는 게 맞지만 뭔가 찝찝함이 맴돈다. 그래서 다른 것을 포기하고 필기준비를 정말 열심히 준비했느냐? 그것도 아닌 것 같기에 찝찝함이 맴도는 것 같다. 그래서 일단은.. 2023. 3. 13. SpringBoot-Mysql 연동 1. build.gradle 에 의존성 추가해주기 1-1 implementation 'mysql:mysql-connector-java' 1-2 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 2. yml 파일 경로 설정 - 기본 설정값으로 application.yml 파일로 되어있음 따로 다른 yml 파일로 설정하려면 기본 경로를 바꿔줘야 한다. - 망치옆에 있는 프로젝트 클릭 - Edit Configurations... 클릭 - ( --spring.profiles.active=설정이름) 을 입력하면 경로 설정이 완료된다. 3. 서버 환경 정보들을 설정하기 위하여 yml 파일 설정 Mysql을 설치하였다면 포트번호를 3306으.. 2023. 3. 10. 코드스테이츠 백엔드 부트캠프 43기 (Section2 회고) ✔️ KEEP 스터디카페 출근! (집에서는 절대 안 하는 게이름뱅이라 스카정기권 구매 후 노트북을 아예 스터디 카페 사물함에 놓고 퇴근을 한다. 그래서 매일 9시 전에는 무조건 스카에 온다) 주 4회 운동! 3끼 이상 챙겨먹기 ✔️ Problem 코테 문제를 못 풀때 답을 보면 좌절하게 된다… 왜 이 간단한 알고리즘을 생각을 못하는 걸까… ✔️ 회고 벌써 섹션2가 끝난 게 거짓말인 것 같다. 매일매일 새로운 것을 배우면서 발전하고 있는 내 자신을 보며 뿌듯함을 느낀다. 섹션2 과정을 배우면서 백엔드 서버단의 전체적인 흐름을 파악할 수 있었고 그 중에서 스프링에 대한 핵심 개념들도 많이 배울 수 있는 좋은 시간이었다. TMI로 이번에 6년된 노트북을 새로 바꿔서 바뀐 노트북의 빠른 스피드에 감탄하여 코딩을.. 2023. 2. 10. 코드스테이츠 백엔드 부트캠프 43기 (35일차-스프링 부트) 스프링 부트 아키덱처(구조, 틀) - 스프링 프레임워크 REST API 기반 웹 애플리케이션 구조는 어떻게 될까? 먼저 클라이언트로 부터 요청이 오면 API 계층에에서 확인을 하여 요청에 맞는 서비스계층으로 들어가 서비스를 수행하고 마지막으로 데이터를 저장하기 위하여 데이터 액세스 게층으로 이루어진다. Spring framework 아키텍처 (지원하는 모듈) SpringBoot Spring vs SpringBoot 스프링 프레임워크는 기능이 많은만큼 환경설정이 복잡한 편이다. ( 사용자가 프로젝트를 셋팅하는데 시간이 너무 오래 거걸림) 이를 개선하기 위하여 나온 것이 바로 스프링 부트 -> 개발자는 비니지스 로직만 작성하면 됨 Spring Boot을 사용해야하는 현실적인 이유는 다음과 같습니다. XML .. 2023. 2. 3. 코드스테이츠 백엔드 부트캠프 43기 (34일차-스프링 프레임워크 특징) 스프링 프레임워크 서버에서 동작하는 자바기반의 웹 어플리케이션 -> 기술 : 스프링 프레임워크 (오픈소스 기반의 기술) Framework가 어떤것인지, 그리고 Framework와 Library의 차이 Framework=우리가 웹을 만들기 위한 구조, 틀을 제공 자바-Collections Framework(배열을 활용한 기능의 뼈대를 제공) Framework를 사용하는 장점과 단점 장점 : 효율적인 코드 작성 가능, 정해진 규약이 있기에 관리가 편함 단점 : Framework의 학습이 필요, 자유롭고 유연한 개발이 어렵다. 프레임워크 vs library Library는 애플리케이션을 개발하는 데 사용되는 일련의 데이터 및 프로그래밍 코드입니다. ->기능을 미리 구현해놓은 집합체(메소드) 자동차가 제작을 한.. 2023. 2. 2. 코드스테이츠 백엔드 부트캠프 43기 (32,33일차-SQL) Intelij 에서 MySQL에 데이터 삽입 데이터베이스를 연결을 확인, 데이터 추가, 변경, 검색 등을 통한 과제를 실시 하였다. CREATE 따로 schema.sql 문서를 작성하여 호출후 명령을 실행하도록 동작 1 : 작성한 문서의 위치를 참조여 file로 설정 하여 파일을 읽는다. 2 : split메소드를 사용하여 세미콜론을 기준으로 실행할 명령어를 String 배열에 담는다. 3 : excute()메소드를 사용하여 실행을 하면 명령이 실행되고 mysql에 데이터 저장 - Statement 클래스는 SQL 명령어를 실행하는 역할을 한다. JDBC : 자바에서 제공하는 데이터베이스와 연결하여 데이터를 주고 받을 수 있는 인터페이스 JDBC API 를 사용하여 제공하는 메소드를 통하여 DB와 연결하고.. 2023. 2. 1. 이전 1 2 3 다음