전체 글

일상, 개발 공부
기술면접 브라우저의 작동방식에 대해서 설명해주세요. 사용자가 참조하고자 하는 웹페이지를 서버에 요청(Request)하고 서버의 응답(Response)을 받아 브라우저에 표시 브라우저는 서버로부터 HTML, CSS, Javascript, 이미지 파일 등을 응답 HTML, CSS 파일은 렌더링 엔진의 HTML 파서와 CSS 파서에 의해 파싱(Parsing)되어 DOM, CSSOM 트리로 변환되고 렌더 트리로 결합 생성된 렌더 트리를 기반으로 브라우저는 웹페이지를 표시 브라우저는 사용자가 선택한 자원(Resource)을 서버에 요청(Request)하고, 서버로부터 받은 응답(Response)을 브라우저에 렌더링한다.(Render) 쿠키, 세션의 개념과 차이를 설명해보세요 쿠키(Cookie) HTTP의 일종으로..
기술면접준비 NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요. RDBMS : `관계형 데이터베이스` `Schema` `Table` `SQL` NoSQL : `대용량데이터` `비규격화` `Key,Value` > RDBMS는 데이터베이스를 이루는 객체들의 릴레이션을 통해서 데이터를 저장하는 데이터베이스 SQL을 사용해 데이터의 저장, 질의, 수정, 삭제를 할 수 있으며 데이터를 효율적으로 보관하는 것을 목적으로 하고 구조화가 굉장히 중요 장점으로는 명확한 데이터 구조를 보장하고, 중복을 피할 수 있음 단점으로는 확장성이 떨어짐, 관계를 맺고 있기에 조인문이 많은 복잡한 쿼리가 생김 NOSQL은 자유로운 형태로 데이터를 저장 수평확장을 할 수 있고 분산처리를 지원 다양한 형태의 ..
AWS Amazon Web Service 아마존에서 제공하는 클라우드 서비스 S3(Simple Storage Service) 클라우드 공간에 데이터(파일)를 저장하고 사용자에게 제공 해 주는 온라인 스토리지 웹 서비스 S3는 객체(Object)라는 기본 단위로 조작 / 객체(Object)는 key, value의 조합 기본적으로 객체의 Key가 데이터의 이름이고, Value가 데이터 파일 객체 하나의 크기는 최소 1Byte부터 4TB 버킷(bucket) S3에서 생성할 수 있는 루트 디렉토리 - 장점 정적인 html이나 이미지 등을 제공 하는데 용이 하다. 권한 및 캐싱 전략을 쉽게 추가 할 수 있다. 대량 트래픽에 대응 하기 위한 시스템 구축이 필요 없다. EC2(Elastic Compute Cloud)..
프로그래머스 알고리즘 문제 - 음양 더하기 class Solution { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for (int i = 0; i < signs.length; i++) { if (signs[i]) { answer += absolutes[i]; } else { answer -= absolutes[i]; } } return answer; } }
프로그래머스 알고리즘 문제 나누어 떨어지는 숫자배열 import java.util.*; class Solution { public int[] solution(int[] arr, int divisor) { int count = 0; int number = 0; for(int i = 0; i < arr.length; i++){ if(arr[i] % divisor == 0){ count++; } } if(count == 0){ int[] answer = {-1}; return answer; } int[] answer = new int[count]; for(int i = 0; i < arr.length; i++){ if(arr[i] % divisor == 0){ answer[number] = arr[i]; nu..
프로그래머스 알고리즘 문제 - 서울에서 김서방 찾기 class Solution { public String solution(String[] seoul) { String answer = ""; for(int i = 0; i < seoul.length; i++){ if(seoul[i].equals("Kim")){ answer = "김서방은 " + i + "에 있다"; break; } } return answer; } }
조금 지난 내용이지만 프로젝트를 진행하면서 겪었던 문제를 팀원분이 알려주셔서 정리하려한다. N+1 문제 연관 관계가 설정된 엔티티를 조회할 경우에 조회된 데이터 갯수(n) 만큼 연관관계의 조회 쿼리가 추가로 발생하여 데이터를 읽음. jpql로 해결 @Query(value = "select c from Cart c join fetch c.product p where c.user = :user") List findAllFetchByUser(User user);
Keep 페어 프로그래밍(Code With Me)를 통한 협업 팀원들간의 Code Review를 통한 프로젝트 완성도 상승 Github Commit Convention 유지 Restful API 설계 및 구현 Problem 단위/통합 테스트 미흡 와이어프레임의 직관성 부족 Try 추가적인 기능(좋아요, 팔로우) 구현 Image Resource, Refresh Token 활용 Test Code 작성 및 활용 각 기술과 버전과 사용 이유 명시
붕어빵또아
붕어빵또아