분류 전체보기 156

[코딩기초] 자료구조, 알고리즘, 운영체제

1. 자료구조(Data Structure) 데이터 값의 모임이라고 한다. 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것. 2. 자료구조를 배우는 이유? 데이터를 체계적으로 저장하고, 효율적으로 활용하기 위해서 자료구조를 사용한다. 특정한 상황에 놓인 문제를 해결하는 데에 특화되어 있다. 3. 필수 자료구조 8개 배열(Array) 동일한 타입의 테이터들을 저장하며, 고정된 크기를 가지고 있다. 인덱싱이 되어 있어서 인텍스 번호로 데이터에 접근할 수 있다. 연속된 메모리 공간에 존재한다. 스택(stack) 영역의 메모리 할당이다. 링크드 리스트(Linked List) 각 데이터 시퀀스가 순서를 가지고 연결된 순차적 구조이다. 동..

Basic/코딩기초 2023.02.21

[트래픽] 서버가 트래픽을 견디는 법?

1. 트래픽? 트래픽(traffic)이란 서버와 스위치 등 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양을 말한다. 트래픽이 너무 많으면 서버에 과부하가 걸려서 기능에 문제가 생길 수 있다. 2. 서버가 트래픽을 견디는 방법 진짜 많은 사용자가 서비스를 이용하면 그만큼 서버에게 많은 요청이 들어갑니다. 웹 서비스를 제공한다고 한다면 웹서버가, API 서버를 운영한다면 API 서버와 데이터베이스에게도 요청이 갈 것이다. 이때, 요청이 많아지면 그걸 '트래픽이 많아졌다'라고 한다. 나 같은 백엔드 개발자는 이런 상황을 잘 대처해야 한다. 트래픽이 많아질수록 서버는 바빠진다. 그 이유는 서버에 요청이 많아지면 요청에 응답하기 위해 서버 컴퓨터에서는 CPU와 메모리를 사용한다. 이때 트래픽이 점점 더 많..

Basic/코딩기초 2023.02.20

[Project] Java Spring 카카오페이(3)

1. 코드정리 - PaymentService 결제 요청을 하는 URL을 보내주는 코드. 예약정보를 조회하고 결제 페이지 요청을 위한 Header값과 그 안에 들어갈 Params값들을 세팅해 준다. 그리고 Feign Client요청을 해주고 결제 요청이 오면 해당 데이터를 예약 정보에 저장해 준다. 예약 정보를 반환해 주는 코드. 여기서 Pg_Token을 받아서 반환해 준다. 예약정보를 조회해서 해당하는 예약 정보반환을 위한 Header값과 Params값들을 세팅해 주고, Feign Client를 요청해 예약 정보를 반환해서 결제가 성공하면 예약 상태를 변경해 주고 메세지를 출력해 준다. 결제 취소와 결제 실패 시 상태를 변경해 주는 코드. - PaymentController 결제 요청을 하는 PostMa..

WorkHard/Project 2023.02.17

[Project] Java Spring 카카오페이(2)

1. 코드정리 - 일단 RestTemplete 방식과 Feign Client 방식이 있는데 Feign Client방식으로 코드를 작성하였다. Ready로 카카오페이 서버에 정보를 전달해서 결제 URL을 요청한다. 그리고 카카오페이 결제가 성공하면 Approve로 예약 정보를 전달해준다. - ReadyToPayInfo 결제에 필요한 정보들을 전달해주는 클래스를 만든다. - RequestForReservationInfo 예약 정보를 요청하는 클래스를 만든다. 여기서 tid값과 pg_token값을 받아온다. - FeignService - 42~55번 코드 : admin 키값과 ReadyToPayInfo에 들어가는 값들을 params로전달해줘 결제가 성공하면 QR코드를 생성하는 URL을 리턴해주는 코드이다. -..

WorkHard/Project 2023.02.07

[Project] Java Spring 카카오페이(1)

카카오페이 구현하면서 진짜 엄청 많은 오류를 만났다....정리를 더 잘해놓을껄....후회된다.. 진짜 너무너무 매일 새벽까지 구현하는데 잘안되서 블로그에 신경을 하나도 못써버렸다.... 지금이라도 더 까먹기전에 써보자! 그리고 내생각엔 처음 구현해보는 입장에서 카카오디벨로퍼만 보고는 구현하기 힘들꺼 같다는 생각을 엄청 많이했다. 물론 필요하지만.. 1. 카카오페이 API 이해하기 결제 프로세스 백엔드 서버에서 결제 요청 상세 정보를 캍카오페이 서버에 전달해준다. 카카오페이 서버에서 정보를 받아 사용자 인증한다. 백엔드 서버에서 사용자 인증 후 결제 승인 상세 정보를 카카오페이 서버에 전달 카카오페이 서버에서 최종 결제 처리 완료 2. 카카오페이 결제 구현과정 결제 과정 3가지 결제 요청 준비 결제 요청 ..

WorkHard/Project 2023.02.03

[Project] 메인프로젝트(1)

메인 프로젝트를 시작했다! ZEP에서 팀원들을 모집했는데 숙박 서비스를 만드는 조에 인원을 모집한다고 해서 바로 하고 싶다고 했다. 이유는~ 재미있을 거 같아서!!!! (일단 관심이 있고 흥미가 있어야 좋은 아이디어도 나올 거고 그 이상도 할 수 있을 거 같다는 생각에!) 확실히 프로프로젝트 때 보다 기본틀을 짤 때 더 집중해서 짠거 같다. 일단 첫째날에 팀원들이랑 오리엔테이션을 하고, 둘째 날에는 사용자 요구사항 정의서 및 ERD문서 작성, 셋째 날에 본격적으로 코드를 짜려고 계획하였다. 메인프로젝트 화이팅!!!!

WorkHard/Project 2023.01.04