본문 바로가기

백엔드24

[코드스테이츠 백엔드 43기] PreProject 마무리 후기 PreProject 2주 간의 프리프로젝트가 끝이났다. 처음으로 프론트엔드와 백엔드를 구별하여 각각 파트를 나누어 업무를 진행하는게 전공자임에도 처음이기에 많이 낯설었으며 그와 동시에 드디어 개발을 한다는 설렘이 있었다. 신기하게도 프론트 백엔드 모든 인원들이 굉장히 친절하시고 밝으셔서 프로젝트 기획에 있어 큰 어려움은 없었다. 우리 백엔드는 각자의 기능 파트를 나누어 작업을 진행하였고 나는 그 중 답변이랑 시큐리티, OAuth 그리고 내가 팀원들 중 유일한 전공자였기에 팀원들의 어려움을 많이 해결해주려고 노력했었다. 답변 기능 - 답변기능도 간단하게 생각하면 테이블 하나를 추가하면 되지만 대댓글, 대대댓글과 같은 부분까지 생각한다면 테이블을 계속 늘리는건 똑같은 테이블을 계속 생성하게되는 낭비가 발생하.. 2023. 4. 28.
코드스테이츠 백엔드 부트캠프 43기 (AWS - Cloud) 클라우드 대표적인 클라우드 컴퓨팅을 제공하는 회사 AWS MS Azure (마이크로소프트) GCP (구글) 우리가 만든 웹페이지를 외부에서도 보려면 언제든지 접근이 되어야 하기때문에 서버가 계속 가동이 되어야 된다. 그래서 나의 컴퓨터를 서버로 만들거나 외부 서버를 이용하여 배포를 하게 된다. 그래서 우리는 외부서버인 Amazon Web Service 의 클라우드 서비스를 이용하여 배포를 해보는 학습을 하였다. AWS는 다양한 기능을 제공하고 있으며 우리는 그 중 3Tier-Architecture 배포 전략을 사용하여 배포를 하였다. 3Tier 란 클라이언트(S3), 서버(EC2) , 데이터베이스(RDS) 로 이루어져 있다. S3는 비정형 데이터(html 파일, 사진파일, 문서)를 저장할 수 있다. 그래.. 2023. 3. 30.
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.
SpringBoot <총 정리> ※간단하게 생각나는대로 정리해보았다. 틀린 내용이 있을 수 있음※ 스프링? 왜 이름이 스프링일까? - 개발자들의 겨울은 끝이 났다. 봄이왔다는 소리 (쉽게 서버개발이 가능!!) 그래요? 오케이 사용해 볼께요!! 아직 추운데요?.... 스프링을 사용하면서 외장서버를 연결하고, 환경설정도 복잡하며 핵심 서비스로직 이외에 처리 할 것이 많았음 아 모르겠고 서비스 로직만 구현하게 주세요 ㅠㅠ 스프링부트 - 내장된 서버 톰캣(쉬운 서버 설정), 디펜던시(환경설정)의 간소화, 라이브러리의 의존성 진행x 등등 우리 스프링이 달라졌어요 , 많은 복잡한 환경설정도 간단 명료 !! spring-boot-starter-paren.xml 에는 자바 버전(프로퍼티스), 또는 정보를 읽어 오기 위해 yml, 파일이나 proper.. 2023. 2. 9.
코드스테이츠 백엔드 부트캠프 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.
코드스테이츠 백엔드 부트캠프 43기 (30일차-HTTP) API ⭐️ REST API API란 ? API(Application Programming Interface)는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘입니다. 예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어 있습니다. 휴대폰의 날씨 앱은 API를 통해 이 시스템과 ‘대화’하여 휴대폰에 매일 최신 날씨 정보를 표시합니다. 과거의 SOAP API 이 API는 단순 객체 접근 프로토콜을 사용합니다. 클라이언트와 서버는 XML을 사용하여 메시지를 교환합니다. 과거에 더 많이 사용되었으며 유연성이 떨어지는 API입니다. -https://aws.amazon.com/ko/what-is/api/ 현재의 REST API REST API란? - .. 2023. 1. 27.
코드스테이츠 백엔드 부트캠프 43기 (29일차-웹 애플리케이션) 웹 애플리케이션의 작동원리 ⭐️ 네트워크를 만드는 기술 웹을 배우기 앞서 우리가 웹을 이용하려면 네트워크 연결이 되어있어야 서버에서 정보를 받아 웹을 볼 수 있다. 모든 사람, 모든 지역에서 연결이 되려면 같은 통신 방식을 사용해야 하며 TCP/IP이 통신약속이다. 그래서 제조사에서 할당하는 고유 시리얼인 MAC 주소와 IP주소를 통하여 우리는 네트워크 통신을 할 수 있다. 연결이 되고 이 네트워크의 연결의 규모에 따라 LAN(지역), MAN(도시), WAN(나라규모)으로 나뉠수 있다. MAC주소와 달리, IP 주소는 처음부터 주어디는 것이 아니라 할당이 되는것 - www.naver.com 검색하면 어떠한 동작으로 웹사이트가 출력이 될까? 1.DNS(Domain Name System) 에서 도메인 이름과.. 2023. 1. 26.
코드스테이츠 백엔드 부트캠프 43기 (28일차-코딩테스트) 오랜만에 블로그에 회고를 쓴다... 몇일 글쓰는게 귀찮게 느껴졌으며 다시 마음을 잡고 회고를 시작한다. 코딩테스트를 공부하면서 탐욕 알고리즘, 구현, 완전 탐색 알고리증, BFS, DFS 등을 학습하며 문제를 풀고있다. 예전에는 문제를 보면 아무생각 없이 머리를 써가면서 대충 풀었다면 이제는 이게 어떠한 알고리즘을 활용하는 문제인가를 떠올리고 푸려고 노력한다. 오늘은 코플릿에 있는 코딩테스트 5번,6번,7번,8번을 풀어보았다. 조합은 순서에 상관이 있으며 중복이 있어서는 안됨 ! ( 조합 : 순서 상관 O -> ( 1,2,3 - 1,3,2 순서가 달라도 같음) 7번 문제는 정해진 수만큼 돌면서 안겹치게만 수를 구하고 거기서 그 수의 합이 소수인지 찾는 문제 였다. 나는 소수를 찾을 때 나눠지는게 2개이상.. 2023. 1. 25.