전체 글

개발자 되고싶어서 7년다닌 회사 때려치고 개발 공부 끄적이는 공간.
기술 면접 질문 Q. TCP/UDP에 대해서 설명해주세요. A. TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 네트워크에서 데이터 전송을 담당하는 프로토콜입니다. TCP는 신뢰성 있는 연결 기반 프로토콜로, 데이터를 전송하기 전에 3-way handshaking을 통해 연결을 설정합니다. 이는 클라이언트가 서버에게 요청을 보내고, 서버가 수락한 후에 다시 클라이언트에게 수락되었다는 신호를 보내는 과정입니다. 데이터 전송 중에는 데이터 손실이나 손상이 발생하면 재전송을 통해 신뢰성을 유지합니다. UDP는 비연결성 프로토콜로, 연결 설정 과정이 없습니다. 데이터 전송시에는 추가적인 확인이나 재전송이 이뤄지지 않기 때문에 신뢰성이 낮습니다...
기술 면접 질문 Q. 브라우저의 작동방식에 대해서 설명해주세요. A. URL 해석: 사용자가 주소를 입력하면 브라우저는 해당 URL을 해석하고 프로토콜(HTTP, HTTPS 등), 호스트명, 포트번호, 경로 등을 분석합니다. 서버 연결: 브라우저는 DNS를 사용하여 호스트명을 IP 주소로 변환하고, TCP/IP를 통해 서버에 연결합니다. 요청과 응답: 브라우저는 HTTP 요청 메시지를 서버로 전송하고, 서버는 요청을 받아서 처리한 후 HTTP 응답을 보냅니다. HTML 해석: 브라우저는 받은 응답을 받아서 HTML, CSS, JavaScript 등의 리소스를 파싱하고 렌더링합니다. HTML 문서는 DOM(Document Object Model)으로 파싱되고, CSS는 CSSOM(CSS Object Mod..
기술 면접 질문 Q. HTTP 메서드에 대해 설명해주세요. A. 주요 HTTP 메서드는 다음과 같습니다: GET: 서버로부터 리소스를 요청합니다. POST: 서버에 데이터를 제출하여 리소스를 생성합니다. PUT: 서버의 리소스를 업데이트합니다. 전체 엔티티를 교체합니다. PATCH: 리소스의 일부를 업데이트합니다. DELETE: 서버의 리소스를 삭제합니다. 그 외의 몇 가지 HTTP 메서드로는: HEAD: GET과 유사하지만, 실제 데이터를 요청하지 않고 헤더 정보만 요청합니다. OPTIONS: 서버에서 지원되는 메서드들을 확인하기 위해 사용됩니다. CONNECT: 프록시를 통해 연결을 설정하기 위해 사용됩니다. TRACE: 서버에게 보낸 요청을 다시 돌려받기 위해 사용됩니다. Q. CORS(Cross ..
기술 면접 질문 Q. RDBMS의 정규화에 대해 설명해 주세요. A. RDBMS의 정규화는 중복 데이터를 최소화하여 데이터의 무결성을 유지하는 과정입니다. 이는 데이터를 여러 테이블로 분할하여 각 테이블 간의 종속성을 최소화하여 중복을 방지하고, 삽입, 갱신, 삭제 시 이상 현상을 최소화하여 데이터 일관성을 유지합니다. Q. Primary Key, Foreign Key에 대해 설명해 주세요. A. Primary Key (PK)는 데이터베이스 테이블에서 각 행을 고유하게 식별하는 데 사용되는 열입니다. 이는 NULL 값이 허용되지 않으며, 각 행에서 고유하고 중복되지 않는 값을 가져야 합니다. 주로 테이블에서 기본 키로 사용되며, 1:1, 1:N, N:M 등의 관계에서 사용될 수 있습니다. Foreign ..
기술 면접 질문 Q. NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해 주세요. A. RDBMS는 관계형 데이터베이스로, 구조화된 데이터와 SQL을 활용하며 안정성과 일관성을 제공합니다. 하지만 스케일링이 어렵고 고정된 스키마로 유연성이 제한됩니다. NoSQL은 대용량 비구조화된 데이터를 다루며, 확장성이 뛰어나지만 일관성 유지와 복잡한 쿼리 처리에 어려움이 있을 수 있습니다. Q. mvc 패턴에 대해서 설명해 주세요. A. MVC 패턴은 모델(Model), 뷰(View), 컨트롤러(Controller)로 구성됩니다. 모델은 데이터 처리를 담당하며, DB와 상호작용하여 비즈니스 로직을 처리합니다. 뷰는 사용자에게 결과를 보여주는 역할을 하며, 컨트롤러로부터 모델의 결과를 받아 화면..
프로젝트 소개 프로젝트 명 사뿐 (부제 : 가벼운 발걸음의 시작!) 소개 대용량 트래픽을 관리하여 서버 과부하 없이 공유할 수 있는 서비스 내용 본인의 산책 경로와 사이 스팟을 공유하는 사이트 프로젝트 구성원 리더: 홍정욱 부리더: 김재한 팀원: 박상율 팀원: 이예진 팀원: 김진환 프로젝트 기간 2024.01.04 ~ 2024.01.22 커뮤니케이션 zep Notion GitHub Slack 프로젝트 기술 스텍 Backend Java17 Spring Boot 3.2.0 Spring Data JPA OAuth 2 Spring Security 6.2.0 DB MySQL 8.0.33 Redis 6.0.16 H2DB 2.1.214(Test용) Infra AWS EC2 S3 CloudFront RDS Route5..
KPT회고 Keep 소통이 잘되었던것 문제가 있을때 팀원들이 서로 문제를 잡으려고했던점 기능 디렉토리 구조를 기능별로 나눈것Problem - 고쳐야 할점 Problem 코드 필수 구현 부분을 완성 하지 못한 점 코드의 통일성이 떨어지는 점 버전 명시와 라이브어리 표시에 대한 부분이 아쉬웠다Try - 당장 개선 가능 Try 필수구현 기능 완료와 배포해보기 S.A 문서를 구체적으로 작성 다 대 다 등 연관관계에 대한 추가 공부 소감 비록 필수구현기능들을 다 완성하지 못했지만 서로 다른 기능들을 구현하면서 연관관계에 대해 공부할수있던 경험이된것같다. 다음 최종프로젝트에는 개발일지를 더 꼼꼼히 써봐야겠다.
맡은 필수 구현 기능 카드 관리 기능 [ ] 카드 생성 컬럼 내부에 카드를 생성할 수 있어야 합니다. [ ] 카드 수정 카드 이름 카드 설명 카드 색상 작업자 할당 작업자 변경 [ ] 카드 삭제 [ ] 카드 이동 같은 컬럼 내에서 카드의 위치를 변경할 수 있어야 합니다. 카드를 다른 칼럼으로 이동할 수 있어야 합니다. 오늘 진행사항 큰일이다... 깃사용하다 기존에 작성했던 코드들이 날라갔다.. ㅠㅠ 다시 작성해야한다. 단순 CRUD 만이라도 끝내야겠다.
맡은 필수 구현 기능 카드 관리 기능 [ ] 카드 생성 컬럼 내부에 카드를 생성할 수 있어야 합니다. [ ] 카드 수정 카드 이름 카드 설명 카드 색상 작업자 할당 작업자 변경 [ ] 카드 삭제 [ ] 카드 이동 같은 컬럼 내에서 카드의 위치를 변경할 수 있어야 합니다. 카드를 다른 칼럼으로 이동할 수 있어야 합니다. 카드 생성 컬럼 내부에 카드를 생성하는 것이나 현재 사용자 인증 기능 및 컬럼이 생성되있지않아 먼저 단순 카드부터 만들기로했다. 단순 CRUD와 같아 기존에하던 게시판 만들기와 크게 달라지지않았다. 그래서 일단은 그냥 만들었다..ㅎㅎ 카드이동이 문제이다. 어떻게 구현해야할지 ....
심화 주차 프로젝트로 Trello 협업 툴 만들기 진행하기로 하였다. 나는 카드 관리 기능을 맡게 되었다. 파이팅 해보자 ㅋㅋ 프로젝트 소개 로그인한 사용자들에게 프로젝트 관리를 위한 칸반 보드 기반의 Trello 서비스를 제공하는 웹 플랫폼 프로젝트 기간 2023/12/26 ~ 2024/01/02 커뮤니케이션 GitHub Slack Notion Zep 필수 구현 기능 사용자 관리 기능 [ ] 로그인 / 회원가입 기능 [ ] 사용자 정보 수정 및 삭제 기능 보드 관리 기능 [ ] 보드 생성 [ ] 보드 수정 보드 이름 배경 색상 설명 [ ] 보드 삭제 생성한 사용자만 삭제를 할 수 있습니다. [ ] 보드 초대 특정 사용자들을 해당 보드에 초대시켜 협업을 할 수 있어야 합니다. 칼럼 관리 기능 [ ] 컬럼..