기술면접/백엔드종합8 CI/CD(Continuous Integration/Continuous Deployment) CI/CD는 소프트웨어 개발 방법론 중 하나로, 소프트웨어 개발과 배포를 지속적으로 자동화 하는 방식 CI/CD 단계 Continuous Integration : 개발자가 작성한 코드를 지속적으로 빌드하고, 테스트하는 단계입니다. 이를 통해 코드의 품질을 높이고, 버그를 빠르게 찾아 수정할 수 있습니다. Continuous Delivery : 빌드된 코드를 지속적으로 배포 가능한 상태로 유지하는 단계입니다. 이를 통해 언제든지 새로운 버전을 배포할 수 있는 상태를 유지합니다. Continuous Deployment : 2번째 단계에서 검증된 코드를 실제 서비스에 자동으로 배포하는 단계입니다. 특징 소프트웨어 개발 프로세스 자동화 지속적으로 개발과 배포를 수행 개발자와 운영팀 사이의 협업 강화 장점 개발자.. 2023. 4. 25. 자주 사용되는 HTTP ERROR CODE 200 OK : 요청이 성공적으로 처리되었음 201 Created : 새로운 자원이 성공적으로 생성됨 400 Bad Request : 클라이언트의 요청이 잘못되었음 401 Unauthorized : 요청한 자원에 대한 인증이 필요함 403 Forbidden : 요청한 자원에 대한 접근 권한이 없음 404 Not Found : 요청한 자원을 서버에서 찾을 수 없음 500 Internal Server Error : 서버 내부에서 오류가 발생함 502 Bad Gateway : 게이트웨이 또는 프록시 서버에서 오류가 발생 504 Gateway Timeout : 게이트웨이 또는 프록시 서버에서 요청 시간 초과 발생 2023. 4. 25. 인증과 권한 부여의 차이점 인증(Authentication)과 권한 부여(Authorization)는 웹 시스템에서 보안과 관련된 개념으로, 사용자의 접근을 제어하는 데 사용됩니다. 두 개념은 유사하게 보일 수 있지만, 목적과 처리 방식에 차이가 있습니다. 인증은 사용자의 신원을 확인하는 과정입니다. 인증은 보통 사용자의 ID와 비밀번호를 확인하여, 해당 사용자가 누구인지 확인하는 과정을 의미합니다. 인증 과정을 거친 후에는, 시스템에서 사용자의 신원을 인정하고, 해당 사용자가 시스템에 접근할 수 있도록 합니다. 권한 부여는 인증된 사용자가 시스템 내의 리소스에 접근할 때, 어떤 작업을 수행할 수 있는지를 결정하는 과정입니다. 권한 부여는 보통 사용자의 역할(Role)이나 그룹(Group) 등의 정보를 확인하여, 해당 사용자가 수.. 2023. 4. 24. 쿠키와 세션의 차이 쿠키 클라이언트(웹 브라우저)에 저장되는 작은 텍스트 파일로 여러 내용을 저장할 수 있습니다. 쿠키는 사용자가 웹 사이트에 접속할 때 서버에서 클라이언트로 전송됩니다. 그리고 그 이후 웹 사이트 방문 시, 클라이언트에서 서버로 쿠키가 전송됩니다. 이를 통해 클라이언트와 서버 간의 상태 정보를 유지할 수 있습니다. 세션 클라이언트가 서버에 접속할 때 서버에서 생성되는 고유한 정보입니다. 세션은 일반적으로 쿠키를 이용하여 클라이언트에세 고유한 ID를 부여하고, 이 ID를 서버에서 관리합니다. 이를 통해 클라이언트와 서버 간의 상태를 정보를 유지할 수 있습니다. 세션은 보안성이 높고, 서버에서 관리하기 때문에 쿠키보다 안전합니다. 쿠키와 세션의 차이점 저장 위치 : 쿠키는 클라이언트에 저장되고, 세션은 서버에.. 2023. 4. 24. RESTful API란? RESTful API는 HTTP 메서드(GET, POST, PUT, DELETE 등)를 이용하여 자원을 조작하며, JSON 등의 데이터 포맷을 이용하여 데이터를 주고받습니다. 특징 자원(Resource)을 이름으로 구분하여 조작 HTTP 메서드(GET, POST, PUT, DELETE 등)를 이용하여 자원 조작 Stateless(무상태)한 통신 방식 URL을 통해 자원을 표현 JSON, XML 등의 데이터 포맷을 이용하여 데이터를 주고받음 2023. 4. 24. 동기화에 대해서 동기화란, 둘 이상의 프로세스나 스레드가 서로 협력하여 수행할 때, 작업이 원활하게 수행되도록 제어하는 기술을 말합니다. 동기화 기법은 공유 자원에 대한 접근 제어 및 공유 자원의 일관성 유지를 위해 사용 됩니다. 대표적인 동기화 기법 뮤텍스(Mytex) : 공유 자원에 대한 접근을 단일 쓰레드에게 제한하는 기법으로, 쓰레드 간 경쟁조건(race condition)을 방지한다. 세마포어(Semaphore) : 동시에 접근할 수 있는 쓰레드의 수를 제한하는 기법으로, 특정한 자원에 대한 동시 접근을 제한하거나, 작업의 진행 상태를 제어하는 등 다양한 용도로 사용된다. 이외에도 모니터(Monitor), 교착상태(Deadlock), 인터락(interlock)등 다양한 동기화 기법이 있습니다. 2023. 4. 24. 이전 1 2 다음